X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCollapsable.cpp;h=6135a63545e69494301a66ba7928e58729a98007;hb=2c357c1d23b7b83839a9beb8225d4f1ae4f793b4;hp=97783d564321769782a461632d091ea17ea33118;hpb=a8317afc4ba90c421208933d68b93e56ff25a0e4;p=lyx.git diff --git a/src/insets/InsetCollapsable.cpp b/src/insets/InsetCollapsable.cpp index 97783d5643..6135a63545 100644 --- a/src/insets/InsetCollapsable.cpp +++ b/src/insets/InsetCollapsable.cpp @@ -22,6 +22,7 @@ #include "DispatchResult.h" #include "FloatList.h" #include "FuncStatus.h" +#include "InsetLayout.h" #include "Language.h" #include "LaTeXFeatures.h" #include "Lexer.h" @@ -51,7 +52,7 @@ InsetCollapsable::CollapseStatus InsetCollapsable::status() const InsetCollapsable::Geometry InsetCollapsable::geometry() const { switch (decoration()) { - case Classic: + case Deco_Classic: if (status() == Open) { if (openinlined_) return LeftButton; @@ -60,11 +61,14 @@ InsetCollapsable::Geometry InsetCollapsable::geometry() const } else return ButtonOnly; - case Minimalistic: + case Deco_Minimalistic: return status() == Open ? NoButton : ButtonOnly ; - case Conglomerate: + case Deco_Conglomerate: return status() == Open ? SubLabel : Corners ; + + case Deco_Default: + break; // this shouldn't happen } // dummy return value to shut down a warning, @@ -532,7 +536,7 @@ void InsetCollapsable::doDispatch(Cursor & cur, FuncRequest & cmd) case LFUN_MOUSE_RELEASE: if (cmd.button() == mouse_button::button3) { // There is no button to right click: - if (decoration() == Minimalistic || + if (decoration() == Deco_Minimalistic || geometry() == Corners || geometry() == SubLabel || geometry() == NoButton @@ -797,18 +801,23 @@ docstring InsetCollapsable::floatName(string const & type, BufferParams const & } -InsetCollapsable::Decoration InsetCollapsable::decoration() const +InsetDecoration InsetCollapsable::decoration() const { - if (!layout_ || layout_->decoration() == "classic") - return Classic; - if (layout_->decoration() == "minimalistic") - return Minimalistic; - if (layout_->decoration() == "conglomerate") - return Conglomerate; + if (!layout_) + return Deco_Classic; + InsetDecoration const dec = layout_->decoration(); + switch (dec) { + case Deco_Classic: + case Deco_Minimalistic: + case Deco_Conglomerate: + return dec; + case Deco_Default: + break; + } if (lyxCode() == FLEX_CODE) // FIXME: Is this really necessary? - return Conglomerate; - return Classic; + return Deco_Conglomerate; + return Deco_Classic; } @@ -880,14 +889,14 @@ void InsetCollapsable::validate(LaTeXFeatures & features) const return; // Force inclusion of preamble snippet in layout file - features.require(layout_->name()); + features.require(to_utf8(layout_->name())); InsetText::validate(features); } bool InsetCollapsable::undefined() const { - std::string const & n = getLayout().name(); + docstring const & n = getLayout().name(); return n.empty() || n == TextClass::emptyInsetLayout().name(); }