http://bugzilla.lyx.org/show_bug.cgi?id=3337
Attached please find the svn diff output. The purpose of this patch is to add a control for column separation to the Page Margins dialog. I'm also attaching a simple test file. It occurred to me after I did this that there may be a ban on such things at the moment, as it affects the file format. Specifically, there needs to be a "\columnsep" setting in the header. If so, sorry. Perhaps it can be included later. That said, you will also notice that I made some extensive changes to MarginsUi.ui. I noticed during testing that the LengthCombo widgets did not line up neatly with the Label and LineEdit widgets. Specifically, the LengthCombo widgets seem (at least at some font sizes) to be shorter than the Labels and LineEdits, so by the time you get to the bottom of the dialog, the LengthCombos are too high by a few pixels. In any event, whereas the extant MarginsUi.ui used three vertical layouts, this one uses two vertical layouts with the Labels in one and the LineEdits and LengthCombos packed in horizontal layouts within the other. They all seem to line up now. And, obviously, if you can't now use the columnsep bit and wish to use this, I can just remove the columnsep lines from this file. Best, Richard Heck -- ================================================================== Richard G Heck, Jr Professor of Philosophy Brown University http://bobjweil.com/heck/ ================================================================== Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Index: buffer.C
===================================================================
--- buffer.C (revision 17493)
+++ buffer.C (working copy)
@@ -428,6 +428,7 @@
params().headheight.erase();
params().headsep.erase();
params().footskip.erase();
+ params().columnsep.erase();
for (int i = 0; i < 4; ++i) {
params().user_defined_bullet(i) = ITEMIZE_DEFAULTS[i];
params().temp_bullet(i) = ITEMIZE_DEFAULTS[i];
Index: bufferparams.C
===================================================================
--- bufferparams.C (revision 17493)
+++ bufferparams.C (working copy)
@@ -559,6 +559,8 @@
lex >> headsep;
} else if (token == "\\footskip") {
lex >> footskip;
+ } else if (token == "\\columnsep") {
+ lex >> columnsep;
} else if (token == "\\paperfontsize") {
lex >> fontsize;
} else if (token == "\\papercolumns") {
@@ -684,6 +686,9 @@
if (!footskip.empty())
os << "\\footskip "
<< VSpace(footskip).asLyXCommand() << '\n';
+ if (!columnsep.empty())
+ os << "\\columnsep "
+ << VSpace(columnsep).asLyXCommand() << '\n';
os << "\\secnumdepth " << secnumdepth
<< "\n\\tocdepth " << tocdepth
<< "\n\\paragraph_separation "
@@ -970,6 +975,8 @@
os << ",headsep=" << from_ascii(headsep);
if (!footskip.empty())
os << ",footskip=" << from_ascii(footskip);
+ if (!columnsep.empty())
+ os << ",columnsep=" << from_ascii(columnsep);
os << "}\n";
texrow.newline();
}
Index: frontends/qt4/QDocumentDialog.C
===================================================================
--- frontends/qt4/QDocumentDialog.C (revision 17493)
+++ frontends/qt4/QDocumentDialog.C (working copy)
@@ -237,6 +237,8 @@
connect(marginsModule->headsepUnit, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
connect(marginsModule->footskipLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
connect(marginsModule->footskipUnit, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+ connect(marginsModule->columnsepLE, SIGNAL(textChanged(const QString&)), this, SLOT(change_adaptor()));
+ connect(marginsModule->columnsepUnit, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
marginsModule->topLE->setValidator(unsignedLengthValidator(
marginsModule->topLE));
marginsModule->bottomLE->setValidator(unsignedLengthValidator(
@@ -251,6 +253,8 @@
marginsModule->headheightLE));
marginsModule->footskipLE->setValidator(unsignedLengthValidator(
marginsModule->footskipLE));
+ marginsModule->columnsepLE->setValidator(unsignedLengthValidator(
+ marginsModule->columnsepLE));
addCheckedLineEdit(form_->bcview(), marginsModule->topLE,
marginsModule->topL);
@@ -266,6 +270,8 @@
marginsModule->headheightL);
addCheckedLineEdit(form_->bcview(), marginsModule->footskipLE,
marginsModule->footskipL);
+ addCheckedLineEdit(form_->bcview(), marginsModule->columnsepLE,
+ marginsModule->columnsepL);
@@ -519,6 +525,10 @@
marginsModule->footskipL->setEnabled(!custom);
marginsModule->footskipLE->setEnabled(!custom);
marginsModule->footskipUnit->setEnabled(!custom);
+
+ marginsModule->columnsepL->setEnabled(!custom);
+ marginsModule->columnsepLE->setEnabled(!custom);
+ marginsModule->columnsepUnit->setEnabled(!custom);
}
@@ -866,6 +876,8 @@
params.footskip = widgetsToLength(m->footskipLE, m->footskipUnit);
+ params.columnsep = widgetsToLength(m->columnsepLE, m->columnsepUnit);
+
branchesModule->apply(params);
}
@@ -1147,6 +1159,9 @@
lengthToWidgets(m->footskipLE, m->footskipUnit,
params.footskip, defaultUnit);
+ lengthToWidgets(m->columnsepLE, m->columnsepUnit,
+ params.columnsep, defaultUnit);
+
branchesModule->update(params);
}
Index: frontends/qt4/ui/MarginsUi.ui
===================================================================
--- frontends/qt4/ui/MarginsUi.ui (revision 17493)
+++ frontends/qt4/ui/MarginsUi.ui (working copy)
@@ -171,68 +168,19 @@
</property>
</widget>
</item>
- </layout>
- </item>
- <item>
- <layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
<item>
- <widget class="QLineEdit" name="topLE" >
+ <widget class="QLabel" name="columnsepL" >
<property name="enabled" >
<bool>false</bool>
</property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="bottomLE" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
<property name="text" >
- <string/>
+ <string>&Column sep:</string>
</property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="innerLE" >
- <property name="enabled" >
- <bool>false</bool>
+ <property name="buddy" >
+ <cstring>columnsepLE</cstring>
</property>
</widget>
</item>
- <item>
- <widget class="QLineEdit" name="outerLE" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="headsepLE" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="headheightLE" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="footskipLE" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
</layout>
</item>
<item>
@@ -244,71 +192,211 @@
<number>6</number>
</property>
<item>
- <widget class="LengthCombo" name="topUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="topLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="topUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="LengthCombo" name="bottomUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="bottomLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ <property name="text" >
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="bottomUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="LengthCombo" name="innerUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="innerLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="innerUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="LengthCombo" name="outerUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="outerLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="outerUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="LengthCombo" name="headsepUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="headsepLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="headsepUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="LengthCombo" name="headheightUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="headheightLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="headheightUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="LengthCombo" name="footskipUnit" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="footskipLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="footskipUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
- </layout>
- </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="columnsepLE" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="LengthCombo" native="1" name="columnsepUnit" >
+ <property name="enabled" >
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
</layout>
</item>
</layout>
</widget>
- <pixmapfunction></pixmapfunction>
- <includes>
- <include location="local" >qt_helpers.h</include>
- </includes>
<customwidgets>
<customwidget>
<class>LengthCombo</class>
- <extends></extends>
+ <extends>QWidget</extends>
<header>lengthcombo.h</header>
- <container>0</container>
- <pixmap></pixmap>
</customwidget>
</customwidgets>
<tabstops>
@@ -320,6 +408,9 @@
<tabstop>headheightLE</tabstop>
<tabstop>footskipLE</tabstop>
</tabstops>
+ <includes>
+ <include location="local" >qt_helpers.h</include>
+ </includes>
<resources/>
<connections/>
</ui>
Index: bufferparams.h
===================================================================
--- bufferparams.h (revision 17493)
+++ bufferparams.h (working copy)
@@ -144,6 +144,8 @@
std::string headsep;
///
std::string footskip;
+ ///
+ std::string columnsep;
/* some LaTeX options */
/// The graphics driver
3337.test.lyx
Description: application/lyx
