summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp27
-rw-r--r--korganizer/komonthview.h5
2 files changed, 29 insertions, 3 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index ab9a4b6..9f7db69 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -74,29 +74,51 @@ private:
74 KNoScrollListBox* _wid; 74 KNoScrollListBox* _wid;
75 75
76}; 76};
77 77
78 78
79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) 79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
80 : QListBox(parent, name, WRepaintNoErase) 80 : QListBox(parent, name, WRepaintNoErase)
81{ 81{
82#ifndef DESKTOP_VERSION 82#ifndef DESKTOP_VERSION
83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
84#endif 84#endif
85 mWT = new KNOWhatsThis(this); 85 mWT = new KNOWhatsThis(this);
86 resetOnFocusIn = true;
86} 87}
87KNoScrollListBox::~KNoScrollListBox() 88KNoScrollListBox::~KNoScrollListBox()
88{ 89{
89 90
90} 91}
92
93
94void KNoScrollListBox::focusInEvent ( QFocusEvent * e )
95{
96 QListBox::focusInEvent ( e );
97 QListBoxItem * i = item ( 0 );
98 if ( i && resetOnFocusIn ) {
99 setCurrentItem( i );
100 setSelected ( 0, true );
101 }
102 resetOnFocusIn = true;
103}
104void KNoScrollListBox::focusOutEvent ( QFocusEvent * e )
105{
106 int i = currentItem ();
107 if ( i >= 0 ) {
108 setSelected ( i, false );
109 }
110 QListBox::focusOutEvent ( e );
111}
112
91QString KNoScrollListBox::getWhatsThisText(QPoint p) 113QString KNoScrollListBox::getWhatsThisText(QPoint p)
92{ 114{
93 QListBoxItem* item = itemAt ( p ); 115 QListBoxItem* item = itemAt ( p );
94 if ( ! item ) { 116 if ( ! item ) {
95 return i18n("Click in the cell\nto add an event!"); 117 return i18n("Click in the cell\nto add an event!");
96 } 118 }
97 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(), 119 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(),
98 KOPrefs::instance()->mWTshowDetails, 120 KOPrefs::instance()->mWTshowDetails,
99 KOPrefs::instance()->mWTshowCreated, 121 KOPrefs::instance()->mWTshowCreated,
100 KOPrefs::instance()->mWTshowChanged); 122 KOPrefs::instance()->mWTshowChanged);
101} 123}
102void KNoScrollListBox::keyPressEvent(QKeyEvent *e) 124void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
@@ -143,50 +165,51 @@ void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
143 if ( count () ) { 165 if ( count () ) {
144 setCurrentItem((currentItem()+1)%count()); 166 setCurrentItem((currentItem()+1)%count());
145 if(!itemVisible(currentItem())) { 167 if(!itemVisible(currentItem())) {
146 if(currentItem() == 0) { 168 if(currentItem() == 0) {
147 setTopItem(0); 169 setTopItem(0);
148 } else { 170 } else {
149 setTopItem(topItem()+1); 171 setTopItem(topItem()+1);
150 } 172 }
151 } 173 }
152 } 174 }
153 break; 175 break;
154 case Key_I: 176 case Key_I:
155 QTimer::singleShot( 11, this, SLOT ( oneDown() ) ); 177 QTimer::singleShot( 1, this, SLOT ( oneDown() ) );
156 e->ignore(); 178 e->ignore();
157 break; 179 break;
158 case Key_Return: 180 case Key_Return:
159 case Key_Enter: 181 case Key_Enter:
160 { 182 {
161 if ( currentItem() >= 0 ) { 183 if ( currentItem() >= 0 ) {
162 emit doubleClicked( item( currentItem() ) ); 184 emit doubleClicked( item( currentItem() ) );
163 e->accept(); 185 e->accept();
164 } else { 186 } else {
165 e->ignore(); 187 e->ignore();
166 } 188 }
167 } 189 }
168 break; 190 break;
169 case Key_Shift: 191 case Key_Shift:
170 emit shiftDown(); 192 emit shiftDown();
171 break; 193 break;
172 default: 194 default:
173 e->ignore(); 195 e->ignore();
174 break; 196 break;
175 } 197 }
176} 198}
177 199
178void KNoScrollListBox::oneDown() 200void KNoScrollListBox::oneDown()
179{ 201{
180 if ( count () ) { 202 if ( count () ) {
203 resetOnFocusIn = false;
181 setCurrentItem((currentItem()+1)%count()); 204 setCurrentItem((currentItem()+1)%count());
182 if(!itemVisible(currentItem())) { 205 if(!itemVisible(currentItem())) {
183 if(currentItem() == 0) { 206 if(currentItem() == 0) {
184 setTopItem(0); 207 setTopItem(0);
185 } else { 208 } else {
186 setTopItem(topItem()+1); 209 setTopItem(topItem()+1);
187 } 210 }
188 } 211 }
189 } 212 }
190} 213}
191void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) 214void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e)
192{ 215{
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 88050fe..e04cdf5 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -78,27 +78,30 @@ class KNoScrollListBox: public QListBox
78 ~KNoScrollListBox(); 78 ~KNoScrollListBox();
79 QString getWhatsThisText(QPoint p) ; 79 QString getWhatsThisText(QPoint p) ;
80 80
81 signals: 81 signals:
82 void shiftDown(); 82 void shiftDown();
83 void shiftUp(); 83 void shiftUp();
84 void rightClick(); 84 void rightClick();
85 85
86 protected slots: 86 protected slots:
87 void oneDown(); 87 void oneDown();
88 void keyPressEvent(QKeyEvent *); 88 void keyPressEvent(QKeyEvent *);
89 void keyReleaseEvent(QKeyEvent *); 89 void keyReleaseEvent(QKeyEvent *);
90 void mousePressEvent(QMouseEvent *); 90 void mousePressEvent(QMouseEvent *);
91 void focusInEvent ( QFocusEvent * );
92 void focusOutEvent ( QFocusEvent * );
91 93
92 private: 94 private:
95 bool resetOnFocusIn;
93 KNOWhatsThis * mWT; 96 KNOWhatsThis * mWT;
94}; 97};
95 98
96 99
97class MonthViewItem: public QListBoxItem 100class MonthViewItem: public QListBoxItem
98{ 101{
99 public: 102 public:
100 MonthViewItem( Incidence *, QDate qd, const QString & title ); 103 MonthViewItem( Incidence *, QDate qd, const QString & title );
101 void recycle( Incidence *incidence, QDate qd, const QString & s); 104 void recycle( Incidence *incidence, QDate qd, const QString & s);
102 void setRecur(bool on) { mRecur = on; } 105 void setRecur(bool on) { mRecur = on; }
103 void setAlarm(bool on) { mAlarm = on; } 106 void setAlarm(bool on) { mAlarm = on; }
104 void setReply(bool on) { mReply = on; } 107 void setReply(bool on) { mReply = on; }