From: Jürgen Spitzmüller Date: Sat, 28 Mar 2009 10:48:16 +0000 (+0000) Subject: Fix bug 5863: X-Git-Tag: 2.0.0~7002 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=5a4e4dec1539bcb515501666453943665db22493;p=features.git Fix bug 5863: * beamer.layout: * powerdot.layout: - those provide geometry * BufferParams.cpp: * GuiDocument.cpp: - implement provides("geometry") git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28957 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/lib/layouts/beamer.layout b/lib/layouts/beamer.layout index 5a4f4b076e..7e0b984449 100644 --- a/lib/layouts/beamer.layout +++ b/lib/layouts/beamer.layout @@ -17,6 +17,7 @@ SecNumDepth 2 TocDepth 2 DefaultStyle Standard Provides hyperref 1 +Provides geometry 1 DefaultFont Family Sans diff --git a/lib/layouts/powerdot.layout b/lib/layouts/powerdot.layout index 161e0cb257..e9ac1aa04c 100644 --- a/lib/layouts/powerdot.layout +++ b/lib/layouts/powerdot.layout @@ -13,6 +13,7 @@ Columns 1 Sides 1 Provides url 1 Provides hyperref 1 +Provides geometry 1 DefaultStyle Standard DefaultFont diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 53de012b38..5183ac2499 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1129,7 +1129,8 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features, os << "}\n"; texrow.newline(); } - if (use_geometry || nonstandard_papersize) { + if (!tclass.provides("geometry") + && (use_geometry || nonstandard_papersize)) { odocstringstream ods; if (!getGraphicsDriver("geometry").empty()) ods << getGraphicsDriver("geometry"); diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index 493ac1a272..a61d9fa6e3 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -1097,6 +1097,14 @@ void GuiDocument::portraitChanged() void GuiDocument::setMargins(bool custom) { + bool const extern_geometry = + documentClass().provides("geometry"); + marginsModule->marginCB->setEnabled(!extern_geometry); + if (extern_geometry) { + marginsModule->marginCB->setChecked(false); + setCustomMargins(true); + return; + } marginsModule->marginCB->setChecked(custom); setCustomMargins(custom); } @@ -2071,14 +2079,19 @@ void GuiDocument::paramsToDialog() fontModule->fontsDefaultCO->setCurrentIndex(n); // paper + bool const extern_geometry = + documentClass().provides("geometry"); int const psize = bp_.papersize; pageLayoutModule->papersizeCO->setCurrentIndex(psize); - setCustomPapersize(psize); + setCustomPapersize(!extern_geometry && psize); + pageLayoutModule->papersizeCO->setEnabled(!extern_geometry); bool const landscape = bp_.orientation == ORIENTATION_LANDSCAPE; pageLayoutModule->landscapeRB->setChecked(landscape); pageLayoutModule->portraitRB->setChecked(!landscape); + pageLayoutModule->landscapeRB->setEnabled(!extern_geometry); + pageLayoutModule->portraitRB->setEnabled(!extern_geometry); pageLayoutModule->facingPagesCB->setChecked( bp_.sides == TwoSides);