Diffstat (limited to 'core/pim/datebook/datebooksettings.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/datebook/datebooksettings.cpp | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/core/pim/datebook/datebooksettings.cpp b/core/pim/datebook/datebooksettings.cpp new file mode 100644 index 0000000..c5d8ac1 --- a/dev/null +++ b/core/pim/datebook/datebooksettings.cpp @@ -0,0 +1,135 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#include "datebooksettings.h" + +#include <qpe/qpeapplication.h> + +#include <qspinbox.h> +#include <qcheckbox.h> +#include <qcombobox.h> + +DateBookSettings::DateBookSettings( bool whichClock, QWidget *parent, + const char *name, bool modal, WFlags fl ) + : DateBookSettingsBase( parent, name, modal, fl ), + ampm( whichClock ) +{ + init(); + QObject::connect( qApp, SIGNAL( clockChanged( bool ) ), + this, SLOT( slotChangeClock( bool ) ) ); +} + +DateBookSettings::~DateBookSettings() +{ +} + +void DateBookSettings::setStartTime( int newStartViewTime ) +{ + if ( ampm ) { + if ( newStartViewTime >= 12 ) { + newStartViewTime %= 12; + if ( newStartViewTime == 0 ) + newStartViewTime = 12; + spinStart->setSuffix( tr(":00 PM") ); + } + else if ( newStartViewTime == 0 ) { + newStartViewTime = 12; + spinStart->setSuffix( tr(":00 AM") ); + } + oldtime = newStartViewTime; + } + spinStart->setValue( newStartViewTime ); +} + +int DateBookSettings::startTime() const +{ + int returnMe = spinStart->value(); + if ( ampm ) { + if ( returnMe != 12 && spinStart->suffix().contains(tr("PM"), FALSE) ) + returnMe += 12; + else if (returnMe == 12 && spinStart->suffix().contains(tr("AM"), TRUE)) + returnMe = 0; + } + return returnMe; +} + + +void DateBookSettings::setAlarmPreset( bool bAlarm, int presetTime ) +{ + chkAlarmPreset->setChecked( bAlarm ); + if ( presetTime >=5 ) + spinPreset->setValue( presetTime ); +} + +bool DateBookSettings::alarmPreset() const +{ + return chkAlarmPreset->isChecked(); +} + +int DateBookSettings::presetTime() const +{ + return spinPreset->value(); +} + + +void DateBookSettings::slot12Hour( int i ) +{ + if ( ampm ) { + if ( spinStart->suffix().contains( tr("AM"), FALSE ) ) { + if ( oldtime == 12 && i == 11 || oldtime == 11 && i == 12 ) + spinStart->setSuffix( tr(":00 PM") ); + } else { + if ( oldtime == 12 && i == 11 || oldtime == 11 && i == 12 ) + spinStart->setSuffix( tr(":00 AM") ); + } + oldtime = i; + } +} + +void DateBookSettings::init() +{ + if ( ampm ) { + spinStart->setMinValue( 1 ); + spinStart->setMaxValue( 12 ); + spinStart->setValue( 12 ); + spinStart->setSuffix( tr(":00 AM") ); + oldtime = 12; + } else { + spinStart->setMinValue( 0 ); + spinStart->setMaxValue( 23 ); + spinStart->setSuffix( tr(":00") ); + } +} + +void DateBookSettings::slotChangeClock( bool whichClock ) +{ + int saveMe; + saveMe = spinStart->value(); + if ( ampm && spinStart->suffix().contains( tr("AM"), FALSE ) ) { + if ( saveMe == 12 ) + saveMe = 0; + } else if ( ampm && spinStart->suffix().contains( tr("PM"), FALSE ) ) { + if ( saveMe != 12 ) + saveMe += 12; + } + ampm = whichClock; + init(); + setStartTime( saveMe ); +} |