diff options
Diffstat (limited to 'src/plugins/platforms/cocoa/qmenu_mac.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qmenu_mac.mm | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/plugins/platforms/cocoa/qmenu_mac.mm b/src/plugins/platforms/cocoa/qmenu_mac.mm index db6dda79f1..68a24101e9 100644 --- a/src/plugins/platforms/cocoa/qmenu_mac.mm +++ b/src/plugins/platforms/cocoa/qmenu_mac.mm @@ -1,8 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) +** Contact: http://www.qt-project.org/ ** ** This file is part of the QtGui module of the Qt Toolkit. ** @@ -35,6 +34,7 @@ ** ** ** +** ** $QT_END_LICENSE$ ** ****************************************************************************/ @@ -237,7 +237,7 @@ static inline QT_MANGLE_NAMESPACE(QCocoaMenuLoader) *getMenuLoader() static NSMenuItem *createNSMenuItem(const QString &title) { NSMenuItem *item = [[NSMenuItem alloc] - initWithTitle:qt_mac_QStringToNSString(title) + initWithTitle:QCFString::toNSString(title) action:@selector(qtDispatcherToQAction:) keyEquivalent:@""]; [item setTarget:nil]; return item; @@ -636,22 +636,22 @@ void QCocoaMenu::syncAction(QCocoaMenuAction *action) // Cocoa Font and title if (action->action->font().resolve()) { const QFont &actionFont = action->action->font(); - NSFont *customMenuFont = [NSFont fontWithName:qt_mac_QStringToNSString(actionFont.family()) + NSFont *customMenuFont = [NSFont fontWithName:QCFString::toNSString(actionFont.family()) size:actionFont.pointSize()]; NSArray *keys = [NSArray arrayWithObjects:NSFontAttributeName, nil]; NSArray *objects = [NSArray arrayWithObjects:customMenuFont, nil]; NSDictionary *attributes = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; - NSAttributedString *str = [[[NSAttributedString alloc] initWithString:qt_mac_QStringToNSString(finalString) + NSAttributedString *str = [[[NSAttributedString alloc] initWithString:QCFString::toNSString(finalString) attributes:attributes] autorelease]; [item setAttributedTitle: str]; } else { - [item setTitle: qt_mac_QStringToNSString(finalString)]; + [item setTitle: QCFString::toNSString(finalString)]; } if (action->action->menuRole() == QAction::AboutRole || action->action->menuRole() == QAction::QuitRole) - [item setTitle:qt_mac_QStringToNSString(text)]; + [item setTitle:QCFString::toNSString(text)]; else - [item setTitle:qt_mac_QStringToNSString(qt_mac_removeMnemonics(text))]; + [item setTitle:QCFString::toNSString(qt_mac_removeMnemonics(text))]; // Cocoa Enabled [item setEnabled: action->action->isEnabled()]; @@ -776,9 +776,9 @@ void QCocoaMenu::setMenuEnabled(bool enable) /***************************************************************************** QMenuBar bindings *****************************************************************************/ -typedef QHash<QWidget *, QMenuBar *> MenuBarHash; +typedef QHash<QWidget *, QWeakPointer<QMenuBar> > MenuBarHash; Q_GLOBAL_STATIC(MenuBarHash, menubars) -static QMenuBar *fallback = 0; +static QWeakPointer<QMenuBar> fallback; QCocoaMenuBar::QCocoaMenuBar(QMenuBar *a_qtMenuBar) : menu(0), apple_menu(0), qtMenuBar(a_qtMenuBar) { @@ -873,7 +873,7 @@ void QCocoaMenuBar::syncAction(QCocoaMenuAction *action) if (submenu) { bool visible = actualMenuItemVisibility(this, action); [item setSubmenu: submenu]; - [submenu setTitle:qt_mac_QStringToNSString(qt_mac_removeMnemonics(action->action->text()))]; + [submenu setTitle:QCFString::toNSString(qt_mac_removeMnemonics(action->action->text()))]; syncNSMenuItemVisiblity(item, visible); if (release_submenu) { //no pointers to it [submenu release]; @@ -956,8 +956,8 @@ void QCocoaMenuBar::macCreateMenuBar(QWidget *parent) void QCocoaMenuBar::macDestroyMenuBar() { QCocoaAutoReleasePool pool; - if (fallback == qtMenuBar) - fallback = 0; + if (fallback.data() == qtMenuBar) + fallback.clear(); QWidget *tlw = qtMenuBar->window(); menubars()->remove(tlw); @@ -978,7 +978,7 @@ OSMenuRef QCocoaMenuBar::macMenu() if (GetCurrentProcess(&mine) == noErr && GetFrontProcess(&front) == noErr) { if (!qt_mac_no_menubar_merge && !apple_menu) { apple_menu = qt_mac_create_menu(qtMenuBar); - [apple_menu setTitle:qt_mac_QStringToNSString(QString(QChar(0x14)))]; + [apple_menu setTitle:QCFString::toNSString(QString(QChar(0x14)))]; NSMenuItem *apple_menuItem = [[NSMenuItem alloc] init]; [apple_menuItem setSubmenu:menu]; [apple_menu addItem:apple_menuItem]; @@ -1038,7 +1038,7 @@ static bool qt_mac_should_disable_menu(QMenuBar *menuBar) if (!modalWidget) return false; - if (menuBar && menuBar == menubars()->value(modalWidget)) + if (menuBar && menuBar == menubars()->value(modalWidget).data()) // The menu bar is owned by the modal widget. // In that case we should enable it: return false; @@ -1098,7 +1098,7 @@ static QMenuBar *findMenubarForWindow(QWidget *w) { QMenuBar *mb = 0; if (w) { - mb = menubars()->value(w); + mb = menubars()->value(w).data(); #if 0 // ### @@ -1111,13 +1111,13 @@ static QMenuBar *findMenubarForWindow(QWidget *w) } #endif while(w && !mb) - mb = menubars()->value((w = w->parentWidget())); + mb = menubars()->value((w = w->parentWidget())).data(); } if (!mb) { // We could not find a menu bar for the window. Lets // check if we have a global (parentless) menu bar instead: - mb = fallback; + mb = fallback.data(); } return mb; |