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.
1372 lines
75 KiB
1372 lines
75 KiB
//=============================================================================
|
|
//
|
|
// File : kvi_options.cpp
|
|
// Creation date : Tue Jun 20 2000 11:42:00 by Szymon Stefanek
|
|
//
|
|
// This file is part of the KVirc irc client distribution
|
|
// Copyright (C) 2000-2004 Szymon Stefanek (pragma at kvirc dot 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; either version 2
|
|
// of the License, or (at your opinion) any later version.
|
|
//
|
|
// This program is distributed in the HOPE that it will be USEFUL,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
// See the GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, write to the Free Software Foundation,
|
|
// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
//
|
|
//=============================================================================
|
|
|
|
#define __KVIRC__
|
|
|
|
#define _KVI_OPTIONS_CPP_
|
|
|
|
#include "kvi_options.h"
|
|
#include "kvi_defaults.h"
|
|
#include "kvi_config.h"
|
|
#include "kvi_app.h"
|
|
#include "kvi_iconmanager.h"
|
|
#include "kvi_mirccntrl.h"
|
|
#include "kvi_locale.h"
|
|
#include "kvi_confignames.h"
|
|
#include "kvi_window.h"
|
|
#include "kvi_out.h"
|
|
#include "kvi_stringconversion.h"
|
|
#include "kvi_settings.h"
|
|
#include "kvi_splash.h"
|
|
#include "kvi_frame.h"
|
|
#include "kvi_internalcmd.h"
|
|
#include "kvi_theme.h"
|
|
#include <tqmessagebox.h>
|
|
#include <tqregexp.h>
|
|
//#include "kvi_textencoding.h"
|
|
|
|
//xml parser
|
|
#include <tqdom.h>
|
|
//!xml parser
|
|
|
|
#include <zlib.h>
|
|
#include <tqtextcodec.h>
|
|
|
|
#include "kvi_fileutils.h"
|
|
|
|
#include <tqdir.h>
|
|
#include <tqstringlist.h>
|
|
|
|
// kvi_app.cpp
|
|
extern KVIRC_API int g_iIdentDaemonRunningUsers;
|
|
|
|
|
|
#define RECT_OPTION(_txt,_val,_flags) KviRectOption(KVI_RECT_OPTIONS_PREFIX _txt, _val , _flags)
|
|
|
|
KviRectOption g_rectOptionsTable[KVI_NUM_RECT_OPTIONS]=
|
|
{
|
|
RECT_OPTION("FrameGeometry",TQRect(0,0,10,10),KviOption_sectFlagGeometry),
|
|
RECT_OPTION("GeneralOptionsDialogGeometry",TQRect(50,50,600,450),KviOption_sectFlagGeometry),
|
|
RECT_OPTION("RegisteredUsersDialogGeometry",TQRect(50,50,600,450),KviOption_sectFlagGeometry)
|
|
};
|
|
|
|
#define BOOL_OPTION(_txt,_val,_flags) KviBoolOption(KVI_BOOL_OPTIONS_PREFIX _txt,_val,_flags)
|
|
|
|
KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]=
|
|
{
|
|
BOOL_OPTION("WindowsRememberProperties",true,KviOption_sectFlagWindows),
|
|
BOOL_OPTION("IrcViewShowImages",false,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("IrcViewTimestamp",true,KviOption_sectFlagIrcView),
|
|
BOOL_OPTION("IrcViewUrlHighlighting",true,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("IrcViewWrapMargin",true,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("InputHistoryCursorAtEnd",true,KviOption_sectFlagInput),
|
|
|
|
BOOL_OPTION("AvoidParserWarnings",false,KviOption_sectFlagUserParser),
|
|
BOOL_OPTION("UseProxyHost",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowGeneralOptionsDialogAsToplevel",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ForceBrutalQuit",false,KviOption_sectFlagIrcSocket),
|
|
BOOL_OPTION("ShowPingPong",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("PopupNotifierOnNewQueryMessages",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowExtendedServerInfo",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("EchoNumericTopic",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowOwnParts",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("UseAntiSpamOnPrivmsg",false,KviOption_sectFlagAntiSpam),
|
|
BOOL_OPTION("UseExtendedPrivmsgView",false,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("ShowUserAndHostInPrivmsgView",false,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("UseWordHighlighting",true,KviOption_sectFlagIrcView), /* _ALL_ newbie users, with who i was taling asks me where can they switch on */
|
|
BOOL_OPTION("UseBigIcons",false,KviOption_sectFlagFrame), /* Almost all users asks me "How to decrease icon size?" */
|
|
BOOL_OPTION("CleanupUnusedModules",true,KviOption_sectFlagModules),
|
|
BOOL_OPTION("IgnoreCtcpPing",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("IgnoreCtcpVersion",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("UseCtcpFloodProtection",true,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("DisableBrokenEventHandlers",true,KviOption_sectFlagUserParser),
|
|
BOOL_OPTION("IgnoreCtcpClientinfo",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("IgnoreCtcpUserinfo",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("IgnoreCtcpFinger",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("IgnoreCtcpSource",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("IgnoreCtcpTime",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("RequestMissingAvatars",true,KviOption_sectFlagAvatar),
|
|
BOOL_OPTION("ShowCompactModeChanges",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("IgnoreCtcpDcc",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("AutoAcceptDccChat",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("AutoAcceptDccSend",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("SendZeroAckInDccRecv",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("UseFastDccSend",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("ObtainGlobalBackgroundFromKde",false,KviOption_sectFlagGui | KviOption_resetUpdatePseudoTransparency | KviOption_groupTheme),
|
|
BOOL_OPTION("UseTaskBarIrcContextIndicator",false,KviOption_sectFlagTaskBar | KviOption_resetUpdateGui),
|
|
BOOL_OPTION("UseGlobalApplicationFont",false,KviOption_sectFlagGui | KviOption_resetUpdateAppFont | KviOption_groupTheme),
|
|
BOOL_OPTION("AlwaysQuitKVIrcClosingLastConsole",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("AlwaysDisconnectClosingConnectedConsole",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("FlashWindowOnHighlightedMessages",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("PopupNotifierOnHighlightedMessages",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("FlashWindowOnNotifyOnLine",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("IrcViewTimestampUTC",false,KviOption_sectFlagIrcView),
|
|
BOOL_OPTION("UseGlobalPseudoTransparency",false,KviOption_sectFlagGui | KviOption_resetUpdatePseudoTransparency | KviOption_groupTheme),
|
|
BOOL_OPTION("UseNotifyList",false,KviOption_sectFlagConnection | KviOption_resetRestartNotifyList),
|
|
BOOL_OPTION("NotifyListChangesToActiveWindow",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("AutoResumeDccSendWhenAutoAccepted",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("LimitOutgoingTraffic",false,KviOption_sectFlagIrcSocket),
|
|
BOOL_OPTION("SendUnknownCommandsAsRaw",true,KviOption_sectFlagUserParser),
|
|
BOOL_OPTION("UserListViewDrawGrid",true,KviOption_sectFlagUserListView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("ShowChannelSyncTime",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("RejoinChannelOnKick",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("KeepChannelOpenOnKick",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("AutoCloseDccSendOnSuccess",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("NotifyDccSendSuccessInConsole",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("CreateMinimizedDccSend",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("CreateMinimizedDccChat",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("AutoAcceptIncomingAvatars",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("UseNickCompletionPostfixForFirstWordOnly",true,KviOption_sectFlagInput),
|
|
BOOL_OPTION("UseTaskBarIcons",true,KviOption_sectFlagTaskBar | KviOption_resetUpdateGui),
|
|
BOOL_OPTION("CreateMinimizedDccSendWhenAutoAccepted",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("CreateMinimizedDccChatWhenAutoAccepted",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("DccGuessIpFromServerWhenLocalIsUnroutable",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("ShowRegisteredUsersDialogAsToplevel",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("AutoLogQueries",true,KviOption_sectFlagLogging),/* this options enabled by default in mIRC,XChat and irssi. People are confused while they want to see logs, but see empty dir*/
|
|
BOOL_OPTION("AutoLogChannels",true,KviOption_sectFlagLogging),
|
|
BOOL_OPTION("AutoLogDccChat",false,KviOption_sectFlagLogging),
|
|
BOOL_OPTION("AutoLogConsole",false,KviOption_sectFlagLogging),
|
|
|
|
BOOL_OPTION("SilentAntiSpam",false,KviOption_sectFlagAntiSpam),
|
|
BOOL_OPTION("UseIncomingDccMediaTypeSavePath",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("NotifyListSendUserhostForOnlineUsers",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("UseIntelligentNotifyListManager",true,KviOption_sectFlagConnection | KviOption_resetRestartNotifyList),
|
|
BOOL_OPTION("UseWatchListIfAvailable",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("UseTreeWindowListTaskBar",true,KviOption_sectFlagTaskBar | KviOption_resetUpdateTaskBar | KviOption_groupTheme),
|
|
BOOL_OPTION("BindIrcIpV4ConnectionsToSpecifiedAddress",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("BindIrcIpV6ConnectionsToSpecifiedAddress",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("UseAntiSpamOnNotice",false,KviOption_sectFlagAntiSpam),
|
|
BOOL_OPTION("SetLastAvatarAsDefaultForRegisteredUsers",true,KviOption_sectFlagAvatar),
|
|
BOOL_OPTION("CantAcceptIncomingDccConnections",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("IgnoreCtcpAvatar",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("CtcpRepliesToActiveWindow",true,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("AutoAcceptDccCanvas",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("NotifyDccSendSuccessInNotifier",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("KillBrokenTimers",true,KviOption_sectFlagUserParser),
|
|
BOOL_OPTION("DccVoiceVolumeSliderControlsPCM", true, KviOption_sectFlagDcc),
|
|
BOOL_OPTION("DccVoiceForceHalfDuplex", false, KviOption_sectFlagDcc),
|
|
BOOL_OPTION("AutoAcceptDccVoice", false, KviOption_sectFlagDcc),
|
|
BOOL_OPTION("CreateMinimizedDccVoice", false, KviOption_sectFlagDcc),
|
|
BOOL_OPTION("CreateMinimizedDccVoiceWhenAutoAccepted",true,KviOption_sectFlagDcc),
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
BOOL_OPTION("UseIdentService",true,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
#else
|
|
BOOL_OPTION("UseIdentService",false,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
#endif
|
|
BOOL_OPTION("ShowTipAtStartup",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("IdentdEnableIpV6",false,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
BOOL_OPTION("IdentdIpV6ContainsIpV4",false,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
#else
|
|
BOOL_OPTION("IdentdIpV6ContainsIpV4",true,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
#endif
|
|
BOOL_OPTION("ScaleAvatars",true,KviOption_sectFlagAvatar | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("ColorNicks",false,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("BoldedNicks",true,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("DccListenOnSpecifiedInterfaceByDefault",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("ChangeNickAway", false, KviOption_sectFlagConnection),
|
|
BOOL_OPTION("AutoGeneratedAwayNick",false,KviOption_sectFlagConnection), /* only ircnet uses 9-symbol nicks */
|
|
BOOL_OPTION("ExitAwayOnInput",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("AlwaysHighlightNick",true,KviOption_sectFlagIrcView),
|
|
BOOL_OPTION("ShowChannelsJoinOnIrc",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowChannelsJoinDialogAsToplevel",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("UserDefinedPortRange",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("CreateQueryOnPrivmsg",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("CreateQueryOnNotice",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("CreateMinimizedQuery",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("AutoJoinOnInvite",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowServersConnectDialogOnStart",true, KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowServersConnectDialogAsToplevel",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("AcceptBrokenFileNameDccResumeRequests",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("AutoReconnectOnUnexpectedDisconnect",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("RejoinChannelsAfterReconnect",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ReopenQueriesAfterReconnect",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("EnableQueryTracing",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("OperatorMessagesToActiveWindow",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("InviteToActiveWindow",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowChannelUserFlagInPrivmsgView",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("DccSendFakeAddressByDefault",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("UseTaskBarActivityMeter",false,KviOption_sectFlagTaskBar | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("CloseServerWidgetAfterConnect",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowIdentityDialogAsToplevel",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowUserChannelIcons",true,KviOption_sectFlagUserListView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("ShowUserChannelState",false,KviOption_sectFlagUserListView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("EnableIgnoreOnPrivMsg",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("VerboseIgnore",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("EnableIgnoreOnNotice",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("NotifyFailedDccHandshakes",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("AutoTileWindows",false,KviOption_sectFlagMdi),
|
|
BOOL_OPTION("DrawEmoticons",false,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("IgnoreCtcpPage",false,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("ShowDialogOnCtcpPage",true,KviOption_sectFlagCtcp),
|
|
BOOL_OPTION("BashLikeNickCompletion",false,KviOption_sectFlagInput),
|
|
BOOL_OPTION("UseSSLCertificate",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("UseSSLPrivateKey",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("WarnAboutPastingMultipleLines",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("KeepChannelsOpenOnUnexpectedDisconnect",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("KeepQueriesOpenOnUnexpectedDisconnect",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("UseLagMeterEngine",true,KviOption_sectFlagConnection | KviOption_resetRestartLagMeter),
|
|
BOOL_OPTION("ShowLagOnContextDisplay",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("DisableBanListRequestOnJoin",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("DisableBanExceptionListRequestOnJoin",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("DisableInviteListRequestOnJoin",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("DisableWhoRequestOnJoin",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowDockExtension",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("GotAdressForDccByDnsMyNick",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("MinimizeConsoleAfterConnect",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("HighlightOnlyNormalMsg",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("HighlightOnlyNormalMsgQueryToo",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("HighlightOnlyNormalMsgNickinChanToo",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("HighlightOnlyAtCustomHighlightLevel",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("MdiManagerInSdiMode",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("DccBrokenBouncerHack",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("ExternalMessagesToActiveWindow",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("IgnoreChannelAvatarRequestsWhenNoAvatarSet",true,KviOption_sectFlagAvatar),
|
|
BOOL_OPTION("FlashQueryWindowOnNewMessages",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ConfirmCloseWhenThereAreConnections",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("UpdateKdeBackgroundOnChange",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("CtcpRequestsToActiveWindow",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ServerRepliesToActiveWindow",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ServerNoticesToActiveWindow",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ServicesNoticesToActiveWindow",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("SortTaskBarItemsByName",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowTaskBarToolTips",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ShowUserListViewToolTips",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("WhoisRepliesToActiveWindow",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("PopupNotifierOnNotifyOnLine",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ForciblyDisableNotifier",false,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("DccSendForceIdleStep",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("StatusBarVisible",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("TrackLastReadTextViewLine",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("KeepChannelOpenOnPart",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("StripMircColorsInUserMessages",false,KviOption_sectFlagFrame | KviOption_groupTheme),
|
|
BOOL_OPTION("DoNotSuggestRestoreDefaultScript",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("LimitDccSendSpeed",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("LimitDccRecvSpeed",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("IgnoreModuleVersions",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("DisableInputHistory",false,KviOption_sectFlagInput | KviOption_resetUpdateGui),
|
|
BOOL_OPTION("UseSpecialColorForTimestamp",true,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("DisableAwayListUpdates",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("DisableAvatars",false,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("DisableUserListLabel",false,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("DisablePopupIcons",false,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("ScriptErrorsToDebugWindow",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowMinimizedDebugWindow",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowExtendedInfoInQueryLabel",true,KviOption_resetUpdateGui),
|
|
BOOL_OPTION("UseUserListColorsAsNickColors",true,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
BOOL_OPTION("GzipLogs",false,KviOption_sectFlagLogging),
|
|
BOOL_OPTION("MinimizeInTray",false,KviOption_resetUpdateGui),
|
|
BOOL_OPTION("DisableNotifierFlashing",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("CommandlineInUserFriendlyModeByDefault",false,KviOption_sectFlagFrame), // this confuses existing users and is not mentioned in the docs where there are commandline examples : we need it to be off by default for now
|
|
BOOL_OPTION("EnableVisualEffects",true,KviOption_resetUpdateGui),
|
|
BOOL_OPTION("DCCFileTransferReplaceOutgoingSpacesWithUnderscores",true,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("DoNotStretchAvatars",true,KviOption_sectFlagIrcView | KviOption_resetUpdateGui ),
|
|
BOOL_OPTION("UseDifferentColorForOwnNick",false,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("CloseInTray",false,KviOption_sectFlagFrame | KviOption_resetUpdateGui),
|
|
BOOL_OPTION("StartupMinimized",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("SortReceivedByDccFilesByNicks",false,KviOption_sectFlagDcc),
|
|
BOOL_OPTION("LogChannelHistory",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("ClassicTaskBarSetMaximumButtonWidth",true,KviOption_groupTheme | KviOption_sectFlagGeometry | KviOption_resetUpdateGui),
|
|
BOOL_OPTION("KeepChannelsOpenOnDisconnect",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("KeepQueriesOpenOnDisconnect",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("HideWindowToolButtons",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("HideInputToolButtons",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("StripControlCodesInLogs",false,KviOption_sectFlagLogging),
|
|
BOOL_OPTION("EnableTrayIconFlashing",true,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("UseFlatClassicTaskbarButtons",false,KviOption_sectFlagTaskBar | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("ShowTreeTaskbarHeader",false,KviOption_sectFlagTaskBar | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("UseLevelBasedTrayNotification",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("MuteAllSounds",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("CreateMinimizedChannels",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("ShowNetworkNameForConsoleTaskBarEntry",true,KviOption_sectFlagFrame | KviOption_resetUpdateGui),
|
|
BOOL_OPTION("DrawGenderIcons",true,KviOption_sectFlagFrame | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
BOOL_OPTION("PrependGenderInfoToRealname",true,KviOption_sectFlagConnection),
|
|
BOOL_OPTION("UseIdentServiceOnlyOnConnect",true,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
BOOL_OPTION("UseSystemUrlHandlers",true,KviOption_sectFlagUrl),
|
|
BOOL_OPTION("ScaleAvatarsOnLoad",true,KviOption_sectFlagAvatar),
|
|
BOOL_OPTION("DisableNotifierFadein",false,KviOption_sectFlagFrame),
|
|
BOOL_OPTION("UseAntiAliasing",true,KviOption_sectFlagGui | KviOption_resetUpdateGui),
|
|
};
|
|
|
|
#define STRING_OPTION(_txt,_val,_flags) KviStringOption(KVI_STRING_OPTIONS_PREFIX _txt,_val,_flags)
|
|
|
|
// FIXME: #warning "Remove the unused string options here!"
|
|
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
#define RUN_THE_BROWSER "run \"cmd.exe /c start \\\"\\\" \\\"$0\\\"\""
|
|
#else
|
|
#ifdef COMPILE_TDE_SUPPORT
|
|
#define RUN_THE_BROWSER "run kfmclient openURL $0"
|
|
#else
|
|
#ifdef Q_OS_MACX
|
|
#define RUN_THE_BROWSER "run open $0"
|
|
#else
|
|
#define RUN_THE_BROWSER "run kvi_run_netscape $0"
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
KviStringOption g_stringOptionsTable[KVI_NUM_STRING_OPTIONS]=
|
|
{
|
|
STRING_OPTION("UNUSED:FrameCaption","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("Nickname1",KVI_DEFAULT_NICKNAME1,KviOption_sectFlagUser),
|
|
STRING_OPTION("Nickname2",KVI_DEFAULT_NICKNAME2,KviOption_sectFlagUser),
|
|
STRING_OPTION("Nickname3",KVI_DEFAULT_NICKNAME3,KviOption_sectFlagUser),
|
|
STRING_OPTION("Nickname4",KVI_DEFAULT_NICKNAME4,KviOption_sectFlagUser),
|
|
STRING_OPTION("Username",KVI_DEFAULT_USERNAME,KviOption_sectFlagUser),
|
|
STRING_OPTION("Realname",KVI_DEFAULT_REALNAME,KviOption_sectFlagUser),
|
|
STRING_OPTION("LocalHostIp","127.0.0.1",KviOption_sectFlagIrcSocket),
|
|
STRING_OPTION("PartMessage",KVI_DEFAULT_PART_MESSAGE,KviOption_sectFlagConnection),
|
|
STRING_OPTION("QuitMessage",KVI_DEFAULT_TQUIT_MESSAGE,KviOption_sectFlagConnection),
|
|
STRING_OPTION("UrlHttpCommand",RUN_THE_BROWSER,KviOption_sectFlagUrl),
|
|
STRING_OPTION("ExtendedPrivmsgPrefix","[",KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
STRING_OPTION("ExtendedPrivmsgPostfix","] ",KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
STRING_OPTION("CtcpVersionPostfix","",KviOption_sectFlagCtcp),
|
|
STRING_OPTION("CtcpUserInfoOther",KVI_DEFAULT_CTCP_USERINFO_REPLY,KviOption_sectFlagUser),
|
|
STRING_OPTION("CtcpSourcePostfix","",KviOption_sectFlagCtcp),
|
|
STRING_OPTION("UrlFtpCommand",RUN_THE_BROWSER,KviOption_sectFlagUrl),
|
|
STRING_OPTION("UrlHttpsCommand",RUN_THE_BROWSER,KviOption_sectFlagUrl),
|
|
STRING_OPTION("UrlMailtoCommand",RUN_THE_BROWSER,KviOption_sectFlagUrl),
|
|
STRING_OPTION("PreferredMediaPlayer","auto",KviOption_sectFlagFrame),
|
|
STRING_OPTION("UrlFileCommand","play $0",KviOption_sectFlagUrl),
|
|
STRING_OPTION("NickCompletionPostfix",": ",KviOption_sectFlagInput),
|
|
STRING_OPTION("UrlUnknownCommand",RUN_THE_BROWSER,KviOption_sectFlagUrl),
|
|
STRING_OPTION("IpV4ConnectionBindAddress","",KviOption_sectFlagConnection),
|
|
STRING_OPTION("IpV6ConnectionBindAddress","",KviOption_sectFlagConnection),
|
|
STRING_OPTION("DccVoiceSoundDevice", "/dev/dsp",KviOption_sectFlagDcc),
|
|
STRING_OPTION("DccVoiceMixerDevice", "/dev/mixer",KviOption_sectFlagDcc),
|
|
STRING_OPTION("AwayMessage",KVI_DEFAULT_AWAY_MESSAGE,KviOption_sectFlagConnection),
|
|
STRING_OPTION("IdentdUser","kvirc",KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
STRING_OPTION("DccListenDefaultInterface","ppp0",KviOption_sectFlagDcc),
|
|
STRING_OPTION("CustomAwayNick", KVI_DEFAULT_AWAY_NICK,KviOption_sectFlagConnection),
|
|
STRING_OPTION("DefaultDccFakeAddress","",KviOption_sectFlagDcc),
|
|
STRING_OPTION("CtcpPageReply",KVI_DEFAULT_CTCP_PAGE_REPLY,KviOption_sectFlagCtcp),
|
|
STRING_OPTION("SSLCertificatePath","",KviOption_sectFlagConnection | KviOption_encodePath),
|
|
STRING_OPTION("SSLCertificatePass","",KviOption_sectFlagConnection),
|
|
STRING_OPTION("SSLPrivateKeyPath","",KviOption_sectFlagConnection | KviOption_encodePath),
|
|
STRING_OPTION("SSLPrivateKeyPass","",KviOption_sectFlagConnection),
|
|
STRING_OPTION("SoundSystem","unknown",KviOption_sectFlagFrame),
|
|
STRING_OPTION("DefaultUserMode", "", KviOption_sectFlagUser),
|
|
STRING_OPTION("LastImageDialogPath","",KviOption_sectFlagUser | KviOption_encodePath),
|
|
STRING_OPTION("IconThemeSubdir","",KviOption_sectFlagUser | KviOption_groupTheme | KviOption_resetReloadImages | KviOption_encodePath),
|
|
STRING_OPTION("IncomingPath","",KviOption_sectFlagUser | KviOption_encodePath),
|
|
STRING_OPTION("MyAvatar","",KviOption_sectFlagUser),
|
|
STRING_OPTION("DefaultTextEncoding","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("WinampTextEncoding","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("Mp3TagsEncoding","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("CtcpUserInfoAge","",KviOption_sectFlagUser),
|
|
STRING_OPTION("CtcpUserInfoGender","",KviOption_sectFlagUser),
|
|
STRING_OPTION("CtcpUserInfoLocation","",KviOption_sectFlagUser),
|
|
STRING_OPTION("CtcpUserInfoLanguages","",KviOption_sectFlagUser),
|
|
STRING_OPTION("WordSplitters",",\"';:|.%^~!\\$#()",KviOption_sectFlagIrcView),
|
|
STRING_OPTION("OnNewQueryOpenedSound","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("OnHighlightedMessageSound","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("OnMeKickedSound","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("OnQueryMessageSound","",KviOption_sectFlagFrame),
|
|
STRING_OPTION("IrcViewTimestampFormat","[hh:mm:ss]",KviOption_sectFlagIrcView),
|
|
STRING_OPTION("PreferredTorrentClient","auto",KviOption_sectFlagFrame)
|
|
};
|
|
|
|
#define STRINGLIST_OPTION(_txt,_flags) \
|
|
KviStringListOption(KVI_STRINGLIST_OPTIONS_PREFIX _txt,TQStringList(),_flags)
|
|
|
|
#define STRINGLIST_OPTION_WITHDEFAULT(_txt,_flags,_def) \
|
|
KviStringListOption(KVI_STRINGLIST_OPTIONS_PREFIX _txt,TQStringList(_def),_flags)
|
|
|
|
|
|
KviStringListOption g_stringlistOptionsTable[KVI_NUM_STRINGLIST_OPTIONS]=
|
|
{
|
|
STRINGLIST_OPTION("HighlightWords",KviOption_sectFlagIrcView),
|
|
STRINGLIST_OPTION("SpamWords",KviOption_sectFlagAntiSpam),
|
|
STRINGLIST_OPTION_WITHDEFAULT("RecentChannels",KviOption_sectFlagRecent,"#kvirc"),
|
|
STRINGLIST_OPTION("RecentServers",KviOption_sectFlagRecent),
|
|
STRINGLIST_OPTION("RecentNicknames",KviOption_sectFlagRecent),
|
|
STRINGLIST_OPTION("ModuleExtensionToolbars",KviOption_sectFlagFrame),
|
|
STRINGLIST_OPTION("ImageSearchPaths",KviOption_sectFlagFrame | KviOption_encodePath),
|
|
STRINGLIST_OPTION("RecentIrcUrls",KviOption_sectFlagRecent)
|
|
};
|
|
|
|
#define MIRC_COLOR_OPTION(_num,_red,_green,_blue) \
|
|
KviColorOption(KVI_MIRCCOLOR_OPTIONS_PREFIX _num,TQColor(_red,_green,_blue), \
|
|
KviOption_sectFlagMircColor | KviOption_resetUpdateGui | KviOption_groupTheme)
|
|
|
|
KviColorOption g_mirccolorOptionsTable[KVI_NUM_MIRCCOLOR_OPTIONS]=
|
|
{
|
|
MIRC_COLOR_OPTION("0",255,255,255),
|
|
MIRC_COLOR_OPTION("1",0,0,0),
|
|
MIRC_COLOR_OPTION("2",0,0,140),
|
|
MIRC_COLOR_OPTION("3",0,100,0),
|
|
MIRC_COLOR_OPTION("4",230,0,0),
|
|
MIRC_COLOR_OPTION("5",150,0,0),
|
|
MIRC_COLOR_OPTION("6",80,0,80),
|
|
MIRC_COLOR_OPTION("7",255,90,0),
|
|
MIRC_COLOR_OPTION("8",255,255,0),
|
|
MIRC_COLOR_OPTION("9",0,255,0),
|
|
MIRC_COLOR_OPTION("10",0,150,180),
|
|
MIRC_COLOR_OPTION("11",170,170,255),
|
|
MIRC_COLOR_OPTION("12",15,15,255),
|
|
MIRC_COLOR_OPTION("13",200,0,200),
|
|
MIRC_COLOR_OPTION("14",80,80,80),
|
|
MIRC_COLOR_OPTION("15",170,170,170)
|
|
};
|
|
|
|
#define COLOR_OPTION(_name,_red,_green,_blue,_flags) \
|
|
KviColorOption(KVI_COLOR_OPTIONS_PREFIX _name, \
|
|
TQColor(_red,_green,_blue), \
|
|
_flags | KviOption_resetUpdateGui | KviOption_groupTheme)
|
|
|
|
KviColorOption g_colorOptionsTable[KVI_NUM_COLOR_OPTIONS]=
|
|
{
|
|
COLOR_OPTION("MdiBackground",0,0,0,KviOption_sectFlagMdi),
|
|
COLOR_OPTION("TaskBarNormalText",0,0,0,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TaskBarMinimizedText",60,60,60,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TaskBarHighlight1Text",0,16,144,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TaskBarHighlight2Text",32,0,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TaskBarProgressBar",180,180,180,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("MdiCaptionActive",113,125,190,KviOption_sectFlagMdi),
|
|
COLOR_OPTION("MdiCaptionInactive",180,180,180,KviOption_sectFlagMdi),
|
|
COLOR_OPTION("CaptionTextActive",255,255,255,KviOption_sectFlagWindows),
|
|
COLOR_OPTION("CaptionTextActive2",255,30,30,KviOption_sectFlagWindows),
|
|
COLOR_OPTION("CaptionTextInactive",0,0,0,KviOption_sectFlagWindows),
|
|
COLOR_OPTION("CaptionTextInactive2",30,30,30,KviOption_sectFlagWindows),
|
|
COLOR_OPTION("IrcViewBackground",255,255,255,KviOption_sectFlagIrcView),
|
|
COLOR_OPTION("InputBackgroundColor",255,255,255,KviOption_sectFlagInput),
|
|
COLOR_OPTION("InputSelectionBackground",0,0,0,KviOption_sectFlagInput),
|
|
COLOR_OPTION("InputSelectionForeground",255,255,255,KviOption_sectFlagInput),
|
|
COLOR_OPTION("InputCursor",0,0,0,KviOption_sectFlagInput),
|
|
COLOR_OPTION("InputControl",200,100,0,KviOption_sectFlagInput),
|
|
COLOR_OPTION("InputForeground",0,0,0,KviOption_sectFlagInput),
|
|
COLOR_OPTION("UserListViewBackground",255,255,255,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewOpForeground",200,0,0,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewVoiceForeground",0,0,200,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewNormalForeground",0,0,0,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewSelectionBackground",0,0,0,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewSelectionForeground",255,255,255,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("LabelBackground",255,255,255,KviOption_sectFlagLabel),
|
|
COLOR_OPTION("LabelForeground",0,0,0,KviOption_sectFlagLabel),
|
|
COLOR_OPTION("GlobalTransparencyFade",255,255,255,KviOption_sectFlagGui | KviOption_resetUpdatePseudoTransparency),
|
|
COLOR_OPTION("IrcToolBarAppletBackground",255,255,255,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("IrcToolBarAppletForegroundLowContrast",180,180,180,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("IrcToolBarAppletForegroundMidContrast",110,110,110,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("IrcToolBarAppletForegroundHighContrastInactive1",40,40,40,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("IrcToolBarAppletForegroundHighContrastInactive2",40,40,40,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("IrcToolBarAppletForegroundHighContrastActive1",0,0,0,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("IrcToolBarAppletForegroundHighContrastActive2",0,60,0,KviOption_sectFlagIrcToolBar),
|
|
COLOR_OPTION("TreeTaskBarBackground",255,255,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarActiveBackground",200,200,200,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarForeground",0,0,0,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarActiveForeground",0,0,0,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarHighlight1Foreground",0,16,144,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarHighlight2Foreground",32,0,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarProgress",150,150,150,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("UserListViewHalfOpForeground",119,0,178,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("TaskBarHighlight3Text",128,20,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TaskBarHighlight4Text",220,0,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TaskBarHighlight5Text",255,0,0,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarHighlight3Foreground",128,0,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarHighlight4Foreground",220,0,255,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("TreeTaskBarHighlight5Foreground",255,0,0,KviOption_sectFlagTaskBar),
|
|
COLOR_OPTION("UserListViewChanAdminForeground",83,54,5,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewUserOpForeground",0,127,178,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewGrid",110,110,110,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewChanOwnerForeground",81,87,111,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("IrcViewMarkLine",40,40,40,KviOption_sectFlagIrcView),
|
|
COLOR_OPTION("UserListViewAwayForeground",143,143,143,KviOption_sectFlagUserListView),
|
|
COLOR_OPTION("UserListViewOwnForeground",255,255,0,KviOption_sectFlagUserListView)
|
|
};
|
|
|
|
|
|
#define IC_COLOR_OPTION(_num,_red,_green,_blue) \
|
|
KviColorOption( \
|
|
KVI_ICCOLOR_OPTIONS_PREFIX _num, \
|
|
TQColor(_red,_green,_blue), \
|
|
KviOption_sectFlagTaskBar | KviOption_resetUpdateGui | KviOption_groupTheme)
|
|
|
|
KviColorOption g_iccolorOptionsTable[KVI_NUM_ICCOLOR_OPTIONS]=
|
|
{
|
|
IC_COLOR_OPTION("0",250,250,0),
|
|
IC_COLOR_OPTION("1",0,0,0),
|
|
IC_COLOR_OPTION("2",0,0,200),
|
|
IC_COLOR_OPTION("3",200,0,0),
|
|
IC_COLOR_OPTION("4",255,255,255),
|
|
IC_COLOR_OPTION("5",0,150,190),
|
|
IC_COLOR_OPTION("6",0,130,0),
|
|
IC_COLOR_OPTION("7",150,0,170)
|
|
};
|
|
|
|
#define PIXMAP_OPTION(_name,_flags) \
|
|
KviPixmapOption( \
|
|
KVI_PIXMAP_OPTIONS_PREFIX _name , \
|
|
KviPixmap(), \
|
|
_flags | KviOption_resetUpdateGui)
|
|
|
|
KviPixmapOption g_pixmapOptionsTable[KVI_NUM_PIXMAP_OPTIONS]=
|
|
{
|
|
PIXMAP_OPTION("MdiBackground",KviOption_sectFlagMdi | KviOption_groupTheme),
|
|
PIXMAP_OPTION("IrcViewBackground",KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
PIXMAP_OPTION("InputBackground",KviOption_sectFlagInput | KviOption_groupTheme),
|
|
PIXMAP_OPTION("UserListViewBackground",KviOption_sectFlagUserListView | KviOption_groupTheme),
|
|
PIXMAP_OPTION("LabelBackground",KviOption_sectFlagLabel | KviOption_groupTheme),
|
|
PIXMAP_OPTION("MyAvatar",KviOption_sectFlagUser),
|
|
PIXMAP_OPTION("IrcToolBarAppletBackground",KviOption_sectFlagIrcToolBar | KviOption_groupTheme),
|
|
PIXMAP_OPTION("TreeTaskBarBackground",KviOption_sectFlagTaskBar | KviOption_groupTheme),
|
|
PIXMAP_OPTION("GlobalTransparencyBackground",KviOption_sectFlagGui | KviOption_resetUpdatePseudoTransparency | KviOption_groupTheme)
|
|
};
|
|
|
|
//#define INT_OPTION(_name,_value,_flags)
|
|
// {
|
|
// KVI_INT_OPTIONS_PREFIX _name ,
|
|
// _value ,
|
|
// _flags
|
|
// }
|
|
//
|
|
//KviIntOption g_intOptionsTable[KVI_NUM_INT_OPTIONS]=
|
|
//{
|
|
// INT_OPTION("IrcViewMaxBufferSize",KVI_IRCVIEW_MAX_LINES,KviOption_sectFlagIrcView),
|
|
// INT_OPTION("IrcViewTollTipTimeoutInMsec",1800,KviOption_sectFlagIrcView),
|
|
// INT_OPTION("IrcViewToolTipHideTimeoutInMsec",10000,KviOption_sectFlagIrcView)
|
|
//};
|
|
|
|
#define UINT_OPTION(_name,_value,_flags) \
|
|
KviUIntOption( \
|
|
KVI_UINT_OPTIONS_PREFIX _name , \
|
|
_value , \
|
|
_flags \
|
|
)
|
|
|
|
KviUIntOption g_uintOptionsTable[KVI_NUM_UINT_OPTIONS]=
|
|
{
|
|
UINT_OPTION("IrcSocketTimeout",60,KviOption_sectFlagIrcSocket),
|
|
UINT_OPTION("ModuleCleanupTimerInterval",90,KviOption_sectFlagModules),
|
|
UINT_OPTION("ModuleCleanupTimeout",180,KviOption_sectFlagModules),
|
|
UINT_OPTION("MaxCtcpRequests",5,KviOption_sectFlagCtcp),
|
|
UINT_OPTION("CtcpFloodCheckInterval",10,KviOption_sectFlagCtcp),
|
|
UINT_OPTION("TotalConnectionTime",0,0),
|
|
UINT_OPTION("DccSocketTimeout",360,KviOption_sectFlagDcc),
|
|
UINT_OPTION("DccSendIdleStepInMSec",30,KviOption_sectFlagDcc),
|
|
UINT_OPTION("DccSendPacketSize",4096,KviOption_sectFlagDcc),
|
|
UINT_OPTION("GlobalTransparencyParentFadeFactor",10,KviOption_sectFlagGui | KviOption_resetUpdatePseudoTransparency | KviOption_groupTheme),
|
|
UINT_OPTION("GlobalTransparencyChildFadeFactor",50,KviOption_sectFlagGui | KviOption_resetUpdatePseudoTransparency | KviOption_groupTheme),
|
|
UINT_OPTION("NotifyListCheckTimeInSecs",180,KviOption_sectFlagConnection),
|
|
UINT_OPTION("SocketQueueFlushTimeout",500,KviOption_sectFlagIrcSocket),
|
|
UINT_OPTION("OutgoingTrafficLimitUSeconds",2000000,KviOption_sectFlagIrcSocket),
|
|
UINT_OPTION("NotifyListIsOnDelayTimeInSecs",6,KviOption_sectFlagConnection),
|
|
UINT_OPTION("NotifyListUserhostDelayTimeInSecs",6,KviOption_sectFlagConnection),
|
|
UINT_OPTION("TreeTaskBarMinimumWidth",24,KviOption_sectFlagTaskBar | KviOption_resetUpdateTaskBar),
|
|
UINT_OPTION("AvatarOfferTimeoutInSecs",60,KviOption_sectFlagAvatar),
|
|
UINT_OPTION("IrcViewMaxBufferSize",1024,KviOption_sectFlagIrcView),
|
|
UINT_OPTION("IrcViewToolTipTimeoutInMsec",1200,KviOption_sectFlagIrcView),
|
|
UINT_OPTION("IrcViewToolTipHideTimeoutInMsec",12000,KviOption_sectFlagIrcView),
|
|
UINT_OPTION("DccVoicePreBufferSize",32000,KviOption_sectFlagDcc),
|
|
UINT_OPTION("IdentdPort",113,KviOption_sectFlagConnection | KviOption_resetRestartIdentd),
|
|
UINT_OPTION("AvatarScaleWidth",80,KviOption_sectFlagAvatar | KviOption_resetUpdateGui),
|
|
UINT_OPTION("AvatarScaleHeight",80,KviOption_sectFlagAvatar | KviOption_resetUpdateGui),
|
|
UINT_OPTION("DccMinPort",30000,KviOption_sectFlagDcc),
|
|
UINT_OPTION("DccMaxPort",31000,KviOption_sectFlagDcc),
|
|
UINT_OPTION("SoundOfferTimeoutInSecs",60,KviOption_sectFlagConnection),
|
|
UINT_OPTION("MaximumRequestedAvatarSize",256000,KviOption_sectFlagAvatar),
|
|
UINT_OPTION("TreeTaskBarMaximumWidth",200,KviOption_sectFlagTaskBar | KviOption_resetUpdateTaskBar),
|
|
UINT_OPTION("PasteDelay",2000,KviOption_sectFlagInput),
|
|
UINT_OPTION("MaxDccSendTransfers",10,KviOption_sectFlagDcc),
|
|
UINT_OPTION("MaxDccSlots",64,KviOption_sectFlagDcc),
|
|
UINT_OPTION("TileMethod",5,KviOption_sectFlagMdi),
|
|
UINT_OPTION("LagMeterHeartbeat",5000,KviOption_sectFlagConnection | KviOption_resetRestartLagMeter),
|
|
UINT_OPTION("LagAlarmTime",120000,KviOption_sectFlagConnection),
|
|
UINT_OPTION("UNUSED",0,KviOption_sectFlagFrame),
|
|
UINT_OPTION("TaskBarButtonMinWidth",100,KviOption_sectFlagTaskBar),
|
|
UINT_OPTION("OutputVerbosityLevel",KVI_VERBOSITY_LEVEL_NORMAL,KviOption_sectFlagFrame),
|
|
UINT_OPTION("IrcContextAppletWidth",160,KviOption_sectFlagFrame),
|
|
UINT_OPTION("MinHighlightLevel",0,KviOption_uintMinHighlightLevel),
|
|
UINT_OPTION("UserListViewGridType",3,KviOption_sectFlagUserListView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
UINT_OPTION("TaskBarMaximumRows",2,KviOption_sectFlagFrame),
|
|
UINT_OPTION("MaxAutoReconnectAttempts",15,KviOption_sectFlagFrame),
|
|
UINT_OPTION("AutoReconnectDelay",10,KviOption_sectFlagFrame),
|
|
UINT_OPTION("MaxDccSendSpeed",0,KviOption_sectFlagFrame),
|
|
UINT_OPTION("MaxDccRecvSpeed",0,KviOption_sectFlagFrame),
|
|
UINT_OPTION("TimeStampForeground",KVI_DARKGRAY,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
UINT_OPTION("TimeStampBackground",KVI_TRANSPARENT,KviOption_sectFlagIrcView | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
UINT_OPTION("UserExperienceLevel",1,KviOption_sectFlagUser),
|
|
UINT_OPTION("ClassicTaskBarMaximumButtonWidth",100,KviOption_sectFlagGeometry | KviOption_resetUpdateGui | KviOption_groupTheme),
|
|
UINT_OPTION("DefaultBanType",7,KviOption_sectFlagIrcSocket),
|
|
UINT_OPTION("IrcViewPixmapAlign",0,KviOption_sectFlagIrcView | KviOption_groupTheme),
|
|
UINT_OPTION("UserListPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme),
|
|
UINT_OPTION("ToolBarAppletPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme),
|
|
UINT_OPTION("TreeTaskBarPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme),
|
|
UINT_OPTION("InputPixmapAlign",0,KviOption_sectFlagFrame | KviOption_groupTheme),
|
|
UINT_OPTION("AutoFlushLogs",30,KviOption_sectFlagFrame ),
|
|
UINT_OPTION("MinTrayLowLevelMessage",1,KviOption_sectFlagFrame ),
|
|
UINT_OPTION("MinTrayHighLevelMessage",4,KviOption_sectFlagFrame ),
|
|
UINT_OPTION("IdentdOutputMode",KviIdentdOutputMode::Quiet,KviOption_sectFlagConnection ),
|
|
UINT_OPTION("ScaleAvatarsOnLoadHeight",600,KviOption_sectFlagAvatar ),
|
|
UINT_OPTION("ScaleAvatarsOnLoadWidth",800,KviOption_sectFlagAvatar ),
|
|
UINT_OPTION("NotifierActiveTransparency",90,KviOption_sectFlagFrame ),
|
|
UINT_OPTION("NotifierInactiveTransparency",40,KviOption_sectFlagFrame )
|
|
};
|
|
|
|
#define FONT_OPTION(_name,_face,_size,_flags) \
|
|
KviFontOption( \
|
|
KVI_FONT_OPTIONS_PREFIX _name , \
|
|
TQFont(_face,_size) , \
|
|
_flags | KviOption_groupTheme \
|
|
)
|
|
|
|
KviFontOption g_fontOptionsTable[KVI_NUM_FONT_OPTIONS]=
|
|
{
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
FONT_OPTION("IrcView","Arial",9,KviOption_sectFlagIrcView | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Input","Arial",12,KviOption_sectFlagInput | KviOption_resetUpdateGui),
|
|
FONT_OPTION("UserListView","Arial",9,KviOption_sectFlagUserListView | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Label","Arial",9,KviOption_sectFlagLabel | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Application","Arial",9,KviOption_sectFlagGui | KviOption_resetUpdateAppFont),
|
|
FONT_OPTION("IrcToolBarApplet","Arial",9,KviOption_sectFlagIrcToolBar | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Taskbar","Arial",9,KviOption_sectFlagTaskBar | KviOption_resetUpdateTaskBar)
|
|
#else
|
|
FONT_OPTION("IrcView","Monospace",10,KviOption_sectFlagIrcView | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Input","Sans Serif",12,KviOption_sectFlagInput | KviOption_resetUpdateGui),
|
|
FONT_OPTION("UserListView","Sans Serif",10,KviOption_sectFlagUserListView | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Label","Sans Serif",10,KviOption_sectFlagLabel | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Application","Sans Serif",10,KviOption_sectFlagGui | KviOption_resetUpdateAppFont),
|
|
FONT_OPTION("IrcToolBarApplet","Sans Serif",10,KviOption_sectFlagIrcToolBar | KviOption_resetUpdateGui),
|
|
FONT_OPTION("Taskbar","Sans Serif",10,KviOption_sectFlagTaskBar | KviOption_resetUpdateTaskBar)
|
|
#endif
|
|
};
|
|
|
|
#define MSGTYPE_OPTION(_name,_text,_icon,_levl) \
|
|
KviMsgTypeOption( \
|
|
KVI_MSGTYPE_OPTIONS_PREFIX _name , \
|
|
KviMsgType(_text,_icon,KVI_BLACK,KVI_TRANSPARENT,true,_levl), \
|
|
KviOption_sectFlagMsgType | KviOption_groupTheme \
|
|
)
|
|
|
|
#define MSGTYPE_OPTION_SPEC(_name,_text,_icon,_fore,_back,_levl) \
|
|
KviMsgTypeOption( \
|
|
KVI_MSGTYPE_OPTIONS_PREFIX _name , \
|
|
KviMsgType(_text,_icon,_fore,_back,true,_levl), \
|
|
KviOption_sectFlagMsgType | KviOption_groupTheme \
|
|
)
|
|
|
|
|
|
|
|
// FIXME: #warning "FIX THE ICONS HERE!!!"
|
|
|
|
KviMsgTypeOption g_msgtypeOptionsTable[KVI_NUM_MSGTYPE_OPTIONS]=
|
|
{
|
|
MSGTYPE_OPTION("Echo",__tr_no_lookup("Normal text"),KVI_SMALLICON_NONE,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION_SPEC("Selection",__tr_no_lookup("Selection"),KVI_SMALLICON_NONE,KVI_WHITE,KVI_BLACK,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION_SPEC("Highlight",__tr_no_lookup("Highlighted text"),KVI_SMALLICON_ALERT,KVI_WHITE,KVI_BLACK,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION_SPEC("Url",__tr_no_lookup("URL foreground"),KVI_SMALLICON_NONE,KVI_BLUE,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION_SPEC("Link",__tr_no_lookup("Link overlay foreground"),KVI_SMALLICON_NONE,KVI_BLUE,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION_SPEC("ParserError",__tr_no_lookup("Parser error"),KVI_SMALLICON_PARSERERROR,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION_SPEC("ParserWarning",__tr_no_lookup("Parser warning"),KVI_SMALLICON_PARSERWARNING,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("HostLookup",__tr_no_lookup("Host lookup result"),KVI_SMALLICON_SERVER,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("SocketMessage",__tr_no_lookup("Socket message"),KVI_SMALLICON_SOCKETMESSAGE,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("SocketWarning",__tr_no_lookup("Socket warning"),KVI_SMALLICON_SOCKETWARNING,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION_SPEC("SocketError",__tr_no_lookup("Socket error"),KVI_SMALLICON_SOCKETERROR,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION_SPEC("SystemError",__tr_no_lookup("System error"),KVI_SMALLICON_SYSTEMERROR,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Raw",__tr_no_lookup("Raw data to server"),KVI_SMALLICON_RAW,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Connection",__tr_no_lookup("Connection status"),KVI_SMALLICON_WORLD,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("SystemWarning",__tr_no_lookup("System warning"),KVI_SMALLICON_SYSTEMWARNING,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("SystemMessage",__tr_no_lookup("System message"),KVI_SMALLICON_SYSTEMMESSAGE,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("UnhandledReply",__tr_no_lookup("Unhandled server reply"),KVI_SMALLICON_UNHANDLED,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("ServerInfo",__tr_no_lookup("Server information"),KVI_SMALLICON_SERVERINFO,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Motd",__tr_no_lookup("Server Message of the Day"),KVI_SMALLICON_MOTD,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("ServerPing",__tr_no_lookup("Server ping"),KVI_SMALLICON_SERVERPING,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Join",__tr_no_lookup("Join message"),KVI_SMALLICON_JOIN,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Part",__tr_no_lookup("Part message"),KVI_SMALLICON_PART,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Unrecognized",__tr_no_lookup("Unrecognized/broken message"),KVI_SMALLICON_UNRECOGNIZED,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Topic",__tr_no_lookup("Topic message"),KVI_SMALLICON_TOPIC,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("OwnPrivateMessage",__tr_no_lookup("Own private message"),KVI_SMALLICON_OWNPRIVMSG,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("ChannelPrivateMessage",__tr_no_lookup("Channel private message"),KVI_SMALLICON_CHANPRIVMSG,KVI_MSGTYPE_LEVEL_4),
|
|
MSGTYPE_OPTION("QueryPrivateMessage",__tr_no_lookup("Query private message"),KVI_SMALLICON_TQUERYPRIVMSG,KVI_MSGTYPE_LEVEL_4),
|
|
MSGTYPE_OPTION("CtcpReply",__tr_no_lookup("CTCP reply"),KVI_SMALLICON_CTCPREPLY,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("CtcpRequestReplied",__tr_no_lookup("CTCP request replied"),KVI_SMALLICON_CTCPREQUESTREPLIED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("CtcpRequestIgnored",__tr_no_lookup("CTCP request ignored"),KVI_SMALLICON_CTCPREQUESTIGNORED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("CtcpRequestFlood",__tr_no_lookup("CTCP request flood warning"),KVI_SMALLICON_CTCPREQUESTFLOOD,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("CtcpRequestUnknown",__tr_no_lookup("CTCP request unknown"),KVI_SMALLICON_CTCPREQUESTUNKNOWN,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Action",__tr_no_lookup("User action"),KVI_SMALLICON_ACTION,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("AvatarChange",__tr_no_lookup("Avatar change"),KVI_SMALLICON_AVATAR,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Quit",__tr_no_lookup("Quit message"),KVI_SMALLICON_TQUIT,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Split",__tr_no_lookup("Split message"),KVI_SMALLICON_SPLIT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("QuitSplit",__tr_no_lookup("Quit on netsplit message"),KVI_SMALLICON_TQUITSPLIT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Nick",__tr_no_lookup("Nick changes"),KVI_SMALLICON_NICK,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Op",__tr_no_lookup("+o mode change"),KVI_SMALLICON_OP,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Deop",__tr_no_lookup("-o mode change"),KVI_SMALLICON_DEOP,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Voice",__tr_no_lookup("+v mode change"),KVI_SMALLICON_VOICE,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Devoice",__tr_no_lookup("-v mode change"),KVI_SMALLICON_DEVOICE,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Mode",__tr_no_lookup("Multiple user mode change"),KVI_SMALLICON_MODE,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Key",__tr_no_lookup("Channel key change"),KVI_SMALLICON_KEY,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Limit",__tr_no_lookup("Channel limit change"),KVI_SMALLICON_LIMIT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Ban",__tr_no_lookup("+b mode change"),KVI_SMALLICON_BAN,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Unban",__tr_no_lookup("-b mode change"),KVI_SMALLICON_UNBAN,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("BanExcept",__tr_no_lookup("+e mode change"),KVI_SMALLICON_BANEXCEPT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("BanUnexcept",__tr_no_lookup("-e mode change"),KVI_SMALLICON_BANUNEXCEPT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("InviteExcept",__tr_no_lookup("+I mode change"),KVI_SMALLICON_INVITEEXCEPT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("InviteUnexcept",__tr_no_lookup("-I mode change"),KVI_SMALLICON_INVITEUNEXCEPT,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("ChanMode",__tr_no_lookup("Multiple channel mode change"),KVI_SMALLICON_CHANMODE,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Who",__tr_no_lookup("Who reply"),KVI_SMALLICON_WHO,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("DccRequest",__tr_no_lookup("DCC request"),KVI_SMALLICON_DCCREQUEST,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("DccMsg",__tr_no_lookup("DCC message"),KVI_SMALLICON_DCCMSG,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("DccError",__tr_no_lookup("DCC error"),KVI_SMALLICON_DCCERROR,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("NicknameProblem",__tr_no_lookup("Nickname problem"),KVI_SMALLICON_NICKNAMEPROBLEM,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("WhoisUser",__tr_no_lookup("Whois user reply"),KVI_SMALLICON_WHOISUSER,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("WhoisChannels",__tr_no_lookup("Whois channels reply"),KVI_SMALLICON_WHOISCHANNELS,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("WhoisIdle",__tr_no_lookup("Whois idle reply"),KVI_SMALLICON_WHOISIDLE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("WhoisServer",__tr_no_lookup("Whois server reply"),KVI_SMALLICON_WHOISSERVER,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("WhoisOther",__tr_no_lookup("Whois other reply"),KVI_SMALLICON_WHOISOTHER,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("CreationTime",__tr_no_lookup("Channel creation time reply"),KVI_SMALLICON_TIME,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("NotifyOnLine",__tr_no_lookup("Notify list joins"),KVI_SMALLICON_NOTIFYONLINE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("NotifyOffLine",__tr_no_lookup("Notify list leaves"),KVI_SMALLICON_NOTIFYOFFLINE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("OwnPrivmsgCrypted",__tr_no_lookup("Own encrypted private message"),KVI_SMALLICON_OWNPRIVMSGCRYPTED,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("ChanPrivmsgCrypted",__tr_no_lookup("Channel encrypted private message"),KVI_SMALLICON_CHANPRIVMSGCRYPTED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("QueryPrivmsgCrypted",__tr_no_lookup("Query encrypted private message"),KVI_SMALLICON_TQUERYPRIVMSGCRYPTED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("DccChatMsg",__tr_no_lookup("DCC chat message"),KVI_SMALLICON_DCCCHATMSG,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("DccChatMsgCrypted",__tr_no_lookup("Encrypted DCC chat message"),KVI_SMALLICON_DCCCHATMSGCRYPTED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Irc",__tr_no_lookup("Login operations completed"),KVI_SMALLICON_IRC,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Kick",__tr_no_lookup("Kick action"),KVI_SMALLICON_KICK,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Links",__tr_no_lookup("Links reply"),KVI_SMALLICON_LINKS,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Spam",__tr_no_lookup("Spam report"),KVI_SMALLICON_SPAM,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Icq",__tr_no_lookup("ICQ message"),KVI_SMALLICON_ICQ,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("IcqMessage",__tr_no_lookup("ICQ user-message"),KVI_SMALLICON_MESSAGE,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("IcqMessageSent",__tr_no_lookup("Outgoing ICQ user-message"),KVI_SMALLICON_MESSAGESENT,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("ChannelNotice",__tr_no_lookup("Channel notice"),KVI_SMALLICON_CHANNELNOTICE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("ChannelNoticeCrypted",__tr_no_lookup("Encrypted channel notice"),KVI_SMALLICON_CHANNELNOTICECRYPTED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("QueryNotice",__tr_no_lookup("Query notice"),KVI_SMALLICON_TQUERYNOTICE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("QueryNoticeCrypted",__tr_no_lookup("Encrypted query notice"),KVI_SMALLICON_TQUERYNOTICECRYPTED,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("ServerNotice",__tr_no_lookup("Server notice"),KVI_SMALLICON_SERVERNOTICE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("HalfOp",__tr_no_lookup("Halfop mode change"),KVI_SMALLICON_HALFOP,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("CtcpReplyUnknown",__tr_no_lookup("Unknown CTCP reply"),KVI_SMALLICON_CTCPREPLYUNKNOWN,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("NickServ",__tr_no_lookup("NickServ message"),KVI_SMALLICON_NICKSERV,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("ChanServ",__tr_no_lookup("ChanServ message"),KVI_SMALLICON_CHANSERV,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Away",__tr_no_lookup("Away message"),KVI_SMALLICON_AWAY,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Ident",__tr_no_lookup("Ident message"),KVI_SMALLICON_IDENT,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("List",__tr_no_lookup("Channel list message"),KVI_SMALLICON_LIST,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("HalfDeOp",__tr_no_lookup("Half-deop mode change"),KVI_SMALLICON_HALFDEOP,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("Invite",__tr_no_lookup("Invite message"),KVI_SMALLICON_INVITE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Multimedia",__tr_no_lookup("Multimedia message"),KVI_SMALLICON_MULTIMEDIA,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("QueryTrace",__tr_no_lookup("Query trace message"),KVI_SMALLICON_TQUERYTRACE,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Wallops",__tr_no_lookup("Wallops message"),KVI_SMALLICON_WALLOPS,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("JoinError",__tr_no_lookup("Join error message"),KVI_SMALLICON_NOCHANNEL,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("BroadcastPrivmsg",__tr_no_lookup("Broadcast private message"),KVI_SMALLICON_BROADCASTPRIVMSG,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("BroadcastNotice",__tr_no_lookup("Broadcast notice"),KVI_SMALLICON_BROADCASTNOTICE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("MeKick",__tr_no_lookup("Am kicked"),KVI_SMALLICON_MEKICK,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeOp",__tr_no_lookup("Am op'd"),KVI_SMALLICON_MEOP,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeVoice",__tr_no_lookup("Am voiced"),KVI_SMALLICON_MEVOICE,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeDeOp",__tr_no_lookup("Am deop'd"),KVI_SMALLICON_MEDEOP,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeDeVoice",__tr_no_lookup("Am devoiced"),KVI_SMALLICON_MEDEVOICE,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeHalfOp",__tr_no_lookup("Am halfop'd"),KVI_SMALLICON_MEHALFOP,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeDeHalfOp",__tr_no_lookup("Am de-halfop'd"),KVI_SMALLICON_MEDEHALFOP,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeBan",__tr_no_lookup("Ban matching my mask"),KVI_SMALLICON_MEBAN,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeUnban",__tr_no_lookup("Unban matching my mask"),KVI_SMALLICON_MEUNBAN,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeBanExcept",__tr_no_lookup("Ban exception matching my mask"),KVI_SMALLICON_MEBANEXCEPT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeBanUnExcept",__tr_no_lookup("Ban unexception matching my mask"),KVI_SMALLICON_MEBANUNEXCEPT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeInviteExcept",__tr_no_lookup("Invite exception matching my mask"),KVI_SMALLICON_MEINVITEEXCEPT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeInviteUnexcept",__tr_no_lookup("Invite unexception matching my mask"),KVI_SMALLICON_MEINVITEUNEXCEPT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("Ignore",__tr_no_lookup("Ignored user message"),KVI_SMALLICON_IGNORE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("Stats",__tr_no_lookup("Server statistics"),KVI_SMALLICON_STATS,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("SSL",__tr_no_lookup("SSL message"),KVI_SMALLICON_SSL,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("Search",__tr_no_lookup("Search"),KVI_SMALLICON_SEARCH,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("GenericSuccess",__tr_no_lookup("Generic success"),KVI_SMALLICON_CYANSQUARE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION("GenericStatus",__tr_no_lookup("Generic status"),KVI_SMALLICON_GREENSQUARE,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("GenericVerbose",__tr_no_lookup("Generic verbose message"),KVI_SMALLICON_DKGREENSQUARE,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("GenericWarning",__tr_no_lookup("Generic warning"),KVI_SMALLICON_YELLOWSQUARE,KVI_MSGTYPE_LEVEL_3),
|
|
MSGTYPE_OPTION_SPEC("GenericError",__tr_no_lookup("Generic error"),KVI_SMALLICON_REDSQUARE,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION_SPEC("GenericCritical",__tr_no_lookup("Generic critical error"),KVI_SMALLICON_BLACKSQUARE,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("ChanAdmin",__tr_no_lookup("Chan admin status set"),KVI_SMALLICON_CHANADMIN,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("ChanUnAdmin",__tr_no_lookup("Chan admin status unset"),KVI_SMALLICON_CHANUNADMIN,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeChanAdmin",__tr_no_lookup("Own chan admin status set"),KVI_SMALLICON_MECHANADMIN,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeChanUnAdmin",__tr_no_lookup("Own chan admin status unset"),KVI_SMALLICON_MECHANUNADMIN,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("UserOp",__tr_no_lookup("Userop mode change"),KVI_SMALLICON_USEROP,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("UserDeOp",__tr_no_lookup("User-deop mode change"),KVI_SMALLICON_DEUSEROP,KVI_MSGTYPE_LEVEL_2),
|
|
MSGTYPE_OPTION("MeUserOp",__tr_no_lookup("Am userop'd"),KVI_SMALLICON_MEUSEROP,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeDeUserOp",__tr_no_lookup("Am de-userop'd"),KVI_SMALLICON_MEDEUSEROP,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION_SPEC("Verbose",__tr_no_lookup("Verbose/Debug"),KVI_SMALLICON_BINARYTEXT,KVI_DARKGRAY,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("ChanOwner",__tr_no_lookup("Chan owner status set"),KVI_SMALLICON_CHANOWNER,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("ChanUnOwner",__tr_no_lookup("Chan owner status unset"),KVI_SMALLICON_CHANUNOWNER,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeChanOwner",__tr_no_lookup("Own chan owner status set"),KVI_SMALLICON_MECHANOWNER,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION("MeChanUnOwner",__tr_no_lookup("Own chan owner status unset"),KVI_SMALLICON_MECHANUNOWNER,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION_SPEC("ServerError",__tr_no_lookup("Server error"),KVI_SMALLICON_SERVERERROR,KVI_RED,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_5),
|
|
MSGTYPE_OPTION_SPEC("Help",__tr_no_lookup("Help"),KVI_SMALLICON_HELP,KVI_DARKGREEN,KVI_TRANSPARENT,KVI_MSGTYPE_LEVEL_1),
|
|
MSGTYPE_OPTION("TextEncoding",__tr_no_lookup("Text Encoding Server message"),KVI_SMALLICON_TEXTENCODING,KVI_MSGTYPE_LEVEL_1),
|
|
// TODO: add icon and check what level means
|
|
// Pragma: the message level is a warning level that is rendered in the taskbar
|
|
// messages with higher level are rendered with more visible color (i.e. red)
|
|
// messages with very high level might flash the tray and end up in the notifier
|
|
// level 1 or 2 for standard torrent messages is ok
|
|
MSGTYPE_OPTION("BitTorrent",__tr_no_lookup("BitTorrent message"),KVI_SMALLICON_MULTIMEDIA,KVI_MSGTYPE_LEVEL_2)
|
|
};
|
|
|
|
static const char * options_section_table[KVI_NUM_OPTION_SECT_FLAGS] =
|
|
{
|
|
"None", "Frame", "Mdi", "Windows",
|
|
"TaskBar", "IrcView", "MsgType", "MircColor",
|
|
"Input", "UserParser", "Connection", "IrcSocket",
|
|
"User", "UserListView","Label", "Modules",
|
|
"Ctcp", "Dcc", "Gui", "IrcToolBar",
|
|
"Logging", "AntiSpam", "Avatar", "Url",
|
|
"Recent", "Geometry"
|
|
};
|
|
|
|
|
|
static void config_set_section(int flag,KviConfig * cfg)
|
|
{
|
|
int index = flag & KviOption_sectMask;
|
|
if((index < KVI_NUM_OPTION_SECT_FLAGS) && (index >= 0))
|
|
{
|
|
cfg->setGroup(options_section_table[index]);
|
|
} else cfg->setGroup(""); // Default group
|
|
}
|
|
|
|
void KviApp::loadOptions()
|
|
{
|
|
KviStr buffer;
|
|
if(getReadOnlyConfigPath(buffer,KVI_CONFIGFILE_MAIN))
|
|
{
|
|
KviConfig cfg(buffer.ptr(),KviConfig::Read);
|
|
|
|
int prg = 12;
|
|
int i;
|
|
|
|
#define READ_OPTIONS(_num,_table,_readFnc) \
|
|
for(i=0;i<_num;i++) \
|
|
{ \
|
|
config_set_section(_table[i].flags,&cfg); \
|
|
_table[i].option = cfg._readFnc(_table[i].name,_table[i].option); \
|
|
} \
|
|
prg += 3; \
|
|
KVI_SPLASH_SET_PROGRESS(prg)
|
|
|
|
READ_OPTIONS(KVI_NUM_RECT_OPTIONS,g_rectOptionsTable,readRectEntry)
|
|
READ_OPTIONS(KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable,readBoolEntry)
|
|
READ_OPTIONS(KVI_NUM_STRING_OPTIONS,g_stringOptionsTable,readTQStringEntry)
|
|
READ_OPTIONS(KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable,readColorEntry)
|
|
READ_OPTIONS(KVI_NUM_PIXMAP_OPTIONS,g_pixmapOptionsTable,readPixmapEntry)
|
|
READ_OPTIONS(KVI_NUM_UINT_OPTIONS,g_uintOptionsTable,readUIntEntry)
|
|
READ_OPTIONS(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable,readFontEntry)
|
|
READ_OPTIONS(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable,readMsgTypeEntry)
|
|
READ_OPTIONS(KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable,readStringListEntry)
|
|
READ_OPTIONS(KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable,readColorEntry)
|
|
READ_OPTIONS(KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable,readColorEntry)
|
|
|
|
for(i=0;i<KVI_NUM_STRING_OPTIONS;i++)
|
|
{
|
|
if(g_stringOptionsTable[i].flags & KviOption_encodePath)
|
|
KviStringConversion::decodePath(g_stringOptionsTable[i].option);
|
|
}
|
|
|
|
for(i=0;i<KVI_NUM_STRINGLIST_OPTIONS;i++)
|
|
{
|
|
if(g_stringlistOptionsTable[i].flags & KviOption_encodePath)
|
|
KviStringConversion::decodePath(g_stringlistOptionsTable[i].option);
|
|
}
|
|
|
|
#undef READ_OPTIONS
|
|
} // else already have the defaults
|
|
}
|
|
|
|
void KviApp::saveOptions()
|
|
{
|
|
TQString buffer;
|
|
|
|
saveRecentChannels();
|
|
|
|
getLocalKvircDirectory(buffer,Config,KVI_CONFIGFILE_MAIN);
|
|
KviConfig cfg(buffer,KviConfig::Write);
|
|
|
|
int i;
|
|
|
|
#define WRITE_OPTIONS(_num,_table) \
|
|
for(i=0;i<_num;i++) \
|
|
{ \
|
|
config_set_section(_table[i].flags,&cfg); \
|
|
cfg.writeEntry(_table[i].name,_table[i].option); \
|
|
}
|
|
|
|
WRITE_OPTIONS(KVI_NUM_RECT_OPTIONS,g_rectOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable)
|
|
for(i=0;i<KVI_NUM_STRING_OPTIONS;i++)
|
|
{
|
|
if(g_stringOptionsTable[i].flags & KviOption_encodePath)
|
|
KviStringConversion::encodePath(g_stringOptionsTable[i].option);
|
|
}
|
|
WRITE_OPTIONS(KVI_NUM_STRING_OPTIONS,g_stringOptionsTable)
|
|
for(i=0;i<KVI_NUM_STRING_OPTIONS;i++)
|
|
{
|
|
if(g_stringOptionsTable[i].flags & KviOption_encodePath)
|
|
KviStringConversion::decodePath(g_stringOptionsTable[i].option);
|
|
}
|
|
WRITE_OPTIONS(KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_PIXMAP_OPTIONS,g_pixmapOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_UINT_OPTIONS,g_uintOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable)
|
|
for(i=0;i<KVI_NUM_STRINGLIST_OPTIONS;i++)
|
|
{
|
|
if(g_stringlistOptionsTable[i].flags & KviOption_encodePath)
|
|
KviStringConversion::encodePath(g_stringlistOptionsTable[i].option);
|
|
}
|
|
WRITE_OPTIONS(KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable)
|
|
for(i=0;i<KVI_NUM_STRINGLIST_OPTIONS;i++)
|
|
{
|
|
if(g_stringlistOptionsTable[i].flags & KviOption_encodePath)
|
|
KviStringConversion::decodePath(g_stringlistOptionsTable[i].option);
|
|
}
|
|
WRITE_OPTIONS(KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable)
|
|
|
|
#undef WRITE_OPTIONS
|
|
}
|
|
|
|
|
|
#undef WRITE_OPTIONS
|
|
|
|
#define WRITE_OPTIONS(_num,_table) \
|
|
for(i=0;i<_num;i++) \
|
|
{ \
|
|
if(_table[i].flags & KviOption_groupTheme) \
|
|
cfg.writeEntry(_table[i].name,_table[i].option); \
|
|
}
|
|
|
|
namespace KviTheme
|
|
{
|
|
// utility functions for the KviTheme namespace (kvi_theme.h)
|
|
// that are implemented here for convenience (in saving the options)
|
|
bool save(KviThemeInfo &options)
|
|
{
|
|
TQString szD = options.absoluteDirectory();
|
|
|
|
if(szD.isEmpty())
|
|
{
|
|
options.setLastError(__tr2qs("Missing absolute directory for the theme information"));
|
|
return false;
|
|
}
|
|
|
|
if(!KviFileUtils::directoryExists(szD))
|
|
{
|
|
if(!KviFileUtils::makeDir(szD))
|
|
{
|
|
options.setLastError(__tr2qs("Failed to create the theme directory"));
|
|
return false;
|
|
}
|
|
}
|
|
|
|
szD.append(KVI_PATH_SEPARATOR_CHAR);
|
|
szD.append(KVI_THEMEINFO_FILE_NAME);
|
|
|
|
if(!options.save(szD))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
szD = options.absoluteDirectory();
|
|
szD.append(KVI_PATH_SEPARATOR_CHAR);
|
|
szD.append(KVI_THEMEDATA_FILE_NAME);
|
|
|
|
KviConfig cfg(szD,KviConfig::Write);
|
|
|
|
cfg.setGroup(KVI_THEMEDATA_CONFIG_GROUP);
|
|
|
|
int i;
|
|
|
|
WRITE_OPTIONS(KVI_NUM_RECT_OPTIONS,g_rectOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_STRING_OPTIONS,g_stringOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_UINT_OPTIONS,g_uintOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable)
|
|
WRITE_OPTIONS(KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable)
|
|
|
|
#undef WRITE_OPTIONS
|
|
|
|
// the pixmap options need special processing
|
|
for(i=0;i<KVI_NUM_PIXMAP_OPTIONS;i++)
|
|
{
|
|
if(g_pixmapOptionsTable[i].flags & KviOption_groupTheme)
|
|
{
|
|
if(g_pixmapOptionsTable[i].option.pixmap())
|
|
{
|
|
TQString szPixPath = options.absoluteDirectory();
|
|
szPixPath.append(KVI_PATH_SEPARATOR_CHAR);
|
|
TQString szPixName = g_pixmapOptionsTable[i].name;
|
|
szPixName += ".png";
|
|
szPixPath += szPixName;
|
|
|
|
if(g_pixmapOptionsTable[i].option.pixmap()->save(szPixPath,"PNG"))
|
|
{
|
|
cfg.writeEntry(g_pixmapOptionsTable[i].name,szPixName);
|
|
} else {
|
|
// we ignore this error for now
|
|
debug("failed to save %s",szPixPath.utf8().data());
|
|
cfg.writeEntry(g_pixmapOptionsTable[i].name,"");
|
|
}
|
|
} else {
|
|
cfg.writeEntry(g_pixmapOptionsTable[i].name,"");
|
|
}
|
|
}
|
|
}
|
|
|
|
cfg.writeEntry("stringIconThemeSubdir",options.subdirectory());
|
|
|
|
// find all the "kvi_bigicon" images that we can find in the main pics directory
|
|
TQString szPicsPath;
|
|
|
|
g_pApp->getGlobalKvircDirectory(szPicsPath,KviApp::Pics);
|
|
TQDir d(szPicsPath);
|
|
TQStringList sl = d.entryList("kvi_bigicon_*.png",TQDir::Files);
|
|
|
|
for(TQStringList::Iterator it=sl.begin();it != sl.end();it++)
|
|
{
|
|
KviCachedPixmap * p = g_pIconManager->getPixmapWithCache(*it);
|
|
if(p)
|
|
{
|
|
TQString szPixPath = options.absoluteDirectory();
|
|
szPixPath.append(KVI_PATH_SEPARATOR_CHAR);
|
|
szPixPath += *it;
|
|
|
|
if(!KviFileUtils::copyFile(p->path(),szPixPath))
|
|
{
|
|
options.setLastError(__tr2qs("Failed to save one of the theme images"));
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
szD = options.absoluteDirectory();
|
|
szD.append(KVI_PATH_SEPARATOR_CHAR);
|
|
szD.append(KVI_SMALLICONS_SUBDIRECTORY);
|
|
|
|
if(!KviFileUtils::makeDir(szD))
|
|
{
|
|
options.setLastError(__tr2qs("Failed to create the theme subdirectory"));
|
|
return false;
|
|
}
|
|
|
|
// We actually need to *save* the small icons since
|
|
// we have a compatibility mode that can load them from
|
|
// the old format kvi_smallicon_XY.png multiimage libraries.
|
|
|
|
for(int j=0;j<KVI_NUM_SMALL_ICONS;j++)
|
|
{
|
|
TQPixmap * pix = g_pIconManager->getSmallIcon(j);
|
|
|
|
TQString szPixPath = options.absoluteDirectory();
|
|
szPixPath.append(KVI_PATH_SEPARATOR_CHAR);
|
|
szPixPath.append(KVI_SMALLICONS_SUBDIRECTORY);
|
|
szPixPath.append(KVI_PATH_SEPARATOR_CHAR);
|
|
szPixPath.append("kcs_");
|
|
szPixPath.append(g_pIconManager->getSmallIconName(j));
|
|
szPixPath.append(".png");
|
|
|
|
if(!pix->save(szPixPath,"PNG",90))
|
|
{
|
|
options.setLastError(__tr2qs("Failed to save one of the theme images"));
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool load(const TQString &themeDir,KviThemeInfo &buffer)
|
|
{
|
|
if(!buffer.loadFromDirectory(themeDir))
|
|
return false; // makes sure that themedata exists too
|
|
|
|
// reset the current theme subdir
|
|
KVI_OPTION_STRING(KviOption_stringIconThemeSubdir) = "";
|
|
|
|
// reset the splash screen pointer
|
|
TQString szPointerFile;
|
|
g_pApp->getLocalKvircDirectory(szPointerFile,KviApp::Themes,"current-splash");
|
|
KviFileUtils::removeFile(szPointerFile);
|
|
|
|
TQString szD = themeDir;
|
|
KviTQString::ensureLastCharIs(szD,KVI_PATH_SEPARATOR_CHAR);
|
|
szD.append(KVI_THEMEDATA_FILE_NAME);
|
|
|
|
KviConfig cfg(szD,KviConfig::Read);
|
|
|
|
cfg.setGroup(KVI_THEMEDATA_CONFIG_GROUP);
|
|
|
|
int i;
|
|
int iResetFlags = 0;
|
|
|
|
#undef READ_OPTIONS
|
|
|
|
#define READ_OPTIONS(_num,_table,_readFnc) \
|
|
for(i=0;i<_num;i++) \
|
|
{ \
|
|
if(_table[i].flags & KviOption_groupTheme) \
|
|
{ \
|
|
if(cfg.hasKey(_table[i].name)) \
|
|
{ \
|
|
iResetFlags |= (_table[i].flags & KviOption_resetMask); \
|
|
_table[i].option = cfg._readFnc(_table[i].name,_table[i].option); \
|
|
} \
|
|
} \
|
|
}
|
|
|
|
#define READ_ALL_OPTIONS(_num,_table,_readFnc) \
|
|
for(i=0;i<_num;i++) \
|
|
{ \
|
|
if(cfg.hasKey(_table[i].name)) \
|
|
{ \
|
|
iResetFlags |= (_table[i].flags & KviOption_resetMask); \
|
|
_table[i].option = cfg._readFnc(_table[i].name,_table[i].option); \
|
|
} \
|
|
}
|
|
|
|
READ_OPTIONS(KVI_NUM_RECT_OPTIONS,g_rectOptionsTable,readRectEntry)
|
|
READ_OPTIONS(KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable,readBoolEntry)
|
|
READ_OPTIONS(KVI_NUM_STRING_OPTIONS,g_stringOptionsTable,readTQStringEntry)
|
|
READ_OPTIONS(KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable,readColorEntry)
|
|
READ_OPTIONS(KVI_NUM_UINT_OPTIONS,g_uintOptionsTable,readUIntEntry)
|
|
READ_OPTIONS(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable,readFontEntry)
|
|
READ_ALL_OPTIONS(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable,readMsgTypeEntry)
|
|
READ_OPTIONS(KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable,readStringListEntry)
|
|
READ_OPTIONS(KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable,readColorEntry)
|
|
READ_OPTIONS(KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable,readColorEntry)
|
|
|
|
#undef READ_OPTIONS
|
|
#undef READ_ALL_OPTIONS
|
|
KVI_OPTION_STRING(KviOption_stringIconThemeSubdir).stripWhiteSpace();
|
|
|
|
|
|
// the pixmap options need special processing
|
|
for(i=0;i<KVI_NUM_PIXMAP_OPTIONS;i++)
|
|
{
|
|
if(g_pixmapOptionsTable[i].flags & KviOption_groupTheme)
|
|
{
|
|
if(cfg.hasKey(g_pixmapOptionsTable[i].name))
|
|
{
|
|
TQString szVal = cfg.readTQStringEntry(g_pixmapOptionsTable[i].name,"");
|
|
szVal.stripWhiteSpace();
|
|
TQString szBuffer;
|
|
if(!szVal.isEmpty())
|
|
{
|
|
g_pApp->findImage(szBuffer,szVal);
|
|
} else {
|
|
szBuffer = szVal;
|
|
}
|
|
|
|
KviStringConversion::fromString(szBuffer,g_pixmapOptionsTable[i].option);
|
|
|
|
// reset anyway
|
|
iResetFlags |= g_pixmapOptionsTable[i].flags & KviOption_resetMask;
|
|
}
|
|
}
|
|
}
|
|
|
|
// create the splash screen pointer if this theme has some pixmaps in it
|
|
if(!KVI_OPTION_STRING(KviOption_stringIconThemeSubdir).isEmpty())
|
|
KviFileUtils::writeFile(szPointerFile,KVI_OPTION_STRING(KviOption_stringIconThemeSubdir));
|
|
|
|
// force reloading of images anyway
|
|
g_pApp->optionResetUpdate(iResetFlags | KviOption_resetReloadImages);
|
|
|
|
return true;
|
|
}
|
|
};
|
|
|
|
void KviApp::listAvailableOptions(KviWindow *wnd)
|
|
{
|
|
int i;
|
|
|
|
#define LIST_OPTIONS(__txt,__num,__table) \
|
|
wnd->output(KVI_OUT_SYSTEMMESSAGE,"%c%s%c",KVI_TEXT_BOLD,__txt,KVI_TEXT_BOLD); \
|
|
for(i = 0;i < __num;i++)wnd->outputNoFmt(KVI_OUT_SYSTEMMESSAGE,__table[i].name);
|
|
|
|
LIST_OPTIONS(__tr("Boolean options (1/0)"),KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable)
|
|
LIST_OPTIONS(__tr("Rectangle options (x,y,width,height)"),KVI_NUM_RECT_OPTIONS,g_rectOptionsTable)
|
|
LIST_OPTIONS(__tr("String options (string value)"),KVI_NUM_STRING_OPTIONS,g_stringOptionsTable)
|
|
LIST_OPTIONS(__tr("Color options (#RRGGBB)"),KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable)
|
|
LIST_OPTIONS(__tr("Mirccolor options (#RRGGBB)"),KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable)
|
|
LIST_OPTIONS(__tr("Irc context color options (#RRGGBB)"),KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable)
|
|
LIST_OPTIONS(__tr("Pixmap options (image path)"),KVI_NUM_PIXMAP_OPTIONS,g_pixmapOptionsTable)
|
|
LIST_OPTIONS(__tr("Unsigned integer options (unsigned integer constant)"),KVI_NUM_UINT_OPTIONS,g_uintOptionsTable)
|
|
LIST_OPTIONS(__tr("Font options (family,pointsize,style,charset,weight,flags (biusf))"),KVI_NUM_FONT_OPTIONS,g_fontOptionsTable)
|
|
LIST_OPTIONS(__tr("Message color options (image_id,foreground,background,logFlag (0/1))"),KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable)
|
|
LIST_OPTIONS(__tr("String list options (comma separated list of strings)"),KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable)
|
|
|
|
#undef LIST_OPTIONS
|
|
}
|
|
|
|
//using namespace KviStringConversion;
|
|
|
|
bool KviApp::getOptionString(const char * optName,TQString &buffer)
|
|
{
|
|
|
|
#define GET_OPTION_STRING(__numOpt,__table,__prefix,__prefixLen) \
|
|
if(kvi_strEqualCIN(optName,__prefix,__prefixLen)) \
|
|
{ \
|
|
for(int i=0;i < __numOpt;i++) \
|
|
{ \
|
|
if(kvi_strEqualCI(optName,__table[i].name)) \
|
|
{ \
|
|
KviStringConversion::toString(__table[i].option,buffer); \
|
|
return true; \
|
|
} \
|
|
} \
|
|
return false; \
|
|
}
|
|
|
|
// WARNING : stringlist prefix must go BEFORE the string prefix (otherwise it will match)
|
|
|
|
GET_OPTION_STRING(KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable,KVI_BOOL_OPTIONS_PREFIX,KVI_BOOL_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_RECT_OPTIONS,g_rectOptionsTable,KVI_BOOL_OPTIONS_PREFIX,KVI_BOOL_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable,KVI_STRINGLIST_OPTIONS_PREFIX,KVI_STRINGLIST_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_STRING_OPTIONS,g_stringOptionsTable,KVI_STRING_OPTIONS_PREFIX,KVI_STRING_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable,KVI_COLOR_OPTIONS_PREFIX,KVI_COLOR_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable,KVI_MIRCCOLOR_OPTIONS_PREFIX,KVI_MIRCCOLOR_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable,KVI_ICCOLOR_OPTIONS_PREFIX,KVI_ICCOLOR_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_PIXMAP_OPTIONS,g_pixmapOptionsTable,KVI_PIXMAP_OPTIONS_PREFIX,KVI_PIXMAP_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_UINT_OPTIONS,g_uintOptionsTable,KVI_UINT_OPTIONS_PREFIX,KVI_UINT_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable,KVI_FONT_OPTIONS_PREFIX,KVI_FONT_OPTIONS_PREFIX_LEN)
|
|
GET_OPTION_STRING(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable,KVI_MSGTYPE_OPTIONS_PREFIX,KVI_MSGTYPE_OPTIONS_PREFIX_LEN)
|
|
return false;
|
|
|
|
#undef GET_OPTION_STRING
|
|
}
|
|
|
|
void KviApp::optionResetUpdate(int flags)
|
|
{
|
|
if(flags & KviOption_resetReloadImages)
|
|
{
|
|
g_pIconManager->reloadImages();
|
|
emit reloadImages();
|
|
}
|
|
|
|
if(flags & KviOption_resetUpdateAppFont)
|
|
{
|
|
updateApplicationFont();
|
|
}
|
|
|
|
#ifdef COMPILE_PSEUDO_TRANSPARENCY
|
|
if(flags & KviOption_resetUpdatePseudoTransparency)
|
|
{
|
|
triggerUpdatePseudoTransparency();
|
|
}
|
|
#endif
|
|
|
|
if(flags & KviOption_resetRestartIdentd)
|
|
{
|
|
if(g_iIdentDaemonRunningUsers)
|
|
g_pFrame->executeInternalCommand(KVI_INTERNALCOMMAND_IDENT_STOP);
|
|
|
|
if(KVI_OPTION_BOOL(KviOption_boolUseIdentService) && !KVI_OPTION_BOOL(KviOption_boolUseIdentServiceOnlyOnConnect))
|
|
g_pFrame->executeInternalCommand(KVI_INTERNALCOMMAND_IDENT_START);
|
|
}
|
|
|
|
if(flags & KviOption_resetUpdateGui)
|
|
{
|
|
triggerUpdateGui();
|
|
}
|
|
|
|
if(flags & KviOption_resetUpdateTaskBar)
|
|
{
|
|
g_pFrame->recreateTaskBar();
|
|
}
|
|
|
|
if(flags & KviOption_resetRestartNotifyList)
|
|
{
|
|
g_pApp->restartNotifyLists();
|
|
}
|
|
|
|
if(flags & KviOption_resetRestartLagMeter)
|
|
{
|
|
g_pApp->restartLagMeters();
|
|
}
|
|
|
|
if(flags & KviOption_resetRecentChannels)
|
|
{
|
|
g_pApp->buildRecentChannels();
|
|
}
|
|
}
|
|
|
|
bool KviApp::setOptionValue(const char * optName,const TQString &value)
|
|
{
|
|
|
|
#define SET_OPTION_VALUE(__numOpt,__table,__prefix,__prefixLen) \
|
|
if(kvi_strEqualCIN(optName,__prefix,__prefixLen)) \
|
|
{ \
|
|
for(int i=0;i < __numOpt;i++) \
|
|
{ \
|
|
if(kvi_strEqualCI(optName,__table[i].name)) \
|
|
{ \
|
|
if(!KviStringConversion::fromString(value,__table[i].option))return false; \
|
|
optionResetUpdate(__table[i].flags); \
|
|
return true; \
|
|
} \
|
|
} \
|
|
return false; \
|
|
}
|
|
|
|
SET_OPTION_VALUE(KVI_NUM_BOOL_OPTIONS,g_boolOptionsTable,KVI_BOOL_OPTIONS_PREFIX,KVI_BOOL_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_RECT_OPTIONS,g_rectOptionsTable,KVI_BOOL_OPTIONS_PREFIX,KVI_BOOL_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_STRINGLIST_OPTIONS,g_stringlistOptionsTable,KVI_STRINGLIST_OPTIONS_PREFIX,KVI_STRINGLIST_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_STRING_OPTIONS,g_stringOptionsTable,KVI_STRING_OPTIONS_PREFIX,KVI_STRING_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_COLOR_OPTIONS,g_colorOptionsTable,KVI_COLOR_OPTIONS_PREFIX,KVI_COLOR_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_MIRCCOLOR_OPTIONS,g_mirccolorOptionsTable,KVI_MIRCCOLOR_OPTIONS_PREFIX,KVI_MIRCCOLOR_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_ICCOLOR_OPTIONS,g_iccolorOptionsTable,KVI_ICCOLOR_OPTIONS_PREFIX,KVI_ICCOLOR_OPTIONS_PREFIX_LEN)
|
|
// SET_OPTION_VALUE(KVI_NUM_PIXMAP_OPTIONS,g_pixmapOptionsTable,KVI_PIXMAP_OPTIONS_PREFIX,KVI_PIXMAP_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_UINT_OPTIONS,g_uintOptionsTable,KVI_UINT_OPTIONS_PREFIX,KVI_UINT_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable,KVI_FONT_OPTIONS_PREFIX,KVI_FONT_OPTIONS_PREFIX_LEN)
|
|
SET_OPTION_VALUE(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable,KVI_MSGTYPE_OPTIONS_PREFIX,KVI_MSGTYPE_OPTIONS_PREFIX_LEN)
|
|
|
|
if(kvi_strEqualCI(optName,"stringlistRecentChannels"))
|
|
buildRecentChannels();
|
|
// The pixmap options have special treating
|
|
if(kvi_strEqualCIN(optName,KVI_PIXMAP_OPTIONS_PREFIX,KVI_PIXMAP_OPTIONS_PREFIX_LEN))
|
|
{
|
|
// We lookup the image path (so we allow also relative paths for this option type)
|
|
TQString szVal = value;
|
|
szVal.stripWhiteSpace();
|
|
TQString szBuffer;
|
|
if(!szVal.isEmpty())
|
|
{
|
|
findImage(szBuffer,szVal);
|
|
} else {
|
|
szBuffer = szVal;
|
|
}
|
|
|
|
for(int i=0;i < KVI_NUM_PIXMAP_OPTIONS;i++)
|
|
{
|
|
if(kvi_strEqualCI(optName,g_pixmapOptionsTable[i].name))
|
|
{
|
|
if(!KviStringConversion::fromString(szBuffer,g_pixmapOptionsTable[i].option))return false;
|
|
optionResetUpdate(g_pixmapOptionsTable[i].flags);
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
return false;
|
|
|
|
#undef SET_OPTION_VALUE
|
|
}
|