Author: arielch
Date: Mon Jun 18 19:12:29 2012
New Revision: 1351463
URL: http://svn.apache.org/viewvc?rev=1351463&view=rev
Log:
i119418 - Some Improvements in the About Dialog
Removed:
incubator/ooo/trunk/main/svx/AllLangResTarget_about.mk
incubator/ooo/trunk/main/svx/source/intro/about_ooo.hrc
incubator/ooo/trunk/main/svx/source/intro/about_ooo.src
Modified:
incubator/ooo/trunk/main/cui/source/dialogs/about.cxx
incubator/ooo/trunk/main/cui/source/dialogs/about.hrc
incubator/ooo/trunk/main/cui/source/dialogs/about.src
incubator/ooo/trunk/main/cui/source/inc/about.hxx
incubator/ooo/trunk/main/scp2/source/ooo/common_brand.scp
incubator/ooo/trunk/main/svtools/inc/svtools/svtools.hrc
incubator/ooo/trunk/main/svx/Module_svx.mk
Modified: incubator/ooo/trunk/main/cui/source/dialogs/about.cxx
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/cui/source/dialogs/about.cxx?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/cui/source/dialogs/about.cxx (original)
+++ incubator/ooo/trunk/main/cui/source/dialogs/about.cxx Mon Jun 18 19:12:29
2012
@@ -45,349 +45,292 @@
#include <dialmgr.hxx>
#include <svtools/svtools.hrc>
+#include <comphelper/processfactory.hxx>
+#include <com/sun/star/system/XSystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
+
// defines ---------------------------------------------------------------
-#define SCROLL_OFFSET 1
-#define SPACE_OFFSET 5
-#define SCROLL_TIMER 30
+#define _STRINGIFY(x) #x
+#define STRINGIFY(x) _STRINGIFY(x)
-#define WELCOME_URL DEFINE_CONST_UNICODE(
"http://www.openoffice.org/welcome/credits.html" )
+// -----------------------------------------------------------------------
-// class AboutDialog -----------------------------------------------------
-static void layoutText( FixedInfo &rText, long &nY, long nTextWidth, Size
a6Size )
+static void layoutFixedText( FixedText &rControl, const Point& aPos, Size
&aSize, const long nTextWidth )
{
- Point aTextPos = rText.GetPosPixel();
- aTextPos.X() = a6Size.Width() * 2;
- aTextPos.Y() = nY;
- rText.SetPosPixel( aTextPos );
-
- Size aTxtSiz = rText.GetSizePixel();
- aTxtSiz.Width() = nTextWidth;
- Size aCalcSize = rText.CalcMinimumSize( nTextWidth );
- aTxtSiz.Height() = aCalcSize.Height();
- rText.SetSizePixel( aTxtSiz );
+ aSize = rControl.GetSizePixel();
+ // change the width
+ aSize.Width() = nTextWidth;
+ // set Position and Size, to calculate the minimum size
+ // this will update the Height
+ rControl.SetPosSizePixel( aPos, aSize );
+ aSize = rControl.CalcMinimumSize();
+ // update the size with the right Height
+ rControl.SetSizePixel( aSize );
+}
- nY += aTxtSiz.Height();
+static void layoutEdit( Edit &rControl, const Point& aPos, Size &aSize, const
long nTextWidth )
+{
+ aSize = rControl.GetSizePixel();
+ // change the width
+ aSize.Width() = nTextWidth;
+ // set Position and Size, to calculate the minimum size
+ // this will update the Height
+ rControl.SetPosSizePixel( aPos, aSize );
+ aSize = rControl.CalcMinimumSize();
+ // update the size with the right Height
+ rControl.SetSizePixel( aSize );
}
-String InitDevVersionStr()
+// -----------------------------------------------------------------------
+
+AboutDialog::AboutDialog( Window* pParent, const ResId& rId ) :
+ SfxModalDialog( pParent, rId ),
+ maOKButton( this, ResId( RID_CUI_ABOUT_BTN_OK, *rId.GetResMgr() ) ),
+ maVersionText( this, ResId( RID_CUI_ABOUT_FTXT_VERSION, *rId.GetResMgr() )
),
+ maBuildInfoEdit( this, ResId( RID_CUI_ABOUT_FTXT_BUILDDATA,
*rId.GetResMgr() ) ),
+ maCopyrightEdit( this, ResId( RID_CUI_ABOUT_FTXT_COPYRIGHT,
*rId.GetResMgr() ) ),
+ maCreditsLink( this, ResId( RID_CUI_ABOUT_FTXT_WELCOME_LINK,
*rId.GetResMgr() ) ),
+ maCopyrightTextStr( ResId( RID_CUI_ABOUT_STR_COPYRIGHT, *rId.GetResMgr() )
)
{
- String sDefault;
- String sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
- OSL_ENSURE( sBuildId.Len() > 0, "No BUILDID in bootstrap file" );
+ // load image from module path
+ maAppLogo = SfxApplication::GetApplicationLogo();
- String sProductSource( utl::Bootstrap::getProductSource( sDefault ) );
- OSL_ENSURE( sProductSource.Len() > 0, "No ProductSource in bootstrap file"
);
+ InitControls();
- // the product source is something like "DEV300", where the
- // build id is something like "300m12(Build:12345)". For better
readability,
- // strip the duplicate UPD ("300").
- if ( sProductSource.Len() )
- {
- bool bMatchingUPD =
- ( sProductSource.Len() >= 3 )
- && ( sBuildId.Len() >= 3 )
- && ( sProductSource.Copy( sProductSource.Len() - 3 ) ==
sBuildId.Copy( 0, 3 ) );
- OSL_ENSURE( bMatchingUPD, "BUILDID and ProductSource do not match in
their UPD" );
- if ( bMatchingUPD )
- sProductSource = sProductSource.Copy( 0, sProductSource.Len() - 3
);
+ // set links
+ maCreditsLink.SetClickHdl( LINK( this, AboutDialog, OpenLinkHdl_Impl ) );
- // prepend the product source
- sBuildId.Insert( sProductSource, 0 );
- }
-
- return sBuildId;
+ FreeResource();
+
+ SetHelpId( CMD_SID_ABOUT );
}
-AboutDialog::AboutDialog( Window* pParent, const ResId& rId ) :
+// -----------------------------------------------------------------------
- SfxModalDialog ( pParent, rId ),
+AboutDialog::~AboutDialog()
+{
+}
- aOKButton ( this, ResId( ABOUT_BTN_OK, *rId.GetResMgr() )
),
- aVersionText ( this, ResId( ABOUT_FTXT_VERSION,
*rId.GetResMgr() ) ),
- aCopyrightText ( this, ResId( ABOUT_FTXT_COPYRIGHT, *rId.GetResMgr()
) ),
- aBuildData ( this ),
- pDeveloperAry(0),
- aAccelStr ( ResId( ABOUT_STR_ACCEL,
*rId.GetResMgr() ) ),
- aTimer (),
- nOff ( 0 ),
- m_nDeltaWidth ( 0 ),
- m_nPendingScrolls( 0 ),
- bNormal ( sal_True )
-{
- aDevVersionStr = InitDevVersionStr();
-
- ::com::sun::star::lang::Locale aLocale;
- ResMgr* pResMgr = ResMgr::SearchCreateResMgr( "about", aLocale );
- if ( pResMgr )
- {
- aCopyrightTextStr = String( ResId( ABOUT_STR_COPYRIGHT, *pResMgr ) );
- pDeveloperAry = new ResStringArray( ResId( ABOUT_STR_DEVELOPER_ARY,
*pResMgr ) );
- delete pResMgr;
- }
+// -----------------------------------------------------------------------
- rtl::OUString sProduct;
-
utl::ConfigManager::GetDirectConfigProperty(utl::ConfigManager::PRODUCTNAME)
>>= sProduct;
+void AboutDialog::InitControls()
+{
+ // apply font, background et al.
+ ApplyStyleSettings();
- // load image from module path
- aAppLogo = SfxApplication::GetApplicationLogo();
+ // set strings
+ maCopyrightEdit.SetText( maCopyrightTextStr );
+ maBuildInfoEdit.SetText( GetBuildVersionString() );
+ maCreditsLink.SetURL( maCreditsLink.GetText() );
- // Transparenter Font
- Font aFont = GetFont();
+ // determine size and position of the dialog & elements
+ Size aDlgSize;
+ LayoutControls( aDlgSize );
+
+ // Change the width of the dialog
+ SetOutputSizePixel( aDlgSize );
+}
+
+// -----------------------------------------------------------------------
+
+void AboutDialog::ApplyStyleSettings()
+{
+ // Transparenter Font
+ Font aFont = GetFont();
aFont.SetTransparent( sal_True );
- SetFont( aFont );
+ SetFont( aFont );
- // if necessary more info
- String sVersion = aVersionText.GetText();
- sVersion.SearchAndReplaceAscii( "$(VER)", Application::GetDisplayName() );
- aVersionText.SetText( sVersion );
-
- // Initialisierung fuer Aufruf Entwickler
- if ( aAccelStr.Len() && ByteString(U2S(aAccelStr)).IsAlphaAscii() )
- {
- Accelerator *pAccel = 0, *pPrevAccel = 0, *pFirstAccel = 0;
- aAccelStr.ToUpperAscii();
-
- for ( sal_uInt16 i = 0; i < aAccelStr.Len(); ++i )
- {
- pPrevAccel = pAccel;
- pAccel = new Accelerator;
- aAccelList.Insert( pAccel, LIST_APPEND );
- sal_uInt16 nKey = aAccelStr.GetChar(i) - 'A' + KEY_A;
- pAccel->InsertItem( 1, KeyCode( nKey, KEY_MOD1 ) );
- if ( i > 0 )
- pPrevAccel->SetAccel( 1, pAccel );
- if ( i == 0 )
- pFirstAccel = pAccel;
- }
- pAccel->SetSelectHdl( LINK( this, AboutDialog, AccelSelectHdl )
);
- GetpApp()->InsertAccel( pFirstAccel );
- }
-
- // set for background and text the correct system color
- const StyleSettings& rSettings = GetSettings().GetStyleSettings();
- Color aWhiteCol( rSettings.GetWindowColor() );
- Wallpaper aWall( aWhiteCol );
- SetBackground( aWall );
- Font aNewFont( aCopyrightText.GetFont() );
- aNewFont.SetTransparent( sal_True );
-
- aVersionText.SetFont( aNewFont );
- aCopyrightText.SetFont( aNewFont );
-
- aVersionText.SetBackground();
- aCopyrightText.SetBackground();
-
- Color aTextColor( rSettings.GetWindowTextColor() );
- aVersionText.SetControlForeground( aTextColor );
- aCopyrightText.SetControlForeground( aTextColor );
- aBuildData.SetBackground( );
-
- Font aSmallFont = rSettings.GetInfoFont();
- Size aSmaller = aNewFont.GetSize();
- aSmaller.Width() = (long) (aSmaller.Width() * 0.75);
- aSmaller.Height() = (long) (aSmaller.Height() * 0.75);
- aNewFont.SetSize( aSmaller );
- aBuildData.SetFont( aNewFont );
-
- String sRevision( utl::Bootstrap::getRevisionInfo() );
-
- String aBuildString(aDevVersionStr);
- aBuildString += (DEFINE_CONST_UNICODE(" - Rev. "));
- aBuildString += sRevision;
+ // set for background and text the correct system color
+ const StyleSettings& rSettings = GetSettings().GetStyleSettings();
+ Color aWhiteCol( rSettings.GetWindowColor() );
+ Wallpaper aWall( aWhiteCol );
+ SetBackground( aWall );
+ Font aNewFont( maCopyrightEdit.GetFont() );
+ aNewFont.SetTransparent( sal_True );
+
+ maVersionText.SetFont( aNewFont );
+ maCopyrightEdit.SetFont( aNewFont );
+
+ maVersionText.SetBackground();
+ maCopyrightEdit.SetBackground();
+ maBuildInfoEdit.SetBackground();
+ maCreditsLink.SetBackground();
+
+ Color aTextColor( rSettings.GetWindowTextColor() );
+ maVersionText.SetControlForeground( aTextColor );
+ maCopyrightEdit.SetControlForeground( aTextColor );
+ maBuildInfoEdit.SetControlForeground( aTextColor );
+ maCreditsLink.SetControlForeground();
+
+ Size aSmaller = aNewFont.GetSize();
+ aSmaller.Width() = (long) (aSmaller.Width() * 0.75);
+ aSmaller.Height() = (long) (aSmaller.Height() * 0.75);
+ aNewFont.SetSize( aSmaller );
+
+ maBuildInfoEdit.SetFont( aNewFont );
+
+ // the following is a hack to force the MultiLineEdit update its settings
+ // in order to reflect the Font
+ // See
+ // Window::SetControlFont
+ // MultiLineEdit::StateChanged
+ // MultiLineEdit::ImplInitSettings
+ // TODO Override SetFont in MultiLineEdit and do the following,
+ // otherwise SetFont has no effect at all!
+ aSmaller = PixelToLogic( aSmaller, MAP_POINT );
+ aNewFont.SetSize( aSmaller );
+ maBuildInfoEdit.SetControlFont( aNewFont );
+}
-#ifdef BUILD_VER_STRING
-#define _STRINGIFY(x) #x
-#define STRINGIFY(x) _STRINGIFY(x)
- aBuildString += '\n';
- aBuildString += ( DEFINE_CONST_UNICODE( STRINGIFY( BUILD_VER_STRING ) )
);
-#endif
- aBuildData.SetText( aBuildString );
- aBuildData.Show();
+// -----------------------------------------------------------------------
- // determine size and position of the dialog & elements
- Size aAppLogoSiz = aAppLogo.GetSizePixel();
- Size aOutSiz = GetOutputSizePixel();
- aOutSiz.Width() = aAppLogoSiz.Width();
+void AboutDialog::LayoutControls( Size& aDlgSize )
+{
+ Size aAppLogoSiz = maAppLogo.GetSizePixel();
+
+ aDlgSize = GetOutputSizePixel();
+ aDlgSize.Width() = aAppLogoSiz.Width();
- Size a6Size = aVersionText.LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
+ Size a6Size = maVersionText.LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
long nY = aAppLogoSiz.Height() + ( a6Size.Height() * 2 );
- long nDlgMargin = a6Size.Width() * 4 ;
+ long nDlgMargin = a6Size.Width() * 2;
long nCtrlMargin = a6Size.Height() * 2;
- long nTextWidth = aOutSiz.Width() - nDlgMargin;
-
- aCopyrightText.SetText( aCopyrightTextStr );
+ long nTextWidth = aDlgSize.Width() - ( nDlgMargin * 2 );
- // layout fixed text controls
- layoutText( aVersionText, nY, nTextWidth, a6Size );
- if( aBuildString.Len() > 0 )
- {
- nY += ( a6Size.Height() / 2 );
- layoutText( aBuildData, nY, nTextWidth, a6Size );
- }
- nY += nCtrlMargin;
+ Point aPos( nDlgMargin, nY );
+ Size aSize;
+ // layout fixed text control
+ layoutFixedText( maVersionText, aPos, aSize, nTextWidth );
+ // set the next control closer
+ nY += aSize.Height() + (nCtrlMargin / 2);
+
+ // Multiline edit with Build info
+ aPos.Y() = nY;
+ layoutEdit( maBuildInfoEdit, aPos, aSize, nTextWidth );
+ nY += aSize.Height() + nCtrlMargin;
- // OK-Button-Position (at the bottom and centered)
- Size aOKSiz = aOKButton.GetSizePixel();
- Point aOKPnt = aOKButton.GetPosPixel();
-
// Multiline edit with Copyright-Text
- Point aCopyPnt = aCopyrightText.GetPosPixel();
- Size aCopySize = aCopyrightText.GetSizePixel();
- aCopySize.Width() = nTextWidth;
- aCopySize.Height() = aOutSiz.Height() - nY - ( aOKSiz.Height() * 2 ) -
nCtrlMargin;
-
- aCopyPnt.X() = ( aOutSiz.Width() - aCopySize.Width() ) / 2;
- aCopyPnt.Y() = nY;
- aCopyrightText.SetPosSizePixel( aCopyPnt, aCopySize );
-
- nY += aCopySize.Height() + nCtrlMargin;
- aOKPnt.X() = ( aOutSiz.Width() - aOKSiz.Width() ) / 2;
- aOKPnt.Y() = nY;
- aOKButton.SetPosPixel( aOKPnt );
+ aPos.Y() = nY;
+ layoutEdit( maCopyrightEdit, aPos, aSize, nTextWidth );
+ // set the next control closer
+ nY += aSize.Height() + (nCtrlMargin/2);
+
+ // Hyperlink
+ aPos.Y() = nY;
+ layoutFixedText( maCreditsLink, aPos, aSize, nTextWidth );
+ nY += aSize.Height() + nCtrlMargin;
+
+ // OK-Button-Position (at the bottom and centered)
+ Size aOKSiz = maOKButton.GetSizePixel();
+ Point aOKPnt( ( aDlgSize.Width() - aOKSiz.Width() ) / 2, nY );
+ maOKButton.SetPosPixel( aOKPnt );
- // Change the width of the dialog
- SetOutputSizePixel( aOutSiz );
-
- FreeResource();
-
- SetHelpId( CMD_SID_ABOUT );
+ aDlgSize.Height() = aOKPnt.Y() + aOKSiz.Height() + nCtrlMargin;
}
// -----------------------------------------------------------------------
-AboutDialog::~AboutDialog()
+const rtl::OUString AboutDialog::GetBuildId() const
{
- // L"oschen des Entwickleraufrufs
- delete pDeveloperAry;
- if ( aAccelList.Count() )
- {
- GetpApp()->RemoveAccel( aAccelList.First() );
- Accelerator* pAccel = aAccelList.Last();
+ rtl::OUString sDefault;
- while ( pAccel )
- {
- delete pAccel;
- pAccel = aAccelList.Prev();
- }
- }
-}
+ // Get buildid from version[rc|.ini]
+ rtl::OUString sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
+ OSL_ENSURE( sBuildId.getLength() > 0, "No BUILDID in bootstrap file" );
+ rtl::OUStringBuffer sBuildIdBuff( sBuildId );
+
+ // Get ProductSource from version[rc|.ini]
+ rtl::OUString sProductSource( utl::Bootstrap::getProductSource( sDefault )
);
+ OSL_ENSURE( sProductSource.getLength() > 0, "No ProductSource in bootstrap
file" );
+
+ // the product source is something like "AOO340",
+ // while the build id is something like "340m1(Build:9590)"
+ // For better readability, strip the duplicate ProductMajor ("340").
+ if ( sProductSource.getLength() )
+ {
+ bool bMatchingUPD =
+ ( sProductSource.getLength() >= 3 )
+ && ( sBuildId.getLength() >= 3 )
+ && ( sProductSource.copy( sProductSource.getLength() - 3 ) ==
sBuildId.copy( 0, 3 ) );
+ OSL_ENSURE( bMatchingUPD, "BUILDID and ProductSource do not match in
their UPD" );
+ if ( bMatchingUPD )
+ sProductSource = sProductSource.copy( 0,
sProductSource.getLength() - 3 );
-// -----------------------------------------------------------------------
+ // prepend the product source
+ sBuildIdBuff.insert( 0, sProductSource );
+ }
-IMPL_LINK( AboutDialog, TimerHdl, Timer *, pTimer )
-{
- (void)pTimer; //unused
- ++m_nPendingScrolls;
- Invalidate( INVALIDATE_NOERASE | INVALIDATE_NOCHILDREN );
- return 0;
+ return sBuildIdBuff.makeStringAndClear();
}
// -----------------------------------------------------------------------
-IMPL_LINK( AboutDialog, AccelSelectHdl, Accelerator *, pAccelerator )
+const rtl::OUString AboutDialog::GetBuildVersionString() const
{
-#ifdef YURI_DARIO
- aCopyrightText.SetHelpText( DEFINE_CONST_UNICODE("Conoscere qualcuno
ovunque egli sia, con cui comprendersi nonostante le distanze\n"
- "e le differenze, puo' trasformare la
terra in un giardino. baci Valeria") );
+ rtl::OUStringBuffer aBuildString( GetBuildId() );
+ rtl::OUString sRevision( utl::Bootstrap::getRevisionInfo() );
+
+ if ( sRevision.getLength() > 0 )
+ {
+ aBuildString.appendAscii( RTL_CONSTASCII_STRINGPARAM( " - Rev. " ) );
+ aBuildString.append( sRevision );
+ }
+
+#ifdef BUILD_VER_STRING
+ rtl::OUString sBuildVer( RTL_CONSTASCII_USTRINGPARAM( STRINGIFY(
BUILD_VER_STRING ) ) );
+ if ( sBuildVer.getLength() > 0 )
+ {
+ aBuildString.append( sal_Unicode( '\n' ) );
+ aBuildString.append( sBuildVer );
+ }
#endif
- (void)pAccelerator; //unused
- // init Timer
- aTimer.SetTimeoutHdl( LINK( this, AboutDialog, TimerHdl ) );
-
- // init scroll mode
- nOff = GetOutputSizePixel().Height();
- MapMode aMapMode( MAP_PIXEL );
- SetMapMode( aMapMode );
- bNormal = sal_False;
-
- // start scroll Timer
- aTimer.SetTimeout( SCROLL_TIMER );
- aTimer.Start();
- return 0;
+ return aBuildString.makeStringAndClear();
}
// -----------------------------------------------------------------------
sal_Bool AboutDialog::Close()
{
- // stop Timer and finish the dialog
- aTimer.Stop();
- EndDialog( RET_OK );
- return( sal_False );
+ EndDialog( RET_OK );
+ return( sal_False );
}
// -----------------------------------------------------------------------
void AboutDialog::Paint( const Rectangle& rRect )
{
- SetClipRegion( rRect );
+ SetClipRegion( rRect );
+ Point aPos( 0, 0 );
+ DrawImage( aPos, maAppLogo );
- if ( bNormal ) // not in scroll mode
- {
- Point aPos( m_nDeltaWidth / 2, 0 );
- DrawImage( aPos, aAppLogo );
- return;
- }
-
- // scroll the content
- const int nDeltaY = -SCROLL_OFFSET * m_nPendingScrolls;
- if( !nDeltaY )
- return;
- nOff += nDeltaY;
- Scroll( 0, nDeltaY, SCROLL_NOERASE );
- m_nPendingScrolls = 0;
-
- // draw the credits text
- const Font aOrigFont = GetFont();
- const int nFullWidth = GetOutputSizePixel().Width();
-
- int nY = nOff;
- const int nDevCnt = static_cast<int>( pDeveloperAry->Count() );
- for( int i = 0; i < nDevCnt; ++i )
- {
- if( nY >= rRect.Bottom() )
- break;
-
- int nPos2 = nY + GetTextHeight() + 3;
- if( nPos2 >= rRect.Top() + nDeltaY )
- {
- const String aStr = pDeveloperAry->GetString(i);
- const long nVal = pDeveloperAry->GetValue(i);
-
- if ( nVal )
- {
- // emphasize the headers
- Font aFont = aOrigFont;
- aFont.SetWeight( (FontWeight)nVal );
- SetFont( aFont );
- nPos2 = nY + GetTextHeight() + 3;
- }
-
- // clear text background
- Rectangle aEraseRect( Point(0,nY), Size( nFullWidth,
nPos2-nY));
- Erase( aEraseRect );
-
- // draw centered text
- const long nTextWidth = GetTextWidth( aStr );
- long nX = (nFullWidth - 5 - nTextWidth) / 2;
- if( nX < 0 )
- nX = SPACE_OFFSET;
- const Point aPnt( nX, nY );
- DrawText( aPnt, aStr );
-
- // restore the font if needed
- if( nVal )
- SetFont( aOrigFont );
- }
- nY = nPos2;
- }
-
- // close dialog if the whole text has been scrolled
- if ( nY <= 0 )
- {
- bNormal = sal_True;
- Close();
- }
+ return;
+}
+
+// -----------------------------------------------------------------------
+
+IMPL_LINK ( AboutDialog, OpenLinkHdl_Impl, svt::FixedHyperlink*, EMPTYARG )
+{
+ ::rtl::OUString sURL( maCreditsLink.GetURL() );
+ if ( sURL.getLength() > 0 )
+ {
+ try
+ {
+ com::sun::star::uno::Reference<
com::sun::star::lang::XMultiServiceFactory > xSMGR =
+ ::comphelper::getProcessServiceFactory();
+ com::sun::star::uno::Reference<
com::sun::star::system::XSystemShellExecute > xSystemShell(
+ xSMGR->createInstance( ::rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
"com.sun.star.system.SystemShellExecute" ) ) ),
+ com::sun::star::uno::UNO_QUERY_THROW );
+ if ( xSystemShell.is() )
+ xSystemShell->execute( sURL, ::rtl::OUString(),
com::sun::star::system::SystemShellExecuteFlags::DEFAULTS );
+ }
+ catch( const com::sun::star::uno::Exception& e )
+ {
+ OSL_TRACE( "Caught exception: %s\n thread terminated.\n",
+ rtl::OUStringToOString(e.Message,
RTL_TEXTENCODING_UTF8).getStr());
+ }
+ }
+ return 0;
}
Modified: incubator/ooo/trunk/main/cui/source/dialogs/about.hrc
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/cui/source/dialogs/about.hrc?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/cui/source/dialogs/about.hrc (original)
+++ incubator/ooo/trunk/main/cui/source/dialogs/about.hrc Mon Jun 18 19:12:29
2012
@@ -21,10 +21,11 @@
-#include <sfx2/sfx.hrc>
-
-#define ABOUT_BTN_OK 1
-#define ABOUT_FTXT_VERSION 1
-#define ABOUT_STR_ACCEL 3
-#define ABOUT_FTXT_COPYRIGHT 4
+#include <cuires.hrc>
+#define RID_CUI_ABOUT_BTN_OK 1
+#define RID_CUI_ABOUT_FTXT_VERSION 2
+#define RID_CUI_ABOUT_FTXT_COPYRIGHT 3
+#define RID_CUI_ABOUT_FTXT_BUILDDATA 4
+#define RID_CUI_ABOUT_STR_COPYRIGHT 5
+#define RID_CUI_ABOUT_FTXT_WELCOME_LINK 6
Modified: incubator/ooo/trunk/main/cui/source/dialogs/about.src
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/cui/source/dialogs/about.src?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/cui/source/dialogs/about.src (original)
+++ incubator/ooo/trunk/main/cui/source/dialogs/about.src Mon Jun 18 19:12:29
2012
@@ -27,37 +27,43 @@ ModalDialog RID_DEFAULTABOUT
{
HelpID = "cui:ModalDialog:RID_DEFAULTABOUT";
OutputSize = TRUE ;
- Size = MAP_APPFONT ( 245 , 260 ) ;
Moveable = TRUE ;
SVLook = TRUE ;
- Text [ x-comment ] = "PB: ; PB: only %PRODUCTNAME";
Text [ en-US ] = "About %PRODUCTNAME" ;
- OKButton ABOUT_BTN_OK
+ OKButton RID_CUI_ABOUT_BTN_OK
{
DefButton = TRUE ;
- Pos = MAP_APPFONT ( 174 , 6 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
};
- FixedText ABOUT_FTXT_VERSION
+ FixedText RID_CUI_ABOUT_FTXT_VERSION
{
- Pos = MAP_APPFONT ( 54 , 6 ) ;
- Size = MAP_APPFONT ( 118 , 16 ) ;
WordBreak = TRUE ;
Text = "%PRODUCTNAME %ABOUTBOXPRODUCTVERSION %PRODUCTEXTENSION" ;
};
- MultiLineEdit ABOUT_FTXT_COPYRIGHT
+ MultiLineEdit RID_CUI_ABOUT_FTXT_BUILDDATA
+ {
+ //HelpID = "cui:MultiLineEdit:RID_DEFAULTABOUT:ABOUT_FTXT_BUILDDATA";
+ Border = FALSE ;
+ IgnoreTab = TRUE ;
+ ReadOnly = TRUE ;
+ AutoVScroll = FALSE ;
+ };
+ MultiLineEdit RID_CUI_ABOUT_FTXT_COPYRIGHT
{
HelpID = "cui:MultiLineEdit:RID_DEFAULTABOUT:ABOUT_FTXT_COPYRIGHT";
Border = FALSE ;
- Pos = MAP_APPFONT ( 54 , 25 ) ;
- Size = MAP_APPFONT ( 168 , 51 ) ;
IgnoreTab = TRUE ;
ReadOnly = TRUE ;
- AutoVScroll = TRUE ;
+ AutoVScroll = FALSE ;
+ };
+ FixedText RID_CUI_ABOUT_FTXT_WELCOME_LINK
+ {
+ Left = TRUE ;
+ Text = "http://www.openoffice.org/welcome/credits.html";
};
- String ABOUT_STR_ACCEL
+ String RID_CUI_ABOUT_STR_COPYRIGHT
{
- Text = "SDT" ;
+ Text[ en-US ] = "Copyright © 2012 Apache Software Foundation.\nAll
rights reserved.\n\nThis product was created by %OOOVENDOR, based on Apache
OpenOffice.\nApache OpenOffice acknowledges all community members, especially
those mentioned at";
};
};
Modified: incubator/ooo/trunk/main/cui/source/inc/about.hxx
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/cui/source/inc/about.hxx?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/cui/source/inc/about.hxx (original)
+++ incubator/ooo/trunk/main/cui/source/inc/about.hxx Mon Jun 18 19:12:29 2012
@@ -25,53 +25,46 @@
// include ---------------------------------------------------------------
-#include <tools/resary.hxx>
#include <vcl/button.hxx>
-#include <vcl/accel.hxx>
#include <svtools/svmedit.hxx>
+#include <svtools/fixedhyper.hxx>
#include <tools/list.hxx>
#include <svtools/stdctrl.hxx>
-#include <sfx2/basedlgs.hxx> // SfxModalDialog
-
-DECLARE_LIST( AccelList, Accelerator* )
+#include <sfx2/basedlgs.hxx> // SfxModalDialog
// class AboutDialog -----------------------------------------------------
class AboutDialog : public SfxModalDialog
{
private:
- OKButton aOKButton;
- Image aAppLogo;
+ OKButton maOKButton;
+ FixedInfo maVersionText;
+ MultiLineEdit maBuildInfoEdit;
+ MultiLineEdit maCopyrightEdit;
+ svt::FixedHyperlink maCreditsLink;
+
+ Image maAppLogo;
+
+ String maCopyrightTextStr;
+ rtl::OUString maVersionData;
+
+ void InitControls();
+ void ApplyStyleSettings();
+ void LayoutControls( Size& aDlgSize );
- FixedInfo aVersionText;
- MultiLineEdit aCopyrightText;
- FixedInfo aBuildData;
-
- ResStringArray* pDeveloperAry;
- String aDevVersionStr;
- String aAccelStr;
- String aVersionData;
- String aCopyrightTextStr;
-
- AccelList aAccelList;
-
- AutoTimer aTimer;
- long nOff;
- long m_nDeltaWidth;
- int m_nPendingScrolls;
+ const rtl::OUString GetBuildId() const;
+ const rtl::OUString GetBuildVersionString() const;
- sal_Bool bNormal;
+ DECL_DLLPRIVATE_LINK(OpenLinkHdl_Impl, svt::FixedHyperlink* );
protected:
- virtual sal_Bool Close();
- virtual void Paint( const Rectangle& );
+ virtual sal_Bool Close();
+ virtual void Paint( const Rectangle& );
public:
- AboutDialog( Window* pParent, const ResId& nId );
- ~AboutDialog();
+ AboutDialog( Window* pParent, const ResId& nId );
+ ~AboutDialog();
- DECL_LINK( TimerHdl, Timer * );
- DECL_LINK( AccelSelectHdl, Accelerator * );
};
#endif // #ifndef _ABOUT_HXX
Modified: incubator/ooo/trunk/main/scp2/source/ooo/common_brand.scp
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/scp2/source/ooo/common_brand.scp?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/scp2/source/ooo/common_brand.scp (original)
+++ incubator/ooo/trunk/main/scp2/source/ooo/common_brand.scp Mon Jun 18
19:12:29 2012
@@ -110,8 +110,7 @@ Module gid_Module_Langpack_Brand_Templat
gid_Brand_Dir_Readme,
gid_Brand_Dir_Share,
gid_Brand_Dir_Share_Readme);
- Files = (gid_Brand_File_Res_About,
- gid_Brand_File_Res_Oirm,
+ Files = (gid_Brand_File_Res_Oirm,
gid_Brand_File_Readme_Readme,
gid_Brand_File_Readme_Readme_Html,
gid_Brand_File_Share_Registry_Cjk_Xcd,
@@ -1325,6 +1324,3 @@ File gid_Brand_File_Bin_Python
Styles = (PACKED);
End
#endif
-
-BRAND_RES_FILE( gid_Brand_File_Res_About, about )
-
Modified: incubator/ooo/trunk/main/svtools/inc/svtools/svtools.hrc
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svtools/inc/svtools/svtools.hrc?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svtools/inc/svtools/svtools.hrc (original)
+++ incubator/ooo/trunk/main/svtools/inc/svtools/svtools.hrc Mon Jun 18
19:12:29 2012
@@ -28,9 +28,6 @@
#define RID_SVTOOLS_BITMAP_START (RID_SVTOOLS_START + 0)
#define RID_SVTOOLS_IMAGELIST_START (RID_SVTOOLS_START + 0)
-#define ABOUT_STR_COPYRIGHT (RID_SVTOOLS_START + 1)
-#define ABOUT_STR_DEVELOPER_ARY (RID_SVTOOLS_START + 2)
-
//.............................................................................
// various unsorted stuff
Modified: incubator/ooo/trunk/main/svx/Module_svx.mk
URL:
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/Module_svx.mk?rev=1351463&r1=1351462&r2=1351463&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/Module_svx.mk (original)
+++ incubator/ooo/trunk/main/svx/Module_svx.mk Mon Jun 18 19:12:29 2012
@@ -30,7 +30,6 @@ $(eval $(call gb_Module_add_targets,svx,
AllLangResTarget_svx \
AllLangResTarget_ofa \
AllLangResTarget_gal \
- AllLangResTarget_about \
AllLangResTarget_textconversiondlgs \
Package_inc \
Package_sdi \