[Libreoffice-commits] .: 3 commits - editeng/source vcl/source vcl/unx
David Tardon
dtardon at kemper.freedesktop.org
Wed Mar 28 23:06:43 PDT 2012
editeng/source/editeng/impedit5.cxx | 2 +-
vcl/source/gdi/print3.cxx | 21 +++++++++++++++++++++
vcl/unx/gtk/gdi/salprn-gtk.cxx | 2 +-
3 files changed, 23 insertions(+), 2 deletions(-)
New commits:
commit 39fb17daf029ac51480a7f49b764b238eb3c7e19
Author: David Tardon <dtardon at redhat.com>
Date: Thu Mar 29 08:05:28 2012 +0200
ParaPortionList no longer a child class of DummyParaPortionList
diff --git a/editeng/source/editeng/impedit5.cxx b/editeng/source/editeng/impedit5.cxx
index 1310064..bdaefbc 100644
--- a/editeng/source/editeng/impedit5.cxx
+++ b/editeng/source/editeng/impedit5.cxx
@@ -536,7 +536,7 @@ void ImpEditEngine::SetAttribs( EditSelection aSel, const SfxItemSet& rSet, sal_
ParaPortion* pPortion = GetParaPortions()[nNode];
DBG_ASSERT( aEditDoc.SaveGetObject( nNode ), "Node not founden: SetAttribs" );
- DBG_ASSERT( GetParaPortions().GetObject( nNode ), "Portion not found: SetAttribs" );
+ DBG_ASSERT( GetParaPortions()[ nNode ], "Portion not found: SetAttribs" );
xub_StrLen nStartPos = 0;
xub_StrLen nEndPos = pNode->Len();
commit fa87093686614d75d63664722de103e47f91c7db
Author: David Tardon <dtardon at redhat.com>
Date: Wed Mar 28 13:25:25 2012 +0200
bypass GtkSalPrinter when it is not enabled
diff --git a/vcl/unx/gtk/gdi/salprn-gtk.cxx b/vcl/unx/gtk/gdi/salprn-gtk.cxx
index ffa584c..4ea5f7b 100644
--- a/vcl/unx/gtk/gdi/salprn-gtk.cxx
+++ b/vcl/unx/gtk/gdi/salprn-gtk.cxx
@@ -239,7 +239,7 @@ GtkSalPrinter::StartJob(
vcl::PrinterController& io_rController)
{
if (!lcl_useSystemPrintDialog())
- return impl_doJob(i_pFileName, i_rJobName, i_rAppName, io_pSetupData, 1, false, io_rController);
+ return PspSalPrinter::StartJob(i_pFileName, i_rJobName, i_rAppName, io_pSetupData, io_rController);
assert(!m_pImpl);
commit 38f8241859cdef4dd7c3098e365947dd5b64f78c
Author: David Tardon <dtardon at redhat.com>
Date: Wed Mar 28 14:03:46 2012 +0200
set correct paper tray in UI
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index 4824203..260fdc0 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -172,9 +172,25 @@ public:
// set by user through printer config dialog
// if set, pages are centered and trimmed onto the fixed page
Size maFixedPageSize;
+ // set by user through printer config dialog
sal_Int32 mnDefaultPaperBin;
+ // Set by user through printer preferences in print dialog.
+ // Overrides application-set tray for a page.
sal_Int32 mnFixedPaperBin;
+ // N.B. Apparently we have three levels of paper tray settings
+ // (latter overrides former):
+ // 1. default tray
+ // 2. tray set for a concrete page by an application, e.g., writer
+ // allows setting a printer tray (for the default printer) for a
+ // page style. This setting can be overriden by user by selecting
+ // "Use only paper tray from printer preferences" on the Options
+ // page in the print dialog, in which case the default tray is
+ // used for all pages.
+ // 3. tray set in printer properties the printer dialog
+ // I'm not quite sure why 1. and 3. are distinct, but the commit
+ // history suggests this is intentional...
+
ImplPrinterControllerData() :
mbFirstPage( sal_True ),
mbLastPage( sal_False ),
@@ -818,6 +834,11 @@ PrinterController::PageSize vcl::ImplPrinterControllerData::modifyJobSetup( cons
mpPrinter->SetPaperSizeUser( aRealPaperSize, ! isFixedPageSize() );
}
+ // paper bin set from properties in print dialog overrides
+ // application default for a page
+ if ( mnFixedPaperBin != -1 )
+ nPaperBin = mnFixedPaperBin;
+
if( nPaperBin != -1 && nPaperBin != mpPrinter->GetPaperBin() )
mpPrinter->SetPaperBin( nPaperBin );
More information about the Libreoffice-commits
mailing list