commit f838b16a9b36623e2724ff30628733dc3eb3db56
Author: Juergen Spitzmueller <[email protected]>
Date:   Wed Sep 11 10:29:50 2019 +0200

    Allow to hide formats from menus
    
    Fixes: #11657
    (cherry picked from commit d76cef70a0320212adb3cfcf73aa77174802e4fc)
---
 lib/configure.py            |    2 +-
 src/Format.h                |    6 +++++-
 src/LyXRC.cpp               |    3 +++
 src/frontends/qt4/Menus.cpp |    2 ++
 status.23x                  |    2 ++
 5 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/lib/configure.py b/lib/configure.py
index 23b631f..c115ac1 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -686,7 +686,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"      ""
diff --git a/src/Format.h b/src/Format.h
index cc383c0..4fcd3c9 100644
--- a/src/Format.h
+++ b/src/Format.h
@@ -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);
diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp
index 67530bd..fb71174 100644
--- a/src/LyXRC.cpp
+++ b/src/LyXRC.cpp
@@ -1056,6 +1056,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 `"
@@ -2721,6 +2723,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() << "\" \""
diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp
index 5eafff6..0872152 100644
--- a/src/frontends/qt4/Menus.cpp
+++ b/src/frontends/qt4/Menus.cpp
@@ -1112,6 +1112,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:
diff --git a/status.23x b/status.23x
index 319b18c..7f4232e 100644
--- a/status.23x
+++ b/status.23x
@@ -135,6 +135,8 @@ What's new
 
 - Fix crash when deleting column in math grid (bug 11623).
 
+- Hide "LaTeX (Clipboard)" entry from import menu (bug 11657).
+
 
 * INTERNALS
 

Reply via email to