[gtk+/filechooser-recent-folders-2-24] Remove the expander in Save mode, and the configuration key



commit 0d02b8a6814ea9100ecaf5c1435c82d993cee59a
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Jun 27 17:51:57 2011 -0500

    Remove the expander in Save mode, and the configuration key
    
    This effectively makes the file chooser always be in 'expanded' mode.
    Later, we'll move the pathbar to the 'Save in folder:' line.
    
    Signed-off-by: Federico Mena Quintero <federico gnome org>

 gtk/gtkfilechooserdefault.c  |  111 +++++++++---------------------------------
 gtk/gtkfilechooserprivate.h  |    2 -
 gtk/gtkfilechoosersettings.c |   27 ----------
 gtk/gtkfilechoosersettings.h |    5 --
 4 files changed, 23 insertions(+), 122 deletions(-)
---
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index 4cb093f..b50504c 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -4491,16 +4491,6 @@ file_pane_create (GtkFileChooserDefault *impl,
   return vbox;
 }
 
-/* Callback used when the "Browse for more folders" expander is toggled */
-static void
-expander_changed_cb (GtkExpander           *expander,
-		     GParamSpec            *pspec,
-		     GtkFileChooserDefault *impl)
-{
-  impl->expand_folders = gtk_expander_get_expanded(GTK_EXPANDER (impl->save_expander));
-  update_appearance (impl);
-}
-
 /* Callback used when the selection changes in the save folder combo box */
 static void
 save_folder_combo_changed_cb (GtkComboBox           *combo,
@@ -4659,7 +4649,6 @@ save_widgets_create (GtkFileChooserDefault *impl)
   GtkWidget *vbox;
   GtkWidget *table;
   GtkWidget *widget;
-  GtkWidget *alignment;
 
   if (impl->save_widgets != NULL)
     return;
@@ -4715,17 +4704,6 @@ save_widgets_create (GtkFileChooserDefault *impl)
 		    0, 0);
   gtk_label_set_mnemonic_widget (GTK_LABEL (impl->save_folder_label), impl->save_folder_combo);
 
-  /* Expander */
-  alignment = gtk_alignment_new (0.0, 0.5, 1.0, 1.0);
-  gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
-
-  impl->save_expander = gtk_expander_new_with_mnemonic (_("_Browse for other folders"));
-  gtk_container_add (GTK_CONTAINER (alignment), impl->save_expander);
-  g_signal_connect (impl->save_expander, "notify::expanded",
-		    G_CALLBACK (expander_changed_cb),
-		    impl);
-  gtk_widget_show_all (alignment);
-
   impl->save_widgets = vbox;
   gtk_box_pack_start (GTK_BOX (impl), impl->save_widgets, FALSE, FALSE, 0);
   gtk_box_reorder_child (GTK_BOX (impl), impl->save_widgets, 0);
@@ -4744,7 +4722,6 @@ save_widgets_destroy (GtkFileChooserDefault *impl)
   impl->location_entry = NULL;
   impl->save_folder_label = NULL;
   impl->save_folder_combo = NULL;
-  impl->save_expander = NULL;
 }
 
 /* Turns on the path bar widget.  Can be called even if we are already in that
@@ -5252,21 +5229,6 @@ update_appearance (GtkFileChooserDefault *impl)
 
       gtk_label_set_text_with_mnemonic (GTK_LABEL (impl->save_folder_label), text);
 
-      if (gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)))
-	{
-	  gtk_widget_set_sensitive (impl->save_folder_label, FALSE);
-	  gtk_widget_set_sensitive (impl->save_folder_combo, FALSE);
-	  gtk_widget_set_has_tooltip (impl->save_folder_combo, FALSE);
-	  gtk_widget_show (impl->browse_widgets);
-	}
-      else
-	{
-	  gtk_widget_set_sensitive (impl->save_folder_label, TRUE);
-	  gtk_widget_set_sensitive (impl->save_folder_combo, TRUE);
-	  gtk_widget_set_has_tooltip (impl->save_folder_combo, TRUE);
-	  gtk_widget_hide (impl->browse_widgets);
-	}
-
       if (impl->select_multiple)
 	{
 	  g_warning ("Save mode cannot be set in conjunction with multiple selection mode.  "
@@ -5789,7 +5751,6 @@ settings_load (GtkFileChooserDefault *impl)
   GtkFileChooserSettings *settings;
   LocationMode location_mode;
   gboolean show_hidden;
-  gboolean expand_folders;
   gboolean show_size_column;
   gint sort_column;
   GtkSortType sort_order;
@@ -5798,7 +5759,6 @@ settings_load (GtkFileChooserDefault *impl)
 
   location_mode = _gtk_file_chooser_settings_get_location_mode (settings);
   show_hidden = _gtk_file_chooser_settings_get_show_hidden (settings);
-  expand_folders = _gtk_file_chooser_settings_get_expand_folders (settings);
   show_size_column = _gtk_file_chooser_settings_get_show_size_column (settings);
   sort_column = _gtk_file_chooser_settings_get_sort_column (settings);
   sort_order = _gtk_file_chooser_settings_get_sort_order (settings);
@@ -5809,10 +5769,6 @@ settings_load (GtkFileChooserDefault *impl)
 
   gtk_file_chooser_set_show_hidden (GTK_FILE_CHOOSER (impl), show_hidden);
 
-  impl->expand_folders = expand_folders;
-  if (impl->save_expander)
-    gtk_expander_set_expanded (GTK_EXPANDER (impl->save_expander), expand_folders);
-
   impl->show_size_column = show_size_column;
   gtk_tree_view_column_set_visible (impl->list_size_column, show_size_column);
 
@@ -5830,14 +5786,6 @@ save_dialog_geometry (GtkFileChooserDefault *impl, GtkFileChooserSettings *setti
   GtkWindow *toplevel;
   int x, y, width, height;
 
-  /* We don't save the geometry in non-expanded "save" mode, so that the "little
-   * dialog" won't make future Open dialogs too small.
-   */
-  if (!(impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
-	|| impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
-	|| impl->expand_folders))
-    return;
-
   toplevel = get_toplevel (GTK_WIDGET (impl));
 
   if (!(toplevel && GTK_IS_FILE_CHOOSER_DIALOG (toplevel)))
