summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-03-21 09:46:40 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-03-21 11:23:02 +0000
commitf6cd982a68528ac1bfd130080cea3f96e6cc7edd (patch)
treeff712a57c369ce990816366ceb4d1da42badd47f
parentconvert CUPS password dialog to .ui (diff)
downloadcore-f6cd982a68528ac1bfd130080cea3f96e6cc7edd.tar.gz
core-f6cd982a68528ac1bfd130080cea3f96e6cc7edd.zip
move the cups password dialog from padmin to vcl
now we don't have to dlopen padmin to get it so we can drop that complicated stuff. Change-Id: I2f01bd104aae8f17ada9a445da653b441a927c70
-rw-r--r--padmin/UIConfig_spa.mk1
-rw-r--r--padmin/source/prtsetup.cxx52
-rw-r--r--vcl/UIConfig_vcl.mk1
-rw-r--r--vcl/uiconfig/ui/cupspassworddialog.ui (renamed from padmin/uiconfig/ui/cupspassworddialog.ui)0
-rw-r--r--vcl/unx/generic/printer/cupsmgr.cxx92
5 files changed, 69 insertions, 77 deletions
diff --git a/padmin/UIConfig_spa.mk b/padmin/UIConfig_spa.mk
index 242b30523646..565f0cc57536 100644
--- a/padmin/UIConfig_spa.mk
+++ b/padmin/UIConfig_spa.mk
@@ -10,7 +10,6 @@
$(eval $(call gb_UIConfig_UIConfig,spa))
$(eval $(call gb_UIConfig_add_uifiles,spa,\
- padmin/uiconfig/ui/cupspassworddialog \
padmin/uiconfig/ui/printerdevicepage \
padmin/uiconfig/ui/printerpaperpage \
padmin/uiconfig/ui/printerpropertiesdialog \
diff --git a/padmin/source/prtsetup.cxx b/padmin/source/prtsetup.cxx
index 38494d55fe96..938e00b32356 100644
--- a/padmin/source/prtsetup.cxx
+++ b/padmin/source/prtsetup.cxx
@@ -472,43 +472,6 @@ void RTSDevicePage::FillValueBox( const PPDKey* pKey )
m_pPPDValueBox->SelectEntryPos( m_pPPDValueBox->GetEntryPos( (void*)pValue ) );
}
-class RTSPWDialog : public ModalDialog
-{
- FixedText* m_pText;
- Edit* m_pUserEdit;
- Edit* m_pPassEdit;
-
-public:
- RTSPWDialog(const OString& rServer, const OString& rUserName, Window* pParent);
-
- OString getUserName() const;
- OString getPassword() const;
-};
-
-RTSPWDialog::RTSPWDialog( const OString& rServer, const OString& rUserName, Window* pParent )
- : ModalDialog(pParent, "CUPSPasswordDialog",
- "spa/ui/cupspassworddialog.ui")
-{
- get(m_pText, "text");
- get(m_pUserEdit, "user");
- get(m_pPassEdit, "pass");
-
- OUString aText(m_pText->GetText());
- aText = aText.replaceFirst("%s", OStringToOUString(rServer, osl_getThreadTextEncoding()));
- m_pText->SetText(aText);
- m_pUserEdit->SetText( OStringToOUString(rUserName, osl_getThreadTextEncoding()));
-}
-
-OString RTSPWDialog::getUserName() const
-{
- return OUStringToOString( m_pUserEdit->GetText(), osl_getThreadTextEncoding() );
-}
-
-OString RTSPWDialog::getPassword() const
-{
- return OUStringToOString( m_pPassEdit->GetText(), osl_getThreadTextEncoding() );
-}
-
extern "C" {
int SPA_DLLPUBLIC Sal_SetupPrinterDriver( ::psp::PrinterInfo& rJobData )
@@ -524,21 +487,6 @@ extern "C" {
return nRet;
}
-
- bool SPA_DLLPUBLIC Sal_authenticateQuery( const OString& rServer, OString& rUserName, OString& rPassword )
- {
- bool bRet = false;
-
- RTSPWDialog aDialog( rServer, rUserName, NULL );
- if( aDialog.Execute() )
- {
- rUserName = aDialog.getUserName();
- rPassword = aDialog.getPassword();
- bRet = true;
- }
- return bRet;
- }
-
} // extern "C"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/UIConfig_vcl.mk b/vcl/UIConfig_vcl.mk
index bdc028e3137d..f2937b531e49 100644
--- a/vcl/UIConfig_vcl.mk
+++ b/vcl/UIConfig_vcl.mk
@@ -10,6 +10,7 @@
$(eval $(call gb_UIConfig_UIConfig,vcl))
$(eval $(call gb_UIConfig_add_uifiles,vcl,\
+ vcl/uiconfig/ui/cupspassworddialog \
vcl/uiconfig/ui/errornocontentdialog \
vcl/uiconfig/ui/errornoprinterdialog \
vcl/uiconfig/ui/printdialog \
diff --git a/padmin/uiconfig/ui/cupspassworddialog.ui b/vcl/uiconfig/ui/cupspassworddialog.ui
index 81f80e8d3665..81f80e8d3665 100644
--- a/padmin/uiconfig/ui/cupspassworddialog.ui
+++ b/vcl/uiconfig/ui/cupspassworddialog.ui
diff --git a/vcl/unx/generic/printer/cupsmgr.cxx b/vcl/unx/generic/printer/cupsmgr.cxx
index 9c7af07c020e..b9e5af03bb19 100644
--- a/vcl/unx/generic/printer/cupsmgr.cxx
+++ b/vcl/unx/generic/printer/cupsmgr.cxx
@@ -35,6 +35,10 @@
#include <officecfg/Office/Common.hxx>
+#include <vcl/button.hxx>
+#include <vcl/dialog.hxx>
+#include <vcl/fixed.hxx>
+
#include <algorithm>
using namespace psp;
@@ -827,36 +831,76 @@ bool CUPSManager::writePrinterConfig()
return PrinterInfoManager::writePrinterConfig();
}
-const char* CUPSManager::authenticateUser( const char* /*pIn*/ )
+namespace
{
- const char* pRet = NULL;
- oslModule pLib = osl_loadModuleAscii( _XSALSET_LIBNAME, SAL_LOADMODULE_LAZY );
- if( pLib )
+ class RTSPWDialog : public ModalDialog
{
- OUString aSym( "Sal_authenticateQuery" );
- bool (*getpw)( const OString& rServer, OString& rUser, OString& rPw) =
- (bool(*)(const OString&,OString&,OString&))osl_getFunctionSymbol( pLib, aSym.pData );
- if( getpw )
- {
- osl::MutexGuard aGuard( m_aCUPSMutex );
+ FixedText* m_pText;
+ Edit* m_pUserEdit;
+ Edit* m_pPassEdit;
- OString aUser = cupsUser();
- OString aServer = cupsServer();
- OString aPassword;
- if( getpw( aServer, aUser, aPassword ) )
- {
- m_aPassword = aPassword;
- m_aUser = aUser;
- cupsSetUser( m_aUser.getStr() );
- pRet = m_aPassword.getStr();
- }
+ public:
+ RTSPWDialog(const OString& rServer, const OString& rUserName, Window* pParent);
+
+ OString getUserName() const;
+ OString getPassword() const;
+ };
+
+ RTSPWDialog::RTSPWDialog( const OString& rServer, const OString& rUserName, Window* pParent )
+ : ModalDialog(pParent, "CUPSPasswordDialog",
+ "vcl/ui/cupspassworddialog.ui")
+ {
+ get(m_pText, "text");
+ get(m_pUserEdit, "user");
+ get(m_pPassEdit, "pass");
+
+ OUString aText(m_pText->GetText());
+ aText = aText.replaceFirst("%s", OStringToOUString(rServer, osl_getThreadTextEncoding()));
+ m_pText->SetText(aText);
+ m_pUserEdit->SetText( OStringToOUString(rUserName, osl_getThreadTextEncoding()));
+ }
+
+ OString RTSPWDialog::getUserName() const
+ {
+ return OUStringToOString( m_pUserEdit->GetText(), osl_getThreadTextEncoding() );
+ }
+
+ OString RTSPWDialog::getPassword() const
+ {
+ return OUStringToOString( m_pPassEdit->GetText(), osl_getThreadTextEncoding() );
+ }
+
+ bool AuthenticateQuery(const OString& rServer, OString& rUserName, OString& rPassword)
+ {
+ bool bRet = false;
+
+ RTSPWDialog aDialog(rServer, rUserName, NULL);
+ if (aDialog.Execute())
+ {
+ rUserName = aDialog.getUserName();
+ rPassword = aDialog.getPassword();
+ bRet = true;
}
- osl_unloadModule( pLib );
+
+ return bRet;
}
- else
+}
+
+const char* CUPSManager::authenticateUser( const char* /*pIn*/ )
+{
+ const char* pRet = NULL;
+
+ osl::MutexGuard aGuard( m_aCUPSMutex );
+
+ OString aUser = cupsUser();
+ OString aServer = cupsServer();
+ OString aPassword;
+ if (AuthenticateQuery(aServer, aUser, aPassword))
{
- SAL_WARN("vcl.unx.print",
- "loading of module " << _XSALSET_LIBNAME << " failed\n");
+ m_aPassword = aPassword;
+ m_aUser = aUser;
+ cupsSetUser( m_aUser.getStr() );
+ pRet = m_aPassword.getStr();
}
return pRet;