aboutsummaryrefslogtreecommitdiff
path: root/src/compose.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-24 09:11:41 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-24 09:11:41 +0000
commitb71a63353f0582ced62925d73912545892ac1808 (patch)
treeeb9f27c2183f8e54f9bb28207883bf116a1c4272 /src/compose.c
parentf0aecea6fcbd3aaa8e36b39d952cdf6d2da3ac70 (diff)
added a toggle button for the attachment pane.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@283 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/compose.c')
-rw-r--r--src/compose.c51
1 files changed, 45 insertions, 6 deletions
diff --git a/src/compose.c b/src/compose.c
index 6424a529..edcdf299 100644
--- a/src/compose.c
+++ b/src/compose.c
@@ -385,10 +385,15 @@ static void compose_allsel_cb (Compose *compose);
static void compose_grab_focus_cb (GtkWidget *widget,
Compose *compose);
+#if USE_GPGME
static void compose_signing_toggled (GtkWidget *widget,
Compose *compose);
static void compose_encrypt_toggled (GtkWidget *widget,
Compose *compose);
+#endif
+
+static void compose_attach_toggled (GtkWidget *widget,
+ Compose *compose);
static void compose_changed_cb (GtkTextBuffer *textbuf,
Compose *compose);
@@ -3703,11 +3708,13 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
GtkWidget *followup_entry;
GtkWidget *followup_hbox;
+ GtkWidget *misc_hbox;
#if USE_GPGME
- GtkWidget *gpg_hbox;
GtkWidget *signing_chkbtn;
GtkWidget *encrypt_chkbtn;
#endif /* USE_GPGME */
+ GtkWidget *attach_img;
+ GtkWidget *attach_toggle;
GtkWidget *paned;
@@ -3853,14 +3860,24 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
g_signal_connect(G_OBJECT(subject_entry), "grab_focus",
G_CALLBACK(compose_grab_focus_cb), compose);
-#if USE_GPGME
- gpg_hbox = gtk_hbox_new(FALSE, 0);
- gtk_box_pack_start(GTK_BOX(vbox2), gpg_hbox, FALSE, FALSE, 0);
+ misc_hbox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox2), misc_hbox, FALSE, FALSE, 0);
+
+ attach_img = stock_pixbuf_widget(window, STOCK_PIXMAP_CLIP);
+ attach_toggle = gtk_toggle_button_new();
+ GTK_WIDGET_UNSET_FLAGS(attach_toggle, GTK_CAN_FOCUS);
+ gtk_container_add(GTK_CONTAINER(attach_toggle), attach_img);
+ gtk_box_pack_start(GTK_BOX(misc_hbox), attach_toggle, FALSE, FALSE, 8);
+ g_signal_connect(G_OBJECT(attach_toggle), "toggled",
+ G_CALLBACK(compose_attach_toggled), compose);
+#if USE_GPGME
signing_chkbtn = gtk_check_button_new_with_label(_("PGP Sign"));
- gtk_box_pack_start(GTK_BOX(gpg_hbox), signing_chkbtn, FALSE, FALSE, 8);
+ GTK_WIDGET_UNSET_FLAGS(signing_chkbtn, GTK_CAN_FOCUS);
+ gtk_box_pack_start(GTK_BOX(misc_hbox), signing_chkbtn, FALSE, FALSE, 8);
encrypt_chkbtn = gtk_check_button_new_with_label(_("PGP Encrypt"));
- gtk_box_pack_start(GTK_BOX(gpg_hbox), encrypt_chkbtn, FALSE, FALSE, 8);
+ GTK_WIDGET_UNSET_FLAGS(encrypt_chkbtn, GTK_CAN_FOCUS);
+ gtk_box_pack_start(GTK_BOX(misc_hbox), encrypt_chkbtn, FALSE, FALSE, 8);
g_signal_connect(G_OBJECT(signing_chkbtn), "toggled",
G_CALLBACK(compose_signing_toggled), compose);
@@ -3873,6 +3890,8 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(attach_scrwin),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_ALWAYS);
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(attach_scrwin),
+ GTK_SHADOW_IN);
gtk_widget_set_size_request(attach_scrwin, -1, 80);
store = gtk_list_store_new(N_ATTACH_COLS, G_TYPE_STRING, G_TYPE_STRING,
@@ -4093,6 +4112,8 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
compose->followup_hbox = followup_hbox;
compose->followup_entry = followup_entry;
+ compose->misc_hbox = misc_hbox;
+ compose->attach_toggle = attach_toggle;
#if USE_GPGME
compose->signing_chkbtn = signing_chkbtn;
compose->encrypt_chkbtn = encrypt_chkbtn;
@@ -4196,6 +4217,8 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
gtk_widget_set_sensitive(compose->exteditor_btn, FALSE);
gtk_widget_set_sensitive(compose->linewrap_btn, FALSE);
+ gtk_widget_set_sensitive(compose->attach_toggle, FALSE);
+
menu_set_sensitive_all(GTK_MENU_SHELL(compose->popupmenu),
FALSE);
}
@@ -5795,6 +5818,19 @@ static void compose_encrypt_toggled(GtkWidget *widget, Compose *compose)
}
#endif /* USE_GPGME */
+static void compose_attach_toggled(GtkWidget *widget, Compose *compose)
+{
+ GtkItemFactory *ifactory;
+
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+ compose->use_attach = TRUE;
+ else
+ compose->use_attach = FALSE;
+
+ ifactory = gtk_item_factory_from_widget(compose->menubar);
+ menu_set_active(ifactory, "/View/Attachment", compose->use_attach);
+}
+
static void compose_changed_cb(GtkTextBuffer *textbuf, Compose *compose)
{
if (compose->modified == FALSE) {
@@ -5961,6 +5997,9 @@ static void compose_toggle_attach_cb(gpointer data, guint action,
compose->use_attach = FALSE;
}
+
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->attach_toggle),
+ compose->use_attach);
}
#if USE_GPGME