summaryrefslogtreecommitdiffabout
path: root/korganizer/komonthview.cpp
authorzautrix <zautrix>2005-04-05 19:42:46 (UTC)
committer zautrix <zautrix>2005-04-05 19:42:46 (UTC)
commit6add774cf9841377f32613c7aa23161a823aa1da (patch) (unidiff)
tree43631d25bdfff4eb9d9934bc604609c38717b000 /korganizer/komonthview.cpp
parent8734ae4789ed411cb546edd304816a77c431a2bf (diff)
downloadkdepimpi-6add774cf9841377f32613c7aa23161a823aa1da.zip
kdepimpi-6add774cf9841377f32613c7aa23161a823aa1da.tar.gz
kdepimpi-6add774cf9841377f32613c7aa23161a823aa1da.tar.bz2
fix
Diffstat (limited to 'korganizer/komonthview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp146
1 files changed, 86 insertions, 60 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index e66ddce..4dfb9df 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -98,30 +98,34 @@ void KNoScrollListBox::focusInEvent ( QFocusEvent * e )
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 resetOnFocusIn = true; 104 setSelected ( ci, true );
105 105 emit highlighted( item ( ci ) );
106 if ( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) { 106
107 QListBoxItem *fi = firstItem (); 107 resetOnFocusIn = true;
108 if (fi ) { 108
109 int ihei = fi->height( this ); 109 if ( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) {
110 int hei = numRows () * ihei; 110 QListBoxItem *fi = firstItem ();
111 if ( hei < height() - horizontalScrollBar()->height () ) { 111 if (fi ) {
112 setVScrollBarMode(QScrollView::AlwaysOff); 112 int ihei = fi->height( this );
113 } 113 int hei = numRows () * ihei;
114 else 114 if ( hei < height() - horizontalScrollBar()->height () ) {
115 setVScrollBarMode(QScrollView::AlwaysOff);
116 }
117 else
118 setVScrollBarMode(QScrollView::Auto);
119 if ( ihei *3 > height() ) {
120 setHScrollBarMode(QScrollView::AlwaysOff);
121 }
122 else {
123 setHScrollBarMode(QScrollView::Auto);
124 }
125 } else {
115 setVScrollBarMode(QScrollView::Auto); 126 setVScrollBarMode(QScrollView::Auto);
116 if ( ihei *3 > height() ) {
117 setHScrollBarMode(QScrollView::AlwaysOff);
118 }
119 else {
120 setHScrollBarMode(QScrollView::Auto); 127 setHScrollBarMode(QScrollView::Auto);
121 } 128 }
122 } else { 129 }
123 setVScrollBarMode(QScrollView::Auto); 130 }
124 setHScrollBarMode(QScrollView::Auto);
125 }
126 }
127} 131}
@@ -174,9 +178,13 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
174 } 178 }
175 if ( count() ) { 179 if ( count() ) {
176 setCurrentItem((currentItem()+count()-1)%count()); 180 if ( currentItem() == 0 ) {
177 if(!itemVisible(currentItem())) { 181 emit prevCell();
178 if((unsigned int) currentItem() == (count()-1)) { 182 } else {
179 setTopItem(currentItem()-numItemsVisible()+1); 183 setCurrentItem((currentItem()+count()-1)%count());
180 } else { 184 if(!itemVisible(currentItem())) {
181 setTopItem(topItem()-1); 185 if((unsigned int) currentItem() == (count()-1)) {
186 setTopItem(currentItem()-numItemsVisible()+1);
187 } else {
188 setTopItem(topItem()-1);
189 }
182 } 190 }
@@ -190,9 +198,13 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
190 } 198 }
191 if ( count () ) { 199 if ( count () ) {
192 setCurrentItem((currentItem()+1)%count()); 200 if ( currentItem()+1 == count () ) {
193 if(!itemVisible(currentItem())) { 201 emit nextCell();
194 if(currentItem() == 0) { 202 } else {
195 setTopItem(0); 203 setCurrentItem((currentItem()+1)%count());
196 } else { 204 if(!itemVisible(currentItem())) {
197 setTopItem(topItem()+1); 205 if(currentItem() == 0) {
206 setTopItem(0);
207 } else {
208 setTopItem(topItem()+1);
209 }
198 } 210 }
@@ -227,10 +239,14 @@ void KNoScrollListBox::oneDown()
227{ 239{
228 if ( count () ) { 240 if ( count () ) {
229 resetOnFocusIn = false; 241 if ( currentItem()+1 == count () ) {
230 setCurrentItem((currentItem()+1)%count()); 242 emit nextCell();
231 if(!itemVisible(currentItem())) { 243 } else {
232 if(currentItem() == 0) { 244 resetOnFocusIn = false;
233 setTopItem(0); 245 setCurrentItem((currentItem()+1)%count());
234 } else { 246 if(!itemVisible(currentItem())) {
235 setTopItem(topItem()+1); 247 if(currentItem() == 0) {
248 setTopItem(0);
249 } else {
250 setTopItem(topItem()+1);
251 }
236 } 252 }
@@ -475,6 +491,7 @@ MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par )
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}
@@ -991,2 +1008,3 @@ void MonthViewCell::defaultAction( QListBoxItem *item )
991{ 1008{
1009
992 if ( !item ) { 1010 if ( !item ) {
@@ -1012,2 +1030,3 @@ void MonthViewCell::cellClicked( QListBoxItem *item )
1012{ 1030{
1031 qDebug("CELL ");
1013 if ( item == 0 ) { 1032 if ( item == 0 ) {
@@ -1017,13 +1036,3 @@ void MonthViewCell::cellClicked( QListBoxItem *item )
1017 } 1036 }
1018 /* 1037
1019 if ( lastClicked )
1020 if ( ! item ) {
1021 if ( lastClicked->listBox() != item->listBox() )
1022 lastClicked->listBox()->clearSelection();
1023 }
1024 */
1025
1026 mMonthView->setSelectedCell( this );
1027 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true );
1028 select();
1029} 1038}
@@ -1153,2 +1162,6 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
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 }
@@ -1166,2 +1179,6 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
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 );
@@ -1976 +1993,10 @@ void KOMonthView::keyPressEvent ( QKeyEvent * e )
1976} 1993}
1994
1995void KOMonthView::nextCell()
1996{
1997 bool res = focusNextPrevChild ( true );
1998}
1999void KOMonthView::prevCell()
2000{
2001 focusNextPrevChild ( false );
2002}