diff --git a/plasmoid/lib/syncthingapplet.cpp b/plasmoid/lib/syncthingapplet.cpp index e1930fe..fea3047 100644 --- a/plasmoid/lib/syncthingapplet.cpp +++ b/plasmoid/lib/syncthingapplet.cpp @@ -492,17 +492,15 @@ void SyncthingApplet::showInternalErrorsDialog() errorViewDlg->show(); } -void SyncthingApplet::showDirectoryErrors(unsigned int directoryIndex) +void SyncthingApplet::showDirectoryErrors(const QString &dirId) { - const auto &dirs = m_connection.dirInfo(); - if (directoryIndex >= dirs.size()) { + auto row = 0; + auto *const dir = m_connection.findDirInfo(dirId, row); + if (!dir) { return; } - - const auto &dir(dirs[directoryIndex]); - m_connection.requestDirPullErrors(dir.id); - - auto *const dlg = new DirectoryErrorsDialog(m_connection, dir); + m_connection.requestDirPullErrors(dirId); + auto *const dlg = new DirectoryErrorsDialog(m_connection, *dir); dlg->setAttribute(Qt::WA_DeleteOnClose, true); centerWidget(dlg); dlg->show(); diff --git a/plasmoid/lib/syncthingapplet.h b/plasmoid/lib/syncthingapplet.h index 34c7973..806b3a8 100644 --- a/plasmoid/lib/syncthingapplet.h +++ b/plasmoid/lib/syncthingapplet.h @@ -140,7 +140,7 @@ public Q_SLOTS: void showNotificationsDialog(); void dismissNotifications(); void showInternalErrorsDialog(); - void showDirectoryErrors(unsigned int directoryIndex); + void showDirectoryErrors(const QString &dirId); void copyToClipboard(const QString &text); void updateStatusIconAndTooltip(); void saveSettings(); diff --git a/plasmoid/package/contents/ui/DirectoriesPage.qml b/plasmoid/package/contents/ui/DirectoriesPage.qml index 961fa58..aba96f9 100644 --- a/plasmoid/package/contents/ui/DirectoriesPage.qml +++ b/plasmoid/package/contents/ui/DirectoriesPage.qml @@ -85,7 +85,7 @@ ColumnLayout { visible: pullErrorCount > 0 onClicked: { plasmoid.nativeInterface.showDirectoryErrors( - index) + dirId) plasmoid.expanded = false } }