From c7b3e139aa622488fd169183483ec13320a6b7b4 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Thu, 20 Feb 2014 11:07:04 +0100 Subject: [PATCH] Propagate signal to the edit widget --- apps/opencs/view/filter/editwidget.cpp | 14 ++++++++++++++ apps/opencs/view/filter/editwidget.hpp | 2 ++ apps/opencs/view/filter/filterbox.cpp | 17 +++-------------- apps/opencs/view/filter/filterbox.hpp | 4 +--- apps/opencs/view/filter/recordfilterbox.cpp | 3 +++ apps/opencs/view/filter/recordfilterbox.hpp | 1 + apps/opencs/view/world/tablesubview.cpp | 2 +- 7 files changed, 25 insertions(+), 18 deletions(-) diff --git a/apps/opencs/view/filter/editwidget.cpp b/apps/opencs/view/filter/editwidget.cpp index 708d45032..997ecf546 100644 --- a/apps/opencs/view/filter/editwidget.cpp +++ b/apps/opencs/view/filter/editwidget.cpp @@ -56,3 +56,17 @@ void CSVFilter::EditWidget::filterRowsInserted (const QModelIndex& parent, int s { textChanged (text()); } + +void CSVFilter::EditWidget::createFilterRequest (std::vector< std::pair< std::string, std::vector< std::string > > >& filterSource) +{ + for (unsigned i = 0; i < filterSource.size(); ++i) //test + { + std::cout< > >& filterSource); }; } diff --git a/apps/opencs/view/filter/filterbox.cpp b/apps/opencs/view/filter/filterbox.cpp index 8996060c3..b07df550e 100644 --- a/apps/opencs/view/filter/filterbox.cpp +++ b/apps/opencs/view/filter/filterbox.cpp @@ -25,6 +25,9 @@ CSVFilter::FilterBox::FilterBox (CSMWorld::Data& data, QWidget *parent) SIGNAL (filterChanged (boost::shared_ptr)), this, SIGNAL (recordFilterChanged (boost::shared_ptr))); + connect(this, SIGNAL(createFilterRequest(std::vector > >&)), + recordFilterBox, SIGNAL(createFilterRequest(std::vector > >&))); + setAcceptDrops(true); } @@ -44,17 +47,3 @@ void CSVFilter::FilterBox::dragMoveEvent (QDragMoveEvent* event) { event->accept(); } - -void CSVFilter::FilterBox::createFilter (std::vector< std::pair< std::string, std::vector< std::string > > >& filterSource) -{ - for (unsigned i = 0; i < filterSource.size(); ++i) //test - { - std::cout< > >& filterSource); - signals: void recordFilterChanged (boost::shared_ptr filter); void recordDropped (std::vector& types); + void createFilterRequest(std::vector > >& filterSource); }; } diff --git a/apps/opencs/view/filter/recordfilterbox.cpp b/apps/opencs/view/filter/recordfilterbox.cpp index c405177b0..2eaf45ad9 100644 --- a/apps/opencs/view/filter/recordfilterbox.cpp +++ b/apps/opencs/view/filter/recordfilterbox.cpp @@ -24,4 +24,7 @@ CSVFilter::RecordFilterBox::RecordFilterBox (CSMWorld::Data& data, QWidget *pare connect ( editWidget, SIGNAL (filterChanged (boost::shared_ptr)), this, SIGNAL (filterChanged (boost::shared_ptr))); + + connect(this, SIGNAL(createFilterRequest(std::vector > >&)), + editWidget, SLOT(createFilterRequest(std::vector > >&))); } diff --git a/apps/opencs/view/filter/recordfilterbox.hpp b/apps/opencs/view/filter/recordfilterbox.hpp index 057d69518..454e34129 100644 --- a/apps/opencs/view/filter/recordfilterbox.hpp +++ b/apps/opencs/view/filter/recordfilterbox.hpp @@ -27,6 +27,7 @@ namespace CSVFilter signals: void filterChanged (boost::shared_ptr filter); + void createFilterRequest(std::vector > >& filterSource); }; } diff --git a/apps/opencs/view/world/tablesubview.cpp b/apps/opencs/view/world/tablesubview.cpp index e57016d34..581daba68 100644 --- a/apps/opencs/view/world/tablesubview.cpp +++ b/apps/opencs/view/world/tablesubview.cpp @@ -66,7 +66,7 @@ CSVWorld::TableSubView::TableSubView (const CSMWorld::UniversalId& id, CSMDoc::D this, SLOT(createFilterRequest(std::vector&))); connect(this, SIGNAL(createFilterRequest(std::vector > >&)), - filterBox, SLOT(createFilter(std::vector > >&))); + filterBox, SIGNAL(createFilterRequest(std::vector > >&))); } void CSVWorld::TableSubView::setEditLock (bool locked)