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