]> git.lyx.org Git - features.git/commitdiff
It seems that commit 17167 was not enough to ensure that the proper hide/show/update...
authorAbdelrazak Younes <younes@lyx.org>
Thu, 15 Feb 2007 10:16:35 +0000 (10:16 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Thu, 15 Feb 2007 10:16:35 +0000 (10:16 +0000)
* QDialogView.h:
  - QDialogView::forms() now requires a QWidget instead of a QDialog. This will allow us to use DockWidget in the future.
  - QView class code simplification: implement inline instead of repeating in the same file.
  - QView::forms() now returns the real object.
  - QController class code simplification: implement inline instead of repeating in the same file.

* QDocumentDialog::update(): renamed to updateParams() to avoid clash with QWidget::update()

* QPrefsDialog::update(): renamed to updateRc() to avoid clash with QWidget::update()

* QTexinfoDialog::update(): now public so that it can be used in QDialogView.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17195 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/QDialogView.h
src/frontends/qt4/QDocument.C
src/frontends/qt4/QDocumentDialog.C
src/frontends/qt4/QDocumentDialog.h
src/frontends/qt4/QPrefs.C
src/frontends/qt4/QPrefsDialog.C
src/frontends/qt4/QPrefsDialog.h
src/frontends/qt4/QTexinfoDialog.h

index 51530b00f9f62a7bd74e4a57079951cc0ac78bb5..6a91b99d5933c7eb757982347a7ead88348a6a62 100644 (file)
@@ -17,7 +17,7 @@
 #include <boost/scoped_ptr.hpp>
 
 #include <QApplication>
-#include <QDialog>
+#include <QWidget>
 #include <QObject>
 
 namespace lyx {
@@ -80,103 +80,64 @@ public Q_SLOTS:
        void slotClose();
 private:
        /// Pointer to the actual instantiation of the Qt dialog
-       virtual QDialog * form() const = 0;
+       virtual QWidget * form() const = 0;
 };
 
 
 template <class GUIDialog>
 class QView: public QDialogView {
 protected:
-       QView(Dialog &, docstring const &);
+       QView(Dialog & p, docstring const & t): QDialogView(p, t)
+       {}
+
+       virtual ~QView() {}
 
        /// update the dialog
-       virtual void update();
+       virtual void update() {
+               dialog_->setUpdatesEnabled(false);
+
+               // protect the BC from unwarranted state transitions
+               updating_ = true;
+               update_contents();
+               updating_ = false;
+
+               dialog_->setUpdatesEnabled(true);
+               dialog_->update();
+       }
 
        /// Build the dialog
-       virtual void build();
+       virtual void build() {
+               // protect the BC from unwarranted state transitions
+               updating_ = true;
+               build_dialog();
+               updating_ = false;
+       }
 
        /// Pointer to the actual instantiation of the Qt dialog
-       virtual QDialog * form() const;
+       virtual GUIDialog * form() const { return dialog_.get(); }
 
        /// Real GUI implementation.
        boost::scoped_ptr<GUIDialog> dialog_;
-
 };
 
 
-template <class GUIDialog>
-QView<GUIDialog>::QView(Dialog & p, docstring const & t)
-       : QDialogView(p, t)
-{}
-
-
-template <class GUIDialog>
-QDialog * QView<GUIDialog>::form() const
-{
-       return dialog_.get();
-}
-
-
-template <class GUIDialog>
-void QView<GUIDialog>::update()
-{
-       form()->setUpdatesEnabled(false);
-
-       // protect the BC from unwarranted state transitions
-
-       updating_ = true;
-       update_contents();
-       updating_ = false;
-
-       form()->setUpdatesEnabled(true);
-       form()->update();
-}
-
-
-template <class GUIDialog>
-void QView<GUIDialog>::build()
-{
-       // protect the BC from unwarranted state transitions
-
-       updating_ = true;
-       build_dialog();
-       updating_ = false;
-}
-
-
 template <class Controller, class Base>
 class QController: public Base
 {
 protected:
        ///
-       QController(Dialog &, docstring const &);
+       QController(Dialog & p, docstring const & t): Base(p, t)
+       {}
 public:
        /// The parent controller
-       Controller & controller();
+       Controller & controller()
+       { return static_cast<Controller &>(this->getController()); }
+
        /// The parent controller
-       Controller const & controller() const;
+       Controller const & controller() const
+       { return static_cast<Controller const &>(this->getController()); }
 };
 
-
-template <class Controller, class Base>
-QController<Controller, Base>::QController(Dialog & p, docstring const & t)
-       : Base(p, t)
-{}
-
-
-template <class Controller, class Base>
-Controller & QController<Controller, Base>::controller()
-{
-       return static_cast<Controller &>(this->getController());
-}
-
-
-template <class Controller, class Base>
-Controller const & QController<Controller, Base>::controller() const
-{
-       return static_cast<Controller const &>(this->getController());
-}
-
 } // namespace frontend
 } // namespace lyx
 