@@ -5858,7 +5806,6 @@ settings_save (GtkFileChooserDefault *impl)
 
   _gtk_file_chooser_settings_set_location_mode (settings, impl->location_mode);
   _gtk_file_chooser_settings_set_show_hidden (settings, gtk_file_chooser_get_show_hidden (GTK_FILE_CHOOSER (impl)));
-  _gtk_file_chooser_settings_set_expand_folders (settings, impl->expand_folders);
   _gtk_file_chooser_settings_set_show_size_column (settings, impl->show_size_column);
   _gtk_file_chooser_settings_set_sort_column (settings, impl->sort_column);
   _gtk_file_chooser_settings_set_sort_order (settings, impl->sort_order);
@@ -7910,49 +7857,37 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
 {
   GtkFileChooserDefault *impl;
   GtkRequisition req;
+  GtkFileChooserSettings *settings;
+  int x, y, width, height;
 
   impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
 
-  if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
-      || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
-      || impl->expand_folders)
-    {
-      GtkFileChooserSettings *settings;
-      int x, y, width, height;
-
-      settings = _gtk_file_chooser_settings_new ();
-      _gtk_file_chooser_settings_get_geometry (settings, &x, &y, &width, &height);
-      g_object_unref (settings);
-
-      if (x >= 0 && y >= 0 && width > 0 && height > 0)
-	{
-	  *default_width = width;
-	  *default_height = height;
-	  return;
-	}
+  settings = _gtk_file_chooser_settings_new ();
+  _gtk_file_chooser_settings_get_geometry (settings, &x, &y, &width, &height);
+  g_object_unref (settings);
 
-      find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
+  if (x >= 0 && y >= 0 && width > 0 && height > 0)
+    {
+      *default_width = width;
+      *default_height = height;
+      return;
+    }
 
-      if (impl->preview_widget_active &&
-	  impl->preview_widget &&
-	  gtk_widget_get_visible (impl->preview_widget))
-	{
-	  gtk_widget_size_request (impl->preview_box, &req);
-	  *default_width += PREVIEW_HBOX_SPACING + req.width;
-	}
+  find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
 
-      if (impl->extra_widget &&
-	  gtk_widget_get_visible (impl->extra_widget))
-	{
-	  gtk_widget_size_request (impl->extra_align, &req);
-	  *default_height += GTK_BOX (chooser_embed)->spacing + req.height;
-	}
+  if (impl->preview_widget_active &&
+      impl->preview_widget &&
+      gtk_widget_get_visible (impl->preview_widget))
+    {
+      gtk_widget_size_request (impl->preview_box, &req);
+      *default_width += PREVIEW_HBOX_SPACING + req.width;
     }
-  else
+
+  if (impl->extra_widget &&
+      gtk_widget_get_visible (impl->extra_widget))
     {
-      gtk_widget_size_request (GTK_WIDGET (impl), &req);
-      *default_width = req.width;
-      *default_height = req.height;
+      gtk_widget_size_request (impl->extra_align, &req);
+      *default_height += gtk_box_get_spacing (GTK_BOX (chooser_embed)) + req.height;
     }
 }
 
diff --git a/gtk/gtkfilechooserprivate.h b/gtk/gtkfilechooserprivate.h
index 7bc7c52..6e9f06b 100644
--- a/gtk/gtkfilechooserprivate.h
+++ b/gtk/gtkfilechooserprivate.h
@@ -165,7 +165,6 @@ struct _GtkFileChooserDefault
 
   GtkWidget *save_folder_label;
   GtkWidget *save_folder_combo;
-  GtkWidget *save_expander;
 
   /* The file browsing widgets */
   GtkWidget *browse_widgets;
