summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-10-28 00:07:51 (UTC)
committer ulf69 <ulf69>2004-10-28 00:07:51 (UTC)
commit0766b449ccdcc125c18c401d87cc51c277464728 (patch) (unidiff)
tree5279c7c3f441f448ecb82f1400439e4a7498dde3
parent5afbc6ae0908ce12fd5abb1c4eadf9c61a01503c (diff)
downloadkdepimpi-0766b449ccdcc125c18c401d87cc51c277464728.zip
kdepimpi-0766b449ccdcc125c18c401d87cc51c277464728.tar.gz
kdepimpi-0766b449ccdcc125c18c401d87cc51c277464728.tar.bz2
bugfix: KListView did not recognize singleclicks
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdeui/klistview.cpp88
-rw-r--r--microkde/kdeui/klistview.h7
2 files changed, 65 insertions, 30 deletions
diff --git a/microkde/kdeui/klistview.cpp b/microkde/kdeui/klistview.cpp
index 3c809b4..32483bb 100644
--- a/microkde/kdeui/klistview.cpp
+++ b/microkde/kdeui/klistview.cpp
@@ -517,3 +517,3 @@ void KListView::slotSettingsChanged(int category)
517 //qDebug("KListView::slotSettingsChanged has to be verified"); 517 //qDebug("KListView::slotSettingsChanged has to be verified");
518/*US 518
519 519
@@ -521,2 +521,24 @@ void KListView::slotSettingsChanged(int category)
521 { 521 {
522 //US I create my private category (=1) to set the settings
523 case 1:
524 d->dragDelay = 2;
525 //US set explicitly d->bUseSingle = KGlobalSettings::singleClick();
526 qDebug("KListView::slotSettingsChanged: single%i", d->bUseSingle);
527
528 disconnect(this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
529 this, SLOT (slotMouseButtonClicked (int, QListViewItem*, const QPoint &, int)));
530
531 if( d->bUseSingle )
532 connect (this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
533 this, SLOT (slotMouseButtonClicked( int, QListViewItem*, const QPoint &, int)));
534
535 //US d->bChangeCursorOverItem = KGlobalSettings::changeCursorOverIcon();
536 //US d->autoSelectDelay = KGlobalSettings::autoSelectDelay();
537
538 if( !d->bUseSingle || !d->bChangeCursorOverItem )
539 viewport()->unsetCursor();
540
541 break;
542
543 /*US
522 case KApplication::SETTINGS_MOUSE: 544 case KApplication::SETTINGS_MOUSE:
@@ -539,3 +561,2 @@ void KListView::slotSettingsChanged(int category)
539 break; 561 break;
540
541 case KApplication::SETTINGS_POPUPMENU: 562 case KApplication::SETTINGS_POPUPMENU:
@@ -559,2 +580,3 @@ void KListView::slotSettingsChanged(int category)
559 break; 580 break;
581 */
560 582
@@ -563,8 +585,3 @@ void KListView::slotSettingsChanged(int category)
563 } 585 }
564*/
565 586
566 if( d->bUseSingle )
567 connect (this, SIGNAL (mouseButtonClicked (int, QListViewItem*, const QPoint &, int)),
568 this, SLOT (slotMouseButtonClicked( int, QListViewItem*, const QPoint &, int)));
569
570} 587}
@@ -660,4 +677,5 @@ void KListView::slotHeaderChanged()
660 677
661void KListView::emitExecute( QListViewItem *item, const QPoint &pos, int c ) 678void KListView::emitExecute( int buttonstate, QListViewItem *item, const QPoint &pos, int c)
662{ 679{
680 // qDebug("KListView::emitExecute buttonstate=%i", buttonstate);
663 if( isExecuteArea( viewport()->mapFromGlobal(pos) ) ) { 681 if( isExecuteArea( viewport()->mapFromGlobal(pos) ) ) {
@@ -672,12 +690,3 @@ void KListView::emitExecute( QListViewItem *item, const QPoint &pos, int c )
672 { 690 {
673#if 0 691 //US special implementation for embedded systems
674#ifndef Q_WS_QWS
675 // FIXME(E): Implement for Qt Embedded
676 Window root;
677 Window child;
678 int root_x, root_y, win_x, win_y;
679 uint keybstate;
680 XQueryPointer( qt_xdisplay(), qt_xrootwin(), &root, &child,
681 &root_x, &root_y, &win_x, &win_y, &keybstate );
682
683 d->autoSelect.stop(); 692 d->autoSelect.stop();
@@ -685,3 +694,5 @@ void KListView::emitExecute( QListViewItem *item, const QPoint &pos, int c )
685 //Dont emit executed if in SC mode and Shift or Ctrl are pressed 694 //Dont emit executed if in SC mode and Shift or Ctrl are pressed
686 if( !( ((keybstate & ShiftMask) || (keybstate & ControlMask)) ) ) { 695 if( !( (buttonstate==ShiftButton) || (buttonstate==ControlButton) )) {
696 // if( !( ((keybstate & ShiftMask) || (keybstate & ControlMask)) ) ) {
697
687 emit executed( item ); 698 emit executed( item );
@@ -689,4 +700,2 @@ void KListView::emitExecute( QListViewItem *item, const QPoint &pos, int c )
689 } 700 }
690#endif
691#endif
692 } 701 }
@@ -744,3 +753,3 @@ bool KListView::event( QEvent *e )
744 if (e->type() == QEvent::ApplicationPaletteChange) { 753 if (e->type() == QEvent::ApplicationPaletteChange) {
745qDebug("KListView::event make alternate color configurable"); 754 //qDebug("KListView::event make alternate color configurable");
746//US d->alternateBackground=KGlobalSettings::alternateBackgroundColor(); 755//US d->alternateBackground=KGlobalSettings::alternateBackgroundColor();
@@ -754,2 +763,3 @@ void KListView::contentsMousePressEvent( QMouseEvent *e )
754{ 763{
764 //qDebug("KListView::contentsMousePressEvent");
755 if( (selectionModeExt() == Extended) && (e->state() & ShiftButton) && !(e->state() & ControlButton) ) 765 if( (selectionModeExt() == Extended) && (e->state() & ShiftButton) && !(e->state() & ControlButton) )
@@ -817,3 +827,3 @@ void KListView::contentsMouseMoveEvent( QMouseEvent *e )
817 d->cursorInExecuteArea = isExecuteArea(vp); 827 d->cursorInExecuteArea = isExecuteArea(vp);
818qDebug("KListView::contentsMouseMoveEvent drag&drop not supported yet"); 828 //qDebug("KListView::contentsMouseMoveEvent drag&drop not supported yet");
819/*US 829/*US
@@ -878,2 +888,3 @@ void KListView::contentsMouseDoubleClickEvent ( QMouseEvent *e )
878{ 888{
889 //qDebug("KListView::contentsMouseDoubleClickEvent");
879 // We don't want to call the parent method because it does setOpen, 890 // We don't want to call the parent method because it does setOpen,
@@ -889,6 +900,11 @@ void KListView::contentsMouseDoubleClickEvent ( QMouseEvent *e )
889 if( item ) { 900 if( item ) {
901 //qDebug("KListView::contentsMouseDoubleClickEvent: emit doubleClicked");
902
890 emit doubleClicked( item, e->globalPos(), col ); 903 emit doubleClicked( item, e->globalPos(), col );
891 904
892 if( (e->button() == LeftButton) && !d->bUseSingle ) 905 if( (e->button() == LeftButton) && !d->bUseSingle ) {
893 emitExecute( item, e->globalPos(), col ); 906 //qDebug("KListView::contentsMouseDoubleClickEvent: emitExecute");
907
908 emitExecute( e->button(), item, e->globalPos(), col);
909 }
894 } 910 }
@@ -898,4 +914,9 @@ void KListView::slotMouseButtonClicked( int btn, QListViewItem *item, const QPoi
898{ 914{
899 if( (btn == LeftButton) && item ) 915 //qDebug("KListView::slotMouseButtonClicked");
900 emitExecute(item, pos, c); 916
917 if( (btn == LeftButton) && item ) {
918 //qDebug("KListView::slotMouseButtonClicked: emitExecute");
919
920 emitExecute(btn, item, pos, c);
921 }
901} 922}
@@ -985,3 +1006,3 @@ void KListView::contentsDragMoveEvent(QDragMoveEvent *event)
985{ 1006{
986qDebug("KListView::contentsDropEvent drag&drop not supported yet"); 1007 qDebug("KListView::contentsDropEvent drag&drop not supported yet");
987/*US 1008/*US
@@ -1890,3 +1911,3 @@ void KListView::emitContextMenu (QListViewItem* i, const QPoint& p, int col)
1890{ 1911{
1891 qDebug("KListView::emitContextMenu col"); 1912 // qDebug("KListView::emitContextMenu col");
1892 emit contextRequest( i, p, col ); 1913 emit contextRequest( i, p, col );
@@ -2184,2 +2205,11 @@ void KListViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, in
2184 2205
2206//US we do not have a "global KDE" variable to setup singleClick functionality
2207void KListView::setSingleClick(bool s)
2208{
2209 d->bUseSingle = s;
2210 slotSettingsChanged(1);
2211 // qDebug("KListView::setSingleClick: single %i", d->bUseSingle);
2212}
2213
2214
2185void KListView::virtual_hook( int, void* ) 2215void KListView::virtual_hook( int, void* )
diff --git a/microkde/kdeui/klistview.h b/microkde/kdeui/klistview.h
index 8d933f6..d559ce7 100644
--- a/microkde/kdeui/klistview.h
+++ b/microkde/kdeui/klistview.h
@@ -374,2 +374,6 @@ public:
374 374
375 //US we do not have a "global KDE" variable to setup singleClick functionality
376 void setSingleClick(bool s);
377
378
375signals: 379signals:
@@ -685,3 +689,4 @@ protected:
685 */ 689 */
686 void emitExecute( QListViewItem *item, const QPoint &pos, int c ); 690 //US I added buttonstate to pass the current keyboard status
691 void emitExecute( int buttonstate, QListViewItem *item, const QPoint &pos, int c);
687 692