]> git.lyx.org Git - features.git/commitdiff
fix a couple of hard crashes, constify local variables, whitespace changes, some...
authorLars Gullik Bjønnes <larsbj@gullik.org>
Tue, 14 Nov 2000 02:01:57 +0000 (02:01 +0000)
committerLars Gullik Bjønnes <larsbj@gullik.org>
Tue, 14 Nov 2000 02:01:57 +0000 (02:01 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1215 a592a061-630c-0410-9148-cb99ea01b6c8

34 files changed:
ChangeLog
config/lyxinclude.m4
forms/layout_forms.h.patch
po/POTFILES.in
src/bufferlist.C
src/debug.C
src/debug.h
src/frontends/ButtonPolicies.h
src/frontends/xforms/ButtonController.C
src/frontends/xforms/Color.C
src/frontends/xforms/Color.h
src/frontends/xforms/Dialogs.C
src/frontends/xforms/FormBase.C
src/frontends/xforms/FormBase.h
src/frontends/xforms/FormCopyright.C
src/frontends/xforms/FormError.C
src/frontends/xforms/FormGraphics.C
src/frontends/xforms/FormIndex.C
src/frontends/xforms/FormInset.C
src/frontends/xforms/FormInset.h
src/frontends/xforms/FormPreferences.C
src/frontends/xforms/FormRef.C
src/frontends/xforms/FormRef.h
src/frontends/xforms/FormTabular.C
src/frontends/xforms/FormTabularCreate.C
src/frontends/xforms/FormUrl.C
src/layout_forms.h
src/lyx_cb.C
src/lyx_cb.h
src/lyx_gui_misc.C
src/lyxfunc.C
src/support/filetools.C
src/support/filetools.h
src/support/tempname.C

index d4879ea4add8bff6a9e0cd4ff693b5a7ba5a1ce2..0297db708a9b2624582fde6db276b26e269b7391 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,67 @@
+2000-11-14  Lars Gullik Bjønnes  <larsbj@lyx.org>
+
+       * src/support/tempname.C (tempName): small changes to make it
+       safer. remove the '.' before XXXXXX
+
+       * src/support/filetools.C (TmpFileName): remove func 
+       (GetCWD): ditto
+       
+       * src/frontends/xforms/FormRef.C (FormRef): explicit call the bp
+       * src/frontends/xforms/FormUrl.C (FormUrl): ditto
+       * src/frontends/xforms/FormTabularCreate.C (FormTabularCreate): ditto
+       * src/frontends/xforms/FormTabular.C (FormTabular): ditto
+
+       * src/frontends/xforms/FormInset.h (FormInset): remove default for bp
+       (FormCommand): ditto
+       
+       * src/frontends/xforms/FormGraphics.C (FormGraphics): explicit
+       call the bp
+
+       * src/frontends/xforms/FormError.C (FormError): use IgnorantPolicy
+       for bp (this fixes a reproducible hard crash)
+
+       * src/frontends/xforms/FormCopyright.C (FormCopyright): explicit
+       call the bp
+
+       * src/frontends/xforms/FormBase.h: make bp_ private
+       (FormBaseBI): remove default for bp
+       (FormBaseBD): ditto
+       
+       * src/frontends/xforms/Dialogs.C (Dialogs): use the old method it
+       is safe enough.
+
+       * src/frontends/xforms/Color.C (RGBColor): made several vars
+       const, changed initialization of j to allow it to be const
+       (HSVColor): similar
+
+       * several files: added const to local variables.
+       
+       * src/lyx_cb.C: removed several function prototypes and moved them
+       to lyx_cb.h
+       (MenuWrite):
+       (MenuWriteAs):
+       (UpdateLayoutPreamble): 
+       (MenuLayoutSave): 
+       (MenuInsertLabel): add BufferView as arguemnt
+       (LayoutsCB): make tmp const
+
+       * src/layout_forms.h: regenerated
+
+       * src/debug.C: add Debug::FILES
+       (showLevel) (showTags): translate the desc
+
+       * src/debug.h: add FILES as debug target
+
+       * src/bufferlist.C: use current_view as an interim measure becuase
+       of added arguments to MenuWrite and MenuWriteAs
+
+       * forms/layout_forms.h.patch: make the patch more correct and more appalyable
+
+       * config/lyxinclude.m4 (LYX_STD_COUNT): change test to not involve
+       string. 
+       (LYX_PROG_CXX): change 2.97 rules to include the -f.. that
+       libstdc++ is compiled with.
+
 2000-11-13  José Abílio Matos <jamatos@fep.up.pt>
        
        * lib/layouts/docbook-book.layout
index 5e202115541acece508d4d9936730a22738eded2..48a161666dc13986276a4b9cd7b8b0293bbe328c 100644 (file)
@@ -187,7 +187,7 @@ dnl Check the version of g++
       2.95.1)  CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti -fno-exceptions";;
       2.95.*)  CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
       2.96*)  CXXFLAGS="-g $lyx_opt -fno-exceptions";;
-      2.97*)   CXXFLAGS="-g $lyx_opt -fhonor-std -fno-builtin -ffunction-sectons -fdata-sections";;
+      2.97*)   CXXFLAGS="-g $lyx_opt -fvtable-thunks -fno-builtin -ffunction-sections -fdata-sections";;
       *2.91.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
       *)       CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
     esac
@@ -299,17 +299,15 @@ dnl    count template, if not the old HP version is assumed.
 AC_DEFUN(LYX_STD_COUNT,[
 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
  [AC_TRY_COMPILE([
-#include <string>
 #include <algorithm>
-using std::string;
 using std::count;
-int countChar(string const & a, char const c)
+int countChar(char * b, char * e, char const c)
 {
-        return count(a.begin(), a.end(), c);
+        return count(b, e, c);
 }
 ],[
-    string a("hello");
-    int i = countChar(a, 'l');
+    char a[] = "hello";
+    int i = countChar(a, a + 5, 'l');
 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
 ])
 if test $lyx_cv_std_count = yes ; then
index ba4cb7519a0de08a4f0df4cb9cf83f68b04941aa..1b2df965c253855d3c257706c44dea71bfed75f5 100644 (file)
@@ -1,7 +1,3 @@
-1c1
-< /** Header file generated with fdesign on Tue Sep 26 15:14:15 2000.**/
----
-> /** Header file generated with fdesign **/
 7,8c7,8
 < extern void CharacterApplyCB(FL_OBJECT *, long);
 < extern void CharacterCloseCB(FL_OBJECT *, long);
@@ -16,7 +12,3 @@
 > extern "C" void PreambleOKCB(FL_OBJECT *, long);
 > extern "C" void PreambleApplyCB(FL_OBJECT *, long);
 > extern "C" void PreambleCancelCB(FL_OBJECT *, long);
-13a14,16
-> /* Some extra funcs */
-> 
-> extern bool UpdateLayoutPreamble();
index cfcf30161702ce831e6a246162c5ebeb468f4f14..f2d01bce979d5b0d03bfb0dacf0a15e2c3304382 100644 (file)
@@ -10,6 +10,7 @@ src/converter.C
 src/credits.C
 src/credits_form.C
 src/CutAndPaste.C
+src/debug.C
 src/exporter.C
 src/ext_l10n.h
 src/filedlg.C
@@ -47,35 +48,35 @@ src/frontends/kde/refdlg.C
 src/frontends/kde/tocdlg.C
 src/frontends/kde/urldlg.C
 src/frontends/xforms/FormBase.h
-src/frontends/xforms/FormCitation.C
 src/frontends/xforms/form_citation.C
-src/frontends/xforms/FormCopyright.C
+src/frontends/xforms/FormCitation.C
 src/frontends/xforms/form_copyright.C
-src/frontends/xforms/FormDocument.C
+src/frontends/xforms/FormCopyright.C
 src/frontends/xforms/form_document.C
-src/frontends/xforms/FormError.C
+src/frontends/xforms/FormDocument.C
 src/frontends/xforms/form_error.C
-src/frontends/xforms/FormGraphics.C
+src/frontends/xforms/FormError.C
 src/frontends/xforms/form_graphics.C
-src/frontends/xforms/FormIndex.C
+src/frontends/xforms/FormGraphics.C
 src/frontends/xforms/form_index.C
+src/frontends/xforms/FormIndex.C
 src/frontends/xforms/FormInset.h
-src/frontends/xforms/FormParagraph.C
 src/frontends/xforms/form_paragraph.C
-src/frontends/xforms/FormPreferences.C
+src/frontends/xforms/FormParagraph.C
 src/frontends/xforms/form_preferences.C
-src/frontends/xforms/FormPrint.C
+src/frontends/xforms/FormPreferences.C
 src/frontends/xforms/form_print.C
-src/frontends/xforms/FormRef.C
+src/frontends/xforms/FormPrint.C
 src/frontends/xforms/form_ref.C
-src/frontends/xforms/FormTabular.C
+src/frontends/xforms/FormRef.C
 src/frontends/xforms/form_tabular.C
-src/frontends/xforms/FormTabularCreate.C
+src/frontends/xforms/FormTabular.C
 src/frontends/xforms/form_tabular_create.C
-src/frontends/xforms/FormToc.C
+src/frontends/xforms/FormTabularCreate.C
 src/frontends/xforms/form_toc.C
-src/frontends/xforms/FormUrl.C
+src/frontends/xforms/FormToc.C
 src/frontends/xforms/form_url.C
+src/frontends/xforms/FormUrl.C
 src/frontends/xforms/Menubar_pimpl.C
 src/gettext.h
 src/importer.C
index 99fcd4dd45370d9258f30b3f90e9e55a4c989e60..bbb10a162bdc6bd55a139d9c2769ec0f52fd9364 100644 (file)
@@ -47,6 +47,8 @@ using std::find_if;
 using std::for_each;
 using std::mem_fun;
 
+extern BufferView * current_view;
+
 //
 // Class BufferStorage
 //
@@ -92,9 +94,6 @@ bool BufferList::empty() const
 }
 
 
-extern bool MenuWrite(Buffer *);
-extern bool MenuWriteAs(Buffer *);
-
 bool BufferList::QwriteAll()
 {
         bool askMoreConfirmation = false;
@@ -114,9 +113,9 @@ bool BufferList::QwriteAll()
                                                       _("Save document?"))) {
                                case 1: // Yes
                                        if ((*it)->isUnnamed())
-                                               reask = !MenuWriteAs((*it));
+                                               reask = !MenuWriteAs(current_view, (*it));
                                        else {
-                                               reask = !MenuWrite((*it));
+                                               reask = !MenuWrite(current_view, (*it));
                                        }
                                        break;
                                case 2: // No
@@ -190,7 +189,7 @@ bool BufferList::close(Buffer * buf)
                                               _("Save document?"))){
                        case 1: // Yes
                                if (buf->isUnnamed())
-                                       reask = !MenuWriteAs(buf);
+                                       reask = !MenuWriteAs(current_view, buf);
                                else if (buf->save()) {
                                        lastfiles->newFile(buf->fileName());
                                        reask = false;
index ff4bdc7c48b4af01ea8525293e0798bcfcabf113..6c2029a18f19b9a2463ce23a07cae0284074b7f6 100644 (file)
 #endif
 
 #include <config.h>
-#include "debug.h"
 
 #include <iomanip>
 
+#include "debug.h"
+#include "gettext.h"
+
 using std::ostream;
 using std::setw;
 using std::endl;
@@ -27,26 +29,27 @@ struct error_item {
 };
 
 static error_item errorTags[] = {
-       { Debug::NONE,          "none",         "No debugging message"},
-       { Debug::INFO,          "info",         "General information"},
-       { Debug::INIT,          "init",         "Program initialisation"},
-       { Debug::KEY,           "key",          "Keyboard events handling"},
-       { Debug::GUI,           "gui",          "GUI handling"},
-       { Debug::PARSER,        "parser",       "Lyxlex grammer parser"},
-       { Debug::LYXRC,         "lyxrc",        "Configuration files reading"},
-       { Debug::KBMAP,         "kbmap",        "Custom keyboard definition"},
-       { Debug::LATEX,         "latex",        "LaTeX generation/execution"},
-       { Debug::MATHED,        "mathed",       "Math editor"},
-       { Debug::FONT,          "font",         "Font handling"},
-       { Debug::TCLASS,        "tclass",       "Textclass files reading"},
-       { Debug::LYXVC,         "lyxvc",        "Version control"},
-       { Debug::LYXSERVER,     "lyxserver",    "External control interface"},
-       { Debug::ROFF,          "roff",         "Keep *roff temporary files"},
-       { Debug::ACTION,        "action",       "User commands"},
-       { Debug::LYXLEX,        "lyxlex",       "The LyX Lexxer"},
-       { Debug::DEPEND,        "depend",       "Dependency information"},
-       { Debug::INSETS,        "insets",       "LyX Insets"},
-        { Debug::ANY,          "any",          "All debugging messages"}
+       { Debug::NONE,      "none",      N_("No debugging message")},
+       { Debug::INFO,      "info",      N_("General information")},
+       { Debug::INIT,      "init",      N_("Program initialisation")},
+       { Debug::KEY,       "key",       N_("Keyboard events handling")},
+       { Debug::GUI,       "gui",       N_("GUI handling")},
+       { Debug::PARSER,    "parser",    N_("Lyxlex grammer parser")},
+       { Debug::LYXRC,     "lyxrc",     N_("Configuration files reading")},
+       { Debug::KBMAP,     "kbmap",     N_("Custom keyboard definition")},
+       { Debug::LATEX,     "latex",     N_("LaTeX generation/execution")},
+       { Debug::MATHED,    "mathed",    N_("Math editor")},
+       { Debug::FONT,      "font",      N_("Font handling")},
+       { Debug::TCLASS,    "tclass",    N_("Textclass files reading")},
+       { Debug::LYXVC,     "lyxvc",     N_("Version control")},
+       { Debug::LYXSERVER, "lyxserver", N_("External control interface")},
+       { Debug::ROFF,      "roff",      N_("Keep *roff temporary files")},
+       { Debug::ACTION,    "action",    N_("User commands")},
+       { Debug::LYXLEX,    "lyxlex",    N_("The LyX Lexxer")},
+       { Debug::DEPEND,    "depend",    N_("Dependency information")},
+       { Debug::INSETS,    "insets",    N_("LyX Insets")},
+       { Debug::FILES,     "files",     N_("Files used by LyX")},
+        { Debug::ANY,       "any",       N_("All debugging messages")}
 };
 
 
@@ -58,7 +61,7 @@ Debug::type const Debug::ANY = Debug::type(
        Debug::PARSER | Debug::LYXRC | Debug::KBMAP | Debug::LATEX |
        Debug::MATHED | Debug::FONT | Debug::TCLASS | Debug::LYXVC |
        Debug::LYXSERVER | Debug::ROFF | Debug::ACTION | Debug::LYXLEX |
-       Debug::DEPEND | Debug::INSETS);
+       Debug::DEPEND | Debug::INSETS | Debug::FILES);
 
 
 Debug::type Debug::value(string const & val) 
@@ -94,8 +97,8 @@ void Debug::showLevel(ostream & o, Debug::type level)
                if (errorTags[i].level != Debug::ANY
                    && errorTags[i].level != Debug::NONE
                    && errorTags[i].level & level)
-                       o << "Debugging `" << errorTags[i].name
-                         << "' (" << errorTags[i].desc << ')' << endl;
+                       o << _("Debugging `") << errorTags[i].name
+                         << "' (" << _(errorTags[i].desc) << ')' << endl;
 }
 
 
