summaryrefslogtreecommitdiffstats
path: root/mappingtreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-02-26 09:31:49 +0100
committerArno <am@disconnect.de>2012-02-26 09:31:49 +0100
commitff4a70f50e42152c5c391fd7801b916e64b181a4 (patch)
treef0dd031ac41558df1589c3de8ac69a7abecf7263 /mappingtreewidget.cpp
parent7b373a2a860d1e779664fffe98db769be34d5591 (diff)
downloadSheMov-ff4a70f50e42152c5c391fd7801b916e64b181a4.tar.gz
SheMov-ff4a70f50e42152c5c391fd7801b916e64b181a4.tar.bz2
SheMov-ff4a70f50e42152c5c391fd7801b916e64b181a4.zip
Move some code from NewPicsDialog around
Put mapping editor into a seperate class to make it easier using it for changing mappings later.
Diffstat (limited to 'mappingtreewidget.cpp')
-rw-r--r--mappingtreewidget.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp
index d9ea7da..6108ebe 100644
--- a/mappingtreewidget.cpp
+++ b/mappingtreewidget.cpp
@@ -232,3 +232,55 @@ void MappingTreeView::contextMenuEvent(QContextMenuEvent *e){
ctxMenu.addActions(actions());
ctxMenu.exec(e->globalPos());
}
+
+MappingTreeResultView::MappingTreeResultView(QWidget *parent) : QTreeView(parent) {}
+
+MappingEditWidget::MappingEditWidget(QWidget *parent) : QWidget(parent){
+ //the views
+ mMappingTree = new MappingTreeWidget;
+ mMappingResult = new MappingTreeResultView;
+ mResultModel = new MappingTreeResultModel(QStringList() << tr("Name") << tr("Id"), this);
+ mMappingResult->setModel(mResultModel);
+ mMappingResult->setAlternatingRowColors(true);
+ mMappingResult->setColumnHidden(1, true);
+
+ //buttons
+ mAddMapping = new QPushButton(tr(">>"));
+ connect(mAddMapping, SIGNAL(clicked()), this, SLOT(addMapping()));
+ mRemoveMapping = new QPushButton(tr("<<"));
+ connect(mRemoveMapping, SIGNAL(clicked()), this, SLOT(removeMapping()));
+
+ //layout
+ QHBoxLayout *mainLayout = new QHBoxLayout;
+ mainLayout->addWidget(mMappingTree);
+ QVBoxLayout *buttonLayout = new QVBoxLayout;
+ buttonLayout->addStretch();
+ buttonLayout->addWidget(mAddMapping);
+ buttonLayout->addWidget(mRemoveMapping);
+ buttonLayout->addStretch();
+ mainLayout->addLayout(buttonLayout);
+ mainLayout->addWidget(mMappingResult);
+ setLayout(mainLayout);
+}
+
+QList<int> MappingEditWidget::mappingIds() const {
+ return mResultModel->mappingsIds();
+}
+
+void MappingEditWidget::addMapping(){
+ MappingData selected = mMappingTree->selectedItem();
+ if(selected.id == -1){
+ return;
+ }
+ mResultModel->addItem(selected);
+ mMappingResult->expandAll();
+}
+
+void MappingEditWidget::removeMapping(){
+ QModelIndexList sel = mMappingResult->selectionModel()->selectedRows();
+ if(sel.isEmpty()){
+ return;
+ }
+ QModelIndex firstIdx = sel.first();
+ mResultModel->removeRows(firstIdx.row(), 1, firstIdx.parent());
+}