summaryrefslogtreecommitdiff
path: root/libopie/pim/opimmainwindow.cpp
Side-by-side diff
Diffstat (limited to 'libopie/pim/opimmainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/opimmainwindow.cpp36
1 files changed, 35 insertions, 1 deletions
diff --git a/libopie/pim/opimmainwindow.cpp b/libopie/pim/opimmainwindow.cpp
index d1eec19..4044bc1 100644
--- a/libopie/pim/opimmainwindow.cpp
+++ b/libopie/pim/opimmainwindow.cpp
@@ -1,9 +1,11 @@
#include <qapplication.h>
+#include <qdatetime.h>
#include <qcopchannel_qws.h>
+#include <qpe/sound.h>
#include <qpe/qcopenvelope_qws.h>
#include "opimresolver.h"
#include "opimmainwindow.h"
OPimMainWindow::OPimMainWindow( const QString& service, QWidget* parent,
@@ -14,12 +16,14 @@ OPimMainWindow::OPimMainWindow( const QString& service, QWidget* parent,
* let's generate our QCopChannel
*/
m_str = QString("QPE/"+m_service).local8Bit();
m_channel= new QCopChannel(m_str, this );
connect(m_channel, SIGNAL(received(const QCString&, const QByteArray& ) ),
this, SLOT( appMessage( const QCString&, const QByteArray& ) ) );
+ connect(qApp, SIGNAL(appMessage(const QCString&, const QByteArray& ) ),
+ this, SLOT( appMessage( const QCString&, const QByteArray& ) ) );
/* connect flush and reload */
connect(qApp, SIGNAL(flush() ),
this, SLOT(flush() ) );
connect(qApp, SIGNAL(reload() ),
this, SLOT(reload() ) );
@@ -47,13 +51,13 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array )
int uid;
stream >> uid;
bool rem = remove( uid );
QCopEnvelope e(m_str, "removed(bool)" );
e << rem;
}else if ( cmd == "beam(int)" ) {
- int uid, trans;
+ int uid;
stream >> uid;
beam( uid);
}else if ( cmd == "show(int)" ) {
int uid;
stream >> uid;
show( uid );
@@ -67,12 +71,22 @@ void OPimMainWindow::appMessage( const QCString& cmd, const QByteArray& array )
stream >> rtti;
stream >> array;
m_fallBack = record(rtti, array );
if (!m_fallBack) return;
add( *m_fallBack );
delete m_fallBack;
+ }else if ( cmd == "alarm(QDateTime,int)" ) {
+ QDateTime dt; int uid;
+ stream >> dt;
+ stream >> uid;
+ qWarning(" Date: %s Uid: %d", dt.toString().latin1(), uid );
+ QDateTime current = QDateTime::currentDateTime();
+ if ( current.time().hour() != dt.time().hour() && current.time().minute() != dt.time().minute() )
+ return;
+ doAlarm( dt, uid );
+
}
}
/* implement the url scripting here */
void OPimMainWindow::setDocument( const QString& str) {
doSetDocument( str );
}
@@ -99,6 +113,26 @@ OPimRecord* OPimMainWindow::record( int rtti, const QByteArray& array ) {
int OPimMainWindow::service() {
if ( m_rtti == -1 )
m_rtti = OPimResolver::self()->serviceId( m_service );
return m_rtti;
}
+void OPimMainWindow::doAlarm( const QDateTime&, int ) {
+
+}
+void OPimMainWindow::startAlarm(int count ) {
+ m_alarmCount = count;
+ m_playedCount = 0;
+ Sound::soundAlarm();
+ m_timerId = startTimer( 5000 );
+}
+void OPimMainWindow::killAlarm() {
+ killTimer( m_timerId );
+}
+void OPimMainWindow::timerEvent( QTimerEvent* e) {
+ if ( m_playedCount <m_alarmCount ) {
+ m_playedCount++;
+ Sound::soundAlarm();
+ }else {
+ killTimer( e->timerId() );
+ }
+}