LogChangeDialog::LogChangeDialog(bool isReset, QWidget *parent) : QDialog(parent) , m_widget(new LogChangeWidget) , m_dialogButtonBox(new QDialogButtonBox(this)) , m_resetTypeComboBox(0) { auto layout = new QVBoxLayout(this); layout->addWidget(new QLabel(isReset ? tr("Reset to:") : tr("Select change:"), this)); layout->addWidget(m_widget); auto popUpLayout = new QHBoxLayout; if (isReset) { popUpLayout->addWidget(new QLabel(tr("Reset type:"), this)); m_resetTypeComboBox = new QComboBox(this); m_resetTypeComboBox->addItem(tr("Hard"), "--hard"); m_resetTypeComboBox->addItem(tr("Mixed"), "--mixed"); m_resetTypeComboBox->addItem(tr("Soft"), "--soft"); m_resetTypeComboBox->setCurrentIndex(GitPlugin::client()->settings().intValue( GitSettings::lastResetIndexKey)); popUpLayout->addWidget(m_resetTypeComboBox); popUpLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Ignored)); } popUpLayout->addWidget(m_dialogButtonBox); m_dialogButtonBox->addButton(QDialogButtonBox::Cancel); QPushButton *okButton = m_dialogButtonBox->addButton(QDialogButtonBox::Ok); layout->addLayout(popUpLayout); connect(m_dialogButtonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); connect(m_dialogButtonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); connect(m_widget, &LogChangeWidget::activated, okButton, [okButton] { okButton->animateClick(); }); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); resize(600, 400); }
/** * Handles the enter key event. * If it is the enter key that was pressed, the animatedClick slot is calle on the * QPushButton object. */ bool EnterKeyEventFilter::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyRelease) { QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) { QPushButton *button = static_cast<QPushButton*>(obj); button->animateClick(); return true; } } return false; }
void MainWindow::keyPressEvent(QKeyEvent * event) { for(QMap<QString, RemoteButton*>::Iterator it = KEY_MAP.begin(); it != KEY_MAP.end(); it++) { if(it.value()->key() == event->key()) { QPushButton* btn = it.value()->button(); // //emit btn->click(); btn->animateClick(100); // //sendKey(it.key()); } } }
void FreeSSM::keyPressEvent(QKeyEvent *event) { QWidget *widget = NULL; QPushButton *pushbutton = NULL; if ((event->key() == Qt::Key_Return) || (event->key() == Qt::Key_Enter)) { widget = this->focusWidget(); pushbutton = dynamic_cast<QPushButton*>(widget); if (pushbutton) pushbutton->animateClick(); } else if (event->key() == Qt::Key_Escape) { close(); } else QMainWindow::keyPressEvent(event); }
XFormWidget::XFormWidget(QWidget *parent) : QWidget(parent), textEditor(new QLineEdit) { setWindowTitle(tr("Affine Transformations")); view = new XFormView(this); view->setMinimumSize(200, 200); QGroupBox *mainGroup = new QGroupBox(this); mainGroup->setFixedWidth(180); mainGroup->setTitle(tr("Affine Transformations")); QGroupBox *rotateGroup = new QGroupBox(mainGroup); rotateGroup->setTitle(tr("Rotate")); QSlider *rotateSlider = new QSlider(Qt::Horizontal, rotateGroup); rotateSlider->setRange(0, 3600); rotateSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QGroupBox *scaleGroup = new QGroupBox(mainGroup); scaleGroup->setTitle(tr("Scale")); QSlider *scaleSlider = new QSlider(Qt::Horizontal, scaleGroup); scaleSlider->setRange(1, 4000); scaleSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QGroupBox *shearGroup = new QGroupBox(mainGroup); shearGroup->setTitle(tr("Shear")); QSlider *shearSlider = new QSlider(Qt::Horizontal, shearGroup); shearSlider->setRange(-990, 990); shearSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QGroupBox *typeGroup = new QGroupBox(mainGroup); typeGroup->setTitle(tr("Type")); QRadioButton *vectorType = new QRadioButton(typeGroup); QRadioButton *pixmapType = new QRadioButton(typeGroup); QRadioButton *textType= new QRadioButton(typeGroup); vectorType->setText(tr("Vector Image")); pixmapType->setText(tr("Pixmap")); textType->setText(tr("Text")); QPushButton *resetButton = new QPushButton(mainGroup); resetButton->setText(tr("Reset Transform")); QPushButton *animateButton = new QPushButton(mainGroup); animateButton->setText(tr("Animate")); animateButton->setCheckable(true); QPushButton *showSourceButton = new QPushButton(mainGroup); showSourceButton->setText(tr("Show Source")); #ifdef QT_OPENGL_SUPPORT QPushButton *enableOpenGLButton = new QPushButton(mainGroup); enableOpenGLButton->setText(tr("Use OpenGL")); enableOpenGLButton->setCheckable(true); enableOpenGLButton->setChecked(view->usesOpenGL()); if (!QGLFormat::hasOpenGL()) enableOpenGLButton->hide(); #endif QPushButton *whatsThisButton = new QPushButton(mainGroup); whatsThisButton->setText(tr("What's This?")); whatsThisButton->setCheckable(true); QHBoxLayout *viewLayout = new QHBoxLayout(this); viewLayout->addWidget(view); viewLayout->addWidget(mainGroup); QVBoxLayout *rotateGroupLayout = new QVBoxLayout(rotateGroup); rotateGroupLayout->addWidget(rotateSlider); QVBoxLayout *scaleGroupLayout = new QVBoxLayout(scaleGroup); scaleGroupLayout->addWidget(scaleSlider); QVBoxLayout *shearGroupLayout = new QVBoxLayout(shearGroup); shearGroupLayout->addWidget(shearSlider); QVBoxLayout *typeGroupLayout = new QVBoxLayout(typeGroup); typeGroupLayout->addWidget(vectorType); typeGroupLayout->addWidget(pixmapType); typeGroupLayout->addWidget(textType); typeGroupLayout->addSpacing(4); typeGroupLayout->addWidget(textEditor); QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); mainGroupLayout->addWidget(rotateGroup); mainGroupLayout->addWidget(scaleGroup); mainGroupLayout->addWidget(shearGroup); mainGroupLayout->addWidget(typeGroup); mainGroupLayout->addStretch(1); mainGroupLayout->addWidget(resetButton); mainGroupLayout->addWidget(animateButton); mainGroupLayout->addWidget(showSourceButton); #ifdef QT_OPENGL_SUPPORT mainGroupLayout->addWidget(enableOpenGLButton); #endif mainGroupLayout->addWidget(whatsThisButton); connect(rotateSlider, SIGNAL(valueChanged(int)), view, SLOT(changeRotation(int))); connect(shearSlider, SIGNAL(valueChanged(int)), view, SLOT(changeShear(int))); connect(scaleSlider, SIGNAL(valueChanged(int)), view, SLOT(changeScale(int))); connect(vectorType, SIGNAL(clicked()), view, SLOT(setVectorType())); connect(pixmapType, SIGNAL(clicked()), view, SLOT(setPixmapType())); connect(textType, SIGNAL(clicked()), view, SLOT(setTextType())); connect(textType, SIGNAL(toggled(bool)), textEditor, SLOT(setEnabled(bool))); connect(textEditor, SIGNAL(textChanged(QString)), view, SLOT(setText(QString))); connect(view, SIGNAL(rotationChanged(int)), rotateSlider, SLOT(setValue(int))); connect(view, SIGNAL(scaleChanged(int)), scaleSlider, SLOT(setValue(int))); connect(view, SIGNAL(shearChanged(int)), shearSlider, SLOT(setValue(int))); connect(resetButton, SIGNAL(clicked()), view, SLOT(reset())); connect(animateButton, SIGNAL(clicked(bool)), view, SLOT(setAnimation(bool))); connect(whatsThisButton, SIGNAL(clicked(bool)), view, SLOT(setDescriptionEnabled(bool))); connect(whatsThisButton, SIGNAL(clicked(bool)), view->hoverPoints(), SLOT(setDisabled(bool))); connect(view, SIGNAL(descriptionEnabledChanged(bool)), view->hoverPoints(), SLOT(setDisabled(bool))); connect(view, SIGNAL(descriptionEnabledChanged(bool)), whatsThisButton, SLOT(setChecked(bool))); connect(showSourceButton, SIGNAL(clicked()), view, SLOT(showSource())); #ifdef QT_OPENGL_SUPPORT connect(enableOpenGLButton, SIGNAL(clicked(bool)), view, SLOT(enableOpenGL(bool))); #endif view->loadSourceFile(":res/affine/xform.cpp"); view->loadDescription(":res/affine/xform.html"); // defaults view->reset(); vectorType->setChecked(true); textEditor->setText("Qt Affine Transformation Demo"); textEditor->setEnabled(false); animateButton->animateClick(); }
void PathDeformControls::layoutForDesktop() { QGroupBox* mainGroup = new QGroupBox(this); mainGroup->setTitle(tr("Controls")); QGroupBox *radiusGroup = new QGroupBox(mainGroup); radiusGroup->setTitle(tr("Lens Radius")); QSlider *radiusSlider = new QSlider(Qt::Horizontal, radiusGroup); radiusSlider->setRange(15, 150); radiusSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QGroupBox *deformGroup = new QGroupBox(mainGroup); deformGroup->setTitle(tr("Deformation")); QSlider *deformSlider = new QSlider(Qt::Horizontal, deformGroup); deformSlider->setRange(-100, 100); deformSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QGroupBox *fontSizeGroup = new QGroupBox(mainGroup); fontSizeGroup->setTitle(tr("Font Size")); QSlider *fontSizeSlider = new QSlider(Qt::Horizontal, fontSizeGroup); fontSizeSlider->setRange(16, 200); fontSizeSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QGroupBox *textGroup = new QGroupBox(mainGroup); textGroup->setTitle(tr("Text")); QLineEdit *textInput = new QLineEdit(textGroup); QPushButton *animateButton = new QPushButton(mainGroup); animateButton->setText(tr("Animated")); animateButton->setCheckable(true); QPushButton *showSourceButton = new QPushButton(mainGroup); showSourceButton->setText(tr("Show Source")); #ifdef QT_OPENGL_SUPPORT QPushButton *enableOpenGLButton = new QPushButton(mainGroup); enableOpenGLButton->setText(tr("Use OpenGL")); enableOpenGLButton->setCheckable(true); enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); if (!QGLFormat::hasOpenGL()) enableOpenGLButton->hide(); #endif QPushButton *whatsThisButton = new QPushButton(mainGroup); whatsThisButton->setText(tr("What's This?")); whatsThisButton->setCheckable(true); mainGroup->setFixedWidth(180); QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); mainGroupLayout->addWidget(radiusGroup); mainGroupLayout->addWidget(deformGroup); mainGroupLayout->addWidget(fontSizeGroup); mainGroupLayout->addWidget(textGroup); mainGroupLayout->addWidget(animateButton); mainGroupLayout->addStretch(1); #ifdef QT_OPENGL_SUPPORT mainGroupLayout->addWidget(enableOpenGLButton); #endif mainGroupLayout->addWidget(showSourceButton); mainGroupLayout->addWidget(whatsThisButton); QVBoxLayout *radiusGroupLayout = new QVBoxLayout(radiusGroup); radiusGroupLayout->addWidget(radiusSlider); QVBoxLayout *deformGroupLayout = new QVBoxLayout(deformGroup); deformGroupLayout->addWidget(deformSlider); QVBoxLayout *fontSizeGroupLayout = new QVBoxLayout(fontSizeGroup); fontSizeGroupLayout->addWidget(fontSizeSlider); QVBoxLayout *textGroupLayout = new QVBoxLayout(textGroup); textGroupLayout->addWidget(textInput); QVBoxLayout * mainLayout = new QVBoxLayout(this); mainLayout->addWidget(mainGroup); mainLayout->setMargin(0); connect(radiusSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setRadius(int))); connect(deformSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setIntensity(int))); connect(fontSizeSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setFontSize(int))); connect(animateButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setAnimated(bool))); #ifdef QT_OPENGL_SUPPORT connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); #endif connect(textInput, SIGNAL(textChanged(QString)), m_renderer, SLOT(setText(QString))); connect(m_renderer, SIGNAL(descriptionEnabledChanged(bool)), whatsThisButton, SLOT(setChecked(bool))); connect(whatsThisButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setDescriptionEnabled(bool))); connect(showSourceButton, SIGNAL(clicked()), m_renderer, SLOT(showSource())); animateButton->animateClick(); deformSlider->setValue(80); fontSizeSlider->setValue(120); radiusSlider->setValue(100); textInput->setText(tr("Qt")); }
void PathDeformControls::layoutForSmallScreen() { QGroupBox* mainGroup = new QGroupBox(this); mainGroup->setTitle(tr("Controls")); QLabel *radiusLabel = new QLabel(mainGroup); radiusLabel->setText(tr("Lens Radius:")); QSlider *radiusSlider = new QSlider(Qt::Horizontal, mainGroup); radiusSlider->setRange(15, 150); radiusSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); QLabel *deformLabel = new QLabel(mainGroup); deformLabel->setText(tr("Deformation:")); QSlider *deformSlider = new QSlider(Qt::Horizontal, mainGroup); deformSlider->setRange(-100, 100); deformSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); QLabel *fontSizeLabel = new QLabel(mainGroup); fontSizeLabel->setText(tr("Font Size:")); QSlider *fontSizeSlider = new QSlider(Qt::Horizontal, mainGroup); fontSizeSlider->setRange(16, 200); fontSizeSlider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); QPushButton *animateButton = new QPushButton(tr("Animated"), mainGroup); animateButton->setCheckable(true); #ifdef QT_OPENGL_SUPPORT QPushButton *enableOpenGLButton = new QPushButton(mainGroup); enableOpenGLButton->setText(tr("Use OpenGL")); enableOpenGLButton->setCheckable(mainGroup); enableOpenGLButton->setChecked(m_renderer->usesOpenGL()); if (!QGLFormat::hasOpenGL()) enableOpenGLButton->hide(); #endif QPushButton *quitButton = new QPushButton(tr("Quit"), mainGroup); QPushButton *okButton = new QPushButton(tr("OK"), mainGroup); QGridLayout *mainGroupLayout = new QGridLayout(mainGroup); mainGroupLayout->setMargin(0); mainGroupLayout->addWidget(radiusLabel, 0, 0, Qt::AlignRight); mainGroupLayout->addWidget(radiusSlider, 0, 1); mainGroupLayout->addWidget(deformLabel, 1, 0, Qt::AlignRight); mainGroupLayout->addWidget(deformSlider, 1, 1); mainGroupLayout->addWidget(fontSizeLabel, 2, 0, Qt::AlignRight); mainGroupLayout->addWidget(fontSizeSlider, 2, 1); mainGroupLayout->addWidget(animateButton, 3,0, 1,2); #ifdef QT_OPENGL_SUPPORT mainGroupLayout->addWidget(enableOpenGLButton, 4,0, 1,2); #endif QVBoxLayout *mainLayout = new QVBoxLayout(this); mainLayout->addWidget(mainGroup); mainLayout->addStretch(1); mainLayout->addWidget(okButton); mainLayout->addWidget(quitButton); connect(quitButton, SIGNAL(clicked()), this, SLOT(emitQuitSignal())); connect(okButton, SIGNAL(clicked()), this, SLOT(emitOkSignal())); connect(radiusSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setRadius(int))); connect(deformSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setIntensity(int))); connect(fontSizeSlider, SIGNAL(valueChanged(int)), m_renderer, SLOT(setFontSize(int))); connect(animateButton, SIGNAL(clicked(bool)), m_renderer, SLOT(setAnimated(bool))); #ifdef QT_OPENGL_SUPPORT connect(enableOpenGLButton, SIGNAL(clicked(bool)), m_renderer, SLOT(enableOpenGL(bool))); #endif animateButton->animateClick(); deformSlider->setValue(80); fontSizeSlider->setValue(120); QRect screen_size = QApplication::desktop()->screenGeometry(); radiusSlider->setValue(qMin(screen_size.width(), screen_size.height())/5); m_renderer->setText(tr("Qt")); }
/*********************************************************************** * SLOT: Key pressed (from LCD) **********************************************************************/ void KeyPad::slotKeyPressed( int key ) { QPushButton *btn = m_buttonKeys[key]; if( btn ) btn->animateClick(); }