Bugzilla – Attachment 41505 Details for
Bug 32563
Preamble of LICENSE.odt is not localizable
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated patch.
0001-Show-the-license-information-in-a-separate-localizab.patch (text/plain), 9.80 KB, created by
Jan Holesovsky
on 2010-12-29 08:01:15 UTC
(
hide
)
Description:
Updated patch.
Filename:
MIME Type:
Creator:
Jan Holesovsky
Created:
2010-12-29 08:01:15 UTC
Size:
9.80 KB
patch
obsolete
>From 7978886ea1efab036054abfcf91fc9c0183d325a Mon Sep 17 00:00:00 2001 >From: Jan Holesovsky <kendy@suse.cz> >Date: Wed, 29 Dec 2010 01:48:57 +0100 >Subject: [PATCH] Show the license information in a separate, localizable dialog; fdo#32563. > >--- > sfx2/source/appl/app.hrc | 10 ++++ > sfx2/source/appl/app.src | 54 ++++++++++++++++++ > sfx2/source/appl/appserv.cxx | 124 ++++++++++++++++++++++++++---------------- > 3 files changed, 141 insertions(+), 47 deletions(-) > >diff --git a/sfx2/source/appl/app.hrc b/sfx2/source/appl/app.hrc >index 1f9c125..8229ec6 100644 >--- a/sfx2/source/appl/app.hrc >+++ b/sfx2/source/appl/app.hrc >@@ -267,6 +267,16 @@ > #define RID_SVXSTR_GRFILTER_FILTERERROR (RID_SFX_APP_START + 202) > #define RID_SVXSTR_GRFILTER_TOOBIG (RID_SFX_APP_START + 203) > >+// For the License Information dialog box >+#define DLG_HELP_LICENSING (RID_SFX_APP_START + 204) >+#define STR_LICENSING_INFORMATION_1 (RID_SFX_APP_START + 205) >+#define STR_LICENSING_INFORMATION_2 (RID_SFX_APP_START + 206) >+#define STR_LICENSING_INFORMATION_3 (RID_SFX_APP_START + 207) >+#define STR_LICENSING_INFORMATION_4 (RID_SFX_APP_START + 208) >+#define STR_LICENSING_INFORMATION_5 (RID_SFX_APP_START + 209) >+#define PB_LICENSING_SHOW (RID_SFX_APP_START + 210) >+#define PB_LICENSING_CLOSE (RID_SFX_APP_START + 211) >+ > #define MD_DDE_LINKEDIT (RID_SFX_APP_START + 1) > > #endif // #ifndef _SFX_APP_HRC >diff --git a/sfx2/source/appl/app.src b/sfx2/source/appl/app.src >index e1c43c0..3e76c0b 100644 >--- a/sfx2/source/appl/app.src >+++ b/sfx2/source/appl/app.src >@@ -1092,3 +1092,57 @@ String RID_SVXSTR_GRFILTER_TOOBIG > Text [ en-US ] = "Not enough memory to insert graphic" ; > }; > >+ModalDialog DLG_HELP_LICENSING >+{ >+ // Size is computed >+ Text [ en-US ] = "Licensing and Legal information"; >+ MOVEABLE = TRUE ; >+ CLOSEABLE = TRUE ; >+ OUTPUTSIZE = TRUE ; >+ SVLOOK = TRUE ; >+ String STR_LICENSING_INFORMATION_1 >+ { >+ Text [ en-US ] = >+ "%PRODUCTNAME is made available subject to the terms of GNU Lesser General Public\n" >+ "License Version 3. A copy of the LGPL license can be found at\n" >+ "http://www.gnu.org/licenses/lgpl-3.0.html" ; >+ }; >+ String STR_LICENSING_INFORMATION_2 >+ { >+ Text [ en-US ] = >+ "Third Party Code Additional copyright notices and license terms applicable to\n" >+ "portions of the Software are set forth in the THIRDPARTYLICENSEREADME.html\n" >+ "file; choose Show License to see exact details in English." ; >+ }; >+ String STR_LICENSING_INFORMATION_3 >+ { >+ Text [ en-US ] = >+ "All trademarks and registered trademarks mentioned herein are the property of\n" >+ "their respective owners." ; >+ }; >+ String STR_LICENSING_INFORMATION_4 >+ { >+ Text [ en-US ] = >+ "Copyright © 2000, 2010 LibreOffice contributors and/or their affiliates. All rights\n" >+ "reserved." ; >+ }; >+ String STR_LICENSING_INFORMATION_5 >+ { >+ Text [ en-US ] = >+ "This product was created by %OOOVENDOR, based on OpenOffice.org,\n" >+ "which is Copyright 2000, 2010 Oracle and/or its affiliates.\n" >+ "%OOOVENDOR acknowledges all community members, please see\n" >+ "http://www.libreoffice.org/ for more details." ; >+ }; >+ OKButton PB_LICENSING_SHOW >+ { >+ // Position and size is computed >+ Text [ en-US ] = "~Show License" ; >+ DefButton = TRUE ; >+ }; >+ CancelButton PB_LICENSING_CLOSE >+ { >+ // Position and size is computed >+ Text [ en-US ] = "~Close" ; >+ }; >+}; >diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx >index 3f1b44e..1aa8970 100644 >--- a/sfx2/source/appl/appserv.cxx >+++ b/sfx2/source/appl/appserv.cxx >@@ -157,20 +157,42 @@ long QuitAgain_Impl( void* pObj, void* pArg ) > return 0; > } > >-namespace { >- sal_Bool checkURL( const char *pName, rtl::OUString &rURL ) >- { >- using namespace osl; >- DirectoryItem aDirItem; >- >- rURL = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/") ); >- rURL += rtl::OUString::createFromAscii( pName ); >- rtl::Bootstrap::expandMacros( rURL ); >+/// Find the correct location of the document (LICENSE.odt, etc.), and return >+/// it in rURL if found. >+static sal_Bool checkURL( const char *pName, const char *pExt, rtl::OUString &rURL ) >+{ >+ using namespace osl; >+ DirectoryItem aDirItem; >+ >+ rURL = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("$BRAND_BASE_DIR/") ); >+ rURL += rtl::OUString::createFromAscii( pName ); >+ rURL += rtl::OUString::createFromAscii( pExt ); >+ rtl::Bootstrap::expandMacros( rURL ); >+ >+ if (rURL.getLength() != 0) >+ return DirectoryItem::get( rURL, aDirItem ) == DirectoryItem::E_None; >+ else >+ return sal_False; >+} > >- if (rURL.getLength() != 0) >- return DirectoryItem::get( rURL, aDirItem ) == DirectoryItem::E_None; >- else >- return sal_False; >+/// Displays CREDITS or LICENSE in any of the available version >+static void showDocument( const char* pBaseName ) >+{ >+ try { >+ Reference < XComponentLoader > xLoader( ::comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ), UNO_QUERY ); >+ Sequence < com::sun::star::beans::PropertyValue > args(2); >+ args[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ViewOnly")); >+ args[0].Value <<= sal_True; >+ args[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReadOnly")); >+ args[1].Value <<= sal_True; >+ >+ rtl::OUString aURL; >+ if ( checkURL ( pBaseName, ".odt", aURL ) || >+ checkURL ( pBaseName, ".html", aURL ) || >+ checkURL ( pBaseName, "", aURL ) ) { >+ xLoader->loadComponentFromURL( aURL, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_blank")), 0, args ); >+ } >+ } catch (const ::com::sun::star::uno::Exception &) { > } > } > >@@ -356,43 +378,51 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) > break; > } > >- case SID_SHOW_CREDITS: > case SID_SHOW_LICENSE: > { >- try { >- Reference < XComponentLoader > xLoader( ::comphelper::getProcessServiceFactory()->createInstance(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")) ), UNO_QUERY ); >- Sequence < com::sun::star::beans::PropertyValue > args(2); >- args[0].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ViewOnly")); >- args[0].Value <<= sal_True; >- args[1].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReadOnly")); >- args[1].Value <<= sal_True; >- >- rtl::OUString aURL; >- char const** pNames; >- if( rReq.GetSlot() == SID_SHOW_LICENSE ) >- { >- static char const* pLicenseStrings[] = >- { >- "LICENSE.odt", "LICENSE.html", "LICENSE" >- }; >- pNames = pLicenseStrings; >- } >- else >- { >- static char const* pCreditsStrings[] = >- { >- "CREDITS.odt", "CREDITS.html", "CREDITS" >- }; >- pNames = pCreditsStrings; >- } >- >- if ( checkURL ( pNames[0], aURL ) || >- checkURL ( pNames[1], aURL ) || >- checkURL ( pNames[2], aURL ) ) { >- xLoader->loadComponentFromURL( aURL, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_blank")), 0, args ); >- } >- } catch (const ::com::sun::star::uno::Exception &) { >+ ModalDialog aDialog( NULL, SfxResId( DLG_HELP_LICENSING ) ); >+ >+ String aLicensing; >+ for ( int i = STR_LICENSING_INFORMATION_1; i <= STR_LICENSING_INFORMATION_5; ++i ) >+ { >+ if ( i != STR_LICENSING_INFORMATION_1 ) >+ aLicensing += String( RTL_CONSTASCII_USTRINGPARAM( "\n\n" ) ); >+ aLicensing += String( SfxResId( i ) ); > } >+ >+ FixedText aText( &aDialog ); >+ aText.SetText( aLicensing ); >+ OKButton aShow( &aDialog, SfxResId( PB_LICENSING_SHOW ) ); >+ CancelButton aClose( &aDialog, SfxResId( PB_LICENSING_CLOSE ) ); >+ >+ // positions and sizes are computed to always fit the language >+ Size aTextSize( aText.GetOptimalSize( WINDOWSIZE_PREFERRED ) ); >+ Size aShowSize( aShow.GetOptimalSize( WINDOWSIZE_PREFERRED ) ); >+ Size aCloseSize( aClose.GetOptimalSize( WINDOWSIZE_PREFERRED ) ); >+ >+ long nDelimX = 12; >+ long nDelimY = 12; >+ long nWidth = aTextSize.Width() + 2*nDelimX; >+ long nButtonY = aTextSize.Height() + 2*nDelimY; >+ Size aButtonSize( std::max( aShowSize.Width(), aCloseSize.Width() ) + nDelimX, >+ std::max( aShowSize.Height(), aCloseSize.Height() ) ); >+ >+ aDialog.SetSizePixel( Size( nWidth, aTextSize.Height() + 3*nDelimY + aButtonSize.Height() ) ); >+ aText.SetPosSizePixel( Point( nDelimX, nDelimY ), aTextSize ); >+ aShow.SetPosSizePixel( Point( ( nWidth - nDelimX ) / 2 - aButtonSize.Width(), nButtonY ), aButtonSize ); >+ aClose.SetPosSizePixel( Point( aShow.GetPosPixel().X() + aButtonSize.Width() + nDelimX, nButtonY ), aButtonSize ); >+ >+ aText.Show(); >+ >+ if ( aDialog.Execute() == RET_OK ) >+ showDocument( "LICENSE" ); >+ >+ break; >+ } >+ >+ case SID_SHOW_CREDITS: >+ { >+ showDocument( "CREDITS" ); > break; > } > >-- >1.7.3.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 32563
:
41498
|
41499
| 41505