From e3e62d852f29f2cc29ebe77e9298c1105a8230de Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Fri, 13 Mar 2020 15:02:50 +0100 Subject: [PATCH] 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 --- src/libs/advanceddockingsystem/dockmanager.cpp | 15 ++++++++------- src/libs/advanceddockingsystem/workspacemodel.cpp | 1 + 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp index 6adce0111ad..0a621c2c660 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 04ff7b4c757..badf2633687 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); }