diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-07-21 04:55:01 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-07-21 04:55:01 +0000 |
commit | 16b70cd5605ea7145e1f1aeb9944c7c4f94e8a4a (patch) | |
tree | 8a773d8aea368cfed1a9112d6e305e35b959fd35 /src/prefs_template.c | |
parent | dd6ec93f43a4dd6d957078483ab075cb039c62a4 (diff) |
Added Up/Down button to reorder template list.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2630 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/prefs_template.c')
-rw-r--r-- | src/prefs_template.c | 63 |
1 files changed, 60 insertions, 3 deletions
diff --git a/src/prefs_template.c b/src/prefs_template.c index d64a9356..8cc3b701 100644 --- a/src/prefs_template.c +++ b/src/prefs_template.c @@ -85,6 +85,8 @@ static void prefs_template_select_cb (GtkCList *clist, static void prefs_template_register_cb (void); static void prefs_template_substitute_cb (void); static void prefs_template_delete_cb (void); +static void prefs_template_up_cb (void); +static void prefs_template_down_cb (void); /* Called from mainwindow.c */ void prefs_template_open(void) @@ -139,8 +141,13 @@ static void prefs_template_window_create(void) GtkWidget *subst_btn; GtkWidget *del_btn; GtkWidget *desc_btn; - GtkWidget *scroll1; - GtkWidget *clist_tmpls; + GtkWidget *hbox4; + GtkWidget *scroll1; + GtkWidget *clist_tmpls; + GtkWidget *vbox3; + GtkWidget *vbox4; + GtkWidget *up_btn; + GtkWidget *down_btn; GtkWidget *confirm_area; GtkWidget *ok_btn; GtkWidget *cancel_btn; @@ -263,9 +270,13 @@ static void prefs_template_window_create(void) G_CALLBACK(prefs_quote_description), NULL); /* templates list */ + hbox4 = gtk_hbox_new(FALSE, 8); + gtk_widget_show(hbox4); + gtk_box_pack_start(GTK_BOX(vbox2), hbox4, TRUE, TRUE, 0); + scroll1 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll1); - gtk_box_pack_start(GTK_BOX(vbox2), scroll1, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(hbox4), scroll1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); @@ -284,6 +295,26 @@ static void prefs_template_window_create(void) g_signal_connect(G_OBJECT (clist_tmpls), "select_row", G_CALLBACK (prefs_template_select_cb), NULL); + vbox3 = gtk_vbox_new(TRUE, 0); + gtk_widget_show(vbox3); + gtk_box_pack_start(GTK_BOX(hbox4), vbox3, FALSE, FALSE, 0); + + vbox4 = gtk_vbox_new(TRUE, 8); + gtk_widget_show(vbox4); + gtk_box_pack_start(GTK_BOX(vbox3), vbox4, TRUE, FALSE, 0); + + up_btn = gtk_button_new_with_label(_("Up")); + gtk_widget_show(up_btn); + gtk_box_pack_start(GTK_BOX(vbox4), up_btn, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT (up_btn), "clicked", + G_CALLBACK (prefs_template_up_cb), NULL); + + down_btn = gtk_button_new_with_label(_("Down")); + gtk_widget_show(down_btn); + gtk_box_pack_start(GTK_BOX(vbox4), down_btn, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT (down_btn), "clicked", + G_CALLBACK (prefs_template_down_cb), NULL); + /* ok | cancel */ gtkut_stock_button_set_create(&confirm_area, &ok_btn, GTK_STOCK_OK, &cancel_btn, GTK_STOCK_CANCEL, @@ -608,3 +639,29 @@ static void prefs_template_delete_cb(void) gtk_clist_remove(clist, row); templates.list_modified = TRUE; } + +static void prefs_template_up_cb(void) +{ + GtkCList *clist = GTK_CLIST(templates.clist_tmpls); + gint row; + + if (!clist->selection) return; + row = GPOINTER_TO_INT(clist->selection->data); + if (row > 1) { + gtk_clist_row_move(clist, row, row - 1); + templates.list_modified = TRUE; + } +} + +static void prefs_template_down_cb(void) +{ + GtkCList *clist = GTK_CLIST(templates.clist_tmpls); + gint row; + + if (!clist->selection) return; + row = GPOINTER_TO_INT(clist->selection->data); + if (row > 0 && row < clist->rows - 1) { + gtk_clist_row_move(clist, row, row + 1); + templates.list_modified = TRUE; + } +} |