[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeplasma-addons/applets/timer
From: Davide Bettio <davide.bettio () kdemail ! net>
Date: 2009-04-06 16:03:26
Message-ID: 1239033806.335990.20105.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 950175 by bettio:
Continue timer on restart.
M +26 -0 timer.cpp
M +2 -0 timer.h
--- trunk/KDE/kdeplasma-addons/applets/timer/timer.cpp #950174:950175
@@ -53,6 +53,7 @@
Timer::~Timer()
{
+ saveTimer();
}
void Timer::init()
@@ -104,6 +105,15 @@
m_resetAction->setEnabled(false);
connect(m_resetAction, SIGNAL(triggered(bool)), this, SLOT(resetTimer()));
createMenuAction();
+
+ m_running = cg.readEntry("running", false);
+ QDateTime startedAt = cg.readEntry("startedAt", QDateTime::currentDateTime());
+ int tmpSeconds = cg.readEntry("seconds", 0) - startedAt.secsTo(QDateTime::currentDateTime());
+ if (tmpSeconds > 0){
+ m_seconds = tmpSeconds;
+ m_running = true;
+ startTimer();
+ }
}
void Timer::createMenuAction()
@@ -241,10 +251,22 @@
}
}
+void Timer::saveTimer()
+{
+ KConfigGroup cg = config();
+ cg.writeEntry("running", m_running);
+ cg.writeEntry("startedAt", QDateTime::currentDateTime());
+ cg.writeEntry("seconds", m_seconds);
+
+ emit configNeedsSaving();
+}
+
void Timer::startTimer()
{
m_running = true;
+ saveTimer();
+
timer.start(1000);
m_startAction->setEnabled(false);
@@ -256,6 +278,8 @@
{
m_running = false;
+ saveTimer();
+
timer.stop();
m_startAction->setEnabled(true);
@@ -266,6 +290,8 @@
{
stopTimer();
+ saveTimer();
+
m_seconds = 0;
m_resetAction->setEnabled(false);
m_startAction->setEnabled(false);
--- trunk/KDE/kdeplasma-addons/applets/timer/timer.h #950174:950175
@@ -61,6 +61,8 @@
void startTimerFromAction();
private:
+ void saveTimer();
+
int m_seconds;
bool m_running;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic