Add "Select All" menu item to the design mode

This commit is contained in:
Marco Bubke
2010-01-25 15:22:08 +01:00
parent b4c6ecee58
commit 666b454295
5 changed files with 36 additions and 0 deletions

View File

@@ -663,6 +663,20 @@ void DesignDocumentController::paste()
} }
} }
void DesignDocumentController::selectAll()
{
if (!m_d->model)
return;
DesignDocumentControllerView view;
m_d->model->attachView(&view);
QList<ModelNode> allNodesExceptRootNode(view.allModelNodes());
allNodesExceptRootNode.removeOne(view.rootModelNode());
view.setSelectedModelNodes(allNodesExceptRootNode);
}
void DesignDocumentController::showError(const QString &message, QWidget *parent) const void DesignDocumentController::showError(const QString &message, QWidget *parent) const
{ {
if (!parent) if (!parent)

View File

@@ -110,6 +110,7 @@ public slots:
void copySelected(); void copySelected();
void cutSelected(); void cutSelected();
void paste(); void paste();
void selectAll();
void togglePreview(bool visible); void togglePreview(bool visible);
void toggleWithDebugPreview(bool visible); void toggleWithDebugPreview(bool visible);

View File

@@ -147,6 +147,11 @@ DesignMode::DesignMode() :
command->setDefaultKeySequence(QKeySequence::Paste); command->setDefaultKeySequence(QKeySequence::Paste);
editMenu->addAction(command, Core::Constants::G_EDIT_COPYPASTE); editMenu->addAction(command, Core::Constants::G_EDIT_COPYPASTE);
command = actionManager->registerAction(m_mainWidget->selectAllAction(),
Core::Constants::SELECTALL, context());
command->setDefaultKeySequence(QKeySequence::SelectAll);
editMenu->addAction(command, Core::Constants::G_EDIT_SELECTALL);
// add second shortcut to trigger delete // add second shortcut to trigger delete
QAction *deleteAction = new QAction(m_mainWidget); QAction *deleteAction = new QAction(m_mainWidget);
deleteAction->setShortcut(QKeySequence(QLatin1String("Backspace"))); deleteAction->setShortcut(QKeySequence(QLatin1String("Backspace")));

View File

@@ -497,6 +497,8 @@ DesignModeWidget::DesignModeWidget(DesignMode *designMode, QWidget *parent) :
connect(m_copyAction, SIGNAL(triggered()), this, SLOT(copySelected())); connect(m_copyAction, SIGNAL(triggered()), this, SLOT(copySelected()));
m_pasteAction = new Utils::ParameterAction(tr("&Paste"), tr("Paste \"%1\""), Utils::ParameterAction::EnabledWithParameter, this); m_pasteAction = new Utils::ParameterAction(tr("&Paste"), tr("Paste \"%1\""), Utils::ParameterAction::EnabledWithParameter, this);
connect(m_pasteAction, SIGNAL(triggered()), this, SLOT(paste())); connect(m_pasteAction, SIGNAL(triggered()), this, SLOT(paste()));
m_selectAllAction = new Utils::ParameterAction(tr("Select &All"), tr("Select All \"%1\""), Utils::ParameterAction::EnabledWithParameter, this);
connect(m_selectAllAction, SIGNAL(triggered()), this, SLOT(selectAll()));
QLabel *defaultBackground = new QLabel(tr("Open/Create a qml file first.")); QLabel *defaultBackground = new QLabel(tr("Open/Create a qml file first."));
defaultBackground->setAlignment(Qt::AlignCenter); defaultBackground->setAlignment(Qt::AlignCenter);
@@ -598,6 +600,11 @@ QAction *DesignModeWidget::pasteAction() const
return m_pasteAction; return m_pasteAction;
} }
QAction *DesignModeWidget::selectAllAction() const
{
return m_selectAllAction;
}
DesignMode *DesignModeWidget::designMode() const DesignMode *DesignModeWidget::designMode() const
{ {
return m_designMode; return m_designMode;
@@ -639,6 +646,12 @@ void DesignModeWidget::paste()
m_currentDocumentWidget->document()->paste(); m_currentDocumentWidget->document()->paste();
} }
void DesignModeWidget::selectAll()
{
if (m_currentDocumentWidget)
m_currentDocumentWidget->document()->selectAll();
}
void DesignModeWidget::undoAvailable(bool isAvailable) void DesignModeWidget::undoAvailable(bool isAvailable)
{ {
DesignDocumentController *documentController = qobject_cast<DesignDocumentController*>(sender()); DesignDocumentController *documentController = qobject_cast<DesignDocumentController*>(sender());

View File

@@ -172,6 +172,7 @@ public:
QAction *cutAction() const; QAction *cutAction() const;
QAction *copyAction() const; QAction *copyAction() const;
QAction *pasteAction() const; QAction *pasteAction() const;
QAction *selectAllAction() const;
DesignMode *designMode() const; DesignMode *designMode() const;
@@ -182,6 +183,7 @@ private slots:
void cutSelected(); void cutSelected();
void copySelected(); void copySelected();
void paste(); void paste();
void selectAll();
void undoAvailable(bool isAvailable); void undoAvailable(bool isAvailable);
void redoAvailable(bool isAvailable); void redoAvailable(bool isAvailable);
@@ -202,6 +204,7 @@ private:
QAction *m_cutAction; QAction *m_cutAction;
QAction *m_copyAction; QAction *m_copyAction;
QAction *m_pasteAction; QAction *m_pasteAction;
QAction *m_selectAllAction;
bool m_syncWithTextEdit; bool m_syncWithTextEdit;
}; };