diff options
author | Federico Mena Quintero <federico@helixcode.com> | 2000-07-14 01:08:56 +0000 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2000-07-14 01:08:56 +0000 |
commit | 6372444cb284d9401011a3e9945f20299e3f38a1 (patch) | |
tree | f86d531827e6b66db2a54e2ad575d586571a49dc /shell | |
parent | 77d7386e4faeb044131ac5a05c87f358594bf831 (diff) | |
download | eog-6372444cb284d9401011a3e9945f20299e3f38a1.tar.gz |
Removed all the global variables for preferences, since now we just use
2000-07-13 Federico Mena Quintero <federico@helixcode.com>
* preferences.h: Removed all the global variables for preferences,
since now we just use GConf.
* preferences.c (set_prefs_widgets): Formatting fixes.
(prefs_dialog): Actually destroy the dialog once we are done.
* image-view.c (image_view_init): Set the initial zoom factor to
1.0. This had been accidentally removed.
(ImageViewPrivate): Removed the full_screen_zoom thing, since it
does not belong here.
(image_view_destroy): Reset notification IDs to zero.
(image_view_set_full_screen_zoom): Removed function.
(image_view_get_full_screen_zoom): Ditto.
* window.c (window_open_image): Actually call window_get_auto_size().
(window_set_auto_size): Do not queue a draw, since it is not needed.
(window_destroy): Eeeek! Free the private structure *after* we
are done using it!
(window_destroy): Also remove the auto_size_notify_id.
* commands.c (cmd_cb_full_screen): Get the preferences from the
GConf client.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/preferences.c | 120 | ||||
-rw-r--r-- | shell/preferences.h | 31 |
2 files changed, 76 insertions, 75 deletions
diff --git a/shell/preferences.c b/shell/preferences.c index b338fe99..958a957e 100644 --- a/shell/preferences.c +++ b/shell/preferences.c @@ -32,6 +32,8 @@ #include "e-dialog-widgets.h" #include "preferences.h" + + /* Glade definition and contents of the preferences dialog */ static GladeXML *p_xml; @@ -47,10 +49,11 @@ static GtkWidget *p_window_auto_size; static GtkWidget *p_open_new_window; static GtkWidget *p_full_screen_sb_policy; static GtkWidget *p_full_screen_zoom_radio; -static GSList *p_full_screen_zoom; static GtkWidget *p_full_screen_fit_standard; static GtkWidget *p_full_screen_bevel; + + /* Brings attention to a window by raising it and giving it focus */ static void raise_and_focus (GtkWidget *widget) @@ -122,12 +125,14 @@ static void apply_cb (GnomePropertyBox *pbox, gint page_num, gpointer data) { GConfClient *client; - + if (page_num != -1) return; client = gconf_client_get_default(); + /* View options */ + gconf_client_set_int (client, "/apps/eog/view/interp_type", e_dialog_option_menu_get (GTK_WIDGET (p_interp_type), interp_types), NULL); @@ -143,6 +148,8 @@ apply_cb (GnomePropertyBox *pbox, gint page_num, gpointer data) gconf_client_set_int (client, "/apps/eog/view/scroll", e_dialog_toggle_get (GTK_WIDGET (p_scroll)), NULL); + /* Window options */ + gconf_client_set_int (client, "/apps/eog/window/sb_policy", e_dialog_option_menu_get (GTK_WIDGET (p_window_sb_policy), sb_policies), NULL); @@ -151,6 +158,8 @@ apply_cb (GnomePropertyBox *pbox, gint page_num, gpointer data) gconf_client_set_bool (client, "/apps/eog/window/open_new_window", e_dialog_toggle_get (GTK_WIDGET (p_open_new_window)), NULL); + /* Full screen options */ + gconf_client_set_int (client, "/apps/eog/full_screen/sb_policy", e_dialog_option_menu_get (GTK_WIDGET (p_full_screen_sb_policy), sb_policies), NULL); @@ -163,7 +172,6 @@ apply_cb (GnomePropertyBox *pbox, gint page_num, gpointer data) e_dialog_toggle_get (GTK_WIDGET (p_full_screen_bevel)), NULL); gtk_object_unref (GTK_OBJECT (client)); - } /* Loads the preferences dialog from the Glade file */ @@ -225,44 +233,62 @@ set_prefs_widgets (void) client = gconf_client_get_default (); - e_dialog_option_menu_set (GTK_WIDGET (p_interp_type), gconf_client_get_int ( - client, "/apps/eog/view/interp_type", - NULL), interp_types); - e_dialog_option_menu_set (GTK_WIDGET (p_check_type), gconf_client_get_int ( - client, "/apps/eog/view/check_type", - NULL), check_types); - e_dialog_option_menu_set (GTK_WIDGET (p_check_size), gconf_client_get_int ( - client, "/apps/eog/view/check_size", - NULL), check_sizes); - e_dialog_option_menu_set (GTK_WIDGET (p_dither), gconf_client_get_int ( - client, "/apps/eog/view/dither", - NULL), dither_types); - e_dialog_toggle_set (GTK_WIDGET (p_scroll), gconf_client_get_int ( - client, "/apps/eog/view/scroll", - NULL)); - - e_dialog_option_menu_set (GTK_WIDGET (p_window_sb_policy), gconf_client_get_int ( - client, "/apps/eog/window/sb_policy", - NULL), sb_policies); - e_dialog_toggle_set (GTK_WIDGET (p_window_auto_size), gconf_client_get_bool ( - client, "/apps/eog/window/auto_size", - NULL)); - e_dialog_toggle_set (GTK_WIDGET (p_open_new_window), gconf_client_get_bool ( - client, "/apps/eog/window/open_new_window", - NULL)); - - e_dialog_option_menu_set (GTK_WIDGET (p_full_screen_sb_policy), gconf_client_get_int ( - client, "/apps/eog/full_screen/sb_policy", - NULL), sb_policies); - e_dialog_radio_set (GTK_WIDGET (p_full_screen_zoom_radio), gconf_client_get_int ( - client, "/apps/eog/full_screen/zoom", - NULL), full_screen_zooms); - e_dialog_toggle_set (GTK_WIDGET (p_full_screen_fit_standard), gconf_client_get_bool ( - client, "/apps/eog/full_screen/fit_standard", - NULL)); - e_dialog_toggle_set (GTK_WIDGET (p_full_screen_bevel), gconf_client_get_bool ( - client, "/apps/eog/full_screen/bevel", - NULL)); + /* View options */ + + e_dialog_option_menu_set (GTK_WIDGET (p_interp_type), + gconf_client_get_int ( + client, "/apps/eog/view/interp_type", + NULL), interp_types); + e_dialog_option_menu_set (GTK_WIDGET (p_check_type), + gconf_client_get_int ( + client, "/apps/eog/view/check_type", + NULL), check_types); + e_dialog_option_menu_set (GTK_WIDGET (p_check_size), + gconf_client_get_int ( + client, "/apps/eog/view/check_size", + NULL), check_sizes); + e_dialog_option_menu_set (GTK_WIDGET (p_dither), + gconf_client_get_int ( + client, "/apps/eog/view/dither", + NULL), dither_types); + e_dialog_toggle_set (GTK_WIDGET (p_scroll), + gconf_client_get_int ( + client, "/apps/eog/view/scroll", + NULL)); + + /* Window options */ + + e_dialog_option_menu_set (GTK_WIDGET (p_window_sb_policy), + gconf_client_get_int ( + client, "/apps/eog/window/sb_policy", + NULL), sb_policies); + e_dialog_toggle_set (GTK_WIDGET (p_window_auto_size), + gconf_client_get_bool ( + client, "/apps/eog/window/auto_size", + NULL)); + e_dialog_toggle_set (GTK_WIDGET (p_open_new_window), + gconf_client_get_bool ( + client, "/apps/eog/window/open_new_window", + NULL)); + + /* Full screen options */ + + e_dialog_option_menu_set (GTK_WIDGET (p_full_screen_sb_policy), + gconf_client_get_int ( + client, "/apps/eog/full_screen/sb_policy", + NULL), sb_policies); + e_dialog_radio_set (GTK_WIDGET (p_full_screen_zoom_radio), + gconf_client_get_int ( + client, "/apps/eog/full_screen/zoom", + NULL), full_screen_zooms); + e_dialog_toggle_set (GTK_WIDGET (p_full_screen_fit_standard), + gconf_client_get_bool ( + client, "/apps/eog/full_screen/fit_standard", + NULL)); + e_dialog_toggle_set (GTK_WIDGET (p_full_screen_bevel), + gconf_client_get_bool ( + client, "/apps/eog/full_screen/bevel", + NULL)); gtk_object_unref (GTK_OBJECT (client)); } @@ -271,16 +297,22 @@ set_prefs_widgets (void) static void hook_prefs_widgets (void) { + /* View options */ + e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_interp_type)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_check_type)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_check_size)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_dither)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_scroll)); + /* Window options */ + e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_window_sb_policy)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_window_auto_size)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_open_new_window)); + /* Full screen options */ + e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_full_screen_sb_policy)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_full_screen_zoom_radio)); e_dialog_widget_hook_property (GTK_WIDGET (p_dialog), GTK_WIDGET (p_full_screen_fit_standard)); @@ -317,8 +349,8 @@ prefs_dialog (void) gtk_object_unref (GTK_OBJECT (p_xml)); p_xml = NULL; -#if 0 - gtk_widget_destroy (p_dialog); -#endif + /* The stupid thing already destroyed itself, so we don't destroy it + * ourselves. + */ p_dialog = NULL; } diff --git a/shell/preferences.h b/shell/preferences.h index e5b6e029..e5d7a5cf 100644 --- a/shell/preferences.h +++ b/shell/preferences.h @@ -25,9 +25,6 @@ #include <gdk-pixbuf/gdk-pixbuf.h> #include <gtk/gtkenums.h> -/* Interpolation type for views */ -extern GdkInterpType prefs_interp_type; - /* Type of checks for views */ typedef enum { CHECK_TYPE_DARK, @@ -38,8 +35,6 @@ typedef enum { CHECK_TYPE_WHITE } CheckType; -extern CheckType prefs_check_type; - /* Check size for views */ typedef enum { CHECK_SIZE_SMALL, @@ -47,31 +42,12 @@ typedef enum { CHECK_SIZE_LARGE } CheckSize; -extern CheckSize prefs_check_size; - -/* Dither type */ -extern GdkRgbDither prefs_dither; - /* Scrolling type for views */ typedef enum { SCROLL_NORMAL, SCROLL_TWO_PASS } ScrollType; -extern ScrollType prefs_scroll; - -/* Scrollbar policy for image windows */ -extern GtkPolicyType prefs_window_sb_policy; - -/* Pick window size and zoom factor automatically for image windows */ -extern gboolean prefs_window_auto_size; - -/* Open images in a new window */ -extern gboolean prefs_open_new_window; - -/* Scrollbar policy for full screen mode */ -extern GtkPolicyType prefs_full_screen_sb_policy; - /* Automatic zoom for full screen mode */ typedef enum { FULL_SCREEN_ZOOM_1, @@ -79,13 +55,6 @@ typedef enum { FULL_SCREEN_ZOOM_FIT } FullScreenZoom; -extern FullScreenZoom prefs_full_screen_zoom; - -/* Fit standard-sized images to full screen mode */ -extern gboolean prefs_full_screen_fit_standard; - -/* Put a bevel around the edge of the screen */ -extern gboolean prefs_full_screen_bevel; void prefs_init (void); |