summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--basegfx/source/polygon/b2dtrapezoid.cxx3
-rw-r--r--comphelper/inc/comphelper/storagehelper.hxx2
-rw-r--r--comphelper/source/misc/officerestartmanager.cxx4
-rw-r--r--comphelper/source/misc/storagehelper.cxx31
-rw-r--r--configmgr/source/rootaccess.cxx5
-rw-r--r--desktop/source/app/app.cxx585
-rw-r--r--[-rwxr-xr-x]desktop/source/deployment/gui/dp_gui_dialog2.cxx12
-rw-r--r--desktop/source/deployment/manager/dp_extensionmanager.cxx8
-rw-r--r--desktop/source/deployment/manager/dp_properties.cxx2
-rw-r--r--desktop/source/deployment/manager/dp_properties.hxx5
-rw-r--r--desktop/source/deployment/misc/dp_misc.cxx5
-rw-r--r--desktop/source/deployment/registry/configuration/dp_configuration.cxx62
-rw-r--r--desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx5
-rw-r--r--desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx5
-rw-r--r--desktop/source/deployment/registry/dp_registry.cxx7
-rw-r--r--desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx5
-rw-r--r--desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx5
-rw-r--r--desktop/source/deployment/registry/help/dp_helpbackenddb.cxx5
-rw-r--r--desktop/source/deployment/registry/help/dp_helpbackenddb.hxx5
-rw-r--r--desktop/source/deployment/registry/package/dp_package.cxx22
-rw-r--r--desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx5
-rw-r--r--desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx5
-rw-r--r--[-rwxr-xr-x]desktop/source/migration/services/cexportsoo3.cxx5
-rw-r--r--desktop/source/migration/services/oo3extensionmigration.cxx5
-rw-r--r--desktop/source/migration/services/oo3extensionmigration.hxx5
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_app.cxx33
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_misc.cxx105
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_shared.h6
-rw-r--r--filter/source/xsltdialog/xmlfilterjar.cxx8
-rw-r--r--framework/source/accelerators/acceleratorconfiguration.cxx29
-rw-r--r--[-rwxr-xr-x]graphite/graphite-2.3.1.patch.mingw9
-rwxr-xr-xjavainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java18
-rwxr-xr-xjavainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java196
-rwxr-xr-xjavainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java21
-rw-r--r--l10ntools/inc/lngmerge.hxx2
-rw-r--r--l10ntools/prj/d.lst8
-rw-r--r--[-rwxr-xr-x]l10ntools/scripts/tool/const.py (renamed from transex3/java/jpropex/makefile.mk)15
-rw-r--r--l10ntools/scripts/tool/l10ntool.py211
-rw-r--r--l10ntools/scripts/tool/pseudo.py184
-rw-r--r--l10ntools/scripts/tool/sdf.py165
-rw-r--r--l10ntools/scripts/tool/xhtex.py135
-rw-r--r--l10ntools/scripts/tool/xtxex.py93
-rwxr-xr-xl10ntools/scripts/xhtex39
-rwxr-xr-xl10ntools/scripts/xtxex39
-rw-r--r--l10ntools/source/cfglex.l17
-rw-r--r--l10ntools/source/cfgmerge.cxx15
-rw-r--r--l10ntools/source/export.cxx12
-rw-r--r--l10ntools/source/helpex.cxx8
-rw-r--r--l10ntools/source/helpmerge.cxx11
-rw-r--r--l10ntools/source/lngex.cxx20
-rw-r--r--l10ntools/source/lngmerge.cxx5
-rw-r--r--l10ntools/source/localize.cxx44
-rw-r--r--l10ntools/source/srclex.l6
-rw-r--r--l10ntools/source/xrmlex.l5
-rw-r--r--l10ntools/source/xrmmerge.cxx11
-rw-r--r--offapi/com/sun/star/deployment/ExtensionRemovedException.idl5
-rw-r--r--offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl5
-rw-r--r--offapi/com/sun/star/deployment/Prerequisites.idl5
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer3.idl5
-rwxr-xr-xofficecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs2
-rw-r--r--scp2/source/ooo/common_brand.scp18
-rw-r--r--scp2/source/ooo/profileitem_ooo.scp1
-rwxr-xr-xscp2/source/ooo/windowscustomaction_ooo.scp29
-rw-r--r--setup_native/scripts/admin.pl128
-rw-r--r--setup_native/scripts/install_linux.sh16
-rw-r--r--setup_native/source/packinfo/package.txt1
-rwxr-xr-xsetup_native/source/packinfo/packinfo_office.txt33
-rwxr-xr-xsetup_native/source/packinfo/shellscripts_extensions.txt138
-rw-r--r--setup_native/source/win32/customactions/languagepacks/exports.dxp2
-rw-r--r--setup_native/source/win32/customactions/languagepacks/makefile.mk1
-rwxr-xr-xsetup_native/source/win32/customactions/patch/exports.dxp2
-rwxr-xr-xsetup_native/source/win32/customactions/patch/makefile.mk1
-rw-r--r--setup_native/source/win32/customactions/shellextensions/exports.dxp2
-rw-r--r--setup_native/source/win32/customactions/shellextensions/makefile.mk1
-rw-r--r--setup_native/source/win32/customactions/shellextensions/registerextensions.cxx236
-rw-r--r--[-rwxr-xr-x]solenv/bin/build.pl6
-rw-r--r--solenv/bin/modules/installer/epmfile.pm48
-rw-r--r--solenv/bin/modules/installer/simplepackage.pm144
-rw-r--r--[-rwxr-xr-x]solenv/bin/subsequenttests2
-rw-r--r--solenv/inc/_tg_srs.mk20
-rw-r--r--solenv/inc/minor.mk6
-rw-r--r--solenv/inc/rules.mk2
-rw-r--r--solenv/inc/settings.mk3
-rw-r--r--solenv/inc/target.mk3
-rw-r--r--solenv/inc/tg_config.mk2
-rw-r--r--solenv/inc/tg_help.mk2
-rw-r--r--solenv/inc/tg_srs.mk2
-rwxr-xr-xsolenv/inc/tg_xmerge.mk109
-rw-r--r--svx/source/svdraw/svdmrkv.cxx5
-rw-r--r--swext/mediawiki/help/makefile.mk2
-rwxr-xr-xtestautomation/extensions/optional/includes/extensions.inc10
-rwxr-xr-xtestautomation/extensions/optional/includes/location.inc22
-rwxr-xr-xtestautomation/framework/optional/includes/extras_modify_objects.inc4
-rwxr-xr-xtestautomation/framework/optional/includes/security_macrosecurity.inc26
-rw-r--r--testautomation/framework/required/f_programmability_dialogs.bas7
-rwxr-xr-xtestautomation/framework/required/includes/basic_dialog_i18n.inc1
-rwxr-xr-xtestautomation/framework/required/includes/script_organizers.inc207
-rwxr-xr-xtestautomation/framework/required/includes/smoketest.inc4
-rwxr-xr-xtestautomation/framework/required/includes/topten.inc46
-rwxr-xr-xtestautomation/framework/required/includes/window_functions.inc30
-rwxr-xr-xtestautomation/framework/required/includes/wizard_agenda.inc13
-rwxr-xr-xtestautomation/framework/required/includes/wizard_documentconverter.inc15
-rwxr-xr-xtestautomation/framework/required/includes/wizard_euroconverter.inc9
-rwxr-xr-xtestautomation/framework/required/includes/wizard_fax.inc11
-rwxr-xr-xtestautomation/framework/required/includes/wizard_firsttime.inc14
-rwxr-xr-xtestautomation/framework/required/includes/wizard_letter.inc20
-rwxr-xr-xtestautomation/framework/required/includes/wizard_presentation.inc5
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_BasicOrganizer.txt657
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_BeanShell.txt14
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_JavaScript.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_Python.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_RunMacro.txt681
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BasicOrganizer.txt657
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BeanShell.txt14
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_JavaScript.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_Python.txt8
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_RunMacro.txt679
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BasicOrganizer.txt657
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BeanShell.txt14
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_JavaScript.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_Python.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_RunMacro.txt681
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BasicOrganizer.txt663
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BeanShell.txt14
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_JavaScript.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_Python.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_RunMacro.txt687
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BasicOrganizer.txt660
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BeanShell.txt14
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_JavaScript.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_Python.txt8
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_RunMacro.txt682
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BasicOrganizer.txt657
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BeanShell.txt14
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_JavaScript.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_Python.txt10
-rwxr-xr-xtestautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_RunMacro.txt681
-rwxr-xr-xtestautomation/framework/tools/includes/toolbar_tools.inc18
-rwxr-xr-xtestautomation/framework/tools/includes/wizards.inc322
-rwxr-xr-xtestautomation/framework/tools/input/menuentries.txt50
-rw-r--r--testautomation/global/required/includes/g_findbar.inc2
-rw-r--r--testautomation/global/sid/e_all.sid2
-rwxr-xr-xtestautomation/global/tools/includes/optional/t_listfuncs.inc45
-rwxr-xr-xtestautomation/global/tools/includes/optional/t_treelist_tools.inc9
-rwxr-xr-xtestautomation/global/tools/includes/required/t_filters.inc15
-rwxr-xr-xtestautomation/writer/optional/includes/autocorrection/w_autocorrect1.inc2
-rwxr-xr-xtestautomation/writer/optional/includes/fields/w_fields5.inc4
-rw-r--r--[-rwxr-xr-x]testautomation/writer/optional/includes/formatpage/w_formatpage1.inc114
-rw-r--r--[-rwxr-xr-x]testautomation/writer/optional/includes/formatpage/w_formatpage3.inc24
-rw-r--r--[-rwxr-xr-x]testautomation/writer/optional/includes/formatpage/w_formatpage4.inc121
-rwxr-xr-xtestautomation/writer/optional/includes/number/w_206_.inc24
-rwxr-xr-xtestautomation/writer/optional/includes/regression/issuezilla/w_issuezilla_regression.inc6
-rw-r--r--[-rwxr-xr-x]testautomation/writer/optional/includes/spellcheck/w_spellcheck.inc106
-rwxr-xr-xtestautomation/writer/optional/input/linguistik/050.odtbin0 -> 11063 bytes
-rwxr-xr-xtestautomation/writer/optional/input/spellcheck/Language_Guessing_Sample_Texts.odtbin9574 -> 10781 bytes
-rwxr-xr-xtestautomation/writer/optional/input/spellcheck/spellcheck_50.odtbin0 -> 7985 bytes
-rwxr-xr-xtestautomation/writer/optional/input/spellcheck/st1_2_50.odtbin0 -> 8715 bytes
-rwxr-xr-xtestautomation/writer/required/includes/w_020_.inc2
-rwxr-xr-xtestautomation/writer/required/w_updt.bas1
-rwxr-xr-xtransex3/java/jpropex/build.xml169
-rw-r--r--transex3/java/jpropex/java/JPropEx.java400
-rw-r--r--transex3/java/jpropex/java/Main.java38
-rw-r--r--transex3/java/jpropex/java/NoLocalizeFilter.java55
-rw-r--r--transex3/java/jpropex/java/OrderedHashMap.java96
-rw-r--r--transex3/java/jpropex/java/SdfData.java108
-rw-r--r--transex3/java/jpropex/java/SdfEntity.java254
-rwxr-xr-xtransex3/java/jpropex/jpropex10
-rwxr-xr-xtransex3/java/jpropex/jpropex.MF1
-rw-r--r--ucb/source/ucp/package/makefile.mk1
-rw-r--r--ucb/source/ucp/package/pkguri.cxx36
-rw-r--r--unotools/inc/unotools/configpathes.hxx6
-rw-r--r--unotools/source/config/configpathes.cxx11
-rw-r--r--unoxml/source/dom/node.cxx23
-rw-r--r--vcl/inc/vcl/gdimtf.hxx2
-rw-r--r--vcl/inc/vcl/print.hxx1
-rw-r--r--vcl/source/gdi/gdimtf.cxx43
-rw-r--r--vcl/source/gdi/metaact.cxx2
-rwxr-xr-xvcl/source/gdi/print3.cxx38
-rw-r--r--vcl/source/glyphs/graphite_layout.cxx71
-rwxr-xr-xvcl/win/source/gdi/winlayout.cxx5
180 files changed, 11215 insertions, 2973 deletions
diff --git a/basegfx/source/polygon/b2dtrapezoid.cxx b/basegfx/source/polygon/b2dtrapezoid.cxx
index 4cd63f938114..c1e0f7f6c7c1 100644
--- a/basegfx/source/polygon/b2dtrapezoid.cxx
+++ b/basegfx/source/polygon/b2dtrapezoid.cxx
@@ -1161,7 +1161,8 @@ namespace basegfx
if(aSource.areControlPointsUsed())
{
- aSource = aSource.getDefaultAdaptiveSubdivision();
+ const double fPrecisionFactor = 0.25;
+ aSource = adaptiveSubdivideByDistance( aSource, fLineWidth * fPrecisionFactor );
}
const sal_uInt32 nPointCount(aSource.count());
diff --git a/comphelper/inc/comphelper/storagehelper.hxx b/comphelper/inc/comphelper/storagehelper.hxx
index b613ddd2c5f1..b7e5704c4d68 100644
--- a/comphelper/inc/comphelper/storagehelper.hxx
+++ b/comphelper/inc/comphelper/storagehelper.hxx
@@ -161,6 +161,8 @@ public:
static sal_Bool IsValidZipEntryFileName( const ::rtl::OUString& aName, sal_Bool bSlashAllowed );
static sal_Bool IsValidZipEntryFileName( const sal_Unicode *pChar, sal_Int32 nLength, sal_Bool bSlashAllowed );
+
+ static sal_Bool PathHasSegment( const ::rtl::OUString& aPath, const ::rtl::OUString& aSegment );
};
}
diff --git a/comphelper/source/misc/officerestartmanager.cxx b/comphelper/source/misc/officerestartmanager.cxx
index 974b8d65e7ae..1a98ddfce8da 100644
--- a/comphelper/source/misc/officerestartmanager.cxx
+++ b/comphelper/source/misc/officerestartmanager.cxx
@@ -87,9 +87,9 @@ void SAL_CALL OOfficeRestartManager::requestRestart( const uno::Reference< task:
// if the restart already running there is no need to trigger it again
if ( m_bRestartRequested )
return;
-#ifndef MACOSX
+
m_bRestartRequested = sal_True;
-#endif
+
// the office is still not initialized, no need to terminate, changing the state is enough
if ( !m_bOfficeInitialized )
return;
diff --git a/comphelper/source/misc/storagehelper.cxx b/comphelper/source/misc/storagehelper.cxx
index e2557523f674..db5ba71cd876 100644
--- a/comphelper/source/misc/storagehelper.cxx
+++ b/comphelper/source/misc/storagehelper.cxx
@@ -452,5 +452,36 @@ sal_Bool OStorageHelper::IsValidZipEntryFileName(
return sal_True;
}
+// ----------------------------------------------------------------------
+sal_Bool OStorageHelper::PathHasSegment( const ::rtl::OUString& aPath, const ::rtl::OUString& aSegment )
+{
+ sal_Bool bResult = sal_False;
+ const sal_Int32 nPathLen = aPath.getLength();
+ const sal_Int32 nSegLen = aSegment.getLength();
+
+ if ( nSegLen && nPathLen >= nSegLen )
+ {
+ ::rtl::OUString aEndSegment( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
+ aEndSegment += aSegment;
+
+ ::rtl::OUString aInternalSegment( aEndSegment );
+ aInternalSegment += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
+
+ if ( aPath.indexOf( aInternalSegment ) >= 0 )
+ bResult = sal_True;
+
+ if ( !bResult && !aPath.compareTo( aSegment, nSegLen ) )
+ {
+ if ( nPathLen == nSegLen || aPath.getStr()[nSegLen] == (sal_Unicode)'/' )
+ bResult = sal_True;
+ }
+
+ if ( !bResult && nPathLen > nSegLen && aPath.copy( nPathLen - nSegLen - 1, nSegLen + 1 ).equals( aEndSegment ) )
+ bResult = sal_True;
+ }
+
+ return bResult;
+}
+
}
diff --git a/configmgr/source/rootaccess.cxx b/configmgr/source/rootaccess.cxx
index 95a346d720c2..f5d0bb137202 100644
--- a/configmgr/source/rootaccess.cxx
+++ b/configmgr/source/rootaccess.cxx
@@ -96,11 +96,12 @@ void RootAccess::initBroadcaster(
for (ChangesListeners::iterator i(changesListeners_.begin());
i != changesListeners_.end(); ++i)
{
+ cppu::OWeakObject* pSource = static_cast< cppu::OWeakObject * >(this);
+ css::uno::Reference< css::uno::XInterface > xBase( pSource, css::uno::UNO_QUERY );
broadcaster->addChangesNotification(
*i,
css::util::ChangesEvent(
- static_cast< cppu::OWeakObject * >(this),
- css::uno::makeAny(pathRepresentation_), set));
+ pSource, makeAny( xBase ), set));
}
}
}
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 731ffe85d83b..ace2149036c9 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -28,6 +28,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_desktop.hxx"
+#include <cstdlib>
+#include <vector>
+
#include <memory>
#include <unistd.h>
#include "app.hxx"
@@ -119,6 +122,7 @@
#include <osl/file.hxx>
#include <osl/signal.h>
#include <rtl/uuid.h>
+#include <rtl/uri.hxx>
#include <unotools/pathoptions.hxx>
#include <svl/languageoptions.hxx>
#include <unotools/internaloptions.hxx>
@@ -155,6 +159,11 @@
#include "langselect.hxx"
+#if defined MACOSX
+#include <errno.h>
+#include <sys/wait.h>
+#endif
+
#define DEFINE_CONST_UNICODE(CONSTASCII) UniString(RTL_CONSTASCII_USTRINGPARAM(CONSTASCII))
#define U2S(STRING) ::rtl::OUStringToOString(STRING, RTL_TEXTENCODING_UTF8)
@@ -460,6 +469,194 @@ void ReplaceStringHookProc( UniString& rStr )
}
}
+static const char pLastSyncFileName[] = "lastsynchronized";
+static const sal_Int32 nStrLenLastSync = 16;
+
+static bool needsSynchronization(
+ ::rtl::OUString const & baseSynchronizedURL, ::rtl::OUString const & userSynchronizedURL )
+{
+ bool bNeedsSync( false );
+
+ ::osl::DirectoryItem itemUserFile;
+ ::osl::File::RC err1 =
+ ::osl::DirectoryItem::get(userSynchronizedURL, itemUserFile);
+
+ //If it does not exist, then there is nothing to be done
+ if (err1 == ::osl::File::E_NOENT)
+ {
+ return true;
+ }
+ else if (err1 != ::osl::File::E_None)
+ {
+ OSL_ENSURE(0, "Cannot access lastsynchronized in user layer");
+ return true; //sync just in case
+ }
+
+ //If last synchronized does not exist in base layer, then do nothing
+ ::osl::DirectoryItem itemBaseFile;
+ ::osl::File::RC err2 = ::osl::DirectoryItem::get(baseSynchronizedURL, itemBaseFile);
+ if (err2 == ::osl::File::E_NOENT)
+ {
+ return true;
+
+ }
+ else if (err2 != ::osl::File::E_None)
+ {
+ OSL_ENSURE(0, "Cannot access file lastsynchronized in base layer");
+ return true; //sync just in case
+ }
+
+ //compare the modification time of the extension folder and the last
+ //modified file
+ ::osl::FileStatus statUser(FileStatusMask_ModifyTime);
+ ::osl::FileStatus statBase(FileStatusMask_ModifyTime);
+ if (itemUserFile.getFileStatus(statUser) == ::osl::File::E_None)
+ {
+ if (itemBaseFile.getFileStatus(statBase) == ::osl::File::E_None)
+ {
+ TimeValue timeUser = statUser.getModifyTime();
+ TimeValue timeBase = statBase.getModifyTime();
+
+ if (timeUser.Seconds < timeBase.Seconds)
+ bNeedsSync = true;
+ }
+ else
+ {
+ OSL_ASSERT(0);
+ bNeedsSync = true;
+ }
+ }
+ else
+ {
+ OSL_ASSERT(0);
+ bNeedsSync = true;
+ }
+
+ return bNeedsSync;
+}
+
+static ::rtl::OUString getBrandSharePreregBundledPathURL()
+{
+ ::rtl::OUString url(
+ RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/share/prereg/bundled"));
+
+ ::rtl::Bootstrap::expandMacros(url);
+ return url;
+}
+
+static ::rtl::OUString getUserBundledExtPathURL()
+{
+ ::rtl::OUString folder( RTL_CONSTASCII_USTRINGPARAM( "$BUNDLED_EXTENSIONS_USER" ));
+ ::rtl::Bootstrap::expandMacros(folder);
+
+ return folder;
+}
+
+static ::rtl::OUString getLastSyncFileURLFromBrandInstallation()
+{
+ ::rtl::OUString aURL = getBrandSharePreregBundledPathURL();
+ ::sal_Int32 nLastIndex = aURL.lastIndexOf('/');
+
+ ::rtl::OUStringBuffer aTmp( aURL );
+
+ if ( nLastIndex != aURL.getLength()-1 )
+ aTmp.appendAscii( "/" );
+ aTmp.appendAscii( pLastSyncFileName );
+
+ return aTmp.makeStringAndClear();
+}
+
+static ::rtl::OUString getLastSyncFileURLFromUserInstallation()
+{
+ ::rtl::OUString aUserBundledPathURL = getUserBundledExtPathURL();
+ ::sal_Int32 nLastIndex = aUserBundledPathURL.lastIndexOf('/');
+
+ ::rtl::OUStringBuffer aTmp( aUserBundledPathURL );
+
+ if ( nLastIndex != aUserBundledPathURL.getLength()-1 )
+ aTmp.appendAscii( "/" );
+ aTmp.appendAscii( pLastSyncFileName );
+
+ return aTmp.makeStringAndClear();
+}
+
+static osl::FileBase::RC copy_bundled_recursive(
+ const rtl::OUString& srcUnqPath,
+ const rtl::OUString& dstUnqPath,
+ sal_Int32 TypeToCopy )
+throw()
+{
+ osl::FileBase::RC err = osl::FileBase::E_None;
+
+ if( TypeToCopy == -1 ) // Document
+ {
+ err = osl::File::copy( srcUnqPath,dstUnqPath );
+ }
+ else if( TypeToCopy == +1 ) // Folder
+ {
+ osl::Directory aDir( srcUnqPath );
+ aDir.open();
+
+ err = osl::Directory::create( dstUnqPath );
+ osl::FileBase::RC next = err;
+ if( err == osl::FileBase::E_None ||
+ err == osl::FileBase::E_EXIST )
+ {
+ err = osl::FileBase::E_None;
+ sal_Int32 n_Mask = FileStatusMask_FileURL | FileStatusMask_FileName | FileStatusMask_Type;
+
+ osl::DirectoryItem aDirItem;
+
+ while( err == osl::FileBase::E_None && ( next = aDir.getNextItem( aDirItem ) ) == osl::FileBase::E_None )
+ {
+ sal_Bool IsDoc = false;
+ sal_Bool bFilter = false;
+ osl::FileStatus aFileStatus( n_Mask );
+ aDirItem.getFileStatus( aFileStatus );
+ if( aFileStatus.isValid( FileStatusMask_Type ) )
+ IsDoc = aFileStatus.getFileType() == osl::FileStatus::Regular;
+
+ // Getting the information for the next recursive copy
+ sal_Int32 newTypeToCopy = IsDoc ? -1 : +1;
+
+ rtl::OUString newSrcUnqPath;
+ if( aFileStatus.isValid( FileStatusMask_FileURL ) )
+ newSrcUnqPath = aFileStatus.getFileURL();
+
+ rtl::OUString newDstUnqPath = dstUnqPath;
+ rtl::OUString tit;
+ if( aFileStatus.isValid( FileStatusMask_FileName ) )
+ {
+ ::rtl::OUString aFileName = aFileStatus.getFileName();
+ tit = rtl::Uri::encode( aFileName,
+ rtl_UriCharClassPchar,
+ rtl_UriEncodeIgnoreEscapes,
+ RTL_TEXTENCODING_UTF8 );
+
+ // Special treatment for "lastsychronized" file. Must not be
+ // copied from the bundled folder!
+ if ( IsDoc && aFileName.equalsAscii( pLastSyncFileName ))
+ bFilter = true;
+ }
+
+ if( newDstUnqPath.lastIndexOf( sal_Unicode('/') ) != newDstUnqPath.getLength()-1 )
+ newDstUnqPath += rtl::OUString::createFromAscii( "/" );
+
+ newDstUnqPath += tit;
+
+ if (( newSrcUnqPath != dstUnqPath ) && !bFilter )
+ err = copy_bundled_recursive( newSrcUnqPath,newDstUnqPath, newTypeToCopy );
+ }
+
+ if( err == osl::FileBase::E_None && next != osl::FileBase::E_NOENT )
+ err = next;
+ }
+ aDir.close();
+ }
+
+ return err;
+}
+
Desktop::Desktop()
: m_bServicesRegistered( false )
, m_aBootstrapError( BE_OK )
@@ -477,6 +674,24 @@ void Desktop::Init()
RTL_LOGFILE_CONTEXT( aLog, "desktop (cd100003) ::Desktop::Init" );
SetBootstrapStatus(BS_OK);
+ // Check for lastsynchronized file for bundled extensions in the user directory
+ // and test if synchronzation is necessary!
+ {
+ ::rtl::OUString aUserLastSyncFilePathURL = getLastSyncFileURLFromUserInstallation();
+ ::rtl::OUString aPreregSyncFilePathURL = getLastSyncFileURLFromBrandInstallation();
+
+ if ( needsSynchronization( aPreregSyncFilePathURL, aUserLastSyncFilePathURL ))
+ {
+ rtl::OUString aUserPath = getUserBundledExtPathURL();
+ rtl::OUString aPreregBundledPath = getBrandSharePreregBundledPathURL();
+
+ // copy bundled folder to the user directory
+ osl::FileBase::RC rc = osl::Directory::createPath(aUserPath);
+ (void) rc;
+ copy_bundled_recursive( aPreregBundledPath, aUserPath, +1 );
+ }
+ }
+
// create service factory...
Reference < XMultiServiceFactory > rSMgr = CreateApplicationServiceManager();
if( rSMgr.is() )
@@ -1117,28 +1332,79 @@ sal_Bool Desktop::SaveTasks()
sal_False);
}
-#ifdef MACOSX
-static void DoRestart()
-{
- oslProcess process;
- oslProcessError error;
- OUString sExecutableFile;
-
- osl_getExecutableFile( &sExecutableFile.pData );
-
- error = osl_executeProcess(
- sExecutableFile.pData,
- NULL,
- 0,
- 0,
- NULL,
- NULL,
- NULL,
- 0,
- &process
- );
-}
+namespace {
+
+void restartOnMac(bool passArguments) {
+#if defined MACOSX
+ OfficeIPCThread::DisableOfficeIPCThread();
+ rtl::OUString execUrl;
+ OSL_VERIFY(osl_getExecutableFile(&execUrl.pData) == osl_Process_E_None);
+ rtl::OUString execPath;
+ rtl::OString execPath8;
+ if ((osl::FileBase::getSystemPathFromFileURL(execUrl, execPath)
+ != osl::FileBase::E_None) ||
+ !execPath.convertToString(
+ &execPath8, osl_getThreadTextEncoding(),
+ (RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR |
+ RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR)))
+ {
+ std::abort();
+ }
+ std::vector< rtl::OString > args;
+ args.push_back(execPath8);
+ bool wait = false;
+ if (passArguments) {
+ sal_uInt32 n = osl_getCommandArgCount();
+ for (sal_uInt32 i = 0; i < n; ++i) {
+ rtl::OUString arg;
+ OSL_VERIFY(osl_getCommandArg(i, &arg.pData) == osl_Process_E_None);
+ if (arg.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("-accept="))) {
+ wait = true;
+ }
+ rtl::OString arg8;
+ if (!arg.convertToString(
+ &arg8, osl_getThreadTextEncoding(),
+ (RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR |
+ RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR)))
+ {
+ std::abort();
+ }
+ args.push_back(arg8);
+ }
+ }
+ std::vector< char const * > argPtrs;
+ for (std::vector< rtl::OString >::iterator i(args.begin()); i != args.end();
+ ++i)
+ {
+ argPtrs.push_back(i->getStr());
+ }
+ argPtrs.push_back(0);
+ execv(execPath8.getStr(), const_cast< char ** >(&argPtrs[0]));
+ if (errno == ENOTSUP) { // happens when multithreaded on OS X < 10.6
+ pid_t pid = fork();
+ if (pid == 0) {
+ execv(execPath8.getStr(), const_cast< char ** >(&argPtrs[0]));
+ } else if (pid > 0) {
+ // Two simultaneously running soffice processes lead to two dock
+ // icons, so avoid waiting here unless it must be assumed that the
+ // process invoking soffice itself wants to wait for soffice to
+ // finish:
+ if (!wait) {
+ return;
+ }
+ int stat;
+ if (waitpid(pid, &stat, 0) == pid && WIFEXITED(stat)) {
+ _exit(WEXITSTATUS(stat));
+ }
+ }
+ }
+ std::abort();
+#else
+ (void) passArguments; // avoid warnings
#endif
+}
+
+}
USHORT Desktop::Exception(USHORT nError)
{
@@ -1209,9 +1475,7 @@ USHORT Desktop::Exception(USHORT nError)
OfficeIPCThread::DisableOfficeIPCThread();
if( pSignalHandler )
DELETEZ( pSignalHandler );
-#ifdef MACOSX
- DoRestart();
-#endif
+ restartOnMac(false);
_exit( ExitHelper::E_CRASH_WITH_RESTART );
}
else
@@ -1294,6 +1558,9 @@ void Desktop::Main()
std::auto_ptr<SvtLanguageOptions> pLanguageOptions;
std::auto_ptr<SvtPathOptions> pPathOptions;
+ sal_Bool bRestartRequested( sal_False );
+ sal_Bool bUseSystemFileDialog(sal_True);
+ int nAcquireCount( 0 );
Reference < css::document::XEventListener > xGlobalBroadcaster;
try
{
@@ -1423,6 +1690,13 @@ void Desktop::Main()
( xSMgr->createInstance(
DEFINE_CONST_UNICODE( "com.sun.star.frame.GlobalEventBroadcaster" ) ), UNO_QUERY );
+ /* ensure existance of a default window that messages can be dispatched to
+ This is for the benefit of testtool which uses PostUserEvent extensively
+ and else can deadlock while creating this window from another tread while
+ the main thread is not yet in the event loop.
+ */
+ Application::GetDefaultDevice();
+
// initialize test-tool library (if available)
RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ tools::InitTestToolLib" );
tools::InitTestToolLib();
@@ -1487,58 +1761,80 @@ void Desktop::Main()
impl_checkRecoveryState(bCrashed, bExistsRecoveryData, bExistsSessionData);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "} impl_checkRecoveryState" );
- if (
- (pCmdLineArgs->IsEmptyOrAcceptOnly() ) &&
- (SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE)) &&
- (!bExistsRecoveryData ) &&
- (!bExistsSessionData ) &&
- (!Application::AnyInput( INPUT_APPEVENT ) )
- )
+ Reference< ::com::sun::star::task::XRestartManager > xRestartManager;
{
- RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create BackingComponent" );
- Reference< XFrame > xDesktopFrame( xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- if (xDesktopFrame.is())
+ ::comphelper::ComponentContext aContext( xSMgr );
+ xRestartManager.set( aContext.getSingleton( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.task.OfficeRestartManager" ) ) ), UNO_QUERY );
+ }
+
+ // check whether the shutdown is caused by restart
+ bRestartRequested = ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) );
+
+ if ( pCmdLineArgs->IsHeadless() )
+ {
+ // Ensure that we use not the system file dialogs as
+ // headless mode relies on Application::EnableHeadlessMode()
+ // which does only work for VCL dialogs!!
+ SvtMiscOptions aMiscOptions;
+ bUseSystemFileDialog = aMiscOptions.UseSystemFileDialog();
+ aMiscOptions.SetUseSystemFileDialog( sal_False );
+ }
+
+ if ( !bRestartRequested )
+ {
+ if (
+ (pCmdLineArgs->IsEmptyOrAcceptOnly() ) &&
+ (SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE)) &&
+ (!bExistsRecoveryData ) &&
+ (!bExistsSessionData ) &&
+ (!Application::AnyInput( INPUT_APPEVENT ) )
+ )
{
-// SetSplashScreenProgress(60);
- Reference< XFrame > xBackingFrame;
- Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
-
- xBackingFrame = xDesktopFrame->findFrame(OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0);
- if (xBackingFrame.is())
- xContainerWindow = xBackingFrame->getContainerWindow();
- if (xContainerWindow.is())
+ RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create BackingComponent" );
+ Reference< XFrame > xDesktopFrame( xSMgr->createInstance(
+ OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
+ if (xDesktopFrame.is())
{
- // set the WB_EXT_DOCUMENT style. Normally, this is done by the TaskCreator service when a "_blank"
- // frame/window is created. Since we do not use the TaskCreator here, we need to mimic its behavior,
- // otherwise documents loaded into this frame will later on miss functionality depending on the style.
- Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- OSL_ENSURE( pContainerWindow, "Desktop::Main: no implementation access to the frame's container window!" );
- pContainerWindow->SetExtendedStyle( pContainerWindow->GetExtendedStyle() | WB_EXT_DOCUMENT );
-
- SetSplashScreenProgress(75);
- Sequence< Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
-
- Reference< XController > xBackingComp(
- xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs),
- UNO_QUERY);
-// SetSplashScreenProgress(80);
- if (xBackingComp.is())
+ // SetSplashScreenProgress(60);
+ Reference< XFrame > xBackingFrame;
+ Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
+
+ xBackingFrame = xDesktopFrame->findFrame(OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0);
+ if (xBackingFrame.is())
+ xContainerWindow = xBackingFrame->getContainerWindow();
+ if (xContainerWindow.is())
{
- Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
- // Attention: You MUST(!) call setComponent() before you call attachFrame().
- // Because the backing component set the property "IsBackingMode" of the frame
- // to true inside attachFrame(). But setComponent() reset this state everytimes ...
- xBackingFrame->setComponent(xBackingWin, xBackingComp);
- SetSplashScreenProgress(100);
- xBackingComp->attachFrame(xBackingFrame);
- CloseSplashScreen();
- xContainerWindow->setVisible(sal_True);
+ // set the WB_EXT_DOCUMENT style. Normally, this is done by the TaskCreator service when a "_blank"
+ // frame/window is created. Since we do not use the TaskCreator here, we need to mimic its behavior,
+ // otherwise documents loaded into this frame will later on miss functionality depending on the style.
+ Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ OSL_ENSURE( pContainerWindow, "Desktop::Main: no implementation access to the frame's container window!" );
+ pContainerWindow->SetExtendedStyle( pContainerWindow->GetExtendedStyle() | WB_EXT_DOCUMENT );
+
+ SetSplashScreenProgress(75);
+ Sequence< Any > lArgs(1);
+ lArgs[0] <<= xContainerWindow;
+
+ Reference< XController > xBackingComp(
+ xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs),
+ UNO_QUERY);
+ // SetSplashScreenProgress(80);
+ if (xBackingComp.is())
+ {
+ Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
+ // Attention: You MUST(!) call setComponent() before you call attachFrame().
+ // Because the backing component set the property "IsBackingMode" of the frame
+ // to true inside attachFrame(). But setComponent() reset this state everytimes ...
+ xBackingFrame->setComponent(xBackingWin, xBackingComp);
+ SetSplashScreenProgress(100);
+ xBackingComp->attachFrame(xBackingFrame);
+ CloseSplashScreen();
+ xContainerWindow->setVisible(sal_True);
+ }
}
}
+ RTL_LOGFILE_CONTEXT_TRACE( aLog, "} create BackingComponent" );
}
- RTL_LOGFILE_CONTEXT_TRACE( aLog, "} create BackingComponent" );
}
}
catch ( com::sun::star::lang::WrappedTargetException& wte )
@@ -1573,108 +1869,83 @@ void Desktop::Main()
aOptions.SetVCLSettings();
// SetSplashScreenProgress(60);
- Application::SetFilterHdl( LINK( this, Desktop, ImplInitFilterHdl ) );
-
- sal_Bool bTerminateRequested = sal_False;
-
- // Preload function depends on an initialized sfx application!
- SetSplashScreenProgress(75);
-
- sal_Bool bUseSystemFileDialog(sal_True);
- if ( pCmdLineArgs->IsHeadless() )
+ if ( !bRestartRequested )
{
- // Ensure that we use not the system file dialogs as
- // headless mode relies on Application::EnableHeadlessMode()
- // which does only work for VCL dialogs!!
- SvtMiscOptions aMiscOptions;
- bUseSystemFileDialog = aMiscOptions.UseSystemFileDialog();
- aMiscOptions.SetUseSystemFileDialog( sal_False );
- }
+ Application::SetFilterHdl( LINK( this, Desktop, ImplInitFilterHdl ) );
- // use system window dialogs
- Application::SetSystemWindowMode( SYSTEMWINDOW_MODE_DIALOG );
+ sal_Bool bTerminateRequested = sal_False;
-// SetSplashScreenProgress(80);
+ // Preload function depends on an initialized sfx application!
+ SetSplashScreenProgress(75);
- if ( !bTerminateRequested && !pCmdLineArgs->IsInvisible() &&
- !pCmdLineArgs->IsNoQuickstart() )
- InitializeQuickstartMode( xSMgr );
+ // use system window dialogs
+ Application::SetSystemWindowMode( SYSTEMWINDOW_MODE_DIALOG );
- RTL_LOGFILE_CONTEXT( aLog2, "desktop (cd100003) createInstance com.sun.star.frame.Desktop" );
- try
- {
- Reference< XDesktop > xDesktop( xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- if ( xDesktop.is() )
- xDesktop->addTerminateListener( new OfficeIPCThreadController );
- SetSplashScreenProgress(100);
- }
- catch ( com::sun::star::uno::Exception& e )
- {
- FatalError( MakeStartupErrorMessage(e.Message) );
- return;
- }
- /*
- catch ( ... )
- {
- FatalError( MakeStartupErrorMessage(
- OUString::createFromAscii(
- "Unknown error during startup (TD/Desktop service).\nInstallation could be damaged.")));
- return;
- }
- */
+ // SetSplashScreenProgress(80);
- // Release solar mutex just before we wait for our client to connect
- int nAcquireCount = 0;
- ::vos::IMutex& rMutex = Application::GetSolarMutex();
- if ( rMutex.tryToAcquire() )
- nAcquireCount = Application::ReleaseSolarMutex() - 1;
+ if ( !bTerminateRequested && !pCmdLineArgs->IsInvisible() &&
+ !pCmdLineArgs->IsNoQuickstart() )
+ InitializeQuickstartMode( xSMgr );
- // Post user event to startup first application component window
- // We have to send this OpenClients message short before execute() to
- // minimize the risk that this message overtakes type detection contruction!!
- Application::PostUserEvent( LINK( this, Desktop, OpenClients_Impl ) );
+ RTL_LOGFILE_CONTEXT( aLog2, "desktop (cd100003) createInstance com.sun.star.frame.Desktop" );
+ try
+ {
+ Reference< XDesktop > xDesktop( xSMgr->createInstance(
+ OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
+ if ( xDesktop.is() )
+ xDesktop->addTerminateListener( new OfficeIPCThreadController );
+ SetSplashScreenProgress(100);
+ }
+ catch ( com::sun::star::uno::Exception& e )
+ {
+ FatalError( MakeStartupErrorMessage(e.Message) );
+ return;
+ }
+ /*
+ catch ( ... )
+ {
+ FatalError( MakeStartupErrorMessage(
+ OUString::createFromAscii(
+ "Unknown error during startup (TD/Desktop service).\nInstallation could be damaged.")));
+ return;
+ }
+ */
- // Post event to enable acceptors
- Application::PostUserEvent( LINK( this, Desktop, EnableAcceptors_Impl) );
+ // Post user event to startup first application component window
+ // We have to send this OpenClients message short before execute() to
+ // minimize the risk that this message overtakes type detection contruction!!
+ Application::PostUserEvent( LINK( this, Desktop, OpenClients_Impl ) );
- // The configuration error handler currently is only for startup
- aConfigErrHandler.deactivate();
+ // Post event to enable acceptors
+ Application::PostUserEvent( LINK( this, Desktop, EnableAcceptors_Impl) );
- // Acquire solar mutex just before we enter our message loop
- if ( nAcquireCount )
- Application::AcquireSolarMutex( nAcquireCount );
+ // The configuration error handler currently is only for startup
+ aConfigErrHandler.deactivate();
- // call Application::Execute to process messages in vcl message loop
- RTL_LOGFILE_PRODUCT_TRACE( "PERFORMANCE - enter Application::Execute()" );
+ // call Application::Execute to process messages in vcl message loop
+ RTL_LOGFILE_PRODUCT_TRACE( "PERFORMANCE - enter Application::Execute()" );
- Reference< ::com::sun::star::task::XRestartManager > xRestartManager;
- try
- {
- // The JavaContext contains an interaction handler which is used when
- // the creation of a Java Virtual Machine fails
- com::sun::star::uno::ContextLayer layer2(
- new svt::JavaContext( com::sun::star::uno::getCurrentContext() ) );
+ try
+ {
+ // The JavaContext contains an interaction handler which is used when
+ // the creation of a Java Virtual Machine fails
+ com::sun::star::uno::ContextLayer layer2(
+ new svt::JavaContext( com::sun::star::uno::getCurrentContext() ) );
- ::comphelper::ComponentContext aContext( xSMgr );
- xRestartManager.set( aContext.getSingleton( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.task.OfficeRestartManager" ) ) ), UNO_QUERY );
- if ( !xRestartManager.is() || !xRestartManager->isRestartRequested( sal_True ) )
Execute();
- }
- catch(const com::sun::star::document::CorruptedFilterConfigurationException& exFilterCfg)
- {
- OfficeIPCThread::SetDowning();
- FatalError( MakeStartupErrorMessage(exFilterCfg.Message) );
- }
- catch(const com::sun::star::configuration::CorruptedConfigurationException& exAnyCfg)
- {
- OfficeIPCThread::SetDowning();
- FatalError( MakeStartupErrorMessage(exAnyCfg.Message) );
+ }
+ catch(const com::sun::star::document::CorruptedFilterConfigurationException& exFilterCfg)
+ {
+ OfficeIPCThread::SetDowning();
+ FatalError( MakeStartupErrorMessage(exFilterCfg.Message) );
+ }
+ catch(const com::sun::star::configuration::CorruptedConfigurationException& exAnyCfg)
+ {
+ OfficeIPCThread::SetDowning();
+ FatalError( MakeStartupErrorMessage(exAnyCfg.Message) );
+ }
}
- // check whether the shutdown is caused by restart
- sal_Bool bRestartRequested = ( xRestartManager.is() && xRestartManager->isRestartRequested( sal_True ) );
-
if (xGlobalBroadcaster.is())
{
css::document::EventObject aEvent;
@@ -1709,9 +1980,7 @@ void Desktop::Main()
RTL_LOGFILE_CONTEXT_TRACE( aLog, "FINISHED WITH Destop::Main" );
if ( bRestartRequested )
{
-#ifdef MACOSX
- DoRestart();
-#endif
+ restartOnMac(true);
// wouldn't the solution be more clean if SalMain returns the exit code to the system?
_exit( ExitHelper::E_NORMAL_RESTART );
}
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 87f70e449b9d..78b29624b16e 100755..100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -372,11 +372,13 @@ MENU_COMMAND ExtBoxWithBtns_Impl::ShowPopupMenu( const Point & rPos, const long
if ( ! GetEntryData( nPos )->m_bLocked )
{
- if ( GetEntryData( nPos )->m_eState == REGISTERED )
- aPopup.InsertItem( CMD_DISABLE, DialogHelper::getResourceString( RID_CTX_ITEM_DISABLE ) );
- else if ( GetEntryData( nPos )->m_eState != NOT_AVAILABLE )
- aPopup.InsertItem( CMD_ENABLE, DialogHelper::getResourceString( RID_CTX_ITEM_ENABLE ) );
-
+ if ( GetEntryData( nPos )->m_bUser )
+ {
+ if ( GetEntryData( nPos )->m_eState == REGISTERED )
+ aPopup.InsertItem( CMD_DISABLE, DialogHelper::getResourceString( RID_CTX_ITEM_DISABLE ) );
+ else if ( GetEntryData( nPos )->m_eState != NOT_AVAILABLE )
+ aPopup.InsertItem( CMD_ENABLE, DialogHelper::getResourceString( RID_CTX_ITEM_ENABLE ) );
+ }
aPopup.InsertItem( CMD_REMOVE, DialogHelper::getResourceString( RID_CTX_ITEM_REMOVE ) );
}
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx
index de9d97db2b48..c82973f1b680 100644
--- a/desktop/source/deployment/manager/dp_extensionmanager.cxx
+++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx
@@ -1136,6 +1136,14 @@ sal_Bool ExtensionManager::synchronize(
bModified |= m_bundledRepository->synchronize(xAbortChannel, xCmdEnv);
progressBundled.update(OUSTR("\n\n"));
+ //Always determine the active extension. This is necessary for the
+ //first-start optimization. The setup creates the registration data for the
+ //bundled extensions (brand_layer/share/prereg/bundled), which is copied to the user
+ //installation (user_installation/extension/bundled) when a user starts OOo
+ //for the first time after running setup. All bundled extensions are registered
+ //at that moment. However, extensions with the same identifier can be in the
+ //shared or user repository, in which case the respective bundled extensions must
+ //be revoked.
try
{
const uno::Sequence<uno::Sequence<Reference<deploy::XPackage> > >
diff --git a/desktop/source/deployment/manager/dp_properties.cxx b/desktop/source/deployment/manager/dp_properties.cxx
index df579944c6e4..9a181d1573e5 100644
--- a/desktop/source/deployment/manager/dp_properties.cxx
+++ b/desktop/source/deployment/manager/dp_properties.cxx
@@ -2,7 +2,7 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
diff --git a/desktop/source/deployment/manager/dp_properties.hxx b/desktop/source/deployment/manager/dp_properties.hxx
index 97fc8b8c5394..a1b953ce8376 100644
--- a/desktop/source/deployment/manager/dp_properties.hxx
+++ b/desktop/source/deployment/manager/dp_properties.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_manager.h,v $
- * $Revision: 1.17 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx
index fe3490903043..cfdac4068130 100644
--- a/desktop/source/deployment/misc/dp_misc.cxx
+++ b/desktop/source/deployment/misc/dp_misc.cxx
@@ -589,6 +589,11 @@ void TRACE(::rtl::OString const & sText)
void syncRepositories(Reference<ucb::XCommandEnvironment> const & xCmdEnv)
{
+ OUString sDisable;
+ ::rtl::Bootstrap::get( OUSTR( "DISABLE_EXTENSION_SYNCHRONIZATION" ), sDisable, OUString() );
+ if (sDisable.getLength() > 0)
+ return;
+
Reference<deployment::XExtensionManager> xExtensionManager;
//synchronize shared before bundled otherewise there are
//more revoke and registration calls.
diff --git a/desktop/source/deployment/registry/configuration/dp_configuration.cxx b/desktop/source/deployment/registry/configuration/dp_configuration.cxx
index 9ea6e8227340..3c6680065db5 100644
--- a/desktop/source/deployment/registry/configuration/dp_configuration.cxx
+++ b/desktop/source/deployment/registry/configuration/dp_configuration.cxx
@@ -359,16 +359,11 @@ void BackendImpl::configmgrini_verify_init(
do {
OUString token( line.getToken( 0, ' ', index ).trim() );
if (token.getLength() > 0) {
- // cleanup, check if existing:
- if (create_ucb_content(
- 0, expandUnoRcTerm(token), xCmdEnv,
- false /* no throw */ )) {
- //The file may not exist anymore if a shared or bundled
- //extension was removed, but it can still be in the configmgrini.
- //After running XExtensionManager::synchronize, the configmgrini is
- //cleaned up
- m_xcs_files.push_back( token );
- }
+ //The file may not exist anymore if a shared or bundled
+ //extension was removed, but it can still be in the configmgrini.
+ //After running XExtensionManager::synchronize, the configmgrini is
+ //cleaned up
+ m_xcs_files.push_back( token );
}
}
while (index >= 0);
@@ -378,31 +373,15 @@ void BackendImpl::configmgrini_verify_init(
sal_Int32 index = sizeof ("DATA=") - 1;
do {
OUString token( line.getToken( 0, ' ', index ).trim() );
- if (token.getLength() > 0) {
+ if (token.getLength() > 0)
+ {
if (token[ 0 ] == '?')
token = token.copy( 1 );
- // cleanup, check if existing:
- if (create_ucb_content(
- 0, expandUnoRcTerm(token),
- xCmdEnv, false /* no throw */ )) {
- //The file may not exist anymore if a shared or bundled
- //extension was removed, but it can still be in the configmgrini.
- //After running XExtensionManager::synchronize, the configmgrini is
- //cleaned up
- m_xcu_files.push_back( token );
- }
- else
- {
- //Check if it was removed. Only when the file contained %origin, so that
- //a new file was writen in the user installation (e.g. $BUNDLED_EXTENSIONS_USER)
- //See also ConfigurationBackendDb.iniEntry
- ::std::list<OUString> iniEntries = getAllIniEntries();
- if (::std::find(iniEntries.begin(), iniEntries.end(), token)
- != iniEntries.end())
- m_xcu_files.push_back( token );
- else
- OSL_ENSURE(0, "Extension manager: Invalid configmgr.ini entry.");
- }
+ //The file may not exist anymore if a shared or bundled
+ //extension was removed, but it can still be in the configmgrini.
+ //After running XExtensionManager::synchronize, the configmgrini is
+ //cleaned up
+ m_xcu_files.push_back( token );
}
}
while (index >= 0);
@@ -502,6 +481,8 @@ bool BackendImpl::removeFromConfigmgrIni(
{
//in case the xcu contained %origin% then the configmr.ini contains the
//url to the file in the user installation (e.g. $BUNDLED_EXTENSIONS_USER)
+ //However, m_url (getURL()) contains the URL for the file in the actual
+ //extension installatation.
::boost::optional<ConfigurationBackendDb::Data> data = readDataFromDb(url_);
if (data)
i = std::find(rSet.begin(), rSet.end(), data->iniEntry);
@@ -757,10 +738,17 @@ void BackendImpl::PackageImpl::processPackage_(
}
that->m_registeredPackages->erase(i->first);
}
- ::ucbhelper::Content(
- makeURL( that->getCachePath(), OUSTR("registry") ),
- xCmdEnv ).executeCommand(
- OUSTR("delete"), Any( true /* delete physically */ ) );
+ try
+ {
+ ::ucbhelper::Content(
+ makeURL( that->getCachePath(), OUSTR("registry") ),
+ xCmdEnv ).executeCommand(
+ OUSTR("delete"), Any( true /* delete physically */ ) );
+ }
+ catch(Exception&)
+ {
+ OSL_ASSERT(0);
+ }
}
that->deleteDataFromDb(getURL());
diff --git a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx
index 845ba88cb813..2a02c6d8efa0 100644
--- a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx
+++ b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_package.cxx,v $
- * $Revision: 1.34.16.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx
index 1b6c4f8973a4..7023897bd8de 100644
--- a/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx
+++ b/desktop/source/deployment/registry/configuration/dp_configurationbackenddb.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_backend.h,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/dp_registry.cxx b/desktop/source/deployment/registry/dp_registry.cxx
index c5e440a2a825..0f309a5b729f 100644
--- a/desktop/source/deployment/registry/dp_registry.cxx
+++ b/desktop/source/deployment/registry/dp_registry.cxx
@@ -129,7 +129,9 @@ public:
virtual Reference<deployment::XPackage> SAL_CALL bindPackage(
OUString const & url, OUString const & mediaType, sal_Bool bRemoved,
OUString const & identifier, Reference<XCommandEnvironment> const & xCmdEnv )
- throw (deployment::DeploymentException, CommandFailedException,
+ throw (deployment::DeploymentException,
+ deployment::InvalidRemovedParameterException,
+ CommandFailedException,
lang::IllegalArgumentException, RuntimeException);
virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL
getSupportedPackageTypes() throw (RuntimeException);
@@ -461,7 +463,8 @@ void PackageRegistryImpl::update() throw (RuntimeException)
Reference<deployment::XPackage> PackageRegistryImpl::bindPackage(
OUString const & url, OUString const & mediaType_, sal_Bool bRemoved,
OUString const & identifier, Reference<XCommandEnvironment> const & xCmdEnv )
- throw (deployment::DeploymentException, CommandFailedException,
+ throw (deployment::DeploymentException, deployment::InvalidRemovedParameterException,
+ CommandFailedException,
lang::IllegalArgumentException, RuntimeException)
{
check();
diff --git a/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx b/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx
index 976a6281a2bd..ff1044910985 100644
--- a/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx
+++ b/desktop/source/deployment/registry/executable/dp_executablebackenddb.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_package.cxx,v $
- * $Revision: 1.34.16.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx b/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx
index 4f17eeda24a6..80cd33771a34 100644
--- a/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx
+++ b/desktop/source/deployment/registry/executable/dp_executablebackenddb.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_backend.h,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx
index 3bf67e0c050b..8ec9a39d5050 100644
--- a/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx
+++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_package.cxx,v $
- * $Revision: 1.34.16.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx
index edf7dfdfc284..c7b730fd1b99 100644
--- a/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx
+++ b/desktop/source/deployment/registry/help/dp_helpbackenddb.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_backend.h,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx
index 2ad6478b665c..feb55d0af3bf 100644
--- a/desktop/source/deployment/registry/package/dp_package.cxx
+++ b/desktop/source/deployment/registry/package/dp_package.cxx
@@ -866,14 +866,10 @@ void BackendImpl::PackageImpl::processPackage_(
try {
xPackage->registerPackage( startup, xSubAbortChannel, xCmdEnv );
}
- catch (RuntimeException &) {
- throw;
- }
- catch (ucb::CommandAbortedException &) {
- throw;
- }
- catch (Exception &) {
- // CommandFailedException, DeploymentException:
+ catch (Exception &)
+ {
+ //We even try a rollback if the user cancelled the action (CommandAbortedException)
+ //in order to prevent invalid database entries.
Any exc( ::cppu::getCaughtException() );
// try to handle exception, notify:
bool approve = false, abort = false;
@@ -904,14 +900,8 @@ void BackendImpl::PackageImpl::processPackage_(
bundle[ pos ]->revokePackage(
xSubAbortChannel, xCmdEnv );
}
- catch (RuntimeException &) {
- throw;
- }
- catch (ucb::CommandAbortedException &) {
- throw;
- }
- catch (Exception &) {
- // bundle rollback error:
+ catch (Exception &)
+ {
OSL_ENSURE( 0, ::rtl::OUStringToOString(
::comphelper::anyToString(
::cppu::getCaughtException() ),
diff --git a/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx b/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx
index ce0d3029084d..9a84a7286027 100644
--- a/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx
+++ b/desktop/source/deployment/registry/script/dp_scriptbackenddb.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_package.cxx,v $
- * $Revision: 1.34.16.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx b/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx
index 9d227f8b64b8..7feaeba5568b 100644
--- a/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx
+++ b/desktop/source/deployment/registry/script/dp_scriptbackenddb.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: dp_backend.h,v $
- * $Revision: 1.18 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/migration/services/cexportsoo3.cxx b/desktop/source/migration/services/cexportsoo3.cxx
index 20b8232044e9..695b6b810808 100755..100644
--- a/desktop/source/migration/services/cexportsoo3.cxx
+++ b/desktop/source/migration/services/cexportsoo3.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: cexports.cxx,v $
- * $Revision: 1.9 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/migration/services/oo3extensionmigration.cxx b/desktop/source/migration/services/oo3extensionmigration.cxx
index 2e3a8d1d518c..3e9836fa2e84 100644
--- a/desktop/source/migration/services/oo3extensionmigration.cxx
+++ b/desktop/source/migration/services/oo3extensionmigration.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: extensionmigration.cxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/migration/services/oo3extensionmigration.hxx b/desktop/source/migration/services/oo3extensionmigration.hxx
index 03995652888c..fb58692c81ee 100644
--- a/desktop/source/migration/services/oo3extensionmigration.hxx
+++ b/desktop/source/migration/services/oo3extensionmigration.hxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: extensionmigration.hxx,v $
- * $Revision: 1.2 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
index a9a0c8271373..4545ed862271 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
@@ -39,6 +39,7 @@
#include "osl/thread.h"
#include "osl/process.h"
#include "osl/conditn.hxx"
+#include "osl/file.hxx"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/exc_hlp.hxx"
#include "comphelper/anytostring.hxx"
@@ -377,6 +378,29 @@ extern "C" int unopkg_main()
if (e != osl_File_E_None && e != osl_File_E_NOENT)
throw Exception(OUSTR("Could not delete ") + extensionUnorc, 0);
}
+ else if (subCommand.equals(OUSTR("sync")))
+ {
+ //sync is private!!!! Only for bundled extensions!!!
+ //For performance reasons unopkg sync is called during the setup and
+ //creates the registration data for the repository of the bundled
+ //extensions. It is then copied to the user installation during
+ //startup of OOo (userdata/extensions/bundled). The registration
+ //data is in the brand installation and must be removed when
+ //uninstalling OOo. We do this here, before UNO is
+ //bootstrapped. Otherwies files could be locked by this process.
+
+ //If there is no folder left in
+ //$BRAND_BASE_DIR/share/extensions
+ //then we can delete the registration data at
+ //$BUNDLED_EXTENSIONS_USER
+ if (hasNoFolder(OUSTR("$BRAND_BASE_DIR/share/extensions")))
+ {
+ removeFolder(OUSTR("$BUNDLED_EXTENSIONS_USER"));
+ //return otherwise we create the registration data again
+ return 0;
+ }
+
+ }
xComponentContext = getUNO(
disposeGuard, option_verbose, option_shared, subcmd_gui,
@@ -587,6 +611,15 @@ extern "C" int unopkg_main()
xDialog->startExecuteModal(xListener);
dialogEnded.wait();
}
+ else if (subCommand.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("sync")))
+ {
+ //This sub command may be removed later and is only there to have a
+ //possibility to start extension synching without any output.
+ //This is just here so we do not get an error, because of an unknown
+ //sub-command. We do synching before
+ //the sub-commands are processed.
+
+ }
else
{
dp_misc::writeConsoleError(
diff --git a/desktop/source/pkgchk/unopkg/unopkg_misc.cxx b/desktop/source/pkgchk/unopkg/unopkg_misc.cxx
index 3272810afee2..d7b6e1ca2336 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_misc.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_misc.cxx
@@ -528,5 +528,110 @@ Reference<XComponentContext> getUNO(
return xComponentContext;
}
+//Determines if a folder does not contains a folder.
+//Return false may also mean that the status could not be determined
+//because some error occurred.
+bool hasNoFolder(OUString const & folderUrl)
+{
+ bool ret = false;
+ OUString url = folderUrl;
+ ::rtl::Bootstrap::expandMacros(url);
+ ::osl::Directory dir(url);
+ osl::File::RC rc = dir.open();
+ if (rc == osl::File::E_None)
+ {
+ bool bFolderExist = false;
+ osl::DirectoryItem i;
+ osl::File::RC rcNext = osl::File::E_None;
+ while ( (rcNext = dir.getNextItem(i)) == osl::File::E_None)
+ {
+ osl::FileStatus stat(FileStatusMask_Type);
+ if (i.getFileStatus(stat) == osl::File::E_None)
+ {
+ if (stat.getFileType() == osl::FileStatus::Directory)
+ {
+ bFolderExist = true;
+ break;
+ }
+ }
+ else
+ {
+ dp_misc::writeConsole(
+ OUSTR("unopkg: Error while investigating ") + url + OUSTR("\n"));
+ break;
+ }
+ i = osl::DirectoryItem();
+ }
+
+ if (rcNext == osl::File::E_NOENT ||
+ rcNext == osl::File::E_None)
+ {
+ if (!bFolderExist)
+ ret = true;
+ }
+ else
+ {
+ dp_misc::writeConsole(
+ OUSTR("unopkg: Error while investigating ") + url + OUSTR("\n"));
+ }
+
+ dir.close();
+ }
+ else
+ {
+ dp_misc::writeConsole(
+ OUSTR("unopkg: Error while investigating ") + url + OUSTR("\n"));
+ }
+ return ret;
}
+void removeFolder(OUString const & folderUrl)
+{
+ OUString url = folderUrl;
+ ::rtl::Bootstrap::expandMacros(url);
+ ::osl::Directory dir(url);
+ ::osl::File::RC rc = dir.open();
+ if (rc == osl::File::E_None)
+ {
+ ::osl::DirectoryItem i;
+ ::osl::File::RC rcNext = ::osl::File::E_None;
+ while ( (rcNext = dir.getNextItem(i)) == ::osl::File::E_None)
+ {
+ ::osl::FileStatus stat(FileStatusMask_Type | FileStatusMask_FileURL);
+ if (i.getFileStatus(stat) == ::osl::File::E_None)
+ {
+ ::osl::FileStatus::Type t = stat.getFileType();
+ if (t == ::osl::FileStatus::Directory)
+ {
+ //remove folder
+ removeFolder(stat.getFileURL());
+ }
+ else if (t == ::osl::FileStatus::Regular)
+ {
+ //remove file
+ ::osl::File::remove(stat.getFileURL());
+ }
+ else
+ {
+ OSL_ASSERT(0);
+ }
+ }
+ else
+ {
+ dp_misc::writeConsole(
+ OUSTR("unopkg: Error while investigating ") + url + OUSTR("\n"));
+ break;
+ }
+ i = ::osl::DirectoryItem();
+ }
+ dir.close();
+ ::osl::Directory::remove(url);
+ }
+ else
+ {
+ dp_misc::writeConsole(
+ OUSTR("unopkg: Error while removing ") + url + OUSTR("\n"));
+ }
+}
+
+}
diff --git a/desktop/source/pkgchk/unopkg/unopkg_shared.h b/desktop/source/pkgchk/unopkg/unopkg_shared.h
index 43f77513b10c..4975cc4c087b 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_shared.h
+++ b/desktop/source/pkgchk/unopkg/unopkg_shared.h
@@ -178,5 +178,11 @@ css::uno::Reference<css::uno::XComponentContext> getUNO(
DisposeGuard & disposeGuard, bool verbose, bool shared, bool bGui,
css::uno::Reference<css::uno::XComponentContext> & out_LocalComponentContext);
+bool hasNoFolder(::rtl::OUString const & folderUrl);
+
+void removeFolder(::rtl::OUString const & folderUrl);
+
}
+
+
diff --git a/filter/source/xsltdialog/xmlfilterjar.cxx b/filter/source/xsltdialog/xmlfilterjar.cxx
index 5592c331713f..0a01310b3b40 100644
--- a/filter/source/xsltdialog/xmlfilterjar.cxx
+++ b/filter/source/xsltdialog/xmlfilterjar.cxx
@@ -101,6 +101,10 @@ static OUString encodeZipUri( const OUString& rURI )
static Reference< XInterface > addFolder( Reference< XInterface >& xRootFolder, Reference< XSingleServiceFactory >& xFactory, const OUString& rName ) throw( Exception )
{
+ if ( rName.equals( OUString( RTL_CONSTASCII_USTRINGPARAM( ".." ) ) )
+ || rName.equals( OUString( RTL_CONSTASCII_USTRINGPARAM( "." ) ) ) )
+ throw lang::IllegalArgumentException();
+
Sequence< Any > aArgs(1);
aArgs[0] <<= (sal_Bool)sal_True;
@@ -362,6 +366,10 @@ bool XMLFilterJarHelper::copyFile( Reference< XHierarchicalNameAccess > xIfc, OU
{
OUString szPackagePath( encodeZipUri( rURL.copy( sVndSunStarPackage.getLength() ) ) );
+ if ( ::comphelper::OStorageHelper::PathHasSegment( szPackagePath, OUString( RTL_CONSTASCII_USTRINGPARAM( ".." ) ) )
+ || ::comphelper::OStorageHelper::PathHasSegment( szPackagePath, OUString( RTL_CONSTASCII_USTRINGPARAM( "." ) ) ) )
+ throw lang::IllegalArgumentException();
+
if( xIfc->hasByHierarchicalName( szPackagePath ) )
{
Reference< XActiveDataSink > xFileEntry;
diff --git a/framework/source/accelerators/acceleratorconfiguration.cxx b/framework/source/accelerators/acceleratorconfiguration.cxx
index 15070eed7c98..b81ef5aecf0e 100644
--- a/framework/source/accelerators/acceleratorconfiguration.cxx
+++ b/framework/source/accelerators/acceleratorconfiguration.cxx
@@ -96,6 +96,8 @@
#include <svtools/acceleratorexecute.hxx>
+#include <stdio.h>
+
//_______________________________________________
// const
@@ -1248,7 +1250,6 @@ void SAL_CALL XCUBasedAcceleratorConfiguration::changesOccurred(const css::util:
const sal_Int32 c = aEvent.Changes.getLength();
sal_Int32 i = 0;
-
for (i=0; i<c; ++i)
{
const css::util::ElementChange& aChange = aEvent.Changes[i];
@@ -1264,27 +1265,25 @@ void SAL_CALL XCUBasedAcceleratorConfiguration::changesOccurred(const css::util:
aChange.Accessor >>= sOrgPath;
sPath = sOrgPath;
- ::rtl::OUString sPrimarySecondary = ::utl::extractFirstFromConfigurationPath(sPath);
- sPath = ::utl::dropPrefixFromConfigurationPath(sPath, sPrimarySecondary);
-
- ::rtl::OUString sGlobalModules = ::utl::extractFirstFromConfigurationPath(sPath);
- sPath = ::utl::dropPrefixFromConfigurationPath(sPath, sGlobalModules);
+ ::rtl::OUString sPrimarySecondary = ::utl::extractFirstFromConfigurationPath(sPath, &sPath);
+ ::rtl::OUString sGlobalModules = ::utl::extractFirstFromConfigurationPath(sPath, &sPath);
if ( sGlobalModules.equals(CFG_ENTRY_GLOBAL) )
{
::rtl::OUString sModule;
- sKey = ::utl::extractFirstFromConfigurationPath(sPath);
- if ( sKey.getLength() )
+ sKey = ::utl::extractFirstFromConfigurationPath(sPath, &sPath);
+ if (( sKey.getLength() > 0 ) && ( sPath.getLength() > 0 ))
reloadChanged(sPrimarySecondary, sGlobalModules, sModule, sKey);
}
else if ( sGlobalModules.equals(CFG_ENTRY_MODULES) )
{
- ::rtl::OUString sModule = ::utl::extractFirstFromConfigurationPath(sPath);
- ::rtl::OUString sDropModule = ::rtl::OUString::createFromAscii("Module['") + sModule + ::rtl::OUString::createFromAscii("']");
- sPath = ::utl::dropPrefixFromConfigurationPath(sPath, sDropModule);
- sKey = ::utl::extractFirstFromConfigurationPath(sPath);
- if ( sKey.getLength() )
+ ::rtl::OUString sModule = ::utl::extractFirstFromConfigurationPath(sPath, &sPath);
+ sKey = ::utl::extractFirstFromConfigurationPath(sPath, &sPath);
+
+ if (( sKey.getLength() > 0 ) && ( sPath.getLength() > 0 ))
+ {
reloadChanged(sPrimarySecondary, sGlobalModules, sModule, sKey);
+ }
}
}
}
@@ -1385,8 +1384,8 @@ void XCUBasedAcceleratorConfiguration::impl_ts_load( sal_Bool bPreferred, const
aKeyEvent.Modifiers |= css::awt::KeyModifier::MOD1;
else if (sToken[k].equalsAscii("MOD2"))
aKeyEvent.Modifiers |= css::awt::KeyModifier::MOD2;
- else if (sToken[k].equalsAscii("MOD3"))
- aKeyEvent.Modifiers |= css::awt::KeyModifier::MOD3;
+ else if (sToken[k].equalsAscii("MOD3"))
+ aKeyEvent.Modifiers |= css::awt::KeyModifier::MOD3;
else
{
bValid = sal_False;
diff --git a/graphite/graphite-2.3.1.patch.mingw b/graphite/graphite-2.3.1.patch.mingw
index ecec00da7c6e..c5fc3ecdf252 100755..100644
--- a/graphite/graphite-2.3.1.patch.mingw
+++ b/graphite/graphite-2.3.1.patch.mingw
@@ -116,15 +116,6 @@
#include <assert.h>
--- misc/silgraphite-2.3.1/wrappers/win32/WinFont.cpp 2009-01-29 17:33:19.000000000 +0900
+++ misc/build/silgraphite-2.3.1/wrappers/win32/WinFont.cpp 2009-08-23 20:59:16.211375000 +0900
-@@ -408,7 +408,7 @@
- if (pPolyCurve->wType == TT_PRIM_QSPLINE &&
- // test if this is the last curve
- pPolyHdr->cb - (int)((byte *)(&pPolyCurve->apfx[j]) - (byte *)(pPolyHdr))
-- == sizeof POINTFX &&
-+ == sizeof(POINTFX) &&
- // and the two points are identical
- CompareFixed(pPolyCurve->apfx[j].x, pPolyHdr->pfxStart.x) &&
- CompareFixed(pPolyCurve->apfx[j].y, pPolyHdr->pfxStart.y))
@@ -846,7 +846,7 @@
} // namespace gr
diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java
index aefd78e480b7..66598a7ca7cb 100755
--- a/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java
+++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallData.java
@@ -75,6 +75,8 @@ public class InstallData
static private boolean databaseQueried = false;
static private boolean useRtl = false;
static private boolean installedProductMinorSet = false;
+ static private boolean isDebianSystem = false;
+ static private boolean debianInvestigated = false;
static private String installType; /* custom or typical installation */
static private String osType; /* Linux, SunOS, ... */
static private String installDir = null;
@@ -649,6 +651,22 @@ public class InstallData
installedProductMinorSet = value;
}
+ public boolean debianInvestigated() {
+ return debianInvestigated;
+ }
+
+ public void setDebianInvestigated(boolean value) {
+ debianInvestigated = value;
+ }
+
+ public boolean isDebianSystem() {
+ return isDebianSystem;
+ }
+
+ public void setIsDebianSystem(boolean value) {
+ isDebianSystem = value;
+ }
+
public boolean databaseQueried() {
return databaseQueried;
}
diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java
index fa1ce919245c..74f436f8c375 100755
--- a/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java
+++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/Installer/LinuxInstaller.java
@@ -190,6 +190,22 @@ public class LinuxInstaller extends Installer {
if ( sofficeLink.exists() ) { useForce = true; }
}
+ // On Debian based systems, rpms can be installed with the switch --force-debian, if a rpm
+ // is installed.
+
+ String forceDebianString = "";
+ String nodepsString = "";
+
+ if ( ! data.debianInvestigated() ) {
+ helper.investigateDebian(data);
+ data.setDebianInvestigated(true);
+ }
+
+ if ( data.isDebianSystem() ) {
+ forceDebianString = "--force-debian";
+ nodepsString = "--nodeps";
+ }
+
String rpmCommand = "";
String[] rpmCommandArray;
String databasePath = null;
@@ -212,107 +228,123 @@ public class LinuxInstaller extends Installer {
if (useForce) {
if (useLocalDatabase) {
if ( relocations != null ) {
- rpmCommand = "rpm --upgrade --ignoresize --force -vh " +
+ rpmCommand = "rpm --upgrade --ignoresize --force " + forceDebianString + " " + nodepsString + " -vh " +
"--relocate " + relocations + " " + databaseString +
" " + databasePath + " " + packageName;
- rpmCommandArray = new String[10];
+ rpmCommandArray = new String[12];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
rpmCommandArray[3] = "--force";
- rpmCommandArray[4] = "-vh";
- rpmCommandArray[5] = "--relocate";
- rpmCommandArray[6] = relocations;
- rpmCommandArray[7] = databaseString;
- rpmCommandArray[8] = databasePath;
- rpmCommandArray[9] = packageName;
+ rpmCommandArray[4] = forceDebianString;
+ rpmCommandArray[5] = nodepsString;
+ rpmCommandArray[6] = "-vh";
+ rpmCommandArray[7] = "--relocate";
+ rpmCommandArray[8] = relocations;
+ rpmCommandArray[9] = databaseString;
+ rpmCommandArray[10] = databasePath;
+ rpmCommandArray[11] = packageName;
} else {
- rpmCommand = "rpm --upgrade --ignoresize --force -vh " +
+ rpmCommand = "rpm --upgrade --ignoresize --force " + forceDebianString + " " + nodepsString + " -vh " +
databaseString + " " + databasePath + " " + packageName;
- rpmCommandArray = new String[8];
+ rpmCommandArray = new String[10];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
rpmCommandArray[3] = "--force";
- rpmCommandArray[4] = "-vh";
- rpmCommandArray[5] = databaseString;
- rpmCommandArray[6] = databasePath;
- rpmCommandArray[7] = packageName;
+ rpmCommandArray[4] = forceDebianString;
+ rpmCommandArray[5] = nodepsString;
+ rpmCommandArray[6] = "-vh";
+ rpmCommandArray[7] = databaseString;
+ rpmCommandArray[8] = databasePath;
+ rpmCommandArray[9] = packageName;
}
} else {
if ( relocations != null )
{
- rpmCommand = "rpm --upgrade --ignoresize --force -vh " +
+ rpmCommand = "rpm --upgrade --ignoresize --force " + forceDebianString + " " + nodepsString + " -vh " +
"--relocate " + relocations + " " + packageName;
- rpmCommandArray = new String[8];
+ rpmCommandArray = new String[10];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
rpmCommandArray[3] = "--force";
- rpmCommandArray[4] = "-vh";
- rpmCommandArray[5] = "--relocate";
- rpmCommandArray[6] = relocations;
- rpmCommandArray[7] = packageName;
+ rpmCommandArray[4] = forceDebianString;
+ rpmCommandArray[5] = nodepsString;
+ rpmCommandArray[6] = "-vh";
+ rpmCommandArray[7] = "--relocate";
+ rpmCommandArray[8] = relocations;
+ rpmCommandArray[9] = packageName;
} else {
- rpmCommand = "rpm --upgrade --ignoresize --force -vh " + packageName;
- rpmCommandArray = new String[6];
+ rpmCommand = "rpm --upgrade --ignoresize --force " + forceDebianString + " " + nodepsString + " -vh " + packageName;
+ rpmCommandArray = new String[8];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
rpmCommandArray[3] = "--force";
- rpmCommandArray[4] = "-vh";
- rpmCommandArray[5] = packageName;
+ rpmCommandArray[4] = forceDebianString;
+ rpmCommandArray[5] = nodepsString;
+ rpmCommandArray[6] = "-vh";
+ rpmCommandArray[7] = packageName;
}
}
} else {
if (useLocalDatabase) {
if ( relocations != null ) {
- rpmCommand = "rpm --upgrade --ignoresize -vh " +
+ rpmCommand = "rpm --upgrade --ignoresize " + forceDebianString + " " + nodepsString + " -vh " +
"--relocate " + relocations + " " + databaseString +
" " + databasePath + " " + packageName;
- rpmCommandArray = new String[9];
+ rpmCommandArray = new String[11];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
- rpmCommandArray[3] = "-vh";
- rpmCommandArray[4] = "--relocate";
- rpmCommandArray[5] = relocations;
- rpmCommandArray[6] = databaseString;
- rpmCommandArray[7] = databasePath;
- rpmCommandArray[8] = packageName;
+ rpmCommandArray[3] = forceDebianString;
+ rpmCommandArray[4] = nodepsString;
+ rpmCommandArray[5] = "-vh";
+ rpmCommandArray[6] = "--relocate";
+ rpmCommandArray[7] = relocations;
+ rpmCommandArray[8] = databaseString;
+ rpmCommandArray[9] = databasePath;
+ rpmCommandArray[10] = packageName;
} else {
- rpmCommand = "rpm --upgrade --ignoresize -vh " +
+ rpmCommand = "rpm --upgrade --ignoresize " + forceDebianString + " " + nodepsString + " -vh " +
databaseString + " " + databasePath + " " + packageName;
- rpmCommandArray = new String[7];
+ rpmCommandArray = new String[9];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
- rpmCommandArray[3] = "-vh";
- rpmCommandArray[4] = databaseString;
- rpmCommandArray[5] = databasePath;
- rpmCommandArray[6] = packageName;
+ rpmCommandArray[3] = forceDebianString;
+ rpmCommandArray[4] = nodepsString;
+ rpmCommandArray[5] = "-vh";
+ rpmCommandArray[6] = databaseString;
+ rpmCommandArray[7] = databasePath;
+ rpmCommandArray[8] = packageName;
}
} else {
if ( relocations != null )
{
- rpmCommand = "rpm --upgrade --ignoresize -vh " +
+ rpmCommand = "rpm --upgrade --ignoresize " + forceDebianString + " " + nodepsString + " -vh " +
"--relocate " + relocations + " " + packageName;
- rpmCommandArray = new String[7];
+ rpmCommandArray = new String[9];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
- rpmCommandArray[3] = "-vh";
- rpmCommandArray[4] = "--relocate";
- rpmCommandArray[5] = relocations;
- rpmCommandArray[6] = packageName;
+ rpmCommandArray[3] = forceDebianString;
+ rpmCommandArray[4] = nodepsString;
+ rpmCommandArray[5] = "-vh";
+ rpmCommandArray[6] = "--relocate";
+ rpmCommandArray[7] = relocations;
+ rpmCommandArray[8] = packageName;
} else {
- rpmCommand = "rpm --upgrade --ignoresize -vh " + packageName;
- rpmCommandArray = new String[5];
+ rpmCommand = "rpm --upgrade --ignoresize " + forceDebianString + " " + nodepsString + " -vh " + packageName;
+ rpmCommandArray = new String[7];
rpmCommandArray[0] = "rpm";
rpmCommandArray[1] = "--upgrade";
rpmCommandArray[2] = "--ignoresize";
- rpmCommandArray[3] = "-vh";
- rpmCommandArray[4] = packageName;
+ rpmCommandArray[3] = forceDebianString;
+ rpmCommandArray[4] = nodepsString;
+ rpmCommandArray[5] = "-vh";
+ rpmCommandArray[6] = packageName;
}
}
}
@@ -383,20 +415,62 @@ public class LinuxInstaller extends Installer {
useLocalDatabase = true;
}
- if (useLocalDatabase) {
- rpmCommand = "rpm -ev" + " " + databaseString + " " + databasePath + " " + packageName;
- rpmCommandArray = new String[5];
- rpmCommandArray[0] = "rpm";
- rpmCommandArray[1] = "-ev";
- rpmCommandArray[2] = databaseString;
- rpmCommandArray[3] = databasePath;
- rpmCommandArray[4] = packageName;
+ // On Debian based systems, rpms can be installed with the switch --force-debian, if a rpm
+ // is installed.
+
+ String forceDebianString = "";
+ String nodepsString = "";
+
+ if ( ! data.debianInvestigated() ) {
+ helper.investigateDebian(data);
+ data.setDebianInvestigated(true);
+ }
+
+ if ( data.isDebianSystem() ) {
+ forceDebianString = "--force-debian";
+ nodepsString = "--nodeps";
+ }
+
+ // Code duplication for isDebianSystem is necessary, because there is no valid position
+ // for forceDebianString, if it is empty. This is no problem in installPackage.
+
+ if ( data.isDebianSystem() ) {
+
+ if (useLocalDatabase) {
+ rpmCommand = "rpm " + forceDebianString + " " + nodepsString + " -ev" + " " + databaseString + " " + databasePath + " " + packageName;
+ rpmCommandArray = new String[7];
+ rpmCommandArray[0] = "rpm";
+ rpmCommandArray[1] = forceDebianString;
+ rpmCommandArray[2] = nodepsString;
+ rpmCommandArray[3] = "-ev";
+ rpmCommandArray[4] = databaseString;
+ rpmCommandArray[5] = databasePath;
+ rpmCommandArray[6] = packageName;
+ } else {
+ rpmCommand = "rpm " + forceDebianString + " " + nodepsString + " -ev" + " " + packageName;
+ rpmCommandArray = new String[5];
+ rpmCommandArray[0] = "rpm";
+ rpmCommandArray[1] = forceDebianString;
+ rpmCommandArray[2] = nodepsString;
+ rpmCommandArray[3] = "-ev";
+ rpmCommandArray[4] = packageName;
+ }
} else {
- rpmCommand = "rpm -ev" + " " + packageName;
- rpmCommandArray = new String[3];
- rpmCommandArray[0] = "rpm";
- rpmCommandArray[1] = "-ev";
- rpmCommandArray[2] = packageName;
+ if (useLocalDatabase) {
+ rpmCommand = "rpm -ev" + " " + databaseString + " " + databasePath + " " + packageName;
+ rpmCommandArray = new String[5];
+ rpmCommandArray[0] = "rpm";
+ rpmCommandArray[1] = "-ev";
+ rpmCommandArray[2] = databaseString;
+ rpmCommandArray[3] = databasePath;
+ rpmCommandArray[4] = packageName;
+ } else {
+ rpmCommand = "rpm -ev" + " " + packageName;
+ rpmCommandArray = new String[3];
+ rpmCommandArray[0] = "rpm";
+ rpmCommandArray[1] = "-ev";
+ rpmCommandArray[2] = packageName;
+ }
}
Vector returnVector = new Vector();
diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java
index 1640ae706a46..ebf915c6274a 100755
--- a/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java
+++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/InstallerHelper/LinuxHelper.java
@@ -381,6 +381,27 @@ import java.util.Vector;public class LinuxHelper {
return databasePath;
}
+ public void investigateDebian(InstallData data) {
+
+ // String rpmQuery = "rpm --help;
+ String[] rpmQueryArray = new String[2];
+ rpmQueryArray[0] = "rpm";
+ rpmQueryArray[1] = "--help";
+
+ Vector returnVector = new Vector();
+ Vector returnErrorVector = new Vector();
+ int returnValue = ExecuteProcess.executeProcessReturnVector(rpmQueryArray, returnVector, returnErrorVector);
+
+ // Checking if the return vector contains the string "force-debian"
+
+ for (int i = 0; i < returnVector.size(); i++) {
+ String line = (String) returnVector.get(i);
+ if ( line.indexOf("force-debian") > -1 ) {
+ data.setIsDebianSystem(true);
+ }
+ }
+ }
+
public void getLinuxFileInfo(PackageDescription packageData) {
// analyzing a string like "openoffice-core01-2.0.3-159" as "name-version-release"
InstallData data = InstallData.getInstance();
diff --git a/l10ntools/inc/lngmerge.hxx b/l10ntools/inc/lngmerge.hxx
index 923da89988b6..843d1a6de3d2 100644
--- a/l10ntools/inc/lngmerge.hxx
+++ b/l10ntools/inc/lngmerge.hxx
@@ -58,7 +58,7 @@ private:
const ByteString &rPrj ,
const ByteString &rRoot , const ByteString &sActFileName , const ByteString &sID );
public:
- LngParser( const ByteString &rLngFile, BOOL bUTF8, BOOL bULFFormat, bool bQuiet_in );
+ LngParser( const ByteString &rLngFile, BOOL bUTF8, BOOL bULFFormat );
~LngParser();
BOOL CreateSDF( const ByteString &rSDFFile, const ByteString &rPrj, const ByteString &rRoot );
diff --git a/l10ntools/prj/d.lst b/l10ntools/prj/d.lst
index 0b6a43444613..53c846832fca 100644
--- a/l10ntools/prj/d.lst
+++ b/l10ntools/prj/d.lst
@@ -47,6 +47,14 @@ mkdir: %_DEST%\bin%_EXT%\help\com\sun\star\help
..\scripts\localize %_DEST%\bin%_EXT%\localize
..\scripts\fast_merge.pl %_DEST%\bin%_EXT%\fast_merge.pl
..\scripts\keyidGen.pl %_DEST%\bin%_EXT%\keyidGen.pl
+..\scripts\tool\const.py %_DEST%\bin%_EXT%\const.py
+..\scripts\tool\l10ntool.py %_DEST%\bin%_EXT%\l10ntool.py
+..\scripts\tool\xtxex.py %_DEST%\bin%_EXT%\xtxex.py
+..\scripts\tool\sdf.py %_DEST%\bin%_EXT%\sdf.py
+..\scripts\tool\xhtex.py %_DEST%\bin%_EXT%\xhtex.py
+..\scripts\tool\pseudo.py %_DEST%\bin%_EXT%\pseudo.py
+..\scripts\xtxex %_DEST%\bin%_EXT%\xtxex
+..\scripts\xhtex %_DEST%\bin%_EXT%\xhtex
..\inc\export.hxx %_DEST%\inc%_EXT%\l10ntools\export.hxx
..\inc\l10ntools\directory.hxx %_DEST%\inc%_EXT%\l10ntools\directory.hxx
diff --git a/transex3/java/jpropex/makefile.mk b/l10ntools/scripts/tool/const.py
index f86d2c830025..2d514eabdab6 100755..100644
--- a/transex3/java/jpropex/makefile.mk
+++ b/l10ntools/scripts/tool/const.py
@@ -25,12 +25,15 @@
#
#*************************************************************************
+# Pseudo const
+class _const:
+ class ConstError(TypeError): pass
+ def __setattr__(self, name, value):
+ if self.__dict__.has_key(name):
+ raise self.ConstError, "Can't rebind const(%s)"%name
+ self.__dict__[name] = value
-PRJ=../..
-PRJNAME=transex3
-TARGET=jpropex
+import sys
+sys.modules[__name__] = _const()
-.INCLUDE : ant.mk
-
-ALLTAR : ANTBUILD
diff --git a/l10ntools/scripts/tool/l10ntool.py b/l10ntools/scripts/tool/l10ntool.py
new file mode 100644
index 000000000000..70d88674f07b
--- /dev/null
+++ b/l10ntools/scripts/tool/l10ntool.py
@@ -0,0 +1,211 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+from optparse import OptionParser
+from sdf import SdfData
+from pseudo import PseudoSet
+
+import sys
+import os
+import shutil
+
+class AbstractL10nTool:
+ _options = {}
+ _args = ""
+ _resource_type = ""
+ _source_language = "en-US"
+
+ ##### Implement these abstract methods
+
+ ##### Nameing scheme for the output files
+ def get_outputfile_format_str(self):
+ # filename,fileNoExt,language,extension,pathPrefix,pathPostFix,path
+ #return "{path}/{fileNoExt}_{language}.{extension}"
+ return self._options.pattern
+
+ ################################# Merge single files ###########################################
+
+ ##### Merge a single file
+ def merge_file(self, inputfilename, outputfilename, parsed_file_ref, lang, is_forced_lang, sdfdata):
+ pass
+
+ ##### Helper for parse-once-use-often like parsing a xml file is needed implement it here
+ def parse_file(self, filename):
+ return None
+
+ ################### Merge one big file containing all strings in all languages #################
+ def merge_one_big_file(self, inputfile, outputfilename, parsed_file_ref, lang, sdfdata):
+ pass
+
+ ################### Extract a single File ######################################################
+ def extract_file(self, inputfile):
+ pass
+
+ ################################################################################################
+
+ def format_outputfile(self, filename, language):
+ extension = filename[filename.rfind('.')+1:]
+ file = filename[:filename.rfind('.')]
+
+ # Python 2.3.x friendly
+ return self.get_outputfile_format_str().replace('[', '%(').replace(']',')s') % \
+ { 'filename': filename, 'fileNoExt': file, 'language': language, 'extension': extension, 'path_prefix': self._options.path_prefix,
+ 'path_postfix': self._options.path_postfix, 'path': self.get_path() }
+
+ #return self.get_outputfile_format_str().replace('[', '{').replace(']','}').format(
+ # filename=filename, fileNoExt=file, language=language, extension=extension, path_prefix=self._options.path_prefix,
+ # path_postfix=self._options.path_postfix, path=self.get_path())
+
+ def get_path(self):
+ if self._options.outputfile.find('/') == -1:
+ return ""
+ else:
+ return self._options.outputfile[:self._options.outputfile.rfind('/')]
+
+ def merge(self, sdfdata):
+ langset,forcedset, foundset = PseudoSet(), PseudoSet() , PseudoSet()
+
+ if self._options.languages:
+ langset = PseudoSet(self._options.languages)
+ if self._options.forcedlanguages:
+ forcedset = PseudoSet(self._options.forcedlanguages)
+ if sdfdata.get_languages_found_in_sdf():
+ foundset = sdfdata.get_languages_found_in_sdf()
+
+ if self.has_multi_inputfiles():
+ filelist = self.read_inputfile_list()
+ else:
+ filelist = self._options.inputfile
+
+ for inputfile in filelist:
+ ref = self.parse_file(inputfile)
+ # Don't write that files if there is no l10n present
+ if ((langset & foundset) - forcedset): # all langs given and found in sdf without enforced
+ [self.merge_file(inputfile,self.format_outputfile(inputfile, lang), ref, lang, False, sdfdata) for lang in ((langset & foundset) - forcedset)]
+ # Always write those files even if there is no l10n available
+ if forcedset: # all enforced langs
+ [self.merge_file(inputfile, self.format_outputfile(inputfile, lang), ref, lang, True, sdfdata) for lang in forcedset]
+ # In case a big file have to be written
+ if ((langset & foundset) | forcedset): # all langs given ,found in sdf and enforced ones
+ self.merge_one_big_file(inputfile, self.format_outputfile(inputfile, lang), ref, ((langset & foundset) | forcedset), sdfdata)
+
+ def has_multi_inputfiles(self):
+ return self._options.inputfile[0] == '@'
+
+ def copy_file(self, inputfilename, outputfilename):
+ try:
+ shutil.copy(inputfilename, outputfilename)
+ except IOError:
+ print "ERROR: Can not copy file '" + inputfilename + "' to " + "'" + outputfilename + "'"
+ sys.exit(-1)
+
+ def extract(self):
+ try:
+ f = open(self._options.outputfile, "w+")
+ f.write(self.extract_file(self._options.inputfile))
+ except IOError:
+ print "ERROR: Can not write file " + self._options.outputfile
+ else:
+ f.close()
+
+ # Parse the common options
+ def parse_options(self):
+ parser = OptionParser()
+ parser.add_option("-i", "--inputfile", dest="inputfile", metavar="FILE", help="resource file to read" )
+ parser.add_option("-o", "--outputfile", dest="outputfile", metavar="FILE", help="extracted sdf or merged file" )
+ parser.add_option("-m", "--inputsdffile", dest="input_sdf_file", metavar="FILE", help="merge this sdf file" )
+ parser.add_option("-x", "--pathprefix", dest="path_prefix", metavar="PATH", help="" )
+ parser.add_option("-y", "--pathpostfix", dest="path_postfix", metavar="PATH", help="" )
+ parser.add_option("-p", "--projectname", dest="project_name", metavar="NAME", help="" )
+ parser.add_option("-r", "--projectroot", dest="project_root", metavar="PATH", help="" )
+ parser.add_option("-f", "--forcedlanguages", dest="forcedlanguages", metavar="ISOCODE[,ISOCODE]", help="Always merge those langs even if no l10n is available for those langs" )
+ parser.add_option("-l", "--languages", dest="languages", metavar="ISOCODE[,ISOCODE]", help="Merge those langs if l10n is found for each")
+ parser.add_option("-s", "--pattern", dest="pattern", metavar="", help="" )
+ parser.add_option("-q", "--quiet", action="store_true", dest="quietmode", help="",default=False)
+ (self._options, self.args) = parser.parse_args()
+
+ # -l "de,pr,pt-BR" => [ "de" , "pt" , "pt-BR" ]
+ parse_complex_arg = lambda arg: arg.split(",")
+
+ if self._options.forcedlanguages:
+ self._options.forcedlanguages = parse_complex_arg(self._options.forcedlanguages)
+ if self._options.languages:
+ self._options.languages = parse_complex_arg(self._options.languages)
+ self.test_options()
+
+ def __init__(self):
+ self.parse_options()
+ if self._options.input_sdf_file != None and len(self._options.input_sdf_file):
+ sdfdata = SdfData(self._options.input_sdf_file)
+ sdfdata.read()
+ self.merge(sdfdata)
+ else:
+ self.extract()
+
+ def make_dirs(self, filename):
+ dir = filename[:filename.rfind('/')]
+ if os.path.exists(dir):
+ if os.path.isfile(dir):
+ print "ERROR: There is a file '"+dir+"' where I want create a directory"
+ sys.exit(-1)
+ else:
+ return
+ else:
+ try:
+ os.makedirs(dir)
+ except IOError:
+ print "Error: Can not create dir " + dir
+ sys.exit(-1)
+
+ def test_options(self):
+ opt = self._options
+ is_valid = lambda x: x != None and len(x) > 0
+ return is_valid(opt.project_root) and is_valid(opt.project_name) and is_valid(opt.languages) and \
+ ( is_valid(opt.inputfile) and (( is_valid(opt.path_prefix) and is_valid(opt.path_postfix) ) or is_valid(opt.outputfile)) and \
+ ( ( is_valid(opt.input_sdf_file) and ( is_valid(opt.outputfile) or ( is_valid(opt.path_prefix) and is_valid(opt.path_postfix) ) or \
+ ( is_valid(opt.inputfile) and is_valid(opt.outputFile)) ))))
+ print "Strange options ..."
+ sys.exit( -1 )
+
+ def read_inputfile_list(self):
+ if self.has_multi_inputfiles():
+ lines = []
+ try:
+ f = open(self._options.inputfile[1:], "r")
+ lines = [line.strip('\n') for line in f.readlines()]
+ except IOError:
+ print "ERROR: Can not read file list " + self._options.inputfile[2:]
+ sys.exit(-1)
+ else:
+ f.close()
+ return lines
+
+ def get_filename_string(self, inputfile):
+ absfile = os.path.realpath(os.path.abspath(inputfile))
+ absroot = os.path.realpath(os.path.abspath(self._options.project_root))
+ return absfile[len(absroot)+1:].replace('/','\\')
+
diff --git a/l10ntools/scripts/tool/pseudo.py b/l10ntools/scripts/tool/pseudo.py
new file mode 100644
index 000000000000..0956325e31db
--- /dev/null
+++ b/l10ntools/scripts/tool/pseudo.py
@@ -0,0 +1,184 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+# to support macosx baseline machines from Cretaceous period
+
+# incomplete set() class implementation of Python 2.4
+class PseudoSet:
+ _list = []
+
+ def __str__(self):
+ return str(self._list)
+
+ def __init__(self, newlist=[]):
+ self._list = self._remove_dupes(newlist)
+
+ def __or__(self, other):
+ tmplist = []
+ if self._list != None and other != None:
+ tmplist.extend(self._list)
+ tmplist.extend(other)
+ return PseudoSet(self._remove_dupes(tmplist))
+ else:
+ print "__or__(None)"
+
+ def __sub__(self,other):
+ tmplist = []
+ if self._list != None and other != None:
+ tmplist.extend(self._list)
+ [tmplist.remove(key) for key in other if key in tmplist]
+ else:
+ print "__sub__(none)"
+ return PseudoSet(tmplist)
+
+ def __and__(self, other):
+ tmplist = []
+ if other != None and self._list != None:
+ [tmplist.append(key) for key in self._list if key in other]
+ return PseudoSet(tmplist)
+ else:
+ print "__and__(None)"
+
+ def __iter__(self):
+ return self._list.__iter__()
+
+ def __items__(self):
+ return self._list.items()
+
+ def __keys__(self):
+ return keys(self._list)
+
+ def _remove_dupes(self, list):
+ tmpdict = {}
+ for key in list:
+ tmpdict[key] = 1
+ return tmpdict.keys()
+
+# incomplete OrderedDict() class implementation
+class PseudoOrderedDict(dict):
+ _keylist = []
+ _valuelist = []
+
+ def __init__(self, defaults={}):
+ dict.__init__(self)
+ for n,v in defaults.items():
+ self[n] = v
+
+ def __setitem__(self, key, value):
+ self._keylist.append(key)
+ self._valuelist.append(value)
+ return dict.__setitem__(self, key, value)
+
+ def __delattr__(self, key):
+ self._keylist.__delattr__(key)
+ self._valuelist.__delattr__(dict[key])
+ return dict.__delattr__(self, key)
+
+ def __delitem__(self, key):
+ self._keylist.__delitem__(key)
+ self._valuelist.__delitem__(dict[key])
+ return dict.__delitem__(self, key)
+
+ def __iter__(self):
+ raise NotImplementedError("__iter__")
+
+ def __iterkeys__(self):
+ return self._keylist
+
+ def iteritems(self):
+ #return self._valuelist
+ return zip(self._keylist, self._valuelist)
+
+ def items(self):
+ return zip(self._keylist,self._valuelist)
+
+ def __keys__(self):
+ return self._keylist
+
+ def keys(self):
+ return self._keylist
+
+ def __keysattr__(self):
+ return self._keylist
+
+ def pop(self, key):
+ self._keylist.pop(key)
+ self._valuelist.pop(key)
+ return dict.__pop__(self, key)
+
+ def popitem(self):
+ raise NotImplementedError("popitem")
+
+def _testdriver_set():
+ list, list1 = [] ,[]
+ list.append("a")
+ list.append("b")
+ list.append("c")
+
+ list1.append("a")
+ list1.append("b")
+ list1.append("d")
+ list1.append("e")
+ list1.append("e")
+
+ if "a" in list:
+ print "YEAH!"
+
+ a = PseudoSet(list)
+ b = PseudoSet(list1)
+
+ print "a="+str(a)
+ print "b="+str(b)
+ print "a|b=" + str(a|b)
+ print "a="+str(a)
+ print "b="+str(b)
+ print "a&b=" + str(a&b)
+ print "a="+str(a)
+ print "b="+str(b)
+ print "a-b" + str(a-b)
+
+ for key in a:
+ print key
+
+def _testdriver_dict():
+ d = PseudoOrderedDict()
+ d["a"] = 1
+ d["b"] = 2
+ d["c"] = 3
+ d["d"] = 4
+ d["e"] = 5
+ d["f"] = 6
+
+ print "a="+str(d["a"])
+ print "e="+str(d["e"])
+ for key,value in d.iteritems():
+ print "d["+key+"]="+str(d[key])
+ print "key="+str(key)+" value="+str(value)
+
+ print "keys="+str(d.keys())
+
+#_testdriver_dict()
diff --git a/l10ntools/scripts/tool/sdf.py b/l10ntools/scripts/tool/sdf.py
new file mode 100644
index 000000000000..2afcbaf4bb1f
--- /dev/null
+++ b/l10ntools/scripts/tool/sdf.py
@@ -0,0 +1,165 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+from pseudo import PseudoSet,PseudoOrderedDict
+
+class SdfData:
+ _filename = "";
+ _dict = PseudoOrderedDict()
+ _languages_found = [];
+
+ def __init__ (self, filename=""):
+ self._filename = filename
+
+ def __getitem__(self, key):
+ if self._dict.has_key(key):
+ return self._dict[key]
+ else:
+ return None
+
+ def has_key(self, key):
+ return self._dict.has_key(key)
+
+ def __setitem__(self, key, value):
+ self._dict[key] = value
+
+ def get_languages_found_in_sdf(self):
+ return PseudoSet(self._languages_found)
+
+ def read(self):
+ try:
+ f = open(self._filename, "r")
+ lines = [line.rstrip('\n') for line in f.readlines()]
+ except IOError:
+ print "ERROR: Trying to read "+ self._filename
+ raise
+ else:
+ f.close()
+ for line in lines:
+ entity = SdfEntity()
+ entity.set_properties(line)
+ self._dict[entity.get_id()] = entity
+ self._languages_found.append(entity.langid)
+
+ def write(self, filename):
+ try:
+ f = open(filename, "w+")
+ for value in self._dict.itervalues():
+ #f.write( repr(value)+"\n" )
+ f.write(value + "\n")
+ except IOError:
+ print "ERROR: Trying to write " + filename
+ raise
+ else:
+ f.close()
+
+import sys
+class SdfEntity:
+ # Sdf format columns
+ project = ""
+ source_file = ""
+ dummy1 = ""
+ resource_type = ""
+ gid = ""
+ lid = ""
+ helpid = ""
+ platform = ""
+ dummy2 = ""
+ langid = ""
+ text = ""
+ helptext = ""
+ quickhelptext = ""
+ title = ""
+ date = ""
+
+ import const
+ const._PROJECT_POS = 0
+ const._SOURCE_FILE_POS = 1
+ const._DUMMY1_POS = 2
+ const._RESOURCE_TYPE_POS = 3
+ const._GID_POS = 4
+ const._LID_POS = 5
+ const._HELPID_POS = 6
+ const._PLATFORM_POS = 7
+ const._DUMMY2_POS = 8
+ const._LANGID_POS = 9
+ const._TEXT_POS = 10
+ const._HELPTEXT_POS = 11
+ const._QUICKHELPTEXT_POS = 12
+ const._TITLE_POS = 13
+ const._DATE_POS = 14
+
+ def __init__(self, project="", source_file="", dummy1="", resource_type="", gid="", lid="", helpid="", platform="", dummy2="", langid="",
+ text="", helptext="", quickhelptext="", title="", date="2002-02-02 02:02:02"):
+ self.project = project;
+ self.source_file = source_file;
+ self.dummy1 = dummy1;
+ self.resource_type = resource_type;
+ self.gid = gid;
+ self.lid = lid;
+ self.helpid = helpid;
+ self.platform = platform;
+ self.dummy2 = dummy2;
+ self.langid = langid;
+ self.text = text;
+ self.helptext = helptext;
+ self.quickhelptext = quickhelptext;
+ self.title = title;
+ self.date = date;
+
+ def set_properties(self, line):
+ splitted = line.split("\t")
+ if len(splitted) == 15:
+ self.project = splitted[ self.const._PROJECT_POS ]
+ self.source_file = splitted[ self.const._SOURCE_FILE_POS ]
+ self.dummy1 = splitted[ self.const._DUMMY1_POS ]
+ self.resource_type = splitted[ self.const._RESOURCE_TYPE_POS ]
+ self.gid = splitted[ self.const._GID_POS ]
+ self.lid = splitted[ self.const._LID_POS ]
+ self.helpid = splitted[ self.const._HELPID_POS ]
+ self.platform = splitted[ self.const._PLATFORM_POS ]
+ self.dummy2 = splitted[ self.const._DUMMY2_POS ]
+ self.langid = splitted[ self.const._LANGID_POS ]
+ self.text = splitted[ self.const._TEXT_POS ]
+ self.helptext = splitted[ self.const._HELPTEXT_POS ]
+ self.quickhelptext = splitted[ self.const._QUICKHELPTEXT_POS ]
+ self.title = splitted[ self.const._TITLE_POS ]
+ self.date = splitted[ self.const._DATE_POS ]
+
+ def get_file_id(self):
+ return self.project + "\\" + self.source_file
+
+ def get_resource_path(self):
+ return self.source_file[0:self.source_file.rfind( "\\" )-1]
+
+ def __str__(self):
+ return ''.join([self.project, "\t", self.source_file, "\t", self.dummy1, "\t", self.resource_type, "\t" ,
+ self.gid, "\t", self.lid, "\t", self.helpid, "\t", self.platform, "\t", self.dummy2, "\t" , self.langid,
+ "\t", self.text, "\t", self.helptext, "\t", self.quickhelptext, "\t" , self.title, "\t", self.date ])
+
+ def get_id(self):
+ return ''.join([self.project, self.gid, self.lid, self.source_file, self.resource_type, self.platform, self.helpid, self.langid])
diff --git a/l10ntools/scripts/tool/xhtex.py b/l10ntools/scripts/tool/xhtex.py
new file mode 100644
index 000000000000..c427a7feccdd
--- /dev/null
+++ b/l10ntools/scripts/tool/xhtex.py
@@ -0,0 +1,135 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+from l10ntool import AbstractL10nTool
+from sdf import SdfEntity
+import sys
+import xml.dom.minidom
+
+class Xhtex(AbstractL10nTool):
+ _resource_type = "xht"
+ _sdfdata = ()
+ _lang = ""
+
+ # Extract methods
+ def extract_topic(self, list, inputfile):
+ topics = []
+ for elem in list:
+ if elem.childNodes[0].nodeType == elem.TEXT_NODE and len(elem.childNodes[0].data.strip()):
+ topics.append(self.prepare_sdf_line(id=elem.getAttribute("id").strip(), text=elem.childNodes[0].data, inputfile=inputfile))
+ return topics
+
+ def extract_title(self, list, inputfile):
+ titles = []
+ for elem in list:
+ if len(elem.getAttribute("title").strip()):
+ titles.append(self.prepare_sdf_line(id=elem.getAttribute("id").strip(), text=elem.getAttribute("title").strip(), inputfile=inputfile))
+ return titles
+
+ # Merge methods
+ def merge_topic(self, list, sdfdata, lang, inputfilename, dom):
+ for elem in list:
+ if elem.childNodes[0].nodeType == elem.TEXT_NODE and elem.getAttribute("id").strip():
+ obj = self.prepare_sdf_line(inputfile=inputfilename, lang=lang, id=elem.getAttribute("id").strip())
+ if sdfdata[obj.get_id()]:
+ elem.childNodes[0].data = str(sdfdata[obj.get_id()].text)
+
+ def merge_title(self, list, sdfdata, lang, inputfilename):
+ for elem in list:
+ obj = self.prepare_sdf_line(inputfile=inputfilename, lang=lang, id=elem.getAttribute("id").strip())
+ if elem.getAttribute("id").strip() and sdfdata[obj.get_id()]:
+ elem.setAttribute("title", str(sdfdata[obj.get_id()].text))
+
+ # L10N tool
+ def __init__(self):
+ AbstractL10nTool.__init__(self)
+
+ def parse_file(self, filename):
+ document = ""
+ try:
+ f = open(filename, "r+")
+ document = f.read()
+ except IOError:
+ print "ERROR: Can not read file " + filename
+ sys.exit(-1)
+ else:
+ f.close()
+ return xml.dom.minidom.parseString(document)
+
+
+ def merge_file(self, inputfilename, outputfilename, parsed_file_ref, lang,is_forced_lang, sdfdata):
+ if lang == "en-US":
+ mod_outputfilename = outputfilename.replace("_en-US",'')
+ self.make_dirs(mod_outputfilename)
+ self.copy_file(inputfilename, mod_outputfilename)
+ return
+ dom = parsed_file_ref.cloneNode(True)
+ #dom = self.parse_file(inputfilename) # in case cloneNode is buggy just parse it always
+
+ self.merge_topic(dom.getElementsByTagName("topic"), sdfdata, lang, inputfilename, dom)
+ self.merge_title(dom.getElementsByTagName("node"), sdfdata, lang, inputfilename)
+ self.merge_title(dom.getElementsByTagName("help_section"), sdfdata, lang, inputfilename)
+ self.make_dirs(outputfilename)
+ try:
+ f = open(outputfilename, "w+")
+ str = dom.toxml()
+ f.write(str)
+ except IOError:
+ print "ERROR: Can not write file " + outputfilename
+ sys.exit(-1)
+ else:
+ f.close()
+
+ ##### Helper for parse-once-use-often like parsing a xml file is needed implement it here
+ def parse_file(self, filename):
+ document = ""
+ try:
+ f = open(filename,"r+")
+ document = f.read()
+ except IOError:
+ print "ERROR: Can not read file " + filename
+ else:
+ f.close()
+ return xml.dom.minidom.parseString(document)
+
+ ##### Extract a single File
+ def extract_file(self, inputfile):
+ sdf_data = []
+ dom = self.parse_file(inputfile)
+ sdf_data.extend(self.extract_topic(dom.getElementsByTagName("topic"), inputfile))
+ sdf_data.extend(self.extract_title(dom.getElementsByTagName("help_section"), inputfile))
+ sdf_data.extend(self.extract_title(dom.getElementsByTagName("node"), inputfile))
+ return ''.join([str(line)+"\n" for line in sdf_data])
+
+ def prepare_sdf_line(self, inputfile="", lang="" , id="" , text=""):
+ if lang == "":
+ lang = self._source_language
+ return SdfEntity(project=self._options.project_name, source_file=self.get_filename_string(inputfile),
+ resource_type=self._resource_type, gid=id, lid="", langid=lang,text=text)
+
+run = Xhtex()
+
diff --git a/l10ntools/scripts/tool/xtxex.py b/l10ntools/scripts/tool/xtxex.py
new file mode 100644
index 000000000000..2c5f132530a6
--- /dev/null
+++ b/l10ntools/scripts/tool/xtxex.py
@@ -0,0 +1,93 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+from l10ntool import AbstractL10nTool
+from sdf import SdfEntity
+import sys
+import shutil
+
+class Xtxex(AbstractL10nTool):
+ _resource_type = "xtx"
+
+ def __init__(self):
+ AbstractL10nTool.__init__(self)
+
+ def merge_file(self, inputfilename, outputfilename, parsed_file_ref, lang, is_forced_lang, sdfdata):
+ # Special handling for en-US files
+ if lang == "en-US":
+ mod_outputfilename = outputfilename.replace("_en-US",'')
+ self.copy_file(inputfilename, mod_outputfilename)
+ return
+ # merge usual lang
+ sdfline = self.prepare_sdf_line(inputfilename,lang)
+ if sdfdata.has_key(sdfline.get_id()):
+ line = sdfdata[sdfline.get_id()].text.replace("\\n", '\n')
+ self.make_dirs(outputfilename)
+ try:
+ f = open(outputfilename, "w+")
+ f.write(line)
+ except IOError:
+ print "ERROR: Can not write file " + outputfilename
+ sys.exit(-1)
+ else:
+ f.close()
+ return
+ # no sdf data found then copy en-US source file
+ if is_forced_lang:
+ self.copy_file(inputfilename, outputfilename)
+
+ ##### Extract a single File
+ def extract_file(self, inputfile):
+ lines = []
+ try:
+ f = open(inputfile, "r")
+ lines = f.readlines()
+ except IOError:
+ print "ERROR: Can not open file " + inputfile
+ sys.exit(-1)
+ else:
+ f.close()
+ # remove legal header
+ lines = [line for line in lines if len(line) > 0 and not line[0] == '#']
+ # escape all returns
+ lines = [line.replace('\n', "\\n") for line in lines]
+ line = ''.join(lines)
+ test = str(line)
+ if len(test.strip()):
+ sdf_entity = self.prepare_sdf_line(inputfile);
+ sdf_entity.text = line
+ return str(sdf_entity)
+ else:
+ return ""
+
+ def prepare_sdf_line(self, inputfile="", lang=""):
+ if lang == "":
+ lang = self._source_language
+ return SdfEntity(project=self._options.project_name, source_file=self.get_filename_string(inputfile),
+ resource_type=self._resource_type, gid="none", lid="none", langid=lang,text="")
+
+run = Xtxex()
diff --git a/l10ntools/scripts/xhtex b/l10ntools/scripts/xhtex
new file mode 100755
index 000000000000..659cd06e16d4
--- /dev/null
+++ b/l10ntools/scripts/xhtex
@@ -0,0 +1,39 @@
+#!/bin/sh
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+if [ x${SOLARENV}x = xx ]; then
+ echo No environment found, please use 'setsolar'
+exit 1
+fi
+
+if [ x${SOLARVER}x = xx -o x${UPDMINOREXT}x = xx ]; then
+ exec python $SOLARVERSION/$INPATH/bin/xhtex.py "$@"
+else
+ exec python $SOLARVERSION/$INPATH/bin$UPDMINOREXT/xhtex.py "$@"
+fi
+
diff --git a/l10ntools/scripts/xtxex b/l10ntools/scripts/xtxex
new file mode 100755
index 000000000000..28529506e3a2
--- /dev/null
+++ b/l10ntools/scripts/xtxex
@@ -0,0 +1,39 @@
+#!/bin/sh
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+if [ x${SOLARENV}x = xx ]; then
+ echo No environment found, please use 'setsolar'
+exit 1
+fi
+
+if [ x${SOLARVER}x = xx -o x${UPDMINOREXT}x = xx ]; then
+ exec python $SOLARVERSION/$INPATH/bin/xtxex.py "$@"
+else
+ exec python $SOLARVERSION/$INPATH/bin$UPDMINOREXT/xtxex.py "$@"
+fi
+
diff --git a/l10ntools/source/cfglex.l b/l10ntools/source/cfglex.l
index cc92632620be..3fc3aa5b965c 100644
--- a/l10ntools/source/cfglex.l
+++ b/l10ntools/source/cfglex.l
@@ -169,10 +169,6 @@ main( int argc, char* argv[])
FILE *pFile;
pOutput = GetOutputFile( argc, argv );
- if( !isQuiet() ){
- fprintf( stdout, "\nCfgEx 0.9 Copyright 2000, 2010 Oracle and/or its affiliates. All Rights Reserved.\n" );
- fprintf( stdout, "===================================================================================\n" );
- }
if ( !pOutput ) {
fprintf( stdout, "Syntax: CFGEX[-p Prj][-r PrjRoot]-i FileIn [-o FileOut][-m DataBase][-e][-b][-u][-f][-d DoneFile][-g[:dtd] ][-L l1,l2,...]\n" );
@@ -181,7 +177,6 @@ main( int argc, char* argv[])
fprintf( stdout, " FileIn: Source files (*.src)\n" );
fprintf( stdout, " FileOut: Destination file (*.*)\n" );
fprintf( stdout, " DataBase: Mergedata (*.sdf)\n" );
- fprintf( stdout, " -QQ: quiet output\n" );
fprintf( stdout, " -e: Disable writing errorlog\n" );
fprintf( stdout, " -b: Break when Token \"HelpText\" found in source\n" );
fprintf( stdout, " -u: [english] and [german] are allowed, Id is Taken from DataBase \n" );
@@ -213,20 +208,10 @@ main( int argc, char* argv[])
nRetValue = GetError();
EndCfgExport();
- if( !isQuiet() ){
- fprintf( stdout, "\n===================================\n\n" );
- }
removeTempFile();
/* return error level */
return nRetValue;
}
-/*"<!--"[^"-->"]*"-->" {
- bText = 0;
- WorkOnTokenSet( COMMEND, yytext );
-}*/
-/*"<!"[^\-].*\> {
- bText = 0;
- WorkOnTokenSet( CFG_TAG, yytext );
-}*/
+
diff --git a/l10ntools/source/cfgmerge.cxx b/l10ntools/source/cfgmerge.cxx
index 170c2922d9ce..e8feee1fe3c8 100644
--- a/l10ntools/source/cfgmerge.cxx
+++ b/l10ntools/source/cfgmerge.cxx
@@ -59,7 +59,6 @@ BOOL bMergeMode;
BOOL bErrorLog;
BOOL bForce;
BOOL bUTF8;
-bool bQuiet;
ByteString sPrj;
ByteString sPrjRoot;
ByteString sInputFileName;
@@ -83,7 +82,6 @@ extern char *GetOutputFile( int argc, char* argv[])
bErrorLog = TRUE;
bForce = FALSE;
bUTF8 = TRUE;
- bQuiet = false;
sPrj = "";
sPrjRoot = "";
sInputFileName = "";
@@ -128,9 +126,6 @@ extern char *GetOutputFile( int argc, char* argv[])
nState = STATE_FORCE;
bForce = TRUE;
}
- else if ( sSwitch == "-QQ" ) {
- bQuiet = true;
- }
else if ( sSwitch == "-L" ) {
nState = STATE_LANGUAGES;
}
@@ -184,10 +179,6 @@ extern char *GetOutputFile( int argc, char* argv[])
// command line is not valid
return NULL;
}
-int isQuiet(){
- if( bQuiet ) return 1;
- else return 0;
-}
/*****************************************************************************/
int InitCfgExport( char *pOutput , char* pFilename )
/*****************************************************************************/
@@ -247,7 +238,7 @@ extern FILE *GetCfgFile()
if ( !pFile ){
fprintf( stderr, "Error: Could not open file %s\n",
sInputFileName.GetBuffer());
- exit( 13 );
+ exit( -13 );
}
else {
// this is a valid file which can be opened, so
@@ -264,8 +255,6 @@ extern FILE *GetCfgFile()
// printf("sFullEntry = %s\n",sFullEntry.GetBuffer());
sActFileName = sFullEntry.Copy( sPrjEntry.Len() + 1 );
// printf("sActFileName = %s\n",sActFileName.GetBuffer());
- if( !bQuiet )
- fprintf( stdout, "\nProcessing File %s ...\n", sInputFileName.GetBuffer());
sActFileName.SearchAndReplaceAll( "/", "\\" );
@@ -615,7 +604,7 @@ CfgOutputParser::CfgOutputParser( const ByteString &rOutputFile )
Error( sError );
delete pOutputStream;
pOutputStream = NULL;
- exit( 13 );
+ exit( -13 );
}
}
diff --git a/l10ntools/source/export.cxx b/l10ntools/source/export.cxx
index 59f29525eda4..d6c7a9533309 100644
--- a/l10ntools/source/export.cxx
+++ b/l10ntools/source/export.cxx
@@ -62,7 +62,6 @@ BOOL bErrorLog;
BOOL bBreakWhenHelpText;
BOOL bUnmerge;
BOOL bUTF8;
-bool bQuiet;
ByteString sPrj;
ByteString sPrjRoot;
ByteString sActFileName;
@@ -98,7 +97,6 @@ extern char *GetOutputFile( int argc, char* argv[])
Export::sForcedLanguages = "";
sTempFile = "";
pTempFile = NULL;
- bQuiet = false;
USHORT nState = STATE_NON;
BOOL bInput = FALSE;
@@ -115,9 +113,6 @@ extern char *GetOutputFile( int argc, char* argv[])
else if (sSwitch == "-p" || sSwitch == "-P" ) {
nState = STATE_PRJ; // next token specifies the cur. project
}
- else if (sSwitch == "-qq" || sSwitch == "-QQ" ) {
- bQuiet = true;
- }
else if (sSwitch == "-r" || sSwitch == "-R" ) {
nState = STATE_ROOT; // next token specifies path to project root
@@ -196,12 +191,6 @@ extern char *GetOutputFile( int argc, char* argv[])
return NULL;
}
/*****************************************************************************/
-int isQuiet(){
-/*****************************************************************************/
- if( bQuiet ) return 1;
- else return 0;
-}
-/*****************************************************************************/
int InitExport( char *pOutput , char* pFilename )
/*****************************************************************************/
{
@@ -282,7 +271,6 @@ extern FILE *GetNextFile()
// (e.g.: source\ui\src\menue.src)
sActFileName = sFullEntry.Copy( sPrjEntry.Len() + 1 );
- if( !bQuiet ) fprintf( stdout, "\nProcessing File %s ...\n", sOrigFile.GetBuffer());
sActFileName.SearchAndReplaceAll( "/", "\\" );
sFile = sActFileName;
diff --git a/l10ntools/source/helpex.cxx b/l10ntools/source/helpex.cxx
index 49a59266a85d..15239db5d9bd 100644
--- a/l10ntools/source/helpex.cxx
+++ b/l10ntools/source/helpex.cxx
@@ -61,7 +61,6 @@ ByteString sOutputFile;
ByteString sOutputFileX;
ByteString sOutputFileY;
ByteString sSDFFile;
-bool bQuiet;
/*****************************************************************************/
BOOL ParseCommandLine( int argc, char* argv[])
@@ -73,7 +72,6 @@ BOOL ParseCommandLine( int argc, char* argv[])
bUTF8 = TRUE;
sPrj = "";
sPrjRoot = "";
- bQuiet = false;
Export::sLanguages = "";
Export::sForcedLanguages = "";
@@ -111,9 +109,6 @@ BOOL ParseCommandLine( int argc, char* argv[])
nState = STATE_ERRORLOG;
bErrorLog = FALSE;
}
- else if ( ByteString( argv[ i ] ).ToUpperAscii() == "-QQ" ) {
- bQuiet = true;
- }
else if ( ByteString( argv[ i ]).ToUpperAscii() == "-UTF8" ) {
nState = STATE_UTF8;
bUTF8 = TRUE;
@@ -188,13 +183,12 @@ BOOL ParseCommandLine( int argc, char* argv[])
void Help()
/*****************************************************************************/
{
- fprintf( stdout, "Syntax: HELPEX[-p Prj][-r PrjRoot]-i FileIn ( -o FileOut | -x path -y relfile )[-m DataBase][-e][-b][-u][-L l1,l2,...][-QQ] -LF l1,l2 \n" );
+ fprintf( stdout, "Syntax: HELPEX[-p Prj][-r PrjRoot]-i FileIn ( -o FileOut | -x path -y relfile )[-m DataBase][-e][-b][-u][-L l1,l2,...] -LF l1,l2 \n" );
fprintf( stdout, " Prj: Project\n" );
fprintf( stdout, " PrjRoot: Path to project root (..\\.. etc.)\n" );
fprintf( stdout, " FileIn: Source file (*.lng)\n" );
fprintf( stdout, " FileOut: Destination file (*.*)\n" );
fprintf( stdout, " DataBase: Mergedata (*.sdf)\n" );
- fprintf( stdout, " -QQ: quiet output\n" );
fprintf( stdout, " -L: Restrict the handled languages. l1,l2,... are elements of (en-US,fr,de...)\n" );
fprintf( stdout, " A fallback language can be defined like this: l1=f1.\n" );
fprintf( stdout, " f1, f2,... are also elements of (en-US,fr,de...)\n" );
diff --git a/l10ntools/source/helpmerge.cxx b/l10ntools/source/helpmerge.cxx
index 0ab7e6eb5c2e..15cb1e311002 100644
--- a/l10ntools/source/helpmerge.cxx
+++ b/l10ntools/source/helpmerge.cxx
@@ -181,17 +181,6 @@ bool HelpParser::CreateSDF(
ByteString sActFileName = makeAbsolutePath( sHelpFile , rRoot_in );
-/* DirEntry aEntry( String( sHelpFile, RTL_TEXTENCODING_ASCII_US ));
- aEntry.ToAbs();
- String sFullEntry = aEntry.GetFull();
- aEntry += DirEntry( String( "..", RTL_TEXTENCODING_ASCII_US ));
- aEntry += DirEntry( rRoot_in );
- ByteString sPrjEntry( aEntry.GetFull(), gsl_getSystemTextEncoding());
- ByteString sActFileName(
- sFullEntry.Copy( sPrjEntry.Len() + 1 ), gsl_getSystemTextEncoding());
-
- sActFileName.SearchAndReplaceAll( "/", "\\" );
-*/
XMLHashMap* aXMLStrHM = file->GetStrings();
LangHashMap* pElem;
XMLElement* pXMLElement = NULL;
diff --git a/l10ntools/source/lngex.cxx b/l10ntools/source/lngex.cxx
index c593b85d4932..4ec069a810f5 100644
--- a/l10ntools/source/lngex.cxx
+++ b/l10ntools/source/lngex.cxx
@@ -53,7 +53,6 @@ BOOL bMergeMode;
BOOL bErrorLog;
BOOL bUTF8;
BOOL bULF; // ULF = Unicode Language File
-bool bQuiet;
ByteString sPrj;
ByteString sPrjRoot;
ByteString sOutputFile;
@@ -68,7 +67,6 @@ BOOL ParseCommandLine( int argc, char* argv[])
bErrorLog = TRUE;
bUTF8 = TRUE;
bULF = FALSE;
- bQuiet = false;
sPrj = "";
sPrjRoot = "";
Export::sLanguages = "";
@@ -92,9 +90,6 @@ BOOL ParseCommandLine( int argc, char* argv[])
else if ( sSwitch == "-R" ) {
nState = STATE_ROOT; // next token specifies path to project root
}
- else if ( sSwitch == "-QQ" ) {
- bQuiet = true;
- }
else if ( sSwitch == "-M" ) {
nState = STATE_MERGESRC; // next token specifies the merge database
}
@@ -170,16 +165,12 @@ BOOL ParseCommandLine( int argc, char* argv[])
void Help()
/*****************************************************************************/
{
- //fprintf( stdout, "Syntax:ULFEX[-p Prj][-r PrjRoot]-i FileIn -o FileOut[-m DataBase][-e][-b][-u][-NOUTF8][-ULF][-L l1,l2,...]\n" );
fprintf( stdout, "Syntax:ULFEX[-p Prj][-r PrjRoot]-i FileIn -o FileOut[-m DataBase][-L l1,l2,...]\n" );
fprintf( stdout, " Prj: Project\n" );
fprintf( stdout, " PrjRoot: Path to project root (..\\.. etc.)\n" );
fprintf( stdout, " FileIn: Source file (*.lng)\n" );
fprintf( stdout, " FileOut: Destination file (*.*)\n" );
fprintf( stdout, " DataBase: Mergedata (*.sdf)\n" );
- fprintf( stdout, " -QQ: quite output\n" );
- //fprintf( stdout, " -NOUTF8: disable UTF8 as language independent encoding\n" );
- //fprintf( stdout, " -ULF: enables Unicode Language File format, leads to UTF8 encoded version of lng files" );
fprintf( stdout, " -L: Restrict the handled languages. l1,l2,... are elements of (de,en-US...)\n" );
fprintf( stdout, " A fallback language can be defined like this: l1=f1.\n" );
fprintf( stdout, " f1, f2,... are also elements of (de,en-US...)\n" );
@@ -199,25 +190,16 @@ int _cdecl main( int argc, char *argv[] )
Help();
return 1;
}
- if( !bQuiet ){
- fprintf( stdout, "\nUlfEx 1 Copyright 2000, 2010 Oracle and/or its affiliates. All Rights Reserved.\n" );
- fprintf( stdout, "=================================================================================\n" );
- fprintf( stdout, "\nProcessing File %s ...\n", sInputFile.GetBuffer());
- }else
- {
fprintf(stdout, ".");
fflush( stdout );
- }
if ( sOutputFile.Len()) {
- LngParser aParser( sInputFile, bUTF8, bULF , bQuiet );
+ LngParser aParser( sInputFile, bUTF8, bULF );
if ( bMergeMode )
aParser.Merge( sMergeSrc, sOutputFile , sPrj );
else
aParser.CreateSDF( sOutputFile, sPrj, sPrjRoot );
}
- if( !bQuiet ) fprintf( stdout, "\n=================================================\n\n" );
-
return 0;
}
diff --git a/l10ntools/source/lngmerge.cxx b/l10ntools/source/lngmerge.cxx
index 5f40a4346f53..f0093bbccea7 100644
--- a/l10ntools/source/lngmerge.cxx
+++ b/l10ntools/source/lngmerge.cxx
@@ -38,15 +38,14 @@ using namespace std;
// class LngParser
//
/*****************************************************************************/
-LngParser::LngParser( const ByteString &rLngFile, BOOL bUTF8, BOOL bULFFormat , bool bQuiet_in )
+LngParser::LngParser( const ByteString &rLngFile, BOOL bUTF8, BOOL bULFFormat )
/*****************************************************************************/
:
nError( LNG_OK ),
pLines( NULL ),
sSource( rLngFile ),
bDBIsUTF8( bUTF8 ),
- bULF( bULFFormat ),
- bQuiet( bQuiet_in )
+ bULF( bULFFormat )
{
pLines = new LngLineList( 100, 100 );
DirEntry aEntry( String( sSource, RTL_TEXTENCODING_ASCII_US ));
diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx
index 6cecb0972cb7..bbc27dc229e7 100644
--- a/l10ntools/source/localize.cxx
+++ b/l10ntools/source/localize.cxx
@@ -53,10 +53,8 @@ namespace transex3
const char *ExeTable[][5] = {
{ "src", "transex3", " -UTF8 -e", "negative", "noiso" },
{ "hrc", "transex3", " -UTF8 -e", "positive", "noiso" },
- //{ "src", "transex3", "-UTF8 -e", "negative", "noiso" },
- //{ "hrc", "transex3", "-UTF8 -e", "positive", "noiso" },
-
- //{ "lng", "lngex", "-UTF8 -e", "negative", "noiso" },
+ { "tree", "xhtex", "", "negative", "noiso" },
+ { "xtx", "xtxex", "", "negative", "noiso" },
{ "ulf", "ulfex", " -e", "negative", "noiso" },
{ "xrb", "xmlex", "-UTF8 -e", "negative", "iso" },
{ "xxl", "xmlex", "-UTF8 -e", "negative", "iso" },
@@ -136,7 +134,6 @@ private:
ByteString sLanguageRestriction;
ByteString sOutputFile;
- bool bQuiet2;
int nFileCnt;
@@ -169,7 +166,7 @@ private:
);
public:
- SourceTreeLocalizer( const ByteString &rRoot, const ByteString &rVersion , bool bLocal , bool bQuiet2_in , bool skip_links );
+ SourceTreeLocalizer( const ByteString &rRoot, const ByteString &rVersion , bool bLocal , bool skip_links );
~SourceTreeLocalizer();
ByteString getSourceLanguages( ByteString sLanguageRestriction , ByteString sCommand );
@@ -185,11 +182,10 @@ public:
/*****************************************************************************/
SourceTreeLocalizer::SourceTreeLocalizer(
- const ByteString &rRoot, const ByteString &rVersion, bool bLocal_in , bool bQuiet2_in , bool skip_links )
+ const ByteString &rRoot, const ByteString &rVersion, bool bLocal_in , bool skip_links )
/*****************************************************************************/
: SourceTreeIterator( rRoot, rVersion , bLocal_in ),
nMode( LOCALIZE_NONE ),
- bQuiet2( bQuiet2_in ),
nFileCnt( 0 )
{
bSkipLinks = skip_links ;
@@ -325,9 +321,6 @@ void SourceTreeLocalizer::WorkOnFile(
sCommand += getSourceLanguages( sLanguageRestriction , sCommand );
}
- if( bQuiet2 ){
- sCommand +=" -QQ ";
- }
//printf("DBG: %s\n",sCommand.GetBuffer());
if (system(sCommand.GetBuffer()) == -1)
fprintf(stderr, "%s failed\n", sCommand.GetBuffer());
@@ -487,7 +480,6 @@ void SourceTreeLocalizer::OnExecuteDirectory( const rtl::OUString &aDirectory )
{
ByteString rDirectory( rtl::OUStringToOString( aDirectory , RTL_TEXTENCODING_UTF8 , aDirectory.getLength() ) ) ;
if ( nMode == LOCALIZE_NONE ){
- if( !bQuiet2 ) fprintf( stdout, "%s\n", rDirectory.GetBuffer());
}
else
WorkOnDirectory( rDirectory );
@@ -543,7 +535,6 @@ BOOL SourceTreeLocalizer::MergeSingleFile(
ByteString sFile( aEntry.GetFull(), RTL_TEXTENCODING_ASCII_US );
ByteString sBCur( aEntry.GetFull(), RTL_TEXTENCODING_ASCII_US );
- if( !bQuiet2 ) fprintf( stdout, "##### %s #####\n", sBCur.GetBuffer());
ULONG nIndex = 0;
ByteString sExtension( aEntry.GetExtension(), RTL_TEXTENCODING_ASCII_US );
@@ -591,9 +582,6 @@ BOOL SourceTreeLocalizer::MergeSingleFile(
sCommand += " -l ";
sCommand += sLanguageRestriction;
}
- if( bQuiet2 ){
- sCommand +=" -QQ ";
- }
DirEntry aPath( aEntry.GetPath());
DirEntry aOldCWD;
@@ -603,7 +591,6 @@ BOOL SourceTreeLocalizer::MergeSingleFile(
fprintf(stderr, "%s failed\n", sCommand.GetBuffer());
nFileCnt++;
printf(".");
- //if( bQuiet2 ){ printf("."); }
SvFileStream aInStream( aOut.GetFull(), STREAM_READ );
if ( !aInStream.IsOpen()) {
fprintf( stderr,
@@ -794,12 +781,11 @@ void Help()
fprintf( stdout,
"As part of the L10N framework, localize extracts and merges translations\n"
"out of and into the whole source tree.\n\n"
- "Syntax: localize -e -l en-US -f FileName [-QQ]\n"
+ "Syntax: localize -e -l en-US -f FileName \n"
"Parameter:\n"
"\t-e: Extract mode\n"
"\tFileName: Output file when extract mode, input file when merge mode\n"
"\tl1...ln: supported languages (\"all\" for all languages).\n"
- "\tQQ: quiet output)"
);
fprintf( stdout,
@@ -842,15 +828,12 @@ int _cdecl main( int argc, char *argv[] )
BOOL bExport = FALSE;
BOOL bMerge = FALSE;
- bool bQuiet = false;
- bool bQuiet2 = false;
bool bSkipLinks = false;
ByteString sLanguages;
ByteString sFileName;
ByteString sOutput;
- bQuiet2 = true;
bExport = TRUE;
for( int i = 1; i < argc; i++ ) {
@@ -863,17 +846,12 @@ int _cdecl main( int argc, char *argv[] )
return Error();
bExport = TRUE;
}
- else if( sSwitch.Equals( "-Q" )) {
- bQuiet = true;
- }
else if ( sSwitch.Equals( "-I" ) )
nState = STATE_ISOCODE;
else if ( sSwitch.Equals( "-L" ) )
nState = STATE_LANGUAGES;
else if ( sSwitch.Equals( "-F" ) )
nState = STATE_FILENAME;
- else if ( sSwitch.Equals( "-QQ" ))
- bQuiet2 = true;
else if ( ByteString( argv[ i ]).ToUpperAscii().Equals( "-O" ) )
nState = STATE_OUTPUT;
else {
@@ -956,10 +934,10 @@ int _cdecl main( int argc, char *argv[] )
else
curRepository = string( Export::GetEnv("SOURCE_ROOT_DIR") ) + "/" + *iter;
cout << "Localizing repository " << curRepository << "\n";
- SourceTreeLocalizer aIter( ByteString( curRepository.c_str() ) , sVersion , (sOutput.Len() > 0) , bQuiet2 , bSkipLinks );
+ SourceTreeLocalizer aIter( ByteString( curRepository.c_str() ) , sVersion , (sOutput.Len() > 0) , bSkipLinks );
aIter.SetLanguageRestriction( sLanguages );
if ( bExport ){
- if( bQuiet2 ){ /*printf("");*/fflush( stdout );}
+ fflush( stdout );
if( *iter == "ooo" )
aIter.Extract( sFileName );
else
@@ -969,7 +947,7 @@ int _cdecl main( int argc, char *argv[] )
sFileNameWithExt += ByteString( (*iter).c_str() );
aIter.Extract( sFileNameWithExt );
}
- if( bQuiet2 ){ printf("\n%d files found!\n",aIter.GetFileCnt());}
+ printf("\n%d files found!\n",aIter.GetFileCnt());
}
}
if( hasPwd )
@@ -977,12 +955,12 @@ int _cdecl main( int argc, char *argv[] )
string pwd;
Export::getCurrentDir( pwd );
cout << "Localizing repository " << pwd << "\n";
- SourceTreeLocalizer aIter( ByteString( pwd.c_str() ) , sVersion , (sOutput.Len() > 0) , bQuiet2 , bSkipLinks );
+ SourceTreeLocalizer aIter( ByteString( pwd.c_str() ) , sVersion , (sOutput.Len() > 0) , bSkipLinks );
aIter.SetLanguageRestriction( sLanguages );
if ( bExport ){
- if( bQuiet2 ){ /*printf("");*/fflush( stdout );}
+ fflush( stdout );
aIter.Extract( sFileName );
- if( bQuiet2 ){ printf("\n%d files found!\n",aIter.GetFileCnt());}
+ printf("\n%d files found!\n",aIter.GetFileCnt());
}
}
diff --git a/l10ntools/source/srclex.l b/l10ntools/source/srclex.l
index 473da8b5d511..eb2b6af78b34 100644
--- a/l10ntools/source/srclex.l
+++ b/l10ntools/source/srclex.l
@@ -259,10 +259,6 @@ main( int argc, char* argv[])
FILE *pFile;
pOutput = GetOutputFile( argc, argv );
- if( !isQuiet() ){
- fprintf( stdout, "\nTransEx 3.1 Copyright 2000, 2010 Oracle and/or its affiliates. All Rights Reserved.\n" );
- fprintf( stdout, "=====================================================================================\n" );
- }
if ( !pOutput ) {
fprintf( stdout, "Syntax:TRANSEX[-p Prj][-r PrjRoot]-i FileIn...[-o FileOut][-m DataBase][-e][-b][-u][-L l1,l2,...]\n" );
@@ -301,8 +297,6 @@ main( int argc, char* argv[])
nRetValue = GetError();
EndExport();
- if( !isQuiet() ) fprintf( stdout, "\n===================================\n\n" );
-
/* return error level */
return nRetValue;
}
diff --git a/l10ntools/source/xrmlex.l b/l10ntools/source/xrmlex.l
index 4770a851c741..6229525d7e84 100644
--- a/l10ntools/source/xrmlex.l
+++ b/l10ntools/source/xrmlex.l
@@ -180,10 +180,6 @@ main( int argc, char* argv[])
FILE *pFile;
pOutput = GetOutputFile( argc, argv );
- if( !isQuiet() ){
- fprintf( stdout, "\nXrmEx 0.9 Copyright 2000, 2010 Oracle and/or its affiliates. All Rights Reserved.\n" );
- fprintf( stdout, "===================================================================================\n" );
- }
if ( !pOutput ) {
fprintf( stdout, "Syntax: XRMEX[-p Prj][-r PrjRoot]-i FileIn [-o FileOut][-m DataBase][-e][-b][-u][-NOUTF8][-L l1,l2,...]\n" );
@@ -222,7 +218,6 @@ main( int argc, char* argv[])
nRetValue = GetError();
EndXrmExport();
- if( !isQuiet() ) fprintf( stdout, "\n===================================\n\n" );
removeTempFile();
/* return error level */
return nRetValue;
diff --git a/l10ntools/source/xrmmerge.cxx b/l10ntools/source/xrmmerge.cxx
index b77f75ea04e5..fa7fdb4b4376 100644
--- a/l10ntools/source/xrmmerge.cxx
+++ b/l10ntools/source/xrmmerge.cxx
@@ -61,7 +61,6 @@ BOOL bEnableExport;
BOOL bMergeMode;
BOOL bErrorLog;
BOOL bUTF8;
-bool bQuiet;
ByteString sPrj;
ByteString sPrjRoot;
ByteString sInputFileName;
@@ -87,7 +86,6 @@ extern char *GetOutputFile( int argc, char* argv[])
sInputFileName = "";
sActFileName = "";
Export::sLanguages = "";
- bQuiet = false;
USHORT nState = STATE_NON;
BOOL bInput = FALSE;
@@ -108,9 +106,6 @@ extern char *GetOutputFile( int argc, char* argv[])
else if ( ByteString( argv[ i ] ).ToUpperAscii() == "-M" ) {
nState = STATE_MERGESRC; // next token specifies the merge database
}
- else if ( ByteString( argv[ i ] ).ToUpperAscii() == "-QQ" ) {
- bQuiet = true;
- }
else if ( ByteString( argv[ i ] ).ToUpperAscii() == "-E" ) {
nState = STATE_ERRORLOG;
bErrorLog = FALSE;
@@ -199,10 +194,6 @@ int InitXrmExport( char *pOutput , char* pFilename)
return 1;
}
-int isQuiet(){
- if( bQuiet ) return 1;
- else return 0;
-}
/*****************************************************************************/
int EndXrmExport()
/*****************************************************************************/
@@ -252,8 +243,6 @@ extern FILE *GetXrmFile()
// (e.g.: source\ui\src\menue.src)
sActFileName = sFullEntry.Copy( sPrjEntry.Len() + 1 );
- if( !bQuiet )
- fprintf( stdout, "\nProcessing File %s ...\n", sInputFileName.GetBuffer());
sActFileName.SearchAndReplaceAll( "/", "\\" );
diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
index bb3116c9f554..1cd400e248d6 100644
--- a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
+++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: VersionException.idl,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
index 3a2cb5e330cc..0f0407b0e989 100644
--- a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
+++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: VersionException.idl,v $
- * $Revision: 1.3 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl
index 52987ad9bd77..82999ef4a41c 100644
--- a/offapi/com/sun/star/deployment/Prerequisites.idl
+++ b/offapi/com/sun/star/deployment/Prerequisites.idl
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: KeyUsage.idl,v $
- * $Revision: 1.4 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl
index cb3f2a5e0f6c..1045fc7a295c 100644
--- a/offapi/com/sun/star/script/XLibraryContainer3.idl
+++ b/offapi/com/sun/star/script/XLibraryContainer3.idl
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: XLibraryContainer2.idl,v $
- * $Revision: 1.5 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
diff --git a/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs b/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs
index 7b0b221f15a9..7ff91464727d 100755
--- a/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/OOoImprovement/Settings.xcs
@@ -15,7 +15,7 @@
OpenOffice.org Improvement Program. If this is zero the user will get asked.
</desc>
</info>
- <value>2</value>
+ <value>1</value>
</prop>
<prop oor:name="InvitationAccepted" oor:type="xs:boolean">
<info>
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index a7c1f2826381..5ed8c9739f9c 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -43,6 +43,8 @@ Module gid_Module_Root_Brand
gid_Brand_Dir_Share_C05_Faq,
gid_Brand_Dir_Share_Config,
gid_Brand_Dir_Share_Extension,
+ gid_Brand_Dir_Share_Extensions,
+ gid_Brand_Dir_Share_Prereg,
gid_Brand_Dir_Share_Uno_Packages,
gid_Brand_Dir_Share_Uno_Packages_Cache,
gid_Brand_Dir_Share_Registry,
@@ -97,7 +99,8 @@ Module gid_Module_Root_Brand
gid_Brand_File_Share_Xdg_Printeradmin,
gid_Brand_File_Share_Xdg_QStart,
gid_Brand_File_Share_Xdg_StartCenter,
- gid_Brand_File_Share_Xdg_Writer);
+ gid_Brand_File_Share_Xdg_Writer,
+ gid_Brand_File_Txt_Package);
Unixlinks = (gid_Brand_Unixlink_BasisLink,
gid_Brand_Unixlink_Program,
gid_Brand_Unixlink_Unopkg,
@@ -221,6 +224,12 @@ Directory gid_Brand_Dir_Share_Extensions
DosName = "extensions";
End
+Directory gid_Brand_Dir_Share_Prereg
+ ParentID = gid_Brand_Dir_Share;
+ DosName = "prereg";
+ Styles = (CREATE);
+End
+
Directory gid_Brand_Dir_Share_Extensions_Install
ParentID = gid_Brand_Dir_Share_Extension;
DosName = "install";
@@ -644,6 +653,13 @@ File gid_Brand_File_Images_Brand_Zip
Styles = (PACKED);
End
+File gid_Brand_File_Txt_Package
+ TXT_FILE_BODY;
+ Dir = gid_Brand_Dir_Share_Extensions;
+ Name = "package.txt";
+ Styles = (PACKED);
+End
+
File gid_Brand_File_Share_Registry_Brand_Xcd
TXT_FILE_BODY;
Styles = (PACKED, SCPZIP_REPLACE);
diff --git a/scp2/source/ooo/profileitem_ooo.scp b/scp2/source/ooo/profileitem_ooo.scp
index 9818d5b26749..724316ba6f5e 100644
--- a/scp2/source/ooo/profileitem_ooo.scp
+++ b/scp2/source/ooo/profileitem_ooo.scp
@@ -461,4 +461,3 @@ ProfileItem gid_Basis_Profileitem_Version_Ooopackageversion
Key = "OOOPackageVersion";
Value = "${OOOPACKAGEVERSION}";
End
-
diff --git a/scp2/source/ooo/windowscustomaction_ooo.scp b/scp2/source/ooo/windowscustomaction_ooo.scp
index e129f147932a..7bd6c18fae99 100755
--- a/scp2/source/ooo/windowscustomaction_ooo.scp
+++ b/scp2/source/ooo/windowscustomaction_ooo.scp
@@ -199,6 +199,25 @@ WindowsCustomAction gid_Customaction_Shellextensionsdll7
Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "InstallValidate");
End
+WindowsCustomAction gid_Customaction_Register_Extensions
+ Name = "RegisterExtensions";
+ Typ = "65";
+ Source = "shlxtmsi.dll";
+ Target = "RegisterExtensions";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\"", "end");
+ Assignment2 = ("AdminExecuteSequence", "Not REMOVE=\"ALL\"", "end");
+End
+
+WindowsCustomAction gid_Customaction_Remove_Extensions
+ Name = "RemoveExtensions";
+ Typ = "65";
+ Source = "shlxtmsi.dll";
+ Target = "RemoveExtensions";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "FileCost");
+End
+
WindowsCustomAction gid_Customaction_Set_Admininstall
Name = "SetAdminInstallProperty";
Typ = "65";
@@ -287,6 +306,16 @@ WindowsCustomAction gid_Customaction_Patch_InstallExchangeFiles
Assignment2 = ("AdminExecuteSequence", "", "behind_InstallFinalize");
End
+WindowsCustomAction gid_Customaction_Langpack_Register_Extensions
+ Name = "RegisterExtensions";
+ Typ = "65";
+ Source = "lngpckinsthlp.dll";
+ Target = "RegisterExtensions";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "", "end");
+ Assignment2 = ("AdminExecuteSequence", "", "end");
+End
+
WindowsCustomAction gid_Customaction_Patch_SetFeatureState
Name = "SetFeatureState";
Typ = "65";
diff --git a/setup_native/scripts/admin.pl b/setup_native/scripts/admin.pl
index f5f2d207b5ed..3e058af172f6 100644
--- a/setup_native/scripts/admin.pl
+++ b/setup_native/scripts/admin.pl
@@ -298,6 +298,69 @@ sub get_sourcepath_from_filename_and_includepath
return \$onefile;
}
+##############################################################
+# Removing all empty directories below a specified directory
+##############################################################
+
+sub remove_empty_dirs_in_folder
+{
+ my ( $dir, $firstrun ) = @_;
+
+ if ( $firstrun )
+ {
+ print "Removing superfluous directories\n";
+ }
+
+ my @content = ();
+
+ $dir =~ s/\Q$separator\E\s*$//;
+
+ if ( -d $dir )
+ {
+ opendir(DIR, $dir);
+ @content = readdir(DIR);
+ closedir(DIR);
+
+ my $oneitem;
+
+ foreach $oneitem (@content)
+ {
+ if ((!($oneitem eq ".")) && (!($oneitem eq "..")))
+ {
+ my $item = $dir . $separator . $oneitem;
+
+ if ( -d $item ) # recursive
+ {
+ remove_empty_dirs_in_folder($item, 0);
+ }
+ }
+ }
+
+ # try to remove empty directory
+ my $returnvalue = rmdir $dir;
+
+ # if ( $returnvalue ) { print "Successfully removed empty dir $dir\n"; }
+ }
+}
+
+####################################################
+# Detecting the directory with extensions
+####################################################
+
+sub get_extensions_dir
+{
+ my ( $unopkgfile ) = @_;
+
+ my $localbranddir = $unopkgfile;
+ get_path_from_fullqualifiedname(\$localbranddir); # "program" dir in brand layer
+ get_path_from_fullqualifiedname(\$localbranddir); # root dir in brand layer
+ $localbranddir =~ s/\Q$separator\E\s*$//;
+ my $extensiondir = $localbranddir . $separator . "share" . $separator . "extensions";
+ my $preregdir = $localbranddir . $separator . "share" . $separator . "prereg" . $separator . "bundled";
+
+ return ($extensiondir, $preregdir);
+}
+
########################################################
# Finding all files with a specified file extension
# in a specified directory.
@@ -880,7 +943,6 @@ sub copy_files_into_directory_structure
print "Copying files\n";
my $unopkgfile = "";
- my @extensions = ();
for ( my $i = 1; $i <= $maxsequence; $i++ )
{
@@ -923,8 +985,6 @@ sub copy_files_into_directory_structure
if ( ! $copyreturn) { exit_program("ERROR: Could not copy $source to $dest\n"); }
- # Collecting all extensions
- if ( $destfile =~ /\.oxt\s*$/ ) { push(@extensions, $destfile); }
# Searching unopkg.exe
if ( $destfile =~ /unopkg\.exe\s*$/ ) { $unopkgfile = $destfile; }
# if (( $^O =~ /cygwin/i ) && ( $destfile =~ /\.exe\s*$/ )) { change_privileges($destfile, "775"); }
@@ -935,7 +995,7 @@ sub copy_files_into_directory_structure
# }
}
- return ($unopkgfile, \@extensions);
+ return ($unopkgfile);
}
######################################################
@@ -1026,12 +1086,19 @@ sub get_temppath
}
####################################################################################
-# Registering one extension
+# Registering extensions
####################################################################################
-sub register_one_extension
+sub register_extensions_sync
{
- my ($unopkgfile, $extension, $temppath) = @_;
+ my ($unopkgfile, $localtemppath, $preregdir) = @_;
+
+ if ( $preregdir eq "" )
+ {
+ my $logtext = "ERROR: Failed to determine \"prereg\" folder for extension registration! Please check your installation set.";
+ print $logtext . "\n";
+ exit_program($logtext);
+ }
my $from = cwd();
@@ -1051,22 +1118,17 @@ sub register_one_extension
$path_displayed = 1;
}
- $temppath =~ s/\\/\//g;
- $temppath = "/".$temppath;
-
- # Converting path of $extension for cygwin
-
- my $localextension = $extension;
- if ( $^O =~ /cygwin/i ) {
- $localextension = qx{cygpath -w "$extension"};
- $localextension =~ s/\\/\\\\/g;
- }
+ $localtemppath =~ s/\\/\//g;
if ( $^O =~ /cygwin/i ) {
$executable = "./" . $executable;
+ $preregdir = qx{cygpath -m "$preregdir"};
+ chomp($preregdir);
}
- my $systemcall = $executable . " add --shared --verbose --suppress-license " . "\"" . $localextension . "\"" . " -env:UserInstallation=file://" . $temppath . " 2\>\&1 |";
+ $preregdir =~ s/\/\s*$//g;
+
+ my $systemcall = $executable . " sync --verbose -env:BUNDLED_EXTENSIONS_USER=\"file:///" . $preregdir . "\"" . " -env:UserInstallation=file:///" . $localtemppath . " 2\>\&1 |";
print "... $systemcall\n";
@@ -1094,26 +1156,20 @@ sub register_one_extension
sub register_extensions
{
- my ($unopkgfile, $extensions, $temppath) = @_;
+ my ($unopkgfile, $temppath, $preregdir) = @_;
- if ( $#{$extensions} > -1 )
- {
- print "Registering extensions:\n";
+ print "Registering extensions:\n";
- if (( ! -f $unopkgfile ) || ( $unopkgfile eq "" ))
- {
- print("WARNING: Could not find unopkg.exe (Language Pack?)!\n");
- }
- else
- {
- foreach $extension ( @{$extensions} ) { register_one_extension($unopkgfile, $extension, $temppath); }
- remove_complete_directory($temppath, 1)
- }
+ if (( ! -f $unopkgfile ) || ( $unopkgfile eq "" ))
+ {
+ print("WARNING: Could not find unopkg.exe (Language Pack?)!\n");
}
else
{
- print "No extensions to register.\n";
+ register_extensions_sync($unopkgfile, $temppath, $preregdir);
+ remove_complete_directory($temppath, 1);
}
+
}
####################################################################################
@@ -1357,7 +1413,7 @@ my ( $filehash, $fileorder, $maxsequence ) = analyze_file_file($filecontent);
my $fullpathhash = create_directory_structure($dirhash, $targetdir);
# Copying files
-my ($unopkgfile, $extensions) = copy_files_into_directory_structure($fileorder, $filehash, $componenthash, $fullpathhash, $maxsequence, $unpackdir, $installdir, $dirhash);
+my ($unopkgfile) = copy_files_into_directory_structure($fileorder, $filehash, $componenthash, $fullpathhash, $maxsequence, $unpackdir, $installdir, $dirhash);
if ( $^O =~ /cygwin/i ) { change_privileges_full($targetdir); }
my $msidatabase = $targetdir . $separator . $databasefilename;
@@ -1369,10 +1425,14 @@ $filename = $helperdir . $separator . "CustomAction.idt";
$filecontent = read_file($filename);
my $register_extensions_exists = analyze_customaction_file($filecontent);
+# Removing empty dirs in extension folder
+my ( $extensionfolder, $preregdir ) = get_extensions_dir($unopkgfile);
+if ( -d $extensionfolder ) { remove_empty_dirs_in_folder($extensionfolder, 1); }
+
if ( $register_extensions_exists )
{
# Registering extensions
- register_extensions($unopkgfile, $extensions, $temppath);
+ register_extensions($unopkgfile, $temppath, $preregdir);
}
# Saving info in Summary Information Stream of msi database (required for following patches)
diff --git a/setup_native/scripts/install_linux.sh b/setup_native/scripts/install_linux.sh
index fe4be73f77ea..c33fe989554f 100644
--- a/setup_native/scripts/install_linux.sh
+++ b/setup_native/scripts/install_linux.sh
@@ -121,6 +121,14 @@ then
exit 2
fi
+# #163256# check if we are on a debian system...
+if rpm --help | grep debian >/dev/null;
+then
+ DEBIAN_FLAGS="--force-debian --nodeps"
+else
+ DEBIAN_FLAGS=
+fi
+
#
# Determine whether this should be an update or a fresh install
#
@@ -227,7 +235,7 @@ FAKEDBRPM=/tmp/fake-db-1.0-$$.noarch.rpm
linenum=???
tail -n +$linenum $0 > $FAKEDBRPM
-rpm --upgrade --ignoresize --dbpath $RPM_DB_PATH $FAKEDBRPM
+rpm ${DEBIAN_FLAGS} --upgrade --ignoresize --dbpath $RPM_DB_PATH $FAKEDBRPM
rm -f $FAKEDBRPM
@@ -253,7 +261,7 @@ echo "Installing the RPMs"
ABSROOT=`cd ${INSTALLDIR}; pwd`
RELOCATIONS=`rpm -qp --qf "--relocate %{PREFIXES}=${ABSROOT}%{PREFIXES} \n" $RPMLIST | sort -u | tr -d "\012"`
-UserInstallation=\$BRAND_BASE_DIR/../UserInstallation rpm $RPMCMD --ignoresize -vh $RELOCATIONS --dbpath $RPM_DB_PATH $RPMLIST
+UserInstallation=\$BRAND_BASE_DIR/../UserInstallation rpm ${DEBIAN_FLAGS} $RPMCMD --ignoresize -vh $RELOCATIONS --dbpath $RPM_DB_PATH $RPMLIST
#
# Create a link into the users home directory
@@ -268,11 +276,11 @@ if [ "$UPDATE" = "yes" -a ! -f $INSTALLDIR/program/bootstraprc ]
then
echo
echo "Update failed due to a bug in RPM, uninstalling .."
- rpm --erase -v --nodeps --dbpath $RPM_DB_PATH `rpm --query --queryformat "%{NAME} " --package $RPMLIST --dbpath $RPM_DB_PATH`
+ rpm ${DEBIAN_FLAGS} --erase -v --nodeps --dbpath $RPM_DB_PATH `rpm --query --queryformat "%{NAME} " --package $RPMLIST --dbpath $RPM_DB_PATH`
echo
echo "Now re-installing new packages .."
echo
- rpm --install --nodeps --ignoresize -vh $RELOCATIONS --dbpath $RPM_DB_PATH $RPMLIST
+ rpm ${DEBIAN_FLAGS} --install --nodeps --ignoresize -vh $RELOCATIONS --dbpath $RPM_DB_PATH $RPMLIST
echo
fi
diff --git a/setup_native/source/packinfo/package.txt b/setup_native/source/packinfo/package.txt
new file mode 100644
index 000000000000..4ec319646932
--- /dev/null
+++ b/setup_native/source/packinfo/package.txt
@@ -0,0 +1 @@
+DO NOT DELETE THIS FILE \ No newline at end of file
diff --git a/setup_native/source/packinfo/packinfo_office.txt b/setup_native/source/packinfo/packinfo_office.txt
index 903e1834e764..fb04b347fcdf 100755
--- a/setup_native/source/packinfo/packinfo_office.txt
+++ b/setup_native/source/packinfo/packinfo_office.txt
@@ -477,6 +477,7 @@ End
Start
module = "gid_Module_Root_Extension_Oooimprovement"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-oooimprovement"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-oooimprovement"
@@ -492,6 +493,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Af"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-af"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-af"
@@ -507,6 +509,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Ca"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ca"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ca"
@@ -522,6 +525,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Cs"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-cs"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-cs"
@@ -537,6 +541,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Da"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-da"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-da"
@@ -552,6 +557,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_De_AT"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-AT"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-AT"
@@ -567,6 +573,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_De_CH"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-CH"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-CH"
@@ -582,6 +589,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_De_DE"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-DE"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-DE"
@@ -597,6 +605,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_En"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-en"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-en"
@@ -612,6 +621,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Es"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-es"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-es"
@@ -627,6 +637,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Et"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-et"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-et"
@@ -642,6 +653,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Fr"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-fr"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-fr"
@@ -657,6 +669,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Gl"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-gl"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-dict-gl"
@@ -672,6 +685,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_He"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-he"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-he"
@@ -687,6 +701,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Hu"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-hu"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-hu"
@@ -702,6 +717,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_It"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-it"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-it"
@@ -717,6 +733,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Ku_Tr"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%WITHOUTDOTUNIXPRODUCTNAME%BRANDPACKAGEVERSION-dict-ku-TR"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%WITHOUTDOTUNIXPRODUCTNAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPRODUCTNAME%BRANDPACKAGEVERSION-dict-ku-TR"
@@ -732,6 +749,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Lt"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-lt"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-lt"
@@ -747,6 +765,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Ne"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ne"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ne"
@@ -762,6 +781,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Nl"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-nl"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-nl"
@@ -777,6 +797,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_No"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-no"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-no"
@@ -792,6 +813,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Pl"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pl"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-pl"
@@ -807,6 +829,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Pt"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pt"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-pt"
@@ -822,6 +845,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Ro"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ro"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ro"
@@ -837,6 +861,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Ru"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ru"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ru"
@@ -852,6 +877,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Sk"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sk"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sk"
@@ -867,6 +893,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Sl"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sl"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sl"
@@ -882,6 +909,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Sr"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sr"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sr"
@@ -897,6 +925,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Sv"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sv"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sv"
@@ -912,6 +941,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Sw"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sw"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sw"
@@ -927,6 +957,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Th"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-th"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-th"
@@ -942,6 +973,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Vi"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-vi"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-dict-vi"
@@ -957,6 +989,7 @@ End
Start
module = "gid_Module_Root_Extension_Dictionary_Zu"
+script = "shellscripts_extensions.txt"
solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-zu"
solarisrequires = "%SOLSUREPACKAGEPREFIX-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION"
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-zu"
diff --git a/setup_native/source/packinfo/shellscripts_extensions.txt b/setup_native/source/packinfo/shellscripts_extensions.txt
index 424962e3d874..c73e7fae5838 100755
--- a/setup_native/source/packinfo/shellscripts_extensions.txt
+++ b/setup_native/source/packinfo/shellscripts_extensions.txt
@@ -27,7 +27,7 @@ fi
#
DISKLESS_SRVC=`echo $$BASEDIR | /usr/bin/grep export/Solaris_[1-9][0-9]/usr_$${ARCH}.all`
if [ "$$DISKLESS_SRVC" ]; then
- UNOPKG=/export/Solaris_11/usr_`uname -p`.all/opt/staroffice9/program/unopkg
+ UNOPKG=/export/Solaris_11/usr_`uname -p`.allPRODUCTDIRECTORYNAME/program/unopkg
POSTRUN=$$PKG_INSTALL_ROOT/usr_`uname -p`.all/usr/lib/postrun
CLIENT_BASEDIR=$$PKG_INSTALL_ROOT/usr_$${ARCH}.all
else
@@ -38,18 +38,20 @@ fi
if [ -x $$POSTRUN ]; then
( echo "test -x \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" || exit 0"
echo "umask 022"
- echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" add --shared --suppress-license --bundled \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}\" \"-env:UserInstallation=file:////$$INSTDIR\" '-env:UNO_JAVA_JFW_INSTALL_DATA=\$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'"
+ echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" sync \"-env:BUNDLED_EXTENSIONS_USER=file:////$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" \"-env:UserInstallation=file:////$$INSTDIR\" '-env:UNO_JAVA_JFW_INSTALL_DATA=\$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'"
+ echo "find \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;"
) | $$POSTRUN -b -c UNOPKG
if [ "$$?" != "0" ]; then
- echo "\nERROR: Installation of UNO extension ${OXTFILENAME}"
+ echo "\nERROR: Installation of UNO extensions"
echo " through $$POSTRUN failed."
exit 1
fi
else
# No postrun available, try running unopkg directly
- "$$UNOPKG" add --shared --suppress-license --bundled "$$BASEDIR/PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ "$$UNOPKG" sync "-env:BUNDLED_EXTENSIONS_USER=file:////////$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled" "-env:UserInstallation=file:////////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ find "$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
if [ "$$?" != "0" ]; then
- echo "\nERROR: Installation of UNO extension ${OXTFILENAME} failed."
+ echo "\nERROR: Installation of UNO extensions failed."
test "$$BASEDIR" = "$$CLIENT_BASEDIR" || echo "ERROR: alternate root install requires SUNWpostrun package to be installed"
echo 'ERROR: Make sure the runtime requirements (operating system, patch level, architecture) are met.'
exit 1
@@ -63,7 +65,8 @@ fi
exit 0
END
-%preremove << END
+%postremove << END
+
if [ -n "$$TMPDIR" ]; then
UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]; then
@@ -89,15 +92,17 @@ if [ -x $$PKG_INSTALL_ROOT/usr/lib/postrun ]; then
( echo "test -x \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" || exit 0"
echo "cd \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program\""
echo "umask 022"
- echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" remove --shared --bundled \"${OXTFILENAME}\" \"-env:UserInstallation=file:////$$INSTDIR\" '-env:UNO_JAVA_JFW_INSTALL_DATA=\$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'"
+ echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" sync \"-env:BUNDLED_EXTENSIONS_USER=file:////$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" \"-env:UserInstallation=file:////$$INSTDIR\" '-env:UNO_JAVA_JFW_INSTALL_DATA=\$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'"
+ echo "find \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;"
echo "rm -rf \"$$INSTDIR\""
) | $$PKG_INSTALL_ROOT/usr/lib/postrun -c UNOPKG
else
# No postrun available, try running unopkg directly
test -x $$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg || exit 0
- "$$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ "$$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg" sync "-env:BUNDLED_EXTENSIONS_USER=file:////////$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled" "-env:UserInstallation=file:////////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ echo "find \"$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;"
if [ "$$?" != "0" ]; then
- echo "\nERROR: Removal of UNO extension ${OXTFILENAME} failed."
+ echo "\nERROR: Removal of UNO extension failed."
test "$$BASEDIR" = "$$CLIENT_BASEDIR" || echo "ERROR: alternate root uninstall requires SUNWpostrun package to be installed"
echo 'ERROR: Make sure the runtime requirements (operating system, patch level, architecture) are met.'
exit 1
@@ -115,44 +120,6 @@ END
%format rpm
-# As remove does not need the oxt file, this could potentially
-# be done in the postinstall script as well.
-%preinstall << END
-# if this is an update, remove the old package instance first
-test "$$1" = "2" || exit 0
-
-#Find the temp dir
-if [ -n "$$TMPDIR" ]; then
- UNOPKGTMP="$$TMPDIR"
-elif [ -n "$$TMP" ]; then
- UNOPKGTMP="$$TMP"
-elif [ -d "/tmp" ]; then
- UNOPKGTMP="/tmp"
-else
- echo "No tmp directory found!"
- exit 1
-fi
-
-#Create the command which creates a temporary directory
-if [ -x "/bin/mktemp" ]
-then
- INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
-else
- INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
- mkdir "$$INSTDIR"
-fi
-
-if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
- "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
-fi
-
-if [ -n "$$INSTDIR" ]; then
- rm -rf "$$INSTDIR"
-fi
-
-exit 0
-END
-
%postinstall << END
#Find the temp dir
if [ -n "$$TMPDIR" ]; then
@@ -176,7 +143,8 @@ else
fi
if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
- "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" add --shared --suppress-license --shared "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}" "-env:UserInstallation=file://////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" sync "-env:BUNDLED_EXTENSIONS_USER=file:////$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ find "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
if [ -n "$$INSTDIR" ]; then
@@ -185,13 +153,9 @@ fi
exit 0
-
END
-%preremove << END
-# if this is an update, just do nothing
-test "$$1" = "0" || exit 0
-
+%postremove << END
#Find the temp dir
if [ -n "$$TMPDIR" ]; then
UNOPKGTMP="$$TMPDIR"
@@ -214,7 +178,8 @@ else
fi
if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
- "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" sync "-env:BUNDLED_EXTENSIONS_USER=file:////$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ find "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
if [ -n "$$INSTDIR" ]; then
@@ -226,53 +191,6 @@ END
%format deb
-# As remove does not need the oxt file, this could potentially
-# be done in the postinstall script as well.
-%preinstall << END
-# if this is an update, remove the old package instance first
-if [ "$$1" != "upgrade" ]
-then
- exit 0
-fi
-
-#Find the temp dir
-if [ -n "$$TMPDIR" ]
-then
- UNOPKGTMP="$$TMPDIR"
-elif [ -n "$$TMP" ]
-then
- UNOPKGTMP="$$TMP"
-elif [ -d "/tmp" ]
-then
- UNOPKGTMP="/tmp"
-else
- echo "No tmp directory found!"
- exit 1
-fi
-
-
-#Create the command which creates a temporary directory
-if [ -x "/bin/mktemp" ]
-then
- INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
-else
- INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
- mkdir "$$INSTDIR"
-fi
-
-if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]
-then
- "PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
-fi
-
-if [ -n "$$INSTDIR" ]
-then
- rm -rf "$$INSTDIR"
-fi
-
-exit 0
-END
-
%postinstall << END
#Find the temp dir
if [ -n "$$TMPDIR" ]
@@ -299,7 +217,8 @@ else
fi
if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]; then
- "PRODUCTDIRECTORYNAME/program/unopkg" add --shared --suppress-license --bundled "PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}" "-env:UserInstallation=file://////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ "PRODUCTDIRECTORYNAME/program/unopkg" sync "-env:BUNDLED_EXTENSIONS_USER=file://////PRODUCTDIRECTORYNAME/share/prereg/bundled" "-env:UserInstallation=file://////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ find "PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
if [ -n "$$INSTDIR" ]
@@ -309,18 +228,10 @@ fi
exit 0
-
END
-%preremove << END
-# if this is an update, just do nothing
-
-if [ "$$1" = "upgrade" ]
-then
- exit 0
-fi
-
-#Find the temp dir
+%postremove << END
+# Find the temp dir
if [ -n "$$TMPDIR" ]
then
UNOPKGTMP="$$TMPDIR"
@@ -346,7 +257,8 @@ fi
if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]
then
- "PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ "PRODUCTDIRECTORYNAME/program/unopkg" sync "-env:BUNDLED_EXTENSIONS_USER=file://////PRODUCTDIRECTORYNAME/share/prereg/bundled" "-env:UserInstallation=file://////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
+ find "PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
if [ -n "$$INSTDIR" ]
diff --git a/setup_native/source/win32/customactions/languagepacks/exports.dxp b/setup_native/source/win32/customactions/languagepacks/exports.dxp
index d01befd5d0d9..c098a38d547f 100644
--- a/setup_native/source/win32/customactions/languagepacks/exports.dxp
+++ b/setup_native/source/win32/customactions/languagepacks/exports.dxp
@@ -2,3 +2,5 @@ SetProductInstallationPath
RegisterLanguagePack
GetUserInstallMode
IsOfficeRunning
+RegisterExtensions
+
diff --git a/setup_native/source/win32/customactions/languagepacks/makefile.mk b/setup_native/source/win32/customactions/languagepacks/makefile.mk
index 69526077c509..8da47ab1cc4f 100644
--- a/setup_native/source/win32/customactions/languagepacks/makefile.mk
+++ b/setup_native/source/win32/customactions/languagepacks/makefile.mk
@@ -77,6 +77,7 @@ STDSHL+= \
#SHL1LIBS = $(SLB)$/$(TARGET).lib
SHL1OBJS = $(SLOFILES) \
+ $(SLO)$/registerextensions.obj \
$(SLO)$/seterror.obj
SHL1TARGET = $(TARGET)
diff --git a/setup_native/source/win32/customactions/patch/exports.dxp b/setup_native/source/win32/customactions/patch/exports.dxp
index b57f2838bf34..dd5eb4dcf7c8 100755
--- a/setup_native/source/win32/customactions/patch/exports.dxp
+++ b/setup_native/source/win32/customactions/patch/exports.dxp
@@ -7,3 +7,5 @@ IsOfficeRunning
SetFeatureState
SetNewFeatureState
ShowOnlineUpdateDialog
+RegisterExtensions
+RemoveExtensions
diff --git a/setup_native/source/win32/customactions/patch/makefile.mk b/setup_native/source/win32/customactions/patch/makefile.mk
index cb8733de20b6..57705389248f 100755
--- a/setup_native/source/win32/customactions/patch/makefile.mk
+++ b/setup_native/source/win32/customactions/patch/makefile.mk
@@ -76,6 +76,7 @@ SHL1OBJS = $(SLOFILES) \
$(SLO)$/shutdown_quickstart.obj \
$(SLO)$/quickstarter.obj \
$(SLO)$/upgrade.obj \
+ $(SLO)$/registerextensions.obj \
$(SLO)$/seterror.obj
SHL1TARGET = $(TARGET)
diff --git a/setup_native/source/win32/customactions/shellextensions/exports.dxp b/setup_native/source/win32/customactions/shellextensions/exports.dxp
index 656d02903c64..5826d339274a 100644
--- a/setup_native/source/win32/customactions/shellextensions/exports.dxp
+++ b/setup_native/source/win32/customactions/shellextensions/exports.dxp
@@ -7,6 +7,8 @@ RebuildShellIconCache
ExecutePostUninstallScript
CompleteInstallPath
MigrateInstallPath
+RegisterExtensions
+RemoveExtensions
CheckInstallDirectory
SetAdminInstallProperty
CreateLayerLinks
diff --git a/setup_native/source/win32/customactions/shellextensions/makefile.mk b/setup_native/source/win32/customactions/shellextensions/makefile.mk
index 23d7983f61ff..23fe24bb6ceb 100644
--- a/setup_native/source/win32/customactions/shellextensions/makefile.mk
+++ b/setup_native/source/win32/customactions/shellextensions/makefile.mk
@@ -63,6 +63,7 @@ SLOFILES = \
$(SLO)$/setadmininstall.obj \
$(SLO)$/layerlinks.obj \
$(SLO)$/dotnetcheck.obj \
+ $(SLO)$/registerextensions.obj \
$(SLO)$/copyeditiondata.obj \
$(SLO)$/vistaspecial.obj \
$(SLO)$/checkrunningoffice.obj \
diff --git a/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx b/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx
index 3906d2584fd1..9eaad6959a63 100644
--- a/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx
+++ b/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx
@@ -319,202 +319,56 @@ extern "C" UINT __stdcall RegisterExtensions(MSIHANDLE handle)
{
std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") );
std::_tstring sUnoPkgFile = sInstDir + TEXT("program\\unopkg.exe");
- std::_tstring sShareInstallDir = sInstDir + TEXT("share\\extension\\install\\");
- std::_tstring sPattern = sShareInstallDir + TEXT("*.oxt");
std::_tstring mystr;
WIN32_FIND_DATA aFindFileData;
mystr = "unopkg file: " + sUnoPkgFile;
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
-
- mystr = "oxt file directory: " + sShareInstallDir;
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
+ //MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
// Find unopkg.exe
-
HANDLE hFindUnopkg = FindFirstFile( sUnoPkgFile.c_str(), &aFindFileData );
if ( hFindUnopkg != INVALID_HANDLE_VALUE )
{
// unopkg.exe exists in program directory
- // Finding all oxt files in sShareInstallDir
-
- HANDLE hFindOxt = FindFirstFile( sPattern.c_str(), &aFindFileData );
-
- if ( hFindOxt != INVALID_HANDLE_VALUE )
- {
- bool fNextFile = false;
-
- do
- {
- const std::_tstring sTempFolder(createTempFolder());
- std::_tstring sOxtFile = sShareInstallDir + aFindFileData.cFileName;
- std::_tstring sCommandPart1 = sUnoPkgFile + " add --shared --suppress-license --bundled " + "\"" + sOxtFile + "\"";
- std::_tstring sCommand = sCommandPart1
- + TEXT(" -env:UNO_JAVA_JFW_INSTALL_DATA=$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml")
- + TEXT(" -env:UserInstallation=") + sTempFolder;
- mystr = "Command: " + sCommand;
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
-
- DWORD exitCode = 0;
- bool fSuccess = ExecuteCommand( sCommand.c_str(), & exitCode);
- // unopkg in OOo 2.2.1 and early had a bug that it failed when receiving
- // a bootstrap parameter (-env:...) then it exited with a value != 0.
- if (fSuccess && exitCode != 0)
- {
- std::_tstring sCommand = sCommandPart1;
- mystr = "Command: " + sCommand;
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- fSuccess = ExecuteCommand( sCommand.c_str(), & exitCode);
- }
- deleteTempFolder(sTempFolder);
-
- // if ( fSuccess )
- // {
- // mystr = "Executed successfully!";
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- // }
- // else
- // {
- // mystr = "An error occured during execution!";
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- // }
-
- fNextFile = FindNextFile( hFindOxt, &aFindFileData );
-
- } while ( fNextFile );
-
- FindClose( hFindOxt );
- }
+ const std::_tstring sTempFolder(createTempFolder());
+ std::_tstring sCommandPart1 = sUnoPkgFile + " sync";
+ std::_tstring sCommand = sCommandPart1
+ + TEXT(" -env:BUNDLED_EXTENSIONS_USER=$BRAND_BASE_DIR/share/prereg/bundled")
+ + TEXT(" -env:UNO_JAVA_JFW_INSTALL_DATA=$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml")
+ + TEXT(" -env:UserInstallation=") + sTempFolder;
+ mystr = "Command: " + sCommand;
+ //MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
+
+ DWORD exitCode = 0;
+ bool fSuccess = ExecuteCommand( sCommand.c_str(), & exitCode);
+
+ deleteTempFolder(sTempFolder);
+
+// if ( fSuccess )
+// {
+// mystr = "Executed successfully!";
+// MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
+// }
+// else
+// {
+// mystr = "An error occured during execution!";
+// MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
+// }
+
+ FindClose( hFindUnopkg );
}
- // else
- // {
- // mystr = "Error: Did not find " + sUnoPkgFile;
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- // }
+// else
+// {
+// mystr = "Error: Did not find " + sUnoPkgFile;
+// MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
+// }
return ERROR_SUCCESS;
}
-extern "C" UINT __stdcall DeregisterExtensions(MSIHANDLE handle)
-{
- std::_tstring mystr;
-
- // Finding the product with the help of the propery FINDPRODUCT,
- // that contains a Windows Registry key, that points to the install location.
-
- TCHAR szValue[8192];
- DWORD nValueSize = sizeof(szValue);
- HKEY hKey;
- std::_tstring sInstDir;
-
- std::_tstring sProductKey = GetMsiProperty( handle, TEXT("FINDPRODUCT") );
- // MessageBox( NULL, sProductKey.c_str(), "Titel", MB_OK );
-
- if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey.c_str(), &hKey ) )
- {
- if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) )
- {
- sInstDir = szValue;
- }
- RegCloseKey( hKey );
- }
- else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey.c_str(), &hKey ) )
- {
- if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) )
- {
- sInstDir = szValue;
- }
- RegCloseKey( hKey );
- }
- else
- {
- return ERROR_SUCCESS;
- }
-
- // MessageBox( NULL, sInstDir.c_str(), "install location", MB_OK );
-
- // Searching for the unopkg.exe
-
- std::_tstring sUnoPkgFile = sInstDir + TEXT("program\\unopkg.exe");
- std::_tstring sShareInstallDir = sInstDir + TEXT("share\\extension\\install\\");
- std::_tstring sPattern = sShareInstallDir + TEXT("*.oxt");
-
- WIN32_FIND_DATA aFindFileData;
-
- // Find unopkg.exe
-
- HANDLE hFindUnopkg = FindFirstFile( sUnoPkgFile.c_str(), &aFindFileData );
-
- if ( hFindUnopkg != INVALID_HANDLE_VALUE )
- {
- // unopkg.exe exists in program directory
-
- // Finding all oxt files in sShareInstallDir
-
- HANDLE hFindOxt = FindFirstFile( sPattern.c_str(), &aFindFileData );
-
- if ( hFindOxt != INVALID_HANDLE_VALUE )
- {
- bool fNextFile = false;
-
- do
- {
- const std::_tstring sTempFolder(createTempFolder());
- // When removing extensions, only the oxt file name is required, without path
- // Therefore no quoting is required
- // std::_tstring sOxtFile = sShareInstallDir + aFindFileData.cFileName;
- std::_tstring sOxtFile = aFindFileData.cFileName;
- std::_tstring sCommandPart1 = sUnoPkgFile + " remove --shared --bundled " + "\""
- + sOxtFile + "\"";
- std::_tstring sCommand = sCommandPart1
- + TEXT(" -env:UNO_JAVA_JFW_INSTALL_DATA=$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml")
- + TEXT(" -env:UserInstallation=") + sTempFolder;
-
- mystr = "Command: " + sCommand;
- //MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- DWORD exitCode = 0;
- bool fSuccess = ExecuteCommand( sCommand.c_str(), & exitCode);
- // unopkg in OOo 2.2.1 and early had a bug that it failed when receiving
- // a bootstrap parameter (-env:...) then it exited with a value != 0.
- if (fSuccess && exitCode != 0)
- {
- std::_tstring sCommand = sCommandPart1;
- mystr = "Command: " + sCommand;
- //MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- fSuccess = ExecuteCommand( sCommand.c_str(), & exitCode);
- }
-
- deleteTempFolder(sTempFolder);
-
- if ( fSuccess )
- {
- mystr = "Executed successfully!";
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- }
- else
- {
- mystr = "An error occured during execution!";
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- }
-
- fNextFile = FindNextFile( hFindOxt, &aFindFileData );
-
- } while ( fNextFile );
-
- FindClose( hFindOxt );
- }
- }
- // else
- // {
- // mystr = "Not found: " + sUnoPkgFile;
- // MessageBox(NULL, mystr.c_str(), "Command", MB_OK);
- // }
-
- return ERROR_SUCCESS;
-}
extern "C" UINT __stdcall RemoveExtensions(MSIHANDLE handle)
{
@@ -529,7 +383,7 @@ extern "C" UINT __stdcall RemoveExtensions(MSIHANDLE handle)
std::_tstring sInstDir;
std::_tstring sProductKey = GetMsiProperty( handle, TEXT("FINDPRODUCT") );
- // MessageBox( NULL, sProductKey.c_str(), "Titel", MB_OK );
+ //MessageBox( NULL, sProductKey.c_str(), "Titel", MB_OK );
if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey.c_str(), &hKey ) )
{
@@ -552,22 +406,22 @@ extern "C" UINT __stdcall RemoveExtensions(MSIHANDLE handle)
return ERROR_SUCCESS;
}
- // Removing complete directory "share\uno_packages\cache"
+ // Removing complete directory "Basis\presets\bundled"
- std::_tstring sCacheDir = sInstDir + TEXT("share\\uno_packages\\cache");
+ std::_tstring sCacheDir = sInstDir + TEXT("share\\prereg\\bundled");
bool fSuccess = RemoveCompleteDirectory( sCacheDir );
- if ( fSuccess )
- {
- mystr = "Executed successfully!";
- // MessageBox(NULL, mystr.c_str(), "Main methode", MB_OK);
- }
- else
- {
- mystr = "An error occured during execution!";
- // MessageBox(NULL, mystr.c_str(), "Main methode", MB_OK);
- }
+// if ( fSuccess )
+// {
+// mystr = "Executed successfully!";
+// MessageBox(NULL, mystr.c_str(), "Main methode", MB_OK);
+// }
+// else
+// {
+// mystr = "An error occured during execution!";
+// MessageBox(NULL, mystr.c_str(), "Main methode", MB_OK);
+// }
return ERROR_SUCCESS;
}
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index d7bc7df26442..987d7fbb5bea 100755..100644
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -234,7 +234,7 @@
if (defined $html_path) {
$html_file = CorrectPath($html_path . '/' . $ENV{INPATH}. '.build.html');
} else {
- my $log_directory = Cwd::realpath(CorrectPath($StandDir . '/../log'));
+ my $log_directory = Cwd::realpath(CorrectPath($StandDir . '/..')) . '/log';
if ((!-d $log_directory) && (!mkdir($log_directory))) {
print_error("Cannot create $log_directory for writing html file\n");
};
@@ -1150,8 +1150,8 @@ sub get_stand_dir {
print_error('Found no project to build');
};
$initial_module = substr($initial_dir, length($StandDir) + 1);
- if ($initial_module =~ /\\|\//) {
- $initial_module = File::Basename::dirname($initial_module);
+ if ($initial_module =~ /(\\|\/)/) {
+ $initial_module = $`;
};
$module_paths{$initial_module} = $StandDir . "/$initial_module";
# $build_list_paths{$initial_module} =$StandDir . '/prj/'.$_;
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index f8e35f208251..8b828b85335f 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -762,33 +762,13 @@ sub replace_many_variables_in_shellscripts
foreach $key (keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
- if ( ! $value =~ /.oxt/ ) { $value = lc($value); } # lowercase !
- if ( $installer::globals::issolarisbuild) { $value =~ s/\.org/org/g; } # openofficeorg instead of openoffice.org
+ # $value = lc($value); # lowercase !
+ # if ( $installer::globals::issolarisbuild) { $value =~ s/\.org/org/g; } # openofficeorg instead of openoffice.org
replace_variable_in_shellscripts($scriptref, $value, $key);
}
}
#######################################
-# Setting oxt file name variable
-#######################################
-
-sub set_oxt_filename
-{
- my ($filesinpackage, $allvariables) = @_;
-
- for ( my $i = 0; $i <= $#{$filesinpackage}; $i++ )
- {
- my $onefile = ${$filesinpackage}[$i];
- if ( $onefile->{'Name'} =~ /.oxt\s*$/ )
- {
- $allvariables->{'OXTFILENAME'} = $onefile->{'Name'};
- # $allvariables->{'FULLOXTFILENAME'} = $onefile->{'destination'};
- last; # only one oxt file for each rpm!
- }
- }
-}
-
-#######################################
# Adding shell scripts to epm file
#######################################
@@ -796,9 +776,6 @@ sub adding_shellscripts_to_epm_file
{
my ($epmfileref, $shellscriptsfilename, $localrootpath, $allvariableshashref, $filesinpackage) = @_;
- # Setting variable for ${OXTFILENAME} into $allvariableshashref, if this is a RPM with an extension
- set_oxt_filename($filesinpackage, $allvariableshashref);
-
# $installer::globals::shellscriptsfilename
push( @{$epmfileref}, "\n\n" );
@@ -1803,26 +1780,27 @@ sub is_extension_package
# share/extension/install
######################################################################
-sub get_extension_name
+sub contains_extension_dir
{
my ($prototypefile) = @_;
- my $extensionName = "";
+ my $contains_extension_dir = 0;
+
+ # d none opt/openoffice.org3/share/extensions/
for ( my $i = 0; $i <= $#{$prototypefile}; $i++ )
{
my $line = ${$prototypefile}[$i];
- if ( $line =~ /^\s*f\s+none\s+share\/extension\/install\/(\w+?\.oxt)\s*\=/ )
+ if ( $line =~ /^\s*d\s+none\s.*\/share\/extensions\// )
{
- $extensionName = $1;
+ $contains_extension_dir = 1;
last;
}
}
- return $extensionName;
+ return $contains_extension_dir;
}
-
############################################################
# A Solaris patch contains 7 specific scripts
############################################################
@@ -1839,9 +1817,9 @@ sub add_scripts_into_prototypefile
$path = $path . $installer::globals::separator;
my @newlines = ();
- my $extensionname = get_extension_name($prototypefile);
+ my $is_extension_package = contains_extension_dir($prototypefile);
- if ( $extensionname ne "" )
+ if ( $is_extension_package )
{
for ( my $i = 0; $i <= $#installer::globals::solarispatchscriptsforextensions; $i++ )
{
@@ -1865,9 +1843,7 @@ sub add_scripts_into_prototypefile
my $scriptfile = installer::files::read_file($sourcefilename);
# Replacing variables
- my $oldstring = "\$\{OXTFILENAME\}";
- replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $extensionname);
- $oldstring = "PRODUCTDIRECTORYNAME";
+ my $oldstring = "PRODUCTDIRECTORYNAME";
replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $staticpath);
# Saving file
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm
index fdf9fc6fa4c3..518edc683c3d 100644
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -71,9 +71,10 @@ sub get_extensions_dir
my $extensiondir = $subfolderdir . $installer::globals::separator;
if ( $installer::globals::officedirhostname ne "" ) { $extensiondir = $extensiondir . $installer::globals::officedirhostname . $installer::globals::separator; }
- $extensiondir = $extensiondir . "share" . $installer::globals::separator . "extensions";
+ my $extensionsdir = $extensiondir . "share" . $installer::globals::separator . "extensions";
+ my $preregdir = $extensiondir . "share" . $installer::globals::separator . "prereg" . $installer::globals::separator . "bundled";
- return $extensiondir;
+ return ( $extensionsdir, $preregdir );
}
####################################################
@@ -82,21 +83,24 @@ sub get_extensions_dir
sub register_extensions
{
- my ($officedir, $languagestringref) = @_;
+ my ($officedir, $languagestringref, $preregdir) = @_;
+
+ my $infoline = "";
+
+ if ( $preregdir eq "" )
+ {
+ $infoline = "ERROR: Failed to determine directory \"prereg\" for extension registration! Please check your installation set.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ installer::exiter::exit_program($infoline, "register_extensions");
+ }
my $programdir = $officedir . $installer::globals::separator;
- # if ( $installer::globals::sundirhostname ne "" ) { $programdir = $programdir . $installer::globals::sundirhostname . $installer::globals::separator; }
if ( $installer::globals::officedirhostname ne "" ) { $programdir = $programdir . $installer::globals::officedirhostname . $installer::globals::separator; }
$programdir = $programdir . "program";
my $from = cwd();
chdir($programdir);
- my $infoline = "";
-
- # my $unopkgfile = $officedir . $installer::globals::separator . "program" .
- # $installer::globals::separator . $installer::globals::unopkgfile;
-
my $unopkgfile = $installer::globals::unopkgfile;
my $unopkgexists = 1;
@@ -107,87 +111,73 @@ sub register_extensions
push( @installer::globals::logfileinfo, $infoline);
}
- # my $extensiondir = $officedir . $installer::globals::separator . "share" .
- # $installer::globals::separator . "extension" .
- # $installer::globals::separator . "install";
-
- my $extensiondir = ".." . $installer::globals::separator . "share" . $installer::globals::separator . "extension" . $installer::globals::separator . "install";
-
- my $allextensions = installer::systemactions::find_file_with_file_extension("oxt", $extensiondir);
+ if ( ! -f $unopkgfile )
+ {
+ $unopkgexists = 0;
+ $infoline = "Info: File $unopkgfile does not exist! Extensions cannot be registered.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
- if (( $#{$allextensions} > -1 ) && ( $unopkgexists ))
+ if ( $unopkgexists )
{
my $currentdir = cwd();
print "... current dir: $currentdir ...\n";
$infoline = "Current dir: $currentdir\n";
push( @installer::globals::logfileinfo, $infoline);
- for ( my $i = 0; $i <= $#{$allextensions}; $i++ )
- {
- my $oneextension = $extensiondir . $installer::globals::separator . ${$allextensions}[$i];
-
- # my $systemcall = $unopkgfile . " add --shared --suppress-license " . "\"" . $oneextension . "\"";
+ if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
- if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
- if ( ! -f $oneextension ) { installer::exiter::exit_program("ERROR: $oneextension not found!", "register_extensions"); }
+ my $localtemppath = installer::systemactions::create_directories("uno", $languagestringref);
- my $localtemppath = installer::systemactions::create_directories("uno", $languagestringref);
+ my $slash = "";
- if ( $installer::globals::iswindowsbuild )
+ if ( $installer::globals::iswindowsbuild )
+ {
+ if ( $^O =~ /cygwin/i )
{
- if ( $^O =~ /cygwin/i )
- {
- $localtemppath = $installer::globals::cyg_temppath;
- }
- else
- {
- $windowsslash = "\/";
- }
- $localtemppath =~ s/\\/\//g;
- $localtemppath = "/".$localtemppath;
+ $localtemppath = $installer::globals::cyg_temppath;
+ $preregdir = qx{cygpath -m "$preregdir"};
+ chomp($preregdir);
}
- my $systemcall = $unopkgfile . " add --shared --suppress-license --verbose " . $oneextension . " -env:UserInstallation=file://" . $localtemppath . " 2\>\&1 |";
+ $localtemppath =~ s/\\/\//g;
+ $slash = "/"; # Third slash for Windows. Other OS pathes already start with "/"
+ }
- print "... $systemcall ...\n";
+ $preregdir =~ s/\/\s*$//g;
- $infoline = "Systemcall: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
+ my $systemcall = $unopkgfile . " sync --verbose -env:BUNDLED_EXTENSIONS_USER=\"file://" . $slash . $preregdir . "\"" . " -env:UserInstallation=file://" . $slash . $localtemppath . " 2\>\&1 |";
- my @unopkgoutput = ();
+ print "... $systemcall ...\n";
- open (UNOPKG, $systemcall);
- while (<UNOPKG>)
- {
- my $lastline = $_;
- push(@unopkgoutput, $lastline);
- }
- close (UNOPKG);
+ $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
- my $returnvalue = $?; # $? contains the return value of the systemcall
+ my @unopkgoutput = ();
- if ($returnvalue)
- {
- # Writing content of @unopkgoutput only in the error case into the log file. Sometimes it
- # contains strings like "Error" even in the case of success. This causes a packaging error
- # when the log file is analyzed at the end, even if there is no real error.
- for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { push( @installer::globals::logfileinfo, "$unopkgoutput[$j]"); }
+ open (UNOPKG, $systemcall);
+ while (<UNOPKG>)
+ {
+ my $lastline = $_;
+ push(@unopkgoutput, $lastline);
+ }
+ close (UNOPKG);
- $infoline = "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n";
- push( @installer::globals::logfileinfo, $infoline);
- installer::exiter::exit_program("ERROR: $systemcall failed!", "register_extensions");
- }
- else
- {
- $infoline = "Success: Executed \"$systemcall\" successfully!\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
+ my $returnvalue = $?; # $? contains the return value of the systemcall
+
+ if ($returnvalue)
+ {
+ # Writing content of @unopkgoutput only in the error case into the log file. Sometimes it
+ # contains strings like "Error" even in the case of success. This causes a packaging error
+ # when the log file is analyzed at the end, even if there is no real error.
+ for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { push( @installer::globals::logfileinfo, "$unopkgoutput[$j]"); }
+
+ $infoline = "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ installer::exiter::exit_program("ERROR: $systemcall failed!", "register_extensions");
}
- }
- else
- {
- if ( ! ( $#{$allextensions} > -1 ))
+ else
{
- $infoline = "No extensions located in directory $extensiondir.\n";
+ $infoline = "Success: Executed \"$systemcall\" successfully!\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
@@ -662,6 +652,7 @@ sub create_simple_package
if ( $onedir->{'HostName'} )
{
my $destdir = $subfolderdir . $installer::globals::separator . $onedir->{'HostName'};
+
if ( ! -d $destdir )
{
if ( $^O =~ /cygwin/i ) # Cygwin performance check
@@ -787,19 +778,18 @@ sub create_simple_package
system($localcall);
}
- # Registering the extensions
-
- # installer::logger::print_message( "... registering extensions ...\n" );
- # installer::logger::include_header_into_logfile("Registering extensions:");
- # register_extensions($subfolderdir, $languagestringref);
-
installer::logger::print_message( "... removing superfluous directories ...\n" );
installer::logger::include_header_into_logfile("Removing superfluous directories:");
- my $extensionfolder = get_extensions_dir($subfolderdir);
-
+ my ( $extensionfolder, $preregdir ) = get_extensions_dir($subfolderdir);
installer::systemactions::remove_empty_dirs_in_folder($extensionfolder);
+ # Registering the extensions
+
+ installer::logger::print_message( "... registering extensions ...\n" );
+ installer::logger::include_header_into_logfile("Registering extensions:");
+ register_extensions($subfolderdir, $languagestringref, $preregdir);
+
if ( $installer::globals::compiler =~ /^unxmacx/ )
{
installer::worker::put_scpactions_into_installset("$installdir/$packagename");
diff --git a/solenv/bin/subsequenttests b/solenv/bin/subsequenttests
index 34e6b8034c70..3caa84293f3e 100755..100644
--- a/solenv/bin/subsequenttests
+++ b/solenv/bin/subsequenttests
@@ -47,7 +47,7 @@ while (@ARGV) {
}
my @testpaths = ();
-my $sc = SourceConfig->new();
+my $sc = SourceConfig->new($ENV{'SOLARSRC'});
my $module;
foreach $module ($sc->get_active_modules()) {
my $buildlst = $sc->get_module_build_list($module);
diff --git a/solenv/inc/_tg_srs.mk b/solenv/inc/_tg_srs.mk
index 063f98f2f322..a71216f0a7e9 100644
--- a/solenv/inc/_tg_srs.mk
+++ b/solenv/inc/_tg_srs.mk
@@ -28,7 +28,7 @@ $(foreach,i,$(SRC1FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -81,7 +81,7 @@ $(foreach,i,$(SRC2FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -134,7 +134,7 @@ $(foreach,i,$(SRC3FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -187,7 +187,7 @@ $(foreach,i,$(SRC4FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -240,7 +240,7 @@ $(foreach,i,$(SRC5FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -293,7 +293,7 @@ $(foreach,i,$(SRC6FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -346,7 +346,7 @@ $(foreach,i,$(SRC7FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -399,7 +399,7 @@ $(foreach,i,$(SRC8FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -452,7 +452,7 @@ $(foreach,i,$(SRC9FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -505,7 +505,7 @@ $(foreach,i,$(SRC10FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index f2458486a3b1..a6e3941d89af 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
RSCVERSION=330
-RSCREVISION=330m4(Build:9520)
-BUILD=9520
-LAST_MINOR=m4
+RSCREVISION=330m5(Build:9521)
+BUILD=9521
+LAST_MINOR=m5
SOURCEVERSION=OOO330
diff --git a/solenv/inc/rules.mk b/solenv/inc/rules.mk
index 63c4d0cef28c..7ad8fd19f33f 100644
--- a/solenv/inc/rules.mk
+++ b/solenv/inc/rules.mk
@@ -722,7 +722,7 @@ $(COMMONMISC)/$(TARGET)/%.ulf : %.ulf
@echo "Making: " $(@:f)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
- $(COMMAND_ECHO)$(ULFEX) $(ULFEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(ULFEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index 76407f9f0384..68bbc797d8af 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -967,9 +967,6 @@ RSC=$(AUGMENT_LIBRARY_PATH) $(FLIPCMD) $(SOLARBINDIR)/rsc
.IF "$(VERBOSE)" == "FALSE"
VERBOSITY=-quiet
ZIP_VERBOSITY=-q
- TRANSEX_VERBOSITY=-QQ
- CFGEX_VERBOSITY=-QQ
- ULFEX_VERBOSITY=-QQ
.ENDIF
.ENDIF # "$(VERBOSE)" == "TRUE"
COMPILE_ECHO_SWITCH=
diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk
index 1a4ad6e182a0..0fe06145879d 100644
--- a/solenv/inc/target.mk
+++ b/solenv/inc/target.mk
@@ -1518,7 +1518,7 @@ $(LOCALIZE_ME_DEST) .PHONY : $(LOCALIZE_ME) $(LOCALIZESDF)
.ENDIF # "$(LASTRUN_MERGED)"=="TRUE"
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
- $(COMMAND_ECHO)$(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:b:+"_tmpl")$(@:e) -o $(@:d)/$(@:b:+"_tmpl")$(@:e).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(TRANSEX) -p $(PRJNAME) -i $(@:b:+"_tmpl")$(@:e) -o $(@:d)/$(@:b:+"_tmpl")$(@:e).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $(@:d)$(@:b:+"_tmpl")$(@:e).$(INPATH) $@
.ENDIF # "$(WITH_LANG)"==""
@@ -2043,6 +2043,7 @@ $(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/hid.lst .PHONY :
.INCLUDE : tg_merge.mk
.INCLUDE : tg_propmerge.mk
+.INCLUDE : tg_xmerge.mk
wordcount:
wc *.* >> $(TMP)/wc.lst
diff --git a/solenv/inc/tg_config.mk b/solenv/inc/tg_config.mk
index bbc720ed600e..cfe2fe147ebe 100644
--- a/solenv/inc/tg_config.mk
+++ b/solenv/inc/tg_config.mk
@@ -137,7 +137,7 @@ $(XCU_LANG) : $(LOCALIZESDF)
$(PROCESSOUT)/merge/$(PACKAGEDIR)/%.xcu : %.xcu
@-$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)$(CFGEX) $(CFGEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $@ -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(CFGEX) -p $(PRJNAME) -i $(@:f) -o $@ -m $(LOCALIZESDF) -l all
.IF "$(XCU_LANG)" != ""
$(XCU_LANG) : $(XSLDIR)/alllang.xsl
diff --git a/solenv/inc/tg_help.mk b/solenv/inc/tg_help.mk
index aa62b1cf477f..89f1ebabec6c 100644
--- a/solenv/inc/tg_help.mk
+++ b/solenv/inc/tg_help.mk
@@ -45,7 +45,7 @@ $(COMMONMISC)$/{$(aux_alllangiso)}$/$(SHELL_PACKAGE)$/%.xhp :| %.xhp
$(COMMONMISC)$/$(TARGET).done : $(HLANGXHPFILES)
.IF "$(WITH_LANG)"!=""
- $(AUGMENT_LIBRARY_PATH) $(HELPEX) -QQ -p $(PRJNAME) -r $(PRJ) -i @$(mktmp $(uniq $(foreach,i,$? $(!eq,$(i:f),$(i:f:s/.xhp//) $(i:f) $(XHPFILES))))) -x $(COMMONMISC) -y $(SHELL_PACKAGE) -l all -lf $(aux_alllangiso:t",") -m $(LOCALIZESDF) && $(TOUCH) $@
+ $(AUGMENT_LIBRARY_PATH) $(HELPEX) -p $(PRJNAME) -r $(PRJ) -i @$(mktmp $(uniq $(foreach,i,$? $(!eq,$(i:f),$(i:f:s/.xhp//) $(i:f) $(XHPFILES))))) -x $(COMMONMISC) -y $(SHELL_PACKAGE) -l all -lf $(aux_alllangiso:t",") -m $(LOCALIZESDF) && $(TOUCH) $@
.ELSE # "$(WITH_LANG)"!=""
cp $(uniq $(foreach,i,$? $(!eq,$(i:f),$(i:f:s/.xhp//) $(i:f) $(XHPFILES)))) $(COMMONMISC)$/en-US$/$(SHELL_PACKAGE) && $(TOUCH) $@
.ENDIF # "$(WITH_LANG)"!=""
diff --git a/solenv/inc/tg_srs.mk b/solenv/inc/tg_srs.mk
index 347dd25569de..4e70eb06b1b4 100644
--- a/solenv/inc/tg_srs.mk
+++ b/solenv/inc/tg_srs.mk
@@ -56,7 +56,7 @@ $(foreach,i,$(SRC$(TNR)FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESD
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
diff --git a/solenv/inc/tg_xmerge.mk b/solenv/inc/tg_xmerge.mk
new file mode 100755
index 000000000000..fa3e2297184f
--- /dev/null
+++ b/solenv/inc/tg_xmerge.mk
@@ -0,0 +1,109 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+.IF "$(XTXFILES)"!=""
+
+ALLTAR : $(MISC)/$(TARGET).xtx.pmerge.mk $(XTXFILES)
+
+.IF "$(L10NEXT)"==""
+L10NEXT:=.txt
+.ENDIF
+
+$(MISC)/$(TARGET).xtx.pmerge.mk : $(XTXFILES)
+
+$(XTXFILES) : $(LOCALIZESDF)
+
+.INCLUDE .IGNORE : $(MISC)/$(TARGET).xtx.pmerge.mk
+
+.IF "$(alllangiso)"!="$(last_merge)"
+XTXMERGEPHONY:=.PHONY
+.ENDIF # "$(alllangiso)" != "$(last_merge)"
+
+$(MISC)/$(TARGET)/%$(L10NEXT) $(XTXMERGEPHONY) : %.xtx
+ @@-$(MKDIRHIER) $(@:d)
+.IF "$(WITH_LANG)"==""
+ $(COMMAND_ECHO)$(COPY) $< $@
+.ELSE # "$(WITH_LANG)"==""
+ @@-$(RM) $@
+ $(COMMAND_ECHO)@noop $(assign XTXMERGELIST+:=$(<:f))
+ $(COMMAND_ECHO)@noop $(assign XTXDESTDIR:=$(@:d))
+.ENDIF # "$(WITH_LANG)"==""
+
+$(MISC)/$(TARGET).xtx.pmerge.mk : $(XTXMERGELIST)
+.IF "$(WITH_LANG)"!=""
+# xtxex command file requirements:
+# - one file per line
+# - no spaces
+# - no empty lines
+# $(uniq ...) to workaround $assign adding the value twice...
+ @noop $(assign XTXMERGEFILELIST:=$(uniq $(XTXMERGELIST)))
+ $(COMMAND_ECHO) $(SOLARBINDIR)/xtxex -p $(PRJNAME) -r $(PRJ) -o $(XTXDESTDIR) -i @$(mktmp $(XTXMERGEFILELIST:t"\n":s/ //)) -l $(alllangiso:s/ /,/) -f $(alllangiso:s/ /,/) -m $(LOCALIZESDF) -s"[path]/[fileNoExt]_[language]$(L10NEXT)"
+.ENDIF # "$(WITH_LANG)"!=""
+
+ @-$(RM) $@
+ $(COMMAND_ECHO)echo last_merge=$(alllangiso) > $@
+.ENDIF # "$(XTXFILES)"!=""
+
+.IF "$(TREEFILE)"!=""
+ALLTAR : $(MISC)/$(TARGET).tree.pmerge.mk $(TREEFILE)
+
+$(MISC)/$(TARGET).tree.pmerge.mk : $(TREEFILE)
+
+$(TREEFILE) : $(LOCALIZESDF)
+
+.INCLUDE .IGNORE : $(MISC)/$(TARGET).tree.pmerge.mk
+
+.IF "$(alllangiso)"!="$(last_merge)"
+TREEMERGEPHONY:=.PHONY
+.ENDIF # "$(alllangiso)" != "$(last_merge)"
+
+$(OUT_HELP)/en-US/help.tree $(TREEMERGEPHONY) : help.tree
+ @@-$(MKDIRHIER) $(@:d)
+.IF "$(WITH_LANG)"==""
+ $(COMMAND_ECHO)$(COPY) $< $@
+.ELSE # "$(WITH_LANG)"==""
+ @@-$(RM) $@
+ $(COMMAND_ECHO)@noop $(assign TREEMERGELIST+:=$(<:f))
+ $(COMMAND_ECHO)@noop $(assign TREEDESTDIR:=$(@:d:d:d))
+.ENDIF # "$(WITH_LANG)"==""
+
+$(MISC)/$(TARGET).tree.pmerge.mk : $(TREEMERGELIST)
+.IF "$(WITH_LANG)"!=""
+# xtxex command file requirements:
+# - one file per line
+# - no spaces
+# - no empty lines
+# $(uniq ...) to workaround $assign adding the value twice...
+ @noop $(assign TREEMERGEFILELIST:=$(uniq $(TREEMERGELIST)))
+# Variables for the pattern filename,fileNoExt,language,extension,pathPrefix,pathPostFix,path
+ $(COMMAND_ECHO) $(SOLARBINDIR)/xhtex -p $(PRJNAME) -r $(PRJ) -o $(TREEDESTDIR) -i @$(mktmp $(TREEMERGEFILELIST:t"\n":s/ //)) -l $(alllangiso:s/ /,/) -f $(alllangiso:s/ /,/) -m $(LOCALIZESDF) -s"[path]/[language]/[fileNoExt].tree"
+.ENDIF # "$(WITH_LANG)"!=""
+ @-$(RM) $@
+ $(COMMAND_ECHO)echo last_merge=$(alllangiso) > $@
+.ENDIF # "$(TREEFILE)"!=""
+
+
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index fffcac00e46c..ee9e8f48634b 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -1063,8 +1063,7 @@ void SdrMarkView::AddDragModeHdl(SdrDragMode eMode)
/** handle mouse over effects for handles */
BOOL SdrMarkView::MouseMove(const MouseEvent& rMEvt, Window* pWin)
{
- const ULONG nHdlCount = aHdl.GetHdlCount();
- if( nHdlCount )
+ if(aHdl.GetHdlCount())
{
SdrHdl* pMouseOverHdl = 0;
if( !rMEvt.IsLeaveWindow() && pWin )
@@ -1074,6 +1073,8 @@ BOOL SdrMarkView::MouseMove(const MouseEvent& rMEvt, Window* pWin)
}
// notify last mouse over handle that he lost the mouse
+ const ULONG nHdlCount = aHdl.GetHdlCount();
+
for(ULONG nHdl = 0; nHdl < nHdlCount; nHdl++ )
{
SdrHdl* pCurrentHdl = GetHdl(nHdl);
diff --git a/swext/mediawiki/help/makefile.mk b/swext/mediawiki/help/makefile.mk
index 010533be5689..1cb200a1860f 100644
--- a/swext/mediawiki/help/makefile.mk
+++ b/swext/mediawiki/help/makefile.mk
@@ -68,6 +68,6 @@ $(OUT_HELP)$/{$(MEDIAWIKI_LANG)}$/$(PACKAGE)$/%.xhp :| %.xhp
$(OUT_MEDIAWIKI)$/$(TARGET).done : $(LOCALIZESDF) $(XHPFILES) $(HLANGXHPFILES)
- @$(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(HELPEX) -QQ -p $(PRJNAME) -r $(PRJ) -i @$(mktmp $(uniq $(foreach,i,$? $(!eq,$(i:f),$(i:f:s/.xhp//) $(i:f) $(XHPFILES))))) -x $(OUT_HELP) -y $(PACKAGE) -l all -lf $(MEDIAWIKI_LANG:t",") -m $(LOCALIZESDF) && $(TOUCH) $@
+ @$(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(HELPEX) -p $(PRJNAME) -r $(PRJ) -i @$(mktmp $(uniq $(foreach,i,$? $(!eq,$(i:f),$(i:f:s/.xhp//) $(i:f) $(XHPFILES))))) -x $(OUT_HELP) -y $(PACKAGE) -l all -lf $(MEDIAWIKI_LANG:t",") -m $(LOCALIZESDF) && $(TOUCH) $@
.ENDIF
diff --git a/testautomation/extensions/optional/includes/extensions.inc b/testautomation/extensions/optional/includes/extensions.inc
index 90a7e17e16cc..db115274e19d 100755
--- a/testautomation/extensions/optional/includes/extensions.inc
+++ b/testautomation/extensions/optional/includes/extensions.inc
@@ -620,16 +620,24 @@ testcase tExtensionsFunction
' uninstall all components, that were installed
a = listCount(aRemovePackages())
ToolsPackageManager
+
kontext "PackageManager"
If PackageManager.exists(10) then
+
BrowsePackages.typeKeys("<home>")
+ waitslot()
+
ii = 1
while (ii < BrowsePackages.getItemCount +1)
+
+ wait( 2000 ) ' Required, Extension Manager needs time to populate
kontext "PackageManager"
'BrowsePackages.typeKeys("+")
'BrowsePackages.typeKeys("<down>")
sTemp2 = sTemp
BrowsePackages.select ii
+ waitslot()
+
sTemp = BrowsePackages.getItemText (ii,1)
if right(sTemp,3) = "oxt" then
for x = 1 to a
@@ -665,7 +673,7 @@ testcase tExtensionsFunction
ii = ii+1
wend
kontext "PackageManager"
- PackageManager.close
+ hCloseDialog( PackageManager, "close" )
else
qaErrorLog "disabling installed extensions failed;"
endif
diff --git a/testautomation/extensions/optional/includes/location.inc b/testautomation/extensions/optional/includes/location.inc
index c23fdfdf922b..262495666cbb 100755
--- a/testautomation/extensions/optional/includes/location.inc
+++ b/testautomation/extensions/optional/includes/location.inc
@@ -61,14 +61,15 @@ testcase tExtensionLocation
warnlog( "Macro execution warning is missing" )
endif
- irc = hMacroOrganizerRunMacro( MACRO_NAME )
- if ( irc = 0 ) then
- warnlog( "No macro with the given name could be found, aborting" )
- kontext "Makro"
- if ( Makro.exists() ) then
- Makro.close()
- endif
+ hMacroOrganizerRunMacro( MACRO_NAME )
+
+ kontext "Makro"
+ if ( Makro.exists( 1 ) ) then
+ warnlog( "Macro was not executed")
+ Makro.close()
goto endsub
+ else
+ printlog( "Macro was executed")
endif
kontext "active"
@@ -84,11 +85,8 @@ testcase tExtensionLocation
warnlog( "No messagebox displayed, please check that the macro is executed" )
endif
- irc = hExtensionAddGUI( cWorkPath & EXTENSION_NAME , "verbose,InstallForUser" )
- irc = hMacroOrganizerRunMacro( MACRO_NAME )
- if ( irc = 0 ) then
- warnlog( "No macro with the given name could be found" )
- endif
+ hExtensionAddGUI( cWorkPath & EXTENSION_NAME , "verbose,InstallForUser" )
+ hMacroOrganizerRunMacro( MACRO_NAME )
kontext "active"
if ( active.exists( 2 ) ) then
diff --git a/testautomation/framework/optional/includes/extras_modify_objects.inc b/testautomation/framework/optional/includes/extras_modify_objects.inc
index f2e4717d2e96..964d28a95b77 100755
--- a/testautomation/framework/optional/includes/extras_modify_objects.inc
+++ b/testautomation/framework/optional/includes/extras_modify_objects.inc
@@ -41,8 +41,8 @@ testcase tModifyObjects( iMode as integer, cCategory as string, sVer as string )
const CFN = "tModifyObjects::"
const RESTART = 15
- const TEMPLATE_COUNT = 236 ' For en-US/StarOffice, numbers may differ for Languages/Brands
- const SAMPLE_COUNT = 60 ' For en-US/StarOffice, numbers may differ for Languages/Brands
+ const TEMPLATE_COUNT = 236 ' For en-US/Oracle Open Office, numbers may differ for Languages/Brands
+ const SAMPLE_COUNT = 56 ' For en-US/Oracle Open Office, numbers may differ for Languages/Brands
dim iObjectFolder as integer
diff --git a/testautomation/framework/optional/includes/security_macrosecurity.inc b/testautomation/framework/optional/includes/security_macrosecurity.inc
index 2b6a05d9fcca..3df134d83d33 100755
--- a/testautomation/framework/optional/includes/security_macrosecurity.inc
+++ b/testautomation/framework/optional/includes/security_macrosecurity.inc
@@ -51,18 +51,14 @@ end sub
testcase tMacroSecurityLevels( cFileFormat )
printlog( "Check macro execution behavior for all macro security levels" )
- warnlog( "#i110184# - Documentbound macros not executed when loaded via API" )
- goto endsub
dim cWorkFile as string
cWorkFile = gTesttoolPath & "framework\optional\input\BasicDocs\"
cWorkFile = cWorkFile & "basic" & hGetSuffix( cFileFormat )
- cWorkFile = convertpath( cWorkFile )
- cWorkFile = convertToURL( cWorkFile )
dim iSecLevel as integer
- const EXPECTED_MESSAGECOUNT = 1
+ const EXPECTED_MESSAGECOUNT = 0
const ALLOW_ONE_EXTRA_MESSAGEBOX = 1
const ALLOW_NO_EXTRA_MESSAGEBOXES = 0
@@ -94,7 +90,11 @@ testcase tMacroSecurityLevels( cFileFormat )
case GC_MACRO_SECURITY_LEVEL_LOW :
if ( not hIdentifyExecutedMacro() ) then
- warnlog( "#i110184# - Macro was not executed" )
+ if ( gApplication = "MATH" ) then
+ qaerrorlog( "#i110184# - Macro was not executed" )
+ else
+ warnlog( "Macro was not excuted" )
+ endif
endif
case GC_MACRO_SECURITY_LEVEL_MEDIUM :
@@ -104,12 +104,19 @@ testcase tMacroSecurityLevels( cFileFormat )
endif
if ( not hIdentifyExecutedMacro() ) then
- warnlog( "#i110184# - Macro was not executed" )
+ if ( gApplication = "MATH" ) then
+ qaerrorlog( "#i110184# - Macro was not executed" )
+ else
+ warnlog( "Macro was not excuted" )
+ endif
endif
case GC_MACRO_SECURITY_LEVEL_HIGH :
- if ( not hHandleActivesOnLoad( EXPECTED_MESSAGECOUNT , ALLOW_ONE_EXTRA_MESSAGEBOX ) ) then
+ kontext "Active"
+ hCloseDialog( Active, "ok" )
+
+ if ( not hHandleActivesOnLoad( EXPECTED_MESSAGECOUNT , ALLOW_NO_EXTRA_MESSAGEBOXES ) ) then
warnlog( "#i53710# unexpected second messagebox" )
endif
@@ -119,6 +126,9 @@ testcase tMacroSecurityLevels( cFileFormat )
case GC_MACRO_SECURITY_LEVEL_VERYHIGH :
+ kontext "Active"
+ hCloseDialog( Active, "ok" )
+
if ( not hHandleActivesOnLoad( EXPECTED_MESSAGECOUNT , ALLOW_NO_EXTRA_MESSAGEBOXES ) ) then
warnlog( "#i53710# unexpected second messagebox" )
endif
diff --git a/testautomation/framework/required/f_programmability_dialogs.bas b/testautomation/framework/required/f_programmability_dialogs.bas
index 925334027592..7965a842d5f4 100644
--- a/testautomation/framework/required/f_programmability_dialogs.bas
+++ b/testautomation/framework/required/f_programmability_dialogs.bas
@@ -38,7 +38,6 @@ sub main
use "framework\required\includes\basic_organizer.inc"
use "framework\required\includes\basic_dialog_export.inc"
use "framework\required\includes\basic_dialog_i18n_import.inc"
- use "framework\required\includes\scripting_basics.inc"
use "framework\required\includes\script_organizers.inc"
call hStatusIn( "framework" , "f_programmability_dialogs.bas" )
@@ -47,8 +46,7 @@ sub main
call tUpdtBasicOrganizer()
call tUpdtDialogExport()
call tBasicDialogI18nImport()
- call tScripting() ' script organizer nodes if no documents are open
- call tUpdtScriptCount() ' script organizer nodes with one open document
+ call tUpdtScripts() ' script organizer nodes with one open document
call hStatusOut()
end sub
@@ -64,7 +62,8 @@ sub LoadIncludeFiles
use "global\tools\includes\optional\t_basic_organizer_tools.inc"
use "global\tools\includes\optional\t_treelist_tools.inc"
use "global\tools\includes\optional\t_docfuncs.inc"
- use "global\tools\includes\optional\t_filetools.inc"
+ use "global\tools\includes\optional\t_filetools.inc"
+ use "global\tools\includes\optional\t_listfuncs.inc"
use "framework\tools\includes\formcontrols.inc"
use "framework\tools\includes\pbrowser_tools.inc"
diff --git a/testautomation/framework/required/includes/basic_dialog_i18n.inc b/testautomation/framework/required/includes/basic_dialog_i18n.inc
index 3c95be08a9d6..162f0cc040cd 100755
--- a/testautomation/framework/required/includes/basic_dialog_i18n.inc
+++ b/testautomation/framework/required/includes/basic_dialog_i18n.inc
@@ -49,6 +49,7 @@ testcase tUpdtBasicDialogI18n
printlog( "Click Manage Languages on ToolsCollectionBar")
kontext "ToolsCollectionBar"
if ( ToolsCollectionBar.exists( DIALOG_DEFAULT_TIMEOUT ) ) then
+ wait( 500 )
hClickButton( ManageLanguage )
else
warnlog( "<ToolsCollectionBar> is not open, is the test environment dirty?" )
diff --git a/testautomation/framework/required/includes/script_organizers.inc b/testautomation/framework/required/includes/script_organizers.inc
index 6082a3313ce0..b9ed8420134e 100755
--- a/testautomation/framework/required/includes/script_organizers.inc
+++ b/testautomation/framework/required/includes/script_organizers.inc
@@ -31,80 +31,118 @@
'*
'\******************************************************************************
-testcase tUpdtScriptCount
- dim sDialog as string
+testcase tUpdtScripts
printlog( "Resource test for macros and scripts / related dialogs" )
- const SCRIPTING_DIALOGS = 5
+ if ( gIsoLang <> "en-US" ) then
+ printlog( "No testing for languages other than en_US" )
+ goto endsub
+ endif
- dim aScriptCount( SCRIPTING_DIALOGS )
+ const SCRIPTING_DIALOGS = 5
- aScriptCount( 1 ) = 10 ' JavaScript
- aScriptCount( 2 ) = 14 ' BeanShell
-
- if ( lcase( gPlatform ) = "osx" ) then
- aScriptCount( 3 ) = 8 ' Python
- aScriptCount( 5 ) = 600 ' Run Macro
- else
- aScriptCount( 3 ) = 10 ' Python
- aScriptCount( 5 ) = 602 ' Run Macro
- endif
+ const DLG_JAVASCRIPT = "JavaScript"
+ const DLG_BEANSHELL = "BeanShell"
+ const DLG_PYTHON = "Python"
+ const DLG_BASIC_ORG = "BasicOrganizer"
+ const DLG_RUN_MACRO = "RunMacro"
- if ( gOOo ) then
- aScriptCount( 4 ) = 585 ' Makro Organizer
- aScriptCount( 5 ) = aScriptCount( 5 ) - 1 ' Run Macro
- else
- ' Makro Organizer
- aScriptCount( 4 ) = 586
- endif
+ ' This is the build specific part of the filename including substrings for
+ ' the productname and language.
+ dim sProductString as string : sProductString = gProductName & "_" & gISOLang & "_"
+
+ ' define platforms that have different scriptcount
+ if ( lcase( gPlatGroup ) = "w95" ) then sProductString = sProductString & "win_"
+ if ( lcase( gPlatform ) = "osx" ) then sProductString = sProductString & "osx_"
+
+ ' replace all blanks
+ sProductString = hStringReplaceChar( sProductString, " ", "-" )
+
+ ' This is where reference file is located, the filename is yet incomplete
+ dim sInputPath as string
+ sInputPath = gTesttoolPath & "framework/required/input/scripts/" & sProductString
+
+ ' This is where we store the reference file if differences are found.
+ dim sOutputPath as string
+ sOutputPath = gOfficePath & "user/work/" & sProductString
+
+ ' These contain the input and output paths (fully qualified)
+ dim sFileIn as string
+ dim sFileOut as string
+
+ ' Array that contains the scriptnames for all organizers
+ dim cScriptNamesList( 1000 ) as string
+ dim sDialog as string
dim iCurrentDialog as integer
- dim iCurrentScriptCount as integer
-
+
+ dim iDiffCount as integer
+
hInitSingleDoc()
for iCurrentDialog = 1 to SCRIPTING_DIALOGS
- printlog( "" )
- select case iCurrentDialog
- case 1: sDialog = "JavaScript"
- ToolsMacrosOrganizeMacrosJavaScript
- kontext "ScriptOrganizer"
- iCurrentScriptCount = hExpandAllNodes( ScriptTreeList )
- ScriptOrganizer.cancel()
- case 2: sDialog = "BeanShell"
- ToolsMacrosOrganizeMacrosBeanShell
- kontext "ScriptOrganizer"
- iCurrentScriptCount = hExpandAllNodes( ScriptTreeList )
- ScriptOrganizer.cancel()
- case 3: sDialog = "Python"
- ToolsMacrosOrganizeMacrosPython
- kontext "ScriptOrganizer"
- iCurrentScriptCount = hExpandAllNodes( ScriptTreeList )
- ScriptOrganizer.cancel()
- case 4: sDialog = "Makro Organizer"
- ToolsMacro_uno
- Kontext "Makro"
- hExpandAllNodes( MakroAus )
- iCurrentScriptCount = hGetScriptCount( MakroAus, MakroListe )
- Makro.close()
- case 5: sDialog = "Run Macro"
- ToolsMacrosRunMacro
- kontext "ScriptSelector"
- hExpandAllNodes( LibraryTreeList )
- iCurrentScriptCount = hGetScriptCount( LibraryTreeList, ScriptList )
- ScriptSelector.cancel()
+ ListAllDelete( cScriptNamesList() )
+
+ ' Build complete filename and identify dialog for logging and case selection
+ select case ( iCurrentDialog )
+ case 1 : sDialog = DLG_JAVASCRIPT
+ case 2 : sDialog = DLG_BEANSHELL
+ case 3 : sDialog = DLG_PYTHON
+ case 4 : sDialog = DLG_BASIC_ORG
+ case 5 : sDialog = DLG_RUN_MACRO
end select
- printlog( sDialog )
-
- if ( aScriptCount( iCurrentDialog ) <> iCurrentScriptCount ) then
- warnlog( "Incorrect number of scripts for this dialog: '" + sDialog + "' expected:" + aScriptCount( iCurrentDialog ) + ", but is:" & iCurrentScriptCount )
- else
- printlog( "Number of scripts is ok" )
- endif
+ printlog( "" )
+ sFileIn = convertpath( sInputPath & sDialog & ".txt" )
+ sFileOut = convertpath( sOutputPath & sDialog & ".txt" )
+
+ printlog( "Open <" & sDialog & "> and access the treelist object" )
+
+ ' Note: hGetAllNodeNames() is a *global* function defined in t_treelist_tools.inc
+ ' DLG_BASIC_ORG and DLG_RUN_MACRO have - in addition to the treelist -
+ ' a separate script list. To get those scripts a little more effort is
+ ' required which is done in the *local* function hGetScriptNames()
+
+ select case ( sDialog )
+ case DLG_JAVASCRIPT: ToolsMacrosOrganizeMacrosJavaScript
+ kontext "ScriptOrganizer"
+ hGetAllNodeNames( ScriptTreeList, cScriptNamesList() )
+ case DLG_BEANSHELL: ToolsMacrosOrganizeMacrosBeanShell
+ kontext "ScriptOrganizer"
+ hGetAllNodeNames( ScriptTreeList, cScriptNamesList() )
+ case DLG_PYTHON: ToolsMacrosOrganizeMacrosPython
+ kontext "ScriptOrganizer"
+ hGetAllNodeNames( ScriptTreeList, cScriptNamesList() )
+ case DLG_BASIC_ORG: ToolsMacro_uno
+ Kontext "Makro"
+ hGetScriptNames( MakroAus, MakroListe, cScriptNamesList() )
+ case DLG_RUN_MACRO: ToolsMacrosRunMacro
+ kontext "ScriptSelector"
+ hGetScriptNames( LibraryTreeList, ScriptList, cScriptNamesList() )
+ end select
+ printlog( "Compare to reference list, create new one if differences were found" )
+ iDiffCount = hManageComparisionList( sFileIn, sFileOut, cScriptNamesList() )
+
+ if ( iDiffCount <> 0 ) then warnlog( "The number of scripts has changed, please review." )
+
+
+ printlog( "Close <" & sDialog & ">" )
+ select case ( sDialog )
+ case DLG_JAVASCRIPT :
+ ScriptOrganizer.cancel()
+ case DLG_BEANSHELL :
+ ScriptOrganizer.cancel()
+ case DLG_PYTHON :
+ ScriptOrganizer.cancel()
+ case DLG_BASIC_ORG :
+ Makro.close()
+ case DLG_RUN_MACRO :
+ ScriptSelector.cancel()
+ end select
+
next iCurrentDialog
hCloseDocument()
@@ -113,15 +151,44 @@ endcase
'*******************************************************************************
-function hGetScriptCount( oTree as object, oList as object ) as integer
+sub hGetScriptNames( oTreeList as object, oScriptList as object, cItemList() as string )
- dim iCurrentTreeItem as integer
- dim iScriptCount as integer : iScriptCount = 0
-
- for iCurrentTreeItem = 1 to oTree.getItemCount()
- oTree.select( iCurrentTreeItem )
- iScriptCount = iScriptCount + oList.getItemCount()
- next iCurrentTreeItem
- hGetScriptCount() = iScriptCount
-
-end function
+ ' oTreeList is the treelist object (left pane)
+ ' oScriptList is the script list (right pane)
+ ' cScriptList() is filled with the scriptnames of the form
+ ' <module>:<script name> like "CommonLang:LoadLanguages"
+
+ dim iCurrentTreeListItem as integer
+ dim iObjectsInTreelist as integer
+
+ dim cModuleName as string
+ dim cReferenceString as string
+
+ dim iScriptCount as integer
+ dim iCurrentScript as integer
+ dim cScriptList( 1000 ) as string
+
+ ' Get the number of nodes from the modules treelist
+ iObjectsInTreeList = hExpandAllNodes( oTreeList )
+
+ ' For each item in the modules treelist get the number of scripts (right pane)
+ for iCurrentTreeListItem = 1 to iObjectsInTreeList
+
+ ' Get the name of the current treelist node, append it to the list
+ ' (otherwise it does not appear if it has no scripts)
+ cModuleName = hGetNodeName( oTreeList, iCurrentTreeListItem )
+ hListAppend( cModuleName, cItemList() )
+
+ ' Get the number of scripts from the right pane, reset the array in advance
+ ListAllDelete( cScriptList() )
+ iScriptCount = hGetListItems( oScriptList, cScriptList() )
+
+ ' Build the string for the reference list and append it to cScriptList()
+ for iCurrentScript = 1 to iScriptCount
+ cReferenceString = cModuleName & ":" & cScriptList( iCurrentScript )
+ hListAppend( cReferenceString, cItemList() )
+ next iCurrentScript
+
+ next iCurrentTreeListItem
+
+end sub \ No newline at end of file
diff --git a/testautomation/framework/required/includes/smoketest.inc b/testautomation/framework/required/includes/smoketest.inc
index 24ef362a1bf1..d4e327a21ad7 100755
--- a/testautomation/framework/required/includes/smoketest.inc
+++ b/testautomation/framework/required/includes/smoketest.inc
@@ -33,6 +33,10 @@
testcase tSmokeTest
+ if ( not hCheckForBinfilters() ) then
+ goto endsub
+ endif
+
printlog( "Smoketest (10er-Test) from Release Engineering" )
dim sLocation as string
dim i,x,a as integer
diff --git a/testautomation/framework/required/includes/topten.inc b/testautomation/framework/required/includes/topten.inc
index a08d59c8064e..fdfdb49fec97 100755
--- a/testautomation/framework/required/includes/topten.inc
+++ b/testautomation/framework/required/includes/topten.inc
@@ -33,33 +33,37 @@
sub topten
- gApplication = "WRITER"
- call Top_ten_test
-
- gApplication = "CALC"
- call Top_ten_test
-
- gApplication = "IMPRESS"
- call Top_ten_test
-
- gApplication = "DRAW"
- call Top_ten_test
-
- gApplication = "MATH"
- call Top_ten_test
-
- gApplication = "HTML"
- call Top_ten_test
-
- gApplication = "MASTERDOCUMENT"
- call Top_ten_test
+ ' we need the binary filters (.sxw etc.) for this test but beginning with
+ ' OOo 3.3 these are optional
+ if ( hCheckForBinfilters() ) then
+ gApplication = "WRITER"
+ call Top_ten_test
+
+ gApplication = "CALC"
+ call Top_ten_test
+ gApplication = "IMPRESS"
+ call Top_ten_test
+
+ gApplication = "DRAW"
+ call Top_ten_test
+
+ gApplication = "MATH"
+ call Top_ten_test
+
+ gApplication = "HTML"
+ call Top_ten_test
+
+ gApplication = "MASTERDOCUMENT"
+ call Top_ten_test
+ endif
end sub
'*******************************************************************************
testcase Top_ten_test
- dim sUserWorkDirectory as string
+
+ dim sUserWorkDirectory as string
dim sFilename_native as String
dim sFilename_export as String
dim sFilter_native as string
diff --git a/testautomation/framework/required/includes/window_functions.inc b/testautomation/framework/required/includes/window_functions.inc
index acc5e7a5219d..6917639d30f8 100755
--- a/testautomation/framework/required/includes/window_functions.inc
+++ b/testautomation/framework/required/includes/window_functions.inc
@@ -196,8 +196,18 @@ end sub
testcase tCheckWindowTitle( sApplication as string, sReference as string )
+ if ( sApplication = "soffice" ) then
+
+
printlog( "Update test for the office window titles" )
+ ' This is a Testtool-only problem that the product name is not displayed
+ ' after calling hCloseDocument() on the last document.
+ if ( sApplication = "soffice" ) then
+ qaerrorlog( "#i113760# - Product name missing for backing window" )
+ goto endsub
+ endif
+
const BASIC_MODULE = "tCheckWindowTitle"
const STRING_NOT_FOUND = 0
const STRING_LEFTMOST = 1
@@ -217,21 +227,12 @@ testcase tCheckWindowTitle( sApplication as string, sReference as string )
printlog( "Application: " & sApplication & "; Title should be: " & sReference )
printlog( "Open the work windows (documents)" )
hInitSingleDoc()
- hCreateDocument()
printlog( "Verify that the correct window is open" )
select case sApplication
- case "swriter" :
- case "sglobal" :
- case "sweb" :
- case "scalc" :
- case "simpress":
- case "sdraw" :
- case "smath" :
case "basic" : hInitBasicIDE( BASIC_MODULE )
- case "chart" :
- case "database":
case "soffice" : hFileCloseAll()
+ case else : hCreateDocument()
end select
' Note: The Testtool connection string does not belong to the window caption
@@ -290,16 +291,7 @@ testcase tCheckWindowTitle( sApplication as string, sReference as string )
printlog( "Cleanup after test" )
select case sApplication
- case "swriter" :
- case "sglobal" :
- case "sweb" :
- case "scalc" :
- case "simpress":
- case "sdraw" :
- case "smath" :
case "basic" : hDestroyDocument()
- case "chart" :
- case "database":
case "soffice" : hCreateDocument()
end select
diff --git a/testautomation/framework/required/includes/wizard_agenda.inc b/testautomation/framework/required/includes/wizard_agenda.inc
index a192be35015e..d423d2fd7c62 100755
--- a/testautomation/framework/required/includes/wizard_agenda.inc
+++ b/testautomation/framework/required/includes/wizard_agenda.inc
@@ -81,17 +81,16 @@ testcase tUpdtWizardAgenda
hWaitForObject( TemplateName, 3000 )
TemplateName.setText( cTemplateName )
hSetTemplateSavePath( cTemplatePath )
-
- hFinishWizard( 1 )
+
+ kontext "AutopilotAgenda"
+ hClickButton( CreateButton )
- iErr = hHandleSaveError()
- if ( iErr = 1 ) then
+ if ( hHandleSaveError() = 1 ) then
kontext "AutopilotAgenda"
- hFinishWizard( 1 )
+ hClickButton( CreateButton )
endif
- brc = hDestroyDocument()
- if ( not brc ) then qaerrorlog( "#i59233# The wizard does not display the new template" )
+ if ( not hDestroyDocument() ) then qaerrorlog( "#i59233# The wizard does not display the new template" )
hFileCloseAll()
hDeleteFile( cTemplatePath )
diff --git a/testautomation/framework/required/includes/wizard_documentconverter.inc b/testautomation/framework/required/includes/wizard_documentconverter.inc
index cca037b16680..b99cef0a9c6c 100755
--- a/testautomation/framework/required/includes/wizard_documentconverter.inc
+++ b/testautomation/framework/required/includes/wizard_documentconverter.inc
@@ -49,18 +49,11 @@ testcase tUpdtWizardDocumentConverter
dim iCurrentFile as integer
hInitSingleDoc()
-
- irc = hOpenWizardWithMenu( "DOCCONV" )
- if ( irc <> 0 ) then
- warnlog( "Unable to open requested wizard, aborting test" )
- goto endsub
- endif
-
sTargetFile = hGetWorkPath()
sLogFile = sTargetFile & "Logfile.odt"
-
- stargetFile = sTargetFile & "docconv1" & hGetSuffix( "current" )
-
+ sTargetFile = sTargetFile & "docconv1" & hGetSuffix( "current" )
+
+ FileWizardDocumentConverter
Kontext "DocumentConverter"
hWaitForObject( CreateLogfile, 3000 )
@@ -85,7 +78,7 @@ testcase tUpdtWizardDocumentConverter
printlog( "Page " & 1 + iDocumentType & " is visible" )
else
warnlog( "Cannot access page 2, aborting test" )
- hFinishWizard()
+ hCloseDialog( DocumentConverter, "Cancel" )
goto endsub
endif
diff --git a/testautomation/framework/required/includes/wizard_euroconverter.inc b/testautomation/framework/required/includes/wizard_euroconverter.inc
index 87b32b5abf08..aeee35c59282 100755
--- a/testautomation/framework/required/includes/wizard_euroconverter.inc
+++ b/testautomation/framework/required/includes/wizard_euroconverter.inc
@@ -53,12 +53,7 @@ testcase tUpdtWizardEuroconverter
hInitSingleDoc()
- irc = hOpenWizardWithMenu( "EUROCONV" )
- if ( irc <> 0 ) then
- warnlog( "Failed to open the Euroconverter, aborting test" )
- hDestroyDocument()
- goto endsub
- endif
+ FileWizardEuroConverter
kontext "AutopilotEuroKonverter"
call DialogTest( AutopilotEuroKonverter , 1 )
@@ -124,7 +119,7 @@ testcase tUpdtWizardEuroconverter
kontext "AutopilotEuroKonverter"
call DialogTest( AutopilotEuroKonverter , 2 )
- hFinishWizard( 1 )
+ hClickButton( Konvertieren )
hDestroyDocument()
hDeleteFile( cTargetDir & TARGET_FILE )
diff --git a/testautomation/framework/required/includes/wizard_fax.inc b/testautomation/framework/required/includes/wizard_fax.inc
index bbd75f66a327..07fcc562dddc 100755
--- a/testautomation/framework/required/includes/wizard_fax.inc
+++ b/testautomation/framework/required/includes/wizard_fax.inc
@@ -35,9 +35,6 @@ testcase tUpdtWizardFax
printlog( "Resource test for the fax wizard" )
- dim iErr as integer
- dim brc as boolean
-
dim cTemplateName as string
dim cTemplatePath as string
@@ -74,14 +71,14 @@ testcase tUpdtWizardFax
TemplateName.setText( cTemplateName )
hSetTemplateSavePath( cTemplatePath )
-
- hFinishWizard( 1 )
+
+ kontext "AutopilotFax"
+ hClickButton( FinishButton )
kontext "StandardBar"
hWaitForObject( Speichern, 5000 )
- brc = hDestroyDocument()
- if ( not brc ) then qaerrorlog( "#i59233# The wizard does not display the new template" )
+ if ( not hDestroyDocument() ) then qaerrorlog( "#i59233# The wizard does not display the new template" )
printlog( "Delete the user-template: " & cTemplatePath )
hDeleteFile( cTemplatePath )
diff --git a/testautomation/framework/required/includes/wizard_firsttime.inc b/testautomation/framework/required/includes/wizard_firsttime.inc
index 63c79966b41e..657a68ada3d0 100755
--- a/testautomation/framework/required/includes/wizard_firsttime.inc
+++ b/testautomation/framework/required/includes/wizard_firsttime.inc
@@ -64,10 +64,6 @@ testcase tUpdtWizardFirsttime
NextBtn.click()
endif
-
-
-
-
printlog( "Check the license page" )
kontext "TabFirstStartLicense"
if ( TabFirstStartLicense.exists( 2 ) ) then
@@ -198,7 +194,7 @@ testcase tUpdtWizardFirsttime
LoadQuickstarter.unCheck()
printlog( "Closing Tools/Options" )
Kontext "OptionenDlg"
- OptionenDlg.cancel()
+ hCloseDialog( OptionenDlg, "cancel" )
printlog( "Restarting program" )
call ExitRestartTheOffice()
else
@@ -218,16 +214,12 @@ testcase tUpdtWizardFirsttime
endif
Kontext "OptionenDlg"
- if ( OptionenDlg.exists() ) then
- OptionenDlg.cancel()
- endif
+ hCloseDialog( OptionenDlg, "cancel, optional" )
' due to issue i105248 the Quickstart disabler needs to get called again, because the First Start Wizard resets the veto
call hDisableQuickstarterAPI()
- do while( getDocumentCount() > 0 )
- call hCloseDocument()
- loop
+ hFileCloseAll()
endcase
diff --git a/testautomation/framework/required/includes/wizard_letter.inc b/testautomation/framework/required/includes/wizard_letter.inc
index 1c0cb05031f0..4f68a04cbd8b 100755
--- a/testautomation/framework/required/includes/wizard_letter.inc
+++ b/testautomation/framework/required/includes/wizard_letter.inc
@@ -35,10 +35,6 @@ testcase tUpdtWizardLetter
printlog( "Resource test for the letter-wizard" )
- dim iErr as integer
- dim brc as boolean
- dim irc as integer
-
' Build the filename we want to save the template as.
dim cTemplateName as string
cTemplateName = "FWK-Testtool-Template-letterWizard.ott"
@@ -158,8 +154,9 @@ testcase tUpdtWizardLetter
printlog( " * name the template for further usage" )
TemplateName.setText( cTemplateName )
hSetTemplateSavePath( cTemplatePath )
-
- hFinishWizard( 1 )
+
+ kontext "AutopilotLetter"
+ hClickButton( FinishButton )
if ( gOOo ) then
kontext "UseOfThisTemplate"
@@ -171,22 +168,19 @@ testcase tUpdtWizardLetter
endif
endif
- iErr = hHandleSaveError()
- if ( iErr = 1 ) then
+ if ( hHandleSaveError() = 1 ) then
kontext "AutopilotLetter"
- hFinishWizard( 1 )
+ hClickButton( FinishButton )
endif
- brc = hDestroyDocument()
- if ( not brc ) then qaerrorlog( "#i59233# The wizard does not display the new template" )
+ if ( not hDestroyDocument() ) then qaerrorlog( "#i59233# The wizard does not display the new template" )
else
warnlog( "Autopilot Letter not open/exceeded timeout" )
endif
hDeleteFile( cTemplatePath )
- irc = hDeleteUserTemplates()
- if ( irc <> 0 ) then
+ if ( hDeleteUserTemplates() <> 0 ) then
printlog( "Unexpectedly deleted user template(s), please check")
endif
diff --git a/testautomation/framework/required/includes/wizard_presentation.inc b/testautomation/framework/required/includes/wizard_presentation.inc
index 68143b3cdc3c..53e2e0d3a50b 100755
--- a/testautomation/framework/required/includes/wizard_presentation.inc
+++ b/testautomation/framework/required/includes/wizard_presentation.inc
@@ -57,8 +57,9 @@ testcase tUpdtWizardPresentation
printlog( "Page 3" )
kontext "AutopilotPraesentation3"
call DialogTest( AutopilotPraesentation3 )
-
- hFinishWizard( 1 )
+
+ kontext "AutopilotPraesentation3"
+ hCloseDialog( AutopilotPraesentation3, "ok" )
else
warnlog( "Presentation wizard not open/exceeded timeout" )
endif
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_BasicOrganizer.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_BasicOrganizer.txt
new file mode 100755
index 000000000000..49400346a1a0
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_BasicOrganizer.txt
@@ -0,0 +1,657 @@
+My Macros
+Standard
+Module1
+Module1:Main
+OpenOffice.org Macros
+Depot
+CommonLang
+CommonLang:LoadLanguage
+CommonLang:CompleteMarketList
+CommonLang:LocalizedCurrencies
+CommonLang:LoadDepotDialogs
+CommonLang:InitializeStartUpModel
+Currency
+Currency:Startup
+Currency:EnableGoOnButton
+Currency:CloseStartUpDialog
+Currency:DisposeDocument
+Currency:ChooseMarket
+Currency:ConvertStylesCurrencies
+Currency:SwitchNumberFormat
+Currency:Numberformat
+Currency:CheckFormatType
+Depot
+Depot:Initialize
+Depot:Buy
+Depot:Sell
+Depot:Reset
+Depot:TransactionOk
+Depot:SelectStockname
+Depot:HandleStocks
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:SetupTransactionControls
+Depot:AddShortCuttoControl
+Depot:OpenStockRatePage
+Depot:SelectStockNameForRates
+Depot:ToggleStockRateControls
+Depot:InitializeStockRatesControls
+Internet
+Internet:CheckHistoryControls
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:GetCurrentRate
+Internet:UpdateValue
+Internet:StringToDate
+Internet:UpdateChart
+Internet:CalculateChartafterSplit
+Lang_de
+Lang_de:LoadGermanLanguage
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+tools
+tools:RemoveSheet
+tools:InitializeStatusLine
+tools:MakeRangeVisible
+tools:GetRowIndex
+tools:GetTransactionCount
+tools:GetStocksCount
+tools:FillListbox
+tools:CellValuetoControl
+tools:RemoveStockRows
+tools:AddValueToCellContent
+tools:CheckInputDate
+tools:InsertCurrentValue
+tools:SplitCellValue
+tools:GetStockRowIndex
+tools:GetStockID
+tools:CheckDocLocale
+Euro
+AutoPilotRun
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:InitializeDocument
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:ToggleProgressStep
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:AssignFileName
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:CallFilePicker
+AutoPilotRun:PreviousStep
+Common
+Common:RetrieveDocumentObjects
+Common:CancelTask
+Common:ConvertDocument
+Common:SwitchNumberFormat
+Common:Numberformat
+Common:CheckFormatType
+Common:StartConversion
+Common:IncreaseStatusValue
+Common:SelectCurrency
+Common:FillUpCurrencyListbox
+Common:InitializeProgressbar
+Common:EndStatusLine
+ConvertRun
+ConvertRun:Main
+ConvertRun:SelectListItem
+ConvertRun:RetrieveEnableValue
+ConvertRun:EnableStep1DialogControls
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:GetPreSelectedRange
+ConvertRun:AddRangeToListbox
+ConvertRun:CheckRangeSelection
+ConvertRun:FieldinList
+ConvertRun:CheckLocale
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+Hard
+Hard:CreateRangeList
+Hard:CreateRangeEnumeration
+Hard:AddSheetRanges
+Hard:SelectRange
+Hard:ConvertThehardWay
+Hard:ConvertCellCurrencies
+Hard:ModifyObjectValuewithCurrFactor
+Hard:CheckIfRangeisCurrency
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Init
+Init:InitializeResources
+Init:InitializeLanguages
+Init:InitializeCurrencies
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencyValues
+Init:InitializeLocales
+Protect
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheet
+Protect:UnprotectSheetWithDialog
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Soft
+Soft:CreateStyleEnumeration
+Soft:MakeStyleEnumeration
+Soft:AssignRangestoStyle
+Soft:AssignCellFormatRanges
+Soft:DeselectStyle
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveSheetoutofRangeName
+Soft:RetrieveRangeoutofRangeName
+Soft:ConvertTheSoftWay
+Soft:GetAssignedRanges
+Writer
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Writer:ConvertTextFields
+FormWizard
+DBMeta
+DBMeta:GetDatabaseNames
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetConnection
+DBMeta:GetDBMetaData
+DBMeta:GetTableMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:CreateDBForm
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:CreateCommandTypeList
+DBMeta:GetCurrentMetaValues
+DBMeta:AssignFieldLength
+develop
+develop:PositionControls
+develop:ResetPosSizes
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:InitializePosSizes
+develop:InsertTextControl
+develop:InsertDBControl
+develop:InsertTimeStampShape
+develop:GetLabelDiffHeight
+develop:CheckJustifiedPosition
+develop:GetCorrWidth
+develop:AdjustLineWidth
+develop:CheckOuterPoints
+develop:PositionGridControl
+develop:SetupGridColumn
+develop:ControlCaptionstoStandardLayout
+develop:GroupShapesTogether
+FormWizard
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:FormGetFields
+FormWizard:FillUpFieldsListbox
+FormWizard:PreviousStep
+FormWizard:NextStep
+FormWizard:InitializeLayoutSettings
+FormWizard:ToggleDatabasePage
+FormWizard:CommitLastDocumentChanges
+FormWizard:StoreFormInDatabase
+FormWizard:StoreForm
+FormWizard:EmptyFieldsListboxes
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:DeleteFirstListboxEntry
+Language
+Language:LoadLanguage
+Language:SetDialogLanguage
+Language:InitializeWidthList
+Layouter
+Layouter:InsertControl
+Layouter:ArrangeControls
+Layouter:OpenFormDocument
+Layouter:InitializeLabelValues
+Layouter:ConfigurePageStyle
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ChangeArrangemode
+Layouter:ToggleBorderGroup
+Layouter:ToggleAlignGroup
+Layouter:ToggleLayoutPage
+Layouter:DestroyControlShapes
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:SwitchAlignMode
+tools
+tools:SetProgressValue
+tools:GetPreferredWidth
+tools:GetPreferredHeight
+tools:GetPeerSize
+tools:TwipToCM
+tools:TwipTo100telMM
+tools:TwipToPixel
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:GetPoint
+tools:GetSize
+tools:ImportStyles
+tools:SetNumerics
+tools:RemoveShapes
+tools:RemoveNirwanaShapes
+tools:ShapesToNirwana
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFormWizardPaths
+tools:GetFilterName
+Gimmicks
+AutoText
+AutoText:Main
+AutoText:InsertStringToCell
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+GetTexts
+GetTexts:Main
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetAnnotations
+GetTexts:GetNamedRanges
+GetTexts:GetCalcGraphicNames
+GetTexts:GetParagraphTexts
+GetTexts:GetChartStrings
+GetTexts:GetFrameTexts
+GetTexts:GetTextFieldStrings
+GetTexts:GetLinkedFileNames
+GetTexts:GetSectionNames
+GetTexts:GetWriterStrings
+GetTexts:GetDrawPageTitles
+GetTexts:GetPageStrings
+GetTexts:GetDrawStrings
+GetTexts:GetDocumentProps
+GetTexts:GetHyperlinks
+GetTexts:GetGraphicNames
+GetTexts:GetStyles
+GetTexts:GetControlStrings
+GetTexts:GetControlContent
+GetTexts:WriteStringtoLogFile
+GetTexts:MakeLogHeadLine
+ReadDir
+ReadDir:Main
+ReadDir:TreeInfo
+ReadDir:CreateTextShape
+ReadDir:CalculateXPoint
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:ReadSourceDirectory
+ReadDir:CloseDialog
+ReadDir:AdjustPageHeight
+ReadDir:SetNewLevels
+ReadDir:CheckPageWidth
+ReadDir:ToggleDialogControls
+Userfields
+Userfields:StartChangesUserfields
+Userfields:FillDialog
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:StopMacro
+Userfields:SaveSettings
+Userfields:ToggleButtons
+Userfields:InitializeUserFamily
+Userfields:AddRecord
+Userfields:FillupTextFields
+Userfields:StepToRecord
+Userfields:SelectCurrentFields
+Userfields:DeleteCurrentSettings
+ImportWizard
+API
+API:OpenRegKey
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:QueryValueEx
+API:QueryValue
+DialogModul
+DialogModul:FillStep_Welcome
+DialogModul:FillStep_InputPaths
+DialogModul:FillUpApplicationList
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:AssignPathToCurrentApplication
+DialogModul:SaveStep_InputPath
+DialogModul:ToggleInputPaths
+DialogModul:MakeSummaryString
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Progress
+DialogModul:GetFilterTracingLogPath
+DialogModul:CheckMSImportAvailability
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckTextBoxPath
+DialogModul:InitializeProgressPage
+DialogModul:SetProgressDisplay
+DialogModul:TakoverFolderName
+DialogModul:FinalizeDialogButtons
+FilesModul
+FilesModul:ReadCollectionPaths
+FilesModul:GetApplicationIndex
+FilesModul:InterruptProcess
+FilesModul:AddCollectionPath
+FilesModul:SetExtension
+FilesModul:AddFilterNameToPathItem
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CollectPaths
+FilesModul:ConvertAllDocuments
+FilesModul:AddListtoFilesList
+FilesModul:GetTargetTemplatePath
+FilesModul:GetFilterName
+FilesModul:SearchArrayforPartString
+FilesModul:CreateLogTable
+FilesModul:GetSize
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:CreateLogDocument
+FilesModul:GetFilterTracingLogPath
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertCommentToLogCell
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckPassWordProtection
+FilesModul:OpenLogDocument
+FilesModul:MergeRange
+FilesModul:ConcatComment
+Language
+Language:LoadLanguage
+Language:GetApplResourceArray
+Main
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:CancelTask
+Main:TemplateDirSearchDialog
+Main:RepaintHeaderPreview
+Main:CheckModuleInstallation
+Main:CheckInstalledModule
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+Main:TakeOverPathSettings
+Main:GetImportWizardPaths
+Schedule
+BankHoliday
+BankHoliday:Main
+BankHoliday:CalEasterTable
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:AddFollowUpHolidays
+CalendarMain
+CalendarMain:CalAutopilotTable
+CalendarMain:SetupNumberFormatter
+CalendarMain:AddNumberFormat
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CreateTable
+CreateTable:CalCreateYearTable
+CreateTable:CalCreateMonthTable
+CreateTable:FormatCalCells
+DlgControl
+DlgControl:Main
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalMouseMoved
+DlgControl:SelectState
+DlgControl:MouseLeavesImage
+DlgControl:CalClearInputMask
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:ToggleInsertButton
+DlgControl:CalUpdateNewEventFrame
+GermanHolidays
+GermanHolidays:Main
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+Language
+Language:LoadLanguage
+LocalHolidays
+LocalHolidays:Main
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateJapaneseAutumnDay
+OwnEvents
+OwnEvents:Main
+OwnEvents:CalSaveOwnData
+OwnEvents:CalLoadOwnData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalcmdInsertData
+OwnEvents:GetSelectedDateUnits
+OwnEvents:GetDateUnits
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CheckInsertedDates
+OwnEvents:GetOwnMonth
+ScriptBindingLibrary
+Template
+Autotext
+Autotext:Main
+Autotext:CreateUserDatafield
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Correspondence
+Correspondence:Main
+Correspondence:Placeholder
+Correspondence:Database
+Correspondence:LoadLanguageCorrespondence
+Correspondence:GetFieldName
+Correspondence:OK
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+ModuleAgenda
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+ModuleAgenda:FinishAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:GetOptionValues
+Samples
+Samples:PrepareForEditing
+Samples:ShowStyles
+Samples:SelectStyle
+Samples:SaveCurrentStyles
+Samples:RestoreCurrentStyles
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Tools
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:SetBasicReadOnlyFlag
+Debug:WritedbgInfo
+Debug:WriteDbgString
+Debug:printdbgInfo
+Debug:ShowArray
+Debug:ShowPropertyValues
+Debug:ShowNameValuePair
+Debug:ShowElementNames
+Debug:ShowSupportedServiceNames
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ProtectCurrentSheets
+Debug:FillDocument
+Listbox
+Listbox:MergeList
+Listbox:RemoveListItems
+Listbox:InitializeListboxProcedures
+Listbox:CopyListboxItems
+Listbox:FormMoveSelected
+Listbox:FormMoveAll
+Listbox:FormRemoveSelected
+Listbox:FormRemoveAll
+Listbox:MoveSelectedListBox
+Listbox:MoveOrderedSelectedListbox
+Listbox:RemoveSelected
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Listbox:FormSetMoveRights
+Listbox:AddSingleItemToListbox
+Listbox:EmptyListbox
+Listbox:SelectListboxItem
+Listbox:GetSelectedListboxItems
+Listbox:RemoveListboxItemByName
+Listbox:GetItemPos
+Misc
+Misc:Main
+Misc:RegisterNewDataSource
+Misc:ConnecttoDatabase
+Misc:GetStarOfficeLocale
+Misc:GetRegistryKeyContent
+Misc:GetProductname
+Misc:OpenDocument
+Misc:TaskonDesktop
+Misc:RetrieveFileName
+Misc:GetPathSettings
+Misc:GetOfficeSubPath
+Misc:ShowNoOfficePathError
+Misc:InitResources
+Misc:GetResText
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:ChangeValueofRange
+Misc:ReplaceRangeValues
+Misc:GetValueofCellbyName
+Misc:DuplicateRow
+Misc:GetStringofCellbyName
+Misc:GetCellByName
+Misc:ChangeCellValue
+Misc:GetDocumentType
+Misc:GetNumberFormatType
+Misc:ProtectSheets
+Misc:UnprotectSheets
+Misc:GetRowIndex
+Misc:GetColumnIndex
+Misc:CopySheetbyName
+Misc:ToggleWindow
+Misc:CheckNewSheetname
+Misc:AddNewSheetName
+Misc:GetSheetIndex
+Misc:GetLastUsedRow
+Misc:ModifyBorderLineWidth
+Misc:AttachBasicMacroToEvent
+Misc:ModifyPropertyValue
+Misc:GetPropertyValueIndex
+Misc:DispatchSlot
+Misc:IsFatOffice
+Misc:GetLocale
+Misc:ToggleDesignMode
+Misc:isHighContrast
+Misc:CreateNewDocument
+Misc:DisposeDocument
+Misc:CalIsLeapYear
+ModuleControls
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:GetOptionGroupValue
+ModuleControls:WriteOptValueToCell
+ModuleControls:LoadDialog
+ModuleControls:GetFolderName
+ModuleControls:GetFileName
+ModuleControls:StoreDocument
+ModuleControls:AddFiltersToDialog
+ModuleControls:SwitchMousePointer
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+Strings
+Strings:ElimChar
+Strings:DeleteStr
+Strings:FindPartString
+Strings:PartStringInArray
+Strings:RTrimStr
+Strings:LTRimChar
+Strings:ArrayOutOfString
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:FieldinArray
+Strings:FieldinList
+Strings:IndexinArray
+Strings:MultiArrayInListbox
+Strings:StringInMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetIndexForPartStringinMultiArray
+Strings:ArrayfromMultiArray
+Strings:ReplaceString
+Strings:FindSecondValue
+Strings:Power
+Strings:Round
+Strings:FileNameoutofPath
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:DirectoryNameoutofPath
+Strings:CountCharsinString
+Strings:BubbleSortList
+Strings:GetValueoutofList
+Strings:AddListtoList
+Strings:CheckDouble
+UCB
+UCB:Main
+UCB:ReadDirectories
+UCB:AddFoldertoList
+UCB:AddFileNameToList
+UCB:RetrieveDocTitle
+UCB:GetRealFileContent
+UCB:CopyRecursively
+UCB:ShowHelperDialog
+UCB:SaveDataToFile
+UCB:LoadDataFromFile
+UCB:CreateFolder
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_BeanShell.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_BeanShell.txt
new file mode 100755
index 000000000000..5fd31835476e
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_BeanShell.txt
@@ -0,0 +1,14 @@
+My Macros
+OpenOffice.org Macros
+Capitalise
+capitalise.bsh
+HelloWorld
+helloworld.bsh
+Highlight
+ButtonPressHandler.bsh
+ShowDialog.bsh
+MemoryUsage
+memusage.bsh
+WordCount
+wordcount.bsh
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_JavaScript.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_JavaScript.txt
new file mode 100755
index 000000000000..06f63f48530c
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_JavaScript.txt
@@ -0,0 +1,10 @@
+My Macros
+OpenOffice.org Macros
+ExportSheetsToHTML
+exportsheetstohtml.js
+HelloWorld
+helloworld.js
+Highlight
+ButtonPressHandler.js
+ShowDialog.js
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_Python.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_Python.txt
new file mode 100755
index 000000000000..93f69e69e7b0
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_Python.txt
@@ -0,0 +1,10 @@
+My Macros
+OpenOffice.org Macros
+Capitalise
+capitalisePython
+HelloWorld
+HelloWorldPython
+pythonSamples
+TableSample
+createTable
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_RunMacro.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_RunMacro.txt
new file mode 100755
index 000000000000..74378128ac9b
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_RunMacro.txt
@@ -0,0 +1,681 @@
+My Macros
+Standard
+Module1
+Module1:Main
+OpenOffice.org Macros
+Capitalise
+Capitalise:capitalise.bsh
+Capitalise:capitalisePython
+Depot
+Depot
+Depot:AddShortCuttoControl
+Depot:Buy
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:HandleStocks
+Depot:Initialize
+Depot:InitializeStockRatesControls
+Depot:OpenStockRatePage
+Depot:Reset
+Depot:SelectStockname
+Depot:SelectStockNameForRates
+Depot:Sell
+Depot:SetupTransactionControls
+Depot:ToggleStockRateControls
+Depot:TransactionOk
+CommonLang
+CommonLang:CompleteMarketList
+CommonLang:InitializeStartUpModel
+CommonLang:LoadDepotDialogs
+CommonLang:LoadLanguage
+CommonLang:LocalizedCurrencies
+Currency
+Currency:CheckFormatType
+Currency:ChooseMarket
+Currency:CloseStartUpDialog
+Currency:ConvertStylesCurrencies
+Currency:DisposeDocument
+Currency:EnableGoOnButton
+Currency:Numberformat
+Currency:Startup
+Currency:SwitchNumberFormat
+Internet
+Internet:CalculateChartafterSplit
+Internet:CheckHistoryControls
+Internet:GetCurrentRate
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:StringToDate
+Internet:UpdateChart
+Internet:UpdateValue
+Lang_de
+Lang_de:LoadGermanLanguage
+tools
+tools:AddValueToCellContent
+tools:CellValuetoControl
+tools:CheckDocLocale
+tools:CheckInputDate
+tools:FillListbox
+tools:GetRowIndex
+tools:GetStockID
+tools:GetStockRowIndex
+tools:GetStocksCount
+tools:GetTransactionCount
+tools:InitializeStatusLine
+tools:InsertCurrentValue
+tools:MakeRangeVisible
+tools:RemoveSheet
+tools:RemoveStockRows
+tools:SplitCellValue
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Euro
+ConvertRun
+ConvertRun:AddRangeToListbox
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:CheckLocale
+ConvertRun:CheckRangeSelection
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:EnableStep1DialogControls
+ConvertRun:FieldinList
+ConvertRun:GetPreSelectedRange
+ConvertRun:Main
+ConvertRun:RetrieveEnableValue
+ConvertRun:SelectListItem
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+AutoPilotRun
+AutoPilotRun:AssignFileName
+AutoPilotRun:CallFilePicker
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeDocument
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:PreviousStep
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:ToggleProgressStep
+Hard
+Hard:AddSheetRanges
+Hard:CheckIfRangeisCurrency
+Hard:ConvertCellCurrencies
+Hard:ConvertThehardWay
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Hard:CreateRangeEnumeration
+Hard:CreateRangeList
+Hard:ModifyObjectValuewithCurrFactor
+Hard:SelectRange
+Soft
+Soft:AssignCellFormatRanges
+Soft:AssignRangestoStyle
+Soft:ConvertTheSoftWay
+Soft:CreateStyleEnumeration
+Soft:DeselectStyle
+Soft:GetAssignedRanges
+Soft:MakeStyleEnumeration
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveRangeoutofRangeName
+Soft:RetrieveSheetoutofRangeName
+Init
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencies
+Init:InitializeCurrencyValues
+Init:InitializeLanguages
+Init:InitializeLocales
+Init:InitializeResources
+Common
+Common:CancelTask
+Common:CheckFormatType
+Common:ConvertDocument
+Common:EndStatusLine
+Common:FillUpCurrencyListbox
+Common:IncreaseStatusValue
+Common:InitializeProgressbar
+Common:Numberformat
+Common:RetrieveDocumentObjects
+Common:SelectCurrency
+Common:StartConversion
+Common:SwitchNumberFormat
+Writer
+Writer:ConvertTextFields
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Protect
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:UnprotectSheet
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheetWithDialog
+ExportSheetsToHTML
+ExportSheetsToHTML:exportsheetstohtml.js
+FormWizard
+FormWizard
+FormWizard:CommitLastDocumentChanges
+FormWizard:DeleteFirstListboxEntry
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:EmptyFieldsListboxes
+FormWizard:FillUpFieldsListbox
+FormWizard:FormGetFields
+FormWizard:InitializeLayoutSettings
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:NextStep
+FormWizard:PreviousStep
+FormWizard:StoreForm
+FormWizard:StoreFormInDatabase
+FormWizard:ToggleDatabasePage
+Layouter
+Layouter:ArrangeControls
+Layouter:ChangeArrangemode
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ConfigurePageStyle
+Layouter:DestroyControlShapes
+Layouter:InitializeLabelValues
+Layouter:InsertControl
+Layouter:OpenFormDocument
+Layouter:SwitchAlignMode
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:ToggleAlignGroup
+Layouter:ToggleBorderGroup
+Layouter:ToggleLayoutPage
+Language
+Language:InitializeWidthList
+Language:LoadLanguage
+Language:SetDialogLanguage
+DBMeta
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:AssignFieldLength
+DBMeta:CreateCommandTypeList
+DBMeta:CreateDBForm
+DBMeta:GetConnection
+DBMeta:GetCurrentMetaValues
+DBMeta:GetDatabaseNames
+DBMeta:GetDBMetaData
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:GetTableMetaData
+tools
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFilterName
+tools:GetFormWizardPaths
+tools:GetPeerSize
+tools:GetPoint
+tools:GetPreferredHeight
+tools:GetPreferredWidth
+tools:GetSize
+tools:ImportStyles
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:RemoveNirwanaShapes
+tools:RemoveShapes
+tools:SetNumerics
+tools:SetProgressValue
+tools:ShapesToNirwana
+tools:TwipTo100telMM
+tools:TwipToCM
+tools:TwipToPixel
+develop
+develop:AdjustLineWidth
+develop:CheckJustifiedPosition
+develop:CheckOuterPoints
+develop:ControlCaptionstoStandardLayout
+develop:GetCorrWidth
+develop:GetLabelDiffHeight
+develop:GroupShapesTogether
+develop:InitializePosSizes
+develop:InsertDBControl
+develop:InsertTextControl
+develop:InsertTimeStampShape
+develop:PositionControls
+develop:PositionGridControl
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:ResetPosSizes
+develop:SetupGridColumn
+Gimmicks
+GetTexts
+GetTexts:GetAnnotations
+GetTexts:GetCalcGraphicNames
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetChartStrings
+GetTexts:GetControlContent
+GetTexts:GetControlStrings
+GetTexts:GetDocumentProps
+GetTexts:GetDrawPageTitles
+GetTexts:GetDrawStrings
+GetTexts:GetFrameTexts
+GetTexts:GetGraphicNames
+GetTexts:GetHyperlinks
+GetTexts:GetLinkedFileNames
+GetTexts:GetNamedRanges
+GetTexts:GetPageStrings
+GetTexts:GetParagraphTexts
+GetTexts:GetSectionNames
+GetTexts:GetStyles
+GetTexts:GetTextFieldStrings
+GetTexts:GetWriterStrings
+GetTexts:Main
+GetTexts:MakeLogHeadLine
+GetTexts:WriteStringtoLogFile
+Userfields
+Userfields:AddRecord
+Userfields:DeleteCurrentSettings
+Userfields:FillDialog
+Userfields:FillupTextFields
+Userfields:InitializeUserFamily
+Userfields:SaveSettings
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:SelectCurrentFields
+Userfields:StartChangesUserfields
+Userfields:StepToRecord
+Userfields:StopMacro
+Userfields:ToggleButtons
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+AutoText
+AutoText:InsertStringToCell
+AutoText:Main
+ReadDir
+ReadDir:AdjustPageHeight
+ReadDir:CalculateXPoint
+ReadDir:CheckPageWidth
+ReadDir:CloseDialog
+ReadDir:CreateTextShape
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:Main
+ReadDir:ReadSourceDirectory
+ReadDir:SetNewLevels
+ReadDir:ToggleDialogControls
+ReadDir:TreeInfo
+HelloWorld
+HelloWorld:helloworld.bsh
+HelloWorld:helloworld.js
+HelloWorld:HelloWorld.printHW
+HelloWorld:HelloWorldPython
+Highlight
+Highlight:ButtonPressHandler.bsh
+Highlight:ButtonPressHandler.js
+Highlight:HighlightText.showForm
+Highlight:ShowDialog.bsh
+Highlight:ShowDialog.js
+ImportWizard
+Main
+Main:CancelTask
+Main:CheckInstalledModule
+Main:CheckModuleInstallation
+Main:GetImportWizardPaths
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:RepaintHeaderPreview
+Main:TakeOverPathSettings
+Main:TemplateDirSearchDialog
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+DialogModul
+DialogModul:AssignPathToCurrentApplication
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckMSImportAvailability
+DialogModul:CheckTextBoxPath
+DialogModul:FillStep_InputPaths
+DialogModul:FillStep_Progress
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Welcome
+DialogModul:FillUpApplicationList
+DialogModul:FinalizeDialogButtons
+DialogModul:GetFilterTracingLogPath
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:InitializeProgressPage
+DialogModul:MakeSummaryString
+DialogModul:SaveStep_InputPath
+DialogModul:SetProgressDisplay
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:TakoverFolderName
+DialogModul:ToggleInputPaths
+Language
+Language:GetApplResourceArray
+Language:LoadLanguage
+FilesModul
+FilesModul:AddCollectionPath
+FilesModul:AddFilterNameToPathItem
+FilesModul:AddListtoFilesList
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CheckPassWordProtection
+FilesModul:CollectPaths
+FilesModul:ConcatComment
+FilesModul:ConvertAllDocuments
+FilesModul:CreateLogDocument
+FilesModul:CreateLogTable
+FilesModul:GetApplicationIndex
+FilesModul:GetFilterName
+FilesModul:GetFilterTracingLogPath
+FilesModul:GetSize
+FilesModul:GetTargetTemplatePath
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:InsertCommentToLogCell
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InterruptProcess
+FilesModul:MergeRange
+FilesModul:OpenLogDocument
+FilesModul:ReadCollectionPaths
+FilesModul:SearchArrayforPartString
+FilesModul:SetExtension
+API
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:OpenRegKey
+API:QueryValue
+API:QueryValueEx
+MemoryUsage
+MemoryUsage:MemoryUsage.updateMemoryUsage
+MemoryUsage:memusage.bsh
+Schedule
+OwnEvents
+OwnEvents:CalcmdInsertData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CalLoadOwnData
+OwnEvents:CalSaveOwnData
+OwnEvents:CheckInsertedDates
+OwnEvents:GetDateUnits
+OwnEvents:GetOwnMonth
+OwnEvents:GetSelectedDateUnits
+OwnEvents:Main
+CalendarMain
+CalendarMain:AddNumberFormat
+CalendarMain:CalAutopilotTable
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CalendarMain:SetupNumberFormatter
+BankHoliday
+BankHoliday:AddFollowUpHolidays
+BankHoliday:CalEasterTable
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:Main
+DlgControl
+DlgControl:CalClearInputMask
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:CalMouseMoved
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalUpdateNewEventFrame
+DlgControl:Main
+DlgControl:MouseLeavesImage
+DlgControl:SelectState
+DlgControl:ToggleInsertButton
+Language
+Language:LoadLanguage
+CreateTable
+CreateTable:CalCreateMonthTable
+CreateTable:CalCreateYearTable
+CreateTable:FormatCalCells
+GermanHolidays
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:Main
+LocalHolidays
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseAutumnDay
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:Main
+ScriptBindingLibrary
+Template
+ModuleAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:FinishAgenda
+ModuleAgenda:GetOptionValues
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+Correspondence
+Correspondence:Database
+Correspondence:GetFieldName
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+Correspondence:LoadLanguageCorrespondence
+Correspondence:Main
+Correspondence:OK
+Correspondence:Placeholder
+Samples
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Samples:PrepareForEditing
+Samples:RestoreCurrentStyles
+Samples:SaveCurrentStyles
+Samples:SelectStyle
+Samples:ShowStyles
+Autotext
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Autotext:CreateUserDatafield
+Autotext:Main
+Tools
+ModuleControls
+ModuleControls:AddFiltersToDialog
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:GetFileName
+ModuleControls:GetFolderName
+ModuleControls:GetOptionGroupValue
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:LoadDialog
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:StoreDocument
+ModuleControls:SwitchMousePointer
+ModuleControls:WriteOptValueToCell
+Strings
+Strings:AddListtoList
+Strings:ArrayfromMultiArray
+Strings:ArrayOutOfString
+Strings:BubbleSortList
+Strings:CheckDouble
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:CountCharsinString
+Strings:DeleteStr
+Strings:DirectoryNameoutofPath
+Strings:ElimChar
+Strings:FieldinArray
+Strings:FieldinList
+Strings:FileNameoutofPath
+Strings:FindPartString
+Strings:FindSecondValue
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:GetIndexForPartStringinMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetValueoutofList
+Strings:IndexinArray
+Strings:LTRimChar
+Strings:MultiArrayInListbox
+Strings:PartStringInArray
+Strings:Power
+Strings:ReplaceString
+Strings:Round
+Strings:RTrimStr
+Strings:StringInMultiArray
+Misc
+Misc:AddNewSheetName
+Misc:AttachBasicMacroToEvent
+Misc:CalIsLeapYear
+Misc:ChangeCellValue
+Misc:ChangeValueofRange
+Misc:CheckNewSheetname
+Misc:ConnecttoDatabase
+Misc:CopySheetbyName
+Misc:CreateNewDocument
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:DispatchSlot
+Misc:DisposeDocument
+Misc:DuplicateRow
+Misc:GetCellByName
+Misc:GetColumnIndex
+Misc:GetDocumentType
+Misc:GetLastUsedRow
+Misc:GetLocale
+Misc:GetNumberFormatType
+Misc:GetOfficeSubPath
+Misc:GetPathSettings
+Misc:GetProductname
+Misc:GetPropertyValueIndex
+Misc:GetRegistryKeyContent
+Misc:GetResText
+Misc:GetRowIndex
+Misc:GetSheetIndex
+Misc:GetStarOfficeLocale
+Misc:GetStringofCellbyName
+Misc:GetValueofCellbyName
+Misc:InitResources
+Misc:IsFatOffice
+Misc:isHighContrast
+Misc:Main
+Misc:ModifyBorderLineWidth
+Misc:ModifyPropertyValue
+Misc:OpenDocument
+Misc:ProtectSheets
+Misc:RegisterNewDataSource
+Misc:ReplaceRangeValues
+Misc:RetrieveFileName
+Misc:ShowNoOfficePathError
+Misc:TaskonDesktop
+Misc:ToggleDesignMode
+Misc:ToggleWindow
+Misc:UnprotectSheets
+UCB
+UCB:AddFileNameToList
+UCB:AddFoldertoList
+UCB:CopyRecursively
+UCB:CreateFolder
+UCB:GetRealFileContent
+UCB:LoadDataFromFile
+UCB:Main
+UCB:ReadDirectories
+UCB:RetrieveDocTitle
+UCB:SaveDataToFile
+UCB:ShowHelperDialog
+Listbox
+Listbox:AddSingleItemToListbox
+Listbox:CopyListboxItems
+Listbox:EmptyListbox
+Listbox:FormMoveAll
+Listbox:FormMoveSelected
+Listbox:FormRemoveAll
+Listbox:FormRemoveSelected
+Listbox:FormSetMoveRights
+Listbox:GetItemPos
+Listbox:GetSelectedListboxItems
+Listbox:InitializeListboxProcedures
+Listbox:MergeList
+Listbox:MoveOrderedSelectedListbox
+Listbox:MoveSelectedListBox
+Listbox:RemoveListboxItemByName
+Listbox:RemoveListItems
+Listbox:RemoveSelected
+Listbox:SelectListboxItem
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:FillDocument
+Debug:printdbgInfo
+Debug:ProtectCurrentSheets
+Debug:SetBasicReadOnlyFlag
+Debug:ShowArray
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ShowElementNames
+Debug:ShowNameValuePair
+Debug:ShowPropertyValues
+Debug:ShowSupportedServiceNames
+Debug:WritedbgInfo
+Debug:WriteDbgString
+WordCount
+WordCount:wordcount.bsh
+pythonSamples
+TableSample
+TableSample:createTable
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BasicOrganizer.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BasicOrganizer.txt
new file mode 100755
index 000000000000..49400346a1a0
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BasicOrganizer.txt
@@ -0,0 +1,657 @@
+My Macros
+Standard
+Module1
+Module1:Main
+OpenOffice.org Macros
+Depot
+CommonLang
+CommonLang:LoadLanguage
+CommonLang:CompleteMarketList
+CommonLang:LocalizedCurrencies
+CommonLang:LoadDepotDialogs
+CommonLang:InitializeStartUpModel
+Currency
+Currency:Startup
+Currency:EnableGoOnButton
+Currency:CloseStartUpDialog
+Currency:DisposeDocument
+Currency:ChooseMarket
+Currency:ConvertStylesCurrencies
+Currency:SwitchNumberFormat
+Currency:Numberformat
+Currency:CheckFormatType
+Depot
+Depot:Initialize
+Depot:Buy
+Depot:Sell
+Depot:Reset
+Depot:TransactionOk
+Depot:SelectStockname
+Depot:HandleStocks
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:SetupTransactionControls
+Depot:AddShortCuttoControl
+Depot:OpenStockRatePage
+Depot:SelectStockNameForRates
+Depot:ToggleStockRateControls
+Depot:InitializeStockRatesControls
+Internet
+Internet:CheckHistoryControls
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:GetCurrentRate
+Internet:UpdateValue
+Internet:StringToDate
+Internet:UpdateChart
+Internet:CalculateChartafterSplit
+Lang_de
+Lang_de:LoadGermanLanguage
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+tools
+tools:RemoveSheet
+tools:InitializeStatusLine
+tools:MakeRangeVisible
+tools:GetRowIndex
+tools:GetTransactionCount
+tools:GetStocksCount
+tools:FillListbox
+tools:CellValuetoControl
+tools:RemoveStockRows
+tools:AddValueToCellContent
+tools:CheckInputDate
+tools:InsertCurrentValue
+tools:SplitCellValue
+tools:GetStockRowIndex
+tools:GetStockID
+tools:CheckDocLocale
+Euro
+AutoPilotRun
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:InitializeDocument
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:ToggleProgressStep
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:AssignFileName
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:CallFilePicker
+AutoPilotRun:PreviousStep
+Common
+Common:RetrieveDocumentObjects
+Common:CancelTask
+Common:ConvertDocument
+Common:SwitchNumberFormat
+Common:Numberformat
+Common:CheckFormatType
+Common:StartConversion
+Common:IncreaseStatusValue
+Common:SelectCurrency
+Common:FillUpCurrencyListbox
+Common:InitializeProgressbar
+Common:EndStatusLine
+ConvertRun
+ConvertRun:Main
+ConvertRun:SelectListItem
+ConvertRun:RetrieveEnableValue
+ConvertRun:EnableStep1DialogControls
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:GetPreSelectedRange
+ConvertRun:AddRangeToListbox
+ConvertRun:CheckRangeSelection
+ConvertRun:FieldinList
+ConvertRun:CheckLocale
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+Hard
+Hard:CreateRangeList
+Hard:CreateRangeEnumeration
+Hard:AddSheetRanges
+Hard:SelectRange
+Hard:ConvertThehardWay
+Hard:ConvertCellCurrencies
+Hard:ModifyObjectValuewithCurrFactor
+Hard:CheckIfRangeisCurrency
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Init
+Init:InitializeResources
+Init:InitializeLanguages
+Init:InitializeCurrencies
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencyValues
+Init:InitializeLocales
+Protect
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheet
+Protect:UnprotectSheetWithDialog
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Soft
+Soft:CreateStyleEnumeration
+Soft:MakeStyleEnumeration
+Soft:AssignRangestoStyle
+Soft:AssignCellFormatRanges
+Soft:DeselectStyle
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveSheetoutofRangeName
+Soft:RetrieveRangeoutofRangeName
+Soft:ConvertTheSoftWay
+Soft:GetAssignedRanges
+Writer
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Writer:ConvertTextFields
+FormWizard
+DBMeta
+DBMeta:GetDatabaseNames
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetConnection
+DBMeta:GetDBMetaData
+DBMeta:GetTableMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:CreateDBForm
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:CreateCommandTypeList
+DBMeta:GetCurrentMetaValues
+DBMeta:AssignFieldLength
+develop
+develop:PositionControls
+develop:ResetPosSizes
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:InitializePosSizes
+develop:InsertTextControl
+develop:InsertDBControl
+develop:InsertTimeStampShape
+develop:GetLabelDiffHeight
+develop:CheckJustifiedPosition
+develop:GetCorrWidth
+develop:AdjustLineWidth
+develop:CheckOuterPoints
+develop:PositionGridControl
+develop:SetupGridColumn
+develop:ControlCaptionstoStandardLayout
+develop:GroupShapesTogether
+FormWizard
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:FormGetFields
+FormWizard:FillUpFieldsListbox
+FormWizard:PreviousStep
+FormWizard:NextStep
+FormWizard:InitializeLayoutSettings
+FormWizard:ToggleDatabasePage
+FormWizard:CommitLastDocumentChanges
+FormWizard:StoreFormInDatabase
+FormWizard:StoreForm
+FormWizard:EmptyFieldsListboxes
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:DeleteFirstListboxEntry
+Language
+Language:LoadLanguage
+Language:SetDialogLanguage
+Language:InitializeWidthList
+Layouter
+Layouter:InsertControl
+Layouter:ArrangeControls
+Layouter:OpenFormDocument
+Layouter:InitializeLabelValues
+Layouter:ConfigurePageStyle
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ChangeArrangemode
+Layouter:ToggleBorderGroup
+Layouter:ToggleAlignGroup
+Layouter:ToggleLayoutPage
+Layouter:DestroyControlShapes
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:SwitchAlignMode
+tools
+tools:SetProgressValue
+tools:GetPreferredWidth
+tools:GetPreferredHeight
+tools:GetPeerSize
+tools:TwipToCM
+tools:TwipTo100telMM
+tools:TwipToPixel
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:GetPoint
+tools:GetSize
+tools:ImportStyles
+tools:SetNumerics
+tools:RemoveShapes
+tools:RemoveNirwanaShapes
+tools:ShapesToNirwana
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFormWizardPaths
+tools:GetFilterName
+Gimmicks
+AutoText
+AutoText:Main
+AutoText:InsertStringToCell
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+GetTexts
+GetTexts:Main
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetAnnotations
+GetTexts:GetNamedRanges
+GetTexts:GetCalcGraphicNames
+GetTexts:GetParagraphTexts
+GetTexts:GetChartStrings
+GetTexts:GetFrameTexts
+GetTexts:GetTextFieldStrings
+GetTexts:GetLinkedFileNames
+GetTexts:GetSectionNames
+GetTexts:GetWriterStrings
+GetTexts:GetDrawPageTitles
+GetTexts:GetPageStrings
+GetTexts:GetDrawStrings
+GetTexts:GetDocumentProps
+GetTexts:GetHyperlinks
+GetTexts:GetGraphicNames
+GetTexts:GetStyles
+GetTexts:GetControlStrings
+GetTexts:GetControlContent
+GetTexts:WriteStringtoLogFile
+GetTexts:MakeLogHeadLine
+ReadDir
+ReadDir:Main
+ReadDir:TreeInfo
+ReadDir:CreateTextShape
+ReadDir:CalculateXPoint
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:ReadSourceDirectory
+ReadDir:CloseDialog
+ReadDir:AdjustPageHeight
+ReadDir:SetNewLevels
+ReadDir:CheckPageWidth
+ReadDir:ToggleDialogControls
+Userfields
+Userfields:StartChangesUserfields
+Userfields:FillDialog
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:StopMacro
+Userfields:SaveSettings
+Userfields:ToggleButtons
+Userfields:InitializeUserFamily
+Userfields:AddRecord
+Userfields:FillupTextFields
+Userfields:StepToRecord
+Userfields:SelectCurrentFields
+Userfields:DeleteCurrentSettings
+ImportWizard
+API
+API:OpenRegKey
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:QueryValueEx
+API:QueryValue
+DialogModul
+DialogModul:FillStep_Welcome
+DialogModul:FillStep_InputPaths
+DialogModul:FillUpApplicationList
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:AssignPathToCurrentApplication
+DialogModul:SaveStep_InputPath
+DialogModul:ToggleInputPaths
+DialogModul:MakeSummaryString
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Progress
+DialogModul:GetFilterTracingLogPath
+DialogModul:CheckMSImportAvailability
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckTextBoxPath
+DialogModul:InitializeProgressPage
+DialogModul:SetProgressDisplay
+DialogModul:TakoverFolderName
+DialogModul:FinalizeDialogButtons
+FilesModul
+FilesModul:ReadCollectionPaths
+FilesModul:GetApplicationIndex
+FilesModul:InterruptProcess
+FilesModul:AddCollectionPath
+FilesModul:SetExtension
+FilesModul:AddFilterNameToPathItem
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CollectPaths
+FilesModul:ConvertAllDocuments
+FilesModul:AddListtoFilesList
+FilesModul:GetTargetTemplatePath
+FilesModul:GetFilterName
+FilesModul:SearchArrayforPartString
+FilesModul:CreateLogTable
+FilesModul:GetSize
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:CreateLogDocument
+FilesModul:GetFilterTracingLogPath
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertCommentToLogCell
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckPassWordProtection
+FilesModul:OpenLogDocument
+FilesModul:MergeRange
+FilesModul:ConcatComment
+Language
+Language:LoadLanguage
+Language:GetApplResourceArray
+Main
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:CancelTask
+Main:TemplateDirSearchDialog
+Main:RepaintHeaderPreview
+Main:CheckModuleInstallation
+Main:CheckInstalledModule
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+Main:TakeOverPathSettings
+Main:GetImportWizardPaths
+Schedule
+BankHoliday
+BankHoliday:Main
+BankHoliday:CalEasterTable
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:AddFollowUpHolidays
+CalendarMain
+CalendarMain:CalAutopilotTable
+CalendarMain:SetupNumberFormatter
+CalendarMain:AddNumberFormat
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CreateTable
+CreateTable:CalCreateYearTable
+CreateTable:CalCreateMonthTable
+CreateTable:FormatCalCells
+DlgControl
+DlgControl:Main
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalMouseMoved
+DlgControl:SelectState
+DlgControl:MouseLeavesImage
+DlgControl:CalClearInputMask
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:ToggleInsertButton
+DlgControl:CalUpdateNewEventFrame
+GermanHolidays
+GermanHolidays:Main
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+Language
+Language:LoadLanguage
+LocalHolidays
+LocalHolidays:Main
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateJapaneseAutumnDay
+OwnEvents
+OwnEvents:Main
+OwnEvents:CalSaveOwnData
+OwnEvents:CalLoadOwnData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalcmdInsertData
+OwnEvents:GetSelectedDateUnits
+OwnEvents:GetDateUnits
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CheckInsertedDates
+OwnEvents:GetOwnMonth
+ScriptBindingLibrary
+Template
+Autotext
+Autotext:Main
+Autotext:CreateUserDatafield
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Correspondence
+Correspondence:Main
+Correspondence:Placeholder
+Correspondence:Database
+Correspondence:LoadLanguageCorrespondence
+Correspondence:GetFieldName
+Correspondence:OK
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+ModuleAgenda
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+ModuleAgenda:FinishAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:GetOptionValues
+Samples
+Samples:PrepareForEditing
+Samples:ShowStyles
+Samples:SelectStyle
+Samples:SaveCurrentStyles
+Samples:RestoreCurrentStyles
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Tools
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:SetBasicReadOnlyFlag
+Debug:WritedbgInfo
+Debug:WriteDbgString
+Debug:printdbgInfo
+Debug:ShowArray
+Debug:ShowPropertyValues
+Debug:ShowNameValuePair
+Debug:ShowElementNames
+Debug:ShowSupportedServiceNames
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ProtectCurrentSheets
+Debug:FillDocument
+Listbox
+Listbox:MergeList
+Listbox:RemoveListItems
+Listbox:InitializeListboxProcedures
+Listbox:CopyListboxItems
+Listbox:FormMoveSelected
+Listbox:FormMoveAll
+Listbox:FormRemoveSelected
+Listbox:FormRemoveAll
+Listbox:MoveSelectedListBox
+Listbox:MoveOrderedSelectedListbox
+Listbox:RemoveSelected
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Listbox:FormSetMoveRights
+Listbox:AddSingleItemToListbox
+Listbox:EmptyListbox
+Listbox:SelectListboxItem
+Listbox:GetSelectedListboxItems
+Listbox:RemoveListboxItemByName
+Listbox:GetItemPos
+Misc
+Misc:Main
+Misc:RegisterNewDataSource
+Misc:ConnecttoDatabase
+Misc:GetStarOfficeLocale
+Misc:GetRegistryKeyContent
+Misc:GetProductname
+Misc:OpenDocument
+Misc:TaskonDesktop
+Misc:RetrieveFileName
+Misc:GetPathSettings
+Misc:GetOfficeSubPath
+Misc:ShowNoOfficePathError
+Misc:InitResources
+Misc:GetResText
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:ChangeValueofRange
+Misc:ReplaceRangeValues
+Misc:GetValueofCellbyName
+Misc:DuplicateRow
+Misc:GetStringofCellbyName
+Misc:GetCellByName
+Misc:ChangeCellValue
+Misc:GetDocumentType
+Misc:GetNumberFormatType
+Misc:ProtectSheets
+Misc:UnprotectSheets
+Misc:GetRowIndex
+Misc:GetColumnIndex
+Misc:CopySheetbyName
+Misc:ToggleWindow
+Misc:CheckNewSheetname
+Misc:AddNewSheetName
+Misc:GetSheetIndex
+Misc:GetLastUsedRow
+Misc:ModifyBorderLineWidth
+Misc:AttachBasicMacroToEvent
+Misc:ModifyPropertyValue
+Misc:GetPropertyValueIndex
+Misc:DispatchSlot
+Misc:IsFatOffice
+Misc:GetLocale
+Misc:ToggleDesignMode
+Misc:isHighContrast
+Misc:CreateNewDocument
+Misc:DisposeDocument
+Misc:CalIsLeapYear
+ModuleControls
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:GetOptionGroupValue
+ModuleControls:WriteOptValueToCell
+ModuleControls:LoadDialog
+ModuleControls:GetFolderName
+ModuleControls:GetFileName
+ModuleControls:StoreDocument
+ModuleControls:AddFiltersToDialog
+ModuleControls:SwitchMousePointer
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+Strings
+Strings:ElimChar
+Strings:DeleteStr
+Strings:FindPartString
+Strings:PartStringInArray
+Strings:RTrimStr
+Strings:LTRimChar
+Strings:ArrayOutOfString
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:FieldinArray
+Strings:FieldinList
+Strings:IndexinArray
+Strings:MultiArrayInListbox
+Strings:StringInMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetIndexForPartStringinMultiArray
+Strings:ArrayfromMultiArray
+Strings:ReplaceString
+Strings:FindSecondValue
+Strings:Power
+Strings:Round
+Strings:FileNameoutofPath
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:DirectoryNameoutofPath
+Strings:CountCharsinString
+Strings:BubbleSortList
+Strings:GetValueoutofList
+Strings:AddListtoList
+Strings:CheckDouble
+UCB
+UCB:Main
+UCB:ReadDirectories
+UCB:AddFoldertoList
+UCB:AddFileNameToList
+UCB:RetrieveDocTitle
+UCB:GetRealFileContent
+UCB:CopyRecursively
+UCB:ShowHelperDialog
+UCB:SaveDataToFile
+UCB:LoadDataFromFile
+UCB:CreateFolder
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BeanShell.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BeanShell.txt
new file mode 100755
index 000000000000..5fd31835476e
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_BeanShell.txt
@@ -0,0 +1,14 @@
+My Macros
+OpenOffice.org Macros
+Capitalise
+capitalise.bsh
+HelloWorld
+helloworld.bsh
+Highlight
+ButtonPressHandler.bsh
+ShowDialog.bsh
+MemoryUsage
+memusage.bsh
+WordCount
+wordcount.bsh
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_JavaScript.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_JavaScript.txt
new file mode 100755
index 000000000000..06f63f48530c
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_JavaScript.txt
@@ -0,0 +1,10 @@
+My Macros
+OpenOffice.org Macros
+ExportSheetsToHTML
+exportsheetstohtml.js
+HelloWorld
+helloworld.js
+Highlight
+ButtonPressHandler.js
+ShowDialog.js
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_Python.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_Python.txt
new file mode 100755
index 000000000000..01e660758894
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_Python.txt
@@ -0,0 +1,8 @@
+My Macros
+OpenOffice.org Macros
+Capitalise
+HelloWorld
+HelloWorldPython
+pythonSamples
+TableSample
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_RunMacro.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_RunMacro.txt
new file mode 100755
index 000000000000..5468a699f850
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_osx_RunMacro.txt
@@ -0,0 +1,679 @@
+My Macros
+Standard
+Module1
+Module1:Main
+OpenOffice.org Macros
+Capitalise
+Capitalise:capitalise.bsh
+Depot
+Depot
+Depot:AddShortCuttoControl
+Depot:Buy
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:HandleStocks
+Depot:Initialize
+Depot:InitializeStockRatesControls
+Depot:OpenStockRatePage
+Depot:Reset
+Depot:SelectStockname
+Depot:SelectStockNameForRates
+Depot:Sell
+Depot:SetupTransactionControls
+Depot:ToggleStockRateControls
+Depot:TransactionOk
+CommonLang
+CommonLang:CompleteMarketList
+CommonLang:InitializeStartUpModel
+CommonLang:LoadDepotDialogs
+CommonLang:LoadLanguage
+CommonLang:LocalizedCurrencies
+Currency
+Currency:CheckFormatType
+Currency:ChooseMarket
+Currency:CloseStartUpDialog
+Currency:ConvertStylesCurrencies
+Currency:DisposeDocument
+Currency:EnableGoOnButton
+Currency:Numberformat
+Currency:Startup
+Currency:SwitchNumberFormat
+Internet
+Internet:CalculateChartafterSplit
+Internet:CheckHistoryControls
+Internet:GetCurrentRate
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:StringToDate
+Internet:UpdateChart
+Internet:UpdateValue
+Lang_de
+Lang_de:LoadGermanLanguage
+tools
+tools:AddValueToCellContent
+tools:CellValuetoControl
+tools:CheckDocLocale
+tools:CheckInputDate
+tools:FillListbox
+tools:GetRowIndex
+tools:GetStockID
+tools:GetStockRowIndex
+tools:GetStocksCount
+tools:GetTransactionCount
+tools:InitializeStatusLine
+tools:InsertCurrentValue
+tools:MakeRangeVisible
+tools:RemoveSheet
+tools:RemoveStockRows
+tools:SplitCellValue
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Euro
+ConvertRun
+ConvertRun:AddRangeToListbox
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:CheckLocale
+ConvertRun:CheckRangeSelection
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:EnableStep1DialogControls
+ConvertRun:FieldinList
+ConvertRun:GetPreSelectedRange
+ConvertRun:Main
+ConvertRun:RetrieveEnableValue
+ConvertRun:SelectListItem
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+AutoPilotRun
+AutoPilotRun:AssignFileName
+AutoPilotRun:CallFilePicker
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeDocument
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:PreviousStep
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:ToggleProgressStep
+Hard
+Hard:AddSheetRanges
+Hard:CheckIfRangeisCurrency
+Hard:ConvertCellCurrencies
+Hard:ConvertThehardWay
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Hard:CreateRangeEnumeration
+Hard:CreateRangeList
+Hard:ModifyObjectValuewithCurrFactor
+Hard:SelectRange
+Soft
+Soft:AssignCellFormatRanges
+Soft:AssignRangestoStyle
+Soft:ConvertTheSoftWay
+Soft:CreateStyleEnumeration
+Soft:DeselectStyle
+Soft:GetAssignedRanges
+Soft:MakeStyleEnumeration
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveRangeoutofRangeName
+Soft:RetrieveSheetoutofRangeName
+Init
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencies
+Init:InitializeCurrencyValues
+Init:InitializeLanguages
+Init:InitializeLocales
+Init:InitializeResources
+Common
+Common:CancelTask
+Common:CheckFormatType
+Common:ConvertDocument
+Common:EndStatusLine
+Common:FillUpCurrencyListbox
+Common:IncreaseStatusValue
+Common:InitializeProgressbar
+Common:Numberformat
+Common:RetrieveDocumentObjects
+Common:SelectCurrency
+Common:StartConversion
+Common:SwitchNumberFormat
+Writer
+Writer:ConvertTextFields
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Protect
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:UnprotectSheet
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheetWithDialog
+ExportSheetsToHTML
+ExportSheetsToHTML:exportsheetstohtml.js
+FormWizard
+FormWizard
+FormWizard:CommitLastDocumentChanges
+FormWizard:DeleteFirstListboxEntry
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:EmptyFieldsListboxes
+FormWizard:FillUpFieldsListbox
+FormWizard:FormGetFields
+FormWizard:InitializeLayoutSettings
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:NextStep
+FormWizard:PreviousStep
+FormWizard:StoreForm
+FormWizard:StoreFormInDatabase
+FormWizard:ToggleDatabasePage
+Layouter
+Layouter:ArrangeControls
+Layouter:ChangeArrangemode
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ConfigurePageStyle
+Layouter:DestroyControlShapes
+Layouter:InitializeLabelValues
+Layouter:InsertControl
+Layouter:OpenFormDocument
+Layouter:SwitchAlignMode
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:ToggleAlignGroup
+Layouter:ToggleBorderGroup
+Layouter:ToggleLayoutPage
+Language
+Language:InitializeWidthList
+Language:LoadLanguage
+Language:SetDialogLanguage
+DBMeta
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:AssignFieldLength
+DBMeta:CreateCommandTypeList
+DBMeta:CreateDBForm
+DBMeta:GetConnection
+DBMeta:GetCurrentMetaValues
+DBMeta:GetDatabaseNames
+DBMeta:GetDBMetaData
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:GetTableMetaData
+tools
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFilterName
+tools:GetFormWizardPaths
+tools:GetPeerSize
+tools:GetPoint
+tools:GetPreferredHeight
+tools:GetPreferredWidth
+tools:GetSize
+tools:ImportStyles
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:RemoveNirwanaShapes
+tools:RemoveShapes
+tools:SetNumerics
+tools:SetProgressValue
+tools:ShapesToNirwana
+tools:TwipTo100telMM
+tools:TwipToCM
+tools:TwipToPixel
+develop
+develop:AdjustLineWidth
+develop:CheckJustifiedPosition
+develop:CheckOuterPoints
+develop:ControlCaptionstoStandardLayout
+develop:GetCorrWidth
+develop:GetLabelDiffHeight
+develop:GroupShapesTogether
+develop:InitializePosSizes
+develop:InsertDBControl
+develop:InsertTextControl
+develop:InsertTimeStampShape
+develop:PositionControls
+develop:PositionGridControl
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:ResetPosSizes
+develop:SetupGridColumn
+Gimmicks
+GetTexts
+GetTexts:GetAnnotations
+GetTexts:GetCalcGraphicNames
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetChartStrings
+GetTexts:GetControlContent
+GetTexts:GetControlStrings
+GetTexts:GetDocumentProps
+GetTexts:GetDrawPageTitles
+GetTexts:GetDrawStrings
+GetTexts:GetFrameTexts
+GetTexts:GetGraphicNames
+GetTexts:GetHyperlinks
+GetTexts:GetLinkedFileNames
+GetTexts:GetNamedRanges
+GetTexts:GetPageStrings
+GetTexts:GetParagraphTexts
+GetTexts:GetSectionNames
+GetTexts:GetStyles
+GetTexts:GetTextFieldStrings
+GetTexts:GetWriterStrings
+GetTexts:Main
+GetTexts:MakeLogHeadLine
+GetTexts:WriteStringtoLogFile
+Userfields
+Userfields:AddRecord
+Userfields:DeleteCurrentSettings
+Userfields:FillDialog
+Userfields:FillupTextFields
+Userfields:InitializeUserFamily
+Userfields:SaveSettings
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:SelectCurrentFields
+Userfields:StartChangesUserfields
+Userfields:StepToRecord
+Userfields:StopMacro
+Userfields:ToggleButtons
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+AutoText
+AutoText:InsertStringToCell
+AutoText:Main
+ReadDir
+ReadDir:AdjustPageHeight
+ReadDir:CalculateXPoint
+ReadDir:CheckPageWidth
+ReadDir:CloseDialog
+ReadDir:CreateTextShape
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:Main
+ReadDir:ReadSourceDirectory
+ReadDir:SetNewLevels
+ReadDir:ToggleDialogControls
+ReadDir:TreeInfo
+HelloWorld
+HelloWorld:helloworld.bsh
+HelloWorld:helloworld.js
+HelloWorld:HelloWorld.printHW
+HelloWorld:HelloWorldPython
+Highlight
+Highlight:ButtonPressHandler.bsh
+Highlight:ButtonPressHandler.js
+Highlight:HighlightText.showForm
+Highlight:ShowDialog.bsh
+Highlight:ShowDialog.js
+ImportWizard
+Main
+Main:CancelTask
+Main:CheckInstalledModule
+Main:CheckModuleInstallation
+Main:GetImportWizardPaths
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:RepaintHeaderPreview
+Main:TakeOverPathSettings
+Main:TemplateDirSearchDialog
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+DialogModul
+DialogModul:AssignPathToCurrentApplication
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckMSImportAvailability
+DialogModul:CheckTextBoxPath
+DialogModul:FillStep_InputPaths
+DialogModul:FillStep_Progress
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Welcome
+DialogModul:FillUpApplicationList
+DialogModul:FinalizeDialogButtons
+DialogModul:GetFilterTracingLogPath
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:InitializeProgressPage
+DialogModul:MakeSummaryString
+DialogModul:SaveStep_InputPath
+DialogModul:SetProgressDisplay
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:TakoverFolderName
+DialogModul:ToggleInputPaths
+Language
+Language:GetApplResourceArray
+Language:LoadLanguage
+FilesModul
+FilesModul:AddCollectionPath
+FilesModul:AddFilterNameToPathItem
+FilesModul:AddListtoFilesList
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CheckPassWordProtection
+FilesModul:CollectPaths
+FilesModul:ConcatComment
+FilesModul:ConvertAllDocuments
+FilesModul:CreateLogDocument
+FilesModul:CreateLogTable
+FilesModul:GetApplicationIndex
+FilesModul:GetFilterName
+FilesModul:GetFilterTracingLogPath
+FilesModul:GetSize
+FilesModul:GetTargetTemplatePath
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:InsertCommentToLogCell
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InterruptProcess
+FilesModul:MergeRange
+FilesModul:OpenLogDocument
+FilesModul:ReadCollectionPaths
+FilesModul:SearchArrayforPartString
+FilesModul:SetExtension
+API
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:OpenRegKey
+API:QueryValue
+API:QueryValueEx
+MemoryUsage
+MemoryUsage:MemoryUsage.updateMemoryUsage
+MemoryUsage:memusage.bsh
+Schedule
+OwnEvents
+OwnEvents:CalcmdInsertData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CalLoadOwnData
+OwnEvents:CalSaveOwnData
+OwnEvents:CheckInsertedDates
+OwnEvents:GetDateUnits
+OwnEvents:GetOwnMonth
+OwnEvents:GetSelectedDateUnits
+OwnEvents:Main
+CalendarMain
+CalendarMain:AddNumberFormat
+CalendarMain:CalAutopilotTable
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CalendarMain:SetupNumberFormatter
+BankHoliday
+BankHoliday:AddFollowUpHolidays
+BankHoliday:CalEasterTable
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:Main
+DlgControl
+DlgControl:CalClearInputMask
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:CalMouseMoved
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalUpdateNewEventFrame
+DlgControl:Main
+DlgControl:MouseLeavesImage
+DlgControl:SelectState
+DlgControl:ToggleInsertButton
+Language
+Language:LoadLanguage
+CreateTable
+CreateTable:CalCreateMonthTable
+CreateTable:CalCreateYearTable
+CreateTable:FormatCalCells
+GermanHolidays
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:Main
+LocalHolidays
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseAutumnDay
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:Main
+ScriptBindingLibrary
+Template
+ModuleAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:FinishAgenda
+ModuleAgenda:GetOptionValues
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+Correspondence
+Correspondence:Database
+Correspondence:GetFieldName
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+Correspondence:LoadLanguageCorrespondence
+Correspondence:Main
+Correspondence:OK
+Correspondence:Placeholder
+Samples
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Samples:PrepareForEditing
+Samples:RestoreCurrentStyles
+Samples:SaveCurrentStyles
+Samples:SelectStyle
+Samples:ShowStyles
+Autotext
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Autotext:CreateUserDatafield
+Autotext:Main
+Tools
+ModuleControls
+ModuleControls:AddFiltersToDialog
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:GetFileName
+ModuleControls:GetFolderName
+ModuleControls:GetOptionGroupValue
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:LoadDialog
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:StoreDocument
+ModuleControls:SwitchMousePointer
+ModuleControls:WriteOptValueToCell
+Strings
+Strings:AddListtoList
+Strings:ArrayfromMultiArray
+Strings:ArrayOutOfString
+Strings:BubbleSortList
+Strings:CheckDouble
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:CountCharsinString
+Strings:DeleteStr
+Strings:DirectoryNameoutofPath
+Strings:ElimChar
+Strings:FieldinArray
+Strings:FieldinList
+Strings:FileNameoutofPath
+Strings:FindPartString
+Strings:FindSecondValue
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:GetIndexForPartStringinMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetValueoutofList
+Strings:IndexinArray
+Strings:LTRimChar
+Strings:MultiArrayInListbox
+Strings:PartStringInArray
+Strings:Power
+Strings:ReplaceString
+Strings:Round
+Strings:RTrimStr
+Strings:StringInMultiArray
+Misc
+Misc:AddNewSheetName
+Misc:AttachBasicMacroToEvent
+Misc:CalIsLeapYear
+Misc:ChangeCellValue
+Misc:ChangeValueofRange
+Misc:CheckNewSheetname
+Misc:ConnecttoDatabase
+Misc:CopySheetbyName
+Misc:CreateNewDocument
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:DispatchSlot
+Misc:DisposeDocument
+Misc:DuplicateRow
+Misc:GetCellByName
+Misc:GetColumnIndex
+Misc:GetDocumentType
+Misc:GetLastUsedRow
+Misc:GetLocale
+Misc:GetNumberFormatType
+Misc:GetOfficeSubPath
+Misc:GetPathSettings
+Misc:GetProductname
+Misc:GetPropertyValueIndex
+Misc:GetRegistryKeyContent
+Misc:GetResText
+Misc:GetRowIndex
+Misc:GetSheetIndex
+Misc:GetStarOfficeLocale
+Misc:GetStringofCellbyName
+Misc:GetValueofCellbyName
+Misc:InitResources
+Misc:IsFatOffice
+Misc:isHighContrast
+Misc:Main
+Misc:ModifyBorderLineWidth
+Misc:ModifyPropertyValue
+Misc:OpenDocument
+Misc:ProtectSheets
+Misc:RegisterNewDataSource
+Misc:ReplaceRangeValues
+Misc:RetrieveFileName
+Misc:ShowNoOfficePathError
+Misc:TaskonDesktop
+Misc:ToggleDesignMode
+Misc:ToggleWindow
+Misc:UnprotectSheets
+UCB
+UCB:AddFileNameToList
+UCB:AddFoldertoList
+UCB:CopyRecursively
+UCB:CreateFolder
+UCB:GetRealFileContent
+UCB:LoadDataFromFile
+UCB:Main
+UCB:ReadDirectories
+UCB:RetrieveDocTitle
+UCB:SaveDataToFile
+UCB:ShowHelperDialog
+Listbox
+Listbox:AddSingleItemToListbox
+Listbox:CopyListboxItems
+Listbox:EmptyListbox
+Listbox:FormMoveAll
+Listbox:FormMoveSelected
+Listbox:FormRemoveAll
+Listbox:FormRemoveSelected
+Listbox:FormSetMoveRights
+Listbox:GetItemPos
+Listbox:GetSelectedListboxItems
+Listbox:InitializeListboxProcedures
+Listbox:MergeList
+Listbox:MoveOrderedSelectedListbox
+Listbox:MoveSelectedListBox
+Listbox:RemoveListboxItemByName
+Listbox:RemoveListItems
+Listbox:RemoveSelected
+Listbox:SelectListboxItem
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:FillDocument
+Debug:printdbgInfo
+Debug:ProtectCurrentSheets
+Debug:SetBasicReadOnlyFlag
+Debug:ShowArray
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ShowElementNames
+Debug:ShowNameValuePair
+Debug:ShowPropertyValues
+Debug:ShowSupportedServiceNames
+Debug:WritedbgInfo
+Debug:WriteDbgString
+WordCount
+WordCount:wordcount.bsh
+pythonSamples
+TableSample
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BasicOrganizer.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BasicOrganizer.txt
new file mode 100755
index 000000000000..49400346a1a0
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BasicOrganizer.txt
@@ -0,0 +1,657 @@
+My Macros
+Standard
+Module1
+Module1:Main
+OpenOffice.org Macros
+Depot
+CommonLang
+CommonLang:LoadLanguage
+CommonLang:CompleteMarketList
+CommonLang:LocalizedCurrencies
+CommonLang:LoadDepotDialogs
+CommonLang:InitializeStartUpModel
+Currency
+Currency:Startup
+Currency:EnableGoOnButton
+Currency:CloseStartUpDialog
+Currency:DisposeDocument
+Currency:ChooseMarket
+Currency:ConvertStylesCurrencies
+Currency:SwitchNumberFormat
+Currency:Numberformat
+Currency:CheckFormatType
+Depot
+Depot:Initialize
+Depot:Buy
+Depot:Sell
+Depot:Reset
+Depot:TransactionOk
+Depot:SelectStockname
+Depot:HandleStocks
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:SetupTransactionControls
+Depot:AddShortCuttoControl
+Depot:OpenStockRatePage
+Depot:SelectStockNameForRates
+Depot:ToggleStockRateControls
+Depot:InitializeStockRatesControls
+Internet
+Internet:CheckHistoryControls
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:GetCurrentRate
+Internet:UpdateValue
+Internet:StringToDate
+Internet:UpdateChart
+Internet:CalculateChartafterSplit
+Lang_de
+Lang_de:LoadGermanLanguage
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+tools
+tools:RemoveSheet
+tools:InitializeStatusLine
+tools:MakeRangeVisible
+tools:GetRowIndex
+tools:GetTransactionCount
+tools:GetStocksCount
+tools:FillListbox
+tools:CellValuetoControl
+tools:RemoveStockRows
+tools:AddValueToCellContent
+tools:CheckInputDate
+tools:InsertCurrentValue
+tools:SplitCellValue
+tools:GetStockRowIndex
+tools:GetStockID
+tools:CheckDocLocale
+Euro
+AutoPilotRun
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:InitializeDocument
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:ToggleProgressStep
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:AssignFileName
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:CallFilePicker
+AutoPilotRun:PreviousStep
+Common
+Common:RetrieveDocumentObjects
+Common:CancelTask
+Common:ConvertDocument
+Common:SwitchNumberFormat
+Common:Numberformat
+Common:CheckFormatType
+Common:StartConversion
+Common:IncreaseStatusValue
+Common:SelectCurrency
+Common:FillUpCurrencyListbox
+Common:InitializeProgressbar
+Common:EndStatusLine
+ConvertRun
+ConvertRun:Main
+ConvertRun:SelectListItem
+ConvertRun:RetrieveEnableValue
+ConvertRun:EnableStep1DialogControls
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:GetPreSelectedRange
+ConvertRun:AddRangeToListbox
+ConvertRun:CheckRangeSelection
+ConvertRun:FieldinList
+ConvertRun:CheckLocale
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+Hard
+Hard:CreateRangeList
+Hard:CreateRangeEnumeration
+Hard:AddSheetRanges
+Hard:SelectRange
+Hard:ConvertThehardWay
+Hard:ConvertCellCurrencies
+Hard:ModifyObjectValuewithCurrFactor
+Hard:CheckIfRangeisCurrency
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Init
+Init:InitializeResources
+Init:InitializeLanguages
+Init:InitializeCurrencies
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencyValues
+Init:InitializeLocales
+Protect
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheet
+Protect:UnprotectSheetWithDialog
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Soft
+Soft:CreateStyleEnumeration
+Soft:MakeStyleEnumeration
+Soft:AssignRangestoStyle
+Soft:AssignCellFormatRanges
+Soft:DeselectStyle
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveSheetoutofRangeName
+Soft:RetrieveRangeoutofRangeName
+Soft:ConvertTheSoftWay
+Soft:GetAssignedRanges
+Writer
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Writer:ConvertTextFields
+FormWizard
+DBMeta
+DBMeta:GetDatabaseNames
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetConnection
+DBMeta:GetDBMetaData
+DBMeta:GetTableMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:CreateDBForm
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:CreateCommandTypeList
+DBMeta:GetCurrentMetaValues
+DBMeta:AssignFieldLength
+develop
+develop:PositionControls
+develop:ResetPosSizes
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:InitializePosSizes
+develop:InsertTextControl
+develop:InsertDBControl
+develop:InsertTimeStampShape
+develop:GetLabelDiffHeight
+develop:CheckJustifiedPosition
+develop:GetCorrWidth
+develop:AdjustLineWidth
+develop:CheckOuterPoints
+develop:PositionGridControl
+develop:SetupGridColumn
+develop:ControlCaptionstoStandardLayout
+develop:GroupShapesTogether
+FormWizard
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:FormGetFields
+FormWizard:FillUpFieldsListbox
+FormWizard:PreviousStep
+FormWizard:NextStep
+FormWizard:InitializeLayoutSettings
+FormWizard:ToggleDatabasePage
+FormWizard:CommitLastDocumentChanges
+FormWizard:StoreFormInDatabase
+FormWizard:StoreForm
+FormWizard:EmptyFieldsListboxes
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:DeleteFirstListboxEntry
+Language
+Language:LoadLanguage
+Language:SetDialogLanguage
+Language:InitializeWidthList
+Layouter
+Layouter:InsertControl
+Layouter:ArrangeControls
+Layouter:OpenFormDocument
+Layouter:InitializeLabelValues
+Layouter:ConfigurePageStyle
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ChangeArrangemode
+Layouter:ToggleBorderGroup
+Layouter:ToggleAlignGroup
+Layouter:ToggleLayoutPage
+Layouter:DestroyControlShapes
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:SwitchAlignMode
+tools
+tools:SetProgressValue
+tools:GetPreferredWidth
+tools:GetPreferredHeight
+tools:GetPeerSize
+tools:TwipToCM
+tools:TwipTo100telMM
+tools:TwipToPixel
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:GetPoint
+tools:GetSize
+tools:ImportStyles
+tools:SetNumerics
+tools:RemoveShapes
+tools:RemoveNirwanaShapes
+tools:ShapesToNirwana
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFormWizardPaths
+tools:GetFilterName
+Gimmicks
+AutoText
+AutoText:Main
+AutoText:InsertStringToCell
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+GetTexts
+GetTexts:Main
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetAnnotations
+GetTexts:GetNamedRanges
+GetTexts:GetCalcGraphicNames
+GetTexts:GetParagraphTexts
+GetTexts:GetChartStrings
+GetTexts:GetFrameTexts
+GetTexts:GetTextFieldStrings
+GetTexts:GetLinkedFileNames
+GetTexts:GetSectionNames
+GetTexts:GetWriterStrings
+GetTexts:GetDrawPageTitles
+GetTexts:GetPageStrings
+GetTexts:GetDrawStrings
+GetTexts:GetDocumentProps
+GetTexts:GetHyperlinks
+GetTexts:GetGraphicNames
+GetTexts:GetStyles
+GetTexts:GetControlStrings
+GetTexts:GetControlContent
+GetTexts:WriteStringtoLogFile
+GetTexts:MakeLogHeadLine
+ReadDir
+ReadDir:Main
+ReadDir:TreeInfo
+ReadDir:CreateTextShape
+ReadDir:CalculateXPoint
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:ReadSourceDirectory
+ReadDir:CloseDialog
+ReadDir:AdjustPageHeight
+ReadDir:SetNewLevels
+ReadDir:CheckPageWidth
+ReadDir:ToggleDialogControls
+Userfields
+Userfields:StartChangesUserfields
+Userfields:FillDialog
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:StopMacro
+Userfields:SaveSettings
+Userfields:ToggleButtons
+Userfields:InitializeUserFamily
+Userfields:AddRecord
+Userfields:FillupTextFields
+Userfields:StepToRecord
+Userfields:SelectCurrentFields
+Userfields:DeleteCurrentSettings
+ImportWizard
+API
+API:OpenRegKey
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:QueryValueEx
+API:QueryValue
+DialogModul
+DialogModul:FillStep_Welcome
+DialogModul:FillStep_InputPaths
+DialogModul:FillUpApplicationList
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:AssignPathToCurrentApplication
+DialogModul:SaveStep_InputPath
+DialogModul:ToggleInputPaths
+DialogModul:MakeSummaryString
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Progress
+DialogModul:GetFilterTracingLogPath
+DialogModul:CheckMSImportAvailability
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckTextBoxPath
+DialogModul:InitializeProgressPage
+DialogModul:SetProgressDisplay
+DialogModul:TakoverFolderName
+DialogModul:FinalizeDialogButtons
+FilesModul
+FilesModul:ReadCollectionPaths
+FilesModul:GetApplicationIndex
+FilesModul:InterruptProcess
+FilesModul:AddCollectionPath
+FilesModul:SetExtension
+FilesModul:AddFilterNameToPathItem
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CollectPaths
+FilesModul:ConvertAllDocuments
+FilesModul:AddListtoFilesList
+FilesModul:GetTargetTemplatePath
+FilesModul:GetFilterName
+FilesModul:SearchArrayforPartString
+FilesModul:CreateLogTable
+FilesModul:GetSize
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:CreateLogDocument
+FilesModul:GetFilterTracingLogPath
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertCommentToLogCell
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckPassWordProtection
+FilesModul:OpenLogDocument
+FilesModul:MergeRange
+FilesModul:ConcatComment
+Language
+Language:LoadLanguage
+Language:GetApplResourceArray
+Main
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:CancelTask
+Main:TemplateDirSearchDialog
+Main:RepaintHeaderPreview
+Main:CheckModuleInstallation
+Main:CheckInstalledModule
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+Main:TakeOverPathSettings
+Main:GetImportWizardPaths
+Schedule
+BankHoliday
+BankHoliday:Main
+BankHoliday:CalEasterTable
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:AddFollowUpHolidays
+CalendarMain
+CalendarMain:CalAutopilotTable
+CalendarMain:SetupNumberFormatter
+CalendarMain:AddNumberFormat
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CreateTable
+CreateTable:CalCreateYearTable
+CreateTable:CalCreateMonthTable
+CreateTable:FormatCalCells
+DlgControl
+DlgControl:Main
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalMouseMoved
+DlgControl:SelectState
+DlgControl:MouseLeavesImage
+DlgControl:CalClearInputMask
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:ToggleInsertButton
+DlgControl:CalUpdateNewEventFrame
+GermanHolidays
+GermanHolidays:Main
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+Language
+Language:LoadLanguage
+LocalHolidays
+LocalHolidays:Main
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateJapaneseAutumnDay
+OwnEvents
+OwnEvents:Main
+OwnEvents:CalSaveOwnData
+OwnEvents:CalLoadOwnData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalcmdInsertData
+OwnEvents:GetSelectedDateUnits
+OwnEvents:GetDateUnits
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CheckInsertedDates
+OwnEvents:GetOwnMonth
+ScriptBindingLibrary
+Template
+Autotext
+Autotext:Main
+Autotext:CreateUserDatafield
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Correspondence
+Correspondence:Main
+Correspondence:Placeholder
+Correspondence:Database
+Correspondence:LoadLanguageCorrespondence
+Correspondence:GetFieldName
+Correspondence:OK
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+ModuleAgenda
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+ModuleAgenda:FinishAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:GetOptionValues
+Samples
+Samples:PrepareForEditing
+Samples:ShowStyles
+Samples:SelectStyle
+Samples:SaveCurrentStyles
+Samples:RestoreCurrentStyles
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Tools
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:SetBasicReadOnlyFlag
+Debug:WritedbgInfo
+Debug:WriteDbgString
+Debug:printdbgInfo
+Debug:ShowArray
+Debug:ShowPropertyValues
+Debug:ShowNameValuePair
+Debug:ShowElementNames
+Debug:ShowSupportedServiceNames
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ProtectCurrentSheets
+Debug:FillDocument
+Listbox
+Listbox:MergeList
+Listbox:RemoveListItems
+Listbox:InitializeListboxProcedures
+Listbox:CopyListboxItems
+Listbox:FormMoveSelected
+Listbox:FormMoveAll
+Listbox:FormRemoveSelected
+Listbox:FormRemoveAll
+Listbox:MoveSelectedListBox
+Listbox:MoveOrderedSelectedListbox
+Listbox:RemoveSelected
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Listbox:FormSetMoveRights
+Listbox:AddSingleItemToListbox
+Listbox:EmptyListbox
+Listbox:SelectListboxItem
+Listbox:GetSelectedListboxItems
+Listbox:RemoveListboxItemByName
+Listbox:GetItemPos
+Misc
+Misc:Main
+Misc:RegisterNewDataSource
+Misc:ConnecttoDatabase
+Misc:GetStarOfficeLocale
+Misc:GetRegistryKeyContent
+Misc:GetProductname
+Misc:OpenDocument
+Misc:TaskonDesktop
+Misc:RetrieveFileName
+Misc:GetPathSettings
+Misc:GetOfficeSubPath
+Misc:ShowNoOfficePathError
+Misc:InitResources
+Misc:GetResText
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:ChangeValueofRange
+Misc:ReplaceRangeValues
+Misc:GetValueofCellbyName
+Misc:DuplicateRow
+Misc:GetStringofCellbyName
+Misc:GetCellByName
+Misc:ChangeCellValue
+Misc:GetDocumentType
+Misc:GetNumberFormatType
+Misc:ProtectSheets
+Misc:UnprotectSheets
+Misc:GetRowIndex
+Misc:GetColumnIndex
+Misc:CopySheetbyName
+Misc:ToggleWindow
+Misc:CheckNewSheetname
+Misc:AddNewSheetName
+Misc:GetSheetIndex
+Misc:GetLastUsedRow
+Misc:ModifyBorderLineWidth
+Misc:AttachBasicMacroToEvent
+Misc:ModifyPropertyValue
+Misc:GetPropertyValueIndex
+Misc:DispatchSlot
+Misc:IsFatOffice
+Misc:GetLocale
+Misc:ToggleDesignMode
+Misc:isHighContrast
+Misc:CreateNewDocument
+Misc:DisposeDocument
+Misc:CalIsLeapYear
+ModuleControls
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:GetOptionGroupValue
+ModuleControls:WriteOptValueToCell
+ModuleControls:LoadDialog
+ModuleControls:GetFolderName
+ModuleControls:GetFileName
+ModuleControls:StoreDocument
+ModuleControls:AddFiltersToDialog
+ModuleControls:SwitchMousePointer
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+Strings
+Strings:ElimChar
+Strings:DeleteStr
+Strings:FindPartString
+Strings:PartStringInArray
+Strings:RTrimStr
+Strings:LTRimChar
+Strings:ArrayOutOfString
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:FieldinArray
+Strings:FieldinList
+Strings:IndexinArray
+Strings:MultiArrayInListbox
+Strings:StringInMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetIndexForPartStringinMultiArray
+Strings:ArrayfromMultiArray
+Strings:ReplaceString
+Strings:FindSecondValue
+Strings:Power
+Strings:Round
+Strings:FileNameoutofPath
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:DirectoryNameoutofPath
+Strings:CountCharsinString
+Strings:BubbleSortList
+Strings:GetValueoutofList
+Strings:AddListtoList
+Strings:CheckDouble
+UCB
+UCB:Main
+UCB:ReadDirectories
+UCB:AddFoldertoList
+UCB:AddFileNameToList
+UCB:RetrieveDocTitle
+UCB:GetRealFileContent
+UCB:CopyRecursively
+UCB:ShowHelperDialog
+UCB:SaveDataToFile
+UCB:LoadDataFromFile
+UCB:CreateFolder
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BeanShell.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BeanShell.txt
new file mode 100755
index 000000000000..5fd31835476e
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_BeanShell.txt
@@ -0,0 +1,14 @@
+My Macros
+OpenOffice.org Macros
+Capitalise
+capitalise.bsh
+HelloWorld
+helloworld.bsh
+Highlight
+ButtonPressHandler.bsh
+ShowDialog.bsh
+MemoryUsage
+memusage.bsh
+WordCount
+wordcount.bsh
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_JavaScript.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_JavaScript.txt
new file mode 100755
index 000000000000..06f63f48530c
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_JavaScript.txt
@@ -0,0 +1,10 @@
+My Macros
+OpenOffice.org Macros
+ExportSheetsToHTML
+exportsheetstohtml.js
+HelloWorld
+helloworld.js
+Highlight
+ButtonPressHandler.js
+ShowDialog.js
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_Python.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_Python.txt
new file mode 100755
index 000000000000..93f69e69e7b0
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_Python.txt
@@ -0,0 +1,10 @@
+My Macros
+OpenOffice.org Macros
+Capitalise
+capitalisePython
+HelloWorld
+HelloWorldPython
+pythonSamples
+TableSample
+createTable
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_RunMacro.txt b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_RunMacro.txt
new file mode 100755
index 000000000000..74378128ac9b
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/OpenOffice.org_en-US_win_RunMacro.txt
@@ -0,0 +1,681 @@
+My Macros
+Standard
+Module1
+Module1:Main
+OpenOffice.org Macros
+Capitalise
+Capitalise:capitalise.bsh
+Capitalise:capitalisePython
+Depot
+Depot
+Depot:AddShortCuttoControl
+Depot:Buy
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:HandleStocks
+Depot:Initialize
+Depot:InitializeStockRatesControls
+Depot:OpenStockRatePage
+Depot:Reset
+Depot:SelectStockname
+Depot:SelectStockNameForRates
+Depot:Sell
+Depot:SetupTransactionControls
+Depot:ToggleStockRateControls
+Depot:TransactionOk
+CommonLang
+CommonLang:CompleteMarketList
+CommonLang:InitializeStartUpModel
+CommonLang:LoadDepotDialogs
+CommonLang:LoadLanguage
+CommonLang:LocalizedCurrencies
+Currency
+Currency:CheckFormatType
+Currency:ChooseMarket
+Currency:CloseStartUpDialog
+Currency:ConvertStylesCurrencies
+Currency:DisposeDocument
+Currency:EnableGoOnButton
+Currency:Numberformat
+Currency:Startup
+Currency:SwitchNumberFormat
+Internet
+Internet:CalculateChartafterSplit
+Internet:CheckHistoryControls
+Internet:GetCurrentRate
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:StringToDate
+Internet:UpdateChart
+Internet:UpdateValue
+Lang_de
+Lang_de:LoadGermanLanguage
+tools
+tools:AddValueToCellContent
+tools:CellValuetoControl
+tools:CheckDocLocale
+tools:CheckInputDate
+tools:FillListbox
+tools:GetRowIndex
+tools:GetStockID
+tools:GetStockRowIndex
+tools:GetStocksCount
+tools:GetTransactionCount
+tools:InitializeStatusLine
+tools:InsertCurrentValue
+tools:MakeRangeVisible
+tools:RemoveSheet
+tools:RemoveStockRows
+tools:SplitCellValue
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Euro
+ConvertRun
+ConvertRun:AddRangeToListbox
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:CheckLocale
+ConvertRun:CheckRangeSelection
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:EnableStep1DialogControls
+ConvertRun:FieldinList
+ConvertRun:GetPreSelectedRange
+ConvertRun:Main
+ConvertRun:RetrieveEnableValue
+ConvertRun:SelectListItem
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+AutoPilotRun
+AutoPilotRun:AssignFileName
+AutoPilotRun:CallFilePicker
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeDocument
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:PreviousStep
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:ToggleProgressStep
+Hard
+Hard:AddSheetRanges
+Hard:CheckIfRangeisCurrency
+Hard:ConvertCellCurrencies
+Hard:ConvertThehardWay
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Hard:CreateRangeEnumeration
+Hard:CreateRangeList
+Hard:ModifyObjectValuewithCurrFactor
+Hard:SelectRange
+Soft
+Soft:AssignCellFormatRanges
+Soft:AssignRangestoStyle
+Soft:ConvertTheSoftWay
+Soft:CreateStyleEnumeration
+Soft:DeselectStyle
+Soft:GetAssignedRanges
+Soft:MakeStyleEnumeration
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveRangeoutofRangeName
+Soft:RetrieveSheetoutofRangeName
+Init
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencies
+Init:InitializeCurrencyValues
+Init:InitializeLanguages
+Init:InitializeLocales
+Init:InitializeResources
+Common
+Common:CancelTask
+Common:CheckFormatType
+Common:ConvertDocument
+Common:EndStatusLine
+Common:FillUpCurrencyListbox
+Common:IncreaseStatusValue
+Common:InitializeProgressbar
+Common:Numberformat
+Common:RetrieveDocumentObjects
+Common:SelectCurrency
+Common:StartConversion
+Common:SwitchNumberFormat
+Writer
+Writer:ConvertTextFields
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Protect
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:UnprotectSheet
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheetWithDialog
+ExportSheetsToHTML
+ExportSheetsToHTML:exportsheetstohtml.js
+FormWizard
+FormWizard
+FormWizard:CommitLastDocumentChanges
+FormWizard:DeleteFirstListboxEntry
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:EmptyFieldsListboxes
+FormWizard:FillUpFieldsListbox
+FormWizard:FormGetFields
+FormWizard:InitializeLayoutSettings
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:NextStep
+FormWizard:PreviousStep
+FormWizard:StoreForm
+FormWizard:StoreFormInDatabase
+FormWizard:ToggleDatabasePage
+Layouter
+Layouter:ArrangeControls
+Layouter:ChangeArrangemode
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ConfigurePageStyle
+Layouter:DestroyControlShapes
+Layouter:InitializeLabelValues
+Layouter:InsertControl
+Layouter:OpenFormDocument
+Layouter:SwitchAlignMode
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:ToggleAlignGroup
+Layouter:ToggleBorderGroup
+Layouter:ToggleLayoutPage
+Language
+Language:InitializeWidthList
+Language:LoadLanguage
+Language:SetDialogLanguage
+DBMeta
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:AssignFieldLength
+DBMeta:CreateCommandTypeList
+DBMeta:CreateDBForm
+DBMeta:GetConnection
+DBMeta:GetCurrentMetaValues
+DBMeta:GetDatabaseNames
+DBMeta:GetDBMetaData
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:GetTableMetaData
+tools
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFilterName
+tools:GetFormWizardPaths
+tools:GetPeerSize
+tools:GetPoint
+tools:GetPreferredHeight
+tools:GetPreferredWidth
+tools:GetSize
+tools:ImportStyles
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:RemoveNirwanaShapes
+tools:RemoveShapes
+tools:SetNumerics
+tools:SetProgressValue
+tools:ShapesToNirwana
+tools:TwipTo100telMM
+tools:TwipToCM
+tools:TwipToPixel
+develop
+develop:AdjustLineWidth
+develop:CheckJustifiedPosition
+develop:CheckOuterPoints
+develop:ControlCaptionstoStandardLayout
+develop:GetCorrWidth
+develop:GetLabelDiffHeight
+develop:GroupShapesTogether
+develop:InitializePosSizes
+develop:InsertDBControl
+develop:InsertTextControl
+develop:InsertTimeStampShape
+develop:PositionControls
+develop:PositionGridControl
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:ResetPosSizes
+develop:SetupGridColumn
+Gimmicks
+GetTexts
+GetTexts:GetAnnotations
+GetTexts:GetCalcGraphicNames
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetChartStrings
+GetTexts:GetControlContent
+GetTexts:GetControlStrings
+GetTexts:GetDocumentProps
+GetTexts:GetDrawPageTitles
+GetTexts:GetDrawStrings
+GetTexts:GetFrameTexts
+GetTexts:GetGraphicNames
+GetTexts:GetHyperlinks
+GetTexts:GetLinkedFileNames
+GetTexts:GetNamedRanges
+GetTexts:GetPageStrings
+GetTexts:GetParagraphTexts
+GetTexts:GetSectionNames
+GetTexts:GetStyles
+GetTexts:GetTextFieldStrings
+GetTexts:GetWriterStrings
+GetTexts:Main
+GetTexts:MakeLogHeadLine
+GetTexts:WriteStringtoLogFile
+Userfields
+Userfields:AddRecord
+Userfields:DeleteCurrentSettings
+Userfields:FillDialog
+Userfields:FillupTextFields
+Userfields:InitializeUserFamily
+Userfields:SaveSettings
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:SelectCurrentFields
+Userfields:StartChangesUserfields
+Userfields:StepToRecord
+Userfields:StopMacro
+Userfields:ToggleButtons
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+AutoText
+AutoText:InsertStringToCell
+AutoText:Main
+ReadDir
+ReadDir:AdjustPageHeight
+ReadDir:CalculateXPoint
+ReadDir:CheckPageWidth
+ReadDir:CloseDialog
+ReadDir:CreateTextShape
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:Main
+ReadDir:ReadSourceDirectory
+ReadDir:SetNewLevels
+ReadDir:ToggleDialogControls
+ReadDir:TreeInfo
+HelloWorld
+HelloWorld:helloworld.bsh
+HelloWorld:helloworld.js
+HelloWorld:HelloWorld.printHW
+HelloWorld:HelloWorldPython
+Highlight
+Highlight:ButtonPressHandler.bsh
+Highlight:ButtonPressHandler.js
+Highlight:HighlightText.showForm
+Highlight:ShowDialog.bsh
+Highlight:ShowDialog.js
+ImportWizard
+Main
+Main:CancelTask
+Main:CheckInstalledModule
+Main:CheckModuleInstallation
+Main:GetImportWizardPaths
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:RepaintHeaderPreview
+Main:TakeOverPathSettings
+Main:TemplateDirSearchDialog
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+DialogModul
+DialogModul:AssignPathToCurrentApplication
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckMSImportAvailability
+DialogModul:CheckTextBoxPath
+DialogModul:FillStep_InputPaths
+DialogModul:FillStep_Progress
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Welcome
+DialogModul:FillUpApplicationList
+DialogModul:FinalizeDialogButtons
+DialogModul:GetFilterTracingLogPath
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:InitializeProgressPage
+DialogModul:MakeSummaryString
+DialogModul:SaveStep_InputPath
+DialogModul:SetProgressDisplay
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:TakoverFolderName
+DialogModul:ToggleInputPaths
+Language
+Language:GetApplResourceArray
+Language:LoadLanguage
+FilesModul
+FilesModul:AddCollectionPath
+FilesModul:AddFilterNameToPathItem
+FilesModul:AddListtoFilesList
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CheckPassWordProtection
+FilesModul:CollectPaths
+FilesModul:ConcatComment
+FilesModul:ConvertAllDocuments
+FilesModul:CreateLogDocument
+FilesModul:CreateLogTable
+FilesModul:GetApplicationIndex
+FilesModul:GetFilterName
+FilesModul:GetFilterTracingLogPath
+FilesModul:GetSize
+FilesModul:GetTargetTemplatePath
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:InsertCommentToLogCell
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InterruptProcess
+FilesModul:MergeRange
+FilesModul:OpenLogDocument
+FilesModul:ReadCollectionPaths
+FilesModul:SearchArrayforPartString
+FilesModul:SetExtension
+API
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:OpenRegKey
+API:QueryValue
+API:QueryValueEx
+MemoryUsage
+MemoryUsage:MemoryUsage.updateMemoryUsage
+MemoryUsage:memusage.bsh
+Schedule
+OwnEvents
+OwnEvents:CalcmdInsertData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CalLoadOwnData
+OwnEvents:CalSaveOwnData
+OwnEvents:CheckInsertedDates
+OwnEvents:GetDateUnits
+OwnEvents:GetOwnMonth
+OwnEvents:GetSelectedDateUnits
+OwnEvents:Main
+CalendarMain
+CalendarMain:AddNumberFormat
+CalendarMain:CalAutopilotTable
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CalendarMain:SetupNumberFormatter
+BankHoliday
+BankHoliday:AddFollowUpHolidays
+BankHoliday:CalEasterTable
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:Main
+DlgControl
+DlgControl:CalClearInputMask
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:CalMouseMoved
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalUpdateNewEventFrame
+DlgControl:Main
+DlgControl:MouseLeavesImage
+DlgControl:SelectState
+DlgControl:ToggleInsertButton
+Language
+Language:LoadLanguage
+CreateTable
+CreateTable:CalCreateMonthTable
+CreateTable:CalCreateYearTable
+CreateTable:FormatCalCells
+GermanHolidays
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:Main
+LocalHolidays
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseAutumnDay
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:Main
+ScriptBindingLibrary
+Template
+ModuleAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:FinishAgenda
+ModuleAgenda:GetOptionValues
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+Correspondence
+Correspondence:Database
+Correspondence:GetFieldName
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+Correspondence:LoadLanguageCorrespondence
+Correspondence:Main
+Correspondence:OK
+Correspondence:Placeholder
+Samples
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Samples:PrepareForEditing
+Samples:RestoreCurrentStyles
+Samples:SaveCurrentStyles
+Samples:SelectStyle
+Samples:ShowStyles
+Autotext
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Autotext:CreateUserDatafield
+Autotext:Main
+Tools
+ModuleControls
+ModuleControls:AddFiltersToDialog
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:GetFileName
+ModuleControls:GetFolderName
+ModuleControls:GetOptionGroupValue
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:LoadDialog
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:StoreDocument
+ModuleControls:SwitchMousePointer
+ModuleControls:WriteOptValueToCell
+Strings
+Strings:AddListtoList
+Strings:ArrayfromMultiArray
+Strings:ArrayOutOfString
+Strings:BubbleSortList
+Strings:CheckDouble
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:CountCharsinString
+Strings:DeleteStr
+Strings:DirectoryNameoutofPath
+Strings:ElimChar
+Strings:FieldinArray
+Strings:FieldinList
+Strings:FileNameoutofPath
+Strings:FindPartString
+Strings:FindSecondValue
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:GetIndexForPartStringinMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetValueoutofList
+Strings:IndexinArray
+Strings:LTRimChar
+Strings:MultiArrayInListbox
+Strings:PartStringInArray
+Strings:Power
+Strings:ReplaceString
+Strings:Round
+Strings:RTrimStr
+Strings:StringInMultiArray
+Misc
+Misc:AddNewSheetName
+Misc:AttachBasicMacroToEvent
+Misc:CalIsLeapYear
+Misc:ChangeCellValue
+Misc:ChangeValueofRange
+Misc:CheckNewSheetname
+Misc:ConnecttoDatabase
+Misc:CopySheetbyName
+Misc:CreateNewDocument
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:DispatchSlot
+Misc:DisposeDocument
+Misc:DuplicateRow
+Misc:GetCellByName
+Misc:GetColumnIndex
+Misc:GetDocumentType
+Misc:GetLastUsedRow
+Misc:GetLocale
+Misc:GetNumberFormatType
+Misc:GetOfficeSubPath
+Misc:GetPathSettings
+Misc:GetProductname
+Misc:GetPropertyValueIndex
+Misc:GetRegistryKeyContent
+Misc:GetResText
+Misc:GetRowIndex
+Misc:GetSheetIndex
+Misc:GetStarOfficeLocale
+Misc:GetStringofCellbyName
+Misc:GetValueofCellbyName
+Misc:InitResources
+Misc:IsFatOffice
+Misc:isHighContrast
+Misc:Main
+Misc:ModifyBorderLineWidth
+Misc:ModifyPropertyValue
+Misc:OpenDocument
+Misc:ProtectSheets
+Misc:RegisterNewDataSource
+Misc:ReplaceRangeValues
+Misc:RetrieveFileName
+Misc:ShowNoOfficePathError
+Misc:TaskonDesktop
+Misc:ToggleDesignMode
+Misc:ToggleWindow
+Misc:UnprotectSheets
+UCB
+UCB:AddFileNameToList
+UCB:AddFoldertoList
+UCB:CopyRecursively
+UCB:CreateFolder
+UCB:GetRealFileContent
+UCB:LoadDataFromFile
+UCB:Main
+UCB:ReadDirectories
+UCB:RetrieveDocTitle
+UCB:SaveDataToFile
+UCB:ShowHelperDialog
+Listbox
+Listbox:AddSingleItemToListbox
+Listbox:CopyListboxItems
+Listbox:EmptyListbox
+Listbox:FormMoveAll
+Listbox:FormMoveSelected
+Listbox:FormRemoveAll
+Listbox:FormRemoveSelected
+Listbox:FormSetMoveRights
+Listbox:GetItemPos
+Listbox:GetSelectedListboxItems
+Listbox:InitializeListboxProcedures
+Listbox:MergeList
+Listbox:MoveOrderedSelectedListbox
+Listbox:MoveSelectedListBox
+Listbox:RemoveListboxItemByName
+Listbox:RemoveListItems
+Listbox:RemoveSelected
+Listbox:SelectListboxItem
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:FillDocument
+Debug:printdbgInfo
+Debug:ProtectCurrentSheets
+Debug:SetBasicReadOnlyFlag
+Debug:ShowArray
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ShowElementNames
+Debug:ShowNameValuePair
+Debug:ShowPropertyValues
+Debug:ShowSupportedServiceNames
+Debug:WritedbgInfo
+Debug:WriteDbgString
+WordCount
+WordCount:wordcount.bsh
+pythonSamples
+TableSample
+TableSample:createTable
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BasicOrganizer.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BasicOrganizer.txt
new file mode 100755
index 000000000000..07564201b883
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BasicOrganizer.txt
@@ -0,0 +1,663 @@
+My Macros
+Standard
+Module1
+Module1:Main
+Oracle Open Office Macros
+basic
+Module1
+Module1:Main
+Depot
+CommonLang
+CommonLang:LoadLanguage
+CommonLang:CompleteMarketList
+CommonLang:LocalizedCurrencies
+CommonLang:LoadDepotDialogs
+CommonLang:InitializeStartUpModel
+Currency
+Currency:Startup
+Currency:EnableGoOnButton
+Currency:CloseStartUpDialog
+Currency:DisposeDocument
+Currency:ChooseMarket
+Currency:ConvertStylesCurrencies
+Currency:SwitchNumberFormat
+Currency:Numberformat
+Currency:CheckFormatType
+Depot
+Depot:Initialize
+Depot:Buy
+Depot:Sell
+Depot:Reset
+Depot:TransactionOk
+Depot:SelectStockname
+Depot:HandleStocks
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:SetupTransactionControls
+Depot:AddShortCuttoControl
+Depot:OpenStockRatePage
+Depot:SelectStockNameForRates
+Depot:ToggleStockRateControls
+Depot:InitializeStockRatesControls
+Internet
+Internet:CheckHistoryControls
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:GetCurrentRate
+Internet:UpdateValue
+Internet:StringToDate
+Internet:UpdateChart
+Internet:CalculateChartafterSplit
+Lang_de
+Lang_de:LoadGermanLanguage
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+tools
+tools:RemoveSheet
+tools:InitializeStatusLine
+tools:MakeRangeVisible
+tools:GetRowIndex
+tools:GetTransactionCount
+tools:GetStocksCount
+tools:FillListbox
+tools:CellValuetoControl
+tools:RemoveStockRows
+tools:AddValueToCellContent
+tools:CheckInputDate
+tools:InsertCurrentValue
+tools:SplitCellValue
+tools:GetStockRowIndex
+tools:GetStockID
+tools:CheckDocLocale
+Euro
+AutoPilotRun
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:InitializeDocument
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:ToggleProgressStep
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:AssignFileName
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:CallFilePicker
+AutoPilotRun:PreviousStep
+Common
+Common:RetrieveDocumentObjects
+Common:CancelTask
+Common:ConvertDocument
+Common:SwitchNumberFormat
+Common:Numberformat
+Common:CheckFormatType
+Common:StartConversion
+Common:IncreaseStatusValue
+Common:SelectCurrency
+Common:FillUpCurrencyListbox
+Common:InitializeProgressbar
+Common:EndStatusLine
+ConvertRun
+ConvertRun:Main
+ConvertRun:SelectListItem
+ConvertRun:RetrieveEnableValue
+ConvertRun:EnableStep1DialogControls
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:GetPreSelectedRange
+ConvertRun:AddRangeToListbox
+ConvertRun:CheckRangeSelection
+ConvertRun:FieldinList
+ConvertRun:CheckLocale
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+Hard
+Hard:CreateRangeList
+Hard:CreateRangeEnumeration
+Hard:AddSheetRanges
+Hard:SelectRange
+Hard:ConvertThehardWay
+Hard:ConvertCellCurrencies
+Hard:ModifyObjectValuewithCurrFactor
+Hard:CheckIfRangeisCurrency
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Init
+Init:InitializeResources
+Init:InitializeLanguages
+Init:InitializeCurrencies
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencyValues
+Init:InitializeLocales
+Protect
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheet
+Protect:UnprotectSheetWithDialog
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Soft
+Soft:CreateStyleEnumeration
+Soft:MakeStyleEnumeration
+Soft:AssignRangestoStyle
+Soft:AssignCellFormatRanges
+Soft:DeselectStyle
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveSheetoutofRangeName
+Soft:RetrieveRangeoutofRangeName
+Soft:ConvertTheSoftWay
+Soft:GetAssignedRanges
+Writer
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Writer:ConvertTextFields
+FormWizard
+DBMeta
+DBMeta:GetDatabaseNames
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetConnection
+DBMeta:GetDBMetaData
+DBMeta:GetTableMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:CreateDBForm
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:CreateCommandTypeList
+DBMeta:GetCurrentMetaValues
+DBMeta:AssignFieldLength
+develop
+develop:PositionControls
+develop:ResetPosSizes
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:InitializePosSizes
+develop:InsertTextControl
+develop:InsertDBControl
+develop:InsertTimeStampShape
+develop:GetLabelDiffHeight
+develop:CheckJustifiedPosition
+develop:GetCorrWidth
+develop:AdjustLineWidth
+develop:CheckOuterPoints
+develop:PositionGridControl
+develop:SetupGridColumn
+develop:ControlCaptionstoStandardLayout
+develop:GroupShapesTogether
+FormWizard
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:FormGetFields
+FormWizard:FillUpFieldsListbox
+FormWizard:PreviousStep
+FormWizard:NextStep
+FormWizard:InitializeLayoutSettings
+FormWizard:ToggleDatabasePage
+FormWizard:CommitLastDocumentChanges
+FormWizard:StoreFormInDatabase
+FormWizard:StoreForm
+FormWizard:EmptyFieldsListboxes
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:DeleteFirstListboxEntry
+Language
+Language:LoadLanguage
+Language:SetDialogLanguage
+Language:InitializeWidthList
+Layouter
+Layouter:InsertControl
+Layouter:ArrangeControls
+Layouter:OpenFormDocument
+Layouter:InitializeLabelValues
+Layouter:ConfigurePageStyle
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ChangeArrangemode
+Layouter:ToggleBorderGroup
+Layouter:ToggleAlignGroup
+Layouter:ToggleLayoutPage
+Layouter:DestroyControlShapes
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:SwitchAlignMode
+tools
+tools:SetProgressValue
+tools:GetPreferredWidth
+tools:GetPreferredHeight
+tools:GetPeerSize
+tools:TwipToCM
+tools:TwipTo100telMM
+tools:TwipToPixel
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:GetPoint
+tools:GetSize
+tools:ImportStyles
+tools:SetNumerics
+tools:RemoveShapes
+tools:RemoveNirwanaShapes
+tools:ShapesToNirwana
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFormWizardPaths
+tools:GetFilterName
+Gimmicks
+AutoText
+AutoText:Main
+AutoText:InsertStringToCell
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+GetTexts
+GetTexts:Main
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetAnnotations
+GetTexts:GetNamedRanges
+GetTexts:GetCalcGraphicNames
+GetTexts:GetParagraphTexts
+GetTexts:GetChartStrings
+GetTexts:GetFrameTexts
+GetTexts:GetTextFieldStrings
+GetTexts:GetLinkedFileNames
+GetTexts:GetSectionNames
+GetTexts:GetWriterStrings
+GetTexts:GetDrawPageTitles
+GetTexts:GetPageStrings
+GetTexts:GetDrawStrings
+GetTexts:GetDocumentProps
+GetTexts:GetHyperlinks
+GetTexts:GetGraphicNames
+GetTexts:GetStyles
+GetTexts:GetControlStrings
+GetTexts:GetControlContent
+GetTexts:WriteStringtoLogFile
+GetTexts:MakeLogHeadLine
+ReadDir
+ReadDir:Main
+ReadDir:TreeInfo
+ReadDir:CreateTextShape
+ReadDir:CalculateXPoint
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:ReadSourceDirectory
+ReadDir:CloseDialog
+ReadDir:AdjustPageHeight
+ReadDir:SetNewLevels
+ReadDir:CheckPageWidth
+ReadDir:ToggleDialogControls
+Userfields
+Userfields:StartChangesUserfields
+Userfields:FillDialog
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:StopMacro
+Userfields:SaveSettings
+Userfields:ToggleButtons
+Userfields:InitializeUserFamily
+Userfields:AddRecord
+Userfields:FillupTextFields
+Userfields:StepToRecord
+Userfields:SelectCurrentFields
+Userfields:DeleteCurrentSettings
+ImportWizard
+API
+API:OpenRegKey
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:QueryValueEx
+API:QueryValue
+DialogModul
+DialogModul:FillStep_Welcome
+DialogModul:FillStep_InputPaths
+DialogModul:FillUpApplicationList
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:AssignPathToCurrentApplication
+DialogModul:SaveStep_InputPath
+DialogModul:ToggleInputPaths
+DialogModul:MakeSummaryString
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Progress
+DialogModul:GetFilterTracingLogPath
+DialogModul:CheckMSImportAvailability
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckTextBoxPath
+DialogModul:InitializeProgressPage
+DialogModul:SetProgressDisplay
+DialogModul:TakoverFolderName
+DialogModul:FinalizeDialogButtons
+FilesModul
+FilesModul:ReadCollectionPaths
+FilesModul:GetApplicationIndex
+FilesModul:InterruptProcess
+FilesModul:AddCollectionPath
+FilesModul:SetExtension
+FilesModul:AddFilterNameToPathItem
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CollectPaths
+FilesModul:ConvertAllDocuments
+FilesModul:AddListtoFilesList
+FilesModul:GetTargetTemplatePath
+FilesModul:GetFilterName
+FilesModul:SearchArrayforPartString
+FilesModul:CreateLogTable
+FilesModul:GetSize
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:CreateLogDocument
+FilesModul:GetFilterTracingLogPath
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertCommentToLogCell
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckPassWordProtection
+FilesModul:OpenLogDocument
+FilesModul:MergeRange
+FilesModul:ConcatComment
+Language
+Language:LoadLanguage
+Language:GetApplResourceArray
+Main
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:CancelTask
+Main:TemplateDirSearchDialog
+Main:RepaintHeaderPreview
+Main:CheckModuleInstallation
+Main:CheckInstalledModule
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+Main:TakeOverPathSettings
+Main:GetImportWizardPaths
+Schedule
+BankHoliday
+BankHoliday:Main
+BankHoliday:CalEasterTable
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:AddFollowUpHolidays
+CalendarMain
+CalendarMain:CalAutopilotTable
+CalendarMain:SetupNumberFormatter
+CalendarMain:AddNumberFormat
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CreateTable
+CreateTable:CalCreateYearTable
+CreateTable:CalCreateMonthTable
+CreateTable:FormatCalCells
+DlgControl
+DlgControl:Main
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalMouseMoved
+DlgControl:SelectState
+DlgControl:MouseLeavesImage
+DlgControl:CalClearInputMask
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:ToggleInsertButton
+DlgControl:CalUpdateNewEventFrame
+GermanHolidays
+GermanHolidays:Main
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+Language
+Language:LoadLanguage
+LocalHolidays
+LocalHolidays:Main
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateJapaneseAutumnDay
+OwnEvents
+OwnEvents:Main
+OwnEvents:CalSaveOwnData
+OwnEvents:CalLoadOwnData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalcmdInsertData
+OwnEvents:GetSelectedDateUnits
+OwnEvents:GetDateUnits
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CheckInsertedDates
+OwnEvents:GetOwnMonth
+ScriptBindingLibrary
+Template
+Autotext
+Autotext:Main
+Autotext:CreateUserDatafield
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Correspondence
+Correspondence:Main
+Correspondence:Placeholder
+Correspondence:Database
+Correspondence:LoadLanguageCorrespondence
+Correspondence:GetFieldName
+Correspondence:OK
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+ModuleAgenda
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+ModuleAgenda:FinishAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:GetOptionValues
+Samples
+Samples:PrepareForEditing
+Samples:ShowStyles
+Samples:SelectStyle
+Samples:SaveCurrentStyles
+Samples:RestoreCurrentStyles
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Tools
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:SetBasicReadOnlyFlag
+Debug:WritedbgInfo
+Debug:WriteDbgString
+Debug:printdbgInfo
+Debug:ShowArray
+Debug:ShowPropertyValues
+Debug:ShowNameValuePair
+Debug:ShowElementNames
+Debug:ShowSupportedServiceNames
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ProtectCurrentSheets
+Debug:FillDocument
+Listbox
+Listbox:MergeList
+Listbox:RemoveListItems
+Listbox:InitializeListboxProcedures
+Listbox:CopyListboxItems
+Listbox:FormMoveSelected
+Listbox:FormMoveAll
+Listbox:FormRemoveSelected
+Listbox:FormRemoveAll
+Listbox:MoveSelectedListBox
+Listbox:MoveOrderedSelectedListbox
+Listbox:RemoveSelected
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Listbox:FormSetMoveRights
+Listbox:AddSingleItemToListbox
+Listbox:EmptyListbox
+Listbox:SelectListboxItem
+Listbox:GetSelectedListboxItems
+Listbox:RemoveListboxItemByName
+Listbox:GetItemPos
+Misc
+Misc:Main
+Misc:RegisterNewDataSource
+Misc:ConnecttoDatabase
+Misc:GetStarOfficeLocale
+Misc:GetRegistryKeyContent
+Misc:GetProductname
+Misc:OpenDocument
+Misc:TaskonDesktop
+Misc:RetrieveFileName
+Misc:GetPathSettings
+Misc:GetOfficeSubPath
+Misc:ShowNoOfficePathError
+Misc:InitResources
+Misc:GetResText
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:ChangeValueofRange
+Misc:ReplaceRangeValues
+Misc:GetValueofCellbyName
+Misc:DuplicateRow
+Misc:GetStringofCellbyName
+Misc:GetCellByName
+Misc:ChangeCellValue
+Misc:GetDocumentType
+Misc:GetNumberFormatType
+Misc:ProtectSheets
+Misc:UnprotectSheets
+Misc:GetRowIndex
+Misc:GetColumnIndex
+Misc:CopySheetbyName
+Misc:ToggleWindow
+Misc:CheckNewSheetname
+Misc:AddNewSheetName
+Misc:GetSheetIndex
+Misc:GetLastUsedRow
+Misc:ModifyBorderLineWidth
+Misc:AttachBasicMacroToEvent
+Misc:ModifyPropertyValue
+Misc:GetPropertyValueIndex
+Misc:DispatchSlot
+Misc:IsFatOffice
+Misc:GetLocale
+Misc:ToggleDesignMode
+Misc:isHighContrast
+Misc:CreateNewDocument
+Misc:DisposeDocument
+Misc:CalIsLeapYear
+ModuleControls
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:GetOptionGroupValue
+ModuleControls:WriteOptValueToCell
+ModuleControls:LoadDialog
+ModuleControls:GetFolderName
+ModuleControls:GetFileName
+ModuleControls:StoreDocument
+ModuleControls:AddFiltersToDialog
+ModuleControls:SwitchMousePointer
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+Strings
+Strings:ElimChar
+Strings:DeleteStr
+Strings:FindPartString
+Strings:PartStringInArray
+Strings:RTrimStr
+Strings:LTRimChar
+Strings:ArrayOutOfString
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:FieldinArray
+Strings:FieldinList
+Strings:IndexinArray
+Strings:MultiArrayInListbox
+Strings:StringInMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetIndexForPartStringinMultiArray
+Strings:ArrayfromMultiArray
+Strings:ReplaceString
+Strings:FindSecondValue
+Strings:Power
+Strings:Round
+Strings:FileNameoutofPath
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:DirectoryNameoutofPath
+Strings:CountCharsinString
+Strings:BubbleSortList
+Strings:GetValueoutofList
+Strings:AddListtoList
+Strings:CheckDouble
+UCB
+UCB:Main
+UCB:ReadDirectories
+UCB:AddFoldertoList
+UCB:AddFileNameToList
+UCB:RetrieveDocTitle
+UCB:GetRealFileContent
+UCB:CopyRecursively
+UCB:ShowHelperDialog
+UCB:SaveDataToFile
+UCB:LoadDataFromFile
+UCB:CreateFolder
+WikiEditor
+Module1
+Module1:Main
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BeanShell.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BeanShell.txt
new file mode 100755
index 000000000000..141bebef85d5
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_BeanShell.txt
@@ -0,0 +1,14 @@
+My Macros
+Oracle Open Office Macros
+Capitalise
+capitalise.bsh
+HelloWorld
+helloworld.bsh
+Highlight
+ButtonPressHandler.bsh
+ShowDialog.bsh
+MemoryUsage
+memusage.bsh
+WordCount
+wordcount.bsh
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_JavaScript.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_JavaScript.txt
new file mode 100755
index 000000000000..09ea2fbc3203
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_JavaScript.txt
@@ -0,0 +1,10 @@
+My Macros
+Oracle Open Office Macros
+ExportSheetsToHTML
+exportsheetstohtml.js
+HelloWorld
+helloworld.js
+Highlight
+ButtonPressHandler.js
+ShowDialog.js
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_Python.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_Python.txt
new file mode 100755
index 000000000000..dfe18f127bef
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_Python.txt
@@ -0,0 +1,10 @@
+My Macros
+Oracle Open Office Macros
+Capitalise
+capitalisePython
+HelloWorld
+HelloWorldPython
+pythonSamples
+TableSample
+createTable
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_RunMacro.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_RunMacro.txt
new file mode 100755
index 000000000000..e8154b562c23
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_RunMacro.txt
@@ -0,0 +1,687 @@
+My Macros
+Standard
+Module1
+Module1:Main
+WikiEditor
+Module1
+Module1:Main
+basic
+Module1
+Module1:Main
+Oracle Open Office Macros
+Capitalise
+Capitalise:capitalise.bsh
+Capitalise:capitalisePython
+Depot
+Depot
+Depot:AddShortCuttoControl
+Depot:Buy
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:HandleStocks
+Depot:Initialize
+Depot:InitializeStockRatesControls
+Depot:OpenStockRatePage
+Depot:Reset
+Depot:SelectStockname
+Depot:SelectStockNameForRates
+Depot:Sell
+Depot:SetupTransactionControls
+Depot:ToggleStockRateControls
+Depot:TransactionOk
+CommonLang
+CommonLang:CompleteMarketList
+CommonLang:InitializeStartUpModel
+CommonLang:LoadDepotDialogs
+CommonLang:LoadLanguage
+CommonLang:LocalizedCurrencies
+Currency
+Currency:CheckFormatType
+Currency:ChooseMarket
+Currency:CloseStartUpDialog
+Currency:ConvertStylesCurrencies
+Currency:DisposeDocument
+Currency:EnableGoOnButton
+Currency:Numberformat
+Currency:Startup
+Currency:SwitchNumberFormat
+Internet
+Internet:CalculateChartafterSplit
+Internet:CheckHistoryControls
+Internet:GetCurrentRate
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:StringToDate
+Internet:UpdateChart
+Internet:UpdateValue
+Lang_de
+Lang_de:LoadGermanLanguage
+tools
+tools:AddValueToCellContent
+tools:CellValuetoControl
+tools:CheckDocLocale
+tools:CheckInputDate
+tools:FillListbox
+tools:GetRowIndex
+tools:GetStockID
+tools:GetStockRowIndex
+tools:GetStocksCount
+tools:GetTransactionCount
+tools:InitializeStatusLine
+tools:InsertCurrentValue
+tools:MakeRangeVisible
+tools:RemoveSheet
+tools:RemoveStockRows
+tools:SplitCellValue
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Euro
+ConvertRun
+ConvertRun:AddRangeToListbox
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:CheckLocale
+ConvertRun:CheckRangeSelection
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:EnableStep1DialogControls
+ConvertRun:FieldinList
+ConvertRun:GetPreSelectedRange
+ConvertRun:Main
+ConvertRun:RetrieveEnableValue
+ConvertRun:SelectListItem
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+AutoPilotRun
+AutoPilotRun:AssignFileName
+AutoPilotRun:CallFilePicker
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeDocument
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:PreviousStep
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:ToggleProgressStep
+Hard
+Hard:AddSheetRanges
+Hard:CheckIfRangeisCurrency
+Hard:ConvertCellCurrencies
+Hard:ConvertThehardWay
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Hard:CreateRangeEnumeration
+Hard:CreateRangeList
+Hard:ModifyObjectValuewithCurrFactor
+Hard:SelectRange
+Soft
+Soft:AssignCellFormatRanges
+Soft:AssignRangestoStyle
+Soft:ConvertTheSoftWay
+Soft:CreateStyleEnumeration
+Soft:DeselectStyle
+Soft:GetAssignedRanges
+Soft:MakeStyleEnumeration
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveRangeoutofRangeName
+Soft:RetrieveSheetoutofRangeName
+Init
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencies
+Init:InitializeCurrencyValues
+Init:InitializeLanguages
+Init:InitializeLocales
+Init:InitializeResources
+Common
+Common:CancelTask
+Common:CheckFormatType
+Common:ConvertDocument
+Common:EndStatusLine
+Common:FillUpCurrencyListbox
+Common:IncreaseStatusValue
+Common:InitializeProgressbar
+Common:Numberformat
+Common:RetrieveDocumentObjects
+Common:SelectCurrency
+Common:StartConversion
+Common:SwitchNumberFormat
+Writer
+Writer:ConvertTextFields
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Protect
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:UnprotectSheet
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheetWithDialog
+ExportSheetsToHTML
+ExportSheetsToHTML:exportsheetstohtml.js
+FormWizard
+FormWizard
+FormWizard:CommitLastDocumentChanges
+FormWizard:DeleteFirstListboxEntry
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:EmptyFieldsListboxes
+FormWizard:FillUpFieldsListbox
+FormWizard:FormGetFields
+FormWizard:InitializeLayoutSettings
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:NextStep
+FormWizard:PreviousStep
+FormWizard:StoreForm
+FormWizard:StoreFormInDatabase
+FormWizard:ToggleDatabasePage
+Layouter
+Layouter:ArrangeControls
+Layouter:ChangeArrangemode
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ConfigurePageStyle
+Layouter:DestroyControlShapes
+Layouter:InitializeLabelValues
+Layouter:InsertControl
+Layouter:OpenFormDocument
+Layouter:SwitchAlignMode
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:ToggleAlignGroup
+Layouter:ToggleBorderGroup
+Layouter:ToggleLayoutPage
+Language
+Language:InitializeWidthList
+Language:LoadLanguage
+Language:SetDialogLanguage
+DBMeta
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:AssignFieldLength
+DBMeta:CreateCommandTypeList
+DBMeta:CreateDBForm
+DBMeta:GetConnection
+DBMeta:GetCurrentMetaValues
+DBMeta:GetDatabaseNames
+DBMeta:GetDBMetaData
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:GetTableMetaData
+tools
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFilterName
+tools:GetFormWizardPaths
+tools:GetPeerSize
+tools:GetPoint
+tools:GetPreferredHeight
+tools:GetPreferredWidth
+tools:GetSize
+tools:ImportStyles
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:RemoveNirwanaShapes
+tools:RemoveShapes
+tools:SetNumerics
+tools:SetProgressValue
+tools:ShapesToNirwana
+tools:TwipTo100telMM
+tools:TwipToCM
+tools:TwipToPixel
+develop
+develop:AdjustLineWidth
+develop:CheckJustifiedPosition
+develop:CheckOuterPoints
+develop:ControlCaptionstoStandardLayout
+develop:GetCorrWidth
+develop:GetLabelDiffHeight
+develop:GroupShapesTogether
+develop:InitializePosSizes
+develop:InsertDBControl
+develop:InsertTextControl
+develop:InsertTimeStampShape
+develop:PositionControls
+develop:PositionGridControl
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:ResetPosSizes
+develop:SetupGridColumn
+Gimmicks
+GetTexts
+GetTexts:GetAnnotations
+GetTexts:GetCalcGraphicNames
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetChartStrings
+GetTexts:GetControlContent
+GetTexts:GetControlStrings
+GetTexts:GetDocumentProps
+GetTexts:GetDrawPageTitles
+GetTexts:GetDrawStrings
+GetTexts:GetFrameTexts
+GetTexts:GetGraphicNames
+GetTexts:GetHyperlinks
+GetTexts:GetLinkedFileNames
+GetTexts:GetNamedRanges
+GetTexts:GetPageStrings
+GetTexts:GetParagraphTexts
+GetTexts:GetSectionNames
+GetTexts:GetStyles
+GetTexts:GetTextFieldStrings
+GetTexts:GetWriterStrings
+GetTexts:Main
+GetTexts:MakeLogHeadLine
+GetTexts:WriteStringtoLogFile
+Userfields
+Userfields:AddRecord
+Userfields:DeleteCurrentSettings
+Userfields:FillDialog
+Userfields:FillupTextFields
+Userfields:InitializeUserFamily
+Userfields:SaveSettings
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:SelectCurrentFields
+Userfields:StartChangesUserfields
+Userfields:StepToRecord
+Userfields:StopMacro
+Userfields:ToggleButtons
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+AutoText
+AutoText:InsertStringToCell
+AutoText:Main
+ReadDir
+ReadDir:AdjustPageHeight
+ReadDir:CalculateXPoint
+ReadDir:CheckPageWidth
+ReadDir:CloseDialog
+ReadDir:CreateTextShape
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:Main
+ReadDir:ReadSourceDirectory
+ReadDir:SetNewLevels
+ReadDir:ToggleDialogControls
+ReadDir:TreeInfo
+HelloWorld
+HelloWorld:helloworld.bsh
+HelloWorld:helloworld.js
+HelloWorld:HelloWorld.printHW
+HelloWorld:HelloWorldPython
+Highlight
+Highlight:ButtonPressHandler.bsh
+Highlight:ButtonPressHandler.js
+Highlight:HighlightText.showForm
+Highlight:ShowDialog.bsh
+Highlight:ShowDialog.js
+ImportWizard
+Main
+Main:CancelTask
+Main:CheckInstalledModule
+Main:CheckModuleInstallation
+Main:GetImportWizardPaths
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:RepaintHeaderPreview
+Main:TakeOverPathSettings
+Main:TemplateDirSearchDialog
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+DialogModul
+DialogModul:AssignPathToCurrentApplication
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckMSImportAvailability
+DialogModul:CheckTextBoxPath
+DialogModul:FillStep_InputPaths
+DialogModul:FillStep_Progress
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Welcome
+DialogModul:FillUpApplicationList
+DialogModul:FinalizeDialogButtons
+DialogModul:GetFilterTracingLogPath
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:InitializeProgressPage
+DialogModul:MakeSummaryString
+DialogModul:SaveStep_InputPath
+DialogModul:SetProgressDisplay
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:TakoverFolderName
+DialogModul:ToggleInputPaths
+Language
+Language:GetApplResourceArray
+Language:LoadLanguage
+FilesModul
+FilesModul:AddCollectionPath
+FilesModul:AddFilterNameToPathItem
+FilesModul:AddListtoFilesList
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CheckPassWordProtection
+FilesModul:CollectPaths
+FilesModul:ConcatComment
+FilesModul:ConvertAllDocuments
+FilesModul:CreateLogDocument
+FilesModul:CreateLogTable
+FilesModul:GetApplicationIndex
+FilesModul:GetFilterName
+FilesModul:GetFilterTracingLogPath
+FilesModul:GetSize
+FilesModul:GetTargetTemplatePath
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:InsertCommentToLogCell
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InterruptProcess
+FilesModul:MergeRange
+FilesModul:OpenLogDocument
+FilesModul:ReadCollectionPaths
+FilesModul:SearchArrayforPartString
+FilesModul:SetExtension
+API
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:OpenRegKey
+API:QueryValue
+API:QueryValueEx
+MemoryUsage
+MemoryUsage:MemoryUsage.updateMemoryUsage
+MemoryUsage:memusage.bsh
+Schedule
+OwnEvents
+OwnEvents:CalcmdInsertData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CalLoadOwnData
+OwnEvents:CalSaveOwnData
+OwnEvents:CheckInsertedDates
+OwnEvents:GetDateUnits
+OwnEvents:GetOwnMonth
+OwnEvents:GetSelectedDateUnits
+OwnEvents:Main
+CalendarMain
+CalendarMain:AddNumberFormat
+CalendarMain:CalAutopilotTable
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CalendarMain:SetupNumberFormatter
+BankHoliday
+BankHoliday:AddFollowUpHolidays
+BankHoliday:CalEasterTable
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:Main
+DlgControl
+DlgControl:CalClearInputMask
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:CalMouseMoved
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalUpdateNewEventFrame
+DlgControl:Main
+DlgControl:MouseLeavesImage
+DlgControl:SelectState
+DlgControl:ToggleInsertButton
+Language
+Language:LoadLanguage
+CreateTable
+CreateTable:CalCreateMonthTable
+CreateTable:CalCreateYearTable
+CreateTable:FormatCalCells
+GermanHolidays
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:Main
+LocalHolidays
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseAutumnDay
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:Main
+ScriptBindingLibrary
+Template
+ModuleAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:FinishAgenda
+ModuleAgenda:GetOptionValues
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+Correspondence
+Correspondence:Database
+Correspondence:GetFieldName
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+Correspondence:LoadLanguageCorrespondence
+Correspondence:Main
+Correspondence:OK
+Correspondence:Placeholder
+Samples
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Samples:PrepareForEditing
+Samples:RestoreCurrentStyles
+Samples:SaveCurrentStyles
+Samples:SelectStyle
+Samples:ShowStyles
+Autotext
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Autotext:CreateUserDatafield
+Autotext:Main
+Tools
+ModuleControls
+ModuleControls:AddFiltersToDialog
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:GetFileName
+ModuleControls:GetFolderName
+ModuleControls:GetOptionGroupValue
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:LoadDialog
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:StoreDocument
+ModuleControls:SwitchMousePointer
+ModuleControls:WriteOptValueToCell
+Strings
+Strings:AddListtoList
+Strings:ArrayfromMultiArray
+Strings:ArrayOutOfString
+Strings:BubbleSortList
+Strings:CheckDouble
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:CountCharsinString
+Strings:DeleteStr
+Strings:DirectoryNameoutofPath
+Strings:ElimChar
+Strings:FieldinArray
+Strings:FieldinList
+Strings:FileNameoutofPath
+Strings:FindPartString
+Strings:FindSecondValue
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:GetIndexForPartStringinMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetValueoutofList
+Strings:IndexinArray
+Strings:LTRimChar
+Strings:MultiArrayInListbox
+Strings:PartStringInArray
+Strings:Power
+Strings:ReplaceString
+Strings:Round
+Strings:RTrimStr
+Strings:StringInMultiArray
+Misc
+Misc:AddNewSheetName
+Misc:AttachBasicMacroToEvent
+Misc:CalIsLeapYear
+Misc:ChangeCellValue
+Misc:ChangeValueofRange
+Misc:CheckNewSheetname
+Misc:ConnecttoDatabase
+Misc:CopySheetbyName
+Misc:CreateNewDocument
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:DispatchSlot
+Misc:DisposeDocument
+Misc:DuplicateRow
+Misc:GetCellByName
+Misc:GetColumnIndex
+Misc:GetDocumentType
+Misc:GetLastUsedRow
+Misc:GetLocale
+Misc:GetNumberFormatType
+Misc:GetOfficeSubPath
+Misc:GetPathSettings
+Misc:GetProductname
+Misc:GetPropertyValueIndex
+Misc:GetRegistryKeyContent
+Misc:GetResText
+Misc:GetRowIndex
+Misc:GetSheetIndex
+Misc:GetStarOfficeLocale
+Misc:GetStringofCellbyName
+Misc:GetValueofCellbyName
+Misc:InitResources
+Misc:IsFatOffice
+Misc:isHighContrast
+Misc:Main
+Misc:ModifyBorderLineWidth
+Misc:ModifyPropertyValue
+Misc:OpenDocument
+Misc:ProtectSheets
+Misc:RegisterNewDataSource
+Misc:ReplaceRangeValues
+Misc:RetrieveFileName
+Misc:ShowNoOfficePathError
+Misc:TaskonDesktop
+Misc:ToggleDesignMode
+Misc:ToggleWindow
+Misc:UnprotectSheets
+UCB
+UCB:AddFileNameToList
+UCB:AddFoldertoList
+UCB:CopyRecursively
+UCB:CreateFolder
+UCB:GetRealFileContent
+UCB:LoadDataFromFile
+UCB:Main
+UCB:ReadDirectories
+UCB:RetrieveDocTitle
+UCB:SaveDataToFile
+UCB:ShowHelperDialog
+Listbox
+Listbox:AddSingleItemToListbox
+Listbox:CopyListboxItems
+Listbox:EmptyListbox
+Listbox:FormMoveAll
+Listbox:FormMoveSelected
+Listbox:FormRemoveAll
+Listbox:FormRemoveSelected
+Listbox:FormSetMoveRights
+Listbox:GetItemPos
+Listbox:GetSelectedListboxItems
+Listbox:InitializeListboxProcedures
+Listbox:MergeList
+Listbox:MoveOrderedSelectedListbox
+Listbox:MoveSelectedListBox
+Listbox:RemoveListboxItemByName
+Listbox:RemoveListItems
+Listbox:RemoveSelected
+Listbox:SelectListboxItem
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:FillDocument
+Debug:printdbgInfo
+Debug:ProtectCurrentSheets
+Debug:SetBasicReadOnlyFlag
+Debug:ShowArray
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ShowElementNames
+Debug:ShowNameValuePair
+Debug:ShowPropertyValues
+Debug:ShowSupportedServiceNames
+Debug:WritedbgInfo
+Debug:WriteDbgString
+WordCount
+WordCount:wordcount.bsh
+pythonSamples
+TableSample
+TableSample:createTable
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BasicOrganizer.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BasicOrganizer.txt
new file mode 100755
index 000000000000..072608199d8b
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BasicOrganizer.txt
@@ -0,0 +1,660 @@
+My Macros
+Standard
+Module1
+Module1:Main
+Oracle Open Office Macros
+basic
+Module1
+Module1:Main
+Depot
+CommonLang
+CommonLang:LoadLanguage
+CommonLang:CompleteMarketList
+CommonLang:LocalizedCurrencies
+CommonLang:LoadDepotDialogs
+CommonLang:InitializeStartUpModel
+Currency
+Currency:Startup
+Currency:EnableGoOnButton
+Currency:CloseStartUpDialog
+Currency:DisposeDocument
+Currency:ChooseMarket
+Currency:ConvertStylesCurrencies
+Currency:SwitchNumberFormat
+Currency:Numberformat
+Currency:CheckFormatType
+Depot
+Depot:Initialize
+Depot:Buy
+Depot:Sell
+Depot:Reset
+Depot:TransactionOk
+Depot:SelectStockname
+Depot:HandleStocks
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:SetupTransactionControls
+Depot:AddShortCuttoControl
+Depot:OpenStockRatePage
+Depot:SelectStockNameForRates
+Depot:ToggleStockRateControls
+Depot:InitializeStockRatesControls
+Internet
+Internet:CheckHistoryControls
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:GetCurrentRate
+Internet:UpdateValue
+Internet:StringToDate
+Internet:UpdateChart
+Internet:CalculateChartafterSplit
+Lang_de
+Lang_de:LoadGermanLanguage
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+tools
+tools:RemoveSheet
+tools:InitializeStatusLine
+tools:MakeRangeVisible
+tools:GetRowIndex
+tools:GetTransactionCount
+tools:GetStocksCount
+tools:FillListbox
+tools:CellValuetoControl
+tools:RemoveStockRows
+tools:AddValueToCellContent
+tools:CheckInputDate
+tools:InsertCurrentValue
+tools:SplitCellValue
+tools:GetStockRowIndex
+tools:GetStockID
+tools:CheckDocLocale
+Euro
+AutoPilotRun
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:InitializeDocument
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:ToggleProgressStep
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:AssignFileName
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:CallFilePicker
+AutoPilotRun:PreviousStep
+Common
+Common:RetrieveDocumentObjects
+Common:CancelTask
+Common:ConvertDocument
+Common:SwitchNumberFormat
+Common:Numberformat
+Common:CheckFormatType
+Common:StartConversion
+Common:IncreaseStatusValue
+Common:SelectCurrency
+Common:FillUpCurrencyListbox
+Common:InitializeProgressbar
+Common:EndStatusLine
+ConvertRun
+ConvertRun:Main
+ConvertRun:SelectListItem
+ConvertRun:RetrieveEnableValue
+ConvertRun:EnableStep1DialogControls
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:GetPreSelectedRange
+ConvertRun:AddRangeToListbox
+ConvertRun:CheckRangeSelection
+ConvertRun:FieldinList
+ConvertRun:CheckLocale
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+Hard
+Hard:CreateRangeList
+Hard:CreateRangeEnumeration
+Hard:AddSheetRanges
+Hard:SelectRange
+Hard:ConvertThehardWay
+Hard:ConvertCellCurrencies
+Hard:ModifyObjectValuewithCurrFactor
+Hard:CheckIfRangeisCurrency
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Init
+Init:InitializeResources
+Init:InitializeLanguages
+Init:InitializeCurrencies
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencyValues
+Init:InitializeLocales
+Protect
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheet
+Protect:UnprotectSheetWithDialog
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Soft
+Soft:CreateStyleEnumeration
+Soft:MakeStyleEnumeration
+Soft:AssignRangestoStyle
+Soft:AssignCellFormatRanges
+Soft:DeselectStyle
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveSheetoutofRangeName
+Soft:RetrieveRangeoutofRangeName
+Soft:ConvertTheSoftWay
+Soft:GetAssignedRanges
+Writer
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Writer:ConvertTextFields
+FormWizard
+DBMeta
+DBMeta:GetDatabaseNames
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetConnection
+DBMeta:GetDBMetaData
+DBMeta:GetTableMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:CreateDBForm
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:CreateCommandTypeList
+DBMeta:GetCurrentMetaValues
+DBMeta:AssignFieldLength
+develop
+develop:PositionControls
+develop:ResetPosSizes
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:InitializePosSizes
+develop:InsertTextControl
+develop:InsertDBControl
+develop:InsertTimeStampShape
+develop:GetLabelDiffHeight
+develop:CheckJustifiedPosition
+develop:GetCorrWidth
+develop:AdjustLineWidth
+develop:CheckOuterPoints
+develop:PositionGridControl
+develop:SetupGridColumn
+develop:ControlCaptionstoStandardLayout
+develop:GroupShapesTogether
+FormWizard
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:FormGetFields
+FormWizard:FillUpFieldsListbox
+FormWizard:PreviousStep
+FormWizard:NextStep
+FormWizard:InitializeLayoutSettings
+FormWizard:ToggleDatabasePage
+FormWizard:CommitLastDocumentChanges
+FormWizard:StoreFormInDatabase
+FormWizard:StoreForm
+FormWizard:EmptyFieldsListboxes
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:DeleteFirstListboxEntry
+Language
+Language:LoadLanguage
+Language:SetDialogLanguage
+Language:InitializeWidthList
+Layouter
+Layouter:InsertControl
+Layouter:ArrangeControls
+Layouter:OpenFormDocument
+Layouter:InitializeLabelValues
+Layouter:ConfigurePageStyle
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ChangeArrangemode
+Layouter:ToggleBorderGroup
+Layouter:ToggleAlignGroup
+Layouter:ToggleLayoutPage
+Layouter:DestroyControlShapes
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:SwitchAlignMode
+tools
+tools:SetProgressValue
+tools:GetPreferredWidth
+tools:GetPreferredHeight
+tools:GetPeerSize
+tools:TwipToCM
+tools:TwipTo100telMM
+tools:TwipToPixel
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:GetPoint
+tools:GetSize
+tools:ImportStyles
+tools:SetNumerics
+tools:RemoveShapes
+tools:RemoveNirwanaShapes
+tools:ShapesToNirwana
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFormWizardPaths
+tools:GetFilterName
+Gimmicks
+AutoText
+AutoText:Main
+AutoText:InsertStringToCell
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+GetTexts
+GetTexts:Main
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetAnnotations
+GetTexts:GetNamedRanges
+GetTexts:GetCalcGraphicNames
+GetTexts:GetParagraphTexts
+GetTexts:GetChartStrings
+GetTexts:GetFrameTexts
+GetTexts:GetTextFieldStrings
+GetTexts:GetLinkedFileNames
+GetTexts:GetSectionNames
+GetTexts:GetWriterStrings
+GetTexts:GetDrawPageTitles
+GetTexts:GetPageStrings
+GetTexts:GetDrawStrings
+GetTexts:GetDocumentProps
+GetTexts:GetHyperlinks
+GetTexts:GetGraphicNames
+GetTexts:GetStyles
+GetTexts:GetControlStrings
+GetTexts:GetControlContent
+GetTexts:WriteStringtoLogFile
+GetTexts:MakeLogHeadLine
+ReadDir
+ReadDir:Main
+ReadDir:TreeInfo
+ReadDir:CreateTextShape
+ReadDir:CalculateXPoint
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:ReadSourceDirectory
+ReadDir:CloseDialog
+ReadDir:AdjustPageHeight
+ReadDir:SetNewLevels
+ReadDir:CheckPageWidth
+ReadDir:ToggleDialogControls
+Userfields
+Userfields:StartChangesUserfields
+Userfields:FillDialog
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:StopMacro
+Userfields:SaveSettings
+Userfields:ToggleButtons
+Userfields:InitializeUserFamily
+Userfields:AddRecord
+Userfields:FillupTextFields
+Userfields:StepToRecord
+Userfields:SelectCurrentFields
+Userfields:DeleteCurrentSettings
+ImportWizard
+API
+API:OpenRegKey
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:QueryValueEx
+API:QueryValue
+DialogModul
+DialogModul:FillStep_Welcome
+DialogModul:FillStep_InputPaths
+DialogModul:FillUpApplicationList
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:AssignPathToCurrentApplication
+DialogModul:SaveStep_InputPath
+DialogModul:ToggleInputPaths
+DialogModul:MakeSummaryString
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Progress
+DialogModul:GetFilterTracingLogPath
+DialogModul:CheckMSImportAvailability
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckTextBoxPath
+DialogModul:InitializeProgressPage
+DialogModul:SetProgressDisplay
+DialogModul:TakoverFolderName
+DialogModul:FinalizeDialogButtons
+FilesModul
+FilesModul:ReadCollectionPaths
+FilesModul:GetApplicationIndex
+FilesModul:InterruptProcess
+FilesModul:AddCollectionPath
+FilesModul:SetExtension
+FilesModul:AddFilterNameToPathItem
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CollectPaths
+FilesModul:ConvertAllDocuments
+FilesModul:AddListtoFilesList
+FilesModul:GetTargetTemplatePath
+FilesModul:GetFilterName
+FilesModul:SearchArrayforPartString
+FilesModul:CreateLogTable
+FilesModul:GetSize
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:CreateLogDocument
+FilesModul:GetFilterTracingLogPath
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertCommentToLogCell
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckPassWordProtection
+FilesModul:OpenLogDocument
+FilesModul:MergeRange
+FilesModul:ConcatComment
+Language
+Language:LoadLanguage
+Language:GetApplResourceArray
+Main
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:CancelTask
+Main:TemplateDirSearchDialog
+Main:RepaintHeaderPreview
+Main:CheckModuleInstallation
+Main:CheckInstalledModule
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+Main:TakeOverPathSettings
+Main:GetImportWizardPaths
+Schedule
+BankHoliday
+BankHoliday:Main
+BankHoliday:CalEasterTable
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:AddFollowUpHolidays
+CalendarMain
+CalendarMain:CalAutopilotTable
+CalendarMain:SetupNumberFormatter
+CalendarMain:AddNumberFormat
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CreateTable
+CreateTable:CalCreateYearTable
+CreateTable:CalCreateMonthTable
+CreateTable:FormatCalCells
+DlgControl
+DlgControl:Main
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalMouseMoved
+DlgControl:SelectState
+DlgControl:MouseLeavesImage
+DlgControl:CalClearInputMask
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:ToggleInsertButton
+DlgControl:CalUpdateNewEventFrame
+GermanHolidays
+GermanHolidays:Main
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+Language
+Language:LoadLanguage
+LocalHolidays
+LocalHolidays:Main
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateJapaneseAutumnDay
+OwnEvents
+OwnEvents:Main
+OwnEvents:CalSaveOwnData
+OwnEvents:CalLoadOwnData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalcmdInsertData
+OwnEvents:GetSelectedDateUnits
+OwnEvents:GetDateUnits
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CheckInsertedDates
+OwnEvents:GetOwnMonth
+ScriptBindingLibrary
+Template
+Autotext
+Autotext:Main
+Autotext:CreateUserDatafield
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Correspondence
+Correspondence:Main
+Correspondence:Placeholder
+Correspondence:Database
+Correspondence:LoadLanguageCorrespondence
+Correspondence:GetFieldName
+Correspondence:OK
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+ModuleAgenda
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+ModuleAgenda:FinishAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:GetOptionValues
+Samples
+Samples:PrepareForEditing
+Samples:ShowStyles
+Samples:SelectStyle
+Samples:SaveCurrentStyles
+Samples:RestoreCurrentStyles
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Tools
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:SetBasicReadOnlyFlag
+Debug:WritedbgInfo
+Debug:WriteDbgString
+Debug:printdbgInfo
+Debug:ShowArray
+Debug:ShowPropertyValues
+Debug:ShowNameValuePair
+Debug:ShowElementNames
+Debug:ShowSupportedServiceNames
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ProtectCurrentSheets
+Debug:FillDocument
+Listbox
+Listbox:MergeList
+Listbox:RemoveListItems
+Listbox:InitializeListboxProcedures
+Listbox:CopyListboxItems
+Listbox:FormMoveSelected
+Listbox:FormMoveAll
+Listbox:FormRemoveSelected
+Listbox:FormRemoveAll
+Listbox:MoveSelectedListBox
+Listbox:MoveOrderedSelectedListbox
+Listbox:RemoveSelected
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Listbox:FormSetMoveRights
+Listbox:AddSingleItemToListbox
+Listbox:EmptyListbox
+Listbox:SelectListboxItem
+Listbox:GetSelectedListboxItems
+Listbox:RemoveListboxItemByName
+Listbox:GetItemPos
+Misc
+Misc:Main
+Misc:RegisterNewDataSource
+Misc:ConnecttoDatabase
+Misc:GetStarOfficeLocale
+Misc:GetRegistryKeyContent
+Misc:GetProductname
+Misc:OpenDocument
+Misc:TaskonDesktop
+Misc:RetrieveFileName
+Misc:GetPathSettings
+Misc:GetOfficeSubPath
+Misc:ShowNoOfficePathError
+Misc:InitResources
+Misc:GetResText
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:ChangeValueofRange
+Misc:ReplaceRangeValues
+Misc:GetValueofCellbyName
+Misc:DuplicateRow
+Misc:GetStringofCellbyName
+Misc:GetCellByName
+Misc:ChangeCellValue
+Misc:GetDocumentType
+Misc:GetNumberFormatType
+Misc:ProtectSheets
+Misc:UnprotectSheets
+Misc:GetRowIndex
+Misc:GetColumnIndex
+Misc:CopySheetbyName
+Misc:ToggleWindow
+Misc:CheckNewSheetname
+Misc:AddNewSheetName
+Misc:GetSheetIndex
+Misc:GetLastUsedRow
+Misc:ModifyBorderLineWidth
+Misc:AttachBasicMacroToEvent
+Misc:ModifyPropertyValue
+Misc:GetPropertyValueIndex
+Misc:DispatchSlot
+Misc:IsFatOffice
+Misc:GetLocale
+Misc:ToggleDesignMode
+Misc:isHighContrast
+Misc:CreateNewDocument
+Misc:DisposeDocument
+Misc:CalIsLeapYear
+ModuleControls
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:GetOptionGroupValue
+ModuleControls:WriteOptValueToCell
+ModuleControls:LoadDialog
+ModuleControls:GetFolderName
+ModuleControls:GetFileName
+ModuleControls:StoreDocument
+ModuleControls:AddFiltersToDialog
+ModuleControls:SwitchMousePointer
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+Strings
+Strings:ElimChar
+Strings:DeleteStr
+Strings:FindPartString
+Strings:PartStringInArray
+Strings:RTrimStr
+Strings:LTRimChar
+Strings:ArrayOutOfString
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:FieldinArray
+Strings:FieldinList
+Strings:IndexinArray
+Strings:MultiArrayInListbox
+Strings:StringInMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetIndexForPartStringinMultiArray
+Strings:ArrayfromMultiArray
+Strings:ReplaceString
+Strings:FindSecondValue
+Strings:Power
+Strings:Round
+Strings:FileNameoutofPath
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:DirectoryNameoutofPath
+Strings:CountCharsinString
+Strings:BubbleSortList
+Strings:GetValueoutofList
+Strings:AddListtoList
+Strings:CheckDouble
+UCB
+UCB:Main
+UCB:ReadDirectories
+UCB:AddFoldertoList
+UCB:AddFileNameToList
+UCB:RetrieveDocTitle
+UCB:GetRealFileContent
+UCB:CopyRecursively
+UCB:ShowHelperDialog
+UCB:SaveDataToFile
+UCB:LoadDataFromFile
+UCB:CreateFolder
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BeanShell.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BeanShell.txt
new file mode 100755
index 000000000000..141bebef85d5
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_BeanShell.txt
@@ -0,0 +1,14 @@
+My Macros
+Oracle Open Office Macros
+Capitalise
+capitalise.bsh
+HelloWorld
+helloworld.bsh
+Highlight
+ButtonPressHandler.bsh
+ShowDialog.bsh
+MemoryUsage
+memusage.bsh
+WordCount
+wordcount.bsh
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_JavaScript.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_JavaScript.txt
new file mode 100755
index 000000000000..09ea2fbc3203
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_JavaScript.txt
@@ -0,0 +1,10 @@
+My Macros
+Oracle Open Office Macros
+ExportSheetsToHTML
+exportsheetstohtml.js
+HelloWorld
+helloworld.js
+Highlight
+ButtonPressHandler.js
+ShowDialog.js
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_Python.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_Python.txt
new file mode 100755
index 000000000000..b15ae4c69f69
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_Python.txt
@@ -0,0 +1,8 @@
+My Macros
+Oracle Open Office Macros
+Capitalise
+HelloWorld
+HelloWorldPython
+pythonSamples
+TableSample
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_RunMacro.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_RunMacro.txt
new file mode 100755
index 000000000000..d0a84dcd41f5
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_osx_RunMacro.txt
@@ -0,0 +1,682 @@
+My Macros
+Standard
+Module1
+Module1:Main
+basic
+Module1
+Module1:Main
+Oracle Open Office Macros
+Capitalise
+Capitalise:capitalise.bsh
+Depot
+Depot
+Depot:AddShortCuttoControl
+Depot:Buy
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:HandleStocks
+Depot:Initialize
+Depot:InitializeStockRatesControls
+Depot:OpenStockRatePage
+Depot:Reset
+Depot:SelectStockname
+Depot:SelectStockNameForRates
+Depot:Sell
+Depot:SetupTransactionControls
+Depot:ToggleStockRateControls
+Depot:TransactionOk
+CommonLang
+CommonLang:CompleteMarketList
+CommonLang:InitializeStartUpModel
+CommonLang:LoadDepotDialogs
+CommonLang:LoadLanguage
+CommonLang:LocalizedCurrencies
+Currency
+Currency:CheckFormatType
+Currency:ChooseMarket
+Currency:CloseStartUpDialog
+Currency:ConvertStylesCurrencies
+Currency:DisposeDocument
+Currency:EnableGoOnButton
+Currency:Numberformat
+Currency:Startup
+Currency:SwitchNumberFormat
+Internet
+Internet:CalculateChartafterSplit
+Internet:CheckHistoryControls
+Internet:GetCurrentRate
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:StringToDate
+Internet:UpdateChart
+Internet:UpdateValue
+Lang_de
+Lang_de:LoadGermanLanguage
+tools
+tools:AddValueToCellContent
+tools:CellValuetoControl
+tools:CheckDocLocale
+tools:CheckInputDate
+tools:FillListbox
+tools:GetRowIndex
+tools:GetStockID
+tools:GetStockRowIndex
+tools:GetStocksCount
+tools:GetTransactionCount
+tools:InitializeStatusLine
+tools:InsertCurrentValue
+tools:MakeRangeVisible
+tools:RemoveSheet
+tools:RemoveStockRows
+tools:SplitCellValue
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Euro
+ConvertRun
+ConvertRun:AddRangeToListbox
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:CheckLocale
+ConvertRun:CheckRangeSelection
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:EnableStep1DialogControls
+ConvertRun:FieldinList
+ConvertRun:GetPreSelectedRange
+ConvertRun:Main
+ConvertRun:RetrieveEnableValue
+ConvertRun:SelectListItem
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+AutoPilotRun
+AutoPilotRun:AssignFileName
+AutoPilotRun:CallFilePicker
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeDocument
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:PreviousStep
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:ToggleProgressStep
+Hard
+Hard:AddSheetRanges
+Hard:CheckIfRangeisCurrency
+Hard:ConvertCellCurrencies
+Hard:ConvertThehardWay
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Hard:CreateRangeEnumeration
+Hard:CreateRangeList
+Hard:ModifyObjectValuewithCurrFactor
+Hard:SelectRange
+Soft
+Soft:AssignCellFormatRanges
+Soft:AssignRangestoStyle
+Soft:ConvertTheSoftWay
+Soft:CreateStyleEnumeration
+Soft:DeselectStyle
+Soft:GetAssignedRanges
+Soft:MakeStyleEnumeration
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveRangeoutofRangeName
+Soft:RetrieveSheetoutofRangeName
+Init
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencies
+Init:InitializeCurrencyValues
+Init:InitializeLanguages
+Init:InitializeLocales
+Init:InitializeResources
+Common
+Common:CancelTask
+Common:CheckFormatType
+Common:ConvertDocument
+Common:EndStatusLine
+Common:FillUpCurrencyListbox
+Common:IncreaseStatusValue
+Common:InitializeProgressbar
+Common:Numberformat
+Common:RetrieveDocumentObjects
+Common:SelectCurrency
+Common:StartConversion
+Common:SwitchNumberFormat
+Writer
+Writer:ConvertTextFields
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Protect
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:UnprotectSheet
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheetWithDialog
+ExportSheetsToHTML
+ExportSheetsToHTML:exportsheetstohtml.js
+FormWizard
+FormWizard
+FormWizard:CommitLastDocumentChanges
+FormWizard:DeleteFirstListboxEntry
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:EmptyFieldsListboxes
+FormWizard:FillUpFieldsListbox
+FormWizard:FormGetFields
+FormWizard:InitializeLayoutSettings
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:NextStep
+FormWizard:PreviousStep
+FormWizard:StoreForm
+FormWizard:StoreFormInDatabase
+FormWizard:ToggleDatabasePage
+Layouter
+Layouter:ArrangeControls
+Layouter:ChangeArrangemode
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ConfigurePageStyle
+Layouter:DestroyControlShapes
+Layouter:InitializeLabelValues
+Layouter:InsertControl
+Layouter:OpenFormDocument
+Layouter:SwitchAlignMode
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:ToggleAlignGroup
+Layouter:ToggleBorderGroup
+Layouter:ToggleLayoutPage
+Language
+Language:InitializeWidthList
+Language:LoadLanguage
+Language:SetDialogLanguage
+DBMeta
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:AssignFieldLength
+DBMeta:CreateCommandTypeList
+DBMeta:CreateDBForm
+DBMeta:GetConnection
+DBMeta:GetCurrentMetaValues
+DBMeta:GetDatabaseNames
+DBMeta:GetDBMetaData
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:GetTableMetaData
+tools
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFilterName
+tools:GetFormWizardPaths
+tools:GetPeerSize
+tools:GetPoint
+tools:GetPreferredHeight
+tools:GetPreferredWidth
+tools:GetSize
+tools:ImportStyles
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:RemoveNirwanaShapes
+tools:RemoveShapes
+tools:SetNumerics
+tools:SetProgressValue
+tools:ShapesToNirwana
+tools:TwipTo100telMM
+tools:TwipToCM
+tools:TwipToPixel
+develop
+develop:AdjustLineWidth
+develop:CheckJustifiedPosition
+develop:CheckOuterPoints
+develop:ControlCaptionstoStandardLayout
+develop:GetCorrWidth
+develop:GetLabelDiffHeight
+develop:GroupShapesTogether
+develop:InitializePosSizes
+develop:InsertDBControl
+develop:InsertTextControl
+develop:InsertTimeStampShape
+develop:PositionControls
+develop:PositionGridControl
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:ResetPosSizes
+develop:SetupGridColumn
+Gimmicks
+GetTexts
+GetTexts:GetAnnotations
+GetTexts:GetCalcGraphicNames
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetChartStrings
+GetTexts:GetControlContent
+GetTexts:GetControlStrings
+GetTexts:GetDocumentProps
+GetTexts:GetDrawPageTitles
+GetTexts:GetDrawStrings
+GetTexts:GetFrameTexts
+GetTexts:GetGraphicNames
+GetTexts:GetHyperlinks
+GetTexts:GetLinkedFileNames
+GetTexts:GetNamedRanges
+GetTexts:GetPageStrings
+GetTexts:GetParagraphTexts
+GetTexts:GetSectionNames
+GetTexts:GetStyles
+GetTexts:GetTextFieldStrings
+GetTexts:GetWriterStrings
+GetTexts:Main
+GetTexts:MakeLogHeadLine
+GetTexts:WriteStringtoLogFile
+Userfields
+Userfields:AddRecord
+Userfields:DeleteCurrentSettings
+Userfields:FillDialog
+Userfields:FillupTextFields
+Userfields:InitializeUserFamily
+Userfields:SaveSettings
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:SelectCurrentFields
+Userfields:StartChangesUserfields
+Userfields:StepToRecord
+Userfields:StopMacro
+Userfields:ToggleButtons
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+AutoText
+AutoText:InsertStringToCell
+AutoText:Main
+ReadDir
+ReadDir:AdjustPageHeight
+ReadDir:CalculateXPoint
+ReadDir:CheckPageWidth
+ReadDir:CloseDialog
+ReadDir:CreateTextShape
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:Main
+ReadDir:ReadSourceDirectory
+ReadDir:SetNewLevels
+ReadDir:ToggleDialogControls
+ReadDir:TreeInfo
+HelloWorld
+HelloWorld:helloworld.bsh
+HelloWorld:helloworld.js
+HelloWorld:HelloWorld.printHW
+HelloWorld:HelloWorldPython
+Highlight
+Highlight:ButtonPressHandler.bsh
+Highlight:ButtonPressHandler.js
+Highlight:HighlightText.showForm
+Highlight:ShowDialog.bsh
+Highlight:ShowDialog.js
+ImportWizard
+Main
+Main:CancelTask
+Main:CheckInstalledModule
+Main:CheckModuleInstallation
+Main:GetImportWizardPaths
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:RepaintHeaderPreview
+Main:TakeOverPathSettings
+Main:TemplateDirSearchDialog
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+DialogModul
+DialogModul:AssignPathToCurrentApplication
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckMSImportAvailability
+DialogModul:CheckTextBoxPath
+DialogModul:FillStep_InputPaths
+DialogModul:FillStep_Progress
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Welcome
+DialogModul:FillUpApplicationList
+DialogModul:FinalizeDialogButtons
+DialogModul:GetFilterTracingLogPath
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:InitializeProgressPage
+DialogModul:MakeSummaryString
+DialogModul:SaveStep_InputPath
+DialogModul:SetProgressDisplay
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:TakoverFolderName
+DialogModul:ToggleInputPaths
+Language
+Language:GetApplResourceArray
+Language:LoadLanguage
+FilesModul
+FilesModul:AddCollectionPath
+FilesModul:AddFilterNameToPathItem
+FilesModul:AddListtoFilesList
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CheckPassWordProtection
+FilesModul:CollectPaths
+FilesModul:ConcatComment
+FilesModul:ConvertAllDocuments
+FilesModul:CreateLogDocument
+FilesModul:CreateLogTable
+FilesModul:GetApplicationIndex
+FilesModul:GetFilterName
+FilesModul:GetFilterTracingLogPath
+FilesModul:GetSize
+FilesModul:GetTargetTemplatePath
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:InsertCommentToLogCell
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InterruptProcess
+FilesModul:MergeRange
+FilesModul:OpenLogDocument
+FilesModul:ReadCollectionPaths
+FilesModul:SearchArrayforPartString
+FilesModul:SetExtension
+API
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:OpenRegKey
+API:QueryValue
+API:QueryValueEx
+MemoryUsage
+MemoryUsage:MemoryUsage.updateMemoryUsage
+MemoryUsage:memusage.bsh
+Schedule
+OwnEvents
+OwnEvents:CalcmdInsertData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CalLoadOwnData
+OwnEvents:CalSaveOwnData
+OwnEvents:CheckInsertedDates
+OwnEvents:GetDateUnits
+OwnEvents:GetOwnMonth
+OwnEvents:GetSelectedDateUnits
+OwnEvents:Main
+CalendarMain
+CalendarMain:AddNumberFormat
+CalendarMain:CalAutopilotTable
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CalendarMain:SetupNumberFormatter
+BankHoliday
+BankHoliday:AddFollowUpHolidays
+BankHoliday:CalEasterTable
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:Main
+DlgControl
+DlgControl:CalClearInputMask
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:CalMouseMoved
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalUpdateNewEventFrame
+DlgControl:Main
+DlgControl:MouseLeavesImage
+DlgControl:SelectState
+DlgControl:ToggleInsertButton
+Language
+Language:LoadLanguage
+CreateTable
+CreateTable:CalCreateMonthTable
+CreateTable:CalCreateYearTable
+CreateTable:FormatCalCells
+GermanHolidays
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:Main
+LocalHolidays
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseAutumnDay
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:Main
+ScriptBindingLibrary
+Template
+ModuleAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:FinishAgenda
+ModuleAgenda:GetOptionValues
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+Correspondence
+Correspondence:Database
+Correspondence:GetFieldName
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+Correspondence:LoadLanguageCorrespondence
+Correspondence:Main
+Correspondence:OK
+Correspondence:Placeholder
+Samples
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Samples:PrepareForEditing
+Samples:RestoreCurrentStyles
+Samples:SaveCurrentStyles
+Samples:SelectStyle
+Samples:ShowStyles
+Autotext
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Autotext:CreateUserDatafield
+Autotext:Main
+Tools
+ModuleControls
+ModuleControls:AddFiltersToDialog
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:GetFileName
+ModuleControls:GetFolderName
+ModuleControls:GetOptionGroupValue
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:LoadDialog
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:StoreDocument
+ModuleControls:SwitchMousePointer
+ModuleControls:WriteOptValueToCell
+Strings
+Strings:AddListtoList
+Strings:ArrayfromMultiArray
+Strings:ArrayOutOfString
+Strings:BubbleSortList
+Strings:CheckDouble
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:CountCharsinString
+Strings:DeleteStr
+Strings:DirectoryNameoutofPath
+Strings:ElimChar
+Strings:FieldinArray
+Strings:FieldinList
+Strings:FileNameoutofPath
+Strings:FindPartString
+Strings:FindSecondValue
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:GetIndexForPartStringinMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetValueoutofList
+Strings:IndexinArray
+Strings:LTRimChar
+Strings:MultiArrayInListbox
+Strings:PartStringInArray
+Strings:Power
+Strings:ReplaceString
+Strings:Round
+Strings:RTrimStr
+Strings:StringInMultiArray
+Misc
+Misc:AddNewSheetName
+Misc:AttachBasicMacroToEvent
+Misc:CalIsLeapYear
+Misc:ChangeCellValue
+Misc:ChangeValueofRange
+Misc:CheckNewSheetname
+Misc:ConnecttoDatabase
+Misc:CopySheetbyName
+Misc:CreateNewDocument
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:DispatchSlot
+Misc:DisposeDocument
+Misc:DuplicateRow
+Misc:GetCellByName
+Misc:GetColumnIndex
+Misc:GetDocumentType
+Misc:GetLastUsedRow
+Misc:GetLocale
+Misc:GetNumberFormatType
+Misc:GetOfficeSubPath
+Misc:GetPathSettings
+Misc:GetProductname
+Misc:GetPropertyValueIndex
+Misc:GetRegistryKeyContent
+Misc:GetResText
+Misc:GetRowIndex
+Misc:GetSheetIndex
+Misc:GetStarOfficeLocale
+Misc:GetStringofCellbyName
+Misc:GetValueofCellbyName
+Misc:InitResources
+Misc:IsFatOffice
+Misc:isHighContrast
+Misc:Main
+Misc:ModifyBorderLineWidth
+Misc:ModifyPropertyValue
+Misc:OpenDocument
+Misc:ProtectSheets
+Misc:RegisterNewDataSource
+Misc:ReplaceRangeValues
+Misc:RetrieveFileName
+Misc:ShowNoOfficePathError
+Misc:TaskonDesktop
+Misc:ToggleDesignMode
+Misc:ToggleWindow
+Misc:UnprotectSheets
+UCB
+UCB:AddFileNameToList
+UCB:AddFoldertoList
+UCB:CopyRecursively
+UCB:CreateFolder
+UCB:GetRealFileContent
+UCB:LoadDataFromFile
+UCB:Main
+UCB:ReadDirectories
+UCB:RetrieveDocTitle
+UCB:SaveDataToFile
+UCB:ShowHelperDialog
+Listbox
+Listbox:AddSingleItemToListbox
+Listbox:CopyListboxItems
+Listbox:EmptyListbox
+Listbox:FormMoveAll
+Listbox:FormMoveSelected
+Listbox:FormRemoveAll
+Listbox:FormRemoveSelected
+Listbox:FormSetMoveRights
+Listbox:GetItemPos
+Listbox:GetSelectedListboxItems
+Listbox:InitializeListboxProcedures
+Listbox:MergeList
+Listbox:MoveOrderedSelectedListbox
+Listbox:MoveSelectedListBox
+Listbox:RemoveListboxItemByName
+Listbox:RemoveListItems
+Listbox:RemoveSelected
+Listbox:SelectListboxItem
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:FillDocument
+Debug:printdbgInfo
+Debug:ProtectCurrentSheets
+Debug:SetBasicReadOnlyFlag
+Debug:ShowArray
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ShowElementNames
+Debug:ShowNameValuePair
+Debug:ShowPropertyValues
+Debug:ShowSupportedServiceNames
+Debug:WritedbgInfo
+Debug:WriteDbgString
+WordCount
+WordCount:wordcount.bsh
+pythonSamples
+TableSample
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BasicOrganizer.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BasicOrganizer.txt
new file mode 100755
index 000000000000..87d91eff5ab5
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BasicOrganizer.txt
@@ -0,0 +1,657 @@
+My Macros
+Standard
+Module1
+Module1:Main
+Oracle Open Office Macros
+Depot
+CommonLang
+CommonLang:LoadLanguage
+CommonLang:CompleteMarketList
+CommonLang:LocalizedCurrencies
+CommonLang:LoadDepotDialogs
+CommonLang:InitializeStartUpModel
+Currency
+Currency:Startup
+Currency:EnableGoOnButton
+Currency:CloseStartUpDialog
+Currency:DisposeDocument
+Currency:ChooseMarket
+Currency:ConvertStylesCurrencies
+Currency:SwitchNumberFormat
+Currency:Numberformat
+Currency:CheckFormatType
+Depot
+Depot:Initialize
+Depot:Buy
+Depot:Sell
+Depot:Reset
+Depot:TransactionOk
+Depot:SelectStockname
+Depot:HandleStocks
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:SetupTransactionControls
+Depot:AddShortCuttoControl
+Depot:OpenStockRatePage
+Depot:SelectStockNameForRates
+Depot:ToggleStockRateControls
+Depot:InitializeStockRatesControls
+Internet
+Internet:CheckHistoryControls
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:GetCurrentRate
+Internet:UpdateValue
+Internet:StringToDate
+Internet:UpdateChart
+Internet:CalculateChartafterSplit
+Lang_de
+Lang_de:LoadGermanLanguage
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+tools
+tools:RemoveSheet
+tools:InitializeStatusLine
+tools:MakeRangeVisible
+tools:GetRowIndex
+tools:GetTransactionCount
+tools:GetStocksCount
+tools:FillListbox
+tools:CellValuetoControl
+tools:RemoveStockRows
+tools:AddValueToCellContent
+tools:CheckInputDate
+tools:InsertCurrentValue
+tools:SplitCellValue
+tools:GetStockRowIndex
+tools:GetStockID
+tools:CheckDocLocale
+Euro
+AutoPilotRun
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:InitializeDocument
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:ToggleProgressStep
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:AssignFileName
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:CallFilePicker
+AutoPilotRun:PreviousStep
+Common
+Common:RetrieveDocumentObjects
+Common:CancelTask
+Common:ConvertDocument
+Common:SwitchNumberFormat
+Common:Numberformat
+Common:CheckFormatType
+Common:StartConversion
+Common:IncreaseStatusValue
+Common:SelectCurrency
+Common:FillUpCurrencyListbox
+Common:InitializeProgressbar
+Common:EndStatusLine
+ConvertRun
+ConvertRun:Main
+ConvertRun:SelectListItem
+ConvertRun:RetrieveEnableValue
+ConvertRun:EnableStep1DialogControls
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:GetPreSelectedRange
+ConvertRun:AddRangeToListbox
+ConvertRun:CheckRangeSelection
+ConvertRun:FieldinList
+ConvertRun:CheckLocale
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+Hard
+Hard:CreateRangeList
+Hard:CreateRangeEnumeration
+Hard:AddSheetRanges
+Hard:SelectRange
+Hard:ConvertThehardWay
+Hard:ConvertCellCurrencies
+Hard:ModifyObjectValuewithCurrFactor
+Hard:CheckIfRangeisCurrency
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Init
+Init:InitializeResources
+Init:InitializeLanguages
+Init:InitializeCurrencies
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencyValues
+Init:InitializeLocales
+Protect
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheet
+Protect:UnprotectSheetWithDialog
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Soft
+Soft:CreateStyleEnumeration
+Soft:MakeStyleEnumeration
+Soft:AssignRangestoStyle
+Soft:AssignCellFormatRanges
+Soft:DeselectStyle
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveSheetoutofRangeName
+Soft:RetrieveRangeoutofRangeName
+Soft:ConvertTheSoftWay
+Soft:GetAssignedRanges
+Writer
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Writer:ConvertTextFields
+FormWizard
+DBMeta
+DBMeta:GetDatabaseNames
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetConnection
+DBMeta:GetDBMetaData
+DBMeta:GetTableMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:CreateDBForm
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:CreateCommandTypeList
+DBMeta:GetCurrentMetaValues
+DBMeta:AssignFieldLength
+develop
+develop:PositionControls
+develop:ResetPosSizes
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:InitializePosSizes
+develop:InsertTextControl
+develop:InsertDBControl
+develop:InsertTimeStampShape
+develop:GetLabelDiffHeight
+develop:CheckJustifiedPosition
+develop:GetCorrWidth
+develop:AdjustLineWidth
+develop:CheckOuterPoints
+develop:PositionGridControl
+develop:SetupGridColumn
+develop:ControlCaptionstoStandardLayout
+develop:GroupShapesTogether
+FormWizard
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:FormGetFields
+FormWizard:FillUpFieldsListbox
+FormWizard:PreviousStep
+FormWizard:NextStep
+FormWizard:InitializeLayoutSettings
+FormWizard:ToggleDatabasePage
+FormWizard:CommitLastDocumentChanges
+FormWizard:StoreFormInDatabase
+FormWizard:StoreForm
+FormWizard:EmptyFieldsListboxes
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:DeleteFirstListboxEntry
+Language
+Language:LoadLanguage
+Language:SetDialogLanguage
+Language:InitializeWidthList
+Layouter
+Layouter:InsertControl
+Layouter:ArrangeControls
+Layouter:OpenFormDocument
+Layouter:InitializeLabelValues
+Layouter:ConfigurePageStyle
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ChangeArrangemode
+Layouter:ToggleBorderGroup
+Layouter:ToggleAlignGroup
+Layouter:ToggleLayoutPage
+Layouter:DestroyControlShapes
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:SwitchAlignMode
+tools
+tools:SetProgressValue
+tools:GetPreferredWidth
+tools:GetPreferredHeight
+tools:GetPeerSize
+tools:TwipToCM
+tools:TwipTo100telMM
+tools:TwipToPixel
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:GetPoint
+tools:GetSize
+tools:ImportStyles
+tools:SetNumerics
+tools:RemoveShapes
+tools:RemoveNirwanaShapes
+tools:ShapesToNirwana
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFormWizardPaths
+tools:GetFilterName
+Gimmicks
+AutoText
+AutoText:Main
+AutoText:InsertStringToCell
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+GetTexts
+GetTexts:Main
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetAnnotations
+GetTexts:GetNamedRanges
+GetTexts:GetCalcGraphicNames
+GetTexts:GetParagraphTexts
+GetTexts:GetChartStrings
+GetTexts:GetFrameTexts
+GetTexts:GetTextFieldStrings
+GetTexts:GetLinkedFileNames
+GetTexts:GetSectionNames
+GetTexts:GetWriterStrings
+GetTexts:GetDrawPageTitles
+GetTexts:GetPageStrings
+GetTexts:GetDrawStrings
+GetTexts:GetDocumentProps
+GetTexts:GetHyperlinks
+GetTexts:GetGraphicNames
+GetTexts:GetStyles
+GetTexts:GetControlStrings
+GetTexts:GetControlContent
+GetTexts:WriteStringtoLogFile
+GetTexts:MakeLogHeadLine
+ReadDir
+ReadDir:Main
+ReadDir:TreeInfo
+ReadDir:CreateTextShape
+ReadDir:CalculateXPoint
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:ReadSourceDirectory
+ReadDir:CloseDialog
+ReadDir:AdjustPageHeight
+ReadDir:SetNewLevels
+ReadDir:CheckPageWidth
+ReadDir:ToggleDialogControls
+Userfields
+Userfields:StartChangesUserfields
+Userfields:FillDialog
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:StopMacro
+Userfields:SaveSettings
+Userfields:ToggleButtons
+Userfields:InitializeUserFamily
+Userfields:AddRecord
+Userfields:FillupTextFields
+Userfields:StepToRecord
+Userfields:SelectCurrentFields
+Userfields:DeleteCurrentSettings
+ImportWizard
+API
+API:OpenRegKey
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:QueryValueEx
+API:QueryValue
+DialogModul
+DialogModul:FillStep_Welcome
+DialogModul:FillStep_InputPaths
+DialogModul:FillUpApplicationList
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:AssignPathToCurrentApplication
+DialogModul:SaveStep_InputPath
+DialogModul:ToggleInputPaths
+DialogModul:MakeSummaryString
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Progress
+DialogModul:GetFilterTracingLogPath
+DialogModul:CheckMSImportAvailability
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckTextBoxPath
+DialogModul:InitializeProgressPage
+DialogModul:SetProgressDisplay
+DialogModul:TakoverFolderName
+DialogModul:FinalizeDialogButtons
+FilesModul
+FilesModul:ReadCollectionPaths
+FilesModul:GetApplicationIndex
+FilesModul:InterruptProcess
+FilesModul:AddCollectionPath
+FilesModul:SetExtension
+FilesModul:AddFilterNameToPathItem
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CollectPaths
+FilesModul:ConvertAllDocuments
+FilesModul:AddListtoFilesList
+FilesModul:GetTargetTemplatePath
+FilesModul:GetFilterName
+FilesModul:SearchArrayforPartString
+FilesModul:CreateLogTable
+FilesModul:GetSize
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:CreateLogDocument
+FilesModul:GetFilterTracingLogPath
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertCommentToLogCell
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckPassWordProtection
+FilesModul:OpenLogDocument
+FilesModul:MergeRange
+FilesModul:ConcatComment
+Language
+Language:LoadLanguage
+Language:GetApplResourceArray
+Main
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:CancelTask
+Main:TemplateDirSearchDialog
+Main:RepaintHeaderPreview
+Main:CheckModuleInstallation
+Main:CheckInstalledModule
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+Main:TakeOverPathSettings
+Main:GetImportWizardPaths
+Schedule
+BankHoliday
+BankHoliday:Main
+BankHoliday:CalEasterTable
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:AddFollowUpHolidays
+CalendarMain
+CalendarMain:CalAutopilotTable
+CalendarMain:SetupNumberFormatter
+CalendarMain:AddNumberFormat
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CreateTable
+CreateTable:CalCreateYearTable
+CreateTable:CalCreateMonthTable
+CreateTable:FormatCalCells
+DlgControl
+DlgControl:Main
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalMouseMoved
+DlgControl:SelectState
+DlgControl:MouseLeavesImage
+DlgControl:CalClearInputMask
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:ToggleInsertButton
+DlgControl:CalUpdateNewEventFrame
+GermanHolidays
+GermanHolidays:Main
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+Language
+Language:LoadLanguage
+LocalHolidays
+LocalHolidays:Main
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateJapaneseAutumnDay
+OwnEvents
+OwnEvents:Main
+OwnEvents:CalSaveOwnData
+OwnEvents:CalLoadOwnData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalcmdInsertData
+OwnEvents:GetSelectedDateUnits
+OwnEvents:GetDateUnits
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CheckInsertedDates
+OwnEvents:GetOwnMonth
+ScriptBindingLibrary
+Template
+Autotext
+Autotext:Main
+Autotext:CreateUserDatafield
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Correspondence
+Correspondence:Main
+Correspondence:Placeholder
+Correspondence:Database
+Correspondence:LoadLanguageCorrespondence
+Correspondence:GetFieldName
+Correspondence:OK
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+ModuleAgenda
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+ModuleAgenda:FinishAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:GetOptionValues
+Samples
+Samples:PrepareForEditing
+Samples:ShowStyles
+Samples:SelectStyle
+Samples:SaveCurrentStyles
+Samples:RestoreCurrentStyles
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Tools
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:SetBasicReadOnlyFlag
+Debug:WritedbgInfo
+Debug:WriteDbgString
+Debug:printdbgInfo
+Debug:ShowArray
+Debug:ShowPropertyValues
+Debug:ShowNameValuePair
+Debug:ShowElementNames
+Debug:ShowSupportedServiceNames
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ProtectCurrentSheets
+Debug:FillDocument
+Listbox
+Listbox:MergeList
+Listbox:RemoveListItems
+Listbox:InitializeListboxProcedures
+Listbox:CopyListboxItems
+Listbox:FormMoveSelected
+Listbox:FormMoveAll
+Listbox:FormRemoveSelected
+Listbox:FormRemoveAll
+Listbox:MoveSelectedListBox
+Listbox:MoveOrderedSelectedListbox
+Listbox:RemoveSelected
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Listbox:FormSetMoveRights
+Listbox:AddSingleItemToListbox
+Listbox:EmptyListbox
+Listbox:SelectListboxItem
+Listbox:GetSelectedListboxItems
+Listbox:RemoveListboxItemByName
+Listbox:GetItemPos
+Misc
+Misc:Main
+Misc:RegisterNewDataSource
+Misc:ConnecttoDatabase
+Misc:GetStarOfficeLocale
+Misc:GetRegistryKeyContent
+Misc:GetProductname
+Misc:OpenDocument
+Misc:TaskonDesktop
+Misc:RetrieveFileName
+Misc:GetPathSettings
+Misc:GetOfficeSubPath
+Misc:ShowNoOfficePathError
+Misc:InitResources
+Misc:GetResText
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:ChangeValueofRange
+Misc:ReplaceRangeValues
+Misc:GetValueofCellbyName
+Misc:DuplicateRow
+Misc:GetStringofCellbyName
+Misc:GetCellByName
+Misc:ChangeCellValue
+Misc:GetDocumentType
+Misc:GetNumberFormatType
+Misc:ProtectSheets
+Misc:UnprotectSheets
+Misc:GetRowIndex
+Misc:GetColumnIndex
+Misc:CopySheetbyName
+Misc:ToggleWindow
+Misc:CheckNewSheetname
+Misc:AddNewSheetName
+Misc:GetSheetIndex
+Misc:GetLastUsedRow
+Misc:ModifyBorderLineWidth
+Misc:AttachBasicMacroToEvent
+Misc:ModifyPropertyValue
+Misc:GetPropertyValueIndex
+Misc:DispatchSlot
+Misc:IsFatOffice
+Misc:GetLocale
+Misc:ToggleDesignMode
+Misc:isHighContrast
+Misc:CreateNewDocument
+Misc:DisposeDocument
+Misc:CalIsLeapYear
+ModuleControls
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:GetOptionGroupValue
+ModuleControls:WriteOptValueToCell
+ModuleControls:LoadDialog
+ModuleControls:GetFolderName
+ModuleControls:GetFileName
+ModuleControls:StoreDocument
+ModuleControls:AddFiltersToDialog
+ModuleControls:SwitchMousePointer
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+Strings
+Strings:ElimChar
+Strings:DeleteStr
+Strings:FindPartString
+Strings:PartStringInArray
+Strings:RTrimStr
+Strings:LTRimChar
+Strings:ArrayOutOfString
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:FieldinArray
+Strings:FieldinList
+Strings:IndexinArray
+Strings:MultiArrayInListbox
+Strings:StringInMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetIndexForPartStringinMultiArray
+Strings:ArrayfromMultiArray
+Strings:ReplaceString
+Strings:FindSecondValue
+Strings:Power
+Strings:Round
+Strings:FileNameoutofPath
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:DirectoryNameoutofPath
+Strings:CountCharsinString
+Strings:BubbleSortList
+Strings:GetValueoutofList
+Strings:AddListtoList
+Strings:CheckDouble
+UCB
+UCB:Main
+UCB:ReadDirectories
+UCB:AddFoldertoList
+UCB:AddFileNameToList
+UCB:RetrieveDocTitle
+UCB:GetRealFileContent
+UCB:CopyRecursively
+UCB:ShowHelperDialog
+UCB:SaveDataToFile
+UCB:LoadDataFromFile
+UCB:CreateFolder
+Untitled 1
+Standard
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BeanShell.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BeanShell.txt
new file mode 100755
index 000000000000..141bebef85d5
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_BeanShell.txt
@@ -0,0 +1,14 @@
+My Macros
+Oracle Open Office Macros
+Capitalise
+capitalise.bsh
+HelloWorld
+helloworld.bsh
+Highlight
+ButtonPressHandler.bsh
+ShowDialog.bsh
+MemoryUsage
+memusage.bsh
+WordCount
+wordcount.bsh
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_JavaScript.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_JavaScript.txt
new file mode 100755
index 000000000000..09ea2fbc3203
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_JavaScript.txt
@@ -0,0 +1,10 @@
+My Macros
+Oracle Open Office Macros
+ExportSheetsToHTML
+exportsheetstohtml.js
+HelloWorld
+helloworld.js
+Highlight
+ButtonPressHandler.js
+ShowDialog.js
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_Python.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_Python.txt
new file mode 100755
index 000000000000..dfe18f127bef
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_Python.txt
@@ -0,0 +1,10 @@
+My Macros
+Oracle Open Office Macros
+Capitalise
+capitalisePython
+HelloWorld
+HelloWorldPython
+pythonSamples
+TableSample
+createTable
+Untitled 1
diff --git a/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_RunMacro.txt b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_RunMacro.txt
new file mode 100755
index 000000000000..6b6a9b2520a3
--- /dev/null
+++ b/testautomation/framework/required/input/scripts/Oracle-Open-Office_en-US_win_RunMacro.txt
@@ -0,0 +1,681 @@
+My Macros
+Standard
+Module1
+Module1:Main
+Oracle Open Office Macros
+Capitalise
+Capitalise:capitalise.bsh
+Capitalise:capitalisePython
+Depot
+Depot
+Depot:AddShortCuttoControl
+Depot:Buy
+Depot:CancelStockRate
+Depot:CancelTransaction
+Depot:CommitStockRate
+Depot:EnableTransactionControls
+Depot:HandleStocks
+Depot:Initialize
+Depot:InitializeStockRatesControls
+Depot:OpenStockRatePage
+Depot:Reset
+Depot:SelectStockname
+Depot:SelectStockNameForRates
+Depot:Sell
+Depot:SetupTransactionControls
+Depot:ToggleStockRateControls
+Depot:TransactionOk
+CommonLang
+CommonLang:CompleteMarketList
+CommonLang:InitializeStartUpModel
+CommonLang:LoadDepotDialogs
+CommonLang:LoadLanguage
+CommonLang:LocalizedCurrencies
+Currency
+Currency:CheckFormatType
+Currency:ChooseMarket
+Currency:CloseStartUpDialog
+Currency:ConvertStylesCurrencies
+Currency:DisposeDocument
+Currency:EnableGoOnButton
+Currency:Numberformat
+Currency:Startup
+Currency:SwitchNumberFormat
+Internet
+Internet:CalculateChartafterSplit
+Internet:CheckHistoryControls
+Internet:GetCurrentRate
+Internet:InsertCompanyHistory
+Internet:InternetUpdate
+Internet:StringToDate
+Internet:UpdateChart
+Internet:UpdateValue
+Lang_de
+Lang_de:LoadGermanLanguage
+tools
+tools:AddValueToCellContent
+tools:CellValuetoControl
+tools:CheckDocLocale
+tools:CheckInputDate
+tools:FillListbox
+tools:GetRowIndex
+tools:GetStockID
+tools:GetStockRowIndex
+tools:GetStocksCount
+tools:GetTransactionCount
+tools:InitializeStatusLine
+tools:InsertCurrentValue
+tools:MakeRangeVisible
+tools:RemoveSheet
+tools:RemoveStockRows
+tools:SplitCellValue
+Lang_en
+Lang_en:LoadEnglishLanguage
+Lang_fr
+Lang_fr:LoadFrenchLanguage
+Lang_it
+Lang_it:LoadItalianLanguage
+Lang_es
+Lang_es:LoadSpanishLanguage
+Lang_sv
+Lang_sv:LoadSwedishLanguage
+Lang_zh
+Lang_zh:LoadChineseSimpleLanguage
+Lang_tw
+Lang_tw:LoadChineseTradLanguage
+Lang_ko
+Lang_ko:LoadKoreanLanguage
+Lang_ja
+Lang_ja:LoadJapaneseLanguage
+Euro
+ConvertRun
+ConvertRun:AddRangeToListbox
+ConvertRun:AddSelectedRangeToSelRangesEnum
+ConvertRun:CheckLocale
+ConvertRun:CheckRangeSelection
+ConvertRun:ConvertRangesOrStylesOfDocument
+ConvertRun:ConvertWholeDocument
+ConvertRun:EmptySelection
+ConvertRun:EnableStep1DialogControls
+ConvertRun:FieldinList
+ConvertRun:GetPreSelectedRange
+ConvertRun:Main
+ConvertRun:RetrieveEnableValue
+ConvertRun:SelectListItem
+ConvertRun:SetOptionValuestoNull
+ConvertRun:SetStatusLineText
+AutoPilotRun
+AutoPilotRun:AssignFileName
+AutoPilotRun:CallFilePicker
+AutoPilotRun:CallFolderPicker
+AutoPilotRun:ChangeToNextProgressStep
+AutoPilotRun:ConvertDocuments
+AutoPilotRun:EnableStep2DialogControls
+AutoPilotRun:InitializeDocument
+AutoPilotRun:InitializeProgressPage
+AutoPilotRun:InitializeThirdStep
+AutoPilotRun:PreviousStep
+AutoPilotRun:StartAutoPilot
+AutoPilotRun:StoreDocument
+AutoPilotRun:SwapExtent
+AutoPilotRun:ToggleGoOnButton
+AutoPilotRun:ToggleProgressStep
+Hard
+Hard:AddSheetRanges
+Hard:CheckIfRangeisCurrency
+Hard:ConvertCellCurrencies
+Hard:ConvertThehardWay
+Hard:CountColumnsForRow
+Hard:CountRangeCells
+Hard:CreateRangeEnumeration
+Hard:CreateRangeList
+Hard:ModifyObjectValuewithCurrFactor
+Hard:SelectRange
+Soft
+Soft:AssignCellFormatRanges
+Soft:AssignRangestoStyle
+Soft:ConvertTheSoftWay
+Soft:CreateStyleEnumeration
+Soft:DeselectStyle
+Soft:GetAssignedRanges
+Soft:MakeStyleEnumeration
+Soft:RetrieveRangeNamefromAddress
+Soft:RetrieveRangeoutofRangeName
+Soft:RetrieveSheetoutofRangeName
+Init
+Init:InitializeControls
+Init:InitializeConverter
+Init:InitializeCurrencies
+Init:InitializeCurrencyValues
+Init:InitializeLanguages
+Init:InitializeLocales
+Init:InitializeResources
+Common
+Common:CancelTask
+Common:CheckFormatType
+Common:ConvertDocument
+Common:EndStatusLine
+Common:FillUpCurrencyListbox
+Common:IncreaseStatusValue
+Common:InitializeProgressbar
+Common:Numberformat
+Common:RetrieveDocumentObjects
+Common:SelectCurrency
+Common:StartConversion
+Common:SwitchNumberFormat
+Writer
+Writer:ConvertTextFields
+Writer:ConvertWriterTables
+Writer:ModifyObjectValuewithCurrFactor
+Protect
+Protect:AddSheettoUnprotectionlist
+Protect:CheckSheetProtection
+Protect:ExecutePasswordDialog
+Protect:ReadPassword
+Protect:RejectPassword
+Protect:ReprotectSheets
+Protect:UnprotectSheet
+Protect:UnprotectSheetsWithPassWord
+Protect:UnprotectSheetWithDialog
+ExportSheetsToHTML
+ExportSheetsToHTML:exportsheetstohtml.js
+FormWizard
+FormWizard
+FormWizard:CommitLastDocumentChanges
+FormWizard:DeleteFirstListboxEntry
+FormWizard:DeleteFirstTableListBoxEntry
+FormWizard:EmptyFieldsListboxes
+FormWizard:FillUpFieldsListbox
+FormWizard:FormGetFields
+FormWizard:InitializeLayoutSettings
+FormWizard:Main
+FormWizard:MainWithDefault
+FormWizard:NextStep
+FormWizard:PreviousStep
+FormWizard:StoreForm
+FormWizard:StoreFormInDatabase
+FormWizard:ToggleDatabasePage
+Layouter
+Layouter:ArrangeControls
+Layouter:ChangeArrangemode
+Layouter:ChangeBorderLayouts
+Layouter:ChangeLabelAlignments
+Layouter:ConfigurePageStyle
+Layouter:DestroyControlShapes
+Layouter:InitializeLabelValues
+Layouter:InsertControl
+Layouter:OpenFormDocument
+Layouter:SwitchAlignMode
+Layouter:SwitchArrangementButtons
+Layouter:SwitchBorderMode
+Layouter:ToggleAlignGroup
+Layouter:ToggleBorderGroup
+Layouter:ToggleLayoutPage
+Language
+Language:InitializeWidthList
+Language:LoadLanguage
+Language:SetDialogLanguage
+DBMeta
+DBMeta:AddOrRemoveBinaryFieldsToWidthList
+DBMeta:AssignFieldLength
+DBMeta:CreateCommandTypeList
+DBMeta:CreateDBForm
+DBMeta:GetConnection
+DBMeta:GetCurrentMetaValues
+DBMeta:GetDatabaseNames
+DBMeta:GetDBMetaData
+DBMeta:GetSelectedDBMetaData
+DBMeta:GetSpecificFieldNames
+DBMeta:GetTableMetaData
+tools
+tools:CalcUniqueContentName
+tools:CountItemsInArray
+tools:GetDBHeight
+tools:GetFilterName
+tools:GetFormWizardPaths
+tools:GetPeerSize
+tools:GetPoint
+tools:GetPreferredHeight
+tools:GetPreferredWidth
+tools:GetSize
+tools:ImportStyles
+tools:PixelTo100thMMX
+tools:PixelTo100thMMY
+tools:RemoveNirwanaShapes
+tools:RemoveShapes
+tools:SetNumerics
+tools:SetProgressValue
+tools:ShapesToNirwana
+tools:TwipTo100telMM
+tools:TwipToCM
+tools:TwipToPixel
+develop
+develop:AdjustLineWidth
+develop:CheckJustifiedPosition
+develop:CheckOuterPoints
+develop:ControlCaptionstoStandardLayout
+develop:GetCorrWidth
+develop:GetLabelDiffHeight
+develop:GroupShapesTogether
+develop:InitializePosSizes
+develop:InsertDBControl
+develop:InsertTextControl
+develop:InsertTimeStampShape
+develop:PositionControls
+develop:PositionGridControl
+develop:RepositionColumnarLeftControls
+develop:ResetDBShape
+develop:ResetPosSizes
+develop:SetupGridColumn
+Gimmicks
+GetTexts
+GetTexts:GetAnnotations
+GetTexts:GetCalcGraphicNames
+GetTexts:GetCalcStrings
+GetTexts:GetCellTexts
+GetTexts:GetChartStrings
+GetTexts:GetControlContent
+GetTexts:GetControlStrings
+GetTexts:GetDocumentProps
+GetTexts:GetDrawPageTitles
+GetTexts:GetDrawStrings
+GetTexts:GetFrameTexts
+GetTexts:GetGraphicNames
+GetTexts:GetHyperlinks
+GetTexts:GetLinkedFileNames
+GetTexts:GetNamedRanges
+GetTexts:GetPageStrings
+GetTexts:GetParagraphTexts
+GetTexts:GetSectionNames
+GetTexts:GetStyles
+GetTexts:GetTextFieldStrings
+GetTexts:GetWriterStrings
+GetTexts:Main
+GetTexts:MakeLogHeadLine
+GetTexts:WriteStringtoLogFile
+Userfields
+Userfields:AddRecord
+Userfields:DeleteCurrentSettings
+Userfields:FillDialog
+Userfields:FillupTextFields
+Userfields:InitializeUserFamily
+Userfields:SaveSettings
+Userfields:ScrollControls
+Userfields:ScrollTextFieldInfo
+Userfields:SelectCurrentFields
+Userfields:StartChangesUserfields
+Userfields:StepToRecord
+Userfields:StopMacro
+Userfields:ToggleButtons
+ChangeAllChars
+ChangeAllChars:ChangeAllChars
+ChangeAllChars:ReplaceAllStrings
+ChangeAllChars:ReplaceStrings
+AutoText
+AutoText:InsertStringToCell
+AutoText:Main
+ReadDir
+ReadDir:AdjustPageHeight
+ReadDir:CalculateXPoint
+ReadDir:CheckPageWidth
+ReadDir:CloseDialog
+ReadDir:CreateTextShape
+ReadDir:DrawLine
+ReadDir:GetSourceDirectory
+ReadDir:Main
+ReadDir:ReadSourceDirectory
+ReadDir:SetNewLevels
+ReadDir:ToggleDialogControls
+ReadDir:TreeInfo
+HelloWorld
+HelloWorld:helloworld.bsh
+HelloWorld:helloworld.js
+HelloWorld:HelloWorld.printHW
+HelloWorld:HelloWorldPython
+Highlight
+Highlight:ButtonPressHandler.bsh
+Highlight:ButtonPressHandler.js
+Highlight:HighlightText.showForm
+Highlight:ShowDialog.bsh
+Highlight:ShowDialog.js
+ImportWizard
+Main
+Main:CancelTask
+Main:CheckInstalledModule
+Main:CheckModuleInstallation
+Main:GetImportWizardPaths
+Main:Main
+Main:NextStep
+Main:PrevStep
+Main:RepaintHeaderPreview
+Main:TakeOverPathSettings
+Main:TemplateDirSearchDialog
+Main:ToggleCheckboxes
+Main:ToggleCheckboxesWithBoolean
+Main:ToggleNextButton
+DialogModul
+DialogModul:AssignPathToCurrentApplication
+DialogModul:CheckControlPath
+DialogModul:CheckInputPaths
+DialogModul:CheckMSImportAvailability
+DialogModul:CheckTextBoxPath
+DialogModul:FillStep_InputPaths
+DialogModul:FillStep_Progress
+DialogModul:FillStep_Summary
+DialogModul:FillStep_Welcome
+DialogModul:FillUpApplicationList
+DialogModul:FinalizeDialogButtons
+DialogModul:GetFilterTracingLogPath
+DialogModul:InitializePathsforCurrentApplication
+DialogModul:InitializeProgressPage
+DialogModul:MakeSummaryString
+DialogModul:SaveStep_InputPath
+DialogModul:SetProgressDisplay
+DialogModul:SetupMSConfiguration
+DialogModul:SetupXMLConfiguration
+DialogModul:TakoverFolderName
+DialogModul:ToggleInputPaths
+Language
+Language:GetApplResourceArray
+Language:LoadLanguage
+FilesModul
+FilesModul:AddCollectionPath
+FilesModul:AddFilterNameToPathItem
+FilesModul:AddListtoFilesList
+FilesModul:AddLogStatistics
+FilesModul:CheckIfMacroExists
+FilesModul:CheckIfToAddPathToCollection
+FilesModul:CheckPassWordProtection
+FilesModul:CollectPaths
+FilesModul:ConcatComment
+FilesModul:ConvertAllDocuments
+FilesModul:CreateLogDocument
+FilesModul:CreateLogTable
+FilesModul:GetApplicationIndex
+FilesModul:GetFilterName
+FilesModul:GetFilterTracingLogPath
+FilesModul:GetSize
+FilesModul:GetTargetTemplatePath
+FilesModul:InsertCommandButtonatViewCursor
+FilesModul:InsertCommentToLogCell
+FilesModul:InsertHyperLinkToLogCell
+FilesModul:InsertSourceUrlToLogDocument
+FilesModul:InsertTargetUrlToLogDocument
+FilesModul:InterruptProcess
+FilesModul:MergeRange
+FilesModul:OpenLogDocument
+FilesModul:ReadCollectionPaths
+FilesModul:SearchArrayforPartString
+FilesModul:SetExtension
+API
+API:GetDefaultPath
+API:GetTemplateDefaultPath
+API:OpenRegKey
+API:QueryValue
+API:QueryValueEx
+MemoryUsage
+MemoryUsage:MemoryUsage.updateMemoryUsage
+MemoryUsage:memusage.bsh
+Schedule
+OwnEvents
+OwnEvents:CalcmdInsertData
+OwnEvents:CalCreateDateStrOfInput
+OwnEvents:CalGetNameOfEvent
+OwnEvents:CalLoadOwnData
+OwnEvents:CalSaveOwnData
+OwnEvents:CheckInsertedDates
+OwnEvents:GetDateUnits
+OwnEvents:GetOwnMonth
+OwnEvents:GetSelectedDateUnits
+OwnEvents:Main
+CalendarMain
+CalendarMain:AddNumberFormat
+CalendarMain:CalAutopilotTable
+CalendarMain:CalChooseCalendar
+CalendarMain:CalcmdCancel
+CalendarMain:CalcmdOk
+CalendarMain:SetupNumberFormatter
+BankHoliday
+BankHoliday:AddFollowUpHolidays
+BankHoliday:CalEasterTable
+BankHoliday:CalGetIntOfShortMonthName
+BankHoliday:CalInitGlobalVariablesDate
+BankHoliday:CalInsertBankholiday
+BankHoliday:CalInsertOwnDataInTables
+BankHoliday:CalMaxDayInMonth
+BankHoliday:CalOrthodoxEasterTable
+BankHoliday:GetMonthDate
+BankHoliday:GetNextWeekDay
+BankHoliday:Main
+DlgControl
+DlgControl:CalClearInputMask
+DlgControl:CalcmdDeleteSelect
+DlgControl:CalmdSwitchOwnDataOrGeneral
+DlgControl:CalMouseMoved
+DlgControl:CalSaveOwnEventControls
+DlgControl:CalUpdateNewEventFrame
+DlgControl:Main
+DlgControl:MouseLeavesImage
+DlgControl:SelectState
+DlgControl:ToggleInsertButton
+Language
+Language:LoadLanguage
+CreateTable
+CreateTable:CalCreateMonthTable
+CreateTable:CalCreateYearTable
+CreateTable:FormatCalCells
+GermanHolidays
+GermanHolidays:CalFindWholeYearHolidays_GERMANY
+GermanHolidays:CalGetGermanLandAtMousePos
+GermanHolidays:Main
+LocalHolidays
+LocalHolidays:CalculateChineseNewYear
+LocalHolidays:CalculateJapaneseAutumnDay
+LocalHolidays:CalculateJapaneseSpringDay
+LocalHolidays:CalculateturkishReligousHolidays
+LocalHolidays:FindWholeYearHolidays_CN
+LocalHolidays:FindWholeYearHolidays_DK
+LocalHolidays:FindWholeYearHolidays_FI
+LocalHolidays:FindWholeYearHolidays_FRANCE
+LocalHolidays:FindWholeYearHolidays_GREEK
+LocalHolidays:FindWholeYearHolidays_ITA
+LocalHolidays:FindWholeYearHolidays_JP
+LocalHolidays:FindWholeYearHolidays_NL
+LocalHolidays:FindWholeYearHolidays_PL
+LocalHolidays:FindWholeYearHolidays_PORT
+LocalHolidays:FindWholeYearHolidays_RU
+LocalHolidays:FindWholeYearHolidays_SPAIN
+LocalHolidays:FindWholeYearHolidays_SWED
+LocalHolidays:FindWholeYearHolidays_TRK
+LocalHolidays:FindWholeYearHolidays_TW
+LocalHolidays:FindWholeYearHolidays_US
+LocalHolidays:Main
+ScriptBindingLibrary
+Template
+ModuleAgenda
+ModuleAgenda:CreateBookMarkCursor
+ModuleAgenda:DeleteButtons
+ModuleAgenda:FinishAgenda
+ModuleAgenda:GetOptionValues
+ModuleAgenda:Initialize
+ModuleAgenda:LoadLanguageAgenda
+ModuleAgenda:ModifyTemplate
+ModuleAgenda:NewTopic
+Correspondence
+Correspondence:Database
+Correspondence:GetFieldName
+Correspondence:InsertDBField
+Correspondence:InsertPlaceholder
+Correspondence:LoadLanguageCorrespondence
+Correspondence:Main
+Correspondence:OK
+Correspondence:Placeholder
+Samples
+Samples:CloseStyleDialog
+Samples:KillTempFile
+Samples:PrepareForEditing
+Samples:RestoreCurrentStyles
+Samples:SaveCurrentStyles
+Samples:SelectStyle
+Samples:ShowStyles
+Autotext
+Autotext:CreateBullet
+Autotext:CreatePlaceholder
+Autotext:CreateUserDatafield
+Autotext:Main
+Tools
+ModuleControls
+ModuleControls:AddFiltersToDialog
+ModuleControls:DisposeControl
+ModuleControls:GetControlGroupModel
+ModuleControls:getControlModel
+ModuleControls:GetControlShape
+ModuleControls:getControlView
+ModuleControls:GetFileName
+ModuleControls:GetFolderName
+ModuleControls:GetOptionGroupValue
+ModuleControls:GetRefValue
+ModuleControls:GetRefValueOfControlGroup
+ModuleControls:LoadDialog
+ModuleControls:SetOVERWRITEToAlways
+ModuleControls:SetOVERWRITEToNever
+ModuleControls:SetOVERWRITEToQuery
+ModuleControls:ShowOverwriteAllDialog
+ModuleControls:StoreDocument
+ModuleControls:SwitchMousePointer
+ModuleControls:WriteOptValueToCell
+Strings
+Strings:AddListtoList
+Strings:ArrayfromMultiArray
+Strings:ArrayOutOfString
+Strings:BubbleSortList
+Strings:CheckDouble
+Strings:ClearArray
+Strings:ClearMultiDimArray
+Strings:CountCharsinString
+Strings:DeleteStr
+Strings:DirectoryNameoutofPath
+Strings:ElimChar
+Strings:FieldinArray
+Strings:FieldinList
+Strings:FileNameoutofPath
+Strings:FindPartString
+Strings:FindSecondValue
+Strings:GetFileNameExtension
+Strings:GetFileNameWithoutExtension
+Strings:GetIndexForPartStringinMultiArray
+Strings:GetIndexInMultiArray
+Strings:GetValueoutofList
+Strings:IndexinArray
+Strings:LTRimChar
+Strings:MultiArrayInListbox
+Strings:PartStringInArray
+Strings:Power
+Strings:ReplaceString
+Strings:Round
+Strings:RTrimStr
+Strings:StringInMultiArray
+Misc
+Misc:AddNewSheetName
+Misc:AttachBasicMacroToEvent
+Misc:CalIsLeapYear
+Misc:ChangeCellValue
+Misc:ChangeValueofRange
+Misc:CheckNewSheetname
+Misc:ConnecttoDatabase
+Misc:CopySheetbyName
+Misc:CreateNewDocument
+Misc:CutPathView
+Misc:DeleteInputCells
+Misc:DispatchSlot
+Misc:DisposeDocument
+Misc:DuplicateRow
+Misc:GetCellByName
+Misc:GetColumnIndex
+Misc:GetDocumentType
+Misc:GetLastUsedRow
+Misc:GetLocale
+Misc:GetNumberFormatType
+Misc:GetOfficeSubPath
+Misc:GetPathSettings
+Misc:GetProductname
+Misc:GetPropertyValueIndex
+Misc:GetRegistryKeyContent
+Misc:GetResText
+Misc:GetRowIndex
+Misc:GetSheetIndex
+Misc:GetStarOfficeLocale
+Misc:GetStringofCellbyName
+Misc:GetValueofCellbyName
+Misc:InitResources
+Misc:IsFatOffice
+Misc:isHighContrast
+Misc:Main
+Misc:ModifyBorderLineWidth
+Misc:ModifyPropertyValue
+Misc:OpenDocument
+Misc:ProtectSheets
+Misc:RegisterNewDataSource
+Misc:ReplaceRangeValues
+Misc:RetrieveFileName
+Misc:ShowNoOfficePathError
+Misc:TaskonDesktop
+Misc:ToggleDesignMode
+Misc:ToggleWindow
+Misc:UnprotectSheets
+UCB
+UCB:AddFileNameToList
+UCB:AddFoldertoList
+UCB:CopyRecursively
+UCB:CreateFolder
+UCB:GetRealFileContent
+UCB:LoadDataFromFile
+UCB:Main
+UCB:ReadDirectories
+UCB:RetrieveDocTitle
+UCB:SaveDataToFile
+UCB:ShowHelperDialog
+Listbox
+Listbox:AddSingleItemToListbox
+Listbox:CopyListboxItems
+Listbox:EmptyListbox
+Listbox:FormMoveAll
+Listbox:FormMoveSelected
+Listbox:FormRemoveAll
+Listbox:FormRemoveSelected
+Listbox:FormSetMoveRights
+Listbox:GetItemPos
+Listbox:GetSelectedListboxItems
+Listbox:InitializeListboxProcedures
+Listbox:MergeList
+Listbox:MoveOrderedSelectedListbox
+Listbox:MoveSelectedListBox
+Listbox:RemoveListboxItemByName
+Listbox:RemoveListItems
+Listbox:RemoveSelected
+Listbox:SelectListboxItem
+Listbox:SetNewSelection
+Listbox:ToggleListboxControls
+Debug
+Debug:ActivateReadOnlyFlag
+Debug:DeactivateReadOnlyFlag
+Debug:FillDocument
+Debug:printdbgInfo
+Debug:ProtectCurrentSheets
+Debug:SetBasicReadOnlyFlag
+Debug:ShowArray
+Debug:ShowAvailableServiceNames
+Debug:ShowCommands
+Debug:ShowElementNames
+Debug:ShowNameValuePair
+Debug:ShowPropertyValues
+Debug:ShowSupportedServiceNames
+Debug:WritedbgInfo
+Debug:WriteDbgString
+WordCount
+WordCount:wordcount.bsh
+pythonSamples
+TableSample
+TableSample:createTable
+Untitled 1
+Standard
diff --git a/testautomation/framework/tools/includes/toolbar_tools.inc b/testautomation/framework/tools/includes/toolbar_tools.inc
index 63117227becc..66c6c27982d0 100755
--- a/testautomation/framework/tools/includes/toolbar_tools.inc
+++ b/testautomation/framework/tools/includes/toolbar_tools.inc
@@ -200,7 +200,8 @@ function hStandardbarItemGetCount() as integer
'///<ul>
dim iToolbarItemsCurrent as integer
- const EXPECTED_TOOLBAR_ITEMCOUNT = 30
+ const DEFAULT_TOOLBAR_ITEMCOUNT = 30
+ const WEBLOG_PUBLISHER = 2
const CFN = "hStandardbarItemGetCount::"
@@ -226,13 +227,14 @@ function hStandardbarItemGetCount() as integer
' violate Sun's patching policy. So StarSuite/StarOffice now have 30 or 31
' items on the standardbar, OOo and its spinoffs have 30.
-
- if ( iToolbarItemsCurrent = EXPECTED_TOOLBAR_ITEMCOUNT ) then
- printlog( CFN & "Correct number of items on the StandardBar. Good" )
- else
- warnlog( CFN & "Expected: " & EXPECTED_TOOLBAR_ITEMCOUNT & _
- " entries, found: " & iToolbarItemsCurrent )
- endif
+ select case ( iToolbarItemsCurrent )
+ case DEFAULT_TOOLBAR_ITEMCOUNT
+ printlog( CFN & "Default number of items found" )
+ case DEFAULT_TOOLBAR_ITEMCOUNT + WEBLOG_PUBLISHER
+ printlog( CFN & "Default icons + Weblog publisher icons found" )
+ case else
+ warnlog( CFN & "Number of icons is unexpected: " & iToolbarItemsCurrent )
+ end select
'///+<li>close the context menu</li>
hMenuClose()
diff --git a/testautomation/framework/tools/includes/wizards.inc b/testautomation/framework/tools/includes/wizards.inc
index 274d862a8520..380f84141d34 100755
--- a/testautomation/framework/tools/includes/wizards.inc
+++ b/testautomation/framework/tools/includes/wizards.inc
@@ -31,328 +31,6 @@
'*
'\******************************************************************************
-function hOpenWizardWithMenu( cType as string ) as integer
-
- const CFN = "hOpenWizardWithMenu::"
-
- '///<h3>Open a wizard via menu</h3>
- '///<i>Starting point: Any plain document</i><br>
- '///<i>Uses: framework/tools/input/menuentries.txt</i><br>
- '///<u>Input</u>:
- '///<ol>
- '///+<li>Name of Wizard (string). Known Wizards are:</li>
- '///<ul>
- '///+<li>&quot;LETTER&quot;</li>
- '///+<li>&quot;FAX&quot;</li>
- '///+<li>&quot;AGENDA&quot;</li>
- '///+<li>&quot;PRESENTATION&quot;</li>
- '///+<li>&quot;WEBPAGE&quot;</li>
- '///+<li>&quot;DOCCONV&quot;</li>
- '///+<li>&quot;EUROCONV&quot;</li>
- '///+<li>&quot;ADDRESS&quot;</li>
- '///+<li>&quot;MAILMERGE&quot;</li>
- '///</ul>
- '///</ol>
- '///<u>Returns</u>:
- '///<ol>
- '///+<li>Errorcode (integer)</li>
- '///<ul>
- '///+<li>0: The expected wizard is open</li>
- '///+<li>1: No wizard is open</li>
- '///+<li>2: The incorrect wizard is open</li>
- '///+<li>3: The requested wizard is unknown to this function</li>
- '///</ul>
- '///</ol>
- '///<u>Description</u>:
- '///<ul>
-
- dim iMainMenuPosition as integer ' position in the main menu
- dim iMenuPosition as integer ' the position of the menuentry
- dim iWizardMenuPosition as integer ' the position of the wizards menu
- dim iWizardID as integer ' a unique number to identify the wizard
- dim iWait as integer ' time of the wizard to open
- dim iOpen as integer ' identifier for the open dialog
- dim brc as boolean ' some multi purpose boolean returnvalue
-
- hOpenWizardWithMenu() = 0
-
- '///+<li>find out where in the menustructure the wizards are located</li>
- printlog( "Requested Wizard: " & cType )
- iWizardID = hGetWizardParams( cType , "ID" )
- iMainMenuPosition = hGetWizardParams( cType , "MAIN" )
- iMenuPosition = hGetWizardParams( cType , "SUB" )
- iWizardMenuPosition = 4 ' This is the "Wizards" menuentry below "File"
-
- try
- kontext "DocumentWriter"
- hUseMenu()
-
- '///+<li>Open the 'File' menu</li>
- printlog( CFN & "Open Menu at pos " & iMainMenuPosition )
- hMenuSelectNr( iMainMenuPosition )
- WaitSlot( 2000 )
-
- '///+<li>if we are in the filemenu the wizards are below a submenu</li>
- if ( iMainMenuPosition = 1 ) then
- printlog( CFN & "Select wizards-submenu at pos " & iWizardMenuPosition )
- hMenuSelectNr( iWizardMenuPosition )
- WaitSlot( 2000 )
- else
- printlog( CFN & "Wizard is not in File-Menu" )
- endif
-
- '///+<li>try to click the menuentry where we expect the wizard</li>
- printlog( CFN & "Select " & cType & " wizard at pos " & iMenuPosition )
- hMenuSelectNr( iMenuPosition )
- WaitSlot( 2000 )
- brc = true
- catch
- ' we end up here, when the menuitems could not be accessed
- printlog( CFN & "Error accessing menuentry for wizard" )
- hOpenWizardwithMenu() = 1
- brc = false
- endcatch
-
- if ( not brc ) then
- printlog( CFN & "Trying to open wizard using the slot" )
- select case iWizardId
- case 1 : FileAutopilotLetter
- case 2 : FileAutopilotFax
- case 3 : FileAutopilotAgenda
- case 4 : FileAutopilotPresentation
- end select
- endif
-
- '///+<li>wait for a wizard to open, iOpen is the number of the menuitem</li>
- iOpen = hWaitForWizard()
-
- '///+<li>Verify that the correct wizard is open. iOpen should match iMenuPosition</li>
- ' This works because the menu-positions are unique. BEWARE!
- if ( iOpen <> iWizardID ) then
-
- qaerrorlog( CFN & "Incorrect Wizard is open, did the menu-order change?" )
-
- hFinishWizard( 2 )
- hOpenWizardWithMenu() = 2
-
- else
-
- hOpenWizardWithMenu() = 0
-
- endif
- '///</ul>
-
-end function
-
-'*******************************************************************************
-
-function hFinishWizard( iMode as integer ) as boolean
-
- const CFN = "hFinishWizard::"
-
- '///<h3>Finish or cancel a wizard</h3>
- '///<i>Starting point: Any known wizard must be open</i><br>
- '///<i>If several wizards are open at the same time the outcome is undefined</i><br>
- '///<u>Input</u>:
- '///<ol>
- '///+<li>Closing method (integer). Valid options are:</li>
- '///<ul>
- '///+<li>1: Click Finish-Button</li>
- '///+<li>2: Click Cancel-Button</li>
- '///+<li>3: Use Accelerator for Finish-Button</li>
- '///</ul>
- '///</ol>
- '///<u>Returns</u>:
- '///<ol>
- '///+<li>Errorcode (boolean)</li>
- '///<ul>
- '///+<li>TRUE: If everything is ok</li>
- '///+<li>FALSE: On any error (including incorrect function parameters)</li>
- '///</ul>
- '///</ol>
- '///<u>Description</u>:
- '///<ul>
-
- '///+<li>Handle possible errors when invoking this function</li>
- if ( ( iMode < 1 ) or ( iMode > 3 ) ) then
- printlog( CFN & "Invalid iMode = " & iMode )
- hFinishWizard() = false
- exit function
- endif
-
- dim cAccel as string
- dim iWait as integer
- dim brc as boolean : brc = false
-
-
- '///+<li>Try to close the wizard</li>
- for iWait = 1 to 5
-
- Kontext "AutopilotLetter"
- if ( AutopilotLetter.exists() ) then
- select case iMode
- case 1 : hWaitForObject( FinishButton, 3000 ) : FinishButton.click()
- case 2 : AutopilotLetter.cancel()
- case 3 : cAccel = hGetAccel( "Finish_Wizard" )
- AutopilotLetter.typeKeys( cAccel )
- end select
- brc = true
- exit for
- endif
-
- Kontext "AutopilotFax"
- if ( AutopilotFax.exists() ) then
- select case iMode
- case 1 : hWaitForObject( FinishButton, 3000 ) : FinishButton.click()
- case 2 : AutopilotFax.cancel()
- case 3 : cAccel = hGetAccel( "Finish_Wizard" )
- AutopilotFax.typeKeys( cAccel )
- end select
- brc = true
- exit for
- endif
-
- Kontext "AutopilotAgenda"
- if ( AutopilotAgenda.exists() ) then
- select case iMode
- case 1 : hWaitForObject( createButton, 3000 ) : createButton.click()
- case 2 : hWaitForObject( cancelButton, 3000 ) : cancelButton.click()
- case 3 : cAccel = hGetAccel( "Finish_Wizard" )
- AutopilotAgenda.typeKeys( cAccel )
- end select
- brc = true
- exit for
- endif
-
- Kontext "MailMergeWizard"
- if ( MailMergeWizard.exists() ) then
- select case iMode
- case 1 : MailMergeWizard.OK()
- case 2 : MailMergeWizard.Cancel()
- case 3 : cAccel = hGetAccel( "Finish_Wizard" )
- MailMergeWizard.typeKeys( cAccel )
- end select
- brc = true
- exit for
- endif
-
- Kontext "AutopilotPraesentation3"
- if ( AutopilotPraesentation3.exists() ) then
- select case iMode
- case 1 : AutopilotPraesentation3.OK()
- case 2 : AutopilotPraesentation3.Cancel()
- case 3 : cAccel = hGetAccel( "Finish_Wizard" )
- AutopilotPraesentation3.typeKeys( cAccel )
- end select
- brc = true
- exit for
- endif
-
- Kontext "AutoPilotEuroKonverter"
- if ( AutoPilotEuroKonverter.exists() ) then
- select case iMode
- case 1 : hWaitForObject( Konvertieren, 3000 ) : Konvertieren.click()
- case 2 : hWaitForObject( abbrechen , 3000 ) : abbrechen.click()
- case 3 : cAccel = hGetAccel( "Finish_Wizard" )
- AutoPilotEuroKonverter.typeKeys( cAccel )
- end select
- brc = true
- exit for
- endif
-
- next iWait
-
- '///+<li>Verify that no wizard is open anymore</li>
- if ( brc ) then
- printlog( CFN & "Closed wizard" )
- hFinishWizard() = true
- else
- qaerrorlog( CFN & "No (known) wizard is present to be closed" )
- hFinishWizard() = false
- endif
- '///</ul>
-
-end function
-
-'*******************************************************************************
-
-function hGetWizardParams( cType as string, cParam as string ) as integer
-
- const CFN = "hGetWizardParams::"
-
- '///<h3>Retrieve the location of a wizard in the menu</h3>
- '///<i>Uses: framework/tools/input/menuentries.txt</i><br>
- '///<i>Refer to inline documentation for further information</i><br>
- '///<u>Input</u>:
- '///<ol>
- '///+<li>Name of Wizard (string). Valid options are:</li>
- '///<ul>
- '///+<li>&quot;LETTER&quot;</li>
- '///+<li>&quot;FAX&quot;</li>
- '///+<li>&quot;AGENDA&quot;</li>
- '///+<li>&quot;PRESENTATION&quot;</li>
- '///+<li>&quot;WEBPAGE&quot;</li>
- '///+<li>&quot;DOCCONV&quot;</li>
- '///+<li>&quot;EUROCONV&quot;</li>
- '///+<li>&quot;ADDRESS&quot;</li>
- '///+<li>&quot;MAILMERGE&quot;</li>
- '///</ul>
- '///+<li>Menu Position (string). Valid options are:</li>
- '///<ul>
- '///+<li>&quot;ID&quot; - This is a unique id for the wizard</li>
- '///+<li>&quot;MAIN&quot; - Main menu position (e.g. &quot;File&quot;</li>
- '///+<li>&quot;SUB&quot; - Position below main menu</li>
- '///</ul>
- '///</ol>
- '///<u>Returns</u>:
- '///<ol>
- '///+<li>Position of a menu entry (integer)</li>
- '///<ul>
- '///+<li>0: Invalid function parameter</li>
- '///+<li>1-n: Position of the item in the menu</li>
- '///</ul>
- '///</ol>
- '///<u>Description</u>:
- '///<ul>
-
- dim iParam as integer
-
- dim cInputArray( 200 ) as string
- dim iArraySize as integer
-
- dim cFile as string
- cFile = gTesttoolPath & "framework\tools\input\menuentries.txt"
- cFile = convertpath( cFile )
-
- '///+<li>Lowercase all function parameters</li>
- cType = ucase( cType )
- cParam = ucase( cParam )
-
- '///+<li>Read in the section containing the waizard parameters</li>
- '///+<li>Retrieve the requested value from the section</li>
- iArraySize = hGetDataFileSection( cFile , cInputArray() , ctype , "" , "" )
- if ( iArraySize = 3 ) then
-
- select case cParam
- case "ID"
- iParam = hGetValueForKeyAsInt( cInputArray() , "iWizardId" )
- case "MAIN"
- iParam = hGetValueForKeyAsInt( cInputArray() , "iMainMenuPosition" )
- case "SUB"
- iParam = hGetValueForKeyAsInt( cInputArray() , "iMenuPosition" )
- end select
-
- hGetWizardParams() = iParam
- else
- qaerrorlog( CFN & "hGetDataFileSection returned invalid data" )
- hGetWizardParams() = 0
- endif
- '///</ul>
-
-end function
-
-'*******************************************************************************
-
function hWaitForWizard() as integer
const CFN = "hWaitForWizard::"
diff --git a/testautomation/framework/tools/input/menuentries.txt b/testautomation/framework/tools/input/menuentries.txt
deleted file mode 100755
index e1517412bc26..000000000000
--- a/testautomation/framework/tools/input/menuentries.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-# This file contains the position of the menuentries for all
-# wizards ∧assigns them a unique number
-# iWizardId = Unique number
-# iMenuPosition = Position below the main menu entry
-# iMainMenuPosition = Position ∈main menu, e.g. "File"
-
-[LETTER]
-iWizardID=1
-iMenuPosition=1
-iMainMenuPosition=1
-
-[FAX]
-iWizardID=2
-iMenuPosition=2
-iMainMenuPosition=1
-
-[AGENDA]
-iWizardID=3
-iMenuPosition=3
-iMainMenuPosition=1
-
-[PRESENTATION]
-iWizardID=4
-iMenuPosition=4
-iMainMenuPosition=1
-
-[WEBPAGE]
-iWizardID=5
-iMenuPosition=5
-iMainMenuPosition=1
-
-[DOCCONV]
-iWizardID=6
-iMenuPosition=6
-iMainMenuPosition=1
-
-[EUROCONV]
-iWizardID=7
-iMenuPosition=7
-iMainMenuPosition=1
-
-[ADDRESS]
-iWizardID=8
-iMenuPosition=8
-iMainMenuPosition=1
-
-[MAILMERGE]
-iWizardID=11
-iMenuPosition=11
-iMainMenuPosition=7
diff --git a/testautomation/global/required/includes/g_findbar.inc b/testautomation/global/required/includes/g_findbar.inc
index 38af3edd28aa..dd8e9062b604 100644
--- a/testautomation/global/required/includes/g_findbar.inc
+++ b/testautomation/global/required/includes/g_findbar.inc
@@ -87,7 +87,7 @@ testcase tUpdtFindBar()
warnlog( "Messagebox missing <No matches found>" )
endif
- warnlog( "#i111984 - exclude <SearchDialog> button from testing" )
+ qaerrorlog( "#i111984 - exclude <SearchDialog> button from testing" )
goto skip_SearchDialog
printlog( "Search dialog button may not be visible by default" )
diff --git a/testautomation/global/sid/e_all.sid b/testautomation/global/sid/e_all.sid
index 866251e652ac..4c7800ba8676 100644
--- a/testautomation/global/sid/e_all.sid
+++ b/testautomation/global/sid/e_all.sid
@@ -20,6 +20,8 @@ FileAutopilotPresentation SID_SD_AUTOPILOT
FileAutopilotAddressDataSource SID_ADDRESS_DATA_SOURCE
FirstTimeWizard service:com.sun.star.comp.desktop.FirstStart?start
FileWizardsWebPage service:com.sun.star.wizards.web.CallWizard?start
+FileWizardDocumentConverter sym:vnd.sun.star.script:ImportWizard.Main.Main?language=Basic&location=application
+FileWizardEuroConverter sym:vnd.sun.star.script:Euro.AutoPilotRun.StartAutoPilot?language=Basic&location=application
FileCloseAndReturn SID_CLOSEDOC
FileSaveCopy SID_SAVEASDOC
FileClose .uno:CloseDoc
diff --git a/testautomation/global/tools/includes/optional/t_listfuncs.inc b/testautomation/global/tools/includes/optional/t_listfuncs.inc
index 8aefe8720939..c90d077db651 100755
--- a/testautomation/global/tools/includes/optional/t_listfuncs.inc
+++ b/testautomation/global/tools/includes/optional/t_listfuncs.inc
@@ -140,6 +140,9 @@ function hManageComparisionList( sFileIn as string, sFileOut as string, sListOut
'///<ul>
const CFN = "hManageComparisionList::"
+
+ ' maximum lines per file. Currently this limit is determined by the help
+ ' tests which have up to 22000 entries + reseve.
const FILESIZE = 25000
const COMPARE_SUCCESS = 0
const ENCODING_UTF8 = "UTF8"
@@ -148,39 +151,33 @@ function hManageComparisionList( sFileIn as string, sFileOut as string, sListOut
dim aReferenceList( FILESIZE ) as string
if ( GVERBOSE ) then printlog( CFN & "Reading: " & sFileIn )
- ' disabled hGetDataFileSection because some lists contain a #
- ' (hash) as value which is identified as comment by the function.
- ' Fixing this for hGetDataFileSection() would break compatibility
- ' to other functions both in framework and global module
- 'hgetDataFileSection( sFileIn , aReferenceList() , "" , "" , "" )
+
+ ' Do not use hGetDataFileSection() as strings in some lists may begin with a
+ ' "#" which is interpreted as a comment by hGetDataFileSection()
listread( aReferenceList(), sFileIn, ENCODING_UTF8 )
+
+ ' Word of caution: If the number of new items equals the number of removed items
+ ' this function returns 0 -> success. This case is highly unlikely to ever happen
+ ' unless someone renames scripts.
irc = hListCompare( sListOut() , aReferenceList() )
- ' A this point there are three possible states:
- ' a) the reference list does not exist
- ' b) the comparision failed
- ' c) the comparision succeeded
- ' only if hListCompare() returns 0 the testrun is successful.
- ' This means that on any error, the ref-list will be written so it can be
- ' directly reviewed/compared to the "faulty" list without having to run this
- ' test again (after deleting the ref-file)
'///+<li>In case the lists are not identical, write the new one to the local work directory</li>
if ( irc = COMPARE_SUCCESS ) then
printlog( CFN & "Comparision succeeded" )
hManageComparisionList() = COMPARE_SUCCESS
else
- if ( GVERBOSE ) then
- printlog( CFN & "The two compared lists differ. There are two likely reasons:" )
- printlog( CFN & "1) The reference file does not exist at all" )
- printlog( CFN & "2) Reference and actual UI-Content do not match." )
- printlog( CFN & "Verify and copy the file: " & sFileOut )
- printlog( CFN & "to this location........: " & sFileIn )
- endif
+ printlog( CFN & "The two compared lists differ. There are a number of possible reasons:" )
+ printlog( CFN & "- Installation requirements are not met (setup /a?, missing packages?)" )
+ printlog( CFN & "- Reference and actual UI-Content do not match: File an issue." )
+ printlog( CFN & "- The reference file does not exist: Follow steps below." )
+ printlog( CFN & "Verify and copy the file: " & sFileOut )
+ printlog( CFN & "to this location........: " & sFileIn )
+ printlog( CFN & "Check this file into the SCM or attach it to an issue" )
listwrite( sListOut(), sFileOut, ENCODING_UTF8 )
hManageComparisionList() = irc
endif
-
- '///+<li>Return 0 if the lists are identical, 1 if not and 2-4 on any other error</li>
+
+ '///+<li>Return number of differences between the lists</li>
'///</ul>
end function
@@ -266,7 +263,7 @@ function hListCompare( aListOne() as String, aListTwo() as String ) as integer
if ( ListCount( aTwoOnlyList() ) > 0 ) then
printlog( CFN & "Objects have been removed from the list" )
hListPrint( aTwoOnlyList() , "Items found in list TWO only (MISSING)" )
- hListCompare() = ListCount( aOneOnlyList() ) * -1
+ hListCompare() = ListCount( aTwoOnlyList() ) * -1
end if
'///</ul>
@@ -428,7 +425,7 @@ function hCountMatchesInList( acItemList() as string, cSearchTerm as string ) as
endif
next iCurrentItem
-if ( GVERBOSE ) then printlog( CFN & "Exit with result: " & iHitCount )
+ if ( GVERBOSE ) then printlog( CFN & "Exit with result: " & iHitCount )
hCountMatchesInList() = iHitCount
end function
diff --git a/testautomation/global/tools/includes/optional/t_treelist_tools.inc b/testautomation/global/tools/includes/optional/t_treelist_tools.inc
index 5477022dc160..e9c254ac07b4 100755
--- a/testautomation/global/tools/includes/optional/t_treelist_tools.inc
+++ b/testautomation/global/tools/includes/optional/t_treelist_tools.inc
@@ -255,6 +255,15 @@ end function
'*******************************************************************************
+function hGetAllNodeNames( oControl as object , lsList() as string ) as integer
+
+ hExpandAllNodes( oControl )
+ hGetAllNodeNames() = hGetVisibleNodeNames( oControl, lsList() )
+
+end function
+
+'*******************************************************************************
+
function hGetVisibleNodeNames( oControl as object , lsList() as string ) as integer
'///<h3>Retrieve the names of all nodes in a treelist</h3>
diff --git a/testautomation/global/tools/includes/required/t_filters.inc b/testautomation/global/tools/includes/required/t_filters.inc
index afb1bf999c52..243483be9e7d 100755
--- a/testautomation/global/tools/includes/required/t_filters.inc
+++ b/testautomation/global/tools/includes/required/t_filters.inc
@@ -34,6 +34,21 @@
private const LENGTH_OF_FILTERFILE = 100
private const FILE_DATA_SIZE = 300
+function hCheckForBinfilters() as boolean
+
+ try
+ hGetSuffix( "569" )
+ hCheckForBinfilters() = true
+ catch
+ warnlog( "Optional legacy filters package is not installed" )
+ printlog( "Please restart the setup to install the missing filters" )
+ hCheckForBinfilters() = false
+ endcatch
+
+end function
+
+'*******************************************************************************
+
function hGetSuffix( optional cBuildId as string ) as string
' This function retrieves the suffix depending on the build id (e.g. 680)
diff --git a/testautomation/writer/optional/includes/autocorrection/w_autocorrect1.inc b/testautomation/writer/optional/includes/autocorrection/w_autocorrect1.inc
index f360034d7433..694c3dec0de4 100755
--- a/testautomation/writer/optional/includes/autocorrection/w_autocorrect1.inc
+++ b/testautomation/writer/optional/includes/autocorrection/w_autocorrect1.inc
@@ -1049,7 +1049,7 @@ testcase tToolsAutocorrectOptions_8
firstLine = "1. FirstLine"
testContent = "Test1"
- hopeResult = "1.Test1"
+ hopeResult = "2. Test1"
Call wTypeKeys firstLine
Call wTypeKeys "<Return>"
diff --git a/testautomation/writer/optional/includes/fields/w_fields5.inc b/testautomation/writer/optional/includes/fields/w_fields5.inc
index 067366ddbe0e..334d01906307 100755
--- a/testautomation/writer/optional/includes/fields/w_fields5.inc
+++ b/testautomation/writer/optional/includes/fields/w_fields5.inc
@@ -667,7 +667,7 @@ endcase
'-----------------------------------------------------------------
testcase tVariablesDDEFieldManual
- warnlog "#i112079#testcase must be reworked"
+ qaerrorlog "#i112079#testcase must be reworked"
goto endsub
Dim sDDEFile as String
@@ -759,7 +759,7 @@ endcase
'-----------------------------------------------------------------
testcase tVariablesDDEFieldAutomatic
- warnlog "#i112079#testcase must be reworked"
+ qaerrorlog "#i112079#testcase must be reworked"
goto endsub
qaerrorlog "#i102792# - tVariablesDDEFieldAutomatic outcommented. Fields not updated."
diff --git a/testautomation/writer/optional/includes/formatpage/w_formatpage1.inc b/testautomation/writer/optional/includes/formatpage/w_formatpage1.inc
index 0bd255e472b3..84a5c5281f8b 100755..100644
--- a/testautomation/writer/optional/includes/formatpage/w_formatpage1.inc
+++ b/testautomation/writer/optional/includes/formatpage/w_formatpage1.inc
@@ -53,18 +53,18 @@ testcase tFormatPage_1
PrintLog "- Open format/page dialog"
'/// <b> Open format/page dialog </b> ///
-
+
Call hNewDocument
-
+
'/// 1. via Mouse clicks in Menu: Format-Page
try
fFormatPageWriter("TabSeite")
TabSeite.Cancel
catch
endcatch
-
+
'/// 2. via shortcuts in menu (manual test is needed)
-
+
'/// 3. via Context menu when Cursor is in the document
try
hMenuSelectNr(5)
@@ -77,7 +77,7 @@ testcase tFormatPage_1
TabSeite.Cancel
catch
endcatch
-
+
Call hCloseDocument
endcase
@@ -125,21 +125,21 @@ endcase
testcase tFormatPage_3
Dim iTextLength as integer
-
+
PrintLog "- Test Landscape in tabpage Page"
'/// Test Landscape in tabpage Page
-
+
Call hNewDocument
Call wOptionsUndo( "Grundschriften" )
-
+
'/// Input a long test string
Call wTypeKeys "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ"
Call wTypeKeys "<Mod1 Home>"
Call wTypeKeys "<Shift End>"
EditCopy
iTextLength = Len(GetClipBoardtext)
-
+
'/// Format/Page , tabpage page , check 'Landscape'
fFormatPageWriter("TabSeite")
Papierformat.Select 2 ' A4 Paper
@@ -147,14 +147,14 @@ testcase tFormatPage_3
Quer.Check
Wait 500
TabSeite.OK
-
+
'/// Check if Checkbox -- Landscape works fine
Call wTypeKeys "<Mod1 Home>"
Call wTypeKeys "<Shift End>"
EditCopy
wait 500
if Len(GetClipboardText) <= iTextLength then Warnlog "Checkbox Landscape doesn't work fine!"
-
+
Call hCloseDocument
endcase
@@ -166,14 +166,14 @@ testcase tFormatPage_4
Dim iFormat as Integer
Dim sWidth as String
Dim sHeight as String
-
+
iFormat = 2 'A4 paper
-
+
PrintLog "- Width and Height boxes must change after changing between Portrait and Landscape"
'/// Width and Height boxes must change after changing between Portrait and Landscape
-
+
Call hNewDocument
-
+
'/// Format/Page tabpage page ,
'/// + check 'Portrait' first and get width and height ,
'/// + then change from Portrait to Landscape
@@ -185,13 +185,13 @@ testcase tFormatPage_4
Sleep 1
sWidth = Breite.GetText
sHeight = Hoehe.GetText
-
+
Quer.Check
Sleep 1
if Breite.GetText <> sHeight then Warnlog "Width isn't changed when changing from Portrait to Landscape !"
if Hoehe.GetText <> sWidth then Warnlog "Height isn't changed when changing from Portrait to Landscape !"
TabSeite.Cancel
-
+
'/// Format/Page tabpage page ,
'/// + check 'Landscape' first and get width and height ,
'/// + then change from Landscape to Portrait
@@ -203,13 +203,13 @@ testcase tFormatPage_4
Sleep 1
sWidth = Breite.GetText
sHeight = Hoehe.GetText
-
+
Hoch.Check
Sleep 1
if Breite.GetText <> sHeight then Warnlog "Width isn't changed when changing from Landscape to Portrait !"
if Hoehe.GetText <> sWidth then Warnlog "Height isn't changed when changing from Landscape to Portrait !"
TabSeite.Cancel
-
+
Call hCloseDocument
endcase
@@ -222,28 +222,28 @@ testcase tFormatPage_5
Dim sWidth as String , sHeight as String
Dim sLeft as String , sRight as String , sUp as String , sBottom as String ' set page size
Dim sLeft1 as String , sRight1 as String , sUp1 as String , sBottom1 as String ' get page size
-
+
iFormat = 2 'A4 paper
sWidth = "20" + gSeperator + "00" + gMeasurementUnit
sHeight = "25" + gSeperator + "00" + gMeasurementUnit
-
+
sLeft = "15" + gSeperator + "00" + gMeasurementUnit
sRight = "15" + gSeperator + "00" + gMeasurementUnit
sUp = "15" + gSeperator + "00" + gMeasurementUnit
sBottom = "15" + gSeperator + "00" + gMeasurementUnit
-
+
sLeft1 = "15" + gSeperator + "00" + gMeasurementUnit
sRight1 = "4" + gSeperator + "50" + gMeasurementUnit
sUp1 = "15" + gSeperator + "00" + gMeasurementUnit
sBottom1 = "9" + gSeperator + "50" + gMeasurementUnit
-
+
PrintLog "- The sum of 'Left margin' and 'Right margin' must always stay below the Paper width."
PrintLog " (Same for top/bottom and height)"
'/// The sum of "Left margin" and "Right margin" must always stay below the Paper width.
'/// (Same for top/bottom and height)
-
+
Call hNewDocument
-
+
'/// Format/Page , tabpage Page , set width and height , close the dialog
fFormatPageWriter("TabSeite")
Papierformat.Select iFormat
@@ -255,7 +255,7 @@ testcase tFormatPage_5
Hoehe.SetText sHeight
Wait 500
TabSeite.OK
-
+
'/// Format/Page , tabpage Page ,
'/// + Set the sum of "Left margin" and "Right margin" more than Width
fFormatPageWriter("TabSeite")
@@ -264,13 +264,13 @@ testcase tFormatPage_5
Rechts.SetText sRight
Wait 500
TabSeite.OK
-
+
'/// Check if the setting is OK
fFormatPageWriter("TabSeite")
if Left$(Links.GetText,5) <> Left$(sLeft1,5) then Warnlog "The Margin(left) is wrong!"
if Left$(Rechts.GetText,4) <> Left$(sRight1,4) then Warnlog "The Margin(right) is wrong!"
TabSeite.Cancel
-
+
'/// Format/Page , tabpage Page ,
'/// + Set the sum of "Up margin" and "Bottom margin" more than Heigth
fFormatPageWriter("TabSeite")
@@ -279,13 +279,13 @@ testcase tFormatPage_5
Unten.SetText sBottom
Wait 500
TabSeite.OK
-
+
'/// Check if the setting is OK
fFormatPageWriter("TabSeite")
if Left$(Oben.GetText,5) <> Left$(sUp1,5) then Warnlog "The Margin(Up) is wrong!"
if Left$(Unten.GetText,4) <> Left$(sBottom1,4) then Warnlog "The Margin(Bottom) is wrong!"
TabSeite.Cancel
-
+
Call hCloseDocument
endcase
@@ -298,22 +298,22 @@ testcase tFormatPage_6
Dim iFormatLayout as Integer , iReferenceStyle as Integer
Dim sWidth as String, sHeight as String
Dim sLeft as String , sRight as String , sUp as String , sBottom as String
-
+
iPaperTray = 1 : iPageLayout = 2
iFormatLayout = 2 : iReferenceStyle = 5
-
+
sWidth = "20" + gSeperator + "00" + gMeasurementUnit
sHeight = "25" + gSeperator + "00" + gMeasurementUnit
sLeft = "2" + gSeperator + "00" + gMeasurementUnit
sRight = "2" + gSeperator + "00" + gMeasurementUnit
sUp = "2" + gSeperator + "00" + gMeasurementUnit
sBottom = "2" + gSeperator + "00" + gMeasurementUnit
-
+
PrintLog "- Test Pre-defined formats"
'/// Test Pre-defined formats
-
+
Call hNewDocument
-
+
'/// Format/Page , tabpage page , do some configuration
fFormatPageWriter("TabSeite")
Hoch.Check
@@ -341,15 +341,15 @@ testcase tFormatPage_6
AbsatzVorlage.Select iReferenceStyle
Wait 500
TabSeite.OK
-
+
'/// Save the file , close the file and reload the file
Call hFileSaveAsWithFilterKill (gOfficepath + "user\work\tFormatPage_6.odt", "writer8")
Call hCloseDocument
-
+
Call hNewDocument
-
+
Call hFileOpen(gOfficepath + "user\work\tFormatPage_6.odt")
-
+
'/// Check if Pre-defined formats are correct
fFormatPageWriter("TabSeite")
if Hoch.IsChecked <> TRUE then Warnlog "Portrait should be checked!"
@@ -365,7 +365,7 @@ testcase tFormatPage_6
if Einschalten.IsChecked <> TRUE then Warnlog "Portrait should be checked!"
if AbsatzVorlage.GetSelIndex <> iReferenceStyle then Warnlog "The reference style is wrong!"
TabSeite.Cancel
-
+
Call hCloseDocument
endcase
@@ -378,22 +378,22 @@ testcase tFormatPage_7
Dim iFormatLayout as Integer , iReferenceStyle as Integer
Dim sWidth as String , sHeight as String
Dim sLeft as String , sRight as String , sUp as String , sBottom as String
-
+
iPaperTray = 1 : iPageLayout = 2
iFormatLayout = 2 : iReferenceStyle = 5
-
+
sWidth = "20" + gSeperator + "00" + gMeasurementUnit
sHeight = "25" + gSeperator + "00" + gMeasurementUnit
sLeft = "2" + gSeperator + "00" + gMeasurementUnit
sRight = "2" + gSeperator + "00" + gMeasurementUnit
sUp = "2" + gSeperator + "00" + gMeasurementUnit
sBottom = "2" + gSeperator + "00" + gMeasurementUnit
-
+
PrintLog "- Test user defined formats"
'/// Test user defined formats
-
+
Call hNewDocument
-
+
'/// Format/Page , tabpage page , do some configuration
fFormatPageWriter("TabSeite")
Hoch.Check
@@ -421,7 +421,7 @@ testcase tFormatPage_7
AbsatzVorlage.Select iReferenceStyle
Wait 500
TabSeite.OK
-
+
'/// Check if user defined formats are correct
fFormatPageWriter("TabSeite")
if Hoch.IsChecked <> TRUE then Warnlog "Portrait should be checked!"
@@ -437,7 +437,7 @@ testcase tFormatPage_7
if Einschalten.IsChecked <> TRUE then Warnlog "Portrait should be checked!"
if AbsatzVorlage.GetSelIndex <> iReferenceStyle then Warnlog "The reference style is wrong!"
TabSeite.Cancel
-
+
Call hCloseDocument
endcase
@@ -479,7 +479,7 @@ testcase tFormatPage_8
Warnlog "Listbox 'Text Direction' is visible though asian support is disabled"
end if
TabSeite.Cancel
-
+
if RecheckCTLSupport = True then
Call ActiveDeactivateCTLSupport(TRUE)
else
@@ -551,16 +551,16 @@ testcase tFormatPage_10
Dim RecheckAsianSupport as string
RecheckCTLSupport = gCTLSup
RecheckAsianSupport = gAsianSup
-
+
PrintLog "- when Asian support and CTL are all enabled , 3 entries should be in Text Direction listbox"
'/// when Asian support and CTL are all enabled , 3 entries should be in Text Direction listbox
-
+
Call hNewDocument
-
+
'/// Set Asian support enabled and Set CTL enabled
Call ActiveDeactivateAsianSupport(TRUE)
Call ActiveDeactivateCTLSupport(TRUE)
-
+
'/// Check if there are 3 entires in Text Direction listbox
fFormatPageWriter("TabSeite")
if Textfluss.GetItemCount <> 3 then
@@ -578,7 +578,7 @@ testcase tFormatPage_10
else
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
Call hCloseDocument
endcase
@@ -843,6 +843,8 @@ testcase tFormatPage_15
sFormat = "Som sidformatmall"
case 49: sType = "Seite"
sFormat = "Wie Seitenvorlage"
+ case 50: sType = "Stran"
+ sFormat = "Kot predloga za stran"
case 55 : sType = "Estatísticas"
sFormat = "Como Estilo de Página"
case 81 : sType = "ページ"
@@ -856,12 +858,12 @@ testcase tFormatPage_15
case else : QAErrorLog "The test does not support the language " + iSprache
Goto endsub
end select
-
+
PrintLog "- Insertfields / other / Document / Type/Page -> As page Style must be set."
'/// Insertfield / other / Document / Type/Page -> As page Style must be set.
-
+
Call hNewDocument
-
+
'/// InsertFields / other , tabpage document , select page ,
'/// + check if Page format is right
Call fInsertFieldsOther("TabDokumentFeldbefehle")
diff --git a/testautomation/writer/optional/includes/formatpage/w_formatpage3.inc b/testautomation/writer/optional/includes/formatpage/w_formatpage3.inc
index 2d34c23d82fb..784f6dad28cc 100755..100644
--- a/testautomation/writer/optional/includes/formatpage/w_formatpage3.inc
+++ b/testautomation/writer/optional/includes/formatpage/w_formatpage3.inc
@@ -641,6 +641,7 @@ testcase tFormatPage_37
case 39 : sHeader = "Riga d'intestazione"
case 46 : sHeader = "Sidhuvud"
case 49 : sHeader = "Kopfzeile"
+ case 50 : sHeader = "Glava"
case 55 : sHeader = "Cabeçalho"
case 81 : sHeader = "ヘッダ"
case 82 : sHeader = "머리글"
@@ -689,6 +690,7 @@ testcase tFormatPage_38
case 39 : sFooter = "Piè di pagina"
case 46 : sFooter = "Sidfot"
case 49 : sFooter = "Fußzeile"
+ case 50 : sFooter = "Noga"
case 55 : sFooter = "Rodapé"
case 81 : sFooter = "フッタ"
case 82 : sFooter = "바닥글"
@@ -866,23 +868,23 @@ testcase tFormatPage_41
Dim sWidthColumn1 as String
Dim sWidthColumn2 as String
Dim sWidthColumn3 as String
-
+
sTestFile = Convertpath (gTesttoolpath + "writer\optional\input\formatpage\testColumnInPage2.sxw")
sColumn = "3"
sWidthColumn1 = "2" + gSeperator + "00"
sWidthColumn2 = "4" + gSeperator + "00"
-
+
PrintLog "- create columns with different width "
'/// create columns with different width
-
+
Call hNewDocument
-
+
'/// Open test file testColumnInPage2.sxw
'/// + (The test file includes 2 pages , some text is
'/// + in 1st page and another is in 2nd page)
Call hFileOpen(sTestFile)
Call sMakeReadOnlyDocumentEditable
-
+
'/// Create 3 with different columns . formatPage ,
'/// + tabpage columns , set 3 columns
Call fFormatPageWriter("TabSpalten")
@@ -899,14 +901,14 @@ testcase tFormatPage_41
sWidthColumn3 = Spaltenbreite3.GetText
wait 500
TabSpalten.OK
-
+
'/// Check if columns' width is right
fFormatPageWriter("TabSpalten")
if Left$(Spaltenbreite1.GetText,4) <> sWidthColumn1 then Warnlog "the column1's width isn't set correctly !"
if Left$(Spaltenbreite2.GetText,4) <> sWidthColumn2 then Warnlog "the column2's width isn't set correctly !"
if Spaltenbreite3.GetText <> sWidthColumn3 then Warnlog "the column3's width isn't set correctly !"
TabSpalten.Cancel
-
+
'detailed check for column1
Kontext
EditSearchAndReplace
@@ -916,12 +918,12 @@ testcase tFormatPage_41
SearchAll.Click
Sleep 1
FindAndReplace.Close
-
+
Call wTypeKeys "<Home>"
Call wTypeKeys "<Shift End>"
EditCopy
if Len(GetClipboardText) > 8 then Warnlog "Something wrong in the column1"
-
+
'detailed check for column2
Kontext
EditSearchAndReplace
@@ -931,12 +933,12 @@ testcase tFormatPage_41
SearchAll.Click
Sleep 1
FindAndReplace.Close
-
+
Call wTypeKeys "<Home>"
Call wTypeKeys "<Shift End>"
EditCopy
if Len(GetClipboardText) > 14 then Warnlog "Something wrong in the column2"
-
+
printlog " Close active document "
Do Until GetDocumentCount = 0
Call hCloseDocument
diff --git a/testautomation/writer/optional/includes/formatpage/w_formatpage4.inc b/testautomation/writer/optional/includes/formatpage/w_formatpage4.inc
index 60b8182fd15d..9b800e3bad4b 100755..100644
--- a/testautomation/writer/optional/includes/formatpage/w_formatpage4.inc
+++ b/testautomation/writer/optional/includes/formatpage/w_formatpage4.inc
@@ -58,32 +58,32 @@ testcase tFormatPage_48
printlog "No test with asian lovale, because checkbox 'Asian language support' is disabled by default!"
goto endsub
end select
-
+
sTestText1 = "This is the test!"
sTestText2 = "That isn't a test!"
-
+
PrintLog "- Text flow direction test Right to Left (Vertical) - Paragraph"
'/// Text flow direction test Right to Left (Vertical) - Paragraph
-
+
Call hNewDocument
-
+
'/// Set Asian language support enabled
Call ActiveDeactivateCTLSupport(FALSE)
Call ActiveDeactivateAsianSupport(TRUE)
-
+
'/// Input some test words
Call wTypeKeys sTestText1
Call wTypeKeys "<Return>"
Call wTypeKeys sTestText2
Sleep 1
-
+
'/// formatPage , tabpage page, select right to left (vertical)
fFormatPageWriter("TabSeite")
Textfluss.Select 2
Sleep 1
TabSeite.OK
Sleep 2
-
+
'/// Check if the direction of the test words is changed
Call wTypeKeys "<MOD1 Home>"
Call wTypeKeys "<Shift Down>", 4
@@ -92,7 +92,7 @@ testcase tFormatPage_48
if GetClipboardText <> "This" then
Warnlog "Something wrong in first word - get " &GetClipboardText
end if
-
+
Call wTypeKeys "<Home><Left>"
Call wTypeKeys "<Shift Down>" , 4
Sleep 1
@@ -100,11 +100,11 @@ testcase tFormatPage_48
if GetClipboardText <> "That" then
Warnlog "Something wrong in second word - get " &GetClipboardText
end if
-
+
if RecheckAsianSupport = False then
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
Call hCloseDocument
endcase
@@ -116,32 +116,32 @@ testcase tFormatPage_49
Dim sTestText as String
Dim RecheckAsianSupport as boolean
RecheckAsianSupport = gAsianSup
-
+
sTestText = "This is the test!"
-
+
PrintLog "- Text flow direction test Right to Left (Vertical) - Section"
'/// Text flow direction test Right to Left (Vertical) - Section
-
+
Call hNewDocument
-
+
'/// Set Asian language support enabled
Call ActiveDeactivateAsianSupport(TRUE)
-
+
'/// Insert a section
fInsertSection("TabBereiche")
TabBereiche.OK
-
+
'/// insert something in the section
Call wTypeKeys "<Up>"
Call wTypeKeys sTestText
-
+
'/// formatPage , tabpage page, select right to left (vertical)
fFormatPageWriter("TabSeite")
Textfluss.Select 2
Sleep 1
TabSeite.OK
Sleep 2
-
+
'/// Check if the direction of the test words is changed
Call wTypeKeys "<Home>"
Call wTypeKeys "<Shift Down>" , 4
@@ -151,7 +151,7 @@ testcase tFormatPage_49
if RecheckAsianSupport = False then
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
Call hCloseDocument
endcase
@@ -165,12 +165,12 @@ testcase tFormatPage_50
PrintLog "- Text flow direction test Right to Left (Vertical) - Footnotes"
'/// Text flow direction test Right to Left (Vertical) - Footnotes
-
+
Call hNewDocument
-
+
'/// Set Asian language support enabled
Call ActiveDeactivateAsianSupport(TRUE)
-
+
'/// Insert a footnotes
InsertFootnote
Kontext "FussnoteEinfuegen"
@@ -179,17 +179,17 @@ testcase tFormatPage_50
Sleep 1
FussnoteEinfuegen.OK
Sleep 1
-
+
Call wTypeKeys "<PageUp>"
Sleep 1
-
+
'/// formatPage , tabpage page, select right to left (vertical)
Call fFormatPageWriter("TabSeite")
Textfluss.Select 2
Sleep 1
TabSeite.OK
Sleep 2
-
+
'/// Check if the direction of the footnote is changed
Call wTypeKeys "<Down>"
try
@@ -199,7 +199,7 @@ testcase tFormatPage_50
Warnlog "Should NOT execute edit/footnote when focus is under the footnote"
catch
endcatch
-
+
Call wTypeKeys "<Up>"
try
EditFootnote
@@ -212,7 +212,7 @@ testcase tFormatPage_50
if RecheckAsianSupport = False then
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
Call hCloseDocument
endcase
@@ -223,15 +223,15 @@ testcase tFormatPage_51
Dim RecheckAsianSupport as boolean
RecheckAsianSupport = gAsianSup
-
+
PrintLog "- Text flow direction test Right to Left (Vertical) - Endnotes"
'/// Text flow direction test Right to Left (Vertical) - Endnotes
-
+
Call hNewDocument
-
+
'/// Set Asian language support enabled
Call ActiveDeactivateAsianSupport(TRUE)
-
+
'/// Insert a endnotes
InsertFootnote
Kontext "FussnoteEinfuegen"
@@ -240,17 +240,17 @@ testcase tFormatPage_51
Sleep 1
FussnoteEinfuegen.OK
Sleep 1
-
+
Call wTypeKeys "<PageUp>"
Sleep 1
-
+
'/// formatPage , tabpage page, select right to left (vertical)
Call fFormatPageWriter("TabSeite")
Textfluss.Select 2
Sleep 1
TabSeite.OK
Sleep 2
-
+
'/// Check if the direction of the endnote is changed
Call wTypeKeys "<Down>"
try
@@ -260,7 +260,7 @@ testcase tFormatPage_51
Warnlog "Should NOT execute edit/footnote when focus is under the endnote"
catch
endcatch
-
+
Call wTypeKeys "<Up>"
try
EditFootnote
@@ -273,7 +273,7 @@ testcase tFormatPage_51
if RecheckAsianSupport = False then
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
Call hCloseDocument
endcase
@@ -285,20 +285,20 @@ testcase tFormatPage_52
Dim sTest1 as String , sTest2 as String , sTest3 as String
Dim RecheckAsianSupport as boolean
RecheckAsianSupport = gAsianSup
-
+
sTest1 = "A1" : sTest2 = "B1" : sTest3 = "A2"
-
+
PrintLog "- Text flow direction test Right to Left (Vertical) - Table"
'/// Text flow direction test Right to Left (Vertical) - Table
-
+
Call hNewDocument
-
+
'/// Set Asian language support enabled
Call ActiveDeactivateAsianSupport(TRUE)
-
+
'/// Insert a table
Call hTabelleEinfuegen
-
+
'/// + input some string in the table , like
'/// a1 b1
'/// a2
@@ -312,14 +312,14 @@ testcase tFormatPage_52
wait 500
Call wTypeKeys sTest3
Call wTypeKeys "<Up><Home>" 'so far, the focus should be in front of A1
-
+
'/// formatPage , tabpage page, select right to left (vertical)
Call fFormatPageWriter("TabSeite")
Textfluss.Select 2
Sleep 1
TabSeite.OK
Sleep 2
-
+
'/// Check if the direction of the table is changed
Call wTypeKeys "<Shift Down>" , 2
Sleep 1
@@ -327,7 +327,7 @@ testcase tFormatPage_52
if GetClipboardText <> sTest1 then
Warnlog "1st word in table is wrong!"
end if
-
+
Call wTypeKeys "<Down>"
Call wTypeKeys "<Shift Down>" , 2
Sleep 1
@@ -335,7 +335,7 @@ testcase tFormatPage_52
if GetClipboardText <> sTest2 then
Warnlog "2nd word in table is wrong!"
end if
-
+
Call wTypeKeys "<Left><Up>"
Call wTypeKeys "<Shift Home>"
Sleep 1
@@ -347,7 +347,7 @@ testcase tFormatPage_52
if RecheckAsianSupport = False then
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
Call hCloseDocument
endcase
@@ -355,36 +355,36 @@ endcase
'-------------------------------------------------------------------------------------------
testcase tFormatPage_53
-
+
Dim sTest as String
Dim sTestFile as String
Dim RecheckAsianSupport as boolean
RecheckAsianSupport = gAsianSup
-
+
sTest = "Test"
sTestFile = Convertpath (gTesttoolpath + "writer\optional\input\formatpage\testColumnVertical.sxw")
-
+
PrintLog "- Text flow direction test Right to Left (Vertical) - Column"
'/// Text flow direction test Right to Left (Vertical) - Column
-
+
Call hNewDocument
-
+
'/// Set Asian language support enabled
Call ActiveDeactivateAsianSupport(TRUE)
-
+
'/// Open test file testColumnVertical.sxw
'/// + There are 8 columns in the page , and a test
'/// + word is in 3rd column
Call hFileOpen(sTestFile)
Call sMakeReadOnlyDocumentEditable
-
+
'/// formatPage , tabpage page, select right to left (vertical)
Call fFormatPageWriter("TabSeite")
Textfluss.Select 2
Sleep 1
TabSeite.OK
Sleep 2
-
+
'/// Check if the direction of the column is changed
Kontext
EditSearchAndReplace
@@ -395,20 +395,20 @@ testcase tFormatPage_53
Sleep 1
FindAndReplace.Close
Sleep 1
-
+
Call wTypeKeys "<Down>"
Sleep 1
-
+
Call wTypeKeys "<Shift Up>" , 4
EditCopy
if GetClipboardText <> sTest then
Warnlog "the test word is wrong!"
end if
-
+
if RecheckAsianSupport = False then
Call ActiveDeactivateAsianSupport(FALSE)
end if
-
+
printlog " Close active document "
Do Until GetDocumentCount = 0
Call hCloseDocument
@@ -626,6 +626,7 @@ testcase tFormatPage_58
case 39 : sDefaultShadowColor = "Grigio"
case 46 : sDefaultShadowColor = "Grått"
case 49 : sDefaultShadowColor = "Grau"
+ case 50 : sDefaultShadowColor = "Siva"
case 55 : sDefaultShadowColor = "Cinza"
case 81 : sDefaultShadowColor = "灰色"
case 82 : sDefaultShadowColor = "회색"
@@ -749,7 +750,7 @@ testcase tFormatPage_60
Oben.SetText sSpacingToContentsU
Unten.SetText sSpacingToContentsB
StilFarbe.Select iBorderColor 'set border color
-
+
Position.TypeKeys "<Right>" , 4
Sleep 2
Groesse.SetText sShadowDistance
diff --git a/testautomation/writer/optional/includes/number/w_206_.inc b/testautomation/writer/optional/includes/number/w_206_.inc
index 70d47bd12bf4..ae7698017216 100755
--- a/testautomation/writer/optional/includes/number/w_206_.inc
+++ b/testautomation/writer/optional/includes/number/w_206_.inc
@@ -358,11 +358,11 @@ testcase tToolsNumbering6
Warnlog "First paragraph not 'This is the first' but: " & sClipBrd(0)
end if
Case 2
- if sClipBrd(1) <> "1.This is the second" then
+ if sClipBrd(1) <> "1. This is the second" then
Warnlog "First paragraph not '1.This is the second' but: " & sClipBrd(1)
end if
Case 3
- if sClipBrd(2) <> "2.This is the third" then
+ if sClipBrd(2) <> "2. This is the third" then
Warnlog "First paragraph not '2.This is the third' but: " & sClipBrd(2)
end if
end select
@@ -472,12 +472,12 @@ testcase tToolsNumbering7
end if
end if
Case 2
- if sClipBrd(1) <> "1.1.My second number" then
- Warnlog "#128041#First paragraph not '1.1.My second number' but: " & sClipBrd(1)
+ if sClipBrd(1) <> "1. 1.My second number" then
+ Warnlog "#128041#Second paragraph not '1. 1.My second number' but: " & sClipBrd(1)
end if
Case 3
- if sClipBrd(2) <> "2.2.My third number" then
- Warnlog "#128041#First paragraph not '2.2.My third number' but: " & sClipBrd(2)
+ if sClipBrd(2) <> "2. 2.My third number" then
+ Warnlog "#128041#Third paragraph not '2. 2.My third number' but: " & sClipBrd(2)
end if
end select
next i
@@ -707,16 +707,16 @@ testcase tToolsNumbering11
For i = 1 to 3
Select Case i
Case 1
- if sClipBrd(0) <> "11A new first paragraph" then
- Warnlog "First Heading not: '11A new first paragraph' but: " & sClipBrd(0)
+ if sClipBrd(0) <> "1 1A new first paragraph" then
+ Warnlog "First Heading not: '1 1A new first paragraph' but: " & sClipBrd(0)
end if
Case 2
- if sClipBrd(1) <> "22" then
- Warnlog "First paragraph not '22' but: " & sClipBrd(1)
+ if sClipBrd(1) <> "2 2" then
+ Warnlog "First paragraph not '2 2' but: " & sClipBrd(1)
end if
Case 3
- if sClipBrd(2) <> "33A new third paragraph" then
- Warnlog "First paragraph not '33A new third paragraph' but: " & sClipBrd(2)
+ if sClipBrd(2) <> "3 3A new third paragraph" then
+ Warnlog "First paragraph not '3 3A new third paragraph' but: " & sClipBrd(2)
end if
end select
next i
diff --git a/testautomation/writer/optional/includes/regression/issuezilla/w_issuezilla_regression.inc b/testautomation/writer/optional/includes/regression/issuezilla/w_issuezilla_regression.inc
index 8412302d6c35..5e13f9353891 100755
--- a/testautomation/writer/optional/includes/regression/issuezilla/w_issuezilla_regression.inc
+++ b/testautomation/writer/optional/includes/regression/issuezilla/w_issuezilla_regression.inc
@@ -467,11 +467,11 @@ testcase i103265
end if
Case 2:
if GetClipboardText <> "1. Test" then
- Warnlog "First hyperlink not correctly jumped to. Not '# 1. Test' but " & GetClipboardtext
+ Warnlog "Second hyperlink not correctly jumped to. Not '# 1. Test' but " & GetClipboardtext
end if
Case 3:
- if GetClipboardText <> "Test " then
- Warnlog "First hyperlink not correctly jumped to. Not 'Test' but " & GetClipboardtext
+ if GetClipboardText <> "1 Test " then
+ Warnlog "Third hyperlink not correctly jumped to. Not '1 Test' but " & GetClipboardtext
end if
end select
next i
diff --git a/testautomation/writer/optional/includes/spellcheck/w_spellcheck.inc b/testautomation/writer/optional/includes/spellcheck/w_spellcheck.inc
index b1576b494469..886f7fa91967 100755..100644
--- a/testautomation/writer/optional/includes/spellcheck/w_spellcheck.inc
+++ b/testautomation/writer/optional/includes/spellcheck/w_spellcheck.inc
@@ -57,7 +57,7 @@ testcase tToolsSpellcheckWithShortcut
Warnlog "Found no Document for the language you're testing in, Please inform the Test-Developer."
exit sub
end if
-
+
call hFileOpen (TheFile,false)
Call sMakeReadOnlyDocumentEditable
@@ -69,12 +69,13 @@ testcase tToolsSpellcheckWithShortcut
case 39 : Call wTypeKeys ("Don Cara Mio, capitoliooo?<Home>")
case 49 : Call wTypeKeys ("Dies ist ein Rechtschreibtexxxxt<Home>")
case 46 : Call wTypeKeys ("Det här är en rättstavningstexxxxt<Home>")
+ case 50 : Call wTypeKeys ("To je test črkvana<Home>")
case 07 : Printlog "- No Spellcheck in Russian!"
goto endsub
case 48 : Printlog "- No Spellcheck in Polish!"
goto endsub
case 55 : Printlog "- No Spellcheck in Brazilian!"
- goto endsub
+ goto endsub
case 81 : Printlog "- No Spellcheck in Japanese!"
goto endsub
case 82 : Printlog "- No Spellcheck in Korean!"
@@ -92,10 +93,10 @@ testcase tToolsSpellcheckWithShortcut
Call wTypeKeys "<HOME>" 'Setting cursor to beginning
Call wTypeKeys "<F7>" 'Calling spellchecker with shortcut
sleep (1)
-
+
Kontext "Active"
if Active.Exists(1) then 'checking if messagebox comes up
- if Active.getRT = 304 then 'checking ressource type
+ if Active.getRT = 304 then 'checking ressource type
Active.OK
else
printlog "No message Box!"
@@ -178,6 +179,7 @@ testcase tToolsSpellcheckCorrect
case 46 : FFText = "Den här filen innehåller viktig programinformation.<Return>"
case 48 : FFText = "Nie wolno w zadnim wypadku przerywa uruchomionego serwisu !<Return>"
case 49 : FFText = "Dies ist ein Text ohne Fehler.<Return>"
+ case 50 : FFText = "To je besedilo brez napake.<Return>"
case 55 : FFText = "Ele ouviu passos silenciosos atrás dele. Isso não estava certo.<Return>"
case else : QAErrorLog " - The language " + iSprache +" has no defined language text. No Test !"
exit Sub
@@ -263,6 +265,9 @@ testcase tToolsSpellcheck1Mistake
case 49 : sErrorSampleText = "Diees ist ein Fehler."
sWordToBeChecked = "Diees"
sLanguageName = "Deutsch (Deutschland)"
+ case 50 : sErrorSampleText = "Tuki je nekaj narobe."
+ sWordToBeChecked = "Tuki"
+ sLanguageName = "Slovenščina"
case 55 : sErrorSampleText = "Esta poderia ser a respista para suas preces?"
sWordToBeChecked = "respista"
sLanguageName = "Português (Brasil)"
@@ -305,13 +310,13 @@ testcase tToolsSpellcheck1Mistake
Call hCloseDocument
goto endsub
end if
- printlog "Current selected dictionary language is: " & DictionaryLanguage.GetSelText
+ printlog "Current selected dictionary language is: " & DictionaryLanguage.GetSelText
' Dictionary Language is language dependend. Function to be created
printlog " - check language"
'if DictionaryLanguage.GetSelText <> gLanguage then Warnlog "Dictionary language " + DictionaryLanguage.GetSelText +" selected"
printlog " - replace wrong word with a suggestion"
'/// replace wrong word with a suggestion ///
-
+
if trim$(NotInDictionary.GetText) <> trim(sErrorSampleText) then
warnlog " " & sErrorSampleText & " has not been detected as mistake. Detected mistake is:" & NotInDictionary.GetText
end if
@@ -343,7 +348,7 @@ testcase tToolsSpellcheck1Mistake
Active.No
endcatch
end if
-
+
Kontext "Spellcheck"
if Spellcheck.Exists then SpellcheckClose.Click
@@ -377,7 +382,7 @@ testcase tToolsSpellcheckForward
QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!" 'iSystemSprache
goto endsub
end select
-
+
if gApplication = "MASTERDOCUMENT" then
if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
EditPaste
@@ -387,7 +392,7 @@ testcase tToolsSpellcheckForward
end if
'/// point cursor to beginning of document and execute spellcheck ///
Call wTypeKeys "<Mod1 Home>"
-
+
select case iSprache
case 01 : sDummy = "exprass" : sWordToBeAdded = "pablischer"
case 07 : sDummy = "решаaт" : sWordToBeAdded = "кaнкретных"
@@ -401,6 +406,7 @@ testcase tToolsSpellcheckForward
case 46 : sDummy = "handbroken" : sWordToBeAdded = "viktikt"
case 48 : sDummy = "znajdujacej" : sWordToBeAdded = "usuniete"
case 49 : sDummy = "reichtt" : sWordToBeAdded = "viierter"
+ case 50 : sDummy = "Paglejmo" : sWordToBeAdded = "čtrto"
case 55 : sDummy = "horat" : sWordToBeAdded = "dpa"
end select
@@ -537,7 +543,7 @@ testcase tToolsSpellcheckOnlyOneWord
Dim InsFile as string
Dim ReplacedWith as String
Dim i as integer
-
+
'/// Open specified document depending on language to check spellcheck ///
'/// document has 1 defined wrong word ///
PrintLog "- Tools / Spellchecking / Check only one word"
@@ -550,7 +556,7 @@ testcase tToolsSpellcheckOnlyOneWord
QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!"
goto endsub
end select
-
+
if gApplication = "MASTERDOCUMENT" then
if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
EditPaste
@@ -559,7 +565,7 @@ testcase tToolsSpellcheckOnlyOneWord
Call sMakeReadOnlyDocumentEditable
end if
Call wTypeKeys "<Mod1 Home>"
-
+
select case iSprache
case 01 : sWordToBeChecked = "excetionally" ' this word is wrong
case 07 : sWordToBeChecked = "Кaнституции"
@@ -573,6 +579,7 @@ testcase tToolsSpellcheckOnlyOneWord
case 46 : sWordToBeChecked = "avrttades" ' this word is wrong
case 48 : sWordToBeChecked = "stosowanei" ' this word is wrong
case 49 : sWordToBeChecked = "georaphischen" ' this word is wrong
+ case 50 : sWordToBeChecked = "ssmo" ' this word is wrong
case 55 : sWordToBeChecked = "Veigo" ' this word is wrong
end select
@@ -613,7 +620,7 @@ testcase tToolsSpellcheckOnlyOneWord
ToolsSpellcheckWriter
Kontext "Active"
if Active.Exists then
- if Active.GetRT = 304 then
+ if Active.GetRT = 304 then
Warnlog "Spellcheck doesn't work correctly:" & Active.Gettext
try
Active.Ok
@@ -659,11 +666,11 @@ testcase tToolsSpellcheckOnlyOneWord
Warnlog Active.Gettext
endcatch
end if
- end if
-
+ end if
+
Kontext "Spellcheck"
if Spellcheck.Exists then SpellcheckClose.Click
-
+
Call wTypeKeys "<Mod1 Shift Left>"
try
EditCopy
@@ -705,10 +712,10 @@ testcase tToolsSpellcheckOnlyOneWord
Spellcheck.Close
end if
end if
-
+
Kontext "Spellcheck"
if Spellcheck.Exists then Spellcheck.Close
-
+
'/// Close document ///
Call hCloseDocument
endcase
@@ -738,8 +745,8 @@ testcase tToolsSpellcheckAutomatic
Call sMakeReadOnlyDocumentEditable
'/// Enable Auto-Spellcheck in options
- Call wEnableAutoSpellcheck ( true )
-
+ Call wEnableAutoSpellcheck ( true )
+
'/// Check Auto-Spellcheck and insert a sentence with 2 mistakes ///
printlog " - write text"
select case iSprache
@@ -766,7 +773,7 @@ testcase tToolsSpellcheckAutomatic
case 36 : wTypeKeys "A hétezres koszovói amerikai kontingens jelentos részét is a magyarországi bázison helyezi majd el."
iError1 = 1 : iError2 = 4
sError1 = "hétezres" : sError1 = "jelentos"
- sDefaultFormat = "Alapértelmezett"
+ sDefaultFormat = "Alapértelmezett"
case 39 : wTypeKeys "La sfumaturar è statsi modificata senza salvare "
iError1 = 1 : iError2 = 2
sError1 = "sfumaturar" : sError1 = "statsi"
@@ -787,10 +794,14 @@ testcase tToolsSpellcheckAutomatic
iError1 = 1 : iError2 = 2
sError1 = "hiaer" : sError1 = "swei"
sDefaultFormat = "Standard"
+ case 50 : wTypeKeys "Tuki sta dve napki"
+ iError1 = 1 : iError2 = 2
+ sError1 = "Tuki" : sError1 = "napki"
+ sDefaultFormat = "Standard"
case 55 : wTypeKeys "Aqui poderá elimitnar componentes já instalados ou instalar novos compotentes numa "
iError1 = 2 : iError2 = 7
sError1 = "elimitnar" : sError1 = "compotentes"
- sDefaultFormat = "Padrão"
+ sDefaultFormat = "Padrão"
case 81 : Printlog "- No Spellcheck in Japanese!"
Call hCloseDocument
goto endsub
@@ -809,7 +820,7 @@ testcase tToolsSpellcheckAutomatic
end select
Call wTypeKeys "<Space><Return>"
-
+
printlog " - relieve mistake"
Call wTypeKeys "<Up><Home>"
Call wTypeKeys "<Mod1 Right>", iError1
@@ -921,7 +932,7 @@ testcase tToolsSpellcheckChangeLanguageAttribute
QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!" 'iSystemSprache
goto endsub
end select
-
+
if gApplication = "MASTERDOCUMENT" then
if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
EditPaste
@@ -930,7 +941,7 @@ testcase tToolsSpellcheckChangeLanguageAttribute
Call sMakeReadOnlyDocumentEditable
end if
Call wTypeKeys "<Mod1 Home>"
-
+
select case iSprache
case 01 : sWordToBeChecked = "excetionally" ' this word is wrong
case 03 : sWordToBeChecked = "semstre" ' this word is wrong
@@ -944,6 +955,7 @@ testcase tToolsSpellcheckChangeLanguageAttribute
case 46 : sWordToBeChecked = "avrttades" ' this word is wrong
case 48 : sWordToBeChecked = "stosowanei" ' this word is wrong
case 49 : sWordToBeChecked = "georaphischen" ' this word is wrong
+ case 50 : sWordToBeChecked = "ssmo" ' this word is wrong
case 55 : sWordToBeChecked = "Veigo" ' this word is wrong
end select
@@ -1011,7 +1023,7 @@ testcase tToolsSpellcheckChangeLanguageAttribute
Suggestions.Select 1
ReplacedWith = Suggestions.GetSelText
printlog "- replace with word: " & ReplacedWith
- i = DictionaryLanguage.GetItemCount + 1
+ i = DictionaryLanguage.GetItemCount + 1
end if
end if
next i
@@ -1045,7 +1057,7 @@ testcase tToolsSpellcheckChangeLanguageAttribute
wait 500
Call wTypeKeys "<Mod1 Home>"
printlog "- find replaced word"
-
+
EditSearchAndReplace
Kontext "FindAndReplace"
try
@@ -1073,7 +1085,7 @@ testcase tToolsSpellcheckChangeLanguageAttribute
Kontext
Active.Setpage TabFont
Kontext "TabFont"
- try
+ try
if Language.GetSelText <> CurrentLanguage then
if Language.GetSelText = PriorLanguage then
Warnlog "Language Attributes has not been set to" & CurrentLanguage
@@ -1118,7 +1130,7 @@ testcase tToolsSpellcheckButtonChange
QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!" 'iSystemSprache
goto endsub
end select
-
+
if gApplication = "MASTERDOCUMENT" then
if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
EditPaste
@@ -1185,7 +1197,7 @@ testcase tToolsSpellcheckButtonChangeAll
QAErrorLog "The language " + iSprache +" has no defined Errortext. No test!" 'iSystemSprache
goto endsub
end select
-
+
if gApplication = "MASTERDOCUMENT" then
if wInsertDocumentinMasterDoc(InsFile) = False then goto endsub
EditPaste
@@ -1222,7 +1234,7 @@ testcase tToolsSpellcheckButtonChangeAll
end if
'/// Close document
Call hCloseDocument
-
+
endcase
' *******************************************************************
@@ -1257,6 +1269,7 @@ testcase tToolsThesaurus
case 46 : sWordInitial = "Däng"
case 48 : sWordInitial = "wypowiedź"
case 49 : sWordInitial = "Mann"
+ case 50 : sWordInitial = "smisel"
case 55 : Printlog "- No Thesaurus in Portuguese (Brazil) !"
goto endsub
case 81 : Printlog "- No Thesaurus in Japanese!"
@@ -1282,7 +1295,7 @@ testcase tToolsThesaurus
'/// Call Thesaurus without a written word ///
ToolsLanguageThesaurus
Kontext "Thesaurus"
- if CurrentWord.GetSelText <> "" then Warnlog "- Though no word has been selected Current Word textfield is filled !"
+ if CurrentWord.GetSelText <> "" then Warnlog "- Though no word has been selected Current Word textfield is filled !"
if ReplaceWith.GetText <> "" then Warnlog "- Though no word has been selected there is a replacetext in the textfield!"
printlog "Set language dependent word in textfield Current Word"
CurrentWord.Settext sWordInitial
@@ -1307,11 +1320,11 @@ testcase tToolsThesaurus
end if
Call hCloseDocument
wait 500
-
+
printlog " Open new preformatted-document where the formatting is set to the language we wish to test."
call hFileOpen (TheFile,false)
- Call sMakeReadOnlyDocumentEditable
-
+ Call sMakeReadOnlyDocumentEditable
+
Call wTypeKeys sWordInitial
Call wTypeKeys "<Home><Right><Right>"
@@ -1320,12 +1333,12 @@ testcase tToolsThesaurus
Kontext "Thesaurus"
wait 500
if CurrentWord.GetSeltext = sWordInitial then
- sWordToBeFound = ReplaceWith.Gettext
+ sWordToBeFound = ReplaceWith.Gettext
if Alternatives.GetItemCount > 0 then
printlog "Select last entry in alternatives list"
Alternatives.Select Alternatives.GetItemCount
Alternatives.TypeKeys "<Space>"
- if ReplaceWith.Gettext = sWordToBeFound then
+ if ReplaceWith.Gettext = sWordToBeFound then
Warnlog "Though alternative was selected replace with was not changed"
else
sWordToBeFound = ReplaceWith.Gettext
@@ -1344,21 +1357,22 @@ testcase tToolsThesaurus
end if
Call wTypeKeys "<Home><Shift End><Delete>"
- Call wTypeKeys sWordInitial
-
+ Call wTypeKeys sWordInitial
+
printlog "- Replace unchecked ( Cursor at words end )"
ToolsLanguageThesaurus
Kontext "Thesaurus"
wait 500
if CurrentWord.GetSeltext = sWordInitial then
- sWordToBeFound = ReplaceWith.Gettext
- if Alternatives.GetItemCount > 0 then
+ sWordToBeFound = ReplaceWith.Gettext
+ if Alternatives.GetItemCount > 0 then
printlog "Select last entry in alternatives list"
Alternatives.Select Alternatives.GetItemCount
- Alternatives.TypeKeys "<Space>"
- if ReplaceWith.Gettext = sWordToBeFound then
+
+ if ReplaceWith.Gettext = sWordToBeFound then
Warnlog "Though alternative was selected replace with was not changed"
else
+ Alternatives.TypeKeys "<Space>"
sWordToBeFound = ReplaceWith.Gettext
end if
Thesaurus.OK
@@ -1373,7 +1387,7 @@ testcase tToolsThesaurus
else
Warnlog "Current word is not selected word !"
end if
-
+
'/// Close thesaurus and writerdocument ///
Call hCloseDocument
endcase
@@ -1411,6 +1425,7 @@ testcase tToolsThesaurusSynonyms
case 46 : sWordInitial = "Däng"
case 48 : sWordInitial = "wypowiedź"
case 49 : sWordInitial = "Mann"
+ case 50 : sWordInitial = "smisel"
case 55 : Printlog "- No Thesaurus in Portuguese (Brazil) !"
goto endsub
case 81 : Printlog "- No Thesaurus in Japanese!"
@@ -1460,6 +1475,3 @@ testcase tToolsThesaurusSynonyms
Call hCloseDocument
endcase
-
-
-
diff --git a/testautomation/writer/optional/input/linguistik/050.odt b/testautomation/writer/optional/input/linguistik/050.odt
new file mode 100755
index 000000000000..3a90c03e99aa
--- /dev/null
+++ b/testautomation/writer/optional/input/linguistik/050.odt
Binary files differ
diff --git a/testautomation/writer/optional/input/spellcheck/Language_Guessing_Sample_Texts.odt b/testautomation/writer/optional/input/spellcheck/Language_Guessing_Sample_Texts.odt
index e66f7a3d6c43..ae765bd5f220 100755
--- a/testautomation/writer/optional/input/spellcheck/Language_Guessing_Sample_Texts.odt
+++ b/testautomation/writer/optional/input/spellcheck/Language_Guessing_Sample_Texts.odt
Binary files differ
diff --git a/testautomation/writer/optional/input/spellcheck/spellcheck_50.odt b/testautomation/writer/optional/input/spellcheck/spellcheck_50.odt
new file mode 100755
index 000000000000..30f9d7cdc76b
--- /dev/null
+++ b/testautomation/writer/optional/input/spellcheck/spellcheck_50.odt
Binary files differ
diff --git a/testautomation/writer/optional/input/spellcheck/st1_2_50.odt b/testautomation/writer/optional/input/spellcheck/st1_2_50.odt
new file mode 100755
index 000000000000..7402e851bb65
--- /dev/null
+++ b/testautomation/writer/optional/input/spellcheck/st1_2_50.odt
Binary files differ
diff --git a/testautomation/writer/required/includes/w_020_.inc b/testautomation/writer/required/includes/w_020_.inc
index d5f4709d9c21..9235d1b83d7b 100755
--- a/testautomation/writer/required/includes/w_020_.inc
+++ b/testautomation/writer/required/includes/w_020_.inc
@@ -54,6 +54,8 @@ sub w_020_
Call tHtmlDoc_TB_Rest
gApplication = "WRITER"
+ Call tUpdtFindBar()
+
end sub
'-----------------------------------------------------------
diff --git a/testautomation/writer/required/w_updt.bas b/testautomation/writer/required/w_updt.bas
index e9fc5aab6458..b8779647281b 100755
--- a/testautomation/writer/required/w_updt.bas
+++ b/testautomation/writer/required/w_updt.bas
@@ -86,6 +86,7 @@ sub LoadIncludeFiles
use "global\required\includes\g_001.inc"
use "global\required\includes\g_option.inc" ' global subroutines for Tools / Options
use "global\required\includes\g_printing.inc"
+ use "global\required\includes\g_findbar.inc"
use "global\tools\includes\optional\t_xml_filter1.inc" ' global routines for XML-functionality
use "global\tools\includes\optional\t_docfuncs.inc"
use "global\tools\includes\optional\t_control_objects.inc"
diff --git a/transex3/java/jpropex/build.xml b/transex3/java/jpropex/build.xml
deleted file mode 100755
index d74fb3975d0f..000000000000
--- a/transex3/java/jpropex/build.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- Copyright 2000, 2010 Oracle and/or its affiliates.
-
- OpenOffice.org - a multi-platform office productivity suite
-
- This file is part of OpenOffice.org.
-
- OpenOffice.org is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License version 3
- only, as published by the Free Software Foundation.
-
- OpenOffice.org 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 version 3 for more details
- (a copy is included in the LICENSE file that accompanied this code).
-
- You should have received a copy of the GNU Lesser General Public License
- version 3 along with OpenOffice.org. If not, see
- <http://www.openoffice.org/license.html>
- for a copy of the LGPLv3 License.
-
--->
-<project name="jpropex" default="main" basedir=".">
-
- <!-- ================================================================= -->
- <!-- settings -->
- <!-- ================================================================= -->
-
- <!-- name of this sub target used in recursive builds -->
- <property name="target" value="jpropex"/>
-
- <!-- name of jar file created, without .jar extension -->
- <property name="jarname" value="jpropex"/>
-
- <!-- relative path to project directory -->
- <property name="prj" value="."/>
-
- <!-- build output directory -->
- <property name="out" value="build"/>
-
- <!-- build directories -->
- <property name="build.dir" value="${out}"/>
- <property name="build.class" value="${build.dir}/class/jpropex"/>
- <property name="build.misc" value="${build.dir}/misc/jpropex"/>
-
- <!-- start of java source code package structure -->
- <property name="java.dir" value="java"/>
-
- <!-- define how to handle CLASSPATH environment -->
- <property name="build.sysclasspath" value="ignore"/>
-
- <!-- classpath settings for compile and javadoc tasks -->
- <path id="classpath">
- <pathelement location="."/>
- <pathelement location="${build.class}"/>
- </path>
-
- <!-- name to display in documentation -->
- <!-- <property name="docname" value="l10n converter"/> -->
-
- <!-- set "modern" java compiler -->
- <property name="build.compiler" value="modern"/>
-
- <!-- set wether we want to compile with debug information -->
- <property name="debug" value="on"/>
-
- <!-- set wether we want to compile with optimisation -->
- <property name="optimize" value="off"/>
-
- <!-- set wether we want to compile with or without deprecation -->
- <property name="deprecation" value="on"/>
-
- <target name="info">
- <echo message="--------------------"/>
- <echo message="${target}"/>
- <echo message="--------------------"/>
- </target>
-
- <!-- ================================================================= -->
- <!-- custom targets -->
- <!-- ================================================================= -->
-
- <!-- the main target, called in recursive builds -->
- <target name="main" depends="info,prepare,compile,jar"/>
-
- <!-- prepare output directories -->
- <target name="prepare">
- <mkdir dir="${build.dir}"/>
- <mkdir dir="${build.class}"/>
- <mkdir dir="${build.misc}"/>
- </target>
-
-
- <target name="res" depends="prepare">
- <copy todir="${build.class}">
- <fileset dir="${java.dir}">
- <include name="**/*.properties"/>
- <include name="**/*.css"/>
- <include name="**/*.dtd"/>
- <include name="**/*.form"/>
- <include name="**/*.gif "/>
- <include name="**/*.htm"/>
- <include name="**/*.html"/>
- <include name="**/*.js"/>
- <include name="**/*.mod"/>
- <include name="**/*.sql"/>
- <include name="**/*.xml"/>
- <include name="**/*.xsl"/>
- <include name="**/*.map"/>
-
- </fileset>
- </copy>
- </target>
-
-
- <target name="compile" depends="prepare,res">
- <javac destdir="${build.class}"
- debug="${debug}"
- deprecation="${deprication}"
- optimize="${optimize}"
- classpathref="classpath">
- <src path="${java.dir}"/>
- <include name="**/*.java"/>
- </javac>
- </target>
-
- <!-- clean up -->
- <target name="clean" depends="prepare">
- <delete includeEmptyDirs="true">
- <fileset dir="${build.class}">
- <patternset>
- <include name="${package}/**/*.class"/>
- </patternset>
- </fileset>
- </delete>
- </target>
-
- <!-- create jar file -->
- <target name="jar" depends="prepare,compile" if="build.class">
- <jar jarfile="${build.class}/${jarname}.jar"
- basedir="${build.class}"
- manifest="${jarname}.MF">
- <include name="**/*.class"/>
- <include name="**/*.properties"/>
- <include name="**/*.css"/>
- <include name="**/*.dtd"/>
- <include name="**/*.form"/>
- <include name="**/*.gif "/>
- <include name="**/*.htm"/>
- <include name="**/*.html"/>
- <include name="**/*.js"/>
- <include name="**/*.mod"/>
- <include name="**/*.sql"/>
- <include name="**/*.xml"/>
- <include name="**/*.xsl"/>
- <include name="**/*.map"/>
- </jar>
- </target>
-
- <target name="test" depends="prepare">
- </target>
-
-</project>
-
diff --git a/transex3/java/jpropex/java/JPropEx.java b/transex3/java/jpropex/java/JPropEx.java
deleted file mode 100644
index 20175febe5d5..000000000000
--- a/transex3/java/jpropex/java/JPropEx.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-import java.util.*;
-import java.io.*;
-
-public class JPropEx
-{
- private String inputFileArg;
- private String outputFileArg;
- private String pathPrefixArg;
- private String pathPostfixArg;
- private String projectArg;
- private String rootArg;
- private Vector forcedLangsArg;
- private Vector langsArg;
- private String inputSdfFileArg;
- private boolean isQuiet = false;
- private final String resourceType = "javaproperties";
- private final String sourceLanguage = "en-US";
- //private SdfData data;
-
- public JPropEx()
- {
- //data = new SdfData();
- }
-
- public JPropEx( String args[] )
- {
- super();
- parseArguments( args );
- testArguments();
- if( inputSdfFileArg != null && inputSdfFileArg.length() > 0 )
- merge();
- else
- extract();
- }
-
- private String getSimpleArg( String[] args , int x )
- {
- if( x < args.length ) x++;
- else
- {
- System.err.println("ERROR: Missing arg for "+args[ x ]+"\n");
- help();
- }
- return args[ x ];
- }
- private Vector getComplexArg( String[] args , int x )
- {
- if( x < args.length ) x++;
- else
- {
- System.err.println("ERROR: Missing arg for "+args[ x ]+"\n");
- help();
- }
- String value = args[ x ];
- Vector values = new Vector( Arrays.asList( value.split(",") ) );
- return values;
- }
-
- private void help()
- {
- System.out.println("jpropex extract / merge java properties files");
- System.exit( -1 );
- }
-
- private void extract()
- {
- SdfData data = new SdfData();
- java.util.Properties prop = loadProp( inputFileArg );
-
- // Get a prototype that already contains the most common settings
- SdfEntity dolly = prepareSdfObj();
- String key;
- SdfEntity currentStr;
- String value;
- for( Enumeration e = prop.propertyNames() ; e.hasMoreElements() ; )
- {
- key = (String) e.nextElement();
- currentStr = (SdfEntity) dolly.clone();
- // Set the new LID and the string text
- currentStr.setLid( key );
- value = prop.getProperty( key , "" );
- //if( value.equals("") ) System.err.println("Warning: in file "+inputFileArg+" the string with the key "+key+" has a empty string!");
- currentStr.setText( (prop.getProperty( key )).replaceAll("\t" , " " ) ); // TODO: Quoting!!!!
- data.add( currentStr );
- }
- data.write( outputFileArg );
- }
-
- private SdfEntity prepareSdfObj()
- {
- String path = makeAbs( inputFileArg );
- path = path.replace( rootArg + "/" , "" );
- path = path.replace("/","\\");
- return new SdfEntity( projectArg , path , "" /* dummy1 */ , resourceType , "", "" , "" , "" , "" /* dummy2 */ ,
- sourceLanguage , "", "" , "" , "" , "2002-02-02 02:02:02" );
- }
-
- private void merge()
- {
- SdfData data = getSdfData();
- if( inputFileArg.startsWith("@") )
- {
- // Read files
- Vector fileList = readFileList( inputFileArg );
- for( Enumeration e = fileList.elements(); e.hasMoreElements(); )
- mergeFile( (String) e.nextElement() , data );
- }
- else
- {
- // Single file
- mergeFile( inputFileArg , data );
- }
- }
-
- private Vector readFileList( String filename )
- {
- Vector lines = new Vector();
- try
- {
- BufferedReader in = new BufferedReader( new FileReader( filename.substring( 1 ) ) );
- while( in.ready() )
- lines.add( in.readLine() );
- }
- catch( IOException e )
- {
- System.out.println("ERROR: Can't open file '"+filename.substring( 1 )+"'");
- System.exit( -1 );
- }
- return lines;
- }
-
- private void mergeFile( String filename , SdfData data )
- {
- java.util.Properties sourceProp = loadProp( filename );
- Vector langs = getLanguages( data );
- HashMap props = new HashMap();
- // Create a properties object for every language
- for( Enumeration e = langs.elements(); e.hasMoreElements();)
- {
-
- props.put( (String)e.nextElement() , new java.util.Properties() );
- }
- // Get a prototype that already contains the most common settings
-
- SdfEntity dolly = prepareSdfObj();
- String key;
- String sourceString;
- SdfEntity curStr;
- SdfEntity curEntity;
- SdfEntity mergedEntity;
- String curLang;
- for( Enumeration e = sourceProp.propertyNames() ; e.hasMoreElements() ; ) // For all property keys
- {
- key = (String) e.nextElement();
- sourceString = sourceProp.getProperty( key );
- curStr = (SdfEntity) dolly.clone();
- curStr.setLid( key );
- for( Enumeration lang = langs.elements(); lang.hasMoreElements(); ) // merge in every language
- {
- curEntity = (SdfEntity) curStr.clone();
- curLang = (String) lang.nextElement();
- curEntity.setLangid( curLang );
- mergedEntity = data.get( curEntity );
- if( mergedEntity == null )
- {
- // if case there is not translation the fallback to the en-US source string
- ( (java.util.Properties) props.get( curLang )).setProperty( curEntity.getLid() , sourceString );
- }
- else
- {
- // Set the merged text from the sdf file
- ( (java.util.Properties) props.get( curLang )).setProperty( mergedEntity.getLid() , mergedEntity.getText() ); // TODO: Quoting ???
- }
- }
-
- }
- // Now write them out
- String lang;
- for( Iterator i = props.keySet().iterator() ; i.hasNext() ; )
- {
- lang = (String) i.next();
- writeSinglePropertiesFile( filename , (java.util.Properties) props.get( lang ) , lang );
- }
- }
- private void writeSinglePropertiesFile( String filename , java.util.Properties prop , String lang )
- {
- // Prepare path to file
- int filenameIdx = filename.lastIndexOf( "/" ) > 0 ? filename.lastIndexOf( "/" )+1 : 0 ;
- String path = new String();
- String name = new String();
- if( pathPrefixArg != null && pathPrefixArg.length()>0 && pathPostfixArg != null && pathPostfixArg.length()>0 )
- {
- path = new StringBuffer().append( pathPrefixArg ).append( "/" ).append( lang ).append( "/" ).append( pathPostfixArg ).append( "/" ).toString();
- name = new StringBuffer().append( filename.substring( filenameIdx , filename.lastIndexOf( ".properties" ) ) )
- .append( "_" ).append( lang.replaceAll("-","_") ).append( ".properties" ).toString();
- }
- else if( outputFileArg != null && outputFileArg.length()>0 )
- {
- name = outputFileArg;
- name += new StringBuffer().append( inputFileArg.substring( filenameIdx , filename.lastIndexOf( ".properties" ) ) )
- .append( "_" ).append( lang.replaceAll("-","_") ).append( ".properties" ).toString();
-
- //name = outputFileArg;
- }
- else
- {
- System.err.println("ERROR: No outputfile specified .. either -o or -x -y !");
- System.exit( -1 );
- }
-
- File dir = new File( path );
- try
- {
- if( !dir.exists() && path.length()>0 )
- {
- if( !dir.mkdirs() )
- {
- System.out.println("ERROR: Can't create directory '"+path+"' !!!");
- System.exit( -1 );
- }
- }
- }
- catch( SecurityException e )
- {
- System.out.println("ERROR: Can't create directory '"+path+"'!!!Wrong Permissions?");
- System.exit( -1 );
- }
- path += name;
- // Write the properties file
- System.out.println("DBG: Writing to "+path);
- try{
- BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream( path ) );
- if( prop == null )
- System.out.println("DBG: prop == null!!!");
- prop.store( out , "" ); // Legal headers?
- }
- catch( IOException e )
- {
- System.out.println("ERROR: Can't write file '"+path+"' !!!!");
- System.exit( -1 );
- }
- }
-
- private SdfData getSdfData()
- {
- SdfData data = new SdfData( inputSdfFileArg );
- data.read();
- return data;
- }
- private Vector getLanguages( SdfData data )
- {
- Vector langs = new Vector();
-
- if( ((String)langsArg.get( 0 )).equalsIgnoreCase( "all" ) ) // for "-l all" use all languages found in the -m sdf file
- langs.addAll( data.getLanguages() );
- else
- langs.addAll( langsArg ); // use the langs giving by -l
-
- if( forcedLangsArg != null )
- langs.addAll( forcedLangsArg );
-
- return removeDupes( langs );
- }
- private Vector removeDupes( Vector vec )
- {
- Collection coll = new LinkedHashSet( vec );
- return new Vector( coll );
- }
- private java.util.Properties loadProp( String filename )
- {
- java.util.Properties prop = new java.util.Properties();
- try
- {
- prop.load( new BufferedInputStream( new NoLocalizeFilter( new FileInputStream( filename ) ) ) );
- }
- catch( IOException e )
- {
- System.err.println("ERROR: Can't read file '"+filename+"'!!!");
- }
- return prop;
- }
- private void parseArguments( String[] args )
- {
-
- if( args.length == 0 )
- {
- System.out.println("ERROR: No args???");
- help();
- System.exit( -1 );
- }
- for( int x = 0; x < args.length ; x++ )
- {
- if( args[ x ].equalsIgnoreCase("-i") )
- {
- // Input resource file
- inputFileArg = getSimpleArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-o") )
- {
- // Output sdf file
- outputFileArg = getSimpleArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-x") )
- {
- // path prefix
- pathPrefixArg = getSimpleArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-y") )
- {
- // path postfix
- pathPostfixArg = getSimpleArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-p") )
- {
- // project
- projectArg = getSimpleArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-r") )
- {
- // root
- rootArg = getSimpleArg( args , x );
- rootArg = makeAbs( rootArg );
- }
- else if( args[ x ].equalsIgnoreCase("-lf") )
- {
- // forced langs
- forcedLangsArg = getComplexArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-l") )
- {
- // langs
- langsArg = getComplexArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-m") )
- {
- // input sdf file
- inputSdfFileArg = getSimpleArg( args , x );
- }
- else if( args[ x ].equalsIgnoreCase("-qq") )
- {
- isQuiet = true;
- }
- }
- }
- private String makeAbs( String path )
- {
- File file;
- try
- {
- file = new File( path );
- return file.getCanonicalPath();
- }catch( IOException e )
- {
- e.printStackTrace();
- System.exit( -1 );
- }
- return null;
- }
- private boolean testArguments()
- {
- // nice merge
- if( inputSdfFileArg != null && inputSdfFileArg.length()>0 )
- // nice merge
- return projectArg != null && rootArg != null && inputFileArg != null && pathPrefixArg != null && pathPostfixArg != null && langsArg != null &&
- projectArg.length()>0 && rootArg.length()>0 && inputFileArg.length()>0 && pathPrefixArg.length()>0 && pathPostfixArg.length()>0 && langsArg.size()>0 ;
- else
- // nice extract
- return projectArg != null && rootArg != null && inputFileArg != null && outputFileArg != null && langsArg != null &&
- projectArg.length()>0 && rootArg.length()>0 && inputFileArg.length()>0 && outputFileArg.length()>0 && langsArg.size()>0;
- }
-
-}
diff --git a/transex3/java/jpropex/java/Main.java b/transex3/java/jpropex/java/Main.java
deleted file mode 100644
index 23dc477ddec3..000000000000
--- a/transex3/java/jpropex/java/Main.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-class Main
-{
-
- public static void main( String args[] )
- {
- JPropEx jpropex = new JPropEx( args );
- //jpropex.init();
- }
-}
-
diff --git a/transex3/java/jpropex/java/NoLocalizeFilter.java b/transex3/java/jpropex/java/NoLocalizeFilter.java
deleted file mode 100644
index c1e62fc951a8..000000000000
--- a/transex3/java/jpropex/java/NoLocalizeFilter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-import java.io.*;
-import java.util.regex.*;
-
-// exit if the sequence x-no-localize is found in stream!
-public class NoLocalizeFilter extends FilterInputStream
-{
- InputStream in;
-// Pattern p = Pattern.compile("[\\s]*#[\\s]*x-no-translate");
-
- public NoLocalizeFilter( InputStream in ) {
- super(in);
- this.in = in;
- }
- public int read(byte[] b, int off, int len) throws IOException
- {
- String search = new String( b );
-// Matcher m = p.matcher( search );
- if( search.contains("x-no-translate" ) ) // TODO: fixme!
- {
-// System.out.println("found x-no-translate");
- in.close();
- close();
- System.exit( 0 );
- }
- return in.read( b , off , len );
- }
-}
diff --git a/transex3/java/jpropex/java/OrderedHashMap.java b/transex3/java/jpropex/java/OrderedHashMap.java
deleted file mode 100644
index a462d598b307..000000000000
--- a/transex3/java/jpropex/java/OrderedHashMap.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-import java.util.*;
-
-// LinkedHashMap implrementation
-public class OrderedHashMap
-{
- private HashMap hm = new HashMap();
- private LinkedList list = new LinkedList();
-
- public Iterator iterator() { return list.iterator(); }
-
- public boolean isEmpty() { return hm.isEmpty(); }
- public Object get( Object key ) { return hm.get( key ); }
- public Object get( int index ) { return hm.get( list.get( index ) ); }
- public Iterator keys() { return list.iterator(); }
- public Object add( Object key , Object value )
- {
- list.add( key );
- return hm.put( key, value );
- }
- public Object add( int index , Object key , Object value )
- {
- list.add( index , key );
- return hm.put( key, value );
- }
- public Object remove( Object key )
- {
- list.remove( list.indexOf( key ) );
- return hm.remove( key );
- }
- public void move( int idxFrom , int idxTo )
- {
- Object key = list.get( idxFrom );
- list.remove( idxFrom );
- list.add( idxTo , key );
- }
- public void move( Object key , int idxTo )
- {
- move( list.indexOf( key ) , idxTo );
- }
- public int size()
- {
- return hm.size();
- }
- public Enumeration elements()
- {
- return new OHMenum( this );
- }
-}
-
-final class OHMenum implements Enumeration
-{
- OrderedHashMap ohm;
- int index = 0;
-
- private OHMenum(){};
- public OHMenum( OrderedHashMap ohm ){
- this.ohm = ohm ;
- }
-
- public boolean hasMoreElements()
- {
- return index < ohm.size();
- }
- public Object nextElement()
- {
- return ohm.get( index++ );
- }
-}
diff --git a/transex3/java/jpropex/java/SdfData.java b/transex3/java/jpropex/java/SdfData.java
deleted file mode 100644
index 60f218c0ae15..000000000000
--- a/transex3/java/jpropex/java/SdfData.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-import java.util.*;
-import java.io.*;
-
-public class SdfData
-{
- private String filename;
- private OrderedHashMap ohm;
- private LinkedHashSet languagesFound;
-
- public SdfData()
- {
- languagesFound = new LinkedHashSet();
- ohm = new OrderedHashMap();
- languagesFound = new LinkedHashSet();
- }
- public SdfData( String filename ){
- this();
- this.filename = filename;
- }
-
- public LinkedHashSet getLanguages()
- {
- return languagesFound;
- }
- public SdfEntity get( SdfEntity obj )
- {
- return (SdfEntity) ohm.get( (String)obj.getId() );
- }
- public SdfEntity get( String key ){
- return (SdfEntity) ohm.get( key );
- }
- public void add( SdfEntity obj )
- {
- ohm.add( obj.getId() , obj );
- }
-
- public void read()
- {
- BufferedReader in;
- try
- {
- in = new BufferedReader( new FileReader( filename ) );
- SdfEntity entity;
- while( in.ready() )
- {
- String line = in.readLine();
- if( line.length() > 0 )
- {
- entity = new SdfEntity( line );
- ohm.add( entity.getId() , entity ); // test if is valid
- languagesFound.add( entity.getLangid() );
- }
- }
- in.close();
- }
- catch( IOException e )
- {
- System.out.println("Error: reading file " + filename);
- System.exit( -1 );
- }
- }
- public void write( String filename )
- {
- FileWriter out;
- try
- {
- out = new FileWriter( filename , true ); // Always append
- for( Enumeration e = ohm.elements(); e.hasMoreElements(); )
- {
- out.write( ( (SdfEntity) e.nextElement() ).toString() + "\n" );
- }
- out.close();
- }
- catch( IOException e )
- {
- System.out.println("Error: Can't write to file " + filename);
- System.exit( -1 );
- }
- }
-}
diff --git a/transex3/java/jpropex/java/SdfEntity.java b/transex3/java/jpropex/java/SdfEntity.java
deleted file mode 100644
index e2c1606ee7c2..000000000000
--- a/transex3/java/jpropex/java/SdfEntity.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-public class SdfEntity implements Cloneable{
- private String project = new String("");
- private String source_file = new String("");
- private String dummy1 = new String("");
- private String resource_type= new String("");
- private String gid = new String("");
- private String lid = new String("");
- private String helpid = new String("");
- private String platform = new String("");
- private String dummy2 = new String("");
- private String langid = new String("");
- private String text = new String("");
- private String helptext = new String("");
- private String quickhelptext= new String("");
- private String title = new String("");
- private String date = new String("");
-
- public static int PROJECT_POS = 0;
- public static int SOURCE_FILE_POS = 1;
- public static int DUMMY1_POS = 2;
- public static int RESOURCE_TYPE_POS = 3;
- public static int GID_POS = 4;
- public static int LID_POS = 5;
- public static int HELPID_POS = 6;
- public static int PLATFORM_POS = 7;
- public static int DUMMY2_POS = 8;
- public static int LANGID_POS = 9;
- public static int TEXT_POS = 10;
- public static int HELPTEXT_POS = 11;
- public static int QUICKHELPTEXT_POS = 12;
- public static int TITLE_POS = 13;
- public static int DATE_POS = 14;
-
- public Object clone()
- {
- try
- {
- return super.clone();
- }
- catch( CloneNotSupportedException e )
- {
- System.out.println("ERROR: Can not clone, soemthing is broken here ....");
- System.exit( -1 );
- }
- return null; // dummy
- }
-
- public SdfEntity( String line ){
- // isValid?
- setProperties( line ) ;
- }
- public SdfEntity(String project, String source_file, String dummy1, String resource_type, String gid, String lid, String helpid, String platform, String dummy2, String langid, String text, String helptext, String quickhelptext, String title , String date) {
- super();
- this.project = project;
- this.source_file = source_file;
- this.dummy1 = dummy1;
- this.resource_type = resource_type;
- this.gid = gid;
- this.lid = lid;
- this.helpid = helpid;
- this.platform = platform;
- this.dummy2 = dummy2;
- this.langid = langid;
- this.text = text;
- this.helptext = helptext;
- this.quickhelptext = quickhelptext;
- this.title = title;
- this.date = date;
- }
-
- public void setProperties( String line ){
-
- String[] splitted = line.split("\t");
-
- setProject( splitted[ SdfEntity.PROJECT_POS ] );
- setSource_file( splitted[ SdfEntity.SOURCE_FILE_POS ] );
- setDummy1( splitted[ SdfEntity.DUMMY1_POS ] );
- setResource_type( splitted[ SdfEntity.RESOURCE_TYPE_POS ] );
- setGid( splitted[ SdfEntity.GID_POS ] );
- setLid( splitted[ SdfEntity.LID_POS ] );
- setHelpid( splitted[ SdfEntity.HELPID_POS ] );
- setPlatform( splitted[ SdfEntity.PLATFORM_POS ] );
- setDummy2( splitted[ SdfEntity.DUMMY2_POS ] );
- setLangid( splitted[ SdfEntity.LANGID_POS ] );
- setText( splitted[ SdfEntity.TEXT_POS ] );
- setHelptext( splitted[ SdfEntity.HELPTEXT_POS ] );
- setQuickhelptext( splitted[ SdfEntity.QUICKHELPTEXT_POS ] );
- setTitle( splitted[ SdfEntity.TITLE_POS ] );
- setDate( splitted[ SdfEntity.DATE_POS ] );
- }
-
- public String getFileId(){
- return project+"\\"+source_file;
- }
- public String getResourcePath(){
- return source_file.substring(0 , source_file.lastIndexOf( "\\" )-1 );
- }
- public String toString(){
- return project+"\t"+source_file+"\t"+dummy1+"\t"+resource_type+"\t"+gid+"\t"
- +lid+"\t"+helpid+"\t"+platform+"\t"+dummy2+"\t"+langid+"\t"
- +text+"\t"+helptext+"\t"+quickhelptext+"\t"+title+"\t"+date;
- }
- public String getId(){
- return project+gid+lid+source_file+resource_type+platform+helpid;
- }
-
- public String getDummy1() {
- return dummy1;
- }
-
- public void setDummy1(String dummy1) {
- this.dummy1 = dummy1;
- }
-
- public String getPlatform() {
- return platform;
- }
-
- public void setPlatform(String platform) {
- this.platform = platform;
- }
-
- public String getDummy2() {
- return dummy2;
- }
-
- public void setDummy2(String dummy2) {
- this.dummy2 = dummy2;
- }
-
- public String getGid() {
- return gid;
- }
-
- public void setGid(String gid) {
- this.gid = gid;
- }
-
- public String getHelpid() {
- return helpid;
- }
-
- public void setHelpid(String helpid) {
- this.helpid = helpid;
- }
-
- public String getHelptext() {
- return helptext;
- }
-
- public void setHelptext(String helptext) {
- this.helptext = helptext;
- }
-
- public String getLangid() {
- return langid;
- }
-
- public void setLangid(String langid) {
- this.langid = langid;
- }
-
- public String getLid() {
- return lid;
- }
-
- public void setLid(String lid) {
- this.lid = lid;
- }
-
- public String getProject() {
- return project;
- }
-
- public void setProject(String project) {
- this.project = project;
- }
-
- public String getQuickhelptext() {
- return quickhelptext;
- }
-
- public void setQuickhelptext(String quickhelptext) {
- this.quickhelptext = quickhelptext;
- }
-
- public String getResource_type() {
- return resource_type;
- }
-
- public void setResource_type(String resource_type) {
- this.resource_type = resource_type;
- }
-
- public String getSource_file() {
- return source_file;
- }
-
- public void setSource_file(String source_file) {
- this.source_file = source_file;
- }
-
- public String getText() {
- return text;
- }
-
- public void setText(String text) {
- this.text = text;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
- public String getDate() {
- return date;
- }
- public void setDate(String date) {
- this.date = date;
- }
-
-
-}
diff --git a/transex3/java/jpropex/jpropex b/transex3/java/jpropex/jpropex
deleted file mode 100755
index 2d62d13b093e..000000000000
--- a/transex3/java/jpropex/jpropex
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-if [ x${JAVA_HOME}x = xx ]; then
- echo No Java found!
- exit 1
-fi
-exec java -DSOLARSRC=${SOLARSRC} -DWORK_STAMP=${WORK_STAMP} -DUSE_SHELL= -jar ${SOLARVER}/${INPATH}/bin${UPDMINOREXT}/jpropex.jar "$@"
diff --git a/transex3/java/jpropex/jpropex.MF b/transex3/java/jpropex/jpropex.MF
deleted file mode 100755
index 3e22e7e9bfbf..000000000000
--- a/transex3/java/jpropex/jpropex.MF
+++ /dev/null
@@ -1 +0,0 @@
-Main-Class: Main
diff --git a/ucb/source/ucp/package/makefile.mk b/ucb/source/ucp/package/makefile.mk
index 8c6dcda31829..a8cdf7430703 100644
--- a/ucb/source/ucp/package/makefile.mk
+++ b/ucb/source/ucp/package/makefile.mk
@@ -68,6 +68,7 @@ SHL1IMPLIB=i$(TARGET)
SHL1VERSIONMAP=$(SOLARENV)/src/component.map
SHL1STDLIBS=\
+ $(COMPHELPERLIB) \
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(SALLIB) \
diff --git a/ucb/source/ucp/package/pkguri.cxx b/ucb/source/ucp/package/pkguri.cxx
index feb8daec7905..8424ed906e92 100644
--- a/ucb/source/ucp/package/pkguri.cxx
+++ b/ucb/source/ucp/package/pkguri.cxx
@@ -36,6 +36,7 @@
#include "rtl/ustrbuf.hxx"
#include "osl/diagnose.h"
+#include "comphelper/storagehelper.hxx"
#include "../inc/urihelper.hxx"
@@ -85,7 +86,7 @@ void PackageUri::init() const
if ( ( m_aUri.getLength() < PACKAGE_URL_SCHEME_LENGTH + 4 ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -100,7 +101,7 @@ void PackageUri::init() const
!= sal_Unicode( '/' ) ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -128,8 +129,8 @@ void PackageUri::init() const
{
m_aParam +=
( m_aParam.getLength()
- ? ::rtl::OUString::createFromAscii( "&purezip" )
- : ::rtl::OUString::createFromAscii( "?purezip" ) );
+ ? ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "&purezip" ) )
+ : ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "?purezip" ) ) );
}
aPureUri = aPureUri.replaceAt( 0,
@@ -143,7 +144,7 @@ void PackageUri::init() const
// Only <scheme>:/// - Empty authority
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
else if ( nEnd == ( aPureUri.getLength() - 1 ) )
@@ -154,7 +155,7 @@ void PackageUri::init() const
// Only <scheme>://// or <scheme>://<something>//
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -175,7 +176,7 @@ void PackageUri::init() const
nStart, aPureUri.getLength() - nStart, aNormPackage );
m_aPackage
= ::ucb_impl::urihelper::decodeSegment( aNormPackage );
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
m_aUri = m_aUri.replaceAt( 0,
( nParam >= 0 )
? nParam
@@ -193,16 +194,19 @@ void PackageUri::init() const
{
m_aPath = aPureUri.copy( nEnd + 1 );
- // Empty path segments or encoded slashes?
- if ( m_aPath.indexOf(
- rtl::OUString::createFromAscii( "//" ) ) != -1
- || m_aPath.indexOf(
- rtl::OUString::createFromAscii( "%2F" ) ) != -1
- || m_aPath.indexOf(
- rtl::OUString::createFromAscii( "%2f" ) ) != -1 )
+ // Unexpected sequences of characters:
+ // - empty path segments
+ // - encoded slashes
+ // - parent folder segments ".."
+ // - current folder segments "."
+ if ( m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "//" ) ) ) != -1
+ || m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "%2F" ) ) ) != -1
+ || m_aPath.indexOf( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "%2f" ) ) ) != -1
+ || ::comphelper::OStorageHelper::PathHasSegment( m_aPath, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".." ) ) )
+ || ::comphelper::OStorageHelper::PathHasSegment( m_aPath, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "." ) ) ) )
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
return;
}
@@ -239,7 +243,7 @@ void PackageUri::init() const
else
{
// error, but remember that we did a init().
- m_aPath = rtl::OUString::createFromAscii( "/" );
+ m_aPath = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
}
}
}
diff --git a/unotools/inc/unotools/configpathes.hxx b/unotools/inc/unotools/configpathes.hxx
index 2a1e76abf1fc..4e537193b22f 100644
--- a/unotools/inc/unotools/configpathes.hxx
+++ b/unotools/inc/unotools/configpathes.hxx
@@ -76,6 +76,9 @@ namespace utl
If this is not a valid configuration path, it is interpreted as
a single name of a node.
+ @param _sOutPath
+ If non-null, contains the remainder of the path upon return.
+
@returns
The plain (non-escaped) name of the node that is the first step
when traversing <var>_sInPath</var>.<BR/>
@@ -83,7 +86,8 @@ namespace utl
configuration path, it is returned unaltered.
*/
- UNOTOOLS_DLLPUBLIC ::rtl::OUString extractFirstFromConfigurationPath(::rtl::OUString const& _sInPath);
+ UNOTOOLS_DLLPUBLIC ::rtl::OUString extractFirstFromConfigurationPath(
+ ::rtl::OUString const& _sInPath, ::rtl::OUString* _sOutPath = 0);
//----------------------------------------------------------------------------
/** check whether a path is to a nested node with respect to a parent path.
diff --git a/unotools/source/config/configpathes.cxx b/unotools/source/config/configpathes.cxx
index dc66854a8d43..5e7a4c80813e 100644
--- a/unotools/source/config/configpathes.cxx
+++ b/unotools/source/config/configpathes.cxx
@@ -154,7 +154,7 @@ sal_Bool splitLastFromConfigurationPath(OUString const& _sInPath,
}
//----------------------------------------------------------------------------
-OUString extractFirstFromConfigurationPath(OUString const& _sInPath)
+OUString extractFirstFromConfigurationPath(OUString const& _sInPath, OUString* _sOutPath)
{
sal_Int32 nSep = _sInPath.indexOf('/');
sal_Int32 nBracket = _sInPath.indexOf('[');
@@ -179,8 +179,7 @@ OUString extractFirstFromConfigurationPath(OUString const& _sInPath)
nBracket = nEnd;
}
OSL_ENSURE(nEnd > nStart && _sInPath[nBracket] == ']', "Invalid config path: improper mismatch of quote or bracket");
- OSL_DEBUG_ONLY(nSep = nBracket+1);
- OSL_ENSURE(nSep == _sInPath.getLength() || _sInPath[nSep] == '/', "Invalid config path: brackets not followed by slash");
+ OSL_ENSURE((nBracket+1 == _sInPath.getLength() && nSep == -1) || (_sInPath[nBracket+1] == '/' && nSep == nBracket+1), "Invalid config path: brackets not followed by slash");
}
else // ... but our initial element name is in simple form
nStart = 0;
@@ -188,6 +187,12 @@ OUString extractFirstFromConfigurationPath(OUString const& _sInPath)
OUString sResult = (nEnd >= 0) ? _sInPath.copy(nStart, nEnd-nStart) : _sInPath;
lcl_resolveCharEntities(sResult);
+
+ if (_sOutPath != 0)
+ {
+ *_sOutPath = (nSep >= 0) ? _sInPath.copy(nSep + 1) : OUString();
+ }
+
return sResult;
}
diff --git a/unoxml/source/dom/node.cxx b/unoxml/source/dom/node.cxx
index 2a03896502a9..fb4a6bf508b3 100644
--- a/unoxml/source/dom/node.cxx
+++ b/unoxml/source/dom/node.cxx
@@ -43,13 +43,19 @@
#include "attr.hxx"
#include <com/sun/star/xml/sax/FastToken.hpp>
-
+#include "rtl/instance.hxx"
+#include "osl/mutex.hxx"
#include "../events/eventdispatcher.hxx"
#include "../events/mutationevent.hxx"
#include <boost/bind.hpp>
#include <algorithm>
+namespace {
+//see CNode::remove
+ struct NodeMutex: public ::rtl::Static<osl::Mutex, NodeMutex> {};
+}
+
namespace DOM
{
void pushContext(Context& io_rContext)
@@ -131,6 +137,18 @@ namespace DOM
void CNode::remove(const xmlNodePtr aNode)
{
+ //Using the guard here protects against races when at the same time
+ //CNode::get() is called. This fix helps in many cases but is still
+ //incorrect. remove is called from ~CNode. That is, while the object
+ //is being destructed it can still be obtained by calling CNode::get().
+ //Another bug currently prevents the correct destruction of CNodes. So
+ //the destructor is rarely called.
+ //
+ //Doing this right would probably mean to store WeakReferences in the
+ //map and also guard oder functions. To keep the risk at a minimum
+ //we keep this imperfect fix for the upcoming release and fix it later
+ //properly (http://qa.openoffice.org/issues/show_bug.cgi?id=113682)
+ ::osl::MutexGuard guard(NodeMutex::get());
nodemap_t::iterator i = CNode::theNodeMap.find(aNode);
if (i != CNode::theNodeMap.end())
{
@@ -145,7 +163,8 @@ namespace DOM
CNode* pNode = 0;
if (aNode == NULL)
return 0;
-
+ //see CNode::remove
+ ::osl::MutexGuard guard(NodeMutex::get());
//check whether there is already an instance for this node
nodemap_t::const_iterator i = CNode::theNodeMap.find(aNode);
if (i != CNode::theNodeMap.end())
diff --git a/vcl/inc/vcl/gdimtf.hxx b/vcl/inc/vcl/gdimtf.hxx
index 06f7a0d14a2e..636fc4a979f3 100644
--- a/vcl/inc/vcl/gdimtf.hxx
+++ b/vcl/inc/vcl/gdimtf.hxx
@@ -158,6 +158,8 @@ public:
sal_Bool IsEqual( const GDIMetaFile& rMtf ) const;
BOOL Mirror( ULONG nMirrorFlags );
void Move( long nX, long nY );
+ // additional Move method getting specifics how to handle MapMode( MAP_PIXEL )
+ void Move( long nX, long nY, long nDPIX, long nDPIY );
void Scale( double fScaleX, double fScaleY );
void Scale( const Fraction& rScaleX, const Fraction& rScaleY );
void Rotate( long nAngle10 );
diff --git a/vcl/inc/vcl/print.hxx b/vcl/inc/vcl/print.hxx
index 96822d9bc756..0cd56e32d83d 100644
--- a/vcl/inc/vcl/print.hxx
+++ b/vcl/inc/vcl/print.hxx
@@ -520,6 +520,7 @@ public:
SAL_DLLPRIVATE void setPrinter( const boost::shared_ptr<Printer>& );
SAL_DLLPRIVATE void setOptionChangeHdl( const Link& );
SAL_DLLPRIVATE void createProgressDialog();
+ SAL_DLLPRIVATE bool isProgressCanceled() const;
SAL_DLLPRIVATE void setMultipage( const MultiPageSetup& );
SAL_DLLPRIVATE const MultiPageSetup& getMultipage() const;
SAL_DLLPRIVATE void setLastPage( sal_Bool i_bLastPage );
diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx
index 01b34286a086..818a31a10c0f 100644
--- a/vcl/source/gdi/gdimtf.cxx
+++ b/vcl/source/gdi/gdimtf.cxx
@@ -841,6 +841,49 @@ void GDIMetaFile::Move( long nX, long nY )
}
}
+void GDIMetaFile::Move( long nX, long nY, long nDPIX, long nDPIY )
+{
+ const Size aBaseOffset( nX, nY );
+ Size aOffset( aBaseOffset );
+ VirtualDevice aMapVDev;
+
+ aMapVDev.EnableOutput( FALSE );
+ aMapVDev.SetReferenceDevice( nDPIX, nDPIY );
+ aMapVDev.SetMapMode( GetPrefMapMode() );
+
+ for( MetaAction* pAct = (MetaAction*) First(); pAct; pAct = (MetaAction*) Next() )
+ {
+ const long nType = pAct->GetType();
+ MetaAction* pModAct;
+
+ if( pAct->GetRefCount() > 1 )
+ {
+ Replace( pModAct = pAct->Clone(), GetCurPos() );
+ pAct->Delete();
+ }
+ else
+ pModAct = pAct;
+
+ if( ( META_MAPMODE_ACTION == nType ) ||
+ ( META_PUSH_ACTION == nType ) ||
+ ( META_POP_ACTION == nType ) )
+ {
+ pModAct->Execute( &aMapVDev );
+ if( aMapVDev.GetMapMode().GetMapUnit() == MAP_PIXEL )
+ {
+ aOffset = aMapVDev.LogicToPixel( aBaseOffset, GetPrefMapMode() );
+ MapMode aMap( aMapVDev.GetMapMode() );
+ aOffset.Width() = aOffset.Width() * (double)aMap.GetScaleX();
+ aOffset.Height() = aOffset.Height() * (double)aMap.GetScaleY();
+ }
+ else
+ aOffset = aMapVDev.LogicToLogic( aBaseOffset, GetPrefMapMode(), aMapVDev.GetMapMode() );
+ }
+
+ pModAct->Move( aOffset.Width(), aOffset.Height() );
+ }
+}
+
// ------------------------------------------------------------------------
void GDIMetaFile::Scale( double fScaleX, double fScaleY )
diff --git a/vcl/source/gdi/metaact.cxx b/vcl/source/gdi/metaact.cxx
index 752a4222bcb2..94f07b8f17d1 100644
--- a/vcl/source/gdi/metaact.cxx
+++ b/vcl/source/gdi/metaact.cxx
@@ -4078,7 +4078,7 @@ void MetaCommentAction::Move( long nXMove, long nYMove )
aMemStm >> aFill;
PolyPolygon aPath;
aFill.getPath( aPath );
- aPath.Scale( nXMove, nYMove );
+ aPath.Move( nXMove, nYMove );
aFill.setPath( aPath );
aDest << aFill;
}
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index 0aeb928856fc..375c570f1a16 100755
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -444,8 +444,7 @@ void Printer::ImplPrintJob( const boost::shared_ptr<PrinterController>& i_pContr
if( ! aDlg.Execute() )
{
GDIMetaFile aPageFile;
- i_pController->setLastPage( sal_True );
- i_pController->getFilteredPageFile( 0, aPageFile );
+ i_pController->abortJob();
return;
}
if( aDlg.isPrintToFile() )
@@ -453,9 +452,7 @@ void Printer::ImplPrintJob( const boost::shared_ptr<PrinterController>& i_pContr
rtl::OUString aFile = queryFile( pController->getPrinter().get() );
if( ! aFile.getLength() )
{
- GDIMetaFile aPageFile;
- i_pController->setLastPage( sal_True );
- i_pController->getFilteredPageFile( 0, aPageFile );
+ i_pController->abortJob();
return;
}
pController->setValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LocalFileName" ) ),
@@ -612,7 +609,7 @@ bool Printer::StartJob( const rtl::OUString& i_rJobName, boost::shared_ptr<vcl::
for( int nJobIteration = 0; nJobIteration < nJobs; nJobIteration++ )
{
- bool bError = false;
+ bool bError = false, bAborted = false;
if( mpPrinter->StartJob( pPrintFile,
i_rJobName,
Application::GetDisplayName(),
@@ -624,11 +621,11 @@ bool Printer::StartJob( const rtl::OUString& i_rJobName, boost::shared_ptr<vcl::
mbJobActive = TRUE;
i_pController->createProgressDialog();
int nPages = i_pController->getFilteredPageCount();
- for( int nOuterIteration = 0; nOuterIteration < nOuterRepeatCount; nOuterIteration++ )
+ for( int nOuterIteration = 0; nOuterIteration < nOuterRepeatCount && ! bAborted; nOuterIteration++ )
{
- for( int nPage = 0; nPage < nPages; nPage++ )
+ for( int nPage = 0; nPage < nPages && ! bAborted; nPage++ )
{
- for( int nInnerIteration = 0; nInnerIteration < nInnerRepeatCount; nInnerIteration++ )
+ for( int nInnerIteration = 0; nInnerIteration < nInnerRepeatCount && ! bAborted; nInnerIteration++ )
{
if( nPage == nPages-1 &&
nOuterIteration == nOuterRepeatCount-1 &&
@@ -638,6 +635,11 @@ bool Printer::StartJob( const rtl::OUString& i_rJobName, boost::shared_ptr<vcl::
i_pController->setLastPage( sal_True );
}
i_pController->printFilteredPage( nPage );
+ if( i_pController->isProgressCanceled() )
+ {
+ i_pController->abortJob();
+ bAborted = true;
+ }
}
}
// FIXME: duplex ?
@@ -956,7 +958,7 @@ PrinterController::PageSize PrinterController::getFilteredPageFile( int i_nFilte
o_rMtf.WindStart();
long nDX = (aPaperSize.Width() - aPageSize.aSize.Width()) / 2;
long nDY = (aPaperSize.Height() - aPageSize.aSize.Height()) / 2;
- o_rMtf.Move( nDX, nDY );
+ o_rMtf.Move( nDX, nDY, mpImplData->mpPrinter->ImplGetDPIX(), mpImplData->mpPrinter->ImplGetDPIY() );
o_rMtf.WindStart();
o_rMtf.SetPrefSize( aPaperSize );
aPageSize.aSize = aPaperSize;
@@ -1031,7 +1033,7 @@ PrinterController::PageSize PrinterController::getFilteredPageFile( int i_nFilte
long nOffY = (aSubPageSize.Height() - long(double(aPageSize.aSize.Height()) * fScale)) / 2;
long nX = rMPS.nLeftMargin + nOffX + nAdvX * nCellX;
long nY = rMPS.nTopMargin + nOffY + nAdvY * nCellY;
- aPageFile.Move( nX, nY );
+ aPageFile.Move( nX, nY, mpImplData->mpPrinter->ImplGetDPIX(), mpImplData->mpPrinter->ImplGetDPIY() );
aPageFile.WindStart();
// calculate border rectangle
Rectangle aSubPageRect( Point( nX, nY ),
@@ -1151,7 +1153,7 @@ void PrinterController::printFilteredPage( int i_nPage )
{
Point aPageOffset( mpImplData->mpPrinter->GetPageOffset() );
aPageFile.WindStart();
- aPageFile.Move( -aPageOffset.X(), -aPageOffset.Y() );
+ aPageFile.Move( -aPageOffset.X(), -aPageOffset.Y(), mpImplData->mpPrinter->ImplGetDPIX(), mpImplData->mpPrinter->ImplGetDPIY() );
}
GDIMetaFile aCleanedFile;
@@ -1183,6 +1185,13 @@ void PrinterController::jobFinished( view::PrintableState )
void PrinterController::abortJob()
{
setJobState( view::PrintableState_JOB_ABORTED );
+ // applications (well, sw) depend on a page request with "IsLastPage" = true
+ // to free resources, else they (well, sw) will crash eventually
+ setLastPage( sal_True );
+ delete mpImplData->mpProgress;
+ mpImplData->mpProgress = NULL;
+ GDIMetaFile aMtf;
+ getPageFile( 0, aMtf, false );
}
void PrinterController::setLastPage( sal_Bool i_bLastPage )
@@ -1515,6 +1524,11 @@ void PrinterController::createProgressDialog()
mpImplData->mpProgress->reset();
}
+bool PrinterController::isProgressCanceled() const
+{
+ return mpImplData->mpProgress && mpImplData->mpProgress->isCanceled();
+}
+
void PrinterController::setMultipage( const MultiPageSetup& i_rMPS )
{
mpImplData->maMultiPage = i_rMPS;
diff --git a/vcl/source/glyphs/graphite_layout.cxx b/vcl/source/glyphs/graphite_layout.cxx
index ae7ec8246e33..0f7d2f5f3005 100644
--- a/vcl/source/glyphs/graphite_layout.cxx
+++ b/vcl/source/glyphs/graphite_layout.cxx
@@ -594,21 +594,39 @@ bool GraphiteLayout::LayoutText(ImplLayoutArgs & rArgs)
{
#ifdef GRCACHE
GrSegRecord * pSegRecord = NULL;
- gr::Segment * pSegment = CreateSegment(rArgs, &pSegRecord);
- if (!pSegment)
- return false;
-
+ gr::Segment * pSegment = NULL;
+ // Graphite can in rare cases crash with a zero length
+ if (rArgs.mnMinCharPos < rArgs.mnEndCharPos)
+ {
+ pSegment = CreateSegment(rArgs, &pSegRecord);
+ if (!pSegment)
+ return false;
+ }
+ else
+ {
+ clear();
+ return true;
+ }
// layout the glyphs as required by OpenOffice
bool success = LayoutGlyphs(rArgs, pSegment, pSegRecord);
if (pSegRecord) pSegRecord->unlock();
else delete pSegment;
#else
- gr::Segment * pSegment = CreateSegment(rArgs);
- if (!pSegment)
- return false;
- bool success = LayoutGlyphs(rArgs, pSegment);
- delete pSegment;
+ gr::Segment * pSegment = NULL;
+ bool success = true;
+ if (rArgs.mnMinCharPos < rArgs.mnEndCharPos)
+ {
+ pSegment = CreateSegment(rArgs);
+ if (!pSegment)
+ return false;
+ success = LayoutGlyphs(rArgs, pSegment);
+ if (pSegment) delete pSegment;
+ }
+ else
+ {
+ clear();
+ }
#endif
return success;
}
@@ -659,7 +677,7 @@ public:
return hash;
};
protected:
- virtual void UniqueCacheInfo(std::wstring & stuFace, bool & fBold, bool & fItalic)
+ virtual void UniqueCacheInfo( ext_std::wstring& stuFace, bool& fBold, bool& fItalic )
{
#ifdef WIN32
dynamic_cast<GraphiteWinFont&>(mrRealFont).UniqueCacheInfo(stuFace, fBold, fItalic);
@@ -722,7 +740,7 @@ gr::Segment * GraphiteLayout::CreateSegment(ImplLayoutArgs& rArgs)
(GraphiteCacheHandler::instance).getCache(aFontHash);
if (pCache)
{
- *pSegRecord = pCache->getSegment(rArgs, bRtl, nSegCharLimit);
+ *pSegRecord = pCache->getSegment(rArgs, bRtl, limit);
if (*pSegRecord)
{
pSegment = (*pSegRecord)->getSegment();
@@ -736,7 +754,34 @@ gr::Segment * GraphiteLayout::CreateSegment(ImplLayoutArgs& rArgs)
(*pSegRecord)->clearVectors();
}
mpTextSrc->switchLayoutArgs(rArgs);
- return pSegment;
+ if (limit > rArgs.mnMinCharPos && limit == rArgs.mnEndCharPos
+ && pSegment->stopCharacter() != limit)
+ {
+ // check that the last character is not part of a ligature
+ glyph_set_range_t aGlyphSet = pSegment->charToGlyphs(limit - 1);
+ if (aGlyphSet.first == aGlyphSet.second)
+ {
+ // no glyphs associated with this glyph - occurs mid ligature
+ pSegment = NULL;
+ *pSegRecord = NULL;
+ }
+ else
+ {
+ while (aGlyphSet.first != aGlyphSet.second)
+ {
+ int lastChar = static_cast<int>((*aGlyphSet.first).lastChar());
+ if (lastChar >= limit)
+ {
+ pSegment = NULL;
+ *pSegRecord = NULL;
+ break;
+ }
+ aGlyphSet.first++;
+ }
+ }
+ }
+ if (pSegment)
+ return pSegment;
}
}
#endif
@@ -1058,7 +1103,7 @@ void GraphiteLayout::ApplyDXArray(ImplLayoutArgs &args, std::vector<int> & rDelt
{
nXOffset = args.mpDXArray[nChars - 1] - mvCharDxs[nChars - 1];
}
- int nPrevClusterGlyph = (bRtl)? mvGlyphs.size() : -1;
+ int nPrevClusterGlyph = (bRtl)? (signed)mvGlyphs.size() : -1;
int nPrevClusterLastChar = -1;
for (size_t i = 0; i < nChars; i++)
{
diff --git a/vcl/win/source/gdi/winlayout.cxx b/vcl/win/source/gdi/winlayout.cxx
index 6f0c98279e7b..806d3b420b33 100755
--- a/vcl/win/source/gdi/winlayout.cxx
+++ b/vcl/win/source/gdi/winlayout.cxx
@@ -2894,6 +2894,11 @@ void GraphiteWinLayout::RestoreDC(gr::Segment & segment) const
bool GraphiteWinLayout::LayoutText( ImplLayoutArgs & args)
{
+ if (args.mnMinCharPos >= args.mnEndCharPos)
+ {
+ maImpl.clear();
+ return true;
+ }
HFONT hUnRotatedFont;
if (args.mnOrientation)
{