diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-11-21 17:19:28 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-11-21 17:47:43 +0100 |
commit | ea91c7d90d74e1ca039ba669b5d3e14fa359c0fa (patch) | |
tree | 1f8bd3b84fa18737164ed944d9db401794985677 /scp2 | |
parent | 397f3e5d7b0b079ef3a6ef4b859ea2b2ab814b67 (diff) |
Turn presenter screen from bundled extension to plain code
The immediate trigger was 5e5c11c664f67ff9fd1120905b09a32bea3b2f6c "fdo#42070
Fix RTL support in presenter console" causing build failures on Mac OS X when
linking the extension against vcl, but there should be more benefits of going
from a bundled-anyway extension to plain code. (Not the least to get rid of the
com.sun.star.drawing.XPresenterHelper hack.)
To avoid unnecessary confusion between the newly plain code and any instance of
the old extension still installed (per-user or shared), I renamed all relevant
identifiers as follows:
* UNO implementation com.sun.star.comp.Draw.framework.PresenterScreenJob ->
org.libreoffice.comp.PresenterScreenJob
* UNO implementation com.sun.star.sdext.presenter.PresenterProtocolHandler ->
org.libreoffice.comp.PresenterScreenProtocolHandler
* protocol handler schema vnd.com.sun.star.comp.PresenterScreen ->
vnd.org.libreoffice.presenterscreen
* configuration schema /org.openoffice.Office.extension.PresenterScreen ->
/org.openoffice.Office.PresenterScreen (it appears this contains little to no
user-changeable data anyway, so not migrating it to a new user profile due to
the schema name change should not be problematic)
* job ID onDocumentOpenedJob -> org.libreoffice.PresenterScreen
Even with these precautions, having the presenter screen installed both as plain
code and as a (per-user or shared) extension still leads to a crash when
activating presentation mode (likely due to how both codes want to take control
of the screen). To mitigate this, existing installations of the extension are
explicitly not migrated to new user profiles.
The sdext/source/presenter/bitmaps/*.png files were moved to
icon-themes/galaxy/sd/res/presenterscreen-*.png and are now accessed via SdResId
(adding the relevant data to sd/source/ui/inc/res_bmp.hrc and
sd/source/ui/app/res_bmp.src; not sure whether these locations are already
ideal).
The code itself has been left mostly unchanged in sdext/source/presenter/, and
it still clumsily communicates with sd core code via XPresenterHelper. There is
a lot of room for improvement here.
The help data is left untouched at sdext/source/presenter/help/ and needs to
be incorporated properly into helpcontent2 in a follow-up commit.
The --disable-ext-presenter-console configure switch is gone.
Change-Id: I71adb7ae6dcdbd1802151fce6e3871d8a2026332
Diffstat (limited to 'scp2')
-rw-r--r-- | scp2/source/extensions/directory_extensions.scp | 11 | ||||
-rw-r--r-- | scp2/source/extensions/file_extensions.scp | 13 | ||||
-rw-r--r-- | scp2/source/extensions/module_extensions.scp | 15 | ||||
-rw-r--r-- | scp2/source/extensions/module_extensions.ulf | 6 | ||||
-rw-r--r-- | scp2/source/impress/file_impress.scp | 11 |
5 files changed, 11 insertions, 45 deletions
diff --git a/scp2/source/extensions/directory_extensions.scp b/scp2/source/extensions/directory_extensions.scp index ca2d2c1c6d79..62d3b942ce07 100644 --- a/scp2/source/extensions/directory_extensions.scp +++ b/scp2/source/extensions/directory_extensions.scp @@ -66,17 +66,6 @@ End #endif -/* ** Presenter Screen ** */ - -#ifndef WITHOUT_EXTENSION_PRESENTER_SCREEN - -Directory gid_Brand_Dir_Share_Extensions_Presenter_Screen - ParentID = gid_Brand_Dir_Share_Extensions; - DosName = "presenter-screen"; -End - -#endif - /* ** PDF Import ** */ #ifndef WITHOUT_EXTENSION_PDFIMPORT diff --git a/scp2/source/extensions/file_extensions.scp b/scp2/source/extensions/file_extensions.scp index 90e99875d32e..f268379905f2 100644 --- a/scp2/source/extensions/file_extensions.scp +++ b/scp2/source/extensions/file_extensions.scp @@ -72,19 +72,6 @@ End #endif -/* ** Presenter Screen ** */ - -#ifndef WITHOUT_EXTENSION_PRESENTER_SCREEN - -File gid_File_Oxt_Presenter_Screen - TXT_FILE_BODY; - Styles = (PACKED, ARCHIVE); - Dir = gid_Brand_Dir_Share_Extensions_Presenter_Screen; - Name = "presenter-screen.oxt"; -End - -#endif - /* ** PDF Import ** */ #ifndef WITHOUT_EXTENSION_PDFIMPORT diff --git a/scp2/source/extensions/module_extensions.scp b/scp2/source/extensions/module_extensions.scp index 91853ea629e1..48b5f7d31975 100644 --- a/scp2/source/extensions/module_extensions.scp +++ b/scp2/source/extensions/module_extensions.scp @@ -87,21 +87,6 @@ Module gid_Module_Optional_Extensions_MEDIAWIKI End #endif -/* ** Presenter Screen ** */ - -#ifndef WITHOUT_EXTENSION_PRESENTER_SCREEN -Module gid_Module_Optional_Extensions_PRESENTER_SCREEN - PackageInfo = "packinfo_extensions.txt"; - MOD_NAME_DESC(MODULE_OPTIONAL_EXTENSIONS_PRESENTER_SCREEN); - ParentID = gid_Module_Optional_Extensions; - Files = ( - gid_File_Oxt_Presenter_Screen ); - Minimal = NO; - Default = YES; - Styles = ( ); -End -#endif - /* ** PDF Import ** */ #ifndef WITHOUT_EXTENSION_PDFIMPORT diff --git a/scp2/source/extensions/module_extensions.ulf b/scp2/source/extensions/module_extensions.ulf index 40d0a0aa176c..1d9e2476e629 100644 --- a/scp2/source/extensions/module_extensions.ulf +++ b/scp2/source/extensions/module_extensions.ulf @@ -51,12 +51,6 @@ en-US = "MediaWiki Publisher" [STR_DESC_MODULE_OPTIONAL_EXTENSIONS_MEDIAWIKI] en-US = "MediaWiki Publisher" -[STR_NAME_MODULE_OPTIONAL_EXTENSIONS_PRESENTER_SCREEN] -en-US = "Presenter Screen" - -[STR_DESC_MODULE_OPTIONAL_EXTENSIONS_PRESENTER_SCREEN] -en-US = "Presenter Screen" - [STR_NAME_MODULE_OPTIONAL_EXTENSIONS_PDFIMPORT] en-US = "PDF Import" diff --git a/scp2/source/impress/file_impress.scp b/scp2/source/impress/file_impress.scp index bbac0236b705..21deb8e486d8 100644 --- a/scp2/source/impress/file_impress.scp +++ b/scp2/source/impress/file_impress.scp @@ -37,6 +37,17 @@ File gid_File_Lib_Animcore PACKED_LIB_FILE_BODY; End +File gid_File_Lib_PresenterScreen + LIB_FILE_BODY; + Dir = SCP2_OOO_BIN_DIR; +#if defined UNX + Name = STRING(CONCAT2(PresenterScreen.uno,UNXSUFFIX)); +#else + Name = "PresenterScreen.uno.dll"; +#endif + Styles = (PACKED); +End + File gid_File_Share_Registry_Impress_Xcd TXT_FILE_BODY; Styles = (PACKED); |