-rw-r--r-- | korganizer/komonthview.cpp | 60 | ||||
-rw-r--r-- | korganizer/komonthview.h | 5 |
2 files changed, 47 insertions, 18 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index e66ddce..4dfb9df 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -96,11 +96,14 @@ KNoScrollListBox::~KNoScrollListBox() | |||
96 | void KNoScrollListBox::focusInEvent ( QFocusEvent * e ) | 96 | void KNoScrollListBox::focusInEvent ( QFocusEvent * e ) |
97 | { | 97 | { |
98 | QListBox::focusInEvent ( e ); | 98 | QListBox::focusInEvent ( e ); |
99 | QListBoxItem * i = item ( 0 ); | 99 | if ( count() ){ |
100 | if ( i && resetOnFocusIn ) { | 100 | int ci = currentItem(); |
101 | setCurrentItem( i ); | 101 | if ( ci < 0 ) ci = 0; |
102 | setSelected ( 0, true ); | 102 | |
103 | } | 103 | setCurrentItem( ci ); |
104 | setSelected ( ci, true ); | ||
105 | emit highlighted( item ( ci ) ); | ||
106 | |||
104 | resetOnFocusIn = true; | 107 | resetOnFocusIn = true; |
105 | 108 | ||
106 | if ( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) { | 109 | if ( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) { |
@@ -125,6 +128,7 @@ void KNoScrollListBox::focusInEvent ( QFocusEvent * e ) | |||
125 | } | 128 | } |
126 | } | 129 | } |
127 | } | 130 | } |
131 | } | ||
128 | void KNoScrollListBox::focusOutEvent ( QFocusEvent * e ) | 132 | void KNoScrollListBox::focusOutEvent ( QFocusEvent * e ) |
129 | { | 133 | { |
130 | int i = currentItem (); | 134 | int i = currentItem (); |
@@ -173,6 +177,9 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
173 | break; | 177 | break; |
174 | } | 178 | } |
175 | if ( count() ) { | 179 | if ( count() ) { |
180 | if ( currentItem() == 0 ) { | ||
181 | emit prevCell(); | ||
182 | } else { | ||
176 | setCurrentItem((currentItem()+count()-1)%count()); | 183 | setCurrentItem((currentItem()+count()-1)%count()); |
177 | if(!itemVisible(currentItem())) { | 184 | if(!itemVisible(currentItem())) { |
178 | if((unsigned int) currentItem() == (count()-1)) { | 185 | if((unsigned int) currentItem() == (count()-1)) { |
@@ -182,6 +189,7 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
182 | } | 189 | } |
183 | } | 190 | } |
184 | } | 191 | } |
192 | } | ||
185 | break; | 193 | break; |
186 | case Key_Down: | 194 | case Key_Down: |
187 | if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { | 195 | if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { |
@@ -189,6 +197,9 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
189 | break; | 197 | break; |
190 | } | 198 | } |
191 | if ( count () ) { | 199 | if ( count () ) { |
200 | if ( currentItem()+1 == count () ) { | ||
201 | emit nextCell(); | ||
202 | } else { | ||
192 | setCurrentItem((currentItem()+1)%count()); | 203 | setCurrentItem((currentItem()+1)%count()); |
193 | if(!itemVisible(currentItem())) { | 204 | if(!itemVisible(currentItem())) { |
194 | if(currentItem() == 0) { | 205 | if(currentItem() == 0) { |
@@ -198,6 +209,7 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
198 | } | 209 | } |
199 | } | 210 | } |
200 | } | 211 | } |
212 | } | ||
201 | break; | 213 | break; |
202 | case Key_I: | 214 | case Key_I: |
203 | QTimer::singleShot( 1, this, SLOT ( oneDown() ) ); | 215 | QTimer::singleShot( 1, this, SLOT ( oneDown() ) ); |
@@ -226,6 +238,9 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e) | |||
226 | void KNoScrollListBox::oneDown() | 238 | void KNoScrollListBox::oneDown() |
227 | { | 239 | { |
228 | if ( count () ) { | 240 | if ( count () ) { |
241 | if ( currentItem()+1 == count () ) { | ||
242 | emit nextCell(); | ||
243 | } else { | ||
229 | resetOnFocusIn = false; | 244 | resetOnFocusIn = false; |
230 | setCurrentItem((currentItem()+1)%count()); | 245 | setCurrentItem((currentItem()+1)%count()); |
231 | if(!itemVisible(currentItem())) { | 246 | if(!itemVisible(currentItem())) { |
@@ -237,6 +252,7 @@ void KNoScrollListBox::oneDown() | |||
237 | } | 252 | } |
238 | } | 253 | } |
239 | } | 254 | } |
255 | } | ||
240 | void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) | 256 | void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) |
241 | { | 257 | { |
242 | switch(e->key()) { | 258 | switch(e->key()) { |
@@ -473,10 +489,11 @@ MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par ) | |||
473 | SLOT( contextMenu( QListBoxItem * ) ) ); | 489 | SLOT( contextMenu( QListBoxItem * ) ) ); |
474 | connect( this, SIGNAL( highlighted( QListBoxItem *) ), | 490 | connect( this, SIGNAL( highlighted( QListBoxItem *) ), |
475 | SLOT( selection( QListBoxItem * ) ) ); | 491 | SLOT( selection( QListBoxItem * ) ) ); |
476 | connect( this, SIGNAL( clicked( QListBoxItem * ) ), | 492 | |
477 | SLOT( cellClicked( QListBoxItem * ) ) ); | 493 | /* |
478 | connect( this, SIGNAL( clicked( QListBoxItem * ) ), | 494 | connect( this, SIGNAL( clicked( QListBoxItem * ) ), |
479 | SLOT( selection( QListBoxItem * ) ) ); | 495 | SLOT( selection( QListBoxItem * ) ) ); |
496 | */ | ||
480 | } | 497 | } |
481 | #ifdef DESKTOP_VERSION | 498 | #ifdef DESKTOP_VERSION |
482 | QToolTipGroup *MonthViewCell::toolTipGroup() | 499 | QToolTipGroup *MonthViewCell::toolTipGroup() |
@@ -989,6 +1006,7 @@ void MonthViewCell::resizeEvent ( QResizeEvent * e ) | |||
989 | 1006 | ||
990 | void MonthViewCell::defaultAction( QListBoxItem *item ) | 1007 | void MonthViewCell::defaultAction( QListBoxItem *item ) |
991 | { | 1008 | { |
1009 | |||
992 | if ( !item ) { | 1010 | if ( !item ) { |
993 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); | 1011 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); |
994 | emit newEventSignal( dt ); | 1012 | emit newEventSignal( dt ); |
@@ -1010,22 +1028,13 @@ void MonthViewCell::newEvent() | |||
1010 | } | 1028 | } |
1011 | void MonthViewCell::cellClicked( QListBoxItem *item ) | 1029 | void MonthViewCell::cellClicked( QListBoxItem *item ) |
1012 | { | 1030 | { |
1031 | qDebug("CELL "); | ||
1013 | if ( item == 0 ) { | 1032 | if ( item == 0 ) { |
1014 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); | 1033 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); |
1015 | emit newEventSignal( dt ); | 1034 | emit newEventSignal( dt ); |
1016 | return; | 1035 | return; |
1017 | } | 1036 | } |
1018 | /* | ||
1019 | if ( lastClicked ) | ||
1020 | if ( ! item ) { | ||
1021 | if ( lastClicked->listBox() != item->listBox() ) | ||
1022 | lastClicked->listBox()->clearSelection(); | ||
1023 | } | ||
1024 | */ | ||
1025 | 1037 | ||
1026 | mMonthView->setSelectedCell( this ); | ||
1027 | if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true ); | ||
1028 | select(); | ||
1029 | } | 1038 | } |
1030 | 1039 | ||
1031 | void MonthViewCell::contextMenu( QListBoxItem *item ) | 1040 | void MonthViewCell::contextMenu( QListBoxItem *item ) |
@@ -1151,6 +1160,10 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
1151 | SIGNAL( newEventSignal( QDateTime ) ) ); | 1160 | SIGNAL( newEventSignal( QDateTime ) ) ); |
1152 | connect( cell, SIGNAL( showDaySignal( QDate ) ), | 1161 | connect( cell, SIGNAL( showDaySignal( QDate ) ), |
1153 | SIGNAL( showDaySignal( QDate ) ) ); | 1162 | SIGNAL( showDaySignal( QDate ) ) ); |
1163 | connect( cell, SIGNAL( nextCell() ), | ||
1164 | SLOT( nextCell() ) ); | ||
1165 | connect( cell, SIGNAL( prevCell() ), | ||
1166 | SLOT( prevCell() ) ); | ||
1154 | } | 1167 | } |
1155 | } | 1168 | } |
1156 | mCellsW.resize( mDaysPerWeek ); | 1169 | mCellsW.resize( mDaysPerWeek ); |
@@ -1164,6 +1177,10 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
1164 | SIGNAL( newEventSignal( QDateTime ) ) ); | 1177 | SIGNAL( newEventSignal( QDateTime ) ) ); |
1165 | connect( cell, SIGNAL( showDaySignal( QDate ) ), | 1178 | connect( cell, SIGNAL( showDaySignal( QDate ) ), |
1166 | SIGNAL( showDaySignal( QDate ) ) ); | 1179 | SIGNAL( showDaySignal( QDate ) ) ); |
1180 | connect( cell, SIGNAL( nextCell() ), | ||
1181 | SLOT( nextCell() ) ); | ||
1182 | connect( cell, SIGNAL( prevCell() ), | ||
1183 | SLOT( prevCell() ) ); | ||
1167 | cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); | 1184 | cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); |
1168 | } | 1185 | } |
1169 | 1186 | ||
@@ -1974,3 +1991,12 @@ void KOMonthView::keyPressEvent ( QKeyEvent * e ) | |||
1974 | break; | 1991 | break; |
1975 | } | 1992 | } |
1976 | } | 1993 | } |
1994 | |||
1995 | void KOMonthView::nextCell() | ||
1996 | { | ||
1997 | bool res = focusNextPrevChild ( true ); | ||
1998 | } | ||
1999 | void KOMonthView::prevCell() | ||
2000 | { | ||
2001 | focusNextPrevChild ( false ); | ||
2002 | } | ||
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index e39eeb0..c6b6b5e 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h | |||
@@ -83,6 +83,8 @@ class KNoScrollListBox: public QListBox | |||
83 | void shiftDown(); | 83 | void shiftDown(); |
84 | void shiftUp(); | 84 | void shiftUp(); |
85 | void rightClick(); | 85 | void rightClick(); |
86 | void nextCell(); | ||
87 | void prevCell(); | ||
86 | 88 | ||
87 | protected slots: | 89 | protected slots: |
88 | void oneDown(); | 90 | void oneDown(); |
@@ -188,7 +190,6 @@ class MonthViewCell : public KNoScrollListBox | |||
188 | QStringList mToolTip; | 190 | QStringList mToolTip; |
189 | void resizeEvent( QResizeEvent * ); | 191 | void resizeEvent( QResizeEvent * ); |
190 | 192 | ||
191 | |||
192 | public slots: | 193 | public slots: |
193 | void showDay(); | 194 | void showDay(); |
194 | 195 | ||
@@ -256,6 +257,8 @@ class KOMonthView: public KOEventView | |||
256 | bool skipResize; | 257 | bool skipResize; |
257 | NavigatorBar* navigatorBar() { return mNavigatorBar ;} | 258 | NavigatorBar* navigatorBar() { return mNavigatorBar ;} |
258 | public slots: | 259 | public slots: |
260 | void nextCell(); | ||
261 | void prevCell(); | ||
259 | virtual void updateView(); | 262 | virtual void updateView(); |
260 | virtual void updateConfig(); | 263 | virtual void updateConfig(); |
261 | virtual void showDates(const QDate &start, const QDate &end); | 264 | virtual void showDates(const QDate &start, const QDate &end); |