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