From 358697bea4f0a06ee38bcb4cc2fbec98bbdb4304 Mon Sep 17 00:00:00 2001 From: Carlos Alves Date: Mon, 9 Nov 2020 11:15:54 -0300 Subject: [PATCH] Fix dbus sessionList Order the list by tab order. ISSUE: #13 FIXED-IN: 20.12 --- src/ViewManager.cpp | 7 +++++-- src/ViewManager.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp index ab07f322f..345031559 100644 --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -1044,8 +1044,11 @@ QStringList ViewManager::sessionList() { QStringList ids; - for (auto sdsp : _sessionMap) { - ids.append( QString::number( sdsp->session()->sessionId() ) ); + for (int i = 0; i < _viewContainer->count(); i++) { + auto terminaldisplayList = _viewContainer->widget(i)->findChildren(); + for (auto *terminaldisplay : terminaldisplayList) { + ids.append(QString::number(terminaldisplay->sessionController()->session()->sessionId())); + } } return ids; diff --git a/src/ViewManager.h b/src/ViewManager.h index 767c233e2..aa0cd67f0 100644 --- a/src/ViewManager.h +++ b/src/ViewManager.h @@ -251,7 +251,7 @@ public Q_SLOTS: /** * DBus slot that returns the unique ids of the sessions in the - * current view. The returned list is not sorted. + * current view. The returned list is ordered by tab. * QList is not printable by qdbus so we use QStringList */ Q_SCRIPTABLE QStringList sessionList();