author | zautrix <zautrix> | 2005-06-03 09:53:26 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-03 09:53:26 (UTC) |
commit | ab0f6af57ebf5b5a6fa2f7e6209fe04aafbfb14f (patch) (side-by-side diff) | |
tree | fd37448d3cf5d7e5a193a8d4cc8e5421d5e7297a /korganizer/kolistview.cpp | |
parent | ce9b826d7c0d9249751f8fb7b791c3757aff3c39 (diff) | |
download | kdepimpi-ab0f6af57ebf5b5a6fa2f7e6209fe04aafbfb14f.zip kdepimpi-ab0f6af57ebf5b5a6fa2f7e6209fe04aafbfb14f.tar.gz kdepimpi-ab0f6af57ebf5b5a6fa2f7e6209fe04aafbfb14f.tar.bz2 |
popup selection fix
-rw-r--r-- | korganizer/kolistview.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index b94916a..02247c8 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -994,24 +994,25 @@ KOListViewItem *KOListView::getItemForEvent(Event *event) void KOListView::defaultItemAction(QListViewItem *i) { KOListViewItem *item = static_cast<KOListViewItem *>( i ); if ( item ) defaultAction( item->data() ); } void KOListView::popupMenu(QListViewItem *item,const QPoint &,int) { mActiveItem = (KOListViewItem *)item; if (mActiveItem) { Incidence *incidence = mActiveItem->data(); + mPopupMenu->enableDefault( !mListView->hasMultiSelection( item ) ); mPopupMenu->showIncidencePopup(incidence); /* if ( incidence && incidence->type() == "Event" ) { Event *event = static_cast<Event *>( incidence ); mPopupMenu->showEventPopup(event); } */ } } void KOListView::readSettings(KConfig *config, QString setting) @@ -1186,24 +1187,35 @@ void KOListViewListView::keyPressEvent ( QKeyEvent *e) KOListViewListView::KOListViewListView(KOListView * lv ) : KListView( lv, "kolistlistview", false ) { mYMousePos = 0; mPopupTimer = new QTimer(this); connect(mPopupTimer , SIGNAL(timeout()), this, SLOT(popupMenu())); #ifndef DESKTOP_VERSION //QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); #endif setSelectionMode( QListView::Multi ); setMultiSelection( true); } +bool KOListViewListView::hasMultiSelection(QListViewItem* item) +{ + int selCount = 0; + QListViewItem *qitem = firstChild (); + while ( qitem ) { + if ( qitem->isSelected() && item != qitem ) + return true; + qitem = qitem->nextSibling(); + } + return false; +} void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e) { if (!e) return; QPoint vp = contentsToViewport(e->pos()); QListViewItem *item = itemAt(vp); if (!item) { emit newEvent(); return; } KListView::contentsMouseDoubleClickEvent(e); } #if 0 |