void QDockWidgetPrivate::updateButtons() { Q_Q(QDockWidget); QDockWidgetLayout *dwLayout = qobject_cast<QDockWidgetLayout*>(layout); QStyleOptionDockWidget opt; q->initStyleOption(&opt); bool customTitleBar = dwLayout->widgetForRole(QDockWidgetLayout::TitleBar) != 0; bool nativeDeco = dwLayout->nativeWindowDeco(); bool hideButtons = nativeDeco || customTitleBar; bool canClose = hasFeature(this, QDockWidget::DockWidgetClosable); bool canFloat = hasFeature(this, QDockWidget::DockWidgetFloatable); QAbstractButton *button = qobject_cast<QAbstractButton*>(dwLayout->widgetForRole(QDockWidgetLayout::FloatButton)); button->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarNormalButton, &opt, q)); button->setVisible(canFloat && !hideButtons); button = qobject_cast <QAbstractButton*>(dwLayout->widgetForRole(QDockWidgetLayout::CloseButton)); button->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarCloseButton, &opt, q)); button->setVisible(canClose && !hideButtons); q->setAttribute(Qt::WA_ContentsPropagated, (canFloat || canClose) && !hideButtons); layout->invalidate(); }
FirstRunWizard::FirstRunWizard(QWidget* parent, Qt::WindowFlags flags) : QWizard(parent, flags) { setWindowTitle(tr("Shaman first run")); addPage(new IntroPage); addPage(new SecurityPage); addPage(new ConfigurationPage); #ifdef KDE4_INTEGRATION addPage(new KDEPage); #endif addPage(new FinishPage); #ifdef KDE4_INTEGRATION QAbstractButton *bt = button(CancelButton); bt->setIcon(KIcon("dialog-close")); setButton(CancelButton, bt); bt = button(BackButton); bt->setIcon(KIcon("go-previous")); setButton(BackButton, bt); bt = button(NextButton); bt->setIcon(KIcon("go-next")); bt->setLayoutDirection(Qt::RightToLeft); setButton(NextButton, bt); #endif setButtonText(CancelButton, tr("Skip wizard")); setButtonText(NextButton, tr("Next")); setButtonText(BackButton, tr("Back")); }
QAbstractButton *FormMultiWidget::makeButton(const QIcon &icon, const char *slot) { QAbstractButton *btn = new QToolButton(this); btn->setIcon(icon); btn->setFixedSize(icon.availableSizes().first() /* + something */); btn->setFocusPolicy(Qt::NoFocus); connect(btn, SIGNAL(clicked()), slot); return btn; }
void TicTacToe::on_buttonNewGame_clicked() { QListIterator<QAbstractButton *> i(gameField->buttons()); while (i.hasNext()) { QAbstractButton *qab = i.next(); qab->setEnabled(true); qab->setIcon(QIcon()); qab->setWhatsThis(""); } buttonNewGame->setEnabled(false); switchPlayer(); }
void Dialog::setButtonIcon(ButtonCode button, const QIcon &icon) { QAbstractButton *b = getButton(button); if (b) { b->setIcon(icon); } }
SlideShow::SlideShow(QWidget *parent) : QWidget(parent) , imageViewer(0) , playlist(0) , statusLabel(0) , countdownLabel(0) , playButton(0) , stopButton(0) , viewerLayout(0) { imageViewer = new QMediaImageViewer(this); connect(imageViewer, SIGNAL(stateChanged(QMediaImageViewer::State)), this, SLOT(stateChanged(QMediaImageViewer::State))); connect(imageViewer, SIGNAL(mediaStatusChanged(QMediaImageViewer::MediaStatus)), this, SLOT(statusChanged(QMediaImageViewer::MediaStatus))); connect(imageViewer, SIGNAL(elapsedTimeChanged(int)), this, SLOT(elapsedTimeChanged(int))); playlist = new QMediaPlaylist; imageViewer->bind(playlist); connect(playlist, SIGNAL(loaded()), this, SLOT(playlistLoaded())); connect(playlist, SIGNAL(loadFailed()), this, SLOT(playlistLoadFailed())); connect(playlist, SIGNAL(loaded()), this, SLOT(playlistLoaded())); connect(playlist, SIGNAL(loadFailed()), this, SLOT(playlistLoadFailed())); QVideoWidget *videoWidget = new QVideoWidget; imageViewer->bind(videoWidget); statusLabel = new QLabel(tr("%1 Images").arg(0)); statusLabel->setAlignment(Qt::AlignCenter); viewerLayout = new QStackedLayout; viewerLayout->setStackingMode(QStackedLayout::StackAll); viewerLayout->addWidget(videoWidget); viewerLayout->addWidget(statusLabel); statusLabel = new QLabel(tr("%1 Images").arg(0)); statusLabel->setAlignment(Qt::AlignCenter); viewerLayout = new QStackedLayout; viewerLayout->setStackingMode(QStackedLayout::StackAll); viewerLayout->addWidget(videoWidget); viewerLayout->addWidget(statusLabel); QMenu *openMenu = new QMenu(this); openMenu->addAction(tr("Directory..."), this, SLOT(openDirectory())); openMenu->addAction(tr("Playlist..."), this, SLOT(openPlaylist())); QToolButton *openButton = new QToolButton; openButton->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton)); openButton->setMenu(openMenu); openButton->setPopupMode(QToolButton::InstantPopup); playButton = new QToolButton; playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); playButton->setEnabled(false); connect(playButton, SIGNAL(clicked()), this, SLOT(play())); connect(this, SIGNAL(enableButtons(bool)), playButton, SLOT(setEnabled(bool))); stopButton = new QToolButton; stopButton->setIcon(style()->standardIcon(QStyle::SP_MediaStop)); stopButton->setEnabled(false); connect(stopButton, SIGNAL(clicked()), imageViewer, SLOT(stop())); QAbstractButton *nextButton = new QToolButton; nextButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward)); nextButton->setEnabled(false); connect(nextButton, SIGNAL(clicked()), playlist, SLOT(next())); connect(this, SIGNAL(enableButtons(bool)), nextButton, SLOT(setEnabled(bool))); QAbstractButton *previousButton = new QToolButton; previousButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward)); previousButton->setEnabled(false); connect(previousButton, SIGNAL(clicked()), playlist, SLOT(previous())); connect(this, SIGNAL(enableButtons(bool)), previousButton, SLOT(setEnabled(bool))); countdownLabel = new QLabel; QBoxLayout *controlLayout = new QHBoxLayout; controlLayout->setMargin(0); controlLayout->addWidget(openButton); controlLayout->addStretch(1); controlLayout->addWidget(previousButton); controlLayout->addWidget(stopButton); controlLayout->addWidget(playButton); controlLayout->addWidget(nextButton); controlLayout->addStretch(1); controlLayout->addWidget(countdownLabel); QBoxLayout *layout = new QVBoxLayout; layout->addLayout(viewerLayout); layout->addLayout(controlLayout); setLayout(layout); }