This is an automated email from the git hooks/post-receive script.

andre pushed a 
commit to branch 
master
in repository apps/xfmpc.

commit 34df965887ad1bdaf09c7057e3ececbc99392a0f
Author: Johannes Marbach <[email protected]>
Date:   Fri Feb 15 22:12:50 2019 +0100

    Fix (most) GTK+3 deprecations
---
 src/dbbrowser.vala          |  65 +++++++++++++---------------
 src/extended-interface.vala |  42 +++++-------------
 src/interface.vala          |  19 +++++----
 src/main-window.vala        |   4 +-
 src/mpdclient.c             |  16 +++----
 src/playlist.vala           |  25 ++++++-----
 src/preferences-dialog.vala |  53 +++++++++++++----------
 src/shortcuts-dialog.vala   |  20 ++++++---
 src/song-dialog.vala        |   2 +-
 src/xfce-arrow-button.c     | 101 ++++++++++++++++++++++++++++----------------
 10 files changed, 183 insertions(+), 164 deletions(-)

diff --git a/src/dbbrowser.vala b/src/dbbrowser.vala
index 6893794..d27a808 100644
--- a/src/dbbrowser.vala
+++ b/src/dbbrowser.vala
@@ -21,7 +21,7 @@ using Gtk;
 
 namespace Xfmpc {
 
-       public class Dbbrowser : VBox {
+       public class Dbbrowser : Box {
 
                private unowned Xfmpc.Mpdclient mpdclient;
                private unowned Xfmpc.Preferences preferences;
@@ -30,7 +30,7 @@ namespace Xfmpc {
                private Gtk.TreeView treeview;
                private Gtk.Menu menu;
                private Gtk.Entry search_entry;
-               private Gtk.ImageMenuItem mi_browse;
+               private Gtk.MenuItem mi_browse;
 
                private string wdir;
                private string last_wdir;
@@ -55,6 +55,8 @@ namespace Xfmpc {
                        this.wdir = "";
                        this.last_wdir = "";
 
+                       set_orientation (Gtk.Orientation.VERTICAL);
+
                        this.store = new Gtk.ListStore (Columns.N_COLUMNS,
                                                        typeof (int),
                                                        typeof (Gdk.Pixbuf),
@@ -69,7 +71,6 @@ namespace Xfmpc {
                        this.treeview.set_enable_search (true);
                        this.treeview.set_search_column 
(Columns.COLUMN_BASENAME);
                        this.treeview.set_headers_visible (false);
-                       this.treeview.set_rules_hint (true);
                        this.treeview.set_model (this.store);
 
                        var cell_pixbuf = new Gtk.CellRendererPixbuf ();
@@ -89,24 +90,20 @@ namespace Xfmpc {
 
                        this.menu = new Gtk.Menu ();
 
-                       var mi = new Gtk.ImageMenuItem.from_stock 
(Gtk.Stock.ADD, null);
+                       var mi = new Gtk.MenuItem.with_mnemonic (_("Add"));
                        this.menu.append (mi);
                        mi.activate.connect (add_selected_rows);
-                       mi = new Gtk.ImageMenuItem.with_mnemonic (_("Replace"));
-                       var image = new Gtk.Image.from_stock (Gtk.Stock.CUT, 
Gtk.IconSize.MENU);
-                       mi.set_image (image);
+                       mi = new Gtk.MenuItem.with_mnemonic (_("Replace"));
                        this.menu.append (mi);
                        mi.activate.connect (cb_replace_with_selected_rows);
-                       this.mi_browse = new Gtk.ImageMenuItem.with_mnemonic 
(_("Browse"));
-                       image = new Gtk.Image.from_stock (Gtk.Stock.OPEN, 
Gtk.IconSize.MENU);
-                       this.mi_browse.set_image (image);
+                       this.mi_browse = new Gtk.MenuItem.with_mnemonic 
(_("Browse"));
                        this.menu.append (this.mi_browse);
                        this.mi_browse.activate.connect (cb_browse);
 
                        this.menu.show_all ();
 
                        this.search_entry = new Entry ();
-                       this.search_entry.set_icon_from_stock 
(EntryIconPosition.PRIMARY, Gtk.Stock.FIND);
+                       this.search_entry.set_icon_from_icon_name 
(EntryIconPosition.PRIMARY, "edit-find");
                        this.search_entry.set_icon_activatable 
(EntryIconPosition.PRIMARY, false);
                        this.search_entry.set_icon_activatable 
(EntryIconPosition.SECONDARY, true);
 
@@ -181,8 +178,9 @@ namespace Xfmpc {
                public void append (string filename, string basename, bool 
is_dir, bool is_bold) {
                        Gtk.TreeIter iter;
 
-                       var pixbuf = this.treeview.render_icon (is_dir ? 
Gtk.Stock.DIRECTORY : Gtk.Stock.FILE,
-                                                               
Gtk.IconSize.MENU, null);
+                       var pixbuf = Gtk.IconTheme.get_default ()
+                               .load_icon(is_dir ? "folder" : "text-x-generic",
+                                          Gtk.IconSize.MENU, 0);
 
                        this.store.append (out iter);
                        this.store.set (iter,
@@ -236,11 +234,8 @@ namespace Xfmpc {
 
                        bool no_result_buf = false, no_result = false;
 
-                       Gdk.Color color;
-                       Gdk.Color.parse ("white", out color);
-                       color.red = 0xFFFF;
-                       color.green = 0x6666;
-                       color.blue = 0x6666;
+                       var color = new Gdk.RGBA ();
+                       color.parse ("#F66");
 
                        if (i == 0)
                                no_result = true;
@@ -251,30 +246,30 @@ namespace Xfmpc {
 #if MORE_FUNKY_COLOR_ON_SEARCH_ENTRY
                                this.search_entry.modify_base 
(Gtk.StateType.NORMAL, color);
 #endif
-                               this.search_entry.modify_bg 
(Gtk.StateType.NORMAL, color);
-                               this.search_entry.modify_bg 
(Gtk.StateType.SELECTED, color);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.NORMAL, color);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.SELECTED, color);
                        }
                        else if (no_result == no_result_buf && !no_result) {
 #if MORE_FUNKY_COLOR_ON_SEARCH_ENTRY
-                               this.search_entry.modify_base 
(Gtk.StateType.NORMAL, null);
+                               this.search_entry.modify_base 
(Gtk.StateFlags.NORMAL, null);
 #endif
-                               this.search_entry.modify_bg 
(Gtk.StateType.NORMAL, null);
-                               this.search_entry.modify_bg 
(Gtk.StateType.SELECTED, null);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.NORMAL, null);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.SELECTED, null);
                        }
 
                        if (i == 0) {
 #if MORE_FUNKY_COLOR_ON_SEARCH_ENTRY
-                               this.search_entry.modify_base 
(Gtk.StateType.NORMAL, color);
+                               this.search_entry.modify_base 
(Gtk.StateFlags.NORMAL, color);
 #endif
-                               this.search_entry.modify_bg 
(Gtk.StateType.NORMAL, color);
-                               this.search_entry.modify_bg 
(Gtk.StateType.SELECTED, color);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.NORMAL, color);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.SELECTED, color);
                        }
                        else if (no_result) {
 #if MORE_FUNKY_COLOR_ON_SEARCH_ENTRY
-                               this.search_entry.modify_base 
(Gtk.StateType.NORMAL, null);
+                               this.search_entry.modify_base 
(Gtk.StateFlags.NORMAL, null);
 #endif
-                               this.search_entry.modify_bg 
(Gtk.StateType.NORMAL, null);
-                               this.search_entry.modify_bg 
(Gtk.StateType.SELECTED, null);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.NORMAL, null);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.SELECTED, null);
                        }
                }
 
@@ -293,7 +288,7 @@ namespace Xfmpc {
                        else
                                this.mi_browse.hide ();
 
-                       this.menu.popup (null, null, null, 0, 
get_current_event_time ());
+                       this.menu.popup_at_pointer (null);
                }
 
                /*
@@ -440,10 +435,10 @@ namespace Xfmpc {
 
                                /* revert possible previous applied color */
 #if MORE_FUNKY_COLOR_ON_SEARCH_ENTRY
-                               this.search_entry.modify_base 
(Gtk.StateType.NORMAL, null);
+                               this.search_entry.modify_base 
(Gtk.StateFlags.NORMAL, null);
 #endif
-                               this.search_entry.modify_bg 
(Gtk.StateType.NORMAL, null);
-                               this.search_entry.modify_bg 
(Gtk.StateType.SELECTED, null);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.NORMAL, null);
+                               this.search_entry.override_background_color 
(Gtk.StateFlags.SELECTED, null);
 
                                return;
                        }
@@ -464,10 +459,10 @@ namespace Xfmpc {
 
                private void cb_search_entry_changed () {
                        if (search_entry.get_text () != "") {
-                               search_entry.set_icon_from_stock 
(EntryIconPosition.SECONDARY, Gtk.Stock.CLEAR);
+                               search_entry.set_icon_from_icon_name 
(EntryIconPosition.SECONDARY, "edit-clear");
                        }
                        else {
-                               search_entry.set_icon_from_stock 
(EntryIconPosition.SECONDARY, null);
+                               search_entry.set_icon_from_icon_name 
(EntryIconPosition.SECONDARY, null);
                        }
 
                        if (this.search_timeout > 0)
diff --git a/src/extended-interface.vala b/src/extended-interface.vala
index d82c2f2..8cc1687 100644
--- a/src/extended-interface.vala
+++ b/src/extended-interface.vala
@@ -21,7 +21,7 @@ using Gtk;
 
 namespace Xfmpc {
 
-       public class ExtendedInterface : VBox {
+       public class ExtendedInterface : Box {
 
                private unowned Xfmpc.Mpdclient mpdclient;
                private unowned Xfmpc.Preferences preferences;
@@ -52,6 +52,8 @@ namespace Xfmpc {
                        this.mpdclient = Xfmpc.Mpdclient.get_default ();
                        this.preferences = Xfmpc.Preferences.get_default ();
 
+                       set_orientation (Gtk.Orientation.VERTICAL);
+
                        var hbox = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 2);
                        pack_start (hbox, false, false, 2);
 
@@ -60,7 +62,7 @@ namespace Xfmpc {
                        button.clicked.connect (cb_playlist_clear);
                        hbox.pack_start (button, false, false, 0);
 
-                       var image = new Gtk.Image.from_stock (Gtk.Stock.NEW, 
Gtk.IconSize.MENU);
+                       var image = new Gtk.Image.from_icon_name 
("document-new", Gtk.IconSize.MENU);
                        button.set_image (image);
 
                        button = new Gtk.Button ();
@@ -68,7 +70,7 @@ namespace Xfmpc {
                        button.clicked.connect (cb_database_refresh);
                        hbox.pack_start (button, false, false, 0);
 
-                       image = new Gtk.Image.from_stock (Gtk.Stock.REFRESH, 
Gtk.IconSize.MENU);
+                       image = new Gtk.Image.from_icon_name ("view-refresh", 
Gtk.IconSize.MENU);
                        button.set_image (image);
 
                        this.context_button = new Xfce.ArrowButton 
(Gtk.ArrowType.DOWN);
@@ -134,32 +136,10 @@ namespace Xfmpc {
                        this.single.set_active (this.mpdclient.get_single ());
                        this.consume.set_active (this.mpdclient.get_consume ());
 
-                       this.context_menu.popup (null, null,
-                                           (Gtk.MenuPositionFunc) 
this.position_context_menu,
-                                           0, get_current_event_time ());
-               }
-
-               private static void position_context_menu (Gtk.Menu menu, int 
x, int y, bool push_in) {
-                       Gtk.Allocation allocation;
-                       int root_x;
-                       int root_y;
-                       int pref_height;
-
-                       menu.get_preferred_height (null, out pref_height);
-                       (((Gtk.Widget) context_button).get_window 
()).get_origin (out root_x, out root_y);
-                       ((Gtk.Widget) context_button).get_allocation (out 
allocation);
-
-                       x = root_x + allocation.x;
-                       y = root_y + allocation.y;
-                       x = 0;
-                       y = 0;
-
-                       if (y > Gdk.Screen.height () - pref_height)
-                               y = Gdk.Screen.height () - pref_height;
-                       else if (y < 0)
-                               y = 0;
-
-                       push_in = false;
+                       this.context_menu.popup_at_widget ((Gtk.Widget) 
this.context_button,
+                                                          
Gdk.Gravity.SOUTH_WEST,
+                                                          
Gdk.Gravity.NORTH_WEST,
+                                                          null);
                }
 
                private void context_menu_new (Gtk.Widget attach_widget) {
@@ -187,7 +167,7 @@ namespace Xfmpc {
                        var separator = new Gtk.SeparatorMenuItem ();
                        this.context_menu.append (separator);
 
-                       var imi = new Gtk.ImageMenuItem.from_stock 
(Gtk.Stock.PREFERENCES, null);
+                       var imi = new Gtk.MenuItem.with_mnemonic 
(_("_Preferences"));
                        imi.activate.connect (cb_preferences);
                        this.context_menu.append (imi);
 
@@ -195,7 +175,7 @@ namespace Xfmpc {
                        mi.activate.connect (cb_shortcuts);
                        this.context_menu.append (mi);
 
-                       imi = new Gtk.ImageMenuItem.from_stock 
(Gtk.Stock.ABOUT, null);
+                       imi = new Gtk.MenuItem.with_mnemonic (_("_About"));
                        imi.activate.connect (cb_about);
                        this.context_menu.append (imi);
 
diff --git a/src/interface.vala b/src/interface.vala
index a942e58..4918cd3 100644
--- a/src/interface.vala
+++ b/src/interface.vala
@@ -21,7 +21,7 @@ using Gtk;
 
 namespace Xfmpc {
 
-       public class Interface : VBox {
+       public class Interface : Box {
 
                private unowned Xfmpc.Mpdclient mpdclient;
                private unowned Xfmpc.Preferences preferences;
@@ -40,19 +40,20 @@ namespace Xfmpc {
                        this.mpdclient = Xfmpc.Mpdclient.get_default ();
                        this.preferences = Xfmpc.Preferences.get_default ();
 
+                       set_orientation (Gtk.Orientation.VERTICAL);
                        set_border_width (4);
 
-                       var image = new Gtk.Image.from_stock 
(Gtk.Stock.MEDIA_PREVIOUS, Gtk.IconSize.BUTTON);
+                       var image = new Gtk.Image.from_icon_name 
("media-skip-backward", Gtk.IconSize.BUTTON);
                        this.button_prev = new Gtk.Button ();
                        this.button_prev.set_relief (Gtk.ReliefStyle.NONE);
                        this.button_prev.add (image);
 
-                       image = new Gtk.Image.from_stock (Gtk.Stock.MEDIA_PLAY, 
Gtk.IconSize.BUTTON);
+                       image = new Gtk.Image.from_icon_name 
("media-playback-start", Gtk.IconSize.BUTTON);
                        this.button_pp = new Gtk.Button ();
                        this.button_pp.set_relief (Gtk.ReliefStyle.NONE);
                        this.button_pp.add (image);
 
-                       image = new Gtk.Image.from_stock (Gtk.Stock.MEDIA_NEXT, 
Gtk.IconSize.BUTTON);
+                       image = new Gtk.Image.from_icon_name 
("media-skip-forward", Gtk.IconSize.BUTTON);
                        this.button_next = new Gtk.Button ();
                        this.button_next.set_relief (Gtk.ReliefStyle.NONE);
                        this.button_next.add (image);
@@ -86,7 +87,8 @@ namespace Xfmpc {
                        title.set_attributes (attrs);
                        title.set_selectable (true);
                        title.set_ellipsize (Pango.EllipsizeMode.END);
-                       title.set_alignment (0, (float) 0.5);
+                       title.xalign = 0.0f;
+                       title.yalign = 0.5f;
 
                        /* Subtitle */
                        attrs = new Pango.AttrList ();
@@ -99,7 +101,8 @@ namespace Xfmpc {
                        this.subtitle.set_attributes (attrs);
                        this.subtitle.set_selectable (true);
                        this.subtitle.set_ellipsize (Pango.EllipsizeMode.END);
-                       this.subtitle.set_alignment (0, (float) 0.5);
+                       this.subtitle.xalign = 0.0f;
+                       this.subtitle.yalign = 0.5f;
 
                        /* === Containers === */
                        var box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0);
@@ -151,9 +154,9 @@ namespace Xfmpc {
                        var image = (Gtk.Image) this.button_pp.get_child ();
 
                        if (play == true)
-                               image.set_from_stock (Gtk.Stock.MEDIA_PAUSE, 
Gtk.IconSize.BUTTON);
+                               image.set_from_icon_name 
("media-playback-pause", Gtk.IconSize.BUTTON);
                        else
-                               image.set_from_stock (Gtk.Stock.MEDIA_PLAY, 
Gtk.IconSize.BUTTON);
+                               image.set_from_icon_name 
("media-playback-start", Gtk.IconSize.BUTTON);
                }
 
                private bool cb_progress_box_motion_event (Gdk.EventMotion 
event) {
diff --git a/src/main-window.vala b/src/main-window.vala
index a54ecfa..5079c94 100644
--- a/src/main-window.vala
+++ b/src/main-window.vala
@@ -96,7 +96,7 @@ namespace Xfmpc {
                        this.vbox.pack_start (this.@interface, false, false, 4);
 
                        /* Separator */
-                       var separator = new Gtk.HSeparator ();
+                       var separator = new Gtk.Separator 
(Gtk.Orientation.HORIZONTAL);
                        this.vbox.pack_start (separator, false, false, 0);
 
                        /* ExtendedInterface */
@@ -151,7 +151,7 @@ namespace Xfmpc {
                private void status_icon_popup_menu (uint button, uint 
activate_time) {
                        if (this.status_icon_menu == null) {
                                this.status_icon_menu = new Gtk.Menu ();
-                               var mi = new Gtk.ImageMenuItem.from_stock 
(Gtk.Stock.QUIT, null);
+                               var mi = new Gtk.MenuItem.with_mnemonic 
(_("Quit"));
                                mi.activate.connect (Gtk.main_quit);
                                this.status_icon_menu.add (mi);
                                this.status_icon_menu.show_all ();
diff --git a/src/mpdclient.c b/src/mpdclient.c
index cdcd74b..61ffcee 100644
--- a/src/mpdclient.c
+++ b/src/mpdclient.c
@@ -106,7 +106,7 @@ struct _XfmpcMpdclientPrivate
   gboolean                  env_cached;
   gboolean                  connecting;
   guint                     connection_count;
-  GMutex                   *mutex;
+  GMutex                    mutex;
 };
 
 
@@ -274,9 +274,7 @@ xfmpc_mpdclient_init (XfmpcMpdclient *mpdclient)
   XfmpcMpdclientPrivate *priv = mpdclient->priv = GET_PRIVATE (mpdclient);
 
   priv->mi = mpd_new_default ();
-
-  if (!g_thread_supported ()) g_thread_init (NULL);
-  priv->mutex = g_mutex_new ();
+  g_mutex_init (&priv->mutex);
 
   mpd_signal_connect_status_changed (priv->mi, 
(StatusChangedCallback)cb_status_changed, mpdclient);
 }
@@ -288,7 +286,7 @@ xfmpc_mpdclient_finalize (GObject *object)
   XfmpcMpdclientPrivate *priv = XFMPC_MPDCLIENT (mpdclient)->priv;
 
   mpd_free (priv->mi);
-  g_mutex_free (priv->mutex);
+  g_mutex_clear (&priv->mutex);
 
   (*G_OBJECT_CLASS (parent_class)->finalize) (object);
 }
@@ -403,7 +401,7 @@ xfmpc_mpdclient_connect (XfmpcMpdclient *mpdclient)
     return TRUE;
 
   /* return FALSE if a we are already trying to connect to mpd */
-  if (!g_mutex_trylock (priv->mutex))
+  if (!g_mutex_trylock (&priv->mutex))
   {
     g_warning ("Already connecting to mpd");
     return FALSE;
@@ -411,8 +409,8 @@ xfmpc_mpdclient_connect (XfmpcMpdclient *mpdclient)
 
   priv->connecting = TRUE;
 
-  thread = g_thread_create ((GThreadFunc) xfmpc_mpdclient_connect_thread,
-          mpdclient, TRUE, NULL);
+  thread = g_thread_new ("connection thread", (GThreadFunc) 
xfmpc_mpdclient_connect_thread,
+          mpdclient);
 
   while (priv->connecting)
   {
@@ -425,7 +423,7 @@ xfmpc_mpdclient_connect (XfmpcMpdclient *mpdclient)
 
   g_signal_emit (mpdclient, signals[SIG_CONNECTED], 0);
 
-  g_mutex_unlock (priv->mutex);
+  g_mutex_unlock (&priv->mutex);
 
   return TRUE;
 }
diff --git a/src/playlist.vala b/src/playlist.vala
index 1ed9a5e..fe65df2 100644
--- a/src/playlist.vala
+++ b/src/playlist.vala
@@ -21,7 +21,7 @@ using Gtk;
 
 namespace Xfmpc {
 
-       public class Playlist : VBox {
+       public class Playlist : Box {
 
                private unowned Xfmpc.Mpdclient mpdclient;
                private unowned Xfmpc.Preferences preferences;
@@ -32,8 +32,8 @@ namespace Xfmpc {
                private Gtk.Menu menu;
                private static Gtk.Entry filter_entry;
 
-               private Gtk.ImageMenuItem mi_browse;
-               private Gtk.ImageMenuItem mi_information;
+               private Gtk.MenuItem mi_browse;
+               private Gtk.MenuItem mi_information;
 
                private int current = 0;
                private bool autocenter;
@@ -52,6 +52,8 @@ namespace Xfmpc {
                        this.mpdclient = Xfmpc.Mpdclient.get_default ();
                        this.preferences = Xfmpc.Preferences.get_default ();
 
+                       set_orientation (Gtk.Orientation.VERTICAL);
+
                        this.autocenter = this.preferences.playlist_autocenter;
 
                        this.store = new Gtk.ListStore (Columns.N_COLUMNS,
@@ -70,7 +72,6 @@ namespace Xfmpc {
                        this.treeview.set_rubber_banding (true);
                        this.treeview.set_enable_search (false);
                        this.treeview.set_headers_visible (false);
-                       this.treeview.set_rules_hint (true);
                        this.treeview.set_model (this.filter);
 
                        var cell = new Gtk.CellRendererText ();
@@ -104,22 +105,20 @@ namespace Xfmpc {
 
                        this.menu = new Gtk.Menu ();
 
-                       var mi = new Gtk.ImageMenuItem.from_stock 
(Gtk.Stock.REMOVE, null);
+                       var mi = new Gtk.MenuItem.with_mnemonic (_("Remove"));
                        this.menu.append (mi);
                        mi.activate.connect (delete_selection);
-                       this.mi_browse = new Gtk.ImageMenuItem.with_mnemonic 
(_("Browse"));
-                       var image = new Gtk.Image.from_stock (Gtk.Stock.OPEN, 
Gtk.IconSize.MENU);
-                       this.mi_browse.set_image (image);
+                       this.mi_browse = new Gtk.MenuItem.with_mnemonic 
(_("Browse"));
                        this.menu.append (this.mi_browse);
                        this.mi_browse.activate.connect (cb_browse_selection);
-                       this.mi_information = new Gtk.ImageMenuItem.from_stock 
(Gtk.Stock.INFO, null);
+                       this.mi_information = new Gtk.MenuItem.with_mnemonic 
(_("Info"));
                        this.menu.append (mi_information);
                        this.mi_information.activate.connect 
(cb_info_selection);
 
                        this.menu.show_all ();
 
                        this.filter_entry = new Entry ();
-                       this.filter_entry.set_icon_from_stock 
(EntryIconPosition.PRIMARY, Gtk.Stock.FIND);
+                       this.filter_entry.set_icon_from_icon_name 
(EntryIconPosition.PRIMARY, "edit-find");
                        this.filter_entry.set_icon_activatable 
(EntryIconPosition.PRIMARY, false);
                        this.filter_entry.set_icon_activatable 
(EntryIconPosition.SECONDARY, true);
 
@@ -316,7 +315,7 @@ namespace Xfmpc {
                }
 
                private void menu_popup () {
-                       menu.popup (null, null, null, 0, get_current_event_time 
());
+                       menu.popup_at_pointer (null);
                }
 
                private void cb_filter_entry_activated () {
@@ -354,10 +353,10 @@ namespace Xfmpc {
 
                private void cb_filter_entry_changed () {
                        if (filter_entry.get_text () != "") {
-                               filter_entry.set_icon_from_stock 
(EntryIconPosition.SECONDARY, Gtk.Stock.CLEAR);
+                               filter_entry.set_icon_from_icon_name 
(EntryIconPosition.SECONDARY, "edit-clear");
                        }
                        else {
-                               filter_entry.set_icon_from_stock 
(EntryIconPosition.SECONDARY, null);
+                               filter_entry.set_icon_from_icon_name 
(EntryIconPosition.SECONDARY, null);
                        }
                        this.filter.refilter ();
                }
diff --git a/src/preferences-dialog.vala b/src/preferences-dialog.vala
index cca9633..36e10d4 100644
--- a/src/preferences-dialog.vala
+++ b/src/preferences-dialog.vala
@@ -102,7 +102,7 @@ namespace Xfmpc {
                                this.entry_passwd.set_text 
(this.preferences.mpd_password);
                        hbox.pack_start (this.entry_passwd, true, true, 0);
 
-                       var button = new Gtk.Button.from_stock 
(Gtk.Stock.APPLY);
+                       var button = new Gtk.Button.with_label (_("Apply"));
                        button.clicked.connect (cb_update_mpd);
                        vbox2.pack_start (button, true, true, 0);
 
@@ -172,52 +172,61 @@ namespace Xfmpc {
                        label = new Gtk.Label (_("Available parameters:"));
                        vbox2.pack_start (label, true, true, 0);
 
-                       var table = new Gtk.Table (2, 6, true);
-                       table.set_col_spacings (6);
-                       table.set_row_spacings (6);
+                       var grid = new Gtk.Grid();
+                       grid.set_column_spacing (6);
+                       grid.set_row_spacing (6);
+                       grid.set_column_homogeneous(true);
 
                        var attrs = new Pango.AttrList ();
                        attrs.insert (Pango.attr_scale_new ((double) 
Pango.Scale.SMALL));
 
                        label = new Gtk.Label (_("%a: Artist"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 1, 2, 0, 1);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 1, 0, 1, 1);
                        label = new Gtk.Label (_("%A: Album"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 1, 2, 1, 2);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 1, 1, 1, 1);
 
                        label = new Gtk.Label (_("%t: Title"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 2, 3, 0, 1);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 2, 0, 1, 1);
                        label = new Gtk.Label (_("%D: Disc"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 2, 3, 1, 2);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 2, 1, 1, 1);
 
                        label = new Gtk.Label (_("%f: File"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 3, 4, 0, 1);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 3, 0, 1, 1);
                        label = new Gtk.Label (_("%g: Genre"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 3, 4, 1, 2);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 3, 1, 1, 1);
 
                        label = new Gtk.Label (_("%d: Date"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 4, 5, 0, 1);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 4, 0, 1, 1);
                        label = new Gtk.Label (_("%T: Track"));
                        label.set_attributes (attrs);
-                       label.set_alignment (0, 0.5f);
-                       table.attach_defaults (label, 4, 5, 1, 2);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
+                       grid.attach (label, 4, 1, 1, 1);
 
-                       vbox2.pack_start (table, true, true, 0);
+                       vbox2.pack_start (grid, true, true, 0);
 
-                       add_button (Gtk.Stock.CLOSE, Gtk.ResponseType.CLOSE);
+                       add_button (_("Close"), Gtk.ResponseType.CLOSE);
 
                        show_all ();
 
diff --git a/src/shortcuts-dialog.vala b/src/shortcuts-dialog.vala
index db3374a..428f2fd 100644
--- a/src/shortcuts-dialog.vala
+++ b/src/shortcuts-dialog.vala
@@ -28,7 +28,7 @@ namespace Xfmpc {
                        this.title = _("Xfmpc Shortcuts");
                        this.subtitle = _("Control your MPD client with your 
keyboard");
 
-                       add_button (Gtk.Stock.CLOSE, Gtk.ResponseType.CLOSE);
+                       add_button (_("Close"), Gtk.ResponseType.CLOSE);
                        this.response.connect ((response) => {
                                switch (response) {
                                        case Gtk.ResponseType.CLOSE:
@@ -46,27 +46,33 @@ namespace Xfmpc {
 
                        /* Shortcuts labels */
                        var label = new Gtk.Label (_("Quit: CTRL+q"));
-                       label.set_alignment (0.0f, 0.5f);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
                        vbox.add (label);
 
                        label = new Gtk.Label (_("Previous: CTRL+b"));
-                       label.set_alignment (0.0f, 0.5f);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
                        vbox.add (label);
 
                        label = new Gtk.Label (_("Play/Pause: CTRL+p"));
-                       label.set_alignment (0.0f, 0.5f);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
                        vbox.add (label);
 
                        label = new Gtk.Label (_("Stop: CTRL+s"));
-                       label.set_alignment (0.0f, 0.5f);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
                        vbox.add (label);
 
                        label = new Gtk.Label (_("Next: CTRL+f"));
-                       label.set_alignment (0.0f, 0.5f);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
                        vbox.add (label);
 
                        label = new Gtk.Label (_("Volume: CTRL+v"));
-                       label.set_alignment (0.0f, 0.5f);
+                       label.xalign = 0.0f;
+                       label.yalign = 0.5f;
                        vbox.add (label);
 
                        show_all ();
diff --git a/src/song-dialog.vala b/src/song-dialog.vala
index 54fc12f..844e522 100644
--- a/src/song-dialog.vala
+++ b/src/song-dialog.vala
@@ -99,7 +99,7 @@ namespace Xfmpc {
 
                        get_content_area ().pack_start (frame, true, true, 0);
 
-                       add_button (Gtk.Stock.CLOSE, Gtk.ResponseType.CLOSE);
+                       add_button (_("Close"), Gtk.ResponseType.CLOSE);
 
                        show_all ();
 
diff --git a/src/xfce-arrow-button.c b/src/xfce-arrow-button.c
index d63b508..cd05f93 100644
--- a/src/xfce-arrow-button.c
+++ b/src/xfce-arrow-button.c
@@ -52,28 +52,34 @@ enum
     PROP_ARROW_TYPE
 };
 
-static void   xfce_arrow_button_class_init    (XfceArrowButtonClass  *klass);
-static void   xfce_arrow_button_init          (XfceArrowButton       *button);
-static void   xfce_arrow_button_set_property  (GObject               *object,
-                                               guint                  prop_id,
-                                               const GValue          *value,
-                                               GParamSpec            *pspec);
-static void   xfce_arrow_button_get_property  (GObject               *object,
-                                               guint                  prop_id,
-                                               GValue                *value,
-                                               GParamSpec            *pspec);
-static gint   xfce_arrow_button_draw          (GtkWidget             *widget,
-                                               cairo_t               *cr,
-                                               gpointer               
user_data);
-static void   xfce_arrow_button_add           (GtkContainer          
*container,
-                                               GtkWidget             *child);
-static GType  xfce_arrow_button_child_type    (GtkContainer          
*container);
-static void   xfce_arrow_button_get_preferred_width  (GtkWidget      *widget,
-                                                      gint           
*minimal_width,
-                                                      gint           
*natural_width);
-static void   xfce_arrow_button_get_preferred_height (GtkWidget      *widget,
-                                                      gint           
*minimal_height,
-                                                      gint           
*natural_height);
+typedef struct {
+    gint x;
+    gint y;
+} xfce_arrow_button_thickness;
+
+static void      xfce_arrow_button_class_init    (XfceArrowButtonClass  
*klass);
+static void      xfce_arrow_button_init          (XfceArrowButton       
*button);
+static void      xfce_arrow_button_set_property  (GObject               
*object,
+                                                  guint                  
prop_id,
+                                                  const GValue          *value,
+                                                  GParamSpec            
*pspec);
+static void      xfce_arrow_button_get_property  (GObject               
*object,
+                                                  guint                  
prop_id,
+                                                  GValue                *value,
+                                                  GParamSpec            
*pspec);
+static gboolean  xfce_arrow_button_draw          (GtkWidget             
*widget,
+                                                  cairo_t               *cr);
+static void      xfce_arrow_button_add           (GtkContainer          
*container,
+                                                  GtkWidget             
*child);
+static void      xfce_arrow_button_get_thickness (GtkStyleContext *context,
+                                                  xfce_arrow_button_thickness 
*thickness);
+static GType     xfce_arrow_button_child_type    (GtkContainer          
*container);
+static void      xfce_arrow_button_get_preferred_width  (GtkWidget      
*widget,
+                                                         gint           
*minimal_width,
+                                                         gint           
*natural_width);
+static void      xfce_arrow_button_get_preferred_height (GtkWidget      
*widget,
+                                                         gint           
*minimal_height,
+                                                         gint           
*natural_height);
 
 
 /* global vars */
@@ -221,25 +227,23 @@ xfce_arrow_button_get_property (GObject    *object,
 
 
 
-static gint
+static gboolean
 xfce_arrow_button_draw (GtkWidget      *widget,
-                        cairo_t        *cr,
-                        gpointer        user_data)
+                        cairo_t        *cr)
 {
     gint x, y, w;
-    GtkStyle *style;
     GtkStyleContext *context;
+    xfce_arrow_button_thickness thickness;
     GtkAllocation allocation;
 
     if (G_LIKELY (gtk_widget_is_drawable (widget)))
     {
-        style = gtk_widget_get_style (widget);
         context = gtk_widget_get_style_context (widget);
-
+        xfce_arrow_button_get_thickness (context, &thickness);
         gtk_widget_get_allocation (widget, &allocation);
 
-        w = MIN (allocation.height - 2 * style->ythickness,
-                 allocation.width  - 2 * style->xthickness);
+        w = MIN (allocation.height - 2 * thickness.y,
+                 allocation.width  - 2 * thickness.x);
         w = MIN (w, ARROW_WIDTH);
 
         x = (allocation.width - w) / 2;
@@ -265,13 +269,15 @@ xfce_arrow_button_get_preferred_width (GtkWidget *widget,
                                        gint      *minimal_width,
                                        gint      *natural_width)
 {
-    GtkStyle *style;
+    GtkStyleContext *context;
+    xfce_arrow_button_thickness thickness;
     gint size;
 
-    style = gtk_widget_get_style (widget);
+    context = gtk_widget_get_style_context (widget);
+    xfce_arrow_button_get_thickness (context, &thickness);
 
     size = ARROW_WIDTH + ARROW_PADDING +
-                2 * MAX (style->xthickness, style->ythickness);
+                2 * MAX (thickness.x, thickness.y);
 
     *minimal_width = *natural_width = size;
 }
@@ -283,13 +289,15 @@ xfce_arrow_button_get_preferred_height (GtkWidget *widget,
                                         gint      *minimal_height,
                                         gint      *natural_height)
 {
-    GtkStyle *style;
+    GtkStyleContext *context;
+    xfce_arrow_button_thickness thickness;
     gint size;
 
-    style = gtk_widget_get_style (widget);
+    context = gtk_widget_get_style_context (widget);
+    xfce_arrow_button_get_thickness (context, &thickness);
 
     size = ARROW_WIDTH + ARROW_PADDING +
-                2 * MAX (style->xthickness, style->ythickness);
+                2 * MAX (thickness.x, thickness.y);
 
     *minimal_height = *natural_height = size;
 }
@@ -297,6 +305,27 @@ xfce_arrow_button_get_preferred_height (GtkWidget *widget,
 
 
 static void
+xfce_arrow_button_get_thickness (GtkStyleContext *context, 
xfce_arrow_button_thickness *thickness)
+{
+    GtkBorder border;
+    GtkBorder margin;
+    GtkBorder padding;
+    gint xthickness;
+    gint ythickness;
+
+    gtk_style_context_get_border (context, GTK_STATE_FLAG_NORMAL, &border);
+    gtk_style_context_get_margin (context, GTK_STATE_FLAG_NORMAL, &margin);
+    gtk_style_context_get_padding (context, GTK_STATE_FLAG_NORMAL, &padding);
+
+    thickness->x = MAX (border.left + margin.left + padding.left,
+                        border.right + margin.right + padding.right);
+    thickness->y = MAX (border.top + margin.top + padding.top,
+                        border.bottom + margin.bottom + padding.bottom);
+}
+
+
+
+static void
 xfce_arrow_button_add (GtkContainer *container,
                        GtkWidget    *child)
 {

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to