diff options
Diffstat (limited to 'src/libs/advanceddockingsystem/workspacedialog.cpp')
-rw-r--r-- | src/libs/advanceddockingsystem/workspacedialog.cpp | 15 |
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 |