aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/advanceddockingsystem/workspacedialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/advanceddockingsystem/workspacedialog.cpp')
-rw-r--r--src/libs/advanceddockingsystem/workspacedialog.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/libs/advanceddockingsystem/workspacedialog.cpp b/src/libs/advanceddockingsystem/workspacedialog.cpp
index a458940aa0..57a1654639 100644
--- a/src/libs/advanceddockingsystem/workspacedialog.cpp
+++ b/src/libs/advanceddockingsystem/workspacedialog.cpp
@@ -40,6 +40,7 @@
#include <utils/algorithm.h>
#include <QInputDialog>
+#include <QRegularExpression>
#include <QValidator>
namespace ADS {
@@ -64,9 +65,9 @@ QValidator::State WorkspaceValidator::validate(QString &input, int &pos) const
{
Q_UNUSED(pos)
- static QRegExp rx("[a-zA-Z0-9 ()\\-]*");
+ static const QRegularExpression rx("^[a-zA-Z0-9 ()\\-]*$");
- if (!rx.exactMatch(input))
+ if (!rx.match(input).hasMatch())
return QValidator::Invalid;
if (m_workspaces.contains(input))
@@ -170,6 +171,14 @@ WorkspaceDialog::WorkspaceDialog(DockManager *manager, QWidget *parent)
&WorkspaceView::selected,
this,
&WorkspaceDialog::updateActions);
+ connect(m_ui.btImport,
+ &QAbstractButton::clicked,
+ m_ui.workspaceView,
+ &WorkspaceView::importWorkspace);
+ connect(m_ui.btExport,
+ &QAbstractButton::clicked,
+ m_ui.workspaceView,
+ &WorkspaceView::exportCurrentWorkspace);
m_ui.whatsAWorkspaceLabel->setOpenExternalLinks(true);
@@ -199,6 +208,7 @@ void WorkspaceDialog::updateActions(const QStringList &workspaces)
m_ui.btClone->setEnabled(false);
m_ui.btReset->setEnabled(false);
m_ui.btSwitch->setEnabled(false);
+ m_ui.btExport->setEnabled(false);
return;
}
const bool presetIsSelected = Utils::anyOf(workspaces, [this](const QString &workspace) {
@@ -212,6 +222,7 @@ void WorkspaceDialog::updateActions(const QStringList &workspaces)
m_ui.btClone->setEnabled(workspaces.size() == 1);
m_ui.btReset->setEnabled(presetIsSelected);
m_ui.btSwitch->setEnabled(workspaces.size() == 1);
+ m_ui.btExport->setEnabled(workspaces.size() == 1);
}
} // namespace ADS