20 #include <KNotification>
21 #include <KCalendarSystem>
29 m_DateTable.setParent( DateTableFrame );
33 previousYear->setAutoRaise(
true );
34 nextYear->setAutoRaise(
true );
35 previousMonth->setAutoRaise(
true );
36 nextMonth->setAutoRaise(
true );
37 if ( QApplication::isRightToLeft() ) {
38 nextYear->setIcon( KIcon( QLatin1String(
"arrow-left-double" ) ) );
39 previousYear->setIcon( KIcon( QLatin1String(
"arrow-right-double" ) ) );
40 nextMonth->setIcon( KIcon( QLatin1String(
"arrow-left" ) ) );
41 previousMonth->setIcon( KIcon( QLatin1String(
"arrow-right" ) ) );
43 nextYear->setIcon( KIcon( QLatin1String(
"arrow-right-double" ) ) );
44 previousYear->setIcon( KIcon( QLatin1String(
"arrow-left-double" ) ) );
45 nextMonth->setIcon( KIcon( QLatin1String(
"arrow-right" ) ) );
46 previousMonth->setIcon( KIcon( QLatin1String(
"arrow-left" ) ) );
50 connect( &m_DateTable, SIGNAL(
dateChanged(
const QDate& ) ), SLOT( dateChangedSlot(
const QDate& ) ) );
51 connect( nextMonth, SIGNAL( clicked() ), SLOT( nextMonthClicked() ) );
52 connect( previousMonth, SIGNAL( clicked() ), SLOT( previousMonthClicked() ) );
53 connect( nextYear, SIGNAL( clicked() ), SLOT( nextYearClicked() ) );
54 connect( previousYear, SIGNAL( clicked() ), SLOT( previousYearClicked() ) );
55 connect( selectMonth, SIGNAL( activated(
int ) ), SLOT( monthChanged(
int ) ) );
56 connect( selectYear, SIGNAL( valueChanged(
int ) ), SLOT( yearChanged(
int ) ) );
58 m_DateTable.setCalendar();
64 selectMonth->setCurrentIndex(
date().month() - 1 );
65 selectYear->setValue(
date().year() );
73 return m_DateTable.date();
76 const KCalendarSystem *GenericCalendarWidget::calendar()
const {
77 return m_DateTable.calendar();
80 void GenericCalendarWidget::populateMonthNames() {
83 for (
int m = 1; m <= calendar()->monthsInYear(
date() ); m++ ) {
84 selectMonth->addItem( calendar()->monthName( m, calendar()->year(
date() ) ) );
88 void GenericCalendarWidget::dateChangedSlot(
const QDate &date_ ) {
91 if( m_Date != date_ ) {
93 selectMonth->setCurrentIndex(
date().month() - 1 );
94 selectYear->setValue(
date().year() );
98 kDebug() <<
"Date = " << m_Date;
103 void GenericCalendarWidget::nextMonthClicked()
105 if ( !
setDate( calendar()->addMonths(
date(), 1 ) ) ) {
106 KNotification::beep();
108 m_DateTable.setFocus();
111 void GenericCalendarWidget::previousMonthClicked()
113 kDebug() <<
"Previous month clicked!";
114 if ( !
setDate( calendar()->addMonths(
date(), -1 ) ) ) {
115 KNotification::beep();
117 m_DateTable.setFocus();
120 void GenericCalendarWidget::nextYearClicked()
122 if ( !
setDate( calendar()->addYears(
date(), 1 ) ) ) {
123 KNotification::beep();
125 m_DateTable.setFocus();
128 void GenericCalendarWidget::previousYearClicked()
130 if ( !
setDate( calendar()->addYears(
date(), -1 ) ) ) {
131 KNotification::beep();
133 m_DateTable.setFocus();
136 void GenericCalendarWidget::yearChanged(
int year ) {
138 KNotification::beep();
140 m_DateTable.setFocus();
143 void GenericCalendarWidget::monthChanged(
int month ) {
144 kDebug() <<
"Month = " << month;
146 KNotification::beep();
148 m_DateTable.setFocus();
164 if( date_ ==
date() )
166 return m_DateTable.setDate( date_ );