Use e_restore_window() and "org.gnome.evolution.window".

Apply it to all windows with persistent size and/or position.
This commit is contained in:
Matthew Barnes
2011-11-27 12:40:01 -06:00
parent 15da8fa990
commit f6f46ce7fc
16 changed files with 79 additions and 187 deletions

View File

@ -2086,6 +2086,7 @@ msg_composer_constructed (GObject *object)
gtk_window_set_title (GTK_WINDOW (composer), _("Compose Message"));
gtk_window_set_icon_name (GTK_WINDOW (composer), "mail-message-new");
gtk_window_set_default_size (GTK_WINDOW (composer), 600, 500);
g_signal_connect (
object, "delete-event",
@ -2106,14 +2107,10 @@ msg_composer_constructed (GObject *object)
/* Restore Persistent State */
/* FIXME: need to bind this to GSettings */
/* array = composer->priv->gconf_bridge_binding_ids; */
/* binding_id = gconf_bridge_bind_window ( */
/* gconf_bridge_get (), */
/* COMPOSER_GCONF_WINDOW_PREFIX, */
/* GTK_WINDOW (composer), TRUE, FALSE); */
/* g_array_append_val (array, binding_id); */
e_restore_window (
GTK_WINDOW (composer),
"/org/gnome/evolution/mail/composer-window/",
E_RESTORE_WINDOW_SIZE);
/* Honor User Preferences */

View File

@ -17,11 +17,13 @@ skip-warning-dialog = /apps/evolution/shell/skip_warning_dialog
start-offline = /apps/evolution/shell/start_offline
statusbar-visible = /apps/evolution/shell/view_defaults/statusbar_visible
toolbar-visible = /apps/evolution/shell/view_defaults/toolbar_visible
window-height = /apps/evolution/shell/view_defaults/window_height
window-maximized = /apps/evolution/shell/view_defaults/window_maximized
window-width = /apps/evolution/shell/view_defaults/window_width
window-x = /apps/evolution/shell/view_defaults/window_x
window-y = /apps/evolution/shell/view_defaults/window_y
[org.gnome.evolution.shell:/org/gnome/evolution/mail/shell/window]
height = /apps/evolution/shell/view_defaults/window_height
maximized = /apps/evolution/shell/view_defaults/window_maximized
width = /apps/evolution/shell/view_defaults/window_width
x = /apps/evolution/shell/view_defaults/window_x
y = /apps/evolution/shell/view_defaults/window_y
[org.gnome.evolution.addressbook]
address-formatting = /apps/evolution/addressbook/display/address_formatting
@ -115,7 +117,6 @@ composer-charset = /apps/evolution/mail/composer/charset
composer-current-folder = /apps/evolution/mail/composer/current_folder
composer-gallery-path = /apps/evolution/mail/composer/gallery_path
composer-group-reply-to-list = /apps/evolution/mail/composer/group_reply_to_list
composer-height = /apps/evolution/mail/composer/height
composer-ignore-list-reply-to = /apps/evolution/mail/composer/ignore_list_reply_to
composer-inline-spelling = /apps/evolution/mail/composer/inline_spelling
composer-magic-links = /apps/evolution/mail/composer/magic_links
@ -137,15 +138,11 @@ composer-sign-reply-if-signed = /apps/evolution/mail/composer/sign_reply_if_sign
composer-spell-color = /apps/evolution/mail/composer/spell_color
composer-spell-languages = /apps/evolution/mail/composer/spell_languages
composer-top-signature = /apps/evolution/mail/composer/top_signature
composer-width = /apps/evolution/mail/composer/width
default-account = /apps/evolution/mail/default_account
enable-local = /apps/evolution/mail/display/enable_local
enable-vfolders = /apps/evolution/mail/display/enable_vfolders
error-level = /apps/evolution/mail/display/error_level
error-timeout = /apps/evolution/mail/display/error_timeout
filter-editor-height = /apps/evolution/mail/filter_editor_height
filter-editor-maximized = /apps/evolution/mail/filter_editor_maximized
filter-editor-width = /apps/evolution/mail/filter_editor_width
filters-log-actions = /apps/evolution/mail/filters/log
filters-log-file = /apps/evolution/mail/filters/logfile
flush-outbox = /apps/evolution/mail/filters/flush-outbox
@ -167,9 +164,6 @@ labels = /apps/evolution/mail/labels
layout = /apps/evolution/mail/display/layout
load-http-images = /apps/evolution/mail/display/load_http_images
magic-spacebar = /apps/evolution/mail/display/magic_spacebar
mail-browser-height = /apps/evolution/mail/mail_browser_height
mail-browser-maximized = /apps/evolution/mail/mail_browser_maximized
mail-browser-width = /apps/evolution/mail/mail_browser_width
mark-citations = /apps/evolution/mail/display/mark_citations
mark-seen = /apps/evolution/mail/display/mark_seen
mark-seen-timeout = /apps/evolution/mail/display/mark_seen_timeout
@ -199,10 +193,7 @@ reply-style = /apps/evolution/mail/format/reply_style
safe-list = /apps/evolution/mail/display/safe_list
save-dir = /apps/evolution/mail/save_dir
send-recv-all-on-start = /apps/evolution/mail/send_recv_all_on_start
send-recv-height = /apps/evolution/mail/send_recv_height
send-recv-maximized = /apps/evolution/mail/send_recv_maximized
send-recv-on-start = /apps/evolution/mail/send_recv_on_start
send-recv-width = /apps/evolution/mail/send_recv_width
show-all-headers = /apps/evolution/mail/display/show_all_headers
show-animated-images = /apps/evolution/mail/display/animated_images
show-deleted = /apps/evolution/mail/display/show_deleted
@ -211,9 +202,6 @@ show-real-date = /apps/evolution/mail/display/show_real_date
show-sender-photo = /apps/evolution/mail/display/sender_photo
side-bar-search = /apps/evolution/mail/display/side_bar_search
sort-accounts-alpha = /apps/evolution/mail/display/sort_accounts_alpha
subscription-editor-height = /apps/evolution/mail/subscription_editor_height
subscription-editor-maximized = /apps/evolution/mail/subscription_editor_maximized
subscription-editor-width = /apps/evolution/mail/subscription_editor_width
sync-interval = /apps/evolution/mail/sync_interval
thread-expand = /apps/evolution/mail/display/thread_expand
thread-latest = /apps/evolution/mail/display/thread_latest
@ -224,9 +212,31 @@ trash-empty-on-exit-days = /apps/evolution/mail/trash/empty_on_exit_days
use-custom-font = /apps/evolution/mail/display/fonts/use_custom
variable-width-font = /apps/evolution/mail/display/fonts/variable
vertical-view-fonts = /apps/evolution/mail/display/vertical_view_fonts
vfolder-editor-height = /apps/evolution/mail/vfolder_editor_height
vfolder-editor-maximized = /apps/evolution/mail/vfolder_editor_maximized
vfolder-editor-width = /apps/evolution/mail/vfolder_editor_width
[org.gnome.evolution.window:/org/gnome/evolution/mail/browser-window/]
height = /apps/evolution/mail/mail_browser_height
maximized = /apps/evolution/mail/mail_browser_maximized
width = /apps/evolution/mail/mail_browser_width
[org.gnome.evolution.window:/org/gnome/evolution/mail/filter-window]
height = /apps/evolution/mail/filter_editor_height
maximized = /apps/evolution/mail/filter_editor_maximized
width = /apps/evolution/mail/filter_editor_width
[org.gnome.evolution.window:/org/gnome/evolution/mail/send-recv-window]
height = /apps/evolution/mail/send_recv_height
maximized = /apps/evolution/mail/send_recv_maximized
width = /apps/evolution/mail/send_recv_width
[org.gnome.evolution.window:/org/gnome/evolution/mail/subscription-window]
height = /apps/evolution/mail/subscription_editor_height
maximized = /apps/evolution/mail/subscription_editor_maximized
width = /apps/evolution/mail/subscription_editor_width
[org.gnome.evolution.window:/org/gnome/evolution/mail/vfolder-window]
height = /apps/evolution/mail/vfolder_editor_height
maximized = /apps/evolution/mail/vfolder_editor_maximized
width = /apps/evolution/mail/vfolder_editor_width
[org.gnome.evolution.bogofilter]
utf8-for-spam-filter = /apps/evolution/mail/junk/bogofilter/unicode

View File

@ -120,16 +120,6 @@
<_summary>Do not add signature delimiter</_summary>
<_description>Set to TRUE in case you do not want to add signature delimiter before your signature when composing a mail.</_description>
</key>
<key name="composer-width" type="i">
<default>600</default>
<_summary>Composer Window default width</_summary>
<_description>Default width of the Composer Window.</_description>
</key>
<key name="composer-height" type="i">
<default>500</default>
<_summary>Composer Window default height</_summary>
<_description>Default height of the Composer Window.</_description>
</key>
<key name="composer-ignore-list-reply-to" type="b">
<default>false</default>
<_summary>Ignore list Reply-To:</_summary>
@ -330,41 +320,11 @@
<_summary>Whether sort threads based on latest message in that thread</_summary>
<_description>This setting specifies whether the threads should be sorted based on latest message in each thread, rather than by message's date. Evolution requires a restart.</_description>
</key>
<key name="mail-browser-width" type="i">
<default>600</default>
<_summary>Mail browser width</_summary>
<_description>Default width of the mail browser window.</_description>
</key>
<key name="mail-browser-height" type="i">
<default>400</default>
<_summary>Mail browser height</_summary>
<_description>Default height of the mail browser window.</_description>
</key>
<key name="mail-browser-maximized" type="b">
<default>false</default>
<_summary>Mail browser maximized</_summary>
<_description>Default maximized state of the mail browser window.</_description>
</key>
<key name="sort-accounts-alpha" type="b">
<default>true</default>
<_summary>Sort accounts alphabetically in a folder tree</_summary>
<_description>Tells how to sort accounts in a folder tree used in a Mail view. When set to true accounts are sorted alphabetically, with an exception of On This Computer and Search folders, otherwise accounts are sorted based on an order given by a user</_description>
</key>
<key name="subscription-editor-height" type="i">
<default>400</default>
<_summary>"Folder Subscriptions" window height</_summary>
<_description>Initial height of the "Folder Subscriptions" window. The value updates as the user resizes the window vertically.</_description>
</key>
<key name="subscription-editor-maximized" type="b">
<default>false</default>
<_summary>"Folder Subscriptions" window maximize state</_summary>
<_description>Initial maximize state of the "Folder Subscriptions" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Folder Subscriptions" window cannot be maximized. This key exists only as an implementation detail.</_description>
</key>
<key name="subscription-editor-width" type="i">
<default>600</default>
<_summary>"Folder Subscriptions" window width</_summary>
<_description>Initial width of the "Folder Subscriptions" window. The value updates as the user resizes the window horizontally.</_description>
</key>
<key name="filters-log-actions" type="b">
<default>false</default>
<_summary>Log filter actions</_summary>
@ -555,31 +515,6 @@
<_summary>Composer load/attach directory</_summary>
<_description>Directory for loading/attaching files to composer.</_description>
</key>
<key name="filter-editor-height" type="i">
<default>650</default>
<_summary>"Filter Editor" window height</_summary>
<_description>Initial height of the "Filter Editor" window. The value updates as the user resizes the window vertically.</_description>
</key>
<key name="filter-editor-maximized" type="b">
<default>false</default>
<_summary>"Filter Editor" window maximize state</_summary>
<_description>Initial maximize state of the "Filter Editor" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Filter Editor" window cannot be maximized. This key exists only as an implementation detail.</_description>
</key>
<key name="filter-editor-width" type="i">
<default>400</default>
<_summary>"Filter Editor" window width</_summary>
<_description>Initial width of the "Filter Editor" window. The value updates as the user resizes the window horizontally.</_description>
</key>
<key name="send-recv-height" type="i">
<default>200</default>
<_summary>"Send and Receive Mail" window height</_summary>
<_description>Initial height of the "Send and Receive Mail" window. The value updates as the user resizes the window vertically.</_description>
</key>
<key name="send-recv-maximized" type="b">
<default>false</default>
<_summary>"Send and Receive Mail" window maximize state</_summary>
<_description>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.</_description>
</key>
<key name="send-recv-on-start" type="b">
<default>true</default>
<_summary>Check for new messages on start</_summary>
@ -590,30 +525,16 @@
<_summary>Check for new messages in all active accounts</_summary>
<_description>Whether check for new messages in all active accounts regardless of the account "Check for new messages every X minutes" option when Evolution is started. This option is used only together with 'send_recv_on_start' option.</_description>
</key>
<key name="send-recv-width" type="i">
<default>600</default>
<_summary>"Send and Receive Mail" window width</_summary>
<_description>Initial width of the "Send and Receive Mail" window. The value updates as the user resizes the window horizontally.</_description>
</key>
<key name="vfolder-editor-height" type="i">
<default>650</default>
<_summary>"Search Folder Editor" window height</_summary>
<_description>Initial height of the "Search Folder Editor" window. The value updates as the user resizes the window vertically.</_description>
</key>
<key name="vfolder-editor-maximized" type="b">
<default>false</default>
<_summary>"Search Folder Editor" window maximize state</_summary>
<_description>Initial maximize state of the "Search Folder Editor" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Search Folder Editor" window cannot be maximized. This key exists only as an implementation detail.</_description>
</key>
<key name="vfolder-editor-width" type="i">
<default>400</default>
<_summary>"Search Folder Editor" window width</_summary>
<_description>Initial width of the "Search Folder Editor" window. The value updates as the user resizes the window horizontally.</_description>
</key>
<key name="sync-interval" type="i">
<default>600</default>
<_summary>Server synchronization interval</_summary>
<_description>Controls how frequently local changes are synchronized with the remote mail server. The interval must be at least 30 seconds.</_description>
</key>
<child name="browser-window" schema="org.gnome.evolution.window"/>
<child name="composer-window" schema="org.gnome.evolution.window"/>
<child name="filter-window" schema="org.gnome.evolution.window"/>
<child name="send-recv-window" schema="org.gnome.evolution.window"/>
<child name="subscription-window" schema="org.gnome.evolution.window"/>
<child name="vfolder-window" schema="org.gnome.evolution.window"/>
</schema>
</schemalist>

View File

@ -30,31 +30,6 @@
<_summary>Enable express mode</_summary>
<_description>Flag that enables a much simplified user interface.</_description>
</key>
<key name="window-y" type="i">
<default>0</default>
<_summary>Default window Y coordinate</_summary>
<_description>The default Y coordinate for the main window.</_description>
</key>
<key name="window-x" type="i">
<default>0</default>
<_summary>Default window X coordinate</_summary>
<_description>The default X coordinate for the main window.</_description>
</key>
<key name="window-width" type="i">
<default>640</default>
<_summary>Default window width</_summary>
<_description>The default width for the main window, in pixels.</_description>
</key>
<key name="window-height" type="i">
<default>480</default>
<_summary>Default window height</_summary>
<_description>The default height for the main window, in pixels.</_description>
</key>
<key name="window-maximized" type="b">
<default>true</default>
<_summary>Default window state</_summary>
<_description>Whether or not the window should be maximized.</_description>
</key>
<key name="buttons-visible" type="b">
<default>true</default>
<_summary>Window buttons are visible</_summary>
@ -90,5 +65,6 @@
<_summary>Default sidebar width</_summary>
<_description>The default width for the sidebar, in pixels.</_description>
</key>
<child name="window" schema="org.gnome.evolution.window"/>
</schema>
</schemalist>

View File

@ -30,7 +30,6 @@
#include "e-util/e-util.h"
#include "e-util/e-plugin-ui.h"
#include "e-util/gconf-bridge.h"
#include "shell/e-shell.h"
#include "shell/e-shell-utils.h"
#include "shell/e-shell-settings.h"
@ -931,17 +930,16 @@ e_mail_browser_reader_init (EMailReaderInterface *interface)
static void
e_mail_browser_init (EMailBrowser *browser)
{
GConfBridge *bridge;
const gchar *prefix;
browser->priv = E_MAIL_BROWSER_GET_PRIVATE (browser);
browser->priv->formatter = em_format_html_display_new ();
bridge = gconf_bridge_get ();
prefix = "/apps/evolution/mail/mail_browser";
gconf_bridge_bind_window_size (bridge, prefix, GTK_WINDOW (browser));
gtk_window_set_title (GTK_WINDOW (browser), _("Evolution"));
gtk_window_set_default_size (GTK_WINDOW (browser), 600, 400);
e_restore_window (
GTK_WINDOW (browser),
"/org/gnome/evolution/mail/browser-window/",
E_RESTORE_WINDOW_SIZE);
}
GtkWidget *

View File

@ -30,7 +30,6 @@
#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-util/gconf-bridge.h"
#include "em-filter-editor.h"
#include "em-filter-rule.h"
@ -67,14 +66,12 @@ em_filter_editor_class_init (EMFilterEditorClass *class)
static void
em_filter_editor_init (EMFilterEditor *filter_editor)
{
GConfBridge *bridge;
const gchar *key_prefix;
gtk_window_set_default_size (GTK_WINDOW (filter_editor), 400, 650);
bridge = gconf_bridge_get ();
key_prefix = "/apps/evolution/mail/filter_editor";
gconf_bridge_bind_window_size (
bridge, key_prefix, GTK_WINDOW (filter_editor));
e_restore_window (
GTK_WINDOW (filter_editor),
"/org/gnome/evolution/mail/filter-window/",
E_RESTORE_WINDOW_SIZE);
}
/**

View File

@ -32,7 +32,6 @@
#include <e-util/e-util.h>
#include <e-util/e-account-utils.h>
#include <e-util/e-util-private.h>
#include <e-util/gconf-bridge.h>
#include "em-folder-utils.h"
@ -1615,11 +1614,12 @@ em_subscription_editor_init (EMSubscriptionEditor *editor)
gtk_container_set_border_width (GTK_CONTAINER (editor), 5);
gtk_window_set_title (GTK_WINDOW (editor), _("Folder Subscriptions"));
gtk_window_set_default_size (GTK_WINDOW (editor), 600, 400);
gconf_bridge_bind_window_size (
gconf_bridge_get (),
"/apps/evolution/mail/subscription_editor",
GTK_WINDOW (editor));
e_restore_window (
GTK_WINDOW (editor),
"/org/gnome/evolution/mail/subscription-window/",
E_RESTORE_WINDOW_SIZE);
gtk_dialog_add_button (
GTK_DIALOG (editor),

View File

@ -32,7 +32,6 @@
#include "e-util/e-util.h"
#include "e-util/e-util-private.h"
#include "e-util/gconf-bridge.h"
#include "em-vfolder-editor.h"
#include "em-vfolder-rule.h"
@ -73,14 +72,12 @@ em_vfolder_editor_class_init (EMVFolderEditorClass *class)
static void
em_vfolder_editor_init (EMVFolderEditor *vfolder_editor)
{
GConfBridge *bridge;
const gchar *key_prefix;
gtk_window_set_default_size (GTK_WINDOW (vfolder_editor), 400, 650);
bridge = gconf_bridge_get ();
key_prefix = "/apps/evolution/mail/vfolder_editor";
gconf_bridge_bind_window_size (
bridge, key_prefix, GTK_WINDOW (vfolder_editor));
e_restore_window (
GTK_WINDOW (vfolder_editor),
"/org/gnome/evolution/mail/vfolder-window",
E_RESTORE_WINDOW_SIZE);
}
/**

View File

@ -33,7 +33,7 @@
#include "shell/e-shell.h"
#include "e-util/e-account-utils.h"
#include "e-util/gconf-bridge.h"
#include "e-util/e-util.h"
#include "e-mail-folder-utils.h"
#include "e-mail-local.h"
@ -452,12 +452,16 @@ build_dialog (GtkWindow *parent,
send_recv_dialog = gtk_dialog_new_with_buttons (
_("Send & Receive Mail"), parent, 0, NULL);
gd = GTK_DIALOG (send_recv_dialog);
gtk_window_set_modal ((GtkWindow *) gd, FALSE);
gconf_bridge_bind_window_size (
gconf_bridge_get (), GCONF_KEY_PREFIX,
GTK_WINDOW (send_recv_dialog));
gd = GTK_DIALOG (send_recv_dialog);
gtk_window_set_modal (GTK_WINDOW (send_recv_dialog), FALSE);
gtk_window_set_icon_name (GTK_WINDOW (gd), "mail-send-receive");
gtk_window_set_default_size (GTK_WINDOW (gd), 600, 200);
e_restore_window (
GTK_WINDOW (gd),
"/org/gnome/evolution/mail/send-recv-window/",
E_RESTORE_WINDOW_SIZE);
gtk_widget_ensure_style ((GtkWidget *) gd);
@ -475,8 +479,6 @@ build_dialog (GtkWindow *parent,
gtk_widget_show (cancel_button);
gtk_dialog_add_action_widget (gd, cancel_button, GTK_RESPONSE_CANCEL);
gtk_window_set_icon_name (GTK_WINDOW (gd), "mail-send-receive");
num_sources = 0;
iter = e_list_get_iterator ((EList *) accounts);

View File

@ -35,7 +35,6 @@
#include "e-util/e-util.h"
#include "e-util/e-file-utils.h"
#include "e-util/gconf-bridge.h"
#include "shell/e-shell-content.h"
#include "shell/e-shell-searchbar.h"
#include "shell/e-shell-sidebar.h"

View File

@ -32,7 +32,6 @@
#include "e-util/e-dialog-utils.h"
#include "e-util/e-file-utils.h"
#include "e-util/e-util.h"
#include "e-util/gconf-bridge.h"
#include "shell/e-shell-utils.h"
#include "misc/e-popup-action.h"
#include "misc/e-selectable.h"

View File

@ -34,7 +34,6 @@
#include "e-util/e-dialog-utils.h"
#include "e-util/e-file-utils.h"
#include "e-util/e-util.h"
#include "e-util/gconf-bridge.h"
#include "shell/e-shell-utils.h"
#include "misc/e-popup-action.h"
#include "misc/e-selectable.h"

View File

@ -29,7 +29,6 @@
#include <camel/camel-search-private.h> /* for camel_search_word */
#include "e-util/e-util.h"
#include "e-util/gconf-bridge.h"
#include "e-util/e-account-utils.h"
#include "e-util/e-ui-manager.h"
#include "filter/e-filter-part.h"

View File

@ -31,7 +31,6 @@
#include <fcntl.h>
#include "e-util/e-signature-utils.h"
#include "e-util/gconf-bridge.h"
#include "em-composer-prefs.h"
#include "composer/e-msg-composer.h"

View File

@ -261,7 +261,6 @@ e_shell_window_private_constructed (EShellWindow *shell_window)
GtkWindow *window;
GObject *object;
guint merge_id;
const gchar *key;
const gchar *id;
#ifndef G_OS_WIN32
@ -444,9 +443,10 @@ e_shell_window_private_constructed (EShellWindow *shell_window)
g_free (priv->geometry);
priv->geometry = NULL;
} else {
/* FIXME: how to bind this */
key = "/apps/evolution/shell/view_defaults/window";
gconf_bridge_bind_window (gconf_bridge_get (), key, window, TRUE, TRUE);
gtk_window_set_default_size (window, 640, 480);
e_restore_window (
window, "/org/gnome/evolution/shell/window/",
E_RESTORE_WINDOW_SIZE | E_RESTORE_WINDOW_POSITION);
}
shell_window_init_switcher_style (shell_window);

View File

@ -35,7 +35,6 @@
#include <e-util/e-alert-dialog.h>
#include <e-util/e-alert-sink.h>
#include <e-util/e-plugin-ui.h>
#include <e-util/gconf-bridge.h>
#include <widgets/misc/e-alert-bar.h>
#include <widgets/misc/e-import-assistant.h>
#include <widgets/misc/e-menu-tool-button.h>