@@ -296,7 +295,6 @@ struct _GtkFileChooserDefault
   guint list_sort_ascending : 1;
   guint changing_folder : 1;
   guint shortcuts_current_folder_active : 1;
-  guint expand_folders : 1;
   guint has_home : 1;
   guint has_desktop : 1;
   guint has_search : 1;
diff --git a/gtk/gtkfilechoosersettings.c b/gtk/gtkfilechoosersettings.c
index 1fc9623..82cc977 100644
--- a/gtk/gtkfilechoosersettings.c
+++ b/gtk/gtkfilechoosersettings.c
@@ -40,7 +40,6 @@
 #define SETTINGS_GROUP		"Filechooser Settings"
 #define LOCATION_MODE_KEY	"LocationMode"
 #define SHOW_HIDDEN_KEY		"ShowHidden"
-#define EXPAND_FOLDERS_KEY	"ExpandFolders"
 #define SHOW_SIZE_COLUMN_KEY    "ShowSizeColumn"
 #define GEOMETRY_X_KEY		"GeometryX"
 #define GEOMETRY_Y_KEY		"GeometryY"
@@ -164,15 +163,6 @@ ensure_settings_read (GtkFileChooserSettings *settings)
   else
     settings->show_hidden = value != FALSE;
 
-  /* Expand folders */
-
-  value = g_key_file_get_boolean (key_file, SETTINGS_GROUP,
-				  EXPAND_FOLDERS_KEY, &error);
-  if (error)
-    warn_if_invalid_key_and_clear_error (EXPAND_FOLDERS_KEY, &error);
-  else
-    settings->expand_folders = value != FALSE;
-
   /* Show size column */
 
   value = g_key_file_get_boolean (key_file, SETTINGS_GROUP,
@@ -247,7 +237,6 @@ _gtk_file_chooser_settings_init (GtkFileChooserSettings *settings)
   settings->sort_order = GTK_SORT_ASCENDING;
   settings->sort_column = FILE_LIST_COL_NAME;
   settings->show_hidden = FALSE;
-  settings->expand_folders = FALSE;
   settings->show_size_column = TRUE;
   settings->geometry_x	    = -1;
   settings->geometry_y	    = -1;
@@ -289,13 +278,6 @@ _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings,
   settings->show_hidden = show_hidden != FALSE;
 }
 
-gboolean
-_gtk_file_chooser_settings_get_expand_folders (GtkFileChooserSettings *settings)
-{
-  ensure_settings_read (settings);
-  return settings->expand_folders;
-}
-
 void
 _gtk_file_chooser_settings_set_show_size_column (GtkFileChooserSettings *settings,
 					         gboolean show_column)
@@ -311,13 +293,6 @@ _gtk_file_chooser_settings_get_show_size_column (GtkFileChooserSettings *setting
 }
 
 void
-_gtk_file_chooser_settings_set_expand_folders (GtkFileChooserSettings *settings,
-					       gboolean expand_folders)
-{
-  settings->expand_folders = expand_folders != FALSE;
-}
-
-void
 _gtk_file_chooser_settings_get_geometry (GtkFileChooserSettings *settings,
 					 int                    *out_x,
 					 int                    *out_y,
@@ -448,8 +423,6 @@ _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings,
   g_key_file_set_boolean (key_file, SETTINGS_GROUP,
 			  SHOW_HIDDEN_KEY, settings->show_hidden);
   g_key_file_set_boolean (key_file, SETTINGS_GROUP,
-			  EXPAND_FOLDERS_KEY, settings->expand_folders);
-  g_key_file_set_boolean (key_file, SETTINGS_GROUP,
 			  SHOW_SIZE_COLUMN_KEY, settings->show_size_column);
   g_key_file_set_integer (key_file, SETTINGS_GROUP,
 			  GEOMETRY_X_KEY, settings->geometry_x);
diff --git a/gtk/gtkfilechoosersettings.h b/gtk/gtkfilechoosersettings.h
index 5fd7ad2..17cad7d 100644
--- a/gtk/gtkfilechoosersettings.h
+++ b/gtk/gtkfilechoosersettings.h
@@ -57,7 +57,6 @@ struct _GtkFileChooserSettings
   guint settings_read    : 1;
   guint show_hidden      : 1;
   guint show_size_column : 1;
-  guint expand_folders   : 1;
 };
 
 struct _GtkFileChooserSettingsClass
@@ -77,10 +76,6 @@ gboolean _gtk_file_chooser_settings_get_show_hidden (GtkFileChooserSettings *set
 void     _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings,
 						     gboolean                show_hidden);
 
-gboolean _gtk_file_chooser_settings_get_expand_folders (GtkFileChooserSettings *settings);
-void     _gtk_file_chooser_settings_set_expand_folders (GtkFileChooserSettings *settings,
-							gboolean                expand_folders);
-
 gboolean _gtk_file_chooser_settings_get_show_size_column (GtkFileChooserSettings *settings);
 void     _gtk_file_chooser_settings_set_show_size_column (GtkFileChooserSettings *settings,
                                                           gboolean                show_column);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]