static void nautilus_navigation_window_save_geometry (NautilusNavigationWindow *window) { char *geometry_string; gboolean is_maximized; g_assert (NAUTILUS_IS_WINDOW (window)); if (gtk_widget_get_window (GTK_WIDGET (window))) { geometry_string = eel_gtk_window_get_geometry_string (GTK_WINDOW (window)); is_maximized = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window))) & GDK_WINDOW_STATE_MAXIMIZED; if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_SAVED_GEOMETRY) && !is_maximized) { eel_preferences_set (NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_SAVED_GEOMETRY, geometry_string); } g_free (geometry_string); if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_MAXIMIZED)) { eel_preferences_set_boolean (NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_MAXIMIZED, is_maximized); } } }
void nautilus_navigation_window_show_toolbar (NautilusNavigationWindow *window) { gtk_widget_show (window->details->toolbar); nautilus_navigation_window_update_show_hide_menu_items (window); if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR) && !eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR)) { eel_preferences_set_boolean (NAUTILUS_PREFERENCES_START_WITH_TOOLBAR, TRUE); } }
void nautilus_navigation_window_hide_status_bar (NautilusNavigationWindow *window) { gtk_widget_hide (NAUTILUS_WINDOW (window)->details->statusbar); nautilus_navigation_window_update_show_hide_menu_items (window); if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_START_WITH_STATUS_BAR) && eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_STATUS_BAR)) { eel_preferences_set_boolean (NAUTILUS_PREFERENCES_START_WITH_STATUS_BAR, FALSE); } }
/* handle the background reset signal by setting values from the current theme */ static void background_reset_callback (EelBackground *background, NautilusFile *file) { char *color; char *image; if (eel_background_is_desktop (background)) { nautilus_file_background_write_desktop_default_settings (); } else { /* Block the other handler while we are writing metadata so it doesn't * try to change the background. */ g_signal_handlers_block_by_func ( file, G_CALLBACK (saved_settings_changed_callback), background); color = nautilus_file_get_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_COLOR, NULL); image = nautilus_file_get_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_IMAGE, NULL); if (!color && !image) { eel_preferences_set_boolean (NAUTILUS_PREFERENCES_BACKGROUND_SET, FALSE); } else { /* reset the metadata */ nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_COLOR, NULL, NULL); nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_IMAGE, NULL, NULL); } g_free (color); g_free (image); /* Unblock the handler. */ g_signal_handlers_unblock_by_func ( file, G_CALLBACK (saved_settings_changed_callback), background); } saved_settings_changed_callback (file, background); }
void nautilus_navigation_window_show_sidebar (NautilusNavigationWindow *window) { if (window->sidebar != NULL) { return; } nautilus_navigation_window_set_up_sidebar (window); nautilus_navigation_window_update_show_hide_menu_items (window); if (eel_preferences_key_is_writable (NAUTILUS_PREFERENCES_START_WITH_SIDEBAR) && !eel_preferences_get_boolean (NAUTILUS_PREFERENCES_START_WITH_SIDEBAR)) { eel_preferences_set_boolean (NAUTILUS_PREFERENCES_START_WITH_SIDEBAR, TRUE); } }
static gboolean nautilus_navigation_window_state_event (GtkWidget *widget, GdkEventWindowState *event) { if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED) { eel_preferences_set_boolean (NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_MAXIMIZED, event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED); } if (GTK_WIDGET_CLASS (parent_class)->window_state_event != NULL) { return GTK_WIDGET_CLASS (parent_class)->window_state_event (widget, event); } return FALSE; }
/* The icon view uses 2 variables to store the sort order and * whether to use manual layout. However, the UI for these * preferences presensts them as single option menu. So we * use the following preference as a proxy for the other two. * In nautilus-global-preferences.c we install callbacks for * the proxy preference and update the other 2 when it changes */ static void default_icon_view_sort_order_or_manual_layout_changed_callback (gpointer callback_data) { int default_sort_order_or_manual_layout; int default_sort_order; default_sort_order_or_manual_layout = eel_preferences_get_enum (NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_ORDER_OR_MANUAL_LAYOUT); eel_preferences_set_boolean (NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_USE_MANUAL_LAYOUT, default_sort_order_or_manual_layout == PREFERENCES_SORT_ORDER_MANUALLY); if (default_sort_order_or_manual_layout != PREFERENCES_SORT_ORDER_MANUALLY) { default_sort_order = default_sort_order_or_manual_layout; g_return_if_fail (default_sort_order >= NAUTILUS_FILE_SORT_BY_DISPLAY_NAME); g_return_if_fail (default_sort_order <= NAUTILUS_FILE_SORT_BY_EMBLEMS); eel_preferences_set_enum (NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_ORDER, default_sort_order); } }
/* handle the background changed signal */ static void background_changed_callback (EelBackground *background, GdkDragAction action, NautilusFile *file) { char *color; char *image; g_assert (EEL_IS_BACKGROUND (background)); g_assert (NAUTILUS_IS_FILE (file)); g_assert (g_object_get_data (G_OBJECT (background), "eel_background_file") == file); color = eel_background_get_color (background); image = eel_background_get_image_uri (background); if (eel_background_is_desktop (background)) { eel_background_save_to_gconf (background); } else { /* Block the other handler while we are writing metadata so it doesn't * try to change the background. */ g_signal_handlers_block_by_func ( file, G_CALLBACK (saved_settings_changed_callback), background); if (action != NAUTILUS_DND_ACTION_SET_AS_FOLDER_BACKGROUND && action != NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND) { GdkDragAction default_drag_action; default_drag_action = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (background), "default_drag_action")); action = default_drag_action; } if (action == NAUTILUS_DND_ACTION_SET_AS_GLOBAL_BACKGROUND) { nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_COLOR, NULL, NULL); nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_IMAGE, NULL, NULL); eel_preferences_set (NAUTILUS_PREFERENCES_BACKGROUND_COLOR, color ? color : ""); eel_preferences_set (NAUTILUS_PREFERENCES_BACKGROUND_FILENAME, image ? image : ""); eel_preferences_set_boolean (NAUTILUS_PREFERENCES_BACKGROUND_SET, TRUE); } else { nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_COLOR, NULL, color); nautilus_file_set_metadata (file, NAUTILUS_METADATA_KEY_LOCATION_BACKGROUND_IMAGE, NULL, image); } /* Unblock the handler. */ g_signal_handlers_unblock_by_func ( file, G_CALLBACK (saved_settings_changed_callback), background); } g_free (color); g_free (image); }