Permalink
Browse files

Port to GTK+ 3

  • Loading branch information...
1 parent 860adac commit 51285017385e4d0f9d52fa5f8e96015ee62f3e2d @bluesabre committed Jul 21, 2017
View
@@ -42,7 +42,7 @@ AC_PROG_CC()
AM_PROG_CC_C_O()
AC_PROG_LD()
AC_PROG_INSTALL()
-AC_PROG_INTLTOOL()
+IT_PROG_INTLTOOL([0.35.0])
dnl **************************
dnl *** Initialize libtool ***
@@ -72,17 +72,17 @@ XDT_CHECK_LIBX11_REQUIRE()
dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0])
+XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.20.0])
XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.28])
-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.13.0])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.13.0])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.12.0])
-XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.12.0])
+XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-2.0], [4.12.0])
XDT_CHECK_PACKAGE([LIBMPRIS2CLIENT], [libmpris2client], [0.0.1])
dnl Check global keyboard shortcuts support
LIBKEYBINDER_FOUND="no"
XDT_CHECK_OPTIONAL_PACKAGE([LIBKEYBINDER],
- [keybinder], [0.2.2],
+ [keybinder-3.0], [0.3.0],
[keybinder],
[keybinder library], [yes])
dnl Check libclastfm
@@ -79,7 +79,7 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-G_DEFINE_TYPE (ScaleMenuItem, scale_menu_item, GTK_TYPE_IMAGE_MENU_ITEM)
+G_DEFINE_TYPE (ScaleMenuItem, scale_menu_item, GTK_TYPE_MENU_ITEM)
#define GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SCALE_MENU_ITEM, ScaleMenuItemPrivate))
@@ -117,7 +117,7 @@ scale_menu_item_class_init (ScaleMenuItemClass *item_class)
* ScaleMenuItem::slider-grabbed:
* @menuitem: The #ScaleMenuItem emitting the signal.
*
- * The ::slider-grabbed signal is emitted when the pointer selects the slider.
+ * The ::slider-grabbed signal is emitted when the pointer selects the slider.
*/
signals[SLIDER_GRABBED] = g_signal_new ("slider-grabbed",
G_OBJECT_CLASS_TYPE (gobject_class),
@@ -176,8 +176,8 @@ static void
update_packing (ScaleMenuItem *self)
{
ScaleMenuItemPrivate *priv = GET_PRIVATE (self);
- GtkBox *hbox = GTK_BOX (gtk_hbox_new (FALSE, 0));
- GtkBox *vbox = GTK_BOX (gtk_vbox_new (FALSE, 0));
+ GtkBox *hbox = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0));
+ GtkBox *vbox = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 0));
TRACE("entering");
@@ -396,7 +396,7 @@ scale_menu_item_new_with_range (gdouble min,
priv = GET_PRIVATE (scale_item);
- priv->scale = gtk_hscale_new_with_range (min, max, step);
+ priv->scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, min, max, step);
priv->vbox = NULL;
priv->hbox = NULL;
@@ -510,7 +510,8 @@ scale_menu_item_set_description_label (ScaleMenuItem *menuitem,
gtk_label_set_markup (GTK_LABEL (priv->description_label), label);
/* align left */
- gtk_misc_set_alignment (GTK_MISC(priv->description_label), 0, 0);
+ gtk_widget_set_halign (GTK_WIDGET (priv->description_label), GTK_ALIGN_START);
+ gtk_widget_set_valign (GTK_WIDGET (priv->description_label), GTK_ALIGN_START);
}
update_packing (menuitem);
@@ -552,7 +553,8 @@ scale_menu_item_set_percentage_label (ScaleMenuItem *menuitem,
/* create label */
priv->percentage_label = gtk_label_new (label);
/* align left */
- gtk_misc_set_alignment (GTK_MISC(priv->percentage_label), 0, 0);
+ gtk_widget_set_halign (GTK_WIDGET (priv->percentage_label), GTK_ALIGN_START);
+ gtk_widget_set_valign (GTK_WIDGET (priv->percentage_label), GTK_ALIGN_START);
}
update_packing (menuitem);
@@ -25,7 +25,7 @@
struct _Mpris2Controls
{
- GtkHBox __parent__;
+ GtkBox __parent__;
Mpris2Client *mpris2;
@@ -39,10 +39,10 @@ struct _Mpris2Controls
};
struct _Mpris2ControlsClass {
- GtkHBoxClass __parent;
+ GtkBoxClass __parent;
};
-G_DEFINE_TYPE (Mpris2Controls, mpris2_controls, GTK_TYPE_HBOX)
+G_DEFINE_TYPE (Mpris2Controls, mpris2_controls, GTK_TYPE_BOX)
/*
* Public Api.
@@ -31,71 +31,68 @@ gtk_label_set_attribute_bold(GtkLabel *label)
}
GtkWidget *
-soundmenu_hig_workarea_table_add_section_title(GtkWidget *table, guint *row, const char *section_title)
+soundmenu_hig_workarea_table_add_section_title(GtkWidget *grid, guint *row, const char *section_title)
{
GtkWidget *section_label;
section_label = gtk_label_new(section_title);
- gtk_misc_set_alignment(GTK_MISC(section_label), 0.0, 0.5);
+ gtk_widget_set_halign (GTK_WIDGET (section_label), GTK_ALIGN_START);
+ gtk_widget_set_valign (GTK_WIDGET (section_label), GTK_ALIGN_CENTER);
gtk_label_set_attribute_bold(GTK_LABEL(section_label));
- gtk_table_attach(GTK_TABLE(table), section_label,
- 0, 2, *row, *row + 1,
- GTK_FILL|GTK_EXPAND, GTK_SHRINK,
- 0, 0);
+ gtk_grid_attach (GTK_GRID (grid), section_label, 0, *row, 2, 1);
+
++ * row;
return section_label;
}
void
-soundmenu_hig_workarea_table_add_wide_control(GtkWidget *table, guint *row, GtkWidget *widget)
+soundmenu_hig_workarea_table_add_wide_control(GtkWidget *grid, guint *row, GtkWidget *widget)
{
- gtk_table_attach(GTK_TABLE(table), widget, 0, 2, *row, *row + 1, GTK_FILL, 0, 12, 0);
+ gtk_grid_attach (GTK_GRID (grid), widget, 0, *row, 2, 1);
++ * row;
}
void
-soundmenu_hig_workarea_table_add_wide_tall_control(GtkWidget *table, guint *row, GtkWidget *widget)
+soundmenu_hig_workarea_table_add_wide_tall_control(GtkWidget *grid, guint *row, GtkWidget *widget)
{
- gtk_table_attach(GTK_TABLE(table), widget,
- 0, 2, *row, *row + 1,
- GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL,
- 12, 0);
+ gtk_grid_attach (GTK_GRID (grid), widget, 0, *row, 2, 1);
++ * row;
}
void
-soundmenu_hig_workarea_table_add_row(GtkWidget *table, guint *row, GtkWidget *label, GtkWidget *control)
+soundmenu_hig_workarea_table_add_row(GtkWidget *grid, guint *row, GtkWidget *label, GtkWidget *control)
{
- gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+ gtk_widget_set_halign (GTK_WIDGET (label), GTK_ALIGN_START);
+ gtk_widget_set_valign (GTK_WIDGET (label), GTK_ALIGN_CENTER);
- gtk_table_attach(GTK_TABLE(table), label, 0, 1, *row, *row + 1, GTK_FILL, GTK_FILL, 12, 0);
- gtk_table_attach(GTK_TABLE(table), control, 1, 2, *row, *row + 1, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, *row, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), control, 1, *row, 1, 1);
++ * row;
}
GtkWidget *
soundmenu_hig_workarea_table_new (void)
{
- GtkWidget *table;
+ GtkWidget *grid;
- table = gtk_table_new(1, 2, FALSE);
+ grid = gtk_grid_new ();
- gtk_container_set_border_width(GTK_CONTAINER(table), 12);
- gtk_table_set_col_spacing(GTK_TABLE(table), 0, 12);
+ gtk_container_set_border_width (GTK_CONTAINER (grid), 12);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 12);
- gtk_table_set_row_spacings(GTK_TABLE(table), 6);
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
- return table;
+ return grid;
}
void
soundmenu_hig_workarea_table_finish(GtkWidget *table, guint *row)
{
- gtk_table_resize(GTK_TABLE(table), *row, 2);
-}
+ return;
+}
@@ -44,8 +44,11 @@ soundmenu_configure_response (GtkWidget *dialog,
{
gboolean result;
const gchar *player = NULL, *client_player = NULL;
- const gchar *test_user = NULL, *entry_user = NULL, *test_pass = NULL, *entry_pass = NULL;
- gboolean changed = FALSE, test_scrobble = FALSE, toggle_scrobble = FALSE;
+
+ #ifdef HAVE_LIBCLASTFM
+ const gchar *test_user = NULL, *entry_user = NULL, *test_pass = NULL, *entry_pass = NULL;
+ gboolean changed = FALSE, test_scrobble = FALSE, toggle_scrobble = FALSE;
+ #endif
if (response == GTK_RESPONSE_HELP) {
result = g_spawn_command_line_async ("exo-open --launch WebBrowser " PLUGIN_WEBSITE, NULL);
@@ -211,27 +214,28 @@ soundmenu_configure (XfcePanelPlugin *plugin,
/* create the dialog */
dialog = xfce_titled_dialog_new_with_buttons (_("Sound menu Plugin"),
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
- GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_HELP, GTK_RESPONSE_HELP,
- GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ _("Help"), GTK_RESPONSE_HELP,
+ _("Close"), GTK_RESPONSE_OK,
NULL);
/* center dialog on the screen */
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
/* set dialog icon */
gtk_window_set_icon_name (GTK_WINDOW (dialog), "xfce4-settings");
- pref_table = gtk_table_new(8, 2, FALSE);
- gtk_table_set_col_spacings(GTK_TABLE(pref_table), 5);
- gtk_table_set_row_spacings(GTK_TABLE(pref_table), 2);
+ pref_table = gtk_grid_new ();
+ gtk_grid_set_column_spacing (GTK_GRID (pref_table), 5);
+ gtk_grid_set_row_spacing (GTK_GRID (pref_table), 2);
player_label = gtk_label_new(_("Player"));
- gtk_misc_set_alignment(GTK_MISC (player_label), 0, 0);
+ gtk_widget_set_halign (GTK_WIDGET (player_label), GTK_ALIGN_START);
+ gtk_widget_set_valign (GTK_WIDGET (player_label), GTK_ALIGN_START);
player_entry = gtk_entry_new();
if (g_str_nempty0(soundmenu->player))
gtk_entry_set_text(GTK_ENTRY(player_entry), soundmenu->player);
- gtk_entry_set_icon_from_stock (GTK_ENTRY(player_entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_REFRESH);
+ gtk_entry_set_icon_from_icon_name (GTK_ENTRY(player_entry), GTK_ENTRY_ICON_SECONDARY, "view-refresh");
g_signal_connect (G_OBJECT(player_entry), "icon-press",
G_CALLBACK (refresh_player), soundmenu);
gtk_entry_set_activates_default (GTK_ENTRY(player_entry), TRUE);
@@ -68,4 +68,4 @@ void
soundmenu_init_keybinder(void)
{
keybinder_init ();
-}
+}
@@ -292,6 +292,8 @@ soundmenu_panel_button_scrolled (GtkWidget *widget,
case GDK_SCROLL_LEFT:
volume -= 0.02;
break;
+ default:
+ break;
}
volume = CLAMP (volume, 0.0, 1.0);
@@ -519,7 +521,7 @@ soundmenu_new (XfcePanelPlugin *plugin)
/* create some panel widgets */
- soundmenu->layout_box = xfce_hvbox_new (panel_orientation, FALSE, 2);
+ soundmenu->layout_box = gtk_box_new (panel_orientation, 2);
gtk_widget_show (soundmenu->layout_box);
soundmenu->controls = mpris2_controls_new (soundmenu->mpris2);
@@ -661,13 +663,16 @@ static void init_soundmenu_plugin(SoundmenuPlugin *soundmenu)
if (soundmenu->use_global_keys)
keybinder_bind_keys(soundmenu);
#endif
+
#ifdef HAVE_LIBCLASTFM
if (soundmenu_lastfm_is_supported (soundmenu->clastfm))
soundmenu_lastfm_init (soundmenu->clastfm);
#endif
+
#ifdef HAVE_LIBGLYR
init_glyr_related(soundmenu);
#endif
+
#ifdef HAVE_LIBNOTIFY
soundmenu_notify_init();
#endif
@@ -756,6 +761,7 @@ soundmenu_size_changed (XfcePanelPlugin *plugin,
return TRUE;
}
+#if FEAT_MIXER
static void
soundmenu_container_remove (GtkContainer *container, GtkWidget *widget)
{
@@ -770,6 +776,7 @@ soundmenu_container_remove (GtkContainer *container, GtkWidget *widget)
}
g_list_free (list);
}
+#endif
static void
soundmenu_mode_changed (XfcePanelPlugin *plugin,
@@ -800,7 +807,7 @@ soundmenu_mode_changed (XfcePanelPlugin *plugin,
#endif
}
else {
- xfce_hvbox_set_orientation (XFCE_HVBOX (soundmenu->layout_box), GTK_ORIENTATION_HORIZONTAL);
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (soundmenu->layout_box), GTK_ORIENTATION_HORIZONTAL);
#if FEAT_MIXER
gtk_box_pack_start (GTK_BOX(soundmenu->layout_box),
GTK_WIDGET(soundmenu->vol_button),
@@ -816,7 +823,7 @@ soundmenu_mode_changed (XfcePanelPlugin *plugin,
GTK_WIDGET(soundmenu->vol_button),
FALSE, FALSE, 0);
#endif
- xfce_hvbox_set_orientation (XFCE_HVBOX (soundmenu->layout_box), panel_orientation);
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (soundmenu->layout_box), panel_orientation);
mpris2_controls_set_orientation (soundmenu->controls, orientation);
}
@@ -33,7 +33,6 @@
#include <libxfce4ui/libxfce4ui.h>
#include <libxfce4panel/xfce-panel-plugin.h>
#include <libxfce4util/libxfce4util.h>
-#include <libxfce4panel/xfce-hvbox.h>
#include <libmpris2client/libmpris2client.h>
#include <libmpris2client/mpris2-metadata.h>
@@ -81,8 +81,8 @@ soundmenu_show_related_text_info_dialog(glyr_struct *glyr_info,
dialog = xfce_titled_dialog_new_with_buttons (title_header,
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(soundmenu->plugin))),
- GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ _("Close"),
GTK_RESPONSE_OK,
NULL);
@@ -38,7 +38,7 @@ dbus_check_nm_status (DBusConnection *connection)
DBusMessage *message, *reply;
DBusError error;
dbus_uint32_t state;
-
+
message = dbus_message_new_method_call (NM_DBUS_SERVICE, NM_DBUS_PATH,
NM_DBUS_INTERFACE, "state");
if (!message)
@@ -96,10 +96,10 @@ set_watch_cursor (GtkWidget *widget)
toplevel = gtk_widget_get_toplevel(GTK_WIDGET(widget));
if (G_LIKELY (toplevel != NULL)) {
- cursor = gdk_cursor_new (GDK_WATCH);
+ cursor = gdk_cursor_new_for_display (gdk_display_get_default(), GDK_WATCH);
gdk_window_set_cursor (gtk_widget_get_window (toplevel), cursor);
- gdk_cursor_unref (cursor);
+ g_object_unref (cursor);
}
}
@@ -165,4 +165,4 @@ gchar* convert_length_str(gint length)
g_strlcat(str, tmp, 24);
return str;
-}
+}

0 comments on commit 5128501

Please sign in to comment.