Skip to content

Commit ce5ff30

Browse files
committed
Merge main
2 parents b700454 + e6b712a commit ce5ff30

File tree

6 files changed

+14
-31
lines changed

6 files changed

+14
-31
lines changed

data/schemas/io.elementary.files.gschema.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@
6060
<summary>Single click selects folders</summary>
6161
<description>If set to true, single clicking a folder will select it instead of opening it</description>
6262
</key>
63+
<key type="b" name="sort-directories-first">
64+
<default>true</default>
65+
<summary>Show folders first</summary>
66+
<description>If set to true, then folders are shown before files in the list.</description>
67+
</key>
6368
<key name="date-format" enum="dateformatmode">
6469
<default>'informal'</default>
6570
<summary>Date Format</summary>

libcore/Preferences.vala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ namespace Files {
2828
public bool show_hidden_files {get; set; default = false;}
2929
public bool show_file_preview {set; get; default = true;}
3030
public bool confirm_trash {set; get; default = true;}
31-
public bool sort_directories_first { get; set; default = true; }
3231
public bool remember_history { get; set; default = true; }
3332

3433
public DateFormatMode date_format {set; get; default = DateFormatMode.ISO;}

src/Application.vala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,5 @@ public class Files.Application : Gtk.Application {
274274
Files.Preferences.get_default (), "clock-format", GLib.SettingsBindFlags.GET);
275275
gnome_privacy_settings.bind ("remember-recent-files",
276276
Files.Preferences.get_default (), "remember-history", GLib.SettingsBindFlags.GET);
277-
gtk_file_chooser_settings.bind ("sort-directories-first",
278-
prefs, "sort-directories-first", GLib.SettingsBindFlags.DEFAULT);
279277
}
280278
}

src/View/AbstractDirectoryView.vala

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ namespace Files {
7676
{"new", on_background_action_new, "s"},
7777
{"create-from", on_background_action_create_from, "s"},
7878
{"sort-by", on_background_action_sort_by_changed, "s", "'name'"},
79-
{"reverse", on_background_action_reverse_changed, null, "false"},
80-
{"folders-first", on_background_action_folders_first_changed, null, "true"}
79+
{"reverse", on_background_action_reverse_changed, null, "false"}
8180
};
8281

