Ignore:
Timestamp:
Aug 2, 2010, 9:27:30 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.3 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/widgets/qmenu_symbian.cpp

    r651 r769  
    150150
    151151        const int underlineShortCut = QApplication::style()->styleHint(QStyle::SH_UnderlineShortcut);
    152         QString iconText = action->action->iconText();
    153         TPtrC menuItemText = qt_QString2TPtrC( underlineShortCut ? action->action->text() : iconText);
     152        QString actionText;
     153        if (underlineShortCut)
     154            actionText = action->action->text().left(CEikMenuPaneItem::SData::ENominalTextLength);
     155        else
     156            actionText = action->action->iconText().left(CEikMenuPaneItem::SData::ENominalTextLength);
     157        TPtrC menuItemText = qt_QString2TPtrC(actionText);
    154158        if (action->action->menu()) {
    155159            SymbianMenuItem* menuItem = new SymbianMenuItem();
     
    257261    SymbianMenuItem* menu = qt_symbian_find_menu(id, symbianMenus);
    258262    if (menu) {
     263        // Normally first AddMenuItemL call for menuPane will create the item array.
     264        // However if we don't have any items, we still need the item array. Otherwise
     265        // menupane will crash. That's why we create item array here manually, and
     266        // AddMenuItemL will then use the existing array.
     267        CEikMenuPane::CItemArray* itemArray = q_check_ptr(new CEikMenuPane::CItemArray);
     268        menuPane->SetItemArray(itemArray);
     269        menuPane->SetItemArrayOwnedExternally(EFalse);
     270
    259271        for (int i = 0; i < menu->children.count(); ++i)
    260272            QT_TRAP_THROWING(menuPane->AddMenuItemL(menu->children.at(i)->menuItemData));
     
    317329}
    318330
     331void QMenuBarPrivate::reparentMenuBar(QWidget *oldParent, QWidget *newParent)
     332{
     333    if (menubars()->contains(oldParent)) {
     334        QMenuBarPrivate *object = menubars()->take(oldParent);
     335        menubars()->insert(newParent, object);
     336    }
     337}
     338
    319339QMenuBarPrivate::QSymbianMenuBarPrivate::QSymbianMenuBarPrivate(QMenuBarPrivate *menubar)
    320340{
Note: See TracChangeset for help on using the changeset viewer.