diff options
Diffstat (limited to 'src/modelmenu.cpp')
-rw-r--r-- | src/modelmenu.cpp | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index 41c197f3..1aa5be16 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -155,15 +155,6 @@ void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu if (!menu) { -// QString title = parent.data().toString(); -// menu = new QMenu(title, this); -// QIcon icon = qvariant_cast<QIcon>(parent.data(Qt::DecorationRole)); -// menu->setIcon(icon); -// parentMenu->addMenu(menu); -// QVariant v; -// v.setValue(parent); -// menu->menuAction()->setData(v); -// connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow())); return; } @@ -177,20 +168,11 @@ void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu for (int i = 0; i < end; ++i) { QModelIndex idx = m_model->index(i, 0, parent); -// if (m_model->hasChildren(idx)) -// { -// createMenu(idx, -1, menu); -// } -// else -// { - if (m_separatorRole != 0 - && idx.data(m_separatorRole).toBool()) - addSeparator(); - else - menu->addAction(makeAction(idx)); -// } - if (menu == this && i == m_firstSeparator - 1) - addSeparator(); + + if( !m_model->hasChildren(idx) && ( m_separatorRole == 0 || !idx.data(m_separatorRole).toBool() ) ) + { + menu->addAction(makeAction(idx)); + } } } |