[plasma-mobile/raven] src/raven/modelviews: Change folder choice to load
Devin Lin <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit fd1587fddff3505bfff8a9c775bfb34f751ac8f0 by Devin Lin, on behalf of Alexander Malygin.
Committed on 20/07/2026 at 17:56.
Pushed by devinlin into branch 'master'.
Change folder choice to load
M +12 -7 src/raven/modelviews/mailboxmodel.cpp
M +1 -1 src/raven/modelviews/mailboxmodel.h
https://invent.kde.org/plasma-mobile/raven/-/commit/fd1587fddff3505bfff8a9c775bfb34f751ac8f0
diff --git a/src/raven/modelviews/mailboxmodel.cpp b/src/raven/modelviews/mailboxmodel.cpp
index 0539731..27afbd2 100644
--- a/src/raven/modelviews/mailboxmodel.cpp
+++ b/src/raven/modelviews/mailboxmodel.cpp
@@ -150,12 +150,12 @@ void MailBoxModel::load()
beginResetModel();
qDebug() << "MailBoxModel::load() - reloading";
- QString currentRole;
+ QString currentFolderId;
if (MailListModel::self()) {
auto folder = MailListModel::self()->currentFolder();
if(folder) {
- currentRole = folder->role();
+ currentFolderId = folder->id();
}
}
@@ -175,21 +175,26 @@ void MailBoxModel::load()
QList<Folder *> folders = Folder::fetchAll(m_db, this);
m_mailBoxes = initMailBoxes(folders);
+ if(!currentFolderId.isEmpty()) {
+ Folder *currentFolder = findFolderById(currentFolderId);
- if(!currentRole.isEmpty()) {
- Folder *currentFolder = findFolderByRole(currentRole);
if (currentFolder) {
MailListModel::self()->loadFolder(currentFolder);
}
+ else {
+ Folder *inbox = findInboxFolder();
+ if(inbox) {
+ MailListModel::self()->loadFolder(inbox);
+ }
+ }
}
-
endResetModel();
}
-Folder *MailBoxModel::findFolderByRole(QString role) const
+Folder *MailBoxModel::findFolderById(QString id) const
{
for (const auto &entry : m_mailBoxes) {
- if (entry.folder && entry.folder->role() == role) {
+ if (entry.folder && entry.folder->id() == id) {
return entry.folder;
}
}
diff --git a/src/raven/modelviews/mailboxmodel.h b/src/raven/modelviews/mailboxmodel.h
index 306f037..9b66850 100644
--- a/src/raven/modelviews/mailboxmodel.h
+++ b/src/raven/modelviews/mailboxmodel.h
@@ -56,7 +56,7 @@ public:
/// Returns the first inbox folder, or nullptr if none exists.
Folder *findInboxFolder() const;
- Folder *findFolderByRole(QString role) const;
+ Folder *findFolderById(QString id) const;
Q_INVOKABLE void toggleCollapse(int rowIndex);