-
- ///
- QStyleOptionMenuItem getStyleOption(QStyleOptionViewItem const & option,
- QModelIndex const & index) const
- {
- QComboBox * combo = static_cast<QComboBox *>(parent());
-
- // create the options for a menu item
- QStyleOptionMenuItem menuOption;
- menuOption.palette = QApplication::palette("QMenu");
- menuOption.state = QStyle::State_Active | QStyle::State_Enabled;
- menuOption.font = combo->font();
- menuOption.fontMetrics = QFontMetrics(menuOption.font);
- menuOption.rect = option.rect;
- menuOption.rect.setHeight(menuOption.fontMetrics.height());
- menuOption.menuRect = menuOption.rect;
- menuOption.tabWidth = 0;
- menuOption.text = index.model()->data(index, Qt::DisplayRole).toString()
- .replace(QLatin1Char('&'), QLatin1String("&&"));
- menuOption.menuItemType = QStyleOptionMenuItem::Normal;
- if (option.state & QStyle::State_Selected)
- menuOption.state |= QStyle::State_Selected;
- menuOption.checkType = QStyleOptionMenuItem::NotCheckable;
- menuOption.checked = false;
- return menuOption;
- }