This implements the "Save as default" and "Use class defaults" features in the qt document dialog.
Thanks, Jürgen.
Index: src/frontends/controllers/ChangeLog =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/controllers/ChangeLog,v retrieving revision 1.247 diff -u -r1.247 ChangeLog --- src/frontends/controllers/ChangeLog 2002/11/06 08:56:26 1.247 +++ src/frontends/controllers/ChangeLog 2002/11/07 09:48:48 @@ -1,3 +1,7 @@ +2002-11-07 Juergen Spitzmueller <[EMAIL PROTECTED]> + + * ControlDocument.C: (SaveAsDefault) add question. + 2002-11-06 Angus Leeming <[EMAIL PROTECTED]> * biblio.C: clean-up of the code. No change in functionality. Index: src/frontends/controllers/ControlDocument.C =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/controllers/ControlDocument.C,v retrieving revision 1.4 diff -u -r1.4 ControlDocument.C --- src/frontends/controllers/ControlDocument.C 2002/10/21 17:38:08 1.4 +++ src/frontends/controllers/ControlDocument.C 2002/11/07 09:48:48 @@ -147,6 +147,11 @@ void ControlDocument::saveAsDefault() { + if (!Alert::askQuestion(_("Do you want to save the current settings"), + _("for the document layout as default?"), + _("(they will be valid for any new document)"))) + return; + lv_.buffer()->params.preamble = bp_->preamble; string const fname = AddName(AddPath(user_lyxdir, "templates/"), Index: src/frontends/qt2/ChangeLog =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/ChangeLog,v retrieving revision 1.267 diff -u -r1.267 ChangeLog --- src/frontends/qt2/ChangeLog 2002/11/07 00:21:28 1.267 +++ src/frontends/qt2/ChangeLog 2002/11/07 09:48:52 @@ -1,3 +1,10 @@ +2002-11-27 Juergen Spitzmueller <[EMAIL PROTECTED]> + + * ui/QDocument.ui: + * QDocumentDialog.C: + * QDocument.[Ch]: + Implement "Save as default" and "Use class defaults" + 2002-11-07 John Levon <[EMAIL PROTECTED]> * QGraphics.[Ch]: Index: src/frontends/qt2/QDocument.C =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QDocument.C,v retrieving revision 1.19 diff -u -r1.19 QDocument.C --- src/frontends/qt2/QDocument.C 2002/10/20 01:48:27 1.19 +++ src/frontends/qt2/QDocument.C 2002/11/07 09:48:53 @@ -594,3 +594,21 @@ dialog_->marginsModule->footskipLE->setText( tostr(LyXLength(params.footskip).value()).c_str()); } + + +void QDocument::saveDocDefault() +{ + // we have to apply the params first + apply(); + controller().saveAsDefault(); +} + +void QDocument::useClassDefaults() +{ + BufferParams & params = controller().params(); + + params.textclass = dialog_->layoutModule->classCO->currentItem(); + params.useClassDefaults(); + update_contents(); +} + Index: src/frontends/qt2/QDocument.h =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QDocument.h,v retrieving revision 1.11 diff -u -r1.11 QDocument.h --- src/frontends/qt2/QDocument.h 2002/10/20 01:48:27 1.11 +++ src/frontends/qt2/QDocument.h 2002/11/07 09:48:53 @@ -41,6 +41,10 @@ void update_contents(); /// build the dialog void build_dialog(); + /// save as default template + void saveDocDefault(); + /// reset to default params + void useClassDefaults(); /// std::vector<string> lang_; }; Index: src/frontends/qt2/QDocumentDialog.C =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QDocumentDialog.C,v retrieving revision 1.5 diff -u -r1.5 QDocumentDialog.C --- src/frontends/qt2/QDocumentDialog.C 2002/10/20 01:48:27 1.5 +++ src/frontends/qt2/QDocumentDialog.C 2002/11/07 09:48:54 @@ -310,8 +310,10 @@ /* * public slot */ -void QDocumentDialog::saveDocDefault() -{} +void QDocumentDialog::saveDefaultClicked() +{ + form_->saveDocDefault(); +} /* @@ -326,9 +328,9 @@ /* * public slot */ -void QDocumentDialog::useClassDefaults() +void QDocumentDialog::useDefaultsClicked() { - qWarning( "DocumentDialog::useClassDefaults() not yet implemented!" ); + form_->useClassDefaults(); } Index: src/frontends/qt2/QDocumentDialog.h =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QDocumentDialog.h,v retrieving revision 1.5 diff -u -r1.5 QDocumentDialog.h --- src/frontends/qt2/QDocumentDialog.h 2002/10/20 01:48:27 1.5 +++ src/frontends/qt2/QDocumentDialog.h 2002/11/07 09:48:54 @@ -50,9 +50,9 @@ public slots: void setTitle(int); void change_adaptor(); - void saveDocDefault(); + void saveDefaultClicked(); void restore(); - void useClassDefaults(); + void useDefaultsClicked(); protected slots: void setLSpacing(int); void setMargins(int); Index: src/frontends/qt2/ui/QDocumentDialog.ui =================================================================== RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/ui/QDocumentDialog.ui,v retrieving revision 1.6 diff -u -r1.6 QDocumentDialog.ui --- src/frontends/qt2/ui/QDocumentDialog.ui 2002/10/09 08:59:02 1.6 +++ src/frontends/qt2/ui/QDocumentDialog.ui 2002/11/07 09:48:55 @@ -13,7 +13,7 @@ <rect> <x>0</x> <y>0</y> - <width>468</width> + <width>465</width> <height>363</height> </rect> </property> @@ -66,6 +66,10 @@ <name>text</name> <string>Use Class Defaults</string> </property> + <property> + <name>toolTip</name> + <string>Reset default params of the current class</string> + </property> </widget> <widget> <class>QPushButton</class> @@ -84,6 +88,10 @@ <name>text</name> <string>Save as Document Defaults</string> </property> + <property> + <name>toolTip</name> + <string>Save settings as LyX's default template</string> + </property> </widget> </hbox> </widget> @@ -265,7 +273,7 @@ <images> <image> <name>image0</name> - <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1ddec44f503c0ae2a154410f53d0ed20e2bf6bdb656dd6861dd23d9a66591b0587fd1654235ebded6f0edcd53e419d87ae7b1f4f9b8f906d0bfe012317426a70b07bdc2f3ec77f8ed6b89559061a0343d06a124cc105596482585094bc0ae599b04646c9018926491b2205e140c485cace25755c175d0a967b622ff900b8cc9c7d29af594ea722d589167f813aa852ba07d94b9dce296e883fe7bb163f23896753</data> + <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data> </image> </images> <connections> @@ -281,7 +289,21 @@ <receiver>QDocumentDialogBase</receiver> <slot>setTitle(int)</slot> </connection> + <connection> + <sender>savePB</sender> + <signal>clicked()</signal> + <receiver>QDocumentDialogBase</receiver> + <slot>saveDefaultClicked()</slot> + </connection> + <connection> + <sender>defaultPB</sender> + <signal>clicked()</signal> + <receiver>QDocumentDialogBase</receiver> + <slot>useDefaultsClicked()</slot> + </connection> <slot access="public">change_adaptor()</slot> + <slot access="protected">useDefaultsClicked()</slot> + <slot access="protected">saveDefaultClicked()</slot> <slot access="public">setTitle(int)</slot> </connections> </UI>