summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-07-28 12:59:27 (UTC)
committer zautrix <zautrix>2005-07-28 12:59:27 (UTC)
commit8e21306a697d77c80d42f450a721cb3d7c23fd0f (patch) (side-by-side diff)
treea7eed1d0dafc2725709704a3658f1ff42b7d8b8b
parentfee4c893fe8fd01af1b55c1ccd40213fc18a36b4 (diff)
downloadkdepimpi-8e21306a697d77c80d42f450a721cb3d7c23fd0f.zip
kdepimpi-8e21306a697d77c80d42f450a721cb3d7c23fd0f.tar.gz
kdepimpi-8e21306a697d77c80d42f450a721cb3d7c23fd0f.tar.bz2
monv fix
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
@@ -73,24 +73,25 @@ protected:
private:
KNoScrollListBox* _wid;
};
KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
: QListBox(parent, name, WRepaintNoErase)
{
#ifndef DESKTOP_VERSION
QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
#endif
+ mBlockDeselect = false;
mWT = new KNOWhatsThis(this);
resetOnFocusIn = true;
setVScrollBarMode(QScrollView::AlwaysOff);
setHScrollBarMode(QScrollView::AlwaysOff);
}
KNoScrollListBox::~KNoScrollListBox()
{
#if QT_VERSION >= 0x030000
#else
delete mWT;
#endif
@@ -126,32 +127,36 @@ void KNoScrollListBox::focusInEvent ( QFocusEvent * e )
else {
setHScrollBarMode(QScrollView::Auto);
}
} else {
setVScrollBarMode(QScrollView::Auto);
setHScrollBarMode(QScrollView::Auto);
}
}
}
}
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)
{
QListBoxItem* item = itemAt ( p );
if ( ! item ) {
return i18n("Click in the cell\nto add an event!");
}
return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(),
KOPrefs::instance()->mWTshowDetails,
KOPrefs::instance()->mWTshowCreated,
KOPrefs::instance()->mWTshowChanged);
@@ -1101,27 +1106,26 @@ void MonthViewCell::cellClicked( QListBoxItem *item )
void MonthViewCell::contextMenu( QListBoxItem *item )
{
mMonthView->setPopupCell( this );
if ( !item ) {
mMonthView->showContextMenu( 0 );
return;
}
//selection( 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 )
{
if ( !item ) {
emit highlightIncidence( 0 , this, 0 );
return;
}
MonthViewItem * it = (static_cast<MonthViewItem *>( item ));
emit highlightIncidence( it->incidence(), this, it->multiDay() );
mMonthView->setSelectedCell( this );
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 61a141a..1a9d16d 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -78,25 +78,26 @@ class KNoScrollListBox: public QListBox
public:
KNoScrollListBox(QWidget *parent=0, const char *name=0);
~KNoScrollListBox();
QString getWhatsThisText(QPoint p) ;
signals:
void shiftDown();
void shiftUp();
void rightClick();
void nextCell();
void prevCell();
void highlightIncidence( Incidence * , MonthViewCell*, int );
-
+ protected:
+ bool mBlockDeselect;
protected slots:
void oneDown();
void keyPressEvent(QKeyEvent *);
void keyReleaseEvent(QKeyEvent *);
void mousePressEvent(QMouseEvent *);
void focusInEvent ( QFocusEvent * );
void focusOutEvent ( QFocusEvent * );
private:
bool resetOnFocusIn;
KNOWhatsThis * mWT;
};