From 6f0cc0cecd6973a3edfff561c5ce554c75c9fd0f Mon Sep 17 00:00:00 2001 From: Tommaso Cucinotta Date: Fri, 30 Dec 2011 21:26:51 +0000 Subject: [PATCH] Moving the GUI consistency update to a more meaningful moment, i.e., when Dialog::updateView() is called. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40549 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/FindAndReplace.cpp | 21 ++++++++++++++++----- src/frontends/qt4/FindAndReplace.h | 3 ++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/frontends/qt4/FindAndReplace.cpp b/src/frontends/qt4/FindAndReplace.cpp index 49753a639f..1d2a81d4f6 100644 --- a/src/frontends/qt4/FindAndReplace.cpp +++ b/src/frontends/qt4/FindAndReplace.cpp @@ -67,11 +67,6 @@ FindAndReplaceWidget::FindAndReplaceWidget(GuiView & view) bool FindAndReplaceWidget::eventFilter(QObject * obj, QEvent * event) { - bool replace_enabled = view_.documentBufferView() && !view_.documentBufferView()->buffer().isReadonly(); - replace_work_area_->setEnabled(replace_enabled); - replacePB->setEnabled(replace_enabled); - replaceallPB->setEnabled(replace_enabled); - if (event->type() != QEvent::KeyPress || (obj != find_work_area_ && obj != replace_work_area_)) return QWidget::eventFilter(obj, event); @@ -530,6 +525,12 @@ bool FindAndReplaceWidget::initialiseParams(std::string const & /*params*/) } +void FindAndReplace::updateView() +{ + widget_->updateGUI(); +} + + FindAndReplace::FindAndReplace(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags flags) : DockView(parent, "findreplaceadv", qt_("Advanced Find and Replace"), @@ -554,6 +555,16 @@ bool FindAndReplace::initialiseParams(std::string const & params) } +void FindAndReplaceWidget::updateGUI() +{ + bool replace_enabled = view_.documentBufferView() + && !view_.documentBufferView()->buffer().isReadonly(); + replace_work_area_->setEnabled(replace_enabled); + replacePB->setEnabled(replace_enabled); + replaceallPB->setEnabled(replace_enabled); +} + + Dialog * createGuiSearchAdv(GuiView & lv) { FindAndReplace * gui = new FindAndReplace(lv, Qt::RightDockWidgetArea); diff --git a/src/frontends/qt4/FindAndReplace.h b/src/frontends/qt4/FindAndReplace.h index cdb2449368..d2eaf4c1a1 100644 --- a/src/frontends/qt4/FindAndReplace.h +++ b/src/frontends/qt4/FindAndReplace.h @@ -39,6 +39,7 @@ class FindAndReplaceWidget : public QTabWidget, public Ui::FindAndReplaceUi public: FindAndReplaceWidget(GuiView & view); bool initialiseParams(std::string const & params); + void updateGUI(); private: /// @@ -90,7 +91,7 @@ public: void selectAll(); /// update - void updateView() {} + void updateView(); //virtual void update_contents() {} protected: -- 2.39.2