summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorAndrzej J.R. Hunt <andrzej@ahunt.org>2013-08-28 09:22:37 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2013-08-28 14:00:39 +0000
commitc656482c5a1467d6dc21601e1296ba3711916d6b (patch)
tree2faec0752b9dafeb098e6a9fe11aa0334c48008b /dbaccess
parent8692db3c2425015730a09ffbd9759227fa281a2a (diff)
fdo#68588 Move embeddeddbList into OGeneralPageWizard.
embeddeddbList is only present in generalpagewizard.ui but not in generalpagedialog.ui, hence it should be controlled by OGeneralPageWizard and not OGeneralPage. Change-Id: I7c52493e12b40d9043d80fb023cfc9eb9c9e42ec Reviewed-on: https://gerrit.libreoffice.org/5654 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Lionel Elie Mamane <lionel@mamane.lu>
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/source/ui/dlg/generalpage.cxx31
-rw-r--r--dbaccess/source/ui/dlg/generalpage.hxx26
2 files changed, 31 insertions, 26 deletions
diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx
index f9aac8f358e0..ff6bd5ddec64 100644
--- a/dbaccess/source/ui/dlg/generalpage.cxx
+++ b/dbaccess/source/ui/dlg/generalpage.cxx
@@ -54,18 +54,15 @@ namespace dbaui
// OGeneralPage
OGeneralPage::OGeneralPage( Window* pParent, const OUString& _rUIXMLDescription, const SfxItemSet& _rItems )
:OGenericAdministrationPage( pParent, "PageGeneral", _rUIXMLDescription, _rItems )
- ,m_pSpecialMessage ( NULL )
,m_eNotSupportedKnownType ( ::dbaccess::DST_UNKNOWN )
+ ,m_pSpecialMessage ( NULL )
,m_eLastMessage ( smNone )
,m_bDisplayingInvalid ( sal_False )
,m_bInitTypeList ( true )
- ,m_bInitEmbeddedDBList ( true )
,m_pDatasourceType ( NULL )
- ,m_pEmbeddedDBType ( NULL )
,m_pCollection ( NULL )
{
get( m_pDatasourceType, "datasourceType" );
- get( m_pEmbeddedDBType, "embeddeddbList" );
get( m_pSpecialMessage, "specialMessage" );
// extract the datasource type collection from the item set
@@ -76,7 +73,6 @@ namespace dbaui
// do some knittings
m_pDatasourceType->SetSelectHdl(LINK(this, OGeneralPage, OnDatasourceTypeSelected));
- m_pEmbeddedDBType->SetSelectHdl(LINK(this, OGeneralPage, OnEmbeddedDBTypeSelected));
}
OGeneralPage::~OGeneralPage()
@@ -142,7 +138,7 @@ namespace dbaui
}
}
- void OGeneralPage::initializeEmbeddedDBList()
+ void OGeneralPageWizard::initializeEmbeddedDBList()
{
if ( m_bInitEmbeddedDBList )
{
@@ -221,10 +217,8 @@ namespace dbaui
void OGeneralPage::implInitControls( const SfxItemSet& _rSet, sal_Bool _bSaveValue )
{
initializeTypeList();
- initializeEmbeddedDBList();
m_pDatasourceType->SelectEntry( getDatasourceName( _rSet ) );
- m_pEmbeddedDBType->SelectEntry( getEmbeddedDBName( _rSet ) );
// notify our listener that our type selection has changed (if so)
// FIXME: how to detect that it did not changed? (fdo#62937)
@@ -237,7 +231,7 @@ namespace dbaui
OGenericAdministrationPage::implInitControls( _rSet, _bSaveValue );
}
- OUString OGeneralPage::getEmbeddedDBName( const SfxItemSet& _rSet )
+ OUString OGeneralPageWizard::getEmbeddedDBName( const SfxItemSet& _rSet )
{
// first check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
sal_Bool bValid, bReadonly;
@@ -245,7 +239,6 @@ namespace dbaui
// if the selection is invalid, disable everything
String sName,sConnectURL;
- m_bDisplayingInvalid = !bValid;
if ( bValid )
{
// collect some items and some values
@@ -276,10 +269,10 @@ namespace dbaui
{ // this indicates it's really a type which is known in general, but not supported on the current platform
// show a message saying so
// eSpecialMessage = smUnsupportedType;
- insertDatasourceTypeEntryData( m_eCurrentSelection, sDisplayName );
+ insertEmbeddedDBTypeEntryData( m_eCurrentSelection, sDisplayName );
// remember this type so we can show the special message again if the user selects this
// type again (without changing the data source)
- m_eNotSupportedKnownType = m_pCollection->determineType( m_eCurrentSelection );
+ m_eNotSupportedKnownType = m_pCollection->determineType( m_eCurrentSelection ); // TODO:
}
return sDisplayName;
@@ -370,7 +363,7 @@ namespace dbaui
m_aURLPrefixes[nPos] = _sType;
}
- void OGeneralPage::insertEmbeddedDBTypeEntryData(const OUString& _sType, String sDisplayName)
+ void OGeneralPageWizard::insertEmbeddedDBTypeEntryData(const OUString& _sType, String sDisplayName)
{
// insert a (temporary) entry
sal_uInt16 nPos = m_pEmbeddedDBType->InsertEntry(sDisplayName);
@@ -406,7 +399,7 @@ namespace dbaui
OGenericAdministrationPage::Reset(_rCoreAttrs);
}
- IMPL_LINK( OGeneralPage, OnEmbeddedDBTypeSelected, ListBox*, _pBox )
+ IMPL_LINK( OGeneralPageWizard, OnEmbeddedDBTypeSelected, ListBox*, _pBox )
{
// get the type from the entry data
sal_uInt16 nSelected = _pBox->GetSelectEntryPos();
@@ -498,10 +491,12 @@ namespace dbaui
,m_pRB_OpenExistingDatabase ( NULL )
,m_pRB_ConnectDatabase ( NULL )
,m_pFT_EmbeddedDBLabel ( NULL )
+ ,m_pEmbeddedDBType ( NULL )
,m_pFT_DocListLabel ( NULL )
,m_pLB_DocumentList ( NULL )
,m_pPB_OpenDatabase ( NULL )
,m_eOriginalCreationMode ( eCreateNew )
+ ,m_bInitEmbeddedDBList ( true )
{
get( m_pFT_HeaderText, "headerText" );
get( m_pFT_HelpText, "helpText" );
@@ -509,6 +504,7 @@ namespace dbaui
get( m_pRB_OpenExistingDatabase, "openExistingDatabase" );
get( m_pRB_ConnectDatabase, "connectDatabase" );
get( m_pFT_EmbeddedDBLabel, "embeddeddbLabel" );
+ get( m_pEmbeddedDBType, "embeddeddbList" );
get( m_pFT_DocListLabel, "docListLabel" );
get( m_pLB_DocumentList, "documentList" );
get( m_pPB_OpenDatabase, "openDatabase" );
@@ -538,6 +534,7 @@ namespace dbaui
m_pRB_CreateDatabase->Check();
// do some knittings
+ m_pEmbeddedDBType->SetSelectHdl(LINK(this, OGeneralPageWizard, OnEmbeddedDBTypeSelected));
m_pRB_CreateDatabase->SetClickHdl( LINK( this, OGeneralPageWizard, OnCreateDatabaseModeSelected ) );
m_pRB_ConnectDatabase->SetClickHdl( LINK( this, OGeneralPageWizard, OnSetupModeSelected ) );
m_pRB_OpenExistingDatabase->SetClickHdl( LINK( this, OGeneralPageWizard, OnSetupModeSelected ) );
@@ -567,6 +564,9 @@ namespace dbaui
{
OGeneralPage::implInitControls( _rSet, _bSaveValue );
+ initializeEmbeddedDBList();
+ m_pEmbeddedDBType->SelectEntry( getEmbeddedDBName( _rSet ) );
+
// first check whether or not the selection is invalid or readonly (invalid implies readonly, but not vice versa)
sal_Bool bValid, bReadonly;
getFlags( _rSet, bValid, bReadonly );
@@ -682,7 +682,8 @@ namespace dbaui
{
if ( m_aCreationModeHandler.IsSet() )
m_aCreationModeHandler.Call( this );
- OnEmbeddedDBTypeSelected(m_pEmbeddedDBType);
+
+ OnEmbeddedDBTypeSelected( m_pEmbeddedDBType );
return 1L;
}
diff --git a/dbaccess/source/ui/dlg/generalpage.hxx b/dbaccess/source/ui/dlg/generalpage.hxx
index 2510cb3a9cd0..71e01520b0b4 100644
--- a/dbaccess/source/ui/dlg/generalpage.hxx
+++ b/dbaccess/source/ui/dlg/generalpage.hxx
@@ -37,13 +37,13 @@ namespace dbaui
OGeneralPage( Window* pParent, const OUString& _rUIXMLDescription, const SfxItemSet& _rItems );
~OGeneralPage();
- private:
- FixedText* m_pSpecialMessage;
-
OUString m_eCurrentSelection; /// currently selected type
::dbaccess::DATASOURCE_TYPE
m_eNotSupportedKnownType; /// if a data source of an unsupported, but known type is encountered ....
+ private:
+ FixedText* m_pSpecialMessage;
+
enum SPECIAL_MESSAGE
{
smNone,
@@ -54,22 +54,17 @@ namespace dbaui
Link m_aTypeSelectHandler; /// to be called if a new type is selected
sal_Bool m_bDisplayingInvalid : 1; // the currently displayed data source is deleted
bool m_bInitTypeList : 1;
- bool m_bInitEmbeddedDBList : 1;
bool approveDatasourceType( const OUString& _sURLPrefix, OUString& _inout_rDisplayName );
void insertDatasourceTypeEntryData( const OUString& _sType, String sDisplayName );
- void insertEmbeddedDBTypeEntryData( const OUString& _sType, String sDisplayName );
protected:
ListBox* m_pDatasourceType;
- ListBox* m_pEmbeddedDBType;
::dbaccess::ODsnTypeCollection*
m_pCollection; /// the DSN type collection instance
::std::vector< OUString>
m_aURLPrefixes;
- ::std::vector< OUString>
- m_aEmbeddedURLPrefixes;
public:
/// set a handler which gets called every time the user selects a new type
@@ -84,7 +79,6 @@ namespace dbaui
virtual void implInitControls( const SfxItemSet& _rSet, sal_Bool _bSaveValue );
virtual OUString getDatasourceName( const SfxItemSet& _rSet );
- virtual OUString getEmbeddedDBName( const SfxItemSet& _rSet );
virtual bool approveDatasourceType( ::dbaccess::DATASOURCE_TYPE eType, OUString& _inout_rDisplayName );
// <method>OGenericAdministrationPage::fillControls</method>
@@ -94,7 +88,6 @@ namespace dbaui
void onTypeSelected(const OUString& _sURLPrefix);
void initializeTypeList();
- void initializeEmbeddedDBList();
void implSetCurrentType( const OUString& _eType );
@@ -104,7 +97,6 @@ namespace dbaui
virtual void setParentTitle( const OUString& _sURLPrefix );
DECL_LINK(OnDatasourceTypeSelected, ListBox*);
- DECL_LINK(OnEmbeddedDBTypeSelected, ListBox*);
};
// OGeneralPageDialog
@@ -150,6 +142,8 @@ namespace dbaui
RadioButton* m_pRB_ConnectDatabase;
FixedText* m_pFT_EmbeddedDBLabel;
+ ListBox* m_pEmbeddedDBType;
+
FixedText* m_pFT_DocListLabel;
OpenDocumentListBox* m_pLB_DocumentList;
OpenDocumentButton* m_pPB_OpenDatabase;
@@ -165,6 +159,9 @@ namespace dbaui
::svt::ControlDependencyManager
m_aControlDependencies;
+ bool m_bInitEmbeddedDBList : 1;
+ void insertEmbeddedDBTypeEntryData( const OUString& _sType, String sDisplayName );
+
public:
void SetCreationModeHandler( const Link& _rHandler ) { m_aCreationModeHandler = _rHandler; }
CreationMode GetDatabaseCreationMode() const;
@@ -182,7 +179,14 @@ namespace dbaui
virtual OUString getDatasourceName( const SfxItemSet& _rSet );
virtual bool approveDatasourceType( ::dbaccess::DATASOURCE_TYPE eType, OUString& _inout_rDisplayName );
+ ::std::vector< OUString>
+ m_aEmbeddedURLPrefixes;
+
+ virtual OUString getEmbeddedDBName( const SfxItemSet& _rSet );
+ void initializeEmbeddedDBList();
+
protected:
+ DECL_LINK( OnEmbeddedDBTypeSelected, ListBox* );
DECL_LINK( OnCreateDatabaseModeSelected, RadioButton* );
DECL_LINK( OnSetupModeSelected, RadioButton* );
DECL_LINK( OnDocumentSelected, ListBox* );