Updating branch refs/heads/4.10_panel_support
         to 27b5107145e181c9f68b9ea807a9414e3882d135 (commit)
       from 849db74acb904dee78268237be730959dbc90990 (commit)

commit 27b5107145e181c9f68b9ea807a9414e3882d135
Author: Igor Slepchin <igor.slepc...@gmail.com>
Date:   Thu May 23 17:55:15 2013 -0400

    Disable Edit layout button if no layout is selected
    
    We need to pay attention to treeview's selection, not cursor.

 panel-plugin/xkb-settings-dialog.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/panel-plugin/xkb-settings-dialog.c 
b/panel-plugin/xkb-settings-dialog.c
index c1ae085..9d9ea5c 100644
--- a/panel-plugin/xkb-settings-dialog.c
+++ b/panel-plugin/xkb-settings-dialog.c
@@ -353,12 +353,14 @@ static void
 xkb_settings_edit_layout_btn_show (GtkTreeView *tree_view,
                                    t_xkb *xkb)
 {
-    GtkTreePath *p;
-    GtkTreeViewColumn *c;
-    gtk_tree_view_get_cursor (GTK_TREE_VIEW (tree_view), &p, &c);
+    GtkTreeSelection *selection;
+    gboolean selected;
+
+    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW 
(xkb->layout_tree_view));
+    selected = gtk_tree_selection_get_selected (selection, NULL, NULL);
+
     gtk_widget_set_sensitive (xkb->edit_layout_btn,
-            (p != NULL && !xkb->settings->never_modify_config));
-    gtk_tree_path_free (p);
+                              selected && !xkb->settings->never_modify_config);
 }
 
 static void
@@ -508,6 +510,7 @@ xfce_xkb_configure (XfcePanelPlugin *plugin,
     GtkCellRenderer *renderer, *renderer2;
     GtkWidget *vbox1, *vbox2, *hbox, *frame;
     XklConfigRegistry *registry;
+    GtkTreeSelection *selection;
 
     xfce_panel_plugin_block_menu (plugin);
 
@@ -735,7 +738,8 @@ xfce_xkb_configure (XfcePanelPlugin *plugin,
     g_signal_connect (xkb->add_layout_btn, "clicked", G_CALLBACK 
(xkb_settings_add_layout), xkb);
     g_signal_connect (xkb->rm_layout_btn, "clicked", G_CALLBACK 
(xkb_settings_rm_layout), xkb);
     g_signal_connect (xkb->edit_layout_btn, "clicked",  G_CALLBACK 
(xkb_settings_edit_layout), xkb);
-    g_signal_connect (xkb->layout_tree_view, "cursor-changed", G_CALLBACK 
(xkb_settings_edit_layout_btn_show), xkb);
+    selection = gtk_tree_view_get_selection (xkb->layout_tree_view);
+    g_signal_connect (selection, "changed", G_CALLBACK 
(xkb_settings_edit_layout_btn_show), xkb);
 
     g_signal_connect (renderer2, "toggled", G_CALLBACK 
(xkb_settings_default_layout_toggled), xkb);
 
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to