void QAbstractButtonPrivate::click() { Q_Q(QAbstractButton); down = false; blockRefresh = true; bool changeState = true; if (checked && queryCheckedButton() == q) { // the checked button of an exclusive or autoexclusive group cannot be unchecked #ifndef QT_NO_BUTTONGROUP if (group ? group->d_func()->exclusive : autoExclusive) #else if (autoExclusive) #endif changeState = false; } QPointer<QAbstractButton> guard(q); if (changeState) { q->nextCheckState(); if (!guard) return; } blockRefresh = false; refresh(); q->repaint(); //flush paint event before invoking potentially expensive operation QApplication::flush(); if (guard) emitReleased(); if (guard) emitClicked(); }
void QEGenericButton::userReleased() { // Do nothing if not acting on button release, or user confirmation required but not given, or password required but not given if( !writeOnRelease || !confirmAction() || !checkPassword() ) return; // Determine the string to write QString writeText = substituteThis( releaseText ); // Emit a 'released' signal emitReleased( writeText.toInt() ); // Get the variable to write to QEString *qca = (QEString*)getQcaItem(0); // If a QCa object is present (if there is a variable to write to) then write the value if( qca ) { QString error; if( !qca->writeString( writeText, error ) ) { QMessageBox::warning( (QWidget*)getButtonQObject(), QString( "Write failed" ), error, QMessageBox::Cancel ); } } }
QIdPushButton::QIdPushButton(const QString text, unsigned int indentifier, QWidget *parent) : QPushButton(text, parent) { _indentifier = indentifier; connect (this, SIGNAL( pressed() ), this, SLOT( emitPressed() )); connect (this, SIGNAL( released() ), this, SLOT( emitReleased() )); }