8382
const GLib.ActionEntry [] COMMON_ENTRIES = {
@@ -454,15 +453,15 @@ namespace Files {
454453

455454
var prefs = (Files.Preferences.get_default ());
456455
prefs.notify["show-hidden-files"].connect (on_show_hidden_files_changed);
457-
prefs.notify["sort-directories-first"].connect (on_sort_directories_first_changed);
458456
prefs.notify["date-format"].connect (on_dateformat_changed);
459457

460458
app_settings.bind ("singleclick-select", this, "singleclick_select", SettingsBindFlags.DEFAULT);
461459

462460
app_settings.changed["show-remote-thumbnails"].connect (on_show_thumbnails_changed);
463461
app_settings.changed["show-local-thumbnails"].connect (on_show_thumbnails_changed);
462+
app_settings.changed["sort-directories-first"].connect (on_sort_directories_first_changed);
464463

465-
model.set_should_sort_directories_first (Files.Preferences.get_default ().sort_directories_first);
464+
model.set_should_sort_directories_first (app_settings.get_boolean ("sort-directories-first"));
466465
model.row_deleted.connect (on_row_deleted);
467466
/* Sort order of model is set after loading */
468467
model.sort_column_changed.connect (on_sort_column_changed);
@@ -1237,11 +1236,6 @@ namespace Files {
12371236
set_sort (null, true);
12381237
}
12391238

1240-
private void on_background_action_folders_first_changed (GLib.SimpleAction action, GLib.Variant? val) {
1241-
var prefs = Files.Preferences.get_default ();
1242-
prefs.sort_directories_first = !prefs.sort_directories_first;
1243-
}
1244-
12451239
private void set_sort (string? col_name, bool reverse) {
12461240
int sort_column_id;
12471241
Gtk.SortType sort_order;
@@ -1480,9 +1474,8 @@ namespace Files {
14801474
slot.reload ();
14811475
}
14821476

1483-
private void on_sort_directories_first_changed (GLib.Object prefs, GLib.ParamSpec pspec) {
1484-
var sort_directories_first = ((Files.Preferences) prefs).sort_directories_first;
1485-
model.set_should_sort_directories_first (sort_directories_first);
1477+
private void on_sort_directories_first_changed (Settings settings, string key) {
1478+
model.set_should_sort_directories_first (settings.get_boolean (key));
14861479
}
14871480

14881481
private void directory_hidden_changed (Directory dir, bool show) {
@@ -2343,7 +2336,7 @@ namespace Files {
23432336
reversed_checkitem.action_name = "background.reverse";
23442337

23452338
var folders_first_checkitem = new Gtk.CheckMenuItem.with_label (_("Folders Before Files"));
2346-
folders_first_checkitem.action_name = "background.folders-first";
2339+
folders_first_checkitem.action_name = "win.sort-directories-first";
23472340

23482341
submenu = new Gtk.Menu ();
23492342
submenu.add (name_radioitem);
@@ -2574,8 +2567,6 @@ namespace Files {
25742567
action_set_state (background_actions, "sort-by", val);
25752568
val = new GLib.Variant.boolean (sort_order == Gtk.SortType.DESCENDING);
25762569
action_set_state (background_actions, "reverse", val);
2577-
val = new GLib.Variant.boolean (Files.Preferences.get_default ().sort_directories_first);
2578-
action_set_state (background_actions, "folders-first", val);
25792570
} else {
25802571
warning ("Update menu actions sort: The model is unsorted - this should not happen");
25812572
}

src/View/Widgets/AppMenu.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public class Files.AppMenu : Gtk.Popover {
9494
};
9595

9696
var folders_before_files = new Granite.SwitchModelButton (_("Sort Folders before Files")) {
97-
action_name = "win.folders-before-files"
97+
action_name = "win.sort-directories-first"
9898
};
9999

100100
var restore_tabs = new Granite.SwitchModelButton (_("Restore Tabs from Last Time")) {

src/View/Window.vala

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ public class Files.View.Window : Hdy.ApplicationWindow {
6666
{"zoom", action_zoom, "s"},
6767
{"view-mode", action_view_mode, "u", "0" },
6868
{"tabhistory-restore", action_tabhistory_restore, "s" },
69-
{"folders-before-files", null, null, "true", change_state_folders_before_files},
7069
{"forward", action_forward, "i"},
7170
{"back", action_back, "i"},
7271
{"focus-sidebar", action_focus_sidebar}
@@ -113,10 +112,11 @@ public class Files.View.Window : Hdy.ApplicationWindow {
113112
var app_settings = new Settings ("io.elementary.files.preferences");
114113
add_action (app_settings.create_action ("restore-tabs"));
115114
add_action (app_settings.create_action ("show-file-preview"));
115+
add_action (app_settings.create_action ("show-hiddenfiles"));
116116
add_action (app_settings.create_action ("show-local-thumbnails"));
117117
add_action (app_settings.create_action ("show-remote-thumbnails"));
118-
add_action (app_settings.create_action ("show-hiddenfiles"));
119118
add_action (app_settings.create_action ("singleclick-select"));
119+
add_action (app_settings.create_action ("sort-directories-first"));
120120

121121
add_action_entries (WIN_ENTRIES, this);
122122
undo_actions_set_insensitive ();
@@ -272,10 +272,6 @@ public class Files.View.Window : Hdy.ApplicationWindow {
272272

273273
add (grid);
274274

275-
/** Apply preferences */
276-
var prefs = Files.Preferences.get_default (); // Bound to settings schema by Application
277-
get_action ("folders-before-files").set_state (prefs.sort_directories_first);
278-
279275
button_forward.slow_press.connect (() => {
280276
get_action_group ("win").activate_action ("forward", new Variant.int32 (1));
281277
});
@@ -1027,12 +1023,6 @@ public class Files.View.Window : Hdy.ApplicationWindow {
10271023
doing_undo_redo = false;
10281024
}
10291025

1030-
public void change_state_folders_before_files (GLib.SimpleAction action) {
1031-
bool state = !action.state.get_boolean ();
1032-
action.set_state (new GLib.Variant.boolean (state));
1033-
Files.Preferences.get_default ().sort_directories_first = state;
1034-
}
1035-
10361026
private void connect_to_server () {
10371027
var dialog = new PF.ConnectServerDialog ((Gtk.Window) this);
10381028
string server_uri = "";

0 commit comments

Comments
 (0)