diff options
-rw-r--r-- | mail/ChangeLog | 15 | ||||
-rw-r--r-- | mail/evolution-mail.schemas.in | 49 | ||||
-rw-r--r-- | mail/mail-send-recv.c | 9 |
3 files changed, 72 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 19d902e9ee..553559546a 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,20 @@ 2008-04-22 Matthew Barnes <mbarnes@redhat.com> + ** Fixes bug #494171 + + * mail-send-recv.c (build_dialog): + Make the "Send & Receive Mail" window dimensions persistent. + + * evolution-mail.schemas.in: + Add keys for storing "Send & Receive Mail" window dimensions: + /apps/evolution/mail/send_recv_height + /apps/evolution/mail/send_recv_maximized + /apps/evolution/mail/send_recv_width + Note the "maximized" key is required by GConfBridge but is not + actually used since the window cannot be maximized. + +2008-04-22 Matthew Barnes <mbarnes@redhat.com> + * em-composer-prefs.c: gconf-bridge.h moved to e-util. diff --git a/mail/evolution-mail.schemas.in b/mail/evolution-mail.schemas.in index 8259f67c64..7e3234f76c 100644 --- a/mail/evolution-mail.schemas.in +++ b/mail/evolution-mail.schemas.in @@ -1268,5 +1268,54 @@ </locale> </schema> + <!-- Widget States --> + + <schema> + <key>/schemas/apps/evolution/mail/send_recv_height</key> + <applyto>/apps/evolution/mail/send_recv_height</applyto> + <owner>evolution-mail</owner> + <type>int</type> + <default>200</default> + <locale name="C"> + <short>"Send and Receive Mail" window height</short> + <long> + Initial height of the "Send and Receive Mail" window. + The value updates as the user resizes the window vertically. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/evolution/mail/send_recv_maximized</key> + <applyto>/apps/evolution/mail/send_recv_maximized</applyto> + <owner>evolution-mail</owner> + <type>bool</type> + <locale name="C"> + <short>"Send and Receive Mail" window maximize state</short> + <long> + Initial maximize state of the "Send and Receive Mail" window. + The value updates when the user maximizes or unmaximizes the + window. Note, this particular value is not used by Evolution + since the "Send and Receive Mail" window cannot be maximized. + This key exists only as an implementation detail. + </long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/evolution/mail/send_recv_width</key> + <applyto>/apps/evolution/mail/send_recv_width</applyto> + <owner>evolution-mail</owner> + <type>int</type> + <default>600</default> + <locale name="C"> + <short>"Send and Receive Mail" window width</short> + <long> + Initial width of the "Send and Receive Mail" window. + The value updates as the user resizes the window horizontally. + </long> + </locale> + </schema> + </schemalist> </gconfschemafile> diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 3b922c549b..199a85baa7 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -59,6 +59,7 @@ #include "mail-folder-cache.h" #include "em-event.h" #include <e-util/e-icon-factory.h> +#include <e-util/gconf-bridge.h> #define d(x) @@ -68,6 +69,9 @@ /* pseudo-uri to key the send task on */ #define SEND_URI_KEY "send-task:" +/* Prefix for window size GConf keys */ +#define GCONF_KEY_PREFIX "/apps/evolution/mail/send_recv" + /* send/receive email */ /* ********************************************************************** */ @@ -393,6 +397,10 @@ build_dialog (EAccountList *accounts, CamelFolder *outbox, const char *destinati gd = (GtkDialog *)(send_recv_dialog = gtk_dialog_new_with_buttons(_("Send & Receive Mail"), NULL, GTK_DIALOG_NO_SEPARATOR, NULL)); gtk_window_set_modal ((GtkWindow *) gd, FALSE); + gconf_bridge_bind_window_size ( + gconf_bridge_get (), GCONF_KEY_PREFIX, + GTK_WINDOW (send_recv_dialog)); + gtk_widget_ensure_style ((GtkWidget *)gd); gtk_container_set_border_width ((GtkContainer *)gd->vbox, 0); gtk_container_set_border_width ((GtkContainer *)gd->action_area, 6); @@ -442,7 +450,6 @@ build_dialog (EAccountList *accounts, CamelFolder *outbox, const char *destinati GTK_SCROLLED_WINDOW (scrolled_window), table); gtk_box_pack_start ( GTK_BOX (gd->vbox), scrolled_window, TRUE, TRUE, 0); - gtk_widget_set_size_request (gd->vbox, 600, 200); gtk_widget_show (scrolled_window); /* must bet setup after send_recv_dialog as it may re-trigger send-recv button */ |