summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in80
-rw-r--r--cui/source/options/optgdlg.cxx2
-rw-r--r--cui/source/options/optgdlg.src2
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_app.cxx5
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx21
-rw-r--r--desktop/source/pkgchk/unopkg/unopkg_shared.h3
-rw-r--r--desktop/zipintro/makefile.mk20
-rw-r--r--extensions/source/nsplugin/source/so_env.cxx8
-rw-r--r--extras/source/palettes/libreoffice.soc50
-rw-r--r--extras/source/palettes/standard.soc16
-rw-r--r--extras/source/premium/templates-nonfree/layout/lang/makefile.mk2
-rw-r--r--extras/source/premium/templates-nonfree/presnt/lang/makefile.mk2
-rw-r--r--extras/source/premium/templates/common/layout/makefile.mk2
-rw-r--r--extras/source/premium/templates/common/presnt/makefile.mk2
-rw-r--r--extras/source/premium/templates/layout/lang/makefile.mk2
-rw-r--r--extras/source/premium/templates/presnt/lang/makefile.mk2
-rw-r--r--extras/source/templates/lang/makefile.mk2
-rw-r--r--extras/source/templates/layout/makefile.mk3
-rw-r--r--extras/source/templates/presnt/lang/makefile.mk2
-rw-r--r--extras/source/wordbook/technical.dic215
-rw-r--r--filter/source/graphicfilter/itga/itga.cxx30
-rw-r--r--filter/source/msfilter/msvbasic.cxx17
-rw-r--r--filter/source/pdf/pdfexport.cxx6
-rw-r--r--framework/source/services/backingcomp.cxx7
-rw-r--r--hunspell/hunspell-1.2.9-crashfix.patch11
-rw-r--r--hunspell/makefile.mk3
-rw-r--r--instsetoo_native/res/nologobanner.bmpbin0 -> 5910 bytes
-rw-r--r--instsetoo_native/res/nologoinstall.bmpbin52242 -> 52030 bytes
-rw-r--r--instsetoo_native/util/makefile.mk12
-rw-r--r--instsetoo_native/util/openoffice.lst12
-rw-r--r--libxml2/libxml2-xpath.patch31
-rw-r--r--more_fonts/fonts/ttf_linlibertineg/makefile.mk4
-rw-r--r--nlpsolver/locale/NLPSolverCommon_ast.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_ca.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_de.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_en_GB.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_es.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_fa.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_fi.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_fr.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_hu.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_it.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_ja.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_ko.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_nb.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_nl.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_pt_BR.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_sl.properties23
-rw-r--r--nlpsolver/locale/NLPSolverCommon_zh_CN.properties21
-rw-r--r--nlpsolver/locale/NLPSolverCommon_zh_TW.properties21
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_ast.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_ca.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_de.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_en_GB.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_es.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_fa.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_fi.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_fr.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_hu.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_it.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_ja.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_ko.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_nb.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_nl.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_pt_BR.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_sl.properties30
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_zh_CN.properties27
-rw-r--r--nlpsolver/locale/NLPSolverStatusDialog_zh_TW.properties27
-rw-r--r--nlpsolver/makefile.mk2
-rw-r--r--nlpsolver/nlpsolver-0.9.patch11
-rw-r--r--officecfg/registry/data/org/openoffice/VCL.xcu52
-rw-r--r--ooo.lst2
-rw-r--r--package/source/zipapi/ZipFile.cxx9
-rw-r--r--readlicense_oo/odt/CREDITS.odtbin24738 -> 43415 bytes
-rw-r--r--readlicense_oo/odt/LICENSE.odtbin167118 -> 154001 bytes
-rw-r--r--sc/inc/document.hxx22
-rw-r--r--sc/inc/drwlayer.hxx2
-rw-r--r--sc/inc/table.hxx16
-rw-r--r--sc/source/core/data/document.cxx7
-rw-r--r--sc/source/core/data/drwlayer.cxx6
-rw-r--r--sc/source/core/data/table1.cxx38
-rw-r--r--sc/source/core/data/table2.cxx91
-rw-r--r--sc/source/core/data/table3.cxx74
-rw-r--r--sc/source/core/tool/compiler.cxx7
-rw-r--r--sc/source/filter/xml/xmlrowi.cxx17
-rw-r--r--sc/source/ui/docshell/externalrefmgr.cxx7
-rw-r--r--sc/source/ui/src/optdlg.src12
-rw-r--r--sc/source/ui/view/dbfunc.cxx5
-rw-r--r--sc/source/ui/view/gridwin.cxx17
-rw-r--r--sc/source/ui/view/tabvwshe.cxx4
-rw-r--r--scp2/source/base/folderitem_base.scp1
-rw-r--r--scp2/source/calc/folderitem_calc.scp1
-rw-r--r--scp2/source/draw/folderitem_draw.scp1
-rw-r--r--scp2/source/extensions/directory_extensions.scp31
-rw-r--r--scp2/source/extensions/file_extensions.scp18
-rw-r--r--scp2/source/extensions/module_extensions.scp1
-rw-r--r--scp2/source/extensions/module_extensions_lightproof.scp3
-rw-r--r--scp2/source/extensions/module_extensions_sun_templates.scp3
-rw-r--r--scp2/source/impress/folderitem_impress.scp1
-rw-r--r--scp2/source/math/folderitem_math.scp1
-rw-r--r--scp2/source/ooo/folderitem_ooo.scp2
-rw-r--r--scp2/source/ooo/module_helppack.ulf2
-rw-r--r--scp2/source/ooo/module_langpack.ulf2
-rw-r--r--scp2/source/ooo/registryitem_ooo.scp1
-rw-r--r--scp2/source/quickstart/folderitem_quickstart.scp1
-rw-r--r--scp2/source/writer/folderitem_writer.scp1
-rw-r--r--set_soenv.in4
-rwxr-xr-xsetup_native/source/packinfo/packinfo_office.txt2
-rw-r--r--sfx2/source/appl/app.hrc10
-rw-r--r--sfx2/source/appl/app.src54
-rw-r--r--sfx2/source/appl/appserv.cxx124
-rw-r--r--shell/source/unix/exec/shellexec.cxx8
-rw-r--r--slideshow/source/engine/color.cxx2
-rwxr-xr-xsolenv/bin/build.pl6
-rwxr-xr-xsolenv/bin/striplanguagetags.sh48
-rw-r--r--solenv/inc/_tg_zip.mk100
-rw-r--r--solenv/inc/minor.mk6
-rw-r--r--solenv/inc/postset.mk4
-rw-r--r--solenv/inc/tg_zip.mk10
-rw-r--r--svl/source/numbers/zforlist.cxx3
-rw-r--r--sw/source/core/doc/doc.cxx8
-rw-r--r--sw/source/core/undo/SwUndoField.cxx5
-rw-r--r--sw/source/ui/dbui/mmoutputpage.cxx4
-rw-r--r--sw/source/ui/misc/titlepage.src56
-rw-r--r--sysui/desktop/menus/base.desktop1
-rw-r--r--sysui/desktop/menus/calc.desktop1
-rw-r--r--sysui/desktop/menus/draw.desktop1
-rw-r--r--sysui/desktop/menus/impress.desktop1
-rw-r--r--sysui/desktop/menus/javafilter.desktop1
-rw-r--r--sysui/desktop/menus/math.desktop1
-rw-r--r--sysui/desktop/menus/printeradmin.desktop2
-rw-r--r--sysui/desktop/menus/qstart.desktop1
-rw-r--r--sysui/desktop/menus/startcenter.desktop1
-rw-r--r--sysui/desktop/menus/writer.desktop1
-rw-r--r--sysui/desktop/share/brand.pl8
-rw-r--r--sysui/desktop/share/makefile.mk8
-rw-r--r--sysui/desktop/share/translate.pl6
-rwxr-xr-xtestautomation/dbaccess/tools/querytools.inc11
-rwxr-xr-xtestautomation/dbaccess/tools/tabletools.inc9
-rw-r--r--testautomation/global/sid/e_all.sid3
-rwxr-xr-xtestautomation/global/system/includes/master.inc99
-rwxr-xr-xtestautomation/global/tools/includes/optional/t_security_tools.inc13
-rw-r--r--testautomation/graphics/optional/includes/global/export_graphic_2.inc32
-rw-r--r--testautomation/graphics/optional/includes/impress/i_slideshow2.inc4
-rw-r--r--testautomation/graphics/optional/includes/impress/i_slideshow3.inc2
-rw-r--r--unotools/inc/unotools/textsearch.hxx9
-rw-r--r--unotools/source/i18n/textsearch.cxx37
-rw-r--r--xpdf/xpdf-3.02.patch29
148 files changed, 2189 insertions, 460 deletions
diff --git a/configure.in b/configure.in
index 266f7e3eb144..32c4601e3aff 100644
--- a/configure.in
+++ b/configure.in
@@ -1091,20 +1091,18 @@ AC_ARG_WITH(dict,
Usage: --with-dict=ENGB,ENUS,ITIT
],,)
-AC_ARG_WITH(intro-bitmaps,
-[ --with-intro-bitmaps Prefer the specified intro bitmaps over the
- the default one. Can be more than one (separated by
- commas), the order means priority of fallback if the
- first does not exist (in the installed tree).
+AC_ARG_WITH(intro-bitmap,
+[ --with-intro-bitmap Prefer the specified intro bitmap over the
+ the default one.
- Usage: --with-intro-bitmaps=/path/my_ooo_intro.bmp
+ Usage: --with-intro-bitmap=/path/my_ooo_intro.png
],,)
-AC_ARG_WITH(about-bitmaps,
-[ --with-about-bitmaps Similarly to --with-intro-bitmaps, this allows
- specification of bitmaps for the About box.
+AC_ARG_WITH(about-bitmap,
+[ --with-about-bitmap Similarly to --with-intro-bitmap, this allows
+ specification of bitmap for the About box.
- Usage: --with-about-bitmaps=/path/my_ooo_about.bmp
+ Usage: --with-about-bitmap=/path/my_ooo_about.png
],,)
AC_ARG_WITH(vendor,
@@ -4312,12 +4310,16 @@ int main(int argc, char **argv) {
else return 1;
}
], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([no. you need at least db 4.1])])
- save_LIBS="$LIBS"
+ DB_LIB=
for dbver in '' -5.1 5.1 -5.0 5.0 -5 5 -4.8 4.8 -4.7 4.7 -4 4; do
- AC_CHECK_LIB(db$dbver, db_create, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; LIBS="-ldb$dbver $LIBS"; break ])
+ AC_CHECK_LIB(db$dbver, dbopen, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ] ,
+ AC_CHECK_LIB(db$dbver, __db185_open, [ DB_LIB="db$dbver"; DB_CPPLIB="db_cxx$dbver"; break; ]
+ )
+ )
done
- AC_CHECK_FUNC(db_create, [], [ AC_MSG_ERROR([db not installed or functional]) ])
- LIBS="$save_LIBS"
+ if test -z "$DB_LIB" ; then
+ AC_MSG_ERROR([db not installed or functional])
+ fi
SCPDEFS="$SCPDEFS -DSYSTEM_DB"
else
AC_MSG_RESULT([internal])
@@ -7775,43 +7777,33 @@ else
fi
AC_SUBST(WITH_DICT)
-AC_MSG_CHECKING([for additional 'intro' bitmaps])
-INTRO_BITMAPS=
-if test -z "$with_intro_bitmaps" -o "$with_intro_bitmaps" = "no" ; then
- INTRO_BITMAPS=
+AC_MSG_CHECKING([for another 'intro' bitmap])
+INTRO_BITMAP=
+if test -z "$with_intro_bitmap" -o "$with_intro_bitmap" = "no" ; then
+ INTRO_BITMAP=
AC_MSG_RESULT([none])
else
- for bitmap in `echo $with_intro_bitmaps | tr ',' ' '` ; do
- case "$bitmap" in
- *.bmp) ;;
- *) bitmap= ; AC_MSG_WARN([Intro bitmaps should be .bmp files!]) ;;
- esac
- if test -n "$bitmap" ; then
- INTRO_BITMAPS="$INTRO_BITMAPS $bitmap"
- fi
- done
- AC_MSG_RESULT([$INTRO_BITMAPS])
+ case "$with_intro_bitmap" in
+ *.png) INTRO_BITMAP="$with_intro_bitmap" ;;
+ *) AC_MSG_WARN([Intro bitmap should be a .png file!]) ;;
+ esac
+ AC_MSG_RESULT([$INTRO_BITMAP])
fi
-AC_SUBST(INTRO_BITMAPS)
+AC_SUBST(INTRO_BITMAP)
-AC_MSG_CHECKING([for additional 'about' bitmaps])
-ABOUT_BITMAPS=
-if test -z "$with_about_bitmaps" -o "$with_about_bitmaps" = "no" ; then
- ABOUT_BITMAPS=
+AC_MSG_CHECKING([for another 'about' bitmap])
+ABOUT_BITMAP=
+if test -z "$with_about_bitmap" -o "$with_about_bitmap" = "no" ; then
+ ABOUT_BITMAP=
AC_MSG_RESULT([none])
else
- for bitmap in `echo $with_about_bitmaps | tr ',' ' '` ; do
- case "$bitmap" in
- *.bmp) ;;
- *) bitmap= ; AC_MSG_WARN([About bitmaps should be .bmp files!]) ;;
- esac
- if test -n "$bitmap" ; then
- ABOUT_BITMAPS="$ABOUT_BITMAPS $bitmap"
- fi
- done
- AC_MSG_RESULT([$ABOUT_BITMAPS])
+ case "$with_about_bitmap" in
+ *.png) ABOUT_BITMAP="$with_about_bitmap" ;;
+ *) AC_MSG_WARN([About bitmap should be a .png file!]) ;;
+ esac
+ AC_MSG_RESULT([$ABOUT_BITMAP])
fi
-AC_SUBST(ABOUT_BITMAPS)
+AC_SUBST(ABOUT_BITMAP)
OOO_VENDOR=
AC_MSG_CHECKING([for vendor])
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index f6e1961c8008..2cf7c77ddaf7 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -267,7 +267,7 @@ OfaMiscTabPage::OfaMiscTabPage(Window* pParent, const SfxItemSet& rSet ) :
if ( !aFileDlgCB.IsVisible() )
{
// rearrange the following controls
- Point aNewPos = aDocStatusFL.GetPosPixel();
+ Point aNewPos = aPrintDlgFL.GetPosPixel();
long nDelta = aNewPos.Y() - aFileDlgFL.GetPosPixel().Y();
Window* pWins[] =
diff --git a/cui/source/options/optgdlg.src b/cui/source/options/optgdlg.src
index a4b99d361222..8a2639eec455 100644
--- a/cui/source/options/optgdlg.src
+++ b/cui/source/options/optgdlg.src
@@ -93,7 +93,7 @@ TabPage OFA_TP_MISC
PushButton PB_HELPAGENT_RESET
{
Pos = MAP_APPFONT( COL3, ROW3 );
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
+ Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH + 20, RSC_CD_PUSHBUTTON_HEIGHT );
Text [ en-US ] = "~Reset Help Agent";
};
FixedLine FL_FILEDLG
diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
index cfa33b6164b9..743790f73cfd 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx
@@ -103,8 +103,7 @@ const char s_usingText [] =
" -V, --version version information\n"
" -v, --verbose verbose output to stdout\n"
" -f, --force force overwriting existing extensions\n"
-" -s, --suppress-license prevents showing the license provided that\n"
-" the extension allows it\n"
+" -s, --suppress-license prevents showing the license\n"
" --log-file <file> custom log file; default: <cache-dir>/log.txt\n"
" --shared expert feature: operate on shared installation\n"
" deployment context;\n"
@@ -412,7 +411,7 @@ extern "C" int unopkg_main()
Reference< ::com::sun::star::ucb::XCommandEnvironment > xCmdEnv(
createCmdEnv( xComponentContext, logFile,
- option_force, option_verbose) );
+ option_force, option_verbose, option_suppressLicense) );
//synchronize bundled/shared extensions
//Do not synchronize when command is "reinstall". This could add types and services to UNO and
diff --git a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
index 09e28ba9a2cd..09ad55cac8e4 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
+++ b/desktop/source/pkgchk/unopkg/unopkg_cmdenv.cxx
@@ -86,6 +86,7 @@ class CommandEnvironmentImpl
sal_Int32 m_logLevel;
bool m_option_force_overwrite;
bool m_option_verbose;
+ bool m_option_suppress_license;
Reference< XComponentContext > m_xComponentContext;
Reference< XProgressHandler > m_xLogFile;
@@ -99,7 +100,8 @@ public:
Reference<XComponentContext> const & xComponentContext,
OUString const & log_file,
bool option_force_overwrite,
- bool option_verbose);
+ bool option_verbose,
+ bool option_suppress_license);
// XCommandEnvironment
virtual Reference< task::XInteractionHandler > SAL_CALL
@@ -124,10 +126,12 @@ CommandEnvironmentImpl::CommandEnvironmentImpl(
Reference<XComponentContext> const & xComponentContext,
OUString const & log_file,
bool option_force_overwrite,
- bool option_verbose)
+ bool option_verbose,
+ bool option_suppressLicense)
: m_logLevel(0),
m_option_force_overwrite( option_force_overwrite ),
m_option_verbose( option_verbose ),
+ m_option_suppress_license( option_suppressLicense ),
m_xComponentContext(xComponentContext)
{
if (log_file.getLength() > 0) {
@@ -280,7 +284,13 @@ void CommandEnvironmentImpl::handle(
}
else if (request >>= licExc)
{
- printLicense(licExc.ExtensionName, licExc.Text, approve, abort);
+ if ( !m_option_suppress_license )
+ printLicense(licExc.ExtensionName, licExc.Text, approve, abort);
+ else
+ {
+ approve = true;
+ abort = false;
+ }
}
else if (request >>= instExc)
{
@@ -425,10 +435,11 @@ Reference< XCommandEnvironment > createCmdEnv(
Reference< XComponentContext > const & xContext,
OUString const & logFile,
bool option_force_overwrite,
- bool option_verbose)
+ bool option_verbose,
+ bool option_suppress_license)
{
return new CommandEnvironmentImpl(
- xContext, logFile, option_force_overwrite, option_verbose);
+ xContext, logFile, option_force_overwrite, option_verbose, option_suppress_license);
}
} // unopkg
diff --git a/desktop/source/pkgchk/unopkg/unopkg_shared.h b/desktop/source/pkgchk/unopkg/unopkg_shared.h
index d5adf35b34f8..eddb5b3e0f09 100644
--- a/desktop/source/pkgchk/unopkg/unopkg_shared.h
+++ b/desktop/source/pkgchk/unopkg/unopkg_shared.h
@@ -169,7 +169,8 @@ css::uno::Reference<css::ucb::XCommandEnvironment> createCmdEnv(
css::uno::Reference<css::uno::XComponentContext> const & xContext,
::rtl::OUString const & logFile,
bool option_force_overwrite,
- bool option_verbose);
+ bool option_verbose,
+ bool option_suppressLicense);
//==============================================================================
void printf_packages(
::std::vector<
diff --git a/desktop/zipintro/makefile.mk b/desktop/zipintro/makefile.mk
index d15f2deafe45..cdc547fcc5c7 100644
--- a/desktop/zipintro/makefile.mk
+++ b/desktop/zipintro/makefile.mk
@@ -33,11 +33,11 @@ TARGET=zipintro
.INCLUDE : settings.mk
ZIP1LIST= \
- $(null,$(INTRO_BITMAPS) $(MISC)$/$(RSCDEFIMG)$/brand$/intro.png $(INTRO_BITMAPS)) \
- $(null,$(ABOUT_BITMAPS) $(MISC)$/$(RSCDEFIMG)$/brand$/about.png $(ABOUT_BITMAPS))
+ $(MISC)$/$(RSCDEFIMG)$/brand$/intro.png \
+ $(MISC)$/$(RSCDEFIMG)$/brand$/about.png
ZIP2LIST= \
- $(null,$(INTRO_BITMAPS) $(MISC)$/$(RSCDEFIMG)$/brand_dev$/intro.png $(INTRO_BITMAPS)) \
- $(null,$(ABOUT_BITMAPS) $(MISC)$/$(RSCDEFIMG)$/brand_dev$/about.png $(ABOUT_BITMAPS))
+ $(MISC)$/$(RSCDEFIMG)$/brand_dev$/intro.png \
+ $(MISC)$/$(RSCDEFIMG)$/brand_dev$/about.png
ZIP3LIST= \
$(MISC)$/$(RSCDEFIMG)$/brand$/shell$/backing_left.png \
$(MISC)$/$(RSCDEFIMG)$/brand$/shell$/backing_right.png \
@@ -90,3 +90,15 @@ $(MISC)$/%.bmp : $(SOLARSRC)$/%.bmp
$(MISC)$/%.png : $(SOLARSRC)$/%.png
@@-$(MKDIRHIER) $(@:d)
$(COPY) $< $@
+
+.IF "$(INTRO_BITMAP)" != ""
+$(MISC)$/$(RSCDEFIMG)$/brand$/intro.png : $(INTRO_BITMAP)
+ @@-$(MKDIRHIER) $(@:d)
+ $(COPY) $< $@
+.ENDIF
+
+.IF "$(ABOUT_BITMAP)" != ""
+$(MISC)$/$(RSCDEFIMG)$/brand$/about.png : $(ABOUT_BITMAP)
+ @@-$(MKDIRHIER) $(@:d)
+ $(COPY) $< $@
+.ENDIF
diff --git a/extensions/source/nsplugin/source/so_env.cxx b/extensions/source/nsplugin/source/so_env.cxx
index 212ff43d7272..bf782a74933f 100644
--- a/extensions/source/nsplugin/source/so_env.cxx
+++ b/extensions/source/nsplugin/source/so_env.cxx
@@ -205,7 +205,9 @@ int nspluginOOoModuleHook (void** aResult)
strcpy (realFileName, libFileName);
}
- fprintf (stderr, "OpenOffice path before fixup is '%s'\n", realFileName);
+#if OSL_DEBUG_LEVEL > 0
+ fprintf (stderr, "LibreOffice path before fixup is '%s'\n", realFileName);
+#endif
if (realFileName[0] != '/') {
/* a relative sym-link and we need to get an absolute path */
@@ -224,7 +226,9 @@ int nspluginOOoModuleHook (void** aResult)
*aResult = realFileName;
- fprintf (stderr, "OpenOffice path is '%s'\n", realFileName);
+#if OSL_DEBUG_LEVEL > 0
+ fprintf (stderr, "LibreOffice path is '%s'\n", realFileName);
+#endif
return 0;
}
diff --git a/extras/source/palettes/libreoffice.soc b/extras/source/palettes/libreoffice.soc
index 792dfebd7688..e2473a8147cd 100644
--- a/extras/source/palettes/libreoffice.soc
+++ b/extras/source/palettes/libreoffice.soc
@@ -5,24 +5,34 @@
<draw:color draw:name="White" draw:color="#ffffff" />
<!-- LibreOffice colors -->
<!-- http://wiki.documentfoundation.org/Marketing/Branding#Colors -->
-<draw:color draw:name="LibreGreen 1" draw:color="#18a303" />
-<draw:color draw:name="LibreGreen 2" draw:color="#2cee0e" />
-<draw:color draw:name="LibreGreen 3" draw:color="#84f671" />
-<draw:color draw:name="LibreGreen 4" draw:color="#c2f6ba" />
-<draw:color draw:name="LibreBlue 1" draw:color="#0369a3" />
-<draw:color draw:name="LibreBlue 2" draw:color="#0e9cee" />
-<draw:color draw:name="LibreBlue 3" draw:color="#49bafb" />
-<draw:color draw:name="LibreBlue 4" draw:color="#9fd7f6" />
-<draw:color draw:name="LibreMaroon 1" draw:color="#a33e03" />
-<draw:color draw:name="LibreMaroon 2" draw:color="#f25f0a" />
-<draw:color draw:name="LibreMaroon 3" draw:color="#fc9b63" />
-<draw:color draw:name="LibreMaroon 4" draw:color="#f8c9ac" />
-<draw:color draw:name="LibrePurple 1" draw:color="#8e03a3" />
-<draw:color draw:name="LibrePurple 2" draw:color="#cf42e4" />
-<draw:color draw:name="LibrePurple 3" draw:color="#db76ea" />
-<draw:color draw:name="LibrePurple 4" draw:color="#f2c4fa" />
-<draw:color draw:name="LibreYellow 1" draw:color="#cea000" />
-<draw:color draw:name="LibreYellow 2" draw:color="#f8c004" />
-<draw:color draw:name="LibreYellow 3" draw:color="#fdd24b" />
-<draw:color draw:name="LibreYellow 4" draw:color="#fee698" />
+ <draw:color draw:name="Libre Green 0" draw:color="#106802"/>
+ <draw:color draw:name="Libre Green 1" draw:color="#18a303"/>
+ <draw:color draw:name="Libre Green 2" draw:color="#43c330"/>
+ <draw:color draw:name="Libre Green 3" draw:color="#92e285"/>
+ <draw:color draw:name="Libre Green 4" draw:color="#ccf4c6"/>
+ <draw:color draw:name="Libre Blue 0" draw:color="#023f62"/>
+ <draw:color draw:name="Libre Blue 1" draw:color="#0369a3"/>
+ <draw:color draw:name="Libre Blue 2" draw:color="#1c99e0"/>
+ <draw:color draw:name="Libre Blue 3" draw:color="#63bbee"/>
+ <draw:color draw:name="Libre Blue 4" draw:color="#aadcf7"/>
+ <draw:color draw:name="Libre Orange 0" draw:color="#622502"/>
+ <draw:color draw:name="Libre Orange 1" draw:color="#a33e03"/>
+ <draw:color draw:name="Libre Orange 2" draw:color="#d36118"/>
+ <draw:color draw:name="Libre Orange 3" draw:color="#f09e6f"/>
+ <draw:color draw:name="Libre Orange 4" draw:color="#f9cfb5"/>
+ <draw:color draw:name="Libre Purple 0" draw:color="#530260"/>
+ <draw:color draw:name="Libre Purple 1" draw:color="#8e03a3"/>
+ <draw:color draw:name="Libre Purple 2" draw:color="#c254d2"/>
+ <draw:color draw:name="Libre Purple 3" draw:color="#dc85e9"/>
+ <draw:color draw:name="Libre Purple 4" draw:color="#f2cbf8"/>
+ <draw:color draw:name="Libre Yellow 0" draw:color="#876900"/>
+ <draw:color draw:name="Libre Yellow 1" draw:color="#c99c00"/>
+ <draw:color draw:name="Libre Yellow 2" draw:color="#e9b913"/>
+ <draw:color draw:name="Libre Yellow 3" draw:color="#f5cd53"/>
+ <draw:color draw:name="Libre Yellow 4" draw:color="#fde9a9"/>
+ <draw:color draw:name="Green Accent" draw:color="#2cee0e"/>
+ <draw:color draw:name="Blue Accent" draw:color="#00a0fc"/>
+ <draw:color draw:name="Orange Accent" draw:color="#fc5c00"/>
+ <draw:color draw:name="Purple Accent" draw:color="#e327ff"/>
+ <draw:color draw:name="Yellow Accent" draw:color="#ffd74c"/>
</ooo:color-table>
diff --git a/extras/source/palettes/standard.soc b/extras/source/palettes/standard.soc
index 202e67d80aa1..1bab7f6ed5dc 100644
--- a/extras/source/palettes/standard.soc
+++ b/extras/source/palettes/standard.soc
@@ -99,20 +99,4 @@
<draw:color draw:name="Chart 10" draw:color="#ff950e"/>
<draw:color draw:name="Chart 11" draw:color="#c5000b"/>
<draw:color draw:name="Chart 12" draw:color="#0084d1"/>
- <draw:color draw:name="LibreGreen 1" draw:color="#18a303"/>
- <draw:color draw:name="LibreGreen 2" draw:color="#2cee0e"/>
- <draw:color draw:name="LibreGreen 3" draw:color="#84f671"/>
- <draw:color draw:name="LibreGreen 4" draw:color="#c2f6ba"/>
- <draw:color draw:name="LibreBlue 1" draw:color="#0369a3"/>
- <draw:color draw:name="LibreBlue 2" draw:color="#0e9cee"/>
- <draw:color draw:name="LibreBlue 3" draw:color="#49bafb"/>
- <draw:color draw:name="LibreBlue 4" draw:color="#9fd7f6"/>
- <draw:color draw:name="LibreMaroon 1" draw:color="#a33e03"/>
- <draw:color draw:name="LibreMaroon 2" draw:color="#f25f0a"/>
- <draw:color draw:name="LibreMaroon 3" draw:color="#fc9b63"/>
- <draw:color draw:name="LibreMaroon 4" draw:color="#f8c9ac"/>
- <draw:color draw:name="LibrePurple 1" draw:color="#8e03a3"/>
- <draw:color draw:name="LibrePurple 2" draw:color="#cf42e4"/>
- <draw:color draw:name="LibrePurple 3" draw:color="#db76ea"/>
- <draw:color draw:name="LibrePurple 4" draw:color="#f2c4fa"/>
</office:color-table>
diff --git a/extras/source/premium/templates-nonfree/layout/lang/makefile.mk b/extras/source/premium/templates-nonfree/layout/lang/makefile.mk
index e44e094343cc..9c0da601fb2e 100644
--- a/extras/source/premium/templates-nonfree/layout/lang/makefile.mk
+++ b/extras/source/premium/templates-nonfree/layout/lang/makefile.mk
@@ -40,7 +40,7 @@ TARGET=premiumtemplatesnonfreelayout
ZIP1TARGET = $(PREMIUM_TEMPLATES_NONFREE_LAYOUT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = $(LANGDIR)$/*
diff --git a/extras/source/premium/templates-nonfree/presnt/lang/makefile.mk b/extras/source/premium/templates-nonfree/presnt/lang/makefile.mk
index 7ffde4ce3503..239d2dafcb5d 100644
--- a/extras/source/premium/templates-nonfree/presnt/lang/makefile.mk
+++ b/extras/source/premium/templates-nonfree/presnt/lang/makefile.mk
@@ -40,7 +40,7 @@ TARGET=premiumtemplatesnonfreepresnt
ZIP1TARGET = $(PREMIUM_TEMPLATES_NONFREE_PRESNT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = $(LANGDIR)$/*
diff --git a/extras/source/premium/templates/common/layout/makefile.mk b/extras/source/premium/templates/common/layout/makefile.mk
index c78dab55fcbc..470210ac3679 100644
--- a/extras/source/premium/templates/common/layout/makefile.mk
+++ b/extras/source/premium/templates/common/layout/makefile.mk
@@ -40,7 +40,7 @@ TARGET=premiumtemplatescommonlayout
ZIP1TARGET = $(PREMIUM_TEMPLATES_COMMON_LAYOUT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = * -x makefile.*
diff --git a/extras/source/premium/templates/common/presnt/makefile.mk b/extras/source/premium/templates/common/presnt/makefile.mk
index 2d5ea56bab60..d27aa0d1b427 100644
--- a/extras/source/premium/templates/common/presnt/makefile.mk
+++ b/extras/source/premium/templates/common/presnt/makefile.mk
@@ -40,7 +40,7 @@ TARGET=premiumtemplatescommonpresnt
ZIP1TARGET = $(PREMIUM_TEMPLATES_COMMON_PRESNT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = * -x makefile.*
diff --git a/extras/source/premium/templates/layout/lang/makefile.mk b/extras/source/premium/templates/layout/lang/makefile.mk
index 31c277b2c15e..b664c121baa2 100644
--- a/extras/source/premium/templates/layout/lang/makefile.mk
+++ b/extras/source/premium/templates/layout/lang/makefile.mk
@@ -40,7 +40,7 @@ TARGET=premiumtemplateslayout
ZIP1TARGET = $(PREMIUM_TEMPLATES_LAYOUT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = $(LANGDIR)$/*
diff --git a/extras/source/premium/templates/presnt/lang/makefile.mk b/extras/source/premium/templates/presnt/lang/makefile.mk
index 74eb7121d7ba..6f2e185f82a6 100644
--- a/extras/source/premium/templates/presnt/lang/makefile.mk
+++ b/extras/source/premium/templates/presnt/lang/makefile.mk
@@ -40,7 +40,7 @@ TARGET=premiumtemplatespresnt
ZIP1TARGET = $(PREMIUM_TEMPLATES_PRESNT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = $(LANGDIR)$/*
diff --git a/extras/source/templates/lang/makefile.mk b/extras/source/templates/lang/makefile.mk
index c0cc6e19088c..cfe7f54418cf 100644
--- a/extras/source/templates/lang/makefile.mk
+++ b/extras/source/templates/lang/makefile.mk
@@ -38,7 +38,7 @@ TARGET=templatesgeneral
ZIP1TARGET = $(TEMPLATE_ROOT_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = $(LANGDIR)$/*
diff --git a/extras/source/templates/layout/makefile.mk b/extras/source/templates/layout/makefile.mk
index 8fac99296c0a..7b5517054eb8 100644
--- a/extras/source/templates/layout/makefile.mk
+++ b/extras/source/templates/layout/makefile.mk
@@ -36,7 +36,8 @@ TARGET=templateslayout
.INCLUDE : $(PRJ)$/util$/target.pmk
ZIP1TARGET = $(TEMPLATE_LAYOUT_IMPRESS_TARGET)
-ZIP1LIST = * -x makefile -x delzip
+ZIP1STRIPLANGUAGETAGS=1
+ZIP1LIST = * -x makefile.* -x delzip
.INCLUDE : target.mk
diff --git a/extras/source/templates/presnt/lang/makefile.mk b/extras/source/templates/presnt/lang/makefile.mk
index fb89d31a161e..8fa2c5e29587 100644
--- a/extras/source/templates/presnt/lang/makefile.mk
+++ b/extras/source/templates/presnt/lang/makefile.mk
@@ -38,7 +38,7 @@ TARGET=templatespresnt
ZIP1TARGET = $(TEMPLATE_PRESNT_IMPRESS_TARGET)
-
+ZIP1STRIPLANGUAGETAGS=1
ZIP1LIST = $(LANGDIR)$/*
diff --git a/extras/source/wordbook/technical.dic b/extras/source/wordbook/technical.dic
new file mode 100644
index 000000000000..b79e217ecfb1
--- /dev/null
+++ b/extras/source/wordbook/technical.dic
@@ -0,0 +1,215 @@
+OOoUserDict1
+lang: <none>
+type: positive
+---
+LibreOffice=
+OpenOffice.org=
+OpenDocument=
+AppArmor
+BorderManager
+Carefx
+ConsoleOne
+GroupWise
+ManageWise
+MySQL
+NRadius
+NetIdentity
+NetMail
+NetStorage
+NetWare
+Novell
+OnDemand
+PolyServe
+SecretStore
+SecureLogin
+WorkPlace
+XTier
+Xtensible
+ZENworks
+eDirectory
+eGuide
+iChain
+iFolder
+iManager
+iPrint
+Ximian
+SLES
+SLED
+SUSE
+openSUSE
+Debian
+SPI
+woody
+sarge
+etch
+lenny
+squeeze
+wheezy
+sid
+Badger
+Breezy
+Canonical
+Dapper
+Drake
+Edgy
+Edubuntu
+Eft
+Fawn
+Feisty
+Gibbon
+Gutsy
+Hardy
+Hedgehog
+Heron
+Hoary
+Ibex
+Intrepid
+Jackalope
+Jaunty
+Karmic
+Koala
+Kubuntu
+Launchpad
+Lucid
+Lynx
+Malone
+Maverick
+Meerkat
+Rosetta
+Soyuz
+Ubuntu
+Warthog
+Warty
+Xubuntu
+Acrobat
+Acer
+Accenture
+Add-in
+Adobe
+Advanced
+AMD
+Android
+AppConnect=
+AppWizard=
+AppXaminer=
+AppXNavigator=
+AppXRay=
+Apple
+Asus
+Argus=
+AutoVue=
+Base=
+Base24=
+Bing
+CADView=
+Canon
+Calc=
+Capgemini
+Cisco=
+Chrome
+Clickstream=
+Cognos=
+Connect2OracleSelf=
+ConText=
+COREid=
+Corporation
+Dell
+Devices
+DocLink
+Docuflex=
+Documaker=
+Document
+Draw=
+Electronics
+Ethernet
+Evolution
+Exadata=
+Facebook
+Firebird
+Firefox
+Foundation
+Foxconn
+Fujitsu
+GNOME
+GNU
+Google
+Hewlett-Packard
+Hi-Fi
+Hitachi
+HP
+IBM
+Identi.ca
+Impress=
+Intel
+KDE
+LDAP
+Lenovo
+Linux
+MasterCard
+Math=
+Micro
+Microsoft=
+MicroStrategy=
+Mono
+Motorola
+Mozilla
+NEC
+Nokia
+OpenText=
+OpenWorld=
+OpenZorg=
+Opera
+Optronics
+Oracle=
+Panasonic
+PayPal
+PeopleSoft=
+Plug-in
+PostgreSQL
+PPPoE
+Quanta
+RosettaNet=
+Samba
+Samsung
+SAP
+Satmetrix=
+Sharp
+Skype
+Sony
+StorageTek=
+Sun=
+SunHSI=
+SunSAI=
+The
+TeliaSonera
+Thunderbird
+Toshiba
+Twitter
+VoIP=
+Visa
+Wi-Fi
+WiMAX
+Windows
+Writer=
+Yahoo
+YouTube
+endian
+endianness
+Kerberos
+debootstrap
+userspace
+FreeBSD
+OpenBSD
+NetBSD
+dpkg
+rpm
+gcc
+gcj
+gij
+GPS
+spamassassin
+Xen
+uname
+Ogg
+Vorbis
+FLAC
diff --git a/filter/source/graphicfilter/itga/itga.cxx b/filter/source/graphicfilter/itga/itga.cxx
index 8b3429120f9f..c7077b76f8f5 100644
--- a/filter/source/graphicfilter/itga/itga.cxx
+++ b/filter/source/graphicfilter/itga/itga.cxx
@@ -339,6 +339,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -361,6 +364,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -388,6 +394,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -408,6 +417,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -441,6 +453,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -458,6 +473,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -484,6 +502,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -501,6 +522,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -529,6 +553,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
@@ -549,6 +576,9 @@ BOOL TGAReader::ImplReadBody()
nXCount = 0;
nY += nYAdd;
nYCount++;
+
+ if( nYCount >= mpFileHeader->nImageHeight )
+ return false; // invalid picture
}
}
}
diff --git a/filter/source/msfilter/msvbasic.cxx b/filter/source/msfilter/msvbasic.cxx
index 11ed8b762932..ce937dd61dab 100644
--- a/filter/source/msfilter/msvbasic.cxx
+++ b/filter/source/msfilter/msvbasic.cxx
@@ -435,7 +435,8 @@ ReferenceNameRecord() : Id( 0x16 ), SizeOfName( 0 ), Reserved( 0x3E ), SizeOfNam
void read( SvStream* pStream )
{
- OSL_TRACE("NameRecord [0x%x]", pStream->Tell() );
+ long nPos = pStream->Tell();
+ OSL_TRACE("NameRecord [0x%x]", nPos );
*pStream >> Id >> SizeOfName;
boost::scoped_array< sal_uInt8 > pName( new sal_uInt8[ SizeOfName ] );
@@ -443,7 +444,19 @@ void read( SvStream* pStream )
pStream->Read( pName.get(), SizeOfName );
Name = svt::BinFilterUtils::CreateOUStringFromStringArray( reinterpret_cast< const char* >( pName.get() ), SizeOfName );
- *pStream >> Reserved >> SizeOfNameUnicode;
+ nPos = pStream->Tell();
+ *pStream >> Reserved;
+
+ if ( Reserved != 0x3E )
+ {
+ // it seems the spec here is incorrect and the Unicode portion
+ // looks like it can be optional ( if 'Reserved' isn't the expected
+ // 0x34 ) - return stream here to point before Reserved
+ pStream->Seek( nPos );
+ return;
+ }
+
+ *pStream >> SizeOfNameUnicode;
boost::scoped_array< sal_uInt8 > pNameUnicode( new sal_uInt8[ SizeOfNameUnicode ] );
pStream->Read( pNameUnicode.get(), SizeOfNameUnicode );
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index a450892da164..12f69e4d298a 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -789,7 +789,7 @@ sal_Bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue
pPDFExtOutDevData->SetIsReduceImageResolution( mbReduceImageResolution );
pPDFExtOutDevData->SetIsExportNamedDestinations( mbExportBmkToDest );
- Sequence< PropertyValue > aRenderOptions( 5 );
+ Sequence< PropertyValue > aRenderOptions( 6 );
aRenderOptions[ 0 ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "RenderDevice" ) );
aRenderOptions[ 0 ].Value <<= Reference< awt::XDevice >( pXDevice );
aRenderOptions[ 1 ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "ExportNotesPages" ) );
@@ -801,12 +801,8 @@ sal_Bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue
aRenderOptions[ 3 ].Value <<= sal_False;
aRenderOptions[ 4 ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "IsSkipEmptyPages" ) );
aRenderOptions[ 4 ].Value <<= mbSkipEmptyPages;
- #if 0
- // #i113919# writer has to begun "PageRange" for itself changing its renderer count
- // we should unify this behavior but not for OOo 3.3
aRenderOptions[ 5 ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "PageRange" ) );
aRenderOptions[ 5 ].Value <<= aPageRange;
- #endif
if( aPageRange.getLength() || !aSelection.hasValue() )
{
diff --git a/framework/source/services/backingcomp.cxx b/framework/source/services/backingcomp.cxx
index 68c609371b40..8660c032033c 100644
--- a/framework/source/services/backingcomp.cxx
+++ b/framework/source/services/backingcomp.cxx
@@ -522,8 +522,11 @@ void SAL_CALL BackingComp::attachFrame( /*IN*/ const css::uno::Reference< css::f
xLayoutManager->unlock();
}
- // set help ID for our canvas
- pWindow->SetHelpId(HID_BACKINGWINDOW);
+ if (pWindow)
+ {
+ // set help ID for our canvas
+ pWindow->SetHelpId(HID_BACKINGWINDOW);
+ }
// inform BackingWindow about frame
BackingWindow* pBack = dynamic_cast<BackingWindow*>(pWindow );
diff --git a/hunspell/hunspell-1.2.9-crashfix.patch b/hunspell/hunspell-1.2.9-crashfix.patch
new file mode 100644
index 000000000000..73244d21a99b
--- /dev/null
+++ b/hunspell/hunspell-1.2.9-crashfix.patch
@@ -0,0 +1,11 @@
+--- misc/hunspell-1.2.9/src/hunspell/affixmgr.cxx 2010-02-27 12:59:53.000000000 +0100
++++ misc/build/hunspell-1.2.9/src/hunspell/affixmgr.cxx 2011-01-06 16:18:23.361159724 +0100
+@@ -1542,7 +1542,7 @@
+ }
+
+ if (!rv) {
+- if (compoundflag &&
++ if (compoundflag && !words &&
+ !(rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundflag))) {
+ if ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL,
+ FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) && !hu_mov_rule &&
diff --git a/hunspell/makefile.mk b/hunspell/makefile.mk
index a455cce62388..78680892edc9 100644
--- a/hunspell/makefile.mk
+++ b/hunspell/makefile.mk
@@ -43,7 +43,8 @@ ADDITIONAL_FILES+=config.h
PATCH_FILES=\
hunspell-wntconfig.patch \
hunspell-solaris.patch \
- hunspell-stacksmash.patch
+ hunspell-stacksmash.patch \
+ hunspell-1.2.9-crashfix.patch
.IF "$(GUI)"=="UNX"
diff --git a/instsetoo_native/res/nologobanner.bmp b/instsetoo_native/res/nologobanner.bmp
new file mode 100644
index 000000000000..726be75141c3
--- /dev/null
+++ b/instsetoo_native/res/nologobanner.bmp
Binary files differ
diff --git a/instsetoo_native/res/nologoinstall.bmp b/instsetoo_native/res/nologoinstall.bmp
index 25b5b11bed20..8af9fc41f709 100644
--- a/instsetoo_native/res/nologoinstall.bmp
+++ b/instsetoo_native/res/nologoinstall.bmp
Binary files differ
diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk
index 31630d5ef273..2befb3e81580 100644
--- a/instsetoo_native/util/makefile.mk
+++ b/instsetoo_native/util/makefile.mk
@@ -191,7 +191,7 @@ $(foreach,i,$(alllangiso) ooodevhelppack_$i) : $(ADDDEPS)
$(foreach,i,$(alllangiso) sdkoo_$i) : $(ADDDEPS)
$(foreach,i,$(alllangiso) sdkoodev_$i) : $(ADDDEPS)
-
+
$(foreach,i,$(alllangiso) ure_$i) : $(ADDDEPS)
$(foreach,i,$(alllangiso) broffice_$i) : $(ADDDEPS)
@@ -341,11 +341,21 @@ hack_msitemplates .PHONY:
$(RM) $(MSIHELPPACKTEMPLATEDIR)$/Binary$/Image.bmp
$(RM) $(MSIURETEMPLATEDIR)$/Binary$/Image.bmp
$(RM) $(MSISDKOOTEMPLATEDIR)$/Binary$/Image.bmp
+ $(RM) $(MSIOFFICETEMPLATEDIR)$/Binary$/Banner.bmp
+ $(RM) $(MSILANGPACKTEMPLATEDIR)$/Binary$/Banner.bmp
+ $(RM) $(MSIHELPPACKTEMPLATEDIR)$/Binary$/Banner.bmp
+ $(RM) $(MSIURETEMPLATEDIR)$/Binary$/Banner.bmp
+ $(RM) $(MSISDKOOTEMPLATEDIR)$/Binary$/Banner.bmp
$(COPY) $(PRJ)$/res$/nologoinstall.bmp $(MSIOFFICETEMPLATEDIR)$/Binary$/Image.bmp
$(COPY) $(PRJ)$/res$/nologoinstall.bmp $(MSILANGPACKTEMPLATEDIR)$/Binary$/Image.bmp
$(COPY) $(PRJ)$/res$/nologoinstall.bmp $(MSIHELPPACKTEMPLATEDIR)$/Binary$/Image.bmp
$(COPY) $(PRJ)$/res$/nologoinstall.bmp $(MSIURETEMPLATEDIR)$/Binary$/Image.bmp
$(COPY) $(PRJ)$/res$/nologoinstall.bmp $(MSISDKOOTEMPLATEDIR)$/Binary$/Image.bmp
+ $(COPY) $(PRJ)$/res$/nologobanner.bmp $(MSIOFFICETEMPLATEDIR)$/Binary$/Banner.bmp
+ $(COPY) $(PRJ)$/res$/nologobanner.bmp $(MSILANGPACKTEMPLATEDIR)$/Binary$/Banner.bmp
+ $(COPY) $(PRJ)$/res$/nologobanner.bmp $(MSIHELPPACKTEMPLATEDIR)$/Binary$/Banner.bmp
+ $(COPY) $(PRJ)$/res$/nologobanner.bmp $(MSIURETEMPLATEDIR)$/Binary$/Banner.bmp
+ $(COPY) $(PRJ)$/res$/nologobanner.bmp $(MSISDKOOTEMPLATEDIR)$/Binary$/Banner.bmp
.IF "$(OS)" == "WNT"
diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst
index dccd310e7ef2..ebe63ce3c57a 100644
--- a/instsetoo_native/util/openoffice.lst
+++ b/instsetoo_native/util/openoffice.lst
@@ -57,7 +57,7 @@ LibreOffice
PRODUCTVERSION 3.3
PRODUCTEXTENSION
LONG_PRODUCTEXTENSION
- SHORT_PRODUCTEXTENSION rc2
+ SHORT_PRODUCTEXTENSION rc3
POSTVERSIONEXTENSION
POSTVERSIONEXTENSIONUNIX
BRANDPACKAGEVERSION 3
@@ -126,7 +126,7 @@ LibreOffice_wJRE
PRODUCTVERSION 3.3
PRODUCTEXTENSION
LONG_PRODUCTEXTENSION
- SHORT_PRODUCTEXTENSION rc2
+ SHORT_PRODUCTEXTENSION rc3
POSTVERSIONEXTENSION
POSTVERSIONEXTENSIONUNIX
BRANDPACKAGEVERSION 3
@@ -191,7 +191,7 @@ LibreOffice_Dev
PRODUCTVERSION 3.3
PRODUCTEXTENSION
LONG_PRODUCTEXTENSION
- SHORT_PRODUCTEXTENSION rc2
+ SHORT_PRODUCTEXTENSION rc3
BASISROOTNAME LibO-dev
UNIXBASISROOTNAME lo-dev
POSTVERSIONEXTENSION
@@ -269,7 +269,7 @@ URE
PRODUCTEXTENSION
BRANDPACKAGEVERSION 3
LONG_PRODUCTEXTENSION
- SHORT_PRODUCTEXTENSION rc2
+ SHORT_PRODUCTEXTENSION rc3
LICENSENAME LGPL
SERVICESPROJEKT 1
SETSTATICPATH 1
@@ -310,7 +310,7 @@ LibreOffice_SDK
PRODUCTVERSION 3.3
PRODUCTEXTENSION
LONG_PRODUCTEXTENSION
- SHORT_PRODUCTEXTENSION rc2
+ SHORT_PRODUCTEXTENSION rc3
POSTVERSIONEXTENSION SDK
POSTVERSIONEXTENSIONUNIX sdk
BRANDPACKAGEVERSION 3
@@ -355,7 +355,7 @@ LibreOffice_Dev_SDK
PRODUCTVERSION 3.3
PRODUCTEXTENSION
LONG_PRODUCTEXTENSION
- SHORT_PRODUCTEXTENSION rc2
+ SHORT_PRODUCTEXTENSION rc3
BASISROOTNAME LibO-dev
UNIXBASISROOTNAME lo-dev
POSTVERSIONEXTENSION SDK
diff --git a/libxml2/libxml2-xpath.patch b/libxml2/libxml2-xpath.patch
index e02982f16efe..107de91ed862 100644
--- a/libxml2/libxml2-xpath.patch
+++ b/libxml2/libxml2-xpath.patch
@@ -1,6 +1,6 @@
---- misc/libxml2-2.7.6/xpath.c
-+++ misc/build/libxml2-2.7.6/xpath.c
-@@ -8104,9 +8104,17 @@
+--- misc/libxml2-2.7.6/xpath.c 2009-09-24 17:32:00.000000000 +0200
++++ misc/build/libxml2-2.7.6/xpath.c 2011-01-03 17:21:08.788256100 +0100
+@@ -8106,9 +8106,17 @@
xmlNodePtr
xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) {
if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
@@ -21,7 +21,7 @@
if (cur == NULL) return(NULL) ; /* ERROR */
if (cur->next != NULL) return(cur->next) ;
do {
-@@ -8160,8 +8168,13 @@
+@@ -8162,8 +8170,13 @@
xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur)
{
if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
@@ -36,7 +36,7 @@
if (cur == NULL)
return (NULL);
if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
-@@ -8205,8 +8218,8 @@
+@@ -8207,8 +8220,8 @@
cur = ctxt->context->node;
if (cur == NULL)
return (NULL);
@@ -47,3 +47,24 @@
ctxt->ancestor = cur->parent;
}
if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE))
+@@ -11737,11 +11750,16 @@
+
+ if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
+ xmlXPathObjectPtr tmp;
+- /* pop the result */
++ /* pop the result if any */
+ tmp = valuePop(ctxt);
+- xmlXPathReleaseObject(xpctxt, tmp);
+- /* then pop off contextObj, which will be freed later */
+- valuePop(ctxt);
++ if (tmp != contextObj) {
++ /*
++ * Free up the result
++ * then pop off contextObj, which will be freed later
++ */
++ xmlXPathReleaseObject(xpctxt, tmp);
++ valuePop(ctxt);
++ }
+ goto evaluation_error;
+ }
+
diff --git a/more_fonts/fonts/ttf_linlibertineg/makefile.mk b/more_fonts/fonts/ttf_linlibertineg/makefile.mk
index 678a398a2943..2849af332adf 100644
--- a/more_fonts/fonts/ttf_linlibertineg/makefile.mk
+++ b/more_fonts/fonts/ttf_linlibertineg/makefile.mk
@@ -36,8 +36,8 @@ TARGET=ttf_linlibertineg
# --- Files --------------------------------------------------------
-TARFILE_NAME=LinLibertineG-20101021
-TARFILE_MD5=c8fc33ad1efb77155f61e0e4ba8d3e9e
+TARFILE_NAME=LinLibertineG-20110101
+TARFILE_MD5=881af2b7dca9b8259abbca00bbbc004d
TARFILE_ROOTDIR=LinLibertineG
PATCH_FILES=
diff --git a/nlpsolver/locale/NLPSolverCommon_ast.properties b/nlpsolver/locale/NLPSolverCommon_ast.properties
new file mode 100644
index 000000000000..fc92d755d10e
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_ast.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Asumir variables non-negatives
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Tama\u00F1u del ensame
+NLPSolverCommon.Properties.LibrarySize=Tama\u00F1u de biblioteca
+NLPSolverCommon.Properties.LearningCycles=Ciclos de deprendimientu
+NLPSolverCommon.Properties.GuessVariableRange=Albidrar llendes variables
+NLPSolverCommon.Properties.VariableRangeThreshold=Intervalu de llendes variables (al albidrar)
+NLPSolverCommon.Properties.UseACRComparator=Usar el comparador ACR (en llugar del BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Usar puntu d'aniciu al debalu
+NLPSolverCommon.Properties.StagnationLimit=Llende d'estancamientu
+NLPSolverCommon.Properties.Tolerance=Tolerancia d'estancamientu
+NLPSolverCommon.Properties.EnhancedSolverStatus=Amosar est\u00E1u del resolvedor enant\u00E1u
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Tasa de conmutaci\u00F3n d'axente (Probabilid\u00E1 DE)
+NLPSolverCommon.Properties.DEFactor=DE: Factor d'escala (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: Probabilid\u00E1 de cruciamientu (0_1)
+NLPSolverCommon.Properties.PSC1=PS: Constante cognitiva
+NLPSolverCommon.Properties.PSC2=PS: Constante social
+NLPSolverCommon.Properties.PSWeight=PS: Coeficiente de restricci\u00F3n
+NLPSolverCommon.Properties.PSCL=PS: Probabilid\u00E1 de mutaci\u00F3n (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_ca.properties b/nlpsolver/locale/NLPSolverCommon_ca.properties
new file mode 100644
index 000000000000..6adf00deda01
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_ca.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Assumeix variables no negatives
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Mida de l'eixam
+NLPSolverCommon.Properties.LibrarySize=Mida la biblioteca
+NLPSolverCommon.Properties.LearningCycles=Cicles d'aprenentatge
+NLPSolverCommon.Properties.GuessVariableRange=Estimaci\u00F3 dels l\u00EDmits de la variable
+NLPSolverCommon.Properties.VariableRangeThreshold=Llindar dels l\u00EDmits de la variable (en l'estimaci\u00F3)
+NLPSolverCommon.Properties.UseACRComparator=Usa el comparador ACR (en comptes del BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Utilitza un punt d'inici aleatori
+NLPSolverCommon.Properties.StagnationLimit=L\u00EDmit d'estagnaci\u00F3
+NLPSolverCommon.Properties.Tolerance=Toler\u00E0ncia d'estagnaci\u00F3
+NLPSolverCommon.Properties.EnhancedSolverStatus=Mostra l'estat millorat del solucionador
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Taxa d'intercanvi de l'agent (probabilitat de l'evoluci\u00F3 diferencial)
+NLPSolverCommon.Properties.DEFactor=ED: factor d'escala (0-1,2)
+NLPSolverCommon.Properties.DECR=ED: probabilitat d'encreuament (0-1)
+NLPSolverCommon.Properties.PSC1=EP: constant cognitiva
+NLPSolverCommon.Properties.PSC2=EP: constant social
+NLPSolverCommon.Properties.PSWeight=EP: coeficient de constricci\u00F3
+NLPSolverCommon.Properties.PSCL=EP: probabilitat de mutaci\u00F3 (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_de.properties b/nlpsolver/locale/NLPSolverCommon_de.properties
new file mode 100644
index 000000000000..a79d19adb47e
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_de.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Nicht-negative Variablen voraussetzen
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Schwarmgr\u00F6\u00DFe
+NLPSolverCommon.Properties.LibrarySize=Gr\u00F6\u00DFe der Bibliothek
+NLPSolverCommon.Properties.LearningCycles=Lernzyklen
+NLPSolverCommon.Properties.GuessVariableRange=Variablengrenzen raten
+NLPSolverCommon.Properties.VariableRangeThreshold=Variablengrenzbereich (beim Raten)
+NLPSolverCommon.Properties.UseACRComparator=ACR Komparator (statt BCH) nutzen
+NLPSolverCommon.Properties.UseRandomStartingPoint=Zuf\u00E4lligen Startpunkt w\u00E4hlen
+NLPSolverCommon.Properties.StagnationLimit=Beendigungsgrenze
+NLPSolverCommon.Properties.Tolerance=Beendigungstoleranz
+NLPSolverCommon.Properties.EnhancedSolverStatus=Erweiterten Solver-Status anzeigen
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Agent Switch Rate (DE Wahrscheinlichkeit)
+NLPSolverCommon.Properties.DEFactor=DE: Skalierungsfaktor (0-1,2)
+NLPSolverCommon.Properties.DECR=DE: Crossover-Wahrscheinlichkeit (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Kognitivit\u00E4tskonstante
+NLPSolverCommon.Properties.PSC2=PS: Social Constant
+NLPSolverCommon.Properties.PSWeight=PS: Konstriktionskoeffizient
+NLPSolverCommon.Properties.PSCL=PS: Mutationswahrscheinlichkeit (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_en_GB.properties b/nlpsolver/locale/NLPSolverCommon_en_GB.properties
new file mode 100644
index 000000000000..6ec91f8ce2a8
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_en_GB.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Assume Non-Negative Variables
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Size of Swarm
+NLPSolverCommon.Properties.LibrarySize=Size of Library
+NLPSolverCommon.Properties.LearningCycles=Learning Cycles
+NLPSolverCommon.Properties.GuessVariableRange=Variable Bounds Guessing
+NLPSolverCommon.Properties.VariableRangeThreshold=Variable Bounds Threshold (when guessing)
+NLPSolverCommon.Properties.UseACRComparator=Use ACR Comparator (instead of BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Use Random starting point
+NLPSolverCommon.Properties.StagnationLimit=Stagnation Limit
+NLPSolverCommon.Properties.Tolerance=Stagnation Tolerance
+NLPSolverCommon.Properties.EnhancedSolverStatus=Show enhanced solver status
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Agent Switch Rate (DE Probability)
+NLPSolverCommon.Properties.DEFactor=DE: Scaling Factor (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: Crossover Probability (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Cognitive Constant
+NLPSolverCommon.Properties.PSC2=PS: Social Constant
+NLPSolverCommon.Properties.PSWeight=PS: Constriction Coefficient
+NLPSolverCommon.Properties.PSCL=PS: Mutation Probability (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_es.properties b/nlpsolver/locale/NLPSolverCommon_es.properties
new file mode 100644
index 000000000000..3bf4d9ca3824
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_es.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Asumir variables no-negativas
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Tama\u00F1o del enjambre
+NLPSolverCommon.Properties.LibrarySize=Tama\u00F1o de la biblioteca
+NLPSolverCommon.Properties.LearningCycles=Ciclos de aprendizaje
+NLPSolverCommon.Properties.GuessVariableRange=Estimaci\u00F3n de los l\u00EDmites de las variables
+NLPSolverCommon.Properties.VariableRangeThreshold=Umbral de los l\u00EDmites de las variables (al estimar)
+NLPSolverCommon.Properties.UseACRComparator=Usar el comparador ACR (en vez del BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Usar un punto inicial aleatorio
+NLPSolverCommon.Properties.StagnationLimit=Limite de estancamiento
+NLPSolverCommon.Properties.Tolerance=Tolerancia de estancamiento
+NLPSolverCommon.Properties.EnhancedSolverStatus=Mostrar el estado extendido del solucionador
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Tasa de cambio del agente (probabilidad DE)
+NLPSolverCommon.Properties.DEFactor=DE: factor de escala (0-1,2)
+NLPSolverCommon.Properties.DECR=DE: Probabilidad de cruce (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Constante cognitiva
+NLPSolverCommon.Properties.PSC2=PS: Constante social
+NLPSolverCommon.Properties.PSWeight=PS: Coeficiente de constricci\u00F3n
+NLPSolverCommon.Properties.PSCL=PS: Probabilidad de mutaci\u00F3n (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_fa.properties b/nlpsolver/locale/NLPSolverCommon_fa.properties
new file mode 100644
index 000000000000..ddabfc81f313
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_fa.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=\u0641\u0631\u0636 \u06A9\u0631\u062F\u0646 \u0645\u062A\u063A\u06CC\u0631\u0647\u0627\u06CC \u0646\u0627\u0645\u0646\u0641\u06CC
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Size of Swarm
+NLPSolverCommon.Properties.LibrarySize=\u0627\u0646\u062F\u0627\u0632\u0647 \u06A9\u062A\u0627\u0628\u200C\u062E\u0627\u0646\u0647
+NLPSolverCommon.Properties.LearningCycles=\u0686\u0631\u062E\u0647\u200C\u0647\u0627\u06CC \u06CC\u0627\u062F\u200C\u06AF\u06CC\u0631\u06CC
+NLPSolverCommon.Properties.GuessVariableRange=\u062D\u062F\u0633 \u0632\u062F\u0646 \u06A9\u0631\u0627\u0646\u200C\u0647\u0627\u06CC \u0645\u062A\u063A\u06CC\u0631
+NLPSolverCommon.Properties.VariableRangeThreshold=\u0622\u0633\u062A\u0627\u0646\u0647 \u06A9\u0631\u0627\u0646\u200C\u0647\u0627\u06CC \u0645\u062A\u063A\u06CC\u0631 (\u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u062F\u0633 \u0632\u062F\u0646)
+NLPSolverCommon.Properties.UseACRComparator=\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0645\u0642\u0627\u06CC\u0633\u0647 \u06A9\u0646\u0646\u062F\u0647 ACR (\u0628\u0647\u200C\u062C\u0627\u06CC BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=\u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 \u0646\u0642\u0637\u0647 \u0622\u063A\u0627\u0632 \u062A\u0635\u0627\u062F\u0641\u06CC
+NLPSolverCommon.Properties.StagnationLimit=\u062D\u062F \u0627\u06CC\u0633\u062A\u0627\u06CC\u06CC
+NLPSolverCommon.Properties.Tolerance=\u062A\u062D\u0645\u0644 \u0627\u06CC\u0633\u062A\u0627\u06CC\u06CC
+NLPSolverCommon.Properties.EnhancedSolverStatus=\u0646\u0645\u0627\u06CC\u0634 \u0648\u0636\u0639\u06CC\u062A \u062D\u0644\u200C\u06A9\u0646\u0646\u062F\u0647 \u0628\u0647\u0628\u0648\u062F\u200C\u06CC\u0627\u0641\u062A\u0647
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Agent Switch Rate (DE Probability)
+NLPSolverCommon.Properties.DEFactor=DE: \u0636\u0631\u06CC\u0628 \u0645\u0642\u06CC\u0627\u0633 (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: Crossover Probability (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Cognitive Constant
+NLPSolverCommon.Properties.PSC2=PS: Social Constant
+NLPSolverCommon.Properties.PSWeight=PS: Constriction Coefficient
+NLPSolverCommon.Properties.PSCL=PS: Mutation Probability (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_fi.properties b/nlpsolver/locale/NLPSolverCommon_fi.properties
new file mode 100644
index 000000000000..e77054a5aee1
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_fi.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Oleta muuttujat ei-negatiivisiksi
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Parven koko
+NLPSolverCommon.Properties.LibrarySize=Kirjaston koko
+NLPSolverCommon.Properties.LearningCycles=Oppimissyklit
+NLPSolverCommon.Properties.GuessVariableRange=Arvaa muuttujien rajat
+NLPSolverCommon.Properties.VariableRangeThreshold=Muuttujarajojen kynnysarvo (arvaamalla)
+NLPSolverCommon.Properties.UseACRComparator=K\u00E4yt\u00E4 ACR-vertailijaa (BCH:n sijaan)
+NLPSolverCommon.Properties.UseRandomStartingPoint=K\u00E4yt\u00E4 satunnaista aloituspistett\u00E4
+NLPSolverCommon.Properties.StagnationLimit=Pys\u00E4htymisraja
+NLPSolverCommon.Properties.Tolerance=Pys\u00E4htymisen sieto
+NLPSolverCommon.Properties.EnhancedSolverStatus=N\u00E4yt\u00E4 ratkaisimen tila laajasti
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Agentin vaihtoaste (DE-todenn\u00E4k\u00F6isyys)
+NLPSolverCommon.Properties.DEFactor=DE: Skaalaustekij\u00E4 (0-1,2)
+NLPSolverCommon.Properties.DECR=DE: Sekoitustodenn\u00E4k\u00F6isyys (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Kognitiivinen vakio
+NLPSolverCommon.Properties.PSC2=PS: Sosiaalinen vakio
+NLPSolverCommon.Properties.PSWeight=PS: Supistumispaino
+NLPSolverCommon.Properties.PSCL=PS: Mutaatiotodenn\u00E4k\u00F6isyys (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_fr.properties b/nlpsolver/locale/NLPSolverCommon_fr.properties
new file mode 100644
index 000000000000..0fccec5ff73a
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_fr.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Supposer des variables non n\u00E9gatives
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Taille de la colonie
+NLPSolverCommon.Properties.LibrarySize=Taille de la biblioth\u00E8que
+NLPSolverCommon.Properties.LearningCycles=Cycles d'apprentissage
+NLPSolverCommon.Properties.GuessVariableRange=Estimation des limites de la variable
+NLPSolverCommon.Properties.VariableRangeThreshold=Seuil des limites de la variable (lors de l'estimation)
+NLPSolverCommon.Properties.UseACRComparator=Utiliser le comparateur ACR (au lieu de BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Utiliser un point de d\u00E9part al\u00E9atoire
+NLPSolverCommon.Properties.StagnationLimit=Limite de stagnation
+NLPSolverCommon.Properties.Tolerance=Tol\u00E9rance de stagnation
+NLPSolverCommon.Properties.EnhancedSolverStatus=Afficher l'\u00E9tat am\u00E9lior\u00E9 du solveur
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Taux de changement de l'agent (probabilit\u00E9 DE)
+NLPSolverCommon.Properties.DEFactor=DE : facteur d'\u00E9chelle (0-1,2)
+NLPSolverCommon.Properties.DECR=DE: probabilit\u00E9 de crossover (0-1)
+NLPSolverCommon.Properties.PSC1=PS : constante cognitive
+NLPSolverCommon.Properties.PSC2=PS : constante sociale
+NLPSolverCommon.Properties.PSWeight=PS : coefficient de r\u00E9duction
+NLPSolverCommon.Properties.PSCL=PS : probabilit\u00E9 de mutation (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_hu.properties b/nlpsolver/locale/NLPSolverCommon_hu.properties
new file mode 100644
index 000000000000..0de747e6e0de
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_hu.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Nem negat\u00EDv v\u00E1ltoz\u00F3k felt\u00E9telez\u00E9se
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Popul\u00E1ci\u00F3 m\u00E9rete
+NLPSolverCommon.Properties.LibrarySize=K\u00F6nyvt\u00E1r m\u00E9rete
+NLPSolverCommon.Properties.LearningCycles=Tanul\u00E1si ciklusok
+NLPSolverCommon.Properties.GuessVariableRange=V\u00E1ltoz\u00F3 korl\u00E1tainak kital\u00E1l\u00E1sa
+NLPSolverCommon.Properties.VariableRangeThreshold=V\u00E1ltoz\u00F3 korl\u00E1tj\u00E1nak k\u00FCsz\u00F6be (kital\u00E1l\u00E1sn\u00E1l)
+NLPSolverCommon.Properties.UseACRComparator=ACR kompar\u00E1tor haszn\u00E1lata (BCH helyett)
+NLPSolverCommon.Properties.UseRandomStartingPoint=V\u00E9letlen kezd\u0151pont haszn\u00E1lata
+NLPSolverCommon.Properties.StagnationLimit=Stagn\u00E1l\u00E1si korl\u00E1t
+NLPSolverCommon.Properties.Tolerance=Stagn\u00E1l\u00E1si t\u0171r\u00E9shat\u00E1r
+NLPSolverCommon.Properties.EnhancedSolverStatus=A Megold\u00F3 r\u00E9szletes \u00E1llapota
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Egyed v\u00E1lt\u00E1si r\u00E1t\u00E1ja (DE val\u00F3sz\u00EDn\u0171s\u00E9g)
+NLPSolverCommon.Properties.DEFactor=DE: Sk\u00E1lafaktor (0\u20131,2)
+NLPSolverCommon.Properties.DECR=DE: Keresztez\u0151d\u00E9s val\u00F3sz\u00EDn\u0171s\u00E9ge (0\u20131)
+NLPSolverCommon.Properties.PSC1=PS: Kognit\u00EDv \u00E1lland\u00F3
+NLPSolverCommon.Properties.PSC2=PS: K\u00F6z\u00F6ss\u00E9gi \u00E1lland\u00F3
+NLPSolverCommon.Properties.PSWeight=PS: \u00D6sszeh\u00FAz\u00F3d\u00E1si egy\u00FCtthat\u00F3
+NLPSolverCommon.Properties.PSCL=PS: Mut\u00E1ci\u00F3 val\u00F3sz\u00EDn\u0171s\u00E9ge (0\u20130,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_it.properties b/nlpsolver/locale/NLPSolverCommon_it.properties
new file mode 100644
index 000000000000..9a143e67b098
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_it.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Presumi variabili non-negative
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Dimensione dello sciame
+NLPSolverCommon.Properties.LibrarySize=Dimensione della libreria
+NLPSolverCommon.Properties.LearningCycles=Cicli di apprendimento
+NLPSolverCommon.Properties.GuessVariableRange=Calcolo approssimato limiti variabili
+NLPSolverCommon.Properties.VariableRangeThreshold=Soglia limiti variabili (durante il calcolo approssimato)
+NLPSolverCommon.Properties.UseACRComparator=Usa comparatore ACR (anzich\u00E9 BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Usa punto di avvio casuale
+NLPSolverCommon.Properties.StagnationLimit=Limite di stagnazione
+NLPSolverCommon.Properties.Tolerance=Tolleranza di stagnazione
+NLPSolverCommon.Properties.EnhancedSolverStatus=Mostra stato del risolutore avanzato
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Agent Switch Rate (probabilit\u00E0 DE)
+NLPSolverCommon.Properties.DEFactor=DE: Fattore di scala (0-1,2)
+NLPSolverCommon.Properties.DECR=DE: Probabilit\u00E0 di attraversamento (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Costante cognitiva
+NLPSolverCommon.Properties.PSC2=PS: Costante sociale
+NLPSolverCommon.Properties.PSWeight=PS: Coefficiente di costrizione
+NLPSolverCommon.Properties.PSCL=PS: Probabilit\u00E0 di mutazione (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_ja.properties b/nlpsolver/locale/NLPSolverCommon_ja.properties
new file mode 100644
index 000000000000..f538d553cf20
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_ja.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=\u975E\u8CA0\u306E\u5909\u6570\u3092\u4EEE\u5B9A\u3059\u308B
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=\u96C6\u56E3\u306E\u30B5\u30A4\u30BA
+NLPSolverCommon.Properties.LibrarySize=\u30E9\u30A4\u30D6\u30E9\u30EA\u306E\u30B5\u30A4\u30BA
+NLPSolverCommon.Properties.LearningCycles=\u5B66\u7FD2\u5468\u671F
+NLPSolverCommon.Properties.GuessVariableRange=\u5909\u6570\u7BC4\u56F2\u306E\u63A8\u6E2C
+NLPSolverCommon.Properties.VariableRangeThreshold=(\u63A8\u6E2C\u3059\u308B\u969B\u306E)\u5909\u6570\u7BC4\u56F2\u306E\u3057\u304D\u3044\u5024
+NLPSolverCommon.Properties.UseACRComparator=(BCH \u306E\u4EE3\u308F\u308A\u306B) ACR \u6BD4\u8F03\u5B50\u3092\u4F7F\u3046
+NLPSolverCommon.Properties.UseRandomStartingPoint=\u30E9\u30F3\u30C0\u30E0\u306A\u958B\u59CB\u70B9\u3092\u4F7F\u3046
+NLPSolverCommon.Properties.StagnationLimit=\u3088\u3069\u307F\u9650\u754C
+NLPSolverCommon.Properties.Tolerance=\u3088\u3069\u307F\u8A31\u5BB9\u8AA4\u5DEE
+NLPSolverCommon.Properties.EnhancedSolverStatus=\u88DC\u6B63\u3055\u308C\u305F\u30BD\u30EB\u30D0\u30FC\u306E\u72B6\u614B\u3092\u8868\u793A
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30B9\u30A4\u30C3\u30C1\u30EC\u30FC\u30C8(DE \u78BA\u7387)
+NLPSolverCommon.Properties.DEFactor=DE: \u30B9\u30B1\u30FC\u30EB\u4FC2\u6570 (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: \u4EA4\u5DEE\u78BA\u7387 (0-1)
+NLPSolverCommon.Properties.PSC1=PS: \u8A8D\u8B58\u5B9A\u6570
+NLPSolverCommon.Properties.PSC2=PS: \u793E\u4F1A\u5B9A\u6570
+NLPSolverCommon.Properties.PSWeight=PS: \u5727\u7E2E\u4FC2\u6570
+NLPSolverCommon.Properties.PSCL=PS: \u7A81\u7136\u5909\u7570\u78BA\u7387 (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_ko.properties b/nlpsolver/locale/NLPSolverCommon_ko.properties
new file mode 100644
index 000000000000..207d918fb3d1
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_ko.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=\uC74C\uC218\uAC00 \uC544\uB2CC \uBCC0\uC218\uB97C \uAC00\uC815
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=\uBB34\uB9AC \uD06C\uAE30
+NLPSolverCommon.Properties.LibrarySize=\uB77C\uC774\uBE0C\uB7EC\uB9AC \uD06C\uAE30
+NLPSolverCommon.Properties.LearningCycles=\uD559\uC2B5 \uC8FC\uAE30
+NLPSolverCommon.Properties.GuessVariableRange=\uBCC0\uC218 \uBC94\uC704 \uCD94\uCE21
+NLPSolverCommon.Properties.VariableRangeThreshold=\uBCC0\uC218 \uBC94\uC704 \uC784\uACC4\uAC12 (\uCD94\uCE21\uC2DC)
+NLPSolverCommon.Properties.UseACRComparator=(BCH \uB300\uC2E0) ACR \uBE44\uAD50\uC790 \uC0AC\uC6A9
+NLPSolverCommon.Properties.UseRandomStartingPoint=\uC784\uC758\uC758 \uC2DC\uC791\uC810 \uC0AC\uC6A9
+NLPSolverCommon.Properties.StagnationLimit=\uC815\uCCB4 \uD55C\uACC4
+NLPSolverCommon.Properties.Tolerance=\uC2A4\uD0DC\uADF8\uB124\uC774\uC158 \uACF5\uCC28
+NLPSolverCommon.Properties.EnhancedSolverStatus=\uD5A5\uC0C1\uB41C \uD574\uCC3E\uAE30 \uC0C1\uD0DC \uD45C\uC2DC
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=\uC5D0\uC774\uC804\uD2B8 \uC804\uD658\uB960 (DE \uD655\uB960)
+NLPSolverCommon.Properties.DEFactor=DE: \uBE44\uB840 \uC778\uC790 (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: \uAD50\uCC28 \uD655\uB960 (0-1)
+NLPSolverCommon.Properties.PSC1=PS: \uC778\uC9C0 \uC0C1\uC218
+NLPSolverCommon.Properties.PSC2=PS: \uC0AC\uD68C \uC0C1\uC218
+NLPSolverCommon.Properties.PSWeight=PS: \uC555\uCD95 \uACC4\uC218
+NLPSolverCommon.Properties.PSCL=PS: \uBCC0\uC774 \uD655\uB960 (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_nb.properties b/nlpsolver/locale/NLPSolverCommon_nb.properties
new file mode 100644
index 000000000000..404407eb1f2b
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_nb.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Assume Non-Negative Variables
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Size of Swarm
+NLPSolverCommon.Properties.LibrarySize=Bibliotekst\u00F8rrelse
+NLPSolverCommon.Properties.LearningCycles=Learning Cycles
+NLPSolverCommon.Properties.GuessVariableRange=Variable Bounds Guessing
+NLPSolverCommon.Properties.VariableRangeThreshold=Variable Bounds Threshold (when guessing)
+NLPSolverCommon.Properties.UseACRComparator=Use ACR Comparator (instead of BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Bruk tilfeldig startpunkt
+NLPSolverCommon.Properties.StagnationLimit=Stagnasjongrense
+NLPSolverCommon.Properties.Tolerance=Stagnasjongrense
+NLPSolverCommon.Properties.EnhancedSolverStatus=Vis forbedret l\u00F8serstatus
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Agent Switch Rate (DE Probability)
+NLPSolverCommon.Properties.DEFactor=DE: Scaling Factor (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: Crossover Probability (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Cognitive Constant
+NLPSolverCommon.Properties.PSC2=PS: Social Constant
+NLPSolverCommon.Properties.PSWeight=PS: Constriction Coefficient
+NLPSolverCommon.Properties.PSCL=PS: Mutation Probability (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_nl.properties b/nlpsolver/locale/NLPSolverCommon_nl.properties
new file mode 100644
index 000000000000..ec9fecd6180d
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_nl.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Niet negatieve variabelen aannemen
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Grootte van Swarm
+NLPSolverCommon.Properties.LibrarySize=Grootte van de bibliotheek
+NLPSolverCommon.Properties.LearningCycles=Leercurve
+NLPSolverCommon.Properties.GuessVariableRange=Variabele grenzen raden
+NLPSolverCommon.Properties.VariableRangeThreshold=Begrenzing van variabelen (bij raden)
+NLPSolverCommon.Properties.UseACRComparator=ACR-vergelijking gebruiken (in plaats van BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Willekeurig beginpunt gebruiken
+NLPSolverCommon.Properties.StagnationLimit=Stagnatielimiet
+NLPSolverCommon.Properties.Tolerance=Stagnatietolerantie
+NLPSolverCommon.Properties.EnhancedSolverStatus=Verbeterde oplosserstatus tonen
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Schakelsnelheid van agent (DE-waarschijnlijkheid)
+NLPSolverCommon.Properties.DEFactor=DE: Schaalfactor (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: Overspraakwaarschijnlijkheid (0-1)
+NLPSolverCommon.Properties.PSC1=PS: Cognitieve constante
+NLPSolverCommon.Properties.PSC2=PS: Sociale constante
+NLPSolverCommon.Properties.PSWeight=PS: Beperkingsco\u00EBfficient
+NLPSolverCommon.Properties.PSCL=PS: Mutatiewaarschijnlijkheid (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_pt_BR.properties b/nlpsolver/locale/NLPSolverCommon_pt_BR.properties
new file mode 100644
index 000000000000..f63e989bbb1f
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_pt_BR.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Assumir vari\u00E1veis como n\u00E3o negativas
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Tamanho da col\u00F4nia
+NLPSolverCommon.Properties.LibrarySize=Tamanho da biblioteca
+NLPSolverCommon.Properties.LearningCycles=Ciclos de aprendizagem
+NLPSolverCommon.Properties.GuessVariableRange=Estimativa dos limites da vari\u00E1vel
+NLPSolverCommon.Properties.VariableRangeThreshold=Piso dos limites da vari\u00E1vel (ao estimar)
+NLPSolverCommon.Properties.UseACRComparator=Utilizar comparador ACS (no lugar de BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Utilizar ponto inicial aleat\u00F3rio
+NLPSolverCommon.Properties.StagnationLimit=Limite de estagna\u00E7\u00E3o
+NLPSolverCommon.Properties.Tolerance=Toler\u00E2ncia de estagna\u00E7\u00E3o
+NLPSolverCommon.Properties.EnhancedSolverStatus=Mostrar estado aprimorado do solver
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Taxa de altern\u00E2ncia do agente (Probabilidade DE)
+NLPSolverCommon.Properties.DEFactor=DE: Fator de escala (0 - 1,2)
+NLPSolverCommon.Properties.DECR=DE: Probabilidade de crossover (0 - 1)
+NLPSolverCommon.Properties.PSC1=PS: Constante congnitiva
+NLPSolverCommon.Properties.PSC2=PF: Constante social
+NLPSolverCommon.Properties.PSWeight=PS: Coeficiente de constri\u00E7\u00E3o
+NLPSolverCommon.Properties.PSCL=PS: Probabilidade de muta\u00E7\u00E3o (0 - 0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_sl.properties b/nlpsolver/locale/NLPSolverCommon_sl.properties
new file mode 100644
index 000000000000..cf28b5497966
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_sl.properties
@@ -0,0 +1,23 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=Domnevaj nenegativne spremenljivke
+
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Velikost roja
+NLPSolverCommon.Properties.LibrarySize=Velikost knji\u017Enice
+NLPSolverCommon.Properties.LearningCycles=U\u010Dni cikli
+NLPSolverCommon.Properties.GuessVariableRange=Uganjevanje meja spremenljivk
+NLPSolverCommon.Properties.VariableRangeThreshold=Prag meja spremenljivk (pri uganjevanju)
+NLPSolverCommon.Properties.UseACRComparator=Uporabi primerjalnik ACR (namesto BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=Uporabi naklju\u010Dno za\u010Detno to\u010Dko
+NLPSolverCommon.Properties.StagnationLimit=Meja stagnacije
+NLPSolverCommon.Properties.Tolerance=Toleranca stagnacije
+NLPSolverCommon.Properties.EnhancedSolverStatus=Poka\u017Ei podrobnej\u0161e stanje Re\u0161evalca
+
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=Hitrost preklopa agenta (verjetnost DE)
+NLPSolverCommon.Properties.DEFactor=DE: faktor spremembe merila (0-1,2)
+NLPSolverCommon.Properties.DECR=DE: verjetnost prehajanja (0-1)
+NLPSolverCommon.Properties.PSC1=PS: kognitivna konstanta
+NLPSolverCommon.Properties.PSC2=PS: socialna konstanta
+NLPSolverCommon.Properties.PSWeight=PS: koeficient kr\u010Denja
+NLPSolverCommon.Properties.PSCL=PS: verjetnost mutacije (0-0,005)
diff --git a/nlpsolver/locale/NLPSolverCommon_zh_CN.properties b/nlpsolver/locale/NLPSolverCommon_zh_CN.properties
new file mode 100644
index 000000000000..c1e77665ebb2
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_zh_CN.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=\u5047\u5B9A\u975E\u8D1F\u53D8\u91CF
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=Swam \u5C3A\u5BF8
+NLPSolverCommon.Properties.LibrarySize=\u5E93\u5C3A\u5BF8
+NLPSolverCommon.Properties.LearningCycles=\u5B66\u4E60\u5468\u671F
+NLPSolverCommon.Properties.GuessVariableRange=\u53D8\u91CF\u8FB9\u754C\u63A8\u6D4B
+NLPSolverCommon.Properties.VariableRangeThreshold=\u53D8\u91CF\u8FB9\u754C\u4E34\u754C (\u63A8\u6D4B\u65F6)
+NLPSolverCommon.Properties.UseACRComparator=\u4F7F\u7528 ACR \u6BD4\u8F83\u5668 (\u66FF\u4EE3 BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=\u4F7F\u7528\u968F\u673A\u8D77\u59CB\u70B9
+NLPSolverCommon.Properties.StagnationLimit=\u505C\u6EDE\u9650\u5236
+NLPSolverCommon.Properties.Tolerance=\u505C\u6EDE\u5BB9\u9650
+NLPSolverCommon.Properties.EnhancedSolverStatus=\u663E\u793A\u589E\u5F3A\u6C42\u89E3\u5668\u72B6\u6001
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=\u4EE3\u7406\u5207\u6362\u901F\u7387 (DE \u7387)
+NLPSolverCommon.Properties.DEFactor=DE: \u6BD4\u4F8B\u7CFB\u6570 (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: \u4EA4\u914D\u7387 (0-1)
+NLPSolverCommon.Properties.PSC1=PS: \u8BA4\u77E5\u5E38\u91CF
+NLPSolverCommon.Properties.PSC2=PS: \u793E\u4F1A\u5E38\u91CF
+NLPSolverCommon.Properties.PSWeight=PS: \u6536\u7F29\u7CFB\u6570
+NLPSolverCommon.Properties.PSCL=PS: \u7A81\u53D8\u7387 (0-0.005)
diff --git a/nlpsolver/locale/NLPSolverCommon_zh_TW.properties b/nlpsolver/locale/NLPSolverCommon_zh_TW.properties
new file mode 100644
index 000000000000..0e629b172bae
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverCommon_zh_TW.properties
@@ -0,0 +1,21 @@
+#BaseNLPSolver
+NLPSolverCommon.Properties.AssumeNonNegative=\u5047\u8A2D\u975E\u8CA0\u503C\u8B8A\u6578
+#BaseEvolutionarySolver
+NLPSolverCommon.Properties.SwarmSize=\u7FA4\u5927\u5C0F
+NLPSolverCommon.Properties.LibrarySize=\u7A0B\u5F0F\u5EAB\u5927\u5C0F
+NLPSolverCommon.Properties.LearningCycles=\u5B78\u7FD2\u9031\u671F
+NLPSolverCommon.Properties.GuessVariableRange=\u8B8A\u6578\u7BC4\u570D\u731C\u6E2C
+NLPSolverCommon.Properties.VariableRangeThreshold=\u8B8A\u6578\u7BC4\u570D\u95BE\u503C (\u731C\u6E2C\u6642)
+NLPSolverCommon.Properties.UseACRComparator=\u4F7F\u7528ACR\u6BD4\u8F03\u5B50 (\u66FF\u4EE3BCH)
+NLPSolverCommon.Properties.UseRandomStartingPoint=\u4F7F\u7528\u96A8\u6A5F\u8D77\u9EDE
+NLPSolverCommon.Properties.StagnationLimit=\u505C\u6EEF\u9650\u5236
+NLPSolverCommon.Properties.Tolerance=\u505C\u6EEF\u5BB9\u9650
+NLPSolverCommon.Properties.EnhancedSolverStatus=\u986F\u793A\u589E\u5F37\u89E3\u6C7A\u7A0B\u5F0F\u72C0\u614B
+#DEPS
+NLPSolverCommon.Properties.AgentSwitchRate=\u4EE3\u7406\u5207\u63DB\u901F\u7387 (DE \u6982\u7387)
+NLPSolverCommon.Properties.DEFactor=DE: \u6BD4\u4F8B\u7E2E\u653E\u4FC2\u6578 (0-1.2)
+NLPSolverCommon.Properties.DECR=DE: \u4EA4\u914D\u7387 (0-1)
+NLPSolverCommon.Properties.PSC1=PS: \u8A8D\u77E5\u5E38\u6578
+NLPSolverCommon.Properties.PSC2=PS: \u793E\u6703\u5E38\u6578
+NLPSolverCommon.Properties.PSWeight=PS: \u6536\u7E2E\u4FC2\u6578
+NLPSolverCommon.Properties.PSCL=PS: \u7A81\u8B8A\u6982\u7387
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_ast.properties b/nlpsolver/locale/NLPSolverStatusDialog_ast.properties
new file mode 100644
index 000000000000..f21b31752176
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_ast.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Est\u00E1u del resolvedor
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Soluci\u00F3n actual:
+NLPSolverStatusDialog.Controls.lblIteration=Iteraci\u00F3n:
+NLPSolverStatusDialog.Controls.lblStagnation=Estancamientu:
+NLPSolverStatusDialog.Controls.lblRuntime=Tiempu d'execuci\u00F3n
+NLPSolverStatusDialog.Controls.btnStop=Aparar
+NLPSolverStatusDialog.Controls.btnOK=Aceutar
+NLPSolverStatusDialog.Controls.btnContinue=Siguir
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=S'alcanzaron les iteraciones m\u00E1ximes
+NLPSolverStatusDialog.Message.StopStagnation=Procesu par\u00E1u por estancamientu.
+NLPSolverStatusDialog.Message.StopUser=Procesu par\u00E1u por aciu d'interrupci\u00F3n del usuariu.
+NLPSolverStatusDialog.Message.CurrentIteration=Procesu par\u00E1u na iteraci\u00F3n %d de %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosegundos
+NLPSolverStatusDialog.Time.Microseconds=Microsegundos
+NLPSolverStatusDialog.Time.Milliseconds=Milisegundos
+NLPSolverStatusDialog.Time.Second=Segundu
+NLPSolverStatusDialog.Time.Seconds=Segundos
+NLPSolverStatusDialog.Time.Minute=Minutu
+NLPSolverStatusDialog.Time.Minutes=Minutos
+NLPSolverStatusDialog.Time.Hour=Hora
+NLPSolverStatusDialog.Time.Hours=Hores
+NLPSolverStatusDialog.Time.Day=D\u00EDa
+NLPSolverStatusDialog.Time.Days=D\u00EDes
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_ca.properties b/nlpsolver/locale/NLPSolverStatusDialog_ca.properties
new file mode 100644
index 000000000000..cbaf6d40d314
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_ca.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Estat del solucionador
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Soluci\u00F3 actual:
+NLPSolverStatusDialog.Controls.lblIteration=Iteraci\u00F3:
+NLPSolverStatusDialog.Controls.lblStagnation=Estagnaci\u00F3:
+NLPSolverStatusDialog.Controls.lblRuntime=Temps d'execuci\u00F3:
+NLPSolverStatusDialog.Controls.btnStop=Para
+NLPSolverStatusDialog.Controls.btnOK=D'acord
+NLPSolverStatusDialog.Controls.btnContinue=Continua
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=S'ha assolit el nombre m\u00E0xim d'iteracions.
+NLPSolverStatusDialog.Message.StopStagnation=El proc\u00E9s ha finalitzat a causa de l'estagnaci\u00F3.
+NLPSolverStatusDialog.Message.StopUser=El proc\u00E9s ha finalitzat a causa d'una interrupci\u00F3 de l'usuari.
+NLPSolverStatusDialog.Message.CurrentIteration=El proc\u00E9s ha finalitzat a la iteraci\u00F3 %d de %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosegons
+NLPSolverStatusDialog.Time.Microseconds=Microsegons
+NLPSolverStatusDialog.Time.Milliseconds=Mil\u00B7lisegons
+NLPSolverStatusDialog.Time.Second=Segon
+NLPSolverStatusDialog.Time.Seconds=Segons
+NLPSolverStatusDialog.Time.Minute=Minut
+NLPSolverStatusDialog.Time.Minutes=Minuts
+NLPSolverStatusDialog.Time.Hour=Hora
+NLPSolverStatusDialog.Time.Hours=Hores
+NLPSolverStatusDialog.Time.Day=Dia
+NLPSolverStatusDialog.Time.Days=Dies
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_de.properties b/nlpsolver/locale/NLPSolverStatusDialog_de.properties
new file mode 100644
index 000000000000..406cd2c20725
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_de.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Solverstatus
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Aktuelle L\u00F6sung:
+NLPSolverStatusDialog.Controls.lblIteration=Iteration:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnation:
+NLPSolverStatusDialog.Controls.lblRuntime=Laufzeit:
+NLPSolverStatusDialog.Controls.btnStop=Halt
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Fortfahren
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Maximale Iteration erreicht.
+NLPSolverStatusDialog.Message.StopStagnation=Prozess durch Stagnation beendet.
+NLPSolverStatusDialog.Message.StopUser=Prozess durch Benutzer unterbrochen.
+NLPSolverStatusDialog.Message.CurrentIteration=Prozess bei Iteration %d von %d angehalten.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosekunden
+NLPSolverStatusDialog.Time.Microseconds=Mikrosekunden
+NLPSolverStatusDialog.Time.Milliseconds=Millisekunden
+NLPSolverStatusDialog.Time.Second=Sekunde
+NLPSolverStatusDialog.Time.Seconds=Sekunden
+NLPSolverStatusDialog.Time.Minute=Minuten
+NLPSolverStatusDialog.Time.Minutes=Minutes
+NLPSolverStatusDialog.Time.Hour=Stunde
+NLPSolverStatusDialog.Time.Hours=Stunden
+NLPSolverStatusDialog.Time.Day=Tag
+NLPSolverStatusDialog.Time.Days=Tage
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_en_GB.properties b/nlpsolver/locale/NLPSolverStatusDialog_en_GB.properties
new file mode 100644
index 000000000000..e9b3369bf19a
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_en_GB.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Solver Status
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Current Solution:
+NLPSolverStatusDialog.Controls.lblIteration=Iteration:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnation:
+NLPSolverStatusDialog.Controls.lblRuntime=Runtime:
+NLPSolverStatusDialog.Controls.btnStop=Stop
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Continue
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Maximum iterations reached.
+NLPSolverStatusDialog.Message.StopStagnation=Process stopped due to stagnation.
+NLPSolverStatusDialog.Message.StopUser=Process stopped due to user interruption.
+NLPSolverStatusDialog.Message.CurrentIteration=Process stopped at iteration %d of %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanoseconds
+NLPSolverStatusDialog.Time.Microseconds=Microseconds
+NLPSolverStatusDialog.Time.Milliseconds=Milliseconds
+NLPSolverStatusDialog.Time.Second=Second
+NLPSolverStatusDialog.Time.Seconds=Seconds
+NLPSolverStatusDialog.Time.Minute=Minute
+NLPSolverStatusDialog.Time.Minutes=Minutes
+NLPSolverStatusDialog.Time.Hour=Hour
+NLPSolverStatusDialog.Time.Hours=Hours
+NLPSolverStatusDialog.Time.Day=Day
+NLPSolverStatusDialog.Time.Days=Days
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_es.properties b/nlpsolver/locale/NLPSolverStatusDialog_es.properties
new file mode 100644
index 000000000000..aac534c50918
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_es.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Estado del solucionador
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Soluci\u00F3n actual:
+NLPSolverStatusDialog.Controls.lblIteration=Iteraci\u00F3n:
+NLPSolverStatusDialog.Controls.lblStagnation=Estancamiento:
+NLPSolverStatusDialog.Controls.lblRuntime=Tiempo de ejecuci\u00F3n:
+NLPSolverStatusDialog.Controls.btnStop=Detener
+NLPSolverStatusDialog.Controls.btnOK=Aceptar
+NLPSolverStatusDialog.Controls.btnContinue=Continuar
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Se alcanz\u00F3 la cantidad m\u00E1xima de iteraciones.
+NLPSolverStatusDialog.Message.StopStagnation=El proceso se detuvo debido al estancamiento.
+NLPSolverStatusDialog.Message.StopUser=El proceso se detuvo debido a la interrupci\u00F3n del usuario.
+NLPSolverStatusDialog.Message.CurrentIteration=El proceso se detuvo en la iteraci\u00F3n %d de %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosegundos
+NLPSolverStatusDialog.Time.Microseconds=Microsegundos
+NLPSolverStatusDialog.Time.Milliseconds=Milisegundos
+NLPSolverStatusDialog.Time.Second=Segundo
+NLPSolverStatusDialog.Time.Seconds=Segundos
+NLPSolverStatusDialog.Time.Minute=Minuto
+NLPSolverStatusDialog.Time.Minutes=Minutos
+NLPSolverStatusDialog.Time.Hour=Hora
+NLPSolverStatusDialog.Time.Hours=Horas
+NLPSolverStatusDialog.Time.Day=D\u00EDa
+NLPSolverStatusDialog.Time.Days=D\u00EDas
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_fa.properties b/nlpsolver/locale/NLPSolverStatusDialog_fa.properties
new file mode 100644
index 000000000000..e9b3369bf19a
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_fa.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Solver Status
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Current Solution:
+NLPSolverStatusDialog.Controls.lblIteration=Iteration:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnation:
+NLPSolverStatusDialog.Controls.lblRuntime=Runtime:
+NLPSolverStatusDialog.Controls.btnStop=Stop
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Continue
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Maximum iterations reached.
+NLPSolverStatusDialog.Message.StopStagnation=Process stopped due to stagnation.
+NLPSolverStatusDialog.Message.StopUser=Process stopped due to user interruption.
+NLPSolverStatusDialog.Message.CurrentIteration=Process stopped at iteration %d of %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanoseconds
+NLPSolverStatusDialog.Time.Microseconds=Microseconds
+NLPSolverStatusDialog.Time.Milliseconds=Milliseconds
+NLPSolverStatusDialog.Time.Second=Second
+NLPSolverStatusDialog.Time.Seconds=Seconds
+NLPSolverStatusDialog.Time.Minute=Minute
+NLPSolverStatusDialog.Time.Minutes=Minutes
+NLPSolverStatusDialog.Time.Hour=Hour
+NLPSolverStatusDialog.Time.Hours=Hours
+NLPSolverStatusDialog.Time.Day=Day
+NLPSolverStatusDialog.Time.Days=Days
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_fi.properties b/nlpsolver/locale/NLPSolverStatusDialog_fi.properties
new file mode 100644
index 000000000000..6bb44874e06f
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_fi.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Ratkaisimen tila
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Nykyinen ratkaisu:
+NLPSolverStatusDialog.Controls.lblIteration=Iteraatio:
+NLPSolverStatusDialog.Controls.lblStagnation=Pys\u00E4htyneisyys:
+NLPSolverStatusDialog.Controls.lblRuntime=Ajoaika:
+NLPSolverStatusDialog.Controls.btnStop=Pys\u00E4yt\u00E4
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Jatka
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Maksimim\u00E4\u00E4r\u00E4 iteraatioita tehty.
+NLPSolverStatusDialog.Message.StopStagnation=Pys\u00E4htyneisyys pys\u00E4ytti prosessin.
+NLPSolverStatusDialog.Message.StopUser=K\u00E4ytt\u00E4j\u00E4n keskeytys pys\u00E4ytti prosessin.
+NLPSolverStatusDialog.Message.CurrentIteration=Prosessi pys\u00E4htynyt iteraatiossa %d/%d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=nanosekuntia
+NLPSolverStatusDialog.Time.Microseconds=mikrosekuntia
+NLPSolverStatusDialog.Time.Milliseconds=millisekuntia
+NLPSolverStatusDialog.Time.Second=sekunti
+NLPSolverStatusDialog.Time.Seconds=sekuntia
+NLPSolverStatusDialog.Time.Minute=minuutti
+NLPSolverStatusDialog.Time.Minutes=minuuttia
+NLPSolverStatusDialog.Time.Hour=tunti
+NLPSolverStatusDialog.Time.Hours=tuntia
+NLPSolverStatusDialog.Time.Day=p\u00E4iv\u00E4
+NLPSolverStatusDialog.Time.Days=p\u00E4iv\u00E4\u00E4
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_fr.properties b/nlpsolver/locale/NLPSolverStatusDialog_fr.properties
new file mode 100644
index 000000000000..83d40d34276a
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_fr.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=\u00C9tat du solveur
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Solution actuelle :
+NLPSolverStatusDialog.Controls.lblIteration=It\u00E9ration :
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnation :
+NLPSolverStatusDialog.Controls.lblRuntime=Dur\u00E9e d'ex\u00E9cution :
+NLPSolverStatusDialog.Controls.btnStop=Arr\u00EAter
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Continuer
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Maximum d'it\u00E9rations atteint.
+NLPSolverStatusDialog.Message.StopStagnation=Processus arr\u00EAt\u00E9 en raison de la stagnation.
+NLPSolverStatusDialog.Message.StopUser=Processus arr\u00EAt\u00E9 en raison de l'interruption par l'utilisateur.
+NLPSolverStatusDialog.Message.CurrentIteration=Processus arr\u00EAt\u00E9 \u00E0 l'it\u00E9ration %d de %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosecondes
+NLPSolverStatusDialog.Time.Microseconds=Microsecondes
+NLPSolverStatusDialog.Time.Milliseconds=Millisecondes
+NLPSolverStatusDialog.Time.Second=Seconde
+NLPSolverStatusDialog.Time.Seconds=Secondes
+NLPSolverStatusDialog.Time.Minute=Minute
+NLPSolverStatusDialog.Time.Minutes=Minutes
+NLPSolverStatusDialog.Time.Hour=Heure
+NLPSolverStatusDialog.Time.Hours=Heures
+NLPSolverStatusDialog.Time.Day=Jour
+NLPSolverStatusDialog.Time.Days=Jours
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_hu.properties b/nlpsolver/locale/NLPSolverStatusDialog_hu.properties
new file mode 100644
index 000000000000..98f9b805b50f
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_hu.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=A Megold\u00F3 \u00E1llapota
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Jelenlegi megold\u00E1s:
+NLPSolverStatusDialog.Controls.lblIteration=Iter\u00E1ci\u00F3:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagn\u00E1l\u00E1s:
+NLPSolverStatusDialog.Controls.lblRuntime=Fut\u00E1sid\u0151:
+NLPSolverStatusDialog.Controls.btnStop=Le\u00E1ll\u00EDt\u00E1s
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Folytat\u00E1s
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=El\u00E9rte a max. iter\u00E1ci\u00F3s l\u00E9p\u00E9st.
+NLPSolverStatusDialog.Message.StopStagnation=A folyamat le\u00E1llt, mert stagn\u00E1l.
+NLPSolverStatusDialog.Message.StopUser=A folyamat le\u00E1llt, mert a felhaszn\u00E1l\u00F3 megszak\u00EDtotta.
+NLPSolverStatusDialog.Message.CurrentIteration=A folyamat le\u00E1llt a(z) %d. / %d iter\u00E1ci\u00F3n\u00E1l.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=nanoszekundum
+NLPSolverStatusDialog.Time.Microseconds=mikroszekundum
+NLPSolverStatusDialog.Time.Milliseconds=ezredm\u00E1sodperc
+NLPSolverStatusDialog.Time.Second=m\u00E1sodperc
+NLPSolverStatusDialog.Time.Seconds=m\u00E1sodperc
+NLPSolverStatusDialog.Time.Minute=perc
+NLPSolverStatusDialog.Time.Minutes=perc
+NLPSolverStatusDialog.Time.Hour=\u00F3ra
+NLPSolverStatusDialog.Time.Hours=\u00F3ra
+NLPSolverStatusDialog.Time.Day=nap
+NLPSolverStatusDialog.Time.Days=nap
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_it.properties b/nlpsolver/locale/NLPSolverStatusDialog_it.properties
new file mode 100644
index 000000000000..13a8e8e48751
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_it.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Stato del risolutore
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Soluzione attuale:
+NLPSolverStatusDialog.Controls.lblIteration=Iterazione:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnazione:
+NLPSolverStatusDialog.Controls.lblRuntime=Tempo di esecuzione:
+NLPSolverStatusDialog.Controls.btnStop=Interrompi
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Continua
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Numero massimo di iterazioni raggiunto.
+NLPSolverStatusDialog.Message.StopStagnation=Processo interrotto per stagnazione.
+NLPSolverStatusDialog.Message.StopUser=Processo interrotto dall'utente.
+NLPSolverStatusDialog.Message.CurrentIteration=Processo interrotto all'iterazione %d di %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosecondi
+NLPSolverStatusDialog.Time.Microseconds=Microsecondi
+NLPSolverStatusDialog.Time.Milliseconds=Millisecondi
+NLPSolverStatusDialog.Time.Second=Secondo
+NLPSolverStatusDialog.Time.Seconds=Secondi
+NLPSolverStatusDialog.Time.Minute=Minuto
+NLPSolverStatusDialog.Time.Minutes=Minuti
+NLPSolverStatusDialog.Time.Hour=Ora
+NLPSolverStatusDialog.Time.Hours=Ore
+NLPSolverStatusDialog.Time.Day=Giorno
+NLPSolverStatusDialog.Time.Days=Giorni
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_ja.properties b/nlpsolver/locale/NLPSolverStatusDialog_ja.properties
new file mode 100644
index 000000000000..7866ce0b41c2
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_ja.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=\u30BD\u30EB\u30D0\u30FC\u306E\u72B6\u614B
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=\u73FE\u5728\u306E\u89E3:
+NLPSolverStatusDialog.Controls.lblIteration=\u53CD\u5FA9:
+NLPSolverStatusDialog.Controls.lblStagnation=\u3088\u3069\u307F:
+NLPSolverStatusDialog.Controls.lblRuntime=\u5B9F\u884C\u6642\u9593:
+NLPSolverStatusDialog.Controls.btnStop=\u505C\u6B62
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=\u7D9A\u884C
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=\u53CD\u5FA9\u306E\u6700\u5927\u5024\u306B\u9054\u3057\u307E\u3057\u305F\u3002
+NLPSolverStatusDialog.Message.StopStagnation=\u3088\u3069\u307F\u304C\u539F\u56E0\u3067\u51E6\u7406\u3092\u505C\u6B62\u3057\u307E\u3057\u305F\u3002
+NLPSolverStatusDialog.Message.StopUser=\u30E6\u30FC\u30B6\u30FC\u306E\u5272\u308A\u8FBC\u307F\u306B\u3088\u3063\u3066\u51E6\u7406\u3092\u505C\u6B62\u3057\u307E\u3057\u305F\u3002
+NLPSolverStatusDialog.Message.CurrentIteration=\u53CD\u5FA9 %d \u56DE\u76EE(%d \u56DE\u4E2D)\u306B\u51E6\u7406\u3092\u505C\u6B62\u3057\u307E\u3057\u305F\u3002
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=\u30CA\u30CE\u79D2
+NLPSolverStatusDialog.Time.Microseconds=\u30DE\u30A4\u30AF\u30ED\u79D2
+NLPSolverStatusDialog.Time.Milliseconds=\u30DF\u30EA\u79D2
+NLPSolverStatusDialog.Time.Second=\u79D2
+NLPSolverStatusDialog.Time.Seconds=\u79D2
+NLPSolverStatusDialog.Time.Minute=\u5206
+NLPSolverStatusDialog.Time.Minutes=\u5206
+NLPSolverStatusDialog.Time.Hour=\u6642\u9593
+NLPSolverStatusDialog.Time.Hours=\u6642\u9593
+NLPSolverStatusDialog.Time.Day=\u65E5
+NLPSolverStatusDialog.Time.Days=\u65E5
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_ko.properties b/nlpsolver/locale/NLPSolverStatusDialog_ko.properties
new file mode 100644
index 000000000000..aae934691021
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_ko.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=\uD574\uCC3E\uAE30 \uC0C1\uD0DC
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=\uD604\uC7AC \uD574:
+NLPSolverStatusDialog.Controls.lblIteration=\uD69F\uC218:
+NLPSolverStatusDialog.Controls.lblStagnation=\uC815\uCCB4:
+NLPSolverStatusDialog.Controls.lblRuntime=\uC2E4\uD589\uC2DC\uAC04:
+NLPSolverStatusDialog.Controls.btnStop=\uC815\uC9C0
+NLPSolverStatusDialog.Controls.btnOK=\uD655\uC778
+NLPSolverStatusDialog.Controls.btnContinue=\uACC4\uC18D
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=\uCD5C\uB300 \uD69F\uC218\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4.
+NLPSolverStatusDialog.Message.StopStagnation=\uC815\uCCB4\uB85C \uC778\uD558\uC5EC \uBA48\uCD98 \uAC83\uC744 \uCC98\uB9AC\uD569\uB2C8\uB2E4.
+NLPSolverStatusDialog.Message.StopUser=\uC0AC\uC6A9\uC790\uAC00 \uBA48\uCD98 \uAC83\uC744 \uCC98\uB9AC\uD569\uB2C8\uB2E4.
+NLPSolverStatusDialog.Message.CurrentIteration=%d / %d\uD68C \uC5D0\uC11C \uBA48\uCD98 \uAC83\uC744 \uCC98\uB9AC\uD569\uB2C8\uB2E4.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=\uB098\uB178 \uCD08
+NLPSolverStatusDialog.Time.Microseconds=\uB9C8\uC774\uD06C\uB85C \uCD08
+NLPSolverStatusDialog.Time.Milliseconds=\uBC00\uB9AC \uCD08
+NLPSolverStatusDialog.Time.Second=\uCD08
+NLPSolverStatusDialog.Time.Seconds=\uCD08
+NLPSolverStatusDialog.Time.Minute=\uBD84
+NLPSolverStatusDialog.Time.Minutes=\uBD84
+NLPSolverStatusDialog.Time.Hour=\uC2DC
+NLPSolverStatusDialog.Time.Hours=\uC2DC
+NLPSolverStatusDialog.Time.Day=\uC77C
+NLPSolverStatusDialog.Time.Days=\uC77C
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_nb.properties b/nlpsolver/locale/NLPSolverStatusDialog_nb.properties
new file mode 100644
index 000000000000..7601b1763f10
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_nb.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=L\u00F8sningstatus
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Gjeldende l\u00F8sning:
+NLPSolverStatusDialog.Controls.lblIteration=Gjentakelse:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnasjon:
+NLPSolverStatusDialog.Controls.lblRuntime=Kj\u00F8retid:
+NLPSolverStatusDialog.Controls.btnStop=Stopp
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Fortsett
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Prosess stoppet p\u00E5 grunn av stagnasjon.
+NLPSolverStatusDialog.Message.StopStagnation=Prosess stoppet av bruker.
+NLPSolverStatusDialog.Message.StopUser=Prosess stoppet av bruker.
+NLPSolverStatusDialog.Message.CurrentIteration=Prosessen stoppet p\u00E5 gjentakelse %d av %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanosekund
+NLPSolverStatusDialog.Time.Microseconds=Mikrosekund
+NLPSolverStatusDialog.Time.Milliseconds=Millisekund
+NLPSolverStatusDialog.Time.Second=Sekund
+NLPSolverStatusDialog.Time.Seconds=Sekunder
+NLPSolverStatusDialog.Time.Minute=Minutt
+NLPSolverStatusDialog.Time.Minutes=Minutter
+NLPSolverStatusDialog.Time.Hour=Timer
+NLPSolverStatusDialog.Time.Hours=Timer
+NLPSolverStatusDialog.Time.Day=Dag
+NLPSolverStatusDialog.Time.Days=Dager
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_nl.properties b/nlpsolver/locale/NLPSolverStatusDialog_nl.properties
new file mode 100644
index 000000000000..60132e0d7ec3
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_nl.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Oplosserstatus
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Huidige oplossing:
+NLPSolverStatusDialog.Controls.lblIteration=Iteratie:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnatie:
+NLPSolverStatusDialog.Controls.lblRuntime=Looptijd:
+NLPSolverStatusDialog.Controls.btnStop=Stoppen
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Doorgaan
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Maximum aantal iteraties bereikt.
+NLPSolverStatusDialog.Message.StopStagnation=Proces is door stagnatie gestopt.
+NLPSolverStatusDialog.Message.StopUser=Proces is door de gebruiker gestopt.
+NLPSolverStatusDialog.Message.CurrentIteration=Proces is gestopt na iteratie %d van %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanoseconden
+NLPSolverStatusDialog.Time.Microseconds=Microseconden
+NLPSolverStatusDialog.Time.Milliseconds=Milliseconden
+NLPSolverStatusDialog.Time.Second=Seconde
+NLPSolverStatusDialog.Time.Seconds=Seconden
+NLPSolverStatusDialog.Time.Minute=Minuut
+NLPSolverStatusDialog.Time.Minutes=Minuten
+NLPSolverStatusDialog.Time.Hour=Uur
+NLPSolverStatusDialog.Time.Hours=Uren
+NLPSolverStatusDialog.Time.Day=Dag
+NLPSolverStatusDialog.Time.Days=Dagen
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_pt_BR.properties b/nlpsolver/locale/NLPSolverStatusDialog_pt_BR.properties
new file mode 100644
index 000000000000..2119fed8fac6
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_pt_BR.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Estado do solver
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Solu\u00E7\u00E3o atual:
+NLPSolverStatusDialog.Controls.lblIteration=Itera\u00E7\u00E3o:
+NLPSolverStatusDialog.Controls.lblStagnation=Estagna\u00E7\u00E3o:
+NLPSolverStatusDialog.Controls.lblRuntime=Tempo de execu\u00E7\u00E3o:
+NLPSolverStatusDialog.Controls.btnStop=Parar
+NLPSolverStatusDialog.Controls.btnOK=OK
+NLPSolverStatusDialog.Controls.btnContinue=Continuar
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=N\u00FAmero m\u00E1ximo de itera\u00E7\u00F5es atingido.
+NLPSolverStatusDialog.Message.StopStagnation=O processo parou por estagna\u00E7\u00E3o.
+NLPSolverStatusDialog.Message.StopUser=O processo parou por interrup\u00E7\u00E3o do usu\u00E1rio.
+NLPSolverStatusDialog.Message.CurrentIteration=O processo parou na itera\u00E7\u00E3o %d de %d.
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=Nanossegundos
+NLPSolverStatusDialog.Time.Microseconds=Microssegundos
+NLPSolverStatusDialog.Time.Milliseconds=Milissegundos
+NLPSolverStatusDialog.Time.Second=Segundo
+NLPSolverStatusDialog.Time.Seconds=Segundos
+NLPSolverStatusDialog.Time.Minute=Minuto
+NLPSolverStatusDialog.Time.Minutes=Minutos
+NLPSolverStatusDialog.Time.Hour=Hora
+NLPSolverStatusDialog.Time.Hours=Horas
+NLPSolverStatusDialog.Time.Day=Dia
+NLPSolverStatusDialog.Time.Days=Dias
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_sl.properties b/nlpsolver/locale/NLPSolverStatusDialog_sl.properties
new file mode 100644
index 000000000000..148a3ba384ca
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_sl.properties
@@ -0,0 +1,30 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=Stanje Re\u0161evalca
+
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=Trenutna re\u0161itev:
+NLPSolverStatusDialog.Controls.lblIteration=Iteracija:
+NLPSolverStatusDialog.Controls.lblStagnation=Stagnacija:
+NLPSolverStatusDialog.Controls.lblRuntime=\u010Cas izvajanja:
+NLPSolverStatusDialog.Controls.btnStop=Ustavi
+NLPSolverStatusDialog.Controls.btnOK=V redu
+NLPSolverStatusDialog.Controls.btnContinue=Nadaljuj
+
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=Dose\u017Eeno najve\u010Dje \u0161tevilo iteracij.
+NLPSolverStatusDialog.Message.StopStagnation=Zaradi stagnacije se je proces ustavil.
+NLPSolverStatusDialog.Message.StopUser=Zaradi prekinitve s strani uporabnika se je proces ustavil.
+NLPSolverStatusDialog.Message.CurrentIteration=Proces se je ustavil pri iteraciji %d od %d.
+
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=nanosekund
+NLPSolverStatusDialog.Time.Microseconds=mikrosekund
+NLPSolverStatusDialog.Time.Milliseconds=milisekund
+NLPSolverStatusDialog.Time.Second=sekunda
+NLPSolverStatusDialog.Time.Seconds=sekund
+NLPSolverStatusDialog.Time.Minute=minuta
+NLPSolverStatusDialog.Time.Minutes=minut
+NLPSolverStatusDialog.Time.Hour=ura
+NLPSolverStatusDialog.Time.Hours=ur
+NLPSolverStatusDialog.Time.Day=dan
+NLPSolverStatusDialog.Time.Days=dni \ No newline at end of file
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_zh_CN.properties b/nlpsolver/locale/NLPSolverStatusDialog_zh_CN.properties
new file mode 100644
index 000000000000..6fe3e98abebc
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_zh_CN.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=\u6C42\u89E3\u5668\u72B6\u6001
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=\u5F53\u524D\u89E3\u7B54:
+NLPSolverStatusDialog.Controls.lblIteration=\u8FED\u4EE3:
+NLPSolverStatusDialog.Controls.lblStagnation=\u505C\u6EDE:
+NLPSolverStatusDialog.Controls.lblRuntime=\u8FD0\u884C\u65F6\u95F4:
+NLPSolverStatusDialog.Controls.btnStop=\u505C\u6B62
+NLPSolverStatusDialog.Controls.btnOK=\u786E\u5B9A
+NLPSolverStatusDialog.Controls.btnContinue=\u7EE7\u7EED
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=\u8FBE\u5230\u6700\u5927\u8FED\u4EE3\u3002
+NLPSolverStatusDialog.Message.StopStagnation=\u5904\u7406\u56E0\u505C\u6EDE\u505C\u6B62\u3002
+NLPSolverStatusDialog.Message.StopUser=\u5904\u7406\u56E0\u7528\u6237\u4E2D\u65AD\u505C\u6B62\u3002
+NLPSolverStatusDialog.Message.CurrentIteration=\u5904\u7406\u505C\u6B62\u4E8E\u8FED\u4EE3 %d\uFF08\u5171 %d\uFF09\u3002
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=\u7EB3\u79D2
+NLPSolverStatusDialog.Time.Microseconds=\u5FAE\u79D2
+NLPSolverStatusDialog.Time.Milliseconds=\u6BEB\u79D2
+NLPSolverStatusDialog.Time.Second=\u79D2
+NLPSolverStatusDialog.Time.Seconds=\u79D2
+NLPSolverStatusDialog.Time.Minute=\u5206\u949F
+NLPSolverStatusDialog.Time.Minutes=\u5206\u949F
+NLPSolverStatusDialog.Time.Hour=\u5C0F\u65F6
+NLPSolverStatusDialog.Time.Hours=\u5C0F\u65F6
+NLPSolverStatusDialog.Time.Day=\u5929
+NLPSolverStatusDialog.Time.Days=\u5929
diff --git a/nlpsolver/locale/NLPSolverStatusDialog_zh_TW.properties b/nlpsolver/locale/NLPSolverStatusDialog_zh_TW.properties
new file mode 100644
index 000000000000..0ef8da7862b4
--- /dev/null
+++ b/nlpsolver/locale/NLPSolverStatusDialog_zh_TW.properties
@@ -0,0 +1,27 @@
+#Dialog
+NLPSolverStatusDialog.Dialog.Caption=\u89E3\u6C7A\u7A0B\u5F0F\u72C0\u614B
+#Controls
+NLPSolverStatusDialog.Controls.lblSolution=\u76EE\u524D\u89E3\u7B54:
+NLPSolverStatusDialog.Controls.lblIteration=\u758A\u4EE3:
+NLPSolverStatusDialog.Controls.lblStagnation=\u505C\u6EEF:
+NLPSolverStatusDialog.Controls.lblRuntime=\u904B\u884C\u6642\u9593:
+NLPSolverStatusDialog.Controls.btnStop=\u505C\u6B62
+NLPSolverStatusDialog.Controls.btnOK=\u78BA\u5B9A
+NLPSolverStatusDialog.Controls.btnContinue=\u7E7C\u7E8C
+#Messages
+NLPSolverStatusDialog.Message.StopIteration=\u5DF2\u5230\u9054\u6700\u5927\u758A\u4EE3\u3002
+NLPSolverStatusDialog.Message.StopStagnation=\u8655\u7406\u56E0\u505C\u6EEF\u800C\u505C\u6B62\u3002
+NLPSolverStatusDialog.Message.StopUser=\u8655\u7406\u56E0\u4F7F\u7528\u8005\u4E2D\u65B7\u800C\u505C\u6B62\u3002
+NLPSolverStatusDialog.Message.CurrentIteration=\u8655\u7406\u505C\u6B62\u65BC\u758A\u4EE3 %d (\u5171 %d ) \u3002
+#Time formatting
+NLPSolverStatusDialog.Time.Nanoseconds=\u5948\u79D2
+NLPSolverStatusDialog.Time.Microseconds=\u5FAE\u79D2
+NLPSolverStatusDialog.Time.Milliseconds=\u6BEB\u79D2
+NLPSolverStatusDialog.Time.Second=\u79D2
+NLPSolverStatusDialog.Time.Seconds=\u79D2
+NLPSolverStatusDialog.Time.Minute=\u5206
+NLPSolverStatusDialog.Time.Minutes=\u5206
+NLPSolverStatusDialog.Time.Hour=\u6642
+NLPSolverStatusDialog.Time.Hours=\u6642
+NLPSolverStatusDialog.Time.Day=\u65E5
+NLPSolverStatusDialog.Time.Days=\u65E5
diff --git a/nlpsolver/makefile.mk b/nlpsolver/makefile.mk
index 3c160c00c1a9..541802e640d4 100644
--- a/nlpsolver/makefile.mk
+++ b/nlpsolver/makefile.mk
@@ -53,6 +53,8 @@ PATCH_FILES=nlpsolver-0.9.patch
ANT_FLAGS+=-Dplatforms.JDK_1.5.home=$(JAVA_HOME) -Doffice.program.dir=$(SOLARBINDIR)
+CONFIGURE_ACTION=cp -rpv ../../../../locale src/
+
.IF "$(JAVACISGCJ)"=="yes"
JAVA_HOME=
.EXPORT : JAVA_HOME
diff --git a/nlpsolver/nlpsolver-0.9.patch b/nlpsolver/nlpsolver-0.9.patch
index 4e7208f4ab11..4581eb7721fa 100644
--- a/nlpsolver/nlpsolver-0.9.patch
+++ b/nlpsolver/nlpsolver-0.9.patch
@@ -49,3 +49,14 @@
<dependencies>
<OpenOffice.org-minimal-version xmlns:d="http://openoffice.org/extensions/description/2006" d:name="OpenOffice.org 3.0" value="3.0"/>
</dependencies>
+--- misc/build/nlpsolver-0.9/src/locale/NLPSolverCommon_en_US.properties.old 2009-03-30 18:20:06.000000000 +0200
++++ misc/build/nlpsolver-0.9/src/locale/NLPSolverCommon_en_US.properties 2010-12-18 22:08:47.084693100 +0100
+@@ -2,7 +2,7 @@
+ NLPSolverCommon.Properties.AssumeNonNegative=Assume Non-Negative Variables
+
+ #BaseEvolutionarySolver
+-NLPSolverCommon.Properties.SwarmSize=Size of Swam
++NLPSolverCommon.Properties.SwarmSize=Size of Swarm
+ NLPSolverCommon.Properties.LibrarySize=Size of Library
+ NLPSolverCommon.Properties.LearningCycles=Learning Cycles
+ NLPSolverCommon.Properties.GuessVariableRange=Variable Bounds Guessing
diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu
index 575c0aba053b..696fb616c572 100644
--- a/officecfg/registry/data/org/openoffice/VCL.xcu
+++ b/officecfg/registry/data/org/openoffice/VCL.xcu
@@ -515,31 +515,31 @@
</node>
<node oor:name="ja" oor:op="replace">
<prop oor:name="CJK_TEXT" oor:type="xs:string" oor:op="replace">
- <value>HG 明朝L Sun;HG MinchoL Sun;HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG Mincho Light J;MS P明朝;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;UmePlus P Gothic;TLP明朝;LX明朝;HGPMinchoL;IPA P明朝;東風明朝;Kochi Mincho;さざなみ明朝;Mincho;Serif</value>
+ <value>HG 明朝L Sun;HG MinchoL Sun;HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG Mincho Light J;MS P明朝;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;UmePlus P Gothic;TLP明朝;LX明朝;HGPMinchoL;IPA P明朝;Takao P明朝;東風明朝;Kochi Mincho;さざなみ明朝;Mincho;Serif</value>
</prop>
<prop oor:name="CJK_HEADING" oor:type="xs:string" oor:op="replace">
- <value>HG 明朝L Sun;HG 明朝L;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Gothic;MS 明朝;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS P明朝;HG Mincho Light J;MS ゴシック;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS Pゴシック;UmePlus P Gothic;Andale Sans UI</value>
+ <value>HG 明朝L Sun;HG 明朝L;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;さざなみゴシック;Gothic;MS 明朝;HG Mincho J;HG Mincho L;HG Mincho;Mincho;MS P明朝;HG Mincho Light J;MS ゴシック;HG Gothic J;HG Gothic B;HG Gothic;Gothic;MS Pゴシック;UmePlus P Gothic;Andale Sans UI</value>
</prop>
<prop oor:name="CJK_PRESENTATION" oor:type="xs:string" oor:op="replace">
- <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HG-PGothicB;HG-GothicB;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;MS ゴシック;MS Pゴシック;HG Gothic;HG Gothic B;UmePlus P Gothic;Gothic;Andale Sans UI</value>
+ <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HG-PGothicB;HG-GothicB;HG Mincho Light J;MS Pゴシック;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;さざなみゴシック;MS ゴシック;MS Pゴシック;HG Gothic;HG Gothic B;UmePlus P Gothic;Gothic;Andale Sans UI</value>
</prop>
<prop oor:name="LATIN_PRESENTATION" oor:type="xs:string" oor:op="replace">
<value>Andale;Arial</value>
</prop>
<prop oor:name="CJK_SPREADSHEET" oor:type="xs:string" oor:op="replace">
- <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;UmePlus P Gothic;Andale Sans UI;Kochi Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic</value>
+ <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;ヒラギノ明朝 ProN W3;ヒラギノ明朝 Pro W3;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;さざなみゴシック;UmePlus P Gothic;Andale Sans UI;Kochi Gothic;HG Gothic J;HG Gothic B;HG Gothic;Gothic</value>
</prop>
<prop oor:name="LATIN_SPREADSHEET" oor:type="xs:string" oor:op="replace">
- <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;Andale Sans UI;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Kochi Gothic;MS PGothic;UmePlus P Gothic;Gothic</value>
+ <value>HG PゴシックB Sun;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;Andale Sans UI;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;MS Gothic;HG Gothic J;HG Gothic B;HG Gothic;Kochi Gothic;MS PGothic;UmePlus P Gothic;Gothic</value>
</prop>
<prop oor:name="UI_FIXED" oor:type="xs:string" oor:op="replace">
- <value>HG ゴシックB Sun;HG-GothicB Sun;HG Mincho Light J;MS Pゴシック;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
+ <value>HG ゴシックB Sun;HG-GothicB Sun;HG Mincho Light J;MS Pゴシック;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
</prop>
<prop oor:name="FIXED" oor:type="xs:string" oor:op="replace">
- <value>HG ゴシックB Sun;HG-GothicB Sun;HG ゴシックB;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
+ <value>HG ゴシックB Sun;HG-GothicB Sun;HG ゴシックB;HG Mincho Light J;MS Pゴシック;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;UmePlus Gothic;Gothic</value>
</prop>
<prop oor:name="UI_SANS" oor:type="xs:string" oor:op="replace">
- <value>HG PゴシックB Sun;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG-GothicB;UmePlus P Gothic;Andale Sans UI;HG Mincho Light J;標準;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;Gothic;Gnu-Unifont</value>
+ <value>HG PゴシックB Sun;Osaka;ヒラギノ角ゴ ProN W3;ヒラギノ角ゴ Pro W3;HG-PGothicB Sun;HG PゴシックB;HG-PGothicB;HG-GothicB;UmePlus P Gothic;Andale Sans UI;HG Mincho Light J;標準;TLPゴシック;LXゴシック;HGPGothicB;IPA Pゴシック;Takao Pゴシック;東風ゴシック;さざなみゴシック;Kochi Gothic;Gothic;Gnu-Unifont</value>
</prop>
<prop oor:name="LATIN_FIXED" oor:type="xs:string" oor:op="replace">
<value>hgmincholightj;cumberlandamt;cumberland;couriernew;nimbusmonol;courier;lucidasanstypewriter;lucidatypewriter;monaco;monospaced</value>
@@ -3245,7 +3245,7 @@
</node>
<node oor:name="gothic" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hggothicbsun;msgothic;mspgothic;hiraginominchopronw3;hiraginominchoprow3;hggothic;hggothicb;hggothice;ipagothic;kochigothic;sazanamigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;centurygothic;avantgarde;itcavantgarde;gothic;avantgardegothic;conga;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>hggothicbsun;msgothic;mspgothic;hiraginominchopronw3;hiraginominchoprow3;hggothic;hggothicb;hggothice;ipagothic;takaogothic;kochigothic;sazanamigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;centurygothic;avantgarde;itcavantgarde;gothic;avantgardegothic;conga;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msgothic</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -3262,7 +3262,7 @@
</node>
<node oor:name="gothicb" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hggothicbsun;msgothic;mspgothic;hggothic;hggothicb;hggothice;ipagothic;kochigothic;sazanamigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>hggothicbsun;msgothic;mspgothic;hggothic;hggothicb;hggothice;ipagothic;takaogothic;kochigothic;sazanamigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msgothic</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -3279,7 +3279,7 @@
</node>
<node oor:name="gothicl" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>msgothic;mspgothic;hggothic;hggothicb;hggothice;ipapgothic;sazanamigothic;kochigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;centurygothic;avantgarde;itcavantgarde;gothic;avantgardegothic;conga;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>msgothic;mspgothic;hggothic;hggothicb;hggothice;ipapgothic;takaopgothic;sazanamigothic;kochigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;centurygothic;avantgarde;itcavantgarde;gothic;avantgardegothic;conga;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msgothic</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -3635,7 +3635,7 @@
</node>
<node oor:name="hgpmincholsun" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>mspmincho;ipapmincho;sazanamimincho;kochimincho;andalesansui;mincho;arialunicodems;lucidaunicode</value>
+ <value>mspmincho;ipapmincho;takaopmincho;sazanamimincho;kochimincho;andalesansui;mincho;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msmincho</value></prop>
</node>
@@ -3658,7 +3658,7 @@
</node>
<node oor:name="hggothicb" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>msgothic;mspgothic;hggothic;hggothice;ipagothic;ipapgothic;sazanamigothic;kochigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>msgothic;mspgothic;hggothic;hggothice;ipagothic;ipapgothic;takaogothic;takaopgothic;sazanamigothic;kochigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msgothic</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -3675,7 +3675,7 @@
</node>
<node oor:name="hggothice" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>msgothic;mspgothic;hggothic;hggothicb;ipagothic;ipapgothic;sazanamigothic;kochigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>msgothic;mspgothic;hggothic;hggothicb;ipagothic;ipapgothic;takaogothic;takaopgothic;sazanamigothic;kochigothic;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS">
<value></value>
@@ -3698,7 +3698,7 @@
</node>
<node oor:name="hgminchoj" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholightj;msmincho;mspmincho;ipapmincho;sazanamimincho;kochimincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>hgmincholightj;msmincho;mspmincho;ipapmincho;takaopmincho;sazanamimincho;kochimincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msmincho</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -3715,7 +3715,7 @@
</node>
<node oor:name="hgminchol" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholsun;hgmincholightj;msmincho;mspmincho;hgminchoj;ipamincho;ipapmincho;sazanamimincho;kochimincho;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgmincholsun;hgmincholightj;msmincho;mspmincho;hgminchoj;ipamincho;ipapmincho;takaomincho;takaopmincho;sazanamimincho;kochimincho;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS">
<value></value>
@@ -3738,7 +3738,7 @@
</node>
<node oor:name="hgmincholightj" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholsun;msmincho;mspmincho;ipapmincho;sazanamimincho;hgmincholightj;kochimincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>hgmincholsun;msmincho;mspmincho;ipapmincho;takaopmincho;sazanamimincho;hgmincholightj;kochimincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msmincho</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -5181,7 +5181,7 @@
</node>
<node oor:name="mincho" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholsun;hgmincholightj;msmincho;mspmincho;hiraginominchopronw3;hiraginominchoprow3;ipamincho;ipapmincho;sazanamimincho;hgmincholightj;hgminchoj;kochimincho;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgmincholsun;hgmincholightj;msmincho;mspmincho;hiraginominchopronw3;hiraginominchoprow3;ipamincho;ipapmincho;takaomincho;takaopmincho;sazanamimincho;hgmincholightj;hgminchoj;kochimincho;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msmincho</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -5215,7 +5215,7 @@
</node>
<node oor:name="minchol" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholsun;hgmincholightj;msmincho;ipamincho;sazanamimincho;kochimincho;mspmincho;hgminchoj;hgminchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgmincholsun;hgmincholightj;msmincho;ipamincho;takaomincho;sazanamimincho;kochimincho;mspmincho;hgminchoj;hgminchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>msmincho</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -5232,7 +5232,7 @@
</node>
<node oor:name="minchou" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholsun;hgmincholightj;msmincho;ipamicho;ipapmincho;sazanamimincho;kochimincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgmincholsun;hgmincholightj;msmincho;ipamicho;ipapmincho;takaomicho;takaopminchosazanamimincho;kochimincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS">
<value></value>
@@ -5541,7 +5541,7 @@
</node>
<node oor:name="msgothic" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hggothicbsun;mspgothic;hiraginokakugothicpronw3;hiraginokakugothicprow3;hggothic;hggothicb;ipagothic;sazanamigothic;kochigothic;hggothice;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;arialunicodems;lucidaunicode</value>
+ <value>hggothicbsun;mspgothic;hiraginokakugothicpronw3;hiraginokakugothicprow3;hggothic;hggothicb;ipagothic;takaogothic;sazanamigothic;kochigothic;hggothice;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS">
<value></value>
@@ -5564,7 +5564,7 @@
</node>
<node oor:name="mspgothic" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgpgothicbsun;mspgothic;msgothic;hiraginokakugothicpronw3;hiraginokakugothicprow3;hggothic;hggothicb;ipapgothic;sazanamigothic;kochigothic;hggothice;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>hgpgothicbsun;mspgothic;msgothic;hiraginokakugothicpronw3;hiraginokakugothicprow3;hggothic;hggothicb;ipapgothic;takaogothic;sazanamigothic;kochigothic;hggothice;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="FontWeight"> <value>Normal</value> </prop>
<prop oor:name="FontWidth"> <value>Normal</value> </prop>
@@ -5572,7 +5572,7 @@
</node>
<node oor:name="msmincho" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgmincholsun;hgmincholightj;ipamincho;hiraginominchopronw3;hiraginominchoprow3;sazanamimincho;kochimincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgmincholsun;hgmincholightj;ipamincho;takaomincho;hiraginominchopronw3;hiraginominchoprow3;sazanamimincho;kochimincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS">
<value></value>
@@ -5618,7 +5618,7 @@
</node>
<node oor:name="mspmincho" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgpmincholsun;hgmincholightj;msmincho;hiraginominchopronw3;hiraginominchoprow3;ipapmincho;sazanamimincho;hgminchoj;hgminchol;kochimincho;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgpmincholsun;hgmincholightj;msmincho;hiraginominchopronw3;hiraginominchoprow3;ipapmincho;takaopmincho;sazanamimincho;hgminchoj;hgminchol;kochimincho;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS">
<value></value>
@@ -6205,7 +6205,7 @@
</node>
<node oor:name="pgothic" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgpgothicbsun;mspgothic;msgothic;hggothic;hggothicb;ipapgothic;sazanamigothic;kochigothic;hggothice;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
+ <value>hgpgothicbsun;mspgothic;msgothic;hggothic;hggothicb;ipapgothic;takaopgothic;sazanamigothic;kochigothic;hggothice;andalesansui;gothic;hgmincholightj;msmincho;mspmincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;andalesansui;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>mspgothic</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
@@ -6268,7 +6268,7 @@
</node>
<node oor:name="pmincho" oor:op="replace">
<prop oor:name="SubstFonts">
- <value>hgpminchobsun;hgmincholightj;mspmincho;msmincho;ipapmincho;sazanamimincho;kochimincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
+ <value>hgpminchobsun;hgmincholightj;mspmincho;msmincho;ipapmincho;takaopmincho;sazanamimincho;kochimincho;hgminchoj;hgminchol;minchol;mincho;hgheiseimin;heiseimin;minchou;msgothic;mspgothic;hggothic;hggothicb;hggothice;andalesansui;gothic;arialunicodems;lucidaunicode</value>
</prop>
<prop oor:name="SubstFontsMS"><value>mspmincho</value></prop>
<prop oor:name="SubstFontsPS"><value></value></prop>
diff --git a/ooo.lst b/ooo.lst
index 802a85ae4f6f..4ccdb6c0bf51 100644
--- a/ooo.lst
+++ b/ooo.lst
@@ -83,4 +83,4 @@ e3738abd0d3ce1870dc1fd1f22bba5b1-icu4c-4_2_1-src.tgz
http://download.go-oo.org/extern
185d60944ea767075d27247c3162b3bc-unowinreg.dll
http://www.numbertext.org/linux
-c8fc33ad1efb77155f61e0e4ba8d3e9e-LinLibertineG-20101021.zip
+881af2b7dca9b8259abbca00bbbc004d-LinLibertineG-20110101.zip
diff --git a/package/source/zipapi/ZipFile.cxx b/package/source/zipapi/ZipFile.cxx
index b4ee15e5f527..005d29196fd6 100644
--- a/package/source/zipapi/ZipFile.cxx
+++ b/package/source/zipapi/ZipFile.cxx
@@ -843,13 +843,18 @@ sal_Int32 ZipFile::recover()
aGrabber.seek( 0 );
- for( sal_Int32 nGenPos = 0; aGrabber.readBytes( aBuffer, 32000 ) && aBuffer.getLength() > 30; )
+ const sal_Int32 nToRead = 32000;
+ for( sal_Int32 nGenPos = 0; aGrabber.readBytes( aBuffer, nToRead ) && aBuffer.getLength() > 16; )
{
const sal_Int8 *pBuffer = aBuffer.getConstArray();
sal_Int32 nBufSize = aBuffer.getLength();
sal_Int32 nPos = 0;
- while( nPos < nBufSize - 16 )
+ // the buffer should contain at least one header,
+ // or if it is end of the file, at least the postheader with sizes and hash
+ while( nPos < nBufSize - 30
+ || ( nBufSize < nToRead && nPos < nBufSize - 16 ) )
+
{
if ( nPos < nBufSize - 30 && pBuffer[nPos] == 'P' && pBuffer[nPos+1] == 'K' && pBuffer[nPos+2] == 3 && pBuffer[nPos+3] == 4 )
{
diff --git a/readlicense_oo/odt/CREDITS.odt b/readlicense_oo/odt/CREDITS.odt
index 673bf9f3aa56..b9246dc6936d 100644
--- a/readlicense_oo/odt/CREDITS.odt
+++ b/readlicense_oo/odt/CREDITS.odt
Binary files differ
diff --git a/readlicense_oo/odt/LICENSE.odt b/readlicense_oo/odt/LICENSE.odt
index 67acbd1d1521..13f3649d593d 100644
--- a/readlicense_oo/odt/LICENSE.odt
+++ b/readlicense_oo/odt/LICENSE.odt
Binary files differ
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 3acdf3bfd383..b3c0cd205352 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -930,13 +930,29 @@ public:
USHORT GetErrCode( const ScAddress& ) const;
/** Shrink a range to only include data area.
+
This is not the actually used area within the
selection, but the bounds of the sheet's data area
- instead. */
+ instead.
+
+ @returns TRUE if the area passed intersected the data
+ area, FALSE if not, in which case the values
+ obtained may be out of bounds, not in order or
+ unmodified. TRUE does not mean that there
+ actually is any data within the selection.
+ */
bool ShrinkToDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ) const;
- /** Shrink a range to only include used data area. */
- bool ShrinkToUsedDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const;
+ /** Shrink a range to only include used data area.
+
+ @param o_bShrunk
+ Out parameter, TRUE if area was shrunk, FALSE if not.
+
+ @returns TRUE if there is any data, FALSE if not.
+ */
+ bool ShrinkToUsedDataArea( bool& o_bShrunk,
+ SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow,
+ SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const;
void GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow,
SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld, bool bOnlyDown ) const;
diff --git a/sc/inc/drwlayer.hxx b/sc/inc/drwlayer.hxx
index d84044a5da32..e59e836be501 100644
--- a/sc/inc/drwlayer.hxx
+++ b/sc/inc/drwlayer.hxx
@@ -160,7 +160,7 @@ public:
void WidthChanged( SCTAB nTab, SCCOL nCol, long nDifTwips );
void HeightChanged( SCTAB nTab, SCROW nRow, long nDifTwips );
- BOOL HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow );
+ BOOL HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow, bool bIncludeNotes = true );
void DeleteObjectsInArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1,
SCCOL nCol2,SCROW nRow2 );
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 36ddd81d98cb..63b860660bc0 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -92,6 +92,17 @@ struct ScColWidthParam;
typedef std::hash_map< ::rtl::OUString, rtl::OUString, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > NameToNameMap;
+struct ScShowRowsEntry
+{
+ SCROW mnRow1;
+ SCROW mnRow2;
+ bool mbShow;
+
+ ScShowRowsEntry( SCROW nR1, SCROW nR2, bool bS ) :
+ mnRow1(nR1), mnRow2(nR2), mbShow(bS) {}
+};
+
+
class ScTable
{
private:
@@ -423,7 +434,8 @@ public:
void GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
BOOL bIncludeOld, bool bOnlyDown ) const;
- bool ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const;
+ bool ShrinkToUsedDataArea( bool& o_bShrunk, SCCOL& rStartCol, SCROW& rStartRow,
+ SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const;
SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow,
SCCOL nEndCol, SCROW nEndRow, ScDirection eDir );
@@ -670,7 +682,7 @@ public:
void DBShowRow(SCROW nRow, bool bShow);
void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
- void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
+ void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow, bool bSetFlags); // if bSetFlags=false, no SetRowHidden/SetRowFiltered
void SetColFlags( SCCOL nCol, BYTE nNewFlags );
void SetRowFlags( SCROW nRow, BYTE nNewFlags );
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index e9363978b1cb..24445911a4c5 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -708,12 +708,15 @@ bool ScDocument::ShrinkToDataArea(SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow
return true; // success!
}
-bool ScDocument::ShrinkToUsedDataArea( SCTAB nTab, SCCOL& rStartCol,
+bool ScDocument::ShrinkToUsedDataArea( bool& o_bShrunk, SCTAB nTab, SCCOL& rStartCol,
SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const
{
if (!ValidTab(nTab) || !pTab[nTab])
+ {
+ o_bShrunk = false;
return false;
- return pTab[nTab]->ShrinkToUsedDataArea( rStartCol, rStartRow, rEndCol, rEndRow, bColumnsOnly);
+ }
+ return pTab[nTab]->ShrinkToUsedDataArea( o_bShrunk, rStartCol, rStartRow, rEndCol, rEndRow, bColumnsOnly);
}
// connected area
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 31b2291c1ef8..72b943cba343 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -1150,7 +1150,7 @@ void ScDrawLayer::HeightChanged( SCTAB nTab, SCROW nRow, long nDifTwips )
MoveAreaTwips( nTab, aRect, Point( 0,nDifTwips ), aTopLeft );
}
-BOOL ScDrawLayer::HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow )
+BOOL ScDrawLayer::HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow, bool bIncludeNotes )
{
DBG_ASSERT( pDoc, "ScDrawLayer::HasObjectsInRows without document" );
if ( !pDoc )
@@ -1191,7 +1191,9 @@ BOOL ScDrawLayer::HasObjectsInRows( SCTAB nTab, SCROW nStartRow, SCROW nEndRow )
while ( pObject && !bFound )
{
aObjRect = pObject->GetSnapRect(); //! GetLogicRect ?
- if (aTestRect.IsInside(aObjRect.TopLeft()) || aTestRect.IsInside(aObjRect.BottomLeft()))
+ // #i116164# note captions are handled separately, don't have to be included for each single row height change
+ if ( (aTestRect.IsInside(aObjRect.TopLeft()) || aTestRect.IsInside(aObjRect.BottomLeft())) &&
+ (bIncludeNotes || !IsNoteCaption(pObject)) )
bFound = TRUE;
pObject = aIter.Next();
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index d4dd2026a019..007e873902ce 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -855,18 +855,28 @@ void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, S
}
-bool ScTable::ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow,
+bool ScTable::ShrinkToUsedDataArea( bool& o_bShrunk, SCCOL& rStartCol, SCROW& rStartRow,
SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const
{
- bool bRet = false;
- bool bChanged;
+ o_bShrunk = false;
+
+ PutInOrder( rStartCol, rEndCol);
+ PutInOrder( rStartRow, rEndRow);
+ if (rStartCol < 0)
+ rStartCol = 0, o_bShrunk = true;
+ if (rStartRow < 0)
+ rStartRow = 0, o_bShrunk = true;
+ if (rEndCol > MAXCOL)
+ rEndCol = MAXCOL, o_bShrunk = true;
+ if (rEndRow > MAXROW)
+ rEndRow = MAXROW, o_bShrunk = true;
+ bool bChanged;
do
{
bChanged = false;
- bool bCont = true;
- while (rEndCol > 0 && bCont && rStartCol < rEndCol)
+ while (rStartCol < rEndCol)
{
if (aCol[rEndCol].IsEmptyBlock( rStartRow, rEndRow))
{
@@ -874,11 +884,10 @@ bool ScTable::ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow,
bChanged = true;
}
else
- bCont = false;
+ break; // while
}
- bCont = true;
- while (rStartCol < MAXCOL && bCont && rStartCol < rEndCol)
+ while (rStartCol < rEndCol)
{
if (aCol[rStartCol].IsEmptyBlock( rStartRow, rEndRow))
{
@@ -886,12 +895,12 @@ bool ScTable::ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow,
bChanged = true;
}
else
- bCont = false;
+ break; // while
}
if (!bColumnsOnly)
{
- if (rStartRow < MAXROW && rStartRow < rEndRow)
+ if (rStartRow < rEndRow)
{
bool bFound = false;
for (SCCOL i=rStartCol; i<=rEndCol && !bFound; i++)
@@ -904,7 +913,7 @@ bool ScTable::ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow,
}
}
- if (rEndRow > 0 && rStartRow < rEndRow)
+ if (rStartRow < rEndRow)
{
bool bFound = false;
for (SCCOL i=rStartCol; i<=rEndCol && !bFound; i++)
@@ -919,9 +928,12 @@ bool ScTable::ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow,
}
if (bChanged)
- bRet = true;
+ o_bShrunk = true;
} while( bChanged );
- return bRet;
+
+ return rStartCol != rEndCol || (bColumnsOnly ?
+ !aCol[rStartCol].IsEmptyBlock( rStartRow, rEndRow) :
+ (rStartRow != rEndRow || aCol[rStartCol].HasDataAt( rStartRow)));
}
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index bb4fbb0f4d85..5e7d2d940282 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -775,6 +775,9 @@ void ScTable::CopyToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
pDestTab->pRowFlags->CopyFrom(*pRowFlags, nRow1, nRow2);
// Hidden flags.
+ // #i116164# Collect information first, then apply the changes,
+ // so RowHidden doesn't rebuild the tree for each row range.
+ std::vector<ScShowRowsEntry> aEntries;
for (SCROW i = nRow1; i <= nRow2; ++i)
{
SCROW nThisLastRow, nDestLastRow;
@@ -787,7 +790,8 @@ void ScTable::CopyToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
// the last row shouldn't exceed the upper bound the caller specified.
nLastRow = nRow2;
- pDestTab->SetRowHidden(i, nLastRow, bThisHidden);
+ //pDestTab->SetRowHidden(i, nLastRow, bThisHidden);
+ aEntries.push_back(ScShowRowsEntry(i, nLastRow, bThisHidden));
bool bThisHiddenChange = (bThisHidden != bDestHidden);
if (bThisHiddenChange && pCharts)
@@ -803,6 +807,19 @@ void ScTable::CopyToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
i = nLastRow;
}
+ std::vector<ScShowRowsEntry>::const_iterator aEnd = aEntries.end();
+ std::vector<ScShowRowsEntry>::const_iterator aIter = aEntries.begin();
+ if ( aIter != aEnd )
+ {
+ pDestTab->mpHiddenRows->setInsertFromBack(true); // important for undo document
+ while (aIter != aEnd)
+ {
+ pDestTab->SetRowHidden(aIter->mnRow1, aIter->mnRow2, !aIter->mbShow);
+ ++aIter;
+ }
+ pDestTab->mpHiddenRows->setInsertFromBack(false);
+ }
+
// Filtered flags.
for (SCROW i = nRow1; i <= nRow2; ++i)
{
@@ -1127,10 +1144,16 @@ ScBaseCell* ScTable::GetCell( SCCOL nCol, SCROW nRow ) const
void ScTable::GetFirstDataPos(SCCOL& rCol, SCROW& rRow) const
{
rCol = 0;
- rRow = 0;
+ rRow = MAXROW+1;
while (aCol[rCol].IsEmptyData() && rCol < MAXCOL)
++rCol;
- rRow = aCol[rCol].GetFirstDataPos();
+ SCCOL nCol = rCol;
+ while (nCol <= MAXCOL && rRow > 0)
+ {
+ if (!aCol[nCol].IsEmptyData())
+ rRow = ::std::min( rRow, aCol[nCol].GetFirstDataPos());
+ ++nCol;
+ }
}
void ScTable::GetLastDataPos(SCCOL& rCol, SCROW& rRow) const
@@ -1140,11 +1163,8 @@ void ScTable::GetLastDataPos(SCCOL& rCol, SCROW& rRow) const
while (aCol[rCol].IsEmptyData() && (rCol > 0))
rCol--;
SCCOL nCol = rCol;
- while ((SCsCOL)nCol >= 0)
- {
- rRow = Max(rRow, aCol[nCol].GetLastDataPos());
- nCol--;
- }
+ while (nCol >= 0 && rRow < MAXROW)
+ rRow = ::std::max( rRow, aCol[nCol--].GetLastDataPos());
}
@@ -2615,8 +2635,9 @@ void ScTable::DBShowRow(SCROW nRow, bool bShow)
}
-void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
+void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow, bool bSetFlags)
{
+ // #i116164# IncRecalcLevel/DecRecalcLevel is in ScTable::Query
SCROW nStartRow = nRow1;
while (nStartRow <= nRow2)
{
@@ -2626,7 +2647,7 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
nEndRow = nRow2;
BOOL bChanged = ( bWasVis != bShow );
- if ( bChanged )
+ if ( bChanged && bSetFlags )
{
ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
if (pDrawLayer)
@@ -2639,8 +2660,13 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
}
}
- SetRowHidden(nStartRow, nEndRow, !bShow);
- SetRowFiltered(nStartRow, nEndRow, !bShow);
+ // #i116164# Directly modify the flags only if there are drawing objects within the area.
+ // Otherwise, all modifications are made together in ScTable::Query, so the tree isn't constantly rebuilt.
+ if ( bSetFlags )
+ {
+ SetRowHidden(nStartRow, nEndRow, !bShow);
+ SetRowFiltered(nStartRow, nEndRow, !bShow);
+ }
if ( bChanged )
{
@@ -2665,6 +2691,14 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
SCROW nStartRow = nRow1;
IncRecalcLevel();
InitializeNoteCaptions();
+
+ // #i116164# if there are no drawing objects within the row range, a single HeightChanged call is enough
+ ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
+ bool bHasObjects = pDrawLayer && pDrawLayer->HasObjectsInRows( nTab, nRow1, nRow2, false );
+ long nOldHeight = 0;
+ if ( pDrawLayer && !bHasObjects )
+ nOldHeight = static_cast<long>(GetRowHeight(nRow1, nRow2));
+
while (nStartRow <= nRow2)
{
SCROW nEndRow = -1;
@@ -2673,9 +2707,8 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
nEndRow = nRow2;
BOOL bChanged = ( bWasVis != bShow );
- if ( bChanged )
+ if ( bChanged && bHasObjects )
{
- ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
if (pDrawLayer)
{
long nHeight = static_cast<long>(mpRowHeights->getSumValue(nStartRow, nEndRow));
@@ -2686,9 +2719,14 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
}
}
- SetRowHidden(nStartRow, nEndRow, !bShow);
- if (bShow)
- SetRowFiltered(nStartRow, nEndRow, false);
+ // #i116164# Directly modify the flags only if there are drawing objects within the area.
+ // Otherwise, all rows are modified together after the loop, so the tree isn't constantly rebuilt.
+ if ( bHasObjects )
+ {
+ SetRowHidden(nStartRow, nEndRow, !bShow);
+ if (bShow)
+ SetRowFiltered(nStartRow, nEndRow, false);
+ }
if ( bChanged )
{
@@ -2701,6 +2739,25 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
nStartRow = nEndRow + 1;
}
+
+ if ( !bHasObjects )
+ {
+ // #i116164# set the flags for the whole range at once
+ SetRowHidden(nRow1, nRow2, !bShow);
+ if (bShow)
+ SetRowFiltered(nRow1, nRow2, false);
+
+ if ( pDrawLayer )
+ {
+ // if there are no objects in the range, a single HeightChanged call is enough
+ long nNewHeight = 0;
+ if ( bShow )
+ nNewHeight = static_cast<long>(GetRowHeight(nRow1, nRow2));
+ if ( nNewHeight != nOldHeight )
+ pDrawLayer->HeightChanged( nTab, nRow1, nNewHeight - nOldHeight );
+ }
+ }
+
DecRecalcLevel();
}
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 48035ec5b655..496e24520dec 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -60,6 +60,8 @@
#include "cellform.hxx"
#include "postit.hxx"
#include "queryparam.hxx"
+#include "segmenttree.hxx"
+#include "drwlayer.hxx"
#include <vector>
@@ -1643,8 +1645,15 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
aParam.nDestCol, aParam.nDestRow, aParam.nDestTab );
}
- InitializeNoteCaptions();
- for (SCROW j=aParam.nRow1 + nHeader; j<=nEndRow; j++)
+ if (aParam.bInplace)
+ IncRecalcLevel(); // #i116164# once for all entries
+
+ // #i116164# If there are no drawing objects within the area, call SetRowHidden/SetRowFiltered for all rows at the end
+ std::vector<ScShowRowsEntry> aEntries;
+ ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer();
+ bool bHasObjects = pDrawLayer && pDrawLayer->HasObjectsInRows( nTab, aParam.nRow1 + nHeader, aParam.nRow2, false );
+
+ for (SCROW j=aParam.nRow1 + nHeader; j<=aParam.nRow2; j++)
{
BOOL bResult; // Filterergebnis
BOOL bValid = ValidQuery(j, aParam, pSpecial);
@@ -1699,7 +1708,11 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
else
{
if (bStarted)
- DBShowRows(nOldStart,nOldEnd, bOldResult);
+ {
+ DBShowRows(nOldStart,nOldEnd, bOldResult, bHasObjects);
+ if (!bHasObjects)
+ aEntries.push_back(ScShowRowsEntry(nOldStart, nOldEnd, bOldResult));
+ }
nOldStart = nOldEnd = j;
bOldResult = bResult;
}
@@ -1718,10 +1731,61 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
}
if (aParam.bInplace && bStarted)
- DBShowRows(nOldStart,nOldEnd, bOldResult);
+ {
+ DBShowRows(nOldStart,nOldEnd, bOldResult, bHasObjects);
+ if (!bHasObjects)
+ aEntries.push_back(ScShowRowsEntry(nOldStart, nOldEnd, bOldResult));
+ }
+
+ // #i116164# execute the collected SetRowHidden/SetRowFiltered calls
+ if (!bHasObjects)
+ {
+ std::vector<ScShowRowsEntry>::const_iterator aEnd = aEntries.end();
+ std::vector<ScShowRowsEntry>::const_iterator aIter = aEntries.begin();
+ if ( aIter != aEnd )
+ {
+ // do only one HeightChanged call with the final difference in heights
+ long nOldHeight = 0;
+ if ( pDrawLayer )
+ nOldHeight = static_cast<long>(GetRowHeight(aParam.nRow1 + nHeader, aParam.nRow2));
+
+ // clear the range first instead of many changes in the middle of the filled array
+ SetRowHidden(aParam.nRow1 + nHeader, aParam.nRow2, false);
+ SetRowFiltered(aParam.nRow1 + nHeader, aParam.nRow2, false);
+
+ // insert from back, in case the filter range is large
+ mpHiddenRows->setInsertFromBack(true);
+ mpFilteredRows->setInsertFromBack(true);
+
+ while (aIter != aEnd)
+ {
+ if (!aIter->mbShow)
+ {
+ SCROW nStartRow = aIter->mnRow1;
+ SCROW nEndRow = aIter->mnRow2;
+ SetRowHidden(nStartRow, nEndRow, true);
+ SetRowFiltered(nStartRow, nEndRow, true);
+ }
+ ++aIter;
+ }
+
+ mpHiddenRows->setInsertFromBack(false);
+ mpFilteredRows->setInsertFromBack(false);
+
+ if ( pDrawLayer )
+ {
+ // if there are no objects in the filtered range, a single HeightChanged call is enough
+ long nNewHeight = static_cast<long>(GetRowHeight(aParam.nRow1 + nHeader, aParam.nRow2));
+ pDrawLayer->HeightChanged( nTab, aParam.nRow1 + nHeader, nNewHeight - nOldHeight );
+ }
+ }
+ }
+
+ if (aParam.bInplace)
+ DecRecalcLevel();
delete[] pSpecial;
- SetDrawPageSize();
+
return nCount;
}
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 4cecf1a63701..15723af8e185 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -2663,8 +2663,7 @@ BOOL ScCompiler::IsValue( const String& rSym )
double fVal;
sal_uInt32 nIndex = ( mxSymbols->isEnglish() ?
pDoc->GetFormatTable()->GetStandardIndex( LANGUAGE_ENGLISH_US ) : 0 );
-// ULONG nIndex = 0;
-//// ULONG nIndex = pDoc->GetFormatTable()->GetStandardIndex(ScGlobal::eLnge);
+
if (pDoc->GetFormatTable()->IsNumberFormat( rSym, nIndex, fVal ) )
{
USHORT nType = pDoc->GetFormatTable()->GetType(nIndex);
@@ -2686,10 +2685,6 @@ BOOL ScCompiler::IsValue( const String& rSym )
return FALSE; // Boolean function instead.
}
- if( aFormula.GetChar(nSrcPos) == '.' )
- // numerical sheet name?
- return FALSE;
-
if( nType == NUMBERFORMAT_TEXT )
// HACK: number too big!
SetError( errIllegalArgument );
diff --git a/sc/source/filter/xml/xmlrowi.cxx b/sc/source/filter/xml/xmlrowi.cxx
index b1daf5d18575..4d1b2042a607 100644
--- a/sc/source/filter/xml/xmlrowi.cxx
+++ b/sc/source/filter/xml/xmlrowi.cxx
@@ -172,6 +172,7 @@ void ScXMLTableRowContext::EndElement()
sal_Int32 nSheet = rXMLImport.GetTables().GetCurrentSheet();
sal_Int32 nCurrentRow(rXMLImport.GetTables().GetCurrentRow());
uno::Reference<sheet::XSpreadsheet> xSheet(rXMLImport.GetTables().GetCurrentXSheet());
+ ScDocument* pDoc = rXMLImport.GetDocument();
if(xSheet.is())
{
sal_Int32 nFirstRow(nCurrentRow - nRepeatedRows + 1);
@@ -219,10 +220,18 @@ void ScXMLTableRowContext::EndElement()
bVisible = sal_False;
bFiltered = sal_True;
}
- if (!bVisible)
- xRowProperties->setPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_ISVISIBLE)), uno::makeAny(bVisible));
- if (bFiltered)
- xRowProperties->setPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_ISFILTERED)), uno::makeAny(bFiltered));
+
+ // #i116164# call SetRowHidden/SetRowFiltered directly, so the tree doesn't have to be rebuilt
+ // to compare with existing hidden flags.
+ if (!bVisible && pDoc)
+ pDoc->SetRowHidden((SCROW)nFirstRow, (SCROW)nCurrentRow, (SCTAB)nSheet, true);
+ if (bFiltered && pDoc)
+ pDoc->SetRowFiltered((SCROW)nFirstRow, (SCROW)nCurrentRow, (SCTAB)nSheet, true);
+
+ //if (!bVisible)
+ // xRowProperties->setPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_ISVISIBLE)), uno::makeAny(bVisible));
+ //if (bFiltered)
+ // xRowProperties->setPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_ISFILTERED)), uno::makeAny(bFiltered));
}
}
}
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index c0fc2fbfa215..ee7a8a6844aa 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -1393,7 +1393,8 @@ static ScTokenArray* lcl_convertToTokenArray(const ScDocument* pSrcDoc, ScRange&
// Only loop within the data area.
SCCOL nDataCol1 = nCol1, nDataCol2 = nCol2;
SCROW nDataRow1 = nRow1, nDataRow2 = nRow2;
- if (!pSrcDoc->ShrinkToDataArea(nTab, nDataCol1, nDataRow1, nDataCol2, nDataRow2))
+ bool bShrunk;
+ if (!pSrcDoc->ShrinkToUsedDataArea( bShrunk, nTab, nDataCol1, nDataRow1, nDataCol2, nDataRow2, false))
// no data within specified range.
continue;
@@ -1720,8 +1721,8 @@ ScExternalRefCache::TokenRef ScExternalRefManager::getSingleRefToken(
SCCOL nDataCol1 = 0, nDataCol2 = MAXCOL;
SCROW nDataRow1 = 0, nDataRow2 = MAXROW;
- pSrcDoc->ShrinkToDataArea(nTab, nDataCol1, nDataRow1, nDataCol2, nDataRow2);
- if (rCell.Col() < nDataCol1 || nDataCol2 < rCell.Col() || rCell.Row() < nDataRow1 || nDataRow2 < rCell.Row())
+ bool bData = pSrcDoc->ShrinkToDataArea(nTab, nDataCol1, nDataRow1, nDataCol2, nDataRow2);
+ if (!bData || rCell.Col() < nDataCol1 || nDataCol2 < rCell.Col() || rCell.Row() < nDataRow1 || nDataRow2 < rCell.Row())
{
// requested cell is outside the data area. Don't even bother caching
// this data, but add it to the cached range to prevent accessing the
diff --git a/sc/source/ui/src/optdlg.src b/sc/source/ui/src/optdlg.src
index 33aefbc2f5ba..39fae40428e3 100644
--- a/sc/source/ui/src/optdlg.src
+++ b/sc/source/ui/src/optdlg.src
@@ -232,42 +232,42 @@ TabPage RID_SCPAGE_FORMULA
FixedText FT_FORMULA_SEP_ARG
{
Pos = MAP_APPFONT ( 21, 59 );
- Size = MAP_APPFONT ( 40, 8 );
+ Size = MAP_APPFONT ( 60, 8 );
Text [ en-US ] = "~Function";
};
Edit ED_FORMULA_SEP_ARG
{
Border = TRUE;
- Pos = MAP_APPFONT ( 65, 57 );
+ Pos = MAP_APPFONT ( 75, 57 );
Size = MAP_APPFONT ( 10, 12 );
};
FixedText FT_FORMULA_SEP_ARRAY_C
{
Pos = MAP_APPFONT ( 21, 77 );
- Size = MAP_APPFONT ( 40, 8 );
+ Size = MAP_APPFONT ( 60, 8 );
Text [ en-US ] = "Array co~lumn";
};
Edit ED_FORMULA_SEP_ARRAY_C
{
Border = TRUE;
- Pos = MAP_APPFONT ( 65, 75 );
+ Pos = MAP_APPFONT ( 75, 75 );
Size = MAP_APPFONT ( 10, 12 );
};
FixedText FT_FORMULA_SEP_ARRAY_R
{
Pos = MAP_APPFONT ( 21, 95 );
- Size = MAP_APPFONT ( 40, 8 );
+ Size = MAP_APPFONT ( 60, 8 );
Text [ en-US ] = "Array ~row";
};
Edit ED_FORMULA_SEP_ARRAY_R
{
Border = TRUE;
- Pos = MAP_APPFONT ( 65, 93 );
+ Pos = MAP_APPFONT ( 75, 93 );
Size = MAP_APPFONT ( 10, 12 );
};
diff --git a/sc/source/ui/view/dbfunc.cxx b/sc/source/ui/view/dbfunc.cxx
index 9dc58f936b81..6b95b3b4ff8c 100644
--- a/sc/source/ui/view/dbfunc.cxx
+++ b/sc/source/ui/view/dbfunc.cxx
@@ -155,7 +155,10 @@ ScDBData* ScDBFunc::GetDBData( BOOL bMark, ScGetDBMode eMode, ScGetDBSelection e
ScDocument* pDoc = pDocSh->GetDocument();
SCCOL nCol1 = aRange.aStart.Col(), nCol2 = aRange.aEnd.Col();
SCROW nRow1 = aRange.aStart.Row(), nRow2 = aRange.aEnd.Row();
- if (pDoc->ShrinkToUsedDataArea( aRange.aStart.Tab(), nCol1, nRow1, nCol2, nRow2, bShrinkColumnsOnly))
+ bool bShrunk;
+ pDoc->ShrinkToUsedDataArea( bShrunk, aRange.aStart.Tab(),
+ nCol1, nRow1, nCol2, nRow2, bShrinkColumnsOnly);
+ if (bShrunk)
{
aRange.aStart.SetCol(nCol1);
aRange.aEnd.SetCol(nCol2);
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 1f21e93d28d3..f0fc67c22b76 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -4297,6 +4297,23 @@ void ScGridWindow::PasteSelection( const Point& rPosPixel )
SCsROW nPosY;
pViewData->GetPosFromPixel( rPosPixel.X(), rPosPixel.Y(), eWhich, nPosX, nPosY );
+ // If the mouse down was inside a visible note window, ignore it and
+ // leave it up to the ScPostIt to handle it
+ SdrView* pDrawView = pViewData->GetViewShell()->GetSdrView();
+ if (pDrawView)
+ {
+ ULONG nCount = pDrawView->GetMarkedObjectCount();
+ for (ULONG i = 0; i < nCount; ++i)
+ {
+ SdrObject* pObj = pDrawView->GetMarkedObjectByIndex(i);
+ if (pObj && pObj->GetLogicRect().IsInside(aLogicPos))
+ {
+ // Inside an active drawing object. Bail out.
+ return;
+ }
+ }
+ }
+
ScSelectionTransferObj* pOwnSelection = SC_MOD()->GetSelectionTransfer();
if ( pOwnSelection )
{
diff --git a/sc/source/ui/view/tabvwshe.cxx b/sc/source/ui/view/tabvwshe.cxx
index 07be1e04f39f..2271751a9e48 100644
--- a/sc/source/ui/view/tabvwshe.cxx
+++ b/sc/source/ui/view/tabvwshe.cxx
@@ -98,7 +98,9 @@ String __EXPORT ScTabViewShell::GetSelectionText( BOOL bWholeWord )
SCROW nRow1, nRow2;
SCTAB nTab1, nTab2;
aRange.GetVars( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2);
- if (pDoc->ShrinkToUsedDataArea( nTab1, nCol1, nRow1, nCol2, nRow2, false))
+ bool bShrunk;
+ pDoc->ShrinkToUsedDataArea( bShrunk, nTab1, nCol1, nRow1, nCol2, nRow2, false);
+ if (bShrunk)
{
aRange.aStart.SetCol( nCol1 );
aRange.aStart.SetRow( nRow1 );
diff --git a/scp2/source/base/folderitem_base.scp b/scp2/source/base/folderitem_base.scp
index c678e7424cd7..2f6e606ff9c3 100644
--- a/scp2/source/base/folderitem_base.scp
+++ b/scp2/source/base/folderitem_base.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Sbase
Name = "%PRODUCTNAME Base";
+ Name (pt-BR) = "%PRODUCTNAME_BR Base";
ModuleID = gid_Module_Prg_Base_Bin;
FolderID = gid_Folder_Staroffice51;
FileID = gid_File_Exe_Sbase;
diff --git a/scp2/source/calc/folderitem_calc.scp b/scp2/source/calc/folderitem_calc.scp
index 36cd965cb53b..c32ffa061546 100644
--- a/scp2/source/calc/folderitem_calc.scp
+++ b/scp2/source/calc/folderitem_calc.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Scalc
Name = "%PRODUCTNAME Calc";
+ Name (pt-BR) = "%PRODUCTNAME_BR Calc";
ModuleID = gid_Module_Prg_Calc_Bin;
FolderID = gid_Folder_Staroffice51;
FileID = gid_File_Exe_Scalc;
diff --git a/scp2/source/draw/folderitem_draw.scp b/scp2/source/draw/folderitem_draw.scp
index 4a73948ced39..2a302e57ea41 100644
--- a/scp2/source/draw/folderitem_draw.scp
+++ b/scp2/source/draw/folderitem_draw.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Sdraw
Name = "%PRODUCTNAME Draw";
+ Name (pt-BR) = "%PRODUCTNAME_BR Draw";
ModuleID = gid_Module_Prg_Draw_Bin;
FolderID = gid_Folder_Staroffice51;
FileID = gid_File_Exe_Sdraw;
diff --git a/scp2/source/extensions/directory_extensions.scp b/scp2/source/extensions/directory_extensions.scp
index a9a6330dc6ee..2d12668d86e2 100644
--- a/scp2/source/extensions/directory_extensions.scp
+++ b/scp2/source/extensions/directory_extensions.scp
@@ -96,6 +96,17 @@ End
/* ** Lightproof ** */
+#ifdef WITH_EXTENSION_LIGHTPROOF
+
+Directory gid_Brand_Dir_Share_Extensions_LightProof
+ ParentID = gid_Brand_Dir_Share_Extensions;
+ DosName (en-US) = "lightproof-en-US-0.1";
+ DosName (hu) = "lightproof-hu-1.2";
+ DosName = "lightproof";
+End
+
+#endif
+
/* ** Numbertext ** */
#ifdef WITH_EXTENSION_NUMBERTEXT
@@ -113,7 +124,7 @@ End
Directory gid_Brand_Dir_Share_Extensions_CT2N
ParentID = gid_Brand_Dir_Share_Extensions;
- DosName = "ConvertTextToNumber-1.3.2";
+ DosName = "ConvertTextToNumber";
End
#endif
@@ -234,11 +245,27 @@ End
Directory gid_Brand_Dir_Share_Extensions_OOoBlogger
ParentID = gid_Brand_Dir_Share_Extensions;
- DosName = "oooblogger-0.1";
+ DosName = "oooblogger";
End
#endif
/* ** Sun Template Pack ** */
+#ifdef WITH_EXTENSION_SUN_TEMPLATE_PACK
+
+Directory gid_Brand_Dir_Share_Extensions_Sun_Template_Pack
+ ParentID = gid_Brand_Dir_Share_Extensions;
+ DosName (en-US) = "Sun_ODF_Template_Pack_en-US";
+ DosName (de) = "Sun_ODF_Template_Pack_de";
+ DosName (es) = "Sun_ODF_Template_Pack_es";
+ DosName (fr) = "Sun_ODF_Template_Pack_fr";
+ DosName (hu) = "Sun_ODF_Template_Pack_hu";
+ DosName (it) = "Sun_ODF_Template_Pack_it";
+ DosName = "Sun_ODF_Template_Pack";
+End
+
#endif
+
+#endif
+
diff --git a/scp2/source/extensions/file_extensions.scp b/scp2/source/extensions/file_extensions.scp
index c61a924d61bc..37c56f975d80 100644
--- a/scp2/source/extensions/file_extensions.scp
+++ b/scp2/source/extensions/file_extensions.scp
@@ -110,10 +110,10 @@ End
File gid_File_Oxt_LightProof
TXT_FILE_BODY;
- Styles = (PACKED);
- Dir = gid_Brand_Dir_Share_Extensions_Install;
- Name (hu) = "lightproof-hu-1.2.oxt";
+ Styles = (PACKED, ARCHIVE);
+ Dir = gid_Brand_Dir_Share_Extensions_LightProof;
Name (en-US) = "lightproof-en-US-0.1.oxt";
+ Name (hu) = "lightproof-hu-1.2.oxt";
End
#endif
@@ -139,7 +139,7 @@ File gid_File_Oxt_CT2N
TXT_FILE_BODY;
Styles = (PACKED, ARCHIVE);
Dir = gid_Brand_Dir_Share_Extensions_CT2N;
- Name = "ConvertTextToNumber-1.3.2.oxt";
+ Name = "ConvertTextToNumber.oxt";
End
#endif
@@ -216,7 +216,7 @@ End
File gid_File_Oxt_Barcode
TXT_FILE_BODY;
Styles = (PACKED, ARCHIVE);
- Dir = gid_Brand_Dir_Share_Extensions_Validator;
+ Dir = gid_Brand_Dir_Share_Extensions_Barcode;
Name = "Barcode.oxt";
End
@@ -282,7 +282,7 @@ File gid_File_Oxt_OOoBlogger
TXT_FILE_BODY;
Styles = (PACKED, ARCHIVE);
Dir = gid_Brand_Dir_Share_Extensions_OOoBlogger;
- Name = "oooblogger-0.1.oxt";
+ Name = "oooblogger.oxt";
End
#endif
@@ -293,15 +293,15 @@ End
#ifdef WITH_EXTENSION_SUN_TEMPLATE_PACK
File gid_File_Optional_Extensions_Sun_Template_Pack
- Dir = gid_Brand_Dir_Share_Extensions_Install;
+ TXT_FILE_BODY;
+ Styles = (PACKED, ARCHIVE);
+ Dir = gid_Brand_Dir_Share_Extensions_Sun_Template_Pack;
Name (en-US) = "Sun_ODF_Template_Pack_en-US.oxt";
Name (de) = "Sun_ODF_Template_Pack_de.oxt";
Name (it) = "Sun_ODF_Template_Pack_it.oxt";
Name (fr) = "Sun_ODF_Template_Pack_fr.oxt";
Name (es) = "Sun_ODF_Template_Pack_es.oxt";
Name (hu) = "Sun_ODF_Template_Pack_hu.oxt";
- Styles = (PACKED);
- UnixRights = 444;
End
#endif
diff --git a/scp2/source/extensions/module_extensions.scp b/scp2/source/extensions/module_extensions.scp
index 7d9683b6f7f2..b1c771cb8bca 100644
--- a/scp2/source/extensions/module_extensions.scp
+++ b/scp2/source/extensions/module_extensions.scp
@@ -133,6 +133,7 @@ Module gid_Module_Optional_Extensions_LightProof
Default = YES;
Styles = ( );
End
+
#endif
/* ** Numbertext ** */
diff --git a/scp2/source/extensions/module_extensions_lightproof.scp b/scp2/source/extensions/module_extensions_lightproof.scp
index 7caa60178b76..58aa59ad17c4 100644
--- a/scp2/source/extensions/module_extensions_lightproof.scp
+++ b/scp2/source/extensions/module_extensions_lightproof.scp
@@ -46,8 +46,7 @@ Module gid_Module_Optional_Extensions_LightProof_Template
Name = "gid_Module_Optional_Extensions_LightProof_Template";
Description = "gid_Module_Optional_Extensions_LightProof_Template";
Styles = (TEMPLATEMODULE);
- Files = (
- gid_File_Oxt_LightProof );
+ Files = ( gid_File_Oxt_LightProof );
Minimal = NO;
Default = YES;
End
diff --git a/scp2/source/extensions/module_extensions_sun_templates.scp b/scp2/source/extensions/module_extensions_sun_templates.scp
index bd6fe0a59d77..6e5897ee58f4 100644
--- a/scp2/source/extensions/module_extensions_sun_templates.scp
+++ b/scp2/source/extensions/module_extensions_sun_templates.scp
@@ -46,8 +46,7 @@ Module gid_Module_Optional_Extensions_Sun_T_Pack_Template
Name = "gid_Module_Optional_Extensions_Sun_T_Pack_Template";
Description = "gid_Module_Optional_Extensions_Sun_T_Pack_Template";
Styles = (TEMPLATEMODULE);
- Files = (
- gid_File_Optional_Extensions_Sun_Template_Pack );
+ Files = ( gid_File_Optional_Extensions_Sun_Template_Pack );
Minimal = NO;
Default = YES;
End
diff --git a/scp2/source/impress/folderitem_impress.scp b/scp2/source/impress/folderitem_impress.scp
index db7b0c3794dd..e9a0708331b5 100644
--- a/scp2/source/impress/folderitem_impress.scp
+++ b/scp2/source/impress/folderitem_impress.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Simpress
Name = "%PRODUCTNAME Impress";
+ Name (pt-BR) = "%PRODUCTNAME_BR Impress";
ModuleID = gid_Module_Prg_Impress_Bin;
FolderID = gid_Folder_Staroffice51;
FileID = gid_File_Exe_Simpress;
diff --git a/scp2/source/math/folderitem_math.scp b/scp2/source/math/folderitem_math.scp
index 2decfb20811c..49f1b8cb8a4b 100644
--- a/scp2/source/math/folderitem_math.scp
+++ b/scp2/source/math/folderitem_math.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Smath
Name = "%PRODUCTNAME Math";
+ Name (pt-BR) = "%PRODUCTNAME_BR Math";
ModuleID = gid_Module_Prg_Math_Bin;
FolderID = gid_Folder_Staroffice51;
FileID = gid_File_Exe_Smath;
diff --git a/scp2/source/ooo/folderitem_ooo.scp b/scp2/source/ooo/folderitem_ooo.scp
index b6ef81eff36d..db3e5b1679c9 100644
--- a/scp2/source/ooo/folderitem_ooo.scp
+++ b/scp2/source/ooo/folderitem_ooo.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Soffice
Name = "%PRODUCTNAME";
+ Name (pt-BR) = "%PRODUCTNAME_BR";
ModuleID = gid_Module_Root;
FolderID = gid_Folder_Staroffice51;
FileID = gid_Brand_File_Bin_Soffice;
@@ -42,6 +43,7 @@ End
FolderItem gid_Folderitem_Soffice_Desktop
Name = "%PRODUCTNAME %PRODUCTVERSION";
+ Name (pt-BR) = "%PRODUCTNAME_BR %PRODUCTVERSION";
ModuleID = gid_Module_Root;
FolderID = PREDEFINED_DESKTOP;
FileID = gid_Brand_File_Bin_Soffice;
diff --git a/scp2/source/ooo/module_helppack.ulf b/scp2/source/ooo/module_helppack.ulf
index 600a699ee1fa..518364385c27 100644
--- a/scp2/source/ooo/module_helppack.ulf
+++ b/scp2/source/ooo/module_helppack.ulf
@@ -766,7 +766,7 @@ en-US = "Installs Konkani help in %PRODUCTNAME %PRODUCTVERSION"
[STR_NAME_MODULE_HELPPACK_KS]
en-US = "Kashmiri"
-[STR_DESC_MODULE_HELPPACK_KS
+[STR_DESC_MODULE_HELPPACK_KS]
en-US = "Installs Kashmiri help in %PRODUCTNAME %PRODUCTVERSION"
[STR_NAME_MODULE_HELPPACK_KY]
diff --git a/scp2/source/ooo/module_langpack.ulf b/scp2/source/ooo/module_langpack.ulf
index 3a050b4d30b8..3b5949dd2a4c 100644
--- a/scp2/source/ooo/module_langpack.ulf
+++ b/scp2/source/ooo/module_langpack.ulf
@@ -766,7 +766,7 @@ en-US = "Installs Konkani support in %PRODUCTNAME %PRODUCTVERSION"
[STR_NAME_MODULE_LANGPACK_KS]
en-US = "Kashmiri"
-[STR_DESC_MODULE_LANGPACK_KS
+[STR_DESC_MODULE_LANGPACK_KS]
en-US = "Installs Kashmiri support in %PRODUCTNAME %PRODUCTVERSION"
[STR_NAME_MODULE_LANGPACK_KY]
diff --git a/scp2/source/ooo/registryitem_ooo.scp b/scp2/source/ooo/registryitem_ooo.scp
index 6aa7c4eb8c03..24a2cba71dd0 100644
--- a/scp2/source/ooo/registryitem_ooo.scp
+++ b/scp2/source/ooo/registryitem_ooo.scp
@@ -627,6 +627,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Capabi
ModuleID = gid_Module_Root;
Name = "ApplicationName";
Value = "%PRODUCTNAME %PRODUCTVERSION";
+ Value (pt-BR) = "%PRODUCTNAME_BR %PRODUCTVERSION";
Styles = ();
End
diff --git a/scp2/source/quickstart/folderitem_quickstart.scp b/scp2/source/quickstart/folderitem_quickstart.scp
index b533637cc788..9de0a7ce36b4 100644
--- a/scp2/source/quickstart/folderitem_quickstart.scp
+++ b/scp2/source/quickstart/folderitem_quickstart.scp
@@ -30,6 +30,7 @@
FolderItem gid_Folderitem_Exe_Quickstart
ModuleID = gid_Module_Optional_Quickstart;
Name = "%PRODUCTNAME %PRODUCTVERSION";
+ Name (pt-BR) = "%PRODUCTNAME_BR %PRODUCTVERSION";
FolderID = PREDEFINED_AUTOSTART;
FileID = gid_File_Exe_Install_Quickstart;
End
diff --git a/scp2/source/writer/folderitem_writer.scp b/scp2/source/writer/folderitem_writer.scp
index 7541e1d2d344..cf9d5ad45e35 100644
--- a/scp2/source/writer/folderitem_writer.scp
+++ b/scp2/source/writer/folderitem_writer.scp
@@ -29,6 +29,7 @@
FolderItem gid_Folderitem_Swriter
Name = "%PRODUCTNAME Writer";
+ Name (pt-BR) = "%PRODUCTNAME_BR Writer";
ModuleID = gid_Module_Prg_Wrt_Bin;
FolderID = gid_Folder_Staroffice51;
FileID = gid_File_Exe_Swriter;
diff --git a/set_soenv.in b/set_soenv.in
index 6e51c4fe5965..1c1e97bd6c5e 100644
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1630,8 +1630,8 @@ else
}
# Languages
ToFile( "WITH_LANG", "@WITH_LANG@", "e" );
-ToFile( "INTRO_BITMAPS", "@INTRO_BITMAPS@", "e" );
-ToFile( "ABOUT_BITMAPS", "@ABOUT_BITMAPS@", "e" );
+ToFile( "INTRO_BITMAP", "@INTRO_BITMAP@", "e" );
+ToFile( "ABOUT_BITMAP", "@ABOUT_BITMAP@", "e" );
ToFile( "OOO_VENDOR", "@OOO_VENDOR@", "e" );
ToFile( "OOODMAKEMODE", "YES", "e" );
ToFile( "WITH_POOR_HELP_LOCALIZATIONS", "@WITH_POOR_HELP_LOCALIZATIONS@", "e" );
diff --git a/setup_native/source/packinfo/packinfo_office.txt b/setup_native/source/packinfo/packinfo_office.txt
index 409959e7ae71..f3f9249a2089 100755
--- a/setup_native/source/packinfo/packinfo_office.txt
+++ b/setup_native/source/packinfo/packinfo_office.txt
@@ -723,7 +723,7 @@ solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEP
packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-hr"
requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION"
linuxpatchrequires = ""
-copyright = ""
+copyright = "2003-2010 by Denis Lackovic"
solariscopyright = "solariscopyrightfile"
vendor = "The Document Foundation"
description = "Hr dictionary for %PRODUCTNAME %PRODUCTVERSION"
diff --git a/sfx2/source/appl/app.hrc b/sfx2/source/appl/app.hrc
index dca172269443..03fdb30703f7 100644
--- a/sfx2/source/appl/app.hrc
+++ b/sfx2/source/appl/app.hrc
@@ -267,6 +267,16 @@
#define RID_SVXSTR_GRFILTER_FILTERERROR (RID_SFX_APP_START + 202)
#define RID_SVXSTR_GRFILTER_TOOBIG (RID_SFX_APP_START + 203)
+// For the License Information dialog box
+#define DLG_HELP_LICENSING (RID_SFX_APP_START + 204)
+#define STR_LICENSING_INFORMATION_1 (RID_SFX_APP_START + 205)
+#define STR_LICENSING_INFORMATION_2 (RID_SFX_APP_START + 206)
+#define STR_LICENSING_INFORMATION_3 (RID_SFX_APP_START + 207)
+#define STR_LICENSING_INFORMATION_4 (RID_SFX_APP_START + 208)
+#define STR_LICENSING_INFORMATION_5 (RID_SFX_APP_START + 209)
+#define PB_LICENSING_SHOW (RID_SFX_APP_START + 210)
+#define PB_LICENSING_CLOSE (RID_SFX_APP_START + 211)
+
#define MD_DDE_LINKEDIT (RID_SFX_APP_START + 1)
#endif // #ifndef _SFX_APP_HRC
diff --git a/sfx2/source/appl/app.src b/sfx2/source/appl/app.src
index 0858e66e7347..474a77f5a47b 100644
--- a/sfx2/source/appl/app.src
+++ b/sfx2/source/appl/app.src
@@ -1092,3 +1092,57 @@ String RID_SVXSTR_GRFILTER_TOOBIG
Text [ en-US ] = "Not enough memory to insert graphic" ;
};
+ModalDialog DLG_HELP_LICENSING
+{
+ // Size is computed
+ Text [ en-US ] = "Licensing and Legal information";
+ MOVEABLE = TRUE ;
+ CLOSEABLE = TRUE ;
+ OUTPUTSIZE = TRUE ;
+ SVLOOK = TRUE ;
+ String STR_LICENSING_INFORMATION_1
+ {
+ Text [ en-US ] =
+ "%PRODUCTNAME is made available subject to the terms of GNU Lesser General Public\n"
+ "License Version 3. A copy of the LGPL license can be found at\n"
+ "http://www.gnu.org/licenses/lgpl-3.0.html" ;
+ };
+ String STR_LICENSING_INFORMATION_2
+ {
+ Text [ en-US ] =
+ "Third Party Code Additional copyright notices and license terms applicable to\n"
+ "portions of the Software are set forth in the THIRDPARTYLICENSEREADME.html\n"
+ "file; choose Show License to see exact details in English." ;
+ };
+ String STR_LICENSING_INFORMATION_3
+ {
+ Text [ en-US ] =
+ "All trademarks and registered trademarks mentioned herein are the property of\n"
+ "their respective owners." ;
+ };
+ String STR_LICENSING_INFORMATION_4
+ {
+ Text [ en-US ] =
+ "Copyright © 2000, 2010 LibreOffice contributors and/or their affiliates. All rights\n"
+ "reserved." ;
+ };
+ String STR_LICENSING_INFORMATION_5
+ {
+ Text [ en-US ] =
+ "This product was created by %OOOVENDOR, based on OpenOffice.org,\n"
+ "which is Copyright 2000, 2010 Oracle and/or its affiliates.\n"
+ "%OOOVENDOR acknowledges all community members, please see\n"
+ "http://www.libreoffice.org/ for more details." ;
+ };
+ OKButton PB_LICENSING_SHOW
+ {
+ // Position and size is computed
+ Text [ en-US ] = "~Show License" ;
+ DefButton = TRUE ;
+ };
+ CancelButton PB_LICENSING_CLOSE
+ {
+ // Position and size is computed
+ Text [ en-US ] = "~Close" ;
+ };
+};
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 2d78f0ca0c8d..74e766a38f6f 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -157,20 +157,42 @@ long QuitAgain_Impl( void* pObj, void* pArg )
return 0;
}
-namespace {
- sal_Bool checkURL( const char *pName, rtl::OUString &rURL )
- {
- using namespace osl;
- DirectoryItem aDirItem;
-
- rURL = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/") );
- rURL += rtl::OUString::createFromAscii( pName );
- rtl::Bootstrap::expandMacros( rURL );
+/// Find the correct location of the document (LICENSE.odt, etc.), and return
+/// it in rURL if found.
+static sal_Bool checkURL( const char *pName, const char *pExt, rtl::OUString &rURL )
+{
+ using namespace osl;
+ DirectoryItem aDirItem;
+
+ rURL = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/") );
+ rURL += rtl::OUString::createFromAscii( pName );
+ rURL += rtl::OUString::createFromAscii( pExt );
+ rtl::Bootstrap::expandMacros( rURL );
+
+ if (rURL.getLength() != 0)
+ return DirectoryItem::get( rURL, aDirItem ) == DirectoryItem::E_None;
+ else
+ return sal_False;
+}
- if (rURL.getLength() != 0)
- return DirectoryItem::get( rURL, aDirItem ) == DirectoryItem::E_None;
- else
- return sal_False;
+/// Displays CREDITS or LICENSE in any of the available version
+static void showDocument( const char* pBaseName )
+{
+ try {
+ Reference < XComponentLoader > xLoader( ::comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ), UNO_QUERY );
+ Sequence < com::sun::star::beans::PropertyValue > args(2);
+ args[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ViewOnly"));
+ args[0].Value <<= sal_True;
+ args[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReadOnly"));
+ args[1].Value <<= sal_True;
+
+ rtl::OUString aURL;
+ if ( checkURL ( pBaseName, ".odt", aURL ) ||
+ checkURL ( pBaseName, ".html", aURL ) ||
+ checkURL ( pBaseName, "", aURL ) ) {
+ xLoader->loadComponentFromURL( aURL, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_blank")), 0, args );
+ }
+ } catch (const ::com::sun::star::uno::Exception &) {
}
}
@@ -356,43 +378,51 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
break;
}
- case SID_SHOW_CREDITS:
case SID_SHOW_LICENSE:
{
- try {
- Reference < XComponentLoader > xLoader( ::comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ), UNO_QUERY );
- Sequence < com::sun::star::beans::PropertyValue > args(2);
- args[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ViewOnly"));
- args[0].Value <<= sal_True;
- args[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReadOnly"));
- args[1].Value <<= sal_True;
-
- rtl::OUString aURL;
- char const** pNames;
- if( rReq.GetSlot() == SID_SHOW_LICENSE )
- {
- static char const* pLicenseStrings[] =
- {
- "LICENSE.odt", "LICENSE.html", "LICENSE"
- };
- pNames = pLicenseStrings;
- }
- else
- {
- static char const* pCreditsStrings[] =
- {
- "CREDITS.odt", "CREDITS.html", "CREDITS"
- };
- pNames = pCreditsStrings;
- }
-
- if ( checkURL ( pNames[0], aURL ) ||
- checkURL ( pNames[1], aURL ) ||
- checkURL ( pNames[2], aURL ) ) {
- xLoader->loadComponentFromURL( aURL, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_blank")), 0, args );
- }
- } catch (const ::com::sun::star::uno::Exception &) {
+ ModalDialog aDialog( NULL, SfxResId( DLG_HELP_LICENSING ) );
+
+ String aLicensing;
+ for ( int i = STR_LICENSING_INFORMATION_1; i <= STR_LICENSING_INFORMATION_5; ++i )
+ {
+ if ( i != STR_LICENSING_INFORMATION_1 )
+ aLicensing += String( RTL_CONSTASCII_USTRINGPARAM( "\n\n" ) );
+ aLicensing += String( SfxResId( i ) );
}
+
+ FixedText aText( &aDialog );
+ aText.SetText( aLicensing );
+ OKButton aShow( &aDialog, SfxResId( PB_LICENSING_SHOW ) );
+ CancelButton aClose( &aDialog, SfxResId( PB_LICENSING_CLOSE ) );
+
+ // positions and sizes are computed to always fit the language
+ Size aTextSize( aText.GetOptimalSize( WINDOWSIZE_PREFERRED ) );
+ Size aShowSize( aShow.GetOptimalSize( WINDOWSIZE_PREFERRED ) );
+ Size aCloseSize( aClose.GetOptimalSize( WINDOWSIZE_PREFERRED ) );
+
+ long nDelimX = 12;
+ long nDelimY = 12;
+ long nWidth = aTextSize.Width() + 2*nDelimX;
+ long nButtonY = aTextSize.Height() + 2*nDelimY;
+ Size aButtonSize( std::max( aShowSize.Width(), aCloseSize.Width() ) + nDelimX,
+ std::max( aShowSize.Height(), aCloseSize.Height() ) );
+
+ aDialog.SetSizePixel( Size( nWidth, aTextSize.Height() + 3*nDelimY + aButtonSize.Height() ) );
+ aText.SetPosSizePixel( Point( nDelimX, nDelimY ), aTextSize );
+ aShow.SetPosSizePixel( Point( ( nWidth - nDelimX ) / 2 - aButtonSize.Width(), nButtonY ), aButtonSize );
+ aClose.SetPosSizePixel( Point( aShow.GetPosPixel().X() + aButtonSize.Width() + nDelimX, nButtonY ), aButtonSize );
+
+ aText.Show();
+
+ if ( aDialog.Execute() == RET_OK )
+ showDocument( "LICENSE" );
+
+ break;
+ }
+
+ case SID_SHOW_CREDITS:
+ {
+ showDocument( "CREDITS" );
break;
}
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx
index 1d52eab31618..b9c0b2caae40 100644
--- a/shell/source/unix/exec/shellexec.cxx
+++ b/shell/source/unix/exec/shellexec.cxx
@@ -282,7 +282,13 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
pDesktopLaunch = NULL;
}
- OString cmd = aBuffer.makeStringAndClear();
+ OString cmd =
+#ifdef LINUX
+ // avoid blocking (call it in background)
+ OStringBuffer().append( "( " ).append( aBuffer ).append( " ) &" ).makeStringAndClear();
+#else
+ aBuffer.makeStringAndClear();
+#endif
if ( 0 != pclose(popen(cmd.getStr(), "w")) )
{
int nerr = errno;
diff --git a/slideshow/source/engine/color.cxx b/slideshow/source/engine/color.cxx
index 3d7ca0fd81c7..78ea55e16c76 100644
--- a/slideshow/source/engine/color.cxx
+++ b/slideshow/source/engine/color.cxx
@@ -267,8 +267,8 @@ namespace slideshow
}
RGBColor::RGBColor(const RGBColor& rLHS)
+ : maRGBTriple( rLHS.maRGBTriple )
{
- RGBColor(rLHS.getRed(), rLHS.getGreen(), rLHS.getBlue());
}
RGBColor& RGBColor::operator=( const RGBColor& rLHS ){
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index 0bdff5f61a3d..7d25f14e2426 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -2152,13 +2152,15 @@ sub print_announce {
};
sub zenity_enabled {
- return 0 if (!defined $ENV{DISPLAY});
return 0 if ($ENV{ENABLE_ZENITY} ne "TRUE");
- return 1;
+ return 0 if (!defined $ENV{DISPLAY});
+ return 1 if ($ENV{DISPLAY} =~ m/^:/); # local displays only
+ return 0;
}
sub zenity_open {
if (zenity_enabled()) {
+ $SIG{PIPE} = 'IGNORE';
my $zenity_pid = open3($zenity_in, $zenity_out, $zenity_err,
"zenity --notification --listen");
};
diff --git a/solenv/bin/striplanguagetags.sh b/solenv/bin/striplanguagetags.sh
new file mode 100755
index 000000000000..46d88e0a2a1e
--- /dev/null
+++ b/solenv/bin/striplanguagetags.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+#take a .zip containing a flat hierarchy of odf files and strip out the
+#language and country tags in each of them and repack it all up
+#should convert templates so that documents based on them use
+#the default-document-language rather than the hardcoded lang-tag
+
+#All a bit hacky, but it should work
+
+tempfoo=`basename $0`
+XSL=`mktemp /tmp/${tempfoo}.XXXXXX`
+if [ $? -ne 0 ]; then
+ echo "$0: Can't create temp file, exiting..."
+ exit 1
+fi
+WRKDIR=`mktemp -d /tmp/${tempfoo}.XXXXXX`
+if [ $? -ne 0 ]; then
+ echo "$0: Can't create temp dir, exiting..."
+ exit 1
+fi
+
+cat > $XSL << EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
+
+<xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template match="@fo:language"/>
+<xsl:template match="@fo:country"/>
+
+</xsl:stylesheet>
+EOF
+
+unzip -q $1 -d $WRKDIR
+pushd $WRKDIR
+for a in *; do
+ unzip -qc $a styles.xml > styles.tmp
+ eval "$CALLXSLTPROC -o styles.xml $XSL styles.tmp"
+ zip -qr $a styles.xml
+ rm styles.xml styles.tmp
+done
+popd
+zip -qrj $1 $WRKDIR
+rm -rf $WRKDIR
+rm -f $XSL
diff --git a/solenv/inc/_tg_zip.mk b/solenv/inc/_tg_zip.mk
index 608819da6596..8d7489644bde 100644
--- a/solenv/inc/_tg_zip.mk
+++ b/solenv/inc/_tg_zip.mk
@@ -14,6 +14,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP1TARGET)"!=""
+.IF "$(ZIP1STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP1EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP1LIST:s/LANGDIR//)" == "$(ZIP1LIST)"
@@ -117,6 +122,11 @@ $(ZIP1TARGETN) : delzip $(ZIP1DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP1STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP1DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -137,6 +147,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP2TARGET)"!=""
+.IF "$(ZIP2STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP2EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP2LIST:s/LANGDIR//)" == "$(ZIP2LIST)"
@@ -240,6 +255,11 @@ $(ZIP2TARGETN) : delzip $(ZIP2DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP2STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP2DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -260,6 +280,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP3TARGET)"!=""
+.IF "$(ZIP3STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP3EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP3LIST:s/LANGDIR//)" == "$(ZIP3LIST)"
@@ -363,6 +388,11 @@ $(ZIP3TARGETN) : delzip $(ZIP3DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP3STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP3DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -383,6 +413,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP4TARGET)"!=""
+.IF "$(ZIP4STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP4EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP4LIST:s/LANGDIR//)" == "$(ZIP4LIST)"
@@ -486,6 +521,11 @@ $(ZIP4TARGETN) : delzip $(ZIP4DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP4STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP4DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -506,6 +546,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP5TARGET)"!=""
+.IF "$(ZIP5STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP5EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP5LIST:s/LANGDIR//)" == "$(ZIP5LIST)"
@@ -609,6 +654,11 @@ $(ZIP5TARGETN) : delzip $(ZIP5DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP5STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP5DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -629,6 +679,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP6TARGET)"!=""
+.IF "$(ZIP6STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP6EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP6LIST:s/LANGDIR//)" == "$(ZIP6LIST)"
@@ -732,6 +787,11 @@ $(ZIP6TARGETN) : delzip $(ZIP6DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP6STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP6DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -752,6 +812,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP7TARGET)"!=""
+.IF "$(ZIP7STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP7EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP7LIST:s/LANGDIR//)" == "$(ZIP7LIST)"
@@ -855,6 +920,11 @@ $(ZIP7TARGETN) : delzip $(ZIP7DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP7STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP7DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -875,6 +945,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP8TARGET)"!=""
+.IF "$(ZIP8STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP8EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP8LIST:s/LANGDIR//)" == "$(ZIP8LIST)"
@@ -978,6 +1053,11 @@ $(ZIP8TARGETN) : delzip $(ZIP8DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP8STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP8DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -998,6 +1078,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP9TARGET)"!=""
+.IF "$(ZIP9STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP9EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP9LIST:s/LANGDIR//)" == "$(ZIP9LIST)"
@@ -1101,6 +1186,11 @@ $(ZIP9TARGETN) : delzip $(ZIP9DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP9STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP9DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -1121,6 +1211,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP10TARGET)"!=""
+.IF "$(ZIP10STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP10EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP10LIST:s/LANGDIR//)" == "$(ZIP10LIST)"
@@ -1224,6 +1319,11 @@ $(ZIP10TARGETN) : delzip $(ZIP10DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP10STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP10DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 88bd80c97f05..330ce125d614 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
RSCVERSION=330
-RSCREVISION=330m18(Build:4)
-BUILD=4
-LAST_MINOR=m18
+RSCREVISION=330m19(Build:5)
+BUILD=5
+LAST_MINOR=m19
SOURCEVERSION=OOO330
diff --git a/solenv/inc/postset.mk b/solenv/inc/postset.mk
index 74c92f088226..80c1f7468413 100644
--- a/solenv/inc/postset.mk
+++ b/solenv/inc/postset.mk
@@ -33,6 +33,7 @@ defaultlangiso=en-US
completelangiso=af \
ar \
as \
+ast \
be-BY \
bo \
bg \
@@ -41,6 +42,7 @@ brx \
bn \
bs \
ca \
+ca-XV \
cs \
cy \
da \
@@ -66,6 +68,7 @@ he \
hi \
hr \
hu \
+id \
is \
it \
ja \
@@ -111,7 +114,6 @@ rw \
sat \
sa-IN \
si \
-sc \
sd \
sq \
sk \
diff --git a/solenv/inc/tg_zip.mk b/solenv/inc/tg_zip.mk
index 0a0364e02ab3..d3236fd84a7f 100644
--- a/solenv/inc/tg_zip.mk
+++ b/solenv/inc/tg_zip.mk
@@ -42,6 +42,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP$(TNR)TARGET)"!=""
+.IF "$(ZIP$(TNR)STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP$(TNR)EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP$(TNR)LIST:s/LANGDIR//)" == "$(ZIP$(TNR)LIST)"
@@ -145,6 +150,11 @@ $(ZIP$(TNR)TARGETN) : delzip $(ZIP$(TNR)DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP$(TNR)STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP$(TNR)DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index 179a41d33716..dc40aa9a1d69 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -1384,6 +1384,9 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultFormat( short nType )
sal_uInt32 SvNumberFormatter::GetStandardFormat( short eType, LanguageType eLnge )
{
+ if (eLnge == LANGUAGE_DONTKNOW)
+ eLnge = IniLnge;
+
sal_uInt32 CLOffset = ImpGenerateCL(eLnge);
switch(eType)
{
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 4528f5b24f25..63347cbede7a 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1339,12 +1339,8 @@ void SwDoc::CalculatePagesForPrinting(
// get PageRange value to use
OUString aPageRange;
- if (bIsPDFExport)
- {
- // ?? rOptions.getValue( C2U("Selection") );
- aPageRange = rOptions.getStringValue( "PageRange", OUString() );
- }
- else
+ // PL, OD #i116085# - adjusting fix for i113919
+ if ( !bIsPDFExport )
{
// PageContent :
// 0 -> print all pages (default if aPageRange is empty)
diff --git a/sw/source/core/undo/SwUndoField.cxx b/sw/source/core/undo/SwUndoField.cxx
index 6cded2ec458e..24607494d7de 100644
--- a/sw/source/core/undo/SwUndoField.cxx
+++ b/sw/source/core/undo/SwUndoField.cxx
@@ -87,7 +87,8 @@ SwUndoFieldFromDoc::~SwUndoFieldFromDoc()
void SwUndoFieldFromDoc::Undo( SwUndoIter& )
{
SwTxtFld * pTxtFld = SwDoc::GetTxtFld(GetPosition());
- const SwField * pField = pTxtFld->GetFld().GetFld();
+
+ const SwField * pField = pTxtFld ? pTxtFld->GetFld().GetFld() : NULL;
if (pField)
{
@@ -102,7 +103,7 @@ void SwUndoFieldFromDoc::Undo( SwUndoIter& )
void SwUndoFieldFromDoc::Redo( SwUndoIter& )
{
SwTxtFld * pTxtFld = SwDoc::GetTxtFld(GetPosition());
- const SwField * pField = pTxtFld->GetFld().GetFld();
+ const SwField * pField = pTxtFld ? pTxtFld->GetFld().GetFld() : NULL;
if (pField)
{
diff --git a/sw/source/ui/dbui/mmoutputpage.cxx b/sw/source/ui/dbui/mmoutputpage.cxx
index 78cc8bab51a7..5a5ba88615c3 100644
--- a/sw/source/ui/dbui/mmoutputpage.cxx
+++ b/sw/source/ui/dbui/mmoutputpage.cxx
@@ -1221,9 +1221,9 @@ IMPL_LINK(SwMailMergeOutputPage, SendDocumentsHdl_Impl, PushButton*, pButton)
#if OSL_DEBUG_LEVEL > 1
sal_Int32 nTarget =
- rConfigItem.MoveResultSet(rInfo.nDBRow);
- OSL_ENSURE( nTarget == rInfo.nDBRow, "row of current document could not be selected");
#endif
+ rConfigItem.MoveResultSet(rInfo.nDBRow);
+ OSL_ENSURE( nTarget == rInfo.nDBRow, "row of current document could not be selected");
OSL_ENSURE( sEMailColumn.Len(), "No email column selected");
::rtl::OUString sEMail = lcl_GetColumnValueOf(sEMailColumn, xColAccess);
SwMailDescriptor aDesc;
diff --git a/sw/source/ui/misc/titlepage.src b/sw/source/ui/misc/titlepage.src
index 57b907586cf2..deade3e0d491 100644
--- a/sw/source/ui/misc/titlepage.src
+++ b/sw/source/ui/misc/titlepage.src
@@ -40,7 +40,7 @@ ModalDialog DLG_TITLEPAGE
HelpID = HID_TITLEPAGE ;
OutputSize = TRUE ;
SVLook = TRUE ;
- Size = MAP_APPFONT ( 216 , 201 ) ;
+ Size = MAP_APPFONT ( 216 , 229 ) ;
Text [ en-US ] = "Title Pages" ;
Moveable = TRUE ;
@@ -54,7 +54,7 @@ ModalDialog DLG_TITLEPAGE
RadioButton RB_USE_EXISTING_PAGES
{
Pos = MAP_APPFONT ( 12 , 18 ) ;
- Size = MAP_APPFONT ( 150 , 10 ) ;
+ Size = MAP_APPFONT ( 198 , 10 ) ;
Text [ en-US ] = "Convert existing pages to title pages" ;
TabStop = TRUE ;
Check = TRUE ;
@@ -63,20 +63,20 @@ ModalDialog DLG_TITLEPAGE
RadioButton RB_INSERT_NEW_PAGES
{
Pos = MAP_APPFONT ( 12 , 34 ) ;
- Size = MAP_APPFONT ( 150 , 10 ) ;
+ Size = MAP_APPFONT ( 198 , 10 ) ;
Text [ en-US ] = "Insert new title pages" ;
Text [ x-comment ] = " ";
};
FixedText FT_PAGE_COUNT
{
Pos = MAP_APPFONT ( 12 , 50 ) ;
- Size = MAP_APPFONT ( 80 , 8 ) ;
+ Size = MAP_APPFONT ( 82 , 8 ) ;
Text [ en-US ] = "Number of title pages" ;
Text [ x-comment ] = " ";
};
NumericField NF_PAGE_COUNT
{
- Pos = MAP_APPFONT ( 80 , 50 ) ;
+ Pos = MAP_APPFONT ( 100 , 50 ) ;
Size = MAP_APPFONT ( 30 , 12 ) ;
Border = TRUE ;
TabStop = TRUE ;
@@ -91,7 +91,7 @@ ModalDialog DLG_TITLEPAGE
};
FixedText FT_PAGE_PAGES
{
- Pos = MAP_APPFONT ( 116 , 50 ) ;
+ Pos = MAP_APPFONT ( 136 , 50 ) ;
Size = MAP_APPFONT ( 80 , 10 ) ;
Text [ en-US ] = "pages" ;
Text [ x-comment ] = " ";
@@ -99,14 +99,14 @@ ModalDialog DLG_TITLEPAGE
FixedText FT_PAGE_START
{
Pos = MAP_APPFONT ( 12 , 66 ) ;
- Size = MAP_APPFONT ( 58 , 8 ) ;
+ Size = MAP_APPFONT ( 82 , 8 ) ;
Text [ en-US ] = "Place title pages at" ;
Text [ x-comment ] = " ";
};
RadioButton RB_DOCUMENT_START
{
- Pos = MAP_APPFONT ( 70 , 66 ) ;
- Size = MAP_APPFONT ( 80 , 10 ) ;
+ Pos = MAP_APPFONT ( 100 , 66 ) ;
+ Size = MAP_APPFONT ( 110 , 10 ) ;
Text [ en-US ] = "Document Start" ;
TabStop = TRUE ;
Check = TRUE ;
@@ -114,14 +114,14 @@ ModalDialog DLG_TITLEPAGE
};
RadioButton RB_PAGE_START
{
- Pos = MAP_APPFONT ( 70 , 78 ) ;
+ Pos = MAP_APPFONT ( 100 , 78 ) ;
Size = MAP_APPFONT ( 30 , 10 ) ;
Text [ en-US ] = "Page" ;
Text [ x-comment ] = " ";
};
NumericField NF_PAGE_START
{
- Pos = MAP_APPFONT ( 95 , 78 ) ;
+ Pos = MAP_APPFONT ( 131 , 78 ) ;
Size = MAP_APPFONT ( 30 , 12 ) ;
Border = TRUE ;
TabStop = TRUE ;
@@ -144,21 +144,21 @@ ModalDialog DLG_TITLEPAGE
CheckBox CB_RESTART_NUMBERING
{
Pos = MAP_APPFONT ( 12, 111 ) ;
- Size = MAP_APPFONT ( 150 , 10 ) ;
+ Size = MAP_APPFONT ( 198 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Reset Page Numbering after title pages" ;
Text [ x-comment ] = " ";
};
FixedText FT_RESTART_NUMBERING
{
- Pos = MAP_APPFONT ( 140 , 111 ) ;
- Size = MAP_APPFONT ( 50 , 10 ) ;
+ Pos = MAP_APPFONT ( 20 , 125 ) ;
+ Size = MAP_APPFONT ( 74 , 10 ) ;
Text [ en-US ] = "Page Number" ;
Text [ x-comment ] = " ";
};
NumericField NF_RESTART_NUMBERING
{
- Pos = MAP_APPFONT ( 180 , 111 ) ;
+ Pos = MAP_APPFONT ( 100 , 125 ) ;
Size = MAP_APPFONT ( 30 , 12 ) ;
Border = TRUE ;
TabStop = TRUE ;
@@ -173,22 +173,22 @@ ModalDialog DLG_TITLEPAGE
};
CheckBox CB_SET_PAGE_NUMBER
{
- Pos = MAP_APPFONT ( 12 , 125 ) ;
- Size = MAP_APPFONT ( 150 , 10 ) ;
+ Pos = MAP_APPFONT ( 12 , 139 ) ;
+ Size = MAP_APPFONT ( 198 , 10 ) ;
TabStop = TRUE ;
Text [ en-US ] = "Set Page Number for first title page" ;
Text [ x-comment ] = " ";
};
FixedText FT_SET_PAGE_NUMBER
{
- Pos = MAP_APPFONT ( 140 , 125 ) ;
- Size = MAP_APPFONT ( 50 , 10 ) ;
+ Pos = MAP_APPFONT ( 20 , 153 ) ;
+ Size = MAP_APPFONT ( 74 , 10 ) ;
Text [ en-US ] = "Page Number" ;
Text [ x-comment ] = " ";
};
NumericField NF_SET_PAGE_NUMBER
{
- Pos = MAP_APPFONT ( 180 , 125 ) ;
+ Pos = MAP_APPFONT ( 100 , 153 ) ;
Size = MAP_APPFONT ( 30 , 12 ) ;
Border = TRUE ;
TabStop = TRUE ;
@@ -203,7 +203,7 @@ ModalDialog DLG_TITLEPAGE
};
FixedLine FL_PAGE_PROPERTIES
{
- Pos = MAP_APPFONT ( 6 , 141 ) ;
+ Pos = MAP_APPFONT ( 6 , 169 ) ;
Size = MAP_APPFONT ( 204 , 8 ) ;
Text [ en-US ] = "Edit Page Properties" ;
Text [ x-comment ] = " ";
@@ -211,38 +211,38 @@ ModalDialog DLG_TITLEPAGE
ListBox LB_PAGE_PROPERTIES
{
Border = TRUE ;
- Pos = MAP_APPFONT ( 12 , 154 ) ;
- Size = MAP_APPFONT ( 150 , 80 ) ;
+ Pos = MAP_APPFONT ( 12 , 182 ) ;
+ Size = MAP_APPFONT ( 152 , 80 ) ;
TabStop = TRUE ;
DropDown = TRUE ;
CurPos = 0 ;
};
PushButton PB_PAGE_PROPERTIES
{
- Pos = MAP_APPFONT ( 170 , 154 ) ;
+ Pos = MAP_APPFONT ( 170 , 182 ) ;
Size = MAP_APPFONT ( 30 , 12 ) ;
Text [ en-US ] = "Edit..." ;
};
FixedLine FL_BOTTOM
{
- Pos = MAP_APPFONT ( 6 , 170 ) ;
+ Pos = MAP_APPFONT ( 6 , 198 ) ;
Size = MAP_APPFONT ( 204 , 8 ) ;
};
OKButton PB_OK
{
- Pos = MAP_APPFONT ( 54 , 181 ) ;
+ Pos = MAP_APPFONT ( 54 , 209 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
DefButton = TRUE ;
};
CancelButton PB_CANCEL
{
- Pos = MAP_APPFONT ( 107 , 181 ) ;
+ Pos = MAP_APPFONT ( 107 , 209 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
DefButton = TRUE ;
};
HelpButton PB_HELP
{
- Pos = MAP_APPFONT ( 160 , 181 ) ;
+ Pos = MAP_APPFONT ( 160 , 209 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
};
};
diff --git a/sysui/desktop/menus/base.desktop b/sysui/desktop/menus/base.desktop
index dea43caad679..3cb84f84fb92 100644
--- a/sysui/desktop/menus/base.desktop
+++ b/sysui/desktop/menus/base.desktop
@@ -7,6 +7,7 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-MoreApplicat
Exec=${UNIXBASISROOTNAME} -base %U
MimeType=application/vnd.oasis.opendocument.database;application/vnd.sun.xml.base;
Name=%PRODUCTNAME Base
+Name[pt_BR]=%PRODUCTNAME_BR Base
GenericName=Database Development
Comment=Manage databases, create queries and reports to track and manage your information by using Base.
InitialPreference=5
diff --git a/sysui/desktop/menus/calc.desktop b/sysui/desktop/menus/calc.desktop
index 659f60a29945..d88558904bd7 100644
--- a/sysui/desktop/menus/calc.desktop
+++ b/sysui/desktop/menus/calc.desktop
@@ -7,6 +7,7 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Sprea
Exec=${UNIXBASISROOTNAME} -calc %U
MimeType=application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/vnd.stardivision.calc;application/vnd.stardivision.chart;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;application/x-dbf;
Name=%PRODUCTNAME Calc
+Name[pt_BR]=%PRODUCTNAME_BR Calc
GenericName=Spreadsheet
Comment=Perform calculation, analyze information and manage lists in spreadsheets by using Calc.
InitialPreference=5
diff --git a/sysui/desktop/menus/draw.desktop b/sysui/desktop/menus/draw.desktop
index f90dc6e030d2..21c31b8f35c3 100644
--- a/sysui/desktop/menus/draw.desktop
+++ b/sysui/desktop/menus/draw.desktop
@@ -7,6 +7,7 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Drawi
Exec=${UNIXBASISROOTNAME} -draw %U
MimeType=application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.stardivision.draw;
Name=%PRODUCTNAME Draw
+Name[pt_BR]=%PRODUCTNAME_BR Draw
GenericName=Drawing Program
Comment=Create and edit drawings, flow charts, and logos by using Draw.
InitialPreference=5
diff --git a/sysui/desktop/menus/impress.desktop b/sysui/desktop/menus/impress.desktop
index c35d46c13844..33a7d9046320 100644
--- a/sysui/desktop/menus/impress.desktop
+++ b/sysui/desktop/menus/impress.desktop
@@ -7,6 +7,7 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Prese
Exec=${UNIXBASISROOTNAME} -impress %U
MimeType=application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/vnd.stardivision.impress;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;
Name=%PRODUCTNAME Impress
+Name[pt_BR]=%PRODUCTNAME_BR Impress
GenericName=Presentation
Comment=Create and edit presentations for slideshows, meeting and Web pages by using Impress.
InitialPreference=5
diff --git a/sysui/desktop/menus/javafilter.desktop b/sysui/desktop/menus/javafilter.desktop
index 9d230f954a7b..44370f374dd5 100644
--- a/sysui/desktop/menus/javafilter.desktop
+++ b/sysui/desktop/menus/javafilter.desktop
@@ -5,5 +5,6 @@ Type=Application
Exec=openoffice -writer %U
MimeType=application/x-aportisdoc;application/x-pocket-word;application/x-pocket-excel;
Name=%PRODUCTNAME Small Device Format Importer
+Name[pt_BR]=%PRODUCTNAME_BR Small Device Format Importer
GenericName=Small Device Format Importer
NoDisplay=true
diff --git a/sysui/desktop/menus/math.desktop b/sysui/desktop/menus/math.desktop
index 514a6ec998ff..cd0717a56221 100644
--- a/sysui/desktop/menus/math.desktop
+++ b/sysui/desktop/menus/math.desktop
@@ -7,6 +7,7 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Other
Exec=${UNIXBASISROOTNAME} -math %U
MimeType=application/vnd.oasis.opendocument.formula;application/vnd.sun.xml.math;application/vnd.stardivision.math;
Name=%PRODUCTNAME Math
+Name[pt_BR]=%PRODUCTNAME_BR Math
GenericName=Formula Editor
Comment=Create and edit scientific formulas and equations by using Math.
InitialPreference=5
diff --git a/sysui/desktop/menus/printeradmin.desktop b/sysui/desktop/menus/printeradmin.desktop
index 17b5831d5c33..3da4d82a33b1 100644
--- a/sysui/desktop/menus/printeradmin.desktop
+++ b/sysui/desktop/menus/printeradmin.desktop
@@ -6,3 +6,5 @@ Type=Application
Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;
Exec=${UNIXBASISROOTNAME}-printeradmin
Name=%PRODUCTNAME Printer Administration
+Name[pt_BR]=%PRODUCTNAME_BR Printer Administration
+
diff --git a/sysui/desktop/menus/qstart.desktop b/sysui/desktop/menus/qstart.desktop
index 1cded62dbfeb..1250fede3fe9 100644
--- a/sysui/desktop/menus/qstart.desktop
+++ b/sysui/desktop/menus/qstart.desktop
@@ -6,4 +6,5 @@ Categories=Office;
Exec=${UNIXBASISROOTNAME} -quickstart -nologo -nodefault
NoDisplay=true
Name=%PRODUCTNAME Quickstarter
+Name[pt_BR]=%PRODUCTNAME_BR Quickstarter
Comment=Hook for quickstarter startup
diff --git a/sysui/desktop/menus/startcenter.desktop b/sysui/desktop/menus/startcenter.desktop
index 224f0e6d28ff..8d330140d2ae 100644
--- a/sysui/desktop/menus/startcenter.desktop
+++ b/sysui/desktop/menus/startcenter.desktop
@@ -7,5 +7,6 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Other
Exec=${UNIXBASISROOTNAME} %U
MimeType=application/vnd.openofficeorg.extension;
Name=%PRODUCTNAME
+Name[pt_BR]=%PRODUCTNAME_BR
GenericName=Office
Comment=The office productivity suite compatible to the open and standardized ODF document format. Supported by Sun Microsystems.
diff --git a/sysui/desktop/menus/writer.desktop b/sysui/desktop/menus/writer.desktop
index 12307d455563..95fe8db02fa0 100644
--- a/sysui/desktop/menus/writer.desktop
+++ b/sysui/desktop/menus/writer.desktop
@@ -7,6 +7,7 @@ Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;X-MandrivaLinux-Office-Wordp
Exec=${UNIXBASISROOTNAME} -writer %U
MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/vnd.stardivision.writer;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;
Name=%PRODUCTNAME Writer
+Name[pt_BR]=%PRODUCTNAME_BR Writer
GenericName=Word Processor
Comment=Create and edit text and graphics in letters, reports, documents and Web pages by using Writer.
InitialPreference=5
diff --git a/sysui/desktop/share/brand.pl b/sysui/desktop/share/brand.pl
index 9a1b0af57816..ea689c310587 100644
--- a/sysui/desktop/share/brand.pl
+++ b/sysui/desktop/share/brand.pl
@@ -39,6 +39,7 @@ $destdir = pop @ARGV;
mkdir $destdir,0777;
$productname = "LibreOffice";
+$productname_br = "BrOffice";
$productfilename = "libreoffice";
$prefix = "";
$iconprefix = "";
@@ -50,6 +51,10 @@ while ($_ = $ARGV[0], /^-/) {
$productname = $ARGV[0];
shift;
}
+ if (/^-b/) {
+ $productname_br = $ARGV[0];
+ shift;
+ }
if (/^-u/) {
$productfilename = $ARGV[0];
shift;
@@ -116,6 +121,9 @@ while (<>) {
}
}
+ # replace %PRODUCTNAME_BR placeholders
+ s/%PRODUCTNAME_BR/$productname_br/g;
+
# replace %PRODUCTNAME placeholders
s/%PRODUCTNAME/$productname/g;
diff --git a/sysui/desktop/share/makefile.mk b/sysui/desktop/share/makefile.mk
index 5b672aa7b2fc..898d7b029f01 100644
--- a/sysui/desktop/share/makefile.mk
+++ b/sysui/desktop/share/makefile.mk
@@ -150,10 +150,10 @@ $(LAUNCHERFLAGFILE) : $(LAUNCHERDEPN)
@@-$(MKDIRHIER) $(@:db).$(INPATH).$(@:f)
@echo Creating desktop entries for $(@:f) ..
@echo ---------------------------------
- @$(PERL) brand.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -u $(UNIXWRAPPERNAME) --iconprefix '$${{WITHOUTDOTUNIXPRODUCTNAME}}-' $< $(@:db).$(INPATH).$(@:f)
- @$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "Name" $(ULFDIR)$/launcher_name.ulf
- @$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "Comment" $(ULFDIR)$/launcher_comment.ulf
- @$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "GenericName" $(ULFDIR)$/launcher_genericname.ulf
+ @$(PERL) brand.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -b '$${{PRODUCTNAME_BR}} $${{PRODUCTVERSION}}' -u $(UNIXWRAPPERNAME) --iconprefix '$${{WITHOUTDOTUNIXPRODUCTNAME}}-' $< $(@:db).$(INPATH).$(@:f)
+ @$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -b '$${{PRODUCTNAME_BR}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "Name" $(ULFDIR)$/launcher_name.ulf
+ @$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -b '$${{PRODUCTNAME_BR}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "Comment" $(ULFDIR)$/launcher_comment.ulf
+ @$(PERL) translate.pl -p '$${{PRODUCTNAME}} $${{PRODUCTVERSION}}' -p '$${{PRODUCTNAME_BR}} $${{PRODUCTVERSION}}' -d $(@:db).$(INPATH).$(@:f) --ext "desktop" --key "GenericName" $(ULFDIR)$/launcher_genericname.ulf
.IF "$(WITH_LIBSN)"=="YES"
@noop x$(foreach,i,$(LAUNCHERLIST) $(shell @echo "StartupNotify=true" >> $(@:db).$(INPATH).$(@:f)/$i.desktop))x
.ENDIF
diff --git a/sysui/desktop/share/translate.pl b/sysui/desktop/share/translate.pl
index 197c333e6f37..cdc636b7a266 100644
--- a/sysui/desktop/share/translate.pl
+++ b/sysui/desktop/share/translate.pl
@@ -37,6 +37,7 @@ eval 'exec perl -wS $0 ${1+"$@"}'
my ($prefix, $ext, $key);
$productname = "LibreOffice";
+$productname_br = "BrOffice";
$workdir = ".";
while ($_ = $ARGV[0], /^-/) {
@@ -46,6 +47,10 @@ while ($_ = $ARGV[0], /^-/) {
$productname = $ARGV[0];
shift;
}
+ if (/^-b/) {
+ $productname_br = $ARGV[0];
+ shift;
+ }
if (/^-d/) {
$workdir = $ARGV[0];
shift;
@@ -122,6 +127,7 @@ KEY: while (<TEMPLATE>) {
$value = substr($value, index($value, "\"") + 1, rindex($value, "\"") - 1);
# replace resource placeholder
+ $value=~s/%PRODUCTNAME_BR/$productname_br/g;
$value=~s/%PRODUCTNAME/$productname/g;
$locale=~s/-/_/;
diff --git a/testautomation/dbaccess/tools/querytools.inc b/testautomation/dbaccess/tools/querytools.inc
index 29416dac7bf3..7dc3d7278938 100755
--- a/testautomation/dbaccess/tools/querytools.inc
+++ b/testautomation/dbaccess/tools/querytools.inc
@@ -258,10 +258,7 @@ function fSaveQueryDesign(sName as String)
sleep(1)
Kontext "QueryDesignTable"
- QueryDesignTable.UseMenu
-
- hMenuSelectNr(1) ' the file menu
- hMenuSelectNr(6) ' the save
+ DatabaseSave
Kontext "DatabaseTableSaveAs"
TableName.setText(sName)
@@ -278,11 +275,9 @@ function fSaveSQLQueryDesign(sName as String)
'/// <u>parameter:</u> the name of query
sleep(1)
+
Kontext "QueryEditWindow"
- QueryEditWindow.UseMenu
-
- hMenuSelectNr(1) ' the file menu
- hMenuSelectNr(6) ' the save
+ DatabaseSaveAs
Kontext "DatabaseTableSaveAs"
TableName.setText(sName)
diff --git a/testautomation/dbaccess/tools/tabletools.inc b/testautomation/dbaccess/tools/tabletools.inc
index 99c4abf723b3..1f6dd23de53d 100755
--- a/testautomation/dbaccess/tools/tabletools.inc
+++ b/testautomation/dbaccess/tools/tabletools.inc
@@ -342,13 +342,12 @@ function fCreateTable(aFieldTypeContent(),sTableName,optional sCatalog,optional
Description.TypeKeys "<RETURN>" , TRUE
printlog "-------------------------------"
next
+
sleep(1)
+
Kontext "TableDesignTable"
- TableDesignTable.usemenu
- MenuSelect MenuGetItemId (1)
- sleep(1)
- menuselect MenuGetItemId (7)
- sleep(1)
+ DatabaseSaveas
+
Kontext "DatabaseTableSaveAs"
printlog "save table as "+ sTableName
TableName.setText sTableName
diff --git a/testautomation/global/sid/e_all.sid b/testautomation/global/sid/e_all.sid
index 4c7800ba8676..d7215aac2200 100644
--- a/testautomation/global/sid/e_all.sid
+++ b/testautomation/global/sid/e_all.sid
@@ -35,6 +35,7 @@ FileSendDocumentAsPDF SID_MAIL_SENDDOCASPDF
FileVersions SID_VERSION
FileReload SID_RELOAD SID_LASTVERSIONDOC
FileProperties SID_DOCINFO
+FileDigitalSignatures .uno:Signature
FileTemplatesOrganize SID_ORGANIZER
FileTemplatesSave SID_DOCTEMPLATE
FileTemplatesEdit SID_OPENTEMPLATE
@@ -789,7 +790,7 @@ SlideShowAnimation .uno:CustomAnimation
SlideShowSlideTransition .uno:SlideChangeWindow
SlideShowHideSlide SID_HIDE_SLIDE
SlideShowShowSlide SID_SHOW_SLIDE
-SlideShowCustomSlideshow SID_CUSTOMSHOW_DLG
+SlideShowCustomSlideshow .uno:CustomShowDialog
SlideShowCustomAnimation .uno:CustomAnimation
' ***********************************
diff --git a/testautomation/global/system/includes/master.inc b/testautomation/global/system/includes/master.inc
index 562e9a9572a3..3496d11f12e7 100755
--- a/testautomation/global/system/includes/master.inc
+++ b/testautomation/global/system/includes/master.inc
@@ -61,7 +61,8 @@
sub GetUseFiles
'///<i>GetUseFiles</i>: The first routine which will be called automatically by starting a testscript.
'/// Include all important libraries (.inc) for the startup.
- Dim bQuickstarterStatus as boolean
+ Dim bQuickstarterStatus as Boolean
+ Dim bSmallIconTheme As Boolean
Dim sTemp as string
Dim sPrivateEnvironmentLocation as string
Dim sEnvironmentVersion as string
@@ -96,7 +97,12 @@ sub GetUseFiles
'///+<li>Disabling the Quickstarter.
'This can't be done via API right now.
bQuickstarterStatus = hDisableQuickstarter
- printlog "** Quickstarter disabled : " & bQuickstarterStatus
+ printlog "** Quickstarter disabled : " & bQuickstarterStatus
+
+ 'Small icon theme set
+ bSmallIconTheme = hSetSmallIconTheme
+ printlog "** Small icon theme set : " & bSmallIconTheme
+
printlog "----------------------------------------------------------------------------------------------------"
printlog ""
@@ -113,22 +119,22 @@ sub GetUseFiles
'/// The checking can be disabled, by using Current=HEAD, or removing the file version.txt
sPrivateEnvironmentLocation = ConvertPath (gTestToolPath + "global\version.txt")
if fileExists(sPrivateEnvironmentLocation) then
- sEnvironmentVersion = getIniValue(sPrivateEnvironmentLocation, "EnvironmentVersion", "Current")
- sEnvironmentDisplayVersion = getIniValue(sPrivateEnvironmentLocation, "EnvironmentVersion", "DisplayName")
- sEnvironmentVersionMinor = getIniValue(sPrivateEnvironmentLocation, "EnvironmentVersion", "Minor")
+ sEnvironmentVersion = getIniValue(sPrivateEnvironmentLocation, "EnvironmentVersion", "Current")
+ sEnvironmentDisplayVersion = getIniValue(sPrivateEnvironmentLocation, "EnvironmentVersion", "DisplayName")
+ sEnvironmentVersionMinor = getIniValue(sPrivateEnvironmentLocation, "EnvironmentVersion", "Minor")
else
sEnvironmentVersion = "HEAD"
sEnvironmentDisplayVersion = "Developer"
end if
if sEnvironmentVersion <> "HEAD" then
if (len(gMajor) > 5) then
- if lCase(left(gMajor,6)) <> lCase(left(sEnvironmentVersion,6)) OR (lCase(gMinor) <> lCase(sEnvironmentVersionMinor)) then
+ if lCase(left(gMajor,6)) <> lCase(left(sEnvironmentVersion,6)) OR (lCase(gMinor) <> lCase(sEnvironmentVersionMinor)) then
warnlog "This environment '" + sEnvironmentVersion + sEnvironmentVersionMinor + "' is not suitable for this OOo version '" + left(gMajor,6) + gMinor + "'!"+chr(13)+"Please get the environment suitable for this OOo version!"+chr(13)+"This Environment only works with OOo " + sEnvironmentDisplayVersion + "!"
if MsgBox ("This environment '" + sEnvironmentVersion + sEnvironmentVersionMinor +"' is not suitable for this OOo version '" + left(gMajor,6) + gMinor + "'! Please get the environment suitable for this OOo version! This Environment only works with OOo " + sEnvironmentDisplayVersion + "!", 16, "Error at startup") = 1 then
- end
- end if
- end if
- end if
+ end
+ end if
+ end if
+ end if
end if
end sub
@@ -477,10 +483,10 @@ sub hStartTheOffice (optional sProfPath as String, optional sProfParameter as St
end if
Kontext "TabFirstStartOnlineUpdate"
if TabFirstStartOnlineUpdate.Exists(1) then
- try
- checkForUpdates.uncheck
- catch
- endcatch
+ try
+ checkForUpdates.uncheck
+ catch
+ endcatch
Kontext "WelcomeDialog"
'///+<li>If the next tabpage will be visible clicking on 'Next'-button.</li>
NextBtn.Click
@@ -719,7 +725,7 @@ sub hFirstOutput
printlog "** Build type : CWS"
end if
if isStatusEnabled() then
- 'http://wiki.services.openoffice.org/wiki/QUASTe
+ 'http://wiki.services.openoffice.org/wiki/QUASTe
printlog "** Status feature (QUASTe) : Enabled " + gLocalStatusDatabase
end if
printlog "** HID.LST based on milestone : " + sHidVersion
@@ -895,7 +901,7 @@ sub mMakeGeneralOptionsAPI
else
gOOoImprovementIsEnabled = FALSE
endif
-
+
'///+<li>Setting the <i>work</i> directory in Tools / Options,
sTempPath = ConvertPath (gOfficePath + "user\work")
'///+<li>If the temp-path does not exist it will be created.
@@ -1012,19 +1018,19 @@ sub hDetectStatusDatabase as Boolean
if fileExists(sPrivateEnvironmentLocation) then
gStatusFeatureLevel = getIniValue(sPrivateEnvironmentLocation, "StatusFeatureLevel", "Current")
else
- ' manual submitting status from errorlog directory
+ ' manual submitting status from errorlog directory
gStatusFeatureLevel = 2
end if
else
gStatusFeatureLevel = sTemp
end if
if gStatusFeatureLevel = 0 then
- ' automatical submitting status; filespace location defined in privateenvironment.inc
+ ' automatical submitting status; filespace location defined in privateenvironment.inc
hDetectStatusDatabase = TRUE
gLocalStatusDatabase = ""
else
if gStatusFeatureLevel = 1 then
- ' automatical submitting status; filespace location defined in testtoolrc
+ ' automatical submitting status; filespace location defined in testtoolrc
hDetectStatusDatabase = TRUE
sOOoLocalStatusDatabase = GetIniValue ( gTesttoolIni, "OOoLocalStatusDatabase" , "Current" )
if sOOoLocalStatusDatabase <> "" then
@@ -1084,28 +1090,28 @@ function hDisableQuickstarter as boolean
' if quickstart.exe exists, it might run, else no need to open options UI
bVeto = fileExists(gNetzOfficePath + "program\quickstart.exe")
else
- if (lcase(gPlatform) = "osx") then
- bVeto = FALSE
+ if (lcase(gPlatform) = "osx") then
+ bVeto = FALSE
else
' Not needed if StarOffice/Suite
- bVeto = gOOo
+ bVeto = gOOo
end if
end if
bVeto = FALSE ' For now LibreOffice struggles with some hid/whatever mismatch here
if bVeto then
- 'First, disabling the Quickstarter via UI
- ToolsOptions
- call hToolsOptions ("STAROFFICE", "MEMORY")
- try
- bTemp = LoadQuickstarter.isChecked
- if bTemp then
- LoadQuickstarter.uncheck
- end if
- catch
- bResult = FALSE
- endcatch
- Kontext "ExtrasOptionenDlg"
- ExtrasOptionenDlg.OK
+ 'First, disabling the Quickstarter via UI
+ ToolsOptions
+ call hToolsOptions ("STAROFFICE", "MEMORY")
+ try
+ bTemp = LoadQuickstarter.isChecked
+ if bTemp then
+ LoadQuickstarter.uncheck
+ end if
+ catch
+ bResult = FALSE
+ endcatch
+ Kontext "ExtrasOptionenDlg"
+ ExtrasOptionenDlg.OK
else
bResult = FALSE
end if
@@ -1215,3 +1221,26 @@ sub StartTheOffice
gStartTheOffice = TRUE
end sub
+function hSetSmallIconTheme as Boolean
+ ' Set default icon theme to small
+
+ Dim bResult as Boolean
+
+ bResult = FALSE
+
+ ToolsOptions
+
+ call hToolsOptions ("STAROFFICE", "View")
+ IconScale.Select(2)
+ ' Verify the icon scale has been set
+ If (IconScale.GetSelIndex = 2) Then
+ bResult = TRUE
+ End If
+
+ Kontext "ExtrasOptionenDlg"
+ ExtrasOptionenDlg.OK
+ Sleep (2)
+
+ hSetSmallIconTheme = bResult
+
+end function
diff --git a/testautomation/global/tools/includes/optional/t_security_tools.inc b/testautomation/global/tools/includes/optional/t_security_tools.inc
index 28625be35880..6952f7ea16b3 100755
--- a/testautomation/global/tools/includes/optional/t_security_tools.inc
+++ b/testautomation/global/tools/includes/optional/t_security_tools.inc
@@ -144,17 +144,8 @@ function hOpenDigitalSignaturesDialog() as boolean
'///+<li>Open the file-menu</li>
call hUseMenu()
call hMenuSelectNr( FILE_MENU_POSITION )
-
- '///+<li>Select &quot;Digital signatures...&quot;</li>
- try
- if ( gApplication = "MATH" ) then
- call hMenuSelectNr( SIGNATURES_MENU_POSITION_MATH )
- else
- call hMenuSelectNr( SIGNATURES_MENU_POSITION_OTHER )
- endif
- catch
- warnlog( CFN & "Failed to execute menuitem <Digital Signature...>" )
- endcatch
+
+ FileDigitalSignatures
' At this stage either the digital signatures dialog or the messagebox
' <The document needs to be saved> is open. In the latter case the function
diff --git a/testautomation/graphics/optional/includes/global/export_graphic_2.inc b/testautomation/graphics/optional/includes/global/export_graphic_2.inc
index 5e0a2f3ec811..be5ed49ca423 100644
--- a/testautomation/graphics/optional/includes/global/export_graphic_2.inc
+++ b/testautomation/graphics/optional/includes/global/export_graphic_2.inc
@@ -613,38 +613,6 @@ testcase tSVG
'------------------------\
if ( dir(OutputGrafikTBO+sExt) <> "") then
Printlog "Ok :-) Saved as: '" & OutputGrafikTBO+sExt & "'"
- '------------------------\
- if (iSprache <> 82) then
- hCloseDocument ()
- sleep 5
- sTextFilter = "Text"
-
- hFileOpenWithFilter (OutputGrafikTBO+sExt, sTextFiltername, FALSE)
- printlog "if dialog 'AsciiFilterOptionen' comes up, say OK"
- Kontext "AsciiFilterOptionen"
- '-------------------------------\
- If AsciiFilterOptionen.Exists(3) then
- AsciiFilterOptionen.OK
- else
- warnlog "No ASCII filter Options Dialog?"
- endif
- '-------------------------------/
- sTemp = gApplication
- gApplication = "WRITER"
- sleep 5 ' wait for document to be loaded
- bTemp = hFindeImDokument ("<!DOCTYPE svg PUBLIC " & chr(34)& "-//W3C//DTD SVG 1.1//EN" & chr(34)&" " & chr(34)&"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" & chr(34)&">",true)
- '-------------------------------\
- if (bTemp = TRUE) then
- Printlog "OK"
- else
- warnlog "DOCTYPE not found in svg file :-("
- endif
- '-------------------------------/
- gApplication = sTemp
- else
- qaerrorlog "disabled for 82: #111017#"
- endif
- '--------------------------/
else
warnlog "File didn't get saved :-("
endif
diff --git a/testautomation/graphics/optional/includes/impress/i_slideshow2.inc b/testautomation/graphics/optional/includes/impress/i_slideshow2.inc
index b15beb28932d..4de68a260db9 100644
--- a/testautomation/graphics/optional/includes/impress/i_slideshow2.inc
+++ b/testautomation/graphics/optional/includes/impress/i_slideshow2.inc
@@ -909,7 +909,7 @@ testcase tSlideshowBackgroundAllSlides
Dim Background$ as string
Dim i as integer
Dim Zaehler as integer
- Background$ = ConvertPath(gOfficeBasisPath + "share\gallery\emoticons\grin.gif")
+ Background$ = ConvertPath(gOfficeBasisPath + "share\gallery\www-back\chocolate.jpg")
Datei$ = ConvertPath (gOfficePath + "user\work\background.odp")
'/// Create a new document ///'
@@ -962,7 +962,7 @@ testcase tSlideshowBackgroundSelectedSlide
Dim Background$ as string
Dim i as integer
Dim Zaehler as integer
- Background$ = ConvertPath(gOfficeBasisPath + "share\gallery\emoticons\grin.gif")
+ Background$ = ConvertPath(gOfficeBasisPath + "share\gallery\www-back\chocolate.jpg")
Datei$ = ConvertPath (gOfficePath + "user\work\background.odp")
'/// Create a new document ///'
diff --git a/testautomation/graphics/optional/includes/impress/i_slideshow3.inc b/testautomation/graphics/optional/includes/impress/i_slideshow3.inc
index 63a04aa6f8d5..e2fe41063926 100644
--- a/testautomation/graphics/optional/includes/impress/i_slideshow3.inc
+++ b/testautomation/graphics/optional/includes/impress/i_slideshow3.inc
@@ -582,7 +582,7 @@ testcase tExtrasIndividuellePraesentation
Kontext "NavigatorDraw"
Naechste.Click '/// switch to next slide ///'
Kontext "DocumentImpress"
- hRechteckErstellen (50,50,60,60) '/// create rectangle ///'
+ hRechteckErstellen (30,30,40,40) '/// create rectangle ///'
Printlog " - Created rectangles on all slides"
else
Warnlog " No Navigator"
diff --git a/unotools/inc/unotools/textsearch.hxx b/unotools/inc/unotools/textsearch.hxx
index 8f071c5bf577..664105bb8b47 100644
--- a/unotools/inc/unotools/textsearch.hxx
+++ b/unotools/inc/unotools/textsearch.hxx
@@ -128,15 +128,6 @@ public:
class UNOTOOLS_DLLPUBLIC TextSearch
{
- struct CachedTextSearch
- {
- ::osl::Mutex mutex;
- ::com::sun::star::util::SearchOptions Options;
- ::com::sun::star::uno::Reference< ::com::sun::star::util::XTextSearch > xTextSearch;
- };
-
- static CachedTextSearch maCache;
-
static ::com::sun::star::uno::Reference< ::com::sun::star::util::XTextSearch >
getXTextSearch( const ::com::sun::star::util::SearchOptions& rPara );
diff --git a/unotools/source/i18n/textsearch.cxx b/unotools/source/i18n/textsearch.cxx
index ba171dc75d14..1c4d2b4b2fd5 100644
--- a/unotools/source/i18n/textsearch.cxx
+++ b/unotools/source/i18n/textsearch.cxx
@@ -36,6 +36,7 @@
#include <unotools/charclass.hxx>
#include <comphelper/processfactory.hxx>
#include <unotools/textsearch.hxx>
+#include <rtl/instance.hxx>
using namespace ::com::sun::star::util;
using namespace ::com::sun::star::uno;
@@ -86,13 +87,6 @@ SearchParam::SearchParam( const SearchParam& rParam )
nTransliterationFlags = rParam.nTransliterationFlags;
}
-// Klasse zum Suchen eines Strings in einem Text. Es wird genau nach
-// dem String gesucht.
-// ( Die Unterscheidung der Gross/Klein-Schreibung kann mit einen Flag
-// unterdrueckt werden )
-
-TextSearch::CachedTextSearch TextSearch::maCache;
-
static bool lcl_Equals( const SearchOptions& rSO1, const SearchOptions& rSO2 )
{
return rSO1.algorithmType == rSO2.algorithmType &&
@@ -108,27 +102,42 @@ static bool lcl_Equals( const SearchOptions& rSO1, const SearchOptions& rSO2 )
rSO1.transliterateFlags == rSO2.transliterateFlags;
}
+namespace
+{
+ struct CachedTextSearch
+ {
+ ::osl::Mutex mutex;
+ ::com::sun::star::util::SearchOptions Options;
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XTextSearch > xTextSearch;
+ };
+
+ struct theCachedTextSearch
+ : public rtl::Static< CachedTextSearch, theCachedTextSearch > {};
+}
+
Reference<XTextSearch> TextSearch::getXTextSearch( const SearchOptions& rPara )
{
- osl::MutexGuard aGuard(maCache.mutex);
+ CachedTextSearch &rCache = theCachedTextSearch::get();
+
+ osl::MutexGuard aGuard(rCache.mutex);
- if ( lcl_Equals(maCache.Options, rPara) )
- return maCache.xTextSearch;
+ if ( lcl_Equals(rCache.Options, rPara) )
+ return rCache.xTextSearch;
try
{
Reference< XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
- maCache.xTextSearch.set( xMSF->createInstance(
+ rCache.xTextSearch.set( xMSF->createInstance(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
"com.sun.star.util.TextSearch" ) ) ), UNO_QUERY_THROW );
- maCache.xTextSearch->setOptions( rPara );
- maCache.Options = rPara;
+ rCache.xTextSearch->setOptions( rPara );
+ rCache.Options = rPara;
}
catch ( Exception& )
{
DBG_ERRORFILE( "TextSearch ctor: Exception caught!" );
}
- return maCache.xTextSearch;
+ return rCache.xTextSearch;
}
TextSearch::TextSearch(const SearchParam & rParam, LanguageType eLang )
diff --git a/xpdf/xpdf-3.02.patch b/xpdf/xpdf-3.02.patch
index 341ad73132a2..9477f7a31d4a 100644
--- a/xpdf/xpdf-3.02.patch
+++ b/xpdf/xpdf-3.02.patch
@@ -1870,3 +1870,32 @@
}
objStr->getObject(e->gen, num, obj);
break;
+--- misc/xpdf-3.02/fofi/FoFiType1.cc 2007-02-27 23:05:51.000000000 +0100
++++ misc/build/xpdf-3.02/fofi/FoFiType1.cc 2011-01-04 13:41:06.871136746 +0100
+@@ -224,7 +224,7 @@
+ code = code * 8 + (*p2 - '0');
+ }
+ }
+- if (code < 256) {
++ if (code < 256 && code >= 0) {
+ for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
+ if (*p == '/') {
+ ++p;
+--- misc/xpdf-3.02/xpdf/Gfx.cc 2007-02-27 23:05:52.000000000 +0100
++++ misc/build/xpdf-3.02/xpdf/Gfx.cc 2011-01-04 13:41:19.847501431 +0100
+@@ -441,6 +441,7 @@
+ void *abortCheckCbkDataA) {
+ int i;
+
++ parser = NULL;
+ xref = xrefA;
+ subPage = gFalse;
+ printCommands = globalParams->getPrintCommands();
+@@ -483,6 +484,7 @@
+ void *abortCheckCbkDataA) {
+ int i;
+
++ parser = NULL;
+ xref = xrefA;
+ subPage = gTrue;
+ printCommands = globalParams->getPrintCommands();