Hello,

NONE is a pretty pointless option with a true VSpace inset.

Please check and apply the attached patch.

Thanks, Michael
Index: src/ChangeLog
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/ChangeLog,v
retrieving revision 1.1732
diff -u -r1.1732 ChangeLog
--- src/ChangeLog       2003/12/01 00:35:26     1.1732
+++ src/ChangeLog       2003/12/01 09:28:01
@@ -1,3 +1,7 @@
+2003-12-01  Michael Schmitt  <[EMAIL PROTECTED]>
+
+       * vspace.[Ch]: remove VSpace::NONE
+
 2003-12-01  John Levon  <[EMAIL PROTECTED]>
 
        * BufferView_pimpl.C: fix a crash on exit with
Index: src/vspace.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/vspace.C,v
retrieving revision 1.79
diff -u -r1.79 vspace.C
--- src/vspace.C        2003/11/21 17:31:46     1.79
+++ src/vspace.C        2003/12/01 09:28:03
@@ -337,7 +337,7 @@
 //
 
 VSpace::VSpace()
-       : kind_(NONE), len_(), keep_(false)
+       : kind_(DEFSKIP), len_(), keep_(false)
 {}
 
 
@@ -357,7 +357,7 @@
 
 
 VSpace::VSpace(string const & data)
-       : kind_(NONE), len_(), keep_(false)
+       : kind_(DEFSKIP), len_(), keep_(false)
 {
        if (data.empty())
                return;
@@ -436,7 +436,6 @@
 {
        string result;
        switch (kind_) {
-       case NONE:      break;
        case DEFSKIP:   result = "defskip";      break;
        case SMALLSKIP: result = "smallskip";    break;
        case MEDSKIP:   result = "medskip";      break;
@@ -444,7 +443,7 @@
        case VFILL:     result = "vfill";        break;
        case LENGTH:    result = len_.asString(); break;
        }
-       if (keep_ && kind_ != NONE && kind_ != DEFSKIP)
+       if (keep_)
                result += '*';
        return result;
 }
@@ -472,9 +471,6 @@
                return keep_ ? "\\vspace*{" + len_.asLatexString() + '}'
                        : "\\vspace{" + len_.asLatexString() + '}';
 
-       case NONE:
-               return string();
-
        default:
                BOOST_ASSERT(false);
                return string();
@@ -510,9 +506,6 @@
 
        case LENGTH:
                return len_.len().inPixels(bv.workWidth());
-
-       case NONE:
-               return 0;
 
        default:
                BOOST_ASSERT(false);
Index: src/vspace.h
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/vspace.h,v
retrieving revision 1.30
diff -u -r1.30 vspace.h
--- src/vspace.h        2003/10/06 15:42:43     1.30
+++ src/vspace.h        2003/12/01 09:28:03
@@ -24,7 +24,6 @@
 public:
        /// The different kinds of spaces.
        enum vspace_kind {
-               NONE, ///< no added vertical space
                DEFSKIP,
                SMALLSKIP,
                MEDSKIP,
Index: src/frontends/qt2/ChangeLog
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/ChangeLog,v
retrieving revision 1.615
diff -u -r1.615 ChangeLog
--- src/frontends/qt2/ChangeLog 2003/12/01 07:54:02     1.615
+++ src/frontends/qt2/ChangeLog 2003/12/01 09:28:12
@@ -1,3 +1,9 @@
+2003-12-01  Michael Schmitt  <[EMAIL PROTECTED]>
+
+       * QVSpace.C:
+       * QVSpaceDialog.C:
+       * ui/QVSpaceDialogBase.ui: remove VSpace::NONE
+
 2003-12-01  Juergen Spitzmueller  <[EMAIL PROTECTED]>
 
        * QDocumentDialog.[Ch]: (branches) don't insert a coloritem
Index: src/frontends/qt2/QVSpace.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QVSpace.C,v
retrieving revision 1.3
diff -u -r1.3 QVSpace.C
--- src/frontends/qt2/QVSpace.C 2003/12/01 07:54:02     1.3
+++ src/frontends/qt2/QVSpace.C 2003/12/01 09:28:12
@@ -50,26 +50,23 @@
 {
        int item = 0;
        switch (space.kind()) {
-       case VSpace::NONE:
-               item = 0;
-               break;
        case VSpace::DEFSKIP:
-               item = 1;
+               item = 0;
                break;
        case VSpace::SMALLSKIP:
-               item = 2;
+               item = 1;
                break;
        case VSpace::MEDSKIP:
-               item = 3;
+               item = 2;
                break;
        case VSpace::BIGSKIP:
-               item = 4;
+               item = 3;
                break;
        case VSpace::VFILL:
-               item = 5;
+               item = 4;
                break;
        case VSpace::LENGTH:
-               item = 6;
+               item = 5;
                break;
        }
        spacing->setCurrentItem(item);
@@ -96,28 +93,25 @@
                            LengthCombo * unit,
                            bool keep)
 {
-       VSpace space = VSpace(VSpace::NONE);
+       VSpace space;
 
        switch (spacing) {
        case 0:
-               space = VSpace(VSpace::NONE);
-               break;
-       case 1:
                space = VSpace(VSpace::DEFSKIP);
                break;
-       case 2:
+       case 1:
                space = VSpace(VSpace::SMALLSKIP);
                break;
-       case 3:
+       case 2:
                space = VSpace(VSpace::MEDSKIP);
                break;
-       case 4:
+       case 3:
                space = VSpace(VSpace::BIGSKIP);
                break;
-       case 5:
+       case 4:
                space = VSpace(VSpace::VFILL);
                break;
-       case 6:
+       case 5:
                space = VSpace(LyXGlueLength(
                                      widgetsToLength(value, unit)));
                break;
@@ -163,8 +157,8 @@
 {
        // spacing
        // If a vspace choice is "Length" but there's no text in
-       // the input field, reset the choice to "None".
-       if (dialog_->spacingCO->currentItem() == 6
+       // the input field, reset the choice to "Defskip".
+       if (dialog_->spacingCO->currentItem() == 5
            && dialog_->valueLE->text().isEmpty())
                dialog_->spacingCO->setCurrentItem(0);
 
Index: src/frontends/qt2/QVSpaceDialog.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/QVSpaceDialog.C,v
retrieving revision 1.2
diff -u -r1.2 QVSpaceDialog.C
--- src/frontends/qt2/QVSpaceDialog.C   2003/11/29 17:25:30     1.2
+++ src/frontends/qt2/QVSpaceDialog.C   2003/12/01 09:28:12
@@ -52,7 +52,7 @@
 
 void QVSpaceDialog::enableCustom(int)
 {
-       bool const enable = spacingCO->currentItem()==6;
+       bool const enable = spacingCO->currentItem()==5;
        valueLE->setEnabled(enable);
        unitCO->setEnabled(enable);
 }
Index: src/frontends/qt2/ui/QVSpaceDialogBase.ui
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/qt2/ui/QVSpaceDialogBase.ui,v
retrieving revision 1.2
diff -u -r1.2 QVSpaceDialogBase.ui
--- src/frontends/qt2/ui/QVSpaceDialogBase.ui   2003/11/29 17:25:31     1.2
+++ src/frontends/qt2/ui/QVSpaceDialogBase.ui   2003/12/01 09:28:13
@@ -118,12 +118,6 @@
             <item>
                 <property>
                     <name>text</name>
-                    <string>None</string>
-                </property>
-            </item>
-            <item>
-                <property>
-                    <name>text</name>
                     <string>DefSkip</string>
                 </property>
             </item>
Index: src/frontends/xforms/ChangeLog
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/xforms/ChangeLog,v
retrieving revision 1.851
diff -u -r1.851 ChangeLog
--- src/frontends/xforms/ChangeLog      2003/11/29 21:02:59     1.851
+++ src/frontends/xforms/ChangeLog      2003/12/01 09:28:28
@@ -1,3 +1,7 @@
+2003-12-01  Michael Schmitt  <[EMAIL PROTECTED]>
+
+       * FormVSpace.C: remove VSpace::NONE
+
 2003-11-29  Angus Leeming  <[EMAIL PROTECTED]>
 
        * Makefile.am (stamp-forms, stamp-xpm): don't use "if test return
Index: src/frontends/xforms/FormVSpace.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/frontends/xforms/FormVSpace.C,v
retrieving revision 1.3
diff -u -r1.3 FormVSpace.C
--- src/frontends/xforms/FormVSpace.C   2003/11/29 20:13:50     1.3
+++ src/frontends/xforms/FormVSpace.C   2003/12/01 09:28:29
@@ -54,11 +54,11 @@
        BOOST_ASSERT(choice_type  && choice_type->objclass  == FL_CHOICE &&
                     input_length && input_length->objclass == FL_INPUT);
 
-       if (fl_get_choice(choice_type) != 7)
+       if (fl_get_choice(choice_type) != 6)
                return;
 
        // If a vspace kind is "Length" but there's no text in
-       // the input field, reset the kind to "None".
+       // the input field, reset the kind to "Defskip".
        string const input = rtrim(getString(input_length));
        if (input.empty())
                fl_set_choice(choice_type, 1);
@@ -75,28 +75,25 @@
                     input_length  && input_length->objclass  == FL_INPUT &&
                     choice_length && choice_length->objclass == FL_CHOICE);
 
-       VSpace space = VSpace(VSpace::NONE);
+       VSpace space;
 
        switch (fl_get_choice(choice_type)) {
        case 1:
-               space = VSpace(VSpace::NONE);
-               break;
-       case 2:
                space = VSpace(VSpace::DEFSKIP);
                break;
-       case 3:
+       case 2:
                space = VSpace(VSpace::SMALLSKIP);
                break;
-       case 4:
+       case 3:
                space = VSpace(VSpace::MEDSKIP);
                break;
-       case 5:
+       case 4:
                space = VSpace(VSpace::BIGSKIP);
                break;
-       case 6:
+       case 5:
                space = VSpace(VSpace::VFILL);
                break;
-       case 7:
+       case 6:
                space = VSpace(LyXGlueLength(
                        getLengthFromWidgets(input_length, choice_length)));
                break;
@@ -121,26 +118,23 @@
 
        int pos = 1;
        switch (space.kind()) {
-       case VSpace::NONE:
-               pos = 1;
-               break;
        case VSpace::DEFSKIP:
-               pos = 2;
+               pos = 1;
                break;
        case VSpace::SMALLSKIP:
-               pos = 3;
+               pos = 2;
                break;
        case VSpace::MEDSKIP:
-               pos = 4;
+               pos = 3;
                break;
        case VSpace::BIGSKIP:
-               pos = 5;
+               pos = 4;
                break;
        case VSpace::VFILL:
-               pos = 6;
+               pos = 5;
                break;
        case VSpace::LENGTH:
-               pos = 7;
+               pos = 6;
                break;
        }
        fl_set_choice(choice_type, pos);
@@ -195,7 +189,7 @@
        fl_set_input_return(dialog_->input_space, FL_RETURN_CHANGED);
 
        string const spacing =
-               _("None|DefSkip|SmallSkip|MedSkip|BigSkip|VFill|Length");
+               _("DefSkip|SmallSkip|MedSkip|BigSkip|VFill|Length");
        fl_addto_choice(dialog_->choice_space, spacing.c_str());
 
        // Create the contents of the unit choices; don't include the "%" terms.
@@ -237,7 +231,7 @@
 
        // spacing
        // If a vspace choice is "Length" but there's no text in
-       // the input field, reset the choice to "None".
+       // the input field, reset the choice to "Defskip".
        validateVSpaceWidgets(dialog_->choice_space, dialog_->input_space);
 
        VSpace const space =
@@ -259,7 +253,7 @@
                             dialog_->check_keep);
 
        bool const custom_length =
-               fl_get_choice(dialog_->choice_space) == 7;
+               fl_get_choice(dialog_->choice_space) == 6;
        setEnabled(dialog_->input_space, custom_length);
        setEnabled(dialog_->choice_unit_space, custom_length);
 }
@@ -271,7 +265,7 @@
        // disable 'keep' when no space is choosen
        if (ob == dialog_->choice_space) {
                bool const custom_length =
-                       fl_get_choice(dialog_->choice_space) == 7;
+                       fl_get_choice(dialog_->choice_space) == 6;
                setEnabled(dialog_->input_space, custom_length);
                setEnabled(dialog_->choice_unit_space, custom_length);
        }
Index: src/insets/ChangeLog
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/insets/ChangeLog,v
retrieving revision 1.927
diff -u -r1.927 ChangeLog
--- src/insets/ChangeLog        2003/11/28 17:38:38     1.927
+++ src/insets/ChangeLog        2003/12/01 09:28:43
@@ -1,3 +1,7 @@
+2003-12-01  Michael Schmitt  <[EMAIL PROTECTED]>
+
+       * insetvspace.C: remove VSpace::NONE; increase inset width
+
 2003-11-28  Angus Leeming  <[EMAIL PROTECTED]>
 
        * insetvspace.[Ch] (d-tor, priv_dispatch): new member functions,
Index: src/insets/insetvspace.C
===================================================================
RCS file: /cvs/lyx/lyx-devel/src/insets/insetvspace.C,v
retrieving revision 1.2
diff -u -r1.2 insetvspace.C
--- src/insets/insetvspace.C    2003/11/28 17:38:39     1.2
+++ src/insets/insetvspace.C    2003/12/01 09:28:44
@@ -35,7 +35,13 @@
 using std::max;
 
 
+namespace {
 
+int const ADD_TO_VSPACE_WIDTH = 5;
+
+} // namespace anon
+
+
 InsetVSpace::InsetVSpace(VSpace const & space)
        : space_(space)
 {}
@@ -92,23 +98,21 @@
 void InsetVSpace::metrics(MetricsInfo & mi, Dimension & dim) const
 {
        int size = 10;
-       if (space_.kind() != VSpace::NONE) {
-               int const arrow_size = 4;
-               int const space_size = space_.inPixels(*mi.base.bv);
-
-               LyXFont font;
-               font.decSize();
-               int const min_size = max(3 * arrow_size, 
font_metrics::maxHeight(font));
-
-               if (space_.length().len().value() < 0.0)
-                       size = min_size;
-               else
-                       size = max(min_size, space_size);
-       }
+       int const arrow_size = 4;
+       int const space_size = space_.inPixels(*mi.base.bv);
+
+       LyXFont font;
+       font.decSize();
+       int const min_size = max(3 * arrow_size, font_metrics::maxHeight(font));
+
+       if (space_.length().len().value() < 0.0)
+               size = min_size;
+       else
+               size = max(min_size, space_size);
 
        dim.asc = size / 2;
        dim.des = size / 2;
-       dim.wid = 10;
+       dim.wid = 10 + 2 * ADD_TO_VSPACE_WIDTH;
 
        dim_ = dim;
 }
@@ -121,8 +125,7 @@
        xo_ = x;
        yo_ = y;
 
-       //if (space_.kind() == VSpace::NONE)
-       //      return 0;
+       x += ADD_TO_VSPACE_WIDTH;
 
        int const arrow_size = 4;
        int const start = y - dim_.asc;
@@ -150,7 +153,7 @@
                by2 = added ? end : (end - arrow_size);
        }
 
-       int const midx = xo_ + arrow_size;
+       int const midx = x + arrow_size;
        int const rightx = midx + arrow_size;
 
        // first the string

Reply via email to