Kaydet (Commit) 36f2df84 authored tarafından Miklos Vajna's avatar Miklos Vajna

dbaccess: introduce DATASOURCE_TYPE::DST_WRITER

By mostly reusing the spreadsheet code. This way the UI allows creating
a data source where the backend is a Writer document (containing at
least one Writer table).

Change-Id: I42186d46aaa86fa96ebae0807c97306d6d00d6d4
Reviewed-on: https://gerrit.libreoffice.org/40146Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
üst c49ed68c
...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
#define HID_DSADMIN_MSACCESS_MDB_FILE "DBACCESS_HID_DSADMIN_MSACCESS_MDB_FILE" #define HID_DSADMIN_MSACCESS_MDB_FILE "DBACCESS_HID_DSADMIN_MSACCESS_MDB_FILE"
#define HID_DSADMIN_FLAT_PATH "DBACCESS_HID_DSADMIN_FLAT_PATH" #define HID_DSADMIN_FLAT_PATH "DBACCESS_HID_DSADMIN_FLAT_PATH"
#define HID_DSADMIN_CALC_PATH "DBACCESS_HID_DSADMIN_CALC_PATH" #define HID_DSADMIN_CALC_PATH "DBACCESS_HID_DSADMIN_CALC_PATH"
#define HID_DSADMIN_WRITER_PATH "DBACCESS_HID_DSADMIN_WRITER_PATH"
#define HID_DSADMIN_ORACLE_DATABASE "DBACCESS_HID_DSADMIN_ORACLE_DATABASE" #define HID_DSADMIN_ORACLE_DATABASE "DBACCESS_HID_DSADMIN_ORACLE_DATABASE"
#define HID_APP_TABLE_TREE "DBACCESS_HID_APP_TABLE_TREE" #define HID_APP_TABLE_TREE "DBACCESS_HID_APP_TABLE_TREE"
......
...@@ -387,6 +387,7 @@ DATASOURCE_TYPE ODsnTypeCollection::determineType(const OUString& _rDsn) const ...@@ -387,6 +387,7 @@ DATASOURCE_TYPE ODsnTypeCollection::determineType(const OUString& _rDsn) const
const KnownPrefix aKnowPrefixes[] = const KnownPrefix aKnowPrefixes[] =
{ {
KnownPrefix( "sdbc:calc:", DST_CALC, false ), KnownPrefix( "sdbc:calc:", DST_CALC, false ),
KnownPrefix( "sdbc:writer:", DST_WRITER, false ),
KnownPrefix( "sdbc:flat:", DST_FLAT, false ), KnownPrefix( "sdbc:flat:", DST_FLAT, false ),
KnownPrefix( "sdbc:odbc:", DST_ODBC, false ), KnownPrefix( "sdbc:odbc:", DST_ODBC, false ),
KnownPrefix( "sdbc:dbase:", DST_DBASE, false ), KnownPrefix( "sdbc:dbase:", DST_DBASE, false ),
...@@ -435,7 +436,8 @@ void ODsnTypeCollection::fillPageIds(const OUString& _sURL,std::vector<sal_Int16 ...@@ -435,7 +436,8 @@ void ODsnTypeCollection::fillPageIds(const OUString& _sURL,std::vector<sal_Int16
_rOutPathIds.push_back(PAGE_DBSETUPWIZARD_TEXT); _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_TEXT);
break; break;
case DST_CALC: case DST_CALC:
_rOutPathIds.push_back(PAGE_DBSETUPWIZARD_SPREADSHEET); case DST_WRITER:
_rOutPathIds.push_back(PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET);
break; break;
case DST_ODBC: case DST_ODBC:
_rOutPathIds.push_back(PAGE_DBSETUPWIZARD_ODBC); _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_ODBC);
......
...@@ -62,6 +62,7 @@ enum DATASOURCE_TYPE ...@@ -62,6 +62,7 @@ enum DATASOURCE_TYPE
DST_FIREBIRD = 26, DST_FIREBIRD = 26,
DST_EMBEDDED_FIREBIRD = 27, DST_EMBEDDED_FIREBIRD = 27,
DST_POSTGRES = 28, DST_POSTGRES = 28,
DST_WRITER = 29,
DST_USERDEFINE1, /// first user defined driver DST_USERDEFINE1, /// first user defined driver
DST_USERDEFINE2, DST_USERDEFINE2,
...@@ -90,7 +91,7 @@ enum DATASOURCE_TYPE ...@@ -90,7 +91,7 @@ enum DATASOURCE_TYPE
#define PAGE_DBSETUPWIZARD_JDBC 10 #define PAGE_DBSETUPWIZARD_JDBC 10
#define PAGE_DBSETUPWIZARD_ADO 11 #define PAGE_DBSETUPWIZARD_ADO 11
#define PAGE_DBSETUPWIZARD_ODBC 12 #define PAGE_DBSETUPWIZARD_ODBC 12
#define PAGE_DBSETUPWIZARD_SPREADSHEET 13 #define PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET 13
#define PAGE_DBSETUPWIZARD_AUTHENTIFICATION 14 #define PAGE_DBSETUPWIZARD_AUTHENTIFICATION 14
#define PAGE_DBSETUPWIZARD_FINAL 16 #define PAGE_DBSETUPWIZARD_FINAL 16
#define PAGE_DBSETUPWIZARD_USERDEFINED 17 #define PAGE_DBSETUPWIZARD_USERDEFINED 17
......
...@@ -34,6 +34,11 @@ String STR_CALC_PATH_OR_FILE ...@@ -34,6 +34,11 @@ String STR_CALC_PATH_OR_FILE
Text[ en-US ] = "Path to the spreadsheet document"; Text[ en-US ] = "Path to the spreadsheet document";
}; };
String STR_WRITER_PATH_OR_FILE
{
Text[ en-US ] = "Path to the Writer document";
};
String STR_NAME_OF_ODBC_DATASOURCE String STR_NAME_OF_ODBC_DATASOURCE
{ {
Text[ en-US ] = "Name of the ODBC data source on your system"; Text[ en-US ] = "Name of the ODBC data source on your system";
......
...@@ -224,6 +224,17 @@ namespace dbaui ...@@ -224,6 +224,17 @@ namespace dbaui
askForFileName(aFileDlg); askForFileName(aFileDlg);
} }
break; break;
case ::dbaccess::DST_WRITER:
{
SvtModuleOptions aModule;
::sfx2::FileDialogHelper aFileDlg(
ui::dialogs::TemplateDescription::FILEOPEN_READONLY_VERSION,
FileDialogFlags::NONE,
aModule.GetFactoryEmptyDocumentURL(SvtModuleOptions::EFactory::WRITER)
,SfxFilterFlags::IMPORT);
askForFileName(aFileDlg);
}
break;
case ::dbaccess::DST_MSACCESS: case ::dbaccess::DST_MSACCESS:
{ {
const OUString sExt("*.mdb;*.mde"); const OUString sExt("*.mdb;*.mde");
...@@ -664,7 +675,7 @@ namespace dbaui ...@@ -664,7 +675,7 @@ namespace dbaui
const ::dbaccess::DATASOURCE_TYPE eType = m_pCollection->determineType(m_eType); const ::dbaccess::DATASOURCE_TYPE eType = m_pCollection->determineType(m_eType);
if ( ( ::dbaccess::DST_CALC == eType) || ( ::dbaccess::DST_MSACCESS == eType) || ( ::dbaccess::DST_MSACCESS_2007 == eType) ) if ( ( ::dbaccess::DST_CALC == eType) || ( ::dbaccess::DST_WRITER == eType) || ( ::dbaccess::DST_MSACCESS == eType) || ( ::dbaccess::DST_MSACCESS_2007 == eType) )
{ {
if( pathExists(sURL, true) == PATH_NOT_EXIST ) if( pathExists(sURL, true) == PATH_NOT_EXIST )
{ {
......
...@@ -149,6 +149,10 @@ namespace dbaui ...@@ -149,6 +149,10 @@ namespace dbaui
m_pFT_Connection->SetText(OUString(ModuleRes(STR_CALC_PATH_OR_FILE))); m_pFT_Connection->SetText(OUString(ModuleRes(STR_CALC_PATH_OR_FILE)));
m_pConnectionURL->SetHelpId(HID_DSADMIN_CALC_PATH); m_pConnectionURL->SetHelpId(HID_DSADMIN_CALC_PATH);
break; break;
case ::dbaccess::DST_WRITER:
m_pFT_Connection->SetText(OUString(ModuleRes(STR_WRITER_PATH_OR_FILE)));
m_pConnectionURL->SetHelpId(HID_DSADMIN_WRITER_PATH);
break;
case ::dbaccess::DST_ADO: case ::dbaccess::DST_ADO:
m_pFT_Connection->SetText(OUString(ModuleRes(STR_COMMONURL))); m_pFT_Connection->SetText(OUString(ModuleRes(STR_COMMONURL)));
break; break;
......
...@@ -689,7 +689,7 @@ using namespace ::com::sun::star; ...@@ -689,7 +689,7 @@ using namespace ::com::sun::star;
callModifiedHdl(); callModifiedHdl();
} }
VclPtr<OGenericAdministrationPage> OSpreadSheetConnectionPageSetup::CreateSpreadSheetTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet ) VclPtr<OGenericAdministrationPage> OSpreadSheetConnectionPageSetup::CreateDocumentOrSpreadSheetTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet )
{ {
return VclPtr<OSpreadSheetConnectionPageSetup>::Create( pParent, _rAttrSet ); return VclPtr<OSpreadSheetConnectionPageSetup>::Create( pParent, _rAttrSet );
} }
......
...@@ -40,7 +40,7 @@ namespace dbaui ...@@ -40,7 +40,7 @@ namespace dbaui
{ {
public: public:
virtual bool FillItemSet ( SfxItemSet* _rCoreAttrs ) override; virtual bool FillItemSet ( SfxItemSet* _rCoreAttrs ) override;
static VclPtr<OGenericAdministrationPage> CreateSpreadSheetTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet ); static VclPtr<OGenericAdministrationPage> CreateDocumentOrSpreadSheetTabPage( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
OSpreadSheetConnectionPageSetup(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs); OSpreadSheetConnectionPageSetup(vcl::Window* pParent, const SfxItemSet& _rCoreAttrs);
virtual ~OSpreadSheetConnectionPageSetup() override; virtual ~OSpreadSheetConnectionPageSetup() override;
virtual void dispose() override; virtual void dispose() override;
......
...@@ -474,6 +474,7 @@ OUString ODbDataSourceAdministrationHelper::getConnectionURL() const ...@@ -474,6 +474,7 @@ OUString ODbDataSourceAdministrationHelper::getConnectionURL() const
case ::dbaccess::DST_DBASE: case ::dbaccess::DST_DBASE:
case ::dbaccess::DST_FLAT: case ::dbaccess::DST_FLAT:
case ::dbaccess::DST_CALC: case ::dbaccess::DST_CALC:
case ::dbaccess::DST_WRITER:
break; break;
case ::dbaccess::DST_MSACCESS: case ::dbaccess::DST_MSACCESS:
case ::dbaccess::DST_MSACCESS_2007: case ::dbaccess::DST_MSACCESS_2007:
......
...@@ -74,9 +74,9 @@ String STR_PAGETITLE_ODBC ...@@ -74,9 +74,9 @@ String STR_PAGETITLE_ODBC
Text[ en-US ] = "Set up ODBC connection" ; Text[ en-US ] = "Set up ODBC connection" ;
}; };
String STR_PAGETITLE_SPREADSHEET String STR_PAGETITLE_DOCUMENT_OR_SPREADSHEET
{ {
Text[ en-US ] = "Set up Spreadsheet connection" ; Text[ en-US ] = "Set up Writer Document or Spreadsheet connection" ;
}; };
String STR_PAGETITLE_AUTHENTIFICATION String STR_PAGETITLE_AUTHENTIFICATION
......
...@@ -156,6 +156,7 @@ WizardTypes::WizardState ODbTypeWizDialog::determineNextState( WizardState _nCur ...@@ -156,6 +156,7 @@ WizardTypes::WizardState ODbTypeWizDialog::determineNextState( WizardState _nCur
case ::dbaccess::DST_MSACCESS_2007: case ::dbaccess::DST_MSACCESS_2007:
case ::dbaccess::DST_JDBC: case ::dbaccess::DST_JDBC:
case ::dbaccess::DST_CALC: case ::dbaccess::DST_CALC:
case ::dbaccess::DST_WRITER:
nNextState = WZS_INVALID_STATE; nNextState = WZS_INVALID_STATE;
break; break;
case ::dbaccess::DST_DBASE: case ::dbaccess::DST_DBASE:
......
...@@ -120,7 +120,7 @@ ODbTypeWizDialogSetup::ODbTypeWizDialogSetup(vcl::Window* _pParent ...@@ -120,7 +120,7 @@ ODbTypeWizDialogSetup::ODbTypeWizDialogSetup(vcl::Window* _pParent
, m_sRM_OracleText( ModuleRes( STR_PAGETITLE_ORACLE ) ) , m_sRM_OracleText( ModuleRes( STR_PAGETITLE_ORACLE ) )
, m_sRM_MySQLText( ModuleRes( STR_PAGETITLE_MYSQL ) ) , m_sRM_MySQLText( ModuleRes( STR_PAGETITLE_MYSQL ) )
, m_sRM_ODBCText( ModuleRes( STR_PAGETITLE_ODBC ) ) , m_sRM_ODBCText( ModuleRes( STR_PAGETITLE_ODBC ) )
, m_sRM_SpreadSheetText( ModuleRes( STR_PAGETITLE_SPREADSHEET ) ) , m_sRM_DocumentOrSpreadSheetText( ModuleRes( STR_PAGETITLE_DOCUMENT_OR_SPREADSHEET ) )
, m_sRM_AuthentificationText( ModuleRes( STR_PAGETITLE_AUTHENTIFICATION ) ) , m_sRM_AuthentificationText( ModuleRes( STR_PAGETITLE_AUTHENTIFICATION ) )
, m_sRM_FinalText( ModuleRes( STR_PAGETITLE_FINAL ) ) , m_sRM_FinalText( ModuleRes( STR_PAGETITLE_FINAL ) )
, m_sWorkPath( SvtPathOptions().GetWorkPath() ) , m_sWorkPath( SvtPathOptions().GetWorkPath() )
...@@ -240,8 +240,8 @@ OUString ODbTypeWizDialogSetup::getStateDisplayName( WizardState _nState ) const ...@@ -240,8 +240,8 @@ OUString ODbTypeWizDialogSetup::getStateDisplayName( WizardState _nState ) const
case PAGE_DBSETUPWIZARD_ODBC: case PAGE_DBSETUPWIZARD_ODBC:
sRoadmapItem = m_sRM_ODBCText; sRoadmapItem = m_sRM_ODBCText;
break; break;
case PAGE_DBSETUPWIZARD_SPREADSHEET: case PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET:
sRoadmapItem = m_sRM_SpreadSheetText; sRoadmapItem = m_sRM_DocumentOrSpreadSheetText;
break; break;
case PAGE_DBSETUPWIZARD_AUTHENTIFICATION: case PAGE_DBSETUPWIZARD_AUTHENTIFICATION:
sRoadmapItem = m_sRM_AuthentificationText; sRoadmapItem = m_sRM_AuthentificationText;
...@@ -520,8 +520,8 @@ VclPtr<TabPage> ODbTypeWizDialogSetup::createPage(WizardState _nState) ...@@ -520,8 +520,8 @@ VclPtr<TabPage> ODbTypeWizDialogSetup::createPage(WizardState _nState)
pPage = OLDAPConnectionPageSetup::CreateLDAPTabPage(this,*m_pOutSet); pPage = OLDAPConnectionPageSetup::CreateLDAPTabPage(this,*m_pOutSet);
break; break;
case PAGE_DBSETUPWIZARD_SPREADSHEET: /// first user defined driver case PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET:
pPage = OSpreadSheetConnectionPageSetup::CreateSpreadSheetTabPage(this,*m_pOutSet); pPage = OSpreadSheetConnectionPageSetup::CreateDocumentOrSpreadSheetTabPage(this,*m_pOutSet);
break; break;
case PAGE_DBSETUPWIZARD_MSACCESS: case PAGE_DBSETUPWIZARD_MSACCESS:
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
#define STR_NAME_OF_ODBC_DATASOURCE RID_STR_DLG_START + 48 #define STR_NAME_OF_ODBC_DATASOURCE RID_STR_DLG_START + 48
#define STR_MYSQL_DATABASE_NAME RID_STR_DLG_START + 49 #define STR_MYSQL_DATABASE_NAME RID_STR_DLG_START + 49
#define STR_ORACLE_DATABASE_NAME RID_STR_DLG_START + 50 #define STR_ORACLE_DATABASE_NAME RID_STR_DLG_START + 50
// FREE #define STR_WRITER_PATH_OR_FILE RID_STR_DLG_START + 51
#define STR_MSACCESS_MDB_FILE RID_STR_DLG_START + 52 #define STR_MSACCESS_MDB_FILE RID_STR_DLG_START + 52
#define STR_COMMONURL RID_STR_DLG_START + 53 #define STR_COMMONURL RID_STR_DLG_START + 53
#define STR_DATABASEDEFAULTNAME RID_STR_DLG_START + 54 #define STR_DATABASEDEFAULTNAME RID_STR_DLG_START + 54
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
#define STR_PAGETITLE_ORACLE RID_STR_DLG_START + 76 #define STR_PAGETITLE_ORACLE RID_STR_DLG_START + 76
#define STR_PAGETITLE_MYSQL RID_STR_DLG_START + 77 #define STR_PAGETITLE_MYSQL RID_STR_DLG_START + 77
#define STR_PAGETITLE_ODBC RID_STR_DLG_START + 78 #define STR_PAGETITLE_ODBC RID_STR_DLG_START + 78
#define STR_PAGETITLE_SPREADSHEET RID_STR_DLG_START + 79 #define STR_PAGETITLE_DOCUMENT_OR_SPREADSHEET RID_STR_DLG_START + 79
#define STR_PAGETITLE_AUTHENTIFICATION RID_STR_DLG_START + 80 #define STR_PAGETITLE_AUTHENTIFICATION RID_STR_DLG_START + 80
#define STR_PAGETITLE_MYSQL_NATIVE RID_STR_DLG_START + 81 #define STR_PAGETITLE_MYSQL_NATIVE RID_STR_DLG_START + 81
#define STR_PAGETITLE_FINAL RID_STR_DLG_START + 82 #define STR_PAGETITLE_FINAL RID_STR_DLG_START + 82
......
...@@ -77,7 +77,7 @@ private: ...@@ -77,7 +77,7 @@ private:
OUString m_sRM_OracleText; OUString m_sRM_OracleText;
OUString m_sRM_MySQLText; OUString m_sRM_MySQLText;
OUString m_sRM_ODBCText; OUString m_sRM_ODBCText;
OUString m_sRM_SpreadSheetText; OUString m_sRM_DocumentOrSpreadSheetText;
OUString m_sRM_AuthentificationText; OUString m_sRM_AuthentificationText;
OUString m_sRM_FinalText; OUString m_sRM_FinalText;
INetURLObject m_aDocURL; INetURLObject m_aDocURL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment