diff --git a/development/scons/scons_manifest.py b/development/scons/scons_manifest.py index 3110c62ea6..d90071fed2 100644 --- a/development/scons/scons_manifest.py +++ b/development/scons/scons_manifest.py @@ -1439,6 +1439,7 @@ lib_images_files = Split(''' footnote-insert.xpm index-insert.xpm label-insert.xpm + layout.xpm layout-document.xpm layout-paragraph.xpm layout_Description.xpm diff --git a/lib/Makefile.am b/lib/Makefile.am index 38dfd8cc2f..8e2d9ac1cd 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -196,6 +196,7 @@ dist_images_DATA = \ images/footnote-insert.xpm \ images/index-insert.xpm \ images/label-insert.xpm \ + images/layout.xpm \ images/layout-document.xpm \ images/layout-paragraph.xpm \ images/layout_Description.xpm \ diff --git a/lib/images/layout.xpm b/lib/images/layout.xpm new file mode 100644 index 0000000000..b916c074f2 --- /dev/null +++ b/lib/images/layout.xpm @@ -0,0 +1,25 @@ +/* XPM */ +static char * layout_xpm[] = { +"20 20 2 1", +" c None", +". c #000000", +" ", +" ", +" ................. ", +" ", +" ", +" ................. ", +" ", +" ", +" ................. ", +" ", +" ", +" ................. ", +" ", +" ", +" ................. ", +" ", +" ", +" ................. ", +" ", +" "}; diff --git a/lib/ui/stdtoolbars.ui b/lib/ui/stdtoolbars.ui index 6b40aa97de..d28f848c4a 100644 --- a/lib/ui/stdtoolbars.ui +++ b/lib/ui/stdtoolbars.ui @@ -63,6 +63,7 @@ Toolbar "standard" "Standard" End Toolbar "extra" "Extra" + Item "Default" "layout" Item "Numbered list" "layout Enumerate" Item "Itemized list" "layout Itemize" Item "List" "layout List" diff --git a/src/text3.C b/src/text3.C index 79619b8f73..18ee7bb08a 100644 --- a/src/text3.C +++ b/src/text3.C @@ -788,21 +788,13 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) lyxerr[Debug::INFO] << "LFUN_LAYOUT: (arg) " << cmd.argument << endl; - // This is not the good solution to the empty argument - // problem, but it will hopefully suffice for 1.2.0. - // The correct solution would be to augument the - // function list/array with information about what - // functions needs arguments and their type. - if (cmd.argument.empty()) { - cur.errorMessage(_("LyX function 'layout' needs an argument.")); - break; - } - // Derive layout number from given argument (string) // and current buffer's textclass (number) LyXTextClass const & tclass = bv->buffer()->params().getLyXTextClass(); - bool hasLayout = tclass.hasLayout(cmd.argument); - string layout = cmd.argument; + string layout = cmd.argument.empty() ? + tclass.defaultLayoutName() : + cmd.argument; + bool hasLayout = tclass.hasLayout(layout); // If the entry is obsolete, use the new one instead. if (hasLayout) { @@ -812,7 +804,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) } if (!hasLayout) { - cur.errorMessage(string(N_("Layout ")) + cmd.argument + + cur.errorMessage(string(N_("Layout ")) + layout + N_(" not known")); break; } diff --git a/status.14x b/status.14x index 5302ad866b..5afa6583e7 100644 --- a/status.14x +++ b/status.14x @@ -44,6 +44,10 @@ What's new - New Galician translation of the documentation (splash, Intro); Update Hebrew (Intro) and Italian (UserGuide) documentation. +- The layout lfun without an argument does now set the layout to the default + layout of the text class. This is used by a new button "Default" in the + extra toolbar. + ** Bug fixes: * Document Input/Output