diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 18:23:26 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 18:23:26 +0000 |
commit | ae364d9bed0589bf1a22cd5f530c563462379e3e (patch) | |
tree | e32727e2664e7ce68d0d30270afa040320ae35a1 /kradio3/src/alarm.cpp | |
download | tderadio-ae364d9bed0589bf1a22cd5f530c563462379e3e.tar.gz tderadio-ae364d9bed0589bf1a22cd5f530c563462379e3e.zip |
Added old KDE3 version of kradio
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kradio@1094417 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kradio3/src/alarm.cpp')
-rw-r--r-- | kradio3/src/alarm.cpp | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/kradio3/src/alarm.cpp b/kradio3/src/alarm.cpp new file mode 100644 index 0000000..3c6784e --- /dev/null +++ b/kradio3/src/alarm.cpp @@ -0,0 +1,82 @@ +/*************************************************************************** + alarm.cpp - description + ------------------- + begin : Mon Feb 4 2002 + copyright : (C) 2002 by Martin Witte / Frank Schwanz + email : [email protected] / [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ +#include "include/alarm.h" + +int Alarm::m_LastID = 0; + +Alarm::Alarm(const QDateTime &time, bool daily, bool enabled) + : m_time (time), + m_daily (daily), + m_weekdayMask (0x7F), + m_enabled (enabled), + m_stationID (QString::null), + m_volumePreset (-1), + m_type (StartPlaying), + m_ID (++m_LastID) +{ +} + + +Alarm::Alarm () + : m_time (QDateTime (QDate(1800, 1,1), QTime(0,0,0))), + m_daily (false), + m_weekdayMask (0x7F), + m_enabled (false), + m_stationID (QString::null), + m_volumePreset(-1), + m_type (StartPlaying), + m_ID (++m_LastID) +{ +} + + +Alarm::Alarm (const Alarm &a) + : m_time (a.m_time), + m_daily (a.m_daily), + m_weekdayMask (a.m_weekdayMask), + m_enabled (a.m_enabled), + m_stationID (a.m_stationID), + m_volumePreset(a.m_volumePreset), + m_type (a.m_type), + m_ID (a.m_ID) +{ +} + + +Alarm::~Alarm() +{ +} + + +QDateTime Alarm::nextAlarm(bool ignoreEnable) const +{ + QDateTime now = QDateTime::currentDateTime(), + alarm = m_time; + if (m_daily) { + alarm.setDate (now.date()); + if (alarm <= now) + alarm = alarm.addDays(1); + while (m_weekdayMask && + !(m_weekdayMask & (1 << (alarm.date().dayOfWeek()-1)))) + { + alarm = alarm.addDays(1); + } + } + return (m_enabled || ignoreEnable) && (!m_daily || m_weekdayMask) ? alarm : QDateTime(); +} + + |