void kMyMoneyCalendar::init(const QDate &dt) { styleControl = new QPushButton(i18n("Select Style"), this); yearForward = new QToolButton(this); yearBackward = new QToolButton(this); monthForward = new QToolButton(this); monthBackward = new QToolButton(this); selectMonth = new QToolButton(this); selectYear = new QToolButton(this); line = new KLineEdit(this); val = new KDateValidator(this); fontsize = 10; d->selectWeek = new QToolButton(this); KMenu* kpopupmenuNew = new KMenu(this); kpopupmenuNew->addAction(i18n("Week"), this, SLOT(slotSetStyleWeekly())); kpopupmenuNew->addAction(i18n("Month"), this, SLOT(slotSetStyleMonthly())); styleControl->setMenu(kpopupmenuNew); styleControl->setToolTip(i18n("Choose Style")); yearForward->setToolTip(i18n("Next year")); yearBackward->setToolTip(i18n("Previous year")); monthForward->setToolTip(i18n("Next month")); monthBackward->setToolTip(i18n("Previous month")); d->selectWeek->setToolTip(i18n("Select a week")); selectMonth->setToolTip(i18n("Select a month")); selectYear->setToolTip(i18n("Select a year")); // ----- setFontSize(10); line->setValidator(val); line->installEventFilter(this); yearForward->setIcon(QIcon(BarIcon("arrow-right-double"))); yearBackward->setIcon(QIcon(BarIcon("arrow-left-double"))); monthForward->setIcon(QIcon(BarIcon("arrow-right"))); monthBackward->setIcon(QIcon(BarIcon("arrow-left"))); setDate(dt); // set button texts connect(table, SIGNAL(dateChanged(QDate)), SLOT(dateChangedSlot(QDate))); connect(table, SIGNAL(tableClicked()), SLOT(tableClickedSlot())); connect(monthForward, SIGNAL(clicked()), SLOT(monthForwardClicked())); connect(monthBackward, SIGNAL(clicked()), SLOT(monthBackwardClicked())); connect(yearForward, SIGNAL(clicked()), SLOT(yearForwardClicked())); connect(yearBackward, SIGNAL(clicked()), SLOT(yearBackwardClicked())); connect(d->selectWeek, SIGNAL(clicked()), SLOT(selectWeekClicked())); connect(selectMonth, SIGNAL(clicked()), SLOT(selectMonthClicked())); connect(selectYear, SIGNAL(clicked()), SLOT(selectYearClicked())); connect(line, SIGNAL(returnPressed()), SLOT(lineEnterPressed())); if (table) table->setFocus(); }
void ExtDatePicker::init( const ExtDate &dt ) { d = new ExtDatePickerPrivate(); d->calendar = new ExtCalendarSystemGregorian(); QBoxLayout * topLayout = new QVBoxLayout(this); d->navigationLayout = new QHBoxLayout(topLayout); d->navigationLayout->addStretch(); yearBackward = new QToolButton(this); yearBackward->setAutoRaise(true); d->navigationLayout->addWidget(yearBackward); monthBackward = new QToolButton(this); monthBackward ->setAutoRaise(true); d->navigationLayout->addWidget(monthBackward); d->navigationLayout->addSpacing(KDialog::spacingHint()); selectMonth = new QToolButton(this); selectMonth ->setAutoRaise(true); d->navigationLayout->addWidget(selectMonth); selectYear = new QToolButton(this); selectYear->setToggleButton(true); selectYear->setAutoRaise(true); d->navigationLayout->addWidget(selectYear); d->navigationLayout->addSpacing(KDialog::spacingHint()); monthForward = new QToolButton(this); monthForward ->setAutoRaise(true); d->navigationLayout->addWidget(monthForward); yearForward = new QToolButton(this); yearForward ->setAutoRaise(true); d->navigationLayout->addWidget(yearForward); d->navigationLayout->addStretch(); line = new KLineEdit(this); val = new ExtDateValidator(this); table = new ExtDateTable(this); fontsize = KGlobalSettings::generalFont().pointSize(); if (fontsize == -1) fontsize = QFontInfo(KGlobalSettings::generalFont()).pointSize(); fontsize++; // Make a little bigger d->selectWeek = new QComboBox(false, this); // read only week selection d->todayButton = new QToolButton(this); d->todayButton->setIconSet(SmallIconSet("today")); QToolTip::add(yearForward, i18n("Next year")); QToolTip::add(yearBackward, i18n("Previous year")); QToolTip::add(monthForward, i18n("Next month")); QToolTip::add(monthBackward, i18n("Previous month")); QToolTip::add(d->selectWeek, i18n("Select a week")); QToolTip::add(selectMonth, i18n("Select a month")); QToolTip::add(selectYear, i18n("Select a year")); QToolTip::add(d->todayButton, i18n("Select the current day")); // ----- setFontSize(fontsize); line->setValidator(val); line->installEventFilter( this ); if ( QApplication::reverseLayout() ) { yearForward->setIconSet(BarIconSet(QString::fromLatin1("2leftarrow"))); yearBackward->setIconSet(BarIconSet(QString::fromLatin1("2rightarrow"))); monthForward->setIconSet(BarIconSet(QString::fromLatin1("1leftarrow"))); monthBackward->setIconSet(BarIconSet(QString::fromLatin1("1rightarrow"))); } else { yearForward->setIconSet(BarIconSet(QString::fromLatin1("2rightarrow"))); yearBackward->setIconSet(BarIconSet(QString::fromLatin1("2leftarrow"))); monthForward->setIconSet(BarIconSet(QString::fromLatin1("1rightarrow"))); monthBackward->setIconSet(BarIconSet(QString::fromLatin1("1leftarrow"))); } connect(table, SIGNAL(dateChanged(const ExtDate&)), SLOT(dateChangedSlot(const ExtDate&))); connect(table, SIGNAL(tableClicked()), SLOT(tableClickedSlot())); connect(monthForward, SIGNAL(clicked()), SLOT(monthForwardClicked())); connect(monthBackward, SIGNAL(clicked()), SLOT(monthBackwardClicked())); connect(yearForward, SIGNAL(clicked()), SLOT(yearForwardClicked())); connect(yearBackward, SIGNAL(clicked()), SLOT(yearBackwardClicked())); connect(d->selectWeek, SIGNAL(activated(int)), SLOT(weekSelected(int))); connect(d->todayButton, SIGNAL(clicked()), SLOT(todayButtonClicked())); connect(selectMonth, SIGNAL(clicked()), SLOT(selectMonthClicked())); connect(selectYear, SIGNAL(toggled(bool)), SLOT(selectYearClicked())); connect(line, SIGNAL(returnPressed()), SLOT(lineEnterPressed())); table->setFocus(); topLayout->addWidget(table); QBoxLayout * bottomLayout = new QHBoxLayout(topLayout); bottomLayout->addWidget(d->todayButton); bottomLayout->addWidget(line); bottomLayout->addWidget(d->selectWeek); table->setDate(dt); dateChangedSlot(dt); // needed because table emits changed only when newDate != oldDate }