summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/komonthview.cpp8
-rw-r--r--korganizer/komonthview.h3
2 files changed, 8 insertions, 3 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 4aeb20c..8d06040 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -81,8 +81,9 @@ KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
{
#ifndef DESKTOP_VERSION
QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
#endif
+ mBlockDeselect = false;
mWT = new KNOWhatsThis(this);
resetOnFocusIn = true;
setVScrollBarMode(QScrollView::AlwaysOff);
setHScrollBarMode(QScrollView::AlwaysOff);
@@ -134,16 +135,20 @@ void KNoScrollListBox::focusInEvent ( QFocusEvent * e )
}
}
void KNoScrollListBox::focusOutEvent ( QFocusEvent * e )
{
+ if ( ! mBlockDeselect ) {
int i = currentItem ();
if ( i >= 0 ) {
setSelected ( i, false );
}
QListBox::focusOutEvent ( e );
+ }
setVScrollBarMode(QScrollView::AlwaysOff);
setHScrollBarMode(QScrollView::AlwaysOff);
+ if ( ! mBlockDeselect )
emit highlightIncidence( 0, (MonthViewCell*)this, 0 );
+ mBlockDeselect = false;
}
QString KNoScrollListBox::getWhatsThisText(QPoint p)
{
@@ -1109,11 +1114,10 @@ void MonthViewCell::contextMenu( QListBoxItem *item )
//qApp->processEvents();
MonthViewItem *eventItem = static_cast<MonthViewItem *>( item );
Incidence *incidence = eventItem->incidence();
if ( incidence ) {
+ mBlockDeselect = true;
mMonthView->showContextMenu( incidence );
- selection( item );
- doHighLight( incidence );
}
}
void MonthViewCell::selection( QListBoxItem *item )
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 61a141a..1a9d16d 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -86,9 +86,10 @@ class KNoScrollListBox: public QListBox
void rightClick();
void nextCell();
void prevCell();
void highlightIncidence( Incidence * , MonthViewCell*, int );
-
+ protected:
+ bool mBlockDeselect;
protected slots:
void oneDown();
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);