[Libreoffice-commits] core.git: Branch 'feature/pyweb-wizard' - 1124 commits - accessibility/inc accessibility/Library_acc.mk accessibility/source android/experimental android/qa apple_remote/inc apple_remote/source autogen.sh avmedia/inc avmedia/Library_avmedia.mk avmedia/source basctl/Library_basctl.mk basctl/Module_basctl.mk basctl/Package_uiconfig.mk basctl/source basctl/UI_basicide.mk basctl/uiconfig basctl/UIConfig_basicide.mk basegfx/inc basegfx/source basegfx/test basic/CppunitTest_basic_coverage.mk basic/CppunitTest_basic_scanner.mk basic/CppunitTest_basic_vba.mk basic/inc basic/Library_sb.mk basic/qa basic/source bean/Library_officebean.mk binaryurp/Library_binaryurp.mk binaryurp/source bin/distro-install-sdk bin/get-bugzilla-attachments-by-mimetype boost/boost.6139.clang.patch boost/boost.6142.warnings.patch.1 boost/boost.wundef.patch.1 boost/UnpackedTarball_boost.mk bridges/inc bridges/Library_cpp_uno.mk bridges/source bridges/test canvas/inc canvas/Library_cairocanvas.mk canv as/Library_directx9canvas.mk canvas/Library_gdipluscanvas.mk canvas/Library_vclcanvas.mk canvas/source chart2/CppunitTest_chart2_importtest.mk chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/Module_chart2.mk chart2/Package_uiconfig.mk chart2/qa chart2/source chart2/uiconfig chart2/UIConfig_chart2.mk chart2/workbench cli_ure/source clucene/patches clucene/UnpackedTarball_clucene.mk codemaker/Executable_cppumaker.mk codemaker/Executable_javamaker.mk codemaker/inc codemaker/Package_inc.mk codemaker/README codemaker/source codemaker/StaticLibrary_codemaker_cpp.mk codemaker/StaticLibrary_codemaker_java.mk codemaker/StaticLibrary_codemaker.mk comphelper/inc comphelper/Library_comphelper.mk comphelper/Package_inc.mk comphelper/qa comphelper/README comphelper/source compilerplugins/clang compilerplugins/Makefile-clang.mk config_host/config_features.h.in config_host/config_global.h.in config_host/config_oox.h.in config_host.mk.in configmgr/Library_configmgr.mk co nfigmgr/qa configmgr/source configure.ac connectivity/CppunitTest_connectivity_ado.mk connectivity/CppunitTest_connectivity_commontools.mk connectivity/CppunitTest_connectivity_mork.mk connectivity/inc connectivity/Library_dbtools.mk connectivity/Library_flat.mk connectivity/Library_hsqldb.mk connectivity/Module_connectivity.mk connectivity/source connectivity/workben cppcanvas/inc cppcanvas/Library_cppcanvas.mk cppcanvas/source cppuhelper/source cppunit/Module_cppunit.mk cppu/qa cpputools/source crashrep/source cui/AllLangResTarget_cui.mk cui/Library_cui.mk cui/Module_cui.mk cui/source cui/uiconfig cui/UIConfig_cui.mk cui/UI_cui.mk dbaccess/CppunitTest_dbaccess_macros_test.mk dbaccess/inc dbaccess/Library_dba.mk dbaccess/Library_dbu.mk dbaccess/Module_dbaccess.mk dbaccess/Package_uiconfig.mk dbaccess/qa dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk dbaccess/UIConfig_dbapp.mk dbaccess/UIConfig_dbbrowser.mk dbaccess/UIConfig_dbquery.mk dbaccess/UIConfig_dbre lation.mk dbaccess/UIConfig_dbtable.mk dbaccess/UIConfig_dbtdata.mk dbaccess/UI_dbaccess.mk desktop/Executable_unopkg.com.mk desktop/Executable_unopkg.mk desktop/inc desktop/Library_deploymentgui.mk desktop/Library_deploymentmisc.mk desktop/Library_deployment.mk desktop/Library_migrationoo2.mk desktop/Library_sofficeapp.mk desktop/Library_unopkgapp.mk desktop/Module_desktop.mk desktop/Pagein_common.mk desktop/qa desktop/source desktop/StaticLibrary_winextendloaderenv.mk desktop/test desktop/UIConfig_deployment.mk desktop/UI_deployment.mk desktop/unx desktop/win32 distro-configs/LibreOfficeLinux.conf download.lst drawinglayer/inc drawinglayer/Library_drawinglayer.mk drawinglayer/source dtrans/source dtrans/StaticLibrary_dtobj.mk dtrans/test editeng/CppunitTest_editeng_borderline.mk editeng/CppunitTest_editeng_core.mk editeng/CppunitTest_editeng_lookuptree.mk editeng/inc editeng/Library_editeng.mk editeng/qa editeng/source embeddedobj/source embeddedobj/test embedserv/Library_ inprocserv.mk embedserv/source eventattacher/source expat/StaticLibrary_expat.mk extensions/Library_abp.mk extensions/Library_bib.mk extensions/Library_dbp.mk extensions/Library_pcr.mk extensions/Library_res.mk extensions/Library_scn.mk extensions/Library_updatecheckui.mk extensions/Module_extensions.mk extensions/Package_uiconfig.mk extensions/qa extensions/source extensions/StaticLibrary_plugcon.mk extensions/test extensions/UIConfig_sbibliography.mk extensions/workben external/Module_external.mk external/Package_mingw_dlls.mk external/Package_mingw_gccdlls.mk extras/Module_extras.mk extras/Package_autocorr.mk extras/Package_databasebiblio.mk extras/Package_database.mk extras/Package_palettes.mk extras/source extras/Zip_autocorr.mk extras/Zip_databasebiblio.mk extras/Zip_database.mk extras/Zip_palettes.mk fileaccess/source filter/inc filter/Library_eps.mk filter/Library_filterconfig.mk filter/Library_flash.mk filter/Library_graphicfilter.mk filter/Library_pdffilter.mk filt er/Library_svgfilter.mk filter/Library_t602filter.mk filter/Library_xsltdlg.mk filter/Module_filter.mk filter/qa filter/source filter/UIConfig_xsltdlg.mk filter/UI_xsltdlg.mk forms/Library_frm.mk forms/source formula/inc formula/Library_for.mk formula/Library_forui.mk formula/source fpicker/Library_fps_aqua.mk fpicker/Library_fps.mk fpicker/Library_fps_office.mk fpicker/source fpicker/test framework/inc framework/Library_fwe.mk framework/Library_fwi.mk framework/Library_fwk.mk framework/Library_fwl.mk framework/Module_framework.mk framework/Package_uiconfig.mk framework/source framework/uiconfig framework/UIConfig_startmodule.mk .gitignore helpcompiler/Executable_helpindexer.mk helpcompiler/Executable_helplinker.mk helpcompiler/inc helpcompiler/Library_helplinker.mk helpcompiler/source helpcontent2 hunspell/hunspell-wundef.patch.1 hunspell/UnpackedTarball_hunspell.mk hwpfilter/qa hwpfilter/source i18nlangtag/CppunitTest_i18nlangtag_test_languagetag.mk i18nlangtag/inc i18nlan gtag/Library_i18nlangtag.mk i18nlangtag/Makefile i18nlangtag/Module_i18nlangtag.mk i18nlangtag/Package_inc.mk i18nlangtag/qa i18nlangtag/README i18nlangtag/source i18npool/CppunitTest_i18npool_test_languagetag.mk i18npool/CustomTarget_localedata.mk i18npool/inc i18npool/Library_i18nisolang1.mk i18npool/Library_i18npool.mk i18npool/Library_i18nsearch.mk i18npool/Module_i18npool.mk i18npool/Package_inc.mk i18npool/qa i18npool/source i18nutil/inc i18nutil/source icon-themes/crystal icon-themes/galaxy icon-themes/hicontrast icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/tango icu/ExternalPackage_icu.mk icu/ExternalProject_icu.mk icu/icu4c.9313.cygwin.patch icu/icu4c.9737.CVE-2013-0900_changesets_32865_32908.patch icu/icu4c-aix.patch icu/icu4c-android.patch icu/icu4c-bsd.patch icu/icu4c-build.patch icu/icu4c-CVE-2013-0900_umutex.patch icu/icu4c-solarisgcc.patch icu/UnpackedTarball_icu.mk idlc/CustomTarget_parser_test.mk idlc/Executable_idlc.mk idlc/inc id lc/source idlc/test idl/inc idl/source instsetoo_native/util ios/CustomTarget_LibreOffice_app.mk ios/CustomTarget_Viewer_app.mk ios/Executable_LibreOffice.mk ios/Executable_Viewer.mk ios/experimental ios/Module_ios.mk io/source ios/qa javaunohelper/source jfreereport/Module_jfreereport.mk jfreereport/Package_jfreereport_version.mk jpeg/patches jpeg/UnpackedTarball_jpeg.mk jurt/com jurt/CustomTarget_test_urp.mk jvmaccess/inc jvmaccess/Module_jvmaccess.mk jvmaccess/source jvmaccess/workbench jvmfwk/distributions jvmfwk/inc jvmfwk/Module_jvmfwk.mk jvmfwk/plugins jvmfwk/source l10ntools/Executable_cfgex.mk l10ntools/Executable_helpex.mk l10ntools/Executable_localize.mk l10ntools/Executable_propex.mk l10ntools/Executable_stringex.mk l10ntools/Executable_transex3.mk l10ntools/Executable_treex.mk l10ntools/Executable_uiex.mk l10ntools/Executable_ulfex.mk l10ntools/inc l10ntools/source l10ntools/StaticLibrary_transex.mk libcdr/ExternalProject_libcdr.mk libcdr/libcdr-0.0.11-encoding. patch libcdr/UnpackedTarball_cdr.mk liblangtag/UnpackedTarball_langtag.mk libmspub/ExternalProject_libmspub.mk Library_merged.mk Library_urelibs.mk libxml2/libxml2-configure.patch libxmlsec/ExternalProject_xmlsec.mk libxmlsec/UnpackedTarball_xmlsec.mk libxmlsec/xmlsec1-1.2.14_old_automake.patch libxslt/ExternalProject_xslt.mk libxslt/libxslt-configure.patch lingucomponent/Library_hyphen.mk lingucomponent/Library_lnth.mk lingucomponent/Library_MacOSXSpell.mk lingucomponent/Library_spell.mk lingucomponent/source lingucomponent/StaticLibrary_ulingu.mk linguistic/inc linguistic/Library_lng.mk linguistic/source linguistic/workben logerrit lotuswordpro/Library_lwpft.mk lotuswordpro/qa lotuswordpro/source m4/mingw.m4 Makefile.in mdds/UnpackedTarball_mdds.mk mysqlc/source np_sdk/inc nss/ExternalProject_nss.mk nss/nsinstall.py odk/config odk/CustomTarget_doxygen.mk odk/CustomTarget_lib.mk odk/CustomTarget_odkcommon.mk odk/docs odk/examples odk/settings odk/util odk/Zip_odkcommon.mk o dk/Zip_odkexamples.mk offapi/com offapi/type_reference offapi/UnoApi_offapi.mk officecfg/registry oovbaapi/ooo oox/inc oox/Library_oox.mk oox/Package_inc.mk oox/source openssl/ExternalProject_openssl.mk package/inc package/source padmin/Library_spa.mk padmin/Module_padmin.mk padmin/source padmin/UIConfig_spa.mk padmin/UI_spa.mk postprocess/CustomTarget_config.mk postprocess/CustomTarget_images.mk postprocess/Module_postprocess.mk postprocess/Package_config.mk postprocess/packconfig postprocess/packimages postprocess/Rdb_services.mk python3/ExternalPackage_python3.mk python3/python-3.3.0-aix.patch.1 pyuno/source README.Code README.cross redland/ExternalPackage_raptor.mk redland/ExternalPackage_rasqal.mk redland/ExternalPackage_redland.mk redland/ExternalProject_raptor.mk redland/ExternalProject_rasqal.mk redland/ExternalProject_redland.mk redland/Library_raptor.mk redland/Library_rasqal.mk redland/Library_rdf.mk redland/LICENSE.txt redland/Module_redland.mk redland/raptor red land/rasqal redland/README redland/redland redland/UnpackedTarball_raptor.mk redland/UnpackedTarball_rasqal.mk redland/UnpackedTarball_redland.mk registry/inc registry/Library_reg.mk registry/Module_registry.mk registry/Package_inc.mk registry/source registry/test registry/tools registry/workben registry/ZipPackage_registry_odk_headers.mk remotebridges/source reportbuilder/java reportdesign/inc reportdesign/Library_rpt.mk reportdesign/Library_rptui.mk reportdesign/Module_reportdesign.mk reportdesign/Package_uiconfig.mk reportdesign/source reportdesign/uiconfig reportdesign/UIConfig_dbreport.mk RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_build.mk RepositoryModule_host.mk ridljar/com ridljar/CustomTarget_javamaker.mk rsc/Executable_rsc.mk rsc/inc rsc/source sal/inc sal/Library_uwinapi.mk sal/osl sal/qa sal/rtl sal/ZipPackage_sal_odk_headers.mk sax/inc sax/Library_expwrap.mk sax/Library_fastsax.mk sax/qa sax/source sax/StaticLibrary_sax_shared.mk sca ddins/Library_analysis.mk scaddins/Library_date.mk scaddins/Library_pricing.mk scaddins/source sc/AllLangResTarget_sc.mk sccomp/Library_solver.mk sccomp/source sc/CppunitTest_sc_annotationobj.mk sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_annotationsobj.mk sc/CppunitTest_sc_cellrangeobj.mk sc/CppunitTest_sc_chart_regression_test.mk sc/CppunitTest_sc_databaserangeobj.mk sc/CppunitTest_sc_datapilotfieldobj.mk sc/CppunitTest_sc_datapilottableobj.mk sc/CppunitTest_sc_editfieldobj_cell.mk sc/CppunitTest_sc_editfieldobj_header.mk sc/CppunitTest_sc_filters_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_modelobj.mk sc/CppunitTest_sc_namedrangeobj.mk sc/CppunitTest_sc_namedrangesobj.mk sc/CppunitTest_sc_outlineobj.mk sc/CppunitTest_sc_rangelst_test.mk sc/CppunitTest_sc_subsequent_export_test.mk sc/CppunitTest_sc_subsequent_filters_test.mk sc/CppunitTest_sc_tableautoformatfield.mk sc/CppunitTest_sc_tablesheetobj.mk sc/CppunitTest_sc_tablesheetsobj.mk sc/Cppun itTest_sc_ucalc.mk sc/CustomTarget_uiconfig.mk sc/inc sc/Library_scfilt.mk sc/Library_sc.mk sc/Library_scui.mk sc/Module_sc.mk scp2/inc scp2/InstallModule_ooo.mk scp2/InstallModule_ure.mk scp2/source sc/Package_uiconfig.mk sc/qa scripting/Library_dlgprov.mk scripting/source sc/source sc/uiconfig sc/UIConfig_scalc.mk sc/UI_scalc.mk sc/util sc/workben sd/CppunitTest_sd_filters_test.mk sd/CppunitTest_sd_regression_test.mk sd/CppunitTest_sd_uimpress.mk sdext/source sdext/StaticLibrary_pdfimport_s.mk sd/inc sd/Library_sdfilt.mk sd/Library_sd.mk sd/Library_sdui.mk sd/Module_sd.mk sd/Package_uiconfig.mk sd/qa sd/README_REMOTE sd/sdi sd/source sd/uiconfig sd/UIConfig_sdraw.mk sd/UIConfig_simpress.mk sd/UI_sdraw.mk sd/UI_simpress.mk sd/workben setup_native/scripts sfx2/inc sfx2/Library_qstart.mk sfx2/Library_sfx.mk sfx2/Module_sfx2.mk sfx2/qa sfx2/sdi sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk sfx2/UI_sfx.mk sfx2/workben shell/Executable_lngconvex.mk shell/Library_ooofilt.mk shel l/Library_ooofilt_x64.mk shell/Library_propertyhdl.mk shell/Library_propertyhdl_x64.mk shell/Library_recentfile.mk shell/Library_shlxthdl.mk shell/Library_shlxthdl_x64.mk shell/source shell/StaticLibrary_shlxthandler_common.mk shell/StaticLibrary_shlxthandler_common_x64.mk shell/StaticLibrary_xmlparser.mk shell/StaticLibrary_xmlparser_x64.mk slideshow/source slideshow/test smoketest/smoketest.cxx solenv/bin solenv/gbuild solenv/gdb solenv/inc soltools/Executable_cpp.mk soltools/Executable_makedepend.mk sot/inc sot/Library_sot.mk sot/qa sot/source starmath/CppunitTest_starmath_qa_cppunit.mk starmath/inc starmath/Library_sm.mk starmath/Module_starmath.mk starmath/Package_uiconfig.mk starmath/qa starmath/source starmath/uiconfig starmath/UIConfig_smath.mk starmath/UI_smath.mk stoc/inc stoc/source stoc/test store/inc store/Library_store.mk store/Module_store.mk store/Package_inc.mk store/source store/workben store/ZipPackage_store_odk_headers.mk svgio/inc svgio/source svl/Cppuni tTest_svl_qa_cppunit.mk svl/CppunitTest_svl_urihelper.mk svl/inc svl/Library_svl.mk svl/qa svl/source svl/unx svtools/AllLangResTarget_svt.mk svtools/Executable_langsupport.mk svtools/inc svtools/langsupport svtools/Library_svt.mk svtools/Module_svtools.mk svtools/Package_inc.mk svtools/source svtools/uiconfig svtools/UIConfig_svt.mk svtools/UI_svt.mk svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/Library_textconversiondlgs.mk svx/Module_svx.mk svx/source svx/UIConfig_svx.mk svx/UI_svx.mk svx/workben sw/AllLangResTarget_sw.mk sw/CppunitTest_sw_filters_test.mk sw/CppunitTest_sw_layout_test.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_rtfimport.mk sw/CppunitTest_sw_uwriter.mk sw/inc sw/Library_msword.mk sw/Library_sw.mk sw/Library_swui.mk sw/Library_vbaswobj.mk sw/Module_sw.mk sw/Package_uiconfig.mk sw/PythonTest_sw_unoapi.mk sw/qa sw/README sw/source sw/uiconfig sw/UIConfig_sglobal.mk sw/UIConfig_sweb.mk sw/UIConfig_swform.mk sw/UIConfig_swreport.mk sw/UIConfi g_swriter.mk sw/UIConfig_swxform.mk sw/UI_swriter.mk sysui/CustomTarget_share.mk sysui/desktop sysui/Zip_osxicons.mk test/inc test/Library_subsequenttest.mk test/Library_test.mk test/Module_test.mk test/source testtools/CustomTarget_bridgetest_javamaker.mk testtools/CustomTarget_uno_test.mk testtools/Module_testtools.mk testtools/source toolkit/inc toolkit/Library_tk.mk toolkit/README toolkit/source tools/inc tools/Library_tl.mk tools/Package_inc.mk tools/qa tools/README tools/source tools/StaticLibrary_ooopathutils.mk touch/CustomTarget_touch_javamaker.mk touch/README touch/source tubes/inc tubes/Module_tubes.mk tubes/qa tubes/source tubes/UIConfig_tubes.mk tubes/UI_tubes.mk ucbhelper/inc ucbhelper/source ucb/source ucb/workben udkapi/com udkapi/UnoApi_udkapi.mk UnoControls/source unodevtools/Executable_skeletonmaker.mk unodevtools/inc unodevtools/source unoidl/inc unoidl/source unoil/CustomTarget_javamaker.mk unotest/inc unotest/Module_unotest.mk unotest/source unotools/in c unotools/Library_utl.mk unotools/Package_inc.mk unotools/source unoxml/qa unoxml/source unoxml/test ure/source uui/Library_uui.mk uui/Module_uui.mk uui/source uui/UIConfig_uui.mk uui/UI_uui.mk vbahelper/inc vbahelper/Library_msforms.mk vbahelper/source vcl/AllLangResTarget_vcl.mk vcl/android vcl/aqua vcl/coretext vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_desktop_detector.mk vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_gtk.mk vcl/Library_vclplug_kde4.mk vcl/Library_vclplug_kde.mk vcl/Library_vclplug_svp.mk vcl/Library_vclplug_tde.mk vcl/Module_vcl.mk vcl/null vcl/Package_inc.mk vcl/qa vcl/quartz vcl/README vcl/source vcl/StaticLibrary_headless.mk vcl/StaticLibrary_vclmain.mk vcl/test vcl/UIConfig_vcl.mk vcl/UI_vcl.mk vcl/unx vcl/win vcl/workben vigra/UnpackedTarball_vigra.mk wizards/com wizards/Module_wizards.mk wizards/Pyuno_commonwizards.mk wizards/Pyuno_web.mk writerfilter/inc writerfilter/Library_writerfilter.m k writerfilter/qa writerfilter/source writerperfect/StaticLibrary_writerperfect.mk xmlhelp/Library_tvhlp1.mk xmlhelp/Library_ucpchelp1.mk xmlhelp/source xmloff/CppunitTest_xmloff_uxmloff.mk xmloff/inc xmloff/Library_xo.mk xmloff/source xmlreader/inc xmlreader/source xmlscript/source xmlsecurity/inc xmlsecurity/Library_xmlsecurity.mk xmlsecurity/Module_xmlsecurity.mk xmlsecurity/qa xmlsecurity/source xmlsecurity/UIConfig_xmlsec.mk xmlsecurity/UI_xmlsec.mk xmlsecurity/workben xpdf/ExternalProject_xpdf.mk
Javier Fernandez
jfernandez at igalia.com
Thu Apr 11 08:22:51 PDT 2013
Rebased ref, commits from common ancestor:
commit 7c1f85825fa377172646122d5465f36497e1eaaf
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Thu Apr 11 09:50:50 2013 +0000
Replace static methods by instance methods.
Change-Id: I840598bf58ffac9cc596e7f1fe995908699f1819
diff --git a/wizards/com/sun/star/wizards/common/ConfigGroup.py b/wizards/com/sun/star/wizards/common/ConfigGroup.py
index bda4f96..8a55218 100644
--- a/wizards/com/sun/star/wizards/common/ConfigGroup.py
+++ b/wizards/com/sun/star/wizards/common/ConfigGroup.py
@@ -20,6 +20,9 @@ from .Configuration import Configuration
class ConfigGroup(object):
+ def __init__(self):
+ self.root = None
+
def writeConfiguration(self, configurationView, param):
for name,data in inspect.getmembers(self):
if name.startswith(param):
@@ -43,9 +46,13 @@ class ConfigGroup(object):
propertyName = field[len(prefix):]
child = getattr(self, field)
if isinstance(child, ConfigGroup):
+ child.setRoot(self.root);
child.readConfiguration(configView.getByName(propertyName),
prefix)
else:
value = configView.getByName(propertyName)
if value is not None:
setattr(self,field, value)
+
+ def setRoot(self, newRoot):
+ self.root = newRoot
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.py b/wizards/com/sun/star/wizards/web/WWD_Events.py
index 8c86802..a465a80 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.py
@@ -151,7 +151,7 @@ class WWD_Events(WWD_Startup):
view = Configuration.getNode(sessionToLoad, view)
session = CGSession()
- session.root = self.settings
+ session.setRoot(self.settings)
print ("DEBUG !!! loadSession -- reading configuration ...")
session.readConfiguration(view, CONFIG_READ_PARAM)
numDocs = session.cp_Content.cp_Documents.getSize()
@@ -986,7 +986,7 @@ class WWD_Events(WWD_Startup):
for i in range(start, len(self.files)):
doc = CGDocument()
- doc.root = self.parent.settings
+ doc.setRoot(self.parent.settings)
if start == 0:
doc.cp_URL = self.files[i]
diff --git a/wizards/com/sun/star/wizards/web/WebConfigSet.py b/wizards/com/sun/star/wizards/web/WebConfigSet.py
index 73b16fb..2845b8e 100644
--- a/wizards/com/sun/star/wizards/web/WebConfigSet.py
+++ b/wizards/com/sun/star/wizards/web/WebConfigSet.py
@@ -108,7 +108,7 @@ class WebConfigSet(ConfigGroup):
print ("DEBUG !!! readConfiguration -- name: ", i)
try:
child = self.childClass()
- child.root = self.root
+ child.setRoot(self.root)
child.readConfiguration(
configurationView.getByName(i), param)
self.add(i, child)
diff --git a/wizards/com/sun/star/wizards/web/data/CGArgument.py b/wizards/com/sun/star/wizards/web/data/CGArgument.py
index ee532de..9a66144 100644
--- a/wizards/com/sun/star/wizards/web/data/CGArgument.py
+++ b/wizards/com/sun/star/wizards/web/data/CGArgument.py
@@ -18,4 +18,6 @@
from ...common.ConfigGroup import ConfigGroup
class CGArgument(ConfigGroup):
- cp_Value = str()
+
+ def __init__(self):
+ self.cp_Value = str()
diff --git a/wizards/com/sun/star/wizards/web/data/CGContent.py b/wizards/com/sun/star/wizards/web/data/CGContent.py
index ec89af1..94a668a 100644
--- a/wizards/com/sun/star/wizards/web/data/CGContent.py
+++ b/wizards/com/sun/star/wizards/web/data/CGContent.py
@@ -22,14 +22,12 @@ from .CGDocument import CGDocument
class CGContent(ConfigGroup):
- cp_Index = -1
- dirName = str()
- cp_Name = str()
- cp_Description = str()
- cp_Contents = None
- cp_Documents = WebConfigSet(CGDocument)
-
def __init__(self):
+ self.cp_Index = -1
+ self.dirName = str()
+ self.cp_Name = str()
+ self.cp_Description = str()
+ self.cp_Documents = WebConfigSet(CGDocument)
self.cp_Contents = WebConfigSet(CGContent)
def createDOM(self, parent):
diff --git a/wizards/com/sun/star/wizards/web/data/CGDesign.py b/wizards/com/sun/star/wizards/web/data/CGDesign.py
index 4887bf7..7e0dff0 100644
--- a/wizards/com/sun/star/wizards/web/data/CGDesign.py
+++ b/wizards/com/sun/star/wizards/web/data/CGDesign.py
@@ -19,21 +19,22 @@ from ...common.ConfigGroup import ConfigGroup
class CGDesign(ConfigGroup):
- cp_Layout = str()
- cp_Style = str()
- cp_BackgroundImage = str()
- cp_IconSet = str()
- cp_DisplayTitle = bool()
- cp_DisplayDescription = bool()
- cp_DisplayAuthor = bool()
- cp_DisplayCreateDate = bool()
- cp_DisplayUpdateDate = bool()
- cp_DisplayFilename = bool()
- cp_DisplayFileFormat = bool()
- cp_DisplayFormatIcon = bool()
- cp_DisplayPages = bool()
- cp_DisplaySize = bool()
- cp_OptimizeDisplaySize = int()
+ def __init__(self):
+ self.cp_Layout = str()
+ self.cp_Style = str()
+ self.cp_BackgroundImage = str()
+ self.cp_IconSet = str()
+ self.cp_DisplayTitle = bool()
+ self.cp_DisplayDescription = bool()
+ self.cp_DisplayAuthor = bool()
+ self.cp_DisplayCreateDate = bool()
+ self.cp_DisplayUpdateDate = bool()
+ self.cp_DisplayFilename = bool()
+ self.cp_DisplayFileFormat = bool()
+ self.cp_DisplayFormatIcon = bool()
+ self.cp_DisplayPages = bool()
+ self.cp_DisplaySize = bool()
+ self.cp_OptimizeDisplaySize = int()
def createDOM(self, parent):
return XMLHelper.addElement(parent, "design", (0,), (0,))
diff --git a/wizards/com/sun/star/wizards/web/data/CGDocument.py b/wizards/com/sun/star/wizards/web/data/CGDocument.py
index 4defd5f..f2cf753 100644
--- a/wizards/com/sun/star/wizards/web/data/CGDocument.py
+++ b/wizards/com/sun/star/wizards/web/data/CGDocument.py
@@ -77,7 +77,7 @@ class CGDocument(ConfigGroup):
self.validate(xmsf, task)
def getSettings(self):
- return ConfigGroup.root
+ return self.root
'''
the task will advance 5 times during validate.
@@ -88,11 +88,11 @@ class CGDocument(ConfigGroup):
def validate(self, xmsf, task):
print ("WARNING !!! VALIDATING DOCUMENT ....")
- if not self.root.getFileAccess(xmsf).exists(self.cp_URL, False):
+ if not self.getSettings().getFileAccess(xmsf).exists(self.cp_URL, False):
raise FileNotFoundException (
"The given URL does not point to a file")
- if self.root.getFileAccess(xmsf).isDirectory(self.cp_URL):
+ if self.getSettings().getFileAccess(xmsf).isDirectory(self.cp_URL):
raise IllegalArgumentException ("The given URL points to a directory") #create a TypeDetection service
self.mediaDescriptor = OfficeDocument.getFileMediaDecriptor(
@@ -102,7 +102,7 @@ class CGDocument(ConfigGroup):
self.analyzeFileType(self.mediaDescriptor)
task.advance(True)
#2
- path = self.root.getFileAccess(xmsf).getPath(self.cp_URL, "")
+ path = self.getSettings().getFileAccess(xmsf).getPath(self.cp_URL, "")
self.localFilename = FileAccess.getFilename(path, separator)
'''
if the type is a star office convertable document
@@ -159,11 +159,11 @@ class CGDocument(ConfigGroup):
if self.cp_Exporter is None or self.cp_Exporter == "":
print ("WARNING !!! settign exporter for key:", self.appType)
- exp = self.root.getExporters(self.appType)
+ exp = self.getSettings().getExporters(self.appType)
print ("WARNING !!! got N exporters:", len(exp))
print ("WARNING !!! got exporter:", exp[0])
self.cp_Exporter = \
- self.root.cp_Exporters.getKey(exp[0])
+ self.getSettings().cp_Exporters.getKey(exp[0])
print ("WARNING !!! exporter: ", self.cp_Exporter)
'''
diff --git a/wizards/com/sun/star/wizards/web/data/CGGeneralInfo.py b/wizards/com/sun/star/wizards/web/data/CGGeneralInfo.py
index bdfdae6..4fcbd60 100644
--- a/wizards/com/sun/star/wizards/web/data/CGGeneralInfo.py
+++ b/wizards/com/sun/star/wizards/web/data/CGGeneralInfo.py
@@ -20,13 +20,14 @@ from ...common.XMLHelper import XMLHelper
class CGGeneralInfo(ConfigGroup):
- cp_Title = str()
- cp_Description = str()
- cp_Author = str()
- cp_CreationDate = int()
- cp_UpdateDate = int()
- cp_Email = str()
- cp_Copyright = str()
+ def __init__(self):
+ self.cp_Title = str()
+ self.cp_Description = str()
+ self.cp_Author = str()
+ self.cp_CreationDate = int()
+ self.cp_UpdateDate = int()
+ self.cp_Email = str()
+ self.cp_Copyright = str()
def createDOM(self, parent):
return XMLHelper.addElement(
diff --git a/wizards/com/sun/star/wizards/web/data/CGIconSet.py b/wizards/com/sun/star/wizards/web/data/CGIconSet.py
index 6f8c88f..c63f427 100644
--- a/wizards/com/sun/star/wizards/web/data/CGIconSet.py
+++ b/wizards/com/sun/star/wizards/web/data/CGIconSet.py
@@ -18,7 +18,9 @@
from ...common.ConfigGroup import ConfigGroup
class CGIconSet(ConfigGroup):
- cp_Index = -1
- cp_FNPrefix = str()
- cp_FNPostfix = str()
- cp_Name = str()
+
+ def __init__(self):
+ self.cp_Index = -1
+ self.cp_FNPrefix = str()
+ self.cp_FNPostfix = str()
+ self.cp_Name = str()
diff --git a/wizards/com/sun/star/wizards/web/data/CGLayout.py b/wizards/com/sun/star/wizards/web/data/CGLayout.py
index a5f65cb..c59d6e5 100644
--- a/wizards/com/sun/star/wizards/web/data/CGLayout.py
+++ b/wizards/com/sun/star/wizards/web/data/CGLayout.py
@@ -23,12 +23,13 @@ from ...ui.UIConsts import UIConsts
class CGLayout(ConfigGroup):
- cp_Index = -1
- cp_Name = str()
- cp_FSName = str()
+ def __init__(self):
+ self.cp_Index = -1
+ self.cp_Name = str()
+ self.cp_FSName = str()
def getSettings(self):
- return ConfigGroup.root
+ return self.root
def createTemplates(self, xmsf):
self.templates = {}
diff --git a/wizards/com/sun/star/wizards/web/data/CGPublish.py b/wizards/com/sun/star/wizards/web/data/CGPublish.py
index e9db325..47bd6e5 100644
--- a/wizards/com/sun/star/wizards/web/data/CGPublish.py
+++ b/wizards/com/sun/star/wizards/web/data/CGPublish.py
@@ -26,23 +26,24 @@ through such a CGPublish object.
class CGPublish(ConfigGroup):
- cp_Publish = bool()
- cp_URL = str()
- cp_Username = str()
- password = str()
- overwriteApproved = bool()
- url = str()
+ def __init__(self):
+ self.cp_Publish = bool()
+ self.cp_URL = str()
+ self.cp_Username = str()
+ self.password = str()
+ self.overwriteApproved = bool()
+ self.url = str()
def setURL(self, path):
try:
- self.cp_URL = (self.root).getFileAccess().getURL(path)
+ self.cp_URL = self.root.getFileAccess().getURL(path)
self.overwriteApproved = False
except Exception as ex:
ex.printStackTrace()
def getURL(self):
try:
- return (self.root).getFileAccess().getPath(self.cp_URL, None)
+ return self.root.getFileAccess().getPath(self.cp_URL, None)
except Exception as e:
e.printStackTrace()
return ""
diff --git a/wizards/com/sun/star/wizards/web/data/CGSession.py b/wizards/com/sun/star/wizards/web/data/CGSession.py
index a727ff6..33da2e8 100644
--- a/wizards/com/sun/star/wizards/web/data/CGSession.py
+++ b/wizards/com/sun/star/wizards/web/data/CGSession.py
@@ -29,15 +29,16 @@ from com.sun.star.beans import StringPair
class CGSession(ConfigGroup):
- cp_Index = -1
- cp_InDirectory = str()
- cp_OutDirectory = str()
- cp_Name = str()
- cp_Content = CGContent()
- cp_Design = CGDesign()
- cp_GeneralInfo = CGGeneralInfo()
- cp_Publishing = WebConfigSet(CGPublish)
- valid = False
+ def __init__(self):
+ self.cp_Index = -1
+ self.cp_InDirectory = str()
+ self.cp_OutDirectory = str()
+ self.cp_Name = str()
+ self.cp_Content = CGContent()
+ self.cp_Design = CGDesign()
+ self.cp_GeneralInfo = CGGeneralInfo()
+ self.cp_Publishing = WebConfigSet(CGPublish)
+ self.valid = False
def createDOM(self, doc):
root = XMLHelper.addElement(doc, "session",
diff --git a/wizards/com/sun/star/wizards/web/data/CGSessionName.py b/wizards/com/sun/star/wizards/web/data/CGSessionName.py
index c8bdca1..13a5267 100644
--- a/wizards/com/sun/star/wizards/web/data/CGSessionName.py
+++ b/wizards/com/sun/star/wizards/web/data/CGSessionName.py
@@ -18,8 +18,10 @@
from ...common.ConfigGroup import ConfigGroup
class CGSessionName(ConfigGroup):
- cp_Index = -1
- cp_Name = str()
+
+ def __init__(self):
+ self.cp_Index = -1
+ self.cp_Name = str()
def toString(self):
return self.cp_Name
diff --git a/wizards/com/sun/star/wizards/web/data/CGSettings.py b/wizards/com/sun/star/wizards/web/data/CGSettings.py
index 78b4b18..53fb587 100644
--- a/wizards/com/sun/star/wizards/web/data/CGSettings.py
+++ b/wizards/com/sun/star/wizards/web/data/CGSettings.py
@@ -45,53 +45,50 @@ class CGSettings(ConfigGroup):
RESOURCE_UPDATED_TEMPLATE = 3
RESOURCE_SIZE_TEMPLATE = 4
- cp_WorkDir = str()
- cp_Exporters = WebConfigSet(CGExporter)
- cp_Layouts = WebConfigSet(CGLayout)
- cp_Styles = WebConfigSet(CGStyle)
- cp_IconSets = WebConfigSet(CGIconSet)
- cp_BackgroundImages = WebConfigSet(CGImage)
- cp_SavedSessions = WebConfigSet(CGSessionName)
- cp_Filters = WebConfigSet(CGFilter)
- savedSessions = WebConfigSet(CGSessionName)
- cp_DefaultSession = CGSession()
- cp_LastSavedSession = str()
- fileAccess = None
- xmsf = None
-
def __init__(self, xmsf_, resources_, document):
+ self.cp_WorkDir = str()
+ self.cp_Exporters = WebConfigSet(CGExporter)
+ self.cp_Layouts = WebConfigSet(CGLayout)
+ self.cp_Styles = WebConfigSet(CGStyle)
+ self.cp_IconSets = WebConfigSet(CGIconSet)
+ self.cp_BackgroundImages = WebConfigSet(CGImage)
+ self.cp_SavedSessions = WebConfigSet(CGSessionName)
+ self.cp_Filters = WebConfigSet(CGFilter)
+ self.savedSessions = WebConfigSet(CGSessionName)
+ self.cp_DefaultSession = CGSession()
+ self.cp_LastSavedSession = str()
+ self.fileAccess = None
+ self.workPath = None
self.xmsf = xmsf_
try:
self.soTemplateDir = FileAccess.getOfficePath2(self.xmsf, "Config", "", "");
self.soGalleryDir = FileAccess.getOfficePath2(self.xmsf, "Gallery", "share", "");
- ConfigGroup.root = self
+ self.setRoot(self)
self.formatter = self.Formatter(self.xmsf, document, resources_)
self.resources = resources_
- self.workPath = None
self.exportersMap = {}
except Exception:
traceback.print_exc()
def getExporters(self, mime):
+ print ("DEBUG !!! CGSettings.getExporters -- mime: ", mime)
exps = self.exportersMap.get(mime)
if exps is None:
exps = self.createExporters(mime)
self.exportersMap[mime] = exps
-
+ print ("DEBUG !!! CGSettings.getExporters -- exps: ", len(exps))
return exps
def createExporters(self, mime):
+ print ("DEBUG !!! CGSettings.createExporters -- mime: ", mime)
exporters = self.cp_Exporters.childrenList
v = []
for i in exporters:
- if i is not None:
- if i.supports(mime):
- try:
- v.append(i)
- except Exception:
- traceback.print_exc()
- else:
- print ("DEBUG !!! Exporter is None")
+ if i.supports(mime):
+ try:
+ v.append(i)
+ except Exception:
+ traceback.print_exc()
return v
'''
@@ -101,37 +98,31 @@ class CGSettings(ConfigGroup):
'''
def configure(self, xmsf):
- self.workPath = FileAccess.connectURLs(
- self.soTemplateDir, self.cp_WorkDir)
- #COMMENTED
+ self.workPath = FileAccess.connectURLs(self.soTemplateDir, self.cp_WorkDir)
self.calcExportersTargetTypeNames(xmsf)
def calcExportersTargetTypeNames(self, xmsf):
- typeDetect = xmsf.createInstance(
- "com.sun.star.document.TypeDetection")
+ typeDetect = xmsf.createInstance("com.sun.star.document.TypeDetection")
for i in range(self.cp_Exporters.getSize()):
- self.calcExporterTargetTypeName(
- typeDetect, self.cp_Exporters.getElementAt(i))
+ self.calcExporterTargetTypeName(typeDetect, self.cp_Exporters.getElementAt(i))
def calcExporterTargetTypeName(self, typeDetect, exporter):
if (exporter is None):
- print ("WARNING !!!! calcExporterTargetTypeName - received None as exporter argument.")
+ print ("DEBUG !!!! calcExporterTargetTypeName - received None as exporter argument.")
return
- print ("WARNING !!!! calcExporterTargetTypeName - targetType: ", exporter.cp_TargetType)
+ print ("DEBUG !!!! calcExporterTargetTypeName - targetType: ", exporter.cp_TargetType)
if not (exporter.cp_TargetType == "" or exporter.cp_TargetType is None):
targetTypeName = Properties.getPropertyValue(
typeDetect.getByName(exporter.cp_TargetType), "UIName")
- print ("WARNING !!!! calcExporterTargetTypeName - targetTypeName: ", targetTypeName)
+ print ("DEBUG !!!! calcExporterTargetTypeName - targetTypeName: ", targetTypeName)
exporter.cp_targetTypeName = targetTypeName
- @classmethod
def getFileAccess(self, xmsf = None):
if xmsf is None:
xmsf = self.xmsf
- if CGSettings.fileAccess is None:
- CGSettings.fileAccess = FileAccess(xmsf)
-
- return CGSettings.fileAccess
+ if self.fileAccess is None:
+ self.fileAccess = FileAccess(xmsf)
+ return self.fileAccess
class Formatter(object):
class DateUtils(object):
commit 937e881e47a4b0cbe3c5041d6764e44838cbeb28
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Thu Apr 11 08:12:33 2013 +0000
Fixed bug related to the duplicated items in the exporters list.
Attributes must be defined as instance kind, instead of static.
Change-Id: I6e7daa15ce501dd227d039ddd1320ee685258b3c
diff --git a/wizards/com/sun/star/wizards/web/data/CGDocument.py b/wizards/com/sun/star/wizards/web/data/CGDocument.py
index 92d3e7a..4defd5f 100644
--- a/wizards/com/sun/star/wizards/web/data/CGDocument.py
+++ b/wizards/com/sun/star/wizards/web/data/CGDocument.py
@@ -68,13 +68,13 @@ class CGDocument(ConfigGroup):
self.sizeBytes = -1
self.pages = -1
self.valid = False
- self.appType = None
+ self.appType = ""
if (xmsf is None):
return
- self.cp_URL = self.getSettings().getFileAccess(xmsf).getURL(url);
+ self.cp_URL = self.getSettings().getFileAccess(xmsf).getURL(url)
if (task is None):
task = Task("", "", 5)
- self.validate(xmsf, task);
+ self.validate(xmsf, task)
def getSettings(self):
return ConfigGroup.root
@@ -90,12 +90,10 @@ class CGDocument(ConfigGroup):
print ("WARNING !!! VALIDATING DOCUMENT ....")
if not self.root.getFileAccess(xmsf).exists(self.cp_URL, False):
raise FileNotFoundException (
- "The given URL does not point to a file");
+ "The given URL does not point to a file")
if self.root.getFileAccess(xmsf).isDirectory(self.cp_URL):
- raise IllegalArgumentException (
- "The given URL points to a directory");
- #create a TypeDetection service
+ raise IllegalArgumentException ("The given URL points to a directory") #create a TypeDetection service
self.mediaDescriptor = OfficeDocument.getFileMediaDecriptor(
xmsf, self.cp_URL)
@@ -160,8 +158,8 @@ class CGDocument(ConfigGroup):
self.cp_Author = self.author
if self.cp_Exporter is None or self.cp_Exporter == "":
- print ("WARNING !!! settign exporter for key:", CGDocument.appType)
- exp = self.root.getExporters(CGDocument.appType)
+ print ("WARNING !!! settign exporter for key:", self.appType)
+ exp = self.root.getExporters(self.appType)
print ("WARNING !!! got N exporters:", len(exp))
print ("WARNING !!! got exporter:", exp[0])
self.cp_Exporter = \
@@ -180,9 +178,9 @@ class CGDocument(ConfigGroup):
else:
media = Properties.getPropertyValue(
self.mediaDescriptor, PropertyNames.PROPERTY_NAME)
- CGDocument.appType = self.getDocType(media)
- print ("DEBUG !!! analyzeFileType -- appType: ", CGDocument.appType)
- self.isSOOpenable = (CGDocument.appType == WRITER_DOC or CGDocument.appType == CALC_DOC or CGDocument.appType == IMPRESS_DOC or CGDocument.appType == DRAW_DOC) or CGDocument.appType == HTML_DOC
+ self.appType = self.getDocType(media)
+ print ("DEBUG !!! analyzeFileType -- appType: ", self.appType)
+ self.isSOOpenable = (self.appType == WRITER_DOC or self.appType == CALC_DOC or self.appType == IMPRESS_DOC or self.appType == DRAW_DOC) or self.appType == HTML_DOC
if (self.isSOOpenable):
print ("DEBUG !!! analyzeFileType -- isSOOpenable .")
else:
@@ -289,7 +287,7 @@ class CGDocument(ConfigGroup):
def getIcon(self, exporter):
if exporter.cp_Icon == "":
- return self.getIcon1(CGDocument.appType)
+ return self.getIcon1(self.appType)
else:
return exporter.cp_Icon
@@ -312,7 +310,7 @@ class CGDocument(ConfigGroup):
'''
def setExporter(self, exporter_):
- exp = self.getSettings().getExporters(CGDocument.appType)[exporter_[0]]
+ exp = self.getSettings().getExporters(self.appType)[exporter_[0]]
self.cp_Exporter = self.getSettings().cp_Exporters.getKey(exp)
'''
@@ -325,7 +323,7 @@ class CGDocument(ConfigGroup):
return 0
exporter = self.getSettings().cp_Exporters.getElement(self.cp_Exporter)
- exporters = self.getSettings().getExporters(CGDocument.appType)
+ exporters = self.getSettings().getExporters(self.appType)
i = 0
while i < len(exporters):
if exporters[i] == exporter:
diff --git a/wizards/com/sun/star/wizards/web/data/CGExporter.py b/wizards/com/sun/star/wizards/web/data/CGExporter.py
index 6a88f15..daddbcb 100644
--- a/wizards/com/sun/star/wizards/web/data/CGExporter.py
+++ b/wizards/com/sun/star/wizards/web/data/CGExporter.py
@@ -20,24 +20,26 @@ from ...common.ConfigGroup import ConfigGroup
from .CGArgument import CGArgument
class CGExporter(ConfigGroup):
- cp_Index = -1
- cp_Name = str()
- cp_ExporterClass = str()
- cp_OwnDirectory = bool()
- cp_SupportsFilename = bool()
- cp_DefaultFilename = str()
- cp_Extension = str()
- cp_SupportedMimeTypes = str()
- cp_Icon = str()
- cp_TargetType = str()
- cp_Binary = bool()
- cp_PageType = int()
- targetTypeName = ""
- cp_Arguments = WebConfigSet(CGArgument)
+
+ def __init__(self):
+ self.cp_Index = -1
+ self.cp_Name = str()
+ self.cp_ExporterClass = str()
+ self.cp_OwnDirectory = bool()
+ self.cp_SupportsFilename = bool()
+ self.cp_DefaultFilename = str()
+ self.cp_Extension = str()
+ self.cp_SupportedMimeTypes = str()
+ self.cp_Icon = str()
+ self.cp_TargetType = str()
+ self.cp_Binary = bool()
+ self.cp_PageType = int()
+ self.targetTypeName = ""
+ self.cp_Arguments = WebConfigSet(CGArgument)
def toString(self):
return self.cp_Name
def supports(self, mime):
- return CGExporter.cp_SupportedMimeTypes == "" or \
- CGExporter.cp_SupportedMimeTypes.find(mime) > -1
+ return self.cp_SupportedMimeTypes == "" or \
+ self.cp_SupportedMimeTypes.find(mime) > -1
commit 288c59dea0a39ff0ae4416e405d9e03f18986fe6
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Wed Apr 10 16:56:23 2013 +0000
Adding keyListenners for testing purposes.
Change-Id: I2593ef02be9ebd940a5865bfbdf305b5b958e9c0
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.py b/wizards/com/sun/star/wizards/web/WWD_Events.py
index 407301e..8c86802 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.py
@@ -17,6 +17,8 @@
#
import traceback
import uno
+import time
+
#from common.Desktop import Desktop
from .WWD_Startup import WWD_Startup
from .WWD_General import WWD_General
@@ -24,6 +26,7 @@ from .WebWizardConst import *
from ..common.FileAccess import FileAccess
from ..common.Configuration import Configuration
from ..ui.event.ListModelBinder import ListModelBinder
+from ..ui.event.CommonListener import KeyListenerProcAdapter
from ..ui.event.Task import Task
from .data.CGDocument import CGDocument
from .data.CGSession import CGSession
@@ -59,9 +62,10 @@ class WWD_Events(WWD_Startup):
def __init__(self, xmsf):
super(WWD_Events, self).__init__(xmsf)
- self.chkFTP.addKeyListener(None)
- self.chkLocalDir.addKeyListener(None)
- self.chkZip.addKeyListener(None)
+ c = KeyListenerProcAdapter(self.keyPressed)
+ self.chkFTP.addKeyListener(c)
+ self.chkLocalDir.addKeyListener(c)
+ self.chkZip.addKeyListener(c)
self.currentSession = ""
self.exitOnCreate = True
self.time = 0
@@ -98,6 +102,18 @@ class WWD_Events(WWD_Startup):
if sessionToLoad is not self.currentSession:
self.loadSession(sessionToLoad)
+ def keyPressed(self, ke):
+ if (ke.KeyChar == '&'):
+ self.time = time.time()
+ elif (ke.KeyChar == '%' and ((time.time() - self.time) < 300)):
+ b = self.xDialogModel.btnWizardFinish.Enabled
+ if (b):
+ print ("DEBUG !!! keyPressed -- Finish button ENABLED ")
+ self.finishWizard1(False)
+ else:
+ print ("DEBUG !!! keyPressed -- Finish button DISABLED ")
+
+
'''
**************
STEP 1
commit c9c4d0f92ff04064192b2a1f921cd214896f7731
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Wed Apr 10 16:55:40 2013 +0000
Implementing the createDOM method for the CGDocument class.
Change-Id: I3480c641221d583cfc494cce29ace9db6e1a8c30
diff --git a/wizards/com/sun/star/wizards/web/WebConfigSet.py b/wizards/com/sun/star/wizards/web/WebConfigSet.py
index 4ab5ea3..73b16fb 100644
--- a/wizards/com/sun/star/wizards/web/WebConfigSet.py
+++ b/wizards/com/sun/star/wizards/web/WebConfigSet.py
@@ -146,9 +146,8 @@ class WebConfigSet(ConfigGroup):
i = 0
while i < len(items):
item = items[i]
- if isinstance(item, XMLProvider):
+ if hasattr(item, "createDOM"):
item.createDOM(parent)
-
i += 1
return parent
diff --git a/wizards/com/sun/star/wizards/web/data/CGDocument.py b/wizards/com/sun/star/wizards/web/data/CGDocument.py
index 25f914f..92d3e7a 100644
--- a/wizards/com/sun/star/wizards/web/data/CGDocument.py
+++ b/wizards/com/sun/star/wizards/web/data/CGDocument.py
@@ -23,6 +23,7 @@ from ...document.OfficeDocument import OfficeDocument
from ...common.Properties import Properties
from ...common.PropertyNames import PropertyNames
from ...common.FileAccess import FileAccess
+from ...common.XMLHelper import XMLHelper
from ..TypeDetection import *
from ...common.Desktop import Desktop
@@ -45,28 +46,32 @@ The same is valid for *description* and *author*.
'''
class CGDocument(ConfigGroup):
- cp_Exporter = None
- cp_Index = -1
+
PAGE_TYPE_PAGE = 1
PAGE_TYPE_SLIDE = 2
- cp_Title = ""
- cp_Description = ""
- cp_URL = ""
- cp_Author = ""
- localFilename = ""
- urlFilename = ""
- title = ""
- description = ""
- author = ""
- sizeBytes = -1
- pages = -1
- valid = False
- appType = None
-
- def __init__(self, url = "", xmsf = None, Task = None):
+
+ def __init__(self, url = "", xmsf = None, task = None):
+ self.cp_URL = ""
+ self.cp_Exporter = None
+ self.cp_Index = -1
+ self.cp_Title = ""
+ self.cp_Description = ""
+ self.cp_Author = ""
+ self.localFilename = ""
+ self.urlFilename = ""
+ self.title = ""
+ self.description = ""
+ self.author = ""
+ self.dirName = ""
+ self.createdDate = None
+ self.updatedDate = None
+ self.sizeBytes = -1
+ self.pages = -1
+ self.valid = False
+ self.appType = None
if (xmsf is None):
return
- cp_URL = self.getSettings().getFileAccess(xmsf).getURL(url);
+ self.cp_URL = self.getSettings().getFileAccess(xmsf).getURL(url);
if (task is None):
task = Task("", "", 5)
self.validate(xmsf, task);
@@ -127,32 +132,32 @@ class CGDocument(ConfigGroup):
#4
#now use the object to read some document properties.
if xProps is not None:
- title = xProps.Title
- description = xProps.Description
- author = xProps.Author
- createDate = xProps.CreationDate
- updateDate = xProps.ModificationDate
+ self.title = xProps.Title
+ self.description = xProps.Description
+ self.author = xProps.Author
+ self.createdDate = xProps.CreationDate
+ self.updatedDate = xProps.ModificationDate
else:
#get some information from OS.
- title = self.localFilename
- updateDate = \
+ self.title = self.localFilename
+ self.updatedDate = \
self.getSettings().getFileAccess(xmsf).getLastModified(self.cp_URL)
task.advance(True)
#5
valid = True
if self.cp_Title == "":
- cp_Title = self.title
+ self.cp_Title = self.title
if self.cp_Title == "":
- cp_Title = self.localFilename
+ self.cp_Title = self.localFilename
if self.cp_Description == "":
- cp_Description = self.description
+ self.cp_Description = self.description
if self.cp_Author == "":
- cp_Author = self.author
+ self.cp_Author = self.author
if self.cp_Exporter is None or self.cp_Exporter == "":
print ("WARNING !!! settign exporter for key:", CGDocument.appType)
@@ -224,21 +229,33 @@ class CGDocument(ConfigGroup):
def createDOM(self, parent):
d = self.getSettings().cp_DefaultSession.cp_Design
exp = self.getSettings().cp_Exporters.getElement(self.cp_Exporter)
- '''return XMLHelper.addElement(parent, "document", ["title", "description", "author", "format", "filename", "create-date", "update-date", "pages", "size", "icon", "dir", "fn"], [d.cp_DisplayTitle ? self.cp_Title : "", d.cp_DisplayDescription ? self.cp_Description : "", d.cp_DisplayAuthor ? self.cp_Author : "", d.cp_DisplayFileFormat ? getTargetTypeName(exp) : "", d.cp_DisplayFilename ? self.localFilename : "", d.cp_DisplayCreateDate ? self.createDate() : "", d.cp_DisplayUpdateDate ? self.updateDate() : "", d.cp_DisplayPages and (self.pages > -1) ? "" + self.pages() : "", #TODO when do i calculate pages?
- d.cp_DisplaySize ? sizeKB() : "", #TODO when do i calculate size?
- d.cp_DisplayFormatIcon ? getIcon(exp) : "", self.dirName, self.urlFilename])'''
+ return XMLHelper.addElement(parent, "document",
+ ["title", "description", "author", "format", "filename",
+ "create-date", "update-date", "pages", "size", "icon",
+ "dir", "fn"],
+ [self.cp_Title if (d.cp_DisplayTitle) else "",
+ self.cp_Description if (d.cp_DisplayDescription) else "",
+ self.cp_Author if (d.cp_DisplayAuthor) else "",
+ self.getTargetTypeName(exp) if (d.cp_DisplayFileFormat) else "",
+ self.localFilename if (d.cp_DisplayFilename) else "",
+ self.createDate() if (d.cp_DisplayCreateDate) else "",
+ self.updateDate() if (d.cp_DisplayUpdateDate) else "",
+ "" + self.getPages() if (d.cp_DisplayPages and (self.pages > -1)) else "", #TODO when do i calculate pages?
+ self.sizeKB() if (d.cp_DisplaySize) else "", #TODO when do i calculate size?
+ self.getIcon(exp) if (d.cp_DisplayFormatIcon) else "",
+ self.dirName, self.urlFilename])
def updateDate(self):
- if self.updateDate is None:
+ if self.updatedDate is None:
return ""
- return self.getSettings().formatter.formatCreated(self.updateDate)
+ return self.getSettings().formatter.formatCreated(self.updatedDate)
def createDate(self):
- if self.createDate is None:
+ if self.createdDate is None:
return ""
- return self.getSettings().formatter.formatCreated(self.createDate)
+ return self.getSettings().formatter.formatCreated(self.createdDate)
def sizeKB(self):
if self.sizeBytes == -1:
@@ -246,11 +263,11 @@ class CGDocument(ConfigGroup):
else:
return self.getSettings().formatter.formatFileSize(self.sizeBytes)
- def pages(self):
+ def getPages(self):
if self.pages == -1:
return ""
else:
- return pagesTemplate().replace("%NUMBER", "" + self.pages)
+ return self.pagesTemplate().replace("%NUMBER", "" + self.pages)
def pagesTemplate(self):
pagesType = \
@@ -272,11 +289,11 @@ class CGDocument(ConfigGroup):
def getIcon(self, exporter):
if exporter.cp_Icon == "":
- return getIcon(CGDocument.appType)
+ return self.getIcon1(CGDocument.appType)
else:
return exporter.cp_Icon
- def getIcon(self, appType):
+ def getIcon1(self, appType):
return appType + ".gif"
'''
diff --git a/wizards/com/sun/star/wizards/web/data/CGSession.py b/wizards/com/sun/star/wizards/web/data/CGSession.py
index 87fe366..a727ff6 100644
--- a/wizards/com/sun/star/wizards/web/data/CGSession.py
+++ b/wizards/com/sun/star/wizards/web/data/CGSession.py
@@ -25,6 +25,8 @@ from .CGDesign import CGDesign
from .CGGeneralInfo import CGGeneralInfo
from .CGPublish import CGPublish
+from com.sun.star.beans import StringPair
+
class CGSession(ConfigGroup):
cp_Index = -1
@@ -45,6 +47,20 @@ class CGSession(ConfigGroup):
self.cp_Content.createDOM(root)
return root
+ def serializeNode(self, node):
+ xBuffer = self.root.xmsf.createInstance("com.sun.star.io.Pipe")
+ xTextInputStream = self.root.xmsf.createInstance("com.sun.star.io.TextInputStream")
+ xSaxWriter = self.root.xmsf.createInstance( "com.sun.star.xml.sax.Writer" )
+ xSaxWriter.setOutputStream(xBuffer)
+ xTextInputStream.setInputStream(xBuffer)
+ node.serialize(xSaxWriter, tuple([StringPair()]))
+ result = ""
+ while (not xTextInputStream.isEOF()):
+ sLine = xTextInputStream.readLine()
+ if (not sLine == "") and (not sLine.startswith("<?xml")):
+ result = result + sLine + "\n"
+ print ("DEBUG !!! result: ", result)
+
def getScreenSize(self):
tmp_switch_var1 = self.cp_Design.cp_OptimizeDisplaySize
if tmp_switch_var1 == 0:
diff --git a/wizards/com/sun/star/wizards/web/data/CGSettings.py b/wizards/com/sun/star/wizards/web/data/CGSettings.py
index e270935..78b4b18 100644
--- a/wizards/com/sun/star/wizards/web/data/CGSettings.py
+++ b/wizards/com/sun/star/wizards/web/data/CGSettings.py
@@ -35,6 +35,7 @@ from .CGSession import CGSession
from com.sun.star.i18n.NumberFormatIndex import DATE_SYS_DMMMYYYY
from com.sun.star.i18n.NumberFormatIndex import NUMBER_1000DEC2
+from com.sun.star.util import DateTime
class CGSettings(ConfigGroup):
@@ -64,7 +65,7 @@ class CGSettings(ConfigGroup):
self.soTemplateDir = FileAccess.getOfficePath2(self.xmsf, "Config", "", "");
self.soGalleryDir = FileAccess.getOfficePath2(self.xmsf, "Gallery", "share", "");
ConfigGroup.root = self
- self.formatter = self.Formatter(self.xmsf, document)
+ self.formatter = self.Formatter(self.xmsf, document, resources_)
self.resources = resources_
self.workPath = None
self.exportersMap = {}
@@ -146,35 +147,40 @@ class CGSettings(ConfigGroup):
@param format a constant of the enumeration NumberFormatIndex
@return
'''
- def getFormat(self, format):
- return NumberFormatter.getNumberFormatterKey(self.formatSupplier, format)
+ def getFormat(self, f):
+ return NumberFormatter.getNumberFormatterKey(self.formatSupplier, f)
'''
@param date a VCL date in form of 20041231
@return a document relative date
'''
def format(self, formatIndex, date):
- difference = date - self.calendar
+ dateTime = dateTimeObject(date.Year, date.Month, date.Day)
+ difference = dateTime - self.calendar
return self.formatter.convertNumberToString(formatIndex, difference.days)
- def __init__(self, xmsf, document):
+ def getFormatter(self):
+ return self.formatter
+
+ def __init__(self, xmsf, document, resources):
self.dateUtils = self.DateUtils(xmsf, document)
self.dateFormat = self.dateUtils.getFormat(DATE_SYS_DMMMYYYY)
self.numberFormat = self.dateUtils.getFormat(NUMBER_1000DEC2)
+ self.resources = resources
def formatCreated(self, date):
- sDate = self.dateUtils.format(dateFormat, date)
- return resources[CGSettings.RESOURCE_CREATED_TEMPLATE].replace(
+ sDate = self.dateUtils.format(self.dateFormat, date)
+ return self.resources[CGSettings.RESOURCE_CREATED_TEMPLATE].replace(
"%DATE", sDate)
def formatUpdated(self, date):
- sDate = self.dateUtils.format(dateFormat, date);
- return resources[CGSettings.RESOURCE_UPDATED_TEMPLATE].replace(
+ sDate = self.dateUtils.format(self.dateFormat, date);
+ return self.resources[CGSettings.RESOURCE_UPDATED_TEMPLATE].replace(
"%DATE", sDate)
def formatFileSize(self, size):
sizeInKB = size / float(1024)
sSize = self.dateUtils.getFormatter().convertNumberToString(
- numberFormat, sizeInKB)
- return resources[CGSettings.RESOURCE_SIZE_TEMPLATE].replace(
+ self.numberFormat, sizeInKB)
+ return self.resources[CGSettings.RESOURCE_SIZE_TEMPLATE].replace(
"%NUMBER", sSize)
commit 31e61a35e834108c72c99405c8c8fcda4f7215ba
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Mon Apr 8 21:27:27 2013 +0000
Fixed typos.
Change-Id: Ia6f99bb7d0f8263e5b03933304975325cc1278e0
diff --git a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
index 8ce341a..2c9c7c9 100644
--- a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
+++ b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
@@ -58,7 +58,7 @@ class UnoDataAware(DataAware):
setattr(self.unoModel, self.unoPropName, value)
else:
print ("DEBUG !!! UnoDataAware.setToUI -- dataObject hasn't the attribute, su using the 'setter' method.")
- uno.invoke(self.unoModel, "set" + self.unoPropName, (ui,))
+ uno.invoke(self.unoModel, "set" + self.unoPropName, (value,))
# Try to get from an arbitrary object a boolean value.
# Null returns Boolean.FALSE;
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.py b/wizards/com/sun/star/wizards/web/WWD_Events.py
index 2b13edf..407301e 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.py
@@ -68,6 +68,7 @@ class WWD_Events(WWD_Startup):
self.count = 0
self.bgDialog = None
self.iconsDialog = None
+ self.docPreview = None
@classmethod
def main(self, args):
commit af39fdacd7db4eccb16930de2e25c9d5d259a748
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Mon Apr 8 21:26:27 2013 +0000
Implementing the XSLT Layout templates.
Change-Id: I980850fd2c758e175e0d8cd140ade03bc8054562
diff --git a/wizards/com/sun/star/wizards/ui/event/CommonListener.py b/wizards/com/sun/star/wizards/ui/event/CommonListener.py
index b218e8c..5a9a003 100644
--- a/wizards/com/sun/star/wizards/ui/event/CommonListener.py
+++ b/wizards/com/sun/star/wizards/ui/event/CommonListener.py
@@ -102,3 +102,28 @@ class OMouseListenerProcAdapter( unohelper.Base, XMouseListener ):
def mousePressed(self, MouseEvent):
if callable( self.oProcToCall ):
self.oProcToCall(MouseEvent)
+
+from com.sun.star.io import XStreamListener
+class StreamListenerProcAdapter( unohelper.Base, XStreamListener ):
+ def __init__(self, parent, terminatedCall, startedCall, closedCall, errorCall):
+ self.parent = parent
+ self.terminatedCall = terminatedCall
+ self.startedCall = startedCall
+ self.closedCall = closedCall
+ self.errorCall = errorCall
+
+ def terminated(self):
+ if callable( self. terminatedCall):
+ self.terminatedCall(self)
+
+ def started(self):
+ if callable( self.startedCall ):
+ self.startedCall(self, self.parent)
+
+ def closed(self):
+ if callable( self.closedCall ):
+ self.closedCall(self)
+
+ def error(self, aException):
+ if callable( self.errorCall ):
+ self.errorCall(self, aException)
diff --git a/wizards/com/sun/star/wizards/web/Process.py b/wizards/com/sun/star/wizards/web/Process.py
index 8ebbb8d..2e3b3fb 100644
--- a/wizards/com/sun/star/wizards/web/Process.py
+++ b/wizards/com/sun/star/wizards/web/Process.py
@@ -21,6 +21,7 @@ from .WebWizardConst import *
from ..common.UCB import UCB
from ..common.FileAccess import FileAccess
from ..ui.event.Task import Task
+from ..ui.event.CommonListener import StreamListenerProcAdapter
from .ProcessErrors import ProcessErrors
from .ExtensionVerifier import ExtensionVerifier
from .ErrorHandler import ErrorHandler
@@ -30,12 +31,13 @@ from .data.CGExporter import CGExporter
from .data.CGLayout import CGLayout
from .data.CGPublish import CGPublish
from .data.CGSettings import CGSettings
-#from .export.Exporter import Exporter
-#from .export.AbstractExporter import AbstractExporter
-#from .export.CopyExporter import CopyExporter
from com.sun.star.io import IOException
from com.sun.star.uno import SecurityException
+from com.sun.star.beans import NamedValue
+from com.sun.star.beans import StringPair
+from com.sun.star.xml.dom.NodeType import DOCUMENT_NODE
+from com.sun.star.xml.dom.NodeType import ELEMENT_NODE
# This class is used to process a CGSession object
# and generate a site. </br>
@@ -346,29 +348,86 @@ class Process(ProcessErrors):
def generate1(self, xmsf, layout, doc, fileAccess, targetPath, task):
# a map that contains xsl templates. the keys are the xsl file names.
templates = layout.getTemplates(xmsf)
+ self.node = doc
task.advance1(True, TASK_GENERATE_XSL)
# each template generates a page.
- for key,temp in templates:
- transformer = temp.newTransformer()
-
- doc.normalize()
- task.advance(True)
+ for key in templates:
+ temp = templates[key]
# The target file name is like the xsl template filename
# without the .xsl extension.
- #fn = fileAccess.getPath(targetPath, key[:key.length() - 4])
- #f = File(fn)
- #oStream = FileOutputStream(f)
- # Due to a problem occuring when using Xalan-Java 2.6.0 and
- # Java 1.5.0, wrap f in a FileOutputStream here (otherwise, the
- # StreamResult's getSystemId would return a "file:/..." URL while
- # the Xalan code expects a "file:///..." URL):
- #transformer.transform(DOMSource(doc), StreamResult(oStream))
- #oStream.close()
+ fn = fileAccess.getPath(targetPath, key[:len(key) - 4])
+
+ print ("DEBUG !!!! generate1 - StylesheetURL: ", temp)
+ print ("DEBUG !!!! generate1 - fn: ", fn)
+
+ args = list(range(1))
+ nv = NamedValue()
+ nv.Name = "StylesheetURL"
+ nv.Value = temp
+ args[0] = nv
+ arguments = list(range(1))
+ arguments[0] = tuple(args)
+
+ tf = Process.createTransformer(xmsf, arguments)
+
+ self.node.normalize()
+ task.advance(True)
+
+ # we want to be notfied when the processing is done...
+ tf.addListener(StreamListenerProcAdapter(self,
+ self.streamTerminatedHandler,
+ self.streamStartedHandler,
+ self.streamClosedHandler,
+ self.streamErrorHandler))
+
+ # create pipe
+ pipeout = xmsf.createInstance("com.sun.star.io.Pipe")
+ pipein = pipeout
+
+ # connect sax writer to pipe
+ self.xSaxWriter = xmsf.createInstance( "com.sun.star.xml.sax.Writer" )
+ self.xSaxWriter.setOutputStream(pipeout)
+
+ # connect pipe to transformer
+ tf.setInputStream(pipein)
+
+ # connect transformer to output
+ xOutputStream = fileAccess.xInterface.openFileWrite(fn)
+ tf.setOutputStream(xOutputStream)
+
+ tf.start()
task.advance(True)
+
+ @classmethod
+ def createTransformer(self, xmsf, args):
+ print ("DEBUG !!! createTransformer -- ")
+ tf = xmsf.createInstanceWithArguments("com.sun.star.xml.xslt.XSLT2Transformer",
+ tuple(args))
+ if (tf is None):
+ # TODO: put a dialog telling about the need to install
+ # xslt2-transformer extension here
+ print ("DEBUG !!! createTransformer -- could not create XSLT 2.0 transformer")
+ tf = xmsf.createInstanceWithArguments("com.sun.star.xml.xslt.XSLTTransformer",
+ tuple(args))
+ return tf
+
+ def streamTerminatedHandler(self):
+ print ("DEBUG !!! Stream 'terminated' event handler !!!!")
+
+ def streamStartedHandler(self, parent):
+ print ("DEBUG !!! Stream 'started' event handler !!!!")
+ parent.node.serialize(parent.xSaxWriter, tuple([StringPair()]))
+
+ def streamErrorHandler(self, aException):
+ print ("DEBUG !!! Stream 'error' event handler")
+
+ def streamClosedHandler(self):
+ print ("DEBUG !!! Stream 'closed' event handler")
+
# I broke the export method to two methods
# in a time where a tree with more than one contents was planned.
# I left it that way, because it may be used in the future.
diff --git a/wizards/com/sun/star/wizards/web/data/CGLayout.py b/wizards/com/sun/star/wizards/web/data/CGLayout.py
index e05e9a7..a5f65cb 100644
--- a/wizards/com/sun/star/wizards/web/data/CGLayout.py
+++ b/wizards/com/sun/star/wizards/web/data/CGLayout.py
@@ -15,7 +15,10 @@
# except in compliance with the License. You may obtain a copy of
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
+import uno
+
from ...common.ConfigGroup import ConfigGroup
+from ...common.FileAccess import FileAccess
from ...ui.UIConsts import UIConsts
class CGLayout(ConfigGroup):
@@ -24,21 +27,27 @@ class CGLayout(ConfigGroup):
cp_Name = str()
cp_FSName = str()
+ def getSettings(self):
+ return ConfigGroup.root
+
def createTemplates(self, xmsf):
self.templates = {}
- tf = TransformerFactory.newInstance()
- workPath = getSettings().workPath
+
+ workPath = self.getSettings().workPath
fa = FileAccess(xmsf)
stylesheetPath = fa.getURL(
- getSettings().workPath, "layouts/" + self.cp_FSName)
+ self.getSettings().workPath, "layouts/" + self.cp_FSName)
+ print ("DEBUG !!! stylesheetPath: ", stylesheetPath)
files = fa.listFiles(stylesheetPath, False)
i = 0
- while i < files.length:
- if FileAccess.getExtension(files[i]).equals("xsl"):
- self.templates.put(
- FileAccess.getFilename(files[i]),
- tf.newTemplates(StreamSource (files[i])))
+ print ("DEBUG !!! files: ", len(files))
+ while i < len(files):
+ ext = FileAccess.getExtension(files[i])
+ fileName = FileAccess.getFilename(files[i])
+ if ext == "xsl":
+ self.templates[fileName] = files[i]
i += 1
+ print ("DEBUG !!! templates: ", self.templates)
def getImageUrls(self):
sRetUrls = range(1)
@@ -46,7 +55,5 @@ class CGLayout(ConfigGroup):
return [ResId, ResId + 1]
def getTemplates(self, xmsf):
- # COMMENT - TODO
- #self.createTemplates(xmsf)
- #return self.templates
- return {}
+ self.createTemplates(xmsf)
+ return self.templates
commit dba53a5abbf5e89a067e7f889b2e4548efbbc165
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Mon Apr 8 21:17:10 2013 +0000
Using the xml.dom.DocumentBuilder service instead of the "minidom".
Change-Id: Icaf2c31652e4c6bbd98353c0543c101255992093
diff --git a/wizards/com/sun/star/wizards/common/XMLHelper.py b/wizards/com/sun/star/wizards/common/XMLHelper.py
index 7ea3de3..0af198c 100644
--- a/wizards/com/sun/star/wizards/common/XMLHelper.py
+++ b/wizards/com/sun/star/wizards/common/XMLHelper.py
@@ -19,8 +19,8 @@ class XMLHelper:
@classmethod
def addElement(self, parent, name, attNames, attValues):
- doc = parent.ownerDocument
- if (doc == None):
+ doc = parent.getOwnerDocument()
+ if (doc is None):
doc = parent
e = doc.createElement(name)
for i in range(len(attNames)):
diff --git a/wizards/com/sun/star/wizards/web/data/CGSession.py b/wizards/com/sun/star/wizards/web/data/CGSession.py
index a2c32d1..87fe366 100644
--- a/wizards/com/sun/star/wizards/web/data/CGSession.py
+++ b/wizards/com/sun/star/wizards/web/data/CGSession.py
@@ -25,8 +25,6 @@ from .CGDesign import CGDesign
from .CGGeneralInfo import CGGeneralInfo
from .CGPublish import CGPublish
-from xml.dom.minidom import Document
-
class CGSession(ConfigGroup):
cp_Index = -1
@@ -39,10 +37,10 @@ class CGSession(ConfigGroup):
cp_Publishing = WebConfigSet(CGPublish)
valid = False
- def createDOM(self, parent):
- root = XMLHelper.addElement(
- parent, "session", ["name", "screen-size"],
- [self.cp_Name, self.getScreenSize()])
+ def createDOM(self, doc):
+ root = XMLHelper.addElement(doc, "session",
+ ["name", "screen-size"],
+ [self.cp_Name, self.getScreenSize()])
self.cp_GeneralInfo.createDOM(root)
self.cp_Content.createDOM(root)
return root
@@ -65,6 +63,7 @@ class CGSession(ConfigGroup):
return self.root.cp_Styles.getElement(self.cp_Design.cp_Style)
def createDOM1(self):
- doc = Document()
+ factory = self.root.xmsf.createInstance("com.sun.star.xml.dom.DocumentBuilder")
+ doc = factory.newDocument()
self.createDOM(doc)
return doc
commit 8cb51731eaf718d9e3085651504e80ff3503d0ea
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Wed Apr 3 11:29:51 2013 +0000
Fixed bugs in the FTP publisher
* Properly handling the presence of proxies.
* Fixed errors related to the FTPDialog initialization.
* Fixed errors with the FTP password and URL.
Change-Id: Ib07eb296656dda282e30a6ed1842036e449e2764
diff --git a/wizards/com/sun/star/wizards/common/UCB.py b/wizards/com/sun/star/wizards/common/UCB.py
index 4806399..0065801 100644
--- a/wizards/com/sun/star/wizards/common/UCB.py
+++ b/wizards/com/sun/star/wizards/common/UCB.py
@@ -100,6 +100,9 @@ class UCB(object):
return aArg
def executeCommand(self, xContent, aCommandName, aArgument):
+ print ("DEBUG !!! executeCommand -- xContent: ", xContent)
+ print ("DEBUG !!! executeCommand -- aCommandName: ", aCommandName)
+ print ("DEBUG !!! executeCommand -- aArgument: ", aArgument)
aCommand = Command()
aCommand.Name = aCommandName
aCommand.Handle = -1 # not available
@@ -107,7 +110,7 @@ class UCB(object):
return xContent.execute(aCommand, 0, None)
def listFiles(self, path, verifier):
- print ("DEBUG !!! listFiles - path: ", path)
+ print ("DEBUG !!! listFiles -- path: ", path)
xContent = self.getContent(path)
aArg = OpenCommandArgument2()
@@ -121,8 +124,10 @@ class UCB(object):
aArg.Properties[0].Handle = -1
xSet = self.executeCommand(xContent, "open", aArg)
+ print ("DEBUG !!! listFiles -- xSet: ", xSet)
xResultSet = xSet.getStaticResultSet()
+ print ("DEBUG !!! listFiles -- xResultSet: ", xResultSet)
files = []
@@ -130,11 +135,16 @@ class UCB(object):
# obtain XContentAccess interface for child content access and XRow for properties
while (True):
# Obtain URL of child.
- aId = xResultSet.queryContentIdentifierString()
- # First column: Title (column numbers are 1-based!)
- #aTitle = xResultSet.getString(1)
- aTitle = FileAccess.getFilename(aId)
- if (len(aTitle) == 0 and xResultSet.wasNull()):
+ if (hasattr(xResultSet, "queryContentIdentifierString")):
+ aId = xResultSet.queryContentIdentifierString()
+ aTitle = FileAccess.getFilename(aId)
+ elif (hasattr(xResultSet, "getString")):
+ # First column: Title (column numbers are 1-based!)
+ aTitle = xResultSet.getString(1)
+ else:
+ aTitle = ""
+ #if (len(aTitle) == 0 and xResultSet.wasNull()):
+ if (len(aTitle) == 0):
# ignore
pass
else:
@@ -149,12 +159,11 @@ class UCB(object):
return files
def getContentProperty(self, content, propName, classType):
- pv = []
- pv[0] = Property()
+ pv = [Property()]
pv[0].Name = propName
pv[0].Handle = -1
- row = self.executeCommand(content, "getPropertyValues", pv)
+ row = self.executeCommand(content, "getPropertyValues", tuple(pv))
if (isinstance(classType, str)):
return row.getString(1)
elif (isinstance(classType, bool)):
diff --git a/wizards/com/sun/star/wizards/web/FTPDialog.py b/wizards/com/sun/star/wizards/web/FTPDialog.py
index 995f747..d3c1ddb 100644
--- a/wizards/com/sun/star/wizards/web/FTPDialog.py
+++ b/wizards/com/sun/star/wizards/web/FTPDialog.py
@@ -31,12 +31,12 @@ from ..common.UCB import UCB
from .data.CGPublish import CGPublish
from .data.CGSettings import CGSettings
-#from com.sun.star.ucb import AuthenticationRequest
-#from com.sun.star.ucb import InteractiveAugmentedIOException
-#from com.sun.star.ucb import InteractiveNetworkConnectException
-#from com.sun.star.ucb import InteractiveNetworkResolveNameException
-#from com.sun.star.ucb import OpenCommandArgument2
-#from com.sun.star.ucb import OpenMode
+from com.sun.star.ucb import AuthenticationRequest
+from com.sun.star.ucb import InteractiveAugmentedIOException
+from com.sun.star.ucb import InteractiveNetworkConnectException
+from com.sun.star.ucb import InteractiveNetworkResolveNameException
+from com.sun.star.ucb import OpenCommandArgument2
+from com.sun.star.ucb.OpenMode import FOLDERS
#PushButtonType_OK_value = uno.getConstantByName( "com.sun.star.awt.PushButtonType.OK" )
#PushButtonType_CANCEL_value = uno.getConstantByName( "com.sun.star.awt.PushButtonType.CANCEL" )
@@ -90,44 +90,6 @@ class FTPDialog(UnoDialog2, UIConsts):
ICON_UNKNOWN = "ftpunknown.gif"
# The icon url for an icon representing the "connecting" state.
ICON_CONNECTING = "ftpconnecting.gif" # GUI Components as Class members.
- # Fixed Line
- ln1 = None
- lblFTPAddress = None
- txtHost = None
- lblUsername = None
- txtUsername = None
- lblPassword = None
- txtPassword = None
- # Fixed Line
- ln2 = None
- btnTestConnection = None
- imgStatus = None
- lblStatus = None
- # Fixed Line
- ln3 = None
- txtDir = None
- btnDir = None
- btnOK = None
- btnCancel = None
- btnHelp = None
- # Font Descriptors as Class members.
-
- # Resources Object
- resources = None
- dataAware = []
- username = ""
- password = ""
-
- #The ftp host name
- host = ""
- #The ftp directory.
- folder = ""
- #the ftp publish object which contains the
- #data for this dialog.
- publish = None
- ucb = None
- #used for the status images url.
- imagesDirectory = ""
# constructor.
# constructs the UI.
@@ -136,13 +98,21 @@ class FTPDialog(UnoDialog2, UIConsts):
# for this dialog
# @throws Exception
def __init__(self, xmsf, p):
+
+ print ("DEBUG !!! FTPDialog.__init__ -- URL: ", p.cp_URL)
+
super(FTPDialog, self).__init__(xmsf)
self.publish = p
- #templateDir = p.root.soTemplateDir
- templateDir = ""
+ templateDir = p.root.soTemplateDir
+ print ("DEBUG !!! FTPDialog.__init__ -- templateDir: ", templateDir)
self.imagesDirectory = FileAccess.connectURLs(templateDir, "../wizard/bitmap/")
+ self.dataAware = []
+ self.host = ""
+ self.username = ""
+ self.password = ""
+
# Load Resources
self.resources = FTPDialogResources(xmsf)
self.ucb = UCB(xmsf)
@@ -177,14 +147,18 @@ class FTPDialog(UnoDialog2, UIConsts):
# Add controls to dialog.
def build(self):
+ print ("DEBUG !!! FTPDialog.build -- ")
PROPNAMES_LABEL = (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH)
PROPNAMES_BUTTON = (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH)
PROPNAMES_BUTTON2 = (PropertyNames.PROPERTY_HEIGHT, PropertyNames.PROPERTY_HELPURL, PropertyNames.PROPERTY_LABEL, PropertyNames.PROPERTY_NAME, PropertyNames.PROPERTY_POSITION_X, PropertyNames.PROPERTY_POSITION_Y, "PushButtonType", PropertyNames.PROPERTY_TABINDEX, PropertyNames.PROPERTY_WIDTH)
- ln1 = self.insertFixedLine("ln1",
+ print ("DEBUG !!! FTPDialog.build -- resln1_value: ", self.resources.resln1_value)
+ print ("DEBUG !!! FTPDialog.build -- reslblFTPAddress_value: ", self.resources.reslblFTPAddress_value)
+
+ self.ln1 = self.insertFixedLine("ln1",
PROPNAMES_LABEL,
(8, self.resources.resln1_value, "ln1", 6, 6, 0, 210))
- lblFTPAddress = self.insertLabel("lblFTPAddress",
+ self.lblFTPAddress = self.insertLabel("lblFTPAddress",
PROPNAMES_LABEL,
(8, self.resources.reslblFTPAddress_value, "lblFTPAddress", 12, 20, 1, 95))
self.txtHost = self.insertTextField("txtHost", "disconnect",
@@ -236,6 +210,7 @@ class FTPDialog(UnoDialog2, UIConsts):
# Make hostname, username and password text fields data aware.
def configure(self):
+ print ("DEBUG !!! FTPDialog.configure -- ")
self.dataAware.append(UnoDataAware.attachEditControl(self, "host", self.txtHost, True))
self.dataAware.append(UnoDataAware.attachEditControl(self, "username", self.txtUsername, True))
self.dataAware.append(UnoDataAware.attachEditControl(self, "password", self.txtPassword, True))
@@ -247,6 +222,7 @@ class FTPDialog(UnoDialog2, UIConsts):
# @return 0 for cancel, 1 for ok.
# @throws Exception - well, if something goes wrong...
def execute(self, parent):
+ print ("DEBUG !!! FTPDialog.execute -- ")
self.host = self.extractHost(self.publish.cp_URL)
self.username = "" if (self.publish.cp_Username == None) else self.publish.cp_Username
self.password = "" if (self.publish.password == None) else self.publish.password
@@ -258,7 +234,7 @@ class FTPDialog(UnoDialog2, UIConsts):
result = self.executeDialogFromParent(parent)
# change the CGPublish properties
if (result == 1):
- self.publish.cp_URL = "ftp://" + self.host() + self.getDir()
+ self.publish.cp_URL = "ftp://" + self.getHost() + self.getDir()
self.publish.cp_Username = self.username
self.publish.password = self.password
@@ -278,12 +254,12 @@ class FTPDialog(UnoDialog2, UIConsts):
def extractHost(self, ftpUrl):
if (ftpUrl is None or len(ftpUrl) < 6):
return ""
- url = ftpUrl.substring(6)
- i = url.indexOf("/")
+ url = ftpUrl[6:]
+ i = url.find("/")
if (i == -1):
return url
else:
- return url.substring(0, i)
+ return url[:i]
# used to get data from the CGPublish object.
# @param ftpUrl
@@ -291,12 +267,12 @@ class FTPDialog(UnoDialog2, UIConsts):
def extractDir(self, ftpUrl):
if (ftpUrl is None or len(ftpUrl) < 6):
return "/"
- url = ftpUrl.substring(6)
- i = url.indexOf("/")
+ url = ftpUrl[6:]
+ i = url.find("/")
if (i == -1):
return "/"
else:
- return url.substring(i)
+ return url[i:]
# enables/disables the "test" button
# according to the status of the hostname, username, password text fields.
@@ -311,27 +287,28 @@ class FTPDialog(UnoDialog2, UIConsts):
# @return the ftp url with username and password,
# but without the directory portion.
- def getAcountUrl(self):
- return "ftp://" + self.username + ":" + self.password + "@" + self.host()
+ def getAccountUrl(self):
+ return "ftp://" + self.username + ":" + self.password + "@" + self.getHost()
# return the host name without the "ftp://"
# @return
- def host(self):
- return self.host(self.host)
+ def getHost(self):
+ return self.getHost1(self.host)
@classmethod
- def host1(self, s):
- return s.substring(6) if s.startswith("ftp://") else s
+ def getHost1(self, s):
+ return s[6:] if s.startswith("ftp://") else s
# @return the full ftp url including username, password and directory portion.
def getFullUrl(self):
- return self.getAcountUrl() + self.folder
+ return self.getAccountUrl() + self.folder
# First I try to connect to the full url, including directory.
# If an InteractiveAugmentedIOException accures, I try again,
# this time without the dir spec. If this works, I change the dir
# to "/", if not I say to the user its his problem...
def connect(self):
+ print ("DEBUG !!! FTPDialog.connect -- ")
self.setEnabled(self.btnTestConnection, False)
self.setLabel(self.STATUS_CONNECTING)
success = False
@@ -340,7 +317,7 @@ class FTPDialog(UnoDialog2, UIConsts):
success = True
except InteractiveAugmentedIOException as iaioex:
try:
- self.connect1(self.getAcountUrl())
+ self.connect1(self.getAccountUrl())
self.setDir("/")
success = True
except Exception:
@@ -372,20 +349,22 @@ class FTPDialog(UnoDialog2, UIConsts):
# @param acountUrl
# @throws Exception
def connect1(self, acountUrl):
- content = self.ucb.getContent(self.acountUrl)
+ content = self.ucb.getContent(self.getAccountUrl())
+ print ("DEBUG !!! connect1 -- content: ", content)
# list files in the content.
- l = self.ucb.listFiles(self.acountUrl, None)
+ l = self.ucb.listFiles(self.getAccountUrl(), None)
+ print ("DEBUG !!! connect1 -- l: ", l)
# open the content
aArg = OpenCommandArgument2()
- aArg.Mode = OpenMode.FOLDERS # FOLDER, DOCUMENTS -> simple filter
+ aArg.Mode = FOLDERS # FOLDER, DOCUMENTS -> simple filter
aArg.Priority = 32768 # Ignored by most implementations
self.ucb.executeCommand(content, "open", aArg)
# get the title property of the content.
- obj = self.ucb.getContentProperty(content, PropertyNames.PROPERTY_TITLE, str())
+ #obj = self.ucb.getContentProperty(content, "Title", str)
# changes the ftp subdirectory, in both
# the UI and the data.
@@ -459,7 +438,7 @@ class FTPDialog(UnoDialog2, UIConsts):
# if the user chose a local directory,
# sI do not accept it.
if (newUrl.startswith("ftp://")):
- self.setDir(extractDir(newUrl))
+ self.setDir(self.extractDir(newUrl))
else:
AbstractErrorHandler.showMessage(self.xMSF, self.xUnoDialog.getPeer(), self.resources.resIllegalFolder, ErrorHandler.ERROR_PROCESS_FATAL)
@@ -468,5 +447,4 @@ class FTPDialog(UnoDialog2, UIConsts):
# @return the full ftp url with username password and everything one needs.
@classmethod
def getFullURL1(self, p):
- #return "ftp://" + p.Username + ":" + p.password + "@" + self.host(p.URL)
- return "ftp://" + p.cp_Username + ":" + "" + "@" + self.host1(p.cp_URL)
+ return "ftp://" + p.cp_Username + ":" + p.password + "@" + self.getHost1(p.cp_URL)
diff --git a/wizards/com/sun/star/wizards/web/FTPDialogResources.py b/wizards/com/sun/star/wizards/web/FTPDialogResources.py
index 1190fe0..8785d08 100644
--- a/wizards/com/sun/star/wizards/web/FTPDialogResources.py
+++ b/wizards/com/sun/star/wizards/web/FTPDialogResources.py
@@ -23,57 +23,33 @@ class FTPDialogResources(Resource):
MODULE_NAME = "dbw"
RID_FTPDIALOG_START = 4200
RID_COMMON_START = 500
- resFTPDialog_title = ""
- reslblUsername_value = ""
- reslblPassword_value = ""
- resbtnConnect_value = ""
- resbtnOK_value = ""
- resbtnHelp_value = ""
- resbtnCancel_value = ""
- resln1_value = ""
- reslblFTPAddress_value = ""
- resln2_value = ""
- resln3_value = ""
- esln3_value = ""
- restxtDir_value = ""
- resbtnDir_value = ""
- resFTPDisconnected = ""
- resFTPConnected = ""
- resFTPUserPwdWrong = ""
- resFTPServerNotFound = ""
- resFTPRights = ""
- resFTPHostUnreachable = ""
- resFTPUnknownError = ""
- resFTPDirectory = ""
- resIllegalFolder = ""
- resConnecting = ""
def __init__(self, xmsf):
super(FTPDialogResources, self).__init__(xmsf, self.MODULE_NAME)
# Delete the String, uncomment the getResText method
- resFTPDialog_title = self.getResText(self.RID_FTPDIALOG_START + 0)
- reslblUsername_value = self.getResText(self.RID_FTPDIALOG_START + 1)
- reslblPassword_value = self.getResText(self.RID_FTPDIALOG_START + 2)
- resbtnConnect_value = self.getResText(self.RID_FTPDIALOG_START + 3)
- resln1_value = self.getResText(self.RID_FTPDIALOG_START + 4)
- reslblFTPAddress_value = self.getResText(self.RID_FTPDIALOG_START + 5)
- resln2_value = self.getResText(self.RID_FTPDIALOG_START + 6)
- resln3_value = self.getResText(self.RID_FTPDIALOG_START + 7)
- resbtnDir_value = self.getResText(self.RID_FTPDIALOG_START + 8)
- resFTPDisconnected = self.getResText(self.RID_FTPDIALOG_START + 9)
- resFTPConnected = self.getResText(self.RID_FTPDIALOG_START + 10)
- resFTPUserPwdWrong = self.getResText(self.RID_FTPDIALOG_START + 11)
- resFTPServerNotFound = self.getResText(self.RID_FTPDIALOG_START + 12)
- resFTPRights = self.getResText(self.RID_FTPDIALOG_START + 13)
- resFTPHostUnreachable = self.getResText(self.RID_FTPDIALOG_START + 14)
- resFTPUnknownError = self.getResText(self.RID_FTPDIALOG_START + 15)
- resFTPDirectory = self.getResText(self.RID_FTPDIALOG_START + 16)
- resIllegalFolder = self.getResText(self.RID_FTPDIALOG_START + 17)
- resConnecting = self.getResText(self.RID_FTPDIALOG_START + 18)
+ self.resFTPDialog_title = self.getResText(self.RID_FTPDIALOG_START + 0)
+ self.reslblUsername_value = self.getResText(self.RID_FTPDIALOG_START + 1)
+ self.reslblPassword_value = self.getResText(self.RID_FTPDIALOG_START + 2)
+ self.resbtnConnect_value = self.getResText(self.RID_FTPDIALOG_START + 3)
+ self.resln1_value = self.getResText(self.RID_FTPDIALOG_START + 4)
+ self.reslblFTPAddress_value = self.getResText(self.RID_FTPDIALOG_START + 5)
+ self.resln2_value = self.getResText(self.RID_FTPDIALOG_START + 6)
+ self.resln3_value = self.getResText(self.RID_FTPDIALOG_START + 7)
+ self.resbtnDir_value = self.getResText(self.RID_FTPDIALOG_START + 8)
+ self.resFTPDisconnected = self.getResText(self.RID_FTPDIALOG_START + 9)
+ self.resFTPConnected = self.getResText(self.RID_FTPDIALOG_START + 10)
+ self.resFTPUserPwdWrong = self.getResText(self.RID_FTPDIALOG_START + 11)
+ self.resFTPServerNotFound = self.getResText(self.RID_FTPDIALOG_START + 12)
+ self.resFTPRights = self.getResText(self.RID_FTPDIALOG_START + 13)
+ self.resFTPHostUnreachable = self.getResText(self.RID_FTPDIALOG_START + 14)
+ self.resFTPUnknownError = self.getResText(self.RID_FTPDIALOG_START + 15)
+ self.resFTPDirectory = self.getResText(self.RID_FTPDIALOG_START + 16)
+ self.resIllegalFolder = self.getResText(self.RID_FTPDIALOG_START + 17)
+ self.resConnecting = self.getResText(self.RID_FTPDIALOG_START + 18)
- resbtnCancel_value = self.getResText(self.RID_COMMON_START + 11)
- resbtnOK_value = self.getResText(self.RID_COMMON_START + 18)
- resbtnHelp_value = self.getResText(self.RID_COMMON_START + 15)
+ self.resbtnCancel_value = self.getResText(self.RID_COMMON_START + 11)
+ self.resbtnOK_value = self.getResText(self.RID_COMMON_START + 18)
+ self.resbtnHelp_value = self.getResText(self.RID_COMMON_START + 15)
- restxtDir_value = "/"
+ self.restxtDir_value = "/"
diff --git a/wizards/com/sun/star/wizards/web/ProcessErrorHandler.py b/wizards/com/sun/star/wizards/web/ProcessErrorHandler.py
index 6b6c8bb..84201d3 100644
--- a/wizards/com/sun/star/wizards/web/ProcessErrorHandler.py
+++ b/wizards/com/sun/star/wizards/web/ProcessErrorHandler.py
@@ -52,7 +52,7 @@ class ProcessErrorHandler(AbstractErrorHandler, ProcessErrors):
elif ix == ProcessErrors.ERROR_GENERATE_COPY:
return self.resources.resErrTOCMedia
elif ix == ProcessErrors.ERROR_PUBLISH:
- return self.resources.resErrPublish.replace(self.URL, obj.URL)
+ return self.resources.resErrPublish.replace(self.URL, obj.cp_URL)
elif (ix == ProcessErrors.ERROR_EXPORT or ix == ProcessErrors.ERROR_PUBLISH_MEDIA):
return self.resources.resErrPublishMedia
elif ix == ProcessErrors.ERROR_CLEANUP:
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.py b/wizards/com/sun/star/wizards/web/WWD_Events.py
index 9ca6772..2b13edf 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.py
@@ -798,9 +798,8 @@ class WWD_Events(WWD_Startup):
'''
p = self.getPublisher(FTP_PUBLISHER)
# if ftp is checked, and no proxies are set, and password is empty...
- password = getattr(p, "password", "")
print ("FTP checked: ", p.cp_Publish)
- if p.cp_Publish and not proxies and (password is None or password == ""):
+ if p.cp_Publish and not self.proxies and (p.password is None or p.password == ""):
if self.showFTPDialog(p):
self.updatePublishUI(2)
#now continue...
@@ -852,10 +851,10 @@ class WWD_Events(WWD_Startup):
I return the value of the ftp publisher cp_Publish
property to its original value...
'''
+ if self.proxies:
+ p.cp_Publish = self.ftp
- p.cp_Publish = self.ftp
#if the "save settings" checkbox is on...
-
if self.isSaveSession():
# if canceled by user
if not self.saveSession():
diff --git a/wizards/com/sun/star/wizards/web/WWD_General.py b/wizards/com/sun/star/wizards/web/WWD_General.py
index 7dd6cf6c..2778194 100644
--- a/wizards/com/sun/star/wizards/web/WWD_General.py
+++ b/wizards/com/sun/star/wizards/web/WWD_General.py
@@ -40,16 +40,16 @@ This class implements general methods, used by different sub-classes
class WWD_General(WebWizardDialog):
- settings = None
- folderDialog = None
- ftpDialog = None
- zipDialog = None
- docAddDialog = None
- fileAccess = None
-
def __init__(self, xmsf):
super(WWD_General, self).__init__(xmsf)
self.xStringSubstitution = SystemDialog.createStringSubstitution(xmsf)
+ self.settings = None
+ self.folderDialog = None
+ self.ftpDialog = None
+ self.zipDialog = None
+ self.docAddDialog = None
+ self.fileAccess = None
+ self.proxies = None
def getStatusDialog(self):
statusDialog = StatusDialog(
diff --git a/wizards/com/sun/star/wizards/web/WWD_Startup.py b/wizards/com/sun/star/wizards/web/WWD_Startup.py
index 5bea662..7b7891d 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Startup.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Startup.py
@@ -107,7 +107,7 @@ class WWD_Startup(WWD_General):
def __init__(self, xmsf):
super(WWD_Startup, self).__init__(xmsf)
self.selectedDoc = []
- self.ftp = False
+ self.ftp = True
self.sda = None
self.docAware = []
self.designAware = []
@@ -305,7 +305,7 @@ class WWD_Startup(WWD_General):
#self.settings.cp_Styles.sort(None)
self.prepareSessionLists()
if self.proxies:
- self.__ftp = self.getPublisher(FTP_PUBLISHER).cp_Publish
+ self.ftp = self.getPublisher(FTP_PUBLISHER).cp_Publish
self.getPublisher(FTP_PUBLISHER).cp_Publish = False
except Exception:
diff --git a/wizards/com/sun/star/wizards/web/data/CGPublish.py b/wizards/com/sun/star/wizards/web/data/CGPublish.py
index 6a5c92f..e9db325 100644
--- a/wizards/com/sun/star/wizards/web/data/CGPublish.py
+++ b/wizards/com/sun/star/wizards/web/data/CGPublish.py
@@ -46,8 +46,3 @@ class CGPublish(ConfigGroup):
except Exception as e:
e.printStackTrace()
return ""
-
- def ftpURL(self):
- pass
- #COMMENTED
- #return "ftp://" + self.cp_Username + ((self.password != None and self.password.length() > 0) ? ":" + self.password : "") + "@" + self.cp_URL.substring(7)
commit 907373e6f13d7eee8b08247f7a9d206251021d8a
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Tue Apr 2 11:31:39 2013 +0000
Fixed bug in the zip publisher url.
* Enable again the "delete" operation in the FileAccess class.
Change-Id: I3e3fe9d743433bb30126b1b4d21bec0fa25db825
diff --git a/wizards/com/sun/star/wizards/common/FileAccess.py b/wizards/com/sun/star/wizards/common/FileAccess.py
index 4a2b2cc..74e5fcf 100644
--- a/wizards/com/sun/star/wizards/common/FileAccess.py
+++ b/wizards/com/sun/star/wizards/common/FileAccess.py
@@ -249,8 +249,9 @@ class FileAccess(object):
return None
def delete(self, filename):
+ print ("DEBUG !!! FileAccess.delete -- filename: ", filename)
try:
- #self.xInterface.kill(filename)
+ self.xInterface.kill(filename)
return True
except Exception:
traceback.print_exc()
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.py b/wizards/com/sun/star/wizards/web/WWD_Events.py
index 472890a..9ca6772 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.py
@@ -529,9 +529,9 @@ class WWD_Events(WWD_Startup):
result = True
# 1. check local publish target
p = self.getPublisher(LOCAL_PUBLISHER)
+ fileAccess = self.getFileAccess()
# should publish ?
if (p.cp_Publish):
- fileAccess = self.getFileAccess()
path = fileAccess.getPath(p.url, None)
# target exists?
if fileAccess.exists(p.url, False):
@@ -824,17 +824,22 @@ class WWD_Events(WWD_Startup):
zip publisher is using another url form...
'''
p = self.getPublisher(ZIP_PUBLISHER)
+ print ("DEBUG !!! finishWizard2 - zip URL: ", p.cp_URL)
+ #remove the 'file://' prefix
+ url1 = p.cp_URL.replace("file://", "")
#replace the '%' with '%25'
- url1 = p.cp_URL.replace("%25", "%")
+ url1 = url1.replace("%", "%25")
#replace all '/' with '%2F'
- url1 = url1.replace("%F", "/")
- p.url = "vnd.sun.star.zip://" + url1 + "/";
+ url1 = url1.replace("/", "%2F")
+
+ p.url = "vnd.sun.star.zip://" + url1 + "/"
+ print ("DEBUG !!! finishWizard2 - zip url: ", p.url)
'''
and now ftp...
'''
p = self.getPublisher(FTP_PUBLISHER)
- p.url = FTPDialog.getFullURL1(p);
+ p.url = FTPDialog.getFullURL1(p)
''' first we check the publishing targets. If they exist we warn and
ask what to do. a False here means the user said "cancel"
commit a882f0f8fb9a884c2a83cb24197daa8bb2902e0d
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Tue Apr 2 09:57:59 2013 +0000
Fixed bug in the UCB "listFiles" method.
For some reason, the xRow interface is not retrieving the title
of the file, so I had to get it directly from the content Id.
Change-Id: Ib3e07d0287323a045c3294b967e7d53856d3bb91
diff --git a/wizards/com/sun/star/wizards/common/UCB.py b/wizards/com/sun/star/wizards/common/UCB.py
index a7c3ff1..4806399 100644
--- a/wizards/com/sun/star/wizards/common/UCB.py
+++ b/wizards/com/sun/star/wizards/common/UCB.py
@@ -30,13 +30,6 @@ from com.sun.star.ucb.NameClash import OVERWRITE
from com.sun.star.ucb import OpenCommandArgument2
from com.sun.star.ucb.OpenMode import ALL
from com.sun.star.ucb.TransferCommandOperation import COPY
-#from com.sun.star.ucb import XCommandProcessor
-#from com.sun.star.ucb import XContentAccess
-#from com.sun.star.ucb import XContentIdentifier
-from com.sun.star.ucb import XContentIdentifierFactory
-from com.sun.star.ucb import XContentProvider
-#from com.sun.star.ucb import XDynamicResultSet
-#from com.sun.star.uno import UnoRuntime
# This class is used to copy the content of a folder to
@@ -69,14 +62,15 @@ class UCB(object):
self.copy1(sourceDir,targetDir, None)
def copy1(self, sourceDir, targetDir, verifier):
+ print ("DEBUG !!! copy1 - sourcedir, targetDir, verifier :", sourceDir, targetDir, verifier)
files = self.listFiles(sourceDir, verifier)
+ print ("DEBUG !!! copy1 - num files: ", len(files))
for i in range(len(files)):
- self.copy2(sourceDir, files[i], targetDir)
+ self.copy3(sourceDir, files[i], targetDir)
def copy2(self, sourceDir, filename, targetDir, targetName):
- #sourceDir = "file:///home/javi/intel-libreoffice/install/share/config/" + sourceDir[7:]
- print ("WARNING !!! copy2 - sourcedir, filenName :", sourceDir, filename)
- print ("WARNING !!! copy2 - targetDir, targetName :", targetDir, targetName)
+ print ("DEBUG !!! copy2 - sourcedir, filenName :", sourceDir, filename)
+ print ("DEBUG !!! copy2 - targetDir, targetName :", targetDir, targetName)
if (not self.fa.exists(targetDir, True)):
self.fa.xInterface.createFolder(targetDir)
self.executeCommand(self.ucb, "globalTransfer", self.copyArg(sourceDir, filename, targetDir, targetName))
@@ -113,6 +107,7 @@ class UCB(object):
return xContent.execute(aCommand, 0, None)
def listFiles(self, path, verifier):
+ print ("DEBUG !!! listFiles - path: ", path)
xContent = self.getContent(path)
aArg = OpenCommandArgument2()
@@ -137,7 +132,8 @@ class UCB(object):
# Obtain URL of child.
aId = xResultSet.queryContentIdentifierString()
# First column: Title (column numbers are 1-based!)
- aTitle = xResultSet.getString(1)
+ #aTitle = xResultSet.getString(1)
+ aTitle = FileAccess.getFilename(aId)
if (len(aTitle) == 0 and xResultSet.wasNull()):
# ignore
pass
@@ -172,16 +168,9 @@ class UCB(object):
def getContent(self, path):
try:
- print ("WARNING !!! getContent - path: ", path)
- #if (path.startswith("/")):
- # s = "file://" + path
- #elif (path.startswith("file://")):
- # s = path
- #else:
- # s = "file:///home/javi/intel-libreoffice/install/share/config/" + path[7:]
- #ident = self.ucb.createContentIdentifier(s)
+ print ("DEBUG !!! getContent - path: ", path)
ident = self.ucb.createContentIdentifier(path)
- print ("WARNING !!! getContent - ident: ", ident.getContentIdentifier())
+ print ("DEBUG !!! getContent - ident: ", ident.getContentIdentifier())
return self.ucb.queryContent(ident)
except Exception:
traceback.print_exc()
diff --git a/wizards/com/sun/star/wizards/web/ExtensionVerifier.py b/wizards/com/sun/star/wizards/web/ExtensionVerifier.py
index 6f5fee0..524027b 100644
--- a/wizards/com/sun/star/wizards/web/ExtensionVerifier.py
+++ b/wizards/com/sun/star/wizards/web/ExtensionVerifier.py
@@ -33,6 +33,6 @@ class ExtensionVerifier(UCB.Verifier):
# a String which does not end with the
# given extension.
def verify(self, obj):
- if (isinstance(obj, str())):
- return not obj.endsWith(extension)
+ if (isinstance(obj, str)):
+ return not obj.endswith(self.extension)
return False
commit 941e794968482ad5b3ecc1573bbc054434c132e7
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Mon Apr 1 17:39:23 2013 +0000
Fixed bug in the document list box.
- Added a Renderer private class in the ListModelBinder, in order to print the file name.
- The intervalAdded wasn't triggering the insert, so using a while loop instead of range.
- Defined a new method getBoolean to determine when the controls are enabled.
- Defined a new metho getSelectedDoc, to be used via uno.invoke (getter/setter).
- Catching the specific Exceptions in the WebConfigSet.add method.
Change-Id: I2576b4e441386cd0456aa4d2079f8fa62ff4ccbd
diff --git a/wizards/com/sun/star/wizards/ui/event/DataAware.py b/wizards/com/sun/star/wizards/ui/event/DataAware.py
index c3b3760..d52fb3a 100644
--- a/wizards/com/sun/star/wizards/ui/event/DataAware.py
+++ b/wizards/com/sun/star/wizards/ui/event/DataAware.py
@@ -124,9 +124,9 @@ class DataAware(object):
ui = self.getFromUI()
print ("DEBUG !!! DataAware.updateData -- ui: ", ui)
if data is not ui:
- if isinstance(ui,tuple):
+ #if isinstance(ui,tuple):
#Selected Element listbox
- ui = ui[0]
+ # ui = ui[0]
if useUno:
uno.invoke(self._dataObject, "set" + self._field, (ui,))
else:
diff --git a/wizards/com/sun/star/wizards/ui/event/ListModelBinder.py b/wizards/com/sun/star/wizards/ui/event/ListModelBinder.py
index 1f6f001..e0415c1 100644
--- a/wizards/com/sun/star/wizards/ui/event/ListModelBinder.py
+++ b/wizards/com/sun/star/wizards/ui/event/ListModelBinder.py
@@ -16,6 +16,8 @@
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
+from abc import abstractmethod
+
from .ListDataListener import ListDataListener
class ListModelBinder(ListDataListener):
@@ -25,6 +27,7 @@ class ListModelBinder(ListDataListener):
self.unoListModel = unoListBox.Model
self.listModel = None
self.setListModel(listModel_)
+ self.renderer = self.Renderer()
def setListModel(self, newListModel):
if self.listModel is not None:
@@ -53,9 +56,9 @@ class ListModelBinder(ListDataListener):
self.unoList.addItem(self.getItemString(i), i)
def getItemString(self, i):
- return self.getItemString(self.listModel.getElementAt(i))
+ return self.getItemString1(self.listModel.getElementAt(i))
- def getItemString(self, item):
+ def getItemString1(self, item):
return self.renderer.render(item)
def getSelectedItems(self):
@@ -66,13 +69,26 @@ class ListModelBinder(ListDataListener):
def intervalAdded(self, lde):
print ("DEBUG !!! intervalAdded -- lde: ", lde)
- for i in range(lde.getIndex0(), lde.getIndex1()):
+ i = lde.getIndex0()
+ while (i <= lde.getIndex1()):
self.insert(i)
+ i += 1
def intervalRemoved(self, lde):
print ("DEBUG !!! intervalRemoved -- lde: ", lde)
self.remove(lde.getIndex0(), lde.getIndex1())
+ class Renderer:
+
+ @abstractmethod
+ def render(self, item):
+ if (item is None):
+ return ""
+ elif (isinstance(item, int)):
+ return str(item)
+ else:
+ return item.toString()
+
@classmethod
def fillList(self, xlist, items, renderer):
xlist.Model.StringItemList = ()
diff --git a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
index b739dd4..8ce341a 100644
--- a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
+++ b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
@@ -42,8 +42,9 @@ class UnoDataAware(DataAware):
self.isShort = isShort
def enableControls(self, value):
+ print ("DEBUG !!! enableControls -- value: ", value)
for i in self.disableObjects:
- i.Model.Enabled = bool(value)
+ i.Model.Enabled = self.getBoolean(value)
def setToUI(self, value):
if (isinstance(value, list)):
@@ -52,13 +53,34 @@ class UnoDataAware(DataAware):
value = tuple(value)
elif self.isShort:
print ("DEBUG !!! value is sort: ", value)
- value = uno.Any("[]short", (value,))
+ value = uno.Any("[]short", value)
if (hasattr(self.unoModel, self.unoPropName)):
setattr(self.unoModel, self.unoPropName, value)
else:
print ("DEBUG !!! UnoDataAware.setToUI -- dataObject hasn't the attribute, su using the 'setter' method.")
uno.invoke(self.unoModel, "set" + self.unoPropName, (ui,))
+ # Try to get from an arbitrary object a boolean value.
+ # Null returns Boolean.FALSE;
+ # A Boolean object returns itself.
+ # An Array returns true if it not empty.
+ # An Empty String returns Boolean.FALSE.
+ # everything else returns a Boolean.TRUE.
+ # @param value
+ # @return
+ def getBoolean(self, value):
+ if (value is None):
+ return False
+ elif (isinstance(value, bool)):
+ return bool(value)
+ elif (isinstance(value, list)):
+ return True if (len(value) is not 0) else False
+ elif (value is ""):
+ return False
+ elif (isinstance(value, int)):
+ return True if (value == 0) else False
+ else:
+ return True
def getFromUI(self):
return getattr(self.unoModel, self.unoPropName)
diff --git a/wizards/com/sun/star/wizards/web/WWD_Events.py b/wizards/com/sun/star/wizards/web/WWD_Events.py
index 309c11e..472890a 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Events.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Events.py
@@ -210,6 +210,15 @@ class WWD_Events(WWD_Startup):
'''
'''
+ A method used by the UnoDataAware attached
+ to the Documents listbox.
+ See the concept of the DataAware objects to undestand
+ why it is there...
+ '''
+ def getSelectedDoc(self):
+ return self.selectedDoc
+
+ '''
when the user clicks another document
in the listbox, this method is called,
and couses the display in
@@ -230,7 +239,7 @@ class WWD_Events(WWD_Startup):
print ("DEBUG !!! setSelectedDoc -- oddDoc is None.")
self.fillExportList(self.settings.getExporters(doc.appType))
- self.selectedDoc = s
+ self.selectedDoc = list(s)
if (doc is not None):
self.mountList(doc, self.docAware)
self.disableDocUpDown()
diff --git a/wizards/com/sun/star/wizards/web/WWD_Startup.py b/wizards/com/sun/star/wizards/web/WWD_Startup.py
index 3ca83d99..5bea662 100644
--- a/wizards/com/sun/star/wizards/web/WWD_Startup.py
+++ b/wizards/com/sun/star/wizards/web/WWD_Startup.py
@@ -379,7 +379,7 @@ class WWD_Startup(WWD_General):
#page 2 : document properties
self.docListDA = UnoDataAware.attachListBox(
- self, "selectedDoc", self.lstDocuments, False)
+ self, "SelectedDoc", self.lstDocuments, False)
self.docListDA.disableObjects = \
[self.lnDocsInfo, self.btnRemoveDoc, self.lblDocTitle,
self.txtDocTitle, self.lblDocInfo, self.txtDocInfo,
diff --git a/wizards/com/sun/star/wizards/web/WebConfigSet.py b/wizards/com/sun/star/wizards/web/WebConfigSet.py
index f9d704d..4ab5ea3 100644
--- a/wizards/com/sun/star/wizards/web/WebConfigSet.py
+++ b/wizards/com/sun/star/wizards/web/WebConfigSet.py
@@ -54,21 +54,20 @@ class WebConfigSet(ConfigGroup):
print ("DEBUG !!! WebConfigSet.add -- name IS an integer.")
self.childrenList.insert(i, o)
self.fireListDataListenerIntervalAdded(i, i);
- except Exception:
+ except ValueError:
print ("DEBUG !!! WebConfigSet.add -- name IS NOT an integer.")
- try:
+ if (hasattr(o, "cp_Index")):
i = o.cp_Index
print ("DEBUG !!! WebConfigSet.add -- index: ", i)
oldSize = self.getSize()
print ("DEBUG !!! WebConfigSet.add -- oldSize: ", oldSize)
- if oldSize <= i:
- newSize = i - oldSize
- self.childrenList += [None] * newSize
+ while (self.getSize() <= i):
+ self.childrenList.append(None)
self.childrenList[i] = o
if oldSize > i:
oldSize = i
self.fireListDataListenerIntervalAdded(oldSize, i);
- except Exception:
+ else:
if (oldO is not None):
print ("DEBUG !!! WebConfigSet.add -- No cp_Index attribute, but element already present, so replace it.")
i = self.childrenList.index(oldO)
commit 8e083b53a1e28eaa0bb672a93acfd23564972638
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Mon Apr 1 13:42:25 2013 +0000
Fixed bug in the docUp/Down buttons.
The StartSymbol font was replaced by the OpenSymbol font family.
Change-Id: I8e30121c09d439b3497f6d92384eed2afab15cd9
diff --git a/wizards/com/sun/star/wizards/web/WebWizardDialog.py b/wizards/com/sun/star/wizards/web/WebWizardDialog.py
index bec0f70..47a7880 100644
--- a/wizards/com/sun/star/wizards/web/WebWizardDialog.py
+++ b/wizards/com/sun/star/wizards/web/WebWizardDialog.py
@@ -130,7 +130,7 @@ class WebWizardDialog(WizardDialog):
self.fontDescriptor6.StyleName = "Bold Italic"
self.fontDescriptor6.Weight = 150
self.fontDescriptor6.Slant = ITALIC
- self.fontDescriptor7.Name = "StarSymbol"
+ self.fontDescriptor7.Name = "OpenSymbol"
self.fontDescriptor7.Height = 9
self.fontDescriptor7.StyleName = "Regular"
self.fontDescriptor7.Weight = 100
diff --git a/wizards/com/sun/star/wizards/web/WebWizardDialogResources.py b/wizards/com/sun/star/wizards/web/WebWizardDialogResources.py
index a8b5e54..ea45660 100644
--- a/wizards/com/sun/star/wizards/web/WebWizardDialogResources.py
+++ b/wizards/com/sun/star/wizards/web/WebWizardDialogResources.py
@@ -31,8 +31,8 @@ class WebWizardDialogResources(Resource):
def __init__(self, xmsf):
super(WebWizardDialogResources,self).__init__(xmsf,
WebWizardDialogResources.MODULE_NAME)
- self.resbtnDocUp_value = str(8743)
- self.resbtnDocDown_value = str(8744)
+ self.resbtnDocUp_value = chr(8743)
+ self.resbtnDocDown_value = chr(8744)
#Delete the String, uncomment the getResText method
self.resWebWizardDialog_title = self.getResText(
commit 7294c3efbdf7b0377e8501e8a408b9e1b1800ee5
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Thu Mar 28 16:43:58 2013 +0000
WedConfigSet: Fixed bug in the way the childrenList was using the cp_Index.
Change-Id: Iaaf7ba4d198b244c1800a5de156163ddd8bd5296
diff --git a/wizards/com/sun/star/wizards/web/WebConfigSet.py b/wizards/com/sun/star/wizards/web/WebConfigSet.py
index 5439b72..f9d704d 100644
--- a/wizards/com/sun/star/wizards/web/WebConfigSet.py
+++ b/wizards/com/sun/star/wizards/web/WebConfigSet.py
@@ -38,7 +38,7 @@ class WebConfigSet(ConfigGroup):
self.childClass = childType
self.childrenMap = {}
self.childrenList = []
- self.noNulls = False
+ self.noNulls = True
self.listenerList = None
def add(self, name, o):
@@ -61,14 +61,10 @@ class WebConfigSet(ConfigGroup):
print ("DEBUG !!! WebConfigSet.add -- index: ", i)
oldSize = self.getSize()
print ("DEBUG !!! WebConfigSet.add -- oldSize: ", oldSize)
- if oldSize < i:
+ if oldSize <= i:
newSize = i - oldSize
self.childrenList += [None] * newSize
- self.noNulls |= True
- else:
- self.noNulls |= False
- print ("DEBUG !!! WebConfigSet.add -- inserting object o: ", o)
- self.childrenList.insert(i, o)
+ self.childrenList[i] = o
if oldSize > i:
oldSize = i
self.fireListDataListenerIntervalAdded(oldSize, i);
commit ed83d99e0188bc79a17a816b67b5a556ae351d82
Author: Javier Fernandez <jfernandez at igalia.com>
Date: Thu Mar 28 12:13:36 2013 +0000
Implementing the Design DataAware features and ItemListeners.
Change-Id: I22ac7c16110a9f92a575dc23f2d3477d163ddb07
diff --git a/wizards/Pyuno_commonwizards.mk b/wizards/Pyuno_commonwizards.mk
index a62b356..82d867f 100644
--- a/wizards/Pyuno_commonwizards.mk
+++ b/wizards/Pyuno_commonwizards.mk
@@ -71,6 +71,7 @@ $(eval $(call gb_Pyuno_add_files,wizards,\
ui/event/ListModelBinder.py \
ui/event/RadioDataAware.py \
ui/event/UnoDataAware.py \
+ ui/event/SimpleDataAware.py \
ui/event/Task.py \
ui/event/TaskEvent.py \
ui/event/TaskListener.py \
diff --git a/wizards/com/sun/star/wizards/ui/ImageList.py b/wizards/com/sun/star/wizards/ui/ImageList.py
index 6e46908..38a0ea5 100644
--- a/wizards/com/sun/star/wizards/ui/ImageList.py
+++ b/wizards/com/sun/star/wizards/ui/ImageList.py
@@ -82,6 +82,7 @@ class ImageList(ListDataListener):
self.renderer = None
self.counterRenderer = self.SimpleCounterRenderer()
self.MOVE_SELECTION_VALS = list(range(3))
+ self.itemListenerList = None
def onMousePressed(self, event):
print ("DEBUG !!! onMousePressed -- Mouse pressed.")
@@ -219,6 +220,7 @@ class ImageList(ListDataListener):
(self.imageSize.Height + self.gap.Height) + self.gap.Height
def refreshImages(self):
+ print ("DEBUG !!! refreshImages -- ")
if self.showButtons:
self.refreshCounterText()
@@ -261,6 +263,10 @@ class ImageList(ListDataListener):
return i
def refreshSelection(self):
+ print ("DEBUG !!! refreshSelection -- selected: ", self.selected)
+ print ("DEBUG !!! refreshSelection -- pageStart: ", self.pageStart)
+ print ("DEBUG !!! refreshSelection -- rows: ", self.rows)
+ print ("DEBUG !!! refreshSelection -- cols: ", self.cols)
if self.selected < self.pageStart or \
self.selected >= (self.pageStart + self.rows * self.cols):
self.hideSelection()
@@ -268,6 +274,7 @@ class ImageList(ListDataListener):
self.moveSelection(self.getImageIndexFor(self.selected))
def hideSelection(self):
+ print ("DEBUG !!! -- hideSelection")
self.grbxSelectedImage.Model.Step = ImageList.HIDE_PAGE
self.grbxSelectedImage.Visible = False
@@ -292,7 +299,7 @@ class ImageList(ListDataListener):
uno.invoke(self.grbxSelectedImage.Model, "setPropertyValues",
((ImageList.MOVE_SELECTION),
(tuple(self.MOVE_SELECTION_VALS))))
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list