From cc1ceb35ce1c6173add9f738d8ea91434960b849 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Wed, 12 Mar 2014 20:34:55 +0100 Subject: [PATCH] drag and drop works --- apps/opencs/view/world/dialoguesubview.cpp | 20 +++++++++++++++++++- apps/opencs/view/world/dialoguesubview.hpp | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/apps/opencs/view/world/dialoguesubview.cpp b/apps/opencs/view/world/dialoguesubview.cpp index a1c9de612..65e9c5cb3 100644 --- a/apps/opencs/view/world/dialoguesubview.cpp +++ b/apps/opencs/view/world/dialoguesubview.cpp @@ -24,6 +24,7 @@ #include "../../model/world/idtable.hpp" #include "../../model/world/columns.hpp" #include "../../model/world/record.hpp" +#include "../../model/world/tablemimedata.hpp" #include "recordstatusdelegate.hpp" #include "util.hpp" @@ -115,7 +116,19 @@ QWidget* CSVWorld::DialogueDelegateDispatcherProxy::getEditor() const void CSVWorld::DialogueDelegateDispatcherProxy::tableMimeDataDropped(const std::vector& data) { - std::cout<<"Test!"<(mEditor); + if (lineEdit && mIndexWrapper.get()) + { + lineEdit->setText(data[i].getId().c_str()); + emit editorDataCommited(mEditor, mIndexWrapper->mIndex, mDisplay); + break; + } + } + } } /* ==============================DialogueDelegateDispatcher========================================== @@ -242,6 +255,11 @@ QWidget* CSVWorld::DialogueDelegateDispatcher::makeEditor(CSMWorld::ColumnBase:: connect(editor, SIGNAL(currentIndexChanged (int)), proxy, SLOT(editorDataCommited())); skip = true; } + if(!skip && qobject_cast(editor)) + { + connect(editor, SIGNAL(editingFinished()), proxy, SLOT(editorDataCommited())); + skip = true; + } connect(proxy, SIGNAL(editorDataCommited(QWidget*, const QModelIndex&, CSMWorld::ColumnBase::Display)), this, SLOT(editorDataCommited(QWidget*, const QModelIndex&, CSMWorld::ColumnBase::Display))); mProxys.push_back(proxy); //deleted in the destructor diff --git a/apps/opencs/view/world/dialoguesubview.hpp b/apps/opencs/view/world/dialoguesubview.hpp index e133041b8..df985d5f8 100644 --- a/apps/opencs/view/world/dialoguesubview.hpp +++ b/apps/opencs/view/world/dialoguesubview.hpp @@ -90,7 +90,7 @@ namespace CSVWorld QObject* mParent; - CSMWorld::IdTable* mTable; //nor sure if it is needed TODO + CSMWorld::IdTable* mTable; QUndoStack& mUndoStack;