summaryrefslogtreecommitdiffabout
path: root/korganizer/kolistview.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/kolistview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kolistview.cpp55
1 files changed, 51 insertions, 4 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index 6b63d7f..09d70f1 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -1151,16 +1151,18 @@ void KOListViewListView::keyPressEvent ( QKeyEvent *e)
break;
default:
e->ignore();
}
}
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);
}
void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e)
{
@@ -1170,13 +1172,13 @@ void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e)
if (!item) {
emit newEvent();
return;
}
KListView::contentsMouseDoubleClickEvent(e);
}
-
+#if 0
void KOListViewListView::contentsMousePressEvent(QMouseEvent *e)
{
//qDebug("contentsMousePressEvent++++ ");
KListView::contentsMousePressEvent( e );
if ( e->button() == RightButton ) {
QListViewItem* ci = currentItem();
@@ -1190,6 +1192,51 @@ void KOListViewListView::contentsMouseReleaseEvent(QMouseEvent *e)
KListView::contentsMouseReleaseEvent(e);
}
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);
+}
+