From 9068fa3b33c976c7105dca5bee02cba1a391cb88 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Fri, 29 Nov 2002 10:16:58 +0000 Subject: [PATCH] Fix bug 749: xforms gui prefs not saved. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5748 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ChangeLog | 12 +++++++++++ src/frontends/controllers/ControlButtons.h | 12 +++++------ src/frontends/controllers/ControlPrefs.C | 10 ++++----- src/frontends/controllers/ControlPrefs.h | 3 --- src/frontends/xforms/ChangeLog | 5 +++++ src/frontends/xforms/FormPreferences.C | 25 ++++++---------------- 6 files changed, 34 insertions(+), 33 deletions(-) diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index 097d2d20bf..0d0acd4993 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,15 @@ +2002-11-29 Angus Leeming + + * ControlButtons.h (isClosing): make it public, so that the view can + see it too. + (OKButton): no longer virtual. ControlPrefs should use isClosing() from + within apply. + + * ControlPrefs.[Ch] (OKButton): removed. + + * ControlPrefs.C (apply): dispatch a LFUN_SAVEPREFERENCES if the + dialog isClosing(). (Ie, if the "save" button has been pressed.) + 2002-11-28 John Levon * ControlSpellchecker.C: fix Lars' broken cleanup diff --git a/src/frontends/controllers/ControlButtons.h b/src/frontends/controllers/ControlButtons.h index e1600a2d79..07b7f7e274 100644 --- a/src/frontends/controllers/ControlButtons.h +++ b/src/frontends/controllers/ControlButtons.h @@ -49,8 +49,8 @@ public: */ /// void ApplyButton(); - /// virtual for ControlPrefs - virtual void OKButton(); + /// + void OKButton(); /// void CancelButton(); /// @@ -66,14 +66,14 @@ public: void setView(ViewBase &); /// void setButtonController(ButtonControllerBase &); -protected: - /// - ViewBase & view(); - /** When Applying it's useful to know whether the dialog is about to close or not (no point refreshing the display for example). */ bool isClosing() const { return is_closing_; } +protected: + /// + ViewBase & view(); + /// Get changed parameters and Dispatch them to the kernel. virtual void apply() = 0; /// Disconnect signals and hide View. diff --git a/src/frontends/controllers/ControlPrefs.C b/src/frontends/controllers/ControlPrefs.C index 499968c329..fea1d823c1 100644 --- a/src/frontends/controllers/ControlPrefs.C +++ b/src/frontends/controllers/ControlPrefs.C @@ -48,13 +48,11 @@ void ControlPrefs::apply() { view().apply(); lyxrc = rc_; -} - -void ControlPrefs::OKButton() -{ - ControlDialogBI::OKButton(); - lv_.dispatch(FuncRequest(LFUN_SAVEPREFERENCES)); + // The Save button has been pressed + if (isClosing()) { + lv_.dispatch(FuncRequest(LFUN_SAVEPREFERENCES)); + } } diff --git a/src/frontends/controllers/ControlPrefs.h b/src/frontends/controllers/ControlPrefs.h index 2c0afe5f8d..bbdb54d8b4 100644 --- a/src/frontends/controllers/ControlPrefs.h +++ b/src/frontends/controllers/ControlPrefs.h @@ -39,9 +39,6 @@ public: LyXRC const & rc() const { return rc_; } - /// make OK do the save - virtual void OKButton(); - /// various file pickers string const browsebind(string const & file); string const browseUI(string const & file); diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index afedbb3f6c..605169f722 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,8 @@ +2002-11-29 Angus Leeming + + * FormPreferences.C (apply): if controller().isClosing() (ie, if the + "save" button has been pressed), then save any modified gui colors. + 2002-11-29 Angus Leeming * forms_gettext.[Ch] (scex, idex): re-written to receive and return diff --git a/src/frontends/xforms/FormPreferences.C b/src/frontends/xforms/FormPreferences.C index 05729deb1a..8d29e5e33b 100644 --- a/src/frontends/xforms/FormPreferences.C +++ b/src/frontends/xforms/FormPreferences.C @@ -135,24 +135,6 @@ void FormPreferences::redraw() } -#if 0 -void FormPreferences::ok() -{ - FormBaseDeprecated::ok(); - -// FIXME !! - if (colors_.modifiedXformsPrefs) { - string const filename = - AddName(user_lyxdir, "preferences.xform"); - colors_.modifiedXformsPrefs = !XformsColor::write(filename); - } - - lv_.dispatch(FuncRequest(LFUN_SAVEPREFERENCES)); -} -#endif - - - void FormPreferences::hide() { // We need to hide the active tabfolder otherwise we get a @@ -302,6 +284,13 @@ void FormPreferences::apply() printer_.apply(rc); screen_fonts_.apply(rc); spelloptions_.apply(rc); + + // The "Save" button has been pressed. + if (controller().isClosing() && colors_.modifiedXformsPrefs) { + string const filename = + AddName(user_lyxdir, "preferences.xform"); + colors_.modifiedXformsPrefs = !XformsColor::write(filename); + } } -- 2.39.5