X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFormat.h;h=d1d6d74183cf8c78b8fb26c4fdaadc298308d3b0;hb=5be391b274f2cbf4a1da03bc5ee2136cb6c4e660;hp=e076934cb5935ec3055d37f45b09401afa5beed5;hpb=a2bfe0042d740da64c1daf60f145211cfc1396ed;p=lyx.git diff --git a/src/Format.h b/src/Format.h index e076934cb5..d1d6d74183 100644 --- a/src/Format.h +++ b/src/Format.h @@ -12,12 +12,11 @@ #ifndef FORMAT_H #define FORMAT_H -#include "support/docstring.h" +#include "support/strfwd.h" #include "support/trivstring.h" -#include "OutputParams.h" - #include +#include namespace lyx { @@ -25,6 +24,8 @@ namespace support { class FileName; } class Buffer; +enum class Flavor : int; + class Format { public: /// Flags for some format properties @@ -39,7 +40,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 +99,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); @@ -148,6 +153,8 @@ public: Format & get(FormatList::size_type i) { return formatlist_[i]; } /// \returns format named \p name if it exists, otherwise 0 Format const * getFormat(std::string const & name) const; + /// \returns format named \p name if it exists, otherwise 0 + Format * getFormat(std::string const & name); /*! * Get the format of \p filename from file contents or, if this * fails, from file extension. @@ -213,14 +220,17 @@ private: }; /// -std::string flavor2format(OutputParams::FLAVOR flavor); +std::string flavor2format(Flavor flavor); // Not currently used. -// OutputParams::FLAVOR format2flavor(std::string fmt); - -extern Formats formats; +// Flavor format2flavor(std::string fmt); -extern Formats system_formats; +/// The global instance. +/// Implementation is in LyX.cpp. +extern Formats & theFormats(); +/// The global copy after reading lyxrc.defaults. +/// Implementation is in LyX.cpp. +extern Formats & theSystemFormats(); } // namespace lyx