• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdepim
  • Sitemap
  • Contact Us
 

knotes

knotesalarm.cpp

Go to the documentation of this file.
00001 /*******************************************************************
00002  KNotes -- Notes for the KDE project
00003 
00004  Copyright (c) 2005, Michael Brade <brade@kde.org>
00005 
00006  This program is free software; you can redistribute it and/or
00007  modify it under the terms of the GNU General Public License
00008  as published by the Free Software Foundation; either version 2
00009  of the License, or (at your option) any later version.
00010 
00011  This program is distributed in the hope that it will be useful,
00012  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  GNU General Public License for more details.
00015 
00016  You should have received a copy of the GNU General Public License
00017  along with this program; if not, write to the Free Software
00018  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019 
00020  In addition, as a special exception, the copyright holders give
00021  permission to link the code of this program with any edition of
00022  the Qt library by Trolltech AS, Norway (or with modified versions
00023  of Qt that use the same license as Qt), and distribute linked
00024  combinations including the two.  You must obey the GNU General
00025  Public License in all respects for all of the code used other than
00026  Qt.  If you modify this file, you may extend this exception to
00027  your version of the file, but you are not obligated to do so.  If
00028  you do not wish to do so, delete this exception statement from
00029  your version.
00030 *******************************************************************/
00031 
00032 #include <QStringList>
00033 
00034 #include <kmessagebox.h>
00035 #include <klocale.h>
00036 
00037 #include <kcal/calendarresources.h>
00038 
00039 #include "knotes/resourcemanager.h"
00040 
00041 #include "knotesalarm.h"
00042 #include "knotesglobalconfig.h"
00043 
00044 
00045 KNotesAlarm::KNotesAlarm( KNotesResourceManager *manager, QObject *parent,
00046                           const char *name )
00047   : QObject( parent ), m_manager( manager )
00048 {
00049   setObjectName( name );
00050   // TODO: fix timezone stuff?
00051   
00052   connect( &m_checkTimer, SIGNAL( timeout() ), SLOT( checkAlarms() ) );
00053   
00054   // interval in seconds
00055   m_checkTimer.start( 1000 * KNotesGlobalConfig::self()->checkInterval() );
00056 }
00057 
00058 void KNotesAlarm::checkAlarms()
00059 {
00060   QDateTime from = KNotesGlobalConfig::self()->alarmsLastChecked().addSecs( 1 );
00061   if ( !from.isValid() ) {
00062     from.setTime_t( 0 );
00063   }
00064   
00065   KDateTime now = KDateTime::currentLocalDateTime();
00066   KNotesGlobalConfig::self()->setAlarmsLastChecked( now.dateTime() );
00067   QList<KCal::Alarm *> alarms = m_manager->alarms( KDateTime( from,
00068 KDateTime::LocalZone ), now );
00069   
00070   QStringList notes;
00071   QList<KCal::Alarm *>::ConstIterator it;
00072   for ( it = alarms.begin(); it != alarms.end(); ++it ) {
00073     KCal::Incidence *incidence = ( *it )->parent();
00074     notes += incidence->summary();
00075   }
00076   
00077   if ( !notes.isEmpty() ) {
00078     KMessageBox::informationList( 0,
00079                                   i18n( "The following notes triggered "
00080                                         "alarms:" ),
00081                                   notes,
00082                                   i18n( "Alarm" ) );
00083   }
00084 }
00085 
00086 
00087 #include "knotesalarm.moc"

knotes

Skip menu "knotes"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

kdepim

Skip menu "kdepim"
  • akonadi
  •   clients
  •   kabc
  •   kcal
  •   kcm
  • akregator
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt
  • kdgantt1
  • kjots
  • kleopatra
  • kmail
  • kmobiletools
  • knode
  • knotes
  • kontact
  • kontactinterfaces
  • korganizer
  •   korgac
  • kpilot
  • ktimetracker
  •   doc
  • libkdepim
  • libkholidays
  • libkleo
  • libkpgp
  • maildir
Generated for kdepim by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal