author | sandman <sandman> | 2002-06-10 23:24:52 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-06-10 23:24:52 (UTC) |
commit | 4ca2d71bbbe91c01e398f6aadd69975fa8894c29 (patch) (side-by-side diff) | |
tree | 7533774848c0fbe63aa89550c30be021019c06ed | |
parent | 3613c40c01d05fa7bbb60c376a486a350a67d6a6 (diff) | |
download | opie-4ca2d71bbbe91c01e398f6aadd69975fa8894c29.zip opie-4ca2d71bbbe91c01e398f6aadd69975fa8894c29.tar.gz opie-4ca2d71bbbe91c01e398f6aadd69975fa8894c29.tar.bz2 |
Fix some oddities regarding AM/PM and alarms at 00:xx in 24H mode
-rw-r--r-- | noncore/tools/clock/clock.cpp | 3 | ||||
-rw-r--r-- | noncore/tools/clock/setAlarm.cpp | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp index 9b9e644..a47793b 100644 --- a/noncore/tools/clock/clock.cpp +++ b/noncore/tools/clock/clock.cpp @@ -260,96 +260,99 @@ void Clock::slotReset() { t->stop(); swatch_start.start(); swatch_totalms = 0; if (swatch_running ) t->start(1000); updateClock(); } void Clock::modeSelect( int m ) { if ( m ) { lcd->setNumDigits( 8+1+sw_prec ); lcd->setMinimumWidth( lcd->sizeHint().width() ); set->setEnabled( TRUE ); reset->setEnabled( TRUE ); ampmLabel->hide(); if ( !swatch_running ) t->stop(); } else { lcd->setNumDigits( 5 ); lcd->setMinimumWidth( lcd->sizeHint().width() ); set->setEnabled( FALSE ); reset->setEnabled( FALSE ); t->start(1000); } updateClock(); } //this sets the alarm time void Clock::slotSetAlarm() { if( !snoozeBtn->isHidden()) slotToggleAlarm(); Set_Alarm *setAlarmDlg; setAlarmDlg = new Set_Alarm(this,"SetAlarm", TRUE); int result = setAlarmDlg->exec(); if(result == 1) { Config config( "qpe" ); config.setGroup("Time"); QString tmp; hour = setAlarmDlg->Hour_Slider->value(); minute = setAlarmDlg->Minute_Slider->value(); snoozeTime=setAlarmDlg->SnoozeSlider->value(); if(ampm) { + if ( hour == 12 ) + hour = 0; + if(setAlarmDlg->Pm_RadioButton->isChecked() && hour < 12 ) hour+=12; } config.writeEntry("clockAlarmHour", tmp.setNum( hour ),10); config.writeEntry("clockAlarmMinute",tmp.setNum( minute ),10); config.writeEntry("clockAlarmSnooze",tmp.setNum( snoozeTime ),10); config.write(); } } void Clock::slotSnooze() { bSound=FALSE; int warn = 0; QTime t = QTime::currentTime(); QDateTime whenl( when.date(), t.addSecs( snoozeTime*60)); when=whenl; AlarmServer::addAlarm( when, "QPE/Application/clock", "alarm(QDateTime,int)", warn ); } //toggles alarm on/off void Clock::slotToggleAlarm() { Config config( "qpe" ); config.setGroup("Time"); if(alarmBool) { config.writeEntry("clockAlarmSet","FALSE"); alarmOffBtn->setText( tr( "Alarm Is Off" ) ); snoozeBtn->hide(); alarmBool=FALSE; alarmOff(); } else { config.writeEntry("clockAlarmSet","TRUE"); alarmOffBtn->setText( tr( "Alarm Is On" ) ); snoozeBtn->show(); alarmBool=TRUE; alarmOn(); } config.write(); } void Clock::alarmOn() { QDate d = QDate::currentDate(); QTime tm((int)hour,(int)minute,0); diff --git a/noncore/tools/clock/setAlarm.cpp b/noncore/tools/clock/setAlarm.cpp index 6b95e6a..bd964e0 100644 --- a/noncore/tools/clock/setAlarm.cpp +++ b/noncore/tools/clock/setAlarm.cpp @@ -87,98 +87,101 @@ Set_Alarm::Set_Alarm( QWidget* parent, const char* name, bool modal, WFlags fl Am_RadioButton->setChecked(TRUE); connect( Am_RadioButton, SIGNAL(toggled(bool)),this,SLOT( amButtonToggled(bool))); Set_AlarmLayout->addMultiCellWidget( Am_RadioButton, 0, 1, 3, 4 ); Pm_RadioButton = new QRadioButton( this, "Pm_RadioButton" ); Pm_RadioButton->setText( tr( "PM" ) ); connect( Pm_RadioButton, SIGNAL(toggled(bool)),this,SLOT( pmButtonToggled(bool))); Set_AlarmLayout->addMultiCellWidget(Pm_RadioButton, 1, 2, 3, 4 ); TextLabel3 = new QLabel( this, "TextLabel3" ); TextLabel3->setText( tr( "Snooze Delay\n(minutes)" ) ); Set_AlarmLayout->addMultiCellWidget( TextLabel3, 3, 3, 0, 1 ); Snooze_LCDNumber = new QLCDNumber( this, "Snooze_LCDNumber" ); Snooze_LCDNumber->setFrameShape( QLCDNumber::Box ); Snooze_LCDNumber->setFrameShadow( QLCDNumber::Plain ); Snooze_LCDNumber->setSegmentStyle( QLCDNumber::Flat ); Set_AlarmLayout->addMultiCellWidget( Snooze_LCDNumber, 3, 3, 1, 2 ); SnoozeSlider = new QSlider( this, "SnoozeSlider" ); SnoozeSlider->setMaxValue( 60 ); SnoozeSlider->setOrientation( QSlider::Horizontal ); connect(SnoozeSlider, SIGNAL( valueChanged(int)),this,SLOT(slotChangeSnooze(int))); Set_AlarmLayout->addMultiCellWidget( SnoozeSlider, 3, 3, 3, 4 ); Config config( "qpe" ); config.setGroup("Time"); bool ok; bool ampm = config.readBoolEntry( "AMPM", TRUE ); QString alarmHour=config.readEntry("clockAlarmHour","8"); int i_alarmHour = alarmHour.toInt(&ok,10); QString alarmMinute=config.readEntry("clockAlarmMinute","0"); QString snoozeTime=config.readEntry("clockAlarmSnooze","0"); if(ampm) { Hour_Slider->setMaxValue( 12); Hour_Slider->setMinValue( 1); if( i_alarmHour > 12) { i_alarmHour = i_alarmHour - 12; Pm_RadioButton->setChecked(TRUE); } + else if ( i_alarmHour == 0 ) { + i_alarmHour = 12; + } Hour_Slider->setValue( i_alarmHour); Minute_Slider->setValue( alarmMinute.toInt(&ok,10) ); SnoozeSlider->setValue( snoozeTime.toInt(&ok,10) ); } else { Hour_Slider->setMaxValue( 23); - Hour_Slider->setMinValue( 1); + Hour_Slider->setMinValue( 0); Hour_Slider->setValue( i_alarmHour); Minute_Slider->setValue( alarmMinute.toInt(&ok,10) ); SnoozeSlider->setValue( snoozeTime.toInt(&ok,10) ); Am_RadioButton->hide(); Pm_RadioButton->hide(); } // signals and slots connections } Set_Alarm::~Set_Alarm() { } void Set_Alarm::slotChangeHour(int hour) { Hour_LCDNumber->display(hour); } void Set_Alarm::slotChangeMinute(int minute) { Minute_LCDNumber->display(minute); } void Set_Alarm::slotChangeSnooze(int minute) { Snooze_LCDNumber->display(minute); } void Set_Alarm::amButtonToggled(bool b) { if ( b) Pm_RadioButton->setChecked(FALSE); } void Set_Alarm::pmButtonToggled(bool b) { if (b) Am_RadioButton->setChecked(FALSE); } void Set_Alarm::cleanUp() { } |