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.
171 lines
6.7 KiB
171 lines
6.7 KiB
/*
|
|
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; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
*/
|
|
|
|
/*
|
|
Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
|
|
Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
|
|
Copyright (C) 2005 Peter Simonsson <psn@linux.se>
|
|
Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
|
|
Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
|
|
*/
|
|
|
|
#ifndef PREFERENCES_H
|
|
#define PREFERENCES_H
|
|
|
|
#include "servergroupsettings.h"
|
|
#include "identity.h"
|
|
#include "preferences_base.h"
|
|
|
|
#include <tqobject.h>
|
|
#include <tqptrlist.h>
|
|
#include <tqsize.h>
|
|
#include <tqvaluelist.h>
|
|
#include <tqstringlist.h>
|
|
#include <tqfont.h>
|
|
#include <tqcolor.h>
|
|
#include <tqmap.h>
|
|
|
|
#include <tdeversion.h>
|
|
|
|
|
|
/*
|
|
Options still to be GUIfied:
|
|
|
|
Operator LEDs (int)
|
|
OperatorColor (int)
|
|
VoiceColor (int)
|
|
NoRightsColor (int)
|
|
*/
|
|
|
|
class Ignore;
|
|
class Highlight;
|
|
|
|
class Preferences : public TQObject, public PreferencesBase
|
|
{
|
|
Q_OBJECT
|
|
TQ_OBJECT
|
|
|
|
protected:
|
|
Preferences();
|
|
static Preferences *mSelf;
|
|
|
|
public:
|
|
|
|
static Preferences *self();
|
|
~Preferences();
|
|
enum Pages
|
|
{
|
|
NotifyPage,
|
|
ChatWinAppearancePage
|
|
};
|
|
static const Konversation::ServerGroupList serverGroupList();
|
|
static void setServerGroupList(const Konversation::ServerGroupList& list);
|
|
static void addServerGroup(Konversation::ServerGroupSettingsPtr serverGroup);
|
|
static const Konversation::ServerGroupSettingsPtr serverGroupById(int id);
|
|
static const Konversation::ServerGroupSettingsPtr serverGroupByServer(const TQString& server);
|
|
static int serverGroupIdByName(const TQString& serverGroup);
|
|
static bool isServerGroup(const TQString& server);
|
|
static void removeServerGroup(int id);
|
|
|
|
/** Returns a list of alias set up by default. This is a set of aliases for the scripts found. */
|
|
static TQStringList defaultAliasList();
|
|
|
|
//notifylist is in kconfigxt - FIXME
|
|
static const TQMap<int, TQStringList> notifyList();
|
|
static const TQStringList notifyListByGroupName(const TQString& groupName);
|
|
static const TQString notifyStringByGroupName(const TQString& groupName);
|
|
static void setNotifyList(const TQMap<int, TQStringList>& newList);
|
|
static bool addNotify(int serverGroupId, const TQString& newPattern);
|
|
static bool removeNotify(const TQString& groupName, const TQString& pattern);
|
|
static bool isNotify(int serverGroupId, const TQString& pattern);
|
|
static bool hasNotifyList(int serverGroupId);
|
|
|
|
static const TQPtrList<Highlight> highlightList();
|
|
static void setHighlightList(TQPtrList<Highlight> newList);
|
|
static void addHighlight(const TQString& newHighlight,bool regExp, const TQColor &color,const TQString& sound,const TQString& autoText);
|
|
|
|
/* All of the below work on the first (default) identity in your identity list*/
|
|
static void addIgnore(const TQString &newIgnore);
|
|
static bool removeIgnore(const TQString &oldIgnore);
|
|
static bool isIgnored(const TQString &nickname);
|
|
static void clearIgnoreList();
|
|
static const TQPtrList<Ignore> ignoreList();
|
|
static void setIgnoreList(TQPtrList<Ignore> newList);
|
|
|
|
static const TQStringList quickButtonList();
|
|
static const TQStringList defaultQuickButtonList();
|
|
static void setQuickButtonList(const TQStringList newList);
|
|
static void clearQuickButtonList();
|
|
|
|
static const TQStringList autoreplaceList();
|
|
static const TQStringList defaultAutoreplaceList();
|
|
static void setAutoreplaceList(const TQStringList newList);
|
|
static void clearAutoreplaceList();
|
|
|
|
static void addIdentity(IdentityPtr identity);
|
|
static void removeIdentity(IdentityPtr identity);
|
|
static void clearIdentityList();
|
|
static const IdentityList identityList();
|
|
static void setIdentityList(const IdentityList& list);
|
|
static const IdentityPtr identityByName(const TQString& name);
|
|
static const IdentityPtr identityById(int id);
|
|
static const TQString ident();
|
|
static void setIdent(const TQString &ident);
|
|
static const TQString realName();
|
|
static void setRealName(const TQString &name);
|
|
static const TQString partReason();
|
|
static void setPartReason(const TQString &newReason);
|
|
static const TQString kickReason();
|
|
static void setKickReason(const TQString &newReason);
|
|
static void setShowAwayMessage(bool state);
|
|
static bool showAwayMessage();
|
|
static const TQString awayMessage();
|
|
static void setAwayMessage(const TQString &newMessage);
|
|
static const TQString unAwayMessage();
|
|
static void setUnAwayMessage(const TQString &newMessage);
|
|
static const TQString defaultNicknameSortingOrder();
|
|
static const TQString nickname(int index);
|
|
static const TQStringList nicknameList();
|
|
static void setNickname(int index,const TQString &newName);
|
|
static void setNicknameList(const TQStringList &newList);
|
|
|
|
static bool dialogFlag(const TQString& flagName);
|
|
static void setDialogFlag(const TQString& flagName,bool state);
|
|
|
|
static const TQString channelEncoding(const TQString& server,const TQString& channel);
|
|
static const TQString channelEncoding(int serverGroupId,const TQString& channel);
|
|
static void setChannelEncoding(const TQString& server,const TQString& channel,const TQString& encoding);
|
|
static void setChannelEncoding(int serverGroupId,const TQString& channel,const TQString& encoding);
|
|
static const TQValueList<int> channelEncodingsServerGroupIdList();
|
|
static const TQStringList channelEncodingsChannelList(int serverGroupId);
|
|
|
|
static void setShowTrayIcon(bool state);
|
|
static void setTrayNotify(bool state);
|
|
static void setAutoUserhost(bool state);
|
|
|
|
static TQString webBrowserCmd();
|
|
|
|
signals:
|
|
void requestServerConnection(int number);
|
|
void requestSaveOptions();
|
|
void autoContinuousWhoChanged();
|
|
void updateTrayIcon();
|
|
|
|
protected:
|
|
IdentityPtr mIdentity;
|
|
Konversation::ServerGroupList mServerGroupList;
|
|
TQPtrList<Ignore> mIgnoreList;
|
|
TQValueList<IdentityPtr> mIdentityList;
|
|
TQPtrList<Highlight> mHighlightList;
|
|
TQMap<int, TQStringList> mNotifyList; // network id, list of nicks
|
|
TQMap< int,TQMap<TQString,TQString> > mChannelEncodingsMap; // mChannelEncodingsMap[serverGroupdId][channelName]
|
|
TQStringList mQuickButtonList;
|
|
TQStringList mAutoreplaceList;
|
|
TQString mSortingOrder;
|
|
};
|
|
#endif
|