#include "LyXRC.h"
-#include "debug.h"
+#include "support/debug.h"
#include "Color.h"
#include "Converter.h"
#include "Format.h"
-#include "gettext.h"
+#include "support/gettext.h"
#include "Session.h"
#include "Lexer.h"
#include "FontEnums.h"
#include "support/os.h"
#include "support/userinfo.h"
+using namespace std;
+using namespace lyx::support;
namespace lyx {
namespace os = support::os;
-using support::ascii_lowercase;
-using support::bformat;
-using support::expandPath;
-using support::FileName;
-using support::getEnv;
-using support::libFileSearch;
-using support::token;
-
-using std::cout;
-using std::endl;
-
-using std::ios;
-using std::ofstream;
-using std::ostream;
-using std::string;
-
-
namespace {
// when adding something to this array keep it sorted!
{ "\\display_graphics", LyXRC::RC_DISPLAY_GRAPHICS },
{ "\\document_path", LyXRC::RC_DOCUMENTPATH },
{ "\\escape_chars", LyXRC::RC_ESC_CHARS },
+ { "\\example_path", LyXRC::RC_EXAMPLEPATH },
{ "\\font_encoding", LyXRC::RC_FONT_ENCODING },
{ "\\format", LyXRC::RC_FORMAT },
{ "\\index_command", LyXRC::RC_INDEX_COMMAND },
{ "\\language_package", LyXRC::RC_LANGUAGE_PACKAGE },
{ "\\language_use_babel", LyXRC::RC_LANGUAGE_USE_BABEL },
{ "\\load_session", LyXRC::RC_LOADSESSION },
+ { "\\macro_edit_style", LyXRC::RC_MACRO_EDIT_STYLE },
{ "\\make_backup", LyXRC::RC_MAKE_BACKUP },
{ "\\mark_foreign_language", LyXRC::RC_MARK_FOREIGN_LANGUAGE },
+ { "\\mouse_wheel_speed", LyXRC::RC_MOUSE_WHEEL_SPEED },
{ "\\num_lastfiles", LyXRC::RC_NUMLASTFILES },
{ "\\path_prefix", LyXRC::RC_PATH_PREFIX },
{ "\\personal_dictionary", LyXRC::RC_PERS_DICT },
{ "\\use_spell_lib", LyXRC::RC_USE_SPELL_LIB },
// compatibility with versions older than 1.4.0 only
{ "\\use_tempdir", LyXRC::RC_USETEMPDIR },
+ { "\\use_tooltip", LyXRC::RC_USE_TOOLTIP },
{ "\\user_email", LyXRC::RC_USER_EMAIL },
{ "\\user_name", LyXRC::RC_USER_NAME },
{ "\\view_dvi_paper_option", LyXRC::RC_VIEWDVI_PAPEROPTION },
auto_region_delete = true;
auto_reset_options = false;
plaintext_linelen = 65;
+ mouse_wheel_speed = 1.0;
num_lastfiles = maxlastfiles;
check_lastfiles = true;
use_lastfilepos = true;
tex_allows_spaces = false;
date_insert_format = "%x";
cursor_follows_scrollbar = false;
+ macro_edit_style = MACRO_EDIT_INLINE_BOX;
dialogs_iconify_with_main = false;
label_init_length = 3;
preview = PREVIEW_OFF;
preview_hashed_labels = false;
preview_scale_factor = "0.9";
use_converter_cache = true;
+ use_tooltip = true;
use_pixmap_cache = false;
converter_cache_maxage = 6 * 30 * 24 * 3600; // 6 months
lexrc.setFile(filename);
if (!lexrc.isOK()) return -2;
- LYXERR(Debug::LYXRC) << "Reading '" << filename << "'..." << endl;
+ LYXERR(Debug::LYXRC, "Reading '" << filename << "'...");
return read(lexrc);
}
-int LyXRC::read(std::istream & is)
+int LyXRC::read(istream & is)
{
Lexer lexrc(lyxrcTags, lyxrcCount);
if (lyxerr.debugging(Debug::PARSER))
lexrc.setStream(is);
if (!lexrc.isOK()) return -2;
- LYXERR(Debug::LYXRC) << "Reading istream..." << endl;
+ LYXERR(Debug::LYXRC, "Reading istream...");
return read(lexrc);
}
}
break;
+ case RC_EXAMPLEPATH:
+ if (lexrc.next()) {
+ example_path = os::internal_path(lexrc.getString());
+ example_path = expandPath(example_path);
+ }
+ break;
+
case RC_TEMPLATEPATH:
if (lexrc.next()) {
template_path = os::internal_path(lexrc.getString());
}
break;
+ case RC_MOUSE_WHEEL_SPEED:
+ if (lexrc.next()) {
+ mouse_wheel_speed = lexrc.getFloat();
+ }
+ break;
+
case RC_NUMLASTFILES:
if (lexrc.next()) {
num_lastfiles = lexrc.getInteger();
}
break;
+ case RC_MACRO_EDIT_STYLE:
+ if (lexrc.next()) {
+ switch (lexrc.getInteger()) {
+ case 0: macro_edit_style = MACRO_EDIT_INLINE_BOX; break;
+ case 1: macro_edit_style = MACRO_EDIT_INLINE; break;
+ case 2: macro_edit_style = MACRO_EDIT_LIST; break;
+ }
+ }
+ break;
+
case RC_DIALOGS_ICONIFY_WITH_MAIN:
if (lexrc.next()) {
dialogs_iconify_with_main = lexrc.getBool();
isp_use_pers_dict = lexrc.getBool();
}
break;
+ case RC_USE_TOOLTIP:
+ if (lexrc.next()) {
+ use_tooltip = lexrc.getBool();
+ }
+ break;
case RC_USE_PIXMAP_CACHE:
if (lexrc.next()) {
use_pixmap_cache = lexrc.getBool();
int flgs = Format::none;
while (!flags.empty()) {
string flag;
- flags = support::split(flags, flag, ',');
+ flags = split(flags, flag, ',');
if (flag == "document")
flgs |= Format::document;
else if (flag == "vector")
class SameMover {
public:
- typedef std::pair<std::string, SpecialisedMover> Data;
+ typedef pair<string, SpecialisedMover> Data;
SameMover(Data const & comparison)
: comparison_(comparison) {}
}
if (tag != RC_LAST)
break;
+ case RC_MACRO_EDIT_STYLE:
+ if (ignore_system_lyxrc ||
+ macro_edit_style
+ != system_lyxrc.macro_edit_style) {
+ os << "\\macro_edit_style ";
+ switch (macro_edit_style) {
+ case MACRO_EDIT_INLINE_BOX: os << "0\n"; break;
+ case MACRO_EDIT_INLINE: os << "1\n"; break;
+ case MACRO_EDIT_LIST: os << "2\n"; break;
+ }
+ }
+ if (tag != RC_LAST)
+ break;
case RC_DIALOGS_ICONIFY_WITH_MAIN:
if (ignore_system_lyxrc ||
dialogs_iconify_with_main
}
if (tag != RC_LAST)
break;
+ case RC_MOUSE_WHEEL_SPEED:
+ if (ignore_system_lyxrc ||
+ mouse_wheel_speed != system_lyxrc.mouse_wheel_speed) {
+ os << "\\mouse_wheel_speed " << mouse_wheel_speed << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
case RC_NUMLASTFILES:
if (ignore_system_lyxrc ||
num_lastfiles != system_lyxrc.num_lastfiles) {
}
if (tag != RC_LAST)
break;
+ case RC_EXAMPLEPATH:
+ if (ignore_system_lyxrc ||
+ example_path != system_lyxrc.example_path) {
+ string const path = os::external_path(example_path);
+ os << "\\example_path \"" << path << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
case RC_TEMPLATEPATH:
if (ignore_system_lyxrc ||
template_path != system_lyxrc.template_path) {
}
if (tag != RC_LAST)
break;
+ case RC_USE_TOOLTIP:
+ if (ignore_system_lyxrc ||
+ use_tooltip != system_lyxrc.use_tooltip) {
+ os << "\\use_tooltip "
+ << convert<string>(use_tooltip)
+ << '\n';
+ }
case RC_USE_PIXMAP_CACHE:
if (ignore_system_lyxrc ||
use_pixmap_cache != system_lyxrc.use_pixmap_cache) {
<< cit->shortcut() << "\" \""
<< cit->viewer() << "\" \""
<< cit->editor() << "\" \"";
- std::vector<string> flags;
+ vector<string> flags;
if (cit->documentFormat())
flags.push_back("document");
if (cit->vectorFormat())
flags.push_back("vector");
- os << support::getStringFromVector(flags);
+ os << getStringFromVector(flags);
os << "\"\n";
}
}
for (; it != end; ++it) {
Movers::const_iterator const sysit =
- std::find_if(sysbegin, sysend, SameMover(*it));
+ find_if(sysbegin, sysend, SameMover(*it));
if (sysit == sysend) {
- std::string const & fmt = it->first;
- std::string const & command =
+ string const & fmt = it->first;
+ string const & command =
it->second.command();
os << "\\copier " << fmt
str = _("LyX normally doesn't update the cursor position if you move the scrollbar. Set to true if you'd prefer to always have the cursor on screen.");
break;
+ case RC_SHOW_MACRO_LABEL:
+ str = _("Show a small box around a Math Macro with the macro name when the cursor is inside.");
+ break;
+
case RC_CUSTOM_EXPORT_COMMAND:
break;
break;
case RC_DEFFILE:
- //FIXME: fix description.
- str = _("Command definition file.");
+ str = _("Command definition file. Can either specify an absolute path, or LyX will look in its global and local commands/ directories.");
break;
case RC_DEFAULT_LANGUAGE:
str = _("Specify additional chars that can be part of a word.");
break;
+ case RC_EXAMPLEPATH:
+ str = _("The path that LyX will set when offering to choose an example. An empty value selects the directory LyX was started from.");
+ break;
+
case RC_FONT_ENCODING:
str = _("The font encoding used for the LaTeX2e fontenc package. T1 is highly recommended for non-English languages.");
break;
str = _("Select to control the highlighting of words with a language foreign to that of the document.");
break;
+ case RC_MOUSE_WHEEL_SPEED:
+ str = bformat(_("The scrolling speed of the mouse wheel. "),
+ maxlastfiles);
+ break;
+
case RC_NUMLASTFILES:
str = bformat(_("Maximal number of lastfiles. Up to %1$d can appear in the file menu."),
maxlastfiles);
str = _("Specify whether to pass the -T input encoding option to ispell. Enable this if you cannot check the spelling of words containing accented letters. This may not work with all dictionaries.");
break;
+ case RC_USE_TOOLTIP:
+ str = _("Enable the automatic appearance of tool tips in the work area.");
+ break;
+
case RC_USE_PIXMAP_CACHE:
str = _("Enable the pixmap cache that might improve performance on Mac and Windows.");
break;