author | zautrix <zautrix> | 2005-03-26 20:29:59 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-26 20:29:59 (UTC) |
commit | c9c3f9e65a72a3c79d7f67eba68fca4537004808 (patch) (unidiff) | |
tree | 395970dbf2b5aad3cdafe195e7a9958f5cc8aa15 /korganizer | |
parent | 36dd498ad2f5a2cf43fc08c621669fe42198e5eb (diff) | |
download | kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.zip kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.tar.gz kdepimpi-c9c3f9e65a72a3c79d7f67eba68fca4537004808.tar.bz2 |
better timer
-rw-r--r-- | korganizer/koeditorgeneral.cpp | 1 | ||||
-rw-r--r-- | korganizer/searchdialog.cpp | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index 92fcd1c..b14ca43 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp | |||
@@ -92,192 +92,193 @@ void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) | |||
92 | 92 | ||
93 | QLabel *locationLabel = new QLabel(i18n("Location:"),parent); | 93 | QLabel *locationLabel = new QLabel(i18n("Location:"),parent); |
94 | headerLayout->addWidget(locationLabel,2,0); | 94 | headerLayout->addWidget(locationLabel,2,0); |
95 | 95 | ||
96 | mLocationEdit = new KOLocationBox(TRUE,parent,10); | 96 | mLocationEdit = new KOLocationBox(TRUE,parent,10); |
97 | mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); | 97 | mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); |
98 | if ( QApplication::desktop()->width() > 320 ) | 98 | if ( QApplication::desktop()->width() > 320 ) |
99 | mLocationEdit->setMaximumHeight( hei + 6); | 99 | mLocationEdit->setMaximumHeight( hei + 6); |
100 | 100 | ||
101 | // mLocationEdit = new QLineEdit(parent); | 101 | // mLocationEdit = new QLineEdit(parent); |
102 | connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); | 102 | connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); |
103 | headerLayout->addWidget(mLocationEdit,2,1); | 103 | headerLayout->addWidget(mLocationEdit,2,1); |
104 | headerLayout->setColStretch( 1, 10); | 104 | headerLayout->setColStretch( 1, 10); |
105 | } | 105 | } |
106 | void KOEditorGeneral::setFocusOn( int i ) | 106 | void KOEditorGeneral::setFocusOn( int i ) |
107 | { | 107 | { |
108 | qApp->processEvents(); | 108 | qApp->processEvents(); |
109 | if ( i == 1 ) { | 109 | if ( i == 1 ) { |
110 | mDescriptionEdit->setFocus(); | 110 | mDescriptionEdit->setFocus(); |
111 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); | 111 | mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); |
112 | } | 112 | } |
113 | if ( i == 2 ) { | 113 | if ( i == 2 ) { |
114 | mSummaryEdit->setFocus(); | 114 | mSummaryEdit->setFocus(); |
115 | } | 115 | } |
116 | 116 | ||
117 | } | 117 | } |
118 | void KOEditorGeneral::editCategories() | 118 | void KOEditorGeneral::editCategories() |
119 | { | 119 | { |
120 | // qDebug("KOEditorGeneral::editCategories() "); | 120 | // qDebug("KOEditorGeneral::editCategories() "); |
121 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 121 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
122 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); | 122 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); |
123 | //KOGlobals::fitDialogToScreen( csd ); | 123 | //KOGlobals::fitDialogToScreen( csd ); |
124 | csd->setColorEnabled(); | 124 | csd->setColorEnabled(); |
125 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); | 125 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); |
126 | csd->exec(); | 126 | csd->exec(); |
127 | delete csd; | 127 | delete csd; |
128 | } | 128 | } |
129 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) | 129 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) |
130 | { | 130 | { |
131 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); | 131 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); |
132 | 132 | ||
133 | mCategoriesButton = new QPushButton(parent); | 133 | mCategoriesButton = new QPushButton(parent); |
134 | mCategoriesButton->setText(i18n("Categories...")); | 134 | mCategoriesButton->setText(i18n("Categories...")); |
135 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); | 135 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); |
136 | categoriesLayout->addWidget(mCategoriesButton); | 136 | categoriesLayout->addWidget(mCategoriesButton); |
137 | 137 | ||
138 | mCategoriesLabel = new QLabel(parent); | 138 | mCategoriesLabel = new QLabel(parent); |
139 | mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); | 139 | mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); |
140 | categoriesLayout->addWidget(mCategoriesLabel,1); | 140 | categoriesLayout->addWidget(mCategoriesLabel,1); |
141 | } | 141 | } |
142 | 142 | ||
143 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) | 143 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) |
144 | { | 144 | { |
145 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); | 145 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); |
146 | 146 | ||
147 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); | 147 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); |
148 | mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); | 148 | mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); |
149 | secrecyLayout->addWidget(mCancelBox); | 149 | secrecyLayout->addWidget(mCancelBox); |
150 | secrecyLayout->addWidget(secrecyLabel); | 150 | secrecyLayout->addWidget(secrecyLabel); |
151 | 151 | ||
152 | mSecrecyCombo = new QComboBox(parent); | 152 | mSecrecyCombo = new QComboBox(parent); |
153 | mSecrecyCombo->insertStringList(Incidence::secrecyList()); | 153 | mSecrecyCombo->insertStringList(Incidence::secrecyList()); |
154 | secrecyLayout->addWidget(mSecrecyCombo); | 154 | secrecyLayout->addWidget(mSecrecyCombo); |
155 | } | 155 | } |
156 | 156 | ||
157 | void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) | 157 | void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) |
158 | { | 158 | { |
159 | mDescriptionEdit = new KTextEdit(parent); | 159 | mDescriptionEdit = new KTextEdit(parent); |
160 | mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); | 160 | mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); |
161 | mDescriptionEdit->append(""); | 161 | mDescriptionEdit->append(""); |
162 | mDescriptionEdit->setReadOnly(false); | 162 | mDescriptionEdit->setReadOnly(false); |
163 | mDescriptionEdit->setOverwriteMode(false); | 163 | mDescriptionEdit->setOverwriteMode(false); |
164 | mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); | 164 | mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); |
165 | topLayout->addWidget(mDescriptionEdit); | 165 | topLayout->addWidget(mDescriptionEdit); |
166 | #ifndef DESKTOP_VERSION | 166 | #ifndef DESKTOP_VERSION |
167 | QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); | 167 | QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); |
168 | #endif | 168 | #endif |
169 | 169 | ||
170 | } | 170 | } |
171 | 171 | ||
172 | void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) | 172 | void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) |
173 | { | 173 | { |
174 | QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); | 174 | QBoxLayout *alarmLayout = new QHBoxLayout(topLayout); |
175 | 175 | ||
176 | //mAlarmBell = new QLabel(parent); | 176 | //mAlarmBell = new QLabel(parent); |
177 | //mAlarmBell->setPixmap(SmallIcon("bell")); | 177 | //mAlarmBell->setPixmap(SmallIcon("bell")); |
178 | //alarmLayout->addWidget(mAlarmBell); | 178 | //alarmLayout->addWidget(mAlarmBell); |
179 | if ( QApplication::desktop()->width() < 320 ) | 179 | if ( QApplication::desktop()->width() < 320 ) |
180 | mAlarmButton = new QCheckBox(i18n("Rem."),parent); | 180 | mAlarmButton = new QCheckBox(i18n("Rem."),parent); |
181 | else | 181 | else |
182 | mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); | 182 | mAlarmButton = new QCheckBox(i18n("Reminder:"),parent); |
183 | 183 | ||
184 | connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); | 184 | connect(mAlarmButton, SIGNAL(toggled(bool)), SLOT(enableAlarmEdit(bool))); |
185 | alarmLayout->addWidget(mAlarmButton); | 185 | alarmLayout->addWidget(mAlarmButton); |
186 | 186 | ||
187 | mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; | 187 | mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; |
188 | mAlarmTimeEdit->setButtonSymbols( QSpinBox::PlusMinus ); | ||
188 | alarmLayout->addWidget(mAlarmTimeEdit); | 189 | alarmLayout->addWidget(mAlarmTimeEdit); |
189 | mAlarmIncrCombo = new QComboBox(false, parent); | 190 | mAlarmIncrCombo = new QComboBox(false, parent); |
190 | if ( QApplication::desktop()->width() < 320 ) { | 191 | if ( QApplication::desktop()->width() < 320 ) { |
191 | mAlarmIncrCombo->insertItem(i18n("min")); | 192 | mAlarmIncrCombo->insertItem(i18n("min")); |
192 | mAlarmIncrCombo->insertItem(i18n("hou")); | 193 | mAlarmIncrCombo->insertItem(i18n("hou")); |
193 | mAlarmIncrCombo->insertItem(i18n("day")); | 194 | mAlarmIncrCombo->insertItem(i18n("day")); |
194 | mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); | 195 | mAlarmTimeEdit->setMaximumWidth( mAlarmTimeEdit->sizeHint().width() ); |
195 | mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); | 196 | mAlarmIncrCombo->setMaximumWidth( mAlarmIncrCombo->sizeHint().width() ); |
196 | } else { | 197 | } else { |
197 | mAlarmIncrCombo->insertItem(i18n("minute(s)")); | 198 | mAlarmIncrCombo->insertItem(i18n("minute(s)")); |
198 | mAlarmIncrCombo->insertItem(i18n("hour(s)")); | 199 | mAlarmIncrCombo->insertItem(i18n("hour(s)")); |
199 | mAlarmIncrCombo->insertItem(i18n("day(s)")); | 200 | mAlarmIncrCombo->insertItem(i18n("day(s)")); |
200 | } | 201 | } |
201 | 202 | ||
202 | // mAlarmIncrCombo->setMinimumHeight(20); | 203 | // mAlarmIncrCombo->setMinimumHeight(20); |
203 | alarmLayout->addWidget(mAlarmIncrCombo); | 204 | alarmLayout->addWidget(mAlarmIncrCombo); |
204 | mAlarmSoundButton = new QPushButton(parent); | 205 | mAlarmSoundButton = new QPushButton(parent); |
205 | mAlarmSoundButton->setPixmap(SmallIcon("playsound")); | 206 | mAlarmSoundButton->setPixmap(SmallIcon("playsound")); |
206 | mAlarmSoundButton->setToggleButton(true); | 207 | mAlarmSoundButton->setToggleButton(true); |
207 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); | 208 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); |
208 | connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); | 209 | connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); |
209 | alarmLayout->addWidget(mAlarmSoundButton); | 210 | alarmLayout->addWidget(mAlarmSoundButton); |
210 | 211 | ||
211 | mAlarmProgramButton = new QPushButton(parent); | 212 | mAlarmProgramButton = new QPushButton(parent); |
212 | mAlarmProgramButton->setPixmap(SmallIcon("run")); | 213 | mAlarmProgramButton->setPixmap(SmallIcon("run")); |
213 | mAlarmProgramButton->setToggleButton(true); | 214 | mAlarmProgramButton->setToggleButton(true); |
214 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); | 215 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); |
215 | connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); | 216 | connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); |
216 | alarmLayout->addWidget(mAlarmProgramButton); | 217 | alarmLayout->addWidget(mAlarmProgramButton); |
217 | mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); | 218 | mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); |
218 | mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); | 219 | mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); |
219 | // if ( KOPrefs::instance()->mCompactDialogs ) { | 220 | // if ( KOPrefs::instance()->mCompactDialogs ) { |
220 | // mAlarmSoundButton->hide(); | 221 | // mAlarmSoundButton->hide(); |
221 | // mAlarmProgramButton->hide(); | 222 | // mAlarmProgramButton->hide(); |
222 | // } | 223 | // } |
223 | } | 224 | } |
224 | 225 | ||
225 | void KOEditorGeneral::pickAlarmSound() | 226 | void KOEditorGeneral::pickAlarmSound() |
226 | { | 227 | { |
227 | 228 | ||
228 | qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); | 229 | qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); |
229 | //QString prefix = mAlarmSound; | 230 | //QString prefix = mAlarmSound; |
230 | if (!mAlarmSoundButton->isOn()) { | 231 | if (!mAlarmSoundButton->isOn()) { |
231 | mAlarmSoundButton->setOn(true); | 232 | mAlarmSoundButton->setOn(true); |
232 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 233 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
233 | } else { | 234 | } else { |
234 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, | 235 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, |
235 | i18n("*.wav|Wav Files"), 0)); | 236 | i18n("*.wav|Wav Files"), 0)); |
236 | if (!fileName.isEmpty()) { | 237 | if (!fileName.isEmpty()) { |
237 | mAlarmSound = fileName; | 238 | mAlarmSound = fileName; |
238 | QToolTip::remove(mAlarmSoundButton); | 239 | QToolTip::remove(mAlarmSoundButton); |
239 | QString dispStr = i18n("Playing '%1'").arg(fileName); | 240 | QString dispStr = i18n("Playing '%1'").arg(fileName); |
240 | QToolTip::add(mAlarmSoundButton, dispStr); | 241 | QToolTip::add(mAlarmSoundButton, dispStr); |
241 | mAlarmProgramButton->setOn(false); | 242 | mAlarmProgramButton->setOn(false); |
242 | mAlarmSoundButton->setOn(true); | 243 | mAlarmSoundButton->setOn(true); |
243 | } else { | 244 | } else { |
244 | mAlarmProgramButton->setOn(true); | 245 | mAlarmProgramButton->setOn(true); |
245 | mAlarmSoundButton->setOn(false); | 246 | mAlarmSoundButton->setOn(false); |
246 | 247 | ||
247 | } | 248 | } |
248 | } | 249 | } |
249 | #if 0 | 250 | #if 0 |
250 | if (mAlarmProgramButton->isOn()) | 251 | if (mAlarmProgramButton->isOn()) |
251 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 252 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
252 | if ( mAlarmSoundButton->isOn()) | 253 | if ( mAlarmSoundButton->isOn()) |
253 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 254 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
254 | #endif | 255 | #endif |
255 | } | 256 | } |
256 | 257 | ||
257 | void KOEditorGeneral::pickAlarmProgram() | 258 | void KOEditorGeneral::pickAlarmProgram() |
258 | { | 259 | { |
259 | if (!mAlarmProgramButton->isOn()) { | 260 | if (!mAlarmProgramButton->isOn()) { |
260 | mAlarmProgramButton->setOn(true); | 261 | mAlarmProgramButton->setOn(true); |
261 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 262 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
262 | } else { | 263 | } else { |
263 | QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0)); | 264 | QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0)); |
264 | if (!fileName.isEmpty()) { | 265 | if (!fileName.isEmpty()) { |
265 | mAlarmProgram = fileName; | 266 | mAlarmProgram = fileName; |
266 | QToolTip::remove(mAlarmProgramButton); | 267 | QToolTip::remove(mAlarmProgramButton); |
267 | QString dispStr = i18n("Running '%1'").arg(fileName); | 268 | QString dispStr = i18n("Running '%1'").arg(fileName); |
268 | QToolTip::add(mAlarmProgramButton, dispStr); | 269 | QToolTip::add(mAlarmProgramButton, dispStr); |
269 | mAlarmSoundButton->setOn(false); | 270 | mAlarmSoundButton->setOn(false); |
270 | mAlarmProgramButton->setOn(true); | 271 | mAlarmProgramButton->setOn(true); |
271 | } else { | 272 | } else { |
272 | mAlarmProgramButton->setOn(false); | 273 | mAlarmProgramButton->setOn(false); |
273 | mAlarmSoundButton->setOn(true); | 274 | mAlarmSoundButton->setOn(true); |
274 | } | 275 | } |
275 | } | 276 | } |
276 | #if 0 | 277 | #if 0 |
277 | if (mAlarmProgramButton->isOn()) | 278 | if (mAlarmProgramButton->isOn()) |
278 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 279 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
279 | if ( mAlarmSoundButton->isOn()) | 280 | if ( mAlarmSoundButton->isOn()) |
280 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 281 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
281 | #endif | 282 | #endif |
282 | } | 283 | } |
283 | 284 | ||
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 678e1bd..341a839 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp | |||
@@ -71,192 +71,197 @@ SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) | |||
71 | connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); | 71 | connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); |
72 | // Subjects to search | 72 | // Subjects to search |
73 | // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), | 73 | // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), |
74 | // topFrame); | 74 | // topFrame); |
75 | 75 | ||
76 | QHBox *incidenceGroup = new QHBox( topFrame ); | 76 | QHBox *incidenceGroup = new QHBox( topFrame ); |
77 | layout->addWidget(incidenceGroup); | 77 | layout->addWidget(incidenceGroup); |
78 | 78 | ||
79 | mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); | 79 | mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); |
80 | mSearchEvent->setChecked(true); | 80 | mSearchEvent->setChecked(true); |
81 | mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); | 81 | mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); |
82 | mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); | 82 | mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); |
83 | 83 | ||
84 | QHBox *subjectGroup = new QHBox( topFrame ); | 84 | QHBox *subjectGroup = new QHBox( topFrame ); |
85 | layout->addWidget(subjectGroup); | 85 | layout->addWidget(subjectGroup); |
86 | 86 | ||
87 | mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); | 87 | mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); |
88 | mSummaryCheck->setChecked(true); | 88 | mSummaryCheck->setChecked(true); |
89 | mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); | 89 | mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); |
90 | mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); | 90 | mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); |
91 | 91 | ||
92 | QHBox *attendeeGroup = new QHBox( topFrame ); | 92 | QHBox *attendeeGroup = new QHBox( topFrame ); |
93 | layout->addWidget(attendeeGroup ); | 93 | layout->addWidget(attendeeGroup ); |
94 | new QLabel( i18n("Attendee:"),attendeeGroup ); | 94 | new QLabel( i18n("Attendee:"),attendeeGroup ); |
95 | mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); | 95 | mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); |
96 | mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); | 96 | mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); |
97 | // Date range | 97 | // Date range |
98 | // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), | 98 | // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), |
99 | // topFrame); | 99 | // topFrame); |
100 | // layout->addWidget(rangeGroup); | 100 | // layout->addWidget(rangeGroup); |
101 | 101 | ||
102 | QWidget *rangeWidget = new QWidget(topFrame); | 102 | QWidget *rangeWidget = new QWidget(topFrame); |
103 | QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()); | 103 | QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()); |
104 | rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); | 104 | rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); |
105 | mStartDate = new KDateEdit(rangeWidget); | 105 | mStartDate = new KDateEdit(rangeWidget); |
106 | rangeLayout->addWidget(mStartDate); | 106 | rangeLayout->addWidget(mStartDate); |
107 | rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); | 107 | rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); |
108 | mEndDate = new KDateEdit(rangeWidget); | 108 | mEndDate = new KDateEdit(rangeWidget); |
109 | mEndDate->setDate(QDate::currentDate().addDays(365)); | 109 | mEndDate->setDate(QDate::currentDate().addDays(365)); |
110 | rangeLayout->addWidget(mEndDate); | 110 | rangeLayout->addWidget(mEndDate); |
111 | QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); | 111 | QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); |
112 | rangeLayout->addWidget( (QWidget*)wt ); | 112 | rangeLayout->addWidget( (QWidget*)wt ); |
113 | layout->addWidget(rangeWidget); | 113 | layout->addWidget(rangeWidget); |
114 | // Results list view | 114 | // Results list view |
115 | listView = new KOListView(mCalendar,topFrame); | 115 | listView = new KOListView(mCalendar,topFrame); |
116 | layout->addWidget(listView); | 116 | layout->addWidget(listView); |
117 | 117 | ||
118 | listView->readSettings(KOGlobals::config(),"SearchListView Layout"); | 118 | listView->readSettings(KOGlobals::config(),"SearchListView Layout"); |
119 | connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); | 119 | connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); |
120 | 120 | ||
121 | setCaption( i18n("KO/Pi Find: ")); | 121 | setCaption( i18n("KO/Pi Find: ")); |
122 | #ifdef DESKTOP_VERSION | 122 | #ifdef DESKTOP_VERSION |
123 | OkButton = new QPushButton( i18n("Close"), this ); | 123 | OkButton = new QPushButton( i18n("Close"), this ); |
124 | connect(OkButton,SIGNAL(clicked()),SLOT(hide())); | 124 | connect(OkButton,SIGNAL(clicked()),SLOT(hide())); |
125 | #endif | 125 | #endif |
126 | } | 126 | } |
127 | 127 | ||
128 | SearchDialog::~SearchDialog() | 128 | SearchDialog::~SearchDialog() |
129 | { | 129 | { |
130 | 130 | ||
131 | } | 131 | } |
132 | void SearchDialog::setFocusToList() | 132 | void SearchDialog::setFocusToList() |
133 | { | 133 | { |
134 | listView->resetFocus(); | 134 | listView->resetFocus(); |
135 | } | 135 | } |
136 | void SearchDialog::accept() | 136 | void SearchDialog::accept() |
137 | { | 137 | { |
138 | doSearch(); | 138 | doSearch(); |
139 | } | 139 | } |
140 | void SearchDialog::updateList() | 140 | void SearchDialog::updateList() |
141 | { | 141 | { |
142 | //listView->updateList(); | 142 | //listView->updateList(); |
143 | if ( isVisible() ) { | 143 | if ( isVisible() ) { |
144 | updateView(); | 144 | updateView(); |
145 | //qDebug("SearchDialog::updated "); | 145 | //qDebug("SearchDialog::updated "); |
146 | } | 146 | } |
147 | else { | 147 | else { |
148 | listView->clear(); | 148 | listView->clear(); |
149 | //qDebug("SearchDialog::cleared "); | 149 | //qDebug("SearchDialog::cleared "); |
150 | 150 | ||
151 | } | 151 | } |
152 | } | 152 | } |
153 | void SearchDialog::searchTextChanged( const QString &_text ) | 153 | void SearchDialog::searchTextChanged( const QString &_text ) |
154 | { | 154 | { |
155 | #if 0 | 155 | #if 0 |
156 | enableButton( KDialogBase::User1, !_text.isEmpty() ); | 156 | enableButton( KDialogBase::User1, !_text.isEmpty() ); |
157 | #endif | 157 | #endif |
158 | } | 158 | } |
159 | 159 | ||
160 | void SearchDialog::doSearch() | 160 | void SearchDialog::doSearch() |
161 | { | 161 | { |
162 | QRegExp re; | 162 | QRegExp re; |
163 | 163 | ||
164 | re.setWildcard(true); // most people understand these better. | 164 | re.setWildcard(true); // most people understand these better. |
165 | re.setCaseSensitive(false); | 165 | re.setCaseSensitive(false); |
166 | re.setPattern(searchEdit->text()); | 166 | re.setPattern(searchEdit->text()); |
167 | if (!mSearchEvent->isChecked() && !mSearchTodo->isChecked() && !mSearchJournal->isChecked() ) { | ||
168 | KMessageBox::sorry(this, | ||
169 | i18n("Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals")); | ||
170 | return; | ||
171 | } | ||
167 | if (!re.isValid() ) { | 172 | if (!re.isValid() ) { |
168 | KMessageBox::sorry(this, | 173 | KMessageBox::sorry(this, |
169 | i18n("Invalid search expression,\ncannot perform " | 174 | i18n("Invalid search expression,\ncannot perform " |
170 | "the search.\nPlease enter a search expression\n" | 175 | "the search.\nPlease enter a search expression\n" |
171 | "using the wildcard characters\n '*' and '?'" | 176 | "using the wildcard characters\n '*' and '?'" |
172 | "where needed.")); | 177 | "where needed.")); |
173 | return; | 178 | return; |
174 | } | 179 | } |
175 | 180 | ||
176 | search(re); | 181 | search(re); |
177 | 182 | ||
178 | listView->setStartDate( mStartDate->date() ); | 183 | listView->setStartDate( mStartDate->date() ); |
179 | listView->showEvents(mMatchedEvents); | 184 | listView->showEvents(mMatchedEvents); |
180 | listView->addTodos(mMatchedTodos); | 185 | listView->addTodos(mMatchedTodos); |
181 | listView->addJournals(mMatchedJournals); | 186 | listView->addJournals(mMatchedJournals); |
182 | 187 | ||
183 | if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { | 188 | if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { |
184 | setCaption(i18n("No items found. Use '*' and '?' where needed.")); | 189 | setCaption(i18n("No items found. Use '*' and '?' where needed.")); |
185 | } else { | 190 | } else { |
186 | QString mess; | 191 | QString mess; |
187 | mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); | 192 | mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); |
188 | setCaption( i18n("KO/Pi Find: ") + mess); | 193 | setCaption( i18n("KO/Pi Find: ") + mess); |
189 | 194 | ||
190 | } | 195 | } |
191 | searchEdit->setFocus(); | 196 | searchEdit->setFocus(); |
192 | } | 197 | } |
193 | void SearchDialog::updateConfig() | 198 | void SearchDialog::updateConfig() |
194 | { | 199 | { |
195 | listView->updateConfig(); | 200 | listView->updateConfig(); |
196 | } | 201 | } |
197 | void SearchDialog::updateView() | 202 | void SearchDialog::updateView() |
198 | { | 203 | { |
199 | 204 | ||
200 | QRegExp re; | 205 | QRegExp re; |
201 | re.setWildcard(true); // most people understand these better. | 206 | re.setWildcard(true); // most people understand these better. |
202 | re.setCaseSensitive(false); | 207 | re.setCaseSensitive(false); |
203 | re.setPattern(searchEdit->text()); | 208 | re.setPattern(searchEdit->text()); |
204 | if (re.isValid()) { | 209 | if (re.isValid()) { |
205 | search(re); | 210 | search(re); |
206 | } else { | 211 | } else { |
207 | mMatchedEvents.clear(); | 212 | mMatchedEvents.clear(); |
208 | mMatchedTodos.clear(); | 213 | mMatchedTodos.clear(); |
209 | mMatchedJournals.clear(); | 214 | mMatchedJournals.clear(); |
210 | } | 215 | } |
211 | listView->setStartDate( mStartDate->date() ); | 216 | listView->setStartDate( mStartDate->date() ); |
212 | listView->showEvents(mMatchedEvents); | 217 | listView->showEvents(mMatchedEvents); |
213 | listView->addTodos(mMatchedTodos); | 218 | listView->addTodos(mMatchedTodos); |
214 | listView->addJournals(mMatchedJournals); | 219 | listView->addJournals(mMatchedJournals); |
215 | } | 220 | } |
216 | 221 | ||
217 | void SearchDialog::search(const QRegExp &re) | 222 | void SearchDialog::search(const QRegExp &re) |
218 | { | 223 | { |
219 | QPtrList<Event> events = mCalendar->events( mStartDate->date(), | 224 | QPtrList<Event> events = mCalendar->events( mStartDate->date(), |
220 | mEndDate->date(), | 225 | mEndDate->date(), |
221 | false /*mInclusiveCheck->isChecked()*/ ); | 226 | false /*mInclusiveCheck->isChecked()*/ ); |
222 | 227 | ||
223 | mMatchedEvents.clear(); | 228 | mMatchedEvents.clear(); |
224 | if ( mSearchEvent->isChecked() ) { | 229 | if ( mSearchEvent->isChecked() ) { |
225 | Event *ev; | 230 | Event *ev; |
226 | for(ev=events.first();ev;ev=events.next()) { | 231 | for(ev=events.first();ev;ev=events.next()) { |
227 | if (mSummaryCheck->isChecked()) { | 232 | if (mSummaryCheck->isChecked()) { |
228 | #if QT_VERSION >= 0x030000 | 233 | #if QT_VERSION >= 0x030000 |
229 | if (re.search(ev->summary()) != -1) | 234 | if (re.search(ev->summary()) != -1) |
230 | #else | 235 | #else |
231 | if (re.match(ev->summary()) != -1) | 236 | if (re.match(ev->summary()) != -1) |
232 | #endif | 237 | #endif |
233 | { | 238 | { |
234 | mMatchedEvents.append(ev); | 239 | mMatchedEvents.append(ev); |
235 | continue; | 240 | continue; |
236 | } | 241 | } |
237 | #if QT_VERSION >= 0x030000 | 242 | #if QT_VERSION >= 0x030000 |
238 | if (re.search(ev->location()) != -1) | 243 | if (re.search(ev->location()) != -1) |
239 | #else | 244 | #else |
240 | if (re.match(ev->location()) != -1) | 245 | if (re.match(ev->location()) != -1) |
241 | #endif | 246 | #endif |
242 | { | 247 | { |
243 | mMatchedEvents.append(ev); | 248 | mMatchedEvents.append(ev); |
244 | continue; | 249 | continue; |
245 | } | 250 | } |
246 | } | 251 | } |
247 | if (mDescriptionCheck->isChecked()) { | 252 | if (mDescriptionCheck->isChecked()) { |
248 | #if QT_VERSION >= 0x030000 | 253 | #if QT_VERSION >= 0x030000 |
249 | if (re.search(ev->description()) != -1) | 254 | if (re.search(ev->description()) != -1) |
250 | #else | 255 | #else |
251 | if (re.match(ev->description()) != -1) | 256 | if (re.match(ev->description()) != -1) |
252 | #endif | 257 | #endif |
253 | { | 258 | { |
254 | mMatchedEvents.append(ev); | 259 | mMatchedEvents.append(ev); |
255 | continue; | 260 | continue; |
256 | } | 261 | } |
257 | } | 262 | } |
258 | if (mCategoryCheck->isChecked()) { | 263 | if (mCategoryCheck->isChecked()) { |
259 | #if QT_VERSION >= 0x030000 | 264 | #if QT_VERSION >= 0x030000 |
260 | if (re.search(ev->categoriesStr()) != -1) | 265 | if (re.search(ev->categoriesStr()) != -1) |
261 | #else | 266 | #else |
262 | if (re.match(ev->categoriesStr()) != -1) | 267 | if (re.match(ev->categoriesStr()) != -1) |