]> git.lyx.org Git - features.git/commitdiff
Allow to hide formats from menus
authorJuergen Spitzmueller <spitz@lyx.org>
Wed, 11 Sep 2019 08:29:50 +0000 (10:29 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 13:48:45 +0000 (15:48 +0200)
Fixes: #11657
lib/configure.py
src/Format.h
src/LyXRC.cpp
src/frontends/qt/Menus.cpp

index 618677eca485555d899b2d4c893ca28ee116dc9f..d1989d188096ff5066afc2afa872d56eaf8a7645 100644 (file)
@@ -676,7 +676,7 @@ def checkFormatEntries(dtl_tools):
 \Format luatex     tex    "LaTeX (LuaTeX)"        "" ""        "%%"    "document,menu=export"  ""
 \Format pdflatex   tex    "LaTeX (pdflatex)"      "" ""        "%%"    "document,menu=export"  ""
 \Format xetex      tex    "LaTeX (XeTeX)"         "" ""        "%%"    "document,menu=export"  ""
-\Format latexclipboard tex "LaTeX (clipboard)"    "" ""        "%%"    "     ""
+\Format latexclipboard tex "LaTeX (clipboard)"    "" ""        "%%"    "menu=none"     ""
 \Format text       txt    "Plain text"            a  ""        "%%"    "document,menu=export"  "text/plain"
 \Format text2      txt    "Plain text (pstotext)" "" ""        "%%"    "document"      ""
 \Format text3      txt    "Plain text (ps2ascii)" "" ""        "%%"    "document"      ""
index cc383c02497820d8a127b56a29afcf79c607abe9..4fcd3c955316d00b7a6c90882429cef1bfa403a3 100644 (file)
@@ -39,7 +39,9 @@ public:
                /// This format should  appear in the File > Export menu
                export_menu = 4,
                /// This may be a compressed file but doesn't need decompression
-               zipped_native = 8
+               zipped_native = 8,
+               /// This format should not appear in a menu at all
+               no_menu = 16
        };
        ///
        Format(std::string const & n, std::string const & e, docstring const & p,
@@ -96,6 +98,8 @@ public:
        ///
        bool inExportMenu() const { return flags_ & export_menu; }
        ///
+       bool noMenu() const { return flags_ & no_menu; }
+       ///
        bool zippedNative() const { return flags_ & zipped_native; }
        ///
        static bool formatSorter(Format const * lhs, Format const * rhs);
index a8d086d9e8ae4fac679c58da2c655bfca020366e..83bf82d0f7e33928ffa02e9b84947ef6202e9ea1 100644 (file)
@@ -884,6 +884,8 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format)
                                        flgs |= Format::zipped_native;
                                else if (flag == "menu=export")
                                        flgs |= Format::export_menu;
+                               else if (flag == "menu=none")
+                                       flgs |= Format::no_menu;
                                else
                                        LYXERR0("Ignoring unknown flag `"
                                               << flag << "' for format `"
@@ -2521,6 +2523,7 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                            format->documentFormat() != cit->documentFormat() ||
                            format->vectorFormat() != cit->vectorFormat() ||
                            format->inExportMenu() != cit->inExportMenu() ||
+                           format->noMenu() != cit->noMenu() ||
                            format->mime() != cit->mime()) {
                                os << "\\format \"" << cit->name() << "\" \""
                                   << cit->extensions() << "\" \""
index de881c61fd2c672482e1abd395a6142385b3194a..b77164b8a3fefdedbcf29dc117c9cf5a2914a43f 100644 (file)
@@ -1126,6 +1126,8 @@ void MenuDefinition::expandFormats(MenuItem::Kind const kind, Buffer const * buf
 
                switch (kind) {
                case MenuItem::ImportFormats:
+                       if (f->noMenu())
+                               continue;
                        label += from_ascii("...");
                        break;
                case MenuItem::ViewFormats: