diff options
author | Michael Meeks <michael.meeks@suse.com> | 2011-09-29 11:37:24 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2011-10-25 13:41:45 +0100 |
commit | a77fff188b96169f74224ab118c75f4c9f14fa36 (patch) | |
tree | b8f9057ee44acd928007d4e79664a9868b5681df /vcl | |
parent | a39f4e5b57f5e518cc1ba09d5801da07b52fbaa5 (diff) |
break headless coupling to X dependent backend
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/Library_vclplug_svp.mk | 9 | ||||
-rw-r--r-- | vcl/inc/saldatabasic.hxx | 1 | ||||
-rw-r--r-- | vcl/inc/salinst.hxx | 7 | ||||
-rw-r--r-- | vcl/inc/unx/headless/svpinst.hxx | 1 | ||||
-rw-r--r-- | vcl/inc/unx/salinst.h | 3 | ||||
-rw-r--r-- | vcl/unx/generic/app/salinst.cxx | 9 | ||||
-rw-r--r-- | vcl/unx/generic/gdi/salprnpsp.cxx | 11 | ||||
-rw-r--r-- | vcl/unx/headless/svpprn.cxx | 21 |
8 files changed, 42 insertions, 20 deletions
diff --git a/vcl/Library_vclplug_svp.mk b/vcl/Library_vclplug_svp.mk index c2e2e3ce46f1..40a01f6d2f12 100644 --- a/vcl/Library_vclplug_svp.mk +++ b/vcl/Library_vclplug_svp.mk @@ -41,6 +41,7 @@ $(eval $(call gb_Library_add_cxxflags,vclplug_svp,\ )) $(eval $(call gb_Library_add_defs,vclplug_svp,\ + -D_XSALSET_LIBNAME=\"$(call gb_Library_get_runtime_filename,spa)\" \ -DVCLPLUG_SVP_IMPLEMENTATION \ )) @@ -51,7 +52,6 @@ $(eval $(call gb_Library_add_api,vclplug_svp,\ $(eval $(call gb_Library_add_linked_libs,vclplug_svp,\ vcl \ - vclplug_gen \ tl \ utl \ sot \ @@ -89,6 +89,13 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_svp,\ vcl/unx/headless/svppspgraphics \ vcl/unx/headless/svptext \ vcl/unx/headless/svpvd \ + vcl/unx/generic/gdi/salprnpsp \ + vcl/unx/generic/printergfx/bitmap_gfx \ + vcl/unx/generic/printergfx/common_gfx \ + vcl/unx/generic/printergfx/glyphset \ + vcl/unx/generic/printergfx/printerjob \ + vcl/unx/generic/printergfx/psputil \ + vcl/unx/generic/printergfx/text_gfx \ )) ifeq ($(OS),LINUX) diff --git a/vcl/inc/saldatabasic.hxx b/vcl/inc/saldatabasic.hxx index 9d4eb0fc73f9..dc040eb704f1 100644 --- a/vcl/inc/saldatabasic.hxx +++ b/vcl/inc/saldatabasic.hxx @@ -49,7 +49,6 @@ public: SalData(); virtual ~SalData(); - }; // -=-= inlines =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx index 194e61ac0cf5..408708bc806a 100644 --- a/vcl/inc/salinst.hxx +++ b/vcl/inc/salinst.hxx @@ -110,7 +110,10 @@ public: virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ) = 0; virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ) = 0; virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo ) = 0; - virtual String GetDefaultPrinter() = 0; + virtual String GetDefaultPrinter() = 0; + + // used only by the unix / headless backends to de-couple code + virtual void PostPrintersChanged() {} // SalTimer virtual SalTimer* CreateSalTimer() = 0; @@ -123,7 +126,7 @@ public: // YieldMutex virtual osl::SolarMutex* GetYieldMutex() = 0; - virtual sal_uLong ReleaseYieldMutex() = 0; + virtual sal_uLong ReleaseYieldMutex() = 0; virtual void AcquireYieldMutex( sal_uLong nCount ) = 0; // return true, if yield mutex is owned by this thread, else false virtual bool CheckYieldMutex() = 0; diff --git a/vcl/inc/unx/headless/svpinst.hxx b/vcl/inc/unx/headless/svpinst.hxx index 6fcafe0c7f66..b61911ebc089 100644 --- a/vcl/inc/unx/headless/svpinst.hxx +++ b/vcl/inc/unx/headless/svpinst.hxx @@ -165,6 +165,7 @@ public: virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ); virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo ); virtual String GetDefaultPrinter(); + virtual void PostPrintersChanged(); // SalTimer virtual SalTimer* CreateSalTimer(); diff --git a/vcl/inc/unx/salinst.h b/vcl/inc/unx/salinst.h index 4d264f7c9f45..dd1c942f01bf 100644 --- a/vcl/inc/unx/salinst.h +++ b/vcl/inc/unx/salinst.h @@ -88,7 +88,8 @@ public: virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ); virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ); virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo ); - virtual String GetDefaultPrinter(); + virtual String GetDefaultPrinter(); + virtual void PostPrintersChanged(); virtual SalTimer* CreateSalTimer(); virtual SalI18NImeStatus* CreateI18NImeStatus(); diff --git a/vcl/unx/generic/app/salinst.cxx b/vcl/unx/generic/app/salinst.cxx index dfddcd990a41..07ad6f304d3a 100644 --- a/vcl/unx/generic/app/salinst.cxx +++ b/vcl/unx/generic/app/salinst.cxx @@ -449,4 +449,13 @@ void X11SalInstance::AddToRecentDocumentList(const rtl::OUString& rFileUrl, cons add_to_recently_used_file_list(rFileUrl, rMimeType); } +void X11SalInstance::PostPrintersChanged() +{ + SalDisplay* pDisp = GetX11SalData()->GetDisplay(); + const std::list< SalFrame* >& rList = pDisp->getFrames(); + for( std::list< SalFrame* >::const_iterator it = rList.begin(); + it != rList.end(); ++it ) + pDisp->SendInternalEvent( *it, NULL, SALEVENT_PRINTERCHANGED ); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/generic/gdi/salprnpsp.cxx b/vcl/unx/generic/gdi/salprnpsp.cxx index 011900360da0..790e9183e0f1 100644 --- a/vcl/unx/generic/gdi/salprnpsp.cxx +++ b/vcl/unx/generic/gdi/salprnpsp.cxx @@ -1412,14 +1412,9 @@ int x11::PrinterUpdate::nActiveJobs = 0; void x11::PrinterUpdate::doUpdate() { ::psp::PrinterInfoManager& rManager( ::psp::PrinterInfoManager::get() ); - if( rManager.checkPrintersChanged( false ) ) - { - SalDisplay* pDisp = GetX11SalData()->GetDisplay(); - const std::list< SalFrame* >& rList = pDisp->getFrames(); - for( std::list< SalFrame* >::const_iterator it = rList.begin(); - it != rList.end(); ++it ) - pDisp->SendInternalEvent( *it, NULL, SALEVENT_PRINTERCHANGED ); - } + SalInstance *pInst = GetSalData()->m_pInstance; + if( pInst && rManager.checkPrintersChanged( false ) ) + pInst->PostPrintersChanged(); } // ----------------------------------------------------------------------- diff --git a/vcl/unx/headless/svpprn.cxx b/vcl/unx/headless/svpprn.cxx index 64929876de17..df159987ca35 100644 --- a/vcl/unx/headless/svpprn.cxx +++ b/vcl/unx/headless/svpprn.cxx @@ -40,6 +40,7 @@ #include "jobset.h" #include "print.h" #include "salptype.hxx" +#include "saldatabasic.hxx" #include "unx/headless/svpprn.hxx" #include "unx/headless/svppspgraphics.hxx" @@ -303,6 +304,16 @@ String SvpSalInstance::GetDefaultPrinter() // ----------------------------------------------------------------------- +void SvpSalInstance::PostPrintersChanged() +{ + const std::list< SalFrame* >& rList = SvpSalInstance::s_pDefaultInstance->getFrames(); + for( std::list< SalFrame* >::const_iterator it = rList.begin(); + it != rList.end(); ++it ) + SvpSalInstance::s_pDefaultInstance->PostEvent( *it, NULL, SALEVENT_PRINTERCHANGED ); +} + +// ----------------------------------------------------------------------- + sal_Bool SvpSalInfoPrinter::Setup( SalFrame*, ImplJobSetup* ) { return sal_False; @@ -334,13 +345,9 @@ int svp::PrinterUpdate::nActiveJobs = 0; void svp::PrinterUpdate::doUpdate() { ::psp::PrinterInfoManager& rManager( ::psp::PrinterInfoManager::get() ); - if( rManager.checkPrintersChanged( false ) && SvpSalInstance::s_pDefaultInstance ) - { - const std::list< SalFrame* >& rList = SvpSalInstance::s_pDefaultInstance->getFrames(); - for( std::list< SalFrame* >::const_iterator it = rList.begin(); - it != rList.end(); ++it ) - SvpSalInstance::s_pDefaultInstance->PostEvent( *it, NULL, SALEVENT_PRINTERCHANGED ); - } + SalInstance *pInst = GetSalData()->m_pInstance; + if( pInst && rManager.checkPrintersChanged( false ) ) + pInst->PostPrintersChanged(); } // ----------------------------------------------------------------------- |