aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorRadek Doulik <rodo@ximian.com>2004-07-24 00:58:02 +0800
committerRadek Doulik <rodo@src.gnome.org>2004-07-24 00:58:02 +0800
commit1b01e8ccc0ff8044768843159db437a942e86e5c (patch)
tree2ca41f07ba256179aa1e00e0c2a7267d220af5e7 /widgets
parentcbfa4ef50c6e5a376d0208e499e30f5e3f0fedc1 (diff)
downloadgsoc2013-evolution-1b01e8ccc0ff8044768843159db437a942e86e5c.tar.gz
gsoc2013-evolution-1b01e8ccc0ff8044768843159db437a942e86e5c.tar.zst
gsoc2013-evolution-1b01e8ccc0ff8044768843159db437a942e86e5c.zip
watch for selection changes and set Delete button sensitivity according to
2004-07-23 Radek Doulik <rodo@ximian.com> * gal-define-views-dialog.c: watch for selection changes and set Delete button sensitivity according to view collection item built-in flag Fixes #57914 svn path=/trunk/; revision=26717
Diffstat (limited to 'widgets')
-rw-r--r--widgets/menus/gal-define-views-dialog.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c
index e8afb8efac..531807ed7b 100644
--- a/widgets/menus/gal-define-views-dialog.c
+++ b/widgets/menus/gal-define-views-dialog.c
@@ -207,6 +207,24 @@ gdvd_connect_signal(GalDefineViewsDialog *dialog, char *widget_name, char *signa
}
static void
+etable_selection_change_forall_cb (int row, GalDefineViewsDialog *dialog)
+{
+ if (row != -1) {
+ GalViewCollectionItem *item = gal_view_collection_get_view_item (dialog->collection, row);
+
+ if (item)
+ gtk_widget_set_sensitive (glade_xml_get_widget (dialog->gui, "button-delete"),
+ !item->built_in);
+ }
+}
+
+static void
+etable_selection_change (ETable *etable, GalDefineViewsDialog *dialog)
+{
+ e_table_selected_row_foreach (etable, (EForeachFunc) etable_selection_change_forall_cb, dialog);
+}
+
+static void
gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
{
GladeXML *gui;
@@ -247,6 +265,9 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
g_object_set(dialog->model,
"collection", dialog->collection,
NULL);
+ g_signal_connect (e_table_scrolled_get_table (E_TABLE_SCROLLED (etable)),
+ "selection_change",
+ G_CALLBACK (etable_selection_change), dialog);
gtk_widget_show_all (etable);
}