GroupRadioButton::GroupRadioButton(const QString &text, QGroupBox *parent) : QRadioButton(text, parent->parentWidget()) { m_grp = parent; QSize s = sizeHint(); resize(s.width() + 3, s.height()); move(parent->x() + GRP_RADIO_POS, parent->y() - s.height() / 2); parent->installEventFilter(this); if (parent->parentWidget()->layout() && parent->parentWidget()->layout()->inherits("QVBoxLayout")){ QVBoxLayout *lay = static_cast<QVBoxLayout*>(parent->parentWidget()->layout()); QLayoutIterator it = lay->iterator(); int pos = lay->findWidget(parent); if (pos >= 0) lay->insertSpacing(pos, s.height() / 2); } setAutoMask(false); connect(this, SIGNAL(toggled(bool)), this, SLOT(slotToggled(bool))); QObjectList *l = m_grp->parentWidget()->queryList("QRadioButton"); QObjectListIt it(*l); QObject *obj; while ((obj=it.current()) != NULL){ if (obj != this) break; ++it; } delete l; if (obj == NULL) setChecked(true); slotToggled(isChecked()); }
void RadioGroup::slotToggled() { if (!m_bInit){ QPushButton *btnDefault = NULL; QObjectList *l = topLevelWidget()->queryList("QPushButton"); QObjectListIt it(*l); QObject *obj; while ((obj=it.current()) != NULL){ btnDefault = static_cast<QPushButton*>(obj); if (btnDefault->isDefault()) break; btnDefault = NULL; ++it; } delete l; if (btnDefault){ m_bInit = true; QObjectList *l = parentWidget()->queryList("QLineEdit"); QObjectListIt it(*l); QObject *obj; while ((obj=it.current()) != NULL){ connect(obj, SIGNAL(returnPressed()), btnDefault, SLOT(animateClick())); ++it; } delete l; } } slotToggled(m_button->isChecked()); }
RadioGroup::RadioGroup(QWidget *parent, const char *name) : QGroupBox(parent, name) { m_bInit = false; m_button = new GrpRadioButton(parent); QSize s = m_button->sizeHint(); connect(m_button, SIGNAL(destroyed()), this, SLOT(radioDestroyed())); if (parentWidget()->layout() && parentWidget()->layout()->inherits("QVBoxLayout")){ QVBoxLayout *lay = static_cast<QVBoxLayout*>(parentWidget()->layout()); QLayoutIterator it = lay->iterator(); int pos = lay->findWidget(this); if (pos >= 0){ lay->insertSpacing(pos, s.height() / 2); }else{ lay->addSpacing(s.height() / 2); } } connect(m_button, SIGNAL(toggled(bool)), this, SLOT(slotToggled(bool))); QObjectList *l = parentWidget()->queryList("QRadioButton"); QObjectListIt it(*l); QObject *obj; while ((obj=it.current()) != NULL){ if (obj != this) break; ++it; } delete l; if (obj == NULL) m_button->setChecked(true); QTimer::singleShot(0, this, SLOT(slotToggled())); }
void UserMaster::oldItem() { _quasar->db()->lookup(_id, _orig); _newPassword->setChecked(false); _newPassword->show(); slotToggled(_newPassword->isChecked()); _curr = _orig; _firstField = _name; }
void UserMaster::newItem() { User blank; _orig = blank; _newPassword->setChecked(true); _newPassword->hide(); slotToggled(_newPassword->isChecked()); _curr = _orig; _firstField = _name; }
void LateCancelSelector::setMinutes(int minutes, bool dateOnly, TimePeriod::Units defaultUnits) { slotToggled(minutes); mTimeSelector->setMinutes(minutes, dateOnly, defaultUnits); }