[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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.