[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [labplot] src/commonfrontend: Made the deletion of multiple objects in project explorer undo/redoabl
From: Alexander Semke <alexander.semke () web ! de>
Date: 2016-12-07 19:52:06
Message-ID: E1cEiG6-0001Bz-AL () code ! kde ! org
[Download RAW message or body]
Git commit 38fbf89edc9f72a9271f2b187d661798b6de2ebc by Alexander Semke.
Committed on 07/12/2016 at 19:51.
Pushed by asemke into branch 'master'.
Made the deletion of multiple objects in project explorer undo/redoable.
M +9 -4 src/commonfrontend/ProjectExplorer.cpp
M +2 -2 src/commonfrontend/ProjectExplorer.h
https://commits.kde.org/labplot/38fbf89edc9f72a9271f2b187d661798b6de2ebc
diff --git a/src/commonfrontend/ProjectExplorer.cpp \
b/src/commonfrontend/ProjectExplorer.cpp index 101ac956..e19f5cec 100644
--- a/src/commonfrontend/ProjectExplorer.cpp
+++ b/src/commonfrontend/ProjectExplorer.cpp
@@ -237,7 +237,7 @@ void ProjectExplorer::setModel(AspectTreeModel* treeModel) {
QTimer::singleShot(0, this, SLOT(resizeHeader()));
}
-void ProjectExplorer::setProject( const Project* project) {
+void ProjectExplorer::setProject(Project* project) {
connect(project, SIGNAL(aspectAdded(const AbstractAspect*)), this, \
SLOT(aspectAdded(const AbstractAspect*))); connect(project, \
SIGNAL(requestSaveState(QXmlStreamWriter*)), this, SLOT(save(QXmlStreamWriter*))); \
connect(project, SIGNAL(requestLoadState(XmlStreamReader*)), this, \
SLOT(load(XmlStreamReader*))); @@ -525,11 +525,16 @@ void \
ProjectExplorer::collapseSelected() {
void ProjectExplorer::deleteSelected() {
QModelIndexList items = m_treeView->selectionModel()->selectedIndexes();
- // TODO: Delete selected aspects
- foreach(QModelIndex index, items) {
- AbstractAspect *aspect = static_cast<AbstractAspect *>(index.internalPointer());
+ if (!items.size())
+ return;
+
+ m_project->beginMacro(i18n("Porject Explorer: removed %1 selected \
objects.").arg(items.size()/4)); + for (int i=0; i<items.size()/4; ++i) {
+ const QModelIndex& index = items.at(i*4);
+ AbstractAspect* aspect = static_cast<AbstractAspect*>(index.internalPointer());
aspect->remove();
}
+ m_project->endMacro();
}
//##############################################################################
diff --git a/src/commonfrontend/ProjectExplorer.h \
b/src/commonfrontend/ProjectExplorer.h index b4db0cad..528b992c 100644
--- a/src/commonfrontend/ProjectExplorer.h
+++ b/src/commonfrontend/ProjectExplorer.h
@@ -53,7 +53,7 @@ class ProjectExplorer : public QWidget {
void setCurrentAspect(const AbstractAspect*);
void setModel(AspectTreeModel*);
- void setProject(const Project*);
+ void setProject(Project*);
QModelIndex currentIndex() const;
private:
@@ -64,7 +64,7 @@ class ProjectExplorer : public QWidget {
bool filter(const QModelIndex&, const QString&);
int m_columnToHide;
QTreeView* m_treeView;
- const Project* m_project;
+ Project* m_project;
QAction* caseSensitiveAction;
QAction* matchCompleteWordAction;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic