author | zautrix <zautrix> | 2005-03-30 23:17:42 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-30 23:17:42 (UTC) |
commit | 529c0fb8a8bf15e7bd375ddeb355c5802baf4c93 (patch) (unidiff) | |
tree | 72ebca6de7e54f2cf89d3d6df61d3b40aa66a444 | |
parent | 28ac86e2efbc10f210dbd2d5ac0053f4e6198d57 (diff) | |
download | kdepimpi-529c0fb8a8bf15e7bd375ddeb355c5802baf4c93.zip kdepimpi-529c0fb8a8bf15e7bd375ddeb355c5802baf4c93.tar.gz kdepimpi-529c0fb8a8bf15e7bd375ddeb355c5802baf4c93.tar.bz2 |
key fix
-rw-r--r-- | kaddressbook/kaddressbookview.cpp | 4 | ||||
-rw-r--r-- | kaddressbook/kaddressbookview.h | 6 | ||||
-rw-r--r-- | kaddressbook/views/cardview.cpp | 31 | ||||
-rw-r--r-- | kaddressbook/views/cardview.h | 7 | ||||
-rw-r--r-- | kaddressbook/views/contactlistview.cpp | 29 | ||||
-rw-r--r-- | kaddressbook/views/contactlistview.h | 4 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbookcardview.cpp | 4 | ||||
-rw-r--r-- | kaddressbook/views/kaddressbooktableview.cpp | 4 | ||||
-rw-r--r-- | korganizer/komonthview.cpp | 19 | ||||
-rw-r--r-- | korganizer/komonthview.h | 3 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 26 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 |
12 files changed, 129 insertions, 9 deletions
diff --git a/kaddressbook/kaddressbookview.cpp b/kaddressbook/kaddressbookview.cpp index 09859c2..86898e2 100644 --- a/kaddressbook/kaddressbookview.cpp +++ b/kaddressbook/kaddressbookview.cpp | |||
@@ -30,33 +30,33 @@ | |||
30 | 30 | ||
31 | #include "viewmanager.h" | 31 | #include "viewmanager.h" |
32 | 32 | ||
33 | #endif //KAB_EMBEDDED | 33 | #endif //KAB_EMBEDDED |
34 | #include <qlayout.h> | 34 | #include <qlayout.h> |
35 | 35 | ||
36 | #include <kabc/distributionlistdialog.h> | 36 | #include <kabc/distributionlistdialog.h> |
37 | #include <kabc/addressbook.h> | 37 | #include <kabc/addressbook.h> |
38 | #include <kdebug.h> | 38 | #include <kdebug.h> |
39 | 39 | ||
40 | #include "kaddressbookview.h" | 40 | #include "kaddressbookview.h" |
41 | 41 | ||
42 | KAddressBookView::KAddressBookView( KABC::AddressBook *ab, QWidget *parent, | 42 | KAddressBookView::KAddressBookView( KABC::AddressBook *ab, QWidget *parent, |
43 | const char *name ) | 43 | const char *name ) |
44 | : QWidget( parent, name ), mAddressBook( ab ), mFieldList() | 44 | : QWidget( parent, name ), mAddressBook( ab ), mFieldList() |
45 | { | 45 | { |
46 | 46 | ||
47 | initGUI(); | 47 | initGUI(); |
48 | } | 48 | } |
49 | 49 | ||
50 | KAddressBookView::~KAddressBookView() | 50 | KAddressBookView::~KAddressBookView() |
51 | { | 51 | { |
52 | 52 | ||
53 | } | 53 | } |
54 | 54 | ||
55 | QRegExp KAddressBookView::getRegExp( const QString s ) | 55 | QRegExp KAddressBookView::getRegExp( const QString s ) |
56 | { | 56 | { |
57 | QRegExp re; | 57 | QRegExp re; |
58 | 58 | ||
59 | if ( s.length() == 3 && s.mid(1,1) == "-" ) { | 59 | if ( s.length() == 3 && s.mid(1,1) == "-" ) { |
60 | QString pattern = "^[" + s.lower() +"]"; | 60 | QString pattern = "^[" + s.lower() +"]"; |
61 | re.setCaseSensitive(false); | 61 | re.setCaseSensitive(false); |
62 | re.setPattern( pattern ); | 62 | re.setPattern( pattern ); |
@@ -168,19 +168,21 @@ KABC::AddressBook *KAddressBookView::addressBook() const | |||
168 | { | 168 | { |
169 | return mAddressBook; | 169 | return mAddressBook; |
170 | } | 170 | } |
171 | 171 | ||
172 | QWidget *KAddressBookView::viewWidget() | 172 | QWidget *KAddressBookView::viewWidget() |
173 | { | 173 | { |
174 | return mViewWidget; | 174 | return mViewWidget; |
175 | } | 175 | } |
176 | 176 | ||
177 | ViewConfigureWidget *ViewFactory::configureWidget( KABC::AddressBook *ab, | 177 | ViewConfigureWidget *ViewFactory::configureWidget( KABC::AddressBook *ab, |
178 | QWidget *parent, | 178 | QWidget *parent, |
179 | const char *name ) | 179 | const char *name ) |
180 | { | 180 | { |
181 | return new ViewConfigureWidget( ab, parent, name ); | 181 | return new ViewConfigureWidget( ab, parent, name ); |
182 | } | 182 | } |
183 | 183 | ||
184 | |||
185 | |||
184 | #ifndef KAB_EMBEDDED | 186 | #ifndef KAB_EMBEDDED |
185 | #include "kaddressbookview.moc" | 187 | #include "kaddressbookview.moc" |
186 | #endif //KAB_EMBEDDED | 188 | #endif //KAB_EMBEDDED |
diff --git a/kaddressbook/kaddressbookview.h b/kaddressbook/kaddressbookview.h index 6bbb9c2..3a3f71a 100644 --- a/kaddressbook/kaddressbookview.h +++ b/kaddressbook/kaddressbookview.h | |||
@@ -217,33 +217,34 @@ class KAddressBookView : public QWidget | |||
217 | void executed( const QString &uid ); | 217 | void executed( const QString &uid ); |
218 | 218 | ||
219 | /** | 219 | /** |
220 | This signal is emitted whenever a user attempts to start a drag | 220 | This signal is emitted whenever a user attempts to start a drag |
221 | in the view. The slot connected to this signal would usually want | 221 | in the view. The slot connected to this signal would usually want |
222 | to create a QDragObject. | 222 | to create a QDragObject. |
223 | */ | 223 | */ |
224 | void startDrag(); | 224 | void startDrag(); |
225 | 225 | ||
226 | /** | 226 | /** |
227 | This signal is emitted whenever the user drops something on the | 227 | This signal is emitted whenever the user drops something on the |
228 | view. The individual view should handle checking if the item is | 228 | view. The individual view should handle checking if the item is |
229 | droppable (ie: if it is a vcard). | 229 | droppable (ie: if it is a vcard). |
230 | */ | 230 | */ |
231 | void dropped( QDropEvent* ); | 231 | void dropped( QDropEvent* ); |
232 | 232 | ||
233 | protected: | 233 | protected: |
234 | |||
234 | /** | 235 | /** |
235 | Returns a list of the addressees that should be displayed. This method | 236 | Returns a list of the addressees that should be displayed. This method |
236 | should always be used by the subclass to get a list of addressees. This | 237 | should always be used by the subclass to get a list of addressees. This |
237 | method internally takes many factors into account, including the current | 238 | method internally takes many factors into account, including the current |
238 | filter. | 239 | filter. |
239 | */ | 240 | */ |
240 | KABC::Addressee::List addressees(); | 241 | KABC::Addressee::List addressees(); |
241 | 242 | ||
242 | /** | 243 | /** |
243 | This method returns the widget that should be used as the parent for | 244 | This method returns the widget that should be used as the parent for |
244 | all view components. By using this widget as the parent and not | 245 | all view components. By using this widget as the parent and not |
245 | 'this', the view subclass has the option of placing other widgets | 246 | 'this', the view subclass has the option of placing other widgets |
246 | around the view (ie: search fields, etc). Do not delete this widget! | 247 | around the view (ie: search fields, etc). Do not delete this widget! |
247 | */ | 248 | */ |
248 | QWidget *viewWidget(); | 249 | QWidget *viewWidget(); |
249 | QRegExp getRegExp( const QString ); | 250 | QRegExp getRegExp( const QString ); |
@@ -291,22 +292,23 @@ class ViewFactory | |||
291 | implementation will return a ViewConfigDialog. This default | 292 | implementation will return a ViewConfigDialog. This default |
292 | dialog will allow the user to set the visible fields only. If | 293 | dialog will allow the user to set the visible fields only. If |
293 | you need more config options (as most views will), this method | 294 | you need more config options (as most views will), this method |
294 | can be overloaded to return your sublcass of ViewConfigDialog. | 295 | can be overloaded to return your sublcass of ViewConfigDialog. |
295 | If this method is over loaded the base classes method should | 296 | If this method is over loaded the base classes method should |
296 | <B>not</B> be called. | 297 | <B>not</B> be called. |
297 | */ | 298 | */ |
298 | virtual ViewConfigureWidget *configureWidget( KABC::AddressBook *ab, | 299 | virtual ViewConfigureWidget *configureWidget( KABC::AddressBook *ab, |
299 | QWidget *parent, | 300 | QWidget *parent, |
300 | const char *name = 0 ); | 301 | const char *name = 0 ); |
301 | 302 | ||
302 | protected: | 303 | protected: |
303 | virtual QObject* createObject( QObject*, const char*, const char*, | 304 | virtual QObject* createObject( QObject*, const char*, const char*, |
304 | const QStringList & ) | 305 | const QStringList & ) |
305 | { | 306 | { |
306 | return 0; | 307 | return 0; |
307 | } | 308 | } |
309 | |||
308 | 310 | ||
309 | }; | 311 | }; |
310 | 312 | ||
311 | 313 | ||
312 | #endif | 314 | #endif |
diff --git a/kaddressbook/views/cardview.cpp b/kaddressbook/views/cardview.cpp index 03df444..84d3116 100644 --- a/kaddressbook/views/cardview.cpp +++ b/kaddressbook/views/cardview.cpp | |||
@@ -20,32 +20,33 @@ | |||
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | //BEGIN Includes | 24 | //BEGIN Includes |
25 | #include "cardview.h" | 25 | #include "cardview.h" |
26 | 26 | ||
27 | #include <limits.h> | 27 | #include <limits.h> |
28 | 28 | ||
29 | #include <qpainter.h> | 29 | #include <qpainter.h> |
30 | #include <qtimer.h> | 30 | #include <qtimer.h> |
31 | #include <qdatetime.h> | 31 | #include <qdatetime.h> |
32 | #include <qlabel.h> | 32 | #include <qlabel.h> |
33 | #include <qstyle.h> | 33 | #include <qstyle.h> |
34 | #include <qcursor.h> | 34 | #include <qcursor.h> |
35 | #include <qtooltip.h> | 35 | #include <qtooltip.h> |
36 | #include <qapplication.h> | ||
36 | 37 | ||
37 | #include "kabprefs.h" | 38 | #include "kabprefs.h" |
38 | #include <kdebug.h> | 39 | #include <kdebug.h> |
39 | #include <kglobalsettings.h> | 40 | #include <kglobalsettings.h> |
40 | //END includes | 41 | //END includes |
41 | 42 | ||
42 | #define MIN_ITEM_WIDTH 80 | 43 | #define MIN_ITEM_WIDTH 80 |
43 | 44 | ||
44 | //BEGIN Helpers | 45 | //BEGIN Helpers |
45 | ////////////////////////////////////// | 46 | ////////////////////////////////////// |
46 | // CardViewTip | 47 | // CardViewTip |
47 | class CardViewTip : public QLabel { | 48 | class CardViewTip : public QLabel { |
48 | public: | 49 | public: |
49 | CardViewTip(QWidget *parent=0, const char *name=0) : QLabel( parent, name ) | 50 | CardViewTip(QWidget *parent=0, const char *name=0) : QLabel( parent, name ) |
50 | { | 51 | { |
51 | setPalette( QToolTip::palette() ); | 52 | setPalette( QToolTip::palette() ); |
@@ -626,32 +627,34 @@ CardViewItem::Field *CardViewItem::fieldAt( const QPoint & itempos ) const | |||
626 | { | 627 | { |
627 | if ( showEmpty || !f->second.isEmpty() ) | 628 | if ( showEmpty || !f->second.isEmpty() ) |
628 | ypos += ( QMIN( f->second.contains('\n')+1, maxLines ) *fh)+2; | 629 | ypos += ( QMIN( f->second.contains('\n')+1, maxLines ) *fh)+2; |
629 | if ( iy <= ypos ) | 630 | if ( iy <= ypos ) |
630 | break; | 631 | break; |
631 | } | 632 | } |
632 | return f ? f : 0; | 633 | return f ? f : 0; |
633 | } | 634 | } |
634 | //END CardViewItem | 635 | //END CardViewItem |
635 | 636 | ||
636 | //BEGIN CardView | 637 | //BEGIN CardView |
637 | 638 | ||
638 | CardView::CardView(QWidget *parent, const char *name) | 639 | CardView::CardView(QWidget *parent, const char *name) |
639 | : QScrollView(parent, name), | 640 | : QScrollView(parent, name), |
640 | d(new CardViewPrivate()) | 641 | d(new CardViewPrivate()) |
641 | { | 642 | { |
643 | mFlagKeyPressed = false; | ||
644 | mFlagBlockKeyPressed = false; | ||
642 | d->mItemList.setAutoDelete(true); | 645 | d->mItemList.setAutoDelete(true); |
643 | d->mSeparatorList.setAutoDelete(true); | 646 | d->mSeparatorList.setAutoDelete(true); |
644 | 647 | ||
645 | QFont f = font(); | 648 | QFont f = font(); |
646 | d->mFm = new QFontMetrics(f); | 649 | d->mFm = new QFontMetrics(f); |
647 | f.setBold(true); | 650 | f.setBold(true); |
648 | d->mHeaderFont = f; | 651 | d->mHeaderFont = f; |
649 | d->mBFm = new QFontMetrics(f); | 652 | d->mBFm = new QFontMetrics(f); |
650 | d->mTip = ( new CardViewTip( viewport() ) ), | 653 | d->mTip = ( new CardViewTip( viewport() ) ), |
651 | d->mTip->hide(); | 654 | d->mTip->hide(); |
652 | d->mTimer = ( new QTimer(this, "mouseTimer") ), | 655 | d->mTimer = ( new QTimer(this, "mouseTimer") ), |
653 | 656 | ||
654 | viewport()->setMouseTracking( true ); | 657 | viewport()->setMouseTracking( true ); |
655 | viewport()->setFocusProxy(this); | 658 | viewport()->setFocusProxy(this); |
656 | viewport()->setFocusPolicy(WheelFocus); | 659 | viewport()->setFocusPolicy(WheelFocus); |
657 | viewport()->setBackgroundMode(PaletteBase); | 660 | viewport()->setBackgroundMode(PaletteBase); |
@@ -1338,33 +1341,41 @@ void CardView::focusInEvent( QFocusEvent * ) | |||
1338 | } | 1341 | } |
1339 | } | 1342 | } |
1340 | 1343 | ||
1341 | void CardView::focusOutEvent( QFocusEvent * ) | 1344 | void CardView::focusOutEvent( QFocusEvent * ) |
1342 | { | 1345 | { |
1343 | if (d->mCurrentItem) | 1346 | if (d->mCurrentItem) |
1344 | d->mCurrentItem->repaintCard(); | 1347 | d->mCurrentItem->repaintCard(); |
1345 | } | 1348 | } |
1346 | 1349 | ||
1347 | void CardView::keyPressEvent( QKeyEvent *e ) | 1350 | void CardView::keyPressEvent( QKeyEvent *e ) |
1348 | { | 1351 | { |
1349 | if ( ! ( childCount() && d->mCurrentItem ) ) | 1352 | if ( ! ( childCount() && d->mCurrentItem ) ) |
1350 | { | 1353 | { |
1351 | e->ignore(); | 1354 | e->ignore(); |
1352 | return; | 1355 | return; |
1353 | } | 1356 | } |
1354 | 1357 | if ( mFlagBlockKeyPressed ) | |
1358 | return; | ||
1359 | qApp->processEvents(); | ||
1360 | if ( e->isAutoRepeat() && !mFlagKeyPressed ) { | ||
1361 | e->accept(); | ||
1362 | return; | ||
1363 | } | ||
1364 | if (! e->isAutoRepeat() ) | ||
1365 | mFlagKeyPressed = true; | ||
1355 | uint pos = d->mItemList.findRef( d->mCurrentItem ); | 1366 | uint pos = d->mItemList.findRef( d->mCurrentItem ); |
1356 | CardViewItem *aItem = 0L; // item that gets the focus | 1367 | CardViewItem *aItem = 0L; // item that gets the focus |
1357 | CardViewItem *old = d->mCurrentItem; | 1368 | CardViewItem *old = d->mCurrentItem; |
1358 | 1369 | ||
1359 | switch ( e->key() ) | 1370 | switch ( e->key() ) |
1360 | { | 1371 | { |
1361 | case Key_Up: | 1372 | case Key_Up: |
1362 | if ( pos > 0 ) | 1373 | if ( pos > 0 ) |
1363 | { | 1374 | { |
1364 | aItem = d->mItemList.at( pos - 1 ); | 1375 | aItem = d->mItemList.at( pos - 1 ); |
1365 | setCurrentItem( aItem ); | 1376 | setCurrentItem( aItem ); |
1366 | } | 1377 | } |
1367 | break; | 1378 | break; |
1368 | case Key_Down: | 1379 | case Key_Down: |
1369 | if ( pos < d->mItemList.count() - 1 ) | 1380 | if ( pos < d->mItemList.count() - 1 ) |
1370 | { | 1381 | { |
@@ -1702,21 +1713,39 @@ int CardView::separatorWidth() | |||
1702 | void CardView::setSeparatorWidth( int width ) | 1713 | void CardView::setSeparatorWidth( int width ) |
1703 | { | 1714 | { |
1704 | d->mSepWidth = width; | 1715 | d->mSepWidth = width; |
1705 | setLayoutDirty( true ); // hmm, actually I could just adjust the x'es... | 1716 | setLayoutDirty( true ); // hmm, actually I could just adjust the x'es... |
1706 | } | 1717 | } |
1707 | 1718 | ||
1708 | int CardView::maxFieldLines() const | 1719 | int CardView::maxFieldLines() const |
1709 | { | 1720 | { |
1710 | return d->mMaxFieldLines; | 1721 | return d->mMaxFieldLines; |
1711 | } | 1722 | } |
1712 | 1723 | ||
1713 | void CardView::setMaxFieldLines( int howmany ) | 1724 | void CardView::setMaxFieldLines( int howmany ) |
1714 | { | 1725 | { |
1715 | d->mMaxFieldLines = howmany ? howmany : INT_MAX; | 1726 | d->mMaxFieldLines = howmany ? howmany : INT_MAX; |
1716 | // FIXME update, forcing the items to recalc height!! | 1727 | // FIXME update, forcing the items to recalc height!! |
1717 | } | 1728 | } |
1729 | |||
1730 | void CardView::keyReleaseEvent ( QKeyEvent * e ) | ||
1731 | { | ||
1732 | if ( mFlagBlockKeyPressed ) | ||
1733 | return; | ||
1734 | if ( !e->isAutoRepeat() ) { | ||
1735 | mFlagBlockKeyPressed = true; | ||
1736 | qApp->processEvents(); | ||
1737 | mFlagBlockKeyPressed = false; | ||
1738 | mFlagKeyPressed = false; | ||
1739 | } | ||
1740 | QScrollView::keyReleaseEvent ( e ); | ||
1741 | } | ||
1742 | |||
1743 | |||
1744 | |||
1745 | |||
1746 | |||
1718 | //END Cardview | 1747 | //END Cardview |
1719 | 1748 | ||
1720 | #ifndef KAB_EMBEDDED | 1749 | #ifndef KAB_EMBEDDED |
1721 | #include "cardview.moc" | 1750 | #include "cardview.moc" |
1722 | #endif //KAB_EMBEDDED | 1751 | #endif //KAB_EMBEDDED |
diff --git a/kaddressbook/views/cardview.h b/kaddressbook/views/cardview.h index 37dddb6..2ea3771 100644 --- a/kaddressbook/views/cardview.h +++ b/kaddressbook/views/cardview.h | |||
@@ -392,33 +392,37 @@ class CardView : public QScrollView | |||
392 | * Also emitted when the return key is pressed on an item. | 392 | * Also emitted when the return key is pressed on an item. |
393 | */ | 393 | */ |
394 | void executed(CardViewItem *); | 394 | void executed(CardViewItem *); |
395 | 395 | ||
396 | /** Emitted whenever the user double clicks on an item. | 396 | /** Emitted whenever the user double clicks on an item. |
397 | */ | 397 | */ |
398 | void doubleClicked(CardViewItem *); | 398 | void doubleClicked(CardViewItem *); |
399 | 399 | ||
400 | /** Emitted when the current item changes | 400 | /** Emitted when the current item changes |
401 | */ | 401 | */ |
402 | void currentChanged( CardViewItem * ); | 402 | void currentChanged( CardViewItem * ); |
403 | 403 | ||
404 | /** Emitted when the return key is pressed in an item. | 404 | /** Emitted when the return key is pressed in an item. |
405 | */ | 405 | */ |
406 | void returnPressed( CardViewItem * ); | 406 | void returnPressed( CardViewItem * ); |
407 | 407 | ||
408 | protected: | 408 | protected: |
409 | bool mFlagKeyPressed; | ||
410 | bool mFlagBlockKeyPressed; | ||
411 | virtual void keyPressEvent ( QKeyEvent * ); | ||
412 | virtual void keyReleaseEvent ( QKeyEvent * ); | ||
409 | /** Determines which cards intersect that region and tells them to paint | 413 | /** Determines which cards intersect that region and tells them to paint |
410 | * themselves. | 414 | * themselves. |
411 | */ | 415 | */ |
412 | void drawContents(QPainter *p, int clipx, int clipy, int clipw, int cliph); | 416 | void drawContents(QPainter *p, int clipx, int clipy, int clipw, int cliph); |
413 | 417 | ||
414 | /** Sets the layout to dirty and repaints. | 418 | /** Sets the layout to dirty and repaints. |
415 | */ | 419 | */ |
416 | void resizeEvent(QResizeEvent *e); | 420 | void resizeEvent(QResizeEvent *e); |
417 | 421 | ||
418 | /** Changes the direction the canvas scolls. | 422 | /** Changes the direction the canvas scolls. |
419 | */ | 423 | */ |
420 | void contentsWheelEvent(QWheelEvent *e); | 424 | void contentsWheelEvent(QWheelEvent *e); |
421 | 425 | ||
422 | /** Sets the layout to dirty and calls for a repaint. | 426 | /** Sets the layout to dirty and calls for a repaint. |
423 | */ | 427 | */ |
424 | void setLayoutDirty(bool dirty); | 428 | void setLayoutDirty(bool dirty); |
@@ -431,33 +435,32 @@ class CardView : public QScrollView | |||
431 | 435 | ||
432 | // virtual void mousePressEvent(QMouseEvent *e); | 436 | // virtual void mousePressEvent(QMouseEvent *e); |
433 | // virtual void mouseReleaseEvent(QMouseEvent *e); | 437 | // virtual void mouseReleaseEvent(QMouseEvent *e); |
434 | // virtual void mouseMoveEvent(QMouseEvent *e); | 438 | // virtual void mouseMoveEvent(QMouseEvent *e); |
435 | 439 | ||
436 | virtual void contentsMousePressEvent(QMouseEvent *e); | 440 | virtual void contentsMousePressEvent(QMouseEvent *e); |
437 | virtual void contentsMouseMoveEvent(QMouseEvent *e); | 441 | virtual void contentsMouseMoveEvent(QMouseEvent *e); |
438 | virtual void contentsMouseReleaseEvent(QMouseEvent *e); | 442 | virtual void contentsMouseReleaseEvent(QMouseEvent *e); |
439 | virtual void contentsMouseDoubleClickEvent(QMouseEvent *e); | 443 | virtual void contentsMouseDoubleClickEvent(QMouseEvent *e); |
440 | 444 | ||
441 | virtual void enterEvent( QEvent * ); | 445 | virtual void enterEvent( QEvent * ); |
442 | virtual void leaveEvent( QEvent * ); | 446 | virtual void leaveEvent( QEvent * ); |
443 | 447 | ||
444 | virtual void focusInEvent( QFocusEvent * ); | 448 | virtual void focusInEvent( QFocusEvent * ); |
445 | virtual void focusOutEvent( QFocusEvent * ); | 449 | virtual void focusOutEvent( QFocusEvent * ); |
446 | 450 | ||
447 | virtual void keyPressEvent( QKeyEvent * ); | ||
448 | 451 | ||
449 | /** Overload this method to be told when a drag should be started. | 452 | /** Overload this method to be told when a drag should be started. |
450 | * In most cases you will want to start a drag event with the currently | 453 | * In most cases you will want to start a drag event with the currently |
451 | * selected item. | 454 | * selected item. |
452 | */ | 455 | */ |
453 | virtual void startDrag(); | 456 | virtual void startDrag(); |
454 | 457 | ||
455 | private slots: | 458 | private slots: |
456 | /** Called by a timer to display a label with truncated text. | 459 | /** Called by a timer to display a label with truncated text. |
457 | * Pop up a label, if there is a field with obscured text or | 460 | * Pop up a label, if there is a field with obscured text or |
458 | * label at the cursor position. | 461 | * label at the cursor position. |
459 | */ | 462 | */ |
460 | void tryShowFullText(); | 463 | void tryShowFullText(); |
461 | 464 | ||
462 | private: | 465 | private: |
463 | /** draws and erases the rubber bands while columns are resized. | 466 | /** draws and erases the rubber bands while columns are resized. |
diff --git a/kaddressbook/views/contactlistview.cpp b/kaddressbook/views/contactlistview.cpp index e75810e..09d9c03 100644 --- a/kaddressbook/views/contactlistview.cpp +++ b/kaddressbook/views/contactlistview.cpp | |||
@@ -16,32 +16,33 @@ | |||
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <qheader.h> | 24 | #include <qheader.h> |
25 | #include <qiconset.h> | 25 | #include <qiconset.h> |
26 | #include <qimage.h> | 26 | #include <qimage.h> |
27 | #include <qdragobject.h> | 27 | #include <qdragobject.h> |
28 | #include <qcombobox.h> | 28 | #include <qcombobox.h> |
29 | #include <qpainter.h> | 29 | #include <qpainter.h> |
30 | #include <qbrush.h> | 30 | #include <qbrush.h> |
31 | #include <qevent.h> | 31 | #include <qevent.h> |
32 | #include <qapplication.h> | ||
32 | 33 | ||
33 | #include <klocale.h> | 34 | #include <klocale.h> |
34 | #include <kglobalsettings.h> | 35 | #include <kglobalsettings.h> |
35 | #include <kiconloader.h> | 36 | #include <kiconloader.h> |
36 | #include <kdebug.h> | 37 | #include <kdebug.h> |
37 | #include <kconfig.h> | 38 | #include <kconfig.h> |
38 | #include <kapplication.h> | 39 | #include <kapplication.h> |
39 | #include <kurl.h> | 40 | #include <kurl.h> |
40 | 41 | ||
41 | #include "kaddressbooktableview.h" | 42 | #include "kaddressbooktableview.h" |
42 | 43 | ||
43 | #include "contactlistview.h" | 44 | #include "contactlistview.h" |
44 | 45 | ||
45 | ///////////////////////////////// | 46 | ///////////////////////////////// |
46 | // DynamicTip Methods | 47 | // DynamicTip Methods |
47 | 48 | ||
@@ -235,32 +236,34 @@ void ContactListViewItem::refresh() | |||
235 | for( it = mFields.begin(); it != mFields.end(); ++it ) { | 236 | for( it = mFields.begin(); it != mFields.end(); ++it ) { |
236 | setText( i++, (*it)->value( mAddressee ) ); | 237 | setText( i++, (*it)->value( mAddressee ) ); |
237 | } | 238 | } |
238 | } | 239 | } |
239 | 240 | ||
240 | /////////////////////////////// | 241 | /////////////////////////////// |
241 | // ContactListView | 242 | // ContactListView |
242 | 243 | ||
243 | ContactListView::ContactListView(KAddressBookTableView *view, | 244 | ContactListView::ContactListView(KAddressBookTableView *view, |
244 | KABC::AddressBook* /* doc */, | 245 | KABC::AddressBook* /* doc */, |
245 | QWidget *parent, | 246 | QWidget *parent, |
246 | const char *name ) | 247 | const char *name ) |
247 | : KListView( parent, name ), | 248 | : KListView( parent, name ), |
248 | pabWidget( view ), | 249 | pabWidget( view ), |
249 | oldColumn( 0 ) | 250 | oldColumn( 0 ) |
250 | { | 251 | { |
252 | mFlagBlockKeyPressed = false; | ||
253 | mFlagKeyPressed = false; | ||
251 | mABackground = true; | 254 | mABackground = true; |
252 | mSingleLine = false; | 255 | mSingleLine = false; |
253 | mToolTips = true; | 256 | mToolTips = true; |
254 | #ifndef KAB_EMBEDDED | 257 | #ifndef KAB_EMBEDDED |
255 | mAlternateColor = KGlobalSettings::alternateBackgroundColor(); | 258 | mAlternateColor = KGlobalSettings::alternateBackgroundColor(); |
256 | #else //KAB_EMBEDDED | 259 | #else //KAB_EMBEDDED |
257 | mAlternateColor = QColor(240, 240, 240); | 260 | mAlternateColor = QColor(240, 240, 240); |
258 | #endif //KAB_EMBEDDED | 261 | #endif //KAB_EMBEDDED |
259 | 262 | ||
260 | setAlternateBackgroundEnabled(mABackground); | 263 | setAlternateBackgroundEnabled(mABackground); |
261 | setAcceptDrops( true ); | 264 | setAcceptDrops( true ); |
262 | viewport()->setAcceptDrops( true ); | 265 | viewport()->setAcceptDrops( true ); |
263 | setAllColumnsShowFocus( true ); | 266 | setAllColumnsShowFocus( true ); |
264 | setShowSortIndicator(true); | 267 | setShowSortIndicator(true); |
265 | 268 | ||
266 | setSelectionModeExt( KListView::Extended ); | 269 | setSelectionModeExt( KListView::Extended ); |
@@ -382,19 +385,45 @@ void ContactListView::setAlternateBackgroundEnabled(bool enabled) | |||
382 | } | 385 | } |
383 | 386 | ||
384 | void ContactListView::setBackgroundPixmap(const QString &filename) | 387 | void ContactListView::setBackgroundPixmap(const QString &filename) |
385 | { | 388 | { |
386 | if (filename.isEmpty()) | 389 | if (filename.isEmpty()) |
387 | { | 390 | { |
388 | unsetPalette(); | 391 | unsetPalette(); |
389 | } | 392 | } |
390 | else | 393 | else |
391 | { | 394 | { |
392 | qDebug("ContactListView::setBackgroundPixmap has to be verified"); | 395 | qDebug("ContactListView::setBackgroundPixmap has to be verified"); |
393 | //US setPaletteBackgroundPixmap(QPixmap(filename)); | 396 | //US setPaletteBackgroundPixmap(QPixmap(filename)); |
394 | KListView::setBackgroundPixmap((const QPixmap&)QPixmap(filename)); | 397 | KListView::setBackgroundPixmap((const QPixmap&)QPixmap(filename)); |
395 | } | 398 | } |
396 | 399 | ||
397 | } | 400 | } |
401 | |||
402 | void ContactListView::keyPressEvent ( QKeyEvent * e ) | ||
403 | { | ||
404 | if ( mFlagBlockKeyPressed ) | ||
405 | return; | ||
406 | qApp->processEvents(); | ||
407 | if ( e->isAutoRepeat() && !mFlagKeyPressed ) { | ||
408 | e->accept(); | ||
409 | return; | ||
410 | } | ||
411 | if (! e->isAutoRepeat() ) | ||
412 | mFlagKeyPressed = true; | ||
413 | KListView::keyPressEvent ( e ); | ||
414 | } | ||
415 | void ContactListView::keyReleaseEvent ( QKeyEvent * e ) | ||
416 | { | ||
417 | if ( mFlagBlockKeyPressed ) | ||
418 | return; | ||
419 | if ( !e->isAutoRepeat() ) { | ||
420 | mFlagBlockKeyPressed = true; | ||
421 | qApp->processEvents(); | ||
422 | mFlagBlockKeyPressed = false; | ||
423 | mFlagKeyPressed = false; | ||
424 | } | ||
425 | KListView::keyReleaseEvent ( e ); | ||
426 | } | ||
398 | #ifndef KAB_EMBEDDED | 427 | #ifndef KAB_EMBEDDED |
399 | #include "contactlistview.moc" | 428 | #include "contactlistview.moc" |
400 | #endif //KAB_EMBEDDED | 429 | #endif //KAB_EMBEDDED |
diff --git a/kaddressbook/views/contactlistview.h b/kaddressbook/views/contactlistview.h index 9d1a672..46477e1 100644 --- a/kaddressbook/views/contactlistview.h +++ b/kaddressbook/views/contactlistview.h | |||
@@ -79,32 +79,36 @@ public: | |||
79 | bool alternateBackground() const { return mABackground; } | 79 | bool alternateBackground() const { return mABackground; } |
80 | void setAlternateBackgroundEnabled(bool enabled); | 80 | void setAlternateBackgroundEnabled(bool enabled); |
81 | 81 | ||
82 | bool singleLine() const { return mSingleLine; } | 82 | bool singleLine() const { return mSingleLine; } |
83 | void setSingleLineEnabled(bool enabled) { mSingleLine = enabled; } | 83 | void setSingleLineEnabled(bool enabled) { mSingleLine = enabled; } |
84 | 84 | ||
85 | const QColor &alternateColor() const { return mAlternateColor; } | 85 | const QColor &alternateColor() const { return mAlternateColor; } |
86 | void setAlternateColor(const QColor &mAlternateColor); | 86 | void setAlternateColor(const QColor &mAlternateColor); |
87 | 87 | ||
88 | /** Sets the background pixmap to <i>filename</i>. If the | 88 | /** Sets the background pixmap to <i>filename</i>. If the |
89 | * QString is empty (QString::isEmpty()), then the background | 89 | * QString is empty (QString::isEmpty()), then the background |
90 | * pixmap will be disabled. | 90 | * pixmap will be disabled. |
91 | */ | 91 | */ |
92 | void setBackgroundPixmap(const QString &filename); | 92 | void setBackgroundPixmap(const QString &filename); |
93 | 93 | ||
94 | protected: | 94 | protected: |
95 | bool mFlagKeyPressed; | ||
96 | bool mFlagBlockKeyPressed; | ||
97 | virtual void keyPressEvent ( QKeyEvent * ); | ||
98 | virtual void keyReleaseEvent ( QKeyEvent * ); | ||
95 | /** Paints the background pixmap in the empty area. This method is needed | 99 | /** Paints the background pixmap in the empty area. This method is needed |
96 | * since Qt::FixedPixmap will not scroll with the list view. | 100 | * since Qt::FixedPixmap will not scroll with the list view. |
97 | */ | 101 | */ |
98 | virtual void paintEmptyArea( QPainter * p, const QRect & rect ); | 102 | virtual void paintEmptyArea( QPainter * p, const QRect & rect ); |
99 | virtual void contentsMousePressEvent(QMouseEvent*); | 103 | virtual void contentsMousePressEvent(QMouseEvent*); |
100 | void contentsMouseMoveEvent( QMouseEvent *e ); | 104 | void contentsMouseMoveEvent( QMouseEvent *e ); |
101 | void contentsDropEvent( QDropEvent *e ); | 105 | void contentsDropEvent( QDropEvent *e ); |
102 | virtual bool acceptDrag(QDropEvent *e) const; | 106 | virtual bool acceptDrag(QDropEvent *e) const; |
103 | 107 | ||
104 | protected slots: | 108 | protected slots: |
105 | void itemDropped(QDropEvent *e); | 109 | void itemDropped(QDropEvent *e); |
106 | 110 | ||
107 | public slots: | 111 | public slots: |
108 | void printMe(); | 112 | void printMe(); |
109 | 113 | ||
110 | signals: | 114 | signals: |
diff --git a/kaddressbook/views/kaddressbookcardview.cpp b/kaddressbook/views/kaddressbookcardview.cpp index cce68b9..9c35fd6 100644 --- a/kaddressbook/views/kaddressbookcardview.cpp +++ b/kaddressbook/views/kaddressbookcardview.cpp | |||
@@ -195,38 +195,42 @@ KAddressBookCardView::KAddressBookCardView( KABC::AddressBook *ab, | |||
195 | mCardView , SLOT(printMe())); | 195 | mCardView , SLOT(printMe())); |
196 | } | 196 | } |
197 | 197 | ||
198 | KAddressBookCardView::~KAddressBookCardView() | 198 | KAddressBookCardView::~KAddressBookCardView() |
199 | { | 199 | { |
200 | } | 200 | } |
201 | void KAddressBookCardView::setFocusAV() | 201 | void KAddressBookCardView::setFocusAV() |
202 | { | 202 | { |
203 | if ( mCardView ) | 203 | if ( mCardView ) |
204 | mCardView->setFocus(); | 204 | mCardView->setFocus(); |
205 | 205 | ||
206 | } | 206 | } |
207 | void KAddressBookCardView::scrollUP() | 207 | void KAddressBookCardView::scrollUP() |
208 | { | 208 | { |
209 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Up, 0,0 ); | 209 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Up, 0,0 ); |
210 | QApplication::postEvent( mCardView, ev ); | 210 | QApplication::postEvent( mCardView, ev ); |
211 | ev = new QKeyEvent ( QEvent::KeyRelease, Qt::Key_Up, 0,0 ); | ||
212 | QApplication::postEvent( mCardView, ev ); | ||
211 | 213 | ||
212 | } | 214 | } |
213 | void KAddressBookCardView::scrollDOWN() | 215 | void KAddressBookCardView::scrollDOWN() |
214 | { | 216 | { |
215 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Down, 0,0 ); | 217 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Down, 0,0 ); |
216 | QApplication::postEvent( mCardView, ev ); | 218 | QApplication::postEvent( mCardView, ev ); |
219 | ev = new QKeyEvent ( QEvent::KeyRelease, Qt::Key_Down, 0,0 ); | ||
220 | QApplication::postEvent( mCardView, ev ); | ||
217 | } | 221 | } |
218 | void KAddressBookCardView::readConfig(KConfig *config) | 222 | void KAddressBookCardView::readConfig(KConfig *config) |
219 | { | 223 | { |
220 | KAddressBookView::readConfig(config); | 224 | KAddressBookView::readConfig(config); |
221 | 225 | ||
222 | // costum colors? | 226 | // costum colors? |
223 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) | 227 | if ( config->readBoolEntry( "EnableCustomColors", false ) ) |
224 | { | 228 | { |
225 | QPalette p( mCardView->palette() ); | 229 | QPalette p( mCardView->palette() ); |
226 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); | 230 | QColor c = p.color(QPalette::Normal, QColorGroup::Base ); |
227 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); | 231 | p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); |
228 | c = p.color(QPalette::Normal, QColorGroup::Text ); | 232 | c = p.color(QPalette::Normal, QColorGroup::Text ); |
229 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); | 233 | p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); |
230 | c = p.color(QPalette::Normal, QColorGroup::Button ); | 234 | c = p.color(QPalette::Normal, QColorGroup::Button ); |
231 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); | 235 | p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); |
232 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); | 236 | c = p.color(QPalette::Normal, QColorGroup::ButtonText ); |
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp index f4b008c..e322473 100644 --- a/kaddressbook/views/kaddressbooktableview.cpp +++ b/kaddressbook/views/kaddressbooktableview.cpp | |||
@@ -48,37 +48,41 @@ KAddressBookTableView::KAddressBookTableView( KABC::AddressBook *ab, | |||
48 | mListView = 0; | 48 | mListView = 0; |
49 | } | 49 | } |
50 | 50 | ||
51 | KAddressBookTableView::~KAddressBookTableView() | 51 | KAddressBookTableView::~KAddressBookTableView() |
52 | { | 52 | { |
53 | } | 53 | } |
54 | void KAddressBookTableView::setFocusAV() | 54 | void KAddressBookTableView::setFocusAV() |
55 | { | 55 | { |
56 | if ( mListView ) | 56 | if ( mListView ) |
57 | mListView->setFocus(); | 57 | mListView->setFocus(); |
58 | 58 | ||
59 | } | 59 | } |
60 | void KAddressBookTableView::scrollUP() | 60 | void KAddressBookTableView::scrollUP() |
61 | { | 61 | { |
62 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Up, 0,0 ); | 62 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Up, 0,0 ); |
63 | QApplication::postEvent( mListView, ev ); | 63 | QApplication::postEvent( mListView, ev ); |
64 | ev = new QKeyEvent ( QEvent::KeyRelease, Qt::Key_Up, 0,0 ); | ||
65 | QApplication::postEvent( mListView, ev ); | ||
64 | } | 66 | } |
65 | void KAddressBookTableView::scrollDOWN() | 67 | void KAddressBookTableView::scrollDOWN() |
66 | { | 68 | { |
67 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Down, 0,0 ); | 69 | QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Down, 0,0 ); |
68 | QApplication::postEvent( mListView, ev ); | 70 | QApplication::postEvent( mListView, ev ); |
71 | ev = new QKeyEvent ( QEvent::KeyRelease, Qt::Key_Down, 0,0 ); | ||
72 | QApplication::postEvent( mListView, ev ); | ||
69 | } | 73 | } |
70 | void KAddressBookTableView::reconstructListView() | 74 | void KAddressBookTableView::reconstructListView() |
71 | { | 75 | { |
72 | if (mListView) | 76 | if (mListView) |
73 | { | 77 | { |
74 | disconnect(mListView, SIGNAL(selectionChanged()), | 78 | disconnect(mListView, SIGNAL(selectionChanged()), |
75 | this, SLOT(addresseeSelected())); | 79 | this, SLOT(addresseeSelected())); |
76 | disconnect(mListView, SIGNAL(executed(QListViewItem*)), | 80 | disconnect(mListView, SIGNAL(executed(QListViewItem*)), |
77 | this, SLOT(addresseeExecuted(QListViewItem*))); | 81 | this, SLOT(addresseeExecuted(QListViewItem*))); |
78 | disconnect(mListView, SIGNAL(doubleClicked(QListViewItem*)), | 82 | disconnect(mListView, SIGNAL(doubleClicked(QListViewItem*)), |
79 | this, SLOT(addresseeExecuted(QListViewItem*))); | 83 | this, SLOT(addresseeExecuted(QListViewItem*))); |
80 | disconnect(mListView, SIGNAL(startAddresseeDrag()), this, | 84 | disconnect(mListView, SIGNAL(startAddresseeDrag()), this, |
81 | SIGNAL(startDrag())); | 85 | SIGNAL(startDrag())); |
82 | disconnect(mListView, SIGNAL(returnPressed(QListViewItem*)), | 86 | disconnect(mListView, SIGNAL(returnPressed(QListViewItem*)), |
83 | this, SLOT(addresseeExecuted(QListViewItem*))); | 87 | this, SLOT(addresseeExecuted(QListViewItem*))); |
84 | 88 | ||
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index ca35a86..b9ce4f4 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -987,32 +987,33 @@ void MonthViewCell::selection( QListBoxItem *item ) | |||
987 | if ( !item ) return; | 987 | if ( !item ) return; |
988 | 988 | ||
989 | mMonthView->setSelectedCell( this ); | 989 | mMonthView->setSelectedCell( this ); |
990 | } | 990 | } |
991 | 991 | ||
992 | 992 | ||
993 | // ******************************************************************************* | 993 | // ******************************************************************************* |
994 | // ******************************************************************************* | 994 | // ******************************************************************************* |
995 | // ******************************************************************************* | 995 | // ******************************************************************************* |
996 | 996 | ||
997 | 997 | ||
998 | KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | 998 | KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) |
999 | : KOEventView( calendar, parent, name ), | 999 | : KOEventView( calendar, parent, name ), |
1000 | mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), | 1000 | mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), |
1001 | mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) | 1001 | mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) |
1002 | { | 1002 | { |
1003 | mFlagKeyPressed = false; | ||
1003 | mShortDayLabelsM = false; | 1004 | mShortDayLabelsM = false; |
1004 | mShortDayLabelsW = false; | 1005 | mShortDayLabelsW = false; |
1005 | skipResize = false; | 1006 | skipResize = false; |
1006 | clPending = true; | 1007 | clPending = true; |
1007 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" ); | 1008 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" ); |
1008 | mWidStack = new QWidgetStack( this ); | 1009 | mWidStack = new QWidgetStack( this ); |
1009 | QVBoxLayout* hb = new QVBoxLayout( this ); | 1010 | QVBoxLayout* hb = new QVBoxLayout( this ); |
1010 | mMonthView = new QWidget( mWidStack ); | 1011 | mMonthView = new QWidget( mWidStack ); |
1011 | mWeekView = new QWidget( mWidStack ); | 1012 | mWeekView = new QWidget( mWidStack ); |
1012 | #if QT_VERSION >= 0x030000 | 1013 | #if QT_VERSION >= 0x030000 |
1013 | mWidStack->addWidget(mMonthView ); | 1014 | mWidStack->addWidget(mMonthView ); |
1014 | mWidStack->addWidget(mWeekView ); | 1015 | mWidStack->addWidget(mWeekView ); |
1015 | #else | 1016 | #else |
1016 | mWidStack->addWidget( mMonthView, 1 ); | 1017 | mWidStack->addWidget( mMonthView, 1 ); |
1017 | mWidStack->addWidget( mWeekView , 1 ); | 1018 | mWidStack->addWidget( mWeekView , 1 ); |
1018 | #endif | 1019 | #endif |
@@ -1824,35 +1825,51 @@ void KOMonthView::processSelectionChange() | |||
1824 | QPtrList<Incidence> incidences = selectedIncidences(); | 1825 | QPtrList<Incidence> incidences = selectedIncidences(); |
1825 | if (incidences.count() > 0) { | 1826 | if (incidences.count() > 0) { |
1826 | emit incidenceSelected( incidences.first() ); | 1827 | emit incidenceSelected( incidences.first() ); |
1827 | } else { | 1828 | } else { |
1828 | emit incidenceSelected( 0 ); | 1829 | emit incidenceSelected( 0 ); |
1829 | clearSelection(); | 1830 | clearSelection(); |
1830 | } | 1831 | } |
1831 | } | 1832 | } |
1832 | 1833 | ||
1833 | void KOMonthView::clearSelection() | 1834 | void KOMonthView::clearSelection() |
1834 | { | 1835 | { |
1835 | if ( mSelectedCell ) { | 1836 | if ( mSelectedCell ) { |
1836 | mSelectedCell->deselect(); | 1837 | mSelectedCell->deselect(); |
1837 | mSelectedCell = 0; | 1838 | mSelectedCell = 0; |
1838 | } | 1839 | } |
1839 | } | 1840 | } |
1841 | |||
1842 | void KOMonthView::keyReleaseEvent ( QKeyEvent * e) | ||
1843 | { | ||
1844 | if ( !e->isAutoRepeat() ) { | ||
1845 | mFlagKeyPressed = false; | ||
1846 | } | ||
1847 | } | ||
1848 | |||
1840 | void KOMonthView::keyPressEvent ( QKeyEvent * e ) | 1849 | void KOMonthView::keyPressEvent ( QKeyEvent * e ) |
1841 | { | 1850 | { |
1842 | //qDebug("KOMonthView::keyPressEvent "); | 1851 | |
1852 | qApp->processEvents(); | ||
1853 | if ( e->isAutoRepeat() && !mFlagKeyPressed ) { | ||
1854 | //e->ignore(); | ||
1855 | e->accept(); | ||
1856 | return; | ||
1857 | } | ||
1858 | if (! e->isAutoRepeat() ) | ||
1859 | mFlagKeyPressed = true; | ||
1843 | switch(e->key()) { | 1860 | switch(e->key()) { |
1844 | case Key_Up: | 1861 | case Key_Up: |
1845 | { | 1862 | { |
1846 | if ( mShowWeekView ) { | 1863 | if ( mShowWeekView ) { |
1847 | emit selectWeekNum ( currentWeek() - 1 ); | 1864 | emit selectWeekNum ( currentWeek() - 1 ); |
1848 | } | 1865 | } |
1849 | else { | 1866 | else { |
1850 | emit prevMonth(); | 1867 | emit prevMonth(); |
1851 | } | 1868 | } |
1852 | } | 1869 | } |
1853 | e->accept(); | 1870 | e->accept(); |
1854 | break; | 1871 | break; |
1855 | case Key_Down: | 1872 | case Key_Down: |
1856 | { | 1873 | { |
1857 | if ( mShowWeekView ) { | 1874 | if ( mShowWeekView ) { |
1858 | emit selectWeekNum ( currentWeek() +1); | 1875 | emit selectWeekNum ( currentWeek() +1); |
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index c1ca3d4..88050fe 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h | |||
@@ -298,23 +298,24 @@ class KOMonthView: public KOEventView | |||
298 | void computeLayoutWeek(); | 298 | void computeLayoutWeek(); |
299 | 299 | ||
300 | QPtrVector<MonthViewCell> mCells; | 300 | QPtrVector<MonthViewCell> mCells; |
301 | QPtrVector<QLabel> mDayLabels; | 301 | QPtrVector<QLabel> mDayLabels; |
302 | QPtrVector<KOWeekButton> mWeekLabels; | 302 | QPtrVector<KOWeekButton> mWeekLabels; |
303 | QPtrVector<MonthViewCell> mCellsW; | 303 | QPtrVector<MonthViewCell> mCellsW; |
304 | QPtrVector<QLabel> mDayLabelsW; | 304 | QPtrVector<QLabel> mDayLabelsW; |
305 | QPtrVector<KOWeekButton> mWeekLabelsW; | 305 | QPtrVector<KOWeekButton> mWeekLabelsW; |
306 | 306 | ||
307 | bool mShortDayLabelsM; | 307 | bool mShortDayLabelsM; |
308 | bool mShortDayLabelsW; | 308 | bool mShortDayLabelsW; |
309 | int mWidthLongDayLabel; | 309 | int mWidthLongDayLabel; |
310 | 310 | ||
311 | QDate mStartDate; | 311 | QDate mStartDate; |
312 | 312 | ||
313 | MonthViewCell *mSelectedCell; | 313 | MonthViewCell *mSelectedCell; |
314 | 314 | bool mFlagKeyPressed; | |
315 | KOEventPopupMenu *mContextMenu; | 315 | KOEventPopupMenu *mContextMenu; |
316 | void keyPressEvent ( QKeyEvent * ) ; | 316 | void keyPressEvent ( QKeyEvent * ) ; |
317 | void keyReleaseEvent ( QKeyEvent * ) ; | ||
317 | 318 | ||
318 | }; | 319 | }; |
319 | 320 | ||
320 | #endif | 321 | #endif |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index ae03a09..09a0880 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -153,68 +153,79 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : | |||
153 | tbd = Bottom; | 153 | tbd = Bottom; |
154 | else | 154 | else |
155 | tbd = Top; | 155 | tbd = Top; |
156 | } | 156 | } |
157 | else { | 157 | else { |
158 | if ( p->mToolBarUp ) | 158 | if ( p->mToolBarUp ) |
159 | tbd = Right; | 159 | tbd = Right; |
160 | else | 160 | else |
161 | tbd = Left; | 161 | tbd = Left; |
162 | } | 162 | } |
163 | if ( KOPrefs::instance()->mUseAppColors ) | 163 | if ( KOPrefs::instance()->mUseAppColors ) |
164 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); | 164 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); |
165 | globalFlagBlockStartup = 1; | 165 | globalFlagBlockStartup = 1; |
166 | iconToolBar = new QPEToolBar( this ); | 166 | iconToolBar = new QPEToolBar( this ); |
167 | addToolBar (iconToolBar , tbd ); | 167 | addToolBar (iconToolBar , tbd ); |
168 | 168 | ||
169 | if ( KOPrefs::instance()->mShowIconFilter ) { | 169 | #ifdef DESKTOP_VERSION |
170 | if ( KOPrefs::instance()->mShowIconFilter ) | ||
171 | #else | ||
172 | if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar ) | ||
173 | #endif | ||
174 | |||
175 | { | ||
170 | if ( p->mToolBarHorF ) { | 176 | if ( p->mToolBarHorF ) { |
171 | if ( p->mToolBarUpF ) | 177 | if ( p->mToolBarUpF ) |
172 | tbd = Bottom; | 178 | tbd = Bottom; |
173 | else | 179 | else |
174 | tbd = Top; | 180 | tbd = Top; |
175 | } | 181 | } |
176 | else { | 182 | else { |
177 | if ( p->mToolBarUpF ) | 183 | if ( p->mToolBarUpF ) |
178 | tbd = Right; | 184 | tbd = Right; |
179 | else | 185 | else |
180 | tbd = Left; | 186 | tbd = Left; |
181 | } | 187 | } |
182 | filterToolBar = new QPEToolBar ( this ); | 188 | filterToolBar = new QPEToolBar ( this ); |
183 | filterMenubar = new QPEMenuBar( filterToolBar ); | 189 | filterMenubar = new QPEMenuBar( filterToolBar ); |
184 | QFontMetrics fm ( filterMenubar->font() ); | 190 | QFontMetrics fm ( filterMenubar->font() ); |
185 | 191 | ||
186 | filterPopupMenu = new QPopupMenu( this ); | 192 | filterPopupMenu = new QPopupMenu( this ); |
187 | filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); | 193 | filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); |
188 | QString addTest = "Ax"; | 194 | QString addTest = "Ax"; |
189 | #ifdef DESKTOP_VERSION | 195 | #ifdef DESKTOP_VERSION |
190 | addTest = "AAAx"; | 196 | addTest = "AAAx"; |
191 | #endif | 197 | #endif |
192 | filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+addTest ) ); | 198 | filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+addTest ) ); |
193 | addToolBar (filterToolBar , tbd ); | 199 | addToolBar (filterToolBar , tbd ); |
194 | connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) ); | 200 | connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) ); |
195 | connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) ); | 201 | connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) ); |
202 | if ( !KOPrefs::instance()->mShowIconFilter && !p->mShowIconOnetoolbar ) | ||
203 | filterToolBar->hide(); | ||
196 | } else { | 204 | } else { |
197 | filterToolBar = 0; | 205 | filterToolBar = 0; |
198 | filterMenubar = 0; | 206 | filterMenubar = 0; |
199 | filterPopupMenu = 0; | 207 | filterPopupMenu = 0; |
200 | } | 208 | } |
201 | if ( p->mShowIconOnetoolbar ) { | 209 | if ( p->mShowIconOnetoolbar ) { |
202 | viewToolBar = iconToolBar ; | 210 | viewToolBar = iconToolBar ; |
203 | navigatorToolBar = iconToolBar ; | 211 | navigatorToolBar = iconToolBar ; |
204 | } else { | 212 | } else { |
213 | #ifndef DESKTOP_VERSION | ||
214 | setToolBarsMovable( false ); | ||
215 | #endif | ||
205 | if ( p->mToolBarHorV ) { | 216 | if ( p->mToolBarHorV ) { |
206 | if ( p->mToolBarUpV ) | 217 | if ( p->mToolBarUpV ) |
207 | tbd = Bottom; | 218 | tbd = Bottom; |
208 | else | 219 | else |
209 | tbd = Top; | 220 | tbd = Top; |
210 | } | 221 | } |
211 | else { | 222 | else { |
212 | if ( p->mToolBarUpV ) | 223 | if ( p->mToolBarUpV ) |
213 | tbd = Right; | 224 | tbd = Right; |
214 | else | 225 | else |
215 | tbd = Left; | 226 | tbd = Left; |
216 | } | 227 | } |
217 | viewToolBar = new QPEToolBar( this ); | 228 | viewToolBar = new QPEToolBar( this ); |
218 | addToolBar (viewToolBar , tbd ); | 229 | addToolBar (viewToolBar , tbd ); |
219 | if ( p->mToolBarHorN ) { | 230 | if ( p->mToolBarHorN ) { |
220 | if ( p->mToolBarUpN ) | 231 | if ( p->mToolBarUpN ) |
@@ -2397,16 +2408,29 @@ void MainWindow::weekAction() | |||
2397 | //qDebug("weekSelected %d ", month); | 2408 | //qDebug("weekSelected %d ", month); |
2398 | } | 2409 | } |
2399 | delete popup; | 2410 | delete popup; |
2400 | } | 2411 | } |
2401 | 2412 | ||
2402 | void MainWindow::hideEvent ( QHideEvent * ) | 2413 | void MainWindow::hideEvent ( QHideEvent * ) |
2403 | { | 2414 | { |
2404 | QString message; | 2415 | QString message; |
2405 | QDateTime nextA = mCalendar->nextAlarmEventDateTime(); | 2416 | QDateTime nextA = mCalendar->nextAlarmEventDateTime(); |
2406 | if ( nextA.isValid() ) { | 2417 | if ( nextA.isValid() ) { |
2407 | QString sum = mCalendar->nextSummary(); | 2418 | QString sum = mCalendar->nextSummary(); |
2408 | 2419 | ||
2409 | message = i18n("%1 %2 - %3 (next event/todo with alarm)").arg( KGlobal::locale()->formatTime(nextA.time() , false)).arg(sum ).arg( KGlobal::locale()->formatDate(nextA.date() , false)); | 2420 | message = i18n("%1 %2 - %3 (next event/todo with alarm)").arg( KGlobal::locale()->formatTime(nextA.time() , false)).arg(sum ).arg( KGlobal::locale()->formatDate(nextA.date() , false)); |
2410 | setCaption( message ); | 2421 | setCaption( message ); |
2411 | } | 2422 | } |
2412 | } | 2423 | } |
2424 | |||
2425 | void MainWindow::resizeEvent( QResizeEvent* e) | ||
2426 | { | ||
2427 | #ifndef DESKTOP_VERSION | ||
2428 | if ( !KOPrefs::instance()->mShowIconFilter && !KOPrefs::instance()->mShowIconOnetoolbar ) { | ||
2429 | if (QApplication::desktop()->width() > QApplication::desktop()->height() ) | ||
2430 | filterToolBar->hide(); | ||
2431 | else | ||
2432 | filterToolBar->show(); | ||
2433 | } | ||
2434 | #endif | ||
2435 | QMainWindow::resizeEvent( e); | ||
2436 | } | ||
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 7c16aeb..4d1753f 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h | |||
@@ -120,32 +120,33 @@ class MainWindow : public QMainWindow | |||
120 | QCopChannel* infrared; | 120 | QCopChannel* infrared; |
121 | #endif | 121 | #endif |
122 | QAction* brAction; | 122 | QAction* brAction; |
123 | KSyncManager* mSyncManager; | 123 | KSyncManager* mSyncManager; |
124 | bool mClosed; | 124 | bool mClosed; |
125 | void saveOnClose(); | 125 | void saveOnClose(); |
126 | bool mFlagKeyPressed; | 126 | bool mFlagKeyPressed; |
127 | bool mBlockAtStartup; | 127 | bool mBlockAtStartup; |
128 | QPEToolBar *iconToolBar; | 128 | QPEToolBar *iconToolBar; |
129 | QPEToolBar *viewToolBar; | 129 | QPEToolBar *viewToolBar; |
130 | QPEToolBar *navigatorToolBar; | 130 | QPEToolBar *navigatorToolBar; |
131 | QPEToolBar *filterToolBar; | 131 | QPEToolBar *filterToolBar; |
132 | QPEMenuBar *filterMenubar; | 132 | QPEMenuBar *filterMenubar; |
133 | QPopupMenu * filterPopupMenu; | 133 | QPopupMenu * filterPopupMenu; |
134 | void initActions(); | 134 | void initActions(); |
135 | void setDefaultPreferences(); | 135 | void setDefaultPreferences(); |
136 | void resizeEvent( QResizeEvent* e); | ||
136 | void keyPressEvent ( QKeyEvent * ) ; | 137 | void keyPressEvent ( QKeyEvent * ) ; |
137 | void keyReleaseEvent ( QKeyEvent * ) ; | 138 | void keyReleaseEvent ( QKeyEvent * ) ; |
138 | QPopupMenu *configureToolBarMenu; | 139 | QPopupMenu *configureToolBarMenu; |
139 | QPopupMenu *selectFilterMenu; | 140 | QPopupMenu *selectFilterMenu; |
140 | QPopupMenu *selectFilterMenuTB; | 141 | QPopupMenu *selectFilterMenuTB; |
141 | QPopupMenu *configureAgendaMenu, *syncMenu; | 142 | QPopupMenu *configureAgendaMenu, *syncMenu; |
142 | CalendarLocal *mCalendar; | 143 | CalendarLocal *mCalendar; |
143 | CalendarView *mView; | 144 | CalendarView *mView; |
144 | QAction *mNewSubTodoAction; | 145 | QAction *mNewSubTodoAction; |
145 | QAction *mWeekAction; | 146 | QAction *mWeekAction; |
146 | QFont mWeekFont; | 147 | QFont mWeekFont; |
147 | QPixmap mWeekPixmap; | 148 | QPixmap mWeekPixmap; |
148 | QColor mWeekBgColor; | 149 | QColor mWeekBgColor; |
149 | 150 | ||
150 | QAction *mShowAction; | 151 | QAction *mShowAction; |
151 | QAction *mEditAction; | 152 | QAction *mEditAction; |