Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/FolderList/AccountItemModel.vala
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public class Mail.AccountItemModel : Mail.SourceList.ExpandableItem, Mail.Source
FolderItemModel item;
folder_items.unset (old_name, out item);
item.folder_info = folder_info;
folder_items[item.full_name] = item;
folder_items[folder_info.full_name] = item;
}

private void folder_deleted (Camel.FolderInfo folder_info) {
Expand Down Expand Up @@ -100,7 +100,7 @@ public class Mail.AccountItemModel : Mail.SourceList.ExpandableItem, Mail.Source
var offlinestore = (Camel.OfflineStore) account.service;
foreach (var folder_item in folder_items.values) {
try {
var folder_info = yield offlinestore.get_folder_info (folder_item.full_name, 0, GLib.Priority.DEFAULT, connect_cancellable);
var folder_info = yield offlinestore.get_folder_info (folder_item.folder_info.full_name, 0, GLib.Priority.DEFAULT, connect_cancellable);
folder_item.folder_info = folder_info;
} catch (Error e) {
// We can cancel the operation
Expand Down
8 changes: 3 additions & 5 deletions src/FolderList/FolderItemModel.vala
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ public class Mail.FolderItemModel : Mail.SourceList.ExpandableItem {
}
}

public string full_name { get; private set; }
public bool is_special_folder { get; private set; default = true; }
public int pos { get; private set; }

Expand Down Expand Up @@ -64,7 +63,6 @@ public class Mail.FolderItemModel : Mail.SourceList.ExpandableItem {

private void update_infos () {
name = old_name = folder_info.display_name;
full_name = folder_info.full_name;
if (folder_info.unread > 0) {
badge = "%d".printf (folder_info.unread);
}
Expand Down Expand Up @@ -120,7 +118,7 @@ public class Mail.FolderItemModel : Mail.SourceList.ExpandableItem {
private async void refresh () {
var offlinestore = (Camel.Store)account.service;
try {
var folder = yield offlinestore.get_folder (full_name, 0, GLib.Priority.DEFAULT, cancellable);
var folder = yield offlinestore.get_folder (folder_info.full_name, 0, GLib.Priority.DEFAULT, cancellable);
yield folder.refresh_info (GLib.Priority.DEFAULT, cancellable);
} catch (Error e) {
critical (e.message);
Expand Down Expand Up @@ -153,7 +151,7 @@ public class Mail.FolderItemModel : Mail.SourceList.ExpandableItem {
return;
}

string[] split_full_name = full_name.split_set ("/");
string[] split_full_name = folder_info.full_name.split_set ("/");
split_full_name[split_full_name.length - 1] = new_name;
var new_full_name = string.joinv ("/", split_full_name);

Expand Down Expand Up @@ -183,7 +181,7 @@ public class Mail.FolderItemModel : Mail.SourceList.ExpandableItem {
}

try {
yield offlinestore.rename_folder (full_name, new_full_name, GLib.Priority.DEFAULT, cancellable);
yield offlinestore.rename_folder (folder_info.full_name, new_full_name, GLib.Priority.DEFAULT, cancellable);
} catch (Error e) {
if (name == old_name) {
notify["name"].connect (cancel_rename);
Expand Down
4 changes: 2 additions & 2 deletions src/FolderList/FolderList.vala
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public class Mail.FolderList : Gtk.Box {
folder_info_per_account.set (item.account, item.folder_info);
folder_selected (folder_info_per_account.read_only_view);

settings.set ("selected-folder", "(ss)", item.account.service.uid, item.full_name);
settings.set ("selected-folder", "(ss)", item.account.service.uid, item.folder_info.full_name);

} else if (item is GroupedFolderItemModel) {
folder_selected (item.get_folder_info_per_account ());
Expand Down Expand Up @@ -167,7 +167,7 @@ public class Mail.FolderList : Gtk.Box {
}

unowned FolderItemModel folder_item = (FolderItemModel) child;
if (folder_item.full_name == selected_folder_name) {
if (folder_item.folder_info.full_name == selected_folder_name) {
source_list.selected = child;

var folder_info_per_account = new Gee.HashMap<Mail.Backend.Account, Camel.FolderInfo?> ();
Expand Down
8 changes: 4 additions & 4 deletions src/FoldersView/AccountSavedState.vala
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,19 @@ public class Mail.AccountSavedState : GLib.Object {
settings.bind ("expanded", item, "expanded", SettingsBindFlags.DEFAULT | SettingsBindFlags.GET_NO_CHANGES);
} else if (item is FolderItemModel) {
var folder_item = (FolderItemModel) item;
items[folder_item.full_name] = folder_item;
if (folder_item.full_name in settings.get_strv ("expanded-folders")) {
items[folder_item.folder_info.full_name] = folder_item;
if (folder_item.folder_info.full_name in settings.get_strv ("expanded-folders")) {
item.expanded = true;
}

item.notify["expanded"].connect (() => {
var folders = settings.get_strv ("expanded-folders");
if (item.expanded) {
folders += folder_item.full_name;
folders += folder_item.folder_info.full_name;
} else {
string[] new_folders = {};
foreach (var folder in folders) {
if (folder != folder_item.full_name) {
if (folder != folder_item.folder_info.full_name) {
new_folders += folder;
}
}
Expand Down
Loading