[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