CVS: sylpheed-claws/src mainwindow.c,1.274.2.108,1.274.2.109 toolbar.c,1.43.2.43,1.43.2.44 toolbar.h,1.19.2.10,1.19.2.11
Colin Leroy <[email protected]>
| Newsgroups | gmane.mail.sylpheed.claws.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/sylpheed-claws/sylpheed-claws/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21226/src
Modified Files:
Tag: gtk2
mainwindow.c toolbar.c toolbar.h
Log Message:
2006-05-08 [colin] 2.2.0cvs1
* src/mainwindow.c
* src/toolbar.c
* src/toolbar.h
Add contextual menu on Compose toolbar
button. Fixes bug #944 (Automatic
addresses not applied when changing account
from compose window)
Index: mainwindow.c
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/mainwindow.c,v
retrieving revision 1.274.2.108
retrieving revision 1.274.2.109
diff -u -r1.274.2.108 -r1.274.2.109
--- mainwindow.c 21 Apr 2006 16:52:18 -0000 1.274.2.108
+++ mainwindow.c 8 May 2006 11:57:07 -0000 1.274.2.109
@@ -402,6 +402,8 @@
gpointer data);
static void account_receive_menu_cb (GtkMenuItem *menuitem,
gpointer data);
+static void account_compose_menu_cb (GtkMenuItem *menuitem,
+ gpointer data);
static void prefs_open_cb (GtkMenuItem *menuitem,
gpointer data);
@@ -1596,6 +1598,42 @@
}
}
+static void main_window_set_toolbar_combo_compose_menu(MainWindow *mainwin,
+ GList *account_list)
+{
+ GList *cur_ac, *cur_item;
+ GtkWidget *menuitem;
+ PrefsAccount *ac_prefs;
+ GtkWidget *menu = NULL;
+
+ if (mainwin->toolbar->compose_mail_btn == NULL
+ || mainwin->toolbar->compose_combo == NULL) /* button doesn't exist */
+ return;
+
+ menu = mainwin->toolbar->compose_combo->menu;
+
+ /* destroy all previous menu item */
+ cur_item = GTK_MENU_SHELL(menu)->children;
+ while (cur_item != NULL) {
+ GList *next = cur_item->next;
+ gtk_widget_destroy(GTK_WIDGET(cur_item->data));
+ cur_item = next;
+ }
+
+ for (cur_ac = account_list; cur_ac != NULL; cur_ac = cur_ac->next) {
+ ac_prefs = (PrefsAccount *)cur_ac->data;
+
+ menuitem = gtk_menu_item_new_with_label
+ (ac_prefs->account_name
+ ? ac_prefs->account_name : _("Untitled"));
+ gtk_widget_show(menuitem);
+ gtk_menu_append(GTK_MENU(menu), menuitem);
+ g_signal_connect(G_OBJECT(menuitem), "activate",
+ G_CALLBACK(account_compose_menu_cb),
+ ac_prefs);
+ }
+}
+
void main_window_set_account_menu(GList *account_list)
{
GList *cur;
@@ -1606,6 +1644,7 @@
main_window_set_account_selector_menu(mainwin, account_list);
main_window_set_account_receive_menu(mainwin, account_list);
main_window_set_toolbar_combo_receive_menu(mainwin, account_list);
+ main_window_set_toolbar_combo_compose_menu(mainwin, account_list);
}
}
@@ -1617,6 +1656,7 @@
for (cur = mainwin_list; cur != NULL; cur = cur->next) {
mainwin = (MainWindow *)cur->data;
main_window_set_toolbar_combo_receive_menu(mainwin, account_list);
+ main_window_set_toolbar_combo_compose_menu(mainwin, account_list);
}
}
@@ -3377,6 +3417,15 @@
inc_account_mail(mainwin, account);
}
+static void account_compose_menu_cb(GtkMenuItem *menuitem, gpointer data)
+{
+ MainWindow *mainwin = (MainWindow *)mainwin_list->data;
+ PrefsAccount *account = (PrefsAccount *)data;
+ FolderItem *item = mainwin->summaryview->folder_item;
+
+ compose_new_with_folderitem(account, item);
+}
+
static void prefs_open_cb(GtkMenuItem *menuitem, gpointer data)
{
prefs_gtk_open();
Index: toolbar.c
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/toolbar.c,v
retrieving revision 1.43.2.43
retrieving revision 1.43.2.44
diff -u -r1.43.2.43 -r1.43.2.44
--- toolbar.c 6 Apr 2006 10:58:16 -0000 1.43.2.43
+++ toolbar.c 8 May 2006 11:57:08 -0000 1.43.2.44
@@ -1432,6 +1432,7 @@
ComboButton *replylist_combo;
ComboButton *replysender_combo;
ComboButton *fwd_combo;
+ ComboButton *compose_combo;
GtkTooltips *toolbar_tips;
ToolbarSylpheedActions *action_item;
@@ -1523,6 +1524,14 @@
gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tips),
toolbar_data->compose_news_btn,
_("Compose News"), NULL);
+ compose_combo = gtkut_combo_button_create(toolbar_data->compose_mail_btn, NULL, 0,
+ "<Compose>", (gpointer)toolbar_item);
+ gtk_button_set_relief(GTK_BUTTON(compose_combo->arrow),
+ GTK_RELIEF_NONE);
+ gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar),
+ GTK_WIDGET_PTR(compose_combo),
+ _("Compose with selected Account"), "Compose");
+ toolbar_data->compose_combo = compose_combo;
break;
case A_LEARN_SPAM:
icon_ham = stock_pixmap_widget(container, STOCK_PIXMAP_HAM_BTN);
@@ -1857,6 +1866,9 @@
if (toolbar->getall_btn)
SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->getall_combo),
M_HAVE_ACCOUNT|M_UNLOCKED);
+ if (toolbar->compose_mail_btn)
+ SET_WIDGET_COND(GTK_WIDGET_PTR(toolbar->compose_combo),
+ M_HAVE_ACCOUNT);
SET_WIDGET_COND(toolbar->compose_news_btn, M_HAVE_ACCOUNT);
SET_WIDGET_COND(toolbar->reply_btn,
M_HAVE_ACCOUNT|M_SINGLE_TARGET_EXIST);
@@ -1987,6 +1999,7 @@
toolbar->send_btn = NULL;
toolbar->compose_mail_btn = NULL;
toolbar->compose_news_btn = NULL;
+ toolbar->compose_combo = NULL;
toolbar->reply_btn = NULL;
toolbar->replysender_btn = NULL;
toolbar->replyall_btn = NULL;
Index: toolbar.h
===================================================================
RCS file: /cvsroot/sylpheed-claws/sylpheed-claws/src/toolbar.h,v
retrieving revision 1.19.2.10
retrieving revision 1.19.2.11
diff -u -r1.19.2.10 -r1.19.2.11
--- toolbar.h 1 Mar 2006 15:13:46 -0000 1.19.2.10
+++ toolbar.h 8 May 2006 11:57:08 -0000 1.19.2.11
@@ -56,6 +56,7 @@
GtkWidget *compose_mail_btn;
GtkWidget *compose_news_btn;
+ ComboButton *compose_combo;
GtkWidget *reply_btn;
ComboButton *reply_combo;
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642