diff --git a/apps/opencs/view/world/creator.hpp b/apps/opencs/view/world/creator.hpp index b9dc5629f..54342ccdc 100644 --- a/apps/opencs/view/world/creator.hpp +++ b/apps/opencs/view/world/creator.hpp @@ -1,10 +1,12 @@ #ifndef CSV_WORLD_CREATOR_H #define CSV_WORLD_CREATOR_H +#include + namespace CSVWorld { /// \brief Record creator UI base class - class Creator + class Creator : public QWidget { public: diff --git a/apps/opencs/view/world/table.cpp b/apps/opencs/view/world/table.cpp index d8a840be4..441828e69 100644 --- a/apps/opencs/view/world/table.cpp +++ b/apps/opencs/view/world/table.cpp @@ -148,7 +148,7 @@ CSVWorld::Table::Table (const CSMWorld::UniversalId& id, CSMWorld::Data& data, Q if (createAndDelete) { mCreateAction = new QAction (tr ("Add Record"), this); - connect (mCreateAction, SIGNAL (triggered()), this, SLOT (createRecord())); + connect (mCreateAction, SIGNAL (triggered()), this, SIGNAL (createRequest())); addAction (mCreateAction); } diff --git a/apps/opencs/view/world/table.hpp b/apps/opencs/view/world/table.hpp index dd8e82ed7..913f04889 100644 --- a/apps/opencs/view/world/table.hpp +++ b/apps/opencs/view/world/table.hpp @@ -67,6 +67,8 @@ namespace CSVWorld /// \param deleted Number of deleted records /// \param modified Number of added and modified records + void createRequest(); + private slots: void createRecord(); @@ -82,6 +84,7 @@ namespace CSVWorld void tableSizeUpdate(); void selectionSizeUpdate(); + }; } diff --git a/apps/opencs/view/world/tablebottombox.cpp b/apps/opencs/view/world/tablebottombox.cpp index bc90ebbc2..a48325575 100644 --- a/apps/opencs/view/world/tablebottombox.cpp +++ b/apps/opencs/view/world/tablebottombox.cpp @@ -60,6 +60,8 @@ CSVWorld::TableBottomBox::TableBottomBox (const CreatorFactoryBase& creatorFacto setLayout (layout); mCreator = creatorFactory.makeCreator(); + + layout->addWidget (mCreator); } CSVWorld::TableBottomBox::~TableBottomBox() @@ -118,4 +120,10 @@ void CSVWorld::TableBottomBox::tableSizeChanged (int size, int deleted, int modi if (changed) updateStatus(); +} + +#include +void CSVWorld::TableBottomBox::createRequest() +{ + std::cout<<"create"<tableSizeUpdate(); mTable->selectionSizeUpdate(); + + if (mBottom->canCreateAndDelete()) + connect (mTable, SIGNAL (createRequest()), mBottom, SLOT (createRequest())); } void CSVWorld::TableSubView::setEditLock (bool locked)