index e357eee876a863668513c9e82c01dcaf102faadd..b0dbab59ae3e371677a3c6eee223c3927739c4d5 100644 (file)
@@ -75,7 +75,7 @@ void QDocument::update_contents()
        if (!dialog_.get())
                return;
 
-       dialog_->update(controller().params());
+       dialog_->updateParams(controller().params());
 }
 
 void QDocument::saveDocDefault()
index 4aeb63936a8c6d6aa1deefe774001aca248fb698..90aa6de8600c6c2b775a8ba601c48bb7e1c474cd 100644 (file)
@@ -888,7 +888,7 @@ findPos(std::vector<A> const & vec, A const & val)
 } // namespace anom
 
 
-void QDocumentDialog::update(BufferParams const & params)
+void QDocumentDialog::updateParams(BufferParams const & params)
 {
        // set the default unit
        // FIXME: move to controller
index d0b2ecf019a8f392d15a54c7ebfb50d5bf900438..8a0638ec549653a6958a38a5da29e9686073d415 100644 (file)
@@ -58,7 +58,7 @@ public:
        QDocumentDialog(QDocument *);
        ~QDocumentDialog();
 
-       void update(BufferParams const & params);
+       void updateParams(BufferParams const & params);
        void apply(BufferParams & params);
 
        void updateFontsize(std::string const &, std::string const &);
index 3bd30f2799a1dcddea7ddf4b0f34c1de4b8b3e31..09b9465412f9b522e7332df03f11deb07e946eea 100644 (file)
@@ -67,7 +67,7 @@ void QPrefs::apply()
 
 void QPrefs::update_contents()
 {
-       dialog_->update(controller().rc());
+       dialog_->updateRc(controller().rc());
 }
 
 } // namespace frontend
index 213ffd14dbc2fe4365c0fa9e2d4df71469febaf6..3bc07d65689043d32f75aa18a6d0d8dc5d666518 100644 (file)
@@ -1858,7 +1858,7 @@ void QPrefsDialog::apply(LyXRC & rc) const
 }
 
 
-void QPrefsDialog::update(LyXRC const & rc)
+void QPrefsDialog::updateRc(LyXRC const & rc)
 {
        size_t end = modules_.size();
        for (size_t i = 0; i != end; ++i)
index 57cabebdfe3b34655afcc02e6f4a1124ff4f433f..212055ba1349a417528c038222808fd6c3383606 100644 (file)
@@ -371,7 +371,7 @@ public:
        ~QPrefsDialog();
 
        void apply(LyXRC & rc) const;
-       void update(LyXRC const & rc);
+       void updateRc(LyXRC const & rc);
 
 public Q_SLOTS:
        void change_adaptor();
index 9074518d951e31929f58c126a04ab31da9cc3469..f323cc90e0592f3a30ca305b45dbeb85cafd886b 100644 (file)
@@ -26,11 +26,12 @@ class QTexinfoDialog : public QDialog, public Ui::QTexinfoUi {
        Q_OBJECT
 public:
        QTexinfoDialog(QTexinfo * form);
+public Q_SLOTS:
+       virtual void update();
 protected Q_SLOTS:
        virtual void change_adaptor();
        virtual void rescanClicked();
        virtual void viewClicked();
-       virtual void update();
        virtual void enableViewPB();
 protected:
        virtual void closeEvent(QCloseEvent * e);