You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
5.7 KiB
178 lines
5.7 KiB
/*
|
|
Notification Action constants and utility functions.
|
|
-------------------
|
|
Copyright : (C) 2005 by Gary Cramblitt <garycramblitt@comcast.net>
|
|
-------------------
|
|
Original author: Gary Cramblitt <garycramblitt@comcast.net>
|
|
Current Maintainer: 2004 by Gary Cramblitt <garycramblitt@comcast.net>
|
|
******************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* 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; version 2 of the License. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
// TQt includes.
|
|
|
|
// TQt includes.
|
|
#include <tqstring.h>
|
|
#include <tqstringlist.h>
|
|
|
|
// KDE includes.
|
|
#include <tdeconfig.h>
|
|
#include <tdelocale.h>
|
|
#include <kstaticdeleter.h>
|
|
|
|
// KTTS includes.
|
|
#include "notify.h"
|
|
|
|
static TQStringList* s_actionNames = 0;
|
|
static KStaticDeleter<TQStringList> s_actionNames_sd;
|
|
|
|
static TQStringList* s_actionDisplayNames = 0;
|
|
static KStaticDeleter<TQStringList> s_actionDisplayNames_sd;
|
|
|
|
static void notifyaction_init()
|
|
{
|
|
if ( !s_actionNames )
|
|
{
|
|
s_actionNames_sd.setObject(s_actionNames, new TQStringList);
|
|
s_actionNames->append( "SpeakEventName" );
|
|
s_actionNames->append( "SpeakMsg" );
|
|
s_actionNames->append( "DoNotSpeak" );
|
|
s_actionNames->append( "SpeakCustom" );
|
|
|
|
s_actionDisplayNames_sd.setObject(s_actionDisplayNames, new TQStringList);
|
|
s_actionDisplayNames->append( i18n("Speak event name") );
|
|
s_actionDisplayNames->append( i18n("Speak the notification message") );
|
|
s_actionDisplayNames->append( i18n("Do not speak the notification") );
|
|
s_actionDisplayNames->append( i18n("Speak custom text:") );
|
|
}
|
|
}
|
|
|
|
/*static*/ int NotifyAction::count()
|
|
{
|
|
notifyaction_init();
|
|
return s_actionNames->count();
|
|
}
|
|
|
|
/*static*/ TQString NotifyAction::actionName( const int action )
|
|
{
|
|
notifyaction_init();
|
|
return (*s_actionNames)[ action ];
|
|
}
|
|
|
|
/*static*/ int NotifyAction::action( const TQString& actionName )
|
|
{
|
|
notifyaction_init();
|
|
return s_actionNames->findIndex( actionName );
|
|
}
|
|
|
|
/*static*/ TQString NotifyAction::actionDisplayName( const int action )
|
|
{
|
|
notifyaction_init();
|
|
return (*s_actionDisplayNames)[ action ];
|
|
}
|
|
|
|
/*static*/ TQString NotifyAction::actionDisplayName( const TQString& actionName )
|
|
{
|
|
notifyaction_init();
|
|
return (*s_actionDisplayNames)[ action( actionName ) ];
|
|
}
|
|
|
|
// --------------------------------------------------------------------
|
|
|
|
static TQStringList* s_presentNames = 0;
|
|
static KStaticDeleter<TQStringList> s_presentNames_sd;
|
|
|
|
static TQStringList* s_presentDisplayNames = 0;
|
|
static KStaticDeleter<TQStringList> s_presentDisplayNames_sd;
|
|
|
|
static void notifypresent_init()
|
|
{
|
|
if ( !s_presentNames )
|
|
{
|
|
s_presentNames_sd.setObject( s_presentNames, new TQStringList );
|
|
s_presentNames->append( "None" );
|
|
s_presentNames->append( "Dialog" );
|
|
s_presentNames->append( "Passive" );
|
|
s_presentNames->append( "DialogAndPassive" );
|
|
s_presentNames->append( "All" );
|
|
|
|
s_presentDisplayNames_sd.setObject( s_presentDisplayNames, new TQStringList );
|
|
s_presentDisplayNames->append( i18n("none") );
|
|
s_presentDisplayNames->append( i18n("notification dialogs") );
|
|
s_presentDisplayNames->append( i18n("passive popups") );
|
|
s_presentDisplayNames->append( i18n("notification dialogs and passive popups") );
|
|
s_presentDisplayNames->append( i18n("all notifications" ) );
|
|
}
|
|
}
|
|
|
|
/*static*/ int NotifyPresent::count()
|
|
{
|
|
notifypresent_init();
|
|
return s_presentNames->count();
|
|
}
|
|
|
|
/*static*/ TQString NotifyPresent::presentName( const int present )
|
|
{
|
|
notifypresent_init();
|
|
return (*s_presentNames)[ present ];
|
|
}
|
|
|
|
/*static*/ int NotifyPresent::present( const TQString& presentName )
|
|
{
|
|
notifypresent_init();
|
|
return s_presentNames->findIndex( presentName );
|
|
}
|
|
|
|
/*static*/ TQString NotifyPresent::presentDisplayName( const int present )
|
|
{
|
|
notifypresent_init();
|
|
return (*s_presentDisplayNames)[ present ];
|
|
}
|
|
|
|
/*static*/ TQString NotifyPresent::presentDisplayName( const TQString& presentName )
|
|
{
|
|
notifypresent_init();
|
|
return (*s_presentDisplayNames)[ present( presentName ) ];
|
|
}
|
|
|
|
// --------------------------------------------------------------------
|
|
|
|
/**
|
|
* Retrieves the displayable name for an event source.
|
|
*/
|
|
/*static*/ TQString NotifyEvent::getEventSrcName(const TQString& eventSrc, TQString& iconName)
|
|
{
|
|
TQString configFilename = eventSrc + TQString::fromLatin1( "/eventsrc" );
|
|
TDEConfig* config = new TDEConfig( configFilename, true, false, "data" );
|
|
config->setGroup( TQString::fromLatin1( "!Global!" ) );
|
|
TQString appDesc = config->readEntry( "Comment", i18n("No description available") );
|
|
iconName = config->readEntry( "IconName" );
|
|
delete config;
|
|
return appDesc;
|
|
}
|
|
|
|
/**
|
|
* Retrieves the displayable name for an event from an event source.
|
|
*/
|
|
/*static*/ TQString NotifyEvent::getEventName(const TQString& eventSrc, const TQString& event)
|
|
{
|
|
TQString eventName;
|
|
TQString configFilename = eventSrc + TQString::fromLatin1( "/eventsrc" );
|
|
TDEConfig* config = new TDEConfig( configFilename, true, false, "data" );
|
|
if ( config->hasGroup( event ) )
|
|
{
|
|
config->setGroup( event );
|
|
eventName = config->readEntry( TQString::fromLatin1( "Comment" ),
|
|
config->readEntry( TQString::fromLatin1( "Name" )));
|
|
}
|
|
delete config;
|
|
return eventName;
|
|
}
|
|
|