Author: vfr
Date: Thu Oct 27 13:52:11 2011
New Revision: 40030
URL: http://www.lyx.org/trac/changeset/40030
Log:
Add a preference option to specify the default length unit (cm or in).
Modified:
lyx-devel/trunk/lib/scripts/prefs2prefs_prefs.py
lyx-devel/trunk/src/Length.cpp
lyx-devel/trunk/src/LyXRC.cpp
lyx-devel/trunk/src/LyXRC.h
lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp
lyx-devel/trunk/src/frontends/qt4/ui/PrefLanguageUi.ui
Modified: lyx-devel/trunk/lib/scripts/prefs2prefs_prefs.py
==============================================================================
--- lyx-devel/trunk/lib/scripts/prefs2prefs_prefs.py Thu Oct 27 13:49:15
2011 (r40029)
+++ lyx-devel/trunk/lib/scripts/prefs2prefs_prefs.py Thu Oct 27 13:52:11
2011 (r40030)
@@ -28,6 +28,11 @@
# Incremented to format 4, r40028 by vfr
# Remove support for default paper size.
+# Incremented to format 5, r40030 by vfr
+# Add a default length unit.
+# No conversion necessary.
+
+
import re
@@ -141,4 +146,5 @@
[ 2, []],
[ 3, [ zipped_native ]],
[ 4, [ remove_default_papersize ]],
+ [ 5, []],
]
Modified: lyx-devel/trunk/src/Length.cpp
==============================================================================
--- lyx-devel/trunk/src/Length.cpp Thu Oct 27 13:49:15 2011 (r40029)
+++ lyx-devel/trunk/src/Length.cpp Thu Oct 27 13:52:11 2011 (r40030)
@@ -320,8 +320,7 @@
Length::UNIT Length::defaultUnit()
{
- // FIXME: use a preference
- return Length::CM;
+ return lyxrc.default_length_unit;
}
Modified: lyx-devel/trunk/src/LyXRC.cpp
==============================================================================
--- lyx-devel/trunk/src/LyXRC.cpp Thu Oct 27 13:49:15 2011 (r40029)
+++ lyx-devel/trunk/src/LyXRC.cpp Thu Oct 27 13:52:11 2011 (r40030)
@@ -55,7 +55,7 @@
namespace {
-static unsigned int const LYXRC_FILEFORMAT = 4; // vfr: remove default paper
size
+static unsigned int const LYXRC_FILEFORMAT = 5; // vfr: add default length unit
// when adding something to this array keep it sorted!
LexerKeyword lyxrcTags[] = {
@@ -91,6 +91,7 @@
{ "\\def_file", LyXRC::RC_DEFFILE },
{ "\\default_decimal_point", LyXRC::RC_DEFAULT_DECIMAL_POINT },
{ "\\default_language", LyXRC::RC_DEFAULT_LANGUAGE },
+ { "\\default_length_unit", LyXRC::RC_DEFAULT_LENGTH_UNIT },
{ "\\default_view_format", LyXRC::RC_DEFAULT_VIEW_FORMAT },
{ "\\dialogs_iconify_with_main", LyXRC::RC_DIALOGS_ICONIFY_WITH_MAIN },
{ "\\display_graphics", LyXRC::RC_DISPLAY_GRAPHICS },
@@ -365,6 +366,7 @@
completion_inline_dots = -1;
completion_inline_delay = 0.2;
default_decimal_point = ".";
+ default_length_unit = Length::CM;
cursor_width = 1;
}
@@ -979,6 +981,10 @@
case RC_DEFAULT_DECIMAL_POINT:
lexrc >> default_decimal_point;
break;
+ case RC_DEFAULT_LENGTH_UNIT:
+ if (lexrc.next())
+ default_length_unit = (Length::UNIT)
lexrc.getInteger();
+ break;
case RC_DATE_INSERT_FORMAT:
lexrc >> date_insert_format;
break;
@@ -2448,6 +2454,14 @@
if (tag != RC_LAST)
break;
+ case RC_DEFAULT_LENGTH_UNIT:
+ if (ignore_system_lyxrc ||
+ default_length_unit != system_lyxrc.default_length_unit) {
+ os << "\\default_length_unit " <<
int(default_length_unit) << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+
case RC_SPELLCHECKER:
if (ignore_system_lyxrc ||
spellchecker != system_lyxrc.spellchecker) {
@@ -2996,6 +3010,7 @@
case LyXRC::RC_FORWARD_SEARCH_PDF:
case LyXRC::RC_EXPORT_OVERWRITE:
case LyXRC::RC_DEFAULT_DECIMAL_POINT:
+ case LyXRC::RC_DEFAULT_LENGTH_UNIT:
case LyXRC::RC_SCROLL_WHEEL_ZOOM:
case LyXRC::RC_CURSOR_WIDTH:
break;
Modified: lyx-devel/trunk/src/LyXRC.h
==============================================================================
--- lyx-devel/trunk/src/LyXRC.h Thu Oct 27 13:49:15 2011 (r40029)
+++ lyx-devel/trunk/src/LyXRC.h Thu Oct 27 13:52:11 2011 (r40030)
@@ -19,6 +19,7 @@
#define LYXRC_H
#include "paper.h"
+#include "Length.h"
#include "support/strfwd.h"
@@ -68,6 +69,7 @@
RC_CURSOR_WIDTH,
RC_DATE_INSERT_FORMAT,
RC_DEFAULT_DECIMAL_POINT,
+ RC_DEFAULT_LENGTH_UNIT,
RC_DEFAULT_LANGUAGE,
RC_DEFAULT_VIEW_FORMAT,
RC_DEFFILE,
@@ -528,6 +530,8 @@
/// Default decimal point when aligning table columns on decimal
std::string default_decimal_point;
///
+ Length::UNIT default_length_unit;
+ ///
enum ScrollWheelZoom {
SCROLL_WHEEL_ZOOM_OFF,
SCROLL_WHEEL_ZOOM_CTRL,
Modified: lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp Thu Oct 27 13:49:15
2011 (r40029)
+++ lyx-devel/trunk/src/frontends/qt4/GuiPrefs.cpp Thu Oct 27 13:52:11
2011 (r40030)
@@ -2255,6 +2255,8 @@
this, SIGNAL(changed()));
connect(defaultDecimalPointLE, SIGNAL(textChanged(QString)),
this, SIGNAL(changed()));
+ connect(defaultLengthUnitCO, SIGNAL(activated(int)),
+ this, SIGNAL(changed()));
languagePackageED->setValidator(new
NoNewLineValidator(languagePackageED));
startCommandED->setValidator(new NoNewLineValidator(startCommandED));
@@ -2268,6 +2270,9 @@
defaultDecimalPointLE->setInputMask("X; ");
defaultDecimalPointLE->setMaxLength(1);
+ defaultLengthUnitCO->addItem(lyx::qt_(unit_name_gui[Length::CM]),
Length::CM);
+ defaultLengthUnitCO->addItem(lyx::qt_(unit_name_gui[Length::IN]),
Length::IN);
+
set<string> added;
uiLanguageCO->blockSignals(true);
uiLanguageCO->addItem(qt_("Default"), toqstr("auto"));
@@ -2327,6 +2332,7 @@
rc.gui_language = fromqstr(
uiLanguageCO->itemData(uiLanguageCO->currentIndex()).toString());
rc.default_decimal_point = fromqstr(defaultDecimalPointLE->text());
+ rc.default_length_unit = (Length::UNIT)
defaultLengthUnitCO->itemData(defaultLengthUnitCO->currentIndex()).toInt();
}
@@ -2348,8 +2354,10 @@
startCommandED->setText(toqstr(rc.language_command_begin));
endCommandED->setText(toqstr(rc.language_command_end));
defaultDecimalPointLE->setText(toqstr(rc.default_decimal_point));
+ int pos = defaultLengthUnitCO->findData(int(rc.default_length_unit));
+ defaultLengthUnitCO->setCurrentIndex(pos);
- int pos = uiLanguageCO->findData(toqstr(rc.gui_language));
+ pos = uiLanguageCO->findData(toqstr(rc.gui_language));
uiLanguageCO->blockSignals(true);
uiLanguageCO->setCurrentIndex(pos);
uiLanguageCO->blockSignals(false);
Modified: lyx-devel/trunk/src/frontends/qt4/ui/PrefLanguageUi.ui
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/ui/PrefLanguageUi.ui Thu Oct 27
13:49:15 2011 (r40029)
+++ lyx-devel/trunk/src/frontends/qt4/ui/PrefLanguageUi.ui Thu Oct 27
13:52:11 2011 (r40030)
@@ -154,7 +154,20 @@
</property>
</widget>
</item>
- <item row="5" column="0" colspan="2">
+ <item row="5" column="0">
+ <widget class="QLabel" name="defaultLengthUnitLA">
+ <property name="text">
+ <string>Default length &unit:</string>
+ </property>
+ <property name="buddy">
+ <cstring>defaultLengthUnitCO</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="defaultLengthUnitCO" />
+ </item>
+ <item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="globalCB">
<property name="toolTip">
<string>Check to pass the language globally (to the document class), not
locally (to the language package)</string>
@@ -164,7 +177,7 @@
</property>
</widget>
</item>
- <item row="6" column="0">
+ <item row="7" column="0">
<widget class="QCheckBox" name="autoBeginCB">
<property name="toolTip">
<string>If checked, the document language is not explicitly set by a
language switch command</string>
@@ -174,7 +187,7 @@
</property>
</widget>
</item>
- <item row="7" column="0">
+ <item row="8" column="0">
<widget class="QCheckBox" name="autoEndCB">
<property name="toolTip">
<string>If checked, the document language is not explicitly closed by a
language switch command</string>
@@ -184,7 +197,7 @@
</property>
</widget>
</item>
- <item row="8" column="0" colspan="2">
+ <item row="9" column="0" colspan="2">
<widget class="QCheckBox" name="markForeignCB">
<property name="toolTip">
<string>Check to highlight foreign languages visually in the work
area</string>
@@ -194,7 +207,7 @@
</property>
</widget>
</item>
- <item row="9" column="0" colspan="3">
+ <item row="10" column="0" colspan="3">
<widget class="QGroupBox" name="rtlGB2">
<property name="toolTip">
<string/>
@@ -272,7 +285,7 @@
</layout>
</widget>
</item>
- <item row="10" column="0">
+ <item row="11" column="0">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>