#define SETTINGS_KEY_CLOCK_FORMAT "clock-format"
#define SETTINGS_KEY_DATE_FORMAT "date-format"
#define SETTINGS_KEY_TYPE_FORMAT "type-format"
+#define SETTINGS_KEY_VIEW_TYPE "view-type"
#define GTK_FILE_CHOOSER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_FILE_CHOOSER, GtkFileChooserIface))
gboolean sort_directories_first;
DateFormat date_format;
TypeFormat type_format;
+ ViewType view_type;
int sort_column;
GtkSortType sort_order;
StartupMode startup_mode;
sort_directories_first = g_settings_get_boolean (settings, SETTINGS_KEY_SORT_DIRECTORIES_FIRST);
date_format = g_settings_get_enum (settings, SETTINGS_KEY_DATE_FORMAT);
type_format = g_settings_get_enum (settings, SETTINGS_KEY_TYPE_FORMAT);
+ view_type = g_settings_get_enum (settings, SETTINGS_KEY_VIEW_TYPE);
set_show_hidden (impl, show_hidden);
impl->clock_format = g_settings_get_enum (settings, "clock-format");
impl->type_format = type_format;
+ set_view_type (impl, view_type);
+
/* We don't call set_sort_column() here as the models may not have been
* created yet. The individual functions that create and set the models will
* call set_sort_column() themselves.
gtk_paned_get_position (GTK_PANED (impl->browse_widgets_hpaned)));
g_settings_set_enum (settings, SETTINGS_KEY_DATE_FORMAT, impl->show_time ? DATE_FORMAT_WITH_TIME : DATE_FORMAT_REGULAR);
g_settings_set_enum (settings, SETTINGS_KEY_TYPE_FORMAT, impl->type_format);
+ g_settings_set_enum (settings, SETTINGS_KEY_VIEW_TYPE, impl->view_type);
/* Now apply the settings */
g_settings_apply (settings);
<value nick='category' value='2'/>
</enum>
+ <enum id='org.gtk.gtk4.Settings.FileChooser.ViewType'>
+ <value nick='list' value='0'/>
+ <value nick='grid' value='1'/>
+ </enum>
+
<schema id='org.gtk.gtk4.Settings.FileChooser' path='/org/gtk/gtk4/settings/file-chooser/'>
<key name='location-mode' enum='org.gtk.gtk4.Settings.FileChooser.LocationMode'>
<default>'path-bar'</default>
'category' -> 'Video'
</description>
</key>
+ <key name="view-type" enum="org.gtk.gtk4.Settings.FileChooser.ViewType">
+ <default>'list'</default>
+ <summary>View type</summary>
+ <description>
+ Whether the files are shown in a list or in a grid.
+ </description>
+ </key>
</schema>
</schemalist>