> Pavel Sanda wrote:
> > 2. qt designer showing incompatibilities between linux vs windows.
> > i decreased the widths of boxes so they should appear ok now on windows
> > but it looks bit 'underrated' here on linux. there are probably some
> > components for automatical expanding window elements in designer
> > (spacers?), but dont know how to use them correctly.
>
> - Click on the widget to select the whole dialog
> - Press "layout in a grid"
yes, this gives slightly better results. is this ok on win (Uwe?)
pavel
Index: src/frontends/qt4/GuiDocument.cpp
===================================================================
--- src/frontends/qt4/GuiDocument.cpp (revision 20866)
+++ src/frontends/qt4/GuiDocument.cpp (working copy)
@@ -654,6 +654,8 @@
this, SLOT(change_adaptor()));
connect(pdfSupportModule->backrefCB, SIGNAL(toggled(bool)),
this, SLOT(change_adaptor()));
+ connect(pdfSupportModule->pdfusetitleCB, SIGNAL(toggled(bool)),
+ this, SLOT(change_adaptor()));
connect(pdfSupportModule->pagebackrefCB, SIGNAL(toggled(bool)),
this, SLOT(change_adaptor()));
connect(pdfSupportModule->fullscreenCB, SIGNAL(toggled(bool)),
@@ -1249,6 +1251,7 @@
pdf.breaklinks = pdfSupportModule->breaklinksCB->isChecked();
pdf.pdfborder = pdfSupportModule->pdfborderCB->isChecked();
+ pdf.pdfusetitle = pdfSupportModule->pdfusetitleCB->isChecked();
pdf.colorlinks = pdfSupportModule->colorlinksCB->isChecked();
pdf.backref = pdfSupportModule->backrefCB->isChecked();
pdf.pagebackref = pdfSupportModule->pagebackrefCB->isChecked();
@@ -1257,8 +1260,6 @@
else
pdf.pagemode.clear();
pdf.quoted_options = fromqstr(pdfSupportModule->optionsLE->text());
- if (pdf.use_hyperref || !pdf.empty())
- pdf.store_options = true;
}
@@ -1556,6 +1557,7 @@
pdfSupportModule->breaklinksCB->setChecked(pdf.breaklinks);
pdfSupportModule->pdfborderCB->setChecked(pdf.pdfborder);
+ pdfSupportModule->pdfusetitleCB->setChecked(pdf.pdfusetitle);
pdfSupportModule->colorlinksCB->setChecked(pdf.colorlinks);
pdfSupportModule->backrefCB->setChecked(pdf.backref);
pdfSupportModule->pagebackrefCB->setChecked(pdf.pagebackref);
Index: src/frontends/qt4/ui/PDFSupportUi.ui
===================================================================
--- src/frontends/qt4/ui/PDFSupportUi.ui (revision 20866)
+++ src/frontends/qt4/ui/PDFSupportUi.ui (working copy)
@@ -5,59 +5,59 @@
<rect>
<x>0</x>
<y>0</y>
- <width>436</width>
- <height>394</height>
+ <width>430</width>
+ <height>398</height>
</rect>
</property>
- <widget class="QGroupBox" name="use_hyperrefGB" >
- <property name="geometry" >
- <rect>
- <x>2</x>
- <y>2</y>
- <width>423</width>
- <height>381</height>
- </rect>
- </property>
- <property name="toolTip" >
- <string>Enable clickable crossreferences and header informations</string>
- </property>
- <property name="title" >
- <string>&Use hyperref support</string>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <property name="checked" >
- <bool>false</bool>
- </property>
- <widget class="QGroupBox" name="groupBox_4" >
- <property name="geometry" >
- <rect>
- <x>186</x>
- <y>170</y>
- <width>231</width>
- <height>148</height>
- </rect>
- </property>
- <property name="title" >
- <string>Links</string>
- </property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
+ <layout class="QGridLayout" >
+ <item row="0" column="0" >
+ <widget class="QGroupBox" name="use_hyperrefGB" >
+ <property name="toolTip" >
+ <string>Enable clickable crossreferences and header informations</string>
</property>
- <property name="spacing" >
- <number>6</number>
+ <property name="title" >
+ <string>&Use hyperref support</string>
</property>
- <item row="2" column="0" >
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ <property name="checked" >
+ <bool>false</bool>
+ </property>
+ <widget class="QGroupBox" name="groupBox_4" >
+ <property name="geometry" >
+ <rect>
+ <x>186</x>
+ <y>166</y>
+ <width>218</width>
+ <height>148</height>
+ </rect>
+ </property>
+ <property name="title" >
+ <string>Links</string>
+ </property>
<widget class="QCheckBox" name="colorlinksCB" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>74</y>
+ <width>198</width>
+ <height>17</height>
+ </rect>
+ </property>
<property name="text" >
<string>Color links</string>
</property>
</widget>
- </item>
- <item row="1" column="0" >
<widget class="QCheckBox" name="pdfborderCB" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>51</y>
+ <width>200</width>
+ <height>17</height>
+ </rect>
+ </property>
<property name="text" >
<string>No frames around links</string>
</property>
@@ -65,9 +65,15 @@
<bool>false</bool>
</property>
</widget>
- </item>
- <item row="0" column="0" >
<widget class="QCheckBox" name="breaklinksCB" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>27</y>
+ <width>201</width>
+ <height>18</height>
+ </rect>
+ </property>
<property name="toolTip" >
<string>Allows link text to break across lines.</string>
</property>
@@ -75,9 +81,15 @@
<string>Break links over lines</string>
</property>
</widget>
- </item>
- <item row="3" column="0" >
<widget class="QCheckBox" name="backrefCB" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>97</y>
+ <width>202</width>
+ <height>17</height>
+ </rect>
+ </property>
<property name="toolTip" >
<string>Adds "backlink" text to the end of each item in the
bibliography</string>
</property>
@@ -85,9 +97,15 @@
<string>&Bibliographical backreferences</string>
</property>
</widget>
- </item>
- <item row="4" column="0" >
<widget class="QCheckBox" name="pagebackrefCB" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>120</y>
+ <width>202</width>
+ <height>17</height>
+ </rect>
+ </property>
<property name="toolTip" >
<string>Adds "backlink" text to the end of each item in the
bibliography</string>
</property>
@@ -95,128 +113,152 @@
<string>Backreference by pa&ge number</string>
</property>
</widget>
- </item>
- </layout>
- </widget>
- <widget class="QGroupBox" name="bookmarksGB" >
- <property name="geometry" >
- <rect>
- <x>6</x>
- <y>170</y>
- <width>171</width>
- <height>112</height>
- </rect>
- </property>
- <property name="title" >
- <string>Generate Bookmarks</string>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
- <widget class="QCheckBox" name="bookmarksnumberedCB" >
- <property name="text" >
- <string>Numbered bookmarks</string>
+ </widget>
+ <widget class="QGroupBox" name="bookmarksGB" >
+ <property name="geometry" >
+ <rect>
+ <x>6</x>
+ <y>166</y>
+ <width>171</width>
+ <height>112</height>
+ </rect>
+ </property>
+ <property name="title" >
+ <string>Generate Bookmarks</string>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" >
+ <property name="leftMargin" >
+ <number>9</number>
</property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QGroupBox" name="bookmarksopenGB" >
- <property name="title" >
- <string>Open bookmarks</string>
+ <property name="topMargin" >
+ <number>9</number>
</property>
- <property name="checkable" >
- <bool>true</bool>
+ <property name="rightMargin" >
+ <number>9</number>
</property>
- <property name="checked" >
- <bool>false</bool>
+ <property name="bottomMargin" >
+ <number>9</number>
</property>
- <widget class="QLabel" name="label" >
- <property name="geometry" >
- <rect>
- <x>21</x>
- <y>22</y>
- <width>31</width>
- <height>16</height>
- </rect>
- </property>
- <property name="text" >
- <string>&Level:</string>
- </property>
- <property name="buddy" >
- <cstring>bookmarksopenlevelSB</cstring>
- </property>
- </widget>
- <widget class="QSpinBox" name="bookmarksopenlevelSB" >
- <property name="geometry" >
- <rect>
- <x>60</x>
- <y>20</y>
- <width>61</width>
- <height>22</height>
- </rect>
- </property>
- <property name="toolTip" >
- <string>Number of levels</string>
- </property>
- </widget>
+ <property name="horizontalSpacing" >
+ <number>6</number>
+ </property>
+ <property name="verticalSpacing" >
+ <number>6</number>
+ </property>
+ <item row="0" column="0" >
+ <widget class="QCheckBox" name="bookmarksnumberedCB" >
+ <property name="text" >
+ <string>Numbered bookmarks</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QGroupBox" name="bookmarksopenGB" >
+ <property name="title" >
+ <string>Open bookmarks</string>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ <property name="checked" >
+ <bool>false</bool>
+ </property>
+ <widget class="QLabel" name="label" >
+ <property name="geometry" >
+ <rect>
+ <x>21</x>
+ <y>22</y>
+ <width>31</width>
+ <height>16</height>
+ </rect>
+ </property>
+ <property name="text" >
+ <string>&Level:</string>
+ </property>
+ <property name="buddy" >
+ <cstring>bookmarksopenlevelSB</cstring>
+ </property>
+ </widget>
+ <widget class="QSpinBox" name="bookmarksopenlevelSB" >
+ <property name="geometry" >
+ <rect>
+ <x>60</x>
+ <y>20</y>
+ <width>61</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="toolTip" >
+ <string>Number of levels</string>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QCheckBox" name="fullscreenCB" >
+ <property name="geometry" >
+ <rect>
+ <x>10</x>
+ <y>298</y>
+ <width>161</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="toolTip" >
+ <string>Enable fullscreen PDF presentation</string>
+ </property>
+ <property name="text" >
+ <string>Load in &fullscreen mode</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="geometry" >
+ <rect>
+ <x>6</x>
+ <y>20</y>
+ <width>397</width>
+ <height>141</height>
+ </rect>
+ </property>
+ <property name="title" >
+ <string>Header Information</string>
+ </property>
+ <widget class="QLineEdit" name="authorLE" >
+ <property name="geometry" >
+ <rect>
+ <x>75</x>
+ <y>55</y>
+ <width>315</width>
+ <height>22</height>
+ </rect>
+ </property>
</widget>
- </item>
- </layout>
- </widget>
- <widget class="QCheckBox" name="fullscreenCB" >
- <property name="geometry" >
- <rect>
- <x>10</x>
- <y>300</y>
- <width>161</width>
- <height>21</height>
- </rect>
- </property>
- <property name="toolTip" >
- <string>Enable fullscreen PDF presentation</string>
- </property>
- <property name="text" >
- <string>Load in &fullscreen mode</string>
- </property>
- </widget>
- <widget class="QGroupBox" name="groupBox_2" >
- <property name="geometry" >
- <rect>
- <x>6</x>
- <y>20</y>
- <width>411</width>
- <height>141</height>
- </rect>
- </property>
- <property name="title" >
- <string>Header Information</string>
- </property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="1" column="1" >
- <widget class="QLineEdit" name="authorLE" />
- </item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="titleLE" />
- </item>
- <item row="0" column="0" >
+ <widget class="QLineEdit" name="titleLE" >
+ <property name="geometry" >
+ <rect>
+ <x>75</x>
+ <y>27</y>
+ <width>315</width>
+ <height>22</height>
+ </rect>
+ </property>
+ </widget>
<widget class="QLabel" name="titleL" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>27</y>
+ <width>58</width>
+ <height>22</height>
+ </rect>
+ </property>
<property name="text" >
<string>&Title:</string>
</property>
@@ -224,9 +266,15 @@
<cstring>titleLE</cstring>
</property>
</widget>
- </item>
- <item row="1" column="0" >
<widget class="QLabel" name="authorL" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>55</y>
+ <width>58</width>
+ <height>21</height>
+ </rect>
+ </property>
<property name="text" >
<string>&Author:</string>
</property>
@@ -234,9 +282,15 @@
<cstring>authorLE</cstring>
</property>
</widget>
- </item>
- <item row="2" column="0" >
<widget class="QLabel" name="subjectL" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>82</y>
+ <width>58</width>
+ <height>21</height>
+ </rect>
+ </property>
<property name="text" >
<string>&Subject:</string>
</property>
@@ -244,9 +298,15 @@
<cstring>subjectLE</cstring>
</property>
</widget>
- </item>
- <item row="3" column="0" >
<widget class="QLabel" name="keywordsL" >
+ <property name="geometry" >
+ <rect>
+ <x>11</x>
+ <y>109</y>
+ <width>58</width>
+ <height>21</height>
+ </rect>
+ </property>
<property name="text" >
<string>&Keywords:</string>
</property>
@@ -254,57 +314,127 @@
<cstring>keywordsLE</cstring>
</property>
</widget>
- </item>
- <item row="3" column="1" >
- <widget class="QLineEdit" name="keywordsLE" />
- </item>
- <item row="2" column="1" >
- <widget class="QLineEdit" name="subjectLE" />
- </item>
- </layout>
- </widget>
- <widget class="QGroupBox" name="groupBox_3" >
- <property name="geometry" >
- <rect>
- <x>6</x>
- <y>330</y>
- <width>411</width>
- <height>54</height>
- </rect>
- </property>
- <property name="title" >
- <string>Additional o&ptions for hyperref</string>
- </property>
- <property name="flat" >
- <bool>true</bool>
- </property>
- <property name="checkable" >
- <bool>false</bool>
- </property>
- <property name="checked" >
- <bool>false</bool>
- </property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
+ <widget class="QLineEdit" name="keywordsLE" >
+ <property name="geometry" >
+ <rect>
+ <x>75</x>
+ <y>109</y>
+ <width>316</width>
+ <height>22</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QLineEdit" name="subjectLE" >
+ <property name="geometry" >
+ <rect>
+ <x>75</x>
+ <y>82</y>
+ <width>315</width>
+ <height>21</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QGroupBox" name="groupBox_3" >
+ <property name="geometry" >
+ <rect>
+ <x>6</x>
+ <y>324</y>
+ <width>397</width>
+ <height>54</height>
+ </rect>
+ </property>
+ <property name="title" >
+ <string>Additional o&ptions for hyperref</string>
+ </property>
+ <property name="flat" >
+ <bool>true</bool>
+ </property>
+ <property name="checkable" >
+ <bool>false</bool>
+ </property>
+ <property name="checked" >
+ <bool>false</bool>
+ </property>
<widget class="QLineEdit" name="optionsLE" >
+ <property name="geometry" >
+ <rect>
+ <x>9</x>
+ <y>18</y>
+ <width>384</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="toolTip" >
<string>eg: pdfstartview=XYZ, plainpages=false, pdfpagelabels</string>
</property>
</widget>
- </item>
- </layout>
- </widget>
- </widget>
+ </widget>
+ <widget class="QCheckBox" name="pdfusetitleCB" >
+ <property name="geometry" >
+ <rect>
+ <x>10</x>
+ <y>280</y>
+ <width>166</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="toolTip" >
+ <string>If not stated explicitly, fill title and author from
appropriate environments</string>
+ </property>
+ <property name="text" >
+ <string>Automatically fill header</string>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
</widget>
+ <tabstops>
+ <tabstop>use_hyperrefGB</tabstop>
+ <tabstop>titleLE</tabstop>
+ <tabstop>authorLE</tabstop>
+ <tabstop>subjectLE</tabstop>
+ <tabstop>keywordsLE</tabstop>
+ <tabstop>bookmarksGB</tabstop>
+ <tabstop>bookmarksnumberedCB</tabstop>
+ <tabstop>bookmarksopenGB</tabstop>
+ <tabstop>bookmarksopenlevelSB</tabstop>
+ <tabstop>breaklinksCB</tabstop>
+ <tabstop>pdfborderCB</tabstop>
+ <tabstop>colorlinksCB</tabstop>
+ <tabstop>backrefCB</tabstop>
+ <tabstop>pagebackrefCB</tabstop>
+ <tabstop>pdfusetitleCB</tabstop>
+ <tabstop>fullscreenCB</tabstop>
+ <tabstop>optionsLE</tabstop>
+ </tabstops>
<includes>
<include location="local" >qt_helpers.h</include>
</includes>
<resources/>
<connections/>
+ <designerdata>
+ <property name="gridDeltaX" >
+ <number>2</number>
+ </property>
+ <property name="gridDeltaY" >
+ <number>2</number>
+ </property>
+ <property name="gridSnapX" >
+ <bool>false</bool>
+ </property>
+ <property name="gridSnapY" >
+ <bool>false</bool>
+ </property>
+ <property name="gridVisible" >
+ <bool>false</bool>
+ </property>
+ </designerdata>
</ui>
Index: src/PDFOptions.cpp
===================================================================
--- src/PDFOptions.cpp (revision 20866)
+++ src/PDFOptions.cpp (working copy)
@@ -47,14 +47,14 @@
&& pdfborder == x.pdfborder
&& colorlinks == x.colorlinks
&& backref == x.backref
- && pagebackref == x.pagebackref ;
+ && pagebackref == x.pagebackref
+ && pdfusetitle == x.pdfusetitle;
}
void PDFOptions::writeFile(ostream & os) const
{
os << "\\use_hyperref " << convert<string>(use_hyperref) << '\n';
- os << "\\pdf_store_options " << convert<string>(store_options) << '\n';
- if (!use_hyperref && !store_options)
+ if (!use_hyperref && empty())
return;
if (!title.empty() )
@@ -70,13 +70,14 @@
os << "\\pdf_bookmarks " << convert<string>(bookmarks) << '\n';
os << "\\pdf_bookmarksnumbered " << convert<string>(bookmarksnumbered)
<< '\n';
os << "\\pdf_bookmarksopen " << convert<string>(bookmarksopen) << '\n';
- os << "\\pdf_bookmarksopenlevel \"" << bookmarksopenlevel << "\"\n";
+ os << "\\pdf_bookmarksopenlevel " <<
convert<string>(bookmarksopenlevel) << '\n';
os << "\\pdf_breaklinks " << convert<string>(breaklinks) << '\n';
os << "\\pdf_pdfborder " << convert<string>(pdfborder) << '\n';
os << "\\pdf_colorlinks " << convert<string>(colorlinks) << '\n';
os << "\\pdf_backref " << convert<string>(backref) << '\n';
os << "\\pdf_pagebackref " << convert<string>(pagebackref) << '\n';
+ os << "\\pdf_pdfusetitle " << convert<string>(pdfusetitle) << '\n';
if (!pagemode.empty())
os << "\\pdf_pagemode " << pagemode << '\n';
@@ -99,10 +100,10 @@
// try to extract author and title from document when none is
// explicitely given
- if (title.empty() && author.empty())
- opt += "pdfusetitle,\n ";
- else
- opt += "\n ";
+ if (pdfusetitle && title.empty() && author.empty())
+ opt += "pdfusetitle,";
+ opt += "\n ";
+
opt += "bookmarks=" + convert<string>(bookmarks) + ',';
if (bookmarks) {
opt += "bookmarksnumbered=" +
convert<string>(bookmarksnumbered) + ',';
@@ -181,12 +182,14 @@
lex >> backref;
} else if (token == "\\pdf_pagebackref") {
lex >> pagebackref;
+ } else if (token == "\\pdf_pdfusetitle") {
+ lex >> pdfusetitle;
} else if (token == "\\pdf_pagemode") {
lex >> pagemode;
} else if (token == "\\pdf_quoted_options") {
lex >> quoted_options;
} else if (token == "\\pdf_store_options") {
- lex >> store_options;
+ //leftover from previous option; intended for later removal
} else {
return token;
}
@@ -200,7 +203,7 @@
return quoted_options;
}
-// Keep implicit hyperref settings
+//set implicit settings for hyperref
void PDFOptions::clear()
{
use_hyperref = false;
@@ -219,7 +222,7 @@
pagebackref = false;
pagemode.clear();
quoted_options.clear();
- store_options = false;
+ pdfusetitle = true; //in contrast with hyperref
}
} // namespace lyx
Index: src/PDFOptions.h
===================================================================
--- src/PDFOptions.h (revision 20866)
+++ src/PDFOptions.h (working copy)
@@ -19,18 +19,6 @@
class Lexer;
/// Options for PDF generation
-
-/*
- Possible cleanups, left for next fileformat change:
-
- - bookmarksopenlevel is stored in .lyx as string;
- after change to spinbox it would be appropriate
- change to int.
- - store_options flag can be completely replaced by
- function store_options() doing essentialy the same
- as empty() now.
-*/
-
class PDFOptions {
public:
///
@@ -43,7 +31,7 @@
void writeLaTeX(odocstringstream &) const;
/// read tokens from lyx header
std::string readToken(Lexer &lex, std::string const & token);
- /// keep implicit hyperref settings
+ /// set implicit settings for hyperref
void clear();
///
@@ -128,6 +116,15 @@
* dialog -> PDFOptions.pagemode .
*/
std::string pagemode;
+ /**
+ * Flag indicating whether hyperref tries to derive the values
for
+ * pdftitle and pdfauthor from \title and \author.
+ * pdfusetitle boolean false
+ *
+ * Note that we use true as default value instead. The option is
also
+ * used in latex output only when title and author is not filled.
+ */
+ bool pdfusetitle;
///latex string
static const std::string pagemode_fullscreen;
/**
@@ -138,14 +135,6 @@
* Possible syntax check of users additional parameters here.
*/
std::string quoted_options_get() const;
-
-
- /**
- * Flag indicating whether user made some input into PDF
preferences.
- * We want to save options, when user decide to switch off PDF
support
- * for a while.
- */
- bool store_options;
};
} // namespace lyx