• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kde-runtime API Reference
  • KDE Home
  • Contact Us
 

KNotify

  • sources
  • kde-4.14
  • kde-runtime
  • knotify
notifybylogfile.cpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2005-2006 by Olivier Goffart <ogoffart at kde.org>
3 
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2, or (at your option)
8  any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 
19  */
20 
21 
22 #include "notifybylogfile.h"
23 
24 #include <kdebug.h>
25 #include <knotifyconfig.h>
26 #include <KUrl>
27 #include <QDateTime>
28 #include <QFile>
29 #include <QTextStream>
30 
31 NotifyByLogfile::NotifyByLogfile(QObject *parent) : KNotifyPlugin(parent)
32 {
33 }
34 
35 
36 NotifyByLogfile::~NotifyByLogfile()
37 {
38 }
39 
40 
41 
42 void NotifyByLogfile::notify( int id, KNotifyConfig * config )
43 {
44  QString file=config->readEntry( "Logfile" );
45 
46 // kDebug() << file << KUrl(file).path();
47 
48  if ( file.isEmpty() )
49  {
50  finish( id );
51  return;
52  }
53 
54  // open file in append mode
55  QFile logFile(KUrl(file).path());
56  if ( !logFile.open(QIODevice::WriteOnly | QIODevice::Append) )
57  {
58  finish( id );
59  return;
60  }
61 
62  QString text = config->text;
63  if( text.isEmpty())
64  text = config->readEntry( "Name" );
65  // append msg
66  QTextStream strm( &logFile );
67  strm << "- KNotify " << QDateTime::currentDateTime().toString() << ": ";
68  strm << text << endl;
69 
70  // close file
71  logFile.close();
72 
73  finish( id );
74 }
75 
76 #include "notifybylogfile.moc"
QDateTime::toString
QString toString(Qt::DateFormat format) const
KNotifyConfig::readEntry
QString readEntry(const QString &entry, bool path=false)
Definition: knotifyconfig.cpp:80
KNotifyPlugin
abstract class for KNotify actions
Definition: knotifyplugin.h:44
knotifyconfig.h
KNotifyConfig::text
QString text
the text of the notification
Definition: knotifyconfig.h:85
QFile
QTextStream
notifybylogfile.h
NotifyByLogfile::NotifyByLogfile
NotifyByLogfile(QObject *parent=0l)
Definition: notifybylogfile.cpp:31
NotifyByLogfile::~NotifyByLogfile
virtual ~NotifyByLogfile()
Definition: notifybylogfile.cpp:36
QObject
QString::isEmpty
bool isEmpty() const
QString
QFile::open
virtual bool open(QFlags< QIODevice::OpenModeFlag > mode)
QFile::close
virtual void close()
KNotifyPlugin::finish
void finish(int id)
emit the finished signal you MUST call this function for each call to notify(), even if you do nothin...
Definition: knotifyplugin.cpp:49
QDateTime::currentDateTime
QDateTime currentDateTime()
NotifyByLogfile::notify
virtual void notify(int id, KNotifyConfig *config)
This function is called when the notification is sent.
Definition: notifybylogfile.cpp:42
KNotifyConfig
Represent the configuration for an event.
Definition: knotifyconfig.h:60
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:08:23 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KNotify

Skip menu "KNotify"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kde-runtime API Reference

Skip menu "kde-runtime API Reference"
  • KCMShell
  • KNotify
  • Plasma Runtime
  •     PlasmaCore
  •     DragAndDrop
  •     PlasmaComponents
  •     PlasmaExtraComponents
  •     QtExtraComponents

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal