QList<QWidget*> ProgressListDelegate::createItemWidgets(const QModelIndex &index) const { Q_UNUSED( index ) QList<QWidget*> widgetList; QPushButton *pauseResumeButton = new QPushButton(); pauseResumeButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-pause"))); QPushButton *cancelButton = new QPushButton(); cancelButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-stop"))); QPushButton *clearButton = new QPushButton(QIcon::fromTheme(QStringLiteral("edit-clear")), i18n("Clear")); QProgressBar *progressBar = new QProgressBar(); connect(pauseResumeButton, &QAbstractButton::clicked, this, &ProgressListDelegate::slotPauseResumeClicked); connect(cancelButton, &QAbstractButton::clicked, this, &ProgressListDelegate::slotCancelClicked); connect(clearButton, &QAbstractButton::clicked, this, &ProgressListDelegate::slotClearClicked); setBlockedEventTypes(pauseResumeButton, QList<QEvent::Type>() << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick); setBlockedEventTypes(cancelButton, QList<QEvent::Type>() << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick); widgetList << pauseResumeButton << cancelButton << progressBar << clearButton; return widgetList; }
QList<QWidget *> PluginListWidgetItemDelegate::createItemWidgets() const { auto enabledCheckBox = new QCheckBox; connect(enabledCheckBox, SIGNAL(clicked(bool)), this, SLOT(slotStateChanged(bool))); auto aboutPushButton = new QPushButton; aboutPushButton->setIcon(m_iconsManager->iconByPath(KaduIcon("help-contents"))); connect(aboutPushButton, SIGNAL(clicked(bool)), this, SLOT(slotAboutClicked())); setBlockedEventTypes(enabledCheckBox, QList<QEvent::Type>() << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick << QEvent::KeyPress << QEvent::KeyRelease); setBlockedEventTypes(aboutPushButton, QList<QEvent::Type>() << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick << QEvent::KeyPress << QEvent::KeyRelease); return {enabledCheckBox, aboutPushButton}; }
QList< QWidget* > ScriptDelegate::createItemWidgets() const { QList<QWidget*> widgets; QCheckBox* enabled_check = new QCheckBox; connect(enabled_check, SIGNAL(clicked(bool)), this, SLOT(toggled(bool))); QPushButton* about_button = new QPushButton; about_button->setIcon(QIcon::fromTheme("dialog-information")); connect(about_button, SIGNAL(clicked(bool)), this, SLOT(aboutClicked())); QPushButton* configure_button = new QPushButton; configure_button->setIcon(QIcon::fromTheme("configure")); connect(configure_button, SIGNAL(clicked(bool)), this, SLOT(settingsClicked())); QList<QEvent::Type> blocked; blocked << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick; setBlockedEventTypes(enabled_check, blocked); setBlockedEventTypes(about_button, blocked); setBlockedEventTypes(configure_button, blocked); widgets << enabled_check << configure_button << about_button; return widgets; }
QList<QWidget*> ItemsViewDelegate::createItemWidgets() const { QList<QWidget*> list; QLabel * infoLabel = new QLabel(); infoLabel->setOpenExternalLinks(true); list << infoLabel; QToolButton * installButton = new QToolButton(); list << installButton; setBlockedEventTypes(installButton, QList<QEvent::Type>() << QEvent::MouseButtonPress << QEvent::MouseButtonRelease << QEvent::MouseButtonDblClick); connect(installButton, SIGNAL(triggered(QAction*)), this, SLOT(slotActionTriggered(QAction*))); connect(installButton, SIGNAL(clicked()), this, SLOT(slotInstallClicked())); QLabel * ratingLabel = new QLabel(); list << ratingLabel; return list; }