-rw-r--r-- | korganizer/komonthview.cpp | 12 |
1 files changed, 8 insertions, 4 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: | |||
73 | private: | 73 | private: |
74 | KNoScrollListBox* _wid; | 74 | KNoScrollListBox* _wid; |
75 | 75 | ||
76 | }; | 76 | }; |
77 | 77 | ||
78 | 78 | ||
79 | KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) | 79 | KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) |
80 | : QListBox(parent, name, WRepaintNoErase) | 80 | : QListBox(parent, name, WRepaintNoErase) |
81 | { | 81 | { |
82 | #ifndef DESKTOP_VERSION | 82 | #ifndef DESKTOP_VERSION |
83 | QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); | 83 | QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); |
84 | #endif | 84 | #endif |
85 | mBlockDeselect = false; | ||
85 | mWT = new KNOWhatsThis(this); | 86 | mWT = new KNOWhatsThis(this); |
86 | resetOnFocusIn = true; | 87 | resetOnFocusIn = true; |
87 | setVScrollBarMode(QScrollView::AlwaysOff); | 88 | setVScrollBarMode(QScrollView::AlwaysOff); |
88 | setHScrollBarMode(QScrollView::AlwaysOff); | 89 | setHScrollBarMode(QScrollView::AlwaysOff); |
89 | } | 90 | } |
90 | KNoScrollListBox::~KNoScrollListBox() | 91 | KNoScrollListBox::~KNoScrollListBox() |
91 | { | 92 | { |
92 | #if QT_VERSION >= 0x030000 | 93 | #if QT_VERSION >= 0x030000 |
93 | 94 | ||
94 | #else | 95 | #else |
95 | delete mWT; | 96 | delete mWT; |
96 | #endif | 97 | #endif |
@@ -126,32 +127,36 @@ void KNoScrollListBox::focusInEvent ( QFocusEvent * e ) | |||
126 | else { | 127 | else { |
127 | setHScrollBarMode(QScrollView::Auto); | 128 | setHScrollBarMode(QScrollView::Auto); |
128 | } | 129 | } |
129 | } else { | 130 | } else { |
130 | setVScrollBarMode(QScrollView::Auto); | 131 | setVScrollBarMode(QScrollView::Auto); |
131 | setHScrollBarMode(QScrollView::Auto); | 132 | setHScrollBarMode(QScrollView::Auto); |
132 | } | 133 | } |
133 | } | 134 | } |
134 | } | 135 | } |
135 | } | 136 | } |
136 | void KNoScrollListBox::focusOutEvent ( QFocusEvent * e ) | 137 | void KNoScrollListBox::focusOutEvent ( QFocusEvent * e ) |
137 | { | 138 | { |
139 | if ( ! mBlockDeselect ) { | ||
138 | int i = currentItem (); | 140 | int i = currentItem (); |
139 | if ( i >= 0 ) { | 141 | if ( i >= 0 ) { |
140 | setSelected ( i, false ); | 142 | setSelected ( i, false ); |
141 | } | 143 | } |
142 | QListBox::focusOutEvent ( e ); | 144 | QListBox::focusOutEvent ( e ); |
145 | } | ||
143 | setVScrollBarMode(QScrollView::AlwaysOff); | 146 | setVScrollBarMode(QScrollView::AlwaysOff); |
144 | setHScrollBarMode(QScrollView::AlwaysOff); | 147 | setHScrollBarMode(QScrollView::AlwaysOff); |
145 | emit highlightIncidence( 0, (MonthViewCell*)this, 0 ); | 148 | if ( ! mBlockDeselect ) |
149 | emit highlightIncidence( 0, (MonthViewCell*)this, 0 ); | ||
150 | mBlockDeselect = false; | ||
146 | } | 151 | } |
147 | 152 | ||
148 | QString KNoScrollListBox::getWhatsThisText(QPoint p) | 153 | QString KNoScrollListBox::getWhatsThisText(QPoint p) |
149 | { | 154 | { |
150 | QListBoxItem* item = itemAt ( p ); | 155 | QListBoxItem* item = itemAt ( p ); |
151 | if ( ! item ) { | 156 | if ( ! item ) { |
152 | return i18n("Click in the cell\nto add an event!"); | 157 | return i18n("Click in the cell\nto add an event!"); |
153 | } | 158 | } |
154 | return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(), | 159 | return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence(), |
155 | KOPrefs::instance()->mWTshowDetails, | 160 | KOPrefs::instance()->mWTshowDetails, |
156 | KOPrefs::instance()->mWTshowCreated, | 161 | KOPrefs::instance()->mWTshowCreated, |
157 | KOPrefs::instance()->mWTshowChanged); | 162 | KOPrefs::instance()->mWTshowChanged); |
@@ -1101,27 +1106,26 @@ void MonthViewCell::cellClicked( QListBoxItem *item ) | |||
1101 | void MonthViewCell::contextMenu( QListBoxItem *item ) | 1106 | void MonthViewCell::contextMenu( QListBoxItem *item ) |
1102 | { | 1107 | { |
1103 | mMonthView->setPopupCell( this ); | 1108 | mMonthView->setPopupCell( this ); |
1104 | if ( !item ) { | 1109 | if ( !item ) { |
1105 | mMonthView->showContextMenu( 0 ); | 1110 | mMonthView->showContextMenu( 0 ); |
1106 | return; | 1111 | return; |
1107 | } | 1112 | } |
1108 | //selection( item ); | 1113 | //selection( item ); |
1109 | //qApp->processEvents(); | 1114 | //qApp->processEvents(); |
1110 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); | 1115 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); |
1111 | Incidence *incidence = eventItem->incidence(); | 1116 | Incidence *incidence = eventItem->incidence(); |
1112 | if ( incidence ) { | 1117 | if ( incidence ) { |
1118 | mBlockDeselect = true; | ||
1113 | mMonthView->showContextMenu( incidence ); | 1119 | mMonthView->showContextMenu( incidence ); |
1114 | selection( item ); | ||
1115 | doHighLight( incidence ); | ||
1116 | } | 1120 | } |
1117 | } | 1121 | } |
1118 | 1122 | ||
1119 | void MonthViewCell::selection( QListBoxItem *item ) | 1123 | void MonthViewCell::selection( QListBoxItem *item ) |
1120 | { | 1124 | { |
1121 | if ( !item ) { | 1125 | if ( !item ) { |
1122 | emit highlightIncidence( 0 , this, 0 ); | 1126 | emit highlightIncidence( 0 , this, 0 ); |
1123 | return; | 1127 | return; |
1124 | } | 1128 | } |
1125 | MonthViewItem * it = (static_cast<MonthViewItem *>( item )); | 1129 | MonthViewItem * it = (static_cast<MonthViewItem *>( item )); |
1126 | emit highlightIncidence( it->incidence(), this, it->multiDay() ); | 1130 | emit highlightIncidence( it->incidence(), this, it->multiDay() ); |
1127 | mMonthView->setSelectedCell( this ); | 1131 | mMonthView->setSelectedCell( this ); |