aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorHenning Gruendl <henning.gruendl@qt.io>2020-03-13 15:02:50 +0100
committerHenning Gründl <henning.gruendl@qt.io>2020-03-13 14:34:53 +0000
commite3e62d852f29f2cc29ebe77e9298c1105a8230de (patch)
treee7bd56e19570015eef648fc05d17842c9b6abc9a /src/libs
parent5803448ea0a11e8c0985205c9fc915f84be6c3dd (diff)
ADS: Fix workspace dialog on removal
- Fix an issue where the list of workspaces is not correctly updated after removal of a workspace in the dialog - Fix initial sorting of the workspace model Change-Id: I0c16aabc1fdcc2690fcb83e40b0d5d16cb6c72ba Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/advanceddockingsystem/dockmanager.cpp15
-rw-r--r--src/libs/advanceddockingsystem/workspacemodel.cpp1
2 files changed, 9 insertions, 7 deletions
diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp
index 6adce0111a..0a621c2c66 100644
--- a/src/libs/advanceddockingsystem/dockmanager.cpp
+++ b/src/libs/advanceddockingsystem/dockmanager.cpp
@@ -774,15 +774,16 @@ namespace ADS
if (!d->m_workspaces.contains(workspace))
return false;
- d->m_workspaces.removeOne(workspace);
-
- emit workspacesRemoved();
- emit workspaceListChanged();
-
// Remove corresponding workspace file
QFile fi(workspaceNameToFileName(workspace).toString());
- if (fi.exists())
- return fi.remove();
+ if (fi.exists()) {
+ if (fi.remove()) {
+ d->m_workspaces.removeOne(workspace);
+ emit workspacesRemoved();
+ emit workspaceListChanged();
+ return true;
+ }
+ }
return false;
}
diff --git a/src/libs/advanceddockingsystem/workspacemodel.cpp b/src/libs/advanceddockingsystem/workspacemodel.cpp
index 04ff7b4c75..badf263368 100644
--- a/src/libs/advanceddockingsystem/workspacemodel.cpp
+++ b/src/libs/advanceddockingsystem/workspacemodel.cpp
@@ -53,6 +53,7 @@ WorkspaceModel::WorkspaceModel(DockManager *manager, QObject *parent)
, m_currentSortColumn(0)
{
m_sortedWorkspaces = m_manager->workspaces();
+ sort(m_currentSortColumn, m_currentSortOrder);
connect(m_manager, &DockManager::workspaceLoaded, this, &WorkspaceModel::resetWorkspaces);
}