#include "LyXRC.h"
+#include "BufferList.h"
#include "ColorSet.h"
#include "Converter.h"
#include "FontEnums.h"
// The format should also be updated in configure.py, and conversion code
// should be added to prefs2prefs_prefs.py.
-static unsigned int const LYXRC_FILEFORMAT = 19; // rgh: remove print support
+static unsigned int const LYXRC_FILEFORMAT = 20; // tommaso: 'needauth' options
// when adding something to this array keep it sorted!
LexerKeyword lyxrcTags[] = {
{ "\\thesaurusdir_path", LyXRC::RC_THESAURUSDIRPATH },
{ "\\ui_file", LyXRC::RC_UIFILE },
{ "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE },
+ { "\\use_converter_needauth", LyXRC::RC_USE_CONVERTER_NEEDAUTH },
+ { "\\use_converter_needauth_forbidden", LyXRC::RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN },
{ "\\use_lastfilepos", LyXRC::RC_USELASTFILEPOS },
{ "\\use_pixmap_cache", LyXRC::RC_USE_PIXMAP_CACHE },
{ "\\use_qimage", LyXRC::RC_USE_QIMAGE },
auto_reset_options = false;
plaintext_linelen = 65;
mouse_wheel_speed = 1.0;
- num_lastfiles = maxlastfiles;
+ num_lastfiles = 20;
check_lastfiles = true;
use_lastfilepos = true;
load_session = false;
preview_hashed_labels = false;
preview_scale_factor = 1.0;
use_converter_cache = true;
+ use_converter_needauth_forbidden = true;
+ use_converter_needauth = true;
use_system_colors = false;
use_tooltip = true;
use_pixmap_cache = false;
case RC_SCREEN_ZOOM:
lexrc >> zoom;
+ if (zoom < 10)
+ zoom = 10;
break;
case RC_GEOMETRY_SESSION:
break;
case RC_DOCUMENTPATH:
- if (lexrc.next()) {
+ if (lexrc.next())
document_path = os::internal_path(lexrc.getString());
- document_path = expandPath(document_path);
- }
break;
case RC_EXAMPLEPATH:
- if (lexrc.next()) {
+ if (lexrc.next())
example_path = os::internal_path(lexrc.getString());
- example_path = expandPath(example_path);
- }
break;
case RC_TEMPLATEPATH:
- if (lexrc.next()) {
+ if (lexrc.next())
template_path = os::internal_path(lexrc.getString());
- template_path = expandPath(template_path);
- }
break;
case RC_TEMPDIRPATH:
- if (lexrc.next()) {
+ if (lexrc.next())
tempdir_path = os::internal_path(lexrc.getString());
- tempdir_path = expandPath(tempdir_path);
- }
break;
case RC_THESAURUSDIRPATH:
- if (lexrc.next()) {
+ if (lexrc.next())
thesaurusdir_path = os::internal_path(lexrc.getString());
- thesaurusdir_path = expandPath(thesaurusdir_path);
- }
break;
case RC_HUNSPELLDIR_PATH:
- if (lexrc.next()) {
+ if (lexrc.next())
hunspelldir_path = os::internal_path(lexrc.getString());
- hunspelldir_path = expandPath(hunspelldir_path);
- }
break;
case RC_USELASTFILEPOS:
break;
case RC_SERVERPIPE:
- if (lexrc.next()) {
+ if (lexrc.next())
lyxpipes = os::internal_path(lexrc.getString());
- lyxpipes = expandPath(lyxpipes);
- }
break;
case RC_CURSOR_FOLLOWS_SCROLLBAR:
lexrc >> save_origin;
break;
case RC_BACKUPDIR_PATH:
- if (lexrc.next()) {
+ if (lexrc.next())
backupdir_path = os::internal_path(lexrc.getString());
- backupdir_path = expandPath(backupdir_path);
- }
break;
case RC_DEFAULT_DECIMAL_POINT:
lexrc >> default_decimal_point;
}
case RC_FILEFORMAT: {
bool ok = true;
- string format, extensions, prettyname, shortcut;
+ string format, extensions, shortcut;
+ docstring prettyname;
if (!(lexrc >> format >> extensions))
ok = false;
if (ok && lexrc.next(true))
- prettyname = lexrc.getString();
+ prettyname = lexrc.getDocString();
else
ok = false;
if (ok)
case RC_USE_CONVERTER_CACHE:
lexrc >> use_converter_cache;
break;
+ case RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN:
+ lexrc >> use_converter_needauth_forbidden;
+ break;
+ case RC_USE_CONVERTER_NEEDAUTH:
+ lexrc >> use_converter_needauth;
+ break;
case RC_CONVERTER_CACHE_MAXAGE:
lexrc >> converter_cache_maxage;
break;
/// Update converters data-structures
theConverters().update(formats);
theConverters().buildGraph();
+ theBufferList().invalidateConverterCache();
return ReadOK;
}
if (tag != RC_LAST)
break;
+ case RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN:
+ if (ignore_system_lyxrc ||
+ use_converter_needauth_forbidden != system_lyxrc.use_converter_needauth_forbidden) {
+ os << "\\use_converter_needauth_forbidden "
+ << convert<string>(use_converter_needauth_forbidden) << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+
+ case RC_USE_CONVERTER_NEEDAUTH:
+ if (ignore_system_lyxrc ||
+ use_converter_needauth != system_lyxrc.use_converter_needauth) {
+ os << "\\use_converter_needauth "
+ << convert<string>(use_converter_needauth) << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+
case RC_CONVERTER_CACHE_MAXAGE:
if (ignore_system_lyxrc ||
converter_cache_maxage != system_lyxrc.converter_cache_maxage) {
format->mime() != cit->mime()) {
os << "\\format \"" << cit->name() << "\" \""
<< cit->extensions() << "\" \""
- << cit->prettyname() << "\" \""
+ << to_utf8(cit->prettyname()) << "\" \""
<< cit->shortcut() << "\" \""
<< escapeCommand(cit->viewer()) << "\" \""
<< escapeCommand(cit->editor()) << "\" \"";
case LyXRC::RC_USER_EMAIL:
case LyXRC::RC_USER_NAME:
case LyXRC::RC_USE_CONVERTER_CACHE:
+ case LyXRC::RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN:
+ case LyXRC::RC_USE_CONVERTER_NEEDAUTH:
case LyXRC::RC_USE_SYSTEM_COLORS:
case LyXRC::RC_USE_TOOLTIP:
case LyXRC::RC_USE_PIXMAP_CACHE:
case RC_CONVERTER:
break;
+ case RC_CONVERTER_NEEDAUTH_FORBIDDEN:
+ str = _("Forbid use of external converters with 'needauth' option to prevent undesired effects.");
+ break;
+
+ case RC_CONVERTER_NEEDAUTH:
+ str = _("Ask user before calling external converters with 'needauth' option to prevent undesired effects.");
+ break;
+
case RC_COPIER:
break;
break;
case RC_MOUSE_WHEEL_SPEED:
- str = bformat(_("The scrolling speed of the mouse wheel."),
- maxlastfiles);
+ str = _("The scrolling speed of the mouse wheel.");
break;
case RC_COMPLETION_POPUP_DELAY: