diff options
author | Damon Chaplin <damon@helixcode.com> | 2000-09-30 23:17:12 +0800 |
---|---|---|
committer | Damon Chaplin <damon@src.gnome.org> | 2000-09-30 23:17:12 +0800 |
commit | 3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1 (patch) | |
tree | 9d58f7f4ddda2cddf31ae57d9d10c52465891d4c /widgets/shortcut-bar/test-shortcut-bar.c | |
parent | 024c4bee0a0c289ae6f9ad2d5b9370df10ce291b (diff) | |
download | gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.tar gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.tar.gz gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.tar.bz2 gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.tar.lz gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.tar.xz gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.tar.zst gsoc2013-evolution-3f23fba5e0ed7efd438c57db2e2e6ae30c7cdaa1.zip |
updated to use new EShortcutBar signals for DnD.
2000-09-30 Damon Chaplin <damon@helixcode.com>
* test-shortcut-bar.c: updated to use new EShortcutBar signals for DnD.
* e-group-bar.c (e_group_bar_add_group): show the new windows if the
EGroupBar is realized, handle the position argument properly, and
fixed the window z-order code.
* e-shortcut-bar.c (e_shortcut_bar_add_group): pass group_num to the
e_group_bar_add_group() function.
* e-icon-bar-bg-item.c (e_icon_bar_bg_item_draw): fixed SEGV when
trying to drag into a group with no items.
svn path=/trunk/; revision=5643
Diffstat (limited to 'widgets/shortcut-bar/test-shortcut-bar.c')
-rw-r--r-- | widgets/shortcut-bar/test-shortcut-bar.c | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/widgets/shortcut-bar/test-shortcut-bar.c b/widgets/shortcut-bar/test-shortcut-bar.c index aafb54ccb0..4eb5e4c199 100644 --- a/widgets/shortcut-bar/test-shortcut-bar.c +++ b/widgets/shortcut-bar/test-shortcut-bar.c @@ -73,6 +73,8 @@ static void set_large_icons (GtkWidget *menuitem, EShortcutBar *shortcut_bar); static void set_small_icons (GtkWidget *menuitem, EShortcutBar *shortcut_bar); +static void add_group (GtkWidget *menuitem, + EShortcutBar *shortcut_bar); static void remove_group (GtkWidget *menuitem, EShortcutBar *shortcut_bar); @@ -94,6 +96,14 @@ static void on_group_added (EShortcutModel *shortcut_model, gint group_num); static void on_group_removed (EShortcutModel *shortcut_model, gint group_num); +static void on_shortcut_dragged (EShortcutBar *shortcut_bar, + gint group_num, + gint item_num); +static void on_shortcut_dropped (EShortcutBar *shortcut_bar, + gint group_num, + gint item_num, + gchar *url, + gchar *name); int main (int argc, char *argv[]) @@ -139,6 +149,11 @@ main (int argc, char *argv[]) gtk_signal_connect (GTK_OBJECT (shortcut_model), "group_removed", GTK_SIGNAL_FUNC (on_group_removed), NULL); + gtk_signal_connect (GTK_OBJECT (shortcut_bar), "shortcut_dragged", + GTK_SIGNAL_FUNC (on_shortcut_dragged), NULL); + gtk_signal_connect (GTK_OBJECT (shortcut_bar), "shortcut_dropped", + GTK_SIGNAL_FUNC (on_shortcut_dropped), NULL); + #if 0 gtk_container_set_border_width (GTK_CONTAINER (shortcut_bar), 4); #endif @@ -339,9 +354,10 @@ show_standard_popup (EShortcutBar *shortcut_bar, gtk_menu_append (GTK_MENU (menu), menuitem); menuitem = gtk_menu_item_new_with_label ("Add New Group"); - gtk_widget_set_sensitive (menuitem, FALSE); gtk_widget_show (menuitem); gtk_menu_append (GTK_MENU (menu), menuitem); + gtk_signal_connect (GTK_OBJECT (menuitem), "activate", + GTK_SIGNAL_FUNC (add_group), shortcut_bar); menuitem = gtk_menu_item_new_with_label ("Remove Group"); gtk_widget_show (menuitem); @@ -421,6 +437,14 @@ set_small_icons (GtkWidget *menuitem, static void +add_group (GtkWidget *menuitem, + EShortcutBar *shortcut_bar) +{ + e_shortcut_model_add_group (shortcut_bar->model, 3, "New Group"); +} + + +static void remove_group (GtkWidget *menuitem, EShortcutBar *shortcut_bar) { @@ -604,3 +628,31 @@ on_group_removed (EShortcutModel *shortcut_model, { g_print ("In on_group_removed Group:%i\n", group_num); } + + +static void +on_shortcut_dragged (EShortcutBar *shortcut_bar, + gint group_num, + gint item_num) +{ + g_print ("In on_shortcut_dragged Group:%i Item:%i\n", group_num, + item_num); + + e_shortcut_model_remove_item (shortcut_bar->model, group_num, + item_num); +} + + +static void +on_shortcut_dropped (EShortcutBar *shortcut_bar, + gint group_num, + gint item_num, + gchar *url, + gchar *name) +{ + g_print ("In on_shortcut_dropped Group:%i Item:%i\n", group_num, + item_num); + + e_shortcut_model_add_item (shortcut_bar->model, + group_num, item_num, url, name); +} |