summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2009-01-02 15:26:18 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2009-01-02 15:26:18 +0000
commitfd7a3970bcb83087846232a3de4fa08b9b0dccfe (patch)
treec3707399e13348189abd8fa2724ed6a6ee4b9da9 /sfx2
parent2c579a73a7ca9891e044baca8e73608f19c2376d (diff)
CWS-TOOLING: integrate CWS vcl97
2008-12-11 20:47:52 +0100 pl r265361 : #i93173# revert change, event listeners on the toolbar can lead to crashes 2008-12-11 17:55:54 +0100 pl r265344 : #i92715# fix some border cases 2008-12-11 16:36:01 +0100 pl r265334 : remove forgotten debug printf 2008-12-11 15:54:25 +0100 pl r265323 : add missing pointer initializer 2008-12-11 14:08:44 +0100 as r265297 : #i86520# dont show start module twice 2008-12-11 12:56:34 +0100 as r265289 : #i86520# dont show start module twice 2008-12-11 12:22:18 +0100 pl r265280 : fix a snafu 2008-12-11 12:15:27 +0100 hdu r265279 : #i96549# change some dbg_assert to dbg_warn 2008-12-11 11:57:22 +0100 pl r265276 : #i86520# startcenter on dock item click for mac 2008-12-11 11:31:47 +0100 pl r265271 : #i96964# fix a wrong condition 2008-12-11 11:21:49 +0100 as r265268 : #i86520# new framework slot for ShowStartModule 2008-12-11 10:17:32 +0100 hdu r265251 : #i97127# use fontconfig fallbacks for psprinting too (thanks CMC!) 2008-12-09 10:18:41 +0100 hdu r265060 : #i96549# workaround MAC_OS_X_VERSION_* macros not defined in older SDKs 2008-12-09 09:39:47 +0100 hdu r265057 : #i89650# workaround bogus device resolutions 2008-12-09 09:14:23 +0100 hdu r265054 : #i96549# set MAC_OS_X_VERSION_MIN_REQUIRED=1040 2008-12-08 19:17:42 +0100 pl r265016 : CWS-TOOLING: rebase CWS vcl97 to trunk@264807 (milestone: DEV300:m37) 2008-12-08 16:06:58 +0100 hdu r265004 : #i96549# set MAC_OS_X_VERSION_MIN_REQUIRED=1040 only for the Aqua port 2008-12-08 12:16:26 +0100 hdu r264988 : #i96549# prepare for MAC_OS_X_VERSION_MIN_REQUIRED>=1050 2008-12-08 11:59:25 +0100 hdu r264982 : #i96549# set MAC_OS_X_VERSION_MIN_REQUIRED=1040 2008-12-04 18:19:43 +0100 pl r264866 : #i86520# install a handler to be called on dock icon clicked 2008-12-03 13:04:32 +0100 pl r264769 : #i96551# on quartz build neither gtk nor cups in psprint is needed 2008-11-26 15:07:07 +0100 hdu r264400 : #i96317# adjust to extented SAL_DISABLE_FC_SUBST semantic 2008-11-21 16:15:31 +0100 pl r264147 : #i94443# generalize focus behavior when a child window becomes invisible 2008-11-21 15:45:03 +0100 pl r264144 : #i96433# improve torn off toolbar behavior 2008-11-21 11:50:01 +0100 pl r264119 : #i90083# improve key event dispatching 2008-11-20 17:28:03 +0100 pl r264076 : #i92715# do not execute app events during document recovery 2008-11-20 15:04:32 +0100 pl r264057 : #i92224# #i93249# more aqua key codes 2008-11-20 14:03:00 +0100 pl r264052 : #i92224# #i93249# remove debug printf 2008-11-20 14:00:29 +0100 pl r264049 : #i92224# #i93249# more aqua key codes 2008-11-20 13:59:34 +0100 pl r264048 : #i92224# #i93249# more aqua key codes 2008-11-20 13:52:38 +0100 pl r264047 : #i92224# #i93249# more aqua key codes 2008-11-19 18:42:17 +0100 pl r264017 : #i93249# support some mac specifc key codes: select to line end/begin 2008-11-19 18:40:26 +0100 pl r264016 : #i93249# support some mac specifc key codes: select to line end/begin 2008-11-19 18:32:31 +0100 pl r264014 : #i92224# support some mac specifc key codes: select to line end/begin 2008-11-19 17:34:50 +0100 pl r264009 : #i92224# some more needed keycodes 2008-11-19 16:11:33 +0100 pl r264003 : #i93249# support some mac specifc key codes 2008-11-19 16:10:31 +0100 pl r264002 : #i93249# support some mac specifc key codes 2008-11-19 15:50:03 +0100 pl r264000 : #i93249# support some mac specifc key codes 2008-11-19 14:17:41 +0100 pl r263993 : #i90015# strip appended parenthese entries from menubar 2008-11-17 18:30:37 +0100 pl r263737 : #i94601# emulate menu functionality for non vcl dialogs 2008-11-17 17:31:12 +0100 pl r263731 : #i95263# set inactive tab color on mac more distinct from the active tab color 2008-11-17 17:13:38 +0100 pl r263729 : #i93173# delete toolbar window in a more stack aware manner
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/appl/app.hrc1
-rw-r--r--sfx2/source/appl/app.src5
-rw-r--r--sfx2/source/appl/shutdownicon.cxx13
-rw-r--r--sfx2/source/appl/shutdownicon.hxx1
-rw-r--r--sfx2/source/appl/shutdowniconaqua.mm86
5 files changed, 68 insertions, 38 deletions
diff --git a/sfx2/source/appl/app.hrc b/sfx2/source/appl/app.hrc
index 27869b0d3b..eef1f64e39 100644
--- a/sfx2/source/appl/app.hrc
+++ b/sfx2/source/appl/app.hrc
@@ -216,6 +216,7 @@
#define STR_HELP_MENU_TEXT_COPY (RID_SFX_APP_START+144)
#define STR_QUICKSTART_PRELAUNCH_UNX (RID_SFX_APP_START+146)
#define STR_QUICKSTART_FILE (RID_SFX_APP_START+147)
+#define STR_QUICKSTART_STARTCENTER (RID_SFX_APP_START+148)
#define RID_HELP_ONSTARTUP_BOX (RID_SFX_APP_START+144)
#define RID_HELP_ONSTARTUP_TEXT (RID_SFX_APP_START+145)
diff --git a/sfx2/source/appl/app.src b/sfx2/source/appl/app.src
index 64af7744d7..f9a1caac74 100644
--- a/sfx2/source/appl/app.src
+++ b/sfx2/source/appl/app.src
@@ -1029,6 +1029,11 @@ String STR_QUICKSTART_FILE
Text [ en-US ] = "File";
};
+String STR_QUICKSTART_STARTCENTER
+{
+ Text [ en-US ] = "Startcenter";
+};
+
String STR_QUERY_UPDATE_LINKS
{
Text [ en-US ] = "Update all links?" ;
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
index 12fa73f436..3acd732095 100644
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -680,19 +680,6 @@ void SAL_CALL ShutdownIcon::initialize( const ::com::sun::star::uno::Sequence< :
ShutdownIcon::getInstance()->addTerminateListener();
}
#endif
-#ifdef OS2
- // above win32 starts the quickstart thread, but we have
- // quickstart running only when -quickstart is specified
- // on command line (next boot).
- // so if -quickstart was not specified, we cannot issue
- // quickstart veto on shutdown.
- if (bQuickstart)
- {
- // disable shutdown
- ShutdownIcon::getInstance()->SetVeto( true );
- ShutdownIcon::getInstance()->addTerminateListener();
- }
-#endif
}
catch(const ::com::sun::star::lang::IllegalArgumentException&)
{
diff --git a/sfx2/source/appl/shutdownicon.hxx b/sfx2/source/appl/shutdownicon.hxx
index dc29cfd83f..a1c836cbea 100644
--- a/sfx2/source/appl/shutdownicon.hxx
+++ b/sfx2/source/appl/shutdownicon.hxx
@@ -44,6 +44,7 @@ typedef ::cppu::WeakComponentImplHelper4<
#define DRAW_URL "private:factory/sdraw"
#define MATH_URL "private:factory/smath"
#define BASE_URL "private:factory/sdatabase?Interactive"
+#define STARTMODULE_URL ".uno:ShowStartModule"
#endif
class SFX2_DLLPUBLIC ShutdownIcon : public ShutdownIconServiceBase
diff --git a/sfx2/source/appl/shutdowniconaqua.mm b/sfx2/source/appl/shutdowniconaqua.mm
index 0b57b006e3..92f0408ead 100644
--- a/sfx2/source/appl/shutdowniconaqua.mm
+++ b/sfx2/source/appl/shutdowniconaqua.mm
@@ -61,12 +61,13 @@ using namespace ::com::sun::star::beans;
#define MI_BASE 6
#define MI_MATH 7
#define MI_TEMPLATE 8
-
+#define MI_STARTMODULE 9
@interface QSMenuExecute : NSObject
{
}
-(void)executeMenuItem: (NSMenuItem*)pItem;
+-(void)dockIconClicked: (NSObject*)pSender;
@end
@implementation QSMenuExecute
@@ -98,10 +99,20 @@ using namespace ::com::sun::star::beans;
case MI_TEMPLATE:
ShutdownIcon::FromTemplate();
break;
+ case MI_STARTMODULE:
+ ShutdownIcon::OpenURL( OUString( RTL_CONSTASCII_USTRINGPARAM( STARTMODULE_URL ) ), OUString( RTL_CONSTASCII_USTRINGPARAM( "_default" ) ) );
+ break;
default:
break;
}
}
+
+-(void)dockIconClicked: (NSObject*)pSender
+{
+ // start start module
+ ShutdownIcon::OpenURL( OUString( RTL_CONSTASCII_USTRINGPARAM( STARTMODULE_URL ) ), OUString( RTL_CONSTASCII_USTRINGPARAM( "_default" ) ) );
+}
+
@end
bool ShutdownIcon::IsQuickstarterInstalled()
@@ -119,16 +130,13 @@ static NSString* getAutoreleasedString( const rtl::OUString& rStr )
return [[[NSString alloc] initWithCharacters: rStr.getStr() length: rStr.getLength()] autorelease];
}
-static void appendMenuItem( NSMenu* pMenu, NSMenu* pDockMenu, const rtl::OUString& rTitle, int nTag )
+static rtl::OUString getShortCut( const rtl::OUString i_rTitle )
{
- if( ! rTitle.getLength() )
- return;
-
// create shortcut
rtl::OUString aKeyEquiv;
- for( sal_Int32 nIndex = 0; nIndex < rTitle.getLength(); nIndex++ )
+ for( sal_Int32 nIndex = 0; nIndex < i_rTitle.getLength(); nIndex++ )
{
- rtl::OUString aShortcut( rTitle.copy( nIndex, 1 ).toAsciiLowerCase() );
+ rtl::OUString aShortcut( i_rTitle.copy( nIndex, 1 ).toAsciiLowerCase() );
if( aShortcuts.find( aShortcut ) == aShortcuts.end() )
{
aShortcuts.insert( aShortcut );
@@ -136,25 +144,36 @@ static void appendMenuItem( NSMenu* pMenu, NSMenu* pDockMenu, const rtl::OUStrin
break;
}
}
+
+ return aKeyEquiv;
+}
+
+static void appendMenuItem( NSMenu* i_pMenu, NSMenu* i_pDockMenu, const rtl::OUString& i_rTitle, int i_nTag, const rtl::OUString& i_rKeyEquiv )
+{
+ if( ! i_rTitle.getLength() )
+ return;
- NSMenuItem* pItem = [[NSMenuItem alloc] initWithTitle: getAutoreleasedString( rTitle )
+ NSMenuItem* pItem = [[NSMenuItem alloc] initWithTitle: getAutoreleasedString( i_rTitle )
action: @selector(executeMenuItem:)
- keyEquivalent: (aKeyEquiv.getLength() ? getAutoreleasedString( aKeyEquiv ) : @"")
+ keyEquivalent: (i_rKeyEquiv.getLength() ? getAutoreleasedString( i_rKeyEquiv ) : @"")
];
- [pItem setTag: nTag];
+ [pItem setTag: i_nTag];
[pItem setTarget: pExecute];
[pItem setEnabled: YES];
- [pMenu addItem: pItem];
+ [i_pMenu addItem: pItem];
- // create a similar entry in the dock menu
- pItem = [[NSMenuItem alloc] initWithTitle: getAutoreleasedString( rTitle )
- action: @selector(executeMenuItem:)
- keyEquivalent: @""
- ];
- [pItem setTag: nTag];
- [pItem setTarget: pExecute];
- [pItem setEnabled: YES];
- [pDockMenu addItem: pItem];
+ if( i_pDockMenu )
+ {
+ // create a similar entry in the dock menu
+ pItem = [[NSMenuItem alloc] initWithTitle: getAutoreleasedString( i_rTitle )
+ action: @selector(executeMenuItem:)
+ keyEquivalent: @""
+ ];
+ [pItem setTag: i_nTag];
+ [pItem setTarget: pExecute];
+ [pItem setEnabled: YES];
+ [i_pDockMenu addItem: pItem];
+ }
}
@@ -203,7 +222,7 @@ void aqua_init_systray()
if ( sURL.getLength() )
aFileNewAppsAvailable.insert( sURL );
}
-
+
// describe the menu entries for launching the applications
struct MenuEntryDescriptor
{
@@ -220,6 +239,17 @@ void aqua_init_systray()
{ SvtModuleOptions::E_SMATH, MI_MATH, MATH_URL }
};
+ // insert entry for startcenter
+ if( aModuleOptions.IsModuleInstalled( SvtModuleOptions::E_SSTARTMODULE ) )
+ {
+ appendMenuItem( pMenu, nil, pShutdownIcon->GetResString( STR_QUICKSTART_STARTCENTER ), MI_STARTMODULE, rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "n" ) ) );
+ if( [NSApp respondsToSelector: @selector(setDockIconClickHandler:)] )
+ [NSApp performSelector:@selector(setDockIconClickHandler:) withObject: pExecute];
+ else
+ DBG_ERROR( "setDockIconClickHandler selector failed on NSApp\n" );
+
+ }
+
// insert the menu entries for launching the applications
for ( size_t i = 0; i < sizeof( aMenuItems ) / sizeof( aMenuItems[0] ); ++i )
{
@@ -233,18 +263,24 @@ void aqua_init_systray()
// the application is installed, but the entry has been configured to *not* appear in the File/New
// menu => also let not appear it in the quickstarter
continue;
+
+ rtl::OUString aKeyEquiv( getShortCut( pShutdownIcon->GetUrlDescription( sURL ) ) );
- appendMenuItem( pMenu, pDockMenu, pShutdownIcon->GetUrlDescription( sURL ), aMenuItems[i].nMenuTag );
+ appendMenuItem( pMenu, pDockMenu, pShutdownIcon->GetUrlDescription( sURL ), aMenuItems[i].nMenuTag, aKeyEquiv );
}
// insert the remaining menu entries
- appendMenuItem( pMenu, pDockMenu, pShutdownIcon->GetResString( STR_QUICKSTART_FROMTEMPLATE ), MI_TEMPLATE );
- appendMenuItem( pMenu, pDockMenu, pShutdownIcon->GetResString( STR_QUICKSTART_FILEOPEN ), MI_OPEN );
+ rtl::OUString aTitle( pShutdownIcon->GetResString( STR_QUICKSTART_FROMTEMPLATE ) );
+ rtl::OUString aKeyEquiv( getShortCut( aTitle ) );
+ appendMenuItem( pMenu, pDockMenu, aTitle, MI_TEMPLATE, aKeyEquiv );
+ aTitle = pShutdownIcon->GetResString( STR_QUICKSTART_FILEOPEN );
+ aKeyEquiv = getShortCut( aTitle );
+ appendMenuItem( pMenu, pDockMenu, aTitle, MI_OPEN, aKeyEquiv );
[pDefMenu setSubmenu: pMenu];
[NSApp performSelector:@selector(addFallbackMenuItem:) withObject: pDefMenu];
- if( [NSApp respondsToSelector: @selector(addFallbackMenuItem:)] )
+ if( [NSApp respondsToSelector: @selector(addDockMenuItem:)] )
{
[pDockSubMenu setSubmenu: pDockMenu];
// insert a separator to the dock menu