]> git.lyx.org Git - lyx.git/blobdiff - src/MenuBackend.C
fix typo that put too many include paths for most people
[lyx.git] / src / MenuBackend.C
index b11f0a7a9145e27538c339b46afd459cdd1e380e..f094ef3ed8827c952080857663178d56b6715ad5 100644 (file)
@@ -1,6 +1,6 @@
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
  *
  *           Copyright 1995 Matthias Ettrich
@@ -46,8 +46,8 @@ using std::sort;
 MenuBackend menubackend;
 
 
-MenuItem::MenuItem(Kind kind, string const & label, 
-                  string const & command, bool optional) 
+MenuItem::MenuItem(Kind kind, string const & label,
+                  string const & command, bool optional)
        : kind_(kind), label_(label), optional_(optional)
 {
        switch (kind) {
@@ -67,11 +67,11 @@ MenuItem::MenuItem(Kind kind, string const & label,
 
                if (action_ == LFUN_UNKNOWN_ACTION) {
                        lyxerr << "MenuItem(): LyX command `"
-                              << command << "' does not exist." << endl; 
+                              << command << "' does not exist." << endl;
                }
                if (optional_)
-                       lyxerr[Debug::GUI] << "Optional item " 
-                                          << command << endl; 
+                       lyxerr[Debug::GUI] << "Optional item "
+                                          << command << endl;
                break;
        case Submenu:
                submenu_ = command;
@@ -79,14 +79,16 @@ MenuItem::MenuItem(Kind kind, string const & label,
        }
 }
 
-string const MenuItem::label() const 
-{ 
-       return token(label_, '|', 0); 
+
+string const MenuItem::label() const
+{
+       return token(label_, '|', 0);
 }
 
+
 string const MenuItem::shortcut() const
-{ 
-       return token(label_, '|', 1); 
+{
+       return token(label_, '|', 1);
 }
 
 
@@ -126,7 +128,7 @@ Menu & Menu::read(LyXLex & lex)
                { "importformats", md_importformats },
                { "item", md_item },
                { "lastfiles", md_lastfiles },
-               { "optitem", md_optitem }, 
+               { "optitem", md_optitem },
                { "separator", md_separator },
                { "submenu", md_submenu },
                { "toc", md_toc },
@@ -151,7 +153,7 @@ Menu & Menu::read(LyXLex & lex)
                        string const name = _(lex.getString());
                        lex.next(true);
                        string const command = lex.getString();
-                       add(MenuItem(MenuItem::Command, name, 
+                       add(MenuItem(MenuItem::Command, name,
                                     command, optional));
                        optional = false;
                        break;
@@ -196,7 +198,7 @@ Menu & Menu::read(LyXLex & lex)
                case md_floatinsert:
                        add(MenuItem(MenuItem::FloatInsert));
                        break;
-                       
+
                case md_submenu: {
                        lex.next(true);
                        string const mlabel = _(lex.getString());
@@ -246,12 +248,13 @@ void Menu::checkShortcuts() const
        }
 }
 
+
 namespace {
 
 class compare_format {
 public:
        bool operator()(Format const * p1, Format const * p2) {
-               return *p1 < *p2;       
+               return *p1 < *p2;
        }
 };
 
@@ -267,7 +270,7 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                        int ii = 1;
                        LastFiles::const_iterator lfit = lastfiles->begin();
                        LastFiles::const_iterator end = lastfiles->end();
-                       
+
                        for (; lfit != end && ii < 10; ++lfit, ++ii) {
                                string const label = tostr(ii) + ". "
                                        + MakeDisplayPath((*lfit), 30)
@@ -280,12 +283,12 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                        }
                }
                break;
-               
+
                case MenuItem::Documents: {
                        typedef vector<string> Strings;
-                       
+
                        Strings const names = bufferlist.getFileNames();
-                       
+
                        if (names.empty()) {
                                tomenu.add(MenuItem(MenuItem::Command,
                                                    _("No Documents Open!"),
@@ -311,10 +314,18 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                case MenuItem::ViewFormats:
                case MenuItem::UpdateFormats:
                case MenuItem::ExportFormats: {
-                       typedef vector<Format const *> Formats;
+
+                       if (!buf && cit->kind() != MenuItem::ImportFormats) {
+                               tomenu.add(MenuItem(MenuItem::Command,
+                                                   _("No Documents Open!"),
+                                                   LFUN_NOACTION));
+                               continue;
+                       }                               
                        
+                       typedef vector<Format const *> Formats;
+
                        Formats formats;
-                       
+
                        kb_action action;
                        switch (cit->kind()) {
                        case MenuItem::ImportFormats:
@@ -322,22 +333,22 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                                action = LFUN_IMPORT;
                                break;
                        case MenuItem::ViewFormats:
-                               formats = Exporter::GetExportableFormats(buf, true); 
+                               formats = Exporter::GetExportableFormats(buf, true);
                                action = LFUN_PREVIEW;
                                break;
                        case MenuItem::UpdateFormats:
-                               formats = Exporter::GetExportableFormats(buf, true); 
+                               formats = Exporter::GetExportableFormats(buf, true);
                                action = LFUN_UPDATE;
                                break;
                        default:
-                               formats = Exporter::GetExportableFormats(buf, false); 
+                               formats = Exporter::GetExportableFormats(buf, false);
                                action = LFUN_EXPORT;
                        }
                        sort(formats.begin(), formats.end(), compare_format());
 
                        Formats::const_iterator fit = formats.begin();
                        Formats::const_iterator end = formats.end();
-                       
+
                        for (; fit != end ; ++fit) {
                                if ((*fit)->dummy())
                                        continue;
@@ -366,7 +377,7 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                                int const action =  lyxaction
                                        .getPseudoAction(LFUN_FLOAT_LIST,
                                                         cit->second.type());
-                               string const label = cit->second.name() + _(" List");
+                               string const label = _(cit->second.name()) + _(" List");
                                tomenu.add(MenuItem(MenuItem::Command,
                                                    label, action));
                        }
@@ -382,10 +393,10 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                                int const action = lyxaction
                                        .getPseudoAction(LFUN_INSET_FLOAT,
                                                         cit->second.type());
-                               string const label = cit->second.name();
+                               string const label = _(cit->second.name());
                                tomenu.add(MenuItem(MenuItem::Command,
                                                    label, action));
-                               
+
                                // and the wide version
                                int const action2 = lyxaction
                                        .getPseudoAction(LFUN_INSET_WIDE_FLOAT,
@@ -396,7 +407,7 @@ void Menu::expand(Menu & tomenu, Buffer * buf) const
                        }
                }
                break;
-               
+
                default:
                        tomenu.add(*cit);
                }
@@ -445,7 +456,7 @@ void MenuBackend::read(LyXLex & lex)
 
        while (lex.isOK() && !quit) {
                switch (lex.lex()) {
-               case md_menubar: 
+               case md_menubar:
                        menubar = true;
                        // fallback to md_menu
                case md_menu: {
@@ -458,7 +469,7 @@ void MenuBackend::read(LyXLex & lex)
                                        lex.printError("Cannot append to menu `$$Token' unless it is of the same type");
                                        return;
                                }
-                       } else {                                
+                       } else {
                                Menu menu(name, menubar);
                                menu.read(lex);
                                add(menu);
@@ -483,13 +494,13 @@ void MenuBackend::defaults()
 {
        menulist_.clear();
 
-       lyxerr[Debug::GUI] << "MenuBackend::defaults: using default values" 
+       lyxerr[Debug::GUI] << "MenuBackend::defaults: using default values"
                           << endl;
 
        Menu file("file");
        file
                .add(MenuItem(MenuItem::Command, _("New...|N"), "buffer-new"))
-               .add(MenuItem(MenuItem::Command, _("Open...|O"), "buffer-open"))
+               .add(MenuItem(MenuItem::Command, _("Open...|O"), "file-open"))
                .add(MenuItem(MenuItem::Submenu, _("Import|I"), "import"))
                .add(MenuItem(MenuItem::Command, _("Quit|Q"), "lyx-quit"))
                .add(MenuItem(MenuItem::Separator))
@@ -503,7 +514,7 @@ void MenuBackend::defaults()
                .add(MenuItem(MenuItem::Command,
                              _("LinuxDoc...|L"), "buffer-import linuxdoc"));
        add(import);
+
        Menu edit("edit");
        edit
                .add(MenuItem(MenuItem::Command, _("Cut"), "cut"))
@@ -531,8 +542,8 @@ void MenuBackend::defaults()
        if (lyxerr.debugging(Debug::GUI)) {
                for (const_iterator cit = begin();
                    cit != end() ; ++cit)
-                       lyxerr << "Menu name: " << cit->name() 
-                              << ", Menubar: " << cit->menubar() 
+                       lyxerr << "Menu name: " << cit->name()
+                              << ", Menubar: " << cit->menubar()
                               << endl;
        }
 }