summaryrefslogtreecommitdiff
path: root/cui/source
diff options
context:
space:
mode:
authoros <os@openoffice.org>2011-02-02 11:06:37 +0100
committeros <os@openoffice.org>2011-02-02 11:06:37 +0100
commit0f6ac374bbb565a631e10588ccd67184c3998820 (patch)
tree30d6d4220f343fc8becf25f3666c9cede1ea652a /cui/source
parentca7ce06f8fdf7fc01f3b50db017e8c6b296b0a18 (diff)
parent92e50a5ccef9046108eeff2943302ad2137602ae (diff)
os146: gnumake3 merged
Diffstat (limited to 'cui/source')
-rw-r--r--cui/source/dialogs/about.cxx424
-rw-r--r--cui/source/dialogs/about.hrc34
-rw-r--r--cui/source/dialogs/about.src67
-rw-r--r--[-rwxr-xr-x]cui/source/dialogs/makefile.mk2
-rw-r--r--[-rwxr-xr-x]cui/source/factory/dlgfact.cxx7
-rw-r--r--cui/source/inc/about.hxx83
-rw-r--r--cui/source/options/treeopt.cxx22
-rw-r--r--cui/source/options/treeopt.src72
8 files changed, 650 insertions, 61 deletions
diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx
new file mode 100644
index 000000000..626d2dbe6
--- /dev/null
+++ b/cui/source/dialogs/about.cxx
@@ -0,0 +1,424 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_cui.hxx"
+
+// include ---------------------------------------------------------------
+
+#include <vcl/svapp.hxx>
+#include <vcl/msgbox.hxx>
+#include <tools/stream.hxx>
+#include <tools/urlobj.hxx>
+#include <rtl/bootstrap.hxx>
+#include <unotools/configmgr.hxx>
+#include <unotools/bootstrap.hxx>
+#include <com/sun/star/uno/Any.h>
+#include <vcl/graph.hxx>
+#include <svtools/filter.hxx>
+#include <sfx2/sfxuno.hxx>
+#include "about.hxx"
+#include <sfx2/sfxdefs.hxx>
+#include <sfx2/app.hxx>
+#include <sfx2/sfxcommands.h>
+#include "about.hrc"
+#include <dialmgr.hxx>
+#include <svtools/svtools.hrc>
+
+// defines ---------------------------------------------------------------
+
+#define SCROLL_OFFSET 1
+#define SPACE_OFFSET 5
+#define SCROLL_TIMER 30
+
+#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 )
+{
+ 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 );
+
+ nY += aTxtSiz.Height();
+}
+
+String InitDevVersionStr()
+{
+ const String sCWSSchema( String::CreateFromAscii( "[CWS:" ) );
+ rtl::OUString sDefault;
+ String sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
+ OSL_ENSURE( sBuildId.Len() > 0, "No BUILDID in bootstrap file" );
+ if ( sBuildId.Len() > 0 && sBuildId.Search( sCWSSchema ) == STRING_NOTFOUND )
+ {
+ // no cws part in brand buildid -> try basis buildid
+ rtl::OUString sBasisBuildId( DEFINE_CONST_OUSTRING(
+ "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}" ) );
+ rtl::Bootstrap::expandMacros( sBasisBuildId );
+ sal_Int32 nIndex = sBasisBuildId.indexOf( sCWSSchema );
+ if ( nIndex != -1 )
+ sBuildId += String( sBasisBuildId.copy( nIndex ) );
+ }
+
+ String sProductSource( utl::Bootstrap::getProductSource( sDefault ) );
+ OSL_ENSURE( sProductSource.Len() > 0, "No ProductSource in bootstrap file" );
+
+ // 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 );
+
+ // prepend the product source
+ sBuildId.Insert( sProductSource, 0 );
+ }
+
+ // --> PB 2008-10-30 #i94693#
+ // if the build ids of the basis or ure layer are different from the build id
+ // of the brand layer then show them
+ rtl::OUString aBasisProductBuildId( DEFINE_CONST_OUSTRING(
+ "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":ProductBuildid}" ) );
+ rtl::Bootstrap::expandMacros( aBasisProductBuildId );
+ rtl::OUString aUREProductBuildId( DEFINE_CONST_OUSTRING(
+ "${$URE_BIN_DIR/" SAL_CONFIGFILE("version") ":ProductBuildid}" ) );
+ rtl::Bootstrap::expandMacros( aUREProductBuildId );
+ if ( sBuildId.Search( String( aBasisProductBuildId ) ) == STRING_NOTFOUND
+ || sBuildId.Search( String( aUREProductBuildId ) ) == STRING_NOTFOUND )
+ {
+ String sTemp( '-' );
+ sTemp += String( aBasisProductBuildId );
+ sTemp += '-';
+ sTemp += String( aUREProductBuildId );
+ sBuildId.Insert( sTemp, sBuildId.Search( ')' ) );
+ }
+ // <--
+
+ // the build id format is "milestone(build)[cwsname]". For readability, it would
+ // be nice to have some more spaces in there.
+ xub_StrLen nPos = 0;
+ if ( ( nPos = sBuildId.Search( sal_Unicode( '(' ) ) ) != STRING_NOTFOUND )
+ sBuildId.Insert( sal_Unicode( ' ' ), nPos );
+ if ( ( nPos = sBuildId.Search( sal_Unicode( '[' ) ) ) != STRING_NOTFOUND )
+ sBuildId.Insert( sal_Unicode( ' ' ), nPos );
+ return sBuildId;
+}
+
+AboutDialog::AboutDialog( Window* pParent, const ResId& rId ) :
+
+ SfxModalDialog ( pParent, rId ),
+
+ 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 ( 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;
+
+ // load image from module path
+ aAppLogo = SfxApplication::GetApplicationLogo();
+
+ // Transparenter Font
+ Font aFont = GetFont();
+ aFont.SetTransparent( TRUE );
+ SetFont( aFont );
+
+ // if necessary more info
+ String sVersion = aVersionText.GetText();
+ sVersion.SearchAndReplaceAscii( "$(VER)", Application::GetDisplayName() );
+ sVersion += '\n';
+ sVersion += aDevVersionStr;
+ aVersionText.SetText( sVersion );
+
+ // Initialisierung fuer Aufruf Entwickler
+ if ( aAccelStr.Len() && ByteString(U2S(aAccelStr)).IsAlphaAscii() )
+ {
+ Accelerator *pAccel = 0, *pPrevAccel = 0, *pFirstAccel = 0;
+ aAccelStr.ToUpperAscii();
+
+ for ( USHORT i = 0; i < aAccelStr.Len(); ++i )
+ {
+ pPrevAccel = pAccel;
+ pAccel = new Accelerator;
+ aAccelList.Insert( pAccel, LIST_APPEND );
+ USHORT 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( TRUE );
+
+ aVersionText.SetFont( aNewFont );
+ aCopyrightText.SetFont( aNewFont );
+
+ aVersionText.SetBackground();
+ aCopyrightText.SetBackground();
+
+ Color aTextColor( rSettings.GetWindowTextColor() );
+ aVersionText.SetControlForeground( aTextColor );
+ aCopyrightText.SetControlForeground( aTextColor );
+ aBuildData.SetBackground( aWall );
+
+ 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 );
+ aBuildData.SetBackground( aWall );
+#ifdef BUILD_VER_STRING
+ String aBuildString( DEFINE_CONST_UNICODE( BUILD_VER_STRING ) );
+#else
+ String aBuildString;
+#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();
+
+ Size a6Size = aVersionText.LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
+ long nY = aAppLogoSiz.Height() + ( a6Size.Height() * 2 );
+ long nDlgMargin = a6Size.Width() * 4 ;
+ long nCtrlMargin = a6Size.Height() * 2;
+ long nTextWidth = aOutSiz.Width() - nDlgMargin;
+
+ aCopyrightText.SetText( aCopyrightTextStr );
+
+ layoutText( aVersionText, nY, nTextWidth, a6Size );
+ nY += 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 );
+
+ // Change the width of the dialog
+ SetOutputSizePixel( aOutSiz );
+
+ FreeResource();
+
+ SetHelpId( CMD_SID_ABOUT );
+}
+
+// -----------------------------------------------------------------------
+
+AboutDialog::~AboutDialog()
+{
+ // L"oschen des Entwickleraufrufs
+ delete pDeveloperAry;
+ if ( aAccelList.Count() )
+ {
+ GetpApp()->RemoveAccel( aAccelList.First() );
+ Accelerator* pAccel = aAccelList.Last();
+
+ while ( pAccel )
+ {
+ delete pAccel;
+ pAccel = aAccelList.Prev();
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+IMPL_LINK( AboutDialog, TimerHdl, Timer *, pTimer )
+{
+ (void)pTimer; //unused
+ ++m_nPendingScrolls;
+ Invalidate( INVALIDATE_NOERASE | INVALIDATE_NOCHILDREN );
+ return 0;
+}
+
+// -----------------------------------------------------------------------
+
+IMPL_LINK( AboutDialog, AccelSelectHdl, Accelerator *, pAccelerator )
+{
+#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") );
+#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 = FALSE;
+
+ // start scroll Timer
+ aTimer.SetTimeout( SCROLL_TIMER );
+ aTimer.Start();
+ return 0;
+}
+
+// -----------------------------------------------------------------------
+
+BOOL AboutDialog::Close()
+{
+ // stop Timer and finish the dialog
+ aTimer.Stop();
+ EndDialog( RET_OK );
+ return( FALSE );
+}
+
+// -----------------------------------------------------------------------
+
+void AboutDialog::Paint( const Rectangle& rRect )
+{
+ SetClipRegion( rRect );
+
+ 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 = TRUE;
+ Close();
+ }
+}
diff --git a/cui/source/dialogs/about.hrc b/cui/source/dialogs/about.hrc
new file mode 100644
index 000000000..b98d03f10
--- /dev/null
+++ b/cui/source/dialogs/about.hrc
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include <sfx2/sfx.hrc>
+
+#define ABOUT_BTN_OK 1
+#define ABOUT_FTXT_VERSION 1
+#define ABOUT_STR_ACCEL 3
+#define ABOUT_FTXT_COPYRIGHT 4
+
diff --git a/cui/source/dialogs/about.src b/cui/source/dialogs/about.src
new file mode 100644
index 000000000..fb6466e4a
--- /dev/null
+++ b/cui/source/dialogs/about.src
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "about.hrc"
+
+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
+ {
+ DefButton = TRUE ;
+ Pos = MAP_APPFONT ( 174 , 6 ) ;
+ Size = MAP_APPFONT ( 50 , 14 ) ;
+ };
+ FixedText ABOUT_FTXT_VERSION
+ {
+ Pos = MAP_APPFONT ( 54 , 6 ) ;
+ Size = MAP_APPFONT ( 118 , 16 ) ;
+ WordBreak = TRUE ;
+ Text = "%PRODUCTNAME %ABOUTBOXPRODUCTVERSION %PRODUCTEXTENSION" ;
+ };
+ MultiLineEdit ABOUT_FTXT_COPYRIGHT
+ {
+ HelpID = "cui:MultiLineEdit:RID_DEFAULTABOUT:ABOUT_FTXT_COPYRIGHT";
+ Border = TRUE ;
+ Pos = MAP_APPFONT ( 54 , 25 ) ;
+ Size = MAP_APPFONT ( 168 , 51 ) ;
+ IgnoreTab = TRUE ;
+ ReadOnly = TRUE ;
+ AutoVScroll = TRUE ;
+ };
+ String ABOUT_STR_ACCEL
+ {
+ Text = "SDT" ;
+ };
+};
+
diff --git a/cui/source/dialogs/makefile.mk b/cui/source/dialogs/makefile.mk
index 12239a1ac..67bc5962c 100755..100644
--- a/cui/source/dialogs/makefile.mk
+++ b/cui/source/dialogs/makefile.mk
@@ -42,6 +42,7 @@ CFLAGS+= -DENABLE_LAYOUT=1 -I../$(PRJ)/layout/inc -I../$(PRJ)/layout/$(INPATH)/i
SRS1NAME=dialogs
SRC1FILES = \
+ about.src \
charmap.src \
commonlingui.src \
cuiimapdlg.src \
@@ -72,6 +73,7 @@ SRC1FILES = \
SLOFILES+=\
+ $(SLO)$/about.obj \
$(SLO)$/commonlingui.obj \
$(SLO)$/cuicharmap.obj \
$(SLO)$/cuifmsearch.obj \
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 0a48dcfc3..64701c697 100755..100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -103,6 +103,8 @@
#include "passwdomdlg.hxx"
#include "hyphen.hxx"
#include "thesdlg.hxx"
+#include "about.hxx"
+#include "dialmgr.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::frame;
@@ -1004,6 +1006,11 @@ VclAbstractDialog* AbstractDialogFactory_Impl::CreateVclDialog( Window* pParent,
Dialog* pDlg=NULL;
switch ( nResId )
{
+ case RID_DEFAULTABOUT:
+ {
+ pDlg = new AboutDialog( pParent, CUI_RES( (USHORT) nResId ) );
+ break;
+ }
case SID_OPTIONS_TREEDIALOG :
case SID_OPTIONS_DATABASES :
case SID_LANGUAGE_OPTIONS :
diff --git a/cui/source/inc/about.hxx b/cui/source/inc/about.hxx
new file mode 100644
index 000000000..93cb0dea7
--- /dev/null
+++ b/cui/source/inc/about.hxx
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _ABOUT_HXX
+#define _ABOUT_HXX
+
+// include ---------------------------------------------------------------
+
+#include <tools/resary.hxx>
+#include <vcl/button.hxx>
+#include <vcl/accel.hxx>
+#include <svtools/svmedit.hxx>
+#include <tools/list.hxx>
+#include <svtools/stdctrl.hxx>
+#include <sfx2/basedlgs.hxx> // SfxModalDialog
+
+DECLARE_LIST( AccelList, Accelerator* )
+
+// class AboutDialog -----------------------------------------------------
+
+class AboutDialog : public SfxModalDialog
+{
+private:
+ OKButton aOKButton;
+ Image aAppLogo;
+
+ 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;
+
+ BOOL bNormal;
+
+protected:
+ virtual BOOL Close();
+ virtual void Paint( const Rectangle& );
+
+public:
+ AboutDialog( Window* pParent, const ResId& nId );
+ ~AboutDialog();
+
+ DECL_LINK( TimerHdl, Timer * );
+ DECL_LINK( AccelSelectHdl, Accelerator * );
+};
+
+#endif // #ifndef _ABOUT_HXX
+
+
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index 7f08872b4..b5d0cb3f0 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -869,26 +869,8 @@ void OfaTreeOptionsDialog::ApplyItemSets()
void OfaTreeOptionsDialog::InitTreeAndHandler()
{
aTreeLB.SetNodeDefaultImages();
-
- String sResName = String::CreateFromAscii( "iso" );
- ResMgr* pIsoRes = ResMgr::CreateResMgr( ::rtl::OUStringToOString( sResName, RTL_TEXTENCODING_UTF8 ) );
- if ( !pIsoRes )
- {
- // Fallback: Use ooo resource file
- String sOOoName = String::CreateFromAscii( "ooo" );
- pIsoRes = ResMgr::CreateResMgr( ::rtl::OUStringToOString( sOOoName, RTL_TEXTENCODING_UTF8 ) );
- }
-
- //! ResMgr* pIsoRes = SFX_APP()->GetLabelResManager();
- ResId aImgLstRes( RID_IMGLIST_TREEOPT, *pIsoRes );
- aImgLstRes.SetRT( RSC_IMAGELIST );
- if ( pIsoRes->IsAvailable( aImgLstRes ) )
- aPageImages = ImageList( ResId( RID_IMGLIST_TREEOPT, *pIsoRes ) );
- ResId aImgLstHCRes( RID_IMGLIST_TREEOPT_HC, *pIsoRes );
- aImgLstHCRes.SetRT( RSC_IMAGELIST );
- if ( pIsoRes->IsAvailable( aImgLstHCRes ) )
- aPageImagesHC = ImageList( ResId( RID_IMGLIST_TREEOPT_HC, *pIsoRes ) );
- delete pIsoRes;
+ aPageImages = ImageList( CUI_RES( RID_IMGLIST_TREEOPT ) );
+ aPageImagesHC = ImageList( CUI_RES( RID_IMGLIST_TREEOPT_HC ) );
aTreeLB.SetHelpId( HID_OFADLG_TREELISTBOX );
aTreeLB.SetStyle( aTreeLB.GetStyle()|WB_HASBUTTONS | WB_HASBUTTONSATROOT |
diff --git a/cui/source/options/treeopt.src b/cui/source/options/treeopt.src
index 4c41df2d2..002bc4d54 100644
--- a/cui/source/options/treeopt.src
+++ b/cui/source/options/treeopt.src
@@ -306,47 +306,37 @@ String RID_RIDER_SLL_PERSONAL
Text [ en-US ] = "Personal certificates" ;
};
-// ******************************************************************* EOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+#define MASK_COL MaskColor = Color { Red = 0xFF00; Green = 0x0000; Blue = 0xFF00; } ;
+#define IMGLST_IDLST \
+ IdList = { \
+ SID_GENERAL_OPTIONS; \
+ SID_LANGUAGE_OPTIONS; \
+ SID_INET_DLG; \
+ SID_SW_EDITOPTIONS; \
+ SID_SW_ONLINEOPTIONS; \
+ SID_SC_EDITOPTIONS; \
+ SID_SD_EDITOPTIONS; \
+ SID_SD_GRAPHIC_OPTIONS; \
+ SID_SM_EDITOPTIONS; \
+ SID_SCH_EDITOPTIONS; \
+ SID_SB_STARBASEOPTIONS; \
+ SID_FILTER_DLG; \
+ }; \
+ IdCount = { \
+ 12; \
+ };
+ImageList RID_IMGLIST_TREEOPT
+{
+ Prefix = "tr";
+ MASK_COL
+ IMGLST_IDLST
+};
+ImageList RID_IMGLIST_TREEOPT_HC
+{
+ Prefix = "trh";
+ MASK_COL
+ IMGLST_IDLST
+};