Bugzilla – Attachment 120339 Details for
Bug 152046
Option for save dialog to stay unfolded
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
[patch]
gtk2-expand-file-chooser.diff
gtk2-expand-file-chooser.diff (text/plain), 7.24 KB, created by
Federico Mena Quintero
on 2007-02-21 16:25:32 UTC
(
hide
)
Description:
gtk2-expand-file-chooser.diff
Filename:
MIME Type:
Creator:
Federico Mena Quintero
Created:
2007-02-21 16:25:32 UTC
Size:
7.24 KB
patch
obsolete
>diff -p -x '*.po' -x '*.pot' -r -u /usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechooserdefault.c gtk+-2.8.10/gtk/gtkfilechooserdefault.c >--- /usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechooserdefault.c 2007-01-05 10:12:41.000000000 -0500 >+++ gtk+-2.8.10/gtk/gtkfilechooserdefault.c 2007-01-04 16:42:48.000000000 -0500 >@@ -311,6 +311,7 @@ struct _GtkFileChooserDefault > guint list_sort_ascending : 1; > guint changing_folder : 1; > guint shortcuts_current_folder_active : 1; >+ guint expand_folders : 1; > > #if 0 > guint shortcuts_drag_outside : 1; >@@ -956,6 +957,7 @@ gtk_file_chooser_default_init (GtkFileCh > impl->pending_select_paths = NULL; > impl->location_mode = LOCATION_MODE_PATH_BAR; > impl->operation_mode = OPERATION_MODE_BROWSE; >+ impl->expand_folders = FALSE; > > gtk_box_set_spacing (GTK_BOX (impl), 12); > >@@ -4230,6 +4232,7 @@ expander_changed_cb (GtkExpander > GParamSpec *pspec, > GtkFileChooserDefault *impl) > { >+ impl->expand_folders = gtk_expander_get_expanded(GTK_EXPANDER (impl->save_expander)); > update_appearance (impl); > } > >@@ -5369,16 +5372,21 @@ settings_load (GtkFileChooserDefault *im > GtkFileChooserSettings *settings; > LocationMode location_mode; > gboolean show_hidden; >+ gboolean expand_folders; > > settings = _gtk_file_chooser_settings_new (); > > 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); > > g_object_unref (settings); > > location_mode_set (impl, location_mode, TRUE); > 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); > } > > static void >@@ -5390,6 +5398,7 @@ settings_save (GtkFileChooserDefault *im > > _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); > > /* NULL GError */ > _gtk_file_chooser_settings_save (settings, NULL); >diff -p -x '*.po' -x '*.pot' -r -u /usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechoosersettings.c gtk+-2.8.10/gtk/gtkfilechoosersettings.c >--- /usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechoosersettings.c 2007-01-05 10:12:41.000000000 -0500 >+++ gtk+-2.8.10/gtk/gtkfilechoosersettings.c 2007-01-04 14:03:15.000000000 -0500 >@@ -41,6 +41,7 @@ > #define ELEMENT_TOPLEVEL "gtkfilechooser" > #define ELEMENT_LOCATION "location" > #define ELEMENT_SHOW_HIDDEN "show_hidden" >+#define ELEMENT_EXPAND_FOLDERS "expand_folders" > #define ATTRIBUTE_VERSION "version" > #define ATTRIBUTE_MODE "mode" > #define ATTRIBUTE_VALUE "value" >@@ -68,6 +69,7 @@ set_defaults (GtkFileChooserSettings *se > { > settings->location_mode = LOCATION_MODE_PATH_BAR; > settings->show_hidden = FALSE; >+ settings->expand_folders = FALSE; > } > > typedef enum { >@@ -76,7 +78,8 @@ typedef enum { > STATE_ERROR, > STATE_IN_TOPLEVEL, > STATE_IN_LOCATION, >- STATE_IN_SHOW_HIDDEN >+ STATE_IN_SHOW_HIDDEN, >+ STATE_IN_EXPAND_FOLDERS > } State; > > struct parse_state { >@@ -270,6 +273,34 @@ parse_start_element_cb (GMarkupParseCont > value_str); > } > } >+ else if (EQ (element_name, ELEMENT_EXPAND_FOLDERS)) >+ { >+ const char *value_str; >+ >+ state->state = STATE_IN_EXPAND_FOLDERS; >+ >+ value_str = get_attribute_value (attribute_names, attribute_values, ATTRIBUTE_VALUE); >+ >+ if (!value_str) >+ set_missing_attribute_error (state, line, col, ATTRIBUTE_VALUE, error); >+ else if (EQ (value_str, VALUE_TRUE)) >+ state->settings->expand_folders = TRUE; >+ else if (EQ (value_str, VALUE_FALSE)) >+ state->settings->expand_folders = FALSE; >+ else >+ { >+ state->state = STATE_ERROR; >+ g_set_error (error, >+ G_MARKUP_ERROR, >+ G_MARKUP_ERROR_INVALID_CONTENT, >+ _("Line %d, column %d: expected \"%s\" or \"%s\", but found \"%s\" instead"), >+ line, >+ col, >+ VALUE_FALSE, >+ VALUE_TRUE, >+ value_str); >+ } >+ } > else > set_unexpected_element_error (state, line, col, element_name, error); > >@@ -335,6 +366,14 @@ parse_end_element_cb (GMarkupParseContex > > break; > >+ case STATE_IN_EXPAND_FOLDERS: >+ if (EQ (element_name, ELEMENT_EXPAND_FOLDERS)) >+ state->state = STATE_IN_TOPLEVEL; >+ else >+ set_unexpected_element_end_error (state, line, col, ELEMENT_EXPAND_FOLDERS, element_name, error); >+ >+ break; >+ > default: > g_assert_not_reached (); > } >@@ -455,11 +494,26 @@ _gtk_file_chooser_settings_set_show_hidd > settings->show_hidden = show_hidden ? TRUE : 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_expand_folders (GtkFileChooserSettings *settings, >+ gboolean expand_folders) >+{ >+ settings->expand_folders = expand_folders ? TRUE : FALSE; >+} >+ > static char * > settings_to_markup (GtkFileChooserSettings *settings) > { > const char *location_mode_str; > const char *show_hidden_str; >+ const char *expand_folders_str; > > if (settings->location_mode == LOCATION_MODE_PATH_BAR) > location_mode_str = MODE_PATH_BAR; >@@ -472,14 +526,17 @@ settings_to_markup (GtkFileChooserSettin > } > > show_hidden_str = settings->show_hidden ? VALUE_TRUE : VALUE_FALSE; >+ expand_folders_str = settings->expand_folders ? VALUE_TRUE : VALUE_FALSE; > > return g_strdup_printf > ("<" ELEMENT_TOPLEVEL ">\n" /* <gtkfilechooser> */ > " <" ELEMENT_LOCATION " " ATTRIBUTE_MODE "=\"%s\"/>\n" /* <location mode="path-bar"/> */ > " <" ELEMENT_SHOW_HIDDEN " " ATTRIBUTE_VALUE "=\"%s\"/>\n" /* <show_hidden value="false"/> */ >+ " <" ELEMENT_EXPAND_FOLDERS " " ATTRIBUTE_VALUE "=\"%s\"/>\n" /* <expand_folders value="false"/> */ > "</" ELEMENT_TOPLEVEL ">\n", /* </gtkfilechooser> */ > location_mode_str, >- show_hidden_str); >+ show_hidden_str, >+ expand_folders_str); > } > > gboolean >diff -p -x '*.po' -x '*.pot' -r -u /usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechoosersettings.h gtk+-2.8.10/gtk/gtkfilechoosersettings.h >--- /usr/src/packages/BUILD/gtk+-2.8.10/gtk/gtkfilechoosersettings.h 2007-01-05 10:12:41.000000000 -0500 >+++ gtk+-2.8.10/gtk/gtkfilechoosersettings.h 2007-01-04 14:01:53.000000000 -0500 >@@ -42,6 +42,8 @@ struct _GtkFileChooserSettings > guint settings_read : 1; > > guint show_hidden : 1; >+ >+ guint expand_folders : 1; > }; > > struct _GtkFileChooserSettingsClass >@@ -61,6 +63,10 @@ gboolean _gtk_file_chooser_settings_get_ > 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_save (GtkFileChooserSettings *settings, > GError **error); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 152046
:
69182
| 120339