@@ -104,6 +107,6 @@ void Debug::showTags(ostream & os)
        for (int i = 0 ; i < numErrorTags ; ++i)
                os << setw(7) << errorTags[i].level
                   << setw(10) << errorTags[i].name
-                  << "  " << errorTags[i].desc << '\n';
+                  << "  " << _(errorTags[i].desc) << '\n';
        os.flush();
 }
index 2da53c16ba2346373cfc4b03dacb73ed51799fb6..5f4701894c969c7ca73c720b87553a4da7b7fc84 100644 (file)
@@ -65,7 +65,9 @@ struct Debug {
                ///
                DEPEND     = (1 << 16),
                ///
-               INSETS     = (1 << 17)
+               INSETS     = (1 << 17),
+               ///
+               FILES      = (1 << 18)
        };
        ///
 //     static const type ANY = type(INFO | INIT | KEY | GUI |
index a552917fcef5073cd8104df4a45559fa02598ae4..94f3eea983a740da1d9d82ce03352d6574d302db 100644 (file)
@@ -221,8 +221,10 @@ private:
     The state machine design for this policy allows changes to occur within
     the dialog while a file is read-only -- the okay button is disabled until
     a read-write input is given.  When the file is made read-write the dialog
-    will then be in the correct state (as if the file had always been read-write).
-    Note: This scheme supports the relabelling of Cancel to Close and vice versa.
+    will then be in the correct state (as if the file had always been
+    read-write).
+    Note: This scheme supports the relabelling of Cancel to Close
+    and vice versa.
     This is based on the value of the bool state of the Button::CANCEL.
     true == Cancel, false == Close
  */
@@ -256,16 +258,18 @@ private:
 };
 
 
-/** Ok, Apply and Cancel buttons for dialogs where read-only operation is blocked.
+/** Ok, Apply and Cancel buttons for dialogs where read-only operation
+    is blocked.
     Repeated Apply are not allowed.  Likewise,  Ok cannot follow Apply without
-    some valid input. That is, the dialog contents must change between each Apply
-    or Apply and Ok.
+    some valid input. That is, the dialog contents must change between
+    each Apply or Apply and Ok.
     The state machine design for this policy allows changes to occur within
     the dialog while a file is read-only -- the Ok+Apply buttons are disabled
     until a read-write input is given.  When the file is made read-write the
     dialog will then be in the correct state (as if the file had always been
     read-write).
-    Note: This scheme supports the relabelling of Cancel to Close and vice versa.
+    Note: This scheme supports the relabelling of Cancel to Close
+    and vice versa.
     This is based on the value of the bool state of the Button::CANCEL.
     true == Cancel, false == Close
  */
@@ -300,14 +304,16 @@ private:
 };
 
 
-/** Ok, Apply and Cancel buttons for dialogs where read-only operation is blocked.
+/** Ok, Apply and Cancel buttons for dialogs where read-only
+    operation is blocked.
     Repeated Apply is allowed.  Likewise,  Ok can follow Apply.
     The state machine design for this policy allows changes to occur within
     the dialog while a file is read-only -- the Ok+Apply buttons are disabled
     until a read-write input is given.  When the file is made read-write the
     dialog will then be in the correct state (as if the file had always been
     read-write).
-    Note: This scheme supports the relabelling of Cancel to Close and vice versa.
+    Note: This scheme supports the relabelling of Cancel to Close
+    and vice versa.
     This is based on the value of the bool state of the Button::CANCEL.
     true == Cancel, false == Close
  */
@@ -342,7 +348,8 @@ private:
 
 
 /** Ok, Apply and Cancel buttons for dialogs where repeated Apply is allowed.
-    Note: This scheme supports the relabelling of Cancel to Close and vice versa.
+    Note: This scheme supports the relabelling of Cancel to Close
+    and vice versa.
     This is based on the value of the bool state of the Button::CANCEL.
     true == Cancel, false == Close
  */
@@ -374,7 +381,8 @@ private:
 
 
 /** Ok, Apply and Cancel buttons for dialogs with no repeated Apply.
-    Note: This scheme supports the relabelling of Cancel to Close and vice versa.
+    Note: This scheme supports the relabelling of Cancel to Close
+    and vice versa.
     This is based on the value of the bool state of the Button::CANCEL.
     true == Cancel, false == Close
  */
@@ -407,7 +415,8 @@ private:
 
 /** Defines the policy used by the Preferences dialog.
     Four buttons: Ok (Save), Apply, Cancel/Close, Restore.
-    Note: This scheme supports the relabelling of Cancel to Close and vice versa.
+    Note: This scheme supports the relabelling of Cancel to Close
+    and vice versa.
     This is based on the value of the bool state of the Button::CANCEL.
     true == Cancel, false == Close
  */
index e79abaa47e1bf43174b7a6c9cf5cf011fe1e77f5..3ba27dbb33e077da14a239c2643aa8c1941cc7e6 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "ButtonController.h"
 #include "support/LAssert.h"
+//#include "debug.h"
 
 
 ButtonController::ButtonController(ButtonPolicy * bp,
@@ -88,6 +89,7 @@ void ButtonController::refresh()
 
 void ButtonController::input(ButtonPolicy::SMInput in)
 {
+       //lyxerr << "ButtonController::input: bp_[" << bp_ << "]" << endl;
        bp_->input(in);
        refresh();
 }
index ba09d4d833da983631766f85de37cc65d39e605c..b8035a58946f9ea53bb659f2dc8d2eda12cf4982 100644 (file)
@@ -28,29 +28,29 @@ using std::ofstream;
 
 static int const nohue = -1;
 
-RGBColor::RGBColor( HSVColor const & hsv )
+RGBColor::RGBColor(HSVColor const & hsv)
 {
        double h = hsv.h;
-       double s = hsv.s;
-       double v = hsv.v;
+       double const s = hsv.s;
+       double const v = hsv.v;
        
        double rd, gd, bd;
        
-       if( h == nohue || s == 0.0 ) {
+       if (h == nohue || s == 0.0) {
                rd = gd = bd = v;
        } else {
-               if( h == 360.0 ) h = 0.0;
+               if (h == 360.0) h = 0.0;
                h /= 60.0;
 
-               int j = static_cast<int>( ::floor(h) );
-               if( j < 0 ) j = 0;
+               int const j = max(0, static_cast<int>(::floor(h)));
+               //if( j < 0 ) j = 0;
 
-               double f = h - j;
-               double p = v * (1.0 - s);
-               double q = v * (1.0 - (s*f));
-               double t = v * (1.0 - (s*(1.0 - f)));
+               double const f = h - j;
+               double const p = v * (1.0 - s);
+               double const q = v * (1.0 - (s * f));
+               double const t = v * (1.0 - (s * (1.0 - f)));
 
-               switch( j ) {
+               switch (j) {
                case 0:
                        rd = v;
                        gd = t;
@@ -95,39 +95,39 @@ RGBColor::RGBColor( HSVColor const & hsv )
 }
 
 
-HSVColor::HSVColor( RGBColor const & rgb )
+HSVColor::HSVColor(RGBColor const & rgb)
 {
        // r, g, b lie in the range 0-1, not 0-255.
-       double r = rgb.r / 255.0;
-       double g = rgb.g / 255.0;
-       double b = rgb.b / 255.0;
+       double const r = rgb.r / 255.0;
+       double const g = rgb.g / 255.0;
+       double const b = rgb.b / 255.0;
 
-       double maxval = max( max( r, g ), b );
-       double minval = max( min( r, g ), b );
+       double const maxval = max( max( r, g ), b );
+       double const minval = max( min( r, g ), b );
 
        v = maxval;
 
-       double diff = maxval - minval;
-       if( maxval != 0.0 )
+       double const diff = maxval - minval;
+       if (maxval != 0.0)
                s = diff / maxval;
        else
                s = 0.0;
 
        h = nohue;
-       if( s != 0.0 ) {
-               double rc = (maxval - r) / diff;
-               double gc = (maxval - g) / diff;
-               double bc = (maxval - b) / diff;
+       if (s != 0.0) {
+               double const rc = (maxval - r) / diff;
+               double const gc = (maxval - g) / diff;
+               double const bc = (maxval - b) / diff;
 
-               if( r == maxval )
+               if (r == maxval)
                        h = bc - gc;
-               else if( g == maxval )
+               else if (g == maxval)
                        h = 2.0 + rc - bc;
-               else if( b == maxval )
+               else if (b == maxval)
                        h = 4.0 + gc - rc;
 
                h *= 60.0;
-               if ( h < 0 )
+               if (h < 0)
                        h += 360;
        }
 }
@@ -154,14 +154,14 @@ static const int xformCount = sizeof(xformTags) / sizeof(keyword_item);
 
 bool XformColor::read(string const & filename)
 {
-       LyXLex lexrc( xformTags, xformCount );
-       if( !lexrc.setFile( filename ) )
+       LyXLex lexrc(xformTags, xformCount);
+       if (!lexrc.setFile(filename))
                return false;
 
-       while( lexrc.IsOK() ) {
-               int le = lexrc.lex();
+       while (lexrc.IsOK()) {
+               int const le = lexrc.lex();
 
-               switch( le ) {
+               switch (le) {
                case LyXLex::LEX_UNDEF:
                        lexrc.printError("Unknown tag `$$Token'");
                        continue; 
@@ -172,13 +172,13 @@ bool XformColor::read(string const & filename)
 
                RGBColor col;
 
-               if( !lexrc.next() ) break;
+               if (!lexrc.next()) break;
                col.r = lexrc.GetInteger();
 
-               if( !lexrc.next() ) break;
+               if (!lexrc.next()) break;
                col.g = lexrc.GetInteger();
 
-               if( !lexrc.next() ) break;
+               if (!lexrc.next()) break;
                col.b = lexrc.GetInteger();
 
                fl_mapcolor(le, col.r, col.g, col.b);
@@ -207,14 +207,14 @@ bool XformColor::write(string const & filename)
           << "# modifications you should do them from inside LyX and save\n"
           << "\n";
 
-       for( int i = 0; i < xformCount; ++i ) {
-               string tag  = xformTags[i].tag;
-               int colorID = xformTags[i].code;
+       for (int i = 0; i < xformCount; ++i) {
+               string const tag  = xformTags[i].tag;
+               int const colorID = xformTags[i].code;
                RGBColor color;
 
                fl_getmcolor(colorID, &color.r, &color.g, &color.b);
 
-               os << tag + " "
+               os << tag << " "
                   << color.r << " " << color.g << " " << color.b << "\n";
        }
 
index 768b6ef3c060288e9a61d65c5f3c5bc9342e0396..8ce8548f05404f1fff5d98fd1e32de39ec4aadf6 100644 (file)
 
 #include "LString.h"
 
-class HSVColor;
-class RGBColor;
+struct RGBColor;
 
 struct HSVColor {
        double h;
        double s;
        double v;
        HSVColor() : h(0.0), s(0.0), v(0.0) {}
-       HSVColor(double hue, double sat, double val) : h(hue), s(sat), v(val) {}
-       HSVColor( RGBColor const & );
+       HSVColor(double hue, double sat, double val)
+               : h(hue), s(sat), v(val) {}
+       HSVColor(RGBColor const &);
 };
 
 struct RGBColor {
@@ -37,8 +37,9 @@ struct RGBColor {
        int g;
        int b;
        RGBColor() : r(0), g(0), b(0) {}
-       RGBColor(int red, int green, int blue) : r(red), g(green), b(blue) {}
-       RGBColor( HSVColor const & );
+       RGBColor(int red, int green, int blue)
+               : r(red), g(green), b(blue) {}
+       RGBColor(HSVColor const &);
 };
 
 typedef std::pair<string, RGBColor> X11Color;
@@ -49,9 +50,9 @@ struct XformColor {
        int colorID;
        RGBColor col;
        XformColor() : colorID(0) {}
-       string const getname() { return name; }
-       static bool read( string const & );
-       static bool write( string const & );
+       string const & getname() const { return name; }
+       static bool read(string const &);
+       static bool write(string const &);
 };
 
 inline
index 5384eda325dee0eebf63fcfd8aa97849a5f28dc9..85db8bee0c9af2963639575f86c09f9525f0e002 100644 (file)
@@ -26,6 +26,7 @@
 #include "FormTabularCreate.h"
 #include "FormToc.h"
 #include "FormUrl.h"
+#include "debug.h"
 
 #ifdef __GNUG__
 #pragma implementation
@@ -67,20 +68,12 @@ Dialogs::Dialogs(LyXView * lv)
 
 Dialogs::~Dialogs()
 {
-#if 0
-       // I belive that this is unsafe...
        for (vector<DialogBase *>::iterator iter = dialogs_.begin();
             iter != dialogs_.end();
             ++iter) {
+               lyxerr << "delete *iter" << endl;
                delete *iter;
        }
-#else
-       // I think this is better...
-       while (!dialogs_.empty()) {
-               delete dialogs_.back();
-               dialogs_.erase(dialogs_.end() - 1);
-       }
-#endif
 }
 
 
index 2df152677a5566e6343864d6c53be68c8d7f877b..ad845fd570e81194a04a036d36f676ad9cec1a0d 100644 (file)
@@ -22,6 +22,7 @@
 #include "LyXView.h"
 #include "xform_macros.h"
 #include "support/LAssert.h"
+//#include "debug.h"
 
 // The current scheme muddles debugging.
 // Can we please use some other means to create these functions?
@@ -54,20 +55,21 @@ FormBase::FormBase(LyXView * lv, Dialogs * d, string const & t,
 
 FormBase::~FormBase()
 {
+       //lyxerr << "bp_[" << bp_ << "]" << endl;
        delete bp_;
 }
 
 
 void FormBase::redraw()
 {
-       if( form() && form()->visible )
-               fl_redraw_form( form() );
+       if (form() && form()->visible)
+               fl_redraw_form(form());
 }
 
 
 void FormBase::connect()
 {
-       fl_set_form_minsize( form(), minw_, minh_ );
+       fl_set_form_minsize(form(), minw_, minh_);
 }
 
 
@@ -79,9 +81,9 @@ void FormBase::show()
                                    C_FormBaseWMHideCB, 0);
        }
 
-       fl_freeze_form( form() );
+       fl_freeze_form(form());
        update();  // make sure its up-to-date
-       fl_unfreeze_form( form() );
+       fl_unfreeze_form(form());
 
        if (form()->visible) {
                fl_raise_form(form());
@@ -151,7 +153,7 @@ void FormBase::CancelCB(FL_OBJECT * ob, long)
 }
 
 
-void FormBase::InputCB(FL_OBJECT * ob, long data )
+void FormBase::InputCB(FL_OBJECT * ob, long data)
 {
        Assert(ob && ob->form);
        FormBase * pre = static_cast<FormBase*>(ob->form->u_vdata);
@@ -173,7 +175,7 @@ void FormBase::RestoreCB(FL_OBJECT * ob, long)
 FormBaseBI::FormBaseBI(LyXView * lv, Dialogs * d, string const & t,
                       ButtonPolicy * bp,
                       char const * close, char const * cancel)
-       : FormBase( lv, d, t, bp, close, cancel )
+       : FormBase(lv, d, t, bp, close, cancel)
 {}
 
 
@@ -193,7 +195,7 @@ void FormBaseBI::disconnect()
 FormBaseBD::FormBaseBD(LyXView * lv, Dialogs * d, string const & t,
                       ButtonPolicy * bp,
                       char const * close, char const * cancel)
-       : FormBase( lv, d, t, bp, close, cancel ),
+       : FormBase(lv, d, t, bp, close, cancel),
          u_(0)
 {}
 
index 78d6e03d1c7c1b9ff8b2a624767a7587573c607c..ec4c1eec68867d0dfd7f4b0d481247a253be4343 100644 (file)
@@ -112,8 +112,10 @@ protected: // methods
        Connection h_;
        /// dialog title, displayed by WM.
        string title;
+private:
        ///
        ButtonPolicy * bp_;
+public:
        /// Overcome a dumb xforms sizing bug
        mutable int minw_;
        ///
@@ -129,7 +131,7 @@ class FormBaseBI : public FormBase {
 protected:
        /// Constructor
        FormBaseBI(LyXView *, Dialogs *, string const &,
-                  ButtonPolicy * bp = new OkApplyCancelPolicy,
+                  ButtonPolicy * bp,
                   char const * close = N_("Close"),
                   char const * cancel = N_("Cancel"));
 
@@ -146,7 +148,7 @@ class FormBaseBD : public FormBase {
 protected:
        /// Constructor
        FormBaseBD(LyXView *, Dialogs *, string const &,
-                  ButtonPolicy * bp = new OkApplyCancelReadOnlyPolicy,
+                  ButtonPolicy * bp,
                   char const * close = N_("Close"),
                   char const * cancel = N_("Cancel"));
 
index b215e73efc0ce1c16349d3158f480ab177a9a480..78ca9c025215b64ac0106c6a0460a75f035a64c1 100644 (file)
@@ -16,7 +16,8 @@
 #include "FormCopyright.h"
 
 FormCopyright::FormCopyright( LyXView * lv, Dialogs * d        )
-       : FormBaseBI( lv, d, _("Copyright and Warranty") ),
+       : FormBaseBI(lv, d, _("Copyright and Warranty"),
+                    new OkApplyCancelPolicy),
          dialog_(0)
 {
        // let the dialog be shown
index 96c40cc2f25c64fbb3e86c61cf00c3453a92c808..afd6c0b52bde177baca69460ef4653d09bd2caa1 100644 (file)
@@ -23,7 +23,7 @@
 
 
 FormError::FormError(LyXView * lv, Dialogs * d)
-       : FormInset( lv, d, _("LaTeX Error")),
+       : FormInset( lv, d, _("LaTeX Error"), new IgnorantPolicy),
          dialog_(0), inset_(0)
 {
        Assert(lv && d);
index 886e309ed6ee4d030ec552e68ce8e90635ffadc2..dddcaff26d12903098d7203b6ce29ba2293c41ca 100644 (file)
@@ -40,7 +40,7 @@ using std::endl;
 
 
 FormGraphics::FormGraphics(LyXView * lv, Dialogs * d)
-       : FormInset( lv, d, _("Graphics"), new NoRepeatedApplyReadOnlyPolicy ),
+       : FormInset(lv, d, _("Graphics"), new NoRepeatedApplyReadOnlyPolicy),
          dialog_(0), inset_(0),
          // The buttons c-tor values are the number of buttons we use
          // This is only to reduce memory waste.
index fffc92d7427100c238c414cfc34c57977ab5c174..12e6b38482bc72fd86b65afc426af84c9bb29cbf 100644 (file)
@@ -26,7 +26,8 @@
 #include "lyxfunc.h"
 
 FormIndex::FormIndex(LyXView * lv, Dialogs * d)
-       : FormCommand(lv, d, _("Index")), dialog_(0)
+       : FormCommand(lv, d, _("Index"), new OkCancelReadOnlyPolicy),
+         dialog_(0)
 {
        // let the dialog be shown
        // These are permanent connections so we won't bother
@@ -44,14 +45,14 @@ FormIndex::~FormIndex()
 
 FL_FORM * FormIndex::form() const
 {
-       if (dialog_ ) return dialog_->form;
+       if (dialog_) return dialog_->form;
        return 0;
 }
 
 
 void FormIndex::connect()
 {
-       fl_set_form_maxsize( form(), 2*minw_, minh_ );
+       fl_set_form_maxsize(form(), 2 * minw_, minh_);
        FormCommand::connect();
 }
        
@@ -74,13 +75,13 @@ void FormIndex::update()
        fl_set_input(dialog_->key, params.getContents().c_str());
 
        if (lv_->buffer()->isReadonly()) {
-               fl_deactivate_object( dialog_->key );
-               fl_deactivate_object( dialog_->ok );
-               fl_set_object_lcol( dialog_->ok, FL_INACTIVE );
+               fl_deactivate_object(dialog_->key);
+               fl_deactivate_object(dialog_->ok);
+               fl_set_object_lcol(dialog_->ok, FL_INACTIVE);
        } else {
-               fl_activate_object( dialog_->key );
-               fl_activate_object( dialog_->ok );
-               fl_set_object_lcol( dialog_->ok, FL_BLACK );
+               fl_activate_object(dialog_->key);
+               fl_activate_object(dialog_->ok);
+               fl_set_object_lcol(dialog_->ok, FL_BLACK);
        }
 }
 
index 07d498302d300bb25fc1f4f178d6a278f4e73c2c..4193cf3049626bf2f5bcc39813ede982cda16487 100644 (file)
@@ -25,7 +25,7 @@
 FormInset::FormInset(LyXView * lv, Dialogs * d, string const & t,
                     ButtonPolicy * bp,
                     char const * close, char const * cancel)
-       : FormBaseBD( lv, d, t, bp, close, cancel ), ih_(0)
+       : FormBaseBD(lv, d, t, bp, close, cancel), ih_(0)
 {}
 
 
@@ -46,7 +46,7 @@ void FormInset::disconnect()
 }
 
 
-void FormInset::updateSlot( bool switched )
+void FormInset::updateSlot(bool switched)
 {
        if (switched)
                hide();
@@ -55,10 +55,10 @@ void FormInset::updateSlot( bool switched )
 }
 
 
-FormCommand::FormCommand( LyXView * lv, Dialogs * d, string const & t,
-                         ButtonPolicy * bp,
-                         char const * close, char const * cancel)
-       : FormInset( lv, d, t, bp, close, cancel ),
+FormCommand::FormCommand(LyXView * lv, Dialogs * d, string const & t,
+                        ButtonPolicy * bp,
+                        char const * close, char const * cancel)
+       : FormInset(lv, d, t, bp, close, cancel),
          inset_(0)
 {}
 
@@ -66,12 +66,12 @@ FormCommand::FormCommand( LyXView * lv, Dialogs * d, string const & t,
 void FormCommand::disconnect()
 {
        inset_ = 0;
-       params = InsetCommandParams( string() );
+       params = InsetCommandParams(string());
        FormInset::disconnect();
 }
 
        
-void FormCommand::showInset( InsetCommand * inset )
+void FormCommand::showInset(InsetCommand * inset)
 {
        if (inset == 0) return;  // maybe we should Assert this?
 
@@ -86,13 +86,13 @@ void FormCommand::showInset( InsetCommand * inset )
 }
 
 
-void FormCommand::createInset( string const & arg )
+void FormCommand::createInset(string const & arg)
 {
        if (inset_) {
                ih_.disconnect();
                inset_ = 0;
        }
 
-       params.setFromString( arg );
+       params.setFromString(arg);
        show();
 }
index 40cedb80563c3b634d945fb211417d21af28e580..31d705ac558d0de35662d6014f11e7418c16125c 100644 (file)
 class FormInset : public FormBaseBD {
 protected:
        /// Constructor
-       FormInset( LyXView *, Dialogs *, string const &,
-                  ButtonPolicy * bp = new OkCancelReadOnlyPolicy,
-                  char const * close = N_("Close"),
-                  char const * cancel = N_("Cancel"));
+       FormInset(LyXView *, Dialogs *, string const &,
+                 ButtonPolicy * bp,
+                 char const * close = N_("Close"),
+                 char const * cancel = N_("Cancel"));
 
        /// Connect signals. Also perform any necessary initialisation.
        virtual void connect();
@@ -49,18 +49,18 @@ protected:
 class FormCommand : public FormInset {
 protected:
        /// Constructor
-       FormCommand( LyXView *, Dialogs *, string const &,
-                    ButtonPolicy * = new OkCancelReadOnlyPolicy,
-                    char const * close = N_("Close"),
-                    char const * cancel = N_("Cancel"));
+       FormCommand(LyXView *, Dialogs *, string const &,
+                   ButtonPolicy *,
+                   char const * close = N_("Close"),
+                   char const * cancel = N_("Cancel"));
 
        /// Disconnect signals. Also perform any necessary housekeeping.
        virtual void disconnect();
 
        /// Slot launching dialog to (possibly) create a new inset
-       void createInset( string const & );
+       void createInset(string const &);
        /// Slot launching dialog to an existing inset
-       void showInset( InsetCommand * );
+       void showInset(InsetCommand *);
 
        /// pointer to the inset passed through showInset
        InsetCommand * inset_;
index 095e6b9a8d6d8e9ae3bb6d2e5167defd52859d96..0fb105c6abbd7066c6dbb67e1664ba4ea6e896ae 100644 (file)
@@ -118,29 +118,29 @@ FormPreferences::~FormPreferences()
 
 void FormPreferences::redraw()
 {
-       if( !(form() && form()->visible) )
+       if (!(form() && form()->visible))
                return;
-       fl_redraw_form( form() );
+       fl_redraw_form(form());
 
        FL_FORM * form2 = fl_get_active_folder(dialog_->tabfolder_prefs);
-       if( !(form2 && form2->visible) )
+       if (!(form2 && form2->visible))
                return;
-       fl_redraw_form( form2 );
+       fl_redraw_form(form2);
 
        FL_FORM * form3 = 0;
-       if( form2 == converters_tab_->form )
+       if (form2 == converters_tab_->form)
                form3 = fl_get_active_folder(converters_tab_->tabfolder_outer);
 
-       else if( form2 == look_n_feel_tab_->form )
+       else if (form2 == look_n_feel_tab_->form)
                form3 = fl_get_active_folder(look_n_feel_tab_->tabfolder_outer);
 
-       else if( form2 == inputs_tab_->form )
+       else if (form2 == inputs_tab_->form)
                form3 = fl_get_active_folder(inputs_tab_->tabfolder_outer);
 
-       else if( form2 == outputs_tab_->form )
+       else if (form2 == outputs_tab_->form)
                form3 = fl_get_active_folder(outputs_tab_->tabfolder_outer);
 
-       else if( form2 == usage_tab_->form )
+       else if (form2 == usage_tab_->form)
                form3 = fl_get_active_folder(usage_tab_->tabfolder_outer);
 
        if (form3 && form3->visible)
@@ -159,9 +159,9 @@ void FormPreferences::ok()
 {
        FormBase::ok();
 
-       if( modifiedXformPrefs ) {
+       if (modifiedXformPrefs) {
                string filename = user_lyxdir + "/preferences.xform";
-               modifiedXformPrefs = ! XformColor::write( filename );
+               modifiedXformPrefs = ! XformColor::write(filename);
        }
        
        lv_->getLyXFunc()->Dispatch(LFUN_SAVEPREFERENCES);
index 09ac1375a54620894e26049848f200eba1d898a3..f2058edb2c0bba647218dd8d8a44c52e9dfe4067 100644 (file)
@@ -34,7 +34,8 @@ static int const minw_hb = 250;
 static int minw_sb;
 
 FormRef::FormRef(LyXView * lv, Dialogs * d)
-       : FormCommand(lv, d, _("Reference")), toggle(GOBACK), dialog_(0)
+       : FormCommand(lv, d, _("Reference"), new OkCancelReadOnlyPolicy),
+         toggle(GOBACK), dialog_(0)
 {
        // let the dialog be shown
        // These are permanent connections so we won't bother
@@ -52,14 +53,14 @@ FormRef::~FormRef()
 
 FL_FORM * FormRef::form() const
 {
-       if (dialog_ ) return dialog_->form;
+       if (dialog_) return dialog_->form;
        return 0;
 }
 
 
 void FormRef::connect()
 {
-       fl_set_form_maxsize( form(), 2*minw_, minh_ );
+       fl_set_form_maxsize(form(), 2 * minw_, minh_);
        FormCommand::connect();
 }
        
@@ -85,16 +86,16 @@ void FormRef::build()
 
        // Name is irrelevant to LaTeX documents
        if (lv_->buffer()->isLatex()) {
-               fl_deactivate_object( dialog_->name );
-               fl_set_object_lcol( dialog_->name, FL_INACTIVE );
+               fl_deactivate_object(dialog_->name);
+               fl_set_object_lcol(dialog_->name, FL_INACTIVE);
        }
          
        // Can change reference only through browser
-       fl_deactivate_object( dialog_->ref );
+       fl_deactivate_object(dialog_->ref);
 
-       bc_.setOK( dialog_->button_ok );
-       bc_.setCancel( dialog_->button_cancel );
-       bc_.addReadOnly( dialog_->type );
+       bc_.setOK(dialog_->button_ok);
+       bc_.setCancel(dialog_->button_cancel);
+       bc_.addReadOnly(dialog_->type);
        bc_.refresh();
 }
 
@@ -105,7 +106,7 @@ void FormRef::update()
        fl_set_input(dialog_->name, params.getOptions().c_str());
 
        Type type = getType();
-       fl_set_choice( dialog_->type, type+1 );
+       fl_set_choice(dialog_->type, type + 1);
 
        toggle = GOBACK;
        fl_set_object_label(dialog_->button_go, _("Goto reference"));
@@ -113,82 +114,83 @@ void FormRef::update()
        refs.clear();
        if (inset_ == 0) {
                refs = lv_->buffer()->getLabelList();
-               updateBrowser( refs );
+               updateBrowser(refs);
                showBrowser();
        } else {
                hideBrowser();
        }
-       bc_.readOnly( lv_->buffer()->isReadonly() );
+       bc_.readOnly(lv_->buffer()->isReadonly());
 }
 
 
-void FormRef::updateBrowser( vector<string> keys ) const
+void FormRef::updateBrowser(vector<string> const & akeys) const
 {
-       if (fl_get_button( dialog_->sort ) )
-               sort( keys.begin(), keys.end() );
+       vector<string> keys(akeys);
+       if (fl_get_button( dialog_->sort))
+               sort(keys.begin(), keys.end());
 
-       fl_clear_browser( dialog_->browser );
+       fl_clear_browser(dialog_->browser);
        for (vector<string>::const_iterator it = keys.begin();
-            it != keys.end(); ++it )
-               fl_add_browser_line( dialog_->browser, (*it).c_str());
+            it != keys.end(); ++it)
+               fl_add_browser_line(dialog_->browser, (*it).c_str());
 
        if (keys.empty()) {
-               fl_add_browser_line( dialog_->browser,
-                                    _("*** No labels found in document ***"));
-
-               fl_deactivate_object( dialog_->browser );
-               fl_deactivate_object( dialog_->button_update );
-               fl_deactivate_object( dialog_->sort );
-               fl_set_object_lcol( dialog_->browser, FL_INACTIVE );
-               fl_set_object_lcol( dialog_->button_update, FL_INACTIVE );
-               fl_set_object_lcol( dialog_->sort, FL_INACTIVE );
+               fl_add_browser_line(dialog_->browser,
+                                   _("*** No labels found in document ***"));
+
+               fl_deactivate_object(dialog_->browser);
+               fl_deactivate_object(dialog_->button_update);
+               fl_deactivate_object(dialog_->sort);
+               fl_set_object_lcol(dialog_->browser, FL_INACTIVE);
+               fl_set_object_lcol(dialog_->button_update, FL_INACTIVE);
+               fl_set_object_lcol(dialog_->sort, FL_INACTIVE);
        } else {
-               fl_set_browser_topline( dialog_->browser, 1 );
-               fl_activate_object( dialog_->browser );
-               fl_set_object_lcol( dialog_->browser, FL_BLACK );
-               fl_activate_object( dialog_->button_update );
-               fl_set_object_lcol( dialog_->button_update, FL_BLACK );
-               fl_activate_object( dialog_->sort );
-               fl_set_object_lcol( dialog_->sort, FL_BLACK );
+               fl_set_browser_topline(dialog_->browser, 1);
+               fl_activate_object(dialog_->browser);
+               fl_set_object_lcol(dialog_->browser, FL_BLACK);
+               fl_activate_object(dialog_->button_update);
+               fl_set_object_lcol(dialog_->button_update, FL_BLACK);
+               fl_activate_object(dialog_->sort);
+               fl_set_object_lcol(dialog_->sort, FL_BLACK);
        }
 }
 
 
 void FormRef::showBrowser() const
 {
-       fl_show_object( dialog_->browser );
-       fl_show_object( dialog_->button_update );
-       fl_show_object( dialog_->sort );
+       fl_show_object(dialog_->browser);
+       fl_show_object(dialog_->button_update);
+       fl_show_object(dialog_->sort);
 
-       setSize( minw_sb, 0 );
+       setSize(minw_sb, 0);
 
-       fl_deactivate_object( dialog_->type );
-       fl_set_object_lcol( dialog_->type, FL_INACTIVE );
-       fl_deactivate_object( dialog_->button_go );
-       fl_set_object_lcol( dialog_->button_go, FL_INACTIVE );
-       fl_set_object_lcol( dialog_->ref, FL_INACTIVE );
+       fl_deactivate_object(dialog_->type);
+       fl_set_object_lcol(dialog_->type, FL_INACTIVE);
+       fl_deactivate_object(dialog_->button_go);
+       fl_set_object_lcol(dialog_->button_go, FL_INACTIVE);
+       fl_set_object_lcol(dialog_->ref, FL_INACTIVE);
        bc_.valid(false);
 }
 
 
 void FormRef::hideBrowser() const
 {
-       fl_hide_object( dialog_->browser );
-       fl_hide_object( dialog_->button_update );
-       fl_hide_object( dialog_->sort );
+       fl_hide_object(dialog_->browser);
+       fl_hide_object(dialog_->button_update);
+       fl_hide_object(dialog_->sort);
 
-       setSize( minw_hb, 280 );
+       setSize(minw_hb, 280);
 
-       fl_activate_object( dialog_->type );
-       fl_set_object_lcol( dialog_->type, FL_BLACK );
-       fl_activate_object( dialog_->button_go );
-       fl_set_object_lcol( dialog_->button_go, FL_BLACK );
-       fl_set_object_lcol( dialog_->ref, FL_BLACK );
+       fl_activate_object(dialog_->type);
+       fl_set_object_lcol(dialog_->type, FL_BLACK);
+       fl_activate_object(dialog_->button_go);
+       fl_set_object_lcol(dialog_->button_go, FL_BLACK);
+       fl_set_object_lcol(dialog_->ref, FL_BLACK);
        bc_.invalid();
 }
 
 
-void FormRef::setSize( int w, int dx ) const
+void FormRef::setSize(int w, int dx) const
 {
        static int x1 = dialog_->name->x;
        static int y1 = dialog_->name->y;
@@ -205,26 +207,26 @@ void FormRef::setSize( int w, int dx ) const
 
        if (form()->w != w) {
                minw_ = w;
-               fl_set_form_size( form(), minw_, minh_ );
+               fl_set_form_size(form(), minw_, minh_);
        } else
                return;
        
-       fl_set_object_position( dialog_->name,   x1-dx, y1 );
-       fl_set_object_position( dialog_->ref,    x2-dx, y2 );
-       fl_set_object_position( dialog_->type,   x3-dx, y3 );
-       fl_set_object_position( dialog_->button_go,     x4-dx, y4 );
-       fl_set_object_position( dialog_->button_ok,     x5-dx, y5 );
-       fl_set_object_position( dialog_->button_cancel, x6-dx, y6 );
+       fl_set_object_position(dialog_->name,   x1 - dx, y1);
+       fl_set_object_position(dialog_->ref,    x2 - dx, y2);
+       fl_set_object_position(dialog_->type,   x3 - dx, y3);
+       fl_set_object_position(dialog_->button_go,     x4 - dx, y4);
+       fl_set_object_position(dialog_->button_ok,     x5 - dx, y5);
+       fl_set_object_position(dialog_->button_cancel, x6 - dx, y6);
 
        // These two must be reset apparently
        // Name is irrelevant to LaTeX documents
        if (lv_->buffer()->isLatex()) {
-               fl_deactivate_object( dialog_->name );
-               fl_set_object_lcol( dialog_->name, FL_INACTIVE );
+               fl_deactivate_object(dialog_->name);
+               fl_set_object_lcol(dialog_->name, FL_INACTIVE);
        }
          
        // Can change reference only through browser
-       fl_deactivate_object( dialog_->ref );
+       fl_deactivate_object(dialog_->ref);
 }
 
 
@@ -256,9 +258,9 @@ void FormRef::apply()
 // Seems okay except that goref and goback shouldn't
 // affect the status of ok.
 #endif
-bool FormRef::input( FL_OBJECT *, long data )
+bool FormRef::input(FL_OBJECT *, long data)
 {
-       bool activate( true );
+       bool activate(true);
        switch (data) {
        // goto reference / go back
        case 1:
@@ -293,31 +295,31 @@ bool FormRef::input( FL_OBJECT *, long data )
        // choose browser key
        case 2:
        {
-               unsigned int sel = fl_get_browser( dialog_->browser );
-               if (sel < 1 || sel > refs.size() ) break;
+               unsigned int sel = fl_get_browser(dialog_->browser);
+               if (sel < 1 || sel > refs.size()) break;
 
-               string s = fl_get_browser_line( dialog_->browser, sel );
-               fl_set_input( dialog_->ref, s.c_str());
-               params.setContents( s );
+               string s = fl_get_browser_line(dialog_->browser, sel);
+               fl_set_input(dialog_->ref, s.c_str());
+               params.setContents(s);
 
                toggle = GOBACK;
                lv_->getLyXFunc()->Dispatch(LFUN_REF_BACK);
                fl_set_object_label(dialog_->button_go, _("Goto reference"));
 
-               fl_activate_object( dialog_->type );
-               fl_set_object_lcol( dialog_->type, FL_BLACK );
-               fl_activate_object( dialog_->button_go );
-               fl_set_object_lcol( dialog_->button_go, FL_BLACK );
-               fl_set_object_lcol( dialog_->ref, FL_BLACK );
+               fl_activate_object(dialog_->type);
+               fl_set_object_lcol(dialog_->type, FL_BLACK);
+               fl_activate_object(dialog_->button_go);
+               fl_set_object_lcol(dialog_->button_go, FL_BLACK);
+               fl_set_object_lcol(dialog_->ref, FL_BLACK);
        }
        break;
 
        // update or sort
        case 3:
        {
-               fl_freeze_form( form() );
-               updateBrowser( refs );
-               fl_unfreeze_form( form() );
+               fl_freeze_form(form());
+               updateBrowser(refs);
+               fl_unfreeze_form(form());
        }
        break;
 
@@ -325,8 +327,8 @@ bool FormRef::input( FL_OBJECT *, long data )
        case 4:
        {
                Type type = static_cast<Type>( 
-                       fl_get_choice(dialog_->type) - 1 );
-               if (params.getCmdName() == getName( type )
+                       fl_get_choice(dialog_->type) - 1);
+               if (params.getCmdName() == getName(type)
                    && inset_) {
                        activate = false;
                }
@@ -363,7 +365,7 @@ FormRef::Type FormRef::getType() const
 }
 
 
-string FormRef::getName( Type type ) const
+string const FormRef::getName(Type type) const
 {
        string name;
 
index 98a718a13e9e9fcf3e3e886dc45ab79aaf4d6e01..b6913abd73d7a6d822ee76e3533680d88251b5de 100644 (file)
@@ -29,7 +29,7 @@ public:
        ~FormRef();
 private:
        ///
-       enum Type{
+       enum Type {
                ///
                REF,
                ///
@@ -42,7 +42,7 @@ private:
                PRETTYREF
        };
        ///
-       enum Goto{
+       enum Goto {
                ///
                GOREF,
                ///
@@ -59,7 +59,7 @@ private:
        /// Build the dialog
        virtual void build();
        /// Filter the input
-       virtual bool input( FL_OBJECT *, long );
+       virtual bool input(FL_OBJECT *, long);
        /// Update dialog before showing it
        virtual void update();
        /// Not used but must be instantiated
@@ -68,19 +68,19 @@ private:
        virtual FL_FORM * form() const;
 
        ///
-       void updateBrowser( std::vector<string> ) const;
+       void updateBrowser(std::vector<string> const &) const;
        ///
        void showBrowser() const;
        ///
        void hideBrowser() const;
        ///
-       void setSize( int, int ) const;
+       void setSize(int, int) const;
        ///
        FD_form_ref * build_ref();
        ///
        Type getType() const;
        ///
-       string getName( Type type ) const;
+       string const getName(Type type) const;
 
        ///
        Goto toggle;
index e8d0c2787644e03c6c719f08179bf1f05b10957c..cb6adf37f949c6f09ae436360c287f05ab121d46 100644 (file)
@@ -23,7 +23,7 @@
 
 
 FormTabular::FormTabular(LyXView * lv, Dialogs * d)
-       : FormInset( lv, d, _("Tabular Layout") ),
+       : FormInset(lv, d, _("Tabular Layout"), new OkCancelReadOnlyPolicy),
          dialog_(0), tabular_options_(0), column_options_(0),
          cell_options_(0), longtable_options_(0),
          inset_(0), actCell_(-1)
@@ -48,20 +48,20 @@ FormTabular::~FormTabular()
 
 void FormTabular::redraw()
 {
-       if( form() && form()->visible )
-               fl_redraw_form( form() );
+       if(form() && form()->visible)
+               fl_redraw_form(form());
        else
                return;
 
        FL_FORM * outer_form = fl_get_active_folder(dialog_->tabFolder);
        if (outer_form && outer_form->visible)
-               fl_redraw_form( outer_form );
+               fl_redraw_form(outer_form);
 }
 
 
 FL_FORM * FormTabular::form() const
 {
-       if (dialog_ ) return dialog_->form;
+       if (dialog_) return dialog_->form;
        return 0;
 }
 
@@ -73,7 +73,7 @@ void FormTabular::disconnect()
 }
 
 
-void FormTabular::showInset( InsetTabular * inset )
+void FormTabular::showInset(InsetTabular * inset)
 {
        if (inset == 0) return;
 
@@ -88,7 +88,7 @@ void FormTabular::showInset( InsetTabular * inset )
 }
 
 
-void FormTabular::updateInset( InsetTabular * inset )
+void FormTabular::updateInset(InsetTabular * inset)
 {
        if (inset == 0 || inset_ == 0) return;
 
@@ -140,19 +140,17 @@ void FormTabular::update()
        if (!inset_ || !inset_->tabular)
                return;
 
-       LyXTabular
-               * tabular = inset_->tabular;
+       LyXTabular * tabular = inset_->tabular;
        int
                align,
-               cell,
-               column,row;
+               cell;
        char
                buf[12];
        string
                pwidth, special;
 
        actCell_ = cell = inset_->GetActCell();
-       column = tabular->column_of_cell(cell)+1;
+       int column = tabular->column_of_cell(cell)+1;
        fl_set_object_label(dialog_->text_warning,"");
        fl_activate_object(column_options_->input_special_alignment);
        fl_activate_object(cell_options_->input_special_multialign);
@@ -160,7 +158,7 @@ void FormTabular::update()
        sprintf(buf,"%d",column);
        fl_set_input(dialog_->input_tabular_column, buf);
        fl_deactivate_object(dialog_->input_tabular_column);
-       row = tabular->row_of_cell(cell)+1;
+       int row = tabular->row_of_cell(cell)+1;
        sprintf(buf,"%d",row);
        fl_set_input(dialog_->input_tabular_row, buf);
        fl_deactivate_object(dialog_->input_tabular_row);
@@ -430,18 +428,12 @@ bool FormTabular::input(FL_OBJECT * ob, long)
     if (!inset_)
         return false;
 
-    LyXTabular
-        * tabular = inset_->tabular;
-    int
-        cell,
-        s;
-    LyXTabular::Feature
-        num = LyXTabular::LAST_ACTION;
-    string
-        special,
-        str;
-
-    cell = inset_->GetActCell();
+    LyXTabular * tabular = inset_->tabular;
+    int s;
+    LyXTabular::Feature num = LyXTabular::LAST_ACTION;
+    string special;;
+
+    int cell = inset_->GetActCell();
     if (actCell_ != cell) {
         update();
         fl_set_object_label(dialog_->text_warning,
@@ -456,9 +448,7 @@ bool FormTabular::input(FL_OBJECT * ob, long)
       return false;
     }
     if (ob == column_options_->input_column_width) {
-        string
-            str;
-        str = fl_get_input(ob);
+        string str = fl_get_input(ob);
         if (!str.empty() && !isValidLength(str)) {
             fl_set_object_label(dialog_->text_warning,
                  _("Warning: Invalid Length (valid example: 10mm)"));
@@ -470,9 +460,7 @@ bool FormTabular::input(FL_OBJECT * ob, long)
         return true;
     }
     if (ob == cell_options_->input_mcolumn_width) {
-        string
-            str;
-        str = fl_get_input(ob);
+        string str = fl_get_input(ob);
         if (!str.empty() && !isValidLength(str)) {
             fl_set_object_label(dialog_->text_warning,
                  _("Warning: Invalid Length (valid example: 10mm)"));
@@ -483,7 +471,7 @@ bool FormTabular::input(FL_OBJECT * ob, long)
         update(); // update for alignment
         return true;
     }
-    str = fl_get_input(column_options_->input_column_width);
+    string str = fl_get_input(column_options_->input_column_width);
     if (!str.empty() && !isValidLength(str)) {
         fl_set_object_label(
            dialog_->text_warning,
@@ -526,7 +514,7 @@ bool FormTabular::input(FL_OBJECT * ob, long)
     else if (ob == cell_options_->radio_multicolumn)
         num = LyXTabular::MULTICOLUMN;
     else if (ob == tabular_options_->radio_longtable) {
-        s=fl_get_button(tabular_options_->radio_longtable);
+        s = fl_get_button(tabular_options_->radio_longtable);
         if (s) {
             num = LyXTabular::SET_LONGTABULAR;
             fl_activate_object(longtable_options_->radio_lt_firsthead);
@@ -567,13 +555,13 @@ bool FormTabular::input(FL_OBJECT * ob, long)
                               FL_INACTIVE);
         }
     } else if (ob == tabular_options_->radio_rotate_tabular) {
-        s=fl_get_button(tabular_options_->radio_rotate_tabular);
+        s = fl_get_button(tabular_options_->radio_rotate_tabular);
        if (s)
             num = LyXTabular::SET_ROTATE_TABULAR;
        else
            num = LyXTabular::UNSET_ROTATE_TABULAR;
     } else if (ob == cell_options_->radio_rotate_cell) {
-        s=fl_get_button(cell_options_->radio_rotate_cell);
+        s = fl_get_button(cell_options_->radio_rotate_cell);
        if (s)
             num = LyXTabular::SET_ROTATE_CELL;
        else
index 3789fb21affe2dc1846db5c1dbac763768eb7fb9..0b2a0a38bdcf2a554fdc474a4eda9b5ce89a2c0e 100644 (file)
@@ -26,7 +26,8 @@
 #include "insets/insettabular.h"
 
 FormTabularCreate::FormTabularCreate(LyXView * lv, Dialogs * d)
-       : FormBaseBD(lv, d, _("Insert Tabular")),
+       : FormBaseBD(lv, d, _("Insert Tabular"),
+                    new OkApplyCancelReadOnlyPolicy),
          dialog_(0)
 {
        // let the dialog be shown
@@ -44,7 +45,7 @@ FormTabularCreate::~FormTabularCreate()
 
 FL_FORM * FormTabularCreate::form() const
 {
-       if (dialog_ ) return dialog_->form;
+       if (dialog_) return dialog_->form;
        return 0;
 }
 
index 9078536b71bc54ed900b09f66c5396d9b2f8dee6..a610600ff8efa088bc725972cc9189a865283d55 100644 (file)
@@ -26,7 +26,8 @@
 #include "lyxfunc.h"
 
 FormUrl::FormUrl(LyXView * lv, Dialogs * d)
-       : FormCommand(lv, d, _("Url")), dialog_(0)
+       : FormCommand(lv, d, _("Url"), new OkCancelReadOnlyPolicy),
+         dialog_(0)
 {
        // let the dialog be shown
        // These are permanent connections so we won't bother
@@ -51,7 +52,7 @@ FL_FORM * FormUrl::form() const
 
 void FormUrl::connect()
 {
-       fl_set_form_maxsize( form(), 2*minw_, minh_ );
+       fl_set_form_maxsize(form(), 2 * minw_, minh_);
        FormCommand::connect();
 }
        
@@ -74,23 +75,23 @@ void FormUrl::update()
        fl_set_input(dialog_->url,  params.getContents().c_str());
        fl_set_input(dialog_->name, params.getOptions().c_str());
 
-       if (params.getCmdName() == "url" )
+       if (params.getCmdName() == "url")
                fl_set_button(dialog_->radio_html, 0);
        else
                fl_set_button(dialog_->radio_html, 1);
 
        if (lv_->buffer()->isReadonly()) {
-               fl_deactivate_object( dialog_->url );
-               fl_deactivate_object( dialog_->name );
-               fl_deactivate_object( dialog_->radio_html );
-               fl_deactivate_object( dialog_->button_ok );
-               fl_set_object_lcol( dialog_->button_ok, FL_INACTIVE );
+               fl_deactivate_object(dialog_->url);
+               fl_deactivate_object(dialog_->name);
+               fl_deactivate_object(dialog_->radio_html);
+               fl_deactivate_object(dialog_->button_ok);
+               fl_set_object_lcol(dialog_->button_ok, FL_INACTIVE);
        } else {
-               fl_activate_object( dialog_->url );
-               fl_activate_object( dialog_->name );
-               fl_activate_object( dialog_->radio_html );
-               fl_activate_object( dialog_->button_ok );
-               fl_set_object_lcol( dialog_->button_ok, FL_BLACK );
+               fl_activate_object(dialog_->url);
+               fl_activate_object(dialog_->name);
+               fl_activate_object(dialog_->radio_html);
+               fl_activate_object(dialog_->button_ok);
+               fl_set_object_lcol(dialog_->button_ok, FL_BLACK);
        }
 }
 
index 5dba3e9db51407671887046d4bdc605e175b9b87..8805853cf863267e203b0b901a3d63c7b5402a41 100644 (file)
@@ -11,9 +11,6 @@ extern "C" void PreambleOKCB(FL_OBJECT *, long);
 extern "C" void PreambleApplyCB(FL_OBJECT *, long);
 extern "C" void PreambleCancelCB(FL_OBJECT *, long);
 
-/* Some extra funcs */
-
-extern bool UpdateLayoutPreamble();
 
 /**** Forms and Objects ****/
 typedef struct {
index a31535504570b11336175ca9f51cdcb5366cd4f2..ea272c971624056f5d2e2f903a6e61286d9af8f5 100644 (file)
 #include FORMS_H_LOCATION
 #include "lyx.h"
 #include "layout_forms.h"
-//#include "form1.h"
 #include "lyx_main.h"
 #include "lyx_cb.h"
-//#include "insets/insetref.h"
 #include "insets/insetlabel.h"
 #include "insets/figinset.h"
 #include "lyxfunc.h"
 #include "filedlg.h"
 #include "lyx_gui_misc.h"
 #include "LyXView.h"
-//#include "BufferView.h"
 #include "lastfiles.h"
 #include "bufferview_funcs.h"
 #include "support/FileInfo.h"
 #include "support/syscall.h"
 #include "support/filetools.h"
 #include "support/path.h"
-//#include "support/lyxlib.h"
-//#include "lyxserver.h"
 #include "lyxrc.h"
 #include "lyxtext.h"
-//#include "CutAndPaste.h"
-//#include "exporter.h"
 
 using std::ifstream;
 using std::copy;
@@ -75,8 +68,6 @@ extern bool send_fax(string const & fname, string const & sendcmd);
 
 extern void MenuSendto();
 
-//extern LyXServer * lyxserver;
-
 // this should be static, but I need it in buffer.C
 bool quitting; // flag, that we are quitting the program
 extern bool finished; // all cleanup done just let it run through now.
@@ -148,15 +139,6 @@ void ToggleLockedInsetCursor(int x, int y, int asc, int desc);
   -----------------------------------------------------------------------
  */
 
-/* some function prototypes */
-
-int RunLinuxDoc(BufferView *, int, string const &);
-int RunDocBook(int, string const &);
-bool MenuWrite(Buffer * buf);
-bool MenuWriteAs(Buffer * buffer);
-void MenuReload(Buffer * buf);
-void MenuLayoutSave();
-
 
 void ShowMessage(Buffer const * buf,
                 string const & msg1,
@@ -180,16 +162,16 @@ void ShowMessage(Buffer const * buf,
 //
 
 // should be moved to lyxfunc.C
-bool MenuWrite(Buffer * buffer)
+bool MenuWrite(BufferView * bv, Buffer * buffer)
 {
        XFlush(fl_get_display());
        if (!buffer->save()) {
-               string fname = buffer->fileName();
-               string s = MakeAbsPath(fname);
+               string const fname = buffer->fileName();
+               string const s = MakeAbsPath(fname);
                if (AskQuestion(_("Save failed. Rename and try again?"),
                                MakeDisplayPath(s, 50),
                                _("(If not, document is not saved.)"))) {
-                       return MenuWriteAs(buffer);
+                       return MenuWriteAs(bv, buffer);
                }
                return false;
        } else {
@@ -201,7 +183,7 @@ bool MenuWrite(Buffer * buffer)
 
 // should be moved to BufferView.C
 // Half of this func should be in LyXView, the rest in BufferView.
-bool MenuWriteAs(Buffer * buffer)
+bool MenuWriteAs(BufferView * bv, Buffer * buffer)
 {
        // Why do we require BufferView::text to be able to write a
        // document? I see no point in that. (Lgb)
@@ -211,7 +193,7 @@ bool MenuWriteAs(Buffer * buffer)
        string oldname = fname;
        LyXFileDlg fileDlg;
 
-       ProhibitInput(current_view);
+       ProhibitInput(bv);
        fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
        fileDlg.SetButton(1, _("Templates"), lyxrc.template_path);
 
@@ -223,7 +205,7 @@ bool MenuWriteAs(Buffer * buffer)
                               "*.lyx", 
                               OnlyFilename(fname));
 
-       AllowInput(current_view);
+       AllowInput(bv);
 
        if (fname.empty())
                return false;
@@ -259,7 +241,7 @@ bool MenuWriteAs(Buffer * buffer)
                return false;
        } // Check whether the file exists
        else {
-               FileInfo myfile(s);
+               FileInfo const myfile(s);
                if (myfile.isOK() && !AskQuestion(_("Document already exists:"), 
                                                  MakeDisplayPath(s, 50),
                                                  _("Replace file?")))
@@ -275,7 +257,7 @@ bool MenuWriteAs(Buffer * buffer)
        // Small bug: If the save fails, we have irreversible changed the name
        // of the document.
        // Hope this is fixed this way! (Jug)
-       if (!MenuWrite(buffer)) {
+       if (!MenuWrite(bv, buffer)) {
            buffer->setFileName(oldname);
            buffer->setUnnamed(unnamed);
            ShowMessage(buffer, _("Document could not be saved!"),
@@ -318,6 +300,7 @@ int MenuRunChktex(Buffer * buffer)
        return ret;
 }
 
+
 #if 0
 void MenuFax(Buffer * buffer)
 {
@@ -393,7 +376,7 @@ void AutoSave(BufferView * bv)
        
        // tmp_ret will be located (usually) in /tmp
        // will that be a problem?
-       pid_t pid = fork(); // If you want to debug the autosave
+       pid_t const pid = fork(); // If you want to debug the autosave
        // you should set pid to -1, and comment out the
        // fork.
        if (pid == 0 || pid == -1) {
@@ -402,7 +385,7 @@ void AutoSave(BufferView * bv)
                // anyway.
                bool failed = false;
                
-               string tmp_ret = lyx::tempName();
+               string const tmp_ret = lyx::tempName();
                if (!tmp_ret.empty()) {
                        bv->buffer()->writeFile(tmp_ret, 1);
                        // assume successful write of tmp_ret
@@ -530,10 +513,10 @@ void InsertAsciiFile(BufferView * bv, string const & f, bool asParagraph)
 }
 
 
-void MenuInsertLabel(string const & arg)
+void MenuInsertLabel(BufferView * bv, string const & arg)
 {
        string label(arg);
-       ProhibitInput(current_view);
+       ProhibitInput(bv);
        if (label.empty()) {
                pair<bool, string>
                        result = askForText(_("Enter new label to insert:"));
@@ -544,9 +527,9 @@ void MenuInsertLabel(string const & arg)
        if (!label.empty()) {
                InsetCommandParams p( "label", label );
                InsetLabel * inset = new InsetLabel( p );
-               current_view->insertInset( inset );
+               bv->insertInset( inset );
        }
-       AllowInput(current_view);
+       AllowInput(bv);
 }
 
 
@@ -554,7 +537,7 @@ void MenuInsertLabel(string const & arg)
 // current_view. (Lgb)
 void LayoutsCB(int sel, void *, Combox *)
 {
-       string tmp = tostr(sel);
+       string const tmp = tostr(sel);
        current_view->owner()->getLyXFunc()->Dispatch(LFUN_LAYOUTNO,
                                                      tmp);
 }
@@ -579,24 +562,23 @@ void MenuLayoutCharacter()
 }
 
 
-bool UpdateLayoutPreamble()
+bool UpdateLayoutPreamble(BufferView * bv)
 {
        bool update = true;
-       if (!current_view->available())
+       if (!bv->available())
                update = false;
 
        if (update) {
                fl_set_input(fd_form_preamble->input_preamble,
-                            current_view->buffer()->params.preamble.c_str());
+                            bv->buffer()->params.preamble.c_str());
 
-               if (current_view->buffer()->isReadonly()) {
+               if (bv->buffer()->isReadonly()) {
                        fl_deactivate_object(fd_form_preamble->input_preamble);
                        fl_deactivate_object(fd_form_preamble->button_ok);
                        fl_deactivate_object(fd_form_preamble->button_apply);
                        fl_set_object_lcol(fd_form_preamble->button_ok, FL_INACTIVE);
                        fl_set_object_lcol(fd_form_preamble->button_apply, FL_INACTIVE);
-               }
-               else {
+               } else {
                        fl_activate_object(fd_form_preamble->input_preamble);
                        fl_activate_object(fd_form_preamble->button_ok);
                        fl_activate_object(fd_form_preamble->button_apply);
@@ -614,7 +596,7 @@ void MenuLayoutPreamble()
 {
        static int ow = -1, oh;
 
-       if (UpdateLayoutPreamble()) {
+       if (UpdateLayoutPreamble(current_view)) {
                if (fd_form_preamble->form_preamble->visible) {
                        fl_raise_form(fd_form_preamble->form_preamble);
                } else {
@@ -633,15 +615,15 @@ void MenuLayoutPreamble()
 }
 
 
-void MenuLayoutSave()
+void MenuLayoutSave(BufferView * bv)
 {
-       if (!current_view->available())
+       if (!bv->available())
                return;
 
        if (AskQuestion(_("Do you want to save the current settings"),
                        _("for Character, Document, Paper and Quotes"),
                        _("as default for new documents?")))
-               current_view->buffer()->saveParamsAsDefaults();
+               bv->buffer()->saveParamsAsDefaults();
 }
 
 
@@ -742,7 +724,8 @@ LyXFont const UserFreeFont(BufferParams const & params)
 
 
 /* callbacks for form form_title */
-extern "C" void TimerCB(FL_OBJECT *, long)
+extern "C"
+void TimerCB(FL_OBJECT *, long)
 {
        // only if the form still exists
        if (lyxrc.show_banner
@@ -759,7 +742,8 @@ extern "C" void TimerCB(FL_OBJECT *, long)
 
 /* callbacks for form form_character */
 
-extern "C" void CharacterApplyCB(FL_OBJECT *, long)
+extern "C"
+void CharacterApplyCB(FL_OBJECT *, long)
 {
        // we set toggleall locally here, since it should be true for
        // all other uses of ToggleAndShow() (JMarc)
@@ -770,13 +754,15 @@ extern "C" void CharacterApplyCB(FL_OBJECT *, long)
 }
 
 
-extern "C" void CharacterCloseCB(FL_OBJECT *, long)
+extern "C"
+void CharacterCloseCB(FL_OBJECT *, long)
 {
        fl_hide_form(fd_form_character->form_character);
 }
 
 
-extern "C" void CharacterOKCB(FL_OBJECT *ob, long data)
+extern "C"
+void CharacterOKCB(FL_OBJECT * ob, long data)
 {
        CharacterApplyCB(ob, data);
        CharacterCloseCB(ob, data);
@@ -785,13 +771,15 @@ extern "C" void CharacterOKCB(FL_OBJECT *ob, long data)
 
 /* callbacks for form form_preamble */
 
-extern "C" void PreambleCancelCB(FL_OBJECT *, long)
+extern "C"
+void PreambleCancelCB(FL_OBJECT *, long)
 {
        fl_hide_form(fd_form_preamble->form_preamble);
 }
 
 
-extern "C" void PreambleApplyCB(FL_OBJECT *, long)
+extern "C"
+void PreambleApplyCB(FL_OBJECT *, long)
 {
        if (!current_view->available())
                return;
@@ -803,7 +791,8 @@ extern "C" void PreambleApplyCB(FL_OBJECT *, long)
 }
 
    
-extern "C" void PreambleOKCB(FL_OBJECT * ob, long data)
+extern "C"
+void PreambleOKCB(FL_OBJECT * ob, long data)
 {
        PreambleApplyCB(ob, data);
        PreambleCancelCB(ob, data);
index fdeef102c21d63067d933e1a060907695d1ef281..40d9de315de04ac09aa03053d1e61ea2df3456aa 100644 (file)
@@ -6,6 +6,8 @@
 #include "lyxfont.h"
 
 class BufferParams;
+class BufferView;
+class Combox;
 
 ///
 extern bool quitting;
@@ -23,6 +25,39 @@ void ShowMessage(Buffer const * buf,
                 string const & msg1,
                 string const & msg2 = string(),
                 string const & msg3 = string(), int delay = 6);
+///
+bool MenuWrite(BufferView * bv, Buffer * buffer);
+///
+bool MenuWriteAs(BufferView * bv, Buffer * buffer);
+///
+int MenuRunChktex(Buffer * buffer);
+///
+void QuitLyX();
+///
+void AutoSave(BufferView * bv);
+///
+Buffer * NewLyxFile(string const & filename);
+///
+void InsertAsciiFile(BufferView * bv, string const & f, bool asParagraph);
+///
+void MenuInsertLabel(BufferView * bv, string const & arg);
+///
+void LayoutsCB(int sel, void *, Combox *);
+///
+void MenuLayoutCharacter();
+///
+bool UpdateLayoutPreamble(BufferView * bv);
+///
+void MenuLayoutPreamble();
+///
+void MenuLayoutSave(BufferView * bv);
+///
+LyXFont const UserFreeFont(BufferParams const & params);
+///
+void Figure();
+///
+void Reconfigure(BufferView * bv);
 
+       
 #endif
 
index 4f1ede6766f07414e95a59d522cd0b952475865e..6606b7ae864f9ae7178819ef2cf74548b4bb20ff 100644 (file)
@@ -139,7 +139,7 @@ void CloseAllBufferRelatedDialogs()
 void updateAllVisibleBufferRelatedDialogs(bool)
 {
        if (fd_form_preamble->form_preamble->visible) {
-               UpdateLayoutPreamble();
+               UpdateLayoutPreamble(current_view);
        }
        if (fd_latex_log->LaTeXLog->visible) {
                LatexLogUpdate(0,0);
index 720624e6f0052ae1ca36bdb66fae41af4a80c593..c73dd858e26058f8c2721273c0005b4406ff4989 100644 (file)
@@ -91,7 +91,6 @@ using std::pair;
 using std::endl;
 using std::find_if;
 
-extern void InsertAsciiFile(BufferView *, string const &, bool);
 extern void math_insert_symbol(string const &);
 extern bool math_insert_greek(char);
 extern BufferList bufferlist;
@@ -101,14 +100,6 @@ extern bool selection_possible;
 
 extern kb_keymap * toplevel_keymap;
 
-extern bool MenuWrite(Buffer *);
-extern bool MenuWriteAs(Buffer *);
-extern int  MenuRunLaTeX(Buffer *);
-extern int  MenuBuildProg(Buffer *);
-extern int  MenuRunChktex(Buffer *);
-extern void MenuPrint(Buffer *);
-extern void MenuSendto();
-extern void QuitLyX();
 #if 0
 extern void MenuFax(Buffer *);
 #endif
@@ -118,19 +109,7 @@ extern LyXAction lyxaction;
 // (alkis)
 extern tex_accent_struct get_accent(kb_action action);
 
-extern void AutoSave(BufferView *);
-extern void MenuInsertLabel(string const &);
-extern void MenuLayoutCharacter();
-extern void MenuLayoutParagraph();
-extern void MenuLayoutPreamble();
-extern void MenuLayoutSave();
-
-extern Buffer * NewLyxFile(string const &);
-extern void LoadLyXFile(string const &);
-extern void Reconfigure(BufferView *);
-
 extern LyXTextClass::size_type current_layout;
-extern int getISOCodeFromLaTeX(char *);
 
 extern void ShowLatexLog();
 
@@ -773,7 +752,7 @@ string const LyXFunc::Dispatch(int ac,
                        owner->getMiniBuffer()->Set(_("Saving document"),
                                                    MakeDisplayPath(owner->buffer()->fileName()),
                                                    "...");
-                       MenuWrite(owner->buffer());
+                       MenuWrite(owner->view(), owner->buffer());
                        //owner->getMiniBuffer()-> {
                        //      Set(_("Document saved as"),
                        //          MakeDisplayPath(owner->buffer()->fileName()));
@@ -781,12 +760,12 @@ string const LyXFunc::Dispatch(int ac,
                        //owner->getMiniBuffer()->Set(_("Save failed!"));
                        //}
                } else {
-                       MenuWriteAs(owner->buffer());
+                       MenuWriteAs(owner->view(), owner->buffer());
                }
                break;
                
        case LFUN_MENUWRITEAS:
-               MenuWriteAs(owner->buffer());
+               MenuWriteAs(owner->view(), owner->buffer());
                break;
                
        case LFUN_MENURELOAD:
@@ -1287,7 +1266,7 @@ string const LyXFunc::Dispatch(int ac,
                break;
                
        case LFUN_LAYOUT_SAVE_DEFAULT:
-               MenuLayoutSave();
+               MenuLayoutSave(owner->view());
                break;
                
        case LFUN_DROP_LAYOUTS_CHOICE:
@@ -1375,7 +1354,7 @@ string const LyXFunc::Dispatch(int ac,
                break;
                
        case LFUN_INSERT_LABEL:
-               MenuInsertLabel(argument);
+               MenuInsertLabel(owner->view(), argument);
                break;
                
        case LFUN_REF_INSERT:
@@ -2506,8 +2485,8 @@ string const LyXFunc::Dispatch(int ac,
                        if (s.empty())
                                setErrorMessage(N_("Missing argument"));
                        else {
-                               string s1 = token(s, ' ', 1);
-                               int na = s1.empty() ? 0 : lyx::atoi(s1);
+                               string const s1 = token(s, ' ', 1);
+                               int const na = s1.empty() ? 0 : lyx::atoi(s1);
                                owner->view()->
                                        open_new_inset(new InsetFormulaMacro(token(s, ' ', 0), na));
                        }
@@ -2571,7 +2550,7 @@ string const LyXFunc::Dispatch(int ac,
                // ale970405+lasgoutt970425
                // The argument can be up to two tokens separated 
                // by a space. The first one is the bibstyle.
-               string db       = token(argument, ' ', 0);
+               string const db       = token(argument, ' ', 0);
                string bibstyle = token(argument, ' ', 1);
                if (bibstyle.empty())
                        bibstyle = "plain";
@@ -2644,13 +2623,13 @@ string const LyXFunc::Dispatch(int ac,
        case LFUN_INDEX_INSERT:
        {
                InsetCommandParams p;
-               p.setFromString( argument );
-               InsetIndex * inset = new InsetIndex( p );
+               p.setFromString(argument);
+               InsetIndex * inset = new InsetIndex(p);
 
                if (!owner->view()->insertInset(inset))
                        delete inset;
                else
-                       owner->view()->updateInset( inset, true );
+                       owner->view()->updateInset(inset, true);
        }
        break;
                    
@@ -2660,24 +2639,24 @@ string const LyXFunc::Dispatch(int ac,
                LyXParagraph::size_type curpos = 
                        owner->view()->text->cursor.pos() - 1;
                // Can't do that at the beginning of a paragraph
-               if (curpos < 0 ) break;
+               if (curpos < 0) break;
 
-               string curstring( owner->view()->text
-                                 ->cursor.par()->GetWord(curpos) );
+               string const curstring(owner->view()->text
+                                 ->cursor.par()->GetWord(curpos));
 
-               InsetCommandParams p( "index", curstring );
-               InsetIndex * inset = new InsetIndex( p );
+               InsetCommandParams p("index", curstring);
+               InsetIndex * inset = new InsetIndex(p);
 
                if (!owner->view()->insertInset(inset))
                        delete inset;
                else
-                       owner->view()->updateInset( inset, true );
+                       owner->view()->updateInset(inset, true);
        }
        break;
                    
        case LFUN_INDEX_PRINT:
        {
-               InsetCommandParams p( "printindex" );
+               InsetCommandParams p("printindex");
                Inset * inset = new InsetPrintIndex(p);
                if (!owner->view()->insertInset(inset, "Standard", true))
                        delete inset;
@@ -2707,7 +2686,7 @@ string const LyXFunc::Dispatch(int ac,
 
        case LFUN_CHILDOPEN:
        {
-               string filename =
+               string const filename =
                        MakeAbsPath(argument, 
                                    OnlyPath(owner->buffer()->fileName()));
                setMessage(N_("Opening child document ") +
@@ -2727,21 +2706,21 @@ string const LyXFunc::Dispatch(int ac,
        case LFUN_INSERTFOOTNOTE: 
        {
                LyXParagraph::footnote_kind kind;
-               if (argument == "footnote")
-                       { kind = LyXParagraph::FOOTNOTE; }
-               else if (argument == "margin")
-                       { kind = LyXParagraph::MARGIN; }
-               else if (argument == "figure")
-                       { kind = LyXParagraph::FIG; }
-               else if (argument == "table")
-                       { kind = LyXParagraph::TAB; }
-               else if (argument == "wide-fig")
-                       { kind = LyXParagraph::WIDE_FIG; }
-               else if (argument == "wide-tab")
-                       { kind = LyXParagraph::WIDE_TAB; }
-               else if (argument == "algorithm")
-                       { kind = LyXParagraph::ALGORITHM; }
-               else {
+               if (argument == "footnote") {
+                       kind = LyXParagraph::FOOTNOTE;
+               } else if (argument == "margin") {
+                       kind = LyXParagraph::MARGIN;
+               } else if (argument == "figure") {
+                       kind = LyXParagraph::FIG;
+               } else if (argument == "table") {
+                       kind = LyXParagraph::TAB;
+               } else if (argument == "wide-fig") {
+                       kind = LyXParagraph::WIDE_FIG;
+               } else if (argument == "wide-tab") {
+                       kind = LyXParagraph::WIDE_TAB;
+               } else if (argument == "algorithm") {
+                       kind = LyXParagraph::ALGORITHM;
+               else {
                        setErrorMessage(N_("Unknown kind of footnote"));
                        break;
                }
@@ -2773,7 +2752,7 @@ string const LyXFunc::Dispatch(int ac,
 
        case LFUN_SELFINSERT:
        {
-               LyXFont old_font(owner->view()->text->real_current_font);
+               LyXFont const old_font(owner->view()->text->real_current_font);
                for (string::size_type i = 0; i < argument.length(); ++i) {
                        owner->view()->text->InsertChar(owner->view(), argument[i]);
                        // This needs to be in the loop, or else we
@@ -2815,7 +2794,8 @@ string const LyXFunc::Dispatch(int ac,
                else 
                        arg = lyxrc.date_insert_format;
                char datetmp[32];
-               int datetmp_len = ::strftime(datetmp, 32, arg.c_str(), now_tm);
+               int const datetmp_len =
+                       ::strftime(datetmp, 32, arg.c_str(), now_tm);
                for (int i = 0; i < datetmp_len; i++) {
                        owner->view()->text->InsertChar(owner->view(), datetmp[i]);
                        owner->view()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
@@ -2856,8 +2836,8 @@ string const LyXFunc::Dispatch(int ac,
 
        case LFUN_SET_COLOR:
        {
-               string lyx_name, x11_name;
-               x11_name = split(argument, lyx_name, ' ');
+               string lyx_name;
+               string const x11_name = split(argument, lyx_name, ' ');
                if (lyx_name.empty() || x11_name.empty()) {
                        LyXBell();
                        setErrorMessage(N_("Syntax: set-color <lyx_name>"
@@ -2866,11 +2846,12 @@ string const LyXFunc::Dispatch(int ac,
                        }
 
                if (!lcolor.setColor(lyx_name, x11_name)) {
-                       static string err1 (N_("Set-color \""));
-                       static string err2 (N_("\" failed - color is undefined "
-                                               "or may not be redefined"));
+                       static string const err1 (N_("Set-color \""));
+                       static string const err2 (
+                               N_("\" failed - color is undefined "
+                                  "or may not be redefined"));
                        LyXBell();
-                       setErrorMessage(err1 + lyx_name + err2);
+                       setErrorMessage(_(err1) + lyx_name + _(err2));
                        break;
                }
                lyxColorHandler->updateColor(lcolor.getFromLyXName(lyx_name));
@@ -2908,7 +2889,7 @@ string const LyXFunc::Dispatch(int ac,
                        }
                        
                        owner->view()->beforeChange();
-                       LyXFont old_font(owner->view()->text->real_current_font);
+                       LyXFont const old_font(owner->view()->text->real_current_font);
                        for (string::size_type i = 0;
                             i < argument.length(); ++i) {
                                if (greek_kb_flag) {
@@ -2945,11 +2926,12 @@ string const LyXFunc::Dispatch(int ac,
        } // end of switch
   exit_with_message:
 
-       string res = getMessage();
+       string const res = getMessage();
 
        if (res.empty()) {
                if (!commandshortcut.empty()) {
-                       string newbuf = owner->getMiniBuffer()->GetText();
+                       string const newbuf =
+                               owner->getMiniBuffer()->GetText();
                        if (newbuf != commandshortcut) {
                                owner->getMiniBuffer()->Set(newbuf
                                                            + " " +
@@ -2980,7 +2962,7 @@ void LyXFunc::MenuNew(bool fromTemplate)
        LyXFileDlg fileDlg;
 
        if (owner->view()->available()) {
-               string trypath = owner->buffer()->filepath;
+               string const trypath = owner->buffer()->filepath;
                // If directory is writeable, use this as default.
                if (IsDirWriteable(trypath) == 1)
                        initpath = trypath;
@@ -2988,7 +2970,7 @@ void LyXFunc::MenuNew(bool fromTemplate)
 
        static int newfile_number = 0;
        string s;
-
+       
        if (lyxrc.new_ask_filename) {
                ProhibitInput(owner->view());
                fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
@@ -3065,9 +3047,9 @@ void LyXFunc::MenuNew(bool fromTemplate)
        string templname;
        if (fromTemplate) {
                ProhibitInput(owner->view());
-               string fname = fileDlg.Select(_("Choose template"),
-                                      lyxrc.template_path,
-                                      "*.lyx");
+               string const fname = fileDlg.Select(_("Choose template"),
+                                                   lyxrc.template_path,
+                                                   "*.lyx");
                AllowInput(owner->view());
                if (fname.empty()) return;
                 templname = fname;
@@ -3085,7 +3067,7 @@ void LyXFunc::MenuOpen()
        LyXFileDlg fileDlg;
   
        if (owner->view()->available()) {
-               string trypath = owner->buffer()->filepath;
+               string const trypath = owner->buffer()->filepath;
                // If directory is writeable, use this as default.
                if (IsDirWriteable(trypath) == 1)
                        initpath = trypath;
@@ -3127,6 +3109,7 @@ void LyXFunc::MenuOpen()
        }
 }
 
+
 // checks for running without gui are missing.
 void LyXFunc::doImport(string const & argument)
 {
@@ -3140,7 +3123,7 @@ void LyXFunc::doImport(string const & argument)
                LyXFileDlg fileDlg;
                
                if (owner->view()->available()) {
-                       string trypath = owner->buffer()->filepath;
+                       string const trypath = owner->buffer()->filepath;
                        // If directory is writeable, use this as default.
                        if (IsDirWriteable(trypath) == 1)
                                initpath = trypath;
@@ -3151,9 +3134,9 @@ void LyXFunc::doImport(string const & argument)
                fileDlg.SetButton(0, _("Documents"), lyxrc.document_path);
                fileDlg.SetButton(1, _("Examples"), 
                                        AddPath(system_lyxdir, "examples"));
-               string text = _("Select ") + formats.PrettyName(format)
+               string const text = _("Select ") + formats.PrettyName(format)
                        + _(" file to import");
-               string extension = "*." + formats.Extension(format);
+               string const extension = "*." + formats.Extension(format);
                filename = fileDlg.Select(text, initpath, extension);
                AllowInput(owner->view());
  
@@ -3169,7 +3152,7 @@ void LyXFunc::doImport(string const & argument)
        // get absolute path of file
        filename = MakeAbsPath(filename);
 
-       string lyxfile = ChangeExtension(filename, ".lyx");
+       string const lyxfile = ChangeExtension(filename, ".lyx");
 
        // Check if the document already is open
        if (bufferlist.exists(lyxfile)) {
@@ -3193,7 +3176,7 @@ void LyXFunc::doImport(string const & argument)
        }
 
        // Check if a LyX document by the same root exists in filesystem
-       FileInfo f(lyxfile, true);
+       FileInfo const f(lyxfile, true);
        if (f.exist() && !AskQuestion(_("A document by the name"), 
                                      MakeDisplayPath(lyxfile),
                                      _("already exists. Overwrite?"))) {
@@ -3216,7 +3199,7 @@ void LyXFunc::MenuInsertLyXFile(string const & filen)
                LyXFileDlg fileDlg;
 
                if (owner->view()->available()) {
-                       string trypath = owner->buffer()->filepath;
+                       string const trypath = owner->buffer()->filepath;
                        // If directory is writeable, use this as default.
                        if (IsDirWriteable(trypath) == 1)
                                initpath = trypath;
@@ -3247,7 +3230,7 @@ void LyXFunc::MenuInsertLyXFile(string const & filen)
        // Inserts document
        owner->getMiniBuffer()->Set(_("Inserting document"),
                                    MakeDisplayPath(filename), "...");
-       bool res = owner->view()->insertLyXFile(filename);
+       bool const res = owner->view()->insertLyXFile(filename);
        if (res) {
                owner->getMiniBuffer()->Set(_("Document"),
                                            MakeDisplayPath(filename),
@@ -3261,7 +3244,7 @@ void LyXFunc::MenuInsertLyXFile(string const & filen)
 
 void LyXFunc::reloadBuffer()
 {
-       string fn = owner->buffer()->fileName();
+       string const fn = owner->buffer()->fileName();
        if (bufferlist.close(owner->buffer()))
                owner->view()->buffer(bufferlist.loadLyXFile(fn));
 }
@@ -3275,8 +3258,7 @@ void LyXFunc::CloseBuffer()
                        // set variables that don't exist
                        // since there's no current buffer
                        owner->getDialogs()->hideBufferDependent();
-               }
-               else {
+               } else {
                        owner->view()->buffer(bufferlist.first());
                }
        }
index 6e91bf695f011715a771cc08c7d24f51ca9b6642..0c5393e518b596993c3c4fbadab899714c75de21 100644 (file)
@@ -120,39 +120,6 @@ string const QuoteName(string const & name)
 }
 
 
-#if 0
-// Returns an unique name to be used as a temporary file. 
-string const TmpFileName(string const & dir, string const & mask)
-{// With all these temporary variables, it should be safe enough :-) (JMarc)
-       string tmpdir;  
-       if (dir.empty())
-               tmpdir = system_tempdir;
-       else
-               tmpdir = dir;
-       string tmpfl(AddName(tmpdir, mask));
-
-       // find a uniq postfix for the filename...
-       // using the pid, and...
-       tmpfl += tostr(getpid());
-       // a short string...
-       string ret;
-       FileInfo fnfo;
-       for (int a = 'a'; a <= 'z'; ++a)
-               for (int b = 'a'; b <= 'z'; ++b)
-                       for (int c = 'a'; c <= 'z'; ++c) {
-                               // if this is not enough I have no idea what
-                               // to do.
-                               ret = tmpfl + char(a) + char(b) + char(c);
-                               // check if the file exist
-                               if (!fnfo.newFile(ret).exist())
-                                       return ret;
-                       }
-       lyxerr << "Not able to find a uniq tmpfile name." << endl;
-       return string();
-}
-#endif
-
-
 // Is a file readable ?
 bool IsFileReadable (string const & path)
 {
@@ -238,73 +205,44 @@ string const FileOpenSearch (string const & path, string const & name,
 
 
 /// Returns a vector of all files in directory dir having extension ext.
-vector<string> const DirList( string const & dir, string const & ext)
+vector<string> const DirList(string const & dir, string const & ext)
 {
-       // What what what????
-       // where you tinking when you implemented this?
-#if 0
-       string lsCommand = "ls " + dir;
-       if (!ext.empty()) {
-               string::size_type sz = lsCommand.size();
-               if (lsCommand[sz - 1] != '/')
-                       lsCommand += '/';
-               lsCommand += '*';
-               if (ext[0] != '.')
-                       lsCommand += '.';
-               lsCommand += ext;
-       }
-       string tmpfile = system_tempdir + "/dirlist";
-       lsCommand += " > " + tmpfile;
-
-       Systemcalls(Systemcalls::System, lsCommand);
-
-       string contents = GetFileContents(tmpfile);
-       string rmCommand = "rm " + tmpfile;
-       Systemcalls(Systemcalls::System, rmCommand);
-
-       string tmp = strip(contents);
-       vector<string> dirlist;
-
-       while (!tmp.empty()) {
-               string file;
-               tmp = frontStrip(split(tmp, file, '\n'));
-               dirlist.push_back( file );
-       }
-       return dirlist;
-#else
        // This is a non-error checking C/system implementation
-       // of the above.
        string extension(ext);
        if (extension[0] != '.')
-               // If I do not use the explicit cast below, compaq cxx
-               // is not able to guess between
-               //   insert(size_type, size_type, value_type)
-               // and
-               //   insert(iterator, size_type, value_type)            
-               extension.insert(string::size_type(0), 1u, '.');
+               extension.insert(0, ".");
        vector<string> dirlist;
        DIR * dirp = ::opendir(dir.c_str());
        dirent * dire;
        while ((dire = ::readdir(dirp))) {
-               string fil = dire->d_name;
+               string const fil = dire->d_name;
                if (prefixIs(fil, extension)) {
                        dirlist.push_back(fil);
                }
        }
        ::closedir(dirp);
        return dirlist;
+       /* I would have prefered to take a vector<string>& as parameter so
+          that we could avoid the copy of the vector when returning.
+          Then we would use:
+          dirlist.swap(argvec);
+          to avoid the copy. (Lgb)
+       */
        /* A C++ implementaion will look like this:
-          if (ext[0] != '.') ext.insert(0u, 1u, '.');
+          string extension(ext);
+          if (extension[0] != '.') extension.insert(0, ".");
+          vector<string> dirlist;
           directory_iterator dit("dir");
           while (dit != directory_iterator()) {
                   string fil = (*dit).filename;
-                  if (prefixIs(fil, ext)) {
+                  if (prefixIs(fil, extension)) {
                           dirlist.push_back(fil);
                   }
                   ++dit;
           }
+          dirlist.swap(argvec);
+          return;
        */
-#endif
 }
 
 
@@ -498,9 +436,9 @@ int DeleteAllFilesInDir (string const & path)
 static
 string const CreateTmpDir(string const & tempdir, string const & mask)
 {
-#warning Possibly buggy (Lgb)
-       lyxerr << "CreateTmpDir: tempdir=`" << tempdir << "'" << endl;
-       lyxerr << "CreateTmpDir:    mask=`" << mask << "'" << endl;
+       lyxerr[Debug::FILES]
+               << "CreateTmpDir: tempdir=`" << tempdir << "'\n"
+               << "CreateTmpDir:    mask=`" << mask << "'" << endl;
        
        string const tmpfl(lyx::tempName(tempdir, mask));
        // lyx::tempName actually creates a file to make sure that it
@@ -567,7 +505,7 @@ string const CreateLyXTmpDir(string const & deflt)
 }
 
 
-int DestroyLyXTmpDir (string const & tmpdir)
+int DestroyLyXTmpDir(string const & tmpdir)
 {
        return DestroyTmpDir (tmpdir, false); // Why false?
 }
@@ -592,30 +530,6 @@ bool createDirectory(string const & path, int permission)
 }
 
 
-#if 0
-// Returns current working directory
-string const GetCWD ()
-{
-       int n = 256;    // Assume path is less than 256 chars
-       char * err;
-       char * tbuf = new char[n];
-       
-       // Safe. Hopefully all getcwds behave this way!
-       while (((err = lyx::getcwd(tbuf, n)) == 0) && (errno == ERANGE)) {
-               // Buffer too small, double the buffersize and try again
-               delete[] tbuf;
-               n = 2 * n;
-               tbuf = new char[n];
-       }
-
-       string result;
-       if (err) result = tbuf;
-       delete[] tbuf;
-       return result;
-}
-#endif
-
-
 // Strip filename from path name
 string const OnlyPath(string const & Filename)
 {
@@ -962,8 +876,8 @@ string const MakeRelPath(string const & abspath0, string const & basepath0)
 // different, then the absolute path will be used as relative path.
 {
        // This is a hack. It should probaly be done in another way. Lgb.
-       string abspath = CleanupPath(abspath0);
-       string basepath = CleanupPath(basepath0);
+       string const abspath = CleanupPath(abspath0);
+       string const basepath = CleanupPath(basepath0);
        if (abspath.empty())
                return "<unknown_path>";
 
@@ -976,8 +890,8 @@ string const MakeRelPath(string const & abspath0, string const & basepath0)
 
        // Go back to last /
        if (i < abslen && i < baselen
-           || (i<abslen && abspath[i] != '/' && i == baselen)
-           || (i<baselen && basepath[i] != '/' && i == abslen))
+           || (i < abslen && abspath[i] != '/' && i == baselen)
+           || (i < baselen && basepath[i] != '/' && i == abslen))
        {
                if (i) --i;     // here was the last match
                while (i && abspath[i] != '/') --i;
@@ -1026,12 +940,10 @@ string const AddPath(string const & path, string const & path_2)
                        buf += '/';
        }
 
-       if (!path2.empty()){
-               string::size_type p2start = path2.find_first_not_of('/');
-
-               string::size_type p2end = path2.find_last_not_of('/');
-
-               string tmp = path2.substr(p2start, p2end - p2start + 1);
+       if (!path2.empty()) {
+               string::size_type const p2start = path2.find_first_not_of('/');
+               string::size_type const p2end = path2.find_last_not_of('/');
+               string const tmp = path2.substr(p2start, p2end - p2start + 1);
                buf += tmp + '/';
        }
        return buf;
@@ -1115,10 +1027,10 @@ MakeDisplayPath (string const & path, unsigned int threshold)
                        // Yes, filename in itself is too long.
                        // Pick the start and the end of the filename.
                        relhome = OnlyFilename(path);
-                       string head = relhome.substr(0, threshold/2 - 3);
+                       string const head = relhome.substr(0, threshold/2 - 3);
 
                        l2 = relhome.length();
-                       string tail =
+                       string const tail =
                                relhome.substr(l2 - threshold/2 - 2, l2 - 1);
                        relhome = head + "..." + tail;
                }
@@ -1135,7 +1047,7 @@ bool LyXReadLink(string const & File, string & Link)
                                     LinkBuffer, sizeof(LinkBuffer) - 1);
        if (nRead <= 0)
                return false;
-       LinkBuffer[nRead] = 0;
+       LinkBuffer[nRead] = '\0'; // terminator
        Link = LinkBuffer;
        return true;
 }
@@ -1157,7 +1069,7 @@ cmdret const do_popen(string const & cmd)
                ret += static_cast<char>(c);
                c = fgetc(inf);
        }
-       int pret = pclose(inf);
+       int const pret = pclose(inf);
        return make_pair(pret, ret);
 }
 
@@ -1216,7 +1128,7 @@ void removeAutosaveFile(string const & filename)
        a += '#';
        a += OnlyFilename(filename);
        a += '#';
-       FileInfo fileinfo(a);
+       FileInfo const fileinfo(a);
        if (fileinfo.exist()) {
                if (lyx::unlink(a) != 0) {
                        WriteFSAlert(_("Could not delete auto-save file!"), a);
index 354393f4fa17ca5b084d957da31495f26bb94425..b2df54ecfcc32f7c916d717e68b8d8f70388e6b1 100644 (file)
@@ -124,16 +124,6 @@ string const MakeLatexName(string const & file);
 /// Put the name in quotes suitable for the current shell
 string const QuoteName(string const & file);
 
-#if 0
-/** Returns an unique name to be used as a temporary file. If given,
-  'mask' should the prefix to the temporary file, the rest of the
-  temporary filename will be made from the pid and three letters.
-  */
-string const
-TmpFileName(string const & dir = string(), 
-           string const & mask = "lyx_tmp");
-#endif
-
 /// Is a filename/path absolute?
 bool AbsolutePath(string const & path);
 
@@ -156,11 +146,6 @@ string const GetExtension(string const & name);
 /// Create absolute path. If impossible, don't do anything
 string const ExpandPath(string const & path);
 
-#if 0
-/// gets current working directory
-string const GetCWD();
-#endif
-
 /** Convert relative path into absolute path based on a basepath.
   If relpath is absolute, just use that.
   If basepath doesn't exist use CWD.
index 98adcd0a31705584dba382bac8c9a1d9dbf3cb21..8139a32b6364f4bcba14f1844e071acfd245043f 100644 (file)
@@ -1,14 +1,12 @@
 #include <config.h>
 
-#include "LString.h"
-
 #include <cstdlib>
-
 #include <unistd.h>
 
-#include "lyxlib.h"
+#include "LString.h"
+#include "support/lyxlib.h"
+#include "support/filetools.h"
 #include "debug.h"
-#include "filetools.h"
 
 using std::endl;
 
@@ -16,35 +14,29 @@ extern string system_tempdir;
 
 string const lyx::tempName(string const & dir, string const & mask)
 {
-#if 0
-       // the tmpnam version...
-       char const * const tmp = ::tmpnam(0);
-       return (tmp) ? tmp : string ();
-#else
-       string tmpdir;
-       if (dir.empty())
-               tmpdir = system_tempdir;
-       else
-               tmpdir = dir;
+       string const tmpdir(dir.empty() ? system_tempdir : dir);
        string tmpfl(AddName(tmpdir, mask));
        tmpfl += tostr(getpid());
-
-       // the supposedly safer mkstemp version
-       char * tmpl = new char[256];
-       tmpfl += ".XXXXXX";
-       ::strcpy(tmpl, tmpfl.c_str());
-       int tmpf = ::mkstemp(tmpl);
+       tmpfl += "XXXXXX";
+
+       // The supposedly safe mkstemp version
+       char * tmpl = new char[tmpfl.length() + 1]; // + 1 for '\0'
+       tmpfl.copy(tmpl, string::npos);
+       tmpl[tmpfl.length()] = '\0'; // terminator
+       
+       int const tmpf = ::mkstemp(tmpl);
        if (tmpf != -1) {
                string const t(tmpl);
                ::close(tmpf);
                delete [] tmpl;
-               lyxerr << "Temporary file `" << t << "' created." << endl;
+               lyxerr[Debug::FILES] << "Temporary file `" << t
+                                    << "' created." << endl;
                return t;
        } else {
-               lyxerr << "LyX Error: Unable to create temporary file."
-                      << endl;
+               lyxerr[Debug::FILES]
+                       << "LyX Error: Unable to create temporary file."
+                       << endl;
                delete [] tmpl;
                return string();
        }
-#endif
 }