void ConnectDialog::populateSlotList(const QString &signal) { QString selectedName; if (const QListWidgetItem * item = m_ui.slotList->currentItem()) selectedName = item->text(); m_ui.slotList->clear(); QMap<QString, QString> memberToClassName = getMatchingSlots(m_formWindow->core(), m_destination, signal, showAllSignalsSlots()); QFont font = QApplication::font(); font.setItalic(true); QVariant variantFont = QVariant::fromValue(font); QListWidgetItem *curr = 0; QMap<QString, QString>::ConstIterator itMember = memberToClassName.constBegin(); const QMap<QString, QString>::ConstIterator itMemberEnd = memberToClassName.constEnd(); while (itMember != itMemberEnd) { const QString member = itMember.key(); QListWidgetItem *item = new QListWidgetItem(m_ui.slotList); item->setText(member); if (member == selectedName) curr = item; ++itMember; } if (curr) m_ui.slotList->setCurrentItem(curr); if (m_ui.slotList->selectedItems().isEmpty()) setOkButtonEnabled(false); }
void ConnectDialog::populateSlotList(const QString &signal) { enum { deprecatedSlot = 0 }; QString selectedName; if (const QListWidgetItem * item = m_ui.slotList->currentItem()) selectedName = item->text(); m_ui.slotList->clear(); QMap<QString, QString> memberToClassName = getMatchingSlots(m_formWindow->core(), m_destination, signal, showAllSignalsSlots()); QFont font = QApplication::font(); font.setItalic(true); QVariant variantFont = QVariant::fromValue(font); QListWidgetItem *curr = 0; QMap<QString, QString>::ConstIterator itMember = memberToClassName.constBegin(); const QMap<QString, QString>::ConstIterator itMemberEnd = memberToClassName.constEnd(); while (itMember != itMemberEnd) { const QString member = itMember.key(); QListWidgetItem *item = new QListWidgetItem(m_ui.slotList); item->setText(member); if (member == selectedName) curr = item; // Mark deprecated slots red. Not currently in use (historically for Qt 3 slots in Qt 4), // but may be used again in the future. if (deprecatedSlot) { item->setData(Qt::FontRole, variantFont); item->setData(Qt::ForegroundRole, QColor(Qt::red)); } ++itMember; } if (curr) m_ui.slotList->setCurrentItem(curr); if (m_ui.slotList->selectedItems().isEmpty()) setOkButtonEnabled(false); }