-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 8 | ||||
-rw-r--r-- | kabc/addresseedialog.cpp | 80 | ||||
-rw-r--r-- | kalarmd/alarmdialog.cpp | 13 | ||||
-rw-r--r-- | korganizer/calendarview.cpp | 19 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 4 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.cpp | 69 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 11 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 1 |
8 files changed, 135 insertions, 70 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 6b739ba..711509d 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -1329,15 +1329,15 @@ | |||
1329 | { "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" }, | 1329 | { "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" }, |
1330 | { "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" }, | 1330 | { "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" }, |
1331 | { "%1d","%1t" }, | 1331 | { "%1d","%1t" }, |
1332 | { "%1h","%1std" }, | 1332 | { "%1h","%1std" }, |
1333 | { "%1min","%1min" }, | 1333 | { "%1min","%1min" }, |
1334 | { "( %1 before )","( %1 vorher )" }, | 1334 | { "( %1 before )","( %1 vorher )" }, |
1335 | { "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, | ||
1336 | { "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, | ||
1337 | { "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, | ||
1335 | { "","" }, | 1338 | { "","" }, |
1336 | { "","" }, | 1339 | { "","" }, |
1337 | { "","" }, | 1340 | { "","" }, |
1338 | { "","" }, | 1341 | { "","" }, |
1339 | { "","" }, | 1342 | { "","" }, |
1340 | { "","" }, | 1343 | { "","" }, \ No newline at end of file |
1341 | { "","" }, | ||
1342 | { "","" }, | ||
1343 | { "","" } \ No newline at end of file | ||
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp index 648e780..19b52bb 100644 --- a/kabc/addresseedialog.cpp +++ b/kabc/addresseedialog.cpp | |||
@@ -123,15 +123,16 @@ AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : | |||
123 | 123 | ||
124 | } | 124 | } |
125 | 125 | ||
126 | mAddressBook = StdAddressBook::self( true ); | 126 | mAddressBook = StdAddressBook::self( true ); |
127 | connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ), | 127 | connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ), |
128 | SLOT( addressBookChanged() ) ); | 128 | SLOT( addressBookChanged() ) ); |
129 | #if 0 | ||
129 | connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ), | 130 | connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ), |
130 | SLOT( addressBookChanged() ) ); | 131 | SLOT( addressBookChanged() ) ); |
131 | 132 | #endif | |
132 | loadAddressBook(); | 133 | loadAddressBook(); |
133 | QValueList<int> splitterSize; | 134 | QValueList<int> splitterSize; |
134 | splitterSize.append( ( width() / 5 ) * 3 ); | 135 | splitterSize.append( ( width() / 5 ) * 3 ); |
135 | splitterSize.append( ( width() / 5 ) *2 ); | 136 | splitterSize.append( ( width() / 5 ) *2 ); |
136 | mMiniSplitter->setSizes( splitterSize ); | 137 | mMiniSplitter->setSizes( splitterSize ); |
137 | } | 138 | } |
@@ -275,37 +276,78 @@ Addressee::List AddresseeDialog::addressees() | |||
275 | 276 | ||
276 | return al; | 277 | return al; |
277 | } | 278 | } |
278 | 279 | ||
279 | Addressee AddresseeDialog::getAddressee( QWidget *parent ) | 280 | Addressee AddresseeDialog::getAddressee( QWidget *parent ) |
280 | { | 281 | { |
281 | AddresseeDialog *dlg = new AddresseeDialog( parent ); | 282 | AddresseeDialog *dlg = new AddresseeDialog( parent ); |
282 | Addressee addressee; | 283 | Addressee addressee; |
283 | int result = dlg->exec(); | 284 | #ifdef DESKTOP_VERSION |
285 | static int geoX = 0; | ||
286 | static int geoY = 0; | ||
287 | static int geoW = 0; | ||
288 | static int geoH = 0; | ||
289 | if ( !geoX && ! geoY && !geoW &&!geoH ) { | ||
290 | geoX = dlg->geometry().x(); | ||
291 | geoY = dlg->geometry().y(); | ||
292 | geoW = dlg->width(); | ||
293 | geoH = dlg->height(); | ||
294 | } else { | ||
295 | dlg->show(); | ||
296 | dlg->setGeometry(geoX , geoY,geoW , geoH ); | ||
284 | 297 | ||
285 | if ( result == QDialog::Accepted ) { | 298 | } |
286 | addressee = dlg->addressee(); | 299 | #endif |
287 | } | 300 | int result = dlg->exec(); |
301 | #ifdef DESKTOP_VERSION | ||
302 | geoX = dlg->geometry().x(); | ||
303 | geoY = dlg->geometry().y(); | ||
304 | geoW = dlg->width(); | ||
305 | geoH = dlg->height(); | ||
306 | #endif | ||
307 | if ( result == QDialog::Accepted ) { | ||
308 | addressee = dlg->addressee(); | ||
309 | } | ||
288 | 310 | ||
289 | delete dlg; | 311 | delete dlg; |
290 | return addressee; | 312 | return addressee; |
291 | } | 313 | } |
292 | 314 | ||
293 | Addressee::List AddresseeDialog::getAddressees( QWidget *parent ) | 315 | Addressee::List AddresseeDialog::getAddressees( QWidget *parent ) |
294 | { | 316 | { |
295 | AddresseeDialog *dlg = new AddresseeDialog( parent, true ); | 317 | AddresseeDialog *dlg = new AddresseeDialog( parent, true ); |
296 | Addressee::List addressees; | 318 | Addressee::List addressees; |
297 | if ( QApplication::desktop()->width() <= 640 ) | 319 | static int geoX = 0; |
298 | dlg->showMaximized(); | 320 | static int geoY = 0; |
299 | int result = dlg->exec(); | 321 | static int geoW = 0; |
300 | if ( result == QDialog::Accepted ) { | 322 | static int geoH = 0; |
301 | addressees = dlg->addressees(); | 323 | if ( QApplication::desktop()->width() <= 640 ) |
302 | } | 324 | dlg->showMaximized(); |
325 | else { | ||
326 | if ( !geoX && ! geoY && !geoW &&!geoH ) { | ||
327 | geoX = dlg->geometry().x(); | ||
328 | geoY = dlg->geometry().y(); | ||
329 | geoW = dlg->width(); | ||
330 | geoH = dlg->height(); | ||
331 | } else { | ||
332 | dlg->show(); | ||
333 | dlg->setGeometry(geoX , geoY,geoW , geoH ); | ||
334 | |||
335 | } | ||
336 | } | ||
337 | int result = dlg->exec(); | ||
338 | geoX = dlg->geometry().x(); | ||
339 | geoY = dlg->geometry().y(); | ||
340 | geoW = dlg->width(); | ||
341 | geoH = dlg->height(); | ||
342 | if ( result == QDialog::Accepted ) { | ||
343 | addressees = dlg->addressees(); | ||
344 | } | ||
303 | 345 | ||
304 | delete dlg; | 346 | delete dlg; |
305 | return addressees; | 347 | return addressees; |
306 | } | 348 | } |
307 | 349 | ||
308 | void AddresseeDialog::addressBookChanged() | 350 | void AddresseeDialog::addressBookChanged() |
309 | { | 351 | { |
310 | loadAddressBook(); | 352 | loadAddressBook(); |
311 | } | 353 | } |
diff --git a/kalarmd/alarmdialog.cpp b/kalarmd/alarmdialog.cpp index bdeee4a..53ff488 100644 --- a/kalarmd/alarmdialog.cpp +++ b/kalarmd/alarmdialog.cpp | |||
@@ -29,12 +29,13 @@ | |||
29 | #include <qlabel.h> | 29 | #include <qlabel.h> |
30 | #include <qlayout.h> | 30 | #include <qlayout.h> |
31 | #include <qfile.h> | 31 | #include <qfile.h> |
32 | #include <qtimer.h> | 32 | #include <qtimer.h> |
33 | #include <qsound.h> | 33 | #include <qsound.h> |
34 | #include <qpushbutton.h> | 34 | #include <qpushbutton.h> |
35 | #include <qregexp.h> | ||
35 | #ifndef DESKTOP_VERSION | 36 | #ifndef DESKTOP_VERSION |
36 | #define protected public | 37 | #define protected public |
37 | #include <qspinbox.h> | 38 | #include <qspinbox.h> |
38 | #undef protected | 39 | #undef protected |
39 | #else | 40 | #else |
40 | #include <qspinbox.h> | 41 | #include <qspinbox.h> |
@@ -55,13 +56,13 @@ | |||
55 | #endif | 56 | #endif |
56 | 57 | ||
57 | #include "alarmdialog.h" | 58 | #include "alarmdialog.h" |
58 | 59 | ||
59 | 60 | ||
60 | AlarmDialog::AlarmDialog(QWidget *parent,const char *name) | 61 | AlarmDialog::AlarmDialog(QWidget *parent,const char *name) |
61 | : QDialog (parent, name, true, Qt::WStyle_StaysOnTop ) | 62 | : QDialog (parent, name, true, Qt::WStyle_Customize |Qt::WStyle_StaysOnTop | Qt::WStyle_DialogBorder) |
62 | { | 63 | { |
63 | setCaption( "KO/Pi Alarm!" ); | 64 | setCaption( "KO/Pi Alarm!" ); |
64 | QVBoxLayout* layout = new QVBoxLayout( this); | 65 | QVBoxLayout* layout = new QVBoxLayout( this); |
65 | QLabel* l = new QLabel("The following event triggered alarm:",this); | 66 | QLabel* l = new QLabel("The following event triggered alarm:",this); |
66 | layout->addWidget ( l ); | 67 | layout->addWidget ( l ); |
67 | l->setAlignment( AlignCenter); | 68 | l->setAlignment( AlignCenter); |
@@ -229,13 +230,15 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo | |||
229 | alarmCounter = 0 ; | 230 | alarmCounter = 0 ; |
230 | maxAlarmReplay = replay ; | 231 | maxAlarmReplay = replay ; |
231 | mStopAlarm = false; | 232 | mStopAlarm = false; |
232 | mSilent = false; | 233 | mSilent = false; |
233 | if ( !mMessage->text().stripWhiteSpace().isEmpty() ) { | 234 | if ( !mMessage->text().stripWhiteSpace().isEmpty() ) { |
234 | mMissedAlarmsCombo->show(); | 235 | mMissedAlarmsCombo->show(); |
235 | mMissedAlarmsCombo->insertItem( mMessage->text().stripWhiteSpace() ); | 236 | QString newItem = mMessage->text().stripWhiteSpace(); |
237 | newItem.replace( QRegExp("\n"), QString(" ") ); | ||
238 | mMissedAlarmsCombo->insertItem( newItem ); | ||
236 | mMissedAlarms->setText( "Missed alarms:"); | 239 | mMissedAlarms->setText( "Missed alarms:"); |
237 | } else | 240 | } else |
238 | mMissedAlarmsCombo->hide(); | 241 | mMissedAlarmsCombo->hide(); |
239 | mMessage->setText(mess); | 242 | mMessage->setText(mess); |
240 | int w =sizeHint().width() ; | 243 | int w =sizeHint().width() ; |
241 | int h = sizeHint().height() ; | 244 | int h = sizeHint().height() ; |
@@ -262,19 +265,19 @@ bool AlarmDialog::eventNotification( QString mess, int replay , QString fn, boo | |||
262 | 265 | ||
263 | void AlarmDialog::playSound () | 266 | void AlarmDialog::playSound () |
264 | { | 267 | { |
265 | 268 | ||
266 | if (mStopAlarm ) | 269 | if (mStopAlarm ) |
267 | return; | 270 | return; |
268 | if (mSilent ) | 271 | if ( mSilent ) |
269 | return; | 272 | return; |
270 | showNormal(); | 273 | showNormal(); |
271 | setActiveWindow(); | 274 | setActiveWindow(); |
275 | raise(); | ||
272 | mSuspendSpin->setFocus(); | 276 | mSuspendSpin->setFocus(); |
273 | raise(); | 277 | |
274 | repaint(); | ||
275 | 278 | ||
276 | qApp->processEvents(); | 279 | qApp->processEvents(); |
277 | if ( alarmCounter < maxAlarmReplay && ! mSilent) { | 280 | if ( alarmCounter < maxAlarmReplay && ! mSilent) { |
278 | ++alarmCounter; | 281 | ++alarmCounter; |
279 | #ifdef DESKTOP_VERSION | 282 | #ifdef DESKTOP_VERSION |
280 | mPlayWav = true; | 283 | mPlayWav = true; |
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index beb19d9..76cce26 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -527,12 +527,17 @@ void CalendarView::suspendAlarm() | |||
527 | computeAlarm(mSuspendAlarmNotification ); | 527 | computeAlarm(mSuspendAlarmNotification ); |
528 | 528 | ||
529 | } | 529 | } |
530 | 530 | ||
531 | void CalendarView::startAlarm( QString mess , QString filename) | 531 | void CalendarView::startAlarm( QString mess , QString filename) |
532 | { | 532 | { |
533 | |||
534 | topLevelWidget()->showNormal(); | ||
535 | topLevelWidget()->setActiveWindow(); | ||
536 | topLevelWidget()->raise(); | ||
537 | |||
533 | mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); | 538 | mAlarmDialog->eventNotification( mess, KOPrefs::instance()->mAlarmPlayBeeps, filename, true,KOPrefs::instance()->mAlarmBeepInterval ,KOPrefs::instance()->mAlarmSuspendCount ); |
534 | QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); | 539 | QTimer::singleShot( 3000, this, SLOT( checkNextTimerAlarm() ) ); |
535 | 540 | ||
536 | } | 541 | } |
537 | 542 | ||
538 | void CalendarView::checkNextTimerAlarm() | 543 | void CalendarView::checkNextTimerAlarm() |
@@ -4091,27 +4096,37 @@ void CalendarView::showNextAlarms() | |||
4091 | int min = secs /60; | 4096 | int min = secs /60; |
4092 | int hours = min /60; | 4097 | int hours = min /60; |
4093 | min = min % 60; | 4098 | min = min % 60; |
4094 | int days = hours /24; | 4099 | int days = hours /24; |
4095 | hours = hours % 24; | 4100 | hours = hours % 24; |
4096 | 4101 | ||
4097 | message = i18n("The next alarm is in:\n"); | 4102 | //message = i18n("The next alarm is in:\n"); |
4098 | if ( days > 1 ) | 4103 | if ( days > 1 ) |
4099 | message += i18n("%1 days\n").arg( days ); | 4104 | message += i18n("%1 days\n").arg( days ); |
4100 | else if ( days == 1 ) | 4105 | else if ( days == 1 ) |
4101 | message += i18n("1 day\n"); | 4106 | message += i18n("1 day\n"); |
4102 | if ( hours > 1 ) | 4107 | if ( hours > 1 ) |
4103 | message += i18n("%1 hours\n").arg( hours ); | 4108 | message += i18n("%1 hours\n").arg( hours ); |
4104 | else if ( hours == 1 ) | 4109 | else if ( hours == 1 ) |
4105 | message += i18n("1 hour\n"); | 4110 | message += i18n("1 hour\n"); |
4106 | if ( min > 1 ) | 4111 | if ( min > 1 ) |
4107 | message += i18n("%1 minutes\n").arg( min ); | 4112 | message += i18n("%1 minutes\n").arg( min ); |
4108 | else if ( min == 1 ) | 4113 | else if ( min == 1 ) |
4109 | message += i18n("1 minute\n"); | 4114 | message += i18n("1 minute\n"); |
4110 | 4115 | if ( message.isEmpty() ) | |
4116 | message = i18n("The next alarm is in\nless than one minute!"); | ||
4117 | else | ||
4118 | message = i18n("The next alarm is in:\n") + message; | ||
4111 | message += i18n("\n(%1)\n\n%2\n(%3)\n").arg( KGlobal::locale()->formatDateTime(nextA , false)).arg(sum ).arg( KGlobal::locale()->formatDateTime(nextAl , false)) ; | 4119 | message += i18n("\n(%1)\n\n%2\n(%3)\n").arg( KGlobal::locale()->formatDateTime(nextA , false)).arg(sum ).arg( KGlobal::locale()->formatDateTime(nextAl , false)) ; |
4112 | } else { | 4120 | } else { |
4113 | message = i18n("There is no next alarm."); | 4121 | message = i18n("There is no next alarm."); |
4114 | 4122 | ||
4115 | } | 4123 | } |
4124 | #ifdef DESKTOP_VERSION | ||
4125 | if ( ! KOPrefs::instance()->mUseInternalAlarmNotification ) { | ||
4126 | message += i18n("\nThe internal alarm notification is disabled!\n"); | ||
4127 | message += i18n("Enable it in the settings menu, TAB alarm."); | ||
4128 | } | ||
4129 | |||
4130 | #endif | ||
4116 | KMessageBox::information( this, message); | 4131 | KMessageBox::information( this, message); |
4117 | } | 4132 | } |
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index d450a97..6d1e6d5 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -150,13 +150,13 @@ void TimeLabels::drawContents(QPainter *p,int cx, int cy, int cw, int ch) | |||
150 | int startW = mMiniWidth - frameWidth()-2 ; | 150 | int startW = mMiniWidth - frameWidth()-2 ; |
151 | int tw2 = fmS.width(suffix); | 151 | int tw2 = fmS.width(suffix); |
152 | timeHeight = (timeHeight-1) /2 -1; | 152 | timeHeight = (timeHeight-1) /2 -1; |
153 | //testline | 153 | //testline |
154 | //p->drawLine(0,0,0,contentsHeight()); | 154 | //p->drawLine(0,0,0,contentsHeight()); |
155 | while (y < cy + ch+mCellHeight) { | 155 | while (y < cy + ch+mCellHeight) { |
156 | p->drawLine(startW-tw2 ,y,cw+2,y); | 156 | p->drawLine(startW-tw2+1 ,y,cw+2,y); |
157 | hour.setNum(cell); | 157 | hour.setNum(cell); |
158 | // handle 24h and am/pm time formats | 158 | // handle 24h and am/pm time formats |
159 | if (KGlobal::locale()->use12Clock()) { | 159 | if (KGlobal::locale()->use12Clock()) { |
160 | if (cell == 12) suffix = "pm"; | 160 | if (cell == 12) suffix = "pm"; |
161 | if (cell == 0) hour.setNum(12); | 161 | if (cell == 0) hour.setNum(12); |
162 | if (cell > 12) hour.setNum(cell - 12); | 162 | if (cell > 12) hour.setNum(cell - 12); |
@@ -212,13 +212,13 @@ void TimeLabels::updateConfig() | |||
212 | mMiniWidth += fmS.width( test ) + frameWidth()*2+4 ; | 212 | mMiniWidth += fmS.width( test ) + frameWidth()*2+4 ; |
213 | // update geometry restrictions based on new settings | 213 | // update geometry restrictions based on new settings |
214 | setFixedWidth( mMiniWidth ); | 214 | setFixedWidth( mMiniWidth ); |
215 | 215 | ||
216 | // update HourSize | 216 | // update HourSize |
217 | mCellHeight = KOPrefs::instance()->mHourSize*4; | 217 | mCellHeight = KOPrefs::instance()->mHourSize*4; |
218 | resizeContents(50,mRows * mCellHeight); | 218 | resizeContents(mMiniWidth,mRows * mCellHeight+1); |
219 | } | 219 | } |
220 | 220 | ||
221 | /** update time label positions */ | 221 | /** update time label positions */ |
222 | void TimeLabels::positionChanged() | 222 | void TimeLabels::positionChanged() |
223 | { | 223 | { |
224 | int adjustment = mAgenda->contentsY(); | 224 | int adjustment = mAgenda->contentsY(); |
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index b14ca43..abc80d4 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp | |||
@@ -224,65 +224,62 @@ void KOEditorGeneral::initAlarm(QWidget *parent,QBoxLayout *topLayout) | |||
224 | } | 224 | } |
225 | 225 | ||
226 | void KOEditorGeneral::pickAlarmSound() | 226 | void KOEditorGeneral::pickAlarmSound() |
227 | { | 227 | { |
228 | 228 | ||
229 | qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); | 229 | qDebug("KOEditorGeneral::pickAlarmSound() %d",mAlarmSoundButton->isOn() ); |
230 | //QString prefix = mAlarmSound; | 230 | |
231 | if (!mAlarmSoundButton->isOn()) { | 231 | bool oldState = mAlarmSoundButton->isOn(); |
232 | |||
233 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, | ||
234 | i18n("*.wav|Wav Files"), 0)); | ||
235 | if (!fileName.isEmpty()) { | ||
236 | mAlarmSound = fileName; | ||
237 | QToolTip::remove(mAlarmSoundButton); | ||
238 | QString dispStr = i18n("Playing '%1'").arg(fileName); | ||
239 | QToolTip::add(mAlarmSoundButton, dispStr); | ||
240 | mAlarmProgramButton->setOn(false); | ||
232 | mAlarmSoundButton->setOn(true); | 241 | mAlarmSoundButton->setOn(true); |
233 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 242 | QToolTip::add(mAlarmProgramButton, i18n("No program set")); |
234 | } else { | 243 | } else { |
235 | QString fileName(KFileDialog::getOpenFileName(mAlarmSound, | 244 | mAlarmProgramButton->setOn(oldState); |
236 | i18n("*.wav|Wav Files"), 0)); | 245 | mAlarmSoundButton->setOn(!oldState); |
237 | if (!fileName.isEmpty()) { | 246 | |
238 | mAlarmSound = fileName; | 247 | |
239 | QToolTip::remove(mAlarmSoundButton); | ||
240 | QString dispStr = i18n("Playing '%1'").arg(fileName); | ||
241 | QToolTip::add(mAlarmSoundButton, dispStr); | ||
242 | mAlarmProgramButton->setOn(false); | ||
243 | mAlarmSoundButton->setOn(true); | ||
244 | } else { | ||
245 | mAlarmProgramButton->setOn(true); | ||
246 | mAlarmSoundButton->setOn(false); | ||
247 | |||
248 | } | ||
249 | } | 248 | } |
250 | #if 0 | 249 | |
251 | if (mAlarmProgramButton->isOn()) | 250 | if (mAlarmProgramButton->isOn()) |
252 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 251 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
253 | if ( mAlarmSoundButton->isOn()) | 252 | if ( mAlarmSoundButton->isOn()) |
254 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 253 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
255 | #endif | 254 | |
256 | } | 255 | } |
257 | 256 | ||
258 | void KOEditorGeneral::pickAlarmProgram() | 257 | void KOEditorGeneral::pickAlarmProgram() |
259 | { | 258 | { |
260 | if (!mAlarmProgramButton->isOn()) { | 259 | bool oldState = mAlarmProgramButton->isOn(); |
260 | |||
261 | QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0)); | ||
262 | if (!fileName.isEmpty()) { | ||
263 | mAlarmProgram = fileName; | ||
264 | QToolTip::remove(mAlarmProgramButton); | ||
265 | QString dispStr = i18n("Running '%1'").arg(fileName); | ||
266 | QToolTip::add(mAlarmProgramButton, dispStr); | ||
267 | mAlarmSoundButton->setOn(false); | ||
261 | mAlarmProgramButton->setOn(true); | 268 | mAlarmProgramButton->setOn(true); |
262 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 269 | QToolTip::add(mAlarmSoundButton, i18n("No sound set")); |
263 | } else { | 270 | } else { |
264 | QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm: ") , 0)); | 271 | mAlarmProgramButton->setOn(!oldState); |
265 | if (!fileName.isEmpty()) { | 272 | mAlarmSoundButton->setOn(oldState); |
266 | mAlarmProgram = fileName; | ||
267 | QToolTip::remove(mAlarmProgramButton); | ||
268 | QString dispStr = i18n("Running '%1'").arg(fileName); | ||
269 | QToolTip::add(mAlarmProgramButton, dispStr); | ||
270 | mAlarmSoundButton->setOn(false); | ||
271 | mAlarmProgramButton->setOn(true); | ||
272 | } else { | ||
273 | mAlarmProgramButton->setOn(false); | ||
274 | mAlarmSoundButton->setOn(true); | ||
275 | } | ||
276 | } | 273 | } |
277 | #if 0 | 274 | |
278 | if (mAlarmProgramButton->isOn()) | 275 | if (mAlarmProgramButton->isOn()) |
279 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); | 276 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Proc.Al.: ") + getFittingPath(mAlarmProgram) ); |
280 | if ( mAlarmSoundButton->isOn()) | 277 | if ( mAlarmSoundButton->isOn()) |
281 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); | 278 | ((QWidget*)parent())->topLevelWidget()->setCaption(i18n("Audio Al.: ") + getFittingPath(mAlarmSound) ); |
282 | #endif | 279 | |
283 | } | 280 | } |
284 | 281 | ||
285 | 282 | ||
286 | QString KOEditorGeneral::getFittingPath( const QString s ) | 283 | QString KOEditorGeneral::getFittingPath( const QString s ) |
287 | { | 284 | { |
288 | int maxlen = 50; | 285 | int maxlen = 50; |
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 01cf0ff..395325c 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -201,12 +201,16 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e) | |||
201 | qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable "); | 201 | qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable "); |
202 | e->ignore(); | 202 | e->ignore(); |
203 | } | 203 | } |
204 | } | 204 | } |
205 | #endif | 205 | #endif |
206 | } | 206 | } |
207 | void KOTodoListView::wheelEvent (QWheelEvent *e) | ||
208 | { | ||
209 | QListView::wheelEvent (e); | ||
210 | } | ||
207 | 211 | ||
208 | void KOTodoListView::contentsMousePressEvent(QMouseEvent* e) | 212 | void KOTodoListView::contentsMousePressEvent(QMouseEvent* e) |
209 | { | 213 | { |
210 | 214 | ||
211 | QPoint p(contentsToViewport(e->pos())); | 215 | QPoint p(contentsToViewport(e->pos())); |
212 | QListViewItem *i = itemAt(p); | 216 | QListViewItem *i = itemAt(p); |
@@ -224,15 +228,17 @@ void KOTodoListView::contentsMousePressEvent(QMouseEvent* e) | |||
224 | } | 228 | } |
225 | } else { | 229 | } else { |
226 | rootClicked = false; | 230 | rootClicked = false; |
227 | } | 231 | } |
228 | #ifndef KORG_NODND | 232 | #ifndef KORG_NODND |
229 | mMousePressed = false; | 233 | mMousePressed = false; |
230 | if (! rootClicked ) { | 234 | if (! rootClicked && !( e->button() == RightButton) ) { |
231 | mPressPos = e->pos(); | 235 | mPressPos = e->pos(); |
232 | mMousePressed = true; | 236 | mMousePressed = true; |
237 | } else { | ||
238 | mMousePressed = false; | ||
233 | } | 239 | } |
234 | #endif | 240 | #endif |
235 | //qDebug("KOTodoListView::contentsMousePressEvent %d", rootClicked); | 241 | //qDebug("KOTodoListView::contentsMousePressEvent %d", rootClicked); |
236 | #ifndef DESKTOP_VERSION | 242 | #ifndef DESKTOP_VERSION |
237 | if (!( e->button() == RightButton && rootClicked) ) | 243 | if (!( e->button() == RightButton && rootClicked) ) |
238 | QListView::contentsMousePressEvent(e); | 244 | QListView::contentsMousePressEvent(e); |
@@ -1079,13 +1085,13 @@ void KOTodoView::itemDoubleClicked(QListViewItem *item) | |||
1079 | int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() ); | 1085 | int row = mTodoListView->header()->sectionAt ( mTodoListView->header()->mapFromGlobal( QCursor::pos()).x() ); |
1080 | //qDebug("ROW %d ", row); | 1086 | //qDebug("ROW %d ", row); |
1081 | if (!item) { | 1087 | if (!item) { |
1082 | newTodo(); | 1088 | newTodo(); |
1083 | return; | 1089 | return; |
1084 | } else { | 1090 | } else { |
1085 | if ( row == 1 ) { | 1091 | if ( row == 1 || row == 2 ) { |
1086 | mActiveItem = (KOTodoViewItem *) item; | 1092 | mActiveItem = (KOTodoViewItem *) item; |
1087 | newSubTodo(); | 1093 | newSubTodo(); |
1088 | return; | 1094 | return; |
1089 | } | 1095 | } |
1090 | } | 1096 | } |
1091 | if ( KOPrefs::instance()->mEditOnDoubleClick ) | 1097 | if ( KOPrefs::instance()->mEditOnDoubleClick ) |
@@ -1268,12 +1274,13 @@ void KOTodoView::setAllFlat() | |||
1268 | resetCurrentItem(); | 1274 | resetCurrentItem(); |
1269 | } | 1275 | } |
1270 | 1276 | ||
1271 | void KOTodoView::purgeCompleted() | 1277 | void KOTodoView::purgeCompleted() |
1272 | { | 1278 | { |
1273 | emit purgeCompletedSignal(); | 1279 | emit purgeCompletedSignal(); |
1280 | |||
1274 | } | 1281 | } |
1275 | void KOTodoView::toggleQuickTodo() | 1282 | void KOTodoView::toggleQuickTodo() |
1276 | { | 1283 | { |
1277 | if ( mQuickAdd->isVisible() ) { | 1284 | if ( mQuickAdd->isVisible() ) { |
1278 | mQuickAdd->hide(); | 1285 | mQuickAdd->hide(); |
1279 | KOPrefs::instance()->mEnableQuickTodo = false; | 1286 | KOPrefs::instance()->mEnableQuickTodo = false; |
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index e553d0e..39976cf 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h | |||
@@ -65,12 +65,13 @@ class KOTodoListView : public KListView | |||
65 | void todoDropped(Todo *, int); | 65 | void todoDropped(Todo *, int); |
66 | void double_Clicked(QListViewItem *item); | 66 | void double_Clicked(QListViewItem *item); |
67 | void reparentTodoSignal( Todo *,Todo * ); | 67 | void reparentTodoSignal( Todo *,Todo * ); |
68 | void unparentTodoSignal(Todo *); | 68 | void unparentTodoSignal(Todo *); |
69 | void deleteTodo( Todo * ); | 69 | void deleteTodo( Todo * ); |
70 | protected: | 70 | protected: |
71 | void wheelEvent (QWheelEvent *e); | ||
71 | void contentsDragEnterEvent(QDragEnterEvent *); | 72 | void contentsDragEnterEvent(QDragEnterEvent *); |
72 | void contentsDragMoveEvent(QDragMoveEvent *); | 73 | void contentsDragMoveEvent(QDragMoveEvent *); |
73 | void contentsDragLeaveEvent(QDragLeaveEvent *); | 74 | void contentsDragLeaveEvent(QDragLeaveEvent *); |
74 | void contentsDropEvent(QDropEvent *); | 75 | void contentsDropEvent(QDropEvent *); |
75 | 76 | ||
76 | void contentsMousePressEvent(QMouseEvent *); | 77 | void contentsMousePressEvent(QMouseEvent *); |