summaryrefslogtreecommitdiffstats
path: root/mappingtreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-02-25 16:52:48 +0100
committerArno <am@disconnect.de>2012-02-25 16:52:48 +0100
commit67ddb23a59cb56bd917db2d9c3c7bc62c96e53b4 (patch)
tree50282f53691db30c8fd2999c299d24ef859b11f3 /mappingtreewidget.cpp
parentdce686c895fce27cce1d8bf0247c692bd790f93a (diff)
downloadSheMov-67ddb23a59cb56bd917db2d9c3c7bc62c96e53b4.tar.gz
SheMov-67ddb23a59cb56bd917db2d9c3c7bc62c96e53b4.tar.bz2
SheMov-67ddb23a59cb56bd917db2d9c3c7bc62c96e53b4.zip
Implemented mapping widget for NewPicsDialog
Make it possible to add mappings to new pictures. This actually was a tough one. Maybe I shouldn't drink and code. Next: make NewPicsDialog actually do something.
Diffstat (limited to 'mappingtreewidget.cpp')
-rw-r--r--mappingtreewidget.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp
index e5b1f90..db8f649 100644
--- a/mappingtreewidget.cpp
+++ b/mappingtreewidget.cpp
@@ -19,6 +19,8 @@
#include <QAction>
#include <QMenu>
+#include <algorithm>
+
#include "mappingtreewidget.h"
#include "mappingtreemodel.h"
#include "smglobals.h"
@@ -93,6 +95,26 @@ MappingTreeWidget::MappingTreeWidget(QWidget *parent) : QWidget(parent){
setTabOrder(mEdit, mAddChild);
}
+MappingData MappingTreeWidget::selectedItem() const {
+ MappingData retval;
+ QModelIndex sel = selected();
+ if(!sel.isValid()){
+ retval.id = -1;
+ }else{
+ retval.id = sel.data(MappingTreeModel::IdRole).toInt();
+ retval.name = sel.data(MappingTreeModel::NameRole).toString();
+ QStringList p;
+ QModelIndex parent = sel;
+ while(parent.isValid()){
+ p << parent.data().toString();
+ parent = parent.parent();
+ }
+ std::reverse(p.begin(), p.end());
+ retval.path = p;
+ }
+ return retval;
+}
+
void MappingTreeWidget::addChild(){
QModelIndex sel = selected();
if(!sel.isValid()){