From ef825f1805452ba2cfb30cd7a41c392d3961f01e Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 26 Mar 2005 11:03:22 +0000 Subject: next rry --- (limited to 'korganizer/kolistview.cpp') diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 6b63d7f..09d70f1 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -1154,10 +1154,12 @@ void KOListViewListView::keyPressEvent ( QKeyEvent *e) } } KOListViewListView::KOListViewListView(KOListView * lv ) - : KListView( lv ) -{ + : KListView( lv, "kolistlistview", false ) +{ + mPopupTimer = new QTimer(this); + connect(mPopupTimer , SIGNAL(timeout()), this, SLOT(popupMenu())); #ifndef DESKTOP_VERSION - QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); + //QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); #endif setSelectionMode( QListView::Multi ); setMultiSelection( true); @@ -1173,7 +1175,7 @@ void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e) } KListView::contentsMouseDoubleClickEvent(e); } - +#if 0 void KOListViewListView::contentsMousePressEvent(QMouseEvent *e) { //qDebug("contentsMousePressEvent++++ "); @@ -1193,3 +1195,48 @@ void KOListViewListView::contentsMouseMoveEvent(QMouseEvent *e) { KListView::contentsMouseMoveEvent(e); } +#endif +void KOListViewListView::popupMenu() +{ + mPopupTimer->stop(); + //qDebug("HUUUUUUUUUUUUUUUUUUUU "); + QMouseEvent* e = new QMouseEvent( QEvent::MouseButtonPress, mEventPos ,mEventGlobalPos, RightButton , RightButton ); + QApplication::postEvent( this->viewport(), e ); +} +void KOListViewListView::contentsMousePressEvent(QMouseEvent *e) +{ + //qDebug("contentsMousePressEvent++++ "); + mYMousePos = mapToGlobal( (e->pos())).y(); + if ( e->button() == LeftButton ) { + mPopupTimer->start( 600 ); + mEventPos = e->pos(); + mEventGlobalPos = e->globalPos(); + } + KListView::contentsMousePressEvent( e ); + if ( e->button() == RightButton ) { + QListViewItem* ci = currentItem(); + clearSelection(); + if ( ci ) + ci->setSelected( true ); + } +} +void KOListViewListView::contentsMouseReleaseEvent(QMouseEvent *e) +{ + mPopupTimer->stop(); + KListView::contentsMouseReleaseEvent(e); +} +void KOListViewListView::contentsMouseMoveEvent(QMouseEvent *e) +{ + // qDebug("contentsMouseMoveEv....... "); + // qDebug("start: %d current %d ",mYMousePos , mapToGlobal( (e->pos())).y() ); + int diff = mYMousePos - mapToGlobal( (e->pos())).y(); + if ( diff < 0 ) diff = -diff; + if ( diff > 15 ) + mPopupTimer->stop(); + else { + mEventPos = e->pos(); + mEventGlobalPos = e->globalPos(); + } + KListView::contentsMouseMoveEvent(e); +} + -- cgit v0.9.0.2