From bb8c9253e4a66f24f63c529629ac2c65b0a3dccc Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Thu, 16 Nov 2006 08:17:48 +0000 Subject: [PATCH] Add button for default layout to the toolbar git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15946 a592a061-630c-0410-9148-cb99ea01b6c8 --- development/scons/scons_manifest.py | 1 + lib/Makefile.am | 1 + lib/images/layout.xpm | 25 +++++++++++++++++++++++++ lib/ui/stdtoolbars.ui | 1 + src/text3.C | 19 +++++-------------- 5 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 lib/images/layout.xpm diff --git a/development/scons/scons_manifest.py b/development/scons/scons_manifest.py index 055f0bffed..03b0041003 100644 --- a/development/scons/scons_manifest.py +++ b/development/scons/scons_manifest.py @@ -1470,6 +1470,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 f7f917f180..8824d0fdc9 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -203,6 +203,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 d724915f6d..973e05fa9c 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 20c7e7fdd5..a31b052570 100644 --- a/src/text3.C +++ b/src/text3.C @@ -809,24 +809,15 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd) break; case LFUN_LAYOUT: { - lyxerr[Debug::INFO] << "LFUN_LAYOUT: (arg) " - << to_utf8(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; - } + string layout = to_ascii(cmd.argument()); + lyxerr[Debug::INFO] << "LFUN_LAYOUT: (arg) " << layout << endl; // Derive layout number from given argument (string) // and current buffer's textclass (number) LyXTextClass const & tclass = bv->buffer()->params().getLyXTextClass(); - bool hasLayout = tclass.hasLayout(to_utf8(cmd.argument())); - string layout = to_utf8(cmd.argument()); + if (layout.empty()) + layout = tclass.defaultLayoutName(); + bool hasLayout = tclass.hasLayout(layout); // If the entry is obsolete, use the new one instead. if (hasLayout) { -- 2.39.2