summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorFrank Schönheit <fs@openoffice.org>2001-08-01 10:06:48 +0000
committerFrank Schönheit <fs@openoffice.org>2001-08-01 10:06:48 +0000
commit0986bb059aab6d7f14b5af78ae9fd3058fa443fc (patch)
tree2115b07d0091dd19a6de861357c64a1121c59f51 /extensions
parentd053407af70b23623b6f65feca1c55e5f75702a4 (diff)
initial checkin - address book auto pilot - the dialog itself
Diffstat (limited to 'extensions')
-rw-r--r--extensions/source/abpilot/abspilot.cxx441
-rw-r--r--extensions/source/abpilot/abspilot.hxx172
-rw-r--r--extensions/source/abpilot/abspilot.src499
3 files changed, 1112 insertions, 0 deletions
diff --git a/extensions/source/abpilot/abspilot.cxx b/extensions/source/abpilot/abspilot.cxx
new file mode 100644
index 000000000000..8746cfc524cb
--- /dev/null
+++ b/extensions/source/abpilot/abspilot.cxx
@@ -0,0 +1,441 @@
+/*************************************************************************
+ *
+ * $RCSfile: abspilot.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: fs $ $Date: 2001-08-01 11:06:28 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc..
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef EXTENSIONS_ABSPILOT_HXX
+#include "abspilot.hxx"
+#endif
+#ifndef __EXTENSIONS_INC_EXTENSIO_HRC__
+#include "extensio.hrc"
+#endif
+#ifndef EXTENSIONS_ABPRESID_HRC
+#include "abpresid.hrc"
+#endif
+#ifndef _EXTENSIONS_COMPONENT_MODULE_HXX_
+#include "componentmodule.hxx"
+#endif
+#ifndef _TOOLS_DEBUG_HXX
+#include <tools/debug.hxx>
+#endif
+#ifndef EXTENSIONS_ABP_TYPESELECTIONPAGE_HXX
+#include "typeselectionpage.hxx"
+#endif
+#ifndef EXTENSIONS_ABP_ADMINDIALOG_INVOKATION_PAGE_HXX
+#include "admininvokationpage.hxx"
+#endif
+#ifndef EXTENSIONS_ABP_TABLESELECTIONPAGE_HXX
+#include "tableselectionpage.hxx"
+#endif
+#ifndef _SV_WAITOBJ_HXX
+#include <vcl/waitobj.hxx>
+#endif
+#ifndef _SV_MSGBOX_HXX
+#include <vcl/msgbox.hxx>
+#endif
+#ifndef EXTENSIONS_ABP_ABPFINALPAGE_HXX
+#include "abpfinalpage.hxx"
+#endif
+#ifndef EXTENSIONS_ABP_FIELDMAPPINGPAGE_HXX
+#include "fieldmappingpage.hxx"
+#endif
+#ifndef EXTENSIONS_ABP_FIELDMAPPINGIMPL_HXX
+#include "fieldmappingimpl.hxx"
+#endif
+
+//.........................................................................
+namespace abp
+{
+//.........................................................................
+
+#define STATE_SELECT_ABTYPE 0
+#define STATE_INVOKE_ADMIN_DIALOG 1
+#define STATE_TABLE_SELECTION 2
+#define STATE_MANUAL_FIELD_MAPPING 3
+#define STATE_FINAL_CONFIRM 4
+
+ using namespace ::svt;
+ using namespace ::com::sun::star::uno;
+ using namespace ::com::sun::star::lang;
+
+ //=====================================================================
+ //= OAddessBookSourcePilot
+ //=====================================================================
+ //---------------------------------------------------------------------
+ OAddessBookSourcePilot::OAddessBookSourcePilot(Window* _pParent, const Reference< XMultiServiceFactory >& _rxORB)
+ :OAddessBookSourcePilot_Base(_pParent, ModuleRes(RID_DLG_ADDRESSBOOKSOURCEPILOT), WZB_FINISH | WZB_CANCEL | WZB_NEXT | WZB_PREVIOUS)
+ ,m_xORB(_rxORB)
+ ,m_aNewDataSource(_rxORB)
+ ,m_eNewDataSourceType( AST_INVALID )
+ {
+ SetPageSizePixel(LogicToPixel(Size(WINDOW_SIZE_X, WINDOW_SIZE_Y), MAP_APPFONT));
+
+ ShowButtonFixedLine(sal_True);
+
+ m_pPrevPage->SetHelpId(HID_ABSPILOT_PREVIOUS);
+ m_pNextPage->SetHelpId(HID_ABSPILOT_NEXT);
+ m_pCancel->SetHelpId(HID_ABSPILOT_CANCEL);
+ m_pFinish->SetHelpId(HID_ABSPILOT_FINISH);
+
+ m_pCancel->SetClickHdl( LINK( this, OAddessBookSourcePilot, OnCancelClicked) );
+
+ // some initial settings
+#ifdef UNX
+ m_aSettings.eType = AST_MORK;
+#else
+ m_aSettings.eType = AST_OE;
+#endif
+ m_aSettings.sDataSourceName = String(ModuleRes(RID_STR_DEFAULT_NAME));
+
+ defaultButton(WZB_NEXT);
+ enableButtons(WZB_FINISH, sal_False);
+ ActivatePage();
+ }
+
+ //---------------------------------------------------------------------
+ void OAddessBookSourcePilot::implCommitAll()
+ {
+ // in real, the data source already exists in the data source context
+ // Thus, if the user changed the name, we have to rename the data source
+ if ( m_aSettings.sDataSourceName != m_aNewDataSource.getName() )
+ m_aNewDataSource.rename( m_aSettings.sDataSourceName );
+
+ // 1. the data source
+ // nothing to do anymore, it already exists
+
+ // 2. write the data source / table names into the configuration
+ addressconfig::writeTemplateAddressSource( getORB(), m_aSettings.sDataSourceName, m_aSettings.sSelectedTable );
+
+ // write the field mapping
+ fieldmapping::writeTemplateAddressFieldMapping( getORB(), m_aSettings.aFieldMapping );
+ }
+
+ //---------------------------------------------------------------------
+ void OAddessBookSourcePilot::implCleanup()
+ {
+ if ( m_aNewDataSource.isValid() )
+ m_aNewDataSource.remove();
+ }
+
+ //---------------------------------------------------------------------
+ IMPL_LINK( OAddessBookSourcePilot, OnCancelClicked, void*, NOTINTERESTEDIN )
+ {
+ // do cleanups
+ implCleanup();
+
+ // reset the click hdl
+ m_pCancel->SetClickHdl( Link() );
+ // simulate the click again - this time, the default handling of the button will strike ....
+ m_pCancel->Click();
+
+ return 0L;
+ }
+
+ //---------------------------------------------------------------------
+ BOOL OAddessBookSourcePilot::Close()
+ {
+ implCleanup();
+
+ return OAddessBookSourcePilot_Base::Close();
+ }
+
+ //---------------------------------------------------------------------
+ sal_Bool OAddessBookSourcePilot::onFinish(sal_Int32 _nResult)
+ {
+ if (!OAddessBookSourcePilot_Base::onFinish(_nResult))
+ return sal_False;
+
+ if (RET_OK != _nResult)
+ return sal_True;
+
+ implCommitAll();
+
+ addressconfig::markPilotSuccess( getORB() );
+
+ return sal_True;
+ }
+
+ //---------------------------------------------------------------------
+ void OAddessBookSourcePilot::enterState(sal_uInt16 _nState)
+ {
+ switch ( _nState )
+ {
+ case STATE_FINAL_CONFIRM:
+ if ( !needManualFieldMapping( ) )
+ implDoAutoFieldMapping();
+ break;
+
+ case STATE_TABLE_SELECTION:
+ implDefaultTableName();
+ break;
+ }
+
+ OAddessBookSourcePilot_Base::enterState(_nState);
+ }
+
+ //---------------------------------------------------------------------
+ sal_Bool OAddessBookSourcePilot::leaveState(sal_uInt16 _nState)
+ {
+ if (!OAddessBookSourcePilot_Base::leaveState(_nState))
+ return sal_False;
+
+ switch ( _nState )
+ {
+ case STATE_SELECT_ABTYPE:
+ implCreateDataSource();
+ // create the data source, if necessary (in some cases, it may already have been created, 'cause it was
+ // needed for determining the next state)
+ break;
+ }
+
+ return sal_True;
+ }
+
+ //---------------------------------------------------------------------
+ void OAddessBookSourcePilot::implDefaultTableName()
+ {
+ const StringBag& rTableNames = getDataSource().getTableNames();
+ if ( rTableNames.end() != rTableNames.find( getSettings().sSelectedTable ) )
+ // already a valid table selected
+ return;
+
+ const sal_Char* pGuess = NULL;
+ switch ( getSettings().eType )
+ {
+ case AST_MORK : pGuess = "Personal Address Book"; break;
+ case AST_LDAP : pGuess = "LDAP Directory"; break;
+ }
+ const ::rtl::OUString sGuess = ::rtl::OUString::createFromAscii( pGuess );
+ if ( rTableNames.end() != rTableNames.find( sGuess ) )
+ getSettings().sSelectedTable = sGuess;
+ }
+
+ //---------------------------------------------------------------------
+ void OAddessBookSourcePilot::implDoAutoFieldMapping()
+ {
+ DBG_ASSERT( !needManualFieldMapping( ), "OAddessBookSourcePilot::implDoAutoFieldMapping: invalid call!" );
+
+ fieldmapping::defaultMapping( getORB(), m_aSettings.aFieldMapping );
+ }
+
+ //---------------------------------------------------------------------
+ void OAddessBookSourcePilot::implCreateDataSource()
+ {
+ if (m_aNewDataSource.isValid())
+ { // we already have a data source object
+ if ( m_aSettings.eType == m_eNewDataSourceType )
+ // and it already has the correct type
+ return;
+
+ // it has a wrong type -> remove it
+ m_aNewDataSource.remove();
+ }
+
+ ODataSourceContext aContext( getORB() );
+ aContext.disambiguate( m_aSettings.sDataSourceName );
+
+ switch (m_aSettings.eType)
+ {
+ case AST_MORK:
+ m_aNewDataSource = aContext.createNewMORK( m_aSettings.sDataSourceName );
+ break;
+
+ case AST_LDAP:
+ m_aNewDataSource = aContext.createNewLDAP( m_aSettings.sDataSourceName );
+ break;
+
+ case AST_OUTLOOK:
+ m_aNewDataSource = aContext.createNewOutlook( m_aSettings.sDataSourceName );
+ break;
+
+ case AST_OE:
+ m_aNewDataSource = aContext.createNewOE( m_aSettings.sDataSourceName );
+ break;
+
+ case AST_OTHER:
+ m_aNewDataSource = aContext.createNewDBase( m_aSettings.sDataSourceName );
+ break;
+ }
+ m_eNewDataSourceType = m_aSettings.eType;
+ }
+
+ //---------------------------------------------------------------------
+ sal_Bool OAddessBookSourcePilot::connectToDataSource( sal_Bool _bForceReConnect )
+ {
+ DBG_ASSERT( m_aNewDataSource.isValid(), "OAddessBookSourcePilot::implConnect: invalid current data source!" );
+
+ WaitObject aWaitCursor( this );
+ if ( _bForceReConnect && m_aNewDataSource.isConnected( ) )
+ m_aNewDataSource.disconnect( );
+
+ return m_aNewDataSource.connect( this );
+ }
+
+ //---------------------------------------------------------------------
+ OWizardPage* OAddessBookSourcePilot::createPage(sal_uInt16 _nState)
+ {
+ switch (_nState)
+ {
+ case STATE_SELECT_ABTYPE:
+ return new TypeSelectionPage( this );
+
+ case STATE_INVOKE_ADMIN_DIALOG:
+ return new AdminDialogInvokationPage( this );
+
+ case STATE_TABLE_SELECTION:
+ return new TableSelectionPage( this );
+
+ case STATE_MANUAL_FIELD_MAPPING:
+ return new FieldMappingPage( this );
+
+ case STATE_FINAL_CONFIRM:
+ return new FinalPage( this );
+
+ default:
+ DBG_ERROR("OAddessBookSourcePilot::createPage: invalid state!");
+ return NULL;
+ }
+ }
+
+ //---------------------------------------------------------------------
+ sal_uInt16 OAddessBookSourcePilot::determineNextState(sal_uInt16 _nCurrentState)
+ {
+ switch (_nCurrentState)
+ {
+ case STATE_SELECT_ABTYPE:
+
+ if ( needAdminInvokationPage() )
+ return STATE_INVOKE_ADMIN_DIALOG;
+ // _NO_ break !!!
+
+ case STATE_INVOKE_ADMIN_DIALOG:
+ {
+ // determining the next state here is somewhat more complex: it depends on the type selected,
+ // and on the number of tables in the data source specified by the user
+
+ // ........................................................
+ // create the new data source
+ implCreateDataSource( );
+
+ // ........................................................
+ // if we're here, we have all settings necessary for connecting to the data source
+ if ( !connectToDataSource( sal_False ) )
+ // connecting did not succeed -> do not allow traveling (indicated by returning WZS_INVALID_STATE)
+ return WZS_INVALID_STATE;
+
+ // ........................................................
+ // get the tables of the connection
+ const StringBag& aTables = m_aNewDataSource.getTableNames();
+ if ( aTables.size() > 1 )
+ // in the next step, we need to determine the primary address table
+ return STATE_TABLE_SELECTION;
+
+ // ........................................................
+ // do we have any tables ?
+ if ( 0 == aTables.size() )
+ { // ... no
+ QueryBox aQuery( this, ModuleRes( RID_QRY_NOTABLES ) );
+ if ( RET_YES == aQuery.Execute() )
+ { // but the user chose to use this data source, anyway
+ // -> go to the final page (no field mapping possible at all ...)
+ return STATE_FINAL_CONFIRM;
+ }
+
+ // not allowed to leave the page
+ return WZS_INVALID_STATE;
+ }
+
+ // remember the one and only table we have
+ m_aSettings.sSelectedTable = *aTables.begin();
+ }
+ // _NO_ break !!!
+
+ case STATE_TABLE_SELECTION:
+
+ // ........................................................
+ // do we need a field mapping provided by the user?
+ if ( needManualFieldMapping( ) )
+ return STATE_MANUAL_FIELD_MAPPING;
+
+ // ........................................................
+ // we're nearly done ...
+ return STATE_FINAL_CONFIRM;
+
+ case STATE_MANUAL_FIELD_MAPPING:
+ return STATE_FINAL_CONFIRM;
+
+ default:
+ DBG_ERROR("OAddessBookSourcePilot::determineNextState: invalid current state!");
+ }
+
+ DBG_ERROR("OAddessBookSourcePilot::determineNextState: no next state available!");
+ return WZS_INVALID_STATE;
+ }
+
+//.........................................................................
+} // namespace abp
+//.........................................................................
+
+/*************************************************************************
+ * history:
+ * $Log: not supported by cvs2svn $
+ *
+ * Revision 1.0 26.07.01 08:45:44 fs
+ ************************************************************************/
+
diff --git a/extensions/source/abpilot/abspilot.hxx b/extensions/source/abpilot/abspilot.hxx
new file mode 100644
index 000000000000..66020d849662
--- /dev/null
+++ b/extensions/source/abpilot/abspilot.hxx
@@ -0,0 +1,172 @@
+/*************************************************************************
+ *
+ * $RCSfile: abspilot.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: fs $ $Date: 2001-08-01 11:06:40 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc..
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef EXTENSIONS_ABSPILOT_HXX
+#define EXTENSIONS_ABSPILOT_HXX
+
+#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+#ifndef _SVTOOLS_WIZARDMACHINE_HXX_
+#include <svtools/wizardmachine.hxx>
+#endif
+#ifndef EXTENSIONS_ABP_ADDRESSSETTINGS_HXX
+#include "addresssettings.hxx"
+#endif
+#ifndef _SV_FIXED_HXX
+#include <vcl/fixed.hxx>
+#endif
+#ifndef EXTENSIONS_ABP_DATASOURCEHANDLING_HXX
+#include "datasourcehandling.hxx"
+#endif
+
+//.........................................................................
+namespace abp
+{
+//.........................................................................
+
+ //=====================================================================
+ //= OAddessBookSourcePilot
+ //=====================================================================
+ typedef ::svt::OWizardMachine OAddessBookSourcePilot_Base;
+ class OAddessBookSourcePilot : public OAddessBookSourcePilot_Base
+ {
+ protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ m_xORB;
+ AddressSettings m_aSettings;
+
+ ODataSource m_aNewDataSource;
+ AddressSourceType m_eNewDataSourceType;
+
+ public:
+ /// ctor
+ OAddessBookSourcePilot(
+ Window* _pParent,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB);
+
+ /// get the service factory which was used to create the dialog
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ getORB() { return m_xORB; }
+ AddressSettings& getSettings() { return m_aSettings; }
+ const AddressSettings& getSettings() const { return m_aSettings; }
+
+ const ODataSource& getDataSource() const { return m_aNewDataSource; }
+
+ sal_Bool connectToDataSource( sal_Bool _bForceReConnect );
+
+ void travelNext( ) { OAddessBookSourcePilot_Base::travelNext(); }
+
+ protected:
+ // OWizardMachine overridables
+ virtual ::svt::OWizardPage* createPage(sal_uInt16 _nState);
+ virtual void enterState(sal_uInt16 _nState);
+ virtual sal_Bool leaveState(sal_uInt16 _nState);
+ virtual sal_uInt16 determineNextState(sal_uInt16 _nCurrentState);
+ virtual sal_Bool onFinish(sal_Int32 _nResult);
+
+ virtual BOOL Close();
+
+ private:
+ DECL_LINK( OnCancelClicked, void* );
+
+ /** creates a new data source of the type indicated by m_aSettings
+ <p>If another data source has been created before, this one is deleted.</p>
+ */
+ void implCreateDataSource();
+
+ /// does an automatic field mapping (possible for all types except AST_OTHER)
+ void implDoAutoFieldMapping();
+
+ /// guesses a default for the table name, if no valid table is selected
+ void implDefaultTableName();
+
+ /// check if with the current settings, we would need to invoke he administration dialog for more details about the data source
+ inline sal_Bool needAdminInvokationPage() const
+ {
+ return ( (AST_LDAP == m_aSettings.eType)
+ || (AST_OTHER == m_aSettings.eType)
+ );
+ }
+
+ /// checks if we need a manual (user-guided) field mapping
+ inline sal_Bool needManualFieldMapping() const
+ {
+ return ( AST_OTHER == m_aSettings.eType );
+ }
+
+ void implCleanup();
+ void implCommitAll();
+ };
+
+//.........................................................................
+} // namespace abp
+//.........................................................................
+
+#endif // EXTENSIONS_ABSPILOT_HXX
+
+/*************************************************************************
+ * history:
+ * $Log: not supported by cvs2svn $
+ *
+ * Revision 1.0 26.07.01 08:45:43 fs
+ ************************************************************************/
+
diff --git a/extensions/source/abpilot/abspilot.src b/extensions/source/abpilot/abspilot.src
new file mode 100644
index 000000000000..21b2736c8ccb
--- /dev/null
+++ b/extensions/source/abpilot/abspilot.src
@@ -0,0 +1,499 @@
+/*************************************************************************
+ *
+ * $RCSfile: abspilot.src,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: fs $ $Date: 2001-08-01 11:06:48 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc..
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef EXTENSIONS_ABPRESID_HRC
+#include "abpresid.hrc"
+#endif
+
+//........................................................................
+ModalDialog RID_DLG_ADDRESSBOOKSOURCEPILOT
+{
+ Text = "Autopilot Adress-Datenquelle" ;
+ Text [ english ] = "Autopilot Address Book Data Source" ;
+ Text [ english_us ] = "Autopilot Address Book Data Source" ;
+
+ OutputSize = TRUE ;
+ SVLook = TRUE ;
+ Moveable = TRUE ;
+ Closeable = TRUE ;
+ Hide = TRUE;
+};
+
+//........................................................................
+TabPage RID_PAGE_SELECTABTYPE
+{
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
+ Text = "Adressbuch-Typ";
+ Text [ english ] = "Address Book Type";
+ Text [ english_us ] = "Address Book Type";
+
+ FixedLine FL_SEPARATOR
+ {
+ Pos = MAP_APPFONT ( 4, 3 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 8, 8 ) ;
+
+ Text = "Willkommen";
+ Text [ english ] = "Welcome";
+ Text [ english_us ] = "Welcome";
+ };
+
+ FixedText FT_TYPE_HINTS
+ {
+ Pos = MAP_APPFONT ( 7, 12 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 40 ) ;
+ WordBreak = TRUE;
+
+ Text = "%PRODUCTNAME bietet Ihnen die Mglichkeit, auf bereits in Ihrem Systemvorhandene Adress-Daten zuzugreifen.\n"
+ "Dazu wird eine %PRODUCTNAME Datenquelle angelegt, unter der Ihre Adressbcher als Tabellen zugnglich sind.\n\n"
+ "Dieser Auto-Pilot untersttzt sie bei der Einrichtung dieser Datenquelle.";
+ Text [ english ] = "%PRODUCTNAME allows you to access address data which is already present in your system.\n"
+ "For this, a new %PRODUCTNAME data source will be created, where your address data is available as tables.\n\n"
+ "This auto pilot will assist you in the creation of this data source.";
+ Text [ english_us ] = "%PRODUCTNAME allows you to access address data which is already present in your system.\n"
+ "For this, a new %PRODUCTNAME data source will be created, where your address data is available as tables.\n\n"
+ "This auto pilot will assist you in the creation of this data source.";
+ };
+
+ FixedLine FL_TYPE
+ {
+ Pos = MAP_APPFONT ( 4, 59 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 8, 8 ) ;
+
+ Text = "Typ";
+ Text [ english ] = "Type";
+ Text [ english_us ] = "Type";
+ };
+ FixedText FT_CHOOSE_TYPE
+ {
+ Pos = MAP_APPFONT ( 7, 68 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 8 ) ;
+
+ Text = "Bitte whlen sie den Typ Ihres externen Adressbuches:";
+ Text [ english ] = "Please choose the type of your external address book:";
+ Text [ english_us ] = "Please choose the type of your external address book:";
+ };
+
+ RadioButton RB_MORK
+ {
+ Pos = MAP_APPFONT ( 15, 79 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 22, 8 ) ;
+
+ Text = "Mozilla / Netscape 6.x";
+ Text [ english ] = "Mozilla / Netscape 6.x";
+ Text [ english_us ] = "Mozilla / Netscape 6.x";
+ Group = TRUE;
+ };
+ RadioButton RB_LDAP
+ {
+ Pos = MAP_APPFONT ( 15, 90 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 22, 8 ) ;
+
+ Text = "LDAP Adress-Bestand";
+ Text [ english ] = "LDAP address data";
+ Text [ english_us ] = "LDAP address data";
+ };
+ RadioButton RB_OUTLOOK
+ {
+ Pos = MAP_APPFONT ( 15, 101 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 22, 8 ) ;
+
+ Text = "Outlook Adressbuch";
+ Text [ english ] = "Outlook address book";
+ Text [ english_us ] = "Outlook address book";
+ };
+ RadioButton RB_OUTLOOKEXPRESS
+ {
+ Pos = MAP_APPFONT ( 15, 112 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 22, 8 ) ;
+
+ Text = "Windows System-Adressbuch";
+ Text [ english ] = "Windows system address book";
+ Text [ english_us ] = "Windows system address book";
+ };
+ RadioButton RB_OTHER
+ {
+ Pos = MAP_APPFONT ( 15, 123 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 22, 8 ) ;
+
+ Text = "andere externe Datenquelle";
+ Text [ english ] = "other external data source";
+ Text [ english_us ] = "other external data source";
+ };
+};
+
+//........................................................................
+TabPage RID_PAGE_ADMININVOKATION
+{
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
+ Text = "Adressbuch-Details";
+ Text [ english ] = "Address Book Details";
+ Text [ english_us ] = "Address Book Details";
+
+ FixedLine FL_SEPARATOR
+ {
+ Pos = MAP_APPFONT ( 4, 3 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 8, 8 ) ;
+ };
+
+ FixedText FT_ADMINEXPLANATION
+ {
+ Pos = MAP_APPFONT ( 7, 12 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 48 ) ;
+ WordBreak = TRUE;
+
+ Text = "Um die neue Datenquelle einzurichten, sind noch weitergehende Angaben notwendig.\n\n"
+ "Dafr wird, sobald die auf den unten befindlichen Button drcken, ein weiterer Dialog geffnet. "
+ "Nehmen Sie dort bitte die fehlenden Einstellungen vor.";
+ Text [ english ] = "To set up the new data source, some additional information is needed.\n\n"
+ "For this, another dialog will be opened, as soon as you press the button below. "
+ "There, please specify all missing settings.";
+ Text [ english_us ] = "To set up the new data source, some additional information is needed.\n\n"
+ "For this, another dialog will be opened, as soon as you press the button below. "
+ "There, please specify all missing settings.";
+ };
+
+ PushButton PB_INVOKE_ADMIN_DIALOG
+ {
+ Pos = MAP_APPFONT ( ( WINDOW_SIZE_X - BUTTON_SIZE_X ) / 2, 63 ) ;
+ Size = MAP_APPFONT ( BUTTON_SIZE_X, BUTTON_SIZE_Y ) ;
+
+ Text = "Einstellungen";
+ Text [ english ] = "Settings";
+ Text [ english_us ] = "Settings";
+ };
+
+ FixedText FT_ERROR
+ {
+ Pos = MAP_APPFONT ( 7, WINDOW_SIZE_Y - 7 - 48 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 48 ) ;
+ WordBreak = TRUE;
+ Hide = TRUE;
+
+ Text = "Die Verbindung zur Datenquelle konnte nicht hergestellt werden.\n"
+ "Bitte berprfen Sie, bevor Sie fortfahren, die gemachten Einstellungen, oder whlen Sie (auf der vorhergehenden "
+ "Seite) einen anderen Typ fr Ihre Adress-Datenquelle.";
+ Text [ english ] = "The connection to the data source could not be established.\n"
+ "Before you proceed, please check the settings made, or (on the previous page) choose another type of address data source.";
+ Text [ english_us ] = "The connection to the data source could not be established.\n"
+ "Before you proceed, please check the settings made, or (on the previous page) choose another type of address data source.";
+ };
+};
+
+//........................................................................
+TabPage RID_PAGE_TABLESELECTION
+{
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
+ Text = "Tabellen-Auswahl";
+ Text [ english ] = "Table selection";
+ Text [ english_us ] = "Table selection";
+
+ FixedLine FL_SEPARATOR
+ {
+ Pos = MAP_APPFONT ( 4, 3 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 8, 8 ) ;
+ };
+
+ FixedText FL_TOOMUCHTABLES
+ {
+ Pos = MAP_APPFONT ( 7, 12 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 24 ) ;
+ WordBreak = TRUE;
+
+ Text = "Die von Ihnen gewhlte externe Datenquelle enthlt mehrere Adress-Bestnde (respektive Tabellen).\n"
+ "Bitte whlen Sie denjenigen aus, mit dem Sie hauptschlich arbeiten wollen:";
+ Text [ english ] = "The external data source chosen by you contains more than one address stock (or tables, respectively).\n"
+ "Please choose the one you primarily want to work with:";
+ Text [ english_us ] = "The external data source chosen by you contains more than one address stock (or tables, respectively).\n"
+ "Please choose the one you primarily want to work with:";
+ };
+
+ ListBox LB_TABLELIST
+ {
+ Pos = MAP_APPFONT ( 7, 39 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 50 ) ;
+ SVLook = TRUE;
+ Sort = TRUE;
+ DropDown = FALSE;
+ AutoHScroll = TRUE;
+ Border = TRUE;
+ };
+};
+
+//........................................................................
+TabPage RID_PAGE_FIELDMAPPING
+{
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
+ Text = "Feld-Zuordnung";
+ Text [ english ] = "Field assigment";
+ Text [ english_us ] = "Field assigment";
+
+ FixedLine FL_SEPARATOR
+ {
+ Pos = MAP_APPFONT ( 4, 3 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 8, 8 ) ;
+ };
+
+ FixedText FT_FIELDASSIGMENTEXPL
+ {
+ Pos = MAP_APPFONT ( 7, 12 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 72 ) ;
+ WordBreak = TRUE;
+
+ Text = "Um die Adress-Daten in Ihren Vorlagen-Dokumenten benutzen zu knnen, mu %PRODUCTNAME wissen, welche Felder welche "
+ "konkreten Daten enthalten.\n\n"
+ "Zum Beispiel knnten Sie die E-Mail-Adressen in einem Feld namens \"EMail\" oder \"E-Mail\" oder \"EM\" - oder unter vllig anderem Namen - gespeichert haben.\n\n"
+ "Sobald sie den unten stehenden Button drcken, wird ein weiterer Dialog geffnet, in dem sie diese Einstellungen "
+ "fr Ihre Datenquelle vornehmen knnen.";
+ Text [ english ] = "To incorporate the address data in your template documents, %PRODUCTNAME has to know which fields "
+ "do contain which concrete data.\n\n"
+ "For instance, you could have stored the e-mail addresses in a field named \"EMail\", or \"E-Mail\" or \"EM\" - or something completely different.\n\n"
+ "When you press the button below, another dialog will be opened, where you can do this field assignment for your "
+ "data source.";
+ Text [ english_us ] = "To incorporate the address data in your template documents, %PRODUCTNAME has to know which fields "
+ "do contain which concrete data.\n\n"
+ "For instance, you could have stored the e-mail addresses in a field named \"EMail\", or \"E-Mail\" or \"EM\" - or something completely different.\n\n"
+ "When you press the button below, another dialog will be opened, where you can do this field assignment for your "
+ "data source.";
+ };
+
+ PushButton PB_INVOKE_FIELDS_DIALOG
+ {
+ Pos = MAP_APPFONT ( ( WINDOW_SIZE_X - BUTTON_SIZE_X ) / 2, 87 ) ;
+ Size = MAP_APPFONT ( BUTTON_SIZE_X, BUTTON_SIZE_Y ) ;
+
+ Text = "Feld-Zuordnung";
+ Text [ english ] = "Field assignment";
+ Text [ english_us ] = "Field assignment";
+ };
+
+ FixedText FT_ASSIGNEDFIELDS
+ {
+ Pos = MAP_APPFONT ( 7, WINDOW_SIZE_Y - 7 - 32 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 32 ) ;
+ };
+};
+
+//........................................................................
+TabPage RID_PAGE_FINAL
+{
+ SVLook = TRUE ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
+ Text = "Zusammenfassung";
+ Text [ english ] = "Summary";
+ Text [ english_us ] = "Summary";
+
+ FixedLine FL_SEPARATOR
+ {
+ Pos = MAP_APPFONT ( 4, 3 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 8, 8 ) ;
+ };
+
+ FixedText FT_FINISH_EXPL
+ {
+ Pos = MAP_APPFONT ( 7, 12 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 32 ) ;
+ WordBreak = TRUE;
+
+ Text = "Das waren alle Angaben, die zu Integration Ihrer Adress-Daten in %PRODUCTNAME bentigt werden.\n\n"
+ "Geben Sie jetzt noch den Namen an, unter dem die Datenquelle in %PRODUCTNAME registriert werden soll.";
+ Text [ english ] = "This were all information necessary to integrate your address data into %PRODUCTNAME.\n\n"
+ "Now, just enter the name which should be used to register the data source in %PRODUCTNAME.";
+ Text [ english_us ] = "This were all information necessary to integrate your address data into %PRODUCTNAME.\n\n"
+ "Now, just enter the name which should be used to register the data source in %PRODUCTNAME.";
+ };
+
+ FixedText FT_NAME_EXPL
+ {
+ Pos = MAP_APPFONT ( 7, 48 ) ;
+ Size = MAP_APPFONT ( 50, 8 ) ;
+
+ Text = "Name";
+ Text [ english ] = "Name";
+ Text [ english_us ] = "Name";
+ Group = TRUE;
+ };
+
+ Edit ET_DATASOURCENAME
+ {
+ Pos = MAP_APPFONT ( 60, 48 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 60 - 7, 12) ;
+ SVLook = TRUE;
+ Border = TRUE;
+ Group = FALSE;
+ };
+
+ FixedText FT_DUPLICATENAME
+ {
+ Pos = MAP_APPFONT ( 7, WINDOW_SIZE_Y - 7 - 24 ) ;
+ Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 24) ;
+ WordBreak = TRUE;
+
+ Text = "Es existiert schon eine andere Datenquelle mit diesem Namen. Da Datenquellennamen global eindeutig sind, "
+ "mssen sie einen anderen whlen.";
+ Text [ english ] = "Another data source already has this name. As data sources have globally unique names, you have to choose another one.";
+ Text [ english_us ] = "Another data source already has this name. As data sources have globally unique names, you have to choose another one.";
+ Text [ portuguese ] = "J existe uma fonte de dados com este nome. Os nomes das fontes de dados devem ser nicos, por esta razo recomendvel seleccionar outro nome.";
+ Text [ russian ] = " . , .";
+ Text [ greek ] = " . . ";
+ Text [ dutch ] = "Er bestaat reeds een andere gegevensbron met deze naam. Kies een andere naam.";
+ Text [ french ] = "Ce nom a dj t attribu une autre source de donnes. tant donn que les sources de donnes doivent avoir des noms globalement uniques, vous devez en choisir un autre.";
+ Text [ spanish ] = "Ya existe otra fuente de datos con este nombre. Debe elegir otro ya que el nombre de la fuente de datos debe ser globalmente nico.";
+ Text [ italian ] = "Esiste gi una sorgente dati con questo nome. Poich il nome delle sorgenti di dati dev'essere univoco, necesario scegliere un altro nome.";
+ Text [ danish ] = "There already is another data source with this name. Since data source names have to be globally unique, you have to choose another one.";
+ Text [ swedish ] = "Det finns redan en dataklla med det hr namnet. Eftersom namn p datakllor mste vara globalt unika br Du vlja ett annat namn.";
+ Text [ polish ] = "Istnieje inne rdo danych o tej samej nazwie. Poniewa nazwy rode danych musz by globalnie jednoznaczne, naley wybra inn nazw.";
+ Text [ portuguese_brazilian ] = "There already is another data source with this name. Since data source names have to be globally unique, you have to choose another one.";
+ Text [ japanese ] = "̖O̕tʂްłɂ܂Bް͂Ƌʂ邽߂ɂ́Aق̖OIKv܂B";
+ Text [ korean ] = "̹ ̸ ٸ ҽ ֽϴ. ͼҽ ̸ ؾ ϹǷ, ٸ ̸ ؾ մϴ.";
+ Text [ chinese_simplified ] = "ѾһͬԴΪԴƱһͨõЧƣһơ";
+ Text [ chinese_traditional ] = "wgsb@ӦPWƷC]@ӸƷW٥qΩTAбzĥΥt~@ӦĪW١C";
+ Text [ turkish ] = "There already is another data source with this name. Since data source names have to be globally unique, you have to choose another one.";
+ Text [ arabic ] = " . ɡ .";
+ Text[ finnish ] = "Toisella tietolhteell on jo sama nimi. Tietolhteill on oltava yksillliset nimet, valitse toinen nimi.";
+ Text[ catalan ] = "Ya existe otra fuente de datos con este nombre. Debe elegir otro ya que el nombre de la fuente de datos debe ser globalmente nico.";
+ };
+};
+
+//........................................................................
+ErrorBox RID_ERR_NEEDTYPESELECTION
+{
+ Buttons = WB_OK;
+
+ Message = "Bitte whlen sie einen Adressbuch-Typ aus!";
+ Message [ english ] = "Bitte whlen sie einen Adressbuch-Typ aus!";
+ Message [ english_us ] = "Bitte whlen sie einen Adressbuch-Typ aus!";
+};
+
+QueryBox RID_QRY_NOTABLES
+{
+ Buttons = WB_YES_NO;
+ DefButton = WB_DEF_NO;
+
+ Message = "Die Datenquelle enthlt keinerlei Tabellen.\n"
+ "Wollen Sie sie trotzdem als Adress-Datenquelle einrichten?";
+ Message [ english ] = "The data source does not contain any tables.\n"
+ "Do you want to install it as address data source, anyway?";
+ Message [ english_us ] = "The data source does not contain any tables.\n"
+ "Do you want to install it as address data source, anyway?";
+};
+
+//........................................................................
+String RID_STR_DEFAULT_NAME
+{
+ Text = "Adressen";
+ Text [ english ] = "Addresses";
+ Text [ english_us ] = "Addresses";
+};
+
+String RID_STR_ADMINDIALOGTITLE
+{
+ Text = "Adress Datenquelle anlegen";
+ Text [ english ] = "Create Address Data Source";
+ Text [ english_us ] = "Create Address Data Source";
+};
+
+String RID_STR_NOCONNECTION
+{
+ Text = "Die Verbindung konnte nicht hergestellt werden.";
+ Text [ english ] = "The connection could not be established.";
+ Text [ english_us ] = "The connection could not be established.";
+};
+
+String RID_STR_PLEASECHECKSETTINGS
+{
+ Text = "Bitte berprfen Sie die Einstellungen fr die Datenquelle.";
+ Text [ english ] = "Please check the settings made for the data source.";
+ Text [ english_us ] = "Please check the settings made for the data source.";
+};
+
+String RID_STR_FIELDDIALOGTITLE
+{
+ Text = "Adress Daten - Feldzuordnung";
+ Text [ english ] = "Address data - field assignment";
+ Text [ english_us ] = "Address data - field assignment";
+};
+
+String RID_STR_NOFIELDSASSIGNED
+{
+ Text = "Im Augenblick sind keine Felder zugeordnet.\n"
+ "Wenn Sie im Augenblick keine Zuordnung treffen wollen, knnen Sie dies spter jederzeit nachholen:\n"
+ "Men \"Datei - Dokumentvorlage - Adressbuch Quelle ...\"";
+ Text [ english ] = "Currently, there are no fields assigned.\n"
+ "If you don't want to do this assignment at the moment, you can make this up at any time later on:\n"
+ "Menu \"File - Template - Address Book Source ...\"";
+ Text [ english_us ] = "Currently, there are no fields assigned.\n"
+ "If you don't want to do this assignment at the moment, you can make this up at any time later on:\n"
+ "Menu \"File - Template - Address Book Source ...\"";
+ Text [ language_user1 ] = "The last line of this text refers to a menu entry. Please use the same "
+ "translation as for this menu. Does it help if I tell you that it's in svx/inc/globalmn.hrc:ITEM_FILE_DOCTEMPLATE?";
+};
+
+/*************************************************************************
+ * history:
+ * $Log: not supported by cvs2svn $
+ *
+ * Revision 1.0 26.07.01 09:03:45 fs
+ ************************************************************************/
+