From c601b5a27f74b16158adafe429faefbe573e64a2 Mon Sep 17 00:00:00 2001 From: Szymon Tomasz Stefanek Date: Sat, 1 Jan 2011 20:19:56 +0000 Subject: The big rename for modules. Still some details remaining. git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/options/CMakeLists.txt | 164 +- src/modules/options/OptionsInstanceManager.cpp | 3695 ++++++++++++++++++++ src/modules/options/OptionsInstanceManager.h | 85 + src/modules/options/OptionsWidgetContainer.cpp | 168 + src/modules/options/OptionsWidgetContainer.h | 58 + .../OptionsWidget_alertsAndHighlighting.cpp | 150 + .../options/OptionsWidget_alertsAndHighlighting.h | 80 + src/modules/options/OptionsWidget_antiSpam.cpp | 66 + src/modules/options/OptionsWidget_antiSpam.h | 49 + src/modules/options/OptionsWidget_avatar.cpp | 121 + src/modules/options/OptionsWidget_avatar.h | 45 + src/modules/options/OptionsWidget_away.cpp | 74 + src/modules/options/OptionsWidget_away.h | 50 + src/modules/options/OptionsWidget_channel.cpp | 166 + src/modules/options/OptionsWidget_channel.h | 79 + src/modules/options/OptionsWidget_connection.cpp | 304 ++ src/modules/options/OptionsWidget_connection.h | 117 + src/modules/options/OptionsWidget_ctcp.cpp | 83 + src/modules/options/OptionsWidget_ctcp.h | 43 + .../options/OptionsWidget_ctcpFloodProtection.cpp | 118 + .../options/OptionsWidget_ctcpFloodProtection.h | 42 + src/modules/options/OptionsWidget_dcc.cpp | 372 ++ src/modules/options/OptionsWidget_dcc.h | 141 + src/modules/options/OptionsWidget_general.cpp | 51 + src/modules/options/OptionsWidget_general.h | 41 + src/modules/options/OptionsWidget_identity.cpp | 1017 ++++++ src/modules/options/OptionsWidget_identity.h | 255 ++ src/modules/options/OptionsWidget_ignore.cpp | 66 + src/modules/options/OptionsWidget_ignore.h | 50 + src/modules/options/OptionsWidget_input.cpp | 167 + src/modules/options/OptionsWidget_input.h | 62 + .../options/OptionsWidget_interfaceFeatures.cpp | 91 + .../options/OptionsWidget_interfaceFeatures.h | 47 + src/modules/options/OptionsWidget_irc.cpp | 88 + src/modules/options/OptionsWidget_irc.h | 69 + src/modules/options/OptionsWidget_ircOutput.cpp | 111 + src/modules/options/OptionsWidget_ircOutput.h | 51 + src/modules/options/OptionsWidget_ircView.cpp | 221 ++ src/modules/options/OptionsWidget_ircView.h | 101 + src/modules/options/OptionsWidget_lag.cpp | 80 + src/modules/options/OptionsWidget_lag.h | 43 + src/modules/options/OptionsWidget_logging.cpp | 70 + src/modules/options/OptionsWidget_logging.h | 44 + src/modules/options/OptionsWidget_mediaTypes.cpp | 265 ++ src/modules/options/OptionsWidget_mediaTypes.h | 85 + src/modules/options/OptionsWidget_message.cpp | 656 ++++ src/modules/options/OptionsWidget_message.h | 205 ++ src/modules/options/OptionsWidget_nickserv.cpp | 371 ++ src/modules/options/OptionsWidget_nickserv.h | 89 + src/modules/options/OptionsWidget_notifier.cpp | 262 ++ src/modules/options/OptionsWidget_notifier.h | 63 + src/modules/options/OptionsWidget_notify.cpp | 107 + src/modules/options/OptionsWidget_notify.h | 43 + src/modules/options/OptionsWidget_protection.cpp | 47 + src/modules/options/OptionsWidget_protection.h | 47 + src/modules/options/OptionsWidget_proxy.cpp | 364 ++ src/modules/options/OptionsWidget_proxy.h | 95 + src/modules/options/OptionsWidget_query.cpp | 116 + src/modules/options/OptionsWidget_query.h | 44 + src/modules/options/OptionsWidget_servers.cpp | 2001 +++++++++++ src/modules/options/OptionsWidget_servers.h | 229 ++ src/modules/options/OptionsWidget_sound.cpp | 356 ++ src/modules/options/OptionsWidget_sound.h | 97 + src/modules/options/OptionsWidget_textEncoding.cpp | 169 + src/modules/options/OptionsWidget_textEncoding.h | 52 + src/modules/options/OptionsWidget_textIcons.cpp | 291 ++ src/modules/options/OptionsWidget_textIcons.h | 90 + src/modules/options/OptionsWidget_theme.cpp | 204 ++ src/modules/options/OptionsWidget_theme.h | 100 + src/modules/options/OptionsWidget_tools.cpp | 51 + src/modules/options/OptionsWidget_tools.h | 46 + src/modules/options/OptionsWidget_topicLabel.cpp | 50 + src/modules/options/OptionsWidget_topicLabel.h | 44 + src/modules/options/OptionsWidget_tray.cpp | 101 + src/modules/options/OptionsWidget_tray.h | 52 + src/modules/options/OptionsWidget_uparser.cpp | 64 + src/modules/options/OptionsWidget_uparser.h | 42 + src/modules/options/OptionsWidget_urlHandlers.cpp | 154 + src/modules/options/OptionsWidget_urlHandlers.h | 59 + src/modules/options/OptionsWidget_userList.cpp | 250 ++ src/modules/options/OptionsWidget_userList.h | 116 + src/modules/options/OptionsWidget_windowList.cpp | 269 ++ src/modules/options/OptionsWidget_windowList.h | 126 + src/modules/options/container.cpp | 168 - src/modules/options/container.h | 58 - src/modules/options/dialog.cpp | 94 +- src/modules/options/dialog.h | 36 +- src/modules/options/instances.cpp | 3695 -------------------- src/modules/options/instances.h | 85 - src/modules/options/libkvioptions.cpp | 36 +- src/modules/options/mkcreateinstanceproc.sh | 112 +- src/modules/options/optw_antispam.cpp | 66 - src/modules/options/optw_antispam.h | 49 - src/modules/options/optw_avatar.cpp | 121 - src/modules/options/optw_avatar.h | 45 - src/modules/options/optw_away.cpp | 74 - src/modules/options/optw_away.h | 50 - src/modules/options/optw_channel.cpp | 166 - src/modules/options/optw_channel.h | 79 - src/modules/options/optw_connection.cpp | 304 -- src/modules/options/optw_connection.h | 117 - src/modules/options/optw_ctcp.cpp | 83 - src/modules/options/optw_ctcp.h | 43 - src/modules/options/optw_ctcpfloodprotection.cpp | 118 - src/modules/options/optw_ctcpfloodprotection.h | 42 - src/modules/options/optw_dcc.cpp | 372 -- src/modules/options/optw_dcc.h | 141 - src/modules/options/optw_generalopt.cpp | 51 - src/modules/options/optw_generalopt.h | 41 - src/modules/options/optw_highlighting.cpp | 150 - src/modules/options/optw_highlighting.h | 80 - src/modules/options/optw_identity.cpp | 1017 ------ src/modules/options/optw_identity.h | 255 -- src/modules/options/optw_ignore.cpp | 66 - src/modules/options/optw_ignore.h | 50 - src/modules/options/optw_input.cpp | 167 - src/modules/options/optw_input.h | 62 - src/modules/options/optw_interfacefeatures.cpp | 91 - src/modules/options/optw_interfacefeatures.h | 47 - src/modules/options/optw_interfacelookglobal.cpp | 204 -- src/modules/options/optw_interfacelookglobal.h | 100 - src/modules/options/optw_irc.cpp | 88 - src/modules/options/optw_irc.h | 69 - src/modules/options/optw_ircoutput.cpp | 111 - src/modules/options/optw_ircoutput.h | 51 - src/modules/options/optw_ircview.cpp | 221 -- src/modules/options/optw_ircview.h | 101 - src/modules/options/optw_lag.cpp | 80 - src/modules/options/optw_lag.h | 43 - src/modules/options/optw_logging.cpp | 70 - src/modules/options/optw_logging.h | 44 - src/modules/options/optw_mediatypes.cpp | 265 -- src/modules/options/optw_mediatypes.h | 85 - src/modules/options/optw_messages.cpp | 656 ---- src/modules/options/optw_messages.h | 205 -- src/modules/options/optw_nickserv.cpp | 371 -- src/modules/options/optw_nickserv.h | 89 - src/modules/options/optw_notifier.cpp | 262 -- src/modules/options/optw_notifier.h | 63 - src/modules/options/optw_notify.cpp | 107 - src/modules/options/optw_notify.h | 43 - src/modules/options/optw_protection.cpp | 47 - src/modules/options/optw_protection.h | 47 - src/modules/options/optw_proxy.cpp | 364 -- src/modules/options/optw_proxy.h | 95 - src/modules/options/optw_query.cpp | 116 - src/modules/options/optw_query.h | 44 - src/modules/options/optw_servers.cpp | 2001 ----------- src/modules/options/optw_servers.h | 229 -- src/modules/options/optw_sound.cpp | 356 -- src/modules/options/optw_sound.h | 97 - src/modules/options/optw_textencoding.cpp | 169 - src/modules/options/optw_textencoding.h | 52 - src/modules/options/optw_texticons.cpp | 291 -- src/modules/options/optw_texticons.h | 90 - src/modules/options/optw_tools.cpp | 51 - src/modules/options/optw_tools.h | 46 - src/modules/options/optw_topiclabel.cpp | 50 - src/modules/options/optw_topiclabel.h | 44 - src/modules/options/optw_tray.cpp | 101 - src/modules/options/optw_tray.h | 52 - src/modules/options/optw_uparser.cpp | 64 - src/modules/options/optw_uparser.h | 42 - src/modules/options/optw_urlhandlers.cpp | 154 - src/modules/options/optw_urlhandlers.h | 59 - src/modules/options/optw_userlist.cpp | 250 -- src/modules/options/optw_userlist.h | 116 - src/modules/options/optw_windowlist.cpp | 269 -- src/modules/options/optw_windowlist.h | 126 - 169 files changed, 16924 insertions(+), 16924 deletions(-) create mode 100644 src/modules/options/OptionsInstanceManager.cpp create mode 100644 src/modules/options/OptionsInstanceManager.h create mode 100644 src/modules/options/OptionsWidgetContainer.cpp create mode 100644 src/modules/options/OptionsWidgetContainer.h create mode 100644 src/modules/options/OptionsWidget_alertsAndHighlighting.cpp create mode 100644 src/modules/options/OptionsWidget_alertsAndHighlighting.h create mode 100644 src/modules/options/OptionsWidget_antiSpam.cpp create mode 100644 src/modules/options/OptionsWidget_antiSpam.h create mode 100644 src/modules/options/OptionsWidget_avatar.cpp create mode 100644 src/modules/options/OptionsWidget_avatar.h create mode 100644 src/modules/options/OptionsWidget_away.cpp create mode 100644 src/modules/options/OptionsWidget_away.h create mode 100644 src/modules/options/OptionsWidget_channel.cpp create mode 100644 src/modules/options/OptionsWidget_channel.h create mode 100644 src/modules/options/OptionsWidget_connection.cpp create mode 100644 src/modules/options/OptionsWidget_connection.h create mode 100644 src/modules/options/OptionsWidget_ctcp.cpp create mode 100644 src/modules/options/OptionsWidget_ctcp.h create mode 100644 src/modules/options/OptionsWidget_ctcpFloodProtection.cpp create mode 100644 src/modules/options/OptionsWidget_ctcpFloodProtection.h create mode 100644 src/modules/options/OptionsWidget_dcc.cpp create mode 100644 src/modules/options/OptionsWidget_dcc.h create mode 100644 src/modules/options/OptionsWidget_general.cpp create mode 100644 src/modules/options/OptionsWidget_general.h create mode 100644 src/modules/options/OptionsWidget_identity.cpp create mode 100644 src/modules/options/OptionsWidget_identity.h create mode 100644 src/modules/options/OptionsWidget_ignore.cpp create mode 100644 src/modules/options/OptionsWidget_ignore.h create mode 100644 src/modules/options/OptionsWidget_input.cpp create mode 100644 src/modules/options/OptionsWidget_input.h create mode 100644 src/modules/options/OptionsWidget_interfaceFeatures.cpp create mode 100644 src/modules/options/OptionsWidget_interfaceFeatures.h create mode 100644 src/modules/options/OptionsWidget_irc.cpp create mode 100644 src/modules/options/OptionsWidget_irc.h create mode 100644 src/modules/options/OptionsWidget_ircOutput.cpp create mode 100644 src/modules/options/OptionsWidget_ircOutput.h create mode 100644 src/modules/options/OptionsWidget_ircView.cpp create mode 100644 src/modules/options/OptionsWidget_ircView.h create mode 100644 src/modules/options/OptionsWidget_lag.cpp create mode 100644 src/modules/options/OptionsWidget_lag.h create mode 100644 src/modules/options/OptionsWidget_logging.cpp create mode 100644 src/modules/options/OptionsWidget_logging.h create mode 100644 src/modules/options/OptionsWidget_mediaTypes.cpp create mode 100644 src/modules/options/OptionsWidget_mediaTypes.h create mode 100644 src/modules/options/OptionsWidget_message.cpp create mode 100644 src/modules/options/OptionsWidget_message.h create mode 100644 src/modules/options/OptionsWidget_nickserv.cpp create mode 100644 src/modules/options/OptionsWidget_nickserv.h create mode 100644 src/modules/options/OptionsWidget_notifier.cpp create mode 100644 src/modules/options/OptionsWidget_notifier.h create mode 100644 src/modules/options/OptionsWidget_notify.cpp create mode 100644 src/modules/options/OptionsWidget_notify.h create mode 100644 src/modules/options/OptionsWidget_protection.cpp create mode 100644 src/modules/options/OptionsWidget_protection.h create mode 100644 src/modules/options/OptionsWidget_proxy.cpp create mode 100644 src/modules/options/OptionsWidget_proxy.h create mode 100644 src/modules/options/OptionsWidget_query.cpp create mode 100644 src/modules/options/OptionsWidget_query.h create mode 100644 src/modules/options/OptionsWidget_servers.cpp create mode 100644 src/modules/options/OptionsWidget_servers.h create mode 100644 src/modules/options/OptionsWidget_sound.cpp create mode 100644 src/modules/options/OptionsWidget_sound.h create mode 100644 src/modules/options/OptionsWidget_textEncoding.cpp create mode 100644 src/modules/options/OptionsWidget_textEncoding.h create mode 100644 src/modules/options/OptionsWidget_textIcons.cpp create mode 100644 src/modules/options/OptionsWidget_textIcons.h create mode 100644 src/modules/options/OptionsWidget_theme.cpp create mode 100644 src/modules/options/OptionsWidget_theme.h create mode 100644 src/modules/options/OptionsWidget_tools.cpp create mode 100644 src/modules/options/OptionsWidget_tools.h create mode 100644 src/modules/options/OptionsWidget_topicLabel.cpp create mode 100644 src/modules/options/OptionsWidget_topicLabel.h create mode 100644 src/modules/options/OptionsWidget_tray.cpp create mode 100644 src/modules/options/OptionsWidget_tray.h create mode 100644 src/modules/options/OptionsWidget_uparser.cpp create mode 100644 src/modules/options/OptionsWidget_uparser.h create mode 100644 src/modules/options/OptionsWidget_urlHandlers.cpp create mode 100644 src/modules/options/OptionsWidget_urlHandlers.h create mode 100644 src/modules/options/OptionsWidget_userList.cpp create mode 100644 src/modules/options/OptionsWidget_userList.h create mode 100644 src/modules/options/OptionsWidget_windowList.cpp create mode 100644 src/modules/options/OptionsWidget_windowList.h delete mode 100644 src/modules/options/container.cpp delete mode 100644 src/modules/options/container.h delete mode 100644 src/modules/options/instances.cpp delete mode 100644 src/modules/options/instances.h delete mode 100644 src/modules/options/optw_antispam.cpp delete mode 100644 src/modules/options/optw_antispam.h delete mode 100644 src/modules/options/optw_avatar.cpp delete mode 100644 src/modules/options/optw_avatar.h delete mode 100644 src/modules/options/optw_away.cpp delete mode 100644 src/modules/options/optw_away.h delete mode 100644 src/modules/options/optw_channel.cpp delete mode 100644 src/modules/options/optw_channel.h delete mode 100644 src/modules/options/optw_connection.cpp delete mode 100644 src/modules/options/optw_connection.h delete mode 100644 src/modules/options/optw_ctcp.cpp delete mode 100644 src/modules/options/optw_ctcp.h delete mode 100644 src/modules/options/optw_ctcpfloodprotection.cpp delete mode 100644 src/modules/options/optw_ctcpfloodprotection.h delete mode 100644 src/modules/options/optw_dcc.cpp delete mode 100644 src/modules/options/optw_dcc.h delete mode 100644 src/modules/options/optw_generalopt.cpp delete mode 100644 src/modules/options/optw_generalopt.h delete mode 100644 src/modules/options/optw_highlighting.cpp delete mode 100644 src/modules/options/optw_highlighting.h delete mode 100644 src/modules/options/optw_identity.cpp delete mode 100644 src/modules/options/optw_identity.h delete mode 100644 src/modules/options/optw_ignore.cpp delete mode 100644 src/modules/options/optw_ignore.h delete mode 100644 src/modules/options/optw_input.cpp delete mode 100644 src/modules/options/optw_input.h delete mode 100644 src/modules/options/optw_interfacefeatures.cpp delete mode 100644 src/modules/options/optw_interfacefeatures.h delete mode 100644 src/modules/options/optw_interfacelookglobal.cpp delete mode 100644 src/modules/options/optw_interfacelookglobal.h delete mode 100644 src/modules/options/optw_irc.cpp delete mode 100644 src/modules/options/optw_irc.h delete mode 100644 src/modules/options/optw_ircoutput.cpp delete mode 100644 src/modules/options/optw_ircoutput.h delete mode 100644 src/modules/options/optw_ircview.cpp delete mode 100644 src/modules/options/optw_ircview.h delete mode 100644 src/modules/options/optw_lag.cpp delete mode 100644 src/modules/options/optw_lag.h delete mode 100644 src/modules/options/optw_logging.cpp delete mode 100644 src/modules/options/optw_logging.h delete mode 100644 src/modules/options/optw_mediatypes.cpp delete mode 100644 src/modules/options/optw_mediatypes.h delete mode 100644 src/modules/options/optw_messages.cpp delete mode 100644 src/modules/options/optw_messages.h delete mode 100644 src/modules/options/optw_nickserv.cpp delete mode 100644 src/modules/options/optw_nickserv.h delete mode 100644 src/modules/options/optw_notifier.cpp delete mode 100644 src/modules/options/optw_notifier.h delete mode 100644 src/modules/options/optw_notify.cpp delete mode 100644 src/modules/options/optw_notify.h delete mode 100644 src/modules/options/optw_protection.cpp delete mode 100644 src/modules/options/optw_protection.h delete mode 100644 src/modules/options/optw_proxy.cpp delete mode 100644 src/modules/options/optw_proxy.h delete mode 100644 src/modules/options/optw_query.cpp delete mode 100644 src/modules/options/optw_query.h delete mode 100644 src/modules/options/optw_servers.cpp delete mode 100644 src/modules/options/optw_servers.h delete mode 100644 src/modules/options/optw_sound.cpp delete mode 100644 src/modules/options/optw_sound.h delete mode 100644 src/modules/options/optw_textencoding.cpp delete mode 100644 src/modules/options/optw_textencoding.h delete mode 100644 src/modules/options/optw_texticons.cpp delete mode 100644 src/modules/options/optw_texticons.h delete mode 100644 src/modules/options/optw_tools.cpp delete mode 100644 src/modules/options/optw_tools.h delete mode 100644 src/modules/options/optw_topiclabel.cpp delete mode 100644 src/modules/options/optw_topiclabel.h delete mode 100644 src/modules/options/optw_tray.cpp delete mode 100644 src/modules/options/optw_tray.h delete mode 100644 src/modules/options/optw_uparser.cpp delete mode 100644 src/modules/options/optw_uparser.h delete mode 100644 src/modules/options/optw_urlhandlers.cpp delete mode 100644 src/modules/options/optw_urlhandlers.h delete mode 100644 src/modules/options/optw_userlist.cpp delete mode 100644 src/modules/options/optw_userlist.h delete mode 100644 src/modules/options/optw_windowlist.cpp delete mode 100644 src/modules/options/optw_windowlist.h (limited to 'src/modules/options') diff --git a/src/modules/options/CMakeLists.txt b/src/modules/options/CMakeLists.txt index eb96bbeaa..7973f9be0 100644 --- a/src/modules/options/CMakeLists.txt +++ b/src/modules/options/CMakeLists.txt @@ -1,94 +1,94 @@ # CMakeLists for src/modules/options SET(kvioptions_MOC_HDRS - container.h + OptionsWidgetContainer.h dialog.h - instances.h - optw_antispam.h - optw_avatar.h - optw_channel.h - optw_connection.h - optw_ctcp.h - optw_ctcpfloodprotection.h - optw_dcc.h - optw_generalopt.h - optw_highlighting.h - optw_identity.h - optw_ignore.h - optw_input.h - optw_interfacefeatures.h - optw_interfacelookglobal.h - optw_irc.h - optw_ircoutput.h - optw_ircview.h - optw_lag.h - optw_logging.h - optw_mediatypes.h - optw_messages.h - optw_nickserv.h - optw_notify.h - optw_notifier.h - optw_protection.h - optw_proxy.h - optw_query.h - optw_servers.h - optw_sound.h - optw_windowlist.h - optw_textencoding.h - optw_texticons.h - optw_tools.h - optw_topiclabel.h - optw_away.h - optw_uparser.h - optw_urlhandlers.h - optw_userlist.h - optw_tray.h + OptionsInstanceManager.h + OptionsWidget_antiSpam.h + OptionsWidget_avatar.h + OptionsWidget_channel.h + OptionsWidget_connection.h + OptionsWidget_ctcp.h + OptionsWidget_ctcpFloodProtection.h + OptionsWidget_dcc.h + OptionsWidget_general.h + OptionsWidget_alertsAndHighlighting.h + OptionsWidget_identity.h + OptionsWidget_ignore.h + OptionsWidget_input.h + OptionsWidget_interfaceFeatures.h + OptionsWidget_theme.h + OptionsWidget_irc.h + OptionsWidget_ircOutput.h + OptionsWidget_ircView.h + OptionsWidget_lag.h + OptionsWidget_logging.h + OptionsWidget_mediaTypes.h + OptionsWidget_message.h + OptionsWidget_nickserv.h + OptionsWidget_notify.h + OptionsWidget_notifier.h + OptionsWidget_protection.h + OptionsWidget_proxy.h + OptionsWidget_query.h + OptionsWidget_servers.h + OptionsWidget_sound.h + OptionsWidget_windowList.h + OptionsWidget_textEncoding.h + OptionsWidget_textIcons.h + OptionsWidget_tools.h + OptionsWidget_topicLabel.h + OptionsWidget_away.h + OptionsWidget_uparser.h + OptionsWidget_urlHandlers.h + OptionsWidget_userList.h + OptionsWidget_tray.h ) SET(kvioptions_SRCS libkvioptions.cpp - container.cpp + OptionsWidgetContainer.cpp dialog.cpp - instances.cpp - optw_antispam.cpp - optw_avatar.cpp - optw_channel.cpp - optw_connection.cpp - optw_ctcp.cpp - optw_ctcpfloodprotection.cpp - optw_dcc.cpp - optw_generalopt.cpp - optw_highlighting.cpp - optw_identity.cpp - optw_ignore.cpp - optw_input.cpp - optw_interfacefeatures.cpp - optw_interfacelookglobal.cpp - optw_irc.cpp - optw_ircoutput.cpp - optw_ircview.cpp - optw_lag.cpp - optw_logging.cpp - optw_mediatypes.cpp - optw_messages.cpp - optw_nickserv.cpp - optw_notify.cpp - optw_notifier.cpp - optw_protection.cpp - optw_proxy.cpp - optw_query.cpp - optw_servers.cpp - optw_sound.cpp - optw_windowlist.cpp - optw_textencoding.cpp - optw_texticons.cpp - optw_tools.cpp - optw_topiclabel.cpp - optw_away.cpp - optw_uparser.cpp - optw_urlhandlers.cpp - optw_userlist.cpp - optw_tray.cpp + OptionsInstanceManager.cpp + OptionsWidget_antiSpam.cpp + OptionsWidget_avatar.cpp + OptionsWidget_channel.cpp + OptionsWidget_connection.cpp + OptionsWidget_ctcp.cpp + OptionsWidget_ctcpFloodProtection.cpp + OptionsWidget_dcc.cpp + OptionsWidget_general.cpp + OptionsWidget_alertsAndHighlighting.cpp + OptionsWidget_identity.cpp + OptionsWidget_ignore.cpp + OptionsWidget_input.cpp + OptionsWidget_interfaceFeatures.cpp + OptionsWidget_theme.cpp + OptionsWidget_irc.cpp + OptionsWidget_ircOutput.cpp + OptionsWidget_ircView.cpp + OptionsWidget_lag.cpp + OptionsWidget_logging.cpp + OptionsWidget_mediaTypes.cpp + OptionsWidget_message.cpp + OptionsWidget_nickserv.cpp + OptionsWidget_notify.cpp + OptionsWidget_notifier.cpp + OptionsWidget_protection.cpp + OptionsWidget_proxy.cpp + OptionsWidget_query.cpp + OptionsWidget_servers.cpp + OptionsWidget_sound.cpp + OptionsWidget_windowList.cpp + OptionsWidget_textEncoding.cpp + OptionsWidget_textIcons.cpp + OptionsWidget_tools.cpp + OptionsWidget_topicLabel.cpp + OptionsWidget_away.cpp + OptionsWidget_uparser.cpp + OptionsWidget_urlHandlers.cpp + OptionsWidget_userList.cpp + OptionsWidget_tray.cpp ) # After this call, files will be moc'ed to moc_kvi_*.cpp diff --git a/src/modules/options/OptionsInstanceManager.cpp b/src/modules/options/OptionsInstanceManager.cpp new file mode 100644 index 000000000..9e767f36e --- /dev/null +++ b/src/modules/options/OptionsInstanceManager.cpp @@ -0,0 +1,3695 @@ + + +//============================================================================= +// +// File : OptionsInstanceManager.cpp +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2008 Szymon Stefanek (stefanek@tin.it) +// +// 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. +// +//============================================================================= + +// +// Instance creation routines for the KVIrc options module +// DO NOT EDIT THIS FILE!! ALL CHANGES WILL BE LOST!! +// This file is automatically generated by mkcreateinstanceproc.sh +// so any change should go in that script +// + +#include "OptionsWidget_antiSpam.h" +#include "OptionsWidget_avatar.h" +#include "OptionsWidget_away.h" +#include "OptionsWidget_channel.h" +#include "OptionsWidget_connection.h" +#include "OptionsWidget_ctcp.h" +#include "OptionsWidget_ctcpFloodProtection.h" +#include "OptionsWidget_dcc.h" +#include "OptionsWidget_general.h" +#include "OptionsWidget_alertsAndHighlighting.h" +#include "OptionsWidget_identity.h" +#include "OptionsWidget_ignore.h" +#include "OptionsWidget_input.h" +#include "OptionsWidget_interfaceFeatures.h" +#include "OptionsWidget_theme.h" +#include "OptionsWidget_irc.h" +#include "OptionsWidget_ircOutput.h" +#include "OptionsWidget_ircView.h" +#include "OptionsWidget_lag.h" +#include "OptionsWidget_logging.h" +#include "OptionsWidget_mediaTypes.h" +#include "OptionsWidget_message.h" +#include "OptionsWidget_nickserv.h" +#include "OptionsWidget_notifier.h" +#include "OptionsWidget_notify.h" +#include "OptionsWidget_protection.h" +#include "OptionsWidget_proxy.h" +#include "OptionsWidget_query.h" +#include "OptionsWidget_servers.h" +#include "OptionsWidget_sound.h" +#include "OptionsWidget_textEncoding.h" +#include "OptionsWidget_textIcons.h" +#include "OptionsWidget_tools.h" +#include "OptionsWidget_topicLabel.h" +#include "OptionsWidget_tray.h" +#include "OptionsWidget_uparser.h" +#include "OptionsWidget_urlHandlers.h" +#include "OptionsWidget_userList.h" +#include "OptionsWidget_windowList.h" + +#include "KviLocale.h" +#include "KviIconManager.h" +#include "OptionsInstanceManager.h" + +int g_iOptionWidgetInstances = 0; + +KviOptionsWidget * classKviAntispamOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_antispam(parent); +} + +KviOptionsWidget * classKviAvatarAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_avatar(parent); +} + +KviOptionsWidget * classKviAwayOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_away(parent); +} + +KviOptionsWidget * classKviChannelOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_channel(parent); +} + +KviOptionsWidget * classKviChannelGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_channelGeneral(parent); +} + +KviOptionsWidget * classKviChannelAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_channelAdvanced(parent); +} + +KviOptionsWidget * classKviConnectionOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_connection(parent); +} + +KviOptionsWidget * classKviConnectionAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_connectionAdvanced(parent); +} + +KviOptionsWidget * classKviSSLOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_connectionSsl(parent); +} + +KviOptionsWidget * classKviTransportOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_connectionSocket(parent); +} + +KviOptionsWidget * classKviIdentOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_identService(parent); +} + +KviOptionsWidget * classKviCtcpOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ctcp(parent); +} + +KviOptionsWidget * classKviCtcpFloodProtectionOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ctcpFloodProtection(parent); +} + +KviOptionsWidget * classKviDccOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dcc(parent); +} + +KviOptionsWidget * classKviDccGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccGeneral(parent); +} + +KviOptionsWidget * classKviDccAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccAdvanced(parent); +} + +KviOptionsWidget * classKviDccSendOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccSend(parent); +} + +KviOptionsWidget * classKviDccSendGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccSendGeneral(parent); +} + +KviOptionsWidget * classKviDccSendAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccSendAdvanced(parent); +} + +KviOptionsWidget * classKviDccChatOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccChat(parent); +} + +KviOptionsWidget * classKviDccVoiceOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_dccVoice(parent); +} + +KviOptionsWidget * classKviGeneralOptOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_general(parent); +} + +KviOptionsWidget * classKviAlertHighlightingOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_alertsAndHighlighting(parent); +} + +KviOptionsWidget * classKviHighlightingOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_highlighting(parent); +} + +KviOptionsWidget * classKviAlertOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_alerts(parent); +} + +KviOptionsWidget * classKviIdentityOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_identity(parent); +} + +KviOptionsWidget * classKviIdentityGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new KviIdentityGeneralOptionsWidget(parent); +} + +KviOptionsWidget * classKviIdentityAvatarOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_identityAvatar(parent); +} + +KviOptionsWidget * classKviIdentityAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_identityAdvanced(parent); +} + +KviOptionsWidget * classKviIdentityProfileOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_identityProfile(parent); +} + +KviOptionsWidget * classKviIgnoreOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ignore(parent); +} + +KviOptionsWidget * classKviInputLookOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_inputLook(parent); +} + +KviOptionsWidget * classKviInputFeaturesOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_inputFeatures(parent); +} + +KviOptionsWidget * classKviInterfaceFeaturesOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_interfaceFeatures(parent); +} + +KviOptionsWidget * classKviThemeGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_theme(parent); +} + +KviOptionsWidget * classKviThemeTransparencyOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_themeTransparency(parent); +} + +KviOptionsWidget * classKviThemeMdiAreaOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_themeMdiArea(parent); +} + +KviOptionsWidget * classKviThemeToolBarAppletsOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_themeToolBarApplets(parent); +} + +KviOptionsWidget * classKviIrcOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_irc(parent); +} + +KviOptionsWidget * classKviIrcGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircGeneral(parent); +} + +KviOptionsWidget * classKviIrcAdvancedOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircAdvanced(parent); +} + +KviOptionsWidget * classKviIrcOutputOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircOutput(parent); +} + +KviOptionsWidget * classKviIrcViewThemeOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircViewTheme(parent); +} + +KviOptionsWidget * classKviIrcViewLookOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircViewLook(parent); +} + +KviOptionsWidget * classKviIrcViewFeaturesOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircViewFeatures(parent); +} + +KviOptionsWidget * classKviIrcViewMarkerOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_ircViewMarker(parent); +} + +KviOptionsWidget * classKviLagOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_lag(parent); +} + +KviOptionsWidget * classKviLoggingOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_logging(parent); +} + +KviOptionsWidget * classKviMediaTypesOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_mediaTypes(parent); +} + +KviOptionsWidget * classKviMessageOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_message(parent); +} + +KviOptionsWidget * classKviPrivmsgOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_privmsg(parent); +} + +KviOptionsWidget * classKviTimestampOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_timestamp(parent); +} + +KviOptionsWidget * classKviMessageColorsOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_messageColors(parent); +} + +KviOptionsWidget * classKviStandardColorsOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_standardColors(parent); +} + +KviOptionsWidget * classKviNickServOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_nickServ(parent); +} + +KviOptionsWidget * classKviNotifierLookOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_notifierLook(parent); +} + +KviOptionsWidget * classKviNotifierOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_notifier(parent); +} + +KviOptionsWidget * classKviNotifyOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_notify(parent); +} + +KviOptionsWidget * classKviProtectionOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_protection(parent); +} + +KviOptionsWidget * classKviProxyOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_proxy(parent); +} + +KviOptionsWidget * classKviQueryOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_query(parent); +} + +KviOptionsWidget * classKviIrcServerOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_servers(parent); +} + +KviOptionsWidget * classKviSoundOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_sound(parent); +} + +KviOptionsWidget * classKviSoundGeneralOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_soundGeneral(parent); +} + +KviOptionsWidget * classKviSoundsOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_sounds(parent); +} + +KviOptionsWidget * classKviTextEncodingOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_textEncoding(parent); +} + +KviOptionsWidget * classKviTextIconsOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_textIcons(parent); +} + +KviOptionsWidget * classKviToolsOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_tools(parent); +} + +KviOptionsWidget * classKviTopicLabelLookOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_topicLabel(parent); +} + +KviOptionsWidget * classKviTrayOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_tray(parent); +} + +KviOptionsWidget * classKviUParserOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_uparser(parent); +} + +KviOptionsWidget * classKviUrlHandlersOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_urlHandlers(parent); +} + +KviOptionsWidget * classKviUserListLookOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_userList(parent); +} + +KviOptionsWidget * classKviUserListLookBackgroundOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_userListBackground(parent); +} + +KviOptionsWidget * classKviUserListLookForegroundOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_userListForeground(parent); +} + +KviOptionsWidget * classKviUserListGridOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_userListGrid(parent); +} + +KviOptionsWidget * classKviUserListFeaturesOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_userListFeatures(parent); +} + +KviOptionsWidget * classKviWindowListOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_windowList(parent); +} + +KviOptionsWidget * classKviTreeWindowListOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_windowListTree(parent); +} + +KviOptionsWidget * classKviTreeWindowListForegroundOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_windowListTreeForeground(parent); +} + +KviOptionsWidget * classKviTreeWindowListBackgroundOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_windowListTreeBackground(parent); +} + +KviOptionsWidget * classKviTreeWindowListFeaturesOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_windowListTreeFeatures(parent); +} + +KviOptionsWidget * classKviClassicWindowListOptionsWidget_createInstanceProc(QWidget * parent) +{ + return new OptionsWidget_windowListClassic(parent); +} + + + +static const char * g_szName_KviAntispamOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAntispamOptionsWidget; +static const char * g_szClassName_KviAntispamOptionsWidget = "OptionsWidget_antispam"; +static const char * g_szName_KviAvatarAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAvatarAdvancedOptionsWidget; +static const char * g_szClassName_KviAvatarAdvancedOptionsWidget = "OptionsWidget_avatar"; +static const char * g_szName_KviAwayOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAwayOptionsWidget; +static const char * g_szClassName_KviAwayOptionsWidget = "OptionsWidget_away"; +static const char * g_szName_KviChannelOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviChannelOptionsWidget; +static const char * g_szClassName_KviChannelOptionsWidget = "OptionsWidget_channel"; +static const char * g_szName_KviChannelGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviChannelGeneralOptionsWidget; +static const char * g_szClassName_KviChannelGeneralOptionsWidget = "OptionsWidget_channelGeneral"; +static const char * g_szName_KviChannelAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviChannelAdvancedOptionsWidget; +static const char * g_szClassName_KviChannelAdvancedOptionsWidget = "OptionsWidget_channelAdvanced"; +static const char * g_szName_KviConnectionOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviConnectionOptionsWidget; +static const char * g_szClassName_KviConnectionOptionsWidget = "OptionsWidget_connection"; +static const char * g_szName_KviConnectionAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviConnectionAdvancedOptionsWidget; +static const char * g_szClassName_KviConnectionAdvancedOptionsWidget = "OptionsWidget_connectionAdvanced"; +static const char * g_szName_KviSSLOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSSLOptionsWidget; +static const char * g_szClassName_KviSSLOptionsWidget = "OptionsWidget_connectionSsl"; +static const char * g_szName_KviTransportOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTransportOptionsWidget; +static const char * g_szClassName_KviTransportOptionsWidget = "OptionsWidget_connectionSocket"; +static const char * g_szName_KviIdentOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentOptionsWidget; +static const char * g_szClassName_KviIdentOptionsWidget = "OptionsWidget_identService"; +static const char * g_szName_KviCtcpOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviCtcpOptionsWidget; +static const char * g_szClassName_KviCtcpOptionsWidget = "OptionsWidget_ctcp"; +static const char * g_szName_KviCtcpFloodProtectionOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviCtcpFloodProtectionOptionsWidget; +static const char * g_szClassName_KviCtcpFloodProtectionOptionsWidget = "OptionsWidget_ctcpFloodProtection"; +static const char * g_szName_KviDccOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccOptionsWidget; +static const char * g_szClassName_KviDccOptionsWidget = "OptionsWidget_dcc"; +static const char * g_szName_KviDccGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccGeneralOptionsWidget; +static const char * g_szClassName_KviDccGeneralOptionsWidget = "OptionsWidget_dccGeneral"; +static const char * g_szName_KviDccAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccAdvancedOptionsWidget; +static const char * g_szClassName_KviDccAdvancedOptionsWidget = "OptionsWidget_dccAdvanced"; +static const char * g_szName_KviDccSendOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccSendOptionsWidget; +static const char * g_szClassName_KviDccSendOptionsWidget = "OptionsWidget_dccSend"; +static const char * g_szName_KviDccSendGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccSendGeneralOptionsWidget; +static const char * g_szClassName_KviDccSendGeneralOptionsWidget = "OptionsWidget_dccSendGeneral"; +static const char * g_szName_KviDccSendAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccSendAdvancedOptionsWidget; +static const char * g_szClassName_KviDccSendAdvancedOptionsWidget = "OptionsWidget_dccSendAdvanced"; +static const char * g_szName_KviDccChatOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccChatOptionsWidget; +static const char * g_szClassName_KviDccChatOptionsWidget = "OptionsWidget_dccChat"; +static const char * g_szName_KviDccVoiceOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccVoiceOptionsWidget; +static const char * g_szClassName_KviDccVoiceOptionsWidget = "OptionsWidget_dccVoice"; +static const char * g_szName_KviGeneralOptOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviGeneralOptOptionsWidget; +static const char * g_szClassName_KviGeneralOptOptionsWidget = "OptionsWidget_general"; +static const char * g_szName_KviAlertHighlightingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAlertHighlightingOptionsWidget; +static const char * g_szClassName_KviAlertHighlightingOptionsWidget = "OptionsWidget_alertsAndHighlighting"; +static const char * g_szName_KviHighlightingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviHighlightingOptionsWidget; +static const char * g_szClassName_KviHighlightingOptionsWidget = "OptionsWidget_highlighting"; +static const char * g_szName_KviAlertOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAlertOptionsWidget; +static const char * g_szClassName_KviAlertOptionsWidget = "OptionsWidget_alerts"; +static const char * g_szName_KviIdentityOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityOptionsWidget; +static const char * g_szClassName_KviIdentityOptionsWidget = "OptionsWidget_identity"; +static const char * g_szName_KviIdentityGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityGeneralOptionsWidget; +static const char * g_szClassName_KviIdentityGeneralOptionsWidget = "KviIdentityGeneralOptionsWidget"; +static const char * g_szName_KviIdentityAvatarOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityAvatarOptionsWidget; +static const char * g_szClassName_KviIdentityAvatarOptionsWidget = "OptionsWidget_identityAvatar"; +static const char * g_szName_KviIdentityAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityAdvancedOptionsWidget; +static const char * g_szClassName_KviIdentityAdvancedOptionsWidget = "OptionsWidget_identityAdvanced"; +static const char * g_szName_KviIdentityProfileOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityProfileOptionsWidget; +static const char * g_szClassName_KviIdentityProfileOptionsWidget = "OptionsWidget_identityProfile"; +static const char * g_szName_KviIgnoreOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIgnoreOptionsWidget; +static const char * g_szClassName_KviIgnoreOptionsWidget = "OptionsWidget_ignore"; +static const char * g_szName_KviInputLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviInputLookOptionsWidget; +static const char * g_szClassName_KviInputLookOptionsWidget = "OptionsWidget_inputLook"; +static const char * g_szName_KviInputFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviInputFeaturesOptionsWidget; +static const char * g_szClassName_KviInputFeaturesOptionsWidget = "OptionsWidget_inputFeatures"; +static const char * g_szName_KviInterfaceFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviInterfaceFeaturesOptionsWidget; +static const char * g_szClassName_KviInterfaceFeaturesOptionsWidget = "OptionsWidget_interfaceFeatures"; +static const char * g_szName_KviThemeGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeGeneralOptionsWidget; +static const char * g_szClassName_KviThemeGeneralOptionsWidget = "OptionsWidget_theme"; +static const char * g_szName_KviThemeTransparencyOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeTransparencyOptionsWidget; +static const char * g_szClassName_KviThemeTransparencyOptionsWidget = "OptionsWidget_themeTransparency"; +static const char * g_szName_KviThemeMdiAreaOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeMdiAreaOptionsWidget; +static const char * g_szClassName_KviThemeMdiAreaOptionsWidget = "OptionsWidget_themeMdiArea"; +static const char * g_szName_KviThemeToolBarAppletsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeToolBarAppletsOptionsWidget; +static const char * g_szClassName_KviThemeToolBarAppletsOptionsWidget = "OptionsWidget_themeToolBarApplets"; +static const char * g_szName_KviIrcOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcOptionsWidget; +static const char * g_szClassName_KviIrcOptionsWidget = "OptionsWidget_irc"; +static const char * g_szName_KviIrcGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcGeneralOptionsWidget; +static const char * g_szClassName_KviIrcGeneralOptionsWidget = "OptionsWidget_ircGeneral"; +static const char * g_szName_KviIrcAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcAdvancedOptionsWidget; +static const char * g_szClassName_KviIrcAdvancedOptionsWidget = "OptionsWidget_ircAdvanced"; +static const char * g_szName_KviIrcOutputOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcOutputOptionsWidget; +static const char * g_szClassName_KviIrcOutputOptionsWidget = "OptionsWidget_ircOutput"; +static const char * g_szName_KviIrcViewThemeOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewThemeOptionsWidget; +static const char * g_szClassName_KviIrcViewThemeOptionsWidget = "OptionsWidget_ircViewTheme"; +static const char * g_szName_KviIrcViewLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewLookOptionsWidget; +static const char * g_szClassName_KviIrcViewLookOptionsWidget = "OptionsWidget_ircViewLook"; +static const char * g_szName_KviIrcViewFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewFeaturesOptionsWidget; +static const char * g_szClassName_KviIrcViewFeaturesOptionsWidget = "OptionsWidget_ircViewFeatures"; +static const char * g_szName_KviIrcViewMarkerOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewMarkerOptionsWidget; +static const char * g_szClassName_KviIrcViewMarkerOptionsWidget = "OptionsWidget_ircViewMarker"; +static const char * g_szName_KviLagOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviLagOptionsWidget; +static const char * g_szClassName_KviLagOptionsWidget = "OptionsWidget_lag"; +static const char * g_szName_KviLoggingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviLoggingOptionsWidget; +static const char * g_szClassName_KviLoggingOptionsWidget = "OptionsWidget_logging"; +static const char * g_szName_KviMediaTypesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviMediaTypesOptionsWidget; +static const char * g_szClassName_KviMediaTypesOptionsWidget = "OptionsWidget_mediaTypes"; +static const char * g_szName_KviMessageOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviMessageOptionsWidget; +static const char * g_szClassName_KviMessageOptionsWidget = "OptionsWidget_message"; +static const char * g_szName_KviPrivmsgOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviPrivmsgOptionsWidget; +static const char * g_szClassName_KviPrivmsgOptionsWidget = "OptionsWidget_privmsg"; +static const char * g_szName_KviTimestampOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTimestampOptionsWidget; +static const char * g_szClassName_KviTimestampOptionsWidget = "OptionsWidget_timestamp"; +static const char * g_szName_KviMessageColorsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviMessageColorsOptionsWidget; +static const char * g_szClassName_KviMessageColorsOptionsWidget = "OptionsWidget_messageColors"; +static const char * g_szName_KviStandardColorsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviStandardColorsOptionsWidget; +static const char * g_szClassName_KviStandardColorsOptionsWidget = "OptionsWidget_standardColors"; +static const char * g_szName_KviNickServOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNickServOptionsWidget; +static const char * g_szClassName_KviNickServOptionsWidget = "OptionsWidget_nickServ"; +static const char * g_szName_KviNotifierLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNotifierLookOptionsWidget; +static const char * g_szClassName_KviNotifierLookOptionsWidget = "OptionsWidget_notifierLook"; +static const char * g_szName_KviNotifierOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNotifierOptionsWidget; +static const char * g_szClassName_KviNotifierOptionsWidget = "OptionsWidget_notifier"; +static const char * g_szName_KviNotifyOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNotifyOptionsWidget; +static const char * g_szClassName_KviNotifyOptionsWidget = "OptionsWidget_notify"; +static const char * g_szName_KviProtectionOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviProtectionOptionsWidget; +static const char * g_szClassName_KviProtectionOptionsWidget = "OptionsWidget_protection"; +static const char * g_szName_KviProxyOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviProxyOptionsWidget; +static const char * g_szClassName_KviProxyOptionsWidget = "OptionsWidget_proxy"; +static const char * g_szName_KviQueryOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviQueryOptionsWidget; +static const char * g_szClassName_KviQueryOptionsWidget = "OptionsWidget_query"; +static const char * g_szName_KviIrcServerOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcServerOptionsWidget; +static const char * g_szClassName_KviIrcServerOptionsWidget = "OptionsWidget_servers"; +static const char * g_szName_KviSoundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSoundOptionsWidget; +static const char * g_szClassName_KviSoundOptionsWidget = "OptionsWidget_sound"; +static const char * g_szName_KviSoundGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSoundGeneralOptionsWidget; +static const char * g_szClassName_KviSoundGeneralOptionsWidget = "OptionsWidget_soundGeneral"; +static const char * g_szName_KviSoundsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSoundsOptionsWidget; +static const char * g_szClassName_KviSoundsOptionsWidget = "OptionsWidget_sounds"; +static const char * g_szName_KviTextEncodingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTextEncodingOptionsWidget; +static const char * g_szClassName_KviTextEncodingOptionsWidget = "OptionsWidget_textEncoding"; +static const char * g_szName_KviTextIconsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTextIconsOptionsWidget; +static const char * g_szClassName_KviTextIconsOptionsWidget = "OptionsWidget_textIcons"; +static const char * g_szName_KviToolsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviToolsOptionsWidget; +static const char * g_szClassName_KviToolsOptionsWidget = "OptionsWidget_tools"; +static const char * g_szName_KviTopicLabelLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTopicLabelLookOptionsWidget; +static const char * g_szClassName_KviTopicLabelLookOptionsWidget = "OptionsWidget_topicLabel"; +static const char * g_szName_KviTrayOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTrayOptionsWidget; +static const char * g_szClassName_KviTrayOptionsWidget = "OptionsWidget_tray"; +static const char * g_szName_KviUParserOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUParserOptionsWidget; +static const char * g_szClassName_KviUParserOptionsWidget = "OptionsWidget_uparser"; +static const char * g_szName_KviUrlHandlersOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUrlHandlersOptionsWidget; +static const char * g_szClassName_KviUrlHandlersOptionsWidget = "OptionsWidget_urlHandlers"; +static const char * g_szName_KviUserListLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListLookOptionsWidget; +static const char * g_szClassName_KviUserListLookOptionsWidget = "OptionsWidget_userList"; +static const char * g_szName_KviUserListLookBackgroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListLookBackgroundOptionsWidget; +static const char * g_szClassName_KviUserListLookBackgroundOptionsWidget = "OptionsWidget_userListBackground"; +static const char * g_szName_KviUserListLookForegroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListLookForegroundOptionsWidget; +static const char * g_szClassName_KviUserListLookForegroundOptionsWidget = "OptionsWidget_userListForeground"; +static const char * g_szName_KviUserListGridOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListGridOptionsWidget; +static const char * g_szClassName_KviUserListGridOptionsWidget = "OptionsWidget_userListGrid"; +static const char * g_szName_KviUserListFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListFeaturesOptionsWidget; +static const char * g_szClassName_KviUserListFeaturesOptionsWidget = "OptionsWidget_userListFeatures"; +static const char * g_szName_KviWindowListOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviWindowListOptionsWidget; +static const char * g_szClassName_KviWindowListOptionsWidget = "OptionsWidget_windowList"; +static const char * g_szName_KviTreeWindowListOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListOptionsWidget; +static const char * g_szClassName_KviTreeWindowListOptionsWidget = "OptionsWidget_windowListTree"; +static const char * g_szName_KviTreeWindowListForegroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListForegroundOptionsWidget; +static const char * g_szClassName_KviTreeWindowListForegroundOptionsWidget = "OptionsWidget_windowListTreeForeground"; +static const char * g_szName_KviTreeWindowListBackgroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListBackgroundOptionsWidget; +static const char * g_szClassName_KviTreeWindowListBackgroundOptionsWidget = "OptionsWidget_windowListTreeBackground"; +static const char * g_szName_KviTreeWindowListFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListFeaturesOptionsWidget; +static const char * g_szClassName_KviTreeWindowListFeaturesOptionsWidget = "OptionsWidget_windowListTreeFeatures"; +static const char * g_szName_KviClassicWindowListOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviClassicWindowListOptionsWidget; +static const char * g_szClassName_KviClassicWindowListOptionsWidget = "OptionsWidget_windowListClassic"; + +OptionsInstanceManager::OptionsInstanceManager() +: QObject(0) +{ + + //qDebug("Instantiating"); + // Create the global widget dict : case sensitive, do not copy keys + m_pInstanceTree = new KviPointerList; + m_pInstanceTree->setAutoDelete(true); + + + OptionsWidgetInstanceEntry * e0; + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviConnectionOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviConnectionOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviConnectionOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviConnectionOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviConnectionOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviConnectionOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviConnectionOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + OptionsWidgetInstanceEntry * e1; + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviConnectionAdvancedOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviConnectionAdvancedOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviConnectionAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionAdvancedOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionAdvancedOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionAdvancedOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionAdvancedOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviConnectionAdvancedOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviConnectionAdvancedOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionAdvancedOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionAdvancedOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionAdvancedOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionAdvancedOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviConnectionAdvancedOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviConnectionAdvancedOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + OptionsWidgetInstanceEntry * e2; + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviSSLOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviSSLOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSSLOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSSLOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSSLOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSSLOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSSLOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSSLOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSSLOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSSLOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSSLOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSSLOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSSLOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviSSLOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSSLOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviTransportOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviTransportOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTransportOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTransportOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTransportOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTransportOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTransportOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTransportOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTransportOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTransportOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTransportOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTransportOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTransportOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviTransportOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTransportOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviIdentOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviIdentOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviIdentOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviProxyOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviProxyOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviProxyOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviProxyOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviProxyOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviProxyOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviProxyOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviProxyOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviProxyOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviProxyOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviProxyOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProxyOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProxyOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviProxyOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviProxyOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviDccOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviDccOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviDccOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviDccGeneralOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviDccGeneralOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccGeneralOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccGeneralOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccGeneralOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccGeneralOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccGeneralOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccGeneralOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccGeneralOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccGeneralOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccGeneralOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccGeneralOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviDccGeneralOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccGeneralOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviDccAdvancedOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviDccAdvancedOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccAdvancedOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccAdvancedOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccAdvancedOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccAdvancedOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccAdvancedOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccAdvancedOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccAdvancedOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccAdvancedOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccAdvancedOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccAdvancedOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviDccAdvancedOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccAdvancedOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviDccSendOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviDccSendOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccSendOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccSendOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccSendOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviDccSendOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccSendOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviDccSendGeneralOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviDccSendGeneralOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccSendGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendGeneralOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendGeneralOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendGeneralOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendGeneralOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccSendGeneralOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccSendGeneralOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendGeneralOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendGeneralOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendGeneralOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendGeneralOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviDccSendGeneralOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccSendGeneralOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviDccSendAdvancedOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviDccSendAdvancedOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccSendAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendAdvancedOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendAdvancedOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendAdvancedOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendAdvancedOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccSendAdvancedOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccSendAdvancedOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendAdvancedOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendAdvancedOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendAdvancedOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendAdvancedOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviDccSendAdvancedOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccSendAdvancedOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviDccChatOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviDccChatOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccChatOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccChatOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccChatOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccChatOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccChatOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccChatOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccChatOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccChatOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccChatOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccChatOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccChatOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviDccChatOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccChatOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviDccVoiceOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviDccVoiceOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccVoiceOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccVoiceOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccVoiceOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccVoiceOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccVoiceOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccVoiceOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccVoiceOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccVoiceOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccVoiceOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccVoiceOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccVoiceOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviDccVoiceOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccVoiceOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviGeneralOptOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviGeneralOptOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviGeneralOptOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviGeneralOptOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviGeneralOptOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviGeneralOptOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviGeneralOptOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviGeneralOptOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviGeneralOptOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviGeneralOptOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviGeneralOptOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviGeneralOptOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviGeneralOptOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviGeneralOptOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviGeneralOptOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviMediaTypesOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviMediaTypesOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviMediaTypesOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviMediaTypesOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviMediaTypesOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviMediaTypesOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviMediaTypesOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviMediaTypesOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviMediaTypesOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviMediaTypesOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviMediaTypesOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMediaTypesOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMediaTypesOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviMediaTypesOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviMediaTypesOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviSoundOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviSoundOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSoundOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSoundOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSoundOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSoundOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSoundOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSoundOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSoundOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviSoundOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSoundOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviSoundGeneralOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviSoundGeneralOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSoundGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSoundGeneralOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSoundGeneralOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundGeneralOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundGeneralOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSoundGeneralOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSoundGeneralOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSoundGeneralOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSoundGeneralOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundGeneralOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundGeneralOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviSoundGeneralOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSoundGeneralOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviSoundsOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviSoundsOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSoundsOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSoundsOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSoundsOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundsOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundsOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSoundsOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSoundsOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSoundsOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSoundsOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundsOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundsOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviSoundsOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSoundsOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviTextEncodingOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviTextEncodingOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTextEncodingOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTextEncodingOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTextEncodingOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTextEncodingOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTextEncodingOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTextEncodingOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTextEncodingOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTextEncodingOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTextEncodingOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextEncodingOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextEncodingOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviTextEncodingOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTextEncodingOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviUParserOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviUParserOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUParserOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUParserOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUParserOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUParserOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUParserOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUParserOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUParserOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUParserOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUParserOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUParserOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUParserOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviUParserOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUParserOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviUrlHandlersOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviUrlHandlersOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUrlHandlersOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUrlHandlersOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUrlHandlersOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUrlHandlersOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUrlHandlersOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUrlHandlersOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUrlHandlersOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUrlHandlersOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUrlHandlersOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUrlHandlersOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUrlHandlersOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviUrlHandlersOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUrlHandlersOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviIdentityOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviIdentityOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviIdentityOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIdentityGeneralOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIdentityGeneralOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityGeneralOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityGeneralOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityGeneralOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityGeneralOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityGeneralOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityGeneralOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityGeneralOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityGeneralOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityGeneralOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityGeneralOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIdentityGeneralOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityGeneralOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIdentityAvatarOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIdentityAvatarOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityAvatarOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAvatarOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAvatarOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAvatarOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAvatarOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityAvatarOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityAvatarOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAvatarOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAvatarOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAvatarOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAvatarOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIdentityAvatarOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityAvatarOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIdentityAdvancedOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIdentityAdvancedOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAdvancedOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAdvancedOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAdvancedOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAdvancedOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityAdvancedOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityAdvancedOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAdvancedOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAdvancedOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAdvancedOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAdvancedOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIdentityAdvancedOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityAdvancedOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIdentityProfileOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIdentityProfileOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityProfileOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityProfileOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityProfileOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityProfileOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityProfileOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityProfileOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityProfileOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityProfileOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityProfileOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityProfileOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityProfileOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIdentityProfileOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityProfileOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviInputLookOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviInputLookOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviInputLookOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviInputLookOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviInputLookOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviInputLookOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviInputLookOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviInputLookOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviInputLookOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviInputLookOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviInputLookOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputLookOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputLookOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviInputLookOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviInputLookOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviInterfaceFeaturesOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviInterfaceFeaturesOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviInterfaceFeaturesOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviInterfaceFeaturesOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviInterfaceFeaturesOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviInterfaceFeaturesOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviInterfaceFeaturesOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviInterfaceFeaturesOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviInterfaceFeaturesOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviInterfaceFeaturesOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviInterfaceFeaturesOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInterfaceFeaturesOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInterfaceFeaturesOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviInterfaceFeaturesOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviInterfaceFeaturesOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviInputFeaturesOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviInputFeaturesOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviInputFeaturesOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviInputFeaturesOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviInputFeaturesOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviInputFeaturesOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviInputFeaturesOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviInputFeaturesOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviInputFeaturesOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviInputFeaturesOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviInputFeaturesOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputFeaturesOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputFeaturesOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviInputFeaturesOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviInputFeaturesOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviNotifierOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviNotifierOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNotifierOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNotifierOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNotifierOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviNotifierOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNotifierOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviTrayOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviTrayOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTrayOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTrayOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTrayOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTrayOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTrayOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTrayOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTrayOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTrayOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTrayOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTrayOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTrayOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviTrayOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTrayOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviThemeGeneralOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviThemeGeneralOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeGeneralOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeGeneralOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeGeneralOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeGeneralOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeGeneralOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeGeneralOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeGeneralOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeGeneralOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeGeneralOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeGeneralOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviThemeGeneralOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeGeneralOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviThemeTransparencyOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviThemeTransparencyOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeTransparencyOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeTransparencyOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeTransparencyOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeTransparencyOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeTransparencyOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeTransparencyOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeTransparencyOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeTransparencyOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeTransparencyOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeTransparencyOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeTransparencyOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviThemeTransparencyOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeTransparencyOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviThemeMdiAreaOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviThemeMdiAreaOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeMdiAreaOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeMdiAreaOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeMdiAreaOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeMdiAreaOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeMdiAreaOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeMdiAreaOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeMdiAreaOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeMdiAreaOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeMdiAreaOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeMdiAreaOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeMdiAreaOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviThemeMdiAreaOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeMdiAreaOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviThemeToolBarAppletsOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviThemeToolBarAppletsOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeToolBarAppletsOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeToolBarAppletsOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeToolBarAppletsOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeToolBarAppletsOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeToolBarAppletsOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeToolBarAppletsOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeToolBarAppletsOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeToolBarAppletsOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeToolBarAppletsOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeToolBarAppletsOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeToolBarAppletsOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviThemeToolBarAppletsOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeToolBarAppletsOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviIrcOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviIrcOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviIrcOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviChannelOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviChannelOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviChannelOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviChannelOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviChannelOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviChannelOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviChannelOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviChannelOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviChannelOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviChannelOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviChannelOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviChannelGeneralOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviChannelGeneralOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviChannelGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviChannelGeneralOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviChannelGeneralOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelGeneralOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelGeneralOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviChannelGeneralOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviChannelGeneralOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviChannelGeneralOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviChannelGeneralOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelGeneralOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelGeneralOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviChannelGeneralOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviChannelGeneralOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviChannelAdvancedOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviChannelAdvancedOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviChannelAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviChannelAdvancedOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviChannelAdvancedOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelAdvancedOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelAdvancedOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviChannelAdvancedOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviChannelAdvancedOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviChannelAdvancedOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviChannelAdvancedOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelAdvancedOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelAdvancedOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviChannelAdvancedOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviChannelAdvancedOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcGeneralOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcGeneralOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcGeneralOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcGeneralOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcGeneralOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcGeneralOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcGeneralOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcGeneralOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcGeneralOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcGeneralOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcGeneralOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcGeneralOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcGeneralOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcGeneralOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcGeneralOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcAdvancedOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcAdvancedOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcAdvancedOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcAdvancedOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcAdvancedOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcAdvancedOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcAdvancedOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcAdvancedOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcAdvancedOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcAdvancedOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcAdvancedOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcAdvancedOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcAdvancedOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcAdvancedOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcOutputOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcOutputOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcOutputOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOutputOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOutputOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOutputOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOutputOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcOutputOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcOutputOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOutputOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOutputOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOutputOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOutputOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcOutputOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcOutputOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviProtectionOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviProtectionOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviProtectionOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviProtectionOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviProtectionOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviProtectionOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviProtectionOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviProtectionOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviProtectionOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviProtectionOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviProtectionOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProtectionOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProtectionOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviProtectionOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviProtectionOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviAntispamOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviAntispamOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAntispamOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAntispamOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAntispamOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAntispamOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAntispamOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAntispamOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAntispamOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAntispamOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAntispamOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAntispamOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAntispamOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviAntispamOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAntispamOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviCtcpFloodProtectionOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviCtcpFloodProtectionOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviCtcpFloodProtectionOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpFloodProtectionOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpFloodProtectionOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpFloodProtectionOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpFloodProtectionOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviCtcpFloodProtectionOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviCtcpFloodProtectionOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpFloodProtectionOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpFloodProtectionOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpFloodProtectionOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpFloodProtectionOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviCtcpFloodProtectionOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviCtcpFloodProtectionOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviIgnoreOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviIgnoreOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIgnoreOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIgnoreOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIgnoreOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIgnoreOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIgnoreOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIgnoreOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIgnoreOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIgnoreOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIgnoreOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIgnoreOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIgnoreOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviIgnoreOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIgnoreOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviQueryOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviQueryOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviQueryOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviQueryOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviQueryOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviQueryOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviQueryOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviQueryOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviQueryOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviQueryOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviQueryOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviQueryOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviQueryOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviQueryOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviQueryOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviToolsOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviToolsOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviToolsOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviToolsOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviToolsOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviToolsOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviToolsOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviToolsOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviToolsOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviToolsOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviToolsOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviToolsOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviToolsOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviToolsOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviToolsOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviAvatarAdvancedOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviAvatarAdvancedOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAvatarAdvancedOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAvatarAdvancedOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAvatarAdvancedOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAvatarAdvancedOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAvatarAdvancedOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAvatarAdvancedOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAvatarAdvancedOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAvatarAdvancedOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAvatarAdvancedOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAvatarAdvancedOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAvatarAdvancedOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviAvatarAdvancedOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAvatarAdvancedOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviAwayOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviAwayOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAwayOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAwayOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAwayOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAwayOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAwayOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAwayOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAwayOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAwayOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAwayOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAwayOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAwayOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviAwayOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAwayOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviCtcpOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviCtcpOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviCtcpOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviCtcpOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviCtcpOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviCtcpOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviCtcpOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviAlertHighlightingOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviAlertHighlightingOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAlertHighlightingOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAlertHighlightingOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAlertHighlightingOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertHighlightingOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertHighlightingOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAlertHighlightingOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAlertHighlightingOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAlertHighlightingOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAlertHighlightingOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertHighlightingOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertHighlightingOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviAlertHighlightingOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAlertHighlightingOptionsWidget,"options"); + e1->pChildList->append(e2); + + e2->pChildList = new KviPointerList; + e2->pChildList->setAutoDelete(true); + + OptionsWidgetInstanceEntry * e3; + e3 = new OptionsWidgetInstanceEntry; + e3->createProc = &classKviHighlightingOptionsWidget_createInstanceProc; + e3->pWidget = 0; + e3->szClassName = g_szClassName_KviHighlightingOptionsWidget; + e3->iIcon = KVI_OPTIONS_WIDGET_ICON_KviHighlightingOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviHighlightingOptionsWidget + e3->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviHighlightingOptionsWidget; + #else + e3->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviHighlightingOptionsWidget + e3->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviHighlightingOptionsWidget; + e3->szKeywords = __tr2qs_ctx_no_xgettext(e3->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviHighlightingOptionsWidget + e3->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviHighlightingOptionsWidget; + #else + e3->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviHighlightingOptionsWidget + e3->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviHighlightingOptionsWidget; + #else + e3->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviHighlightingOptionsWidget + e3->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviHighlightingOptionsWidget; + #else + e3->bIsNotContained = false; + #endif + e3->szNameNoLocale = g_szName_KviHighlightingOptionsWidget; + e3->szName = __tr2qs_ctx_no_xgettext(g_szName_KviHighlightingOptionsWidget,"options"); + e2->pChildList->append(e3); + e3->pChildList = 0; + + e3 = new OptionsWidgetInstanceEntry; + e3->createProc = &classKviAlertOptionsWidget_createInstanceProc; + e3->pWidget = 0; + e3->szClassName = g_szClassName_KviAlertOptionsWidget; + e3->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAlertOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAlertOptionsWidget + e3->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAlertOptionsWidget; + #else + e3->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertOptionsWidget + e3->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertOptionsWidget; + e3->szKeywords = __tr2qs_ctx_no_xgettext(e3->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAlertOptionsWidget + e3->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAlertOptionsWidget; + #else + e3->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAlertOptionsWidget + e3->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAlertOptionsWidget; + #else + e3->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertOptionsWidget + e3->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertOptionsWidget; + #else + e3->bIsNotContained = false; + #endif + e3->szNameNoLocale = g_szName_KviAlertOptionsWidget; + e3->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAlertOptionsWidget,"options"); + e2->pChildList->append(e3); + e3->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviLagOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviLagOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviLagOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviLagOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviLagOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviLagOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviLagOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviLagOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviLagOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviLagOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviLagOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLagOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLagOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviLagOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviLagOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviLoggingOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviLoggingOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviLoggingOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviLoggingOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviLoggingOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviLoggingOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviLoggingOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviLoggingOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviLoggingOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviLoggingOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviLoggingOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLoggingOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLoggingOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviLoggingOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviLoggingOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviNickServOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviNickServOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNickServOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNickServOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNickServOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNickServOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNickServOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNickServOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNickServOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNickServOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNickServOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNickServOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNickServOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviNickServOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNickServOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviNotifyOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviNotifyOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNotifyOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNotifyOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNotifyOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifyOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifyOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNotifyOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNotifyOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNotifyOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNotifyOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifyOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifyOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviNotifyOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNotifyOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviTextIconsOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviTextIconsOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTextIconsOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTextIconsOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTextIconsOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTextIconsOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTextIconsOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTextIconsOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTextIconsOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTextIconsOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTextIconsOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextIconsOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextIconsOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviTextIconsOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTextIconsOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviIrcViewThemeOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviIrcViewThemeOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewThemeOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewThemeOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewThemeOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewThemeOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewThemeOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewThemeOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewThemeOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewThemeOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewThemeOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewThemeOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewThemeOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviIrcViewThemeOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewThemeOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcViewLookOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcViewLookOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewLookOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewLookOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewLookOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewLookOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewLookOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewLookOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewLookOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewLookOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewLookOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewLookOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewLookOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcViewLookOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewLookOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcViewFeaturesOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcViewFeaturesOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewFeaturesOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewFeaturesOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewFeaturesOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewFeaturesOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewFeaturesOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewFeaturesOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewFeaturesOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewFeaturesOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewFeaturesOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewFeaturesOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewFeaturesOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcViewFeaturesOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewFeaturesOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviIrcViewMarkerOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviIrcViewMarkerOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewMarkerOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewMarkerOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewMarkerOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewMarkerOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewMarkerOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewMarkerOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewMarkerOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviIrcViewMarkerOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewMarkerOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviMessageOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviMessageOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviMessageOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviMessageOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviMessageOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviMessageOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviMessageOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviPrivmsgOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviPrivmsgOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviPrivmsgOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviPrivmsgOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviPrivmsgOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviPrivmsgOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviPrivmsgOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviPrivmsgOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviPrivmsgOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviTimestampOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviTimestampOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTimestampOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTimestampOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTimestampOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTimestampOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTimestampOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviTimestampOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTimestampOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviMessageColorsOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviMessageColorsOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviMessageColorsOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviMessageColorsOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviMessageColorsOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageColorsOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageColorsOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviMessageColorsOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviMessageColorsOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviStandardColorsOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviStandardColorsOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviStandardColorsOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviStandardColorsOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviStandardColorsOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviStandardColorsOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviStandardColorsOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviStandardColorsOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviStandardColorsOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviNotifierLookOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviNotifierLookOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNotifierLookOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierLookOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierLookOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierLookOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierLookOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNotifierLookOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNotifierLookOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierLookOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierLookOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierLookOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierLookOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviNotifierLookOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNotifierLookOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviIrcServerOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviIrcServerOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcServerOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcServerOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcServerOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcServerOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcServerOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcServerOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcServerOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcServerOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcServerOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcServerOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcServerOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviIrcServerOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcServerOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviTopicLabelLookOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviTopicLabelLookOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTopicLabelLookOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTopicLabelLookOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTopicLabelLookOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTopicLabelLookOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTopicLabelLookOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTopicLabelLookOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTopicLabelLookOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTopicLabelLookOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTopicLabelLookOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTopicLabelLookOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTopicLabelLookOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviTopicLabelLookOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTopicLabelLookOptionsWidget,"options"); + m_pInstanceTree->append(e0); + e0->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviUserListLookOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviUserListLookOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListLookOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListLookOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListLookOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviUserListLookOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListLookOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviUserListLookBackgroundOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviUserListLookBackgroundOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListLookBackgroundOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookBackgroundOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookBackgroundOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookBackgroundOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookBackgroundOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListLookBackgroundOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListLookBackgroundOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookBackgroundOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookBackgroundOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookBackgroundOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookBackgroundOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviUserListLookBackgroundOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListLookBackgroundOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviUserListLookForegroundOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviUserListLookForegroundOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListLookForegroundOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookForegroundOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookForegroundOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookForegroundOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookForegroundOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListLookForegroundOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListLookForegroundOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookForegroundOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookForegroundOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookForegroundOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookForegroundOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviUserListLookForegroundOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListLookForegroundOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviUserListGridOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviUserListGridOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListGridOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListGridOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListGridOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListGridOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListGridOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListGridOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListGridOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListGridOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListGridOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListGridOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListGridOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviUserListGridOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListGridOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviUserListFeaturesOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviUserListFeaturesOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListFeaturesOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListFeaturesOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListFeaturesOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListFeaturesOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListFeaturesOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListFeaturesOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListFeaturesOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListFeaturesOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListFeaturesOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListFeaturesOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListFeaturesOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviUserListFeaturesOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListFeaturesOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + + e0 = new OptionsWidgetInstanceEntry; + e0->createProc = &classKviWindowListOptionsWidget_createInstanceProc; + e0->pWidget = 0; + e0->szClassName = g_szClassName_KviWindowListOptionsWidget; + e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviWindowListOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviWindowListOptionsWidget + e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviWindowListOptionsWidget; + #else + e0->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviWindowListOptionsWidget + e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviWindowListOptionsWidget; + e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviWindowListOptionsWidget + e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviWindowListOptionsWidget; + #else + e0->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviWindowListOptionsWidget + e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviWindowListOptionsWidget; + #else + e0->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviWindowListOptionsWidget + e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviWindowListOptionsWidget; + #else + e0->bIsNotContained = false; + #endif + e0->szNameNoLocale = g_szName_KviWindowListOptionsWidget; + e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviWindowListOptionsWidget,"options"); + m_pInstanceTree->append(e0); + + e0->pChildList = new KviPointerList; + e0->pChildList->setAutoDelete(true); + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviTreeWindowListOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviTreeWindowListOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviTreeWindowListOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListOptionsWidget,"options"); + e0->pChildList->append(e1); + + e1->pChildList = new KviPointerList; + e1->pChildList->setAutoDelete(true); + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviTreeWindowListForegroundOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviTreeWindowListForegroundOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListForegroundOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListForegroundOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListForegroundOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListForegroundOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListForegroundOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListForegroundOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListForegroundOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListForegroundOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListForegroundOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListForegroundOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListForegroundOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviTreeWindowListForegroundOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListForegroundOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviTreeWindowListBackgroundOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviTreeWindowListBackgroundOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListBackgroundOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListBackgroundOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListBackgroundOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListBackgroundOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListBackgroundOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListBackgroundOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListBackgroundOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListBackgroundOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListBackgroundOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListBackgroundOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListBackgroundOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviTreeWindowListBackgroundOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListBackgroundOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e2 = new OptionsWidgetInstanceEntry; + e2->createProc = &classKviTreeWindowListFeaturesOptionsWidget_createInstanceProc; + e2->pWidget = 0; + e2->szClassName = g_szClassName_KviTreeWindowListFeaturesOptionsWidget; + e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListFeaturesOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListFeaturesOptionsWidget + e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListFeaturesOptionsWidget; + #else + e2->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListFeaturesOptionsWidget + e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListFeaturesOptionsWidget; + e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListFeaturesOptionsWidget + e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListFeaturesOptionsWidget; + #else + e2->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListFeaturesOptionsWidget + e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListFeaturesOptionsWidget; + #else + e2->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListFeaturesOptionsWidget + e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListFeaturesOptionsWidget; + #else + e2->bIsNotContained = false; + #endif + e2->szNameNoLocale = g_szName_KviTreeWindowListFeaturesOptionsWidget; + e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListFeaturesOptionsWidget,"options"); + e1->pChildList->append(e2); + e2->pChildList = 0; + + e1 = new OptionsWidgetInstanceEntry; + e1->createProc = &classKviClassicWindowListOptionsWidget_createInstanceProc; + e1->pWidget = 0; + e1->szClassName = g_szClassName_KviClassicWindowListOptionsWidget; + e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviClassicWindowListOptionsWidget; + #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviClassicWindowListOptionsWidget + e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviClassicWindowListOptionsWidget; + #else + e1->iPriority = 0; + #endif + #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviClassicWindowListOptionsWidget + e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviClassicWindowListOptionsWidget; + e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; + #endif + #ifdef KVI_OPTIONS_WIDGET_GROUP_KviClassicWindowListOptionsWidget + e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviClassicWindowListOptionsWidget; + #else + e1->szGroup = "general"; + #endif + #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviClassicWindowListOptionsWidget + e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviClassicWindowListOptionsWidget; + #else + e1->bIsContainer = false; + #endif + #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviClassicWindowListOptionsWidget + e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviClassicWindowListOptionsWidget; + #else + e1->bIsNotContained = false; + #endif + e1->szNameNoLocale = g_szName_KviClassicWindowListOptionsWidget; + e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviClassicWindowListOptionsWidget,"options"); + e0->pChildList->append(e1); + e1->pChildList = 0; + +} + +void OptionsInstanceManager::deleteInstanceTree(KviPointerList * l) +{ + if(l) + { + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + { + if(e->pWidget) + { + if(e->pWidget->parent()->inherits("OptionsWidgetContainer")) + { + disconnect(e->pWidget,SIGNAL(destroyed()),this,SLOT(widgetDestroyed())); + delete e->pWidget->parent(); + e->pWidget = 0; + } else { + qDebug("Ops...i have deleted the options dialog ?"); + } + } //else qDebug("Clas %s has no widget",e->szName); + if(e->pChildList)deleteInstanceTree(e->pChildList); + } + delete l; + } +} + + +OptionsInstanceManager::~OptionsInstanceManager() +{ + if(m_pInstanceTree) + qDebug("Ops...OptionsInstanceManager::cleanup() not called ?"); +} + +void OptionsInstanceManager::cleanup(KviModule *) +{ + deleteInstanceTree(m_pInstanceTree); + m_pInstanceTree = 0; +} + +void OptionsInstanceManager::widgetDestroyed() +{ + OptionsWidgetInstanceEntry * e = findInstanceEntry(sender(),m_pInstanceTree); + if(e) + e->pWidget = 0; + if(g_iOptionWidgetInstances > 0) + g_iOptionWidgetInstances--; + +} + +KviOptionsWidget * OptionsInstanceManager::getInstance(OptionsWidgetInstanceEntry * e,QWidget * par) +{ + if(!e) + return NULL; + +#if 0 + if(e->pWidget) + { + if(e->pWidget->parent() != par) + { + QWidget * oldPar = (QWidget *)e->pWidget->parent(); + e->pWidget->setParent(par); + oldPar->deleteLater(); + e->pWidget=0; + } + } +#endif + + if(!(e->pWidget)) + { + e->pWidget = e->createProc(par); + g_iOptionWidgetInstances++; + connect(e->pWidget,SIGNAL(destroyed()),this,SLOT(widgetDestroyed())); + } + + if(e->pWidget->parent() != par) + { + QWidget * oldPar = (QWidget *)e->pWidget->parent(); + e->pWidget->setParent(par); //reparent(par,QPoint(0,0)); + if(oldPar->inherits("OptionsWidgetContainer")) + delete oldPar; + // else it's very likely a QStackedWidget, child of a KviOptionsWidget: don't delete + } + + if(e->bIsContainer) + { + // need to create the container structure! + e->pWidget->createTabbedPage(); + if(e->pChildList) + { + KviPointerList tmp; + tmp.setAutoDelete(false); + + for(OptionsWidgetInstanceEntry * e2 = e->pChildList->first();e2;e2 = e->pChildList->next()) + { + // add only non containers and widgets not explicitly marked as noncontained + if((!e2->bIsContainer) && (!e2->bIsNotContained)) + { + OptionsWidgetInstanceEntry * ee = tmp.first(); + int idx = 0; + while(ee) + { + if(ee->iPriority >= e2->iPriority)break; + idx++; + ee = tmp.next(); + } + tmp.insert(idx,e2); + } + } + + for(OptionsWidgetInstanceEntry * e3 = tmp.last();e3;e3 = tmp.prev()) + { + KviOptionsWidget * ow = getInstance(e3,e->pWidget->tabWidget()); + e->pWidget->addOptionsWidget(e3->szName,*(g_pIconManager->getSmallIcon(e3->iIcon)),ow); + } + } + } + return e->pWidget; +} + +OptionsWidgetInstanceEntry * OptionsInstanceManager::findInstanceEntry(const QObject * ptr,KviPointerList * l) +{ + if(l) + { + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + { + if(ptr == e->pWidget)return e; + if(e->pChildList) + { + OptionsWidgetInstanceEntry * e2 = findInstanceEntry(ptr,e->pChildList); + if(e2)return e2; + } + } + } + return 0; +} + +OptionsWidgetInstanceEntry * OptionsInstanceManager::findInstanceEntry(const char * clName,KviPointerList * l) +{ + if(l) + { + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + { + if(kvi_strEqualCI(e->szClassName,clName))return e; + if(e->pChildList) + { + OptionsWidgetInstanceEntry * e2 = findInstanceEntry(clName,e->pChildList); + if(e2)return e2; + } + } + } + return 0; +} + +OptionsWidgetInstanceEntry * OptionsInstanceManager::findInstanceEntry(const char * clName) +{ + return findInstanceEntry(clName,m_pInstanceTree); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES + #include "m_OptionsInstanceManager.moc" +#endif + diff --git a/src/modules/options/OptionsInstanceManager.h b/src/modules/options/OptionsInstanceManager.h new file mode 100644 index 000000000..0380c9ca0 --- /dev/null +++ b/src/modules/options/OptionsInstanceManager.h @@ -0,0 +1,85 @@ + + +#ifndef __OPTIONS_INSTANCES_H__ +#define __OPTIONS_INSTANCES_H__ + +//============================================================================= +// +// File : OptionsInstanceManager.h +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2008 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. +// +//============================================================================= + +// +// Instance creation routines for the KVIrc options module +// DO NOT EDIT THIS FILE!! ALL CHANGES WILL BE LOST!! +// This file is automatically generated by mkcreateinstanceproc.sh +// so any change should go in that script +// + +#include "KviOptionsWidget.h" +#include "KviModule.h" +#include "KviPointerList.h" +#include "KviQString.h" + +typedef struct _OptionsWidgetInstanceEntry OptionsWidgetInstanceEntry; + + +typedef struct _OptionsWidgetInstanceEntry +{ + KviOptionsWidget * (*createProc)(QWidget *); + KviOptionsWidget * pWidget; // singleton + int iIcon; + QString szName; + QString szNameNoLocale; + const char * szClassName; + int iPriority; + QString szKeywords; + QString szKeywordsNoLocale; + QString szGroup; + bool bIsContainer; + bool bIsNotContained; + KviPointerList * pChildList; + bool bDoInsert; // a helper for OptionsDialog::fillListView() +} OptionsWidgetInstanceEntry; + + +class OptionsInstanceManager : public QObject +{ + Q_OBJECT +public: + OptionsInstanceManager(); + virtual ~OptionsInstanceManager(); +protected: + KviPointerList * m_pInstanceTree; +public: + KviPointerList * instanceEntryTree(){ return m_pInstanceTree; }; + KviOptionsWidget * getInstance(OptionsWidgetInstanceEntry * e,QWidget * par); + OptionsWidgetInstanceEntry * findInstanceEntry(const char * clName); + void cleanup(KviModule * m); +protected: + OptionsWidgetInstanceEntry * findInstanceEntry(const char * clName,KviPointerList * l); + OptionsWidgetInstanceEntry * findInstanceEntry(const QObject * ptr,KviPointerList * l); + void deleteInstanceTree(KviPointerList * l); +protected slots: + void widgetDestroyed(); +}; + +#endif //__OPTIONS_INSTANCES_H__ + diff --git a/src/modules/options/OptionsWidgetContainer.cpp b/src/modules/options/OptionsWidgetContainer.cpp new file mode 100644 index 000000000..edb61873c --- /dev/null +++ b/src/modules/options/OptionsWidgetContainer.cpp @@ -0,0 +1,168 @@ +//============================================================================= +// +// File : OptionsWidgetContainer.cpp +// Creation date : Wed Nov 21 17:09:49 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidgetContainer.h" +#include "OptionsInstanceManager.h" + +#include "KviLocale.h" +#include "KviIconManager.h" +#include "KviApplication.h" +#include "KviTalToolTip.h" + +#include +#include +#include +#include +#include +#include +#include + + +extern OptionsInstanceManager * g_pOptionsInstanceManager; + +OptionsWidgetContainer::OptionsWidgetContainer(QWidget * par,bool bModal) +: QWidget(par) +{ + m_pLayout = new QGridLayout(this); + + setObjectName("container"); + + m_pOptionsWidget = NULL; + + if(bModal) + setWindowModality(Qt::ApplicationModal); +} + +OptionsWidgetContainer::~OptionsWidgetContainer() +{ + if(m_pOptionsWidget) + delete m_pOptionsWidget; +} + +void OptionsWidgetContainer::setLeftCornerWidget(QWidget * pWidget) +{ + if(!pWidget) + return; + m_pLayout->addWidget(pWidget,1,0); +} + +void OptionsWidgetContainer::optionsWidgetDestroyed() +{ + m_pOptionsWidget = NULL; +} + +void OptionsWidgetContainer::childEvent(QChildEvent * e) +{ + // This handles reparents which may happen when + // options.edit and options.dialog are used without closing + // the corresponding widgets. + if(m_pOptionsWidget && (e->type() == QEvent::ChildRemoved)) + { + if(e->child() == static_cast(m_pOptionsWidget)) + { + QObject::disconnect(m_pOptionsWidget,SIGNAL(destroyed()),this,SLOT(optionsWidgetDestroyed())); + m_pOptionsWidget = NULL; + } + } + + QWidget::childEvent(e); +} + +void OptionsWidgetContainer::setup(KviOptionsWidget * w) +{ + if(m_pOptionsWidget) + QObject::disconnect(m_pOptionsWidget,SIGNAL(destroyed()),this,SLOT(optionsWidgetDestroyed())); + + m_pLayout->addWidget(w,0,0,1,3); + //g->addMultiCellWidget(w,0,0,0,2); + + QPushButton * b = new QPushButton(__tr2qs_ctx("&OK","options"),this); + KviTalToolTip::add(b,__tr2qs_ctx("Close this dialog, accepting all changes.","options")); + //b->setMinimumWidth(m_pCancel->sizeHint().width()); + m_pLayout->addWidget(b,1,1); + b->setDefault(true); + connect(b,SIGNAL(clicked()),this,SLOT(okClicked())); + b->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT))); + + m_pCancel = new QPushButton(__tr2qs_ctx("Cancel","options"),this); + KviTalToolTip::add(m_pCancel,__tr2qs_ctx("Close this dialog, discarding all changes.","options")); + m_pLayout->addWidget(m_pCancel,1,2); + connect(m_pCancel,SIGNAL(clicked()),this,SLOT(cancelClicked())); + m_pCancel->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_DISCARD))); + + + m_pLayout->setRowStretch(0,1); + m_pLayout->setColumnStretch(0,1); + + OptionsWidgetInstanceEntry * e = g_pOptionsInstanceManager->findInstanceEntry(w->metaObject()->className()); + if(e) + { + setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(e->iIcon)))); + setWindowTitle(e->szName); + } + + m_pOptionsWidget = w; + + if(m_pOptionsWidget) + QObject::connect(m_pOptionsWidget,SIGNAL(destroyed()),this,SLOT(optionsWidgetDestroyed())); +} + +void OptionsWidgetContainer::closeEvent(QCloseEvent *e) +{ + e->ignore(); + cancelClicked(); +} + +void OptionsWidgetContainer::showEvent(QShowEvent *e) +{ + if(parent() == 0) + { + QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()); + move((rect.width() - width())/2,(rect.height() - height())/2); + } + QWidget::showEvent(e); + m_pCancel->setFocus(); +} + +void OptionsWidgetContainer::reject() +{ + cancelClicked(); +} + +void OptionsWidgetContainer::okClicked() +{ + if(m_pOptionsWidget) + m_pOptionsWidget->commit(); + g_pApp->saveOptions(); + delete this; +} + +void OptionsWidgetContainer::cancelClicked() +{ + deleteLater(); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidgetContainer.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidgetContainer.h b/src/modules/options/OptionsWidgetContainer.h new file mode 100644 index 000000000..ae5b2dcc3 --- /dev/null +++ b/src/modules/options/OptionsWidgetContainer.h @@ -0,0 +1,58 @@ +#ifndef _CONTAINER_H_ +#define _CONTAINER_H_ +//============================================================================= +// +// File : OptionsWidgetContainer.h +// Creation date : Wed Nov 21 17:09:50 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-208 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include + +class QPushButton; +class QGridLayout; + +class OptionsWidgetContainer : public QWidget +{ + Q_OBJECT +public: + OptionsWidgetContainer(QWidget * par,bool bModal = false); + ~OptionsWidgetContainer(); +protected: + KviOptionsWidget * m_pOptionsWidget; + QPushButton * m_pCancel; + QGridLayout * m_pLayout; +public: + void setup(KviOptionsWidget * w); + void setLeftCornerWidget(QWidget * pWidget); +protected: + virtual void closeEvent(QCloseEvent *e); + virtual void showEvent(QShowEvent *e); + virtual void childEvent(QChildEvent * e); + virtual void reject(); +protected slots: + void okClicked(); + void cancelClicked(); + void optionsWidgetDestroyed(); +}; + +#endif //_CONTAINER_H_ diff --git a/src/modules/options/OptionsWidget_alertsAndHighlighting.cpp b/src/modules/options/OptionsWidget_alertsAndHighlighting.cpp new file mode 100644 index 000000000..2ea8ec8dc --- /dev/null +++ b/src/modules/options/OptionsWidget_alertsAndHighlighting.cpp @@ -0,0 +1,150 @@ +#ifndef _OPTW_HIGHLIGHTING_CPP_ +#define _OPTW_HIGHLIGHTING_CPP_ +//============================================================================= +// +// File : OptionsWidget_alertsAndHighlighting.cpp +// Creation date : Sat Nov 3 18:09:35 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_alertsAndHighlighting.h" +#include "KviOptions.h" +#include "KviLocale.h" + +#include +#include +#include + +#include "KviTalToolTip.h" + +OptionsWidget_alertsAndHighlighting::OptionsWidget_alertsAndHighlighting(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("highlighting_options_widget"); +} + +OptionsWidget_alertsAndHighlighting::~OptionsWidget_alertsAndHighlighting() +{ +} + + +OptionsWidget_highlighting::OptionsWidget_highlighting(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("highlighting_options_widget"); + + createLayout(); + + KviBoolSelector * b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Enable word highlighting","options"),KviOption_boolUseWordHighlighting); + KviStringListSelector * sl = addStringListSelector(0,1,0,1,__tr2qs_ctx("Words to highlight:","options"),KviOption_stringlistHighlightWords,KVI_OPTION_BOOL(KviOption_boolUseWordHighlighting)); + + connect(b,SIGNAL(toggled(bool)),sl,SLOT(setEnabled(bool))); + + // This can be used even without Word highlighting + b = addBoolSelector(0,2,0,2,__tr2qs_ctx("Highlight messages containing my nickname","options"),KviOption_boolAlwaysHighlightNick); + mergeTip(b,__tr2qs_ctx("
If this option is enabled, KVIrc will highlight any user message containing your current nickname
","options")); + + + KviTalGroupBox * gbox = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Highlighting Method","options")); + + QGridLayout * g = new QGridLayout(gbox); + gbox->setLayout(g); + + m_pHighlightAllOccurencesRadioButton = new QRadioButton(__tr2qs_ctx("Highlight every occurence of a word inside text","options"),gbox); + g->addWidget(m_pHighlightAllOccurencesRadioButton,0,0,1,2); + m_pHighlightAllOccurencesRadioButton->setChecked(KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting)); + KviTalToolTip::add(m_pHighlightAllOccurencesRadioButton,__tr2qs_ctx("
This selection will cause KVIrc to search for the highlighted words or nicknames inside the whole text. This will also highlight parts of words (eg. if your nickname is Mark then Markus will be highlighted too).
","options")); + + m_pHighlightWholeWordsOnlyRadioButton = new QRadioButton(__tr2qs_ctx("Highlight only whole words splitting on space and on:","options"),gbox); + g->addWidget(m_pHighlightWholeWordsOnlyRadioButton,1,0,1,1); + m_pHighlightWholeWordsOnlyRadioButton->setChecked(!KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting)); + KviTalToolTip::add(m_pHighlightWholeWordsOnlyRadioButton,__tr2qs_ctx("
This selection will first split the string on the specified boundaries (including space) and then will compare all the parts with the highlighted words.
","options")); + + m_pWordSplitterCharactersEdit = new QLineEdit(gbox); + m_pWordSplitterCharactersEdit->setText(KVI_OPTION_STRING(KviOption_stringWordSplitters)); + m_pWordSplitterCharactersEdit->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting)); + g->addWidget(m_pWordSplitterCharactersEdit,1,1,1,1); + + connect(m_pHighlightWholeWordsOnlyRadioButton,SIGNAL(toggled(bool)),m_pWordSplitterCharactersEdit,SLOT(setEnabled(bool))); + + gbox = addGroupBox(0,4,0,4,Qt::Horizontal,__tr2qs_ctx("Alert Options","options")); + + b = addBoolSelector(gbox,__tr2qs_ctx("Flash the system taskbar entry on highlighted messages","options"),KviOption_boolFlashWindowOnHighlightedMessages); + mergeTip(b,__tr2qs_ctx("
If this option is enabled, KVIrc will (attempt to) flash the system taskbar entry when a highlighted message is printed and KVIrc is not the active window
","options")); + b = addBoolSelector(gbox,__tr2qs_ctx("Popup the notifier window on highlighted messages","options"),KviOption_boolPopupNotifierOnHighlightedMessages); + mergeTip(b,__tr2qs_ctx("
If this option is enabled, KVIrc will popup a little notifier window in the low right corner of your desktop when a highlighted message is printed and KVIrc is not the active window
","options")); + + addRowSpacer(0,5,0,5); +} + +OptionsWidget_highlighting::~OptionsWidget_highlighting() +{ +} + +void OptionsWidget_highlighting::commit() +{ + KVI_OPTION_STRING(KviOption_stringWordSplitters) = m_pWordSplitterCharactersEdit->text().trimmed(); + KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting) = m_pHighlightAllOccurencesRadioButton->isChecked(); + + KviOptionsWidget::commit(); +} + + + +OptionsWidget_alerts::OptionsWidget_alerts(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("highlighting_options_widget"); + + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Alert Restrictions","options")); + KviBoolSelector * b3 = addBoolSelector(g,__tr2qs_ctx("Restrict alert","options"),KviOption_boolHighlightOnlyNormalMsg); + mergeTip(b3, __tr2qs_ctx("
If this option is enabled, KVIrc will alert in the window list only if a normal message is received in a channel.
Actions like joins, parts and mode changes will be ignored.
This is useful if you are in channels with a high rate of traffic and only want to be alerted for messages that are interesting to you.
","options")); + + KviBoolSelector * b4 = addBoolSelector(g,__tr2qs_ctx("Alert for highlighted words","options"),KviOption_boolHighlightOnlyNormalMsgHighlightInChanToo,KVI_OPTION_BOOL(KviOption_boolHighlightOnlyNormalMsg)); + mergeTip(b4, __tr2qs_ctx("
If this option is enabled, the window list will also alert for messages which contain a word from the highlighted words list above.
","options")); + + KviBoolSelector * b5 = addBoolSelector(g,__tr2qs_ctx("Alert for query messages","options"),KviOption_boolHighlightOnlyNormalMsgQueryToo,KVI_OPTION_BOOL(KviOption_boolHighlightOnlyNormalMsg)); + mergeTip(b5, __tr2qs_ctx("
If this option is enabled, the window list will also alert for messages which are shown in queries.
","options")); + connect(b3,SIGNAL(toggled(bool)),b4,SLOT(setEnabled(bool))); + connect(b3,SIGNAL(toggled(bool)),b5,SLOT(setEnabled(bool))); + + KviBoolSelector * b6 = addBoolSelector(g,__tr2qs_ctx("Use custom alert level","options"),KviOption_boolHighlightOnlyAtCostumHighlightLevel); + mergeTip(b6, __tr2qs_ctx("
If this option is enabled, KVIrc will alert in the window list only if the specified alert level is reached.
","options")); + + KviUIntSelector * b7 = addUIntSelector(g,__tr2qs_ctx("Minimum alert level:","options"),KviOption_uintMinHighlightLevel,1,KVI_MSGTYPE_MAXLEVEL,KVI_MSGTYPE_MAXLEVEL,KVI_OPTION_BOOL(KviOption_boolHighlightOnlyAtCostumHighlightLevel)); + b7->setEnabled(KVI_OPTION_BOOL(KviOption_boolHighlightOnlyAtCostumHighlightLevel)); + mergeTip(b7, __tr2qs_ctx("
This option sets the minimum alert level for the window list.
","options")); + connect(b6,SIGNAL(toggled(bool)),b7,SLOT(setEnabled(bool))); + + addRowSpacer(0,1,0,1); +} + +OptionsWidget_alerts::~OptionsWidget_alerts() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_alertsAndHighlighting.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES + +#endif //_OPTW_HIGHLIGHTING_CPP_ diff --git a/src/modules/options/OptionsWidget_alertsAndHighlighting.h b/src/modules/options/OptionsWidget_alertsAndHighlighting.h new file mode 100644 index 000000000..6a9bb506b --- /dev/null +++ b/src/modules/options/OptionsWidget_alertsAndHighlighting.h @@ -0,0 +1,80 @@ +#ifndef _OPTW_HIGHLIGHTING_H_ +#define _OPTW_HIGHLIGHTING_H_ +//============================================================================= +// +// File : OptionsWidget_alertsAndHighlighting.h +// Creation date : Sat Nov 3 18:09:37 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +class QRadioButton; +class QLineEdit; + +#define KVI_OPTIONS_WIDGET_ICON_KviAlertHighlightingOptionsWidget KVI_SMALLICON_RAW +#define KVI_OPTIONS_WIDGET_NAME_KviAlertHighlightingOptionsWidget __tr2qs_no_lookup("Alert/Highlight") +#define KVI_OPTIONS_WIDGET_PARENT_KviAlertHighlightingOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_CONTAINER_KviAlertHighlightingOptionsWidget true + +class OptionsWidget_alertsAndHighlighting : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_alertsAndHighlighting(QWidget * parent); + ~OptionsWidget_alertsAndHighlighting(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviHighlightingOptionsWidget KVI_SMALLICON_RAW +#define KVI_OPTIONS_WIDGET_NAME_KviHighlightingOptionsWidget __tr2qs_no_lookup("Highlight") +#define KVI_OPTIONS_WIDGET_PARENT_KviHighlightingOptionsWidget OptionsWidget_alertsAndHighlighting + +class OptionsWidget_highlighting : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_highlighting(QWidget * parent); + ~OptionsWidget_highlighting(); +private: + QRadioButton * m_pHighlightAllOccurencesRadioButton; + QRadioButton * m_pHighlightWholeWordsOnlyRadioButton; + QLineEdit * m_pWordSplitterCharactersEdit; + +protected: + virtual void commit(); + +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviAlertOptionsWidget KVI_SMALLICON_RAW +#define KVI_OPTIONS_WIDGET_NAME_KviAlertOptionsWidget __tr2qs_no_lookup("Window List Alert") +#define KVI_OPTIONS_WIDGET_PARENT_KviAlertOptionsWidget OptionsWidget_alertsAndHighlighting + +class OptionsWidget_alerts : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_alerts(QWidget * parent); + ~OptionsWidget_alerts(); +}; + + +#endif //_OPTW_HIGHLIGHTING_H_ diff --git a/src/modules/options/OptionsWidget_antiSpam.cpp b/src/modules/options/OptionsWidget_antiSpam.cpp new file mode 100644 index 000000000..6b7648884 --- /dev/null +++ b/src/modules/options/OptionsWidget_antiSpam.cpp @@ -0,0 +1,66 @@ +//============================================================================= +// +// File : OptionsWidget_antiSpam.cpp +// Creation date : Tue Oct 16 15:47:02 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_antiSpam.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include +#include + +OptionsWidget_antispam::OptionsWidget_antispam(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("antispam_options_widget"); + createLayout(); + + KviTalGroupBox *g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Enable Anti-spam For","options")); + m_b1 = addBoolSelector(g,__tr2qs_ctx("Private messages","options"),KviOption_boolUseAntiSpamOnPrivmsg); + connect(m_b1,SIGNAL(toggled(bool)),this,SLOT(reenableStuff(bool))); + m_b2 = addBoolSelector(g,__tr2qs_ctx("Private notices","options"),KviOption_boolUseAntiSpamOnNotice); + connect(m_b2,SIGNAL(toggled(bool)),this,SLOT(reenableStuff(bool))); + + m_b3 = addBoolSelector(0,1,0,1,__tr2qs_ctx("Silent anti-spam (no warnings)","options"),KviOption_boolSilentAntiSpam); + m_sl = addStringListSelector(0,2,0,2,__tr2qs_ctx("Words considered spam:","options"),KviOption_stringlistSpamWords); + + reenableStuff(true); + + layout()->setRowStretch(2,1); +} + +OptionsWidget_antispam::~OptionsWidget_antispam() +{ +} + +void OptionsWidget_antispam::reenableStuff(bool) +{ + m_b3->setEnabled(m_b1->isChecked() || m_b2->isChecked()); + m_sl->setEnabled(m_b1->isChecked() || m_b2->isChecked()); +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_antiSpam.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_antiSpam.h b/src/modules/options/OptionsWidget_antiSpam.h new file mode 100644 index 000000000..245ce9105 --- /dev/null +++ b/src/modules/options/OptionsWidget_antiSpam.h @@ -0,0 +1,49 @@ +#ifndef _OPTW_ANTISPAM_H_ +#define _OPTW_ANTISPAM_H_ +//============================================================================= +// +// File : OptionsWidget_antiSpam.h +// Creation date : Tue Oct 16 15:47:03 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviAntispamOptionsWidget KVI_SMALLICON_SPAM +#define KVI_OPTIONS_WIDGET_NAME_KviAntispamOptionsWidget __tr2qs_no_lookup("Anti-spam") +#define KVI_OPTIONS_WIDGET_PARENT_KviAntispamOptionsWidget OptionsWidget_protection + +class OptionsWidget_antispam : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_antispam(QWidget * parent); + ~OptionsWidget_antispam(); +protected: + KviBoolSelector * m_b1; + KviBoolSelector * m_b2; + KviBoolSelector * m_b3; + KviStringListSelector * m_sl; +protected slots: + void reenableStuff(bool); +}; + + +#endif //_OPTW_ANTISPAM_H_ diff --git a/src/modules/options/OptionsWidget_avatar.cpp b/src/modules/options/OptionsWidget_avatar.cpp new file mode 100644 index 000000000..6f48d5f88 --- /dev/null +++ b/src/modules/options/OptionsWidget_avatar.cpp @@ -0,0 +1,121 @@ +//============================================================================= +// +// File : OptionsWidget_avatar.cpp +// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_avatar.h" + +#include "KviLocale.h" +#include "KviSelectors.h" +#include "KviOptions.h" +#include "KviTalToolTip.h" + +OptionsWidget_avatar::OptionsWidget_avatar(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("avatar_advanced_options_widget"); + + createLayout(); + // AVATAR + + // 1st Box + KviTalGroupBox *g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Scaling in userlist","options")); + KviBoolSelector *b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images in userlist (recommended)","options"),KviOption_boolScaleAvatars); + KviTalToolTip::add(b,__tr2qs_ctx("
This option will force KVIrc to scale avatars" \ + " shown in the userlist.
" \ + "Avatars will be scaled to fit the " \ + "constraints set below. Better keep this option on. :)
","options")); + + addBoolSelector(g,__tr2qs_ctx("Do not scale avatar if it is less than required size","options"),KviOption_boolDoNotUpscaleAvatars); + + KviUIntSelector *u = addUIntSelector(g,__tr2qs_ctx("Image width:","options"),KviOption_uintAvatarScaleWidth,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintAvatarScaleHeight,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + //2nd + g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Scaling on load (and in user tooltips)","options")); + b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images on image load","options"),KviOption_boolScaleAvatarsOnLoad); + + u = addUIntSelector(g,__tr2qs_ctx("Image width:","options"),KviOption_uintScaleAvatarsOnLoadWidth,0,1280,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintScaleAvatarsOnLoadHeight,0,1280,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + // 2st Box + KviTalGroupBox *gs = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Request CTCP","options")); + KviBoolSelector * bs = addBoolSelector(g,__tr2qs_ctx("Request missing avatars","options"),KviOption_boolRequestMissingAvatars); + KviUIntSelector * us = addUIntSelector(g,__tr2qs_ctx("Maximum requested file size:","options"),KviOption_uintMaximumRequestedAvatarSize,0,1048576,102400,KVI_OPTION_BOOL(KviOption_boolRequestMissingAvatars)); + + mergeTip(bs, + __tr2qs_ctx("
This option will cause KVIrc to send a DCC GET request " \ + "when someone sets an avatar and there is no cached copy available.
","options")); + us->setSuffix(__tr2qs_ctx(" bytes","options")); + + mergeTip(us, + __tr2qs_ctx("
This is the maximum size for avatar images that " \ + "will be automatically requested.
" \ + "A reasonable value might be 102400 bytes (100 K).
","options")); + connect(bs,SIGNAL(toggled(bool)),us,SLOT(setEnabled(bool))); + + bs = addBoolSelector(gs,__tr2qs_ctx("Automatically accept incoming avatars","options"),KviOption_boolAutoAcceptIncomingAvatars); + mergeTip( + bs, + __tr2qs_ctx("
This option will cause KVIrc to auto-accept " \ + "DCC SEND requests for incoming avatars.
" \ + "If you're using the \"Request missing avatars\" option " \ + "above, enabling this may by useful.
" \ + "Avatars will be saved in the local KVIrc directory.
","options")); + + bs = addBoolSelector(gs,__tr2qs_ctx("Remember avatars for registered users","options"),KviOption_boolSetLastAvatarAsDefaultForRegisteredUsers); + mergeTip( + bs, + __tr2qs_ctx("
Use a user's last known avatar by default " \ + "(only for users that are registered).
","options")); + + us = addUIntSelector(gs,__tr2qs_ctx("Avatar offer timeout:","options"),KviOption_uintAvatarOfferTimeoutInSecs,1,99999,60); + us->setSuffix(__tr2qs_ctx(" sec","options")); + mergeTip(us, + __tr2qs_ctx("
This is the amount of time to make an avatar available for transfer when requested.
" \ + "When someone sends a CTCP AVATAR request, " \ + "KVIrc will reply with a CTCP AVATAR message containing the name and size " \ + "of your avatar image.
" \ + "A time-limited file offer is added for the image file " \ + "to the requesting user.
","options")); + + bs = addBoolSelector(gs,__tr2qs_ctx("Ignore requests if no avatar is set","options"),KviOption_boolIgnoreChannelAvatarRequestsWhenNoAvatarSet); + mergeTip(bs, + __tr2qs_ctx("This option will cause KVIrc to ignore channel CTCP AVATAR requests " \ + "when you have no avatar set. This is usually a good practice since " \ + "it helps in reducing traffic by not sending a reply that would be empty.","options")); + + addRowSpacer(0,3,0,3); +} + +OptionsWidget_avatar::~OptionsWidget_avatar() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_avatar.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_avatar.h b/src/modules/options/OptionsWidget_avatar.h new file mode 100644 index 000000000..890303b2d --- /dev/null +++ b/src/modules/options/OptionsWidget_avatar.h @@ -0,0 +1,45 @@ +#ifndef _OPTW_AVATAR_H_ +#define _OPTW_AVATAR_H_ + +//============================================================================= +// +// File : OptionsWidget_avatar.cpp +// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + + +#define KVI_OPTIONS_WIDGET_ICON_KviAvatarAdvancedOptionsWidget KVI_SMALLICON_AVATAR +#define KVI_OPTIONS_WIDGET_NAME_KviAvatarAdvancedOptionsWidget __tr2qs_no_lookup("Avatars") +#define KVI_OPTIONS_WIDGET_PARENT_KviAvatarAdvancedOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_PRIORITY_KviAvatarAdvancedOptionsWidget 9 +#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviAvatarAdvancedOptionsWidget 2 + +class OptionsWidget_avatar : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_avatar(QWidget * parent); + ~OptionsWidget_avatar(); +}; + +#endif //!_OPTW_AVATAR_H_ diff --git a/src/modules/options/OptionsWidget_away.cpp b/src/modules/options/OptionsWidget_away.cpp new file mode 100644 index 000000000..f4f2041de --- /dev/null +++ b/src/modules/options/OptionsWidget_away.cpp @@ -0,0 +1,74 @@ +//============================================================================= +// +// File : OptionsWidget_away.cpp +// Creation date : Mon Oct 29 15:37:16 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_away.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_away::OptionsWidget_away(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("away_options_widget"); + + createLayout(); + + m_pEnableAwayMessage = addBoolSelector(0,0,0,0, __tr2qs_ctx("Enable default away message","options"), KviOption_boolUseAwayMessage); + connect(m_pEnableAwayMessage,SIGNAL(toggled(bool)),this,SLOT(enableAwayMessage(bool))); + m_pAwayMessage = addStringSelector(0,1,0,1, __tr2qs_ctx("Default away message:","options"), KviOption_stringAwayMessage, KVI_OPTION_BOOL(KviOption_boolUseAwayMessage)); + + addBoolSelector(0,2,0,2, __tr2qs_ctx("User input exits away mode","options"), KviOption_boolExitAwayOnInput); + + KviTalGroupBox *g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Away Nickname","options")); + m_pEnableAwayNick = addBoolSelector(g,__tr2qs_ctx("Change nickname on away","options"),KviOption_boolChangeNickAway); + connect(m_pEnableAwayNick,SIGNAL(toggled(bool)),this,SLOT(enableCustomAwayText(bool))); + + m_pEnableCustomAwayNick = addBoolSelector(g,__tr2qs_ctx("Use automatic nickname ([5 letters]AWAY)","options"),KviOption_boolAutoGeneratedAwayNick,KVI_OPTION_BOOL(KviOption_boolChangeNickAway)); + connect(m_pEnableAwayNick,SIGNAL(toggled(bool)),m_pEnableCustomAwayNick,SLOT(setEnabled(bool))); + connect(m_pEnableCustomAwayNick,SIGNAL(toggled(bool)),this,SLOT(enableCustomAwayText(bool))); + + m_pCustomAwayNick = addStringSelector(g,__tr2qs_ctx("Custom nickname (%nick% means a current nick):","options"),KviOption_stringCustomAwayNick,KVI_OPTION_BOOL(KviOption_boolChangeNickAway) && !(KVI_OPTION_BOOL(KviOption_boolAutoGeneratedAwayNick))); + + addRowSpacer(0,4,0,4); +} + +OptionsWidget_away::~OptionsWidget_away() +{ +} + +void OptionsWidget_away::enableCustomAwayText(bool) +{ + m_pCustomAwayNick->setEnabled(m_pEnableAwayNick->isChecked() && !(m_pEnableCustomAwayNick->isChecked())); +} + +void OptionsWidget_away::enableAwayMessage(bool) +{ + m_pAwayMessage->setEnabled(m_pEnableAwayMessage->isChecked()); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_away.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_away.h b/src/modules/options/OptionsWidget_away.h new file mode 100644 index 000000000..c082d06de --- /dev/null +++ b/src/modules/options/OptionsWidget_away.h @@ -0,0 +1,50 @@ +#ifndef _OPTW_AWAY_H_ +#define _OPTW_AWAY_H_ +//============================================================================= +// +// File : OptionsWidget_away.h +// Creation date : Mon Oct 29 15:37:18 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviAwayOptionsWidget KVI_SMALLICON_AWAY +#define KVI_OPTIONS_WIDGET_NAME_KviAwayOptionsWidget __tr2qs_no_lookup("Away") +#define KVI_OPTIONS_WIDGET_PARENT_KviAwayOptionsWidget OptionsWidget_tools + +class OptionsWidget_away : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_away(QWidget * parent); + ~OptionsWidget_away(); +protected: + KviBoolSelector * m_pEnableAwayMessage; + KviStringSelector * m_pAwayMessage; + KviBoolSelector * m_pEnableAwayNick; + KviStringSelector * m_pCustomAwayNick; + KviBoolSelector * m_pEnableCustomAwayNick; +public slots: + void enableCustomAwayText(bool); + void enableAwayMessage(bool); +}; + +#endif //_OPTW_AWAY_H_ diff --git a/src/modules/options/OptionsWidget_channel.cpp b/src/modules/options/OptionsWidget_channel.cpp new file mode 100644 index 000000000..21db51a8a --- /dev/null +++ b/src/modules/options/OptionsWidget_channel.cpp @@ -0,0 +1,166 @@ +//============================================================================= +// +// File : OptionsWidget_channel.cpp +// Creation date : Sat Sep 27 19:30:02 2008 GMT by Elvio Basello +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) +// +// 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. +// +//============================================================================= +// +// This file was originally part of OptionsWidget_irc.cpp +// +//============================================================================= + + +#include "OptionsWidget_channel.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "kvi_settings.h" +#include "KviIrcMask.h" + +#include + +OptionsWidget_channel::OptionsWidget_channel(QWidget * pParent) +: KviOptionsWidget(pParent) +{ +} + +OptionsWidget_channel::~OptionsWidget_channel() +{ +} + +OptionsWidget_channelGeneral::OptionsWidget_channelGeneral(QWidget * pParent) +: KviOptionsWidget(pParent) +{ + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Channel Kick","options")); + + KviBoolSelector *b = addBoolSelector(g,__tr2qs_ctx("Rejoin channel","options"),KviOption_boolRejoinChannelOnKick); + mergeTip(b, + __tr2qs_ctx("
This option will cause KVIrc to attempt " \ + "to rejoin a channel after being kicked.
","options")); + b = addBoolSelector(g,__tr2qs_ctx("Keep channel open","options"),KviOption_boolKeepChannelOpenOnKick); + mergeTip(b, + __tr2qs_ctx("
This option will cause KVIrc to keep " \ + "the channel window open after being kicked.
" \ + "It might be a good idea to also enable the " \ + "\"Rejoin channel\" option.
","options")); + + g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Channel Part","options")); + + b = addBoolSelector(g,__tr2qs_ctx("Keep channel open","options"),KviOption_boolKeepChannelOpenOnPart); + mergeTip(b, + __tr2qs_ctx("
This option will cause KVIrc to keep " \ + "the channel window open after leaving it.
","options")); + + b = addBoolSelector(0,2,0,2,__tr2qs_ctx("Automatically join channel on invite","options"),KviOption_boolAutoJoinOnInvite); + mergeTip(b, + __tr2qs_ctx("
This option will cause KVIrc to automatically " \ + "join a channel when an INVITE message for that channel is received.
" \ + "Warning: This may help spammers harass you. :)
","options")); + + b = addBoolSelector(0,3,0,3, __tr2qs_ctx("Always open channels as minimized","options"),KviOption_boolCreateMinimizedChannels); + mergeTip(b, + __tr2qs_ctx("
This option causes newly created " \ + "channel windows to be immediately minimized.
" \ + "Enable this if you don't like channels " \ + "popping up while you're typing something in a channel. :D
","options")); + + addRowSpacer(0,4,0,4); +} + +OptionsWidget_channelGeneral::~OptionsWidget_channelGeneral() +{ +} + + +OptionsWidget_channelAdvanced::OptionsWidget_channelAdvanced(QWidget * pParent) +: KviOptionsWidget(pParent) +{ + createLayout(); + + KviBoolSelector * b = addBoolSelector(0,0,4,0,__tr2qs_ctx("Log joined channels history","options"),KviOption_boolLogChannelHistory); + + addLabel(0,1,0,1,__tr2qs_ctx("Default ban mask:","options")); + + m_pBanTypeCombo = new QComboBox(this); + addWidgetToLayout(m_pBanTypeCombo,1,1,4,1); + + KviIrcMask hostmask("nick!user@machine.host.top"); + KviIrcMask ipmask("nick!user@192.168.1.2"); + QString tmp1; + QString tmp2; + for(int i=0;i<=26;i++) + { + + hostmask.mask(tmp1,(KviIrcMask::MaskType)i); + ipmask.mask(tmp2,(KviIrcMask::MaskType)i); + m_pBanTypeCombo->insertItem(m_pBanTypeCombo->count(),QString("%1 (%2)").arg(tmp1, tmp2)); + } + m_pBanTypeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintDefaultBanType)); + + KviTalGroupBox * g = addGroupBox(0,2,4,2,Qt::Horizontal,__tr2qs_ctx("On Channel Join","options")); + KviUIntSelector *u = addUIntSelector(g,__tr2qs_ctx("Minimum delay between two channel requests:","options"),KviOption_uintOnJoinRequestsDelay,0,10,1); + u->setSuffix(__tr2qs_ctx(" sec","options")); + mergeTip(u,__tr2qs_ctx("
This is an artificial delay for the channel requests made on join.
You may increase it if your server complains about flooding when joining many channels at once.
Minimum value: 0 secs
Maximum value: 10 secs
","options")); + + addBoolSelector(g,__tr2qs_ctx("Do not send /WHO request","options"),KviOption_boolDisableWhoRequestOnJoin); + addBoolSelector(g,__tr2qs_ctx("Do not request ban list","options"),KviOption_boolDisableBanListRequestOnJoin); + addBoolSelector(g,__tr2qs_ctx("Do not request ban exception list","options"),KviOption_boolDisableBanExceptionListRequestOnJoin); + addBoolSelector(g,__tr2qs_ctx("Do not request invite list","options"),KviOption_boolDisableInviteListRequestOnJoin); + addBoolSelector(g,__tr2qs_ctx("Do not request quiet ban list","options"),KviOption_boolDisableQuietBanListRequestOnJoin); + addBoolSelector(g,__tr2qs_ctx("Echo channel topic","options"),KviOption_boolEchoNumericTopic); + addBoolSelector(g,__tr2qs_ctx("Show channel sync time","options"),KviOption_boolShowChannelSyncTime); + + b = addBoolSelector(g,__tr2qs_ctx("Paste last channel log","options"),KviOption_boolPasteLastLogOnChannelJoin); + + KviTalHBox * box = new KviTalHBox(g); + u = addUIntSelector(box,__tr2qs_ctx("Paste up to:","options"),KviOption_uintLinesToPasteOnChannelJoin,0,50,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnChannelJoin)); + u->setSuffix(__tr2qs_ctx(" lines","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 0 lines
Maximum value: 50 lines
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + u = addUIntSelector(box,__tr2qs_ctx("Interval:","options"),KviOption_uintDaysIntervalToPasteOnChannelJoin,1,10,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnChannelJoin)); + u->setSuffix(__tr2qs_ctx(" days","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 0 days
Maximum value: 10 days
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + b = addBoolSelector(0,3,4,3,__tr2qs_ctx("Keep away list updated by sending WHO requests","options"),KviOption_boolEnableAwayListUpdates); + mergeTip(b, + __tr2qs_ctx("
KVIrc sends out a channel /WHO message every now and then to keep " \ + "the channel away list in sync. Use this option to disable this feature (and to save " \ + "your IRC bandwidth.
","options")); + + addRowSpacer(0,5,4,5); +} + +OptionsWidget_channelAdvanced::~OptionsWidget_channelAdvanced() +{ +} + +void OptionsWidget_channelAdvanced::commit() +{ + KVI_OPTION_UINT(KviOption_uintDefaultBanType)=m_pBanTypeCombo->currentIndex(); + if((KVI_OPTION_UINT(KviOption_uintDefaultBanType)>26)) KVI_OPTION_UINT(KviOption_uintDefaultBanType)=7; + KviOptionsWidget::commit(); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_channel.moc" +#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_channel.h b/src/modules/options/OptionsWidget_channel.h new file mode 100644 index 000000000..85107680f --- /dev/null +++ b/src/modules/options/OptionsWidget_channel.h @@ -0,0 +1,79 @@ +#ifndef _OPTW_CHANNEL_H_ +#define _OPTW_CHANNEL_H_ +//============================================================================= +// +// File : OptionsWidget_channel.h +// Creation date : Sat Sep 27 19:30:02 2008 GMT by Elvio Basello +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) +// +// 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. +// +//============================================================================= +// +// This file was originally part of OptionsWidget_irc.h +// +//============================================================================= + +#include "KviOptionsWidget.h" + +class QComboBox; + +#define KVI_OPTIONS_WIDGET_ICON_KviChannelOptionsWidget KVI_SMALLICON_CHANNEL +#define KVI_OPTIONS_WIDGET_NAME_KviChannelOptionsWidget __tr2qs_no_lookup("Channel") +#define KVI_OPTIONS_WIDGET_PARENT_KviChannelOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_CONTAINER_KviChannelOptionsWidget true +#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelOptionsWidget true +#define KVI_OPTIONS_WIDGET_PRIORITY_KviChannelOptionsWidget 90000 + +class OptionsWidget_channel : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_channel(QWidget * parent); + ~OptionsWidget_channel(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviChannelGeneralOptionsWidget KVI_SMALLICON_CHANNEL +#define KVI_OPTIONS_WIDGET_NAME_KviChannelGeneralOptionsWidget __tr2qs_no_lookup("General") +#define KVI_OPTIONS_WIDGET_PARENT_KviChannelGeneralOptionsWidget OptionsWidget_channel + +class OptionsWidget_channelGeneral : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_channelGeneral(QWidget * parent); + ~OptionsWidget_channelGeneral(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviChannelAdvancedOptionsWidget KVI_SMALLICON_CHANNEL +#define KVI_OPTIONS_WIDGET_NAME_KviChannelAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") +#define KVI_OPTIONS_WIDGET_PARENT_KviChannelAdvancedOptionsWidget OptionsWidget_channel + +class OptionsWidget_channelAdvanced : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_channelAdvanced(QWidget * parent); + ~OptionsWidget_channelAdvanced(); +public: + virtual void commit(); +protected: + QComboBox * m_pBanTypeCombo; +}; + +#endif // _OPTW_CHANNEL_H_ diff --git a/src/modules/options/OptionsWidget_connection.cpp b/src/modules/options/OptionsWidget_connection.cpp new file mode 100644 index 000000000..0e5f3d2cf --- /dev/null +++ b/src/modules/options/OptionsWidget_connection.cpp @@ -0,0 +1,304 @@ +//============================================================================= +// +// File : OptionsWidget_connection.cpp +// Creation date : Sat Nov 24 04:25:16 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) +// copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_connection.h" + +#include "kvi_settings.h" +#include "KviLocale.h" +#include "KviOptions.h" +#include "KviIconManager.h" + +#include + + +OptionsWidget_connection::OptionsWidget_connection(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("connection_options_widget"); + createLayout(); + KviTalGroupBox *gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Disconnect","options")); + + KviBoolSelector *b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep channels open","options"),KviOption_boolKeepChannelsOpenOnDisconnect,true); + mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep channels open after disconnect.
","options")); + + b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep queries open","options"),KviOption_boolKeepQueriesOpenOnDisconnect,true); + mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep queries open after disconnect.
","options")); + + gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Unexpected Disconnect","options")); + + b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep channels open","options"),KviOption_boolKeepChannelsOpenOnUnexpectedDisconnect,true); + mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep channels open after an unexpected disconnect.
","options")); + + b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep queries open","options"),KviOption_boolKeepQueriesOpenOnUnexpectedDisconnect,true); + mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep queries open after an unexpected disconnect.
","options")); + + b1 = addBoolSelector(gbox,__tr2qs_ctx("Rejoin channels after reconnect","options"),KviOption_boolRejoinChannelsAfterReconnect,KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); + mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to rejoin channels after a successful reconnect attempt.
","options")); + + b1 = addBoolSelector(gbox,__tr2qs_ctx("Reopen queries after reconnect","options"),KviOption_boolReopenQueriesAfterReconnect,KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); + mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to reopen query windows after a successful reconnect attempt.
","options")); + +// gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Unexpected Disconnect","options")); + KviBoolSelector * b = addBoolSelector(gbox,__tr2qs_ctx("Automatically reconnect","options"),KviOption_boolAutoReconnectOnUnexpectedDisconnect); + mergeTip(b,__tr2qs_ctx("
This option will enable auto-reconnecting after an unexpected disconnect. " \ + "An unexpected disconnect is the termination of a fully connected IRC session " \ + "that was not requested by the user by the means of the QUIT message." \ + "

Warning: If you use /RAW to send a QUIT message to the server, " \ + "this option will not behave correctly, since does not detect the outgoing " \ + "QUIT message and will attempt to reconnect after the server has closed the connection. " \ + "For this reason, always use the /QUIT command to close your connections. " \ + "This option may also behave incorrectly with bouncers that support " \ + "detaching, in this case a solution could be to prepare an alias that sends the " \ + "bouncer \"detach\" command immediately before the \"quit\" command.
" \ + "alias(bncdetach){ raw bouncer detach; quit; }

","options")); + + KviUIntSelector * u = addUIntSelector(gbox,__tr2qs_ctx("Maximum attempts (0: unlimited):","options"), + KviOption_uintMaxAutoReconnectAttempts,0,100,5, + KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + u = addUIntSelector(gbox,__tr2qs_ctx("Delay between attempts:","options"), + KviOption_uintAutoReconnectDelay,0,86400,5, + KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); + u->setSuffix(__tr2qs_ctx(" sec","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + mergeTip(u,__tr2qs_ctx("
Minimum value: 0 sec
Maximum value: 86400 sec
","options")); + + b = addBoolSelector(this,__tr2qs_ctx("Use the SASL authentication protocol if available","options"),&(KVI_OPTION_BOOL(KviOption_boolUseSaslIfAvailable)),true); + mergeTip(b,__tr2qs_ctx("
When available and enabled of the specific server, KVIrc will try to authenticate the user using the SASL procotol
","options")); + addWidgetToLayout(b,0,2,0,2); + + addRowSpacer(0,3,4,3); +} + +OptionsWidget_connection::~OptionsWidget_connection() +{ +} + + +OptionsWidget_connectionSsl::OptionsWidget_connectionSsl(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("ssl_options_widget"); + createLayout(); + +#ifdef COMPILE_SSL_SUPPORT + KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Certificate","options")); + + KviBoolSelector * b = addBoolSelector(gbox,__tr2qs_ctx("Use SSL certificate (PEM format only)","options"), + &(KVI_OPTION_BOOL(KviOption_boolUseSSLCertificate)),true); + KviFileSelector * f = addFileSelector(gbox,__tr2qs_ctx("Certificate location:","options"), + &(KVI_OPTION_STRING(KviOption_stringSSLCertificatePath)),KVI_OPTION_BOOL(KviOption_boolUseSSLCertificate)); + connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); + KviPasswordSelector * p = new KviPasswordSelector(gbox,__tr2qs_ctx("Certificate password:","options"), + &(KVI_OPTION_STRING(KviOption_stringSSLCertificatePass)),KVI_OPTION_BOOL(KviOption_boolUseSSLCertificate)); + connect(b,SIGNAL(toggled(bool)),p,SLOT(setEnabled(bool))); + + gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Private Key","options")); + b = addBoolSelector(gbox,__tr2qs_ctx("Use SSL private key","options"), + &(KVI_OPTION_BOOL(KviOption_boolUseSSLPrivateKey)),true); + f = addFileSelector(gbox,__tr2qs_ctx("Private key location:","options"), + &(KVI_OPTION_STRING(KviOption_stringSSLPrivateKeyPath)),KVI_OPTION_BOOL(KviOption_boolUseSSLPrivateKey)); + connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); + p = addPasswordSelector(gbox,__tr2qs_ctx("Private key password:","options"), + &(KVI_OPTION_STRING(KviOption_stringSSLPrivateKeyPass)),KVI_OPTION_BOOL(KviOption_boolUseSSLPrivateKey)); + connect(b,SIGNAL(toggled(bool)),p,SLOT(setEnabled(bool))); + + b = addBoolSelector(this,__tr2qs_ctx("Use the STARTTLS security protocol if available","options"),&(KVI_OPTION_BOOL(KviOption_boolUseStartTlsIfAvailable)),true); + mergeTip(b,__tr2qs_ctx("
This option will cause KVIrc to try to reconnect to the server using an encrypted connection
","options")); + addWidgetToLayout(b,0,2,0,2); + + addRowSpacer(0,3,0,3); +#else + addLabel(0,0,0,0,__tr2qs_ctx("This executable has no SSL support.","options")); +#endif +} + +OptionsWidget_connectionSsl::~OptionsWidget_connectionSsl() +{ +} + + +OptionsWidget_connectionSocket::OptionsWidget_connectionSocket(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("transport_options_widget"); + createLayout(); + KviUIntSelector * u; + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Timeout Values","options"),this); + u = addUIntSelector(g,__tr2qs_ctx("Connect timeout:","options"),KviOption_uintIrcSocketTimeout,5,6000,60); + u->setSuffix(__tr2qs_ctx(" sec","options")); + u = addUIntSelector(g,__tr2qs_ctx("Outgoing data queue flush timeout:","options"),KviOption_uintSocketQueueFlushTimeout,100,2000,500); + u->setSuffix(__tr2qs_ctx(" msec","options")); + KviBoolSelector * b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Limit outgoing traffic","options"),KviOption_boolLimitOutgoingTraffic); + u = addUIntSelector(0,2,0,2,__tr2qs_ctx("Limit to 1 message every:","options"), + KviOption_uintOutgoingTrafficLimitUSeconds,10000,2000000,10000001,KVI_OPTION_BOOL(KviOption_boolLimitOutgoingTraffic)); + u->setSuffix(__tr2qs_ctx(" usec","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 10000 usec
Maximum value: 10000000 usec
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Network Interfaces","options")); + + b = addBoolSelector(g,__tr2qs_ctx("Bind IPv4 connections to:","options"),KviOption_boolBindIrcIPv4ConnectionsToSpecifiedAddress); + KviStringSelector * s = addStringSelector(g,"",KviOption_stringIPv4ConnectionBindAddress,KVI_OPTION_BOOL(KviOption_boolBindIrcIPv4ConnectionsToSpecifiedAddress)); + connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); +#ifdef COMPILE_IPV6_SUPPORT + b = addBoolSelector(g,__tr2qs_ctx("Bind IPv6 connections to:","options"),KviOption_boolBindIrcIPv6ConnectionsToSpecifiedAddress); + s = addStringSelector(g,"",KviOption_stringIPv6ConnectionBindAddress,KVI_OPTION_BOOL(KviOption_boolBindIrcIPv6ConnectionsToSpecifiedAddress)); + connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); +#endif //!COMPILE_IPV6_SUPPORT + + b = addBoolSelector(0,4,0,4,__tr2qs_ctx("Pick Random IP Address for Round-Robin Servers","options"),KviOption_boolPickRandomIpAddressForRoundRobinServers); + mergeTip(b,__tr2qs_ctx("
This option will cause the KVIrc networking stack to pick up " \ + "a random entry when multiple IP address are retrieved for a server " \ + "dns lookup. This is harmless and can fix some problems with caching " \ + "dns servers that do not properly rotate the records as the authoritative " \ + "ones would do. On the other hand, you might want to disable it if " \ + "you want to rely on the dns server to provide the best choice.
","options")); + + addRowSpacer(0,5,0,5); +} + +OptionsWidget_connectionSocket::~OptionsWidget_connectionSocket() +{ +} + + +OptionsWidget_identService::OptionsWidget_identService(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("ident_options_widget"); + createLayout(); + + m_pEnableIdent = addBoolSelector(0,0,0,0,__tr2qs_ctx("Enable ident service (bad practice on UNIX!)","options"),KviOption_boolUseIdentService); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),this,SLOT(enableIpv4InIpv6(bool))); + + KviTalGroupBox * gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Output verbosity","options"),KVI_OPTION_BOOL(KviOption_boolUseIdentService)); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),gbox,SLOT(setEnabled(bool))); + + addLabel(gbox,__tr2qs_ctx("Output identd messages to:","options")); + + m_pActiveRadio = new QRadioButton(__tr2qs_ctx("Active window","options"),gbox); + m_pConsoleRadio = new QRadioButton(__tr2qs_ctx("Console","options"),gbox); + m_pQuietRadio = new QRadioButton(__tr2qs_ctx("Do not show any identd messages","options"),gbox); + + switch(KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)) + { + case KviIdentdOutputMode::Quiet : + m_pQuietRadio->setChecked(true); + break; + case KviIdentdOutputMode::ToConsole : + m_pConsoleRadio->setChecked(true); + break; + case KviIdentdOutputMode::ToActiveWindow : + m_pActiveRadio->setChecked(true); + break; + } + + gbox = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Configuration","options"),KVI_OPTION_BOOL(KviOption_boolUseIdentService)); + + KviBoolSelector *b = addBoolSelector(gbox,__tr2qs_ctx("Enable ident service only while connecting to server","options"),KviOption_boolUseIdentServiceOnlyOnConnect); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool))); + + KviStringSelector * s = addStringSelector(gbox,__tr2qs_ctx("Ident username:","options"), + KviOption_stringIdentdUser,KVI_OPTION_BOOL(KviOption_boolUseIdentService)); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); + + KviUIntSelector * u = addUIntSelector(gbox,__tr2qs_ctx("Service port:","options"), + KviOption_uintIdentdPort,0,65535,113,KVI_OPTION_BOOL(KviOption_boolUseIdentService)); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),gbox,SLOT(setEnabled(bool))); + + gbox = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("IPv6 Settings","options"),KVI_OPTION_BOOL(KviOption_boolUseIdentService)); + m_pEnableIpv6 = addBoolSelector(gbox,__tr2qs_ctx("Enable service for IPv6","options"), + KviOption_boolIdentdEnableIPv6, + KVI_OPTION_BOOL(KviOption_boolUseIdentService)); +#ifdef COMPILE_IPV6_SUPPORT + connect(m_pEnableIdent,SIGNAL(toggled(bool)),m_pEnableIpv6,SLOT(setEnabled(bool))); + connect(m_pEnableIpv6,SIGNAL(toggled(bool)),this,SLOT(enableIpv4InIpv6(bool))); +#else + m_pEnableIpv6->setEnabled(false); +#endif + m_pIpv4InIpv6 = addBoolSelector(gbox,__tr2qs_ctx("IP stack treats IPv4 as part of IPv6 namespace","options"), + KviOption_boolIdentdIPv6ContainsIPv4, + KVI_OPTION_BOOL(KviOption_boolUseIdentService) && KVI_OPTION_BOOL(KviOption_boolIdentdEnableIPv6)); + connect(m_pEnableIdent,SIGNAL(toggled(bool)),gbox,SLOT(setEnabled(bool))); + + addLabel(0,4,0,4, +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + __tr2qs_ctx("

Warning:
" \ + "This is a non RFC 1413 compliant ident daemon that implements " \ + "only a limited subset of the Identification Protocol specifications. If it is possible, install a " \ + "real ident daemon.

","options") +#else + __tr2qs_ctx("

Warning:
" \ + "This is a non RFC 1413 compliant ident daemon that implements " \ + "only a limited subset of the Identification Protocol specifications.
" \ + "On UNIX, you may also need root privileges to bind to the auth port (113).
" \ + "It is highly recommended that a real system-wide ident daemon be used instead, "\ + "or none at all if ident is not required.

","options") +#endif + ); + + addRowSpacer(0,5,0,5); +} + +OptionsWidget_identService::~OptionsWidget_identService() +{ +} + +void OptionsWidget_identService::commit() +{ + KviOptionsWidget::commit(); + if(m_pConsoleRadio->isChecked()) + KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)=KviIdentdOutputMode::ToConsole; + if(m_pActiveRadio->isChecked()) + KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)=KviIdentdOutputMode::ToActiveWindow; + if(m_pQuietRadio->isChecked()) + KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)=KviIdentdOutputMode::Quiet; +} + +void OptionsWidget_identService::enableIpv4InIpv6(bool) +{ +#ifdef COMPILE_IPV6_SUPPORT + m_pIpv4InIpv6->setEnabled(m_pEnableIdent->isChecked() && m_pEnableIpv6->isChecked()); +#endif +} + + +OptionsWidget_connectionAdvanced::OptionsWidget_connectionAdvanced(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("connection_advanced_options_widget"); +} + +OptionsWidget_connectionAdvanced::~OptionsWidget_connectionAdvanced() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_connection.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_connection.h b/src/modules/options/OptionsWidget_connection.h new file mode 100644 index 000000000..499cc300a --- /dev/null +++ b/src/modules/options/OptionsWidget_connection.h @@ -0,0 +1,117 @@ +#ifndef _OPTW_CONNECTION_H_ +#define _OPTW_CONNECTION_H_ +//============================================================================= +// +// File : OptionsWidget_connection.h +// Creation date : Sat Nov 24 04:25:12 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +class QRadioButton; + +#define KVI_OPTIONS_WIDGET_ICON_KviConnectionOptionsWidget KVI_SMALLICON_WORLD +#define KVI_OPTIONS_WIDGET_NAME_KviConnectionOptionsWidget __tr2qs_no_lookup("Connection") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionOptionsWidget 98000 + +class OptionsWidget_connection : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_connection(QWidget * parent); + ~OptionsWidget_connection(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviConnectionAdvancedOptionsWidget KVI_SMALLICON_WORLD +#define KVI_OPTIONS_WIDGET_NAME_KviConnectionAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") +#define KVI_OPTIONS_WIDGET_PARENT_KviConnectionAdvancedOptionsWidget OptionsWidget_connection +#define KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionAdvancedOptionsWidget true + +class OptionsWidget_connectionAdvanced : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_connectionAdvanced(QWidget * parent); + ~OptionsWidget_connectionAdvanced(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviSSLOptionsWidget KVI_SMALLICON_SSL +#define KVI_OPTIONS_WIDGET_NAME_KviSSLOptionsWidget __tr2qs_no_lookup("SSL") +#define KVI_OPTIONS_WIDGET_PARENT_KviSSLOptionsWidget OptionsWidget_connectionAdvanced +#define KVI_OPTIONS_WIDGET_PRIORITY_KviSSLOptionsWidget 30 + + + +class OptionsWidget_connectionSsl : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_connectionSsl(QWidget * parent); + ~OptionsWidget_connectionSsl(); +}; + + + +#define KVI_OPTIONS_WIDGET_ICON_KviTransportOptionsWidget KVI_SMALLICON_SOCKETERROR +#define KVI_OPTIONS_WIDGET_NAME_KviTransportOptionsWidget __tr2qs_no_lookup("Socket") +#define KVI_OPTIONS_WIDGET_PARENT_KviTransportOptionsWidget OptionsWidget_connectionAdvanced +#define KVI_OPTIONS_WIDGET_PRIORITY_KviTransportOptionsWidget 20 + + +class OptionsWidget_connectionSocket : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_connectionSocket(QWidget * parent); + ~OptionsWidget_connectionSocket(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviIdentOptionsWidget KVI_SMALLICON_IDENT +#define KVI_OPTIONS_WIDGET_NAME_KviIdentOptionsWidget __tr2qs_no_lookup("Ident Service") +#define KVI_OPTIONS_WIDGET_PARENT_KviIdentOptionsWidget OptionsWidget_connectionAdvanced +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentOptionsWidget 10 + + +class OptionsWidget_identService : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_identService(QWidget * parent); + ~OptionsWidget_identService(); + + virtual void commit(); +protected: + KviBoolSelector * m_pEnableIdent; + KviBoolSelector * m_pEnableIpv6; + KviBoolSelector * m_pIpv4InIpv6; + + QRadioButton * m_pConsoleRadio; + QRadioButton * m_pActiveRadio; + QRadioButton * m_pQuietRadio; +public slots: + void enableIpv4InIpv6(bool); +}; + + +#endif //_OPTW_CONNECTION_H_ diff --git a/src/modules/options/OptionsWidget_ctcp.cpp b/src/modules/options/OptionsWidget_ctcp.cpp new file mode 100644 index 000000000..47b381c70 --- /dev/null +++ b/src/modules/options/OptionsWidget_ctcp.cpp @@ -0,0 +1,83 @@ +//============================================================================= +// +// File : OptionsWidget_ctcp.cpp +// Creation date : Sun Dec 2 20:40:43 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_ctcp.h" + +#include "kvi_settings.h" +#include "KviLocale.h" +#include "KviOptions.h" + + +OptionsWidget_ctcp::OptionsWidget_ctcp(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("ctcp_options_widget"); + + createLayout(); + + addLabel(0,0,0,0,__tr2qs_ctx("
Settings for CTCP.
"\ + "

The Client-To-Client Protocol (CTCP) " \ + "is used to transmit special control messages over an IRC connection. " \ + "These messages can request information from clients or negotiate file transfers." \ + "

","options")); + + + KviTalGroupBox *gs = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("CTCP Replies","options")); + KviStringSelector * s = addStringSelector(gs, __tr2qs_ctx("Append to VERSION reply:","options"),KviOption_stringCtcpVersionPostfix); + + mergeTip(s, + __tr2qs_ctx("
This text will be appended to the CTCP VERSION reply.
For example, you can place a script name here.
","options")); + + s = addStringSelector(gs, __tr2qs_ctx("Append to SOURCE reply:","options"),KviOption_stringCtcpSourcePostfix); + + mergeTip(s, + __tr2qs_ctx("
This text will be appended to the CTCP SOURCE reply.
For example, you can place the source URL for a script here.
","options")); + +// s = addStringSelector(gs, __tr2qs_ctx("USERINFO reply:","options"),KviOption_stringCtcpUserinfoReply); + +// mergeTip(s, +// __tr2qs_ctx("
This is the CTCP USERINFO reply.
It can contain some information about yourself.
","options")); + + s = addStringSelector(gs, __tr2qs_ctx("PAGE reply:","options"),KviOption_stringCtcpPageReply); + + mergeTip(s, + __tr2qs_ctx("
This is the CTCP PAGE reply.
It should contain some sort of acknowledgement for CTCP PAGE messages.
","options")); + + addBoolSelector(gs,__tr2qs_ctx("Show the CTCP replies in the active window","options"),KviOption_boolCtcpRepliesToActiveWindow); + + addBoolSelector(gs,__tr2qs_ctx("Show dialog for CTCP page requests","options"),KviOption_boolShowDialogOnCtcpPage); + + addRowSpacer(0,3,0,3); + +} + + +OptionsWidget_ctcp::~OptionsWidget_ctcp() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_ctcp.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_ctcp.h b/src/modules/options/OptionsWidget_ctcp.h new file mode 100644 index 000000000..edb6719f5 --- /dev/null +++ b/src/modules/options/OptionsWidget_ctcp.h @@ -0,0 +1,43 @@ +#ifndef _OPTW_CTCP_H_ +#define _OPTW_CTCP_H_ +//============================================================================= +// +// File : OptionsWidget_ctcp.h +// Creation date : Sun Dec 2 20:40:43 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviCtcpOptionsWidget KVI_SMALLICON_CTCPREQUESTREPLIED +#define KVI_OPTIONS_WIDGET_NAME_KviCtcpOptionsWidget __tr2qs_no_lookup("CTCP") +#define KVI_OPTIONS_WIDGET_PARENT_KviCtcpOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpOptionsWidget 70000 + +class OptionsWidget_ctcp : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ctcp(QWidget * parent); + ~OptionsWidget_ctcp(); +}; + + +#endif //_OPTW_CTCP_H_ diff --git a/src/modules/options/OptionsWidget_ctcpFloodProtection.cpp b/src/modules/options/OptionsWidget_ctcpFloodProtection.cpp new file mode 100644 index 000000000..0abfd22ca --- /dev/null +++ b/src/modules/options/OptionsWidget_ctcpFloodProtection.cpp @@ -0,0 +1,118 @@ +//============================================================================= +// +// File : OptionsWidget_ctcpFloodProtection.cpp +// Creation date : Sun Jan 21 2001 14:35:06 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_ctcpFloodProtection.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include +#include + + +/* + @doc: ctcpfloodprotectionoptions + @type: + widget + @title: + CTCP flood protection options + @short: + Protection against CTCP flooding + @keyterms: + ctcp flood + @body: + Here, you can configure the CTCP flood protection system.[br] + The CTCP engine in IRC clients may be subject to an attack, called "CTCP flooding".[br] + Basically, the attackers (usually there is more than one offending client) sends a stream + of CTCP requests to the victim's client, and the client attempts to respond to all requests + by sending a stream of replies to the server, which causes the server to disconnect the user + due to "excess flood" for sending too many messages before the server can process them.[br] + Many user defined scripts choose to completely ignore all the CTCP requests in order to prevent such attacks.[br] + KVIrc offers an alternative method that allows you to take advantage of the CTCP protocol + and at the same time prevent the flood attacks.[br] + The method is really simple: The client will only respond to a limited number of CTCP requests within a + specified time interval.[br] + The "Use flood protection" option enables this protection method.[br] + In the "Allowed up to" field you should enter the maximum number of CTCP requests that KVIrc should + respond to within the interval of time defined in the second field.[br] + A strong protection against floods would be replying to 4 requests every 20 seconds.[br] + The minimum effective setting is about 3 messages every 6 seconds.[br] + Please note that 3 messages every 6 seconds is NOT the same as 10 messages every 20 seconds; + the first setting would allow 3 requests within one second, but the client would + ignore all the requests for the next 5 seconds, the second setting would allow 10 messages within one second + and ignore everything for the next 19 seconds. Therefore, 3/6 is a safer setting.[br] + The maximum protection you can set is 0 messages within any number of seconds; in that case any + CTCP request will be considered a flood and ignored.[br] + [br][br] + You can also decide to ignore specific CTCP requests. For example, if you don't want to reply to PING + requests, just select "PING" under the "Ignored Requests" section.[br] + [br][br] + Some specific protection options can be set also in other CTCP options sections: + see the [widget:ctcpavatarprotooptions]CTCP AVATAR protocol options[/widget] and [widget:ctcpdccprotooptions]CTCP DCC protocol options[/widget].[br] +*/ + + +OptionsWidget_ctcpFloodProtection::OptionsWidget_ctcpFloodProtection(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("ctcpfloodprotection_options_widget"); + + createLayout(); + + KviBoolSelector * b = addBoolSelector(0,0,1,0,__tr2qs_ctx("Use flood protection for CTCP requests (recommended)","options"),KviOption_boolUseCtcpFloodProtection); + mergeTip(b,__tr2qs_ctx("
This option makes KVIrc only respond to a limited number of CTCP requests within a specified time interval, to prevent \"flooding\" CTCP messages.
","options")); + + KviUIntSelector * u = addUIntSelector(0,1,0,1,__tr2qs_ctx("Allow up to:","options"),KviOption_uintMaxCtcpRequests,0,10000,3,KVI_OPTION_BOOL(KviOption_boolUseCtcpFloodProtection)); + u->setSuffix(__tr2qs_ctx(" requests","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 0 requests
Maximum value: 10000 requests
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + u = addUIntSelector(1,1,1,1,__tr2qs_ctx("within:","options"),KviOption_uintCtcpFloodCheckInterval,1,3600,6,KVI_OPTION_BOOL(KviOption_boolUseCtcpFloodProtection)); + u->setSuffix(__tr2qs_ctx(" sec","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 1 sec
Maximum value: 3600 sec
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + KviTalGroupBox * g = addGroupBox(0,2,1,2,Qt::Horizontal,__tr2qs_ctx("Ignored Ctcp Requests","options")); + addBoolSelector(g,__tr2qs_ctx("PING","options"),KviOption_boolIgnoreCtcpPing); + addBoolSelector(g,__tr2qs_ctx("FINGER","options"),KviOption_boolIgnoreCtcpFinger); + addBoolSelector(g,__tr2qs_ctx("CLIENTINFO","options"),KviOption_boolIgnoreCtcpClientinfo); + addBoolSelector(g,__tr2qs_ctx("USERINFO","options"),KviOption_boolIgnoreCtcpUserinfo); + addBoolSelector(g,__tr2qs_ctx("VERSION","options"),KviOption_boolIgnoreCtcpVersion); + addBoolSelector(g,__tr2qs_ctx("SOURCE","options"),KviOption_boolIgnoreCtcpSource); + addBoolSelector(g,__tr2qs_ctx("TIME","options"),KviOption_boolIgnoreCtcpTime); + addBoolSelector(g,__tr2qs_ctx("PAGE","options"),KviOption_boolIgnoreCtcpPage); + addBoolSelector(g,__tr2qs_ctx("AVATAR","options"),KviOption_boolIgnoreCtcpAvatar); + addBoolSelector(g,__tr2qs_ctx("DCC/TDCC","options"),KviOption_boolIgnoreCtcpDcc); + + addRowSpacer(0,3,1,3); +} + +OptionsWidget_ctcpFloodProtection::~OptionsWidget_ctcpFloodProtection() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_ctcpFloodProtection.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_ctcpFloodProtection.h b/src/modules/options/OptionsWidget_ctcpFloodProtection.h new file mode 100644 index 000000000..aef0559d3 --- /dev/null +++ b/src/modules/options/OptionsWidget_ctcpFloodProtection.h @@ -0,0 +1,42 @@ +#ifndef _OPTW_CTCPFLOODPROTECTION_H_ +#define _OPTW_CTCPFLOODPROTECTION_H_ +//============================================================================= +// +// File : OptionsWidget_ctcpFloodProtection.h +// Creation date : Sun Jan 21 2000 14:34:12 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviCtcpFloodProtectionOptionsWidget KVI_SMALLICON_CTCPREQUESTFLOOD +#define KVI_OPTIONS_WIDGET_NAME_KviCtcpFloodProtectionOptionsWidget __tr2qs_no_lookup("Flood Protection") +#define KVI_OPTIONS_WIDGET_PARENT_KviCtcpFloodProtectionOptionsWidget OptionsWidget_protection + +class OptionsWidget_ctcpFloodProtection : public KviOptionsWidget +{ + Q_OBJECT +// Q_CLASSINFO("help","ctcpfloodprotectionoptions") +public: + OptionsWidget_ctcpFloodProtection(QWidget * parent); + ~OptionsWidget_ctcpFloodProtection(); +}; + +#endif //!_OPTW_CTCPFLOODPROTECTION_H_ diff --git a/src/modules/options/OptionsWidget_dcc.cpp b/src/modules/options/OptionsWidget_dcc.cpp new file mode 100644 index 000000000..bfeede363 --- /dev/null +++ b/src/modules/options/OptionsWidget_dcc.cpp @@ -0,0 +1,372 @@ +//============================================================================= +// +// File : OptionsWidget_dcc.cpp +// Creation date : Fri Aug 17 22:08:09 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_dcc.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + + +OptionsWidget_dcc::OptionsWidget_dcc(QWidget * pParent) +: KviOptionsWidget(pParent) +{ +} + +OptionsWidget_dcc::~OptionsWidget_dcc() +{ +} + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_dccGeneral::OptionsWidget_dccGeneral(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("dccgeneral_options_widget"); + createLayout(); + + KviBoolSelector * b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Use workaround for firewall","options"),KviOption_boolCantAcceptIncomingDccConnections); + + mergeTip(b,__tr2qs_ctx("
Enable this option if you can't accept incoming connections.
" \ + "KVIrc will try to use different methods to send and receive files.
" \ + "Please note that these methods may NOT work when communicating with a non-KVIrc client.
","options")); + + addRowSpacer(0,1,0,1); +} + +OptionsWidget_dccGeneral::~OptionsWidget_dccGeneral() +{ +} + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_dccAdvanced::OptionsWidget_dccAdvanced(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("dccgeneral_options_widget"); + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Network Properties","options")); + + KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("Use user-defined address or network interface","options"),KviOption_boolDccListenOnSpecifiedInterfaceByDefault); + + + mergeTip(b,__tr2qs_ctx("
Enable this option if you are on a multihost machine and want " \ + "to force one of the available IP addresses to be used for outgoing DCCs.
This is especially useful " \ + "when you use IPv6 and IPv4 addresses.
You can force KVIrc to always choose the IPv4 interface.
","options")); + + KviStringSelector * s = addStringSelector(g,__tr2qs_ctx("Listen on address/interface:","options"),KviOption_stringDccListenDefaultInterface,KVI_OPTION_BOOL(KviOption_boolDccListenOnSpecifiedInterfaceByDefault)); + + mergeTip(s,__tr2qs_ctx("
This is the IP address or name of the interface to use by default for outgoing DCC transfers.
" \ + "On UNIX systems that support it, you can also specify IPv4 interface names (such as ppp0).
" \ + "If you set it to 0.0.0.0, KVIrc will try to use the first available IPv4 interface
","options")); + + connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); + + b = addBoolSelector(g,__tr2qs_ctx("Use user-defined port range","options"),KviOption_boolUserDefinedPortRange); + + mergeTip(b,__tr2qs_ctx("
Enable this option if you want specify a local port range for DCC.
","options")); + + KviTalHBox * hb = new KviTalHBox(g); + hb->setSpacing(4); + KviUIntSelector * u = addUIntSelector(hb,__tr2qs_ctx("Lowest port:","options"),KviOption_uintDccMinPort,1,65535,5000,KVI_OPTION_BOOL(KviOption_boolUserDefinedPortRange)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + u = addUIntSelector(hb,__tr2qs_ctx("Highest port:","options"),KviOption_uintDccMaxPort,1,65535,30000,KVI_OPTION_BOOL(KviOption_boolUserDefinedPortRange)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + b = addBoolSelector(g,__tr2qs_ctx("Send a fixed address in requests","options"),KviOption_boolDccSendFakeAddressByDefault); + + mergeTip(b,__tr2qs_ctx("
Enable this option if you want to always send a fake IP address in your DCC requests.
" \ + "This might be useful if you're behind a router with a static address that does network address translation (NAT) and forwards all or a range of ports.
","options")); + + s = addStringSelector(g,__tr2qs_ctx("Send address/interface:","options"),KviOption_stringDefaultDccFakeAddress,KVI_OPTION_BOOL(KviOption_boolDccSendFakeAddressByDefault)); + connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); + + mergeTip(s,__tr2qs_ctx("
This is the fixed address that will be sent with all DCC requests if you enable the option above.
","options")); + + KviBoolSelector * b2; + b2 = addBoolSelector(g,__tr2qs_ctx("Guess address from IRC server if unroutable","options"),KviOption_boolDccGuessIpFromServerWhenLocalIsUnroutable,!KVI_OPTION_BOOL(KviOption_boolDccSendFakeAddressByDefault)); + connect(b,SIGNAL(toggled(bool)),b2,SLOT(setNotEnabled(bool))); + + mergeTip(b2,__tr2qs_ctx("
You can enable this option if you are behind a router that forwards all or a range of ports.
" \ + "KVIrc will try to guess the IP address to use for DCC by looking up the local hostname as seen " \ + "by the IRC server you're connected to.
This method is an exclusive alternative to the \"fixed address\" above.
" \ + "It might guess the correct address automatically if certain conditions are met (e.g. the IRC server does not mask hostnames).
","options")); + + b = addBoolSelector(g,__tr2qs_ctx("Use \"broken bouncer hack\" to detect address","options"),KviOption_boolDccBrokenBouncerHack,KVI_OPTION_BOOL(KviOption_boolDccGuessIpFromServerWhenLocalIsUnroutable)); + mergeTip(b,__tr2qs_ctx("
When you're behind a dialup router and also tunneling through a psyBNC bouncer, " \ + "you can use a bug in the bouncer to force KVIrc to bind the DCC connections to the dialup router's address.
" \ + "It's an ugly hack - use it only if nothing else works.
","options")); + + connect(b2,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool))); + + b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Notify failed DCC handshakes to the remote end","options"),KviOption_boolNotifyFailedDccHandshakes); + mergeTip(b,__tr2qs_ctx("
If you enable this option, when a DCC request from a remote " \ + "user can't be satisfied KVIrc will notify him by a CTCP ERRMSG. This is " \ + "a nice feature so it is a good idea to leave it on unless for some reason " \ + "you have deactivated the antiflood system: in this case turning off this option " \ + "might help if you often get attacked by CTCP floods.
","options")); + + u = addUIntSelector(0,2,1,2,__tr2qs_ctx("Maximum number of DCC sessions","options"),KviOption_uintMaxDccSlots,0,1000,64); + mergeTip(u,__tr2qs_ctx("
This is the maximum number of concurrent DCC sessions " \ + "and it includes all the DCC types (send,chat,recv...). " \ + "KVIrc will refuse the requests when this limit is reached.
","options")); + + u = addUIntSelector(0,3,1,3,__tr2qs_ctx("DCC socket timeout:","options"),KviOption_uintDccSocketTimeout,10,65536,180); + u->setSuffix(__tr2qs_ctx(" sec","options")); + mergeTip(u,__tr2qs_ctx("
This is the amount of time that KVIrc will wait for a response before assuming that a DCC has failed " \ + "because the remote client was unable to connect to our listening socket.
","options")); + + addRowSpacer(0,4,1,4); +} + +OptionsWidget_dccAdvanced::~OptionsWidget_dccAdvanced() +{ +} + + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_dccSend::OptionsWidget_dccSend(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("dccsend_options_widget"); +} + +OptionsWidget_dccSend::~OptionsWidget_dccSend() +{ +} + + +OptionsWidget_dccSendGeneral::OptionsWidget_dccSendGeneral(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("dccsend_options_widget"); + createLayout(); + + KviBoolSelector * b; + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Incoming File","options")); + KviBoolSelector * b2 = addBoolSelector(g,__tr2qs_ctx("Automatically accept","options"),KviOption_boolAutoAcceptDccSend); + KviBoolSelector * b3 = addBoolSelector(g,__tr2qs_ctx("Open transfer window as minimized when auto-accepted","options"),KviOption_boolCreateMinimizedDccSendWhenAutoAccepted,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccSend)); + KviBoolSelector * b4 = addBoolSelector(g,__tr2qs_ctx("Automatically resume when auto-accepted","options"),KviOption_boolAutoResumeDccSendWhenAutoAccepted,KVI_OPTION_BOOL(KviOption_boolAutoAcceptDccSend)); + + g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Save Location","options")); + addDirectorySelector(g,__tr2qs_ctx("Download folder:","options"),KviOption_stringIncomingPath); + addBoolSelector(g,__tr2qs_ctx("Sort saved files by nicknames (create subfolders)","options"),KviOption_boolSortReceivedByDccFilesByNicks); + addBoolSelector(g,__tr2qs_ctx("Guess save path from media type","options"),KviOption_boolUseIncomingDccMediaTypeSavePath); + + + g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("On Download Completion","options")); + addBoolSelector(g,__tr2qs_ctx("Notify completion in console","options"),KviOption_boolNotifyDccSendSuccessInConsole); + addBoolSelector(g,__tr2qs_ctx("Notify completion in notifier","options"),KviOption_boolNotifyDccSendSuccessInNotifier); + b = addBoolSelector(g,__tr2qs_ctx("Automatically clear transfer","options"),KviOption_boolAutoCloseDccSendOnSuccess); + mergeTip(b, + __tr2qs_ctx("
This option will cause successfully terminated transfers " \ + "to be automatically removed from the transfer window.
","options")); + + + KviBoolSelector * b1 = addBoolSelector(0,3,0,3,__tr2qs_ctx("Always open transfer window as minimized","options"),KviOption_boolCreateMinimizedDccSend); + + connect(b1,SIGNAL(toggled(bool)),b3,SLOT(setNotEnabled(bool))); + connect(b2,SIGNAL(toggled(bool)),b4,SLOT(setEnabled(bool))); + + addRowSpacer(0,4,0,4); +} + +OptionsWidget_dccSendGeneral::~OptionsWidget_dccSendGeneral() +{ +} + + +OptionsWidget_dccSendAdvanced::OptionsWidget_dccSendAdvanced(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("dccsend_advanced_options_widget"); + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Bug Compatibility","options")); + KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("Send ACK for byte 0","options"),KviOption_boolSendZeroAckInDccRecv); + mergeTip(b, + __tr2qs_ctx("
This option causes KVIrc to send a zero-byte acknowledge to kick-start " \ + "the DCC transfer with some buggy IRC clients.
" \ + "Use it only if your DCC transfers stall just after establishing a connection without sending any data.
","options")); + + b = addBoolSelector(g,__tr2qs_ctx("Accept RESUME requests with broken filename (mIRC file.ext)","options"),KviOption_boolAcceptBrokenFileNameDccResumeRequests); + mergeTip(b, + __tr2qs_ctx("
This option causes KVIrc to accept RESUME requests with invalid filenames.
" \ + "Use it if KVIrc fails to accept RESUME requests from other clients (e.g. some versions of mIRC).
","options")); + + + b = addBoolSelector(g,__tr2qs_ctx("Accept RESUME requests with mismatched ports","options"),KviOption_boolAcceptMismatchedPortDccResumeRequests); + mergeTip(b, + __tr2qs_ctx("
This option causes KVIrc to accept RESUME requests with mismatched ports.
" \ + "Use it if some router on the path between you and the receiver remaps the ports in DCC SEND " \ + "but not in DCC RESUME requests.
Please note that this option may misbehave in certain usage " \ + "patterns since KVIrc must differentiate between transfers only by looking at the filename. Be careful.
","options")); + + b = addBoolSelector(g,__tr2qs_ctx("Replace spaces with underscores in outgoing filenames","options"),KviOption_boolDCCFileTransferReplaceOutgoingSpacesWithUnderscores); + mergeTip(b, + __tr2qs_ctx("
This option causes KVIrc to replace spaces with underscores in filenames " \ + "for all the outgoing file transfers. This will fix filename handling with some buggy clients (e.g. some versions of mIRC).","options")); + + g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Limits","options")); + + KviTalHBox * hb = new KviTalHBox(g); + b = addBoolSelector(hb,__tr2qs_ctx("Limit upload bandwidth to","options"),KviOption_boolLimitDccSendSpeed); + KviUIntSelector * u = addUIntSelector(hb,"",KviOption_uintMaxDccSendSpeed,0,0xffffff1,1024,KVI_OPTION_BOOL(KviOption_boolLimitDccSendSpeed)); + u->setSuffix(" " + __tr2qs_ctx("bytes/sec","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + hb = new KviTalHBox(g); + b = addBoolSelector(hb,__tr2qs_ctx("Limit download bandwidth to","options"),KviOption_boolLimitDccRecvSpeed); + u = addUIntSelector(hb,"",KviOption_uintMaxDccRecvSpeed,0,0xffffff1,1024,KVI_OPTION_BOOL(KviOption_boolLimitDccRecvSpeed)); + u->setSuffix(" " + __tr2qs_ctx("bytes/sec","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + + u = addUIntSelector(g,__tr2qs_ctx("Maximum number of DCC transfers","options"),KviOption_uintMaxDccSendTransfers,0,1000,10); + mergeTip(u,__tr2qs_ctx("
This is the maximum number of concurrent DCC transfers. " \ + "KVIrc will refuse the requests when this limit is reached.
","options")); + + g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Tweaks","options")); + + b = addBoolSelector(g,__tr2qs_ctx("Use fast send (send ahead)","options"),KviOption_boolUseFastDccSend); + mergeTip(b, + __tr2qs_ctx("
The \"send ahead\" DCC method allows data to be sent faster by breaking " \ + "some of the rules of the original DCC SEND protocol specification.
" \ + "Most clients can handle this kind of optimisation so disable it only if you have problems.
","options")); + + hb = new KviTalHBox(g); + + b = addBoolSelector(hb,__tr2qs_ctx("Force idle step","options"),KviOption_boolDccSendForceIdleStep); + mergeTip(b, + __tr2qs_ctx("
Enable this option when the dcc file transfers " \ + "tend to block your computer by consuming too much CPU time. " \ + "When this option is enabled the idle interval below will be " \ + "forcibly inserted between each sent/received data packet.
","options")); + + u = addUIntSelector(hb,"",KviOption_uintDccSendIdleStepInMSec,1,65536,30,KVI_OPTION_BOOL(KviOption_boolDccSendForceIdleStep)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + u->setSuffix(__tr2qs_ctx(" msec","options")); + + mergeTip(u, + __tr2qs_ctx("
This parameter controls the average delay between two packets sent or received.
" \ + "A smaller interval will cause you to send data faster but will also " \ + "add load to your CPU, disk and network interface.
" \ + "Reasonable values are from 5 to 50 milliseconds.
","options")); + + u = addUIntSelector(g,__tr2qs_ctx("Packet size:","options"),KviOption_uintDccSendPacketSize,16,65536,1024); + u->setSuffix(__tr2qs_ctx(" bytes","options")); + mergeTip(u, + __tr2qs_ctx("
This parameter controls the packet size used for DCC SEND.
" \ + "With bigger packets you will be probably send data faster, but " \ + "you will also saturate your bandwidth and in some cases " \ + "cause more disk activity.
" \ + "Reasonable values are from 512 to 4096 bytes.
","options")); + + addRowSpacer(0,3,0,4); +} + +OptionsWidget_dccSendAdvanced::~OptionsWidget_dccSendAdvanced() +{ +} + + +//OptionsWidget_dccSend::enableStuff(bool) +//{ +// m_pOpenMinimizedAutoAccept->setEnabled(m_pAutoAccept->isChecked() && !m_pOpenMinimized->isChecked()); +//} + + +OptionsWidget_dccChat::OptionsWidget_dccChat(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("dccchat_options_widget"); + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Chat Request","options")); + addBoolSelector(g,__tr2qs_ctx("Automatically accept","options"),KviOption_boolAutoAcceptDccChat); + + KviBoolSelector * b1 = addBoolSelector(g,__tr2qs_ctx("Open minimized when auto-accepted","options"),KviOption_boolCreateMinimizedDccChatWhenAutoAccepted,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat)); + + KviBoolSelector * b2 = addBoolSelector(0,1,0,1,__tr2qs_ctx("Always open as minimized","options"),KviOption_boolCreateMinimizedDccChat); + + connect(b2,SIGNAL(toggled(bool)),b1,SLOT(setNotEnabled(bool))); + +#if (defined(COMPILE_ON_WINDOWS) || defined(COMPILE_KDE_SUPPORT) || defined(COMPILE_ON_MINGW)) + b2 = addBoolSelector(0,2,0,2,__tr2qs_ctx("Flash system taskbar on new dcc chat message","options"),KviOption_boolFlashDccChatWindowOnNewMessages); + mergeTip(b2, + __tr2qs_ctx("
This option causes the system taskbar entry for KVIrc to flash when a new dcc chat message " \ + "is received and the KVIrc window is not the active.
","options")); +#endif + + b2 = addBoolSelector(0,3,0,3, __tr2qs_ctx("Popup notifier on new dcc chat message","options"),KviOption_boolPopupNotifierOnNewDccChatMessages); + mergeTip(b2, + __tr2qs_ctx("
This option causes a small notifier window to pop up " \ + "in the low right corner of the screen when a new message is received " \ + "and the KVIrc window is not active.
","options")); + + addRowSpacer(0,4,0,4); +} + +OptionsWidget_dccChat::~OptionsWidget_dccChat() +{ +} + + +OptionsWidget_dccVoice::OptionsWidget_dccVoice(QWidget *p):KviOptionsWidget(p) +{ + createLayout(); + + KviBoolSelector * b1 = addBoolSelector(0,0,0,0,__tr2qs_ctx("Open all minimized","options"),KviOption_boolCreateMinimizedDccVoice); + KviTalGroupBox * g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Voice Request","options")); + KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("Automatically accept","options"),KviOption_boolAutoAcceptDccVoice); + + b = addBoolSelector(g,__tr2qs_ctx("Open minimized when auto-accepted","options"),KviOption_boolCreateMinimizedDccVoiceWhenAutoAccepted,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccVoice)); + connect(b1,SIGNAL(toggled(bool)),b,SLOT(setNotEnabled(bool))); + + addBoolSelector(0,2,0,2,__tr2qs_ctx("Force half-duplex mode on sound device","options"), KviOption_boolDccVoiceForceHalfDuplex); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Volume slider controls PCM, not Master","options"), KviOption_boolDccVoiceVolumeSliderControlsPCM); + + addStringSelector(0,4,0,4,__tr2qs_ctx("Sound device:","options"), KviOption_stringDccVoiceSoundDevice); + addStringSelector(0,5,0,5,__tr2qs_ctx("Mixer device:","options"), KviOption_stringDccVoiceMixerDevice); + + KviUIntSelector * u = addUIntSelector(0,6,0,6,__tr2qs_ctx("Pre-buffer size:","options"), KviOption_uintDccVoicePreBufferSize, 2048, 65536, 32000); + u->setSuffix(" bytes"); + + addRowSpacer(0,7,0,7); +} + +OptionsWidget_dccVoice::~OptionsWidget_dccVoice() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_dcc.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_dcc.h b/src/modules/options/OptionsWidget_dcc.h new file mode 100644 index 000000000..c4ed7b27e --- /dev/null +++ b/src/modules/options/OptionsWidget_dcc.h @@ -0,0 +1,141 @@ +#ifndef _OPTW_DCC_H_ +#define _OPTW_DCC_H_ +//============================================================================= +// +// File : OptionsWidget_dcc.h +// Creation date : Fri Aug 17 22:08:08 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviDccOptionsWidget KVI_SMALLICON_DCCERROR +#define KVI_OPTIONS_WIDGET_NAME_KviDccOptionsWidget __tr2qs_no_lookup("DCC") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviDccOptionsWidget 70000 +#define KVI_OPTIONS_WIDGET_CONTAINER_KviDccOptionsWidget true + +class OptionsWidget_dcc : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dcc(QWidget * parent); + ~OptionsWidget_dcc(); +}; + + + +#define KVI_OPTIONS_WIDGET_ICON_KviDccGeneralOptionsWidget KVI_SMALLICON_DCCERROR +#define KVI_OPTIONS_WIDGET_NAME_KviDccGeneralOptionsWidget __tr2qs_no_lookup("General") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviDccGeneralOptionsWidget 70000 +#define KVI_OPTIONS_WIDGET_PARENT_KviDccGeneralOptionsWidget OptionsWidget_dcc + +class OptionsWidget_dccGeneral : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccGeneral(QWidget * parent); + ~OptionsWidget_dccGeneral(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviDccAdvancedOptionsWidget KVI_SMALLICON_DCCERROR +#define KVI_OPTIONS_WIDGET_NAME_KviDccAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviDccAdvancedOptionsWidget 70000 +#define KVI_OPTIONS_WIDGET_PARENT_KviDccAdvancedOptionsWidget OptionsWidget_dcc + +class OptionsWidget_dccAdvanced : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccAdvanced(QWidget * parent); + ~OptionsWidget_dccAdvanced(); +}; + + + + +#define KVI_OPTIONS_WIDGET_ICON_KviDccSendOptionsWidget KVI_SMALLICON_DCCMSG +#define KVI_OPTIONS_WIDGET_NAME_KviDccSendOptionsWidget __tr2qs_no_lookup("File Transfer") +#define KVI_OPTIONS_WIDGET_PARENT_KviDccSendOptionsWidget OptionsWidget_dcc +#define KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendOptionsWidget true + + +class OptionsWidget_dccSend : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccSend(QWidget * parent); + ~OptionsWidget_dccSend(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviDccSendGeneralOptionsWidget KVI_SMALLICON_DCCMSG +#define KVI_OPTIONS_WIDGET_NAME_KviDccSendGeneralOptionsWidget __tr2qs_no_lookup("General") +#define KVI_OPTIONS_WIDGET_PARENT_KviDccSendGeneralOptionsWidget OptionsWidget_dccSend + + +class OptionsWidget_dccSendGeneral : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccSendGeneral(QWidget * parent); + ~OptionsWidget_dccSendGeneral(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviDccSendAdvancedOptionsWidget KVI_SMALLICON_DCCMSG +#define KVI_OPTIONS_WIDGET_NAME_KviDccSendAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") +#define KVI_OPTIONS_WIDGET_PARENT_KviDccSendAdvancedOptionsWidget OptionsWidget_dccSend + +class OptionsWidget_dccSendAdvanced : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccSendAdvanced(QWidget * parent); + ~OptionsWidget_dccSendAdvanced(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviDccChatOptionsWidget KVI_SMALLICON_DCCREQUEST +#define KVI_OPTIONS_WIDGET_NAME_KviDccChatOptionsWidget __tr2qs_no_lookup("Chat") +#define KVI_OPTIONS_WIDGET_PARENT_KviDccChatOptionsWidget OptionsWidget_dcc +#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccChatOptionsWidget true + +class OptionsWidget_dccChat : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccChat(QWidget * parent); + ~OptionsWidget_dccChat(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviDccVoiceOptionsWidget KVI_SMALLICON_DCCVOICE +#define KVI_OPTIONS_WIDGET_NAME_KviDccVoiceOptionsWidget __tr2qs_no_lookup("Voice") +#define KVI_OPTIONS_WIDGET_PARENT_KviDccVoiceOptionsWidget OptionsWidget_dcc +#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccVoiceOptionsWidget true + +class OptionsWidget_dccVoice : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_dccVoice(QWidget *); + ~OptionsWidget_dccVoice(); +}; + + +#endif //_OPTW_DCC_H_ diff --git a/src/modules/options/OptionsWidget_general.cpp b/src/modules/options/OptionsWidget_general.cpp new file mode 100644 index 000000000..b3836826a --- /dev/null +++ b/src/modules/options/OptionsWidget_general.cpp @@ -0,0 +1,51 @@ +//============================================================================= +// +// File : OptionsWidget_general.cpp +// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_general.h" + +#include "kvi_settings.h" +#include "KviLocale.h" +#include "KviOptions.h" + + +OptionsWidget_general::OptionsWidget_general(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("generalopt_options_widget"); + createLayout(); + + addLabel(0,0,4,0,__tr2qs_ctx("This section contains the general client options
"\ + "

like sound, mediafiles, URL handler etc... " \ + "

","options")); + addAdvancedButton(4,1,4,1); +} + +OptionsWidget_general::~OptionsWidget_general() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_general.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_general.h b/src/modules/options/OptionsWidget_general.h new file mode 100644 index 000000000..5b24c77ee --- /dev/null +++ b/src/modules/options/OptionsWidget_general.h @@ -0,0 +1,41 @@ +#ifndef _OPTW_GENERALOPT_H_ +#define _OPTW_GENERALOPT_H_ +//============================================================================= +// +// File : OptionsWidget_general.h +// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviGeneralOptOptionsWidget KVI_SMALLICON_OPTIONS +#define KVI_OPTIONS_WIDGET_NAME_KviGeneralOptOptionsWidget __tr2qs_no_lookup("General options") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviGeneralOptOptionsWidget 40000 + +class OptionsWidget_general : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_general(QWidget * parent); + ~OptionsWidget_general(); +}; + +#endif //_OPTW_CONNECTION_H_ diff --git a/src/modules/options/OptionsWidget_identity.cpp b/src/modules/options/OptionsWidget_identity.cpp new file mode 100644 index 000000000..1066ae6c7 --- /dev/null +++ b/src/modules/options/OptionsWidget_identity.cpp @@ -0,0 +1,1017 @@ +//============================================================================ +// +// File : OptionsWidget_identity.cpp +// Creation date : Tue Nov 14 2000 23:06:53 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================ + +#include "OptionsWidget_identity.h" + +#include "kvi_defaults.h" +#include "kvi_settings.h" +#include "kvi_fileextensions.h" +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviApplication.h" +#include "KviWindow.h" +#include "KviConsoleWindow.h" +#include "KviOptionsWidget.h" +#include "KviFileDialog.h" +#include "KviIconManager.h" +#include "KviHttpRequest.h" +#include "KviIdentityProfileSet.h" +#include "KviTalToolTip.h" +#include "KviTalHBox.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +NickAlternativesDialog::NickAlternativesDialog(QWidget * par,const QString &n1,const QString &n2,const QString &n3) +: QDialog(par) +{ + QGridLayout * g = new QGridLayout(this); + + setWindowTitle(__tr2qs_ctx("Nickname alternatives","options")); + + QLabel * l = new QLabel(this); + l->setText(__tr2qs_ctx("
Here you can choose up to three nicknames " \ + "alternative to the primary one. KVIrc will use the alternatives " \ + "if the primary nick is already used by someone else on a particular " \ + "IRC network.
","options")); + l->setWordWrap(true); + + g->addWidget(l,0,0,1,3); + + l = new QLabel(this); + l->setText(__tr2qs_ctx("Alt. Nickname 1:","options")); + g->addWidget(l,1,0); + m_pNickEdit1 = new QLineEdit(this); + g->addWidget(m_pNickEdit1,1,1,1,2); + m_pNickEdit1->setText(n1); + + l = new QLabel(this); + l->setText(__tr2qs_ctx("Alt. Nickname 2:","options")); + g->addWidget(l,2,0); + m_pNickEdit2 = new QLineEdit(this); + g->addWidget(m_pNickEdit2,2,1,1,2); + m_pNickEdit2->setText(n2); + + l = new QLabel(this); + l->setText(__tr2qs_ctx("Alt. Nickname 3:","options")); + g->addWidget(l,3,0); + m_pNickEdit3 = new QLineEdit(this); + g->addWidget(m_pNickEdit3,3,1,1,2); + m_pNickEdit3->setText(n3); + KviTalHBox * h = new KviTalHBox(this); + h->setSpacing(8); + g->addWidget(h,4,2); + + QPushButton * pb = new QPushButton(__tr2qs_ctx("Cancel","options"),h); + connect(pb,SIGNAL(clicked()),this,SLOT(reject())); + + pb = new QPushButton(__tr2qs_ctx("Ok","options"),h); + pb->setDefault(true); + connect(pb,SIGNAL(clicked()),this,SLOT(accept())); + + g->setColumnStretch(0,1); +} + +NickAlternativesDialog::~NickAlternativesDialog() +{ +} + +void NickAlternativesDialog::fill(QString &n1,QString &n2,QString &n3) +{ + n1 = m_pNickEdit1->text(); + n2 = m_pNickEdit2->text(); + n3 = m_pNickEdit3->text(); +} + + +AvatarDownloadDialog::AvatarDownloadDialog(QWidget * par,const QString &szUrl) +: QDialog(par) +{ + setWindowTitle(__tr2qs_ctx("Avatar Download - KVIrc","options")); + + m_szUrl = szUrl; + + QGridLayout * g = new QGridLayout(this); + + m_pOutput = new QLabel(__tr2qs_ctx("
Please wait while the avatar is being downloaded
","options"),this); + g->addWidget(m_pOutput,0,0,1,2); + + QPushButton * b = new QPushButton(__tr2qs_ctx("Abort","options"),this); + g->addWidget(b,1,1); + connect(b,SIGNAL(clicked()),this,SLOT(cancelClicked())); + + m_pRequest = new KviHttpRequest(); + + QTimer::singleShot(0,this,SLOT(startDownload())); + + g->setRowStretch(0,1); + g->setColumnStretch(0,1); + + setMinimumSize(250,120); +} + +AvatarDownloadDialog::~AvatarDownloadDialog() +{ + delete m_pRequest; +} + +void AvatarDownloadDialog::startDownload() +{ + connect(m_pRequest,SIGNAL(terminated(bool)),this,SLOT(downloadTerminated(bool))); + connect(m_pRequest,SIGNAL(status(const QString &)),this,SLOT(downloadMessage(const QString &))); + + QString tmp = m_szUrl; + g_pIconManager->urlToCachedFileName(tmp); + g_pApp->getLocalKvircDirectory(m_szLocalFileName,KviApplication::Avatars,tmp); + + m_pRequest->setExistingFileAction(KviHttpRequest::RenameExisting); + if(!m_pRequest->get(KviUrl(m_szUrl),KviHttpRequest::StoreToFile,m_szLocalFileName.toUtf8().data())) + { + m_szErrorMessage = __tr2qs_ctx("Failed to start the download","options"); + reject(); + } +} + +void AvatarDownloadDialog::closeEvent(QCloseEvent * e) +{ + m_szErrorMessage = __tr2qs_ctx("Download aborted by user","options"); + e->ignore(); + reject(); +} + +void AvatarDownloadDialog::cancelClicked() +{ + m_szErrorMessage = __tr2qs_ctx("Download aborted by user","options"); + reject(); +} + +void AvatarDownloadDialog::downloadMessage(const QString &szMsg) +{ + if(!szMsg.isEmpty()) + { + QString txt = "
"; + txt += szMsg; + txt += "
"; + m_pOutput->setText(szMsg); + } +} + +void AvatarDownloadDialog::downloadTerminated(bool bSuccess) +{ + if(bSuccess) + { + accept(); + } else { + m_szErrorMessage = m_pRequest->lastError(); + reject(); + } +} + +AvatarSelectionDialog::AvatarSelectionDialog(QWidget * par,const QString &szInitialPath) +: QDialog(par) +{ + setWindowTitle(__tr2qs_ctx("Choose Avatar - KVIrc","options")); + + QGridLayout * g = new QGridLayout(this); + + QString msg = "
"; + msg += __tr2qs_ctx("Please select an avatar image. " \ + "The full path to a local file or an image on the Web can be used.
" \ + "If you wish to use a local image file, click the \"Browse\"" \ + "button to browse local folders.
" \ + "The full URL for an image (including http://) can be entered manually.","options"); + msg += "

"; + + QLabel * l = new QLabel(msg,this); + l->setMinimumWidth(250); + + g->addWidget(l,0,0,1,3); + + m_pLineEdit = new QLineEdit(this); + m_pLineEdit->setText(szInitialPath); + m_pLineEdit->setMinimumWidth(180); + + g->addWidget(m_pLineEdit,1,0,1,2); + + QPushButton * b = new QPushButton(__tr2qs_ctx("&Browse...","options"),this); + connect(b,SIGNAL(clicked()),this,SLOT(chooseFileClicked())); + g->addWidget(b,1,2); + + KviTalHBox * h = new KviTalHBox(this); + h->setSpacing(8); + g->addWidget(h,2,1,1,2); + b = new QPushButton(__tr2qs_ctx("&OK","options"),h); + b->setMinimumWidth(80); + b->setDefault(true); + connect(b,SIGNAL(clicked()),this,SLOT(okClicked())); + + b = new QPushButton(__tr2qs_ctx("Cancel","options"),h); + b->setMinimumWidth(80); + connect(b,SIGNAL(clicked()),this,SLOT(cancelClicked())); + + g->setRowStretch(0,1); + g->setColumnStretch(0,1); +} + +AvatarSelectionDialog::~AvatarSelectionDialog() +{ +} + +void AvatarSelectionDialog::okClicked() +{ + m_szAvatarName = m_pLineEdit->text().trimmed(); + accept(); +} + +void AvatarSelectionDialog::cancelClicked() +{ + reject(); +} + +void AvatarSelectionDialog::chooseFileClicked() +{ + QString tmp; + if(KviFileDialog::askForOpenFileName(tmp,__tr2qs_ctx("Choose an Image File - KVIrc","options"),QString(),KVI_FILTER_IMAGE,false,true,this)) + { + m_pLineEdit->setText(tmp); + } +} + +void AvatarSelectionDialog::closeEvent(QCloseEvent * e) +{ + e->ignore(); + reject(); +} + + +OptionsWidget_identity::OptionsWidget_identity(QWidget * parent) +: KviOptionsWidget(parent) +{ +} + +OptionsWidget_identity::~OptionsWidget_identity() +{ +} + + +KviIdentityGeneralOptionsWidget::KviIdentityGeneralOptionsWidget(QWidget * parent) +: KviOptionsWidget(parent) +{ + m_szAltNicknames[0] = KVI_OPTION_STRING(KviOption_stringNickname2); + m_szAltNicknames[1] = KVI_OPTION_STRING(KviOption_stringNickname3); + m_szAltNicknames[2] = KVI_OPTION_STRING(KviOption_stringNickname4); + + + createLayout(); + layout()->setMargin(10); + + KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Basic Properties","options")); + KviTalHBox * hb = new KviTalHBox(gbox); + hb->setSpacing(0); + hb->setMargin(0); + + KviStringSelector * sel = addStringSelector(hb,__tr2qs_ctx("Nickname:","options"),KviOption_stringNickname1); + sel->setMinimumLabelWidth(120); + mergeTip(sel,__tr2qs_ctx("
Your nickname is your primary form of identification on IRC.
" \ + "Since servers cannot accept multiple users sharing the same nickname " \ + "(case insensitive), you can provide alternative nicknames to be used in case"\ + "the server refuses to accept the default one.
","options")); + + QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*"),hb); + sel->setValidator(v); + + QPushButton * pb = new QPushButton(__tr2qs_ctx("Alternatives...","options"),hb); + connect(pb,SIGNAL(clicked()),this,SLOT(setNickAlternatives())); + + sel = addStringSelector(gbox,__tr2qs_ctx("Username:","options"),KviOption_stringUsername); + sel->setMinimumLabelWidth(120); + mergeTip(sel,__tr2qs_ctx("
This is the username that you will use to connect to the server.
" \ + "In the past, it was used as a form of authentication, but it normally has no special use now.
" \ + "In addition to your nickname, you are identified on IRC by your username@hostname.
" \ + "Basically, you can enter any word you like here. :D
","options")); + + sel = addStringSelector(gbox,__tr2qs_ctx("Real name:","options"),KviOption_stringRealname); + sel->setMinimumLabelWidth(120); + + mergeTip(sel,__tr2qs_ctx("
This text will appear when someone does a /WHOIS on you.
" \ + "It is intended to be your real name, but people tend to put random quotes and phrases here too.
","options")); + + + QString szOptionalCtcpUserInfo = __tr2qs_ctx("This field is optional and will appear as part of the CTCP USERINFO reply.","options"); + QString szCenterBegin("
"); + QString szCenterEnd("
"); + QString szTrailing = "

" + szOptionalCtcpUserInfo + szCenterEnd; + + gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Profile","options")); + + hb = new KviTalHBox(gbox); + hb->setSpacing(4); + + QLabel * l = new QLabel(__tr2qs_ctx("Age:","options"),hb); + l->setMinimumWidth(120); + + m_pAgeCombo = new QComboBox(hb); + QString szTip1 = szCenterBegin + __tr2qs_ctx("Here you can specify your age.","options") + szTrailing; + KviTalToolTip::add(l,szTip1); + KviTalToolTip::add(m_pAgeCombo,szTip1); + m_pAgeCombo->addItem(__tr2qs_ctx("Unspecified","options")); + unsigned int i; + for(i=1;i<120;i++) + { + QString tmp; + tmp.setNum(i); + m_pAgeCombo->insertItem(m_pAgeCombo->count(),tmp); + } + + bool bOk; + i = KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge).toUInt(&bOk); + if(!bOk)i = 0; + if(i > 120)i = 120; + m_pAgeCombo->setCurrentIndex(i); + + hb->setStretchFactor(m_pAgeCombo,1); + + + hb = new KviTalHBox(gbox); + hb->setSpacing(4); + + l = new QLabel(__tr2qs_ctx("Gender:","options"),hb); + l->setMinimumWidth(120); + + m_pGenderCombo = new QComboBox(hb); + QString szTip2 = szCenterBegin + __tr2qs_ctx("Here you can specify your gender.","options") + szTrailing; + KviTalToolTip::add(l,szTip2); + KviTalToolTip::add(m_pGenderCombo,szTip2); + m_pGenderCombo->addItem(__tr2qs_ctx("Unspecified","options")); + m_pGenderCombo->addItem(__tr2qs_ctx("Female","options")); + m_pGenderCombo->addItem(__tr2qs_ctx("Male","options")); + + if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender),"Male")) + m_pGenderCombo->setCurrentIndex(2); + else if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender),"Female")) + m_pGenderCombo->setCurrentIndex(1); + else + m_pGenderCombo->setCurrentIndex(0); + + hb->setStretchFactor(m_pGenderCombo,1); + + sel = addStringSelector(gbox,__tr2qs_ctx("Location:","options"),KviOption_stringCtcpUserInfoLocation); + sel->setMinimumLabelWidth(120); + mergeTip(sel,szCenterBegin + __tr2qs_ctx("You can describe here your approximate physical location. " \ + "Something like \"Region, Country\" will be ok. Please note that this information will be viewable " \ + "by anyone so putting more data (like the exact address), generally, is not a good idea.","options") + szTrailing); + + sel = addStringSelector(gbox,__tr2qs_ctx("Languages:","options"),KviOption_stringCtcpUserInfoLanguages); + sel->setMinimumLabelWidth(120); + mergeTip(sel,szCenterBegin + __tr2qs_ctx("You can put here the short names of the languages you can speak. " \ + "An example might be \"EN,IT\" that would mean that you speak both Italian and English.","options") + szTrailing); + + sel = addStringSelector(gbox,__tr2qs_ctx("Other:","options"),KviOption_stringCtcpUserInfoOther); + sel->setMinimumLabelWidth(120); + mergeTip(sel,szCenterBegin + __tr2qs_ctx("You can put here some additional personal data. " \ + "It might be a funny quote or your homepage url... " \ + "Please note that this information will be viewable " \ + "by anyone so don't put any sensible data (passwords, telephone or credit card numbers).","options") + szTrailing); + + addRowSpacer(0,2,0,2); +} + +KviIdentityGeneralOptionsWidget::~KviIdentityGeneralOptionsWidget() +{ +} + +void KviIdentityGeneralOptionsWidget::setNickAlternatives() +{ + NickAlternativesDialog * dlg = new NickAlternativesDialog(this,m_szAltNicknames[0],m_szAltNicknames[1],m_szAltNicknames[2]); + if(dlg->exec() != QDialog::Accepted)return; + dlg->fill(m_szAltNicknames[0],m_szAltNicknames[1],m_szAltNicknames[2]); + delete dlg; +} + +void KviIdentityGeneralOptionsWidget::commit() +{ + KviOptionsWidget::commit(); + + if(KVI_OPTION_STRING(KviOption_stringRealname).isEmpty()) KVI_OPTION_STRING(KviOption_stringRealname)=KVI_DEFAULT_REALNAME; + if(KVI_OPTION_STRING(KviOption_stringUsername).isEmpty()) KVI_OPTION_STRING(KviOption_stringUsername)=KVI_DEFAULT_USERNAME; + + KVI_OPTION_STRING(KviOption_stringNickname2) = m_szAltNicknames[0]; + KVI_OPTION_STRING(KviOption_stringNickname3) = m_szAltNicknames[1]; + KVI_OPTION_STRING(KviOption_stringNickname4) = m_szAltNicknames[2]; + + + int i = m_pAgeCombo->currentIndex(); + if(i < 0)i = 0; + if(i > 120)i = 120; + if(i <= 0)KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge) = ""; + else KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge).setNum(i); + + switch(m_pGenderCombo->currentIndex()) + { + case 1: + // this should be in english + KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender) = "Female"; + break; + case 2: + // this should be in english + KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender) = "Male"; + break; + default: + KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender) = ""; + break; + } +} + + +OptionsWidget_identityAvatar::OptionsWidget_identityAvatar(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + layout()->setMargin(10); + + m_pLocalAvatar = new KviPixmap(KVI_OPTION_PIXMAP(KviOption_pixmapMyAvatar)); + + bool bHaveAvatar = (!KVI_OPTION_STRING(KviOption_stringMyAvatar).isEmpty()) && m_pLocalAvatar->pixmap(); + + QString szTip = __tr2qs_ctx("Here you can choose your avatar image. It will be visible
" \ + "by other people that request it. Choose a nice image of yourself,
" \ + "possibly avoiding obscenity and offending images. It is a good idea
" \ + "to choose a relatively small file (say 150 Kb max) because
" \ + "most clients have a limit on the size of avatars being downloaded.
" \ + "The image also should be smaller than 800x600 pixels since
" \ + "it will have to be viewable in everyone's monitor.","options"); + + m_pUseAvatarCheck = new QCheckBox(__tr2qs_ctx("Use avatar","options"),this); + addWidgetToLayout(m_pUseAvatarCheck,0,0,0,0); + m_pUseAvatarCheck->setChecked(bHaveAvatar); + mergeTip(m_pUseAvatarCheck,szTip); + + m_pAvatarPreview = new KviPixmapPreview(this); + addWidgetToLayout(m_pAvatarPreview,0,1,0,1); + m_pAvatarPreview->setPixmap(m_pLocalAvatar); + m_pAvatarPreview->setEnabled(bHaveAvatar); + connect(m_pUseAvatarCheck,SIGNAL(toggled(bool)),m_pAvatarPreview,SLOT(setEnabled(bool))); + mergeTip(m_pAvatarPreview,szTip); + + KviTalHBox * hb = new KviTalHBox(this); + hb->setSpacing(4); + addWidgetToLayout(hb,0,2,0,2); + + m_pAvatarNameEdit = new QLineEdit(hb); + m_pAvatarNameEdit->setReadOnly(true); + m_pAvatarNameEdit->setEnabled(bHaveAvatar); + m_pAvatarNameEdit->setText(KVI_OPTION_STRING(KviOption_stringMyAvatar)); + connect(m_pUseAvatarCheck,SIGNAL(toggled(bool)),m_pAvatarNameEdit,SLOT(setEnabled(bool))); + + m_pChooseAvatarButton = new QPushButton(__tr2qs_ctx("Choose...","options"),hb); + m_pChooseAvatarButton->setEnabled(bHaveAvatar); + connect(m_pUseAvatarCheck,SIGNAL(toggled(bool)),m_pChooseAvatarButton,SLOT(setEnabled(bool))); + + connect(m_pChooseAvatarButton,SIGNAL(clicked()),this,SLOT(chooseAvatar())); + + layout()->setRowStretch(1,2); +} + +OptionsWidget_identityAvatar::~OptionsWidget_identityAvatar() +{ + delete m_pLocalAvatar; +} + +void OptionsWidget_identityAvatar::commit(void) +{ + KviOptionsWidget::commit(); + + QString szAvatarName = m_pAvatarNameEdit->text(); + + if(m_pUseAvatarCheck->isChecked() && m_pLocalAvatar->pixmap() && (!szAvatarName.isEmpty())) + { + KVI_OPTION_STRING(KviOption_stringMyAvatar) = szAvatarName; + KVI_OPTION_PIXMAP(KviOption_pixmapMyAvatar) = *m_pLocalAvatar; + } else { + KVI_OPTION_STRING(KviOption_stringMyAvatar) = ""; + KVI_OPTION_PIXMAP(KviOption_pixmapMyAvatar) = KviPixmap(); + } + g_pApp->setAvatarFromOptions(); +} + +void OptionsWidget_identityAvatar::chooseAvatar() +{ + QString szCurrent = m_pAvatarNameEdit->text(); + + AvatarSelectionDialog dlg(this,szCurrent); + if(dlg.exec() != QDialog::Accepted)return; + + szCurrent = dlg.avatarName(); + szCurrent.trimmed(); + + if(KviQString::equalCIN(szCurrent,"http://",7)) + { + // this is an url + // first check if we have it in the cache + KviAvatar * a = g_pIconManager->getAvatar(QString(),szCurrent); + if(!a) + { + // no cache... try downloading + AvatarDownloadDialog dlg(this,szCurrent); + if(dlg.exec() == QDialog::Accepted) + { + // downloaded! + // try to load it + if(!m_pLocalAvatar->load(dlg.localFileName())) + { + // unloadable + szCurrent = ""; + QMessageBox::warning(this,__tr2qs_ctx("Failed to Load Avatar - KVIrc","options"), + __tr2qs_ctx("Failed to load the avatar image.
" \ + "It may be an unaccessible file or an " \ + "unsupported image format.","options"),QMessageBox::Ok,QMessageBox::NoButton); + } // else loaded! + } else { + // unloadable + QString tmp; + KviQString::sprintf(tmp,__tr2qs_ctx("Failed to download the avatar image.
" \ + "%Q","options"),&(dlg.errorMessage())); + QMessageBox::warning(this,__tr2qs_ctx("Avatar Download Failed - KVIrc","options"),tmp,QMessageBox::Ok,QMessageBox::NoButton); + szCurrent = ""; + m_pLocalAvatar->setNull(); + } + } else { + // else OK.. got it in the cache + m_pLocalAvatar->set(*(a->pixmap()),a->localPath()); + delete a; + } + } else { + // this is a local path + if(m_pLocalAvatar->load(szCurrent)) + { + // local path, loaded + QString tmp = szCurrent; + int idx = tmp.lastIndexOf("/"); + if(idx != -1) + { + szCurrent = tmp.right(tmp.length() - (idx + 1)); + tmp = szCurrent; + } + idx = tmp.lastIndexOf("\\"); + if(idx != -1) + { + szCurrent = tmp.right(tmp.length() - (idx + 1)); + tmp = szCurrent; + } + } else { + // unloadable + QMessageBox::warning(this,__tr2qs_ctx("Failed to Load Avatar - KVIrc","options"), + __tr2qs_ctx("Failed to load the avatar image.
" \ + "It may be an unaccessible file or an " \ + "unsupported image format.","options"),QMessageBox::Ok,QMessageBox::NoButton); + szCurrent = ""; + } + } + + if(m_pLocalAvatar->pixmap()) + { + if((m_pLocalAvatar->pixmap()->width() > 1024) || (m_pLocalAvatar->pixmap()->height() > 768)) + { + QMessageBox::warning( + this, + __tr2qs_ctx("Avatar Might Be Too Big - KVIrc","options"), + __tr2qs_ctx( + "The avatar you have chosen is bigger than 1024x768 pixels.
" \ + "Such a big image will not be seen on all the user monitors
" \ + "and will probably be scaled by the remote clients with poor quality
" \ + "algorithms to improve performance. You *should* scale it manually
" \ + "to a sane size (like 800x600) or choose a different image.", + "options" + ) + ); + } else { + QFileInfo inf(m_pLocalAvatar->path()); + if(inf.size() > 524288) + { + QMessageBox::warning( + this, + __tr2qs_ctx("Avatar Might Be Too Big - KVIrc","options"), + __tr2qs_ctx( + "The avatar you have chosen is bigger than 500 KiB
" \ + "and most clients will refuse to download it.
" \ + "You *should* either scale it, use a different storage
" \ + "format or choose a different image.", + "options" + ) + ); + } + } + } + + m_pAvatarNameEdit->setText(szCurrent); + m_pAvatarPreview->setPixmap(m_pLocalAvatar); +} + + +OptionsWidget_identityAdvanced::OptionsWidget_identityAdvanced(QWidget * parent) +: KviOptionsWidget(parent) +{ + m_pISelector=0; + m_pWSelector=0; + m_pSSelector=0; + + m_sModeStr = KVI_OPTION_STRING(KviOption_stringDefaultUserMode); + m_bI = m_sModeStr.contains('i'); + m_bW = m_sModeStr.contains('w'); + m_bS = m_sModeStr.contains('s'); + + createLayout(); + layout()->setMargin(10); + + KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("User Mode","options")); + m_pISelector = addBoolSelector(gbox,__tr2qs_ctx("Invisible (+i)","options"),&m_bI); + m_pSSelector = addBoolSelector(gbox,__tr2qs_ctx("Server notices (+s)","options"),&m_bS); + m_pWSelector = addBoolSelector(gbox,__tr2qs_ctx("Wallops (+w)","options"),&m_bW); + + gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Default Messages","options")); + + KviStringSelector * sel = addStringSelector(gbox, __tr2qs_ctx("Part message:","options"),KviOption_stringPartMessage); + sel->setMinimumLabelWidth(120); + + mergeTip(sel,__tr2qs_ctx("
This is the default part message that will be used when you
" \ + "leave a channel by closing a channel window.
","options")); + + sel = addStringSelector(gbox, __tr2qs_ctx("Quit message:","options"),KviOption_stringQuitMessage); + sel->setMinimumLabelWidth(120); + mergeTip(sel,__tr2qs_ctx("
This is the default quit message that will be used when you
" \ + "quit your IRC session by closing the console window or disconnecting by pressing the disconnect button.
","options")); + + addRowSpacer(0,2,0,2); +} + +OptionsWidget_identityAdvanced::~OptionsWidget_identityAdvanced() +{ +} + +void OptionsWidget_identityAdvanced::commit() +{ + KviOptionsWidget::commit(); + + m_sModeStr = m_bI ? "i" : ""; + if(m_bS)m_sModeStr += "s"; + if(m_bW)m_sModeStr += "w"; + + KVI_OPTION_STRING(KviOption_stringDefaultUserMode) = m_sModeStr.ptr(); +} + +OptionsWidget_identityProfile::OptionsWidget_identityProfile(QWidget * pParent) +: KviOptionsWidget(pParent) +{ + setObjectName("identity_profiles_option_widget"); + m_pEditor = 0; + m_iCurrentEditedProfile = -1; + + createLayout(); + QGridLayout * pLayout = layout(); + + KviIdentityProfileSet * pSet = KviIdentityProfileSet::instance(); + bool bEnabled = pSet ? (pSet->isEnabled() && !pSet->isEmpty()) : false; + + m_pProfilesCheck = new QCheckBox(__tr2qs_ctx("Enable Network Profiles","options"),this); + KviTalToolTip::add(m_pProfilesCheck,__tr2qs_ctx("This check enables the use of network profiles","options")); + m_pProfilesCheck->setChecked(bEnabled); + pLayout->addWidget(m_pProfilesCheck,0,0,1,3); + connect(m_pProfilesCheck,SIGNAL(toggled(bool)),this,SLOT(toggleControls())); + + // Profiles list + m_pTreeWidget = new QTreeWidget(this); + m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); + m_pTreeWidget->setAllColumnsShowFocus(true); + + QStringList labels; + labels.append(__tr2qs_ctx("Name","options")); + labels.append(__tr2qs_ctx("Network","options")); + labels.append(__tr2qs_ctx("Nickname","options")); + labels.append(__tr2qs_ctx("Alt. Nick","options")); + labels.append(__tr2qs_ctx("Username","options")); + labels.append(__tr2qs_ctx("Realname","options")); + m_pTreeWidget->setHeaderLabels(labels); + + KviTalToolTip::add(m_pTreeWidget, \ + __tr2qs_ctx("
This is a set of rules to use profiles." \ + "KVIrc will use them to handle the user connection " \ + "data before the data is sent to the IRC server.
" \ + "This is useful if a user wants to use different data " \ + "on different networks without changing them at every " \ + "connection attempt.","options")); + pLayout->addWidget(m_pTreeWidget,1,0,1,3); + connect(m_pTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(toggleControls())); + + // Buttons box + KviTalHBox * pBtnBox = new KviTalHBox(this); + pLayout->addWidget(pBtnBox,2,0); + + m_pBtnAddProfile = new QPushButton(__tr2qs_ctx("Add Profile","options"),pBtnBox); + connect(m_pBtnAddProfile,SIGNAL(clicked()),this,SLOT(addProfileEntry())); + + m_pBtnEditProfile = new QPushButton(__tr2qs_ctx("Edit Profile","options"),pBtnBox); + connect(m_pBtnEditProfile,SIGNAL(clicked()),this,SLOT(editProfileEntry())); + + m_pBtnDelProfile = new QPushButton(__tr2qs_ctx("Delete Profile","options"),pBtnBox); + connect(m_pBtnDelProfile,SIGNAL(clicked()),this,SLOT(delProfileEntry())); + + // Fill in the treewidget + if(pSet && pSet->profiles()) + { + QTreeWidgetItem * pItem; + KviPointerList * pList = pSet->profiles(); + for(KviIdentityProfile * pProfile = pList->first(); pProfile; pProfile = pList->next()) + { + pItem = new QTreeWidgetItem(m_pTreeWidget); + pItem->setText(0,pProfile->name()); + pItem->setText(1,pProfile->network()); + pItem->setText(2,pProfile->nick()); + pItem->setText(3,pProfile->altNick()); + pItem->setText(4,pProfile->userName()); + pItem->setText(5,pProfile->realName()); + } + } + + toggleControls(); +} + +OptionsWidget_identityProfile::~OptionsWidget_identityProfile() +{ +} + +void OptionsWidget_identityProfile::toggleControls() +{ + bool bEnabled = m_pProfilesCheck->isChecked(); + m_pTreeWidget->setEnabled(bEnabled); + m_pBtnAddProfile->setEnabled(bEnabled); + + bEnabled = bEnabled && (m_pTreeWidget->topLevelItemCount()) && m_pTreeWidget->currentItem(); + m_pBtnEditProfile->setEnabled(bEnabled); + m_pBtnDelProfile->setEnabled(bEnabled); +} + +void OptionsWidget_identityProfile::addProfileEntry() +{ + KviIdentityProfile profile; + m_iCurrentEditedProfile = -1; + + if(m_pEditor) + delete m_pEditor; + m_pEditor = new IdentityProfileEditor(this); + + if(m_pEditor->editProfile(&profile)) + { + QTreeWidgetItem * pItem = new QTreeWidgetItem(m_pTreeWidget); + pItem->setText(0,profile.name()); + pItem->setText(1,profile.network()); + pItem->setText(2,profile.nick()); + pItem->setText(3,profile.altNick()); + pItem->setText(4,profile.userName()); + pItem->setText(5,profile.realName()); + } +} + +void OptionsWidget_identityProfile::editProfileEntry() +{ + QTreeWidgetItem * pItem = (QTreeWidgetItem *)m_pTreeWidget->currentItem(); + if(!pItem) + return; + + // Fill in the editor data + KviIdentityProfile profile; + profile.setName(pItem->text(0)); + profile.setNetwork(pItem->text(1)); + profile.setNick(pItem->text(2)); + profile.setAltNick(pItem->text(3)); + profile.setUserName(pItem->text(4)); + profile.setRealName(pItem->text(5)); + + m_iCurrentEditedProfile=m_pTreeWidget->indexOfTopLevelItem(pItem); + + if(m_pEditor) + delete m_pEditor; + m_pEditor = new IdentityProfileEditor(this); + if(m_pEditor->editProfile(&profile)) + { + pItem->setText(0,profile.name()); + pItem->setText(1,profile.network()); + pItem->setText(2,profile.nick()); + pItem->setText(3,profile.altNick()); + pItem->setText(4,profile.userName()); + pItem->setText(5,profile.realName()); + } +} + +void OptionsWidget_identityProfile::editProfileOkPressed() +{ + for(int i=0; i < m_pTreeWidget->topLevelItemCount(); i++) + { + if(m_pEditor->m_pNameEdit->text() == m_pTreeWidget->topLevelItem(i)->text(0) && i!=m_iCurrentEditedProfile) + { + QMessageBox::warning(this,__tr2qs_ctx("Invalid Profile Rule","options"),__tr2qs_ctx("There is already a profile with that name","options"),__tr2qs_ctx("OK","options")); + return; + } + } + + m_pEditor->accept(); +} + +void OptionsWidget_identityProfile::delProfileEntry() +{ + QTreeWidgetItem * pItem = (QTreeWidgetItem *)m_pTreeWidget->currentItem(); + if(!pItem) + return; + + delete pItem; + toggleControls(); +} + +void OptionsWidget_identityProfile::commit() +{ + KviIdentityProfileSet::instance()->clear(); + if(m_pTreeWidget->topLevelItemCount()) + { + KviIdentityProfileSet::instance()->setEnabled(m_pProfilesCheck->isChecked()); + QTreeWidgetItem * pItem; + for(int i=0; i < m_pTreeWidget->topLevelItemCount(); i++) + { + pItem = (QTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); + + KviIdentityProfile * pProfile = new KviIdentityProfile(); + pProfile->setName(pItem->text(0)); + pProfile->setNetwork(pItem->text(1)); + pProfile->setNick(pItem->text(2)); + pProfile->setAltNick(pItem->text(3)); + pProfile->setUserName(pItem->text(4)); + pProfile->setRealName(pItem->text(5)); + + KviIdentityProfileSet::instance()->addProfile(pProfile); + } + } + + KviOptionsWidget::commit(); +} + +IdentityProfileEditor::IdentityProfileEditor(QWidget * pParent) +: QDialog(pParent) +{ + setObjectName("identity_profile_editor"); + setWindowTitle(__tr2qs_ctx("Profile Editor - KVIrc","options")); + + m_szName = __tr2qs_ctx("Profile Name","options"); + m_szNetwork = __tr2qs_ctx("MyNetwork","options"); + m_szNick = __tr2qs_ctx("MyNick","options"); + m_szAltNick = __tr2qs_ctx("MyNick2","options"); + m_szUserName = __tr2qs_ctx("MyUserName","options"); + m_szRealName = __tr2qs_ctx("MyRealName","options"); + + QGridLayout * pLayout = new QGridLayout(this); + + QLabel * pLabel = new QLabel(__tr2qs_ctx("Profile Name:","options"),this); + pLayout->addWidget(pLabel,0,0); + + m_pNameEdit = new QLineEdit(this); + KviTalToolTip::add(m_pNameEdit,__tr2qs_ctx("Put here the name of the profile","options")); + pLayout->addWidget(m_pNameEdit,0,1,1,2); + connect(m_pNameEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); + + pLabel = new QLabel(__tr2qs_ctx("Network Name:","options"),this); + pLayout->addWidget(pLabel,1,0); + + m_pNetworkEdit = new QLineEdit(this); + KviTalToolTip::add(m_pNetworkEdit,__tr2qs_ctx("Put here the name of the network","options")); + pLayout->addWidget(m_pNetworkEdit,1,1,1,2); + connect(m_pNetworkEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); + + pLabel = new QLabel(__tr2qs_ctx("Nickname:","options"),this); + pLayout->addWidget(pLabel,2,0); + + m_pNickEdit = new QLineEdit(this); + KviTalToolTip::add(m_pNickEdit,__tr2qs_ctx("Put here the nickname you want to use","options")); + pLayout->addWidget(m_pNickEdit,2,1,1,2); + connect(m_pNickEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); + + pLabel = new QLabel(__tr2qs_ctx("Alternative Nickname:","options"),this); + pLayout->addWidget(pLabel,3,0); + + m_pAltNickEdit = new QLineEdit(this); + KviTalToolTip::add(m_pAltNickEdit,__tr2qs_ctx("Put here the alternative nickname you want to use","options")); + pLayout->addWidget(m_pAltNickEdit,3,1,1,2); + connect(m_pAltNickEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); + + pLabel = new QLabel(__tr2qs_ctx("Username:","options"),this); + pLayout->addWidget(pLabel,4,0); + + m_pUserNameEdit = new QLineEdit(this); + KviTalToolTip::add(m_pUserNameEdit,__tr2qs_ctx("Put here the username you want to use","options")); + pLayout->addWidget(m_pUserNameEdit,4,1,1,2); + connect(m_pUserNameEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); + + pLabel = new QLabel(__tr2qs_ctx("Realname:","options"),this); + pLayout->addWidget(pLabel,5,0); + + m_pRealNameEdit = new QLineEdit(this); + KviTalToolTip::add(m_pRealNameEdit,__tr2qs_ctx("Put here the realname you want to use","options")); + pLayout->addWidget(m_pRealNameEdit,5,1,1,2); + connect(m_pRealNameEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); + + KviTalHBox * pBox = new KviTalHBox(this); + pBox->setAlignment(Qt::AlignRight); + pLayout->addWidget(pBox,6,0); + + QPushButton * p = new QPushButton(__tr2qs_ctx("Cancel","options"),pBox); + //p->setMinimumWidth(100); + connect(p,SIGNAL(clicked()),this,SLOT(reject())); + + m_pBtnOk = new QPushButton(__tr2qs_ctx("OK","options"),pBox); + m_pBtnOk->setEnabled(false); + connect(m_pBtnOk,SIGNAL(clicked()),pParent,SLOT(editProfileOkPressed())); + + pLayout->setColumnStretch(1,1); + + setMinimumWidth(250); +} + +IdentityProfileEditor::~IdentityProfileEditor() +{ +} + +bool IdentityProfileEditor::editProfile(KviIdentityProfile * pProfile) +{ + // Fill in the fields + m_pNameEdit->setText(pProfile->name().isEmpty() ? QString(m_szName) : pProfile->name()); + m_pNetworkEdit->setText(pProfile->network().isEmpty() ? QString(m_szNetwork) : pProfile->network()); + m_pNickEdit->setText(pProfile->nick().isEmpty() ? QString(m_szNick) : pProfile->nick()); + m_pAltNickEdit->setText(pProfile->altNick().isEmpty() ? QString(m_szAltNick) : pProfile->altNick()); + m_pUserNameEdit->setText(pProfile->userName().isEmpty() ? QString(m_szUserName) : pProfile->userName()); + m_pRealNameEdit->setText(pProfile->realName().isEmpty() ? QString(m_szRealName) : pProfile->realName()); + + // Ensure data + m_pNameEdit->selectAll(); + + // Show the dialog + if(exec() != QDialog::Accepted) return false; + + // Store data in the object + pProfile->setName(m_pNameEdit->text()); + pProfile->setNetwork(m_pNetworkEdit->text()); + pProfile->setNick(m_pNickEdit->text()); + pProfile->setAltNick(m_pAltNickEdit->text()); + pProfile->setUserName(m_pUserNameEdit->text()); + pProfile->setRealName(m_pRealNameEdit->text()); + + return true; +} + +void IdentityProfileEditor::toggleButton(const QString & szText) +{ + bool bEnabled = true; + + if( + (m_pNameEdit->text() == m_szName) || + (m_pNetworkEdit->text() == m_szNetwork) || + (m_pNickEdit->text() == m_szNick) || + (m_pAltNickEdit->text() == m_szAltNick) || + (m_pUserNameEdit->text() == m_szUserName) || + (m_pRealNameEdit->text() == m_szRealName) || + (szText.isEmpty()) + ) + bEnabled = false; + + m_pBtnOk->setEnabled(bEnabled); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_identity.moc" +#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_identity.h b/src/modules/options/OptionsWidget_identity.h new file mode 100644 index 000000000..58628e415 --- /dev/null +++ b/src/modules/options/OptionsWidget_identity.h @@ -0,0 +1,255 @@ +#ifndef _OPTW_IDENTITY_H_ +#define _OPTW_IDENTITY_H_ + +//============================================================================= +// +// File : OptionsWidget_identity.h +// Creation date : Tue Nov 14 2000 23:06:12 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net) +// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) +// +// 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. +// +//============================================================================= + + +#include "KviOptionsWidget.h" +#include "kvi_settings.h" +#include "KviSelectors.h" +#include "KviPixmap.h" + +#include + +class QCheckBox; +class QLineEdit; +class QPushButton; +class QComboBox; +class KviHttpRequest; +class QTreeWidget; +class KviIdentityProfile; + +class NickAlternativesDialog : public QDialog +{ + friend class KviIdentityGeneralOptionsWidget; + Q_OBJECT +protected: + NickAlternativesDialog(QWidget * par,const QString &n1,const QString &n2,const QString &n3); + ~NickAlternativesDialog(); +protected: + QLineEdit * m_pNickEdit1; + QLineEdit * m_pNickEdit2; + QLineEdit * m_pNickEdit3; +protected: + void fill(QString &n1,QString &n2,QString &n3); +}; + +class AvatarSelectionDialog : public QDialog +{ + friend class OptionsWidget_identityAvatar; + Q_OBJECT +public: + AvatarSelectionDialog(QWidget * par,const QString &szInitialPath); + ~AvatarSelectionDialog(); +protected: + QLineEdit * m_pLineEdit; + QString m_szAvatarName; +protected: + virtual void closeEvent(QCloseEvent * e); + const QString &avatarName(){ return m_szAvatarName; }; +protected slots: + void okClicked(); + void cancelClicked(); + void chooseFileClicked(); +}; + + +class AvatarDownloadDialog : public QDialog +{ + friend class OptionsWidget_identityAvatar; + Q_OBJECT +public: + AvatarDownloadDialog(QWidget * par,const QString &szUrl); + ~AvatarDownloadDialog(); +protected: + KviHttpRequest * m_pRequest; + QLabel * m_pOutput; + QString m_szErrorMessage; + QString m_szLocalFileName; + QString m_szUrl; +protected: + virtual void closeEvent(QCloseEvent * e); + const QString & localFileName(){ return m_szLocalFileName; }; + const QString & errorMessage(){ return m_szErrorMessage; }; +protected slots: + void startDownload(); + void cancelClicked(); + void downloadTerminated(bool bSuccess); + void downloadMessage(const QString &szMsg); +}; + + + + +class IdentityProfileEditor : public QDialog +{ + friend class OptionsWidget_identityProfile; + Q_OBJECT +public: + IdentityProfileEditor(QWidget * pParent); + ~IdentityProfileEditor(); +protected: + QString m_szName; + QString m_szNetwork; + QString m_szNick; + QString m_szAltNick; + QString m_szUserName; + QString m_szRealName; + QLineEdit * m_pNameEdit; + QLineEdit * m_pNetworkEdit; + QLineEdit * m_pNickEdit; + QLineEdit * m_pAltNickEdit; + QLineEdit * m_pUserNameEdit; + QLineEdit * m_pRealNameEdit; + QPushButton * m_pBtnOk; +public: + bool editProfile(KviIdentityProfile * pProfile); +protected slots: + void toggleButton(const QString & szText); +}; + + + +#define KVI_OPTIONS_WIDGET_ICON_KviIdentityOptionsWidget KVI_SMALLICON_WHO +#define KVI_OPTIONS_WIDGET_NAME_KviIdentityOptionsWidget __tr2qs_no_lookup("Identity") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityOptionsWidget 99998 +#define KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityOptionsWidget true + + +class OptionsWidget_identity : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_identity(QWidget * parent); + ~OptionsWidget_identity(); +}; + + + +#define KVI_OPTIONS_WIDGET_ICON_KviIdentityGeneralOptionsWidget KVI_SMALLICON_WHO +#define KVI_OPTIONS_WIDGET_NAME_KviIdentityGeneralOptionsWidget __tr2qs_no_lookup("General") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityGeneralOptionsWidget 90000 +#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityGeneralOptionsWidget OptionsWidget_identity + + +class KviIdentityGeneralOptionsWidget : public KviOptionsWidget +{ + Q_OBJECT +public: + KviIdentityGeneralOptionsWidget(QWidget * pParent); + ~KviIdentityGeneralOptionsWidget(); +protected: + QString m_szAltNicknames[3]; + + QComboBox * m_pAgeCombo; + QComboBox * m_pGenderCombo; +protected slots: + void setNickAlternatives(); +protected: + virtual void commit(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviIdentityAvatarOptionsWidget KVI_SMALLICON_AVATAR +#define KVI_OPTIONS_WIDGET_NAME_KviIdentityAvatarOptionsWidget __tr2qs_no_lookup("Avatar") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAvatarOptionsWidget 80000 +#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityAvatarOptionsWidget OptionsWidget_identity + + +class OptionsWidget_identityAvatar : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_identityAvatar(QWidget * pParent); + ~OptionsWidget_identityAvatar(); +protected: + QCheckBox * m_pUseAvatarCheck; + QLineEdit * m_pAvatarNameEdit; + QPushButton * m_pChooseAvatarButton; + KviPixmap * m_pLocalAvatar; + KviPixmapPreview * m_pAvatarPreview; +protected slots: + void chooseAvatar(); +protected: + virtual void commit(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviIdentityAdvancedOptionsWidget KVI_SMALLICON_SPY +#define KVI_OPTIONS_WIDGET_NAME_KviIdentityAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAdvancedOptionsWidget 70000 +#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityAdvancedOptionsWidget OptionsWidget_identity + + +class OptionsWidget_identityAdvanced : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_identityAdvanced(QWidget * pParent); + ~OptionsWidget_identityAdvanced(); +protected: + bool m_bI; + bool m_bW; + bool m_bS; + KviCString m_sModeStr; + KviBoolSelector * m_pISelector; + KviBoolSelector * m_pWSelector; + KviBoolSelector * m_pSSelector; +protected: + virtual void commit(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviIdentityProfileOptionsWidget KVI_SMALLICON_REGUSERS +#define KVI_OPTIONS_WIDGET_NAME_KviIdentityProfileOptionsWidget __tr2qs_no_lookup("Profiles") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityProfileOptionsWidget 60000 +#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityProfileOptionsWidget OptionsWidget_identity + +class OptionsWidget_identityProfile : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_identityProfile(QWidget * pParent); + ~OptionsWidget_identityProfile(); +protected: + QTreeWidget * m_pTreeWidget; + QCheckBox * m_pProfilesCheck; + QPushButton * m_pBtnAddProfile; + QPushButton * m_pBtnEditProfile; + QPushButton * m_pBtnDelProfile; + IdentityProfileEditor * m_pEditor; + int m_iCurrentEditedProfile; +public: + virtual void commit(); +protected slots: + void toggleControls(); + void addProfileEntry(); + void editProfileEntry(); + void delProfileEntry(); + void editProfileOkPressed(); +}; + +#endif //_OPTW_IDENTITY_H_ diff --git a/src/modules/options/OptionsWidget_ignore.cpp b/src/modules/options/OptionsWidget_ignore.cpp new file mode 100644 index 000000000..c8cfc6999 --- /dev/null +++ b/src/modules/options/OptionsWidget_ignore.cpp @@ -0,0 +1,66 @@ +//============================================================================= +// +// File : OptionsWidget_ignore.h +// Creation date : Thu Feb 12 15:11:29 2002 GMT by Juanjo Ãlvarez +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002 Juanjo Ãlvarez +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "OptionsWidget_ignore.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + + +OptionsWidget_ignore::OptionsWidget_ignore(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("ignore_options_widget"); + createLayout(); + + KviTalGroupBox *g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Enable Ignore For","options")); + m_pIgnorePrivmsg = addBoolSelector(g,__tr2qs_ctx("Private/channel messages","options"),KviOption_boolEnableIgnoreOnPrivMsg); + m_pIgnoreNotice = addBoolSelector(g,__tr2qs_ctx("Private/channel notices","options"),KviOption_boolEnableIgnoreOnNotice); + + connect(m_pIgnorePrivmsg,SIGNAL(toggled(bool)),this,SLOT(enableVerbose(bool))); + + m_pVerboseIgnore = addBoolSelector(0,1,0,1,__tr2qs_ctx("Use verbose ignore (show messages in console)","options"), + KviOption_boolVerboseIgnore, + KVI_OPTION_BOOL(KviOption_boolEnableIgnoreOnPrivMsg) || KVI_OPTION_BOOL(KviOption_boolEnableIgnoreOnNotice)); + + addRowSpacer(0,2,0,2); +} + +OptionsWidget_ignore::~OptionsWidget_ignore() +{ +} + +void OptionsWidget_ignore::enableVerbose(bool) +{ + m_pVerboseIgnore->setEnabled(m_pIgnorePrivmsg->isChecked() || m_pIgnoreNotice->isChecked()); +} + + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_ignore.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_ignore.h b/src/modules/options/OptionsWidget_ignore.h new file mode 100644 index 000000000..210be1b48 --- /dev/null +++ b/src/modules/options/OptionsWidget_ignore.h @@ -0,0 +1,50 @@ +#ifndef _OPTW_IGNORE_H_ +#define _OPTW_IGNORE_H_ +//============================================================================= +// +// File : OptionsWidget_ignore.h +// Creation date : Thu Feb 12 15:11:30 2002 GMT by Juanjo Ãlvarez +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002 Juanjo Ãlvarez +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include "KviSelectors.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviIgnoreOptionsWidget KVI_SMALLICON_IGNORE +#define KVI_OPTIONS_WIDGET_NAME_KviIgnoreOptionsWidget __tr2qs_no_lookup("Ignore") +#define KVI_OPTIONS_WIDGET_PARENT_KviIgnoreOptionsWidget OptionsWidget_protection +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIgnoreOptionsWidget __tr2qs_no_lookup("protection") + +class OptionsWidget_ignore : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ignore(QWidget * parent); + ~OptionsWidget_ignore(); +public: + KviBoolSelector * m_pIgnorePrivmsg; + KviBoolSelector * m_pIgnoreNotice; + KviBoolSelector * m_pVerboseIgnore; +protected slots: + void enableVerbose(bool); +}; + +#endif //_OPTW_IGNORE_H_ diff --git a/src/modules/options/OptionsWidget_input.cpp b/src/modules/options/OptionsWidget_input.cpp new file mode 100644 index 000000000..78bdc3cce --- /dev/null +++ b/src/modules/options/OptionsWidget_input.cpp @@ -0,0 +1,167 @@ +//============================================================================= +// +// File : OptionsWidget_input.cpp +// Creation date : Sat Aug 11 2001 04:25:52 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_input.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_inputLook::OptionsWidget_inputLook(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("inputlook_options_widget"); + createLayout(); + + addFontSelector(0,0,1,0,__tr2qs_ctx("Font","options"),KviOption_fontInput); + addColorSelector(0,1,1,1,__tr2qs_ctx("Background color","options"),KviOption_colorInputBackground); + addColorSelector(0,2,1,2,__tr2qs_ctx("Foreground color","options"),KviOption_colorInputForeground); + addColorSelector(0,3,1,3,__tr2qs_ctx("Selection background color","options"),KviOption_colorInputSelectionBackground); + addColorSelector(0,4,1,4,__tr2qs_ctx("Selection foreground color","options"),KviOption_colorInputSelectionForeground); + addColorSelector(0,5,1,5,__tr2qs_ctx("Control char color","options"),KviOption_colorInputControl); + addColorSelector(0,6,1,6,__tr2qs_ctx("Cursor color","options"),KviOption_colorInputCursor); + + addPixmapSelector(0,7,1,7,__tr2qs_ctx("Background image","options"),KviOption_pixmapInputBackground); + + addLabel(0,8,0,8,__tr2qs_ctx("Horizontal align:","options")); + m_pHorizontalAlign=new QComboBox(this); + addWidgetToLayout(m_pHorizontalAlign,1,8,1,8); + + addLabel(0,9,0,9,__tr2qs_ctx("Vertical align:","options")); + m_pVerticalAlign=new QComboBox(this); + addWidgetToLayout(m_pVerticalAlign,1,9,1,9); + + m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); + + m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); + + switch( KVI_OPTION_UINT(KviOption_uintInputPixmapAlign) & Qt::AlignHorizontal_Mask) + { + case Qt::AlignLeft: + m_pHorizontalAlign->setCurrentIndex(1); + break; + case Qt::AlignRight: + m_pHorizontalAlign->setCurrentIndex(2); + break; + case Qt::AlignHCenter: + m_pHorizontalAlign->setCurrentIndex(3); + break; + default: + m_pHorizontalAlign->setCurrentIndex(0); + } + + switch( KVI_OPTION_UINT(KviOption_uintInputPixmapAlign) & Qt::AlignVertical_Mask) + { + case Qt::AlignTop: + m_pVerticalAlign->setCurrentIndex(1); + break; + case Qt::AlignBottom: + m_pVerticalAlign->setCurrentIndex(2); + break; + case Qt::AlignVCenter: + m_pVerticalAlign->setCurrentIndex(3); + break; + default: + m_pVerticalAlign->setCurrentIndex(0); + } + + + layout()->setRowStretch(7,1); +} + +OptionsWidget_inputLook::~OptionsWidget_inputLook() +{ +} + +void OptionsWidget_inputLook::commit() +{ + int iFlags=0; + switch(m_pHorizontalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignLeft; + break; + case 2: + iFlags|=Qt::AlignRight; + break; + case 3: + iFlags|=Qt::AlignHCenter; + break; + } + switch(m_pVerticalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignTop; + break; + case 2: + iFlags|=Qt::AlignBottom; + break; + case 3: + iFlags|=Qt::AlignVCenter; + break; + } + + KVI_OPTION_UINT(KviOption_uintInputPixmapAlign)=iFlags; + KviOptionsWidget::commit(); +} + + +OptionsWidget_inputFeatures::OptionsWidget_inputFeatures(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("ircviewfeatures_options_widget"); + createLayout(); + + addBoolSelector(0,0,0,0,__tr2qs_ctx("Warp cursor at the end of line when browsing history","options"),KviOption_boolInputHistoryCursorAtEnd); + addBoolSelector(0,1,0,1,__tr2qs_ctx("Enable the input history logging","options"),KviOption_boolEnableInputHistory); //G&N 2005 + addBoolSelector(0,2,0,2,__tr2qs_ctx("Hide input toolbuttons by default","options"),KviOption_boolHideInputToolButtons); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Commandline in user-friendly mode by default","options"),KviOption_boolCommandlineInUserFriendlyModeByDefault); + addUIntSelector(0,4,0,4,__tr2qs_ctx("Expand tabulations in input using this amount of spaces:","options"),KviOption_uintSpacesToExpandTabulationInput,1,24,8,true); + + KviTalGroupBox * g = addGroupBox(0,5,0,5,Qt::Horizontal,__tr2qs_ctx("Nick completion","options")); + KviBoolSelector * b, *c; + b = addBoolSelector(g,__tr2qs_ctx("Use bash-like nick completion","options"),KviOption_boolBashLikeNickCompletion,!KVI_OPTION_BOOL(KviOption_boolZshLikeNickCompletion)); + c = addBoolSelector(g,__tr2qs_ctx("Use zsh-like nick completion","options"),KviOption_boolZshLikeNickCompletion,!KVI_OPTION_BOOL(KviOption_boolBashLikeNickCompletion)); + connect(b,SIGNAL(toggled(bool)),c,SLOT(setDisabled(bool))); + connect(c,SIGNAL(toggled(bool)),b,SLOT(setDisabled(bool))); + + addStringSelector(g,__tr2qs_ctx("Nick completion postfix string","options"),KviOption_stringNickCompletionPostfix); + addBoolSelector(g,__tr2qs_ctx("Use the completion postfix string for the first word only","options"),KviOption_boolUseNickCompletionPostfixForFirstWordOnly); + addRowSpacer(0,6,0,6); +} + +OptionsWidget_inputFeatures::~OptionsWidget_inputFeatures() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_input.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_input.h b/src/modules/options/OptionsWidget_input.h new file mode 100644 index 000000000..ac92c2952 --- /dev/null +++ b/src/modules/options/OptionsWidget_input.h @@ -0,0 +1,62 @@ +#ifndef _OPTW_INPUT_H_ +#define _OPTW_INPUT_H_ + +//============================================================================= +// +// File : OptionsWidget_input.h +// Creation date : Sat Aug 11 2001 04:25:01 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviInputLookOptionsWidget KVI_SMALLICON_INPUT +#define KVI_OPTIONS_WIDGET_NAME_KviInputLookOptionsWidget __tr2qs_no_lookup("Input") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviInputLookOptionsWidget __tr2qs_no_lookup("theme,colors,text") +#define KVI_OPTIONS_WIDGET_GROUP_KviInputLookOptionsWidget "theme" + +class OptionsWidget_inputLook : public KviOptionsWidget +{ + Q_OBJECT +private: + QComboBox* m_pHorizontalAlign; + QComboBox* m_pVerticalAlign; +public: + OptionsWidget_inputLook(QWidget * parent); + ~OptionsWidget_inputLook(); + + virtual void commit(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviInputFeaturesOptionsWidget KVI_SMALLICON_INPUT +#define KVI_OPTIONS_WIDGET_NAME_KviInputFeaturesOptionsWidget __tr2qs_no_lookup("Input") +#define KVI_OPTIONS_WIDGET_PARENT_KviInputFeaturesOptionsWidget OptionsWidget_interfaceFeatures + +class OptionsWidget_inputFeatures : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_inputFeatures(QWidget * parent); + ~OptionsWidget_inputFeatures(); +}; + +#endif //!_OPTW_INPUT_H_ diff --git a/src/modules/options/OptionsWidget_interfaceFeatures.cpp b/src/modules/options/OptionsWidget_interfaceFeatures.cpp new file mode 100644 index 000000000..ef3f1c2ed --- /dev/null +++ b/src/modules/options/OptionsWidget_interfaceFeatures.cpp @@ -0,0 +1,91 @@ +//============================================================================= +// +// File : OptionsWidget_interfaceFeatures.cpp +// Creation date : Sat Jun 2 2001 14:52:53 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_interfaceFeatures.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviApplication.h" +#include "KviFileUtils.h" + +#include +#include + +#include + + +OptionsWidget_interfaceFeatures::OptionsWidget_interfaceFeatures(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("interfacefeatures_options_widget"); + createLayout(); + + addBoolSelector(0,0,0,0,__tr2qs_ctx("Minimize on startup","options"),KviOption_boolStartupMinimized); + addBoolSelector(0,1,0,1,__tr2qs_ctx("Confirm quit with active connections","options"),KviOption_boolConfirmCloseWhenThereAreConnections); + addBoolSelector(0,2,0,2,__tr2qs_ctx("Remember window properties","options"),KviOption_boolWindowsRememberProperties); + + QString szSplashDisableFile; + g_pApp->getLocalKvircDirectory(szSplashDisableFile,KviApplication::Pics,"disable-splash." KVI_VERSION); + bool bDisableSplash = KviFileUtils::fileExists(szSplashDisableFile); + m_pDisableSplash = new QCheckBox(__tr2qs_ctx("Disable splash screen","options"),this); + addWidgetToLayout(m_pDisableSplash,0,3,0,3); + m_pDisableSplash->setChecked(bDisableSplash); + + addBoolSelector(0,4,0,4,__tr2qs_ctx("Enable visual effects","options"),KviOption_boolEnableVisualEffects); + addBoolSelector(0,5,0,5,__tr2qs_ctx("Hide Channel window tool buttons by default","options"),KviOption_boolHideWindowToolButtons); + + KviTalGroupBox * g = addGroupBox(0,6,0,6,Qt::Horizontal,__tr2qs_ctx("Open Dialog Window For","options")); + addBoolSelector(g,__tr2qs_ctx("Preferences","options"),KviOption_boolShowGeneralOptionsDialogAsToplevel); + addBoolSelector(g,__tr2qs_ctx("Registered Users","options"),KviOption_boolShowRegisteredUsersDialogAsToplevel); + addBoolSelector(g,__tr2qs_ctx("Identity","options"),KviOption_boolShowIdentityDialogAsToplevel); + addBoolSelector(g,__tr2qs_ctx("Servers","options"),KviOption_boolShowServersConnectDialogAsToplevel); + addBoolSelector(g,__tr2qs_ctx("Join Channels","options"),KviOption_boolShowChannelsJoinDialogAsToplevel); + addRowSpacer(0,7,0,7); +} + +OptionsWidget_interfaceFeatures::~OptionsWidget_interfaceFeatures() +{ +} + +void OptionsWidget_interfaceFeatures::commit() +{ + KviOptionsWidget::commit(); + + QString szSplashDisableFile; + g_pApp->getLocalKvircDirectory(szSplashDisableFile,KviApplication::Pics,"disable-splash." KVI_VERSION); + + if(m_pDisableSplash->isChecked()) + { + if(!KviFileUtils::fileExists(szSplashDisableFile)) + KviFileUtils::writeFile(szSplashDisableFile,""); + } else { + if(KviFileUtils::fileExists(szSplashDisableFile)) + KviFileUtils::removeFile(szSplashDisableFile); + } + +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_interfaceFeatures.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_interfaceFeatures.h b/src/modules/options/OptionsWidget_interfaceFeatures.h new file mode 100644 index 000000000..b4e29ebf3 --- /dev/null +++ b/src/modules/options/OptionsWidget_interfaceFeatures.h @@ -0,0 +1,47 @@ +#ifndef _OPTW_INTERFACEFEATURES_H_ +#define _OPTW_INTERFACEFEATURES_H_ + +//============================================================================= +// +// File : OptionsWidget_interfaceFeatures.h +// Creation date : Sat Jun 2 2001 14:50:01 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviInterfaceFeaturesOptionsWidget KVI_SMALLICON_IDEA +#define KVI_OPTIONS_WIDGET_NAME_KviInterfaceFeaturesOptionsWidget __tr2qs_no_lookup("Interface") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviInterfaceFeaturesOptionsWidget 50000 + +class OptionsWidget_interfaceFeatures : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_interfaceFeatures(QWidget * parent); + ~OptionsWidget_interfaceFeatures(); +protected: + QCheckBox * m_pDisableSplash; +public: + virtual void commit(); +}; + +#endif //!_OPTW_INTERFACEFEATURES_H_ diff --git a/src/modules/options/OptionsWidget_irc.cpp b/src/modules/options/OptionsWidget_irc.cpp new file mode 100644 index 000000000..675eb43db --- /dev/null +++ b/src/modules/options/OptionsWidget_irc.cpp @@ -0,0 +1,88 @@ +//============================================================================= +// +// File : OptionsWidget_irc.cpp +// Creation date : Sun Dec 2 18:59:48 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_irc.h" + +#include "kvi_settings.h" +#include "KviLocale.h" +#include "KviOptions.h" +#include "KviIrcMask.h" + + +OptionsWidget_irc::OptionsWidget_irc(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("irc_options_widget"); +} + +OptionsWidget_irc::~OptionsWidget_irc() +{ +} + + +OptionsWidget_ircGeneral::OptionsWidget_ircGeneral(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("irc_options_widget"); + createLayout(); + KviBoolSelector *b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Minimize console after successful login","options"),KviOption_boolMinimizeConsoleAfterConnect); + + mergeTip(b,__tr2qs_ctx("
This option will cause KVIrc to minimize the console window after successfully logging into a server.
","options")); + + b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Show network name in console window list entry","options"),KviOption_boolShowNetworkNameForConsoleWindowListEntry); + mergeTip(b,__tr2qs_ctx("
This option will cause KVIrc to show the network name as the console window list entry instead of the server name. This is nice to keep on unless your servers are not organized in networks or you often connect to two servers of the same network.
","options")); + + addRowSpacer(0,2,0,2); +} + +OptionsWidget_ircGeneral::~OptionsWidget_ircGeneral() +{ +} + + +OptionsWidget_ircAdvanced::OptionsWidget_ircAdvanced(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("irc_advanced_options_widget"); + createLayout(); + KviBoolSelector *b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Force immediate quit","options"),KviOption_boolForceBrutalQuit); + mergeTip(b, + __tr2qs_ctx("
This option causes KVIrc to close " \ + "the connection immediately after sending the QUIT message.
" \ + "When this option is disabled, KVIrc will wait for the server " \ + "to close the connection.
" \ + "Note that if you use this, your QUIT message may be not displayed.
","options")); + addBoolSelector(0,1,0,1,__tr2qs_ctx("Prepend gender info to realname","options"),KviOption_boolPrependGenderInfoToRealname); + addBoolSelector(0,2,0,2,__tr2qs_ctx("Prepend avatar info to realname","options"),KviOption_boolPrependAvatarInfoToRealname); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Prepend smart nick color info to realname","options"),KviOption_boolPrependNickColorInfoToRealname); + addRowSpacer(0,4,0,4); +} + +OptionsWidget_ircAdvanced::~OptionsWidget_ircAdvanced() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_irc.moc" +#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_irc.h b/src/modules/options/OptionsWidget_irc.h new file mode 100644 index 000000000..c481265fa --- /dev/null +++ b/src/modules/options/OptionsWidget_irc.h @@ -0,0 +1,69 @@ +#ifndef _OPTW_IRC_H_ +#define _OPTW_IRC_H_ +//============================================================================= +// +// File : OptionsWidget_irc.h +// Creation date : Sun Dec 2 18:59:49 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcOptionsWidget KVI_SMALLICON_IRC +#define KVI_OPTIONS_WIDGET_NAME_KviIrcOptionsWidget __tr2qs_no_lookup("IRC") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOptionsWidget 80000 +#define KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOptionsWidget true + +class OptionsWidget_irc : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_irc(QWidget * parent); + ~OptionsWidget_irc(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcGeneralOptionsWidget KVI_SMALLICON_IRC +#define KVI_OPTIONS_WIDGET_NAME_KviIrcGeneralOptionsWidget __tr2qs_no_lookup("General") +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcGeneralOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcGeneralOptionsWidget 80000 + +class OptionsWidget_ircGeneral : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ircGeneral(QWidget * parent); + ~OptionsWidget_ircGeneral(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcAdvancedOptionsWidget KVI_SMALLICON_IRC +#define KVI_OPTIONS_WIDGET_NAME_KviIrcAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcAdvancedOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcAdvancedOptionsWidget 50000 + +class OptionsWidget_ircAdvanced : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ircAdvanced(QWidget * parent); + ~OptionsWidget_ircAdvanced(); +}; + +#endif //_OPTW_IRC_H_ diff --git a/src/modules/options/OptionsWidget_ircOutput.cpp b/src/modules/options/OptionsWidget_ircOutput.cpp new file mode 100644 index 000000000..aac001856 --- /dev/null +++ b/src/modules/options/OptionsWidget_ircOutput.cpp @@ -0,0 +1,111 @@ +//============================================================================= +// +// File : OptionsWidget_ircOutput.cpp +// Creation date : Wed Nov 15 2000 11:45:06 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================= + +#include "OptionsWidget_ircOutput.h" + +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviTalToolTip.h" + +#include +#include +#include + + +OptionsWidget_ircOutput::OptionsWidget_ircOutput(QWidget * pParent) +: KviOptionsWidget(pParent) +{ + setObjectName("ircoutput_options_widget"); + createLayout(); + + QLabel * pLabel = new QLabel(__tr2qs_ctx("Output verbosity","options"),this); + addWidgetToLayout(pLabel,0,0,0,0); + + m_pVerbosityCombo = new QComboBox(this); + m_pVerbosityCombo->addItem(__tr2qs_ctx("Mute","options")); + m_pVerbosityCombo->addItem(__tr2qs_ctx("Quiet","options")); + m_pVerbosityCombo->addItem(__tr2qs_ctx("Normal","options")); + m_pVerbosityCombo->addItem(__tr2qs_ctx("Verbose","options")); + m_pVerbosityCombo->addItem(__tr2qs_ctx("Paranoic","options")); + addWidgetToLayout(m_pVerbosityCombo,1,0,1,0); + + if(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) > KVI_VERBOSITY_LEVEL_PARANOIC) + KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) = KVI_VERBOSITY_LEVEL_NORMAL; + m_pVerbosityCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel)); + + pLabel = new QLabel(__tr2qs_ctx("Datetime format","options"),this); + addWidgetToLayout(pLabel,0,1,0,1); + + m_pDatetimeCombo = new QComboBox(this); + m_pDatetimeCombo->addItem(__tr2qs_ctx("Classic format","options")); + m_pDatetimeCombo->addItem(__tr2qs_ctx("ISO 8601 format","options")); + m_pDatetimeCombo->addItem(__tr2qs_ctx("System locale format","options")); + addWidgetToLayout(m_pDatetimeCombo,1,1,1,1); + + m_pDatetimeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintOutputDatetimeFormat)); + + KviTalGroupBox * pGroup = addGroupBox(0,2,1,2,Qt::Horizontal,__tr2qs_ctx("Show in active window","options")); + addBoolSelector(pGroup,__tr2qs_ctx("External messages","options"),KviOption_boolExternalMessagesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("External CTCP replies","options"),KviOption_boolCtcpRepliesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("Whois replies","options"),KviOption_boolWhoisRepliesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("ChanServ and NickServ notices","options"),KviOption_boolServicesNoticesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("Invite messages","options"),KviOption_boolInvitesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("Server replies","options"),KviOption_boolServerRepliesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("Server notices","options"),KviOption_boolServerNoticesToActiveWindow); + addBoolSelector(pGroup,__tr2qs_ctx("Broadcast and WALLOPS messages","options"),KviOption_boolOperatorMessagesToActiveWindow); +// if(KVI_OPTION_UINT(KviOption_uintUserExperienceLevel)>=2) +// { + addBoolSelector(0,3,1,3,__tr2qs_ctx("Show extended server information","options"),KviOption_boolShowExtendedServerInfo); + addBoolSelector(0,4,1,4,__tr2qs_ctx("Show server pings","options"),KviOption_boolShowPingPong); + addBoolSelector(0,5,1,5,__tr2qs_ctx("Show own parts in the console","options"),KviOption_boolShowOwnParts); + addBoolSelector(0,6,1,6,__tr2qs_ctx("Show compact mode changes","options"),KviOption_boolShowCompactModeChanges); + + addRowSpacer(0,7,1,7); +// } else { +// addRowSpacer(0,2,1,2); +// } +} + +OptionsWidget_ircOutput::~OptionsWidget_ircOutput() +{ +} + +void OptionsWidget_ircOutput::commit() +{ + KviOptionsWidget::commit(); + + int iIdx = m_pVerbosityCombo->currentIndex(); + if((iIdx < 0) || (iIdx > KVI_VERBOSITY_LEVEL_PARANOIC)) + { + iIdx = KVI_VERBOSITY_LEVEL_NORMAL; + } + KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) = iIdx; + + KVI_OPTION_UINT(KviOption_uintOutputDatetimeFormat) = m_pDatetimeCombo->currentIndex(); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_ircOutput.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_ircOutput.h b/src/modules/options/OptionsWidget_ircOutput.h new file mode 100644 index 000000000..55e61ffdd --- /dev/null +++ b/src/modules/options/OptionsWidget_ircOutput.h @@ -0,0 +1,51 @@ +#ifndef _OPTW_IRCOUTPUT_H_ +#define _OPTW_IRCOUTPUT_H_ +//============================================================================= +// +// File : OptionsWidget_ircOutput.h +// Creation date : Wed Nov 15 2000 11:47:51 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + + +class QComboBox; + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcOutputOptionsWidget KVI_SMALLICON_RAW +#define KVI_OPTIONS_WIDGET_NAME_KviIrcOutputOptionsWidget __tr2qs_no_lookup("Verbosity And Output") +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcOutputOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOutputOptionsWidget __tr2qs_no_lookup("debug") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOutputOptionsWidget 75000 + +class OptionsWidget_ircOutput : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ircOutput(QWidget * parent); + ~OptionsWidget_ircOutput(); +protected: + QComboBox * m_pVerbosityCombo; + QComboBox * m_pDatetimeCombo; +protected: + virtual void commit(); +}; + +#endif //!_OPTW_IRCOUTPUT_H_ diff --git a/src/modules/options/OptionsWidget_ircView.cpp b/src/modules/options/OptionsWidget_ircView.cpp new file mode 100644 index 000000000..ffa514817 --- /dev/null +++ b/src/modules/options/OptionsWidget_ircView.cpp @@ -0,0 +1,221 @@ +//============================================================================= +// +// File : OptionsWidget_ircView.cpp +// Creation date : Sat Aug 11 2001 03:29:52 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) +// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_ircView.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_ircViewTheme::OptionsWidget_ircViewTheme(QWidget * pParent) +: KviOptionsWidget(pParent) +{ +} + +OptionsWidget_ircViewTheme::~OptionsWidget_ircViewTheme() +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_ircViewLook::OptionsWidget_ircViewLook(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + setObjectName("ircviewlook_options_widget"); + + addFontSelector(0,0,1,0,__tr2qs_ctx("Font:","options"),KviOption_fontIrcView); + addColorSelector(0,1,1,1,__tr2qs_ctx("Background color:","options"),KviOption_colorIrcViewBackground); + + addPixmapSelector(0,2,1,2,__tr2qs_ctx("Background image:","options"),KviOption_pixmapIrcViewBackground); + + addLabel(0,3,0,3,__tr2qs_ctx("Horizontal align:","options")); + m_pHorizontalAlign=new QComboBox(this); + addWidgetToLayout(m_pHorizontalAlign,1,3,1,3); + + addLabel(0,4,0,4,__tr2qs_ctx("Vertical align:","options")); + m_pVerticalAlign=new QComboBox(this); + addWidgetToLayout(m_pVerticalAlign,1,4,1,4); + + m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); + + m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); + + switch( KVI_OPTION_UINT(KviOption_uintIrcViewPixmapAlign) & Qt::AlignHorizontal_Mask) + { + case Qt::AlignLeft: + m_pHorizontalAlign->setCurrentIndex(1); + break; + case Qt::AlignRight: + m_pHorizontalAlign->setCurrentIndex(2); + break; + case Qt::AlignHCenter: + m_pHorizontalAlign->setCurrentIndex(3); + break; + default: + m_pHorizontalAlign->setCurrentIndex(0); + } + + switch( KVI_OPTION_UINT(KviOption_uintIrcViewPixmapAlign) & Qt::AlignVertical_Mask) + { + case Qt::AlignTop: + m_pVerticalAlign->setCurrentIndex(1); + break; + case Qt::AlignBottom: + m_pVerticalAlign->setCurrentIndex(2); + break; + case Qt::AlignVCenter: + m_pVerticalAlign->setCurrentIndex(3); + break; + default: + m_pVerticalAlign->setCurrentIndex(0); + } + + layout()->setRowStretch(2,1); +} + +OptionsWidget_ircViewLook::~OptionsWidget_ircViewLook() +{ +} + +void OptionsWidget_ircViewLook::commit() +{ + int iFlags=0; + switch(m_pHorizontalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignLeft; + break; + case 2: + iFlags|=Qt::AlignRight; + break; + case 3: + iFlags|=Qt::AlignHCenter; + break; + } + switch(m_pVerticalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignTop; + break; + case 2: + iFlags|=Qt::AlignBottom; + break; + case 3: + iFlags|=Qt::AlignVCenter; + break; + } + + KVI_OPTION_UINT(KviOption_uintIrcViewPixmapAlign)=iFlags; + KviOptionsWidget::commit(); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_ircViewFeatures::OptionsWidget_ircViewFeatures(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + setObjectName("ircviewfeatures_options_widget"); + + addBoolSelector(0,7,0,7,__tr2qs_ctx("Enable URL highlighting","options"),KviOption_boolIrcViewUrlHighlighting); + addBoolSelector(0,8,0,8,__tr2qs_ctx("Use line wrap margin","options"),KviOption_boolIrcViewWrapMargin); + KviUIntSelector * s = addUIntSelector(0,9,0,9,__tr2qs_ctx("Maximum buffer size:","options"),KviOption_uintIrcViewMaxBufferSize,32,32767,2048); + s->setSuffix(__tr2qs_ctx(" lines","options")); + s = addUIntSelector(0,10,0,10,__tr2qs_ctx("Link tooltip show delay:","options"),KviOption_uintIrcViewToolTipTimeoutInMsec,256,10000,1800); + s->setSuffix(__tr2qs_ctx(" msec","options")); + s = addUIntSelector(0,11,0,11,__tr2qs_ctx("Link tooltip hide delay:","options"),KviOption_uintIrcViewToolTipHideTimeoutInMsec,256,10000,12000); + s->setSuffix(__tr2qs_ctx(" msec","options")); + addBoolSelector(0,12,0,12,__tr2qs_ctx("Enable animated smiles","options"),KviOption_boolEnableAnimatedSmiles); + + KviTalGroupBox * pGroup = addGroupBox(0,13,0,13,Qt::Horizontal,__tr2qs_ctx("Enable tooltips for:","options")); + addBoolSelector(pGroup,__tr2qs_ctx("Url links","options"),KviOption_boolEnableUrlLinkToolTip); + addBoolSelector(pGroup,__tr2qs_ctx("Host links","options"),KviOption_boolEnableHostLinkToolTip); + addBoolSelector(pGroup,__tr2qs_ctx("Server links","options"),KviOption_boolEnableServerLinkToolTip); + addBoolSelector(pGroup,__tr2qs_ctx("Mode links","options"),KviOption_boolEnableModeLinkToolTip); + addBoolSelector(pGroup,__tr2qs_ctx("Nick links","options"),KviOption_boolEnableNickLinkToolTip); + addBoolSelector(pGroup,__tr2qs_ctx("Channel links","options"),KviOption_boolEnableChannelLinkToolTip); + addBoolSelector(pGroup,__tr2qs_ctx("Escape sequences","options"),KviOption_boolEnableEscapeLinkToolTip); + + addRowSpacer(0,14,0,14); +} + +OptionsWidget_ircViewFeatures::~OptionsWidget_ircViewFeatures() +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_ircViewMarker::OptionsWidget_ircViewMarker(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + setObjectName("ircviewmarker_options_widget"); + + addBoolSelector(0,0,1,0,__tr2qs_ctx("Track last read text line","options"),KviOption_boolTrackLastReadTextViewLine); + addColorSelector(0,1,1,1,__tr2qs_ctx("Marker color:","options"),KviOption_colorIrcViewMarkLine); + + KviUIntSelector * s = addUIntSelector(0,2,1,2,__tr2qs_ctx("Marker size:","options"),KviOption_uintIrcViewMarkerSize,1,5,1); + s->setSuffix(__tr2qs_ctx(" pixels","options")); + + addLabel(0,3,0,3,__tr2qs_ctx("Marker style:","options")); + m_pMarkerStyle=new QComboBox(this); + addWidgetToLayout(m_pMarkerStyle,1,3,1,3); + + addRowSpacer(0,4,0,4); + + m_pMarkerStyle->addItem(__tr2qs_ctx("DotLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("DashLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("SolidLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotLine","options")); + m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotDotLine","options")); + + unsigned int uStyle=KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle); + m_pMarkerStyle->setCurrentIndex(uStyle < 5 ? uStyle : 0); +} + +OptionsWidget_ircViewMarker::~OptionsWidget_ircViewMarker() +{ +} + +void OptionsWidget_ircViewMarker::commit() +{ + KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle)=m_pMarkerStyle->currentIndex(); + KviOptionsWidget::commit(); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_ircView.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_ircView.h b/src/modules/options/OptionsWidget_ircView.h new file mode 100644 index 000000000..eb6c43cbc --- /dev/null +++ b/src/modules/options/OptionsWidget_ircView.h @@ -0,0 +1,101 @@ +#ifndef _OPTW_IRCVIEW_H_ +#define _OPTW_IRCVIEW_H_ + +//============================================================================= +// +// File : OptionsWidget_ircView.h +// Creation date : Sat Aug 11 2001 03:28:19 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) +// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) +// +// 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. +// +//============================================================================= + + +#include "KviOptionsWidget.h" + +#include + + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewThemeOptionsWidget KVI_SMALLICON_IRCVIEW +#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewThemeOptionsWidget __tr2qs_no_lookup("Output") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewThemeOptionsWidget __tr2qs_no_lookup("theme,colors,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewThemeOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewThemeOptionsWidget true + +class OptionsWidget_ircViewTheme : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ircViewTheme(QWidget * pParent); + ~OptionsWidget_ircViewTheme(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewLookOptionsWidget KVI_SMALLICON_IRCVIEW +#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewLookOptionsWidget __tr2qs_no_lookup("Look") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewLookOptionsWidget __tr2qs_no_lookup("theme,colors,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewLookOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewLookOptionsWidget OptionsWidget_ircViewTheme +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewLookOptionsWidget 30 + +class OptionsWidget_ircViewLook : public KviOptionsWidget +{ + Q_OBJECT +private: + QComboBox * m_pHorizontalAlign; + QComboBox * m_pVerticalAlign; +public: + OptionsWidget_ircViewLook(QWidget * parent); + ~OptionsWidget_ircViewLook(); +public: + virtual void commit(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewFeaturesOptionsWidget KVI_SMALLICON_IRCVIEW +#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewFeaturesOptionsWidget __tr2qs_no_lookup("Features") +#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewFeaturesOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewFeaturesOptionsWidget OptionsWidget_ircViewTheme +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewFeaturesOptionsWidget 20 + +class OptionsWidget_ircViewFeatures : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ircViewFeatures(QWidget * parent); + ~OptionsWidget_ircViewFeatures(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewMarkerOptionsWidget KVI_SMALLICON_IRCVIEW +#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewMarkerOptionsWidget __tr2qs_no_lookup("Marker") +#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewMarkerOptionsWidget OptionsWidget_ircViewTheme +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget 10 + +class OptionsWidget_ircViewMarker : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_ircViewMarker(QWidget * pParent); + ~OptionsWidget_ircViewMarker(); + virtual void commit(); +private: + QComboBox * m_pMarkerStyle; +}; + + +#endif //!_OPTW_IRCVIEW_H_ diff --git a/src/modules/options/OptionsWidget_lag.cpp b/src/modules/options/OptionsWidget_lag.cpp new file mode 100644 index 000000000..0e2e763fd --- /dev/null +++ b/src/modules/options/OptionsWidget_lag.cpp @@ -0,0 +1,80 @@ +//============================================================================= +// +// File : OptionsWidget_lag.cpp +// Creation date : Wed Cct 16 10:45:54 CEST 2002 by Juanjo Ãlvarez (juanjux@yahoo.es) +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002 Juanjo Ãlvarez +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "OptionsWidget_lag.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviTalToolTip.h" + +#include + + +OptionsWidget_lag::OptionsWidget_lag(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("lag_options_widget"); + createLayout(); + + KviBoolSelector * pUse = addBoolSelector(0,0,0,0, __tr2qs_ctx("Enable lag meter","options"), KviOption_boolUseLagMeterEngine); + mergeTip(pUse,__tr2qs_ctx("
This enables the lag meter engine, which checks at regular intervals how much lag (latency) the server has.
","options")); + KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Configuration","options"),KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); + KviUIntSelector * pInterval = addUIntSelector(g, __tr2qs_ctx("Lag meter heartbeat:","options"),KviOption_uintLagMeterHeartbeat,2000,10000,5000,KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); + pInterval->setSuffix(__tr2qs_ctx(" msec","options")); + mergeTip(pInterval, + __tr2qs_ctx("
This option allows you to set the lag meter heartbeat interval.
" \ + "The lower the heartbeat interval the higher will be the accuracy of the lag check " \ + "but also higher cpu usage and data traffic to the server.
" \ + "Please note that this is NOT the interval between pings sent to the server: " \ + "the pings (if any) will be sent really less often. " \ + "5000 is a reasonable value.
","options")); + connect(pUse,SIGNAL(toggled(bool)),pInterval,SLOT(setEnabled(bool))); + + KviUIntSelector * pAlarm = addUIntSelector(g, __tr2qs_ctx("Trigger event if lag exceeds:","options"), KviOption_uintLagAlarmTime,5000,1000000,30000, KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); + pAlarm->setSuffix(__tr2qs_ctx(" msec","options")); + mergeTip(pAlarm,__tr2qs_ctx("
This option controls the threshold for the " \ + "OnLagAlarmTimeUp and OnLagAlarmTimeDown events. When the lag goes above " \ + "the threshold OnLagAlarmTimeUp will be triggered and when the lag falls " \ + "back below the threshold then OnLagAlarmTimeDown will be triggered
","options")); + connect(pUse,SIGNAL(toggled(bool)),pAlarm,SLOT(setEnabled(bool))); + + KviBoolSelector * pShow = addBoolSelector(g, __tr2qs_ctx("Show lag in IRC context display","options"), KviOption_boolShowLagOnContextDisplay, KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); + mergeTip(pShow,__tr2qs_ctx("
This makes the IRC context display applet show the current lag after the user's nickname (in seconds)
","options")); + + connect(pUse,SIGNAL(toggled(bool)),pShow,SLOT(setEnabled(bool))); + connect(pUse,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); + + addRowSpacer(0,2,0,2); + +} + +OptionsWidget_lag::~OptionsWidget_lag() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_lag.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_lag.h b/src/modules/options/OptionsWidget_lag.h new file mode 100644 index 000000000..88164c54f --- /dev/null +++ b/src/modules/options/OptionsWidget_lag.h @@ -0,0 +1,43 @@ +#ifndef _OPTW_LAG_H_ +#define _OPTW_LAG_H_ +//============================================================================= +// +// File : OptionsWidget_lag.h +// Creation date : Wed Cct 16 10:45:54 CEST 2002 by Juanjo Álvarez (juanjux@yahoo.es) +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002 Juanjo Álvarez +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviLagOptionsWidget KVI_SMALLICON_STATS +#define KVI_OPTIONS_WIDGET_NAME_KviLagOptionsWidget __tr2qs_no_lookup("Lag") +#define KVI_OPTIONS_WIDGET_PARENT_KviLagOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviLagOptionsWidget __tr2qs_no_lookup("time,ping") + +class OptionsWidget_lag : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_lag(QWidget * parent); + ~OptionsWidget_lag(); +}; + +#endif //_OPTW_LAG_H_ diff --git a/src/modules/options/OptionsWidget_logging.cpp b/src/modules/options/OptionsWidget_logging.cpp new file mode 100644 index 000000000..01ae94c14 --- /dev/null +++ b/src/modules/options/OptionsWidget_logging.cpp @@ -0,0 +1,70 @@ +//============================================================================= +// +// File : OptionsWidget_logging.cpp +// Creation date : Mon Oct 29 15:37:16 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_logging.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + + +OptionsWidget_logging::OptionsWidget_logging(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("logging_options_widget"); + + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Automatically Log","options")); + addBoolSelector(g,__tr2qs_ctx("Query windows","options"),KviOption_boolAutoLogQueries); + addBoolSelector(g,__tr2qs_ctx("Channel windows","options"),KviOption_boolAutoLogChannels); + addBoolSelector(g,__tr2qs_ctx("DCC Chat windows","options"),KviOption_boolAutoLogDccChat); + addBoolSelector(g,__tr2qs_ctx("Console windows","options"),KviOption_boolAutoLogConsole); + + addDirectorySelector(0,1,0,1,__tr2qs_ctx("Save logs to folder:","options"),KviOption_stringLogsPath); + addBoolSelector(0,2,0,2,__tr2qs_ctx("Strip message type numbers in logs","options"),KviOption_boolStripMsgTypeInLogs); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Strip colors in logs","options"),KviOption_boolStripControlCodesInLogs); + KviUIntSelector* us = addUIntSelector(0,4,0,4,__tr2qs_ctx("Auto flush logs every","options"),KviOption_uintAutoFlushLogs,0,99999,0); + us->setSuffix(__tr2qs_ctx(" min","options")); + mergeTip(us, + __tr2qs_ctx("
Save logs with the current interval
" \ + "Set to 0 to disable this feature
","options")); + +#ifdef COMPILE_ZLIB_SUPPORT + addBoolSelector(0,5,0,5,__tr2qs_ctx("Gzip logs","options"),KviOption_boolGzipLogs); +#endif + + addRowSpacer(0,6,0,6); +} + +OptionsWidget_logging::~OptionsWidget_logging() +{ +} + + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_logging.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_logging.h b/src/modules/options/OptionsWidget_logging.h new file mode 100644 index 000000000..518634b91 --- /dev/null +++ b/src/modules/options/OptionsWidget_logging.h @@ -0,0 +1,44 @@ +#ifndef _OPTW_LOGGING_H_ +#define _OPTW_LOGGING_H_ +//============================================================================= +// +// File : OptionsWidget_logging.h +// Creation date : Mon Oct 29 15:37:18 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviLoggingOptionsWidget KVI_SMALLICON_LOG +#define KVI_OPTIONS_WIDGET_NAME_KviLoggingOptionsWidget __tr2qs_no_lookup("Logging") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviLoggingOptionsWidget __tr2qs_no_lookup("save,output") +#define KVI_OPTIONS_WIDGET_PARENT_KviLoggingOptionsWidget OptionsWidget_tools + +//noway #define KVI_OPTIONS_WIDGET_NO_PARENT_KviLoggingOptionsWidget OptionsWidget_irc + +class OptionsWidget_logging : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_logging(QWidget * parent); + ~OptionsWidget_logging(); +}; + +#endif //_OPTW_LOGGING_H_ diff --git a/src/modules/options/OptionsWidget_mediaTypes.cpp b/src/modules/options/OptionsWidget_mediaTypes.cpp new file mode 100644 index 000000000..71df63df1 --- /dev/null +++ b/src/modules/options/OptionsWidget_mediaTypes.cpp @@ -0,0 +1,265 @@ +//============================================================================= +// +// File : OptionsWidget_mediaTypes.cpp +// Creation date : Sat Jan 20 2001 16:14:53 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001 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. +// +//============================================================================= + +#include "OptionsWidget_mediaTypes.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviTalToolTip.h" + +#include +#include + +// KviApplication.cpp +extern KVIRC_API KviMediaManager * g_pMediaManager; + +static void copyMediaType(KviMediaType * dst,const KviMediaType * src) +{ + dst->szFileMask = src->szFileMask; + dst->szIanaType = src->szIanaType; + dst->szDescription = src->szDescription; + dst->szMagicBytes = src->szMagicBytes; + dst->szSavePath = src->szSavePath; + dst->szCommandline = src->szCommandline; + dst->szRemoteExecCommandline = src->szRemoteExecCommandline; + dst->szIcon = src->szIcon; +} + +MediaTypeTreeWidgetItem::MediaTypeTreeWidgetItem(QTreeWidget * w,KviMediaType * t) +: QTreeWidgetItem(w) +{ + copyData(t); +} + +MediaTypeTreeWidgetItem::~MediaTypeTreeWidgetItem() +{ +} + +void MediaTypeTreeWidgetItem::copyData(KviMediaType * t) +{ + copyMediaType(&m_data,t); + setText(0,m_data.szFileMask.ptr()); + setText(1,m_data.szIanaType.ptr()); + setText(2,m_data.szDescription.ptr()); +} + +OptionsWidget_mediaTypes::OptionsWidget_mediaTypes(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("mediatypes_options_widget"); + + createLayout(); + + m_pTreeWidget = new QTreeWidget(this); + m_pTreeWidget->setColumnCount(3); + QStringList columnLabels; + columnLabels.append(__tr2qs_ctx("Pattern","options")); + columnLabels.append(__tr2qs_ctx("MIME Type","options")); + columnLabels.append(__tr2qs_ctx("Description","options")); + m_pTreeWidget->setHeaderLabels(columnLabels); + m_pTreeWidget->setAllColumnsShowFocus(true); + m_pTreeWidget->setRootIsDecorated(false); + connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); + + layout()->addWidget(m_pTreeWidget,0,0,1,3); + + QLabel * l = new QLabel(__tr2qs_ctx("Description:","options"),this); + layout()->addWidget(l,1,0); + m_pDescription = new QLineEdit(this); + layout()->addWidget(m_pDescription,1,1,1,2); + + l = new QLabel(__tr2qs_ctx("MIME type:","options"),this); + layout()->addWidget(l,2,0); + m_pIanaType = new QLineEdit(this); + layout()->addWidget(m_pIanaType,2,1,1,2); + + l = new QLabel(__tr2qs_ctx("File pattern:","options"),this); + layout()->addWidget(l,3,0); + m_pFileMask = new QLineEdit(this); + layout()->addWidget(m_pFileMask,3,1,1,2); + + l = new QLabel(__tr2qs_ctx("Magic bytes:","options"),this); + layout()->addWidget(l,4,0); + m_pMagicBytes = new QLineEdit(this); + layout()->addWidget(m_pMagicBytes,4,1,1,2); + + l = new QLabel(__tr2qs_ctx("Save path:","options"),this); + layout()->addWidget(l,5,0); + m_pSavePath = new QLineEdit(this); + layout()->addWidget(m_pSavePath,5,1,1,2); + + l = new QLabel(__tr2qs_ctx("Local open command:","options"),this); + layout()->addWidget(l,6,0); + m_pCommandline = new QLineEdit(this); + layout()->addWidget(m_pCommandline,6,1,1,2); + mergeTip(m_pCommandline,__tr2qs_ctx("
This field contains the command to execute to open a local file.
" \ + "$0 is used in place of the filename
","options")); + + l = new QLabel(__tr2qs_ctx("Remote open command:","options"),this); + layout()->addWidget(l,7,0); + m_pRemoteExecCommandline = new QLineEdit(this); + layout()->addWidget(m_pRemoteExecCommandline,7,1,1,2); + mergeTip(m_pRemoteExecCommandline,__tr2qs_ctx("
This field contains the command to execute when automatically opening a received file.
" \ + "$0 is used in place of the filename
","options")); + + l = new QLabel(__tr2qs_ctx("Icon","options"),this); + layout()->addWidget(l,8,0); + m_pIcon = new QLineEdit(this); + layout()->addWidget(m_pIcon,8,1,1,2); + + QFrame * f = new QFrame(this); + f->setFrameStyle(QFrame::Sunken | QFrame::HLine); + layout()->addWidget(f,9,0,1,3); + + QPushButton * b = new QPushButton(__tr2qs_ctx("&New","options"),this); + connect(b,SIGNAL(clicked()),this,SLOT(newMediaType())); + layout()->addWidget(b,10,1); + + m_pDelete = new QPushButton(__tr2qs_ctx("Re&move","options"),this); + connect(m_pDelete,SIGNAL(clicked()),this,SLOT(delMediaType())); + layout()->addWidget(m_pDelete,10,2); + + layout()->setColumnStretch(1,1); + layout()->setColumnStretch(2,1); + layout()->setRowStretch(0,1); + + m_pLastItem = 0; + + fillTreeWidget(); +} + +OptionsWidget_mediaTypes::~OptionsWidget_mediaTypes() +{ +} + +void OptionsWidget_mediaTypes::fillTreeWidget() +{ + m_pTreeWidget->clear(); + g_pMediaManager->lock(); + KviPointerList * l = g_pMediaManager->mediaTypeList(); + + for(KviMediaType * t = l->first();t;t = l->next()) + new MediaTypeTreeWidgetItem(m_pTreeWidget,t); + + g_pMediaManager->unlock(); + enableOrDisable(); +} + +void OptionsWidget_mediaTypes::saveLastItem() +{ + if(m_pLastItem) + { + KviMediaType t; + t.szDescription = m_pDescription->text(); + t.szIanaType = m_pIanaType->text(); + t.szFileMask = m_pFileMask->text(); + t.szSavePath = m_pSavePath->text(); + t.szCommandline = m_pCommandline->text(); + t.szMagicBytes = m_pMagicBytes->text(); + t.szRemoteExecCommandline = m_pRemoteExecCommandline->text(); + t.szIcon = m_pIcon->text(); + + if(t.szDescription.isEmpty())t.szDescription = __tr2qs_ctx("[Unknown Media Type]","options"); + + m_pLastItem->copyData(&t); + } +} + +void OptionsWidget_mediaTypes::enableOrDisable() +{ + m_pDescription->setEnabled(m_pLastItem); + m_pIanaType->setEnabled(m_pLastItem); + m_pFileMask->setEnabled(m_pLastItem); + m_pSavePath->setEnabled(m_pLastItem); + m_pCommandline->setEnabled(m_pLastItem); + m_pMagicBytes->setEnabled(m_pLastItem); + m_pRemoteExecCommandline->setEnabled(m_pLastItem); + m_pDelete->setEnabled(m_pLastItem); + m_pIcon->setEnabled(m_pLastItem); +} + +void OptionsWidget_mediaTypes::setLineEdits() +{ + m_pDescription->setText(m_pLastItem ? m_pLastItem->mydata()->szDescription.ptr() : ""); + m_pIanaType->setText(m_pLastItem ? m_pLastItem->mydata()->szIanaType.ptr() : ""); + m_pFileMask->setText(m_pLastItem ? m_pLastItem->mydata()->szFileMask.ptr() : ""); + m_pSavePath->setText(m_pLastItem ? m_pLastItem->mydata()->szSavePath.ptr() : ""); + m_pCommandline->setText(m_pLastItem ? m_pLastItem->mydata()->szCommandline.ptr() : ""); + m_pMagicBytes->setText(m_pLastItem ? m_pLastItem->mydata()->szMagicBytes.ptr() : ""); + m_pRemoteExecCommandline->setText(m_pLastItem ? m_pLastItem->mydata()->szRemoteExecCommandline.ptr() : ""); + m_pIcon->setText(m_pLastItem ? m_pLastItem->mydata()->szIcon.ptr() : ""); +} + +void OptionsWidget_mediaTypes::currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *) +{ + saveLastItem(); + m_pLastItem = (MediaTypeTreeWidgetItem *)it; + if(it) + { + if(!it->isSelected())it->setSelected(true); + } + setLineEdits(); + enableOrDisable(); +} + +void OptionsWidget_mediaTypes::newMediaType() +{ + KviMediaType empty; + empty.szDescription = __tr2qs_ctx("New Media Type","options"); + MediaTypeTreeWidgetItem * it = new MediaTypeTreeWidgetItem(m_pTreeWidget,&empty); + m_pTreeWidget->setCurrentItem(it); + it->setSelected(true); +} + +void OptionsWidget_mediaTypes::delMediaType() +{ + if(m_pLastItem) + { + MediaTypeTreeWidgetItem * it = m_pLastItem; + m_pLastItem = 0; + delete it; + } +} + +void OptionsWidget_mediaTypes::commit() +{ + saveLastItem(); + MediaTypeTreeWidgetItem * it;// = (MediaTypeTreeWidgetItem *)m_pTreeWidget->firstChild(); + g_pMediaManager->lock(); + g_pMediaManager->clear(); + //while(it) + for(int i=0;itopLevelItemCount();i++) + { + it=(MediaTypeTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); + KviMediaType * t = new KviMediaType; + copyMediaType(t,it->mydata()); + g_pMediaManager->insertMediaType(t); + // it = (MediaTypeTreeWidgetItem *)it->nextSibling(); + } + g_pMediaManager->unlock(); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_mediaTypes.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_mediaTypes.h b/src/modules/options/OptionsWidget_mediaTypes.h new file mode 100644 index 000000000..46e2bee20 --- /dev/null +++ b/src/modules/options/OptionsWidget_mediaTypes.h @@ -0,0 +1,85 @@ +#ifndef _OPTW_MEDIATYPES_H_ +#define _OPTW_MEDIATYPES_H_ +//============================================================================= +// +// File : OptionsWidget_mediaTypes.h +// Creation date : Sat Jan 20 2001 16:12:10 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include "KviMediaManager.h" +#include + +#include +#include + + +class MediaTypeTreeWidgetItem : public QTreeWidgetItem +{ +public: + MediaTypeTreeWidgetItem(QTreeWidget * w,KviMediaType * t); + ~MediaTypeTreeWidgetItem(); +private: + KviMediaType m_data; +public: + void copyData(KviMediaType * t); + const KviMediaType * mydata(){ return &m_data; }; +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviMediaTypesOptionsWidget KVI_SMALLICON_FILE +#define KVI_OPTIONS_WIDGET_NAME_KviMediaTypesOptionsWidget __tr2qs_no_lookup("Media Types") +#define KVI_OPTIONS_WIDGET_PARENT_KviMediaTypesOptionsWidget OptionsWidget_general +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMediaTypesOptionsWidget __tr2qs_no_lookup("file,audio,video,programs") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviMediaTypesOptionsWidget 60000 +//#define KVI_OPTIONS_WIDGET_HIDDEN_KviMediaTypesOptionsWidget true + +class OptionsWidget_mediaTypes : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_mediaTypes(QWidget * parent); + ~OptionsWidget_mediaTypes(); +private: + QTreeWidget * m_pTreeWidget; + QLineEdit * m_pDescription; + QLineEdit * m_pIanaType; + QLineEdit * m_pFileMask; + QLineEdit * m_pSavePath; + QLineEdit * m_pCommandline; + QLineEdit * m_pMagicBytes; + QLineEdit * m_pRemoteExecCommandline; + QLineEdit * m_pIcon; + QPushButton * m_pDelete; + MediaTypeTreeWidgetItem * m_pLastItem; +private: + void fillTreeWidget(); + void saveLastItem(); + void enableOrDisable(); + void setLineEdits(); +private slots: + void currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *prev); + void newMediaType(); + void delMediaType(); +public: + virtual void commit(); +}; + +#endif //!_OPTW_IDENTITY_H_ diff --git a/src/modules/options/OptionsWidget_message.cpp b/src/modules/options/OptionsWidget_message.cpp new file mode 100644 index 000000000..6dd563142 --- /dev/null +++ b/src/modules/options/OptionsWidget_message.cpp @@ -0,0 +1,656 @@ +//============================================================================= +// +// File : OptionsWidget_message.cpp +// Creation date : Sat Aug 11 2001 18:12:00 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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 _WANT_OPTION_FLAGS_ + +#include "OptionsWidget_message.h" + +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviApplication.h" +#include "KviLocale.h" +#include "KviIconManager.h" +#include "KviMircCntrl.h" +#include "KviConfigurationFile.h" +#include "KviFileDialog.h" +#include "KviTalVBox.h" + +#include +#include +#include +#include + +#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW) + #include // symlink() +#endif + + +#ifdef COMPILE_PSEUDO_TRANSPARENCY + extern KVIRC_API QPixmap * g_pShadedChildGlobalDesktopBackground; +#endif + + +OptionsWidget_message::OptionsWidget_message(QWidget * pParent) +: KviOptionsWidget(pParent) +{ +} + +OptionsWidget_message::~OptionsWidget_message() +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_privmsg::OptionsWidget_privmsg(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("privmsg_options_widget"); + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("General","options")); + + addBoolSelector(g,__tr2qs_ctx("Show message icons","options"),KviOption_boolIrcViewShowImages); + addBoolSelector(g,__tr2qs_ctx("Draw some emoticons (smileys) as pictures","options"),KviOption_boolDrawEmoticons); + addBoolSelector(g,__tr2qs_ctx("Don't show colors in user messages","options"),KviOption_boolStripMircColorsInUserMessages); + + g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Nicknames","options")); + + m_pUseSmartColorSelector = addBoolSelector(g,__tr2qs_ctx("\"Smart\" nickname colors","options"),KviOption_boolColorNicks); + + KviTalHBox * hb = new KviTalHBox(g); + hb->setSpacing(4); + m_pSpecialSmartColorSelector = addBoolSelector(hb,__tr2qs_ctx("Use specified colors for own nick:","options"),KviOption_boolUseSpecifiedSmartColorForOwnNick,KVI_OPTION_BOOL(KviOption_boolColorNicks)); + + m_pSmartColorSelector = addMircTextColorSelector(hb,"",KviOption_uintUserIrcViewOwnForeground,KviOption_uintUserIrcViewOwnBackground,KVI_OPTION_BOOL(KviOption_boolColorNicks) && KVI_OPTION_BOOL(KviOption_boolUseSpecifiedSmartColorForOwnNick)); + + connect(m_pSpecialSmartColorSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableSmartColorSelector(bool))); + connect(m_pUseSmartColorSelector,SIGNAL(toggled(bool)),m_pSpecialSmartColorSelector,SLOT(setEnabled(bool))); + + KviBoolSelector * b2 = addBoolSelector(g,__tr2qs_ctx("Use same colors as in the userlist","options"),KviOption_boolUseUserListColorsAsNickColors,!KVI_OPTION_BOOL(KviOption_boolColorNicks)); + connect(m_pUseSmartColorSelector,SIGNAL(toggled(bool)),b2,SLOT(setNotEnabled(bool))); + + addBoolSelector(g,__tr2qs_ctx("Show nicknames in bold","options"),KviOption_boolBoldedNicks); + addBoolSelector(g,__tr2qs_ctx("Show user and host","options"),KviOption_boolShowUserAndHostInPrivmsgView); + addBoolSelector(g,__tr2qs_ctx("Show channel mode prefix","options"),KviOption_boolShowChannelUserFlagInPrivmsgView); + KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("User-defined prefix and postfix","options"),KviOption_boolUseExtendedPrivmsgView); + + QLabel * l = addLabel(g,__tr2qs_ctx("[PREFIX]nickname[!user@host][POSTFIX] message","options")); + + l->setEnabled(KVI_OPTION_BOOL(KviOption_boolUseExtendedPrivmsgView)); + connect(b, + SIGNAL(toggled(bool)), + l, + SLOT(setEnabled(bool))); + + KviTalVBox * vb = new KviTalVBox(g); + vb->setSpacing(5); + + connect( + b, + SIGNAL(toggled(bool)), + addStringSelector(vb,__tr2qs_ctx("Prefix:","options"),KviOption_stringExtendedPrivmsgPrefix,KVI_OPTION_BOOL(KviOption_boolUseExtendedPrivmsgView)), + SLOT(setEnabled(bool))); + connect( + b, + SIGNAL(toggled(bool)), + addStringSelector(vb,__tr2qs_ctx("Postfix:","options"),KviOption_stringExtendedPrivmsgPostfix,KVI_OPTION_BOOL(KviOption_boolUseExtendedPrivmsgView)), + SLOT(setEnabled(bool))); + addRowSpacer(0,3,0,3); +} + +void OptionsWidget_privmsg::enableDisableSmartColorSelector(bool) +{ + m_pSmartColorSelector->setEnabled(m_pUseSmartColorSelector->isChecked() && m_pUseSmartColorSelector->isChecked()); +} + +OptionsWidget_privmsg::~OptionsWidget_privmsg() +{ +} + +OptionsWidget_timestamp::OptionsWidget_timestamp(QWidget * pParent) +: KviOptionsWidget(pParent) +{ + createLayout(); + m_pUseTimestampSelector = addBoolSelector(0,0,0,0,__tr2qs_ctx("Show timestamp","options"),KviOption_boolIrcViewTimestamp); + + connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableTimestampSelector(bool))); + KviBoolSelector* b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Use UTC time for timestamp","options"),KviOption_boolIrcViewTimestampUTC,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp)); + + connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool))); + + KviTalHBox *hb = new KviTalHBox(this); + addWidgetToLayout(hb,0,2,0,2); + + m_pSpecialTimestampColorSelector = addBoolSelector(hb,__tr2qs_ctx("Use special color for timestamps","options"),KviOption_boolUseSpecialColorForTimestamp,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp)); + connect(m_pSpecialTimestampColorSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableTimestampSelector(bool))); + connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),m_pSpecialTimestampColorSelector,SLOT(setEnabled(bool))); + + m_pTimestampColorSelector = addMircTextColorSelector(hb,"",KviOption_uintTimeStampForeground,KviOption_uintTimeStampBackground,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp) && KVI_OPTION_BOOL(KviOption_boolUseSpecialColorForTimestamp)); + + KviStringSelector * st=addStringSelector(0,3,0,3,__tr2qs_ctx("Timestamp format:","options"),KviOption_stringIrcViewTimestampFormat); + connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),st,SLOT(setEnabled(bool))); + + connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),m_pSpecialTimestampColorSelector,SLOT(setEnabled(bool))); + addRowSpacer(0,4,0,4); +} + +OptionsWidget_timestamp::~OptionsWidget_timestamp() +{ +} + +void OptionsWidget_timestamp::enableDisableTimestampSelector(bool) +{ + m_pTimestampColorSelector->setEnabled(m_pUseTimestampSelector->isChecked() && m_pSpecialTimestampColorSelector->isChecked()); +} + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_standardColors::OptionsWidget_standardColors(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("stdcolors"); + createLayout(); + + addColorSelector(0,0,0,0,"0:",&(KVI_OPTION_MIRCCOLOR(0))); + addColorSelector(1,0,1,0,"1:",&(KVI_OPTION_MIRCCOLOR(1))); + addColorSelector(2,0,2,0,"2:",&(KVI_OPTION_MIRCCOLOR(2))); + addColorSelector(3,0,3,0,"3:",&(KVI_OPTION_MIRCCOLOR(3))); + addColorSelector(0,1,0,1,"4:",&(KVI_OPTION_MIRCCOLOR(4))); + addColorSelector(1,1,1,1,"5:",&(KVI_OPTION_MIRCCOLOR(5))); + addColorSelector(2,1,2,1,"6:",&(KVI_OPTION_MIRCCOLOR(6))); + addColorSelector(3,1,3,1,"7:",&(KVI_OPTION_MIRCCOLOR(7))); + addColorSelector(0,2,0,2,"8:",&(KVI_OPTION_MIRCCOLOR(8))); + addColorSelector(1,2,1,2,"9:",&(KVI_OPTION_MIRCCOLOR(9))); + addColorSelector(2,2,2,2,"10:",&(KVI_OPTION_MIRCCOLOR(10))); + addColorSelector(3,2,3,2,"11:",&(KVI_OPTION_MIRCCOLOR(11))); + addColorSelector(0,3,0,3,"12:",&(KVI_OPTION_MIRCCOLOR(12))); + addColorSelector(1,3,1,3,"13:",&(KVI_OPTION_MIRCCOLOR(13))); + addColorSelector(2,3,2,3,"14:",&(KVI_OPTION_MIRCCOLOR(14))); + addColorSelector(3,3,3,3,"15:",&(KVI_OPTION_MIRCCOLOR(15))); + + addRowSpacer(0,4,3,4); + + layout()->setRowStretch(4,1); +} + +OptionsWidget_standardColors::~OptionsWidget_standardColors() +{ +} + +MessageListWidgetItem::MessageListWidgetItem(MessageListWidget* l,int optId) +: KviTalListWidgetItem(l) +{ + m_iOptId = optId; + m_pMsgType = new KviMessageTypeSettings(KVI_OPTION_MSGTYPE(optId)); + + QString txt = g_msgtypeOptionsTable[m_iOptId].name; + // skip the msgtype prefix + txt.remove(0,KVI_MSGTYPE_OPTIONS_PREFIX_LEN); + txt += " ("; + txt += __tr2qs_no_xgettext(m_pMsgType->type()); + txt += ")"; + + setText(txt); + setIcon(*(g_pIconManager->getSmallIcon(m_pMsgType->pixId()))); +} + +MessageListWidgetItem::~MessageListWidgetItem() +{ + delete m_pMsgType; +} + +void MessageListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const +{ + + const KviTalListWidget *tb = (const KviTalListWidget *)parent(); + MessageListWidgetItem *it = static_cast(index.internalPointer()); +#ifdef COMPILE_PSEUDO_TRANSPARENCY + if(KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) + { + p->save(); + p->setCompositionMode(QPainter::CompositionMode_Source); + QColor col=KVI_OPTION_COLOR(KviOption_colorGlobalTransparencyFade); + col.setAlphaF((float)((float)KVI_OPTION_UINT(KviOption_uintGlobalTransparencyChildFadeFactor) / (float)100)); + p->fillRect(opt.rect, col); + p->restore(); + } else if(g_pShadedChildGlobalDesktopBackground) + { + QPoint pnt = tb->viewport()->mapToGlobal(opt.rect.topLeft()); + p->drawTiledPixmap(opt.rect,*g_pShadedChildGlobalDesktopBackground, pnt); + } else { +#endif + QPixmap * pix = KVI_OPTION_PIXMAP(KviOption_pixmapIrcViewBackground).pixmap(); + if(pix) + { + QPoint pnt = tb->viewport()->mapToGlobal(opt.rect.topLeft()); + p->drawTiledPixmap(opt.rect,*pix,pnt); + } else { + p->fillRect(opt.rect,KVI_OPTION_COLOR(KviOption_colorIrcViewBackground)); + } +#ifdef COMPILE_PSEUDO_TRANSPARENCY + } +#endif + + QString szText=index.data(Qt::DisplayRole).toString(); + QPoint pt = opt.rect.topLeft(); + + pt.setX(pt.x() + 4); + p->drawPixmap(pt,*(g_pIconManager->getSmallIcon(it->msgType()->pixId()))); + pt.setX(pt.x() + 18); + // draw the background + if(it->msgType()->back() < 16) + { + QColor bColor = KVI_OPTION_MIRCCOLOR(it->msgType()->back()); + p->fillRect(pt.x(), pt.y(), opt.rect.width() - pt.x(), opt.rect.height(), bColor); + } + unsigned char ucFore = it->msgType()->fore(); + if(ucFore > 15)ucFore = 0; + p->setPen(QPen(KVI_OPTION_MIRCCOLOR(ucFore))); + pt.setX(pt.x() + 2); + + p->drawText(pt.x(), pt.y(), opt.rect.width() - pt.x(), opt.rect.height(),Qt::AlignLeft | Qt::AlignVCenter,szText); + + if(opt.state & QStyle::State_Selected) + { + QPen pen(Qt::white); + p->setPen(pen); + p->drawRect(opt.rect.adjusted(0,0,-1,-1)); + p->drawRect(opt.rect.adjusted (1,1,-2,-2)); + + pen.setColor(Qt::black); + pen.setStyle(Qt::DashLine); + p->setPen(pen); + p->drawRect(opt.rect.adjusted(0,0,-1,-1)); + p->drawRect(opt.rect.adjusted (1,1,-2,-2)); + } +} + + +MessageColorListWidgetItem::MessageColorListWidgetItem(KviTalListWidget * b,int idx) +: KviTalListWidgetText(b,QString()) +{ + + m_iClrIdx = idx; + if((idx < 0) || (idx > 15)) + { + setText(__tr2qs_ctx("Transparent","options")); + setBackground(listWidget()->isEnabled() ? Qt::transparent : Qt::gray); + } else { + setBackground(QColor(KVI_OPTION_MIRCCOLOR(m_iClrIdx))); + setText(" "); + } +} + +MessageColorListWidgetItem::~MessageColorListWidgetItem() +{ +} + +void MessageColorListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const +{ + + if(opt.state & QStyle::State_Selected) + { + QColor clr; + const KviTalListWidget *lb = (const KviTalListWidget *)parent(); + MessageColorListWidgetItem *it = static_cast(index.internalPointer()); + + if((it->clrIdx() >= 0) && (it->clrIdx() <= 15)) + { + clr = KVI_OPTION_MIRCCOLOR(it->clrIdx()); + } else { + clr =lb->palette().color(QPalette::Window); + } + + QStyleOptionViewItem optz(opt); + optz.state = opt.state ^ QStyle::State_Selected; + QItemDelegate::paint(p, optz, index); + + QPen pen(QColor(255-clr.red(), 255-clr.green(), 255-clr.blue())); + pen.setStyle(Qt::DashLine); + p->setPen(pen); + p->drawRect(opt.rect.adjusted(0,0,-1,-1)); + p->drawRect(opt.rect.adjusted (1,1,-2,-2)); + p->drawRect(opt.rect.adjusted (2,2,-3,-3)); + } else { + QItemDelegate::paint(p, opt, index); + } +} + +OptionsWidget_messageColors::OptionsWidget_messageColors(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("messages"); + + createLayout(); + + int i; + m_pLastItem = 0; + + m_pListView = new MessageListWidget(this); + m_pListViewItemDelegate = new MessageListWidgetItemDelegate(m_pListView); + m_pListView->setItemDelegate(m_pListViewItemDelegate); + m_pListView->setSelectionMode(QAbstractItemView::SingleSelection); + m_pListView->setFont(KVI_OPTION_FONT(KviOption_fontIrcView)); + m_pListView->viewport()->setAutoFillBackground(false); + + addWidgetToLayout(m_pListView,0,0,2,0); + + KviTalVBox * box = new KviTalVBox(this); + addWidgetToLayout(box,3,0,3,0); + + new QLabel(__tr2qs_ctx("Background:","options"),box); + + m_pBackListWidget = new KviTalListWidget(box); + m_pBackListWidget->setMaximumWidth(150); + m_pBackListWidgetDelegate = new MessageColorListWidgetItemDelegate(m_pBackListWidget); + m_pBackListWidget->setItemDelegate(m_pBackListWidgetDelegate); + + m_pBackItems[16] = new MessageColorListWidgetItem(m_pBackListWidget,KviMircCntrl::Transparent); + for(i=0;i<16;i++) + { + m_pBackItems[i] = new MessageColorListWidgetItem(m_pBackListWidget,i); + } + + new QLabel(__tr2qs_ctx("Foreground:","options"),box); + + m_pForeListWidget = new KviTalListWidget(box); + m_pForeListWidget->setMaximumWidth(150); + m_pForeListWidgetDelegate = new MessageColorListWidgetItemDelegate(m_pForeListWidget); + m_pForeListWidget->setItemDelegate(m_pForeListWidgetDelegate); + + for(i=0;i<16;i++) + { + m_pForeItems[i] = new MessageColorListWidgetItem(m_pForeListWidget,i); + } + + new QLabel(__tr2qs_ctx("Alert level:","options"),box); + + m_pLevelListWidget = new KviTalListWidget(box); + m_pLevelListWidget->setMaximumWidth(150); + + for(i=0;i<6;i++) + { + QString tmpn; + tmpn.setNum(i); + new KviTalListWidgetText(m_pLevelListWidget,tmpn); + } + + m_pIconButton = new QToolButton(box); + connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(iconButtonClicked())); + + m_pIconPopup = new KviTalPopupMenu(this); + KviIconWidget * iw = new KviIconWidget(m_pIconPopup); + connect(iw,SIGNAL(selected(int)),this,SLOT(newIconSelected(int))); + m_pIconPopup->insertItem(iw); + + + m_pEnableLogging = new QCheckBox(__tr2qs_ctx("Log this","options"),box); + + KviTalHBox * h = new KviTalHBox(this); + addWidgetToLayout(h,0,1,3,1); + QPushButton * b = new QPushButton(__tr2qs_ctx("Load From...","options"),h); + connect(b,SIGNAL(clicked()),this,SLOT(load())); + b = new QPushButton(__tr2qs_ctx("Save As...","options"),h); + connect(b,SIGNAL(clicked()),this,SLOT(save())); + + + for(i=0;isetRowStretch(0,1); + layout()->setColumnStretch(0,1); + + connect(m_pListView,SIGNAL(itemSelectionChanged ()),this,SLOT(itemChanged())); + connect(m_pForeListWidget,SIGNAL(itemSelectionChanged ()),this,SLOT(colorChanged())); + connect(m_pBackListWidget,SIGNAL(itemSelectionChanged ()),this,SLOT(colorChanged())); + + itemChanged(); +} + +OptionsWidget_messageColors::~OptionsWidget_messageColors() +{ + int i; + for(i=15;i>=0;i--) + { + delete m_pForeItems[i]; + } + for(i=16;i>=0;i--) + { + delete m_pBackItems[i]; + } + delete m_pListView; + delete m_pForeListWidget; + delete m_pBackListWidget; + + delete m_pLevelListWidget; + delete m_pEnableLogging; + delete m_pIconButton; + delete m_pIconPopup; +} + +void OptionsWidget_messageColors::newIconSelected(int iconId) +{ + if(!m_pLastItem)return; + if(iconId >= KVI_NUM_SMALL_ICONS)return; + m_pLastItem->msgType()->setPixId(iconId); + m_pIconButton->setIcon(*(g_pIconManager->getSmallIcon(iconId))); + m_pListView->repaint(m_pListView->visualItemRect(m_pLastItem)); +} + +void OptionsWidget_messageColors::saveLastItem() +{ + if(!m_pLastItem)return; + + int curIt = m_pForeListWidget->currentRow(); + if(curIt >= 0) //quite useless + { + //qDebug("Setting fore %d",curIt); + MessageColorListWidgetItem * fore = (MessageColorListWidgetItem *)m_pForeListWidget->item(curIt); + //qDebug("And is %d",fore); + if(fore)m_pLastItem->msgType()->setFore(fore->m_iClrIdx); + } + curIt = m_pBackListWidget->currentRow(); + if(curIt >= 0) //quite useless + { + MessageColorListWidgetItem * back = (MessageColorListWidgetItem *)m_pBackListWidget->item(curIt); + if(back)m_pLastItem->msgType()->setBack(back->m_iClrIdx); + } + m_pLastItem->msgType()->enableLogging(m_pEnableLogging->isChecked()); + //qDebug("Updating","options"); + curIt = m_pLevelListWidget->currentRow(); + if(curIt < 0 || curIt > 5)curIt = 1; + m_pLastItem->msgType()->setLevel(curIt); + m_pListView->repaint(m_pListView->visualItemRect(m_pLastItem)); +} + +void OptionsWidget_messageColors::itemChanged() +{ + KviTalListWidgetItem * it = (KviTalListWidgetItem*)m_pListView->currentItem(); + //qDebug("Item changed","options"); + if(m_pLastItem)saveLastItem(); + + m_pLastItem = 0; // do NOT save in this routine + + m_pForeListWidget->setEnabled(it); + m_pBackListWidget->setEnabled(it); + m_pEnableLogging->setEnabled(it); + m_pIconButton->setEnabled(it); + m_pLevelListWidget->setEnabled(it); + + if(it) + { + int back = ((MessageListWidgetItem *)it)->msgType()->back(); + int fore = ((MessageListWidgetItem *)it)->msgType()->fore(); + if(fore >= 0 && fore <= 15) + { + m_pForeListWidget->setCurrentItem(m_pForeItems[fore]); + } + if(back >= 0 && back <= 15) + { + m_pBackListWidget->setCurrentItem(m_pBackItems[back]); + } else { + m_pBackListWidget->setCurrentItem(m_pBackItems[16]); + } + m_pLevelListWidget->setCurrentRow(((MessageListWidgetItem *)it)->msgType()->level()); + m_pEnableLogging->setChecked(((MessageListWidgetItem *)it)->msgType()->logEnabled()); + m_pIconButton->setIcon(*(g_pIconManager->getSmallIcon(((MessageListWidgetItem *)it)->msgType()->pixId()))); + } + + // Ok...can save from now on + m_pLastItem = (MessageListWidgetItem *)it; +} + +void OptionsWidget_messageColors::colorChanged() +{ + if(m_pLastItem)saveLastItem(); +} + +void OptionsWidget_messageColors::iconButtonClicked() +{ + m_pIconPopup->popup(QCursor::pos()); +} + +void OptionsWidget_messageColors::commit() +{ + saveLastItem(); + + mergeResetFlag(KviOption_resetUpdateGui); + + int count = m_pListView->count(); + for(int i=0; iitem(i); + KVI_OPTION_MSGTYPE(it->optionId()) = *(it->msgType()); + } + + KviOptionsWidget::commit(); +} + +void OptionsWidget_messageColors::save() +{ + QString szName; + QString szInit; + g_pApp->getLocalKvircDirectory(szInit,KviApplication::MsgColors); + + if(KviFileDialog::askForSaveFileName(szName,__tr2qs_ctx("Choose a Filename - KVIrc","options"),szInit)) + { + if(m_pLastItem)saveLastItem(); + + KviConfigurationFile cfg(szName,KviConfigurationFile::Write); + + cfg.setGroup("Messages"); + + KviCString tmp; + + + int count = m_pListView->count(); + for(int i=0; iitem(i); + + tmp.sprintf("Fore%d",it->optionId()); + cfg.writeEntry(tmp.ptr(),it->msgType()->fore()); + tmp.sprintf("Back%d",it->optionId()); + cfg.writeEntry(tmp.ptr(),it->msgType()->back()); + tmp.sprintf("Icon%d",it->optionId()); + cfg.writeEntry(tmp.ptr(),it->msgType()->pixId()); + tmp.sprintf("Log%d",it->optionId()); + cfg.writeEntry(tmp.ptr(),it->msgType()->logEnabled()); + tmp.sprintf("Level%d",it->optionId()); + cfg.writeEntry(tmp.ptr(),it->msgType()->level()); + } + + } +} + +//#include + +void OptionsWidget_messageColors::load() +{ + + QString szName; + QString szInit; + g_pApp->getLocalKvircDirectory(szInit,KviApplication::MsgColors); + +#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW) + // symlink local to global + QString szGlobal; + g_pApp->getGlobalKvircDirectory(szGlobal,KviApplication::MsgColors); + QString szLocal; + g_pApp->getLocalKvircDirectory(szLocal,KviApplication::MsgColors,"presets"); + //qDebug("SYMLINKING %s to %s",szGlobal.ptr(),szLocal.ptr()); + //qDebug("SYMLINK RETURNS %d (%d)",::symlink(szGlobal.ptr(),szLocal.ptr())); + //qDebug("ERRNO (%d)",errno); + int dummy; // make gcc happy + dummy = symlink(szGlobal.toLocal8Bit().data(),szLocal.toLocal8Bit().data()); + // FIXME: Do it also on windows... +#endif + + if(KviFileDialog::askForOpenFileName(szName,__tr2qs_ctx("Choose a Filename - KVIrc ","options"),szInit)) + { + itemChanged(); + + KviConfigurationFile cfg(szName,KviConfigurationFile::Read); + + cfg.setGroup("Messages"); + + //KviCString tmp; + QString tmp; + + int count = m_pListView->count(); + for(int i=0; iitem(i); + + tmp.sprintf("Fore%d",it->optionId()); + int fore = cfg.readIntEntry(tmp,it->msgType()->fore()); + if(fore < 0 || fore > 15)fore = 0; + it->msgType()->setFore(fore); + + tmp.sprintf("Back%d",it->optionId()); + int back = cfg.readIntEntry(tmp,it->msgType()->back()); + if(back < 0 || back > 15)back = KviMircCntrl::Transparent; + it->msgType()->setBack(back); + + tmp.sprintf("Icon%d",it->optionId()); + int ico = cfg.readIntEntry(tmp,it->msgType()->pixId()); + if(ico < 0 || ico >= KVI_NUM_SMALL_ICONS)ico = 0; + it->msgType()->setPixId(ico); + + tmp.sprintf("Log%d",it->optionId()); + bool bLog = cfg.readBoolEntry(tmp,it->msgType()->logEnabled()); + it->msgType()->enableLogging(bLog); + + tmp.sprintf("Level%d",it->optionId()); + int iLevel = cfg.readIntEntry(tmp,it->msgType()->level()); + it->msgType()->setLevel(iLevel); + + m_pListView->repaint(m_pListView->visualItemRect(it)); + } + } +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_message.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_message.h b/src/modules/options/OptionsWidget_message.h new file mode 100644 index 000000000..d62541901 --- /dev/null +++ b/src/modules/options/OptionsWidget_message.h @@ -0,0 +1,205 @@ +#ifndef _OPTW_MESSAGES_H_ +#define _OPTW_MESSAGES_H_ +//============================================================================= +// +// File : OptionsWidget_message.h +// Creation date : Sat Aug 11 2001 18:11:21 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include "KviMessageTypeSettings.h" +#include "KviTalPopupMenu.h" + +#include +#include +#include +#include +#include +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviMessageOptionsWidget KVI_SMALLICON_MESSAGES +#define KVI_OPTIONS_WIDGET_NAME_KviMessageOptionsWidget __tr2qs_no_lookup("Text") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget __tr2qs_no_lookup("theme,colors,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget true + +class OptionsWidget_message : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_message(QWidget * pParent); + ~OptionsWidget_message(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviPrivmsgOptionsWidget KVI_SMALLICON_RAW +#define KVI_OPTIONS_WIDGET_NAME_KviPrivmsgOptionsWidget __tr2qs_no_lookup("Message Style") +#define KVI_OPTIONS_WIDGET_PARENT_KviPrivmsgOptionsWidget OptionsWidget_message +#define KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget 40 +#define KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget __tr2qs_no_lookup("theme,privmsg,output,format") + +class OptionsWidget_privmsg : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_privmsg(QWidget * parent); + ~OptionsWidget_privmsg(); +public: + KviBoolSelector * m_pUseSmartColorSelector; + KviBoolSelector * m_pSpecialSmartColorSelector; + KviMircTextColorSelector * m_pSmartColorSelector; +protected slots: + void enableDisableSmartColorSelector(bool); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviTimestampOptionsWidget KVI_SMALLICON_TIME +#define KVI_OPTIONS_WIDGET_NAME_KviTimestampOptionsWidget __tr2qs_no_lookup("Timestamp") +#define KVI_OPTIONS_WIDGET_PARENT_KviTimestampOptionsWidget OptionsWidget_message +#define KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget 20 +#define KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget __tr2qs_no_lookup("time,timestamp") + +class OptionsWidget_timestamp : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_timestamp(QWidget * parent); + ~OptionsWidget_timestamp(); +public: + KviBoolSelector * m_pUseTimestampSelector; + KviBoolSelector * m_pSpecialTimestampColorSelector; + KviMircTextColorSelector * m_pTimestampColorSelector; +protected slots: + void enableDisableTimestampSelector(bool); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviMessageColorsOptionsWidget KVI_SMALLICON_MESSAGES +#define KVI_OPTIONS_WIDGET_NAME_KviMessageColorsOptionsWidget __tr2qs_no_lookup("Message Colors") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget __tr2qs_no_lookup("theme,colors,messages,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviMessageColorsOptionsWidget OptionsWidget_message +#define KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget 30 + +class MessageListWidget : public KviTalListWidget +{ + Q_OBJECT +public: + MessageListWidget(QWidget * par): KviTalListWidget(par) {}; + ~MessageListWidget() {}; +}; + +class MessageListWidgetItemDelegate : public QItemDelegate +{ + Q_OBJECT +public: + MessageListWidgetItemDelegate(QAbstractItemView * pWidget=0) + : QItemDelegate(pWidget) {}; + ~MessageListWidgetItemDelegate(){}; + void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const; +}; + +class MessageListWidgetItem : public KviTalListWidgetItem +{ +public: + MessageListWidgetItem(MessageListWidget* l,int optId); + ~MessageListWidgetItem(); +private: + int m_iOptId; + KviMessageTypeSettings * m_pMsgType; +public: + inline int optionId(){ return m_iOptId; }; + inline KviMessageTypeSettings * msgType(){ return m_pMsgType; }; +}; + + +class MessageColorListWidgetItem : public KviTalListWidgetText +{ +public: + MessageColorListWidgetItem(KviTalListWidget * b, int idx); + ~MessageColorListWidgetItem(); +public: + int m_iClrIdx; +public: + inline int clrIdx() { return m_iClrIdx; }; +}; + +class MessageColorListWidgetItemDelegate : public QItemDelegate +{ + Q_OBJECT +public: + MessageColorListWidgetItemDelegate(QAbstractItemView * pWidget=0) + : QItemDelegate(pWidget) {}; + ~MessageColorListWidgetItemDelegate(){}; + void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const; +}; + +class OptionsWidget_messageColors : public KviOptionsWidget +{ + Q_OBJECT + friend class KviTalListWidget; +public: + OptionsWidget_messageColors(QWidget * parent); + ~OptionsWidget_messageColors(); +public: + MessageListWidget * m_pListView; + MessageListWidgetItemDelegate * m_pListViewItemDelegate; + KviTalListWidget * m_pForeListWidget; + MessageColorListWidgetItemDelegate * m_pForeListWidgetDelegate; + KviTalListWidget * m_pBackListWidget; + MessageColorListWidgetItemDelegate * m_pBackListWidgetDelegate; + KviTalListWidget * m_pLevelListWidget; + MessageColorListWidgetItem * m_pForeItems[16]; + MessageColorListWidgetItem * m_pBackItems[17]; + MessageListWidgetItem * m_pLastItem; + QCheckBox * m_pEnableLogging; + QToolButton * m_pIconButton; + KviTalPopupMenu * m_pIconPopup; +public: + void saveLastItem(); +protected slots: + void itemChanged(); + void colorChanged(); + void iconButtonClicked(); + void newIconSelected(int iconId); + virtual void commit(); + virtual void save(); + virtual void load(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviStandardColorsOptionsWidget KVI_SMALLICON_COLORS +#define KVI_OPTIONS_WIDGET_NAME_KviStandardColorsOptionsWidget __tr2qs_no_lookup("Color Set") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget __tr2qs_no_lookup("theme,colors,messages,output") +#define KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget 20 +#define KVI_OPTIONS_WIDGET_PARENT_KviStandardColorsOptionsWidget OptionsWidget_message + +class OptionsWidget_standardColors : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_standardColors(QWidget * par); + ~OptionsWidget_standardColors(); + +}; + + +#endif //!_OPTW_MESSAGES_H_ diff --git a/src/modules/options/OptionsWidget_nickserv.cpp b/src/modules/options/OptionsWidget_nickserv.cpp new file mode 100644 index 000000000..d6da68662 --- /dev/null +++ b/src/modules/options/OptionsWidget_nickserv.cpp @@ -0,0 +1,371 @@ +//============================================================================= +// +// File : OptionsWidget_nickserv.cpp +// Creation date : Fri Aug 10 2001 03:38:10 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_nickserv.h" + +#include "KviQString.h" +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviNickServRuleSet.h" +#include "KviIrcMask.h" +#include "KviTalToolTip.h" +#include + +#include +#include +#include +#include + + +// KviApplication.cpp +extern KVIRC_API KviNickServRuleSet * g_pNickServRuleSet; + + +NickServRuleEditor::NickServRuleEditor(QWidget * par,bool bUseServerMaskField) +: QDialog(par) +{ + setWindowTitle(__tr2qs_ctx("NickServ Authentication Rule","options")); + + QString html_center_begin = "
"; + QString html_center_end = "
"; + + QGridLayout * gl = new QGridLayout(this);//,bUseServerMaskField ? 7 : 6,4,10,5); + + QLabel * l = new QLabel(__tr2qs_ctx("Registered NickName","options"),this); + gl->addWidget(l,0,0); + + m_pRegisteredNickEdit = new QLineEdit(this); + KviTalToolTip::add(m_pRegisteredNickEdit,html_center_begin + __tr2qs_ctx("Put here the nickname that you have registered with NickServ","options") + html_center_end); + gl->addWidget(m_pRegisteredNickEdit,0,1,1,3); +// gl->addMultiCellWidget(m_pRegisteredNickEdit,0,0,1,3); + + l = new QLabel(__tr2qs_ctx("NickServ Mask","options"),this); + gl->addWidget(l,1,0); + + m_pNickServMaskEdit = new QLineEdit(this); + KviTalToolTip::add(m_pNickServMaskEdit, + html_center_begin + __tr2qs_ctx("This is the mask that NickServ must match to be correctly identified as the NickServ service. " \ + "This usually will be something like NickServ!service@services.dalnet.
" \ + "You can use wildcards for this field, but generally it is a security flaw. " \ + "If you're 100%% sure that NO user on the network can use the nickname \"NickServ\", " \ + "the mask NickServ!*@* may be safe to use in this field.","options") + html_center_end); + gl->addWidget(m_pNickServMaskEdit,1,1,1,3); +// gl->addMultiCellWidget(m_pNickServMaskEdit,1,1,1,3); + + l = new QLabel(__tr2qs_ctx("Message Regexp","options"),this); + gl->addWidget(l,2,0); + + m_pMessageRegexpEdit = new QLineEdit(this); + gl->addWidget(m_pMessageRegexpEdit,2,2,1,3); +// gl->addMultiCellWidget(m_pMessageRegexpEdit,2,2,1,3); + + KviTalToolTip::add(m_pMessageRegexpEdit, + html_center_begin + __tr2qs_ctx("This is the simple regular expression that the identification request message " \ + "from NickServ must match in order to be correctly recognized.
" \ + "The message is usually something like \"To identify yourself please use /ns IDENTIFY password\" " \ + "and it is sent when the NickServ wants you to authenticate yourself. " \ + "You can use the * and ? wildcards.","options") + html_center_end); + l = new QLabel(__tr2qs_ctx("Identify Command","options"),this); + gl->addWidget(l,3,0); + + m_pIdentifyCommandEdit = new QLineEdit(this); + KviTalToolTip::add(m_pIdentifyCommandEdit, + html_center_begin + __tr2qs_ctx("This is the command that will be executed when NickServ requests authentication " \ + "for the nickname described in this rule (if the both server and NickServ mask are matched). " \ + "This usually will be something like msg NickServ identify <yourpassword>.
" \ + "You can use msg -q if you don't want the password echoed on the screen. " \ + "Please note that there is no leading slash in this command.","options") + html_center_end); + gl->addWidget(m_pIdentifyCommandEdit,3,1,1,3); +// gl->addMultiCellWidget(m_pIdentifyCommandEdit,3,3,1,3); + + int iNextLine = 4; + + if(bUseServerMaskField) + { + l = new QLabel(__tr2qs_ctx("Server mask","options"),this); + gl->addWidget(l,4,0); + + m_pServerMaskEdit = new QLineEdit(this); + KviTalToolTip::add(m_pServerMaskEdit, + html_center_begin + __tr2qs_ctx("This is the mask that the current server must match in order " \ + "for this rule to apply. It can contain * and ? wildcards.
Do NOT use simply \"*\" here...","options") + html_center_end); + gl->addWidget(m_pServerMaskEdit,4,1,1,3); +// gl->addMultiCellWidget(m_pServerMaskEdit,4,4,1,3); + iNextLine++; + } else { + m_pServerMaskEdit = 0; + } + + + l = new QLabel(html_center_begin + __tr2qs_ctx("Hint: Move the mouse cursor over the fields to get help","options") + html_center_end,this); + l->setMargin(10); + gl->addWidget(l,iNextLine,0,1,4); +// gl->addMultiCellWidget(l,iNextLine,iNextLine,0,3); + + iNextLine++; + + QPushButton * p = new QPushButton(__tr2qs_ctx("Cancel","options"),this); + p->setMinimumWidth(100); + connect(p,SIGNAL(clicked()),this,SLOT(reject())); + gl->addWidget(p,iNextLine,2); + + m_pOkButton = new QPushButton(__tr2qs_ctx("OK","options"),this); + m_pOkButton->setMinimumWidth(100); + m_pOkButton->setDefault(true); + connect(m_pOkButton,SIGNAL(clicked()),this,SLOT(okPressed())); + gl->addWidget(m_pOkButton,iNextLine,3); + + gl->setColumnStretch(1,1); + gl->setRowStretch(bUseServerMaskField ? 5 : 4,1); + + setMinimumWidth(250); +} + +NickServRuleEditor::~NickServRuleEditor() +{ +} + +bool NickServRuleEditor::validate() +{ + QString s = m_pRegisteredNickEdit->text(); + + QString m = __tr2qs_ctx("Invalid NickServ Rule","options"); + QString o = __tr2qs_ctx("OK","options"); + + if(s.isEmpty()) + { + QMessageBox::warning(this,m,__tr2qs_ctx("The Nickname field can't be empty!","options"),o); + return false; + } + + if(s.indexOf(QChar(' ')) != -1) + { + QMessageBox::warning(this,m,__tr2qs_ctx("The Nickname field can't contain spaces!","options"),o); + return false; + } + + s = m_pNickServMaskEdit->text(); + + if(s.isEmpty()) + { + QMessageBox::warning(this,m,__tr2qs_ctx("The NickServ mask can't be empty!
You must put at least * there.","options"),o); + return false; + } + + s = m_pMessageRegexpEdit->text(); + + if(s.isEmpty()) + { + QMessageBox::warning(this,m,__tr2qs_ctx("The Message Regexp can't be empty!
You must put at least * there.","options"),o); + return false; + } + + s = m_pIdentifyCommandEdit->text(); + + if(s.isEmpty()) + { + QMessageBox::warning(this,m,__tr2qs_ctx("The Identify Command can't be empty!","options"),o); + return false; + } + + return true; +} + +void NickServRuleEditor::okPressed() +{ + if(!validate())return; + accept(); +} + +bool NickServRuleEditor::editRule(KviNickServRule * r) +{ + m_pRegisteredNickEdit->setText(r->registeredNick().isEmpty() ? QString("MyNick") : r->registeredNick()); + m_pNickServMaskEdit->setText(r->nickServMask().isEmpty() ? QString("NickServ!*@*") : r->nickServMask()); + m_pMessageRegexpEdit->setText(r->messageRegexp().isEmpty() ? QString("*IDENTIFY*") : r->messageRegexp()); + m_pIdentifyCommandEdit->setText(r->identifyCommand().isEmpty() ? QString("msg -q NickServ IDENTIFY ") : r->identifyCommand()); + if(m_pServerMaskEdit) + m_pServerMaskEdit->setText(r->serverMask().isEmpty() ? QString("irc.yourserver.org") : r->serverMask()); + m_pRegisteredNickEdit->selectAll(); + if(exec() != QDialog::Accepted)return false; + r->setRegisteredNick(m_pRegisteredNickEdit->text()); + r->setNickServMask(m_pNickServMaskEdit->text()); + r->setMessageRegexp(m_pMessageRegexpEdit->text()); + r->setIdentifyCommand(m_pIdentifyCommandEdit->text()); + if(m_pServerMaskEdit) + r->setServerMask(m_pServerMaskEdit->text()); + return true; +} + + +OptionsWidget_nickServ::OptionsWidget_nickServ(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + setObjectName("nickserv_options_widget"); + + QGridLayout * gl = layout(); + + KviNickServRuleSet * rs = g_pNickServRuleSet; + bool bNickServEnabled = rs ? (rs->isEnabled() && !rs->isEmpty()) : false; + + m_pNickServCheck = new QCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),this); + gl->addWidget(m_pNickServCheck,0,0,1,3); +// gl->addMultiCellWidget(m_pNickServCheck,0,0,0,2); + KviTalToolTip::add(m_pNickServCheck,__tr2qs_ctx("This check enables the automatic identification with NickServ","options")); + m_pNickServCheck->setChecked(bNickServEnabled); + + m_pNickServTreeWidget = new QTreeWidget(this); + m_pNickServTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); + m_pNickServTreeWidget->setAllColumnsShowFocus(true); + QStringList columnLabels; + + columnLabels.append(__tr2qs_ctx("Nickname","options")); + columnLabels.append(__tr2qs_ctx("Server mask","options")); + columnLabels.append(__tr2qs_ctx("NickServ Mask","options")); + columnLabels.append(__tr2qs_ctx("NickServ Request Mask","options")); + columnLabels.append(__tr2qs_ctx("Identify Command","options")); + m_pNickServTreeWidget->setHeaderLabels(columnLabels); + connect(m_pNickServTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(enableDisableNickServControls())); + + gl->addWidget(m_pNickServTreeWidget,1,0,1,3); +// gl->addMultiCellWidget(m_pNickServTreeWidget,1,1,0,2); + KviTalToolTip::add(m_pNickServTreeWidget,\ + __tr2qs_ctx("
This is a list of NickServ identification rules. " \ + "KVIrc will use them to model its automatic interaction with NickServ on all the networks.
" \ + "Please be aware that this feature can cause your NickServ passwords to be stolen " \ + "if used improperly. Make sure that you fully understand the NickServ authentication protocol.
" \ + "In other words, be sure to know what you're doing.
" \ + "Also note that the password that you provide is stored as PLAIN TEXT.
" \ + "KVIrc supports also per-network NickServ authentication rules that can be " \ + "created in the \"Advanced...\" network options (accessible from the servers dialog)." + "
","options")); + + m_pAddRuleButton = new QPushButton(__tr2qs_ctx("Add Rule","options"),this); + connect(m_pAddRuleButton,SIGNAL(clicked()),this,SLOT(addNickServRule())); + gl->addWidget(m_pAddRuleButton,2,0); + + m_pEditRuleButton = new QPushButton(__tr2qs_ctx("Edit Rule","options"),this); + connect(m_pEditRuleButton,SIGNAL(clicked()),this,SLOT(editNickServRule())); + gl->addWidget(m_pEditRuleButton,2,1); + + m_pDelRuleButton = new QPushButton(__tr2qs_ctx("Delete Rule","options"),this); + connect(m_pDelRuleButton,SIGNAL(clicked()),this,SLOT(delNickServRule())); + gl->addWidget(m_pDelRuleButton,2,2); + + connect(m_pNickServCheck,SIGNAL(toggled(bool)),this,SLOT(enableDisableNickServControls())); + + if(rs && rs->rules()) + { + QTreeWidgetItem *it; + KviPointerList * ll = rs->rules(); + for(KviNickServRule * rule = ll->first();rule;rule = ll->next()) + { + it = new QTreeWidgetItem(m_pNickServTreeWidget); + it->setText(0,rule->registeredNick()); + it->setText(1,rule->serverMask()); + it->setText(2,rule->nickServMask()); + it->setText(3,rule->messageRegexp()); + it->setText(4,rule->identifyCommand()); + } + } + + enableDisableNickServControls(); + + gl->setRowStretch(1,1); +} + +OptionsWidget_nickServ::~OptionsWidget_nickServ() +{ +} + +void OptionsWidget_nickServ::editNickServRule() +{ + QTreeWidgetItem * it = (QTreeWidgetItem *)m_pNickServTreeWidget->currentItem(); + if(!it)return; + KviNickServRule r(it->text(0),it->text(2),it->text(3),it->text(4),it->text(1)); + NickServRuleEditor ed(this,true); + if(ed.editRule(&r)) + { + it->setText(0,r.registeredNick()); + it->setText(1,r.serverMask()); + it->setText(2,r.nickServMask()); + it->setText(3,r.messageRegexp()); + it->setText(4,r.identifyCommand()); + } +} + +void OptionsWidget_nickServ::addNickServRule() +{ + KviNickServRule r; + NickServRuleEditor ed(this,true); + if(ed.editRule(&r)) + { + QTreeWidgetItem* it = new QTreeWidgetItem(m_pNickServTreeWidget); + it->setText(0,r.registeredNick()); + it->setText(1,r.serverMask()); + it->setText(2,r.nickServMask()); + it->setText(3,r.messageRegexp()); + it->setText(4,r.identifyCommand()); + } +} + +void OptionsWidget_nickServ::delNickServRule() +{ + QTreeWidgetItem * it = (QTreeWidgetItem *)m_pNickServTreeWidget->currentItem(); + if(!it)return; + delete it; + enableDisableNickServControls(); +} + +void OptionsWidget_nickServ::enableDisableNickServControls() +{ + bool bEnabled = m_pNickServCheck->isChecked(); + m_pNickServTreeWidget->setEnabled(bEnabled); + m_pAddRuleButton->setEnabled(bEnabled); + bEnabled = bEnabled && (m_pNickServTreeWidget->topLevelItemCount()) && m_pNickServTreeWidget->currentItem(); + m_pDelRuleButton->setEnabled(bEnabled); + m_pEditRuleButton->setEnabled(bEnabled); +} + +void OptionsWidget_nickServ::commit() +{ + g_pNickServRuleSet->clear(); + if(m_pNickServTreeWidget->topLevelItemCount()) + { + g_pNickServRuleSet->setEnabled(m_pNickServCheck->isChecked()); + QTreeWidgetItem * it;// = m_pNickServTreeWidget->firstChild(); + for (int i=0;itopLevelItemCount();i++) +// while(it) + { + it=(QTreeWidgetItem *)m_pNickServTreeWidget->topLevelItem(i); + g_pNickServRuleSet->addRule(KviNickServRule::createInstance(it->text(0),it->text(2),it->text(3),it->text(4),it->text(1))); + //it = it->nextSibling(); + } + } + KviOptionsWidget::commit(); +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_nickserv.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_nickserv.h b/src/modules/options/OptionsWidget_nickserv.h new file mode 100644 index 000000000..74060f091 --- /dev/null +++ b/src/modules/options/OptionsWidget_nickserv.h @@ -0,0 +1,89 @@ +#ifndef _OPTW_NICKSERV_H_ +#define _OPTW_NICKSERV_H_ + +//============================================================================= +// +// File : OptionsWidget_nickserv.h +// Creation date : Fri Aug 10 2001 03:37:21 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + + +#include "kvi_settings.h" +#include "KviOptionsWidget.h" + +#include +#include + +class QLineEdit; +class QPushButton; +class KviNickServRule; +class QTreeWidget; + +#define KVI_OPTIONS_WIDGET_ICON_KviNickServOptionsWidget KVI_SMALLICON_NICKSERV +#define KVI_OPTIONS_WIDGET_NAME_KviNickServOptionsWidget __tr2qs_no_lookup("NickServ") +#define KVI_OPTIONS_WIDGET_PARENT_KviNickServOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNickServOptionsWidget __tr2qs_no_lookup("authentication,identify") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviNickServOptionsWidget 10000 +//#define KVI_OPTIONS_WIDGET_HIDDEN_KviNickServOptionsWidget true + +class NickServRuleEditor : public QDialog +{ + Q_OBJECT +public: + NickServRuleEditor(QWidget * par,bool bUseServerMaskField = false); + ~NickServRuleEditor(); +protected: + QLineEdit * m_pRegisteredNickEdit; + QLineEdit * m_pNickServMaskEdit; + QLineEdit * m_pMessageRegexpEdit; + QLineEdit * m_pIdentifyCommandEdit; + QLineEdit * m_pServerMaskEdit; + QPushButton * m_pOkButton; +public: + bool editRule(KviNickServRule * r); +protected: + bool validate(); +protected slots: + void okPressed(); +}; + +class OptionsWidget_nickServ : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_nickServ(QWidget * parent); + ~OptionsWidget_nickServ(); +protected: + QTreeWidget * m_pNickServTreeWidget; + QCheckBox * m_pNickServCheck; + QPushButton * m_pAddRuleButton; + QPushButton * m_pDelRuleButton; + QPushButton * m_pEditRuleButton; +protected slots: + void enableDisableNickServControls(); + void addNickServRule(); + void delNickServRule(); + void editNickServRule(); +public: + virtual void commit(); +}; + +#endif //_OPTW_NICKSERV_H_ diff --git a/src/modules/options/OptionsWidget_notifier.cpp b/src/modules/options/OptionsWidget_notifier.cpp new file mode 100644 index 000000000..d4901aae7 --- /dev/null +++ b/src/modules/options/OptionsWidget_notifier.cpp @@ -0,0 +1,262 @@ +//============================================================================= +// +// File : OptionsWidget_notifier.cpp +// Creation date : Thu Jul 09 2009 10:54:39 CEST by Fabio Bas +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_notifier.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_notifierLook::OptionsWidget_notifierLook(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("notifierlook_options_widget"); + createLayout(); + + addFontSelector(0,0,1,0,__tr2qs_ctx("Font","options"),KviOption_fontNotifier); + addColorSelector(0,1,1,1,__tr2qs_ctx("Background color","options"),KviOption_colorNotifierBackground); + addColorSelector(0,2,1,2,__tr2qs_ctx("Foreground color","options"),KviOption_colorNotifierForeground); + addFontSelector(0,3,1,3,__tr2qs_ctx("Title Font","options"),KviOption_fontNotifierTitle); + addColorSelector(0,4,1,4,__tr2qs_ctx("Title Foreground color","options"),KviOption_colorNotifierTitleForeground); + + addPixmapSelector(0,5,1,5,__tr2qs_ctx("Background image","options"),KviOption_pixmapNotifierBackground); + + addLabel(0,6,0,6,__tr2qs_ctx("Horizontal align:","options")); + m_pHorizontalAlign=new QComboBox(this); + addWidgetToLayout(m_pHorizontalAlign,1,6,1,6); + + addLabel(0,7,0,7,__tr2qs_ctx("Vertical align:","options")); + m_pVerticalAlign=new QComboBox(this); + addWidgetToLayout(m_pVerticalAlign,1,7,1,7); + + m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); + + m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); + + switch( KVI_OPTION_UINT(KviOption_uintNotifierPixmapAlign) & Qt::AlignHorizontal_Mask) + { + case Qt::AlignLeft: + m_pHorizontalAlign->setCurrentIndex(1); + break; + case Qt::AlignRight: + m_pHorizontalAlign->setCurrentIndex(2); + break; + case Qt::AlignHCenter: + m_pHorizontalAlign->setCurrentIndex(3); + break; + default: + m_pHorizontalAlign->setCurrentIndex(0); + } + + switch( KVI_OPTION_UINT(KviOption_uintNotifierPixmapAlign) & Qt::AlignVertical_Mask) + { + case Qt::AlignTop: + m_pVerticalAlign->setCurrentIndex(1); + break; + case Qt::AlignBottom: + m_pVerticalAlign->setCurrentIndex(2); + break; + case Qt::AlignVCenter: + m_pVerticalAlign->setCurrentIndex(3); + break; + default: + m_pVerticalAlign->setCurrentIndex(0); + } + + layout()->setRowStretch(5,1); +} + +OptionsWidget_notifierLook::~OptionsWidget_notifierLook() +{ +} + +void OptionsWidget_notifierLook::commit() +{ + int iFlags=0; + switch(m_pHorizontalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignLeft; + break; + case 2: + iFlags|=Qt::AlignRight; + break; + case 3: + iFlags|=Qt::AlignHCenter; + break; + } + switch(m_pVerticalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignTop; + break; + case 2: + iFlags|=Qt::AlignBottom; + break; + case 3: + iFlags|=Qt::AlignVCenter; + break; + } + + KVI_OPTION_UINT(KviOption_uintNotifierPixmapAlign)=iFlags; + KviOptionsWidget::commit(); +} + + + +OptionsWidget_notifier::OptionsWidget_notifier(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("notifier_options_widget"); + + createLayout(); + + int iRow = 0; + + KviBoolSelector * b = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Enable the notifier","options"),KviOption_boolEnableNotifier); + QString szTip = "
"; + szTip += __tr2qs_ctx("This is an option for the impatient: it allows to forcibly and permanently disable " \ + "the notifier window. Please note that if this option is not activated then " \ + "the notifier will NOT popup even if all the other options around specify " \ + "to use it in response to particular events. Also note that this option " \ + "will make all the /notifier.* commands fail silently.","options"); + szTip += "
"; + mergeTip(b,szTip); + + iRow++; + + KviBoolSelector * b2; + KviBoolSelector * b3; + +#ifdef COMPILE_KDE_SUPPORT + b2 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Use the KDE notifier","options"),KviOption_boolUseKDENotifier); + szTip += __tr2qs_ctx("This option uses the KDE notification system " \ + "instead of KVIrc one.
" \ + "This is cool if you want to better integrate KVIrc inside KDE. " \ + "Note that KDE's notifier isn't flexible and \"tabbed\" like KVIrc's","options"); + szTip += "
"; + mergeTip(b2,szTip); + + b2->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); + connect(b,SIGNAL(toggled(bool)),b2,SLOT(setEnabled(bool))); + + iRow++; +#endif // COMPILE_KDE_SUPPORT + +#ifdef COMPILE_DBUS_SUPPORT + b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Use the DBus-based notifiers","options"),KviOption_boolUseDBusNotifier); + szTip = "
"; + szTip += __tr2qs_ctx("This option uses the DBus-based notifier instead of " \ + "KVIrc one.
" \ + "This is cool if you want to better integrate KVIrc inside your " \ + "desktop environment. " \ + "Note that this notifier isn't flexible and \"tabbed\" like KVIrc's","options"); + szTip += "
"; + mergeTip(b3,szTip); + + b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); + connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); + +#ifdef COMPILE_KDE_SUPPORT + b3->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseKDENotifier)); + connect(b2,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); +#endif + + iRow++; +#endif // COMPILE_DBUS_SUPPORT + +#if defined(COMPILE_KDE_SUPPORT) || defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + + b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Don't show notifier when there is an active fullscreen window","options"),KviOption_boolDontShowNotifierIfActiveWindowIsFullScreen); + + szTip = "
"; + szTip += __tr2qs_ctx("This option stops the notifier from being displayed when there is an active fullscreen window. " \ + "This is useful for gaming sessions where you may be distracted by the notifier or it may even switch " \ + "your game from fullscreen to window mode.","options"); + szTip += "
"; + mergeTip(b3,szTip); + + b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); + QObject::connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); + + iRow++; + +#endif //COMPILE_KDE_SUPPORT || COMPILE_ON_WINDOWS || COMPILE_ON_MINGW + + b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Enable notifier window flashing","options"),KviOption_boolNotifierFlashing); + + b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); + QObject::connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); + + iRow++; + + b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Enable notifier window fade effect","options"),KviOption_boolNotifierFading); + + b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); + QObject::connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); + + iRow++; + + KviTalGroupBox * g = addGroupBox(0,iRow,0,iRow,Qt::Horizontal,__tr2qs_ctx("Advanced configuration","options")); + connect(b,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); + + connect(b, + SIGNAL(toggled(bool)), + addUIntSelector(g,__tr2qs_ctx("Default auto hiding time for messages (0 to disable)","options"), + KviOption_uintNotifierAutoHideTime, + 0,86400,30,KVI_OPTION_BOOL(KviOption_boolEnableNotifier)), + SLOT(setEnabled(bool))); + + connect(b3, + SIGNAL(toggled(bool)), + addUIntSelector(g,__tr2qs_ctx("Notifier window opacity while active (mouseover)","options"), + KviOption_uintNotifierActiveTransparency, + 0,100,90,KVI_OPTION_BOOL(KviOption_boolNotifierFading)), + SLOT(setEnabled(bool))); + + connect(b3, + SIGNAL(toggled(bool)), + addUIntSelector(g,__tr2qs_ctx("Notifier window opacity while inactive","options"), + KviOption_uintNotifierInactiveTransparency, + 0,100,40,KVI_OPTION_BOOL(KviOption_boolNotifierFading)), + SLOT(setEnabled(bool))); + + iRow++; + + addRowSpacer(0,iRow,0,iRow); +} + +OptionsWidget_notifier::~OptionsWidget_notifier() +{ +} +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_input.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_notifier.h b/src/modules/options/OptionsWidget_notifier.h new file mode 100644 index 000000000..01ba263e9 --- /dev/null +++ b/src/modules/options/OptionsWidget_notifier.h @@ -0,0 +1,63 @@ +#ifndef _OPTW_NOTIFIER_H_ +#define _OPTW_NOTIFIER_H_ + +//============================================================================= +// +// File : OptionsWidget_notifier.h +// Creation date : Thu Jul 09 2009 10:54:39 CEST by Fabio Bas +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviNotifierLookOptionsWidget KVI_SMALLICON_ALERT +#define KVI_OPTIONS_WIDGET_NAME_KviNotifierLookOptionsWidget __tr2qs_no_lookup("Notifier") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierLookOptionsWidget __tr2qs_no_lookup("theme,colors,text") +#define KVI_OPTIONS_WIDGET_GROUP_KviNotifierLookOptionsWidget "theme" + +class OptionsWidget_notifierLook : public KviOptionsWidget +{ + Q_OBJECT +private: + QComboBox* m_pHorizontalAlign; + QComboBox* m_pVerticalAlign; +public: + OptionsWidget_notifierLook(QWidget * parent); + ~OptionsWidget_notifierLook(); + + virtual void commit(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviNotifierOptionsWidget KVI_SMALLICON_ALERT +#define KVI_OPTIONS_WIDGET_NAME_KviNotifierOptionsWidget __tr2qs_no_lookup("Notifier") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierOptionsWidget __tr2qs_no_lookup("popup") +#define KVI_OPTIONS_WIDGET_PARENT_KviNotifierOptionsWidget OptionsWidget_interfaceFeatures + +class OptionsWidget_notifier : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_notifier(QWidget * parent); + ~OptionsWidget_notifier(); +}; + +#endif //!_OPTW_NOTIFIER_H_ diff --git a/src/modules/options/OptionsWidget_notify.cpp b/src/modules/options/OptionsWidget_notify.cpp new file mode 100644 index 000000000..ce8ad1338 --- /dev/null +++ b/src/modules/options/OptionsWidget_notify.cpp @@ -0,0 +1,107 @@ +//============================================================================= +// +// File : OptionsWidget_notify.cpp +// Creation date : Sun Oct 28 15:11:29 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_notify.h" + +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_notify::OptionsWidget_notify(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("notify_options_widget"); + + createLayout(); + + KviBoolSelector * b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Use online notify list","options"),KviOption_boolUseNotifyList); + KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Configuration","options")); + connect(b,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); + + connect(b, + SIGNAL(toggled(bool)), + addBoolSelector(g,__tr2qs_ctx("Show notifications in active window","options"), + KviOption_boolNotifyListChangesToActiveWindow,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addBoolSelector(g,__tr2qs_ctx("Flash window when users are going online","options"), + KviOption_boolFlashWindowOnNotifyOnLine,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addBoolSelector(g,__tr2qs_ctx("Popup notifier when users are going online","options"), + KviOption_boolPopupNotifierOnNotifyOnLine,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + + g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Advanced configuration","options")); + connect(b,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); + + connect(b, + SIGNAL(toggled(bool)), + addBoolSelector(g,__tr2qs_ctx("Check USERHOST for online users","options"), + KviOption_boolNotifyListSendUserhostForOnlineUsers,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addBoolSelector(g,__tr2qs_ctx("Use \"smart\" notify list manager","options"), + KviOption_boolUseIntelligentNotifyListManager,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addBoolSelector(g,__tr2qs_ctx("Use the WATCH method if available","options"), + KviOption_boolUseWatchListIfAvailable,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addUIntSelector(g,__tr2qs_ctx("Check interval (in seconds)","options"), + KviOption_uintNotifyListCheckTimeInSecs, + 5,3600,180,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addUIntSelector(g,__tr2qs_ctx("ISON delay (in seconds)","options"), + KviOption_uintNotifyListIsOnDelayTimeInSecs, + 5,180,6,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + connect(b, + SIGNAL(toggled(bool)), + addUIntSelector(g,__tr2qs_ctx("USERHOST delay (in seconds)","options"), + KviOption_uintNotifyListUserhostDelayTimeInSecs, + 5,180,6,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), + SLOT(setEnabled(bool))); + + addLabel(0,3,0,3,__tr2qs_ctx("

Note:
The notify list is managed using the \"Registered Users\" settings.

","options")); + addRowSpacer(0,4,0,4); +} + +OptionsWidget_notify::~OptionsWidget_notify() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_notify.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_notify.h b/src/modules/options/OptionsWidget_notify.h new file mode 100644 index 000000000..ecdf50240 --- /dev/null +++ b/src/modules/options/OptionsWidget_notify.h @@ -0,0 +1,43 @@ +#ifndef _OPTW_NOTIFY_H_ +#define _OPTW_NOTIFY_H_ +//============================================================================= +// +// File : OptionsWidget_notify.h +// Creation date : Sun Oct 28 15:11:30 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviNotifyOptionsWidget KVI_SMALLICON_REGUSERS +#define KVI_OPTIONS_WIDGET_NAME_KviNotifyOptionsWidget __tr2qs_no_lookup("Contacts") +#define KVI_OPTIONS_WIDGET_PARENT_KviNotifyOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifyOptionsWidget __tr2qs_no_lookup("notify,buddy,buddies,friends") +#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviNotifyOptionsWidget 2 + +class OptionsWidget_notify : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_notify(QWidget * parent); + ~OptionsWidget_notify(); +}; + +#endif //_OPTW_NOTIFY_H_ diff --git a/src/modules/options/OptionsWidget_protection.cpp b/src/modules/options/OptionsWidget_protection.cpp new file mode 100644 index 000000000..a9cb10527 --- /dev/null +++ b/src/modules/options/OptionsWidget_protection.cpp @@ -0,0 +1,47 @@ +//============================================================================= +// +// File : OptionsWidget_protection.cpp +// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_protection.h" + +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_protection::OptionsWidget_protection(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("protection_options_widget"); + + createLayout(); +} + +OptionsWidget_protection::~OptionsWidget_protection() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_protection.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_protection.h b/src/modules/options/OptionsWidget_protection.h new file mode 100644 index 000000000..afd1df146 --- /dev/null +++ b/src/modules/options/OptionsWidget_protection.h @@ -0,0 +1,47 @@ +#ifndef _OPTW_PROTECTION_H_ +#define _OPTW_PROTECTION_H_ +//============================================================================= +// +// File : OptionsWidget_protection.h +// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "kvi_settings.h" +#include "KviOptionsWidget.h" +#include "KviSelectors.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviProtectionOptionsWidget KVI_SMALLICON_SPY +#define KVI_OPTIONS_WIDGET_NAME_KviProtectionOptionsWidget __tr2qs_no_lookup("Protection") +#define KVI_OPTIONS_WIDGET_PARENT_KviProtectionOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_PRIORITY_KviProtectionOptionsWidget 60000 +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviProtectionOptionsWidget __tr2qs_no_lookup("ctcp,flood") +#define KVI_OPTIONS_WIDGET_CONTAINER_KviProtectionOptionsWidget true +#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProtectionOptionsWidget true + +class OptionsWidget_protection : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_protection(QWidget * parent); + ~OptionsWidget_protection(); +}; + +#endif //!_OPTW_PROTECTION_H_ diff --git a/src/modules/options/OptionsWidget_proxy.cpp b/src/modules/options/OptionsWidget_proxy.cpp new file mode 100644 index 000000000..d05740441 --- /dev/null +++ b/src/modules/options/OptionsWidget_proxy.cpp @@ -0,0 +1,364 @@ +//============================================================================= +// +// File : OptionsWidget_proxy.cpp +// Creation date : Mon Jun 24 2000 22:02:11 by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================= + +#include "OptionsWidget_proxy.h" + +#include "KviLocale.h" +#include "KviIconManager.h" +#include "KviProxy.h" +#include "KviProxyDataBase.h" +#include "KviIpEditor.h" +#include "KviNetUtils.h" +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviTalGroupBox.h" +#include "KviTalPopupMenu.h" +#include "KviTalToolTip.h" + +#include +#include +#include +#include +#include +#include + + +ProxyOptionsTreeWidgetItem::ProxyOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,KviProxy * prx) +: QTreeWidgetItem(parent) +{ + qDebug("Creating item"); + setText(0,prx->m_szHostname); + setIcon(0,QIcon(pm)); + m_pProxyData = new KviProxy(*prx); +} + +ProxyOptionsTreeWidgetItem::~ProxyOptionsTreeWidgetItem() +{ + qDebug("Deleting item"); + delete m_pProxyData; +} + +OptionsWidget_proxy::OptionsWidget_proxy(QWidget * parent) +: KviOptionsWidget(parent,"proxy_options_widget") +{ + createLayout(); + + addBoolSelector(0,0,1,0,__tr2qs_ctx("Use proxy","options"),KviOption_boolUseProxyHost); + + m_pTreeWidget = new QTreeWidget(this); + addWidgetToLayout(m_pTreeWidget,0,1,0,1); + m_pTreeWidget->setHeaderLabel(__tr2qs_ctx("Proxy","options")); + m_pTreeWidget->setRootIsDecorated(true); + m_pTreeWidget->setAllColumnsShowFocus(true); + m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); + + connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)), + this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); + m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu); + connect(m_pTreeWidget,SIGNAL(customContextMenuRequested(const QPoint &)), + this,SLOT(customContextMenuRequested(const QPoint &))); + + QString tiptxt = __tr2qs_ctx("
This is the list of available proxy servers.
" \ + "Right-click on the list to add or remove proxies.
","options"); + mergeTip(m_pTreeWidget,tiptxt); + mergeTip(m_pTreeWidget->viewport(),tiptxt); + + KviTalVBox * vbox = new KviTalVBox(this); + addWidgetToLayout(vbox,1,1,1,1); + + QToolButton * tb = new QToolButton(vbox); + tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)))); + tb->setAutoRaise(true); + connect(tb,SIGNAL(clicked()),this,SLOT(newProxy())); + mergeTip(tb,__tr2qs_ctx("New Proxy","options")); + + tb = new QToolButton(vbox); + tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)))); + //tb->setEnabled(false); + tb->setAutoRaise(true); + connect(tb,SIGNAL(clicked()),this,SLOT(removeCurrent())); + mergeTip(tb,__tr2qs_ctx("Remove Proxy","options")); + + QFrame * lll = new QFrame(vbox); + vbox->setStretchFactor(lll,100); + + + KviTalGroupBox * gbox = addGroupBox(0,2,1,2,Qt::Horizontal,__tr2qs_ctx("Configuration","options"),this); + //QGridLayout * gl = new QGridLayout(gbox->layout()); + //gl->setMargin(2); + //gl->setSpacing(4); + + m_pProxyLabel = new QLabel(__tr2qs_ctx("Proxy:","options"),gbox); + m_pProxyEdit = new QLineEdit(gbox); + m_pPortLabel = new QLabel(__tr2qs_ctx("Port:","options"),gbox); + m_pPortEdit = new QLineEdit(gbox); + m_pIpLabel = new QLabel(__tr2qs_ctx("IP address:","options"),gbox); + m_pIpEditor = new KviIpEditor(gbox,KviIpEditor::IPv4); + m_pUserLabel = new QLabel(__tr2qs_ctx("Username:","options"),gbox); + m_pUserEdit = new QLineEdit(gbox); + m_pPassLabel = new QLabel(__tr2qs_ctx("Password:","options"),gbox); + m_pPassEdit = new QLineEdit(gbox); + m_pProtocolLabel = new QLabel(__tr2qs_ctx("Protocol:","options"),gbox); + m_pProtocolBox = new QComboBox(gbox); + + QStringList l; + KviProxy::getSupportedProtocolNames(l); + + m_pProtocolBox->addItems(l); + + m_pIPv6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),gbox); + connect(m_pIPv6Check,SIGNAL(toggled(bool)),this,SLOT(ipV6CheckToggled(bool))); +#ifndef COMPILE_IPV6_SUPPORT + m_pIPv6Check->setEnabled(false); +#endif + + m_pLastEditedItem = 0; + + fillProxyList(); + + layout()->setRowStretch(0,1); + layout()->setColumnStretch(0,1); + + m_pContextPopup = new KviTalPopupMenu(this); +} + +OptionsWidget_proxy::~OptionsWidget_proxy() +{ +} + +void OptionsWidget_proxy::ipV6CheckToggled(bool bEnabled) +{ + m_pIpEditor->setAddressType(bEnabled ? KviIpEditor::IPv6 : KviIpEditor::IPv4); +} + +void OptionsWidget_proxy::fillProxyList() +{ + ProxyOptionsTreeWidgetItem * prx; + + KviPointerList * l = g_pProxyDataBase->proxyList(); + + for(KviProxy * p = l->first();p;p = l->next()) + { + prx = new ProxyOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),p); + if(p == g_pProxyDataBase->currentProxy()) + { + prx->setSelected(true); + m_pTreeWidget->setCurrentItem(prx); + m_pTreeWidget->scrollToItem(prx); + } + } + if(!(g_pProxyDataBase->currentProxy()))currentItemChanged(0,0); +} + +void OptionsWidget_proxy::currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *) +{ + if(m_pLastEditedItem)saveLastItem(); + m_pLastEditedItem = (ProxyOptionsTreeWidgetItem *)it; + + m_pProxyLabel->setEnabled(m_pLastEditedItem); + m_pProxyEdit->setEnabled(m_pLastEditedItem); + m_pIpLabel->setEnabled(m_pLastEditedItem); + m_pIpEditor->setEnabled(m_pLastEditedItem); + m_pUserLabel->setEnabled(m_pLastEditedItem); + m_pUserEdit->setEnabled(m_pLastEditedItem); + m_pPassLabel->setEnabled(m_pLastEditedItem); + m_pPassEdit->setEnabled(m_pLastEditedItem); + m_pProtocolLabel->setEnabled(m_pLastEditedItem); + m_pProtocolBox->setEnabled(m_pLastEditedItem); + m_pPortLabel->setEnabled(m_pLastEditedItem); + m_pPortEdit->setEnabled(m_pLastEditedItem); + +#ifdef COMPILE_IPV6_SUPPORT + m_pIPv6Check->setEnabled(m_pLastEditedItem); +#else + m_pIPv6Check->setEnabled(false); +#endif + if(m_pLastEditedItem) + { + m_pProxyEdit->setText(m_pLastEditedItem->m_pProxyData->m_szHostname); + + for(int i=0;icount();i++) + { + KviCString txt = m_pProtocolBox->itemText(i); + if(kvi_strEqualCI(m_pLastEditedItem->m_pProxyData->protocolName().toUtf8().data(),txt.ptr())) + { + m_pProtocolBox->setCurrentIndex(i); + break; + } + } + +#ifdef COMPILE_IPV6_SUPPORT + m_pIPv6Check->setChecked(m_pLastEditedItem->m_pProxyData->isIPv6()); + m_pIpEditor->setAddressType(m_pLastEditedItem->m_pProxyData->isIPv6() ? KviIpEditor::IPv6 : KviIpEditor::IPv4); +#else + m_pIPv6Check->setChecked(false); + m_pIpEditor->setAddressType(KviIpEditor::IPv4); +#endif + + if(!m_pIpEditor->setAddress(m_pLastEditedItem->m_pProxyData->m_szIp)) + { +#ifdef COMPILE_IPV6_SUPPORT + m_pIpEditor->setAddress(m_pLastEditedItem->m_pProxyData->isIPv6() ? "0:0:0:0:0:0:0:0" : "0.0.0.0"); +#else + m_pIpEditor->setAddress("0.0.0.0"); +#endif + } + + m_pUserEdit->setText(m_pLastEditedItem->m_pProxyData->m_szUser); + m_pPassEdit->setText(m_pLastEditedItem->m_pProxyData->m_szPass); + KviCString tmp(KviCString::Format,"%u",m_pLastEditedItem->m_pProxyData->m_uPort); + m_pPortEdit->setText(tmp.ptr()); + } else { + m_pProxyEdit->setText(""); + m_pUserEdit->setText(""); + m_pPassEdit->setText(""); + m_pPortEdit->setText(""); + m_pIpEditor->setAddress("0.0.0.0"); + m_pIPv6Check->setEnabled(false); + } +} + +void OptionsWidget_proxy::saveLastItem() +{ + if(m_pLastEditedItem) + { + KviCString tmp = m_pProxyEdit->text(); + if(tmp.isEmpty())tmp = "irc.unknown.net"; + m_pLastEditedItem->setText(0,tmp.ptr()); + m_pLastEditedItem->m_pProxyData->m_szHostname = tmp; +#ifdef COMPILE_IPV6_SUPPORT + m_pLastEditedItem->m_pProxyData->m_bIsIPv6 = m_pIPv6Check->isChecked(); +#else + m_pLastEditedItem->m_pProxyData->m_bIsIPv6 = false; +#endif + m_pLastEditedItem->m_pProxyData->m_szIp = ""; + QString tmpAddr = m_pIpEditor->address(); + + if(!m_pIpEditor->hasEmptyFields()) + { +#ifdef COMPILE_IPV6_SUPPORT + if(m_pIPv6Check->isChecked()) + { + if((!KviQString::equalCI(tmpAddr,"0:0:0:0:0:0:0:0")) && + KviNetUtils::isValidStringIPv6(tmpAddr)) + { + m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; + } + } else { +#endif + if((!KviQString::equalCI(tmpAddr,"0.0.0.0")) && + KviNetUtils::isValidStringIp(tmpAddr)) + { + m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; + } +#ifdef COMPILE_IPV6_SUPPORT + } +#endif + } + + m_pLastEditedItem->m_pProxyData->m_szPass = m_pPassEdit->text(); + m_pLastEditedItem->m_pProxyData->m_szUser = m_pUserEdit->text(); + tmp = m_pPortEdit->text(); + bool bOk; + kvi_u32_t uPort = tmp.toUInt(&bOk); + if(!bOk)uPort = 1080; + m_pLastEditedItem->m_pProxyData->m_uPort = uPort; +// m_pLastEditedItem->m_pProxyData->m_bSocksV5 = m_pSocks5Check->isChecked(); + tmp = m_pProtocolBox->currentText(); + m_pLastEditedItem->m_pProxyData->setNamedProtocol(tmp.ptr()); + } +} + +void OptionsWidget_proxy::commit() +{ + saveLastItem(); + g_pProxyDataBase->clear(); + ProxyOptionsTreeWidgetItem * it;// = (ProxyOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItemCount(); + + //while(it) + for(int i=0;itopLevelItemCount();i++) + { + it=(ProxyOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); + QString tmp = it->text(0); + if(!tmp.isEmpty()) + { + KviProxy * prx = new KviProxy(*(it->m_pProxyData)); + g_pProxyDataBase->insertProxy(prx); + + if(it == m_pLastEditedItem)g_pProxyDataBase->setCurrentProxy(prx); + } + //it = (ProxyOptionsTreeWidgetItem *)it->nextSibling(); + } + + if(g_pProxyDataBase->currentProxy() == 0) + { + g_pProxyDataBase->setCurrentProxy(g_pProxyDataBase->proxyList()->first()); + } + + KviOptionsWidget::commit(); +} + +void OptionsWidget_proxy::customContextMenuRequested(const QPoint &pos) +{ + QTreeWidgetItem *it=(QTreeWidgetItem *)m_pTreeWidget->itemAt(pos); + m_pContextPopup->clear(); + m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),__tr2qs_ctx("&New Proxy","options"),this,SLOT(newProxy())); + m_pContextPopup->setItemEnabled(m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Re&move Proxy","options"),this,SLOT(removeCurrent())),it); + m_pContextPopup->popup(QCursor::pos()); +} + +void OptionsWidget_proxy::newProxy() +{ + KviProxy prx; + ProxyOptionsTreeWidgetItem * it = new ProxyOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),&prx); + it->setSelected(true); + m_pTreeWidget->setCurrentItem(it); + m_pTreeWidget->scrollToItem(it); +} + +void OptionsWidget_proxy::removeCurrent() +{ + if(m_pLastEditedItem) + { + //delete m_pLastEditedItem; + //m_pLastEditedItem = 0; + + QTreeWidgetItem * tmp = m_pLastEditedItem; + m_pLastEditedItem = 0; + delete tmp; + + QTreeWidgetItem * it = (QTreeWidgetItem *)m_pTreeWidget->topLevelItem(0); + if(it) + { + it->setSelected(true); + //m_pTreeWidget->ensureItemVisible(it); + } else { + currentItemChanged(0,0); + } + } +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_proxy.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_proxy.h b/src/modules/options/OptionsWidget_proxy.h new file mode 100644 index 000000000..4df390eef --- /dev/null +++ b/src/modules/options/OptionsWidget_proxy.h @@ -0,0 +1,95 @@ +#ifndef _OPTW_PROXY_H_ +#define _OPTW_PROXY_H_ +//============================================================================= +// +// File : OptionsWidget_proxy.h +// Creation date : Mon Jun 24 2000 21:58:25 by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include + +#include + +class QLabel; +class QLineEdit; +class QComboBox; +class KviIpEditor; +class KviTalPopupMenu; +class KviProxy; +class KviProxyDataBase; + +extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; + +class ProxyOptionsTreeWidgetItem : public QTreeWidgetItem +{ +public: + ProxyOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,KviProxy * prx); + ~ProxyOptionsTreeWidgetItem(); +public: + KviProxy * m_pProxyData; +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviProxyOptionsWidget KVI_SMALLICON_PROXY +#define KVI_OPTIONS_WIDGET_NAME_KviProxyOptionsWidget __tr2qs_no_lookup("Proxy Hosts") +#define KVI_OPTIONS_WIDGET_PARENT_KviProxyOptionsWidget OptionsWidget_connection +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviProxyOptionsWidget __tr2qs_no_lookup("connection,servers") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviProxyOptionsWidget 70000 + +class OptionsWidget_proxy : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_proxy(QWidget * parent); + ~OptionsWidget_proxy(); +protected: + QTreeWidget * m_pTreeWidget; + QLabel * m_pProxyLabel; + QLineEdit * m_pProxyEdit; + QLabel * m_pIpLabel; + KviIpEditor * m_pIpEditor; + QLabel * m_pUserLabel; + QLineEdit * m_pUserEdit; + QLabel * m_pPassLabel; + QLineEdit * m_pPassEdit; + QLabel * m_pPortLabel; + QLineEdit * m_pPortEdit; + QLabel * m_pProtocolLabel; + QComboBox * m_pProtocolBox; + KviTalPopupMenu * m_pContextPopup; + QCheckBox * m_pIPv6Check; + ProxyOptionsTreeWidgetItem * m_pLastEditedItem; +private: + + void fillProxyList(); + void saveLastItem(); +protected slots: + void currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *prev); + void customContextMenuRequested(const QPoint &pnt); + void newProxy(); + void removeCurrent(); + void ipV6CheckToggled(bool bEnabled); +public: + virtual void commit(); +}; + +#endif //!_OPTW_PROXY_H_ diff --git a/src/modules/options/OptionsWidget_query.cpp b/src/modules/options/OptionsWidget_query.cpp new file mode 100644 index 000000000..8f2dfc865 --- /dev/null +++ b/src/modules/options/OptionsWidget_query.cpp @@ -0,0 +1,116 @@ +//============================================================================= +// +// File : OptionsWidget_query.cpp +// Creation date : Mon Oct 29 15:37:16 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + + +#include "OptionsWidget_query.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "kvi_settings.h" + +#include + + +OptionsWidget_query::OptionsWidget_query(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("query_options_widget"); + + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,1,0,Qt::Horizontal,__tr2qs_ctx("Open Query For","options")); + KviBoolSelector * b = addBoolSelector(g, __tr2qs_ctx("Private messages","options"),KviOption_boolCreateQueryOnPrivmsg); + mergeTip(b, + __tr2qs_ctx("
This option enables query window creation " \ + "when a private message (PRIVMSG) is received.
" \ + "If you disable this, private messages will " \ + "be shown in the active window or a common channel.
","options")); + + b = addBoolSelector(g, __tr2qs_ctx("Private notices","options"),KviOption_boolCreateQueryOnNotice); + mergeTip(b, + __tr2qs_ctx("
This option enables query window creation " \ + "when a private notice (NOTICE) is received.
" \ + "If you disable this, private notices will " \ + "be shown in the active window or a common channel.
","options")); + + + b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Always open queries as minimized","options"),KviOption_boolCreateMinimizedQuery); + + mergeTip(b, + __tr2qs_ctx("
This option causes newly created " \ + "query windows to be immediately minimized.
" \ + "Enable this if you don't like queries " \ + "popping up while you're typing something in a channel. :D
","options")); + + + b = addBoolSelector(0,2,1,2, __tr2qs_ctx("Enable target user tracking","options"),KviOption_boolEnableQueryTracing); + mergeTip(b, + __tr2qs_ctx("
This option will enable target user tracking.
" \ + "Some actions of the target user (e.g. joins and parts) " \ + "will be displayed in the window.
","options")); + +#if (defined(COMPILE_ON_WINDOWS) || defined(COMPILE_KDE_SUPPORT) || defined(COMPILE_ON_MINGW)) + b = addBoolSelector(0,3,1,3,__tr2qs_ctx("Flash system taskbar on new query message","options"),KviOption_boolFlashQueryWindowOnNewMessages); + mergeTip(b, + __tr2qs_ctx("
This option causes the system taskbar entry for KVIrc to flash when a new query message " \ + "is received and the KVIrc window is not the active.
","options")); +#endif + + b = addBoolSelector(0,4,1,4, __tr2qs_ctx("Popup notifier on new query message","options"),KviOption_boolPopupNotifierOnNewQueryMessages); + mergeTip(b, + __tr2qs_ctx("
This option causes a small notifier window to pop up " \ + "in the low right corner of the screen when a new message is received " \ + "and the KVIrc window is not active.
","options")); + b = addBoolSelector(0,5,1,5, __tr2qs_ctx("Show information about query target at the top of the query","options"),KviOption_boolShowExtendedInfoInQueryLabel); + mergeTip(b, + __tr2qs_ctx("
This option enables query window information " \ + "label. It can show you known information about query target at the top of the window.
" \ + "Uncheck if you think,that it wastes your query space/" \ + "
","options")); + + b = addBoolSelector(0,6,1,6,__tr2qs_ctx("Paste last query log","options"),KviOption_boolPasteLastLogOnQueryJoin); + + KviTalHBox * box = new KviTalHBox(this); + addWidgetToLayout(box,0,7,1,7); + + KviUIntSelector * u = addUIntSelector(box,__tr2qs_ctx("Paste up to:","options"),KviOption_uintLinesToPasteOnQueryJoin,0,50,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnQueryJoin)); + u->setSuffix(__tr2qs_ctx(" lines","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 0 lines
Maximum value: 50 lines
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + u = addUIntSelector(box,__tr2qs_ctx("Interval:","options"),KviOption_uintDaysIntervalToPasteOnQueryJoin,1,10,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnQueryJoin)); + u->setSuffix(__tr2qs_ctx(" days","options")); + mergeTip(u,__tr2qs_ctx("
Minimum value: 0 days
Maximum value: 10 days
","options")); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + addRowSpacer(0,8,1,8); +} + +OptionsWidget_query::~OptionsWidget_query() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_query.moc" +#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_query.h b/src/modules/options/OptionsWidget_query.h new file mode 100644 index 000000000..8a385b7a9 --- /dev/null +++ b/src/modules/options/OptionsWidget_query.h @@ -0,0 +1,44 @@ +#ifndef _OPTW_QUERY_H_ +#define _OPTW_QUERY_H_ +//============================================================================= +// +// File : OptionsWidget_query.h +// Creation date : Tue Mar 05 22:31:18 2002 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 Szymon Stefanek (pragma@kvirc.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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviQueryOptionsWidget KVI_SMALLICON_QUERY +#define KVI_OPTIONS_WIDGET_NAME_KviQueryOptionsWidget __tr2qs_no_lookup("Query") +#define KVI_OPTIONS_WIDGET_PARENT_KviQueryOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviQueryOptionsWidget __tr2qs_no_lookup("chat") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviQueryOptionsWidget 80000 +#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviQueryOptionsWidget true + +class OptionsWidget_query : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_query(QWidget * parent); + ~OptionsWidget_query(); +}; + +#endif //_OPTW_QUERY_H_ diff --git a/src/modules/options/OptionsWidget_servers.cpp b/src/modules/options/OptionsWidget_servers.cpp new file mode 100644 index 000000000..87be984fb --- /dev/null +++ b/src/modules/options/OptionsWidget_servers.cpp @@ -0,0 +1,2001 @@ +//============================================================================= +// +// File : OptionsWidget_servers.cpp +// Creation date : Wed Jun 12 2000 03:29:51 by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================= + +#include "OptionsWidget_servers.h" +#include "OptionsWidget_proxy.h" +#include "OptionsWidget_nickserv.h" // for the NickServ rule editor + +#include "OptionsWidgetContainer.h" + +#include "KviQueryWindow.h" +#include "KviChannelWindow.h" +#include "KviLocale.h" +#include "KviIconManager.h" +#include "KviIrcServerDataBase.h" +#include "KviIpEditor.h" +#include "KviNetUtils.h" +#include "kvi_settings.h" +#include "KviFileDialog.h" +#include "KviConfigurationFile.h" +#include "KviScriptEditor.h" +#include "KviOptions.h" +#include "KviApplication.h" +#include "KviConsoleWindow.h" +#include "KviIrcUrl.h" +#include "KviModule.h" +#include "KviModuleManager.h" +#include "KviModuleExtension.h" +#include "KviMessageBox.h" +#include "KviMexServerImport.h" +#include "KviNickServRuleSet.h" +#include "KviProxy.h" +#include "KviProxyDataBase.h" +#include "KviKvsScript.h" +#include "KviPointerHashTable.h" +#include "KviTalPopupMenu.h" +#include "KviTalToolTip.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) || defined(COMPILE_ON_MAC) + #include + #include +#endif //COMPILE_ON_WINDOWS || COMPILE_ON_MINGW + +IrcNetworkDetailsWidget::IrcNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n) + : QDialog(par) +{ + setModal(true); + setObjectName("network_details"); + + m_pOnConnectEditor=0; + m_pOnLoginEditor=0; + + m_pUserEditor=0; + m_pPassEditor=0; + m_pNickEditor=0; + m_pRealEditor=0; + m_pDescEditor=0; + + m_pEncodingEditor=0; + m_pTextEncodingEditor=0; + + m_pAutoConnectCheck=0; + + m_pNickServTreeWidget=0; + m_pNickServCheck=0; + m_pAddRuleButton=0; + m_pDelRuleButton=0; + m_pEditRuleButton=0; + + m_pChannelListSelector=0; + + QGridLayout * g = new QGridLayout(this); + + setWindowTitle(__tr2qs_ctx("Network Details","options")); + setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)))); + + QString szTmp = ""; + szTmp += n->name(); + szTmp += ""; + + QLabel * l = new QLabel(szTmp,this); + l->setFrameStyle(QFrame::Raised | QFrame::StyledPanel); + l->setAlignment(Qt::AlignCenter); + g->addWidget(l,0,0,1,4); + + l->setMinimumWidth(200); + + l = new QLabel(__tr2qs_ctx("Description:","options"),this); + g->addWidget(l,1,0); + m_pDescEditor = new QLineEdit(this); + g->addWidget(m_pDescEditor,1,1,1,3); + + m_pDescEditor->setText(n->description()); + KviTalToolTip::add(m_pDescEditor,__tr2qs_ctx("
Put here a brief description of the network.
","options")); + + // Identity tab + + QTabWidget * tw = new QTabWidget(this); + g->addWidget(tw,2,0,1,4); + + QWidget * tab = new QWidget(tw); + QGridLayout * gl = new QGridLayout(tab); + + KviTalGroupBox *gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("Properties","options"),tab); + gl->addWidget(gbox,0,0,1,2); + + QGridLayout * pPropertiesBoxLayout = new QGridLayout(); + gbox->setLayout(pPropertiesBoxLayout); + + l = new QLabel(__tr2qs_ctx("Username:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,0,0); + + m_pUserEditor = new QLineEdit(gbox); + m_pUserEditor->setText(n->userName()); + pPropertiesBoxLayout->addWidget(m_pUserEditor,0,1); + + KviTalToolTip::add(m_pUserEditor,__tr2qs_ctx("
This is the username that KVIrc will use to login to servers on this network.\n" \ + "If this field is left empty (most common case), KVIrc will use the default username " \ + "specified in the \"Identity\" options tab.
","options")); + + l = new QLabel(__tr2qs_ctx("Password:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,1,0); + + m_pPassEditor = new KviPasswordLineEdit(gbox); + m_pPassEditor->setText(n->password()); + pPropertiesBoxLayout->addWidget(m_pPassEditor,1,1); + + KviTalToolTip::add(m_pPassEditor,__tr2qs_ctx("
If this network requires a password, put it in this field, otherwise leave it empty.
","options")); + + l = new QLabel(__tr2qs_ctx("Nickname:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,2,0); + + m_pNickEditor = new QLineEdit(gbox); + QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*",Qt::CaseSensitive),gbox); + m_pNickEditor->setValidator(v); + m_pNickEditor->setText(n->nickName()); + pPropertiesBoxLayout->addWidget(m_pNickEditor,2,1); + + + KviTalToolTip::add(m_pNickEditor,__tr2qs_ctx("
You can specify a \"special\" nickname that will be used to log in to the servers on this network.
" \ + "If this field is left empty (most common case), the default nickname (specified in the \"Identity\" settings) will be used.
","options")); + + l = new QLabel(__tr2qs_ctx("Real name:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,3,0); + + m_pRealEditor = new QLineEdit(gbox); + m_pRealEditor->setText(n->realName()); + pPropertiesBoxLayout->addWidget(m_pRealEditor,3,1); + + KviTalToolTip::add(m_pRealEditor,__tr2qs_ctx("
You can specify a \"special\" real name that will be used to login with the servers on this network.
" \ + "If you leave this field empty (most common case), the default \"real name\" (specified in the \"Identity\" settings) will be used.
","options")); + + //server encoding + + l = new QLabel(__tr2qs_ctx("Server Encoding:","options"),tab); + gl->addWidget(l,1,0); + m_pEncodingEditor = new QComboBox(tab); + m_pEncodingEditor->setDuplicatesEnabled(false); + gl->addWidget(m_pEncodingEditor,1,1); + KviTalToolTip::add(m_pEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for the servers in this network. " \ + "This encoding will be used for server specific needs, like referencing nicknames and channel names." \ + "If you choose \"Use System Encoding\" then the encoding will be set to the systemwide " \ + "value that you choose in the \"Encoding\" page of the options dialog.
","options")); + + //text encoding + + l = new QLabel(__tr2qs_ctx("Text Encoding:","options"),tab); + gl->addWidget(l,2,0); + m_pTextEncodingEditor = new QComboBox(tab); + m_pTextEncodingEditor->setDuplicatesEnabled(false); + gl->addWidget(m_pTextEncodingEditor,2,1); + KviTalToolTip::add(m_pTextEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for the servers in this network. " \ + "This encoding will be used as the default for text messages." \ + "If you choose \"Use System Encoding\" then the encoding will be set to the systemwide " \ + "value that you choose in the \"Encoding\" page of the options dialog.
","options")); + + //common between server encoding and text encoding + + int i = 0; + int srvcurrent = 0, txtcurrent=0; + KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); + QString tmp; + m_pEncodingEditor->addItem(__tr2qs_ctx("Use System Encoding","options")); + m_pTextEncodingEditor->addItem(__tr2qs_ctx("Use System Encoding","options")); + while(d->szName) + { + KviQString::sprintf(tmp,"%s (%s)",d->szName,d->szDescription); + m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp); + m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp); + if(KviQString::equalCI(d->szName,n->encoding()))srvcurrent = i + 1; + if(KviQString::equalCI(d->szName,n->textEncoding()))txtcurrent = i + 1; + i = i + 1; + d = KviLocale::encodingDescription(i); + } + + m_pEncodingEditor->setCurrentIndex(srvcurrent); + m_pTextEncodingEditor->setCurrentIndex(txtcurrent); + + + m_pAutoConnectCheck = new QCheckBox(__tr2qs_ctx("Connect to this network at startup","options"),tab); + m_pAutoConnectCheck->setChecked(n->autoConnect()); + gl->addWidget(m_pAutoConnectCheck,3,0,1,2); + + KviTalToolTip::add(m_pAutoConnectCheck,__tr2qs_ctx("
This option will cause KVIrc to automatically connect to this network at startup
","options")); + + + l = new QLabel("",tab); + gl->addWidget(l,4,0); + + gl->setRowStretch(4,1); + gl->setColumnStretch(1,1); + + tw->addTab(tab,__tr2qs_ctx("General","options")); + + // after login join channels + tab = new QWidget(tw); + + gl = new QGridLayout(tab); + + if(n->autoJoinChannelList()) + m_lstChannels = *(n->autoJoinChannelList()); + m_pChannelListSelector = new KviChannelListSelector(tab, + __tr2qs_ctx("Channels to join automatically upon connect:","options"),&m_lstChannels,true); + + KviTalToolTip::add(m_pChannelListSelector,__tr2qs_ctx("
Here you can set a list of channels to be joined automatically " \ + "after a connection to a server in this network has been established. To add a channel, type its name in the " \ + "text input below and click \"Add\".
","options")); + + gl->addWidget(m_pChannelListSelector,0,0); + + tw->addTab(tab,__tr2qs_ctx("Join Channels","options")); + + // after connect execute + tab = new QWidget(tw); + gl = new QGridLayout(tab); + + m_pOnConnectEditor = KviScriptEditor::createInstance(tab); + gl->addWidget(m_pOnConnectEditor,0,0); + m_pOnConnectEditor->setText(n->onConnectCommand()); + m_pOnConnectEditor->setMinimumHeight(150); + KviTalToolTip::add(m_pOnConnectEditor,__tr2qs_ctx("
The following commands will be executed after a connection to a server in this network has been established.
" \ + "Important: Enter commands without a preceding slash (e.g. quote pass secret instead of /quote pass secret).
"\ + "KVIrc will first send the USER command, then eventually PASS and NICK and then execute this " \ + "command sequence.
","options")); + + tw->addTab(tab,__tr2qs_ctx("On Connect","options")); + + + // after login execute + tab = new QWidget(tw); + gl = new QGridLayout(tab); + + m_pOnLoginEditor = KviScriptEditor::createInstance(tab); + gl->addWidget(m_pOnLoginEditor,0,0); + m_pOnLoginEditor->setText(n->onLoginCommand()); + + m_pOnLoginEditor->setMinimumHeight(150); + + KviTalToolTip::add(m_pOnLoginEditor, + __tr2qs_ctx("
The following commands will be executed after a successful login to a server in this network.
" \ + "Important: Enter commands without a preceding slash (e.g. quote privatelog instead of /quote privatelog).
" + "This is useful for automatically opening queries, setting variables, etc.
","options")); + + tw->addTab(tab,__tr2qs_ctx("On Login","options")); + + + // nick serv rules + + tab = new QWidget(tw); + gl = new QGridLayout(tab); + + KviNickServRuleSet * rs = n->nickServRuleSet(); + bool bNickServEnabled = rs ? (rs->isEnabled() && !rs->isEmpty()) : false; + + m_pNickServCheck = new QCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),tab); + gl->addWidget(m_pNickServCheck,0,0,1,3); + + KviTalToolTip::add(m_pNickServCheck, + __tr2qs_ctx("This check enables the automatic identification with NickServ","options")); + m_pNickServCheck->setChecked(bNickServEnabled); + + m_pNickServTreeWidget = new QTreeWidget(tab); + m_pNickServTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); + m_pNickServTreeWidget->setAllColumnsShowFocus(true); + m_pNickServTreeWidget->setColumnCount(4); + QStringList columnLabels; + columnLabels.append(__tr2qs_ctx("Nickname","options")); + columnLabels.append(__tr2qs_ctx("NickServ Mask","options")); + columnLabels.append(__tr2qs_ctx("NickServ Request Mask","options")); + columnLabels.append(__tr2qs_ctx("Identify Command","options")); + m_pNickServTreeWidget->setHeaderLabels(columnLabels); + connect(m_pNickServTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(enableDisableNickServControls())); + gl->addWidget(m_pNickServTreeWidget,1,0,1,3); + + KviTalToolTip::add(m_pNickServTreeWidget, + __tr2qs_ctx("
This is a list of NickServ identification rules. " \ + "KVIrc will use them to model its automatic interaction with NickServ on this network.
" \ + "Please be aware that this feature can cause your NickServ passwords to be stolen " \ + "if used improperly. Make sure that you fully understand the NickServ authentication protocol.
" \ + "In other words, be sure to know what you're doing.
" \ + "Also note that the password that you provide is stored as PLAIN TEXT.
","options")); + + m_pAddRuleButton = new QPushButton(__tr2qs_ctx("Add Rule","options"),tab); + connect(m_pAddRuleButton,SIGNAL(clicked()),this,SLOT(addNickServRule())); + gl->addWidget(m_pAddRuleButton,2,0); + + + m_pEditRuleButton = new QPushButton(__tr2qs_ctx("Edit Rule","options"),tab); + connect(m_pEditRuleButton,SIGNAL(clicked()),this,SLOT(editNickServRule())); + gl->addWidget(m_pEditRuleButton,2,1); + + m_pDelRuleButton = new QPushButton(__tr2qs_ctx("Delete Rule","options"),tab); + connect(m_pDelRuleButton,SIGNAL(clicked()),this,SLOT(delNickServRule())); + gl->addWidget(m_pDelRuleButton,2,2); + + connect(m_pNickServCheck,SIGNAL(toggled(bool)),this,SLOT(enableDisableNickServControls())); + + if(rs && rs->rules()) + { + KviPointerList * ll = rs->rules(); + for(KviNickServRule * rule = ll->first();rule;rule = ll->next()) + { + QTreeWidgetItem* it = new QTreeWidgetItem(m_pNickServTreeWidget); + it->setText(0,rule->registeredNick()); + it->setText(1,rule->nickServMask()); + it->setText(2,rule->messageRegexp()); + it->setText(3,rule->identifyCommand()); + } + } + + enableDisableNickServControls(); + + gl->setRowStretch(1,1); + + tw->addTab(tab,__tr2qs_ctx("NickServ","options")); + + QPushButton * b = new QPushButton(__tr2qs_ctx("&OK","options"),this); + b->setMinimumWidth(80); + g->addWidget(b,3,2); + b->setDefault(true); + connect(b,SIGNAL(clicked()),this,SLOT(accept())); + + b = new QPushButton(__tr2qs_ctx("Cancel","options"),this); + g->addWidget(b,3,3); + b->setMinimumWidth(80); + connect(b,SIGNAL(clicked()),this,SLOT(reject())); + + g->setRowStretch(2,1); + g->setColumnStretch(1,1); + + tw->setMinimumWidth(375); +} + + +IrcNetworkDetailsWidget::~IrcNetworkDetailsWidget() +{ + if(m_pOnConnectEditor) KviScriptEditor::destroyInstance(m_pOnConnectEditor); + if(m_pOnLoginEditor) KviScriptEditor::destroyInstance(m_pOnLoginEditor); +} + +void IrcNetworkDetailsWidget::editNickServRule() +{ + QTreeWidgetItem * it = (QTreeWidgetItem *) m_pNickServTreeWidget->currentItem(); + if(!it)return; + KviNickServRule r(it->text(0),it->text(1),it->text(2),it->text(3)); + NickServRuleEditor ed(this,false); + if(ed.editRule(&r)) + { + it->setText(0,r.registeredNick()); + it->setText(1,r.nickServMask()); + it->setText(2,r.messageRegexp()); + it->setText(3,r.identifyCommand()); + } +} + +void IrcNetworkDetailsWidget::addNickServRule() +{ + KviNickServRule r; + NickServRuleEditor ed(this,false); + if(ed.editRule(&r)) + { + QTreeWidgetItem *it = new QTreeWidgetItem(m_pNickServTreeWidget); + it->setText(0,r.registeredNick()); + it->setText(1,r.nickServMask()); + it->setText(2,r.messageRegexp()); + it->setText(3,r.identifyCommand()); + } +} + +void IrcNetworkDetailsWidget::delNickServRule() +{ + QTreeWidgetItem * it = (QTreeWidgetItem *)m_pNickServTreeWidget->currentItem(); + if(!it)return; + delete it; + enableDisableNickServControls(); +} + +void IrcNetworkDetailsWidget::enableDisableNickServControls() +{ + bool bEnabled = m_pNickServCheck->isChecked(); + m_pNickServTreeWidget->setEnabled(bEnabled); + m_pAddRuleButton->setEnabled(bEnabled); + bEnabled = bEnabled && (m_pNickServTreeWidget->topLevelItemCount()) && m_pNickServTreeWidget->currentItem(); + m_pDelRuleButton->setEnabled(bEnabled); + m_pEditRuleButton->setEnabled(bEnabled); +} + +void IrcNetworkDetailsWidget::fillData(KviIrcNetwork * n) +{ + n->setUserName(m_pUserEditor->text()); + n->setPassword(m_pPassEditor->text()); + n->setNickName(m_pNickEditor->text()); + n->setRealName(m_pRealEditor->text()); + n->setDescription(m_pDescEditor->text()); + if(m_pAutoConnectCheck) + n->setAutoConnect(m_pAutoConnectCheck->isChecked()); + if(m_pEncodingEditor) + { + if(m_pEncodingEditor->currentIndex() <= 0) + { + n->setEncoding(QString()); + } else { + KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1); + n->setEncoding(d->szName); + } + } + if(m_pTextEncodingEditor) + { + if(m_pTextEncodingEditor->currentIndex() <= 0) + { + n->setTextEncoding(QString()); + } else { + KviLocale::EncodingDescription * dd = KviLocale::encodingDescription(m_pTextEncodingEditor->currentIndex() - 1); + n->setTextEncoding(dd->szName); + } + } + if(m_pChannelListSelector) + m_pChannelListSelector->commit(); + if(m_lstChannels.isEmpty())n->setAutoJoinChannelList(0); + else n->setAutoJoinChannelList(new QStringList(m_lstChannels)); + if(m_pNickServTreeWidget) + { + if(m_pNickServTreeWidget->topLevelItemCount() > 0) + { + KviNickServRuleSet * rs = KviNickServRuleSet::createInstance(); + rs->setEnabled(m_pNickServCheck->isChecked()); + QTreeWidgetItem * it; + for (int i=0;itopLevelItemCount();i++) + { + it=(QTreeWidgetItem *) m_pNickServTreeWidget->topLevelItem(i); + rs->addRule(KviNickServRule::createInstance(it->text(0),it->text(1),it->text(2),it->text(3))); + } + n->setNickServRuleSet(rs); + } else n->setNickServRuleSet(0); + } + if(m_pOnConnectEditor) + { + QString tmp; + m_pOnConnectEditor->getText(tmp); + n->setOnConnectCommand(tmp); + } + if(m_pOnLoginEditor) + { + QString tmp; + m_pOnLoginEditor->getText(tmp); + n->setOnLoginCommand(tmp); + } +} + + +IrcServerDetailsWidget::IrcServerDetailsWidget(QWidget * par,KviIrcServer * s) +: QDialog(par) +{ + setModal(true); + setObjectName("server_details"); + + m_szHostname = s->hostName(); + QGridLayout * g = new QGridLayout(this); + + setWindowTitle(__tr2qs_ctx("Server Details","options")); + setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)))); + + m_pHeaderLabel = new QLabel("",this); // the text will be set later + m_pHeaderLabel->setFrameStyle(QFrame::Raised | QFrame::StyledPanel); + m_pHeaderLabel->setAlignment(Qt::AlignCenter); + g->addWidget(m_pHeaderLabel,0,0,1,4); + m_pHeaderLabel->setMinimumWidth(200); + + QLabel * l = new QLabel(__tr2qs_ctx("Description:","options"),this); + g->addWidget(l,1,0); + m_pDescEditor = new QLineEdit(this); + g->addWidget(m_pDescEditor,1,1,1,3); + + m_pDescEditor->setText(s->description()); + KviTalToolTip::add(m_pDescEditor,__tr2qs_ctx("
This is a brief description of this server. " \ + "This field has no restrictions but many server lists use it to describe the server's physical location
","options")); + + // Identity tab + + QTabWidget * tw = new QTabWidget(this); + g->addWidget(tw,2,0,1,4); + + QWidget * tab = new QWidget(tw); + QGridLayout * gl = new QGridLayout(tab); + + KviTalGroupBox *gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("Properties","options"),tab); + gl->addWidget(gbox,0,0); + + QGridLayout * pPropertiesBoxLayout = new QGridLayout(); + gbox->setLayout(pPropertiesBoxLayout); + + l = new QLabel(__tr2qs_ctx("Username:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,0,0); + + m_pUserEditor = new QLineEdit(gbox); + m_pUserEditor->setText(s->userName()); + pPropertiesBoxLayout->addWidget(m_pUserEditor,0,1); + + KviTalToolTip::add(m_pUserEditor,__tr2qs_ctx("
This is the username that KVIrc will use to login to this server.\n" \ + "If this field is left empty (most common case), KVIrc will first look if an username is specified " \ + "for the network that this server belongs to, and if that is empty then KVIrc will use the default username " \ + "specified in the \"Identity\" options tab.
","options")); + + l = new QLabel(__tr2qs_ctx("Password:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,1,0); + + m_pPassEditor = new KviPasswordLineEdit(gbox); + m_pPassEditor->setText(s->password()); + pPropertiesBoxLayout->addWidget(m_pPassEditor,1,1); + + KviTalToolTip::add(m_pPassEditor,__tr2qs_ctx("
If this server requires a password, put it in this field, otherwise leave it empty.
","options")); + + l = new QLabel(__tr2qs_ctx("Nickname:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,2,0); + + m_pNickEditor = new QLineEdit(gbox); + QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*"),gbox); + m_pNickEditor->setValidator(v); + m_pNickEditor->setText(s->nickName()); + pPropertiesBoxLayout->addWidget(m_pNickEditor,2,1); + + KviTalToolTip::add(m_pNickEditor,__tr2qs_ctx("
You can specify a \"special\" nickname that will be used to log in to this server.
" \ + "If this field is left empty (most common case), KVIrc will first look if a nickname is specified " \ + "for the network that this server belongs to, and if that is empty then the default nickname (specified in the \"Identity\" settings) will be used.
","options")); + + l = new QLabel(__tr2qs_ctx("Real name:","options"),gbox); + pPropertiesBoxLayout->addWidget(l,3,0); + + m_pRealEditor = new QLineEdit(gbox); + m_pRealEditor->setText(s->realName()); + pPropertiesBoxLayout->addWidget(m_pRealEditor,3,1); + + KviTalToolTip::add(m_pRealEditor,__tr2qs_ctx("
You can specify a \"special\" real name that will be used to login with this server.
" \ + "If you leave this field empty (most common case), KVIrc will first look if a real name is specified " \ + "for the network that this server belongs to, and if that is empty the default \"real name\" (specified in the \"Identity\" settings) will be used.
","options")); + + + + gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("User Mode","options"),tab); + gl->addWidget(gbox,1,0); + + m_pUseDefaultInitUMode = new QCheckBox(__tr2qs_ctx("Use default user mode","options"),gbox); + KviTalToolTip::add(m_pUseDefaultInitUMode,__tr2qs_ctx("
If this is enabled, the global initial user mode (configured from"\ + " the identity dialog) will be used. If disabled, you can configure an initial user mode for this server","options")); + bool bHasUmode = !(s->initUMode().isEmpty()); + KviCString szDefUMode = KVI_OPTION_STRING(KviOption_stringDefaultUserMode); + m_pUseDefaultInitUMode->setChecked(!bHasUmode); + connect(m_pUseDefaultInitUMode,SIGNAL(toggled(bool)),this,SLOT(useDefaultInitUModeToggled(bool))); + + m_pIMode = new QCheckBox(__tr2qs_ctx("Invisible (+i)","options"),gbox); + m_pIMode->setEnabled(bHasUmode); + m_pIMode->setChecked(bHasUmode ? s->initUMode().contains('i',Qt::CaseInsensitive) : szDefUMode.contains('i',Qt::CaseInsensitive)); + + m_pSMode = new QCheckBox(__tr2qs_ctx("Server notices (+s)","options"),gbox); + m_pSMode->setEnabled(bHasUmode); + m_pSMode->setChecked(bHasUmode ? s->initUMode().contains('s',Qt::CaseInsensitive) : szDefUMode.contains('s',Qt::CaseInsensitive)); + + m_pWMode = new QCheckBox(__tr2qs_ctx("Wallops (+w)","options"),gbox); + m_pWMode->setEnabled(bHasUmode); + m_pWMode->setChecked(bHasUmode ? s->initUMode().contains('w',Qt::CaseInsensitive) : szDefUMode.contains('w',Qt::CaseInsensitive)); + + l = new QLabel("",tab); + gl->addWidget(l,2,0); + + gl->setRowStretch(2,1); + + tw->addTab(tab,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WHO)),__tr2qs_ctx("Identity","options")); + + // Connection tab + + int iRow = 0; + + tab = new QWidget(tw); + gl = new QGridLayout(tab); + + l = new QLabel(__tr2qs_ctx("Port:","options"),tab); + gl->addWidget(l,iRow,0); + + + m_pPortEditor = new QLineEdit(tab); + gl->addWidget(m_pPortEditor,iRow,1); + QString tmpz; + tmpz.setNum(s->port()); + m_pPortEditor->setText(tmpz); + KviTalToolTip::add(m_pPortEditor,__tr2qs_ctx("
This is the default port that this server will be contacted on.
Usually 6667 is OK.
","options")); + connect(m_pPortEditor,SIGNAL(textChanged(const QString &)),this,SLOT(portEditorTextChanged(const QString &))); + + iRow++; + + l = new QLabel(__tr2qs_ctx("IP address:","options"),tab); + gl->addWidget(l,iRow,0); + m_pIpEditor = new KviIpEditor(tab,KviIpEditor::IPv4); + gl->addWidget(m_pIpEditor,iRow,1); + KviTalToolTip::add(m_pIpEditor,__tr2qs_ctx("
This is the IP address of this server, it is here for caching purposes.
" \ + "If you leave this field empty, KVIrc will fill it in the first time it connects to the server. " \ + "If you enable the \"cache IP address\" option below, KVIrc will use it as a \"cached result\" " \ + "and avoid looking it up again.
","options")); +#ifdef COMPILE_IPV6_SUPPORT + m_pIpEditor->setAddressType(s->isIPv6() ? KviIpEditor::IPv6 : KviIpEditor::IPv4); +#else + m_pIpEditor->setAddressType(KviIpEditor::IPv4); +#endif + + if(!m_pIpEditor->setAddress(s->m_szIp)) + { +#ifdef COMPILE_IPV6_SUPPORT + m_pIpEditor->setAddress(s->isIPv6() ? "0:0:0:0:0:0:0:0" : "0.0.0.0"); +#else + m_pIpEditor->setAddress("0.0.0.0"); +#endif + } + + iRow++; + + QGridLayout * pCheckBoxLayout = new QGridLayout(); + gl->addLayout(pCheckBoxLayout,iRow,0,1,2); + + m_pCacheIpCheck = new QCheckBox(__tr2qs_ctx("Cache IP address","options"),tab); + pCheckBoxLayout->addWidget(m_pCacheIpCheck,0,0); + + KviTalToolTip::add(m_pCacheIpCheck,__tr2qs_ctx("
This check will enable IP address caching for this server:
" \ + "DNS lookups can be time-consuming and might be blocking on some platforms; " \ + "this option will cause KVIrc to look up the server hostname only once.

" \ + "Advanced: you can also use this option to force a certain server name to resolve " \ + "to a fixed ip address when either the dns for that server is temporairly " \ + "unreachable or you want to avoid the round-robin lookups.
","options")); + m_pCacheIpCheck->setChecked(s->cacheIp()); + + + + + m_pUseAutoConnect = new QCheckBox(__tr2qs_ctx("Connect to this server at startup","options"),tab); + m_pUseAutoConnect->setChecked(s->autoConnect()); + + pCheckBoxLayout->addWidget(m_pUseAutoConnect,0,1); + + KviTalToolTip::add(m_pUseAutoConnect,__tr2qs_ctx("
This option will cause KVIrc to connect to the IRC server when it is started.
","options")); + + + + m_pUseIPV6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),tab); + pCheckBoxLayout->addWidget(m_pUseIPV6Check,1,0); + +#ifdef COMPILE_IPV6_SUPPORT + m_pUseIPV6Check->setChecked(s->isIPv6()); +#else + m_pUseIPV6Check->setEnabled(false); +#endif + connect(m_pUseIPV6Check,SIGNAL(toggled(bool)),this,SLOT(useIPV6CheckToggled(bool))); + + KviTalToolTip::add(m_pUseIPV6Check,__tr2qs_ctx("
This check identifies IPv6 servers.
If enabled, KVIrc will attempt to use the IPv6 protocol " \ + "(thus your OS must have a working IPv6 stack and you must have an IPv6 connection).
","options")); + + + + + m_pUseSSLCheck = new QCheckBox(__tr2qs_ctx("Use SSL protocol","options"),tab); + pCheckBoxLayout->addWidget(m_pUseSSLCheck,1,1); + + KviTalToolTip::add(m_pUseSSLCheck,__tr2qs_ctx("
This check will cause the connection to use the Secure Socket Layer " \ + "encryption support. Obviously, this server must have support for this, too. :)
","options")); +#ifndef COMPILE_SSL_SUPPORT + m_pUseSSLCheck->setEnabled(false); +#endif + m_pUseSSLCheck->setChecked(s->useSSL()); + + + iRow++; + + + //server encoding + + l = new QLabel(__tr2qs_ctx("Protocol Encoding:","options"),tab); + gl->addWidget(l,iRow,0); + m_pEncodingEditor = new QComboBox(tab); + m_pEncodingEditor->setDuplicatesEnabled(false); + gl->addWidget(m_pEncodingEditor,iRow,1); + KviTalToolTip::add(m_pEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for this server. " \ + "This encoding will be used for server specific needs, like referencing nicknames and channel names." \ + "If you choose \"Use Network Encoding\" then the encoding will be inherited from the " \ + "network that this server belongs to.
","options")); + + iRow++; + + //text encoding + + l = new QLabel(__tr2qs_ctx("Text Encoding:","options"),tab); + gl->addWidget(l,iRow,0); + m_pTextEncodingEditor = new QComboBox(tab); + m_pTextEncodingEditor->setDuplicatesEnabled(false); + gl->addWidget(m_pTextEncodingEditor,iRow,1); + KviTalToolTip::add(m_pTextEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for this server. " \ + "This encoding will be used as the default for text messages." \ + "If you choose \"Use Network Encoding\" then the encoding will be inherited from the " \ + "network that this server belongs to.
","options")); + + //common between server encoding and text encoding + + int i = 0; + int srvcurrent = 0, txtcurrent=0; + KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); + QString tmp; + m_pEncodingEditor->addItem(__tr2qs_ctx("Use Network Encoding","options")); + m_pTextEncodingEditor->addItem(__tr2qs_ctx("Use Network Encoding","options")); + while(d->szName) + { + KviQString::sprintf(tmp,"%s (%s)",d->szName,d->szDescription); + m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp); + m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp); + if(KviQString::equalCI(d->szName,s->encoding()))srvcurrent = i + 1; + if(KviQString::equalCI(d->szName,s->textEncoding()))txtcurrent = i + 1; + i = i + 1; + d = KviLocale::encodingDescription(i); + } + + m_pEncodingEditor->setCurrentIndex(srvcurrent); + m_pTextEncodingEditor->setCurrentIndex(txtcurrent); + + iRow++; + + l = new QLabel(__tr2qs_ctx("Proxy server:","options"),tab); + gl->addWidget(l,iRow,0); + m_pProxyEditor = new QComboBox(tab); + gl->addWidget(m_pProxyEditor,iRow,1); + KviTalToolTip::add(m_pProxyEditor,__tr2qs_ctx("
This is the proxy that KVIrc will use to connect to this server.\n" \ + "If this field is set in \"Default\" KVirc will use global proxy settings, if it is set in \"Direct connection\" " \ + "KVirc will connect to this server without proxy. You can define new proxy server in global options' \"Proxy servers\" menu.
","options")); + + m_pProxyEditor->addItem(__tr2qs_ctx("Default","options")); + m_pProxyEditor->addItem(__tr2qs_ctx("Direct connection","options")); + + KviPointerList * proxylist = g_pProxyDataBase->proxyList(); + for(KviProxy * p = proxylist->first();p;p = proxylist->next()) + { + m_pProxyEditor->insertItem(m_pProxyEditor->count(),QString("%1:%2").arg(p->hostname()).arg(p->port())); + } + if(m_pProxyEditor->count() > (s->proxy()+2)) + m_pProxyEditor->setCurrentIndex(s->proxy()+2); + + iRow++; + + + + + l = new QLabel("",tab); + gl->addWidget(l,iRow,0,1,2); + + gl->setRowStretch(iRow,1); + + tw->addTab(tab,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SOCKETWARNING)),__tr2qs_ctx("Connection","options")); + + // after login join channels + tab = new QWidget(tw); + + gl = new QGridLayout(tab); + + if(s->autoJoinChannelList()) + m_lstChannels = *(s->autoJoinChannelList()); + m_pChannelListSelector = new KviChannelListSelector(tab, + __tr2qs_ctx("Channels to join automatically upon connect:","options"),&m_lstChannels,true); + KviTalToolTip::add(m_pChannelListSelector,__tr2qs_ctx("
Here you can set a list of channels to be joined automatically " \ + "after a connection to this server has been established. To add a channel, type its name in the " \ + "text input below and click \"Add\".
","options")); + gl->addWidget(m_pChannelListSelector,0,0); + + tw->addTab(tab,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CHANNEL)),__tr2qs_ctx("Join Channels","options")); + + // after connect execute + tab = new QWidget(tw); + gl = new QGridLayout(tab); + + + m_pOnConnectEditor = KviScriptEditor::createInstance(tab); + gl->addWidget(m_pOnConnectEditor,0,0); + m_pOnConnectEditor->setText(s->onConnectCommand()); + m_pOnConnectEditor->setMinimumHeight(150); + KviTalToolTip::add(m_pOnConnectEditor,__tr2qs_ctx("
The following commands will be executed after a connection has been established.
" \ + "Important: Enter commands without a preceding slash (e.g. quote pass secret instead of /quote pass secret).
"\ + "KVIrc will first send the USER command, then eventually PASS and NICK and then execute this " \ + "command sequence.
This is particularly useful for IRC bouncers that require login commands.
","options")); + + tw->addTab(tab,__tr2qs_ctx("On Connect","options")); + // after login execute + + tab = new QWidget(tw); + gl = new QGridLayout(tab + ); + + m_pOnLoginEditor = KviScriptEditor::createInstance(tab); + gl->addWidget(m_pOnLoginEditor,0,0); + m_pOnLoginEditor->setText(s->onLoginCommand()); + + m_pOnLoginEditor->setMinimumHeight(150); + + KviTalToolTip::add(m_pOnLoginEditor, + __tr2qs_ctx("
The following commands will be executed after a successful login to this server.
" \ + "Important: Enter commands without a preceding slash (e.g. quote privatelog instead of /quote privatelog).
" + "This is useful for automatically opening queries, setting variables, etc.
","options")); + + tw->addTab(tab,__tr2qs_ctx("On Login","options")); + + + + // Advanced tab + + + tab = new QWidget(tw); + gl = new QGridLayout(tab); + + iRow = 0; + + QGroupBox * pCapGroup = new QGroupBox(__tr2qs_ctx("Extended Capabilities","options"),tab); + gl->addWidget(pCapGroup,iRow,0,1,2); + + QGridLayout * pCapLayout = new QGridLayout(); + pCapGroup->setLayout(pCapLayout); + + m_pEnableCAPCheck = new QCheckBox(__tr2qs_ctx("Query extended capabilities on connect","options"),tab); + pCapLayout->addWidget(m_pEnableCAPCheck,0,0); + + KviTalToolTip::add(m_pEnableCAPCheck,__tr2qs_ctx("
This check will cause the connection to use the Extended Capability " \ + "support. Obviously, this server must have support for this, too. Disable this for irc bouncers.
","options")); + m_pEnableCAPCheck->setChecked(s->enabledCAP()); + + + + m_pEnableSTARTTLSCheck = new QCheckBox(__tr2qs_ctx("Switch to SSL/TLS by using the STARTTLS extension","options"),tab); + pCapLayout->addWidget(m_pEnableSTARTTLSCheck,1,0); + + m_pEnableSTARTTLSCheck->setEnabled(s->enabledCAP()); + QObject::connect(m_pEnableCAPCheck,SIGNAL(toggled(bool)),m_pEnableSTARTTLSCheck,SLOT(setEnabled(bool))); + KviTalToolTip::add(m_pEnableSTARTTLSCheck,__tr2qs_ctx("
This check enables the use of the Transport Layer Security " \ + "protocol. If you enable the proper global option in the Connection/SSL tab, the TLS protocol will be used for this server if available.
","options")); +#ifndef COMPILE_SSL_SUPPORT + m_pEnableSTARTTLSCheck->setEnabled(false); +#endif + m_pEnableSTARTTLSCheck->setChecked(s->enabledCAP() && s->enabledSTARTTLS()); + + + QGroupBox * pSASLGroup = new QGroupBox(__tr2qs_ctx("SASL Authentication","options"),tab); + pCapLayout->addWidget(pSASLGroup,2,0); + + QGridLayout * pSASLLayout = new QGridLayout(pSASLGroup); + + m_pEnableSASLCheck = new QCheckBox(__tr2qs_ctx("Authenticate via SASL extension","options"),pSASLGroup); + pSASLLayout->addWidget(m_pEnableSASLCheck,0,0,1,2); + KviTalToolTip::add(m_pEnableSASLCheck,__tr2qs_ctx("
This check enables the use of the SASL authentication procotol " \ + "If you enable the proper global option in the Connection/SSL tab and fill the Sasl Nickname and Sasl Password fields in this page, the SASL protocol will be used for this server if available.
","options")); + m_pEnableSASLCheck->setChecked(s->enabledSASL()); + + l = new QLabel(__tr2qs_ctx("Sasl Nickname:","options"),pSASLGroup); + pSASLLayout->addWidget(l,1,0); + m_pSaslNickEditor = new QLineEdit(pSASLGroup); + m_pSaslNickEditor->setText(s->saslNick()); + KviTalToolTip::add(m_pSaslNickEditor,__tr2qs_ctx("
If you want to enable SASL authentication, insert your nickname here.
","options")); + pSASLLayout->addWidget(m_pSaslNickEditor,1,1); + + l = new QLabel(__tr2qs_ctx("Sasl Password:","options"),pSASLGroup); + pSASLLayout->addWidget(l,2,0); + m_pSaslPassEditor = new KviPasswordLineEdit(pSASLGroup); // <---- ????? + m_pSaslPassEditor->setText(s->saslPass()); + KviTalToolTip::add(m_pSaslPassEditor,__tr2qs_ctx("
If you want to enable SASL authentication, insert your password here.
","options")); + pSASLLayout->addWidget(m_pSaslPassEditor,2,1); + + pSASLGroup->setEnabled(s->enabledCAP()); + QObject::connect(m_pEnableCAPCheck,SIGNAL(toggled(bool)),pSASLGroup,SLOT(setEnabled(bool))); + + iRow++; + + + l = new QLabel(__tr2qs_ctx("Link filter:","options"),tab); + gl->addWidget(l,iRow,0); + m_pLinkFilterEditor = new QComboBox(tab); + m_pLinkFilterEditor->setEditable(true); + m_pLinkFilterEditor->setDuplicatesEnabled(false); + gl->addWidget(m_pLinkFilterEditor,iRow,1); + + m_pLinkFilterEditor->addItem(""); + + g_pModuleManager->loadModulesByCaps("linkfilter"); + KviModuleExtensionDescriptorList * mexl = KviModuleExtensionManager::instance()->getExtensionList("linkfilter"); + + if(mexl) + { + for(KviModuleExtensionDescriptor * d = mexl->first();d;d = mexl->next()) + m_pLinkFilterEditor->addItem(d->name().ptr()); + } else { + if(!s->linkFilter().isEmpty()) + m_pLinkFilterEditor->addItem(s->linkFilter()); + } + + if(!s->linkFilter().isEmpty()) + { + int i = m_pLinkFilterEditor->findText(s->linkFilter()); + if (i != -1) + m_pLinkFilterEditor->setCurrentIndex(i); + else + m_pLinkFilterEditor->setEditText(s->linkFilter()); + } + else + m_pLinkFilterEditor->setCurrentIndex(0); + + + KviTalToolTip::add(m_pLinkFilterEditor,__tr2qs_ctx("
This field specifies the name of a module that exports a link filter for this type of server.
" \ + "For plain IRC connections, you don't need any link filters; this is used for incompatible protocols.
","options")); + + iRow++; + + l = new QLabel(__tr2qs_ctx("Id:","options"),tab); + gl->addWidget(l,iRow,0); + m_pIdEditor = new QLineEdit(tab); + if(s->id().isEmpty())s->generateUniqueId(); + m_pIdEditor->setText(s->id()); + gl->addWidget(m_pIdEditor,iRow,1); + + KviTalToolTip::add(m_pIdEditor,__tr2qs_ctx("
This field allows you to specify a really unique id for this server. " \ + "You will then be able to use /server -x <this_id> to make the connection. This is especially " \ + "useful when you have multiple server entries with the same hostname and port in different networks (bouncers?)
","options")); + + + iRow++; + + tw->addTab(tab,__tr2qs_ctx("Advanced","options")); + + + + QPushButton * b = new QPushButton(__tr2qs_ctx("OK","options"),this); + b->setMinimumWidth(80); + g->addWidget(b,3,2); + b->setDefault(true); + connect(b,SIGNAL(clicked()),this,SLOT(accept())); + + b = new QPushButton(__tr2qs_ctx("Cancel","options"),this); + g->addWidget(b,3,3); + b->setMinimumWidth(80); + connect(b,SIGNAL(clicked()),this,SLOT(reject())); + + g->setRowStretch(2,1); + g->setColumnStretch(1,1); + + + tw->setMinimumWidth(390); + + setHeaderLabelText(); +} + +IrcServerDetailsWidget::~IrcServerDetailsWidget() +{ + if(m_pOnConnectEditor) KviScriptEditor::destroyInstance(m_pOnConnectEditor); + if(m_pOnLoginEditor) KviScriptEditor::destroyInstance(m_pOnLoginEditor); +} + +void IrcServerDetailsWidget::useIPV6CheckToggled(bool) +{ +#ifdef COMPILE_IPV6_SUPPORT + m_pIpEditor->setAddressType(m_pUseIPV6Check->isChecked() ? KviIpEditor::IPv6 : KviIpEditor::IPv4); +#else + m_pIpEditor->setAddressType(KviIpEditor::IPv4); +#endif + setHeaderLabelText(); +} + +void IrcServerDetailsWidget::portEditorTextChanged(const QString &) +{ + setHeaderLabelText(); +} + +void IrcServerDetailsWidget::setHeaderLabelText() +{ + QString szTmp = "irc"; + if(m_pUseIPV6Check->isChecked())szTmp += "6"; + szTmp += "://"; + szTmp += m_szHostname; + szTmp += ":"; + + bool bOk; + + QString num = m_pPortEditor->text(); + unsigned int uPort = num.toUInt(&bOk); + if(!bOk)uPort = 6667; + num.setNum(uPort); + szTmp += num; + szTmp += ""; + + m_pHeaderLabel->setText(szTmp); +} + +void IrcServerDetailsWidget::fillData(KviIrcServer * s) +{ + s->setUserName(m_pUserEditor->text()); + s->setPassword(m_pPassEditor->text()); + s->setNickName(m_pNickEditor->text()); + s->setRealName(m_pRealEditor->text()); + if(m_pDescEditor) + s->setDescription(m_pDescEditor->text()); + if(m_pLinkFilterEditor) + s->setLinkFilter(m_pLinkFilterEditor->lineEdit()->text()); + if(m_pEncodingEditor) + { + if(m_pEncodingEditor->currentIndex() <= 0) + { + s->m_szEncoding = ""; + } else { + KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1); + s->m_szEncoding = d->szName; + } + } + if(m_pTextEncodingEditor) + { + if(m_pTextEncodingEditor->currentIndex() <= 0) + { + s->m_szTextEncoding = ""; + } else { + KviLocale::EncodingDescription * dd = KviLocale::encodingDescription(m_pTextEncodingEditor->currentIndex() - 1); + s->m_szTextEncoding = dd->szName; + } + } + s->setIp(""); + if(m_pCacheIpCheck) + s->setCacheIp(m_pCacheIpCheck->isChecked()); + if(m_pUseSSLCheck) + s->setUseSSL(m_pUseSSLCheck->isChecked()); + if(m_pEnableCAPCheck) + s->setEnabledCAP(m_pEnableCAPCheck->isChecked()); + if(m_pEnableSTARTTLSCheck) + s->setEnabledSTARTTLS(m_pEnableSTARTTLSCheck->isChecked()); + + s->setSaslNick(m_pSaslNickEditor->text()); + s->setSaslPass(m_pSaslPassEditor->text()); + if(m_pEnableSASLCheck) + s->setEnabledSASL( m_pEnableSASLCheck->isChecked() && + !m_pSaslNickEditor->text().isEmpty() && + !m_pSaslPassEditor->text().isEmpty() + ); + + if(m_pIdEditor) + s->setId(m_pIdEditor->text()); + if(s->id().isEmpty())s->generateUniqueId(); + + if(m_pUseDefaultInitUMode) + { + KviCString szUMode; + if(!m_pUseDefaultInitUMode->isChecked()) + { + if(m_pIMode->isChecked())szUMode.append('i'); + if(m_pWMode->isChecked())szUMode.append('w'); + if(m_pSMode->isChecked())szUMode.append('s'); + } + s->setInitUMode(szUMode.ptr()); + } + + QString tmp = m_pPortEditor->text(); + bool bOk; + kvi_u32_t uPort = tmp.toUInt(&bOk); + if(!bOk)uPort = 6667; + s->m_uPort = uPort; +#ifdef COMPILE_IPV6_SUPPORT + s->setIPv6(m_pUseIPV6Check->isChecked()); +#else + s->setIPv6(false); +#endif + + if(m_pIpEditor) + { + QString tmpAddr = m_pIpEditor->address(); + + if(!m_pIpEditor->hasEmptyFields()) + { +#ifdef COMPILE_IPV6_SUPPORT + if(s->isIPv6()) + { + if((!KviQString::equalCI(tmpAddr,"0:0:0:0:0:0:0:0")) && KviNetUtils::isValidStringIp(tmpAddr)) + { + s->setIp(tmpAddr); + } else { + s->setCacheIp(false); + s->setIp(""); + } + } else { +#endif + if((!KviQString::equalCI(tmpAddr,"0.0.0.0")) && KviNetUtils::isValidStringIp(tmpAddr)) + { + s->setIp(tmpAddr); + } else { + s->setCacheIp(false); + s->setIp(""); + } +#ifdef COMPILE_IPV6_SUPPORT + } +#endif + } else { + s->setCacheIp(false); + s->setIp(""); + } + } + if(m_pOnConnectEditor) + { + QString tmp; + m_pOnConnectEditor->getText(tmp); + s->setOnConnectCommand(tmp); + } + if(m_pOnLoginEditor) + { + QString tmp; + m_pOnLoginEditor->getText(tmp); + s->setOnLoginCommand(tmp); + } + if(m_pChannelListSelector) + m_pChannelListSelector->commit(); + if(m_lstChannels.isEmpty())s->setAutoJoinChannelList(0); + else s->setAutoJoinChannelList(new QStringList(m_lstChannels)); + if(m_pUseAutoConnect) + s->setAutoConnect(m_pUseAutoConnect->isChecked()); + if(m_pProxyEditor) + s->setProxy(m_pProxyEditor->currentIndex()-2); +} + +void IrcServerDetailsWidget::useDefaultInitUModeToggled(bool b) +{ + m_pIMode->setEnabled(!b); + m_pWMode->setEnabled(!b); + m_pSMode->setEnabled(!b); +} + +// KviApplication.cpp +extern KVIRC_API KviIrcServerDataBase * g_pServerDataBase; + +IrcServerOptionsTreeWidgetItem::IrcServerOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,const KviIrcNetwork *n) + : QTreeWidgetItem(parent) +{ + setIcon(0,QIcon(pm)); + m_pServerData = 0; + m_pNetworkData = new KviIrcNetwork(*n); + setText(0,n->name()); + setText(1,n->description()); +} + +IrcServerOptionsTreeWidgetItem::IrcServerOptionsTreeWidgetItem(QTreeWidgetItem *parent,const QPixmap &pm,const KviIrcServer *s) + : QTreeWidgetItem(parent) +{ + setIcon(0,QIcon(pm)); + m_pServerData = new KviIrcServer(*s); + setText(0,s->hostName()); + setText(1,s->description()); + m_pNetworkData = 0; +} + +IrcServerOptionsTreeWidgetItem::~IrcServerOptionsTreeWidgetItem() +{ + if(m_pServerData)delete m_pServerData; + if(m_pNetworkData)delete m_pNetworkData; +} + +void IrcServerOptionsTreeWidgetItem::updateVisibleStrings() +{ + if(m_pNetworkData) + { + setText(0,m_pNetworkData->name()); + setText(1,m_pNetworkData->description()); + return; + } + if(m_pServerData) + { + setText(0,m_pServerData->hostName()); + setText(1,m_pServerData->description()); + } +} + + +OptionsWidget_servers::OptionsWidget_servers(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("server_options_widget"); + + createLayout(); + + m_pContextPopup = new KviTalPopupMenu(this); + m_pImportPopup = new KviTalPopupMenu(this); + + connect(m_pImportPopup,SIGNAL(aboutToShow()),this,SLOT(importPopupAboutToShow())); + connect(m_pImportPopup,SIGNAL(activated(int)),this,SLOT(importPopupActivated(int))); + + m_pServerDetailsDialog = 0; + m_pNetworkDetailsDialog = 0; + m_pImportFilter = 0; + + m_pTreeWidget = new QTreeWidget(this); + addWidgetToLayout(m_pTreeWidget,0,0,0,0); + m_pTreeWidget->setColumnCount(2); + QStringList columLabels; + columLabels.append(__tr2qs_ctx("Server","options")); + columLabels.append(__tr2qs_ctx("Description","options")); + m_pTreeWidget->setColumnWidth(0,250); + m_pTreeWidget->setColumnWidth(1,250); + + m_pTreeWidget->setSortingEnabled(true); + m_pTreeWidget->sortByColumn(0,Qt::AscendingOrder); + m_pTreeWidget->setHeaderLabels(columLabels); + m_pTreeWidget->setRootIsDecorated(true); + m_pTreeWidget->setAllColumnsShowFocus(true); + m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); + m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu); + connect(m_pTreeWidget,SIGNAL(customContextMenuRequested(const QPoint &)), + this,SLOT(customContextMenuRequested(const QPoint &))); + connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)), + this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); + + connect(m_pTreeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int )), + this,SLOT(itemDoubleClicked(QTreeWidgetItem*, int ))); + + QString tiptxt = __tr2qs_ctx("
This is the list of available IRC servers.
" \ + "Right-click on the list to add or remove servers and perform other actions.
"\ + "Double-click on a item for advanced options.
","options"); + KviTalToolTip::add(m_pTreeWidget,tiptxt); + KviTalToolTip::add(m_pTreeWidget->viewport(),tiptxt); + + KviTalVBox * vbox = new KviTalVBox(this); + vbox->setSpacing(0); + addWidgetToLayout(vbox,1,0,1,0); + + m_pNewNetworkButton = new QToolButton(vbox); + m_pNewNetworkButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)))); + m_pNewNetworkButton->setAutoRaise(true); + connect(m_pNewNetworkButton,SIGNAL(clicked()),this,SLOT(newNetwork())); + KviTalToolTip::add(m_pNewNetworkButton,__tr2qs_ctx("New Network","options")); + + m_pNewServerButton = new QToolButton(vbox); + m_pNewServerButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)))); + m_pNewServerButton->setAutoRaise(true); + connect(m_pNewServerButton,SIGNAL(clicked()),this,SLOT(newServer())); + KviTalToolTip::add(m_pNewServerButton,__tr2qs_ctx("New Server","options")); + + m_pRemoveButton = new QToolButton(vbox); + m_pRemoveButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)))); + m_pRemoveButton->setEnabled(false); + m_pRemoveButton->setAutoRaise(true); + connect(m_pRemoveButton,SIGNAL(clicked()),this,SLOT(removeCurrent())); + KviTalToolTip::add(m_pRemoveButton,__tr2qs_ctx("Remove Network/Server","options")); + + QFrame * f = new QFrame(vbox); + f->setFrameStyle(QFrame::Sunken | QFrame::HLine); + + m_pCopyServerButton = new QToolButton(vbox); + m_pCopyServerButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_COPY)))); + m_pCopyServerButton->setEnabled(false); + m_pCopyServerButton->setAutoRaise(true); + connect(m_pCopyServerButton,SIGNAL(clicked()),this,SLOT(copyServer())); + KviTalToolTip::add(m_pCopyServerButton,__tr2qs_ctx("Copy Server","options")); + + m_pPasteServerButton = new QToolButton(vbox); + m_pPasteServerButton->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE))); + m_pPasteServerButton->setEnabled(false); + m_pPasteServerButton->setAutoRaise(true); + connect(m_pPasteServerButton,SIGNAL(clicked()),this,SLOT(pasteServer())); + KviTalToolTip::add(m_pPasteServerButton,__tr2qs_ctx("Paste Server","options")); + + f = new QFrame(vbox); + f->setFrameStyle(QFrame::Sunken | QFrame::HLine); + + m_pImportButton = new QToolButton(vbox); + m_pImportButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FOLDER)))); + m_pImportButton->setAutoRaise(true); + m_pImportButton->setMenu(m_pImportPopup); + m_pImportButton->setPopupMode(QToolButton::InstantPopup); + + KviTalToolTip::add(m_pImportButton,__tr2qs_ctx("Import List","options")); + + QFrame * lll = new QFrame(vbox); + vbox->setStretchFactor(lll,100); + + KviTalGroupBox *gbox = addGroupBox(0,1,1,1,Qt::Vertical,__tr2qs_ctx("Active Configuration","options")); + m_pSrvNetLabel = new QLabel(__tr2qs_ctx("Server:","options"),gbox); + + m_pSrvNetEdit = new QLineEdit(gbox); + connect(m_pSrvNetEdit,SIGNAL(textEdited(const QString &)),this,SLOT(serverNetworkEditTextEdited(const QString &))); + KviTalToolTip::add(m_pSrvNetEdit,__tr2qs_ctx("
This is the name of the currently selected server or network
","options")); + + m_pDetailsButton = new QPushButton(__tr2qs_ctx("Advanced...","options"),gbox); + connect(m_pDetailsButton,SIGNAL(clicked()),this,SLOT(detailsClicked())); + KviTalToolTip::add(m_pDetailsButton,__tr2qs_ctx("
Click here to edit advanced options for this entry
","options")); + + m_pRecentPopup = new KviTalPopupMenu(gbox); + connect(m_pRecentPopup,SIGNAL(aboutToShow()),this,SLOT(recentServersPopupAboutToShow())); + connect(m_pRecentPopup,SIGNAL(activated(int)),this,SLOT(recentServersPopupClicked(int))); + + QToolButton * tb = new QToolButton(gbox); + tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_TIME)))); + tb->setMenu(m_pRecentPopup); + tb->setAutoRaise(true); + tb->setPopupMode(QToolButton::InstantPopup); + + KviTalToolTip::add(tb,__tr2qs_ctx("
This button shows a list of recently used servers. It allows you to quickly find them in the list.
","options")); + + + // The "Show this dialog at startup" option is shown only when the server options widget is shown as standalone dialog + if(parent->inherits("OptionsWidgetContainer")) + { + m_pConnectCurrent = new QPushButton(__tr2qs_ctx("Connect &Now","options"),this); + addWidgetToLayout(m_pConnectCurrent,0,2,1,2); + connect(m_pConnectCurrent,SIGNAL(clicked()),this,SLOT(connectCurrentClicked())); + + QPalette pal(QColor(0,0,128)); + + pal.setColor(QPalette::Active,QPalette::Button,QColor(0,0,220)); + pal.setColor(QPalette::Active,QPalette::ButtonText,QColor(245,245,245)); + + pal.setColor(QPalette::Disabled,QPalette::Button,QColor(98,98,180)); + pal.setColor(QPalette::Disabled,QPalette::ButtonText,QColor(128,128,245)); + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) || defined(COMPILE_ON_MAC) + // Kill the WindowXP/Mac style which does not honor palette + QStyle * pWindowsStyle = QStyleFactory::create("plastique"); + if(!pWindowsStyle) + { + pWindowsStyle = QStyleFactory::create("windows"); + if(!pWindowsStyle) + pWindowsStyle = QStyleFactory::create("motif"); + } + if(pWindowsStyle) + m_pConnectCurrent->setStyle(pWindowsStyle); +#endif //COMPILE_ON_WINDOWS || COMPILE_ON_MINGW + + m_pConnectCurrent->setPalette(pal); + + QFont fnt = m_pConnectCurrent->font(); + fnt.setPointSizeF(fnt.pointSizeF() * 1.4); + fnt.setBold(true); + m_pConnectCurrent->setFont(fnt); + + KviTalToolTip::add(m_pConnectCurrent,__tr2qs_ctx("
Hit this button to connect to the currently selected server.
","options")); + + OptionsWidgetContainer * pContainer = dynamic_cast(parent); + if(pContainer) + { + KviBoolSelector * b = addBoolSelector(pContainer,__tr2qs_ctx("Show this dialog at startup","options"),KviOption_boolShowServersConnectDialogOnStart); + pContainer->setLeftCornerWidget(b); + + KviTalToolTip::add(b,__tr2qs_ctx("
If this option is enabled, the Servers dialog will appear every time you start KVIrc
","options")); + } + } else { + m_pConnectCurrent = NULL; + } + + m_pLastEditedItem = 0; + + m_pClipboard = 0; + + fillServerList(); + + layout()->setRowStretch(0,1); + layout()->setColumnStretch(0,1); + setMinimumWidth(600); +} + +OptionsWidget_servers::~OptionsWidget_servers() +{ + if(m_pImportFilter) + { + disconnect(m_pImportFilter,0,this,0); + m_pImportFilter->die(); + m_pImportFilter = 0; + } + + if(m_pClipboard) + delete m_pClipboard; + if(m_pServerDetailsDialog) + delete m_pServerDetailsDialog; + if(m_pNetworkDetailsDialog) + delete m_pNetworkDetailsDialog; +} + +void OptionsWidget_servers::recentServersPopupAboutToShow() +{ + g_pApp->fillRecentServersPopup(m_pRecentPopup); + + m_pRecentPopup->insertSeparator(); + m_pRecentPopup->insertItem(__tr2qs("Clear Recent Servers List")); +} + +void OptionsWidget_servers::recentServersPopupClicked(int id) +{ + KviConsoleWindow * c = g_pActiveWindow->console(); + if(!c) + return; + + QString szItemText = m_pRecentPopup->text(id); + szItemText.remove(QChar('&')); + if(szItemText.isEmpty()) + return; + if(szItemText == __tr2qs("Clear Recent Servers List")) + { + KviKvsScript::run("option stringlistRecentServers",c); + return; + } + + selectBestServerByUrl(szItemText); +} + +void OptionsWidget_servers::selectBestServerByUrl(const QString &szUrl) +{ + if(szUrl.isEmpty()) + return; + + KviIrcUrlParts oParts; + + KviIrcUrl::split(szUrl,oParts); + + int uCount = m_pTreeWidget->topLevelItemCount(); + int uIdx = 0; + + IrcServerOptionsTreeWidgetItem * pBestCandidate = NULL; + kvi_u32_t uBestCandidateScore = 0; + + while(uIdx < uCount) + { + IrcServerOptionsTreeWidgetItem * pNet = static_cast(m_pTreeWidget->topLevelItem(uIdx)); + + uIdx++; + + if(!pNet) + continue; // huh ? + + int uServerCount = pNet->childCount(); + int uChildIdx = 0; + while(uChildIdx < uServerCount) + { + IrcServerOptionsTreeWidgetItem * pServer = static_cast(pNet->child(uChildIdx)); + uChildIdx++; + + if(!pServer) + continue; // huh ? + + KviIrcServer * pServerData = pServer->serverData(); + + if(!pServerData) + continue; // umphf... + + kvi_u32_t uScore = 0; + + if(pServerData->hostName().toLower() == oParts.szHost.toLower()) + uScore++; + if(pServerData->port() == oParts.iPort) + uScore++; + if(pServerData->isIPv6() == oParts.bIPv6) + uScore++; + if(pServerData->useSSL() == oParts.bSsl) + uScore++; + + if(uScore > uBestCandidateScore) + { + uBestCandidateScore = uScore; + pBestCandidate = pServer; + if(uScore >= 4) + { + // exact match + uIdx = uCount; // break the outer loop + break; // break the inner loop + } + } + } + } + + if(pBestCandidate) + m_pTreeWidget->setCurrentItem(pBestCandidate); + +} + +void OptionsWidget_servers::connectCurrentClicked() +{ + saveLastItem(); + commit(); + KviCString szServer = m_pSrvNetEdit->text(); + if(szServer.isEmpty())return; + KviKvsScript::run("server -u",g_pApp->activeConsole()); +} + +void OptionsWidget_servers::fillServerList() +{ + IrcServerOptionsTreeWidgetItem * net; + IrcServerOptionsTreeWidgetItem * srv; + IrcServerOptionsTreeWidgetItem * cur = 0; + + KviPointerHashTableIterator it(*(g_pServerDataBase->recordDict())); + + if(m_pConnectCurrent) + m_pConnectCurrent->setEnabled(false); + + while(KviIrcNetwork * r = it.current()) + { + net = new IrcServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),r); + KviPointerList * sl = r->serverList(); + bool bCurrent = r->name() == g_pServerDataBase->currentNetworkName().toUtf8().data(); + net->setExpanded(bCurrent); + for(KviIrcServer * s = sl->first();s;s = sl->next()) + { + srv = new IrcServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),s); + + if((s == r->currentServer()) && bCurrent) + { + srv->setSelected(true); + cur = srv; + } + } + ++it; + } + if(cur) + { + cur->setSelected(true); + m_pTreeWidget->setCurrentItem(cur); + m_pTreeWidget->scrollToItem(cur); + if(m_pConnectCurrent) + m_pConnectCurrent->setEnabled(true); + } +} + +void OptionsWidget_servers::itemDoubleClicked(QTreeWidgetItem*, int ) +{ + detailsClicked(); +} + +void OptionsWidget_servers::currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *) +{ + saveLastItem(); + m_pLastEditedItem = (IrcServerOptionsTreeWidgetItem *)it; + + if(m_pLastEditedItem) + { + m_pSrvNetLabel->setEnabled(true); + m_pSrvNetEdit->setEnabled(true); + m_pDetailsButton->setEnabled(true); + if(m_pConnectCurrent) + m_pConnectCurrent->setEnabled(m_pLastEditedItem->m_pServerData); + + m_pRemoveButton->setEnabled(true); + m_pCopyServerButton->setEnabled(m_pLastEditedItem->m_pServerData); + + if(m_pLastEditedItem->m_pServerData) + { + m_pSrvNetLabel->setText(__tr2qs_ctx("Server:","options")); + m_pSrvNetEdit->setText(m_pLastEditedItem->m_pServerData->m_szHostname); + } else { + m_pSrvNetLabel->setText(__tr2qs_ctx("Network:","options")); + m_pSrvNetEdit->setText(it->text(0)); + } + } else { + m_pRemoveButton->setEnabled(false); + m_pCopyServerButton->setEnabled(true); + + if(m_pConnectCurrent) + m_pConnectCurrent->setEnabled(false); + m_pSrvNetLabel->setEnabled(false); + m_pSrvNetEdit->setEnabled(false); + m_pSrvNetEdit->setText(__tr2qs_ctx("No selection","options")); + m_pDetailsButton->setEnabled(false); + } +} + +void OptionsWidget_servers::serverNetworkEditTextEdited(const QString &) +{ + if(!m_pLastEditedItem) + return; + + saveLastItem(); + + // make sure the current item is currently visible (if it still exists) + if(m_pLastEditedItem) + m_pTreeWidget->scrollToItem(m_pLastEditedItem,QTreeWidget::EnsureVisible); +} + + +void OptionsWidget_servers::saveLastItem() +{ + if(!m_pLastEditedItem) + return; + + if(m_pLastEditedItem->m_pServerData) + { + KviCString tmp = m_pSrvNetEdit->text(); + if(tmp.isEmpty()) + tmp = "irc.unknown.net"; + m_pLastEditedItem->m_pServerData->m_szHostname = tmp; + m_pLastEditedItem->updateVisibleStrings(); + } else if(m_pLastEditedItem->m_pNetworkData) + { + QString tmp = m_pSrvNetEdit->text(); + if(tmp.isEmpty()) + tmp = __tr2qs_ctx("UnknownNet","options"); + m_pLastEditedItem->m_pNetworkData->setName(tmp); + m_pLastEditedItem->updateVisibleStrings(); + } +} + +void OptionsWidget_servers::commit() +{ + saveLastItem(); + g_pServerDataBase->clear(); + + IrcServerOptionsTreeWidgetItem * network; + for (int i=0;itopLevelItemCount();i++) + { + network=(IrcServerOptionsTreeWidgetItem *) m_pTreeWidget->topLevelItem(i); + QString tmp = network->m_pNetworkData->name(); + KviIrcNetwork * pNetwork = g_pServerDataBase->findNetwork(tmp); + if(pNetwork) + { + pNetwork->copyFrom(*(network->m_pNetworkData)); + } else { + pNetwork = new KviIrcNetwork(tmp); + pNetwork->copyFrom(*(network->m_pNetworkData)); + g_pServerDataBase->addNetwork(pNetwork); + } + if(network == m_pLastEditedItem)g_pServerDataBase->setCurrentNetwork(pNetwork->name()); + + IrcServerOptionsTreeWidgetItem * ch; + for (int j=0;jchildCount();j++) + { + KviIrcServer *srv; + ch=(IrcServerOptionsTreeWidgetItem *)network->child(j); + if(ch->m_pServerData) + { + if(!ch->m_pServerData->m_szHostname.isEmpty()) + { + srv = pNetwork->findServer(ch->m_pServerData); + if(!srv) + { + srv = new KviIrcServer(*(ch->m_pServerData)); + pNetwork->insertServer(srv); + } else *srv = *(ch->m_pServerData); + if(srv->id().isEmpty())srv->generateUniqueId(); + if(ch == m_pLastEditedItem) + { + g_pServerDataBase->setCurrentNetwork(pNetwork->name()); + pNetwork->setCurrentServer(srv); + } + } + } + } + + } + + KviOptionsWidget::commit(); + + // Ensure saving of the server DB + g_pApp->saveIrcServerDataBase(); +} + +void OptionsWidget_servers::customContextMenuRequested(const QPoint &pnt) +{ + int id; + QTreeWidgetItem *it=(QTreeWidgetItem *) m_pTreeWidget->itemAt(pnt); + bool bServer = (it && ((IrcServerOptionsTreeWidgetItem *)it)->m_pServerData); + m_pContextPopup->clear(); + m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),__tr2qs_ctx("New Network","options"),this,SLOT(newNetwork())); + id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Remove Network","options"),this,SLOT(removeCurrent())); + m_pContextPopup->setItemEnabled(id,!bServer); + m_pContextPopup->insertSeparator(); + id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),__tr2qs_ctx("&New Server","options"),this,SLOT(newServer())); + id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Re&move Server","options"),this,SLOT(removeCurrent())); + m_pContextPopup->setItemEnabled(id,bServer); + id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_COPY)),__tr2qs_ctx("&Copy Server","options"),this,SLOT(copyServer())); + m_pContextPopup->setItemEnabled(id,bServer); + id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE)),__tr2qs_ctx("&Paste Server","options"),this,SLOT(pasteServer())); + m_pContextPopup->setItemEnabled(id,m_pClipboard); + + m_pContextPopup->insertSeparator(); + // m_pContextPopup->insertItem(__c2q(__tr("Merge list from server.ini","options")),this,SLOT(importFromIni())); + m_pContextPopup->insertItem(__tr2qs_ctx("Clear List","options"),this,SLOT(clearList())); + m_pContextPopup->insertSeparator(); + m_pContextPopup->insertItem(__tr2qs_ctx("Import List","options"),m_pImportPopup); + m_pContextPopup->popup(QCursor::pos()); +} + +void OptionsWidget_servers::importPopupAboutToShow() +{ + g_pModuleManager->loadModulesByCaps("serverimport"); + m_pImportPopup->clear(); + + KviModuleExtensionDescriptorList * l = KviModuleExtensionManager::instance()->getExtensionList("serverimport"); + + if(!l)return; + + int id; + + for(KviModuleExtensionDescriptor * d = l->first();d;d = l->next()) + { + if(d->icon()) + id = m_pImportPopup->insertItem(*(d->icon()),d->visibleName()); + else + id = m_pImportPopup->insertItem(d->visibleName()); + m_pImportPopup->setItemParameter(id,d->id()); + } +} + +void OptionsWidget_servers::importPopupActivated(int id) +{ + // ensure that we have all the modules : they could have been unloaded while the popup was displayed + g_pModuleManager->loadModulesByCaps("serverimport"); + + KviModuleExtensionDescriptorList * l = KviModuleExtensionManager::instance()->getExtensionList("serverimport"); + + if(!l) + { + // ops.. internal error: I thought to have a module capable of importing servers + // but actually it's not the case.. something weird happened (in the best case + // the user has just unloaded the module and removed it from disk ?) + KviMessageBox::warning(__tr2qs_ctx("Oops... something weird happened:
Can't find any module capable of importing servers.","options")); + return; + } + + if(m_pImportFilter) + { + disconnect(m_pImportFilter,0,this,0); + m_pImportFilter->die(); + m_pImportFilter = 0; + } + + id = m_pImportPopup->itemParameter(id); + + m_pImportFilter = (KviMexServerImport *)KviModuleExtensionManager::instance()->allocateExtension("serverimport",id,0); + + if(!m_pImportFilter) + { + KviMessageBox::warning(__tr2qs_ctx("Oops... something weird happened:
Can't find the module that was capable of this import action. :(","options")); + return; + } + + connect(m_pImportFilter,SIGNAL(server(const KviIrcServer &,const QString&)),this,SLOT(importServer(const KviIrcServer &,const QString&))); + connect(m_pImportFilter,SIGNAL(destroyed()),this,SLOT(importerDead())); + + m_pImportFilter->start(); +} + +void OptionsWidget_servers::importerDead() +{ + m_pImportFilter = 0; +} + +void OptionsWidget_servers::importServer(const KviIrcServer &s,const QString &network) +{ + IrcServerOptionsTreeWidgetItem * net = findNetItem(network); + if(!net) + { + KviIrcNetwork d(network); + net = new IrcServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d); + net->setExpanded(true); + } + + IrcServerOptionsTreeWidgetItem * srv ; + for(int i=0;ichildCount();i++) + { + srv=(IrcServerOptionsTreeWidgetItem *) net->child(i); + if((srv)->m_pServerData->useSSL() == s.useSSL()) + { + if(srv->m_pServerData->isIPv6() == s.isIPv6()) + { + if(KviQString::equalCI(srv->m_pServerData->hostName(),s.hostName())) + { + // update the port + srv->m_pServerData->setPort(s.port()); + if(!s.ip().isEmpty())srv->m_pServerData->setIp(s.ip()); + if(!s.password().isEmpty())srv->m_pServerData->setPassword(s.password()); + if(!s.nickName().isEmpty())srv->m_pServerData->setNickName(s.nickName()); + m_pTreeWidget->setCurrentItem(srv); + m_pTreeWidget->scrollToItem(srv); + return; + } + } + } + } + + // not found : add it! + IrcServerOptionsTreeWidgetItem * newServer = new IrcServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&s); + m_pTreeWidget->setCurrentItem(newServer); + m_pTreeWidget->scrollToItem(newServer); +} + +void OptionsWidget_servers::newNetwork() +{ + KviIrcNetwork d(__tr2qs_ctx("New Network","options")); + IrcServerOptionsTreeWidgetItem * it = new IrcServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d); + it->setExpanded(true); + it->setSelected(true); + m_pTreeWidget->setCurrentItem(it); + m_pTreeWidget->scrollToItem(it); +} + +void OptionsWidget_servers::newServer() +{ + if(m_pLastEditedItem) + { + IrcServerOptionsTreeWidgetItem * net; + if(m_pLastEditedItem->m_pServerData) + { + net = (IrcServerOptionsTreeWidgetItem *)m_pLastEditedItem->parent(); + if(!net)return; + } + else net = m_pLastEditedItem; + + KviIrcServer tmp; + tmp.m_szHostname = __tr2qs_ctx("irc.unknown.net","options"); + tmp.setCacheIp(false); + tmp.generateUniqueId(); + + IrcServerOptionsTreeWidgetItem * it = new IrcServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&tmp); + + net->setExpanded(true); + + it->setSelected(true); + m_pTreeWidget->setCurrentItem(it); + m_pTreeWidget->scrollToItem(it); + } +} + +void OptionsWidget_servers::copyServer() +{ + if(m_pLastEditedItem) + { + if(m_pLastEditedItem->m_pServerData) + { + if(!m_pClipboard)m_pClipboard = new KviIrcServer(); + *m_pClipboard = *(m_pLastEditedItem->m_pServerData); + m_pPasteServerButton->setEnabled(true); + } + } +} + +void OptionsWidget_servers::pasteServer() +{ + if(m_pClipboard) + { + if(m_pLastEditedItem) + { + IrcServerOptionsTreeWidgetItem * net; + if(m_pLastEditedItem->m_pServerData) + { + net = (IrcServerOptionsTreeWidgetItem *)m_pLastEditedItem->parent(); + if(!net)return; + } + else net = m_pLastEditedItem; + + IrcServerOptionsTreeWidgetItem * it = new IrcServerOptionsTreeWidgetItem(net, + *(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),m_pClipboard); + + net->setExpanded(true); + + it->setSelected(true); + m_pTreeWidget->setCurrentItem(it); + m_pTreeWidget->scrollToItem(it); + } + } +} + +void OptionsWidget_servers::removeCurrent() +{ + if(m_pLastEditedItem) + { + QTreeWidgetItem * it = m_pTreeWidget->itemAbove(m_pLastEditedItem); + + int index = m_pTreeWidget->indexOfTopLevelItem(m_pLastEditedItem); + if(index > -1) + { + // top level item + m_pTreeWidget->takeTopLevelItem(m_pTreeWidget->indexOfTopLevelItem(m_pLastEditedItem)); + } else { + QTreeWidgetItem * tmp = m_pLastEditedItem->parent(); + index = tmp->indexOfChild(m_pLastEditedItem); + if(index > -1) tmp->takeChild(index); + } + + if(!it)it = m_pTreeWidget->topLevelItem(0); + if(it) + { + it->setSelected(true); + m_pTreeWidget->setCurrentItem(it); + m_pTreeWidget->scrollToItem(it); + } + } +} + +IrcServerOptionsTreeWidgetItem * OptionsWidget_servers::findNetItem(const QString &netname) +{ + + IrcServerOptionsTreeWidgetItem * it; + for(int i=0;itopLevelItemCount();i++) + { + it=(IrcServerOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); + if(KviQString::equalCI(it->text(0),netname))return it; + } + return 0; +} + +void OptionsWidget_servers::clearList() +{ + m_pTreeWidget->clear(); + m_pLastEditedItem = 0; + currentItemChanged(0,0); +} + +void OptionsWidget_servers::detailsClicked() +{ + if(!m_pLastEditedItem)return; + if(m_pLastEditedItem->m_pServerData) + { + saveLastItem(); + + m_pServerDetailsDialog = new IrcServerDetailsWidget(this,m_pLastEditedItem->m_pServerData); + + int retCode = m_pServerDetailsDialog->exec(); + if(retCode == QDialog::Accepted) + { + if(m_pLastEditedItem) + { + if(m_pLastEditedItem->m_pServerData) + { + m_pServerDetailsDialog->fillData(m_pLastEditedItem->m_pServerData); + saveLastItem(); + } + } + } + + delete m_pServerDetailsDialog; + m_pServerDetailsDialog = 0; + return; + } + if(m_pLastEditedItem->m_pNetworkData) + { + saveLastItem(); + + m_pNetworkDetailsDialog = new IrcNetworkDetailsWidget(this,m_pLastEditedItem->m_pNetworkData); + + int retCode = m_pNetworkDetailsDialog->exec(); + if(retCode == QDialog::Accepted) + { + if(m_pLastEditedItem) + { + if(m_pLastEditedItem->m_pNetworkData) + { + m_pNetworkDetailsDialog->fillData(m_pLastEditedItem->m_pNetworkData); + saveLastItem(); + } + } + } + + delete m_pNetworkDetailsDialog; + m_pNetworkDetailsDialog = 0; + } +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_servers.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_servers.h b/src/modules/options/OptionsWidget_servers.h new file mode 100644 index 000000000..a8e9f7678 --- /dev/null +++ b/src/modules/options/OptionsWidget_servers.h @@ -0,0 +1,229 @@ +#ifndef _OPTW_SERVERS_H_ +#define _OPTW_SERVERS_H_ + +//============================================================================= +// +// File : OptionsWidget_servers.h +// Creation date : Wed Jun 12 2000 03:29:01 by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2000-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include + +#include +#include +#include +#include +#include + +class QLabel; +class QLineEdit; +class QComboBox; +class QPushButton; +class KviIpEditor; +class KviIrcServer; +class KviTalPopupMenu; +class KviScriptEditor; +class KviNickServRule; +class NickServRuleEditor; +class KviIrcServer; +class KviIrcNetwork; +class KviIrcNetworkData; +class KviMexServerImport; + + +class IrcServerOptionsTreeWidgetItem : public QTreeWidgetItem +{ +public: + IrcServerOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,const KviIrcNetwork *n); + IrcServerOptionsTreeWidgetItem(QTreeWidgetItem *parent,const QPixmap &pm,const KviIrcServer *s); + ~IrcServerOptionsTreeWidgetItem(); +public: + KviIrcServer * m_pServerData; + KviIrcNetwork * m_pNetworkData; +public: + KviIrcServer * serverData() const + { + return m_pServerData; + } + + KviIrcNetwork * networkData() const + { + return m_pNetworkData; + } +public: + void updateVisibleStrings(); +}; + + +class IrcNetworkDetailsWidget : public QDialog +{ + Q_OBJECT +public: + IrcNetworkDetailsWidget(QWidget * par,KviIrcNetwork * d); + ~IrcNetworkDetailsWidget(); +protected: + KviScriptEditor * m_pOnConnectEditor; + KviScriptEditor * m_pOnLoginEditor; + + QLineEdit * m_pUserEditor; + KviPasswordLineEdit * m_pPassEditor; + QLineEdit * m_pNickEditor; + QLineEdit * m_pRealEditor; + QLineEdit * m_pDescEditor; + + QComboBox * m_pEncodingEditor; + QComboBox * m_pTextEncodingEditor; + + QCheckBox * m_pAutoConnectCheck; + + QTreeWidget * m_pNickServTreeWidget; + QCheckBox * m_pNickServCheck; + QPushButton * m_pAddRuleButton; + QPushButton * m_pDelRuleButton; + QPushButton * m_pEditRuleButton; + + QStringList m_lstChannels; + KviChannelListSelector * m_pChannelListSelector; +public: + void fillData(KviIrcNetwork * d); +protected slots: + void enableDisableNickServControls(); + void addNickServRule(); + void delNickServRule(); + void editNickServRule(); +}; + +class IrcServerDetailsWidget : public QDialog +{ + Q_OBJECT +public: + IrcServerDetailsWidget(QWidget * par,KviIrcServer * s); + ~IrcServerDetailsWidget(); +protected: + QString m_szHostname; + QLabel * m_pHeaderLabel; + KviScriptEditor * m_pOnConnectEditor; + KviScriptEditor * m_pOnLoginEditor; + QLineEdit * m_pUserEditor; + KviPasswordLineEdit * m_pPassEditor; + KviPasswordLineEdit * m_pSaslPassEditor; + QLineEdit * m_pNickEditor; + QLineEdit * m_pSaslNickEditor; + QLineEdit * m_pRealEditor; + QLineEdit * m_pDescEditor; + QLineEdit * m_pIdEditor; + QComboBox * m_pLinkFilterEditor; + QComboBox * m_pEncodingEditor; + QComboBox * m_pTextEncodingEditor; + KviIpEditor * m_pIpEditor; + QCheckBox * m_pCacheIpCheck; + QCheckBox * m_pUseSSLCheck; + QCheckBox * m_pEnableCAPCheck; + QCheckBox * m_pEnableSTARTTLSCheck; + QCheckBox * m_pEnableSASLCheck; + QCheckBox * m_pUseDefaultInitUMode; + QCheckBox * m_pIMode; + QCheckBox * m_pWMode; + QCheckBox * m_pSMode; + QCheckBox * m_pUseAutoConnect; + QCheckBox * m_pUseIPV6Check; + QLineEdit * m_pPortEditor; + QStringList m_lstChannels; + KviChannelListSelector * m_pChannelListSelector; + + QComboBox * m_pProxyEditor; +protected slots: + void useDefaultInitUModeToggled(bool); + void portEditorTextChanged(const QString &); + void useIPV6CheckToggled(bool); +public: + void setHeaderLabelText(); + void fillData(KviIrcServer *s); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviIrcServerOptionsWidget KVI_SMALLICON_SERVER +#define KVI_OPTIONS_WIDGET_NAME_KviIrcServerOptionsWidget __tr2qs_no_lookup("Servers") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcServerOptionsWidget __tr2qs_no_lookup("connection") +//#define KVI_OPTIONS_WIDGET_NOPARENT_KviIrcServerOptionsWidget OptionsWidget_connection +#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcServerOptionsWidget 99000 + +class OptionsWidget_servers : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_servers(QWidget * parent); + ~OptionsWidget_servers(); +protected: + QTreeWidget * m_pTreeWidget; + QLabel * m_pSrvNetLabel; + QLineEdit * m_pSrvNetEdit; + //QLabel * m_pPortLabel; + //QLineEdit * m_pPortEdit; + QPushButton * m_pDetailsButton; + KviTalPopupMenu * m_pRecentPopup; + KviTalPopupMenu * m_pContextPopup; + KviTalPopupMenu * m_pImportPopup; + KviIrcServer * m_pClipboard; + //QCheckBox * m_pIPv6Check; + QPushButton * m_pConnectCurrent; + QPushButton * m_pConnectNew; + IrcServerOptionsTreeWidgetItem * m_pLastEditedItem; + IrcServerDetailsWidget * m_pServerDetailsDialog; + IrcNetworkDetailsWidget * m_pNetworkDetailsDialog; + KviMexServerImport * m_pImportFilter; + + QToolButton * m_pNewServerButton; + QToolButton * m_pNewNetworkButton; + QToolButton * m_pRemoveButton; + QToolButton * m_pCopyServerButton; + QToolButton * m_pPasteServerButton; + QToolButton * m_pImportButton; +private: + void fillServerList(); + void saveLastItem(); + IrcServerOptionsTreeWidgetItem * findNetItem(const QString &netname); + void selectBestServerByUrl(const QString &szUrl); +protected slots: + void importerDead(); + void importServer(const KviIrcServer & s,const QString &network); + void importPopupAboutToShow(); + void currentItemChanged(QTreeWidgetItem *cur,QTreeWidgetItem *prev); + void customContextMenuRequested(const QPoint &pnt); + void newNetwork(); + void removeCurrent(); + void newServer(); + void copyServer(); + void pasteServer(); + void clearList(); + void itemDoubleClicked(QTreeWidgetItem*, int ); + void detailsClicked(); + void connectCurrentClicked(); + void recentServersPopupAboutToShow(); + void recentServersPopupClicked(int id); + void importPopupActivated(int id); + void serverNetworkEditTextEdited(const QString &szNewText); +public: + virtual void commit(); +}; + +#endif //!_OPTW_SERVERS_H_ diff --git a/src/modules/options/OptionsWidget_sound.cpp b/src/modules/options/OptionsWidget_sound.cpp new file mode 100644 index 000000000..c617a8ca4 --- /dev/null +++ b/src/modules/options/OptionsWidget_sound.cpp @@ -0,0 +1,356 @@ +//============================================================================= +// +// File : OptionsWidget_sound.cpp +// Creation date : Fri Sep 6 02:18:23 2002 GMT by Szymon Stefanek +// +// This file is part of the KVsound sound client distribution +// Copyright (C) 2002-2010 Szymon Stefanek (pragma at kvsound 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. +// +//============================================================================= + +#include "OptionsWidget_sound.h" + +#include "kvi_settings.h" +#include "KviLocale.h" +#include "KviOptions.h" +#include "KviModuleManager.h" +#include "KviPointerList.h" +#include "KviCString.h" +#include "KviTalHBox.h" +#include "KviTalToolTip.h" +#include "KviApplication.h" + +#include +#include + + +// FIXME: This module doesn't ???? properly when auto-detection is performed! + + + +OptionsWidget_sound::OptionsWidget_sound(QWidget * pParent) +: KviOptionsWidget(pParent) +{ +} + +OptionsWidget_sound::~OptionsWidget_sound() +{ +} + + +OptionsWidget_soundGeneral::OptionsWidget_soundGeneral(QWidget * parent) +: KviOptionsWidget(parent) +{ + m_bFirstShow = true; + + setObjectName("sound_system_options_widget"); + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Sound System","options"),true); + + KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select the sound system to be used with KVIrc.","options")); + + KviTalHBox * h = new KviTalHBox(g); + + m_pSoundSystemBox = new QComboBox(h); + + m_pSoundAutoDetectButton = new QPushButton(__tr2qs_ctx("Auto-detect","options"),h); + connect(m_pSoundAutoDetectButton,SIGNAL(clicked()),this,SLOT(soundAutoDetect())); + + m_pSoundTestButton = new QPushButton(__tr2qs_ctx("Test","options"),h); + connect(m_pSoundTestButton,SIGNAL(clicked()),this,SLOT(soundTest())); + + g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Media Player","options"),true); + + KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select the preferred media player to be used with " \ + "the mediaplayer.* module commands and functions.","options")); + + h = new KviTalHBox(g); + + m_pMediaPlayerBox = new QComboBox(h); + + m_pMediaAutoDetectButton = new QPushButton(__tr2qs_ctx("Auto-detect","options"),h); + connect(m_pMediaAutoDetectButton,SIGNAL(clicked()),this,SLOT(mediaAutoDetect())); + + m_pMediaTestButton = new QPushButton(__tr2qs_ctx("Test","options"),h); + connect(m_pMediaTestButton,SIGNAL(clicked()),this,SLOT(mediaTest())); + + m_pMediaTestButton->setEnabled(false); + + g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("ID3 tags' encoding","options"),true); + + KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select encoding of mp3 tags.","options")); + + h = new KviTalHBox(g); + + m_pTagsEncodingCombo = new QComboBox(h); + m_pTagsEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); + + int i = 0; + int iMatch = 0; + + KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); + while(d->szName) + { + if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding)))iMatch = i + 1; + m_pTagsEncodingCombo->insertItem(m_pTagsEncodingCombo->count(),d->szName); + i++; + d = KviLocale::encodingDescription(i); + } + m_pTagsEncodingCombo->setCurrentIndex(iMatch); + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Winamp messages ecoding","options"),true); + + KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select encoding of winamp messages.","options")); + + h = new KviTalHBox(g); + + m_pWinampEncodingCombo = new QComboBox(h); + + m_pWinampEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); + i = 0; + iMatch = 0; + + d = KviLocale::encodingDescription(i); + while(d->szName) + { + if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringWinampTextEncoding)))iMatch = i + 1; + m_pWinampEncodingCombo->insertItem(m_pWinampEncodingCombo->count(),d->szName); + i++; + d = KviLocale::encodingDescription(i); + } + m_pWinampEncodingCombo->setCurrentIndex(iMatch); + + addRowSpacer(0,4,0,4); +#else + addRowSpacer(0,3,0,3); +#endif +} + + +OptionsWidget_soundGeneral::~OptionsWidget_soundGeneral() +{ +} + +void OptionsWidget_soundGeneral::showEvent(QShowEvent *) +{ + if(!m_bFirstShow) + return; + // We fill these boxes only before the first show since the soundFillBox() + // is likely to trigger sound system-detection which may take time... + + g_pApp->setOverrideCursor(Qt::WaitCursor); + + soundFillBox(); + mediaFillBox(); + + g_pApp->restoreOverrideCursor(); + + m_bFirstShow = false; +} + +void OptionsWidget_soundGeneral::soundTest() +{ + QString szSavedSoundSystem = KVI_OPTION_STRING(KviOption_stringSoundSystem); + KVI_OPTION_STRING(KviOption_stringSoundSystem) = m_pSoundSystemBox->currentText(); + + KviModule * m = g_pModuleManager->getModule("snd"); + + if(!m) + return; // doh + + QString szFileName; + + if(!g_pApp->findAudioFile(szFileName,QString::fromUtf8("jingle.wav"))) + { + qDebug("Can't find the jingle.wav file: was it shipped with your kvirc installation?"); + return; + } + + m->ctrl("play",&szFileName); + + KVI_OPTION_STRING(KviOption_stringSoundSystem) = szSavedSoundSystem; +} + +void OptionsWidget_soundGeneral::mediaTest() +{ +} + +void OptionsWidget_soundGeneral::soundAutoDetect() +{ + KviModule * m = g_pModuleManager->getModule("snd"); + if(!m) + return; + + g_pApp->setOverrideCursor(Qt::WaitCursor); + + m->ctrl("detectSoundSystem",0); + soundFillBox(); + + g_pApp->restoreOverrideCursor(); +} + +void OptionsWidget_soundGeneral::mediaAutoDetect() +{ + KviModule * m = g_pModuleManager->getModule("mediaplayer"); + if(!m) + return; + + g_pApp->setOverrideCursor(Qt::WaitCursor); + + m->ctrl("detectMediaPlayer",0); + mediaFillBox(); + + g_pApp->restoreOverrideCursor(); +} + +void OptionsWidget_soundGeneral::soundFillBox() +{ + QStringList l; + QStringList::Iterator it; + int cnt; + int i; + KviModule * m = g_pModuleManager->getModule("snd"); + + if(!m) + goto disable; + + if(!m->ctrl("getAvailableSoundSystems",&l)) + goto disable; + + m_pSoundSystemBox->clear(); + for ( it = l.begin(); it != l.end(); ++it ) + { + m_pSoundSystemBox->addItem(*it); + } + + cnt = m_pSoundSystemBox->count(); + + for(i=0;iitemText(i); + if(KviQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringSoundSystem))) + { + m_pSoundSystemBox->setCurrentIndex(i); + break; + } + } + + return; +disable: + m_pSoundSystemBox->clear(); + m_pSoundSystemBox->setEnabled(false); + m_pSoundTestButton->setEnabled(false); + m_pSoundAutoDetectButton->setEnabled(false); +} + +void OptionsWidget_soundGeneral::mediaFillBox() +{ + QStringList l; + QStringList::Iterator it; + int cnt; + int i; + KviModule * m = g_pModuleManager->getModule("mediaplayer"); + + if(!m)goto disable; + if(!m->ctrl("getAvailableMediaPlayers",&l))goto disable; + m_pMediaPlayerBox->clear(); + for ( it = l.begin(); it != l.end(); ++it ) + { + m_pMediaPlayerBox->addItem(*it); + } + cnt = m_pMediaPlayerBox->count(); + + for(i=0;iitemText(i); + if(KviQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer))) + { + m_pMediaPlayerBox->setCurrentIndex(i); + break; + } + } + + return; +disable: + m_pMediaPlayerBox->clear(); + m_pMediaPlayerBox->setEnabled(false); + m_pMediaTestButton->setEnabled(false); + m_pMediaAutoDetectButton->setEnabled(false); +} + +void OptionsWidget_soundGeneral::commit() +{ + // avoid to commit if we've never been shown (and initialized) + if(m_bFirstShow) + return; + + KviOptionsWidget::commit(); + KVI_OPTION_STRING(KviOption_stringSoundSystem) = m_pSoundSystemBox->currentText(); + KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer) = m_pMediaPlayerBox->currentText(); + + int idx = m_pTagsEncodingCombo->currentIndex(); + if(idx <= 0) + { + // guess from locale + KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding) = ""; + } else { + KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding) = m_pTagsEncodingCombo->itemText(idx); + } + + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + idx = m_pWinampEncodingCombo->currentIndex(); + if(idx <= 0) + { + // guess from locale + KVI_OPTION_STRING(KviOption_stringWinampTextEncoding) = ""; + } else { + KVI_OPTION_STRING(KviOption_stringWinampTextEncoding) = m_pWinampEncodingCombo->itemText(idx); + } +#endif +} + +OptionsWidget_sounds::OptionsWidget_sounds(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("sound_options_widget"); + createLayout(); + addLabel(0,0,0,0,__tr2qs_ctx("New Query opened","options")); + addSoundSelector(1,0,1,0,"",KviOption_stringOnNewQueryOpenedSound); + + addLabel(0,1,0,1,__tr2qs_ctx("New message in inactive query","options")); + addSoundSelector(1,1,1,1,"",KviOption_stringOnQueryMessageSound); + + addLabel(0,2,0,2,__tr2qs_ctx("Highlighted message in inactive window","options")); + addSoundSelector(1,2,1,2,"",KviOption_stringOnHighlightedMessageSound); + + addLabel(0,3,0,3,__tr2qs_ctx("Me have been kicked","options")); + addSoundSelector(1,3,1,3,"",KviOption_stringOnMeKickedSound); + + addRowSpacer(0,4,1,4); + +} + +OptionsWidget_sounds::~OptionsWidget_sounds() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_sound.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_sound.h b/src/modules/options/OptionsWidget_sound.h new file mode 100644 index 000000000..68e82cc5a --- /dev/null +++ b/src/modules/options/OptionsWidget_sound.h @@ -0,0 +1,97 @@ +#ifndef _OPTW_SOUND_H_ +#define _OPTW_SOUND_H_ +//============================================================================= +// +// File : OptionsWidget_sound.h +// Creation date : Fri Sep 6 02:18:21 2002 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviSoundOptionsWidget KVI_SMALLICON_SOUND +#define KVI_OPTIONS_WIDGET_NAME_KviSoundOptionsWidget __tr2qs_no_lookup("Sound") +#define KVI_OPTIONS_WIDGET_PARENT_KviSoundOptionsWidget OptionsWidget_general +#define KVI_OPTIONS_WIDGET_CONTAINER_KviSoundOptionsWidget true + + +class OptionsWidget_sound : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_sound(QWidget * parent); + ~OptionsWidget_sound(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviSoundGeneralOptionsWidget KVI_SMALLICON_SOUND +#define KVI_OPTIONS_WIDGET_NAME_KviSoundGeneralOptionsWidget __tr2qs_no_lookup("Sound System") +#define KVI_OPTIONS_WIDGET_PARENT_KviSoundGeneralOptionsWidget OptionsWidget_sound +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundGeneralOptionsWidget __tr2qs_no_lookup("sound,xmms,audio,play,amarok") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviSoundGeneralOptionsWidget 70000 + +class OptionsWidget_soundGeneral : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_soundGeneral(QWidget * parent); + ~OptionsWidget_soundGeneral(); +protected: + QComboBox * m_pSoundSystemBox; + QPushButton * m_pSoundTestButton; + QPushButton * m_pSoundAutoDetectButton; + QComboBox * m_pMediaPlayerBox; + QPushButton * m_pMediaTestButton; + QPushButton * m_pMediaAutoDetectButton; + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + QComboBox * m_pWinampEncodingCombo; +#endif + QComboBox * m_pTagsEncodingCombo; + bool m_bFirstShow; +protected: + void soundFillBox(); + void mediaFillBox(); + virtual void commit(); + virtual void showEvent(QShowEvent *e); +protected slots: + void soundTest(); + void soundAutoDetect(); + void mediaTest(); + void mediaAutoDetect(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviSoundsOptionsWidget KVI_SMALLICON_SOUND +#define KVI_OPTIONS_WIDGET_NAME_KviSoundsOptionsWidget __tr2qs_no_lookup("Sounds") +#define KVI_OPTIONS_WIDGET_PARENT_KviSoundsOptionsWidget OptionsWidget_sound +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundsOptionsWidget __tr2qs_no_lookup("sound,events") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviSoundsOptionsWidget 80000 + +class OptionsWidget_sounds : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_sounds(QWidget * parent); + ~OptionsWidget_sounds(); +}; + +#endif //_OPTW_SOUND_H_ diff --git a/src/modules/options/OptionsWidget_textEncoding.cpp b/src/modules/options/OptionsWidget_textEncoding.cpp new file mode 100644 index 000000000..d471466f0 --- /dev/null +++ b/src/modules/options/OptionsWidget_textEncoding.cpp @@ -0,0 +1,169 @@ +//============================================================================= +// +// File : OptionsWidget_textEncoding.cpp +// Creation date : Sat Aug 11 2001 03:29:52 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_textEncoding.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviQString.h" +#include "KviApplication.h" +#include "KviFileUtils.h" + +#include +#include + +QString g_szPrevSettedLocale; + +OptionsWidget_textEncoding::OptionsWidget_textEncoding(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("textencoding_options_widget"); + createLayout(); + + //server encoding + addLabel(0,0,0,0,__tr2qs_ctx("Default server encoding:","options")); + + m_pSrvEncodingCombo = new QComboBox(this); + addWidgetToLayout(m_pSrvEncodingCombo,1,0,1,0); + + m_pSrvEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); + + //text encoding + addLabel(0,1,0,1,__tr2qs_ctx("Default text encoding:","options")); + + m_pTextEncodingCombo = new QComboBox(this); + addWidgetToLayout(m_pTextEncodingCombo,1,1,1,1); + + m_pTextEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); + + //common between text and server encoding + int i = 0; + int iTextMatch = 0, iSrvMatch=0; + KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); + while(d->szName) + { + if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringDefaultTextEncoding)))iTextMatch = i + 1; + if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding)))iSrvMatch = i + 1; + + m_pTextEncodingCombo->insertItem(m_pTextEncodingCombo->count(),d->szName); + m_pSrvEncodingCombo->insertItem(m_pSrvEncodingCombo->count(),d->szName); + i++; + d = KviLocale::encodingDescription(i); + } + + m_pTextEncodingCombo->setCurrentIndex(iTextMatch); + m_pSrvEncodingCombo->setCurrentIndex(iSrvMatch); + + addLabel(0,2,0,2,__tr2qs_ctx("Force language:","options")); + + m_pForcedLocaleCombo = new QComboBox(this); + + addWidgetToLayout(m_pForcedLocaleCombo,1,2,1,2); + + QLabel * l = new QLabel(__tr2qs_ctx("Note: You need to restart KVirc to apply a language changing","options"),this); + addWidgetToLayout(l,0,3,1,3); + + m_pForcedLocaleCombo->addItem(__tr2qs_ctx("Automatic detection","options")); + m_pForcedLocaleCombo->addItem(__tr2qs_ctx("en","options")); + + QString szLangFile=QString("%1/.kvirc_force_locale").arg(QDir::homePath()); + + bool bIsDefaultLocale = !KviFileUtils::fileExists(szLangFile); + //We Have setted locale, but not restarted kvirc + if(!g_szPrevSettedLocale.isEmpty()) + { + m_szLanguage=g_szPrevSettedLocale; + } else { + m_szLanguage=KviLocale::localeName(); + } + + QString szLocaleDir; + g_pApp->getGlobalKvircDirectory(szLocaleDir,KviApplication::Locale); + + QStringList list=QDir(szLocaleDir).entryList(QStringList("kvirc_*.mo"),QDir::Files); + + i = 0; + int iMatch = 0; + + for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { + QString szTmp=*it; + szTmp.replace("kvirc_",""); + szTmp.replace(".mo",""); + m_pForcedLocaleCombo->insertItem(m_pForcedLocaleCombo->count(),szTmp); + if(KviQString::equalCI(szTmp,m_szLanguage)) + iMatch = i + 2; + i++; + } + if(bIsDefaultLocale) + m_pForcedLocaleCombo->setCurrentIndex(0); + else if(KviQString::equalCI(m_szLanguage,"en")) + m_pForcedLocaleCombo->setCurrentIndex(1); + else + m_pForcedLocaleCombo->setCurrentIndex(iMatch); + addRowSpacer(0,4,1,4); +} + +OptionsWidget_textEncoding::~OptionsWidget_textEncoding() +{ +} + +void OptionsWidget_textEncoding::commit() +{ + int idx = m_pTextEncodingCombo->currentIndex(); + if(idx <= 0) + { + // guess from locale + KVI_OPTION_STRING(KviOption_stringDefaultTextEncoding) = ""; + } else { + KVI_OPTION_STRING(KviOption_stringDefaultTextEncoding) = m_pTextEncodingCombo->itemText(idx); + } + + idx = m_pSrvEncodingCombo->currentIndex(); + if(idx <= 0) + { + // guess from locale + KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding) = ""; + } else { + KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding) = m_pSrvEncodingCombo->itemText(idx); + } + + idx=m_pForcedLocaleCombo->currentIndex(); + QString szLangFile=QString("%1/.kvirc_force_locale").arg(QDir::homePath()); + if(idx==0) { + if(KviFileUtils::fileExists(szLangFile)) + KviFileUtils::removeFile(szLangFile); + } else { + g_szPrevSettedLocale=m_pForcedLocaleCombo->itemText(idx); + if(!KviFileUtils::writeFile(szLangFile,m_pForcedLocaleCombo->itemText(idx))) + { + QMessageBox::critical(this,"KVIrc",__tr2qs_ctx("Unable to write language information to","options")+"\n"+szLangFile,__tr2qs_ctx("Ok","options")); + } + } +/* if(!KviQString::equalCI(m_pForcedLocaleCombo->text(idx),m_szLanguage)) + QMessageBox::information(0,"KVIrc",__tr2qs_ctx("You need to restart KVirc to apply a language changing","options"),QMessageBox::Ok);*/ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_textEncoding.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_textEncoding.h b/src/modules/options/OptionsWidget_textEncoding.h new file mode 100644 index 000000000..d9d60eb9d --- /dev/null +++ b/src/modules/options/OptionsWidget_textEncoding.h @@ -0,0 +1,52 @@ +#ifndef _OPTW_TEXTENCODING_H_ +#define _OPTW_TEXTENCODING_H_ +//============================================================================= +// +// File : OptionsWidget_textEncoding.h +// Creation date : Sat Mar 02 2002 12:09:19 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviTextEncodingOptionsWidget KVI_SMALLICON_TEXTENCODING +#define KVI_OPTIONS_WIDGET_NAME_KviTextEncodingOptionsWidget __tr2qs_no_lookup("Language") +#define KVI_OPTIONS_WIDGET_PRIORITY_KviTextEncodingOptionsWidget 50000 +#define KVI_OPTIONS_WIDGET_PARENT_KviTextEncodingOptionsWidget OptionsWidget_general +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTextEncodingOptionsWidget __tr2qs_no_lookup("language,encoding,charset,codepage") + +class OptionsWidget_textEncoding : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_textEncoding(QWidget * parent); + ~OptionsWidget_textEncoding(); +protected: + QString m_szLanguage; + QComboBox * m_pTextEncodingCombo; + QComboBox * m_pSrvEncodingCombo; + QComboBox * m_pForcedLocaleCombo; +public: + virtual void commit(); +}; + +#endif //!_OPTW_TEXTENCODING_H_ diff --git a/src/modules/options/OptionsWidget_textIcons.cpp b/src/modules/options/OptionsWidget_textIcons.cpp new file mode 100644 index 000000000..0c1e68a81 --- /dev/null +++ b/src/modules/options/OptionsWidget_textIcons.cpp @@ -0,0 +1,291 @@ +//============================================================================= +// +// File : OptionsWidget_textIcons.cpp +// Creation date : Fri May 24 2002 00:16:13 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "OptionsWidget_textIcons.h" + +#include "KviIconManager.h" +#include "KviTextIconManager.h" +#include "KviLocale.h" +#include "KviFileDialog.h" +#include "kvi_fileextensions.h" +#include "KviTalHBox.h" + +#include +#include +#include + +TextIconTableItem::TextIconTableItem(QTableWidget *,KviTextIcon * icon) +: QTableWidgetItem(QString(),Qt::ItemIsEditable) +{ + if(icon) + m_pIcon=icon; + else + m_pIcon=new KviTextIcon(0); + QPixmap* pix=m_pIcon->pixmap(); + if(pix) setIcon(QIcon(*pix)); +} + +TextIconTableItem::~TextIconTableItem() +{ + delete m_pIcon; + +} + +void TextIconTableItem::setId(int id) +{ + m_pIcon->setId(id); + QPixmap* pix=m_pIcon->pixmap(); + if(pix) setIcon(QIcon(*pix)); +} + + +OptionsWidget_textIcons::OptionsWidget_textIcons(QWidget * parent) +: KviOptionsWidget(parent) +{ + m_pBox=0; + m_pIconButton=0; + m_pBrowseButton=0; + m_pPopup=0; + m_iLastEditedRow=-1; + + setObjectName("texticons_options_widget"); + createLayout(); + + m_pTable = new QTableWidget(this); + + m_pTable->setColumnCount(2); + m_pTable->setColumnWidth(0,300); + m_pTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch); + m_pTable->horizontalHeader()->stretchLastSection(); + m_pTable->setSelectionBehavior(QAbstractItemView::SelectRows); + m_pTable->setSelectionMode(QAbstractItemView::SingleSelection); + m_pTable->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + + mergeTip(m_pTable->viewport(),__tr2qs_ctx("This table contains the text icon associations.
" \ + "KVirc will use them to display the CTRL+I escape sequences and eventually the " \ + "emoticons.","options")); + + layout()->addWidget(m_pTable,0,0,1,3); + + m_pAdd = new QPushButton(__tr2qs_ctx("Add","options"),this); + layout()->addWidget(m_pAdd,1,0); + connect(m_pAdd,SIGNAL(clicked()),this,SLOT(addClicked())); + + m_pDel = new QPushButton(__tr2qs_ctx("Delete","options"),this); + layout()->addWidget(m_pDel,1,1); + connect(m_pDel,SIGNAL(clicked()),this,SLOT(delClicked())); + + m_pRestore = new QPushButton(__tr2qs_ctx("Restore","options"),this); + layout()->addWidget(m_pRestore,1,2); + connect(m_pRestore,SIGNAL(clicked()),this,SLOT(restoreClicked())); + + connect(m_pTable,SIGNAL(itemSelectionChanged()),this,SLOT(itemSelectionChanged())); + connect(m_pTable,SIGNAL(itemClicked(QTableWidgetItem *)),this,SLOT(itemClicked(QTableWidgetItem *))); + + fillTable(); +} + +OptionsWidget_textIcons::~OptionsWidget_textIcons() +{ + if(m_pIconButton) + delete m_pIconButton; + if(m_pBrowseButton) + delete m_pBrowseButton; + if(m_pBox) + delete m_pBox; +} + +void OptionsWidget_textIcons::fillTable() +{ + KviPointerHashTableIterator it(*(g_pTextIconManager->textIconDict())); + + m_pTable->clear(); + QStringList header; + header.append(__tr2qs("Text")); + header.append(__tr2qs("Emoticon")); + m_pTable->setHorizontalHeaderLabels(header); + m_pTable->setRowCount(g_pTextIconManager->textIconDict()->count()); + + int idx = 0; + QTableWidgetItem *item0; + TextIconTableItem *item1; + while(KviTextIcon * i = it.current()) + { + if(!m_pTable->item(idx,0)) + { + item0 = new QTableWidgetItem(it.currentKey()); + m_pTable->setItem(idx,0,item0); + } + + item1 = new TextIconTableItem(m_pTable,new KviTextIcon(i)); + //remove from the item the ability to be edited as text + item1->setFlags(item1->flags() ^ Qt::ItemIsEditable); + m_pTable->setItem(idx,1,item1); + + ++idx; + ++it; + } + + // disable the delete button + m_pDel->setEnabled(false); +} + +void OptionsWidget_textIcons::doPopup() +{ + if(!m_pPopup) + { + m_pPopup = new KviTalPopupMenu(this); + KviIconWidget * iw = new KviIconWidget(m_pPopup); + connect(iw,SIGNAL(selected(int)),this,SLOT(iconSelected(int))); + m_pPopup->insertItem(iw); + } + m_pPopup->popup(QCursor::pos()); +} + +void OptionsWidget_textIcons::iconSelected(int id) +{ + m_pItem->icon()->setId(id); + m_pItem->setIcon(QIcon(*m_pItem->icon()->pixmap())); + m_pIconButton->setIcon(QIcon(*m_pItem->icon()->pixmap())); +} + +void OptionsWidget_textIcons::chooseFromFile() +{ + QString szFile; + KviFileDialog::askForOpenFileName(szFile,"Choose icon filename",QString(),KVI_FILTER_IMAGE,"options"); + if(!szFile.isEmpty()) + { + if(g_pIconManager->getPixmap(szFile)) + { + m_pItem->icon()->setFilename(szFile); + m_pItem->setIcon(QIcon(*m_pItem->icon()->pixmap())); + m_pIconButton->setIcon(QIcon(*m_pItem->icon()->pixmap())); + } + } +} +void OptionsWidget_textIcons::itemSelectionChanged() +{ + int i = m_pTable->currentRow(); + m_pDel->setEnabled(i >= 0 && i < m_pTable->rowCount()); +} +void OptionsWidget_textIcons::itemClicked(QTableWidgetItem *i) +{ + if (i->column()!=1) return; + if (m_iLastEditedRow==i->row()) return; + + m_pItem=(TextIconTableItem *)i; + + if(m_pIconButton) + delete m_pIconButton; + if(m_pBrowseButton) + delete m_pBrowseButton; + if (m_pBox) + delete m_pBox; + + m_pBox=new KviTalHBox(0); + m_pBox->setSpacing(0); + m_pBox->setMargin(0); + + m_pIconButton=new QToolButton(m_pBox); + m_pIconButton->setMinimumWidth(150); + m_pIconButton->setIcon(QIcon(i->icon())); + connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(doPopup())); + + m_pBrowseButton=new QToolButton(m_pBox); + m_pBrowseButton->setText("..."); + connect(m_pBrowseButton,SIGNAL(clicked()),this,SLOT(chooseFromFile())); + + m_pTable->setCellWidget(i->row(),1,m_pBox); + m_iLastEditedRow=i->row(); +} + +void OptionsWidget_textIcons::addClicked() +{ + m_pTable->setRowCount(m_pTable->rowCount() + 1); + m_pTable->setItem(m_pTable->rowCount() - 1,0,new QTableWidgetItem(__tr2qs_ctx("unnamed","options"))); + m_pTable->setItem(m_pTable->rowCount() - 1,1,new TextIconTableItem(m_pTable,0)); + m_pTable->scrollToBottom(); + m_pDel->setEnabled(true); +} + +void OptionsWidget_textIcons::restoreClicked() +{ + g_pTextIconManager->checkDefaultAssociations(); + fillTable(); +} + +void OptionsWidget_textIcons::delClicked() +{ + int i = m_pTable->currentRow(); + + if((i > -1) && (i < m_pTable->rowCount())) + { + if(m_pIconButton) + { + delete m_pIconButton; + m_pIconButton=0; + } + if(m_pBrowseButton) + { + delete m_pBrowseButton; + m_pBrowseButton=0; + } + if (m_pBox) + { + delete m_pBox; + m_pBox=0; + } + m_pTable->removeRow(i); + if(m_pTable->rowCount() == 0) m_pDel->setEnabled(false); + } +} + +void OptionsWidget_textIcons::commit() +{ + + KviOptionsWidget::commit(); + g_pTextIconManager->clear(); + int n = m_pTable->rowCount(); + for(int i=0;i < n;i++) + { + QString szVal = m_pTable->item(i,0)->text(); + if(!szVal.isEmpty()) + { + TextIconTableItem * it = (TextIconTableItem *)m_pTable->item(i,1); + if(it) + { + g_pTextIconManager->insert(szVal,*(it->icon())); + } + } + } + + for(int i=0; icolumnCount(); j++) + if (m_pTable->item(i,j)) m_pTable->takeItem(i,j); + +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_textIcons.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_textIcons.h b/src/modules/options/OptionsWidget_textIcons.h new file mode 100644 index 000000000..b53dcad93 --- /dev/null +++ b/src/modules/options/OptionsWidget_textIcons.h @@ -0,0 +1,90 @@ +#ifndef _OPTW_TEXTICONS_H_ +#define _OPTW_TEXTICONS_H_ +//============================================================================= +// +// File : OptionsWidget_textIcons.h +// Creation date : Fri May 24 2002 00:14:02 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" +#include "KviTextIconManager.h" +#include "KviTalPopupMenu.h" +#include "KviTalHBox.h" + +#include +#include +#include + +class TextIconTableItem; + +#define KVI_OPTIONS_WIDGET_ICON_KviTextIconsOptionsWidget KVI_SMALLICON_BIGGRIN +#define KVI_OPTIONS_WIDGET_NAME_KviTextIconsOptionsWidget __tr2qs_no_lookup("Text icons") +#define KVI_OPTIONS_WIDGET_PARENT_KviTextIconsOptionsWidget OptionsWidget_tools +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTextIconsOptionsWidget __tr2qs_no_lookup("smileys,emoticons") + +class TextIconTableItem : public QTableWidgetItem +{ + friend class OptionsWidget_textIcons; +public: + TextIconTableItem(QTableWidget * t,KviTextIcon * icon); + ~TextIconTableItem(); +protected: + KviTextIcon * m_pIcon; +public: + KviTextIcon * icon() { return m_pIcon; }; + void setId(int id); + +}; + +class OptionsWidget_textIcons : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_textIcons(QWidget * parent); + ~OptionsWidget_textIcons(); +protected: + QTableWidget * m_pTable; + int m_iLastEditedRow; + TextIconTableItem *m_pItem; + QPushButton * m_pAdd; + QPushButton * m_pDel; + QPushButton * m_pRestore; + KviTalPopupMenu *m_pPopup; + KviTalHBox *m_pBox; + QToolButton *m_pIconButton; + QToolButton *m_pBrowseButton; +private: + void fillTable(); +public: + virtual void commit(); +protected slots: + void itemSelectionChanged(); + void itemClicked(QTableWidgetItem *i); + void addClicked(); + void delClicked(); + void restoreClicked(); + + void iconSelected(int); + void doPopup(); + void chooseFromFile(); +}; + +#endif //!_OPTW_TEXTICONS_H_ diff --git a/src/modules/options/OptionsWidget_theme.cpp b/src/modules/options/OptionsWidget_theme.cpp new file mode 100644 index 000000000..f2518fd1d --- /dev/null +++ b/src/modules/options/OptionsWidget_theme.cpp @@ -0,0 +1,204 @@ +//============================================================================= +// +// File : OptionsWidget_theme.cpp +// Creation date : Sun Jun 3 2001 20:50:13 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_theme.h" + +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviApplication.h" +#include "KviTalToolTip.h" + +#include + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_theme::OptionsWidget_theme(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + KviBoolSelector * b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Use global application font","options"),KviOption_boolUseGlobalApplicationFont); + KviTalToolTip::add(b,__tr2qs_ctx("This option will force a static font for every widget that has no specific font setting","options")); + addBoolSelector(0,0,1,0,__tr2qs_ctx("Show icons in popup menus","options"),KviOption_boolShowIconsInPopupMenus); + KviFontSelector * f = addFontSelector(0,2,1,2,__tr2qs_ctx("Global application font:","options"),KviOption_fontApplication, + KVI_OPTION_BOOL(KviOption_boolUseGlobalApplicationFont)); + + connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); + + addRowSpacer(0,3,1,3); +} + +OptionsWidget_theme::~OptionsWidget_theme() +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_themeTransparency::OptionsWidget_themeTransparency(QWidget * parent) +: KviOptionsWidget(parent) +{ +#ifdef COMPILE_PSEUDO_TRANSPARENCY + + createLayout(); + + KviUIntSelector * u = addUIntSelector(0,0,1,0,__tr2qs_ctx("Global window opacity percent:","options"),KviOption_uintGlobalWindowOpacityPercent, + 50,100,100, true); + + m_pUseTransparencyBoolSelector = addBoolSelector(0,1,1,1,__tr2qs_ctx("Enable transparency","options"),KviOption_boolUseGlobalPseudoTransparency); + #ifdef COMPILE_X11_SUPPORT + mergeTip(m_pUseTransparencyBoolSelector, + __tr2qs_ctx("
This option makes all KVIrc windows look " \ + "transparent.
You must choose a blending " \ + "background image to below or check the " \ + "\"Use compositing for real transparency\" option.
","options")); + #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + mergeTip(m_pUseTransparencyBoolSelector, + __tr2qs_ctx("
This option makes all KVIrc windows look " \ + "transparent.
You must choose a blending " \ + "background image to below or check the " \ + "\"Use desktop background for transparency\" option.
","options")); + #else + mergeTip(m_pUseTransparencyBoolSelector, + __tr2qs_ctx("
This option makes all KVIrc windows look " \ + "like transparent.
You must choose a blending " \ + "background image to below.
","options")); + #endif + + u = addUIntSelector(0,2,1,2,__tr2qs_ctx("Child window opacity:","options"),KviOption_uintGlobalTransparencyChildFadeFactor, + 0,100,35,KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); + connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + u = addUIntSelector(0,3,1,3,__tr2qs_ctx("Parent window opacity:","options"),KviOption_uintGlobalTransparencyParentFadeFactor, + 0,100,10,KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); + connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + + KviColorSelector * c = addColorSelector(0,4,1,4,__tr2qs_ctx("Blend color:","options"),KviOption_colorGlobalTransparencyFade, + KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); + connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),c,SLOT(setEnabled(bool))); + + #ifdef COMPILE_X11_SUPPORT + m_pUseCompositingForTransparencyBoolSelector = addBoolSelector(0,5,1,5,__tr2qs_ctx("Use compositing for real transparency","options"),KviOption_boolUseCompositingForTransparency, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); + + m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,6,1,6,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) && !KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency)); + layout()->setRowStretch(7,1); + + if(g_pApp->supportsCompositing()) + { + connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),m_pUseCompositingForTransparencyBoolSelector,SLOT(setEnabled(bool))); + connect(m_pUseCompositingForTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool))); + } else { + m_pUseCompositingForTransparencyBoolSelector->setEnabled(false); + m_pUseCompositingForTransparencyBoolSelector->setChecked(false); + enableGlobalBackgroundPixmapSelector(true); + } + + #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + m_pUseWindowsFakeDesktopTransparencyBoolSelector = addBoolSelector(0,5,1,5,__tr2qs_ctx("Use desktop background for transparency","options"),KviOption_boolUseWindowsDesktopForTransparency, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); + + m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,6,1,6,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) && !KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency)); + layout()->setRowStretch(7,1); + + connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),m_pUseWindowsFakeDesktopTransparencyBoolSelector,SLOT(setEnabled(bool))); + connect(m_pUseWindowsFakeDesktopTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool))); + + #else + m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,5,1,5,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); + layout()->setRowStretch(6,1); + #endif //!COMPILE_X11_SUPPORT + + connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool))); +#else //!COMPILE_PSEUDO_TRANSPARENCY + createLayout(); + addRowSpacer(0,0,0,0); +#endif +} + +OptionsWidget_themeTransparency::~OptionsWidget_themeTransparency() +{ +} + +void OptionsWidget_themeTransparency::enableGlobalBackgroundPixmapSelector(bool) +{ +#ifdef COMPILE_PSEUDO_TRANSPARENCY + #ifdef COMPILE_X11_SUPPORT + m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseCompositingForTransparencyBoolSelector->isChecked())); + #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseWindowsFakeDesktopTransparencyBoolSelector->isChecked())); + #else + m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked()); + #endif +#endif +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_themeMdiArea::OptionsWidget_themeMdiArea(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + addColorSelector(0,0,0,0,__tr2qs_ctx("Background","options"),KviOption_colorMdiBackground); + addPixmapSelector(0,1,0,1,__tr2qs_ctx("Background Image","options"),KviOption_pixmapMdiBackground); + + layout()->setRowStretch(1,1); +} + +OptionsWidget_themeMdiArea::~OptionsWidget_themeMdiArea() +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_themeToolBarApplets::OptionsWidget_themeToolBarApplets(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + + addFontSelector(0,0,0,0,__tr2qs_ctx("Font","options"),KviOption_fontIrcToolBarApplet); + + addColorSelector(0,1,0,1,__tr2qs_ctx("Background","options"),KviOption_colorIrcToolBarAppletBackground); + addColorSelector(0,2,0,2,__tr2qs_ctx("Low-Contrast Foreground","options"),KviOption_colorIrcToolBarAppletForegroundLowContrast); + addColorSelector(0,3,0,3,__tr2qs_ctx("Mid-Contrast Foreground","options"),KviOption_colorIrcToolBarAppletForegroundMidContrast); + addColorSelector(0,4,0,4,__tr2qs_ctx("Active High-Contrast Foreground (Primary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastActive1); + addColorSelector(0,5,0,5,__tr2qs_ctx("Active High-Contrast Foreground (Secondary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastActive2); + addColorSelector(0,6,0,6,__tr2qs_ctx("Inactive High-Contrast Foreground (Primary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastInactive1); + addColorSelector(0,7,0,7,__tr2qs_ctx("Inactive High-Contrast Foreground (Secondary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastInactive2); + + addPixmapSelector(0,8,0,8,__tr2qs_ctx("Background Image","options"),KviOption_pixmapIrcToolBarAppletBackground); + + layout()->setRowStretch(8,1); +} + +OptionsWidget_themeToolBarApplets::~OptionsWidget_themeToolBarApplets() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_theme.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_theme.h b/src/modules/options/OptionsWidget_theme.h new file mode 100644 index 000000000..0196ad816 --- /dev/null +++ b/src/modules/options/OptionsWidget_theme.h @@ -0,0 +1,100 @@ +#ifndef _OPTW_INTERFACELOOKGLOBAL_H_ +#define _OPTW_INTERFACELOOKGLOBAL_H_ +//============================================================================= +// +// File : OptionsWidget_theme.h +// Creation date : Sun Jun 3 2001 20:49:02 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "kvi_settings.h" +#include "KviOptionsWidget.h" +#include "KviSelectors.h" + + +#define KVI_OPTIONS_WIDGET_ICON_KviThemeGeneralOptionsWidget KVI_SMALLICON_GUI +#define KVI_OPTIONS_WIDGET_NAME_KviThemeGeneralOptionsWidget __tr2qs_no_lookup("General") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeGeneralOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviThemeGeneralOptionsWidget "theme" + + +class OptionsWidget_theme : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_theme(QWidget * parent); + ~OptionsWidget_theme(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviThemeTransparencyOptionsWidget KVI_SMALLICON_TRANSPARENT +#define KVI_OPTIONS_WIDGET_NAME_KviThemeTransparencyOptionsWidget __tr2qs_no_lookup("Transparency") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeTransparencyOptionsWidget __tr2qs_no_lookup("theme,background") +#define KVI_OPTIONS_WIDGET_GROUP_KviThemeTransparencyOptionsWidget "theme" + + +class OptionsWidget_themeTransparency : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_themeTransparency(QWidget * parent); + ~OptionsWidget_themeTransparency(); +protected: +#ifdef COMPILE_PSEUDO_TRANSPARENCY + KviPixmapSelector * m_pGlobalBackgroundPixmapSelector; + KviBoolSelector * m_pUseTransparencyBoolSelector; + #ifdef COMPILE_X11_SUPPORT + KviBoolSelector * m_pUseCompositingForTransparencyBoolSelector; + #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + KviBoolSelector * m_pUseWindowsFakeDesktopTransparencyBoolSelector; + #endif +#endif +protected slots: + void enableGlobalBackgroundPixmapSelector(bool); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviThemeMdiAreaOptionsWidget KVI_SMALLICON_APPLET +#define KVI_OPTIONS_WIDGET_NAME_KviThemeMdiAreaOptionsWidget __tr2qs_no_lookup("Workspace") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeMdiAreaOptionsWidget __tr2qs_no_lookup("theme,mdi") +#define KVI_OPTIONS_WIDGET_GROUP_KviThemeMdiAreaOptionsWidget "theme" + +class OptionsWidget_themeMdiArea : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_themeMdiArea(QWidget * parent); + ~OptionsWidget_themeMdiArea(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviThemeToolBarAppletsOptionsWidget KVI_SMALLICON_APPLET +#define KVI_OPTIONS_WIDGET_NAME_KviThemeToolBarAppletsOptionsWidget __tr2qs_no_lookup("ToolBar Applets") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeToolBarAppletsOptionsWidget __tr2qs_no_lookup("theme,toolbar") +#define KVI_OPTIONS_WIDGET_GROUP_KviThemeToolBarAppletsOptionsWidget "theme" + + +class OptionsWidget_themeToolBarApplets : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_themeToolBarApplets(QWidget * parent); + ~OptionsWidget_themeToolBarApplets(); +}; + +#endif //!_OPTW_INTERFACELOOKGLOBAL_H_ diff --git a/src/modules/options/OptionsWidget_tools.cpp b/src/modules/options/OptionsWidget_tools.cpp new file mode 100644 index 000000000..2f5015fa7 --- /dev/null +++ b/src/modules/options/OptionsWidget_tools.cpp @@ -0,0 +1,51 @@ +//============================================================================= +// +// File : OptionsWidget_tools.cpp +// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_tools.h" + +#include "kvi_settings.h" +#include "KviOptions.h" +#include "KviLocale.h" + +#include + +OptionsWidget_tools::OptionsWidget_tools(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("tools_options_widget"); + createLayout(); + + addLabel(0,0,0,0,__tr2qs_ctx("This section contains irc tools
"\ + "

like away, lag and logging system. " \ + "

","options")); + +} + +OptionsWidget_tools::~OptionsWidget_tools() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_tools.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_tools.h b/src/modules/options/OptionsWidget_tools.h new file mode 100644 index 000000000..53b7193fb --- /dev/null +++ b/src/modules/options/OptionsWidget_tools.h @@ -0,0 +1,46 @@ +#ifndef _OPTW_TOOLS_H_ +#define _OPTW_TOOLS_H_ + +//============================================================================= +// +// File : OptionsWidget_tools.h +// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) +// +// 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. +// +//============================================================================= + +#include "kvi_settings.h" +#include "KviOptionsWidget.h" +#include "KviSelectors.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviToolsOptionsWidget KVI_SMALLICON_ADDONS +#define KVI_OPTIONS_WIDGET_NAME_KviToolsOptionsWidget __tr2qs_no_lookup("Tools") +#define KVI_OPTIONS_WIDGET_PARENT_KviToolsOptionsWidget OptionsWidget_irc +#define KVI_OPTIONS_WIDGET_PRIORITY_KviToolsOptionsWidget 50000 +#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviToolsOptionsWidget true + +class OptionsWidget_tools : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_tools(QWidget * parent); + ~OptionsWidget_tools(); +}; + +#endif //!_OPTW_FOLDERS_H_ diff --git a/src/modules/options/OptionsWidget_topicLabel.cpp b/src/modules/options/OptionsWidget_topicLabel.cpp new file mode 100644 index 000000000..b305771ee --- /dev/null +++ b/src/modules/options/OptionsWidget_topicLabel.cpp @@ -0,0 +1,50 @@ +//============================================================================= +// +// File : OptionsWidget_topicLabel.cpp +// Creation date : Mon Sep 24 02:44:55 CEST 2001 by Krzysztof Godlewski +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001 Krzysztof Godlewski +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_topicLabel.h" + +#include "KviOptions.h" +#include "KviLocale.h" + + +OptionsWidget_topicLabel::OptionsWidget_topicLabel(QWidget *p):KviOptionsWidget(p, "topic_label_look_options_widget") +{ + createLayout(); + + addFontSelector(0, 0, 0, 0, __tr2qs_ctx("Font","options"), KviOption_fontLabel); + addColorSelector(0, 1, 0, 1, __tr2qs_ctx("Foreground color","options"), KviOption_colorLabelForeground); + addColorSelector(0, 2, 0, 2, __tr2qs_ctx("Background color","options"), KviOption_colorLabelBackground); + addPixmapSelector(0, 3, 0, 3, __tr2qs_ctx("Background image","options"), KviOption_pixmapLabelBackground); + + layout()->setRowStretch(3, 1); +} + +OptionsWidget_topicLabel::~OptionsWidget_topicLabel() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_topicLabel.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_topicLabel.h b/src/modules/options/OptionsWidget_topicLabel.h new file mode 100644 index 000000000..4f6c64f40 --- /dev/null +++ b/src/modules/options/OptionsWidget_topicLabel.h @@ -0,0 +1,44 @@ +#ifndef _OPTW_TOPICLABEL_H +#define _OPTW_TOPICLABEL_H +//============================================================================= +// +// File : OptionsWidget_topicLabel.h +// Creation date : Mon Sep 24 02:44:55 CEST 2001 by Krzysztof Godlewski +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001 Krzysztof Godlewski +// Copyright (C) 2001-2010 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. +// +//============================================================================= + + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviTopicLabelLookOptionsWidget KVI_SMALLICON_TOPIC +#define KVI_OPTIONS_WIDGET_NAME_KviTopicLabelLookOptionsWidget __tr2qs_no_lookup("Labels") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTopicLabelLookOptionsWidget __tr2qs_no_lookup("theme,topic") +#define KVI_OPTIONS_WIDGET_GROUP_KviTopicLabelLookOptionsWidget "theme" + +class OptionsWidget_topicLabel : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_topicLabel(QWidget *); + ~OptionsWidget_topicLabel(); +}; + +#endif // _OPTW_TOPICLABEL_H diff --git a/src/modules/options/OptionsWidget_tray.cpp b/src/modules/options/OptionsWidget_tray.cpp new file mode 100644 index 000000000..49d54f1c6 --- /dev/null +++ b/src/modules/options/OptionsWidget_tray.cpp @@ -0,0 +1,101 @@ +//============================================================================= +// +// File : OptionsWidget_tray.cpp +// Creation date : Mon 14 Aug 2006 by Alexey Uzhva +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2006-2008 Alexey Uzhva (wizard at opendoor dot ru) +// +// 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. +// +//============================================================================= + +#include "OptionsWidget_tray.h" + +#include "KviMainWindow.h" +#include "KviInternalCommand.h" +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviTalToolTip.h" + +#include + + +OptionsWidget_tray::OptionsWidget_tray(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("tray_options_widget"); + + createLayout(); + + m_pEnable = addBoolSelector(0,0,0,0, __tr2qs_ctx("Enable tray icon","options"), KviOption_boolShowDockExtension); + m_pCloseInTray = addBoolSelector(0,1,0,1,__tr2qs_ctx("Close in tray","options"),KviOption_boolCloseInTray); + + m_pEnableFlashing = addBoolSelector(0,2,0,2,__tr2qs_ctx("Enable tray icon flashing","options"),KviOption_boolEnableTrayIconFlashing); + m_pLevelBasedNotify = addBoolSelector(0,3,0,3,__tr2qs_ctx("Enable level-based message notification (not a message-type based)","options"),KviOption_boolUseLevelBasedTrayNotification); + + m_pLevelsGroup = addGroupBox(0,4,0,4,Qt::Horizontal,__tr2qs_ctx("Select message levels to notify","options")); + + addUIntSelector(m_pLevelsGroup,__tr2qs_ctx("Minimum level for low-priority messages","options"), + KviOption_uintMinTrayLowLevelMessage, + 1,4,1,true); + + addUIntSelector(m_pLevelsGroup,__tr2qs_ctx("Minimum level for high-priority message","options"), + KviOption_uintMinTrayHighLevelMessage, + 1,4,4,true); + + addRowSpacer(0,5,0,5); + + connect(m_pEnable,SIGNAL(toggled(bool)),this,SLOT(setEnabled(bool))); + connect(m_pLevelBasedNotify,SIGNAL(toggled(bool)),this,SLOT(setEnabled(bool))); + setEnabled(true); +} + +OptionsWidget_tray::~OptionsWidget_tray() +{ +} + +void OptionsWidget_tray::setEnabled(bool) +{ + if(m_pEnable->isChecked()) + { + m_pEnableFlashing->setEnabled(true); + m_pLevelBasedNotify->setEnabled(true); + m_pCloseInTray->setEnabled(true); + if(m_pLevelBasedNotify->isChecked()) + m_pLevelsGroup->setEnabled(true); + else + m_pLevelsGroup->setEnabled(false); + + g_pFrame->executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_SHOW); + } else { + m_pCloseInTray->setEnabled(false); + m_pEnableFlashing->setEnabled(false); + m_pLevelBasedNotify->setEnabled(false); + m_pLevelsGroup->setEnabled(false); + + m_pCloseInTray->setChecked(false); + m_pEnableFlashing->setChecked(false); + m_pLevelBasedNotify->setChecked(false); + m_pLevelsGroup->setChecked(false); + + g_pFrame->executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_HIDE); + } +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_tray.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_tray.h b/src/modules/options/OptionsWidget_tray.h new file mode 100644 index 000000000..8d79c8186 --- /dev/null +++ b/src/modules/options/OptionsWidget_tray.h @@ -0,0 +1,52 @@ +#ifndef _OPTW_TRAY_H_ +#define _OPTW_TRAY_H_ +//============================================================================= +// +// File : OptionsWidget_tray.cpp +// Creation date : Mon 14 Aug 2006 by Alexey Uzhva +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2006-2008 Alexey Uzhva (wizard at opendoor dot ru) +// +// 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviTrayOptionsWidget KVI_SMALLICON_TRAYICON +#define KVI_OPTIONS_WIDGET_NAME_KviTrayOptionsWidget __tr2qs_no_lookup("Tray icon") +#define KVI_OPTIONS_WIDGET_PARENT_KviTrayOptionsWidget OptionsWidget_interfaceFeatures +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTrayOptionsWidget __tr2qs_no_lookup("tray,TRAYICON") + +class OptionsWidget_tray : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_tray(QWidget * parent); + ~OptionsWidget_tray(); +protected: + KviBoolSelector * m_pEnable; + KviBoolSelector * m_pEnableFlashing; + KviBoolSelector * m_pLevelBasedNotify; + KviBoolSelector * m_pCloseInTray; + KviTalGroupBox * m_pLevelsGroup; +protected slots: + void setEnabled(bool); +}; + +#endif //_OPTW_TRAY_H_ diff --git a/src/modules/options/OptionsWidget_uparser.cpp b/src/modules/options/OptionsWidget_uparser.cpp new file mode 100644 index 000000000..88710b992 --- /dev/null +++ b/src/modules/options/OptionsWidget_uparser.cpp @@ -0,0 +1,64 @@ +//============================================================================= +// +// File : OptionsWidget_uparser.cpp +// Creation date : Sat Oct 27 16:32:26 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_uparser.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include +#include + + +OptionsWidget_uparser::OptionsWidget_uparser(QWidget * parent) +: KviOptionsWidget(parent,"uparser_options_widget") +{ + createLayout(); + + addBoolSelector(0,0,0,0,__tr2qs_ctx("Disable parser warnings","options"),KviOption_boolAvoidParserWarnings); + addBoolSelector(0,1,0,1,__tr2qs_ctx("Disable broken event handlers","options"),KviOption_boolDisableBrokenEventHandlers); + addBoolSelector(0,2,0,2,__tr2qs_ctx("Kill broken timers","options"),KviOption_boolKillBrokenTimers); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Send unknown commands as /RAW","options"),KviOption_boolSendUnknownCommandsAsRaw); + + addSeparator(0,4,0,4); + + addBoolSelector(0,5,0,5,__tr2qs_ctx("Automatically unload unused modules","options"),KviOption_boolCleanupUnusedModules); + addBoolSelector(0,6,0,6,__tr2qs_ctx("Ignore module versions (dangerous)","options"),KviOption_boolIgnoreModuleVersions); + + addSeparator(0,7,0,7); + + addBoolSelector(0,8,0,8,__tr2qs_ctx("Relay errors and warnings to debug window","options"),KviOption_boolScriptErrorsToDebugWindow); + addBoolSelector(0,9,0,9,__tr2qs_ctx("Create minimized debug window","options"),KviOption_boolShowMinimizedDebugWindow); + + addRowSpacer(0,10,0,10); +} + +OptionsWidget_uparser::~OptionsWidget_uparser() +{ +} + + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_uparser.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_uparser.h b/src/modules/options/OptionsWidget_uparser.h new file mode 100644 index 000000000..9b7009d43 --- /dev/null +++ b/src/modules/options/OptionsWidget_uparser.h @@ -0,0 +1,42 @@ +#ifndef _OPTW_UPARSER_H_ +#define _OPTW_UPARSER_H_ +//============================================================================= +// +// File : OptionsWidget_uparser.h +// Creation date : Sat Oct 27 16:32:27 2001 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#define KVI_OPTIONS_WIDGET_ICON_KviUParserOptionsWidget KVI_SMALLICON_PARSERWARNING +#define KVI_OPTIONS_WIDGET_NAME_KviUParserOptionsWidget __tr2qs_no_lookup("Scripting Engine") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUParserOptionsWidget __tr2qs_no_lookup("scripting,kvs,debug") +#define KVI_OPTIONS_WIDGET_PARENT_KviUParserOptionsWidget OptionsWidget_general + +class OptionsWidget_uparser : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_uparser(QWidget * parent); + ~OptionsWidget_uparser(); +}; + +#endif //_OPTW_UPARSER_H_ diff --git a/src/modules/options/OptionsWidget_urlHandlers.cpp b/src/modules/options/OptionsWidget_urlHandlers.cpp new file mode 100644 index 000000000..6651125e9 --- /dev/null +++ b/src/modules/options/OptionsWidget_urlHandlers.cpp @@ -0,0 +1,154 @@ +#ifndef _OPTW_URLHANDLERS_CPP_ +#define _OPTW_URLHANDLERS_CPP_ +//============================================================================= +// +// File : OptionsWidget_urlHandlers.cpp +// Creation date : Fri Aug 23 02:57:40 2002 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "OptionsWidget_urlHandlers.h" + +#include "KviOptions.h" +#include "KviLocale.h" + +#include +#include +#include + + +OptionsWidget_urlHandlers::OptionsWidget_urlHandlers(QWidget * parent) +: KviOptionsWidget(parent) +{ +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + #define START_ROW 2 +#else + #define START_ROW 1 +#endif + + setObjectName("urlhandlers_options_widget"); + createLayout(); + + KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Mouse handler","options")); + + addLabel(gbox,__tr2qs_ctx("How many click to open links?","options")); + + m_pClickRadio = new QRadioButton(__tr2qs_ctx("Single click","options"),gbox); + m_pDoubleClickRadio = new QRadioButton(__tr2qs_ctx("Double click","options"),gbox); + + switch(KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum)) + { + case 1: + m_pClickRadio->setChecked(true); + break; + case 2: + m_pDoubleClickRadio->setChecked(true); + break; + } + + gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Protocol handler","options")); + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + KviBoolSelector *b = addBoolSelector(gbox,__tr2qs_ctx("Use system URL handlers","options"),KviOption_boolUseSystemUrlHandlers); +#endif + + m_pHttpHandler=addStringSelector(gbox,__tr2qs_ctx("http:// handler command:","options"),KviOption_stringUrlHttpCommand); + m_pHttpsHandler=addStringSelector(gbox,__tr2qs_ctx("https:// handler command:","options"),KviOption_stringUrlHttpsCommand); + m_pFtpHandler=addStringSelector(gbox,__tr2qs_ctx("ftp:// handler command:","options"),KviOption_stringUrlFtpCommand); + m_pMailtoHandler=addStringSelector(gbox,__tr2qs_ctx("mailto: handler command:","options"),KviOption_stringUrlMailtoCommand); + m_pFileHandler=addStringSelector(gbox,__tr2qs_ctx("file:// handler command:","options"),KviOption_stringUrlFileCommand); + m_pOtherHandler=addStringSelector(gbox,__tr2qs_ctx("Unknown protocol handler command:","options"),KviOption_stringUrlUnknownCommand); + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + m_pHttpHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); + m_pHttpsHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); + m_pFtpHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); + m_pFileHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); + m_pMailtoHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); + m_pOtherHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); + connect(b,SIGNAL(toggled(bool)),this,SLOT(toggleEditors(bool))); +#endif + + addRowSpacer(0,START_ROW+6,0,START_ROW+6); +} + +OptionsWidget_urlHandlers::~OptionsWidget_urlHandlers() +{ +} + +void OptionsWidget_urlHandlers::toggleEditors(bool bToggled) +{ + m_pHttpHandler->setEnabled(!bToggled); + m_pHttpsHandler->setEnabled(!bToggled); + m_pFtpHandler->setEnabled(!bToggled); + m_pFileHandler->setEnabled(!bToggled); + m_pMailtoHandler->setEnabled(!bToggled); + m_pOtherHandler->setEnabled(!bToggled); +} + +void OptionsWidget_urlHandlers::commit() +{ + KviOptionsWidget::commit(); + + if(m_pClickRadio->isChecked()) + KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum)=1; + if(m_pDoubleClickRadio->isChecked()) + KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum)=2; + +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\","@MAGIC@"); + KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\","\\\\"); + KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("@MAGIC@","\\\\"); + + KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\","@MAGIC@"); + KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\","\\\\"); + KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("@MAGIC@","\\\\"); + + KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\","@MAGIC@"); + KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\","\\\\"); + KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("@MAGIC@","\\\\"); + + KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\","@MAGIC@"); + KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\","\\\\"); + KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("@MAGIC@","\\\\"); + + KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\","@MAGIC@"); + KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\","\\\\"); + KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("@MAGIC@","\\\\"); + + KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\","@MAGIC@"); + KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\","\\\\"); + KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("@MAGIC@","\\\\"); + + //Check for escaped " in url handler ( \" ) + KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\\"","\\\""); + KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\\"","\\\""); + KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\\"","\\\""); + KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\\"","\\\""); + KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\\"","\\\""); + KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\\"","\\\""); +#endif +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_urlHandlers.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES + +#endif //_OPTW_URLHANDLERS_CPP_ diff --git a/src/modules/options/OptionsWidget_urlHandlers.h b/src/modules/options/OptionsWidget_urlHandlers.h new file mode 100644 index 000000000..99a5e0b9e --- /dev/null +++ b/src/modules/options/OptionsWidget_urlHandlers.h @@ -0,0 +1,59 @@ +#ifndef _OPTW_URLHANDLERS_H_ +#define _OPTW_URLHANDLERS_H_ +//============================================================================= +// +// File : OptionsWidget_urlHandlers.h +// Creation date : Fri Aug 23 02:57:41 2002 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +class QRadioButton; + +#define KVI_OPTIONS_WIDGET_ICON_KviUrlHandlersOptionsWidget KVI_SMALLICON_WORLD +#define KVI_OPTIONS_WIDGET_NAME_KviUrlHandlersOptionsWidget __tr2qs_no_lookup("URL handlers") +#define KVI_OPTIONS_WIDGET_PARENT_KviUrlHandlersOptionsWidget OptionsWidget_general +#define KVI_OPTIONS_WIDGET_PRIORITY_KviUrlHandlersOptionsWidget 70000 +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUrlHandlersOptionsWidget __tr2qs_no_lookup("url,programs") + +class OptionsWidget_urlHandlers : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_urlHandlers(QWidget * parent); + ~OptionsWidget_urlHandlers(); + + virtual void commit(); +protected: + QRadioButton * m_pClickRadio; + QRadioButton * m_pDoubleClickRadio; + + KviStringSelector * m_pHttpHandler; + KviStringSelector * m_pHttpsHandler; + KviStringSelector * m_pFtpHandler; + KviStringSelector * m_pMailtoHandler; + KviStringSelector * m_pFileHandler; + KviStringSelector * m_pOtherHandler; +public slots: + void toggleEditors(bool); +}; + +#endif //_OPTW_URLHANDLERS_H_ diff --git a/src/modules/options/OptionsWidget_userList.cpp b/src/modules/options/OptionsWidget_userList.cpp new file mode 100644 index 000000000..27a8d1344 --- /dev/null +++ b/src/modules/options/OptionsWidget_userList.cpp @@ -0,0 +1,250 @@ +//============================================================================= +// +// File : OptionsWidget_userList.cpp +// Creation date : Sat Aug 11 2001 03:29:52 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2001-2010 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. +// +//============================================================================= + +#include "OptionsWidget_userList.h" + +#include "KviOptions.h" +#include "KviLocale.h" +#include "KviUserListView.h" + +#include + +OptionsWidget_userList::OptionsWidget_userList(QWidget * parent) +: KviOptionsWidget(parent,"userlistlook_options_widget") +{ +} + +OptionsWidget_userList::~OptionsWidget_userList() +{ +} + + + +////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_userListForeground::OptionsWidget_userListForeground(QWidget * parent) +: KviOptionsWidget(parent,"userlistlook_foreground_options_widget") +{ + createLayout(); + + addFontSelector(0,0,1,0,__tr2qs_ctx("Font:","options"),KviOption_fontUserListView); + + KviTalGroupBox * g = addGroupBox(0,1,1,1,Qt::Horizontal,__tr2qs_ctx("Nickname Colors","options")); + addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorUserListViewNormalForeground); + addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorUserListViewSelectionForeground); + addColorSelector(g,__tr2qs_ctx("IRC Op:","options"),KviOption_colorUserListViewIrcOpForeground); + addColorSelector(g,__tr2qs_ctx("Channel owner:","options"),KviOption_colorUserListViewChanOwnerForeground); + addColorSelector(g,__tr2qs_ctx("Channel admin:","options"),KviOption_colorUserListViewChanAdminForeground); + addColorSelector(g,__tr2qs_ctx("Op:","options"),KviOption_colorUserListViewOpForeground); + addColorSelector(g,__tr2qs_ctx("Half-op:","options"),KviOption_colorUserListViewHalfOpForeground); + addColorSelector(g,__tr2qs_ctx("Voice:","options"),KviOption_colorUserListViewVoiceForeground); + addColorSelector(g,__tr2qs_ctx("User-op:","options"),KviOption_colorUserListViewUserOpForeground); + addColorSelector(g,__tr2qs_ctx("Away:","options"),KviOption_colorUserListViewAwayForeground); + + KviTalHBox * hb = new KviTalHBox(g); + hb->setSpacing(4); + KviBoolSelector * b = addBoolSelector(hb,__tr2qs_ctx("Use different color for own nick:","options"),KviOption_boolUseDifferentColorForOwnNick); + KviColorSelector * s = addColorSelector(hb,"",KviOption_colorUserListViewOwnForeground,KVI_OPTION_BOOL(KviOption_boolUseDifferentColorForOwnNick)); + connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); + + addRowSpacer(0,3,0,3); +} + +OptionsWidget_userListForeground::~OptionsWidget_userListForeground() +{ +} + +OptionsWidget_userListGrid::OptionsWidget_userListGrid(QWidget * parent) +: KviOptionsWidget(parent) +{ + createLayout(); + KviBoolSelector* b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Draw nickname grid","options"),KviOption_boolUserListViewDrawGrid); + + KviColorSelector* s = addColorSelector(0,1,0,1,__tr2qs_ctx("Grid color:","options"),KviOption_colorUserListViewGrid,KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid)); + connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); + + KviTalHBox* hb = new KviTalHBox(this); + addWidgetToLayout(hb,0,2,0,2); + hb->setSpacing(4); + + QLabel * l = new QLabel(__tr2qs_ctx("Grid type:","options"),hb); + l->setEnabled(KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid)); + connect(b,SIGNAL(toggled(bool)),l,SLOT(setEnabled(bool))); + m_pGridTypeCombo = new QComboBox(hb); + m_pGridTypeCombo->addItem(__tr2qs_ctx("3D Grid","options")); + m_pGridTypeCombo->addItem(__tr2qs_ctx("3D Buttons","options")); + m_pGridTypeCombo->addItem(__tr2qs_ctx("Plain Grid","options")); + m_pGridTypeCombo->addItem(__tr2qs_ctx("Dotted Grid","options")); + m_pGridTypeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintUserListViewGridType)); + m_pGridTypeCombo->setEnabled(KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid)); + connect(b,SIGNAL(toggled(bool)),m_pGridTypeCombo,SLOT(setEnabled(bool))); + addRowSpacer(0,3,0,3); +} + +OptionsWidget_userListGrid::~OptionsWidget_userListGrid() +{ +} + +void OptionsWidget_userListGrid::commit() +{ + KviOptionsWidget::commit(); + KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = m_pGridTypeCombo->currentIndex(); + if(KVI_OPTION_UINT(KviOption_uintUserListViewGridType) > KVI_USERLISTVIEW_GRIDTYPE_MAXIMUM) + KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = KVI_USERLISTVIEW_GRIDTYPE_DEFAULT; + +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_userListBackground::OptionsWidget_userListBackground(QWidget * parent) +: KviOptionsWidget(parent,"userlistlook_background_options_widget") +{ + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,1,0,Qt::Horizontal,__tr2qs_ctx("Background Colors","options")); + addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorUserListViewBackground); + addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorUserListViewSelectionBackground); + + + addPixmapSelector(0,1,1,1,__tr2qs_ctx("Background image:","options"),KviOption_pixmapUserListViewBackground); + + addLabel(0,2,0,2,__tr2qs_ctx("Horizontal Alignment:","options")); + m_pHorizontalAlign=new QComboBox(this); + addWidgetToLayout(m_pHorizontalAlign,1,2,1,2); + + addLabel(0,3,0,3,__tr2qs_ctx("Vertical Alignment:","options")); + m_pVerticalAlign=new QComboBox(this); + addWidgetToLayout(m_pVerticalAlign,1,3,1,3); + + m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); + + m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); + + switch( KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign) & Qt::AlignHorizontal_Mask) + { + case Qt::AlignLeft: + m_pHorizontalAlign->setCurrentIndex(1); + break; + case Qt::AlignRight: + m_pHorizontalAlign->setCurrentIndex(2); + break; + case Qt::AlignHCenter: + m_pHorizontalAlign->setCurrentIndex(3); + break; + default: + m_pHorizontalAlign->setCurrentIndex(0); + } + + switch( KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign) & Qt::AlignVertical_Mask) + { + case Qt::AlignTop: + m_pVerticalAlign->setCurrentIndex(1); + break; + case Qt::AlignBottom: + m_pVerticalAlign->setCurrentIndex(2); + break; + case Qt::AlignVCenter: + m_pVerticalAlign->setCurrentIndex(3); + break; + default: + m_pVerticalAlign->setCurrentIndex(0); + } + + + + //layout()->setColumnStretch(0,1); + layout()->setRowStretch(1,1); +} + +OptionsWidget_userListBackground::~OptionsWidget_userListBackground() +{ +} + +void OptionsWidget_userListBackground::commit() +{ + KviOptionsWidget::commit(); + + int iFlags=0; + switch(m_pHorizontalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignLeft; + break; + case 2: + iFlags|=Qt::AlignRight; + break; + case 3: + iFlags|=Qt::AlignHCenter; + break; + } + switch(m_pVerticalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignTop; + break; + case 2: + iFlags|=Qt::AlignBottom; + break; + case 3: + iFlags|=Qt::AlignVCenter; + break; + } + + KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign)=iFlags; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_userListFeatures::OptionsWidget_userListFeatures(QWidget * parent) +: KviOptionsWidget(parent,"userlistfeatures_options_widget") +{ + createLayout(); + + addBoolSelector(0,0,0,0,__tr2qs_ctx("Show gender icons","options"),KviOption_boolDrawGenderIcons); + addBoolSelector(0,1,0,1,__tr2qs_ctx("Show user channel icons","options"),KviOption_boolShowUserChannelIcons); + addBoolSelector(0,2,0,2,__tr2qs_ctx("Show user channel activity indicator","options"),KviOption_boolShowUserChannelState); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Show label with userlist stats","options"),KviOption_boolShowUserListStatisticLabel); + addBoolSelector(0,4,0,4,__tr2qs_ctx("Enable user tooltips","options"),KviOption_boolShowUserListViewToolTips); + addBoolSelector(0,5,0,5,__tr2qs_ctx("Show avatars in userlist","options"),KviOption_boolShowAvatarsInUserlist); + addBoolSelector(0,6,0,6,__tr2qs_ctx("Enable animated avatars","options"),KviOption_boolEnableAnimatedAvatars); + addBoolSelector(0,7,0,7,__tr2qs_ctx("Place nicks starting with non-alpha chars (such as _COOL_BOY_) after the normal nicks","options"),KviOption_boolPlaceNickWithNonAlphaCharsAtEnd); + + addRowSpacer(0,8,0,8); +} + +OptionsWidget_userListFeatures::~OptionsWidget_userListFeatures() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_userList.moc" +#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_userList.h b/src/modules/options/OptionsWidget_userList.h new file mode 100644 index 000000000..63b0ceff3 --- /dev/null +++ b/src/modules/options/OptionsWidget_userList.h @@ -0,0 +1,116 @@ +#ifndef _OPTW_USERLIST_H_ +#define _OPTW_USERLIST_H_ +//============================================================================= +// +// File : OptionsWidget_userList.h +// Creation date : Sat Mar 02 2002 12:09:19 CEST by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "KviOptionsWidget.h" + +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviUserListLookOptionsWidget KVI_SMALLICON_USERLIST +#define KVI_OPTIONS_WIDGET_NAME_KviUserListLookOptionsWidget __tr2qs_no_lookup("Userlist") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookOptionsWidget __tr2qs_no_lookup("theme,userlist,channel") +#define KVI_OPTIONS_WIDGET_GROUP_KviUserListLookOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookOptionsWidget true + +class OptionsWidget_userList : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_userList(QWidget * parent); + ~OptionsWidget_userList(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviUserListLookBackgroundOptionsWidget KVI_SMALLICON_TRANSPARENT +#define KVI_OPTIONS_WIDGET_NAME_KviUserListLookBackgroundOptionsWidget __tr2qs_no_lookup("Background") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookBackgroundOptionsWidget __tr2qs_no_lookup("theme,userlist,channel,background") +#define KVI_OPTIONS_WIDGET_GROUP_KviUserListLookBackgroundOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviUserListLookBackgroundOptionsWidget OptionsWidget_userList +#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookBackgroundOptionsWidget 30 + + +class OptionsWidget_userListBackground : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_userListBackground(QWidget * parent); + ~OptionsWidget_userListBackground(); +protected: + QComboBox* m_pHorizontalAlign; + QComboBox* m_pVerticalAlign; +public: + virtual void commit(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviUserListLookForegroundOptionsWidget KVI_SMALLICON_USERLIST +#define KVI_OPTIONS_WIDGET_NAME_KviUserListLookForegroundOptionsWidget __tr2qs_no_lookup("Foreground") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookForegroundOptionsWidget __tr2qs_no_lookup("theme,userlist,channel,colors") +#define KVI_OPTIONS_WIDGET_GROUP_KviUserListLookForegroundOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviUserListLookForegroundOptionsWidget OptionsWidget_userList +#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookForegroundOptionsWidget 20 + + +class OptionsWidget_userListForeground : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_userListForeground(QWidget * parent); + ~OptionsWidget_userListForeground(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviUserListGridOptionsWidget KVI_SMALLICON_GUI +#define KVI_OPTIONS_WIDGET_NAME_KviUserListGridOptionsWidget __tr2qs_no_lookup("Nickname Grid") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListGridOptionsWidget __tr2qs_no_lookup("theme,userlist,channel,grid") +#define KVI_OPTIONS_WIDGET_GROUP_KviUserListGridOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_PARENT_KviUserListGridOptionsWidget OptionsWidget_userList +#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListGridOptionsWidget 30 + + +class OptionsWidget_userListGrid : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_userListGrid(QWidget * parent); + ~OptionsWidget_userListGrid(); +protected: + QComboBox * m_pGridTypeCombo; +public: + virtual void commit(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviUserListFeaturesOptionsWidget KVI_SMALLICON_GUI +#define KVI_OPTIONS_WIDGET_NAME_KviUserListFeaturesOptionsWidget __tr2qs_no_lookup("Features") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListFeaturesOptionsWidget __tr2qs_no_lookup("userlist,channel") +#define KVI_OPTIONS_WIDGET_PARENT_KviUserListFeaturesOptionsWidget OptionsWidget_userList +#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListFeaturesOptionsWidget 10 + +class OptionsWidget_userListFeatures : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_userListFeatures(QWidget * parent); + ~OptionsWidget_userListFeatures(); +}; + +#endif //!_OPTW_USERLIST_H_ diff --git a/src/modules/options/OptionsWidget_windowList.cpp b/src/modules/options/OptionsWidget_windowList.cpp new file mode 100644 index 000000000..53b61c8a9 --- /dev/null +++ b/src/modules/options/OptionsWidget_windowList.cpp @@ -0,0 +1,269 @@ +//============================================================================= +// +// File : OptionsWidget_windowList.cpp +// Creation date : Wed Jan 16 04:30:39 2002 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//============================================================================= + +#include "OptionsWidget_windowList.h" + +#include "kvi_settings.h" +#include "KviLocale.h" +#include "KviOptions.h" + + +OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("windowlist_options_widget"); + + createLayout(); + + addBoolSelector(0,0,0,0,__tr2qs_ctx("Use tree window list","options"),KviOption_boolUseTreeWindowListWindowList); + addBoolSelector(0,1,0,1,__tr2qs_ctx("Sort windows by name","options"),KviOption_boolSortWindowListItemsByName); + addBoolSelector(0,2,0,2,__tr2qs_ctx("Show window icons in window list","options"),KviOption_boolUseWindowListIcons); + KviBoolSelector * b = addBoolSelector(0,3,0,3,__tr2qs_ctx("Show activity meter in window list","options"),KviOption_boolUseWindowListActivityMeter); + mergeTip(b,__tr2qs_ctx("
This option enables the usage of the window list activity meter. " \ + "Each window entry will have a small indicator of the activity that is going on in that window. " \ + "The indicator is a small square that changes colors, dark colors mean low activity, " \ + "while bright colors signal high activity. KVIrc also uses some heuristics to determine " \ + "whether the activity is somewhat \"human\" or it is generated by automated entities (such as bots " \ + "or IRC servers). \"Human\" activity causes the indicator to be shaded red while automated " \ + "activity causes the indicator to be shaded blue.
","options")); + addBoolSelector(0,4,0,4,__tr2qs_ctx("Show IRC context indicator in window list","options"),KviOption_boolUseWindowListIrcContextIndicator); + addBoolSelector(0,5,0,5,__tr2qs_ctx("Enable window tooltips","options"),KviOption_boolShowWindowListToolTips); + addBoolSelector(0,6,0,6,__tr2qs_ctx("Show header","options"),KviOption_boolShowTreeWindowListHeader); + addRowSpacer(0,7,0,7); +} + + +OptionsWidget_windowList::~OptionsWidget_windowList() +{ +} + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_windowListTree::OptionsWidget_windowListTree(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("treewindowlist_options_widget"); +} + +OptionsWidget_windowListTree::~OptionsWidget_windowListTree() +{ +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_windowListTreeForeground::OptionsWidget_windowListTreeForeground(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("treewindowlist_options_widget"); + + createLayout(); + + addFontSelector(0,0,0,0,__tr2qs_ctx("Font:","options"),KviOption_fontTreeWindowList); + + KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Text/Alert Colors","options")); + + addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorTreeWindowListForeground); + addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorTreeWindowListActiveForeground); + addColorSelector(g,__tr2qs_ctx("Alert Level 1:","options"),KviOption_colorTreeWindowListHighlight1Foreground); + addColorSelector(g,__tr2qs_ctx("Alert Level 2:","options"),KviOption_colorTreeWindowListHighlight2Foreground); + addColorSelector(g,__tr2qs_ctx("Alert Level 3:","options"),KviOption_colorTreeWindowListHighlight3Foreground); + addColorSelector(g,__tr2qs_ctx("Alert Level 4:","options"),KviOption_colorTreeWindowListHighlight4Foreground); + addColorSelector(g,__tr2qs_ctx("Alert Level 5:","options"),KviOption_colorTreeWindowListHighlight5Foreground); + + addColorSelector(0,2,0,2,__tr2qs_ctx("Progress bar color:","options"),KviOption_colorTreeWindowListProgress); + + addRowSpacer(0,3,0,3); +} + + +OptionsWidget_windowListTreeForeground::~OptionsWidget_windowListTreeForeground() +{ +} + + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_windowListTreeBackground::OptionsWidget_windowListTreeBackground(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("treewindowlist_options_widget"); + + createLayout(); + + KviTalGroupBox * g = addGroupBox(0,0,1,0,Qt::Horizontal,__tr2qs_ctx("Background Colors","options")); + addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorTreeWindowListBackground); + addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorTreeWindowListActiveBackground); + + addPixmapSelector(0,1,1,1,__tr2qs_ctx("Background image:","options"),KviOption_pixmapTreeWindowListBackground); + + addLabel(0,2,0,2,__tr2qs_ctx("Horizontal align:","options")); + m_pHorizontalAlign=new QComboBox(this); + addWidgetToLayout(m_pHorizontalAlign,1,2,1,2); + + addLabel(0,3,0,3,__tr2qs_ctx("Vertical align:","options")); + m_pVerticalAlign=new QComboBox(this); + addWidgetToLayout(m_pVerticalAlign,1,3,1,3); + + m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); + m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); + + m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); + m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); + + switch( KVI_OPTION_UINT(KviOption_uintTreeWindowListPixmapAlign) & Qt::AlignHorizontal_Mask) + { + case Qt::AlignLeft: + m_pHorizontalAlign->setCurrentIndex(1); + break; + case Qt::AlignRight: + m_pHorizontalAlign->setCurrentIndex(2); + break; + case Qt::AlignHCenter: + m_pHorizontalAlign->setCurrentIndex(3); + break; + default: + m_pHorizontalAlign->setCurrentIndex(0); + } + + switch( KVI_OPTION_UINT(KviOption_uintTreeWindowListPixmapAlign) & Qt::AlignVertical_Mask) + { + case Qt::AlignTop: + m_pVerticalAlign->setCurrentIndex(1); + break; + case Qt::AlignBottom: + m_pVerticalAlign->setCurrentIndex(2); + break; + case Qt::AlignVCenter: + m_pVerticalAlign->setCurrentIndex(3); + break; + default: + m_pVerticalAlign->setCurrentIndex(0); + } + + layout()->setRowStretch(1,1); +} + + +OptionsWidget_windowListTreeBackground::~OptionsWidget_windowListTreeBackground() +{ +} + +void OptionsWidget_windowListTreeBackground::commit() +{ + KviOptionsWidget::commit(); + + int iFlags=0; + switch(m_pHorizontalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignLeft; + break; + case 2: + iFlags|=Qt::AlignRight; + break; + case 3: + iFlags|=Qt::AlignHCenter; + break; + } + switch(m_pVerticalAlign->currentIndex()) + { + case 1: + iFlags|=Qt::AlignTop; + break; + case 2: + iFlags|=Qt::AlignBottom; + break; + case 3: + iFlags|=Qt::AlignVCenter; + break; + } + + KVI_OPTION_UINT(KviOption_uintTreeWindowListPixmapAlign)=iFlags; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +OptionsWidget_windowListTreeFeatures::OptionsWidget_windowListTreeFeatures(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("treewindowlist_options_widget"); + + createLayout(); + + addUIntSelector(0,1,0,1,__tr2qs_ctx("Minimum width:","options"),KviOption_uintTreeWindowListMinimumWidth,24,1024,125); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Mouse wheel changes the active window instead of scrolling the scrollbar","options"),KviOption_boolWheelScrollsWindowsList); + + addRowSpacer(0,4,0,4); +} + + +OptionsWidget_windowListTreeFeatures::~OptionsWidget_windowListTreeFeatures() +{ +} + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +OptionsWidget_windowListClassic::OptionsWidget_windowListClassic(QWidget * parent) +: KviOptionsWidget(parent) +{ + setObjectName("classicwindowlist_options_widget"); + + createLayout(); + + addFontSelector(0,0,0,0,__tr2qs_ctx("Font:","options"),KviOption_fontWindowList); + KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Text/Alert Colors","options")); + addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorWindowListNormalText); + addColorSelector(g,__tr2qs_ctx("Minimized:","options"), KviOption_colorWindowListMinimizedText); + addColorSelector(g,__tr2qs_ctx("Alert Level 1:","options"),KviOption_colorWindowListHighlight1Text); + addColorSelector(g,__tr2qs_ctx("Alert Level 2:","options"),KviOption_colorWindowListHighlight2Text); + addColorSelector(g,__tr2qs_ctx("Alert Level 3:","options"),KviOption_colorWindowListHighlight3Text); + addColorSelector(g,__tr2qs_ctx("Alert Level 4:","options"),KviOption_colorWindowListHighlight4Text); + addColorSelector(g,__tr2qs_ctx("Alert Level 5:","options"),KviOption_colorWindowListHighlight5Text); + addColorSelector(0,2,0,2,__tr2qs_ctx("Progress bar color:","options"),KviOption_colorWindowListProgressBar); + addUIntSelector(0,3,0,3,__tr2qs_ctx("Minimum width of buttons:","options"),KviOption_uintWindowListButtonMinWidth,24,9999,100); + //addUIntSelector(0,4,0,4,__tr2qs_ctx("Maximum number of rows:","options"),KviOption_uintWindowListMaximumRows,1,16,2); + addBoolSelector(0,4,0,4,__tr2qs_ctx("Set maximum button width","options"),KviOption_boolClassicWindowListSetMaximumButtonWidth); + addUIntSelector(0,5,0,5,__tr2qs_ctx("Maximum width of buttons:","options"),KviOption_uintClassicWindowListMaximumButtonWidth,24,9999,100); + addBoolSelector(0,6,0,6,__tr2qs_ctx("Use flat buttons","options"),KviOption_boolUseFlatClassicWindowListButtons); + addRowSpacer(0,7,0,7); +} + + +OptionsWidget_windowListClassic::~OptionsWidget_windowListClassic() +{ +} + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "m_OptionsWidget_windowList.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/OptionsWidget_windowList.h b/src/modules/options/OptionsWidget_windowList.h new file mode 100644 index 000000000..4eb29217b --- /dev/null +++ b/src/modules/options/OptionsWidget_windowList.h @@ -0,0 +1,126 @@ +#ifndef _OPTW_WINDOWLIST_H_ +#define _OPTW_WINDOWLIST_H_ + +//=============================================================================== +// +// File : OptionsWidget_windowList.h +// Creation date : Wed Jan 16 04:30:41 2002 GMT by Szymon Stefanek +// +// This file is part of the KVIrc irc client distribution +// Copyright (C) 2002-2010 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. +// +//=============================================================================== + + +#include "KviOptionsWidget.h" + +#include + +#define KVI_OPTIONS_WIDGET_ICON_KviWindowListOptionsWidget KVI_SMALLICON_CLASSICWINDOWLIST +#define KVI_OPTIONS_WIDGET_NAME_KviWindowListOptionsWidget __tr2qs_no_lookup("Window List") +#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviWindowListOptionsWidget 2 +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviWindowListOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviWindowListOptionsWidget "theme" + +class OptionsWidget_windowList : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_windowList(QWidget * parent); + ~OptionsWidget_windowList(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListOptionsWidget KVI_SMALLICON_TREEWINDOWLIST +#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListOptionsWidget __tr2qs_no_lookup("Tree Window List") +#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListOptionsWidget OptionsWidget_windowList +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListOptionsWidget "theme" +#define KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListOptionsWidget true + +class OptionsWidget_windowListTree : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_windowListTree(QWidget * pParent); + ~OptionsWidget_windowListTree(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListForegroundOptionsWidget KVI_SMALLICON_TREEWINDOWLIST +#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListForegroundOptionsWidget __tr2qs_no_lookup("Foreground") +#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListForegroundOptionsWidget OptionsWidget_windowListTree +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeTaskForegroundBarOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListForegroundOptionsWidget "theme" + +class OptionsWidget_windowListTreeForeground : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_windowListTreeForeground(QWidget * parent); + ~OptionsWidget_windowListTreeForeground(); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListBackgroundOptionsWidget KVI_SMALLICON_TREEWINDOWLIST +#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListBackgroundOptionsWidget __tr2qs_no_lookup("Background") +#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListBackgroundOptionsWidget OptionsWidget_windowListTree +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeTaskBackgroundBarOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListBackgroundOptionsWidget "theme" + +class OptionsWidget_windowListTreeBackground : public KviOptionsWidget +{ + Q_OBJECT +private: + QComboBox* m_pHorizontalAlign; + QComboBox* m_pVerticalAlign; +public: + OptionsWidget_windowListTreeBackground(QWidget * parent); + ~OptionsWidget_windowListTreeBackground(); + + virtual void commit(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListFeaturesOptionsWidget KVI_SMALLICON_TREEWINDOWLIST +#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListFeaturesOptionsWidget __tr2qs_no_lookup("Features") +#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListFeaturesOptionsWidget OptionsWidget_windowListTree +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeTaskFeaturesBarOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListFeaturesOptionsWidget "theme" + +class OptionsWidget_windowListTreeFeatures : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_windowListTreeFeatures(QWidget * parent); + ~OptionsWidget_windowListTreeFeatures(); +}; + +#define KVI_OPTIONS_WIDGET_ICON_KviClassicWindowListOptionsWidget KVI_SMALLICON_CLASSICWINDOWLIST +#define KVI_OPTIONS_WIDGET_NAME_KviClassicWindowListOptionsWidget __tr2qs_no_lookup("Classic Window List") +#define KVI_OPTIONS_WIDGET_PARENT_KviClassicWindowListOptionsWidget OptionsWidget_windowList +#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviClassicWindowListOptionsWidget 2 +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviClassicWindowListOptionsWidget __tr2qs_no_lookup("theme") +#define KVI_OPTIONS_WIDGET_GROUP_KviClassicWindowListOptionsWidget "theme" + +class OptionsWidget_windowListClassic : public KviOptionsWidget +{ + Q_OBJECT +public: + OptionsWidget_windowListClassic(QWidget * parent); + ~OptionsWidget_windowListClassic(); +}; + +#endif //_OPTW_WINDOWLIST_H_ diff --git a/src/modules/options/container.cpp b/src/modules/options/container.cpp deleted file mode 100644 index d12e157e5..000000000 --- a/src/modules/options/container.cpp +++ /dev/null @@ -1,168 +0,0 @@ -//============================================================================= -// -// File : container.cpp -// Creation date : Wed Nov 21 17:09:49 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "container.h" -#include "instances.h" - -#include "KviLocale.h" -#include "KviIconManager.h" -#include "KviApplication.h" -#include "KviTalToolTip.h" - -#include -#include -#include -#include -#include -#include -#include - - -extern KviOptionsInstanceManager * g_pOptionsInstanceManager; - -KviOptionsWidgetContainer::KviOptionsWidgetContainer(QWidget * par,bool bModal) -: QWidget(par) -{ - m_pLayout = new QGridLayout(this); - - setObjectName("container"); - - m_pOptionsWidget = NULL; - - if(bModal) - setWindowModality(Qt::ApplicationModal); -} - -KviOptionsWidgetContainer::~KviOptionsWidgetContainer() -{ - if(m_pOptionsWidget) - delete m_pOptionsWidget; -} - -void KviOptionsWidgetContainer::setLeftCornerWidget(QWidget * pWidget) -{ - if(!pWidget) - return; - m_pLayout->addWidget(pWidget,1,0); -} - -void KviOptionsWidgetContainer::optionsWidgetDestroyed() -{ - m_pOptionsWidget = NULL; -} - -void KviOptionsWidgetContainer::childEvent(QChildEvent * e) -{ - // This handles reparents which may happen when - // options.edit and options.dialog are used without closing - // the corresponding widgets. - if(m_pOptionsWidget && (e->type() == QEvent::ChildRemoved)) - { - if(e->child() == static_cast(m_pOptionsWidget)) - { - QObject::disconnect(m_pOptionsWidget,SIGNAL(destroyed()),this,SLOT(optionsWidgetDestroyed())); - m_pOptionsWidget = NULL; - } - } - - QWidget::childEvent(e); -} - -void KviOptionsWidgetContainer::setup(KviOptionsWidget * w) -{ - if(m_pOptionsWidget) - QObject::disconnect(m_pOptionsWidget,SIGNAL(destroyed()),this,SLOT(optionsWidgetDestroyed())); - - m_pLayout->addWidget(w,0,0,1,3); - //g->addMultiCellWidget(w,0,0,0,2); - - QPushButton * b = new QPushButton(__tr2qs_ctx("&OK","options"),this); - KviTalToolTip::add(b,__tr2qs_ctx("Close this dialog, accepting all changes.","options")); - //b->setMinimumWidth(m_pCancel->sizeHint().width()); - m_pLayout->addWidget(b,1,1); - b->setDefault(true); - connect(b,SIGNAL(clicked()),this,SLOT(okClicked())); - b->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT))); - - m_pCancel = new QPushButton(__tr2qs_ctx("Cancel","options"),this); - KviTalToolTip::add(m_pCancel,__tr2qs_ctx("Close this dialog, discarding all changes.","options")); - m_pLayout->addWidget(m_pCancel,1,2); - connect(m_pCancel,SIGNAL(clicked()),this,SLOT(cancelClicked())); - m_pCancel->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_DISCARD))); - - - m_pLayout->setRowStretch(0,1); - m_pLayout->setColumnStretch(0,1); - - KviOptionsWidgetInstanceEntry * e = g_pOptionsInstanceManager->findInstanceEntry(w->metaObject()->className()); - if(e) - { - setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(e->iIcon)))); - setWindowTitle(e->szName); - } - - m_pOptionsWidget = w; - - if(m_pOptionsWidget) - QObject::connect(m_pOptionsWidget,SIGNAL(destroyed()),this,SLOT(optionsWidgetDestroyed())); -} - -void KviOptionsWidgetContainer::closeEvent(QCloseEvent *e) -{ - e->ignore(); - cancelClicked(); -} - -void KviOptionsWidgetContainer::showEvent(QShowEvent *e) -{ - if(parent() == 0) - { - QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()); - move((rect.width() - width())/2,(rect.height() - height())/2); - } - QWidget::showEvent(e); - m_pCancel->setFocus(); -} - -void KviOptionsWidgetContainer::reject() -{ - cancelClicked(); -} - -void KviOptionsWidgetContainer::okClicked() -{ - if(m_pOptionsWidget) - m_pOptionsWidget->commit(); - g_pApp->saveOptions(); - delete this; -} - -void KviOptionsWidgetContainer::cancelClicked() -{ - deleteLater(); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_container.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/container.h b/src/modules/options/container.h deleted file mode 100644 index cc761736b..000000000 --- a/src/modules/options/container.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef _CONTAINER_H_ -#define _CONTAINER_H_ -//============================================================================= -// -// File : container.h -// Creation date : Wed Nov 21 17:09:50 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-208 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include - -class QPushButton; -class QGridLayout; - -class KviOptionsWidgetContainer : public QWidget -{ - Q_OBJECT -public: - KviOptionsWidgetContainer(QWidget * par,bool bModal = false); - ~KviOptionsWidgetContainer(); -protected: - KviOptionsWidget * m_pOptionsWidget; - QPushButton * m_pCancel; - QGridLayout * m_pLayout; -public: - void setup(KviOptionsWidget * w); - void setLeftCornerWidget(QWidget * pWidget); -protected: - virtual void closeEvent(QCloseEvent *e); - virtual void showEvent(QShowEvent *e); - virtual void childEvent(QChildEvent * e); - virtual void reject(); -protected slots: - void okClicked(); - void cancelClicked(); - void optionsWidgetDestroyed(); -}; - -#endif //_CONTAINER_H_ diff --git a/src/modules/options/dialog.cpp b/src/modules/options/dialog.cpp index 9e323587a..e80cab7a6 100644 --- a/src/modules/options/dialog.cpp +++ b/src/modules/options/dialog.cpp @@ -53,12 +53,12 @@ //extern KviModule * g_pOptionsModule; -extern KviPointerHashTable * g_pOptionsDialogDict; +extern KviPointerHashTable * g_pOptionsDialogDict; extern KVIRC_API KviApplication * g_pApp; -extern KviOptionsInstanceManager * g_pOptionsInstanceManager; +extern OptionsInstanceManager * g_pOptionsInstanceManager; -KviGeneralOptionsFrontWidget::KviGeneralOptionsFrontWidget(QWidget *parent,const QString &szText) +OptionsDialogFrontWidget::OptionsDialogFrontWidget(QWidget *parent,const QString &szText) :KviOptionsWidget(parent) { setObjectName("general_options_front_widget"); @@ -69,12 +69,12 @@ KviGeneralOptionsFrontWidget::KviGeneralOptionsFrontWidget(QWidget *parent,const layout()->addWidget(l,0,0); } -KviGeneralOptionsFrontWidget::~KviGeneralOptionsFrontWidget() +OptionsDialogFrontWidget::~OptionsDialogFrontWidget() { } -KviOptionsTreeWidgetItem::KviOptionsTreeWidgetItem(QTreeWidget *parent,KviOptionsWidgetInstanceEntry * e) +OptionsDialogTreeWidgetItem::OptionsDialogTreeWidgetItem(QTreeWidget *parent,OptionsWidgetInstanceEntry * e) :QTreeWidgetItem() { m_pInstanceEntry = e; @@ -84,7 +84,7 @@ KviOptionsTreeWidgetItem::KviOptionsTreeWidgetItem(QTreeWidget *parent,KviOption parent->insertTopLevelItem(0, this); } -KviOptionsTreeWidgetItem::KviOptionsTreeWidgetItem(QTreeWidgetItem *parent,KviOptionsWidgetInstanceEntry * e) +OptionsDialogTreeWidgetItem::OptionsDialogTreeWidgetItem(QTreeWidgetItem *parent,OptionsWidgetInstanceEntry * e) :QTreeWidgetItem() { m_pInstanceEntry = e; @@ -94,11 +94,11 @@ KviOptionsTreeWidgetItem::KviOptionsTreeWidgetItem(QTreeWidgetItem *parent,KviOp parent->insertChild(0, this); } -KviOptionsTreeWidgetItem::~KviOptionsTreeWidgetItem() +OptionsDialogTreeWidgetItem::~OptionsDialogTreeWidgetItem() { } -KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup) +OptionsDialog::OptionsDialog(QWidget * par,const QString &szGroup) : QWidget(par) { setObjectName("general_options_dialog"); @@ -219,7 +219,7 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup) vbox->setStretchFactor(m_pWidgetStack,1); // First widget visible - m_pFrontWidget = new KviGeneralOptionsFrontWidget(m_pWidgetStack,szFrontText); + m_pFrontWidget = new OptionsDialogFrontWidget(m_pWidgetStack,szFrontText); m_pWidgetStack->addWidget(m_pFrontWidget); int idx = m_pWidgetStack->indexOf(m_pFrontWidget); @@ -272,7 +272,7 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup) new QShortcut(Qt::Key_Escape,this,SLOT(close())); } -KviOptionsDialog::~KviOptionsDialog() +OptionsDialog::~OptionsDialog() { if(!parent())KVI_OPTION_RECT(KviOption_rectGeneralOptionsDialogGeometry) = QRect(pos().x(),pos().y(), size().width(),size().height()); @@ -280,7 +280,7 @@ KviOptionsDialog::~KviOptionsDialog() g_pOptionsDialogDict->remove(m_szGroup); } -void KviOptionsDialog::showEvent(QShowEvent *e) +void OptionsDialog::showEvent(QShowEvent *e) { QRect r = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()); @@ -303,12 +303,12 @@ void KviOptionsDialog::showEvent(QShowEvent *e) QWidget::showEvent(e); } -void KviOptionsDialog::searchLineEditTextChanged(const QString &) +void OptionsDialog::searchLineEditTextChanged(const QString &) { QString txt = m_pSearchLineEdit->text().trimmed(); m_pSearchButton->setEnabled(txt.length() > 0); } -bool KviOptionsDialog::searchInSelectors(KviOptionsWidget *pOptionsWidget,const QStringList &lKeywords) +bool OptionsDialog::searchInSelectors(KviOptionsWidget *pOptionsWidget,const QStringList &lKeywords) { KviPointerList *selectors=pOptionsWidget->selectors(); bool bFoundSomethingHere=false; @@ -347,7 +347,7 @@ bool KviOptionsDialog::searchInSelectors(KviOptionsWidget *pOptionsWidget,const return bFoundSomethingHere; } -bool KviOptionsDialog::recursiveSearch(KviOptionsTreeWidgetItem * pItem,const QStringList &lKeywords) +bool OptionsDialog::recursiveSearch(OptionsDialogTreeWidgetItem * pItem,const QStringList &lKeywords) { if(!pItem)return false; if(!pItem->m_pOptionsWidget) @@ -399,7 +399,7 @@ bool KviOptionsDialog::recursiveSearch(KviOptionsTreeWidgetItem * pItem,const QS { for(int j=0;jchild(j); + OptionsDialogTreeWidgetItem * pChild = (OptionsDialogTreeWidgetItem *)pItem->child(j); bool bRet = recursiveSearch(pChild,lKeywords); if(bRet)bFoundSomethingInside = true; } @@ -410,41 +410,41 @@ bool KviOptionsDialog::recursiveSearch(KviOptionsTreeWidgetItem * pItem,const QS return (bFoundSomethingInside || bFoundSomethingHere); } -void KviOptionsDialog::search(const QStringList &lKeywords) +void OptionsDialog::search(const QStringList &lKeywords) { m_pTreeWidget->setUpdatesEnabled(false); int count=m_pTreeWidget->topLevelItemCount(); for (int i=0;itopLevelItem(i); + OptionsDialogTreeWidgetItem * pChild = (OptionsDialogTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); recursiveSearch(pChild,lKeywords); } m_pTreeWidget->setUpdatesEnabled(true); m_pTreeWidget->update(); } -void KviOptionsDialog::search(const QString &szKeywords) +void OptionsDialog::search(const QString &szKeywords) { QStringList lKeywords = szKeywords.split(" ",QString::SkipEmptyParts); search(lKeywords); } -void KviOptionsDialog::searchClicked() +void OptionsDialog::searchClicked() { QString szTxt = m_pSearchLineEdit->text().trimmed(); if(!szTxt.isEmpty()) search(szTxt); } -void KviOptionsDialog::fillTreeWidget(QTreeWidgetItem * p,KviPointerList * l,const QString &szGroup,bool bNotContainedOnly) +void OptionsDialog::fillTreeWidget(QTreeWidgetItem * p,KviPointerList * l,const QString &szGroup,bool bNotContainedOnly) { if(!l)return; - KviOptionsTreeWidgetItem * it; - KviOptionsWidgetInstanceEntry * e; + OptionsDialogTreeWidgetItem * it; + OptionsWidgetInstanceEntry * e; - KviPointerList tmp; + KviPointerList tmp; tmp.setAutoDelete(false); @@ -453,7 +453,7 @@ void KviOptionsDialog::fillTreeWidget(QTreeWidgetItem * p,KviPointerListbDoInsert = KviQString::equalCI(szGroup,e->szGroup) && ((!bNotContainedOnly) || e->bIsContainer || e->bIsNotContained); - KviOptionsWidgetInstanceEntry * ee = tmp.first(); + OptionsWidgetInstanceEntry * ee = tmp.first(); int idx = 0; while(ee) { @@ -468,8 +468,8 @@ void KviOptionsDialog::fillTreeWidget(QTreeWidgetItem * p,KviPointerListbDoInsert) { - if(p)it = new KviOptionsTreeWidgetItem(p,e); - else it = new KviOptionsTreeWidgetItem(m_pTreeWidget,e); + if(p)it = new OptionsDialogTreeWidgetItem(p,e); + else it = new OptionsDialogTreeWidgetItem(m_pTreeWidget,e); if(!it->m_pOptionsWidget) { it->m_pOptionsWidget = g_pOptionsInstanceManager->getInstance(it->m_pInstanceEntry,m_pWidgetStack); @@ -478,7 +478,7 @@ void KviOptionsDialog::fillTreeWidget(QTreeWidgetItem * p,KviPointerListaddWidget(it->m_pOptionsWidget); } } else { - it = (KviOptionsTreeWidgetItem *)p; + it = (OptionsDialogTreeWidgetItem *)p; } if(e->pChildList) @@ -495,7 +495,7 @@ void KviOptionsDialog::fillTreeWidget(QTreeWidgetItem * p,KviPointerList"); str += ""; - KviOptionsTreeWidgetItem *i = (KviOptionsTreeWidgetItem *)it; + OptionsDialogTreeWidgetItem *i = (OptionsDialogTreeWidgetItem *)it; if(!i->m_pOptionsWidget) { i->m_pOptionsWidget = g_pOptionsInstanceManager->getInstance(i->m_pInstanceEntry,m_pWidgetStack); @@ -525,18 +525,18 @@ void KviOptionsDialog::treeWidgetItemSelectionChanged(QTreeWidgetItem* it, QTree } /* -KviOptionsTreeWidgetItem * KviOptionsDialog::findItemByPage(KviOptionsTreeWidgetItem *it,KviOptionsWidget * pPage) +OptionsDialogTreeWidgetItem * OptionsDialog::findItemByPage(OptionsDialogTreeWidgetItem *it,KviOptionsWidget * pPage) { if(!it)return 0; if(it->m_pOptionsWidget == pPage)return it; - KviOptionsTreeWidgetItem *i; + OptionsDialogTreeWidgetItem *i; int ccount = it->childCount(); for(int j=0;jchild(j); + OptionsDialogTreeWidgetItem * i = (OptionsDialogTreeWidgetItem *)it->child(j); i = findItemByPage(i,pPage); if(i)return i; @@ -545,13 +545,13 @@ KviOptionsTreeWidgetItem * KviOptionsDialog::findItemByPage(KviOptionsTreeWidget // not found in the children tree.. look in the next sibling for(int j=0;jchild(j); + OptionsDialogTreeWidgetItem * pChild = (OptionsDialogTreeWidgetItem *)pItem->child(j); i = findItemByPage(i,pPage); if(i)return i; } - i = (KviOptionsTreeWidgetItem *)(it->nextSibling()); + i = (OptionsDialogTreeWidgetItem *)(it->nextSibling()); if(i) { i = findItemByPage(i,pPage); @@ -560,26 +560,26 @@ KviOptionsTreeWidgetItem * KviOptionsDialog::findItemByPage(KviOptionsTreeWidget return 0; } */ -void KviOptionsDialog::pageWantsToSwitchToAdvancedPage(KviOptionsWidget *) +void OptionsDialog::pageWantsToSwitchToAdvancedPage(KviOptionsWidget *) { // unused } -void KviOptionsDialog::applyClicked() +void OptionsDialog::applyClicked() { apply(false); } -void KviOptionsDialog::apply(bool bDialogAboutToClose) +void OptionsDialog::apply(bool bDialogAboutToClose) { int count=m_pTreeWidget->topLevelItemCount(); int curTab=-1; - KviOptionsTreeWidgetItem * it; + OptionsDialogTreeWidgetItem * it; if(!bDialogAboutToClose) { // bring up the current widget again! - it = (KviOptionsTreeWidgetItem *)m_pTreeWidget->currentItem(); + it = (OptionsDialogTreeWidgetItem *)m_pTreeWidget->currentItem(); //checking if the check of the check is checkable if(it) if(it->m_pOptionsWidget) @@ -589,14 +589,14 @@ void KviOptionsDialog::apply(bool bDialogAboutToClose) for (int i=0;itopLevelItem(i); + it = (OptionsDialogTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); recursiveCommit(it); } if(!bDialogAboutToClose) { // bring up the current widget again! - it = (KviOptionsTreeWidgetItem *)m_pTreeWidget->currentItem(); + it = (OptionsDialogTreeWidgetItem *)m_pTreeWidget->currentItem(); if(it) { treeWidgetItemSelectionChanged(it, 0); @@ -610,31 +610,31 @@ void KviOptionsDialog::apply(bool bDialogAboutToClose) } -void KviOptionsDialog::okClicked() +void OptionsDialog::okClicked() { apply(true); deleteLater(); } -void KviOptionsDialog::cancelClicked() +void OptionsDialog::cancelClicked() { deleteLater(); } -void KviOptionsDialog::closeEvent(QCloseEvent *e) +void OptionsDialog::closeEvent(QCloseEvent *e) { e->ignore(); deleteLater(); } -void KviOptionsDialog::recursiveCommit(KviOptionsTreeWidgetItem *it) +void OptionsDialog::recursiveCommit(OptionsDialogTreeWidgetItem *it) { // First commit the children if(!it) return; int count=it->childCount(); for (int i=0;ichild(i); + OptionsDialogTreeWidgetItem * pChild = (OptionsDialogTreeWidgetItem *)it->child(i); recursiveCommit(pChild); } @@ -648,7 +648,7 @@ void KviOptionsDialog::recursiveCommit(KviOptionsTreeWidgetItem *it) //refreshTreeWidget(); // <-- this tends to jump into infinite recursion } -void KviOptionsDialog::keyPressEvent( QKeyEvent * e ) +void OptionsDialog::keyPressEvent( QKeyEvent * e ) { if(e->key()==Qt::Key_Return) e->accept(); diff --git a/src/modules/options/dialog.h b/src/modules/options/dialog.h index a867182b8..67b92fc84 100644 --- a/src/modules/options/dialog.h +++ b/src/modules/options/dialog.h @@ -25,7 +25,7 @@ // //============================================================================= -#include "instances.h" +#include "OptionsInstanceManager.h" #include "KviOptionsWidget.h" #include @@ -41,44 +41,44 @@ class QPushButton; class QLineEdit; class QStackedWidget; -class KviGeneralOptionsFrontWidget : public KviOptionsWidget +class OptionsDialogFrontWidget : public KviOptionsWidget { Q_OBJECT public: - KviGeneralOptionsFrontWidget(QWidget *parent,const QString &szText); - ~KviGeneralOptionsFrontWidget(); + OptionsDialogFrontWidget(QWidget *parent,const QString &szText); + ~OptionsDialogFrontWidget(); }; -class KviOptionsTreeWidgetItem : public QTreeWidgetItem +class OptionsDialogTreeWidgetItem : public QTreeWidgetItem { public: - KviOptionsTreeWidgetItem(QTreeWidget *parent,KviOptionsWidgetInstanceEntry * e); - KviOptionsTreeWidgetItem(QTreeWidgetItem *parent,KviOptionsWidgetInstanceEntry * e); - ~KviOptionsTreeWidgetItem(); + OptionsDialogTreeWidgetItem(QTreeWidget *parent,OptionsWidgetInstanceEntry * e); + OptionsDialogTreeWidgetItem(QTreeWidgetItem *parent,OptionsWidgetInstanceEntry * e); + ~OptionsDialogTreeWidgetItem(); public: - KviOptionsWidgetInstanceEntry * m_pInstanceEntry; + OptionsWidgetInstanceEntry * m_pInstanceEntry; KviOptionsWidget * m_pOptionsWidget; }; -class KviOptionsDialog : public QWidget +class OptionsDialog : public QWidget { Q_OBJECT public: - KviOptionsDialog(QWidget * par,const QString &szGroup); - ~KviOptionsDialog(); + OptionsDialog(QWidget * par,const QString &szGroup); + ~OptionsDialog(); private: QTreeWidget * m_pTreeWidget; QLabel * m_pCategoryLabel; QStackedWidget * m_pWidgetStack; - KviGeneralOptionsFrontWidget * m_pFrontWidget; + OptionsDialogFrontWidget * m_pFrontWidget; QString m_szGroup; QLineEdit * m_pSearchLineEdit; QToolButton * m_pSearchButton; private: - void recursiveCommit(KviOptionsTreeWidgetItem *it); - void fillTreeWidget(QTreeWidgetItem * p,KviPointerList * l,const QString &szGroup,bool bNotContainedOnly = false); - //KviOptionsTreeWidgetItem * showHiddenChildren(QTreeWidgetItem * p,KviPointerList * l); - //KviOptionsTreeWidgetItem * findItemByPage(KviOptionsTreeWidgetItem *it,KviOptionsWidget * pPage); + void recursiveCommit(OptionsDialogTreeWidgetItem *it); + void fillTreeWidget(QTreeWidgetItem * p,KviPointerList * l,const QString &szGroup,bool bNotContainedOnly = false); + //OptionsDialogTreeWidgetItem * showHiddenChildren(QTreeWidgetItem * p,KviPointerList * l); + //OptionsDialogTreeWidgetItem * findItemByPage(OptionsDialogTreeWidgetItem *it,KviOptionsWidget * pPage); private slots: void treeWidgetItemSelectionChanged(QTreeWidgetItem* it, QTreeWidgetItem *prev); void applyClicked(); @@ -92,7 +92,7 @@ protected: virtual void closeEvent(QCloseEvent *e); virtual void keyPressEvent( QKeyEvent * e ); virtual void showEvent(QShowEvent *e); - bool recursiveSearch(KviOptionsTreeWidgetItem * pItem,const QStringList &lKeywords); + bool recursiveSearch(OptionsDialogTreeWidgetItem * pItem,const QStringList &lKeywords); bool searchInSelectors(KviOptionsWidget *pWidget,const QStringList &lKeywords); public: diff --git a/src/modules/options/instances.cpp b/src/modules/options/instances.cpp deleted file mode 100644 index b45fb4c9a..000000000 --- a/src/modules/options/instances.cpp +++ /dev/null @@ -1,3695 +0,0 @@ - - -//============================================================================= -// -// File : instances.cpp -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2008 Szymon Stefanek (stefanek@tin.it) -// -// 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. -// -//============================================================================= - -// -// Instance creation routines for the KVIrc options module -// DO NOT EDIT THIS FILE!! ALL CHANGES WILL BE LOST!! -// This file is automatically generated by mkcreateinstanceproc.sh -// so any change should go in that script -// - -#include "optw_antispam.h" -#include "optw_avatar.h" -#include "optw_away.h" -#include "optw_channel.h" -#include "optw_connection.h" -#include "optw_ctcp.h" -#include "optw_ctcpfloodprotection.h" -#include "optw_dcc.h" -#include "optw_generalopt.h" -#include "optw_highlighting.h" -#include "optw_identity.h" -#include "optw_ignore.h" -#include "optw_input.h" -#include "optw_interfacefeatures.h" -#include "optw_interfacelookglobal.h" -#include "optw_irc.h" -#include "optw_ircoutput.h" -#include "optw_ircview.h" -#include "optw_lag.h" -#include "optw_logging.h" -#include "optw_mediatypes.h" -#include "optw_messages.h" -#include "optw_nickserv.h" -#include "optw_notifier.h" -#include "optw_notify.h" -#include "optw_protection.h" -#include "optw_proxy.h" -#include "optw_query.h" -#include "optw_servers.h" -#include "optw_sound.h" -#include "optw_textencoding.h" -#include "optw_texticons.h" -#include "optw_tools.h" -#include "optw_topiclabel.h" -#include "optw_tray.h" -#include "optw_uparser.h" -#include "optw_urlhandlers.h" -#include "optw_userlist.h" -#include "optw_windowlist.h" - -#include "KviLocale.h" -#include "KviIconManager.h" -#include "instances.h" - -int g_iOptionWidgetInstances = 0; - -KviOptionsWidget * classKviAntispamOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviAntispamOptionsWidget(parent); -} - -KviOptionsWidget * classKviAvatarAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviAvatarAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviAwayOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviAwayOptionsWidget(parent); -} - -KviOptionsWidget * classKviChannelOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviChannelOptionsWidget(parent); -} - -KviOptionsWidget * classKviChannelGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviChannelGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviChannelAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviChannelAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviConnectionOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviConnectionOptionsWidget(parent); -} - -KviOptionsWidget * classKviConnectionAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviConnectionAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviSSLOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviSSLOptionsWidget(parent); -} - -KviOptionsWidget * classKviTransportOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTransportOptionsWidget(parent); -} - -KviOptionsWidget * classKviIdentOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIdentOptionsWidget(parent); -} - -KviOptionsWidget * classKviCtcpOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviCtcpOptionsWidget(parent); -} - -KviOptionsWidget * classKviCtcpFloodProtectionOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviCtcpFloodProtectionOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccSendOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccSendOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccSendGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccSendGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccSendAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccSendAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccChatOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccChatOptionsWidget(parent); -} - -KviOptionsWidget * classKviDccVoiceOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviDccVoiceOptionsWidget(parent); -} - -KviOptionsWidget * classKviGeneralOptOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviGeneralOptOptionsWidget(parent); -} - -KviOptionsWidget * classKviAlertHighlightingOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviAlertHighlightingOptionsWidget(parent); -} - -KviOptionsWidget * classKviHighlightingOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviHighlightingOptionsWidget(parent); -} - -KviOptionsWidget * classKviAlertOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviAlertOptionsWidget(parent); -} - -KviOptionsWidget * classKviIdentityOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIdentityOptionsWidget(parent); -} - -KviOptionsWidget * classKviIdentityGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIdentityGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviIdentityAvatarOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIdentityAvatarOptionsWidget(parent); -} - -KviOptionsWidget * classKviIdentityAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIdentityAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviIdentityProfileOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIdentityProfileOptionsWidget(parent); -} - -KviOptionsWidget * classKviIgnoreOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIgnoreOptionsWidget(parent); -} - -KviOptionsWidget * classKviInputLookOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviInputLookOptionsWidget(parent); -} - -KviOptionsWidget * classKviInputFeaturesOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviInputFeaturesOptionsWidget(parent); -} - -KviOptionsWidget * classKviInterfaceFeaturesOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviInterfaceFeaturesOptionsWidget(parent); -} - -KviOptionsWidget * classKviThemeGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviThemeGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviThemeTransparencyOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviThemeTransparencyOptionsWidget(parent); -} - -KviOptionsWidget * classKviThemeMdiAreaOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviThemeMdiAreaOptionsWidget(parent); -} - -KviOptionsWidget * classKviThemeToolBarAppletsOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviThemeToolBarAppletsOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcAdvancedOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcAdvancedOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcOutputOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcOutputOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcViewThemeOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcViewThemeOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcViewLookOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcViewLookOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcViewFeaturesOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcViewFeaturesOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcViewMarkerOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcViewMarkerOptionsWidget(parent); -} - -KviOptionsWidget * classKviLagOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviLagOptionsWidget(parent); -} - -KviOptionsWidget * classKviLoggingOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviLoggingOptionsWidget(parent); -} - -KviOptionsWidget * classKviMediaTypesOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviMediaTypesOptionsWidget(parent); -} - -KviOptionsWidget * classKviMessageOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviMessageOptionsWidget(parent); -} - -KviOptionsWidget * classKviPrivmsgOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviPrivmsgOptionsWidget(parent); -} - -KviOptionsWidget * classKviTimestampOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTimestampOptionsWidget(parent); -} - -KviOptionsWidget * classKviMessageColorsOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviMessageColorsOptionsWidget(parent); -} - -KviOptionsWidget * classKviStandardColorsOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviStandardColorsOptionsWidget(parent); -} - -KviOptionsWidget * classKviNickServOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviNickServOptionsWidget(parent); -} - -KviOptionsWidget * classKviNotifierLookOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviNotifierLookOptionsWidget(parent); -} - -KviOptionsWidget * classKviNotifierOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviNotifierOptionsWidget(parent); -} - -KviOptionsWidget * classKviNotifyOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviNotifyOptionsWidget(parent); -} - -KviOptionsWidget * classKviProtectionOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviProtectionOptionsWidget(parent); -} - -KviOptionsWidget * classKviProxyOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviProxyOptionsWidget(parent); -} - -KviOptionsWidget * classKviQueryOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviQueryOptionsWidget(parent); -} - -KviOptionsWidget * classKviIrcServerOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviIrcServerOptionsWidget(parent); -} - -KviOptionsWidget * classKviSoundOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviSoundOptionsWidget(parent); -} - -KviOptionsWidget * classKviSoundGeneralOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviSoundGeneralOptionsWidget(parent); -} - -KviOptionsWidget * classKviSoundsOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviSoundsOptionsWidget(parent); -} - -KviOptionsWidget * classKviTextEncodingOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTextEncodingOptionsWidget(parent); -} - -KviOptionsWidget * classKviTextIconsOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTextIconsOptionsWidget(parent); -} - -KviOptionsWidget * classKviToolsOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviToolsOptionsWidget(parent); -} - -KviOptionsWidget * classKviTopicLabelLookOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTopicLabelLookOptionsWidget(parent); -} - -KviOptionsWidget * classKviTrayOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTrayOptionsWidget(parent); -} - -KviOptionsWidget * classKviUParserOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUParserOptionsWidget(parent); -} - -KviOptionsWidget * classKviUrlHandlersOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUrlHandlersOptionsWidget(parent); -} - -KviOptionsWidget * classKviUserListLookOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUserListLookOptionsWidget(parent); -} - -KviOptionsWidget * classKviUserListLookBackgroundOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUserListLookBackgroundOptionsWidget(parent); -} - -KviOptionsWidget * classKviUserListLookForegroundOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUserListLookForegroundOptionsWidget(parent); -} - -KviOptionsWidget * classKviUserListGridOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUserListGridOptionsWidget(parent); -} - -KviOptionsWidget * classKviUserListFeaturesOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviUserListFeaturesOptionsWidget(parent); -} - -KviOptionsWidget * classKviWindowListOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviWindowListOptionsWidget(parent); -} - -KviOptionsWidget * classKviTreeWindowListOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTreeWindowListOptionsWidget(parent); -} - -KviOptionsWidget * classKviTreeWindowListForegroundOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTreeWindowListForegroundOptionsWidget(parent); -} - -KviOptionsWidget * classKviTreeWindowListBackgroundOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTreeWindowListBackgroundOptionsWidget(parent); -} - -KviOptionsWidget * classKviTreeWindowListFeaturesOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviTreeWindowListFeaturesOptionsWidget(parent); -} - -KviOptionsWidget * classKviClassicWindowListOptionsWidget_createInstanceProc(QWidget * parent) -{ - return new KviClassicWindowListOptionsWidget(parent); -} - - - -static const char * g_szName_KviAntispamOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAntispamOptionsWidget; -static const char * g_szClassName_KviAntispamOptionsWidget = "KviAntispamOptionsWidget"; -static const char * g_szName_KviAvatarAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAvatarAdvancedOptionsWidget; -static const char * g_szClassName_KviAvatarAdvancedOptionsWidget = "KviAvatarAdvancedOptionsWidget"; -static const char * g_szName_KviAwayOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAwayOptionsWidget; -static const char * g_szClassName_KviAwayOptionsWidget = "KviAwayOptionsWidget"; -static const char * g_szName_KviChannelOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviChannelOptionsWidget; -static const char * g_szClassName_KviChannelOptionsWidget = "KviChannelOptionsWidget"; -static const char * g_szName_KviChannelGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviChannelGeneralOptionsWidget; -static const char * g_szClassName_KviChannelGeneralOptionsWidget = "KviChannelGeneralOptionsWidget"; -static const char * g_szName_KviChannelAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviChannelAdvancedOptionsWidget; -static const char * g_szClassName_KviChannelAdvancedOptionsWidget = "KviChannelAdvancedOptionsWidget"; -static const char * g_szName_KviConnectionOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviConnectionOptionsWidget; -static const char * g_szClassName_KviConnectionOptionsWidget = "KviConnectionOptionsWidget"; -static const char * g_szName_KviConnectionAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviConnectionAdvancedOptionsWidget; -static const char * g_szClassName_KviConnectionAdvancedOptionsWidget = "KviConnectionAdvancedOptionsWidget"; -static const char * g_szName_KviSSLOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSSLOptionsWidget; -static const char * g_szClassName_KviSSLOptionsWidget = "KviSSLOptionsWidget"; -static const char * g_szName_KviTransportOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTransportOptionsWidget; -static const char * g_szClassName_KviTransportOptionsWidget = "KviTransportOptionsWidget"; -static const char * g_szName_KviIdentOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentOptionsWidget; -static const char * g_szClassName_KviIdentOptionsWidget = "KviIdentOptionsWidget"; -static const char * g_szName_KviCtcpOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviCtcpOptionsWidget; -static const char * g_szClassName_KviCtcpOptionsWidget = "KviCtcpOptionsWidget"; -static const char * g_szName_KviCtcpFloodProtectionOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviCtcpFloodProtectionOptionsWidget; -static const char * g_szClassName_KviCtcpFloodProtectionOptionsWidget = "KviCtcpFloodProtectionOptionsWidget"; -static const char * g_szName_KviDccOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccOptionsWidget; -static const char * g_szClassName_KviDccOptionsWidget = "KviDccOptionsWidget"; -static const char * g_szName_KviDccGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccGeneralOptionsWidget; -static const char * g_szClassName_KviDccGeneralOptionsWidget = "KviDccGeneralOptionsWidget"; -static const char * g_szName_KviDccAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccAdvancedOptionsWidget; -static const char * g_szClassName_KviDccAdvancedOptionsWidget = "KviDccAdvancedOptionsWidget"; -static const char * g_szName_KviDccSendOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccSendOptionsWidget; -static const char * g_szClassName_KviDccSendOptionsWidget = "KviDccSendOptionsWidget"; -static const char * g_szName_KviDccSendGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccSendGeneralOptionsWidget; -static const char * g_szClassName_KviDccSendGeneralOptionsWidget = "KviDccSendGeneralOptionsWidget"; -static const char * g_szName_KviDccSendAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccSendAdvancedOptionsWidget; -static const char * g_szClassName_KviDccSendAdvancedOptionsWidget = "KviDccSendAdvancedOptionsWidget"; -static const char * g_szName_KviDccChatOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccChatOptionsWidget; -static const char * g_szClassName_KviDccChatOptionsWidget = "KviDccChatOptionsWidget"; -static const char * g_szName_KviDccVoiceOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviDccVoiceOptionsWidget; -static const char * g_szClassName_KviDccVoiceOptionsWidget = "KviDccVoiceOptionsWidget"; -static const char * g_szName_KviGeneralOptOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviGeneralOptOptionsWidget; -static const char * g_szClassName_KviGeneralOptOptionsWidget = "KviGeneralOptOptionsWidget"; -static const char * g_szName_KviAlertHighlightingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAlertHighlightingOptionsWidget; -static const char * g_szClassName_KviAlertHighlightingOptionsWidget = "KviAlertHighlightingOptionsWidget"; -static const char * g_szName_KviHighlightingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviHighlightingOptionsWidget; -static const char * g_szClassName_KviHighlightingOptionsWidget = "KviHighlightingOptionsWidget"; -static const char * g_szName_KviAlertOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviAlertOptionsWidget; -static const char * g_szClassName_KviAlertOptionsWidget = "KviAlertOptionsWidget"; -static const char * g_szName_KviIdentityOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityOptionsWidget; -static const char * g_szClassName_KviIdentityOptionsWidget = "KviIdentityOptionsWidget"; -static const char * g_szName_KviIdentityGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityGeneralOptionsWidget; -static const char * g_szClassName_KviIdentityGeneralOptionsWidget = "KviIdentityGeneralOptionsWidget"; -static const char * g_szName_KviIdentityAvatarOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityAvatarOptionsWidget; -static const char * g_szClassName_KviIdentityAvatarOptionsWidget = "KviIdentityAvatarOptionsWidget"; -static const char * g_szName_KviIdentityAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityAdvancedOptionsWidget; -static const char * g_szClassName_KviIdentityAdvancedOptionsWidget = "KviIdentityAdvancedOptionsWidget"; -static const char * g_szName_KviIdentityProfileOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIdentityProfileOptionsWidget; -static const char * g_szClassName_KviIdentityProfileOptionsWidget = "KviIdentityProfileOptionsWidget"; -static const char * g_szName_KviIgnoreOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIgnoreOptionsWidget; -static const char * g_szClassName_KviIgnoreOptionsWidget = "KviIgnoreOptionsWidget"; -static const char * g_szName_KviInputLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviInputLookOptionsWidget; -static const char * g_szClassName_KviInputLookOptionsWidget = "KviInputLookOptionsWidget"; -static const char * g_szName_KviInputFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviInputFeaturesOptionsWidget; -static const char * g_szClassName_KviInputFeaturesOptionsWidget = "KviInputFeaturesOptionsWidget"; -static const char * g_szName_KviInterfaceFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviInterfaceFeaturesOptionsWidget; -static const char * g_szClassName_KviInterfaceFeaturesOptionsWidget = "KviInterfaceFeaturesOptionsWidget"; -static const char * g_szName_KviThemeGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeGeneralOptionsWidget; -static const char * g_szClassName_KviThemeGeneralOptionsWidget = "KviThemeGeneralOptionsWidget"; -static const char * g_szName_KviThemeTransparencyOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeTransparencyOptionsWidget; -static const char * g_szClassName_KviThemeTransparencyOptionsWidget = "KviThemeTransparencyOptionsWidget"; -static const char * g_szName_KviThemeMdiAreaOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeMdiAreaOptionsWidget; -static const char * g_szClassName_KviThemeMdiAreaOptionsWidget = "KviThemeMdiAreaOptionsWidget"; -static const char * g_szName_KviThemeToolBarAppletsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviThemeToolBarAppletsOptionsWidget; -static const char * g_szClassName_KviThemeToolBarAppletsOptionsWidget = "KviThemeToolBarAppletsOptionsWidget"; -static const char * g_szName_KviIrcOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcOptionsWidget; -static const char * g_szClassName_KviIrcOptionsWidget = "KviIrcOptionsWidget"; -static const char * g_szName_KviIrcGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcGeneralOptionsWidget; -static const char * g_szClassName_KviIrcGeneralOptionsWidget = "KviIrcGeneralOptionsWidget"; -static const char * g_szName_KviIrcAdvancedOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcAdvancedOptionsWidget; -static const char * g_szClassName_KviIrcAdvancedOptionsWidget = "KviIrcAdvancedOptionsWidget"; -static const char * g_szName_KviIrcOutputOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcOutputOptionsWidget; -static const char * g_szClassName_KviIrcOutputOptionsWidget = "KviIrcOutputOptionsWidget"; -static const char * g_szName_KviIrcViewThemeOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewThemeOptionsWidget; -static const char * g_szClassName_KviIrcViewThemeOptionsWidget = "KviIrcViewThemeOptionsWidget"; -static const char * g_szName_KviIrcViewLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewLookOptionsWidget; -static const char * g_szClassName_KviIrcViewLookOptionsWidget = "KviIrcViewLookOptionsWidget"; -static const char * g_szName_KviIrcViewFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewFeaturesOptionsWidget; -static const char * g_szClassName_KviIrcViewFeaturesOptionsWidget = "KviIrcViewFeaturesOptionsWidget"; -static const char * g_szName_KviIrcViewMarkerOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcViewMarkerOptionsWidget; -static const char * g_szClassName_KviIrcViewMarkerOptionsWidget = "KviIrcViewMarkerOptionsWidget"; -static const char * g_szName_KviLagOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviLagOptionsWidget; -static const char * g_szClassName_KviLagOptionsWidget = "KviLagOptionsWidget"; -static const char * g_szName_KviLoggingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviLoggingOptionsWidget; -static const char * g_szClassName_KviLoggingOptionsWidget = "KviLoggingOptionsWidget"; -static const char * g_szName_KviMediaTypesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviMediaTypesOptionsWidget; -static const char * g_szClassName_KviMediaTypesOptionsWidget = "KviMediaTypesOptionsWidget"; -static const char * g_szName_KviMessageOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviMessageOptionsWidget; -static const char * g_szClassName_KviMessageOptionsWidget = "KviMessageOptionsWidget"; -static const char * g_szName_KviPrivmsgOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviPrivmsgOptionsWidget; -static const char * g_szClassName_KviPrivmsgOptionsWidget = "KviPrivmsgOptionsWidget"; -static const char * g_szName_KviTimestampOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTimestampOptionsWidget; -static const char * g_szClassName_KviTimestampOptionsWidget = "KviTimestampOptionsWidget"; -static const char * g_szName_KviMessageColorsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviMessageColorsOptionsWidget; -static const char * g_szClassName_KviMessageColorsOptionsWidget = "KviMessageColorsOptionsWidget"; -static const char * g_szName_KviStandardColorsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviStandardColorsOptionsWidget; -static const char * g_szClassName_KviStandardColorsOptionsWidget = "KviStandardColorsOptionsWidget"; -static const char * g_szName_KviNickServOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNickServOptionsWidget; -static const char * g_szClassName_KviNickServOptionsWidget = "KviNickServOptionsWidget"; -static const char * g_szName_KviNotifierLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNotifierLookOptionsWidget; -static const char * g_szClassName_KviNotifierLookOptionsWidget = "KviNotifierLookOptionsWidget"; -static const char * g_szName_KviNotifierOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNotifierOptionsWidget; -static const char * g_szClassName_KviNotifierOptionsWidget = "KviNotifierOptionsWidget"; -static const char * g_szName_KviNotifyOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviNotifyOptionsWidget; -static const char * g_szClassName_KviNotifyOptionsWidget = "KviNotifyOptionsWidget"; -static const char * g_szName_KviProtectionOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviProtectionOptionsWidget; -static const char * g_szClassName_KviProtectionOptionsWidget = "KviProtectionOptionsWidget"; -static const char * g_szName_KviProxyOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviProxyOptionsWidget; -static const char * g_szClassName_KviProxyOptionsWidget = "KviProxyOptionsWidget"; -static const char * g_szName_KviQueryOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviQueryOptionsWidget; -static const char * g_szClassName_KviQueryOptionsWidget = "KviQueryOptionsWidget"; -static const char * g_szName_KviIrcServerOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviIrcServerOptionsWidget; -static const char * g_szClassName_KviIrcServerOptionsWidget = "KviIrcServerOptionsWidget"; -static const char * g_szName_KviSoundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSoundOptionsWidget; -static const char * g_szClassName_KviSoundOptionsWidget = "KviSoundOptionsWidget"; -static const char * g_szName_KviSoundGeneralOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSoundGeneralOptionsWidget; -static const char * g_szClassName_KviSoundGeneralOptionsWidget = "KviSoundGeneralOptionsWidget"; -static const char * g_szName_KviSoundsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviSoundsOptionsWidget; -static const char * g_szClassName_KviSoundsOptionsWidget = "KviSoundsOptionsWidget"; -static const char * g_szName_KviTextEncodingOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTextEncodingOptionsWidget; -static const char * g_szClassName_KviTextEncodingOptionsWidget = "KviTextEncodingOptionsWidget"; -static const char * g_szName_KviTextIconsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTextIconsOptionsWidget; -static const char * g_szClassName_KviTextIconsOptionsWidget = "KviTextIconsOptionsWidget"; -static const char * g_szName_KviToolsOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviToolsOptionsWidget; -static const char * g_szClassName_KviToolsOptionsWidget = "KviToolsOptionsWidget"; -static const char * g_szName_KviTopicLabelLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTopicLabelLookOptionsWidget; -static const char * g_szClassName_KviTopicLabelLookOptionsWidget = "KviTopicLabelLookOptionsWidget"; -static const char * g_szName_KviTrayOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTrayOptionsWidget; -static const char * g_szClassName_KviTrayOptionsWidget = "KviTrayOptionsWidget"; -static const char * g_szName_KviUParserOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUParserOptionsWidget; -static const char * g_szClassName_KviUParserOptionsWidget = "KviUParserOptionsWidget"; -static const char * g_szName_KviUrlHandlersOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUrlHandlersOptionsWidget; -static const char * g_szClassName_KviUrlHandlersOptionsWidget = "KviUrlHandlersOptionsWidget"; -static const char * g_szName_KviUserListLookOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListLookOptionsWidget; -static const char * g_szClassName_KviUserListLookOptionsWidget = "KviUserListLookOptionsWidget"; -static const char * g_szName_KviUserListLookBackgroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListLookBackgroundOptionsWidget; -static const char * g_szClassName_KviUserListLookBackgroundOptionsWidget = "KviUserListLookBackgroundOptionsWidget"; -static const char * g_szName_KviUserListLookForegroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListLookForegroundOptionsWidget; -static const char * g_szClassName_KviUserListLookForegroundOptionsWidget = "KviUserListLookForegroundOptionsWidget"; -static const char * g_szName_KviUserListGridOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListGridOptionsWidget; -static const char * g_szClassName_KviUserListGridOptionsWidget = "KviUserListGridOptionsWidget"; -static const char * g_szName_KviUserListFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviUserListFeaturesOptionsWidget; -static const char * g_szClassName_KviUserListFeaturesOptionsWidget = "KviUserListFeaturesOptionsWidget"; -static const char * g_szName_KviWindowListOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviWindowListOptionsWidget; -static const char * g_szClassName_KviWindowListOptionsWidget = "KviWindowListOptionsWidget"; -static const char * g_szName_KviTreeWindowListOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListOptionsWidget; -static const char * g_szClassName_KviTreeWindowListOptionsWidget = "KviTreeWindowListOptionsWidget"; -static const char * g_szName_KviTreeWindowListForegroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListForegroundOptionsWidget; -static const char * g_szClassName_KviTreeWindowListForegroundOptionsWidget = "KviTreeWindowListForegroundOptionsWidget"; -static const char * g_szName_KviTreeWindowListBackgroundOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListBackgroundOptionsWidget; -static const char * g_szClassName_KviTreeWindowListBackgroundOptionsWidget = "KviTreeWindowListBackgroundOptionsWidget"; -static const char * g_szName_KviTreeWindowListFeaturesOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListFeaturesOptionsWidget; -static const char * g_szClassName_KviTreeWindowListFeaturesOptionsWidget = "KviTreeWindowListFeaturesOptionsWidget"; -static const char * g_szName_KviClassicWindowListOptionsWidget = KVI_OPTIONS_WIDGET_NAME_KviClassicWindowListOptionsWidget; -static const char * g_szClassName_KviClassicWindowListOptionsWidget = "KviClassicWindowListOptionsWidget"; - -KviOptionsInstanceManager::KviOptionsInstanceManager() -: QObject(0) -{ - - //qDebug("Instantiating"); - // Create the global widget dict : case sensitive, do not copy keys - m_pInstanceTree = new KviPointerList; - m_pInstanceTree->setAutoDelete(true); - - - KviOptionsWidgetInstanceEntry * e0; - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviConnectionOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviConnectionOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviConnectionOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviConnectionOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviConnectionOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviConnectionOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviConnectionOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - KviOptionsWidgetInstanceEntry * e1; - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviConnectionAdvancedOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviConnectionAdvancedOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviConnectionAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionAdvancedOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionAdvancedOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionAdvancedOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviConnectionAdvancedOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviConnectionAdvancedOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviConnectionAdvancedOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionAdvancedOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionAdvancedOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionAdvancedOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviConnectionAdvancedOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviConnectionAdvancedOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviConnectionAdvancedOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - KviOptionsWidgetInstanceEntry * e2; - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviSSLOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviSSLOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSSLOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSSLOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSSLOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSSLOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSSLOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSSLOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSSLOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSSLOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSSLOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSSLOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSSLOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviSSLOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSSLOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviTransportOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviTransportOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTransportOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTransportOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTransportOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTransportOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTransportOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTransportOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTransportOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTransportOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTransportOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTransportOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTransportOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviTransportOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTransportOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviIdentOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviIdentOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviIdentOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviProxyOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviProxyOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviProxyOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviProxyOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviProxyOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviProxyOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviProxyOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviProxyOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviProxyOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviProxyOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviProxyOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProxyOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProxyOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviProxyOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviProxyOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviDccOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviDccOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviDccOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviDccGeneralOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviDccGeneralOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccGeneralOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccGeneralOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccGeneralOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccGeneralOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccGeneralOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccGeneralOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccGeneralOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccGeneralOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccGeneralOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccGeneralOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviDccGeneralOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccGeneralOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviDccAdvancedOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviDccAdvancedOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccAdvancedOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccAdvancedOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccAdvancedOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccAdvancedOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccAdvancedOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccAdvancedOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccAdvancedOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccAdvancedOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccAdvancedOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccAdvancedOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviDccAdvancedOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccAdvancedOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviDccSendOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviDccSendOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccSendOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccSendOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccSendOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviDccSendOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccSendOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviDccSendGeneralOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviDccSendGeneralOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccSendGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendGeneralOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendGeneralOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendGeneralOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendGeneralOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccSendGeneralOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccSendGeneralOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendGeneralOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendGeneralOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendGeneralOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendGeneralOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviDccSendGeneralOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccSendGeneralOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviDccSendAdvancedOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviDccSendAdvancedOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccSendAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendAdvancedOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccSendAdvancedOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendAdvancedOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccSendAdvancedOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccSendAdvancedOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccSendAdvancedOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendAdvancedOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendAdvancedOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendAdvancedOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccSendAdvancedOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviDccSendAdvancedOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccSendAdvancedOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviDccChatOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviDccChatOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccChatOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccChatOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccChatOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccChatOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccChatOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccChatOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccChatOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccChatOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccChatOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccChatOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccChatOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviDccChatOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccChatOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviDccVoiceOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviDccVoiceOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviDccVoiceOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviDccVoiceOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviDccVoiceOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviDccVoiceOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviDccVoiceOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviDccVoiceOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviDccVoiceOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviDccVoiceOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviDccVoiceOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccVoiceOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccVoiceOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviDccVoiceOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviDccVoiceOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviGeneralOptOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviGeneralOptOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviGeneralOptOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviGeneralOptOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviGeneralOptOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviGeneralOptOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviGeneralOptOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviGeneralOptOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviGeneralOptOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviGeneralOptOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviGeneralOptOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviGeneralOptOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviGeneralOptOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviGeneralOptOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviGeneralOptOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviMediaTypesOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviMediaTypesOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviMediaTypesOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviMediaTypesOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviMediaTypesOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviMediaTypesOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviMediaTypesOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviMediaTypesOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviMediaTypesOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviMediaTypesOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviMediaTypesOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMediaTypesOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMediaTypesOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviMediaTypesOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviMediaTypesOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviSoundOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviSoundOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSoundOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSoundOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSoundOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSoundOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSoundOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSoundOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSoundOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviSoundOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSoundOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviSoundGeneralOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviSoundGeneralOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSoundGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSoundGeneralOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSoundGeneralOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundGeneralOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundGeneralOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSoundGeneralOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSoundGeneralOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSoundGeneralOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSoundGeneralOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundGeneralOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundGeneralOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviSoundGeneralOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSoundGeneralOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviSoundsOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviSoundsOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviSoundsOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviSoundsOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviSoundsOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundsOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundsOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviSoundsOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviSoundsOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviSoundsOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviSoundsOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundsOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviSoundsOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviSoundsOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviSoundsOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviTextEncodingOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviTextEncodingOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTextEncodingOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTextEncodingOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTextEncodingOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTextEncodingOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTextEncodingOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTextEncodingOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTextEncodingOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTextEncodingOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTextEncodingOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextEncodingOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextEncodingOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviTextEncodingOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTextEncodingOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviUParserOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviUParserOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUParserOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUParserOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUParserOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUParserOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUParserOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUParserOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUParserOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUParserOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUParserOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUParserOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUParserOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviUParserOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUParserOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviUrlHandlersOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviUrlHandlersOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUrlHandlersOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUrlHandlersOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUrlHandlersOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUrlHandlersOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUrlHandlersOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUrlHandlersOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUrlHandlersOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUrlHandlersOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUrlHandlersOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUrlHandlersOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUrlHandlersOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviUrlHandlersOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUrlHandlersOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviIdentityOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviIdentityOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviIdentityOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIdentityGeneralOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIdentityGeneralOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityGeneralOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityGeneralOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityGeneralOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityGeneralOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityGeneralOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityGeneralOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityGeneralOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityGeneralOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityGeneralOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityGeneralOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIdentityGeneralOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityGeneralOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIdentityAvatarOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIdentityAvatarOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityAvatarOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAvatarOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAvatarOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAvatarOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAvatarOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityAvatarOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityAvatarOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAvatarOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAvatarOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAvatarOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAvatarOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIdentityAvatarOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityAvatarOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIdentityAdvancedOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIdentityAdvancedOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAdvancedOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAdvancedOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAdvancedOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityAdvancedOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityAdvancedOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityAdvancedOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAdvancedOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityAdvancedOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAdvancedOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityAdvancedOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIdentityAdvancedOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityAdvancedOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIdentityProfileOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIdentityProfileOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIdentityProfileOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityProfileOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityProfileOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityProfileOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIdentityProfileOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIdentityProfileOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIdentityProfileOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityProfileOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityProfileOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityProfileOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIdentityProfileOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIdentityProfileOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIdentityProfileOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviInputLookOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviInputLookOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviInputLookOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviInputLookOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviInputLookOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviInputLookOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviInputLookOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviInputLookOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviInputLookOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviInputLookOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviInputLookOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputLookOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputLookOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviInputLookOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviInputLookOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviInterfaceFeaturesOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviInterfaceFeaturesOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviInterfaceFeaturesOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviInterfaceFeaturesOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviInterfaceFeaturesOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviInterfaceFeaturesOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviInterfaceFeaturesOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviInterfaceFeaturesOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviInterfaceFeaturesOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviInterfaceFeaturesOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviInterfaceFeaturesOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInterfaceFeaturesOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInterfaceFeaturesOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviInterfaceFeaturesOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviInterfaceFeaturesOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviInputFeaturesOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviInputFeaturesOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviInputFeaturesOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviInputFeaturesOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviInputFeaturesOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviInputFeaturesOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviInputFeaturesOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviInputFeaturesOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviInputFeaturesOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviInputFeaturesOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviInputFeaturesOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputFeaturesOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviInputFeaturesOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviInputFeaturesOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviInputFeaturesOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviNotifierOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviNotifierOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNotifierOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNotifierOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNotifierOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviNotifierOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNotifierOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviTrayOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviTrayOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTrayOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTrayOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTrayOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTrayOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTrayOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTrayOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTrayOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTrayOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTrayOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTrayOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTrayOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviTrayOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTrayOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviThemeGeneralOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviThemeGeneralOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeGeneralOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeGeneralOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeGeneralOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeGeneralOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeGeneralOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeGeneralOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeGeneralOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeGeneralOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeGeneralOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeGeneralOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviThemeGeneralOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeGeneralOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviThemeTransparencyOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviThemeTransparencyOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeTransparencyOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeTransparencyOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeTransparencyOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeTransparencyOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeTransparencyOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeTransparencyOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeTransparencyOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeTransparencyOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeTransparencyOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeTransparencyOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeTransparencyOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviThemeTransparencyOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeTransparencyOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviThemeMdiAreaOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviThemeMdiAreaOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeMdiAreaOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeMdiAreaOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeMdiAreaOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeMdiAreaOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeMdiAreaOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeMdiAreaOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeMdiAreaOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeMdiAreaOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeMdiAreaOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeMdiAreaOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeMdiAreaOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviThemeMdiAreaOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeMdiAreaOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviThemeToolBarAppletsOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviThemeToolBarAppletsOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviThemeToolBarAppletsOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviThemeToolBarAppletsOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviThemeToolBarAppletsOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeToolBarAppletsOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeToolBarAppletsOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviThemeToolBarAppletsOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviThemeToolBarAppletsOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviThemeToolBarAppletsOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviThemeToolBarAppletsOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeToolBarAppletsOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviThemeToolBarAppletsOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviThemeToolBarAppletsOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviThemeToolBarAppletsOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviIrcOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviIrcOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviIrcOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviChannelOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviChannelOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviChannelOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviChannelOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviChannelOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviChannelOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviChannelOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviChannelOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviChannelOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviChannelOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviChannelOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviChannelGeneralOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviChannelGeneralOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviChannelGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviChannelGeneralOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviChannelGeneralOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelGeneralOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelGeneralOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviChannelGeneralOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviChannelGeneralOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviChannelGeneralOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviChannelGeneralOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelGeneralOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelGeneralOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviChannelGeneralOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviChannelGeneralOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviChannelAdvancedOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviChannelAdvancedOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviChannelAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviChannelAdvancedOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviChannelAdvancedOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelAdvancedOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviChannelAdvancedOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviChannelAdvancedOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviChannelAdvancedOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviChannelAdvancedOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviChannelAdvancedOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelAdvancedOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelAdvancedOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviChannelAdvancedOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviChannelAdvancedOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIrcGeneralOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIrcGeneralOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcGeneralOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcGeneralOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcGeneralOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcGeneralOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcGeneralOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcGeneralOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcGeneralOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcGeneralOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcGeneralOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcGeneralOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcGeneralOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIrcGeneralOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcGeneralOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIrcAdvancedOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIrcAdvancedOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcAdvancedOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcAdvancedOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcAdvancedOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcAdvancedOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcAdvancedOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcAdvancedOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcAdvancedOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcAdvancedOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcAdvancedOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcAdvancedOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIrcAdvancedOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcAdvancedOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIrcOutputOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIrcOutputOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcOutputOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOutputOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOutputOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOutputOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOutputOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcOutputOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcOutputOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOutputOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOutputOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOutputOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcOutputOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIrcOutputOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcOutputOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviProtectionOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviProtectionOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviProtectionOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviProtectionOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviProtectionOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviProtectionOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviProtectionOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviProtectionOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviProtectionOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviProtectionOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviProtectionOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProtectionOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProtectionOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviProtectionOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviProtectionOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviAntispamOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviAntispamOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAntispamOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAntispamOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAntispamOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAntispamOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAntispamOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAntispamOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAntispamOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAntispamOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAntispamOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAntispamOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAntispamOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviAntispamOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAntispamOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviCtcpFloodProtectionOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviCtcpFloodProtectionOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviCtcpFloodProtectionOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpFloodProtectionOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpFloodProtectionOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpFloodProtectionOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpFloodProtectionOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviCtcpFloodProtectionOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviCtcpFloodProtectionOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpFloodProtectionOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpFloodProtectionOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpFloodProtectionOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpFloodProtectionOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviCtcpFloodProtectionOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviCtcpFloodProtectionOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviIgnoreOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviIgnoreOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIgnoreOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIgnoreOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIgnoreOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIgnoreOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIgnoreOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIgnoreOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIgnoreOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIgnoreOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIgnoreOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIgnoreOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIgnoreOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviIgnoreOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIgnoreOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviQueryOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviQueryOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviQueryOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviQueryOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviQueryOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviQueryOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviQueryOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviQueryOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviQueryOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviQueryOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviQueryOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviQueryOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviQueryOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviQueryOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviQueryOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviToolsOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviToolsOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviToolsOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviToolsOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviToolsOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviToolsOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviToolsOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviToolsOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviToolsOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviToolsOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviToolsOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviToolsOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviToolsOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviToolsOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviToolsOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviAvatarAdvancedOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviAvatarAdvancedOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAvatarAdvancedOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAvatarAdvancedOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAvatarAdvancedOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAvatarAdvancedOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAvatarAdvancedOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAvatarAdvancedOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAvatarAdvancedOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAvatarAdvancedOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAvatarAdvancedOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAvatarAdvancedOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAvatarAdvancedOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviAvatarAdvancedOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAvatarAdvancedOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviAwayOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviAwayOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAwayOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAwayOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAwayOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAwayOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAwayOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAwayOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAwayOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAwayOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAwayOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAwayOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAwayOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviAwayOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAwayOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviCtcpOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviCtcpOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviCtcpOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviCtcpOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviCtcpOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviCtcpOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviCtcpOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviCtcpOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviCtcpOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviCtcpOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviAlertHighlightingOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviAlertHighlightingOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAlertHighlightingOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAlertHighlightingOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAlertHighlightingOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertHighlightingOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertHighlightingOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAlertHighlightingOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAlertHighlightingOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAlertHighlightingOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAlertHighlightingOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertHighlightingOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertHighlightingOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviAlertHighlightingOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAlertHighlightingOptionsWidget,"options"); - e1->pChildList->append(e2); - - e2->pChildList = new KviPointerList; - e2->pChildList->setAutoDelete(true); - - KviOptionsWidgetInstanceEntry * e3; - e3 = new KviOptionsWidgetInstanceEntry; - e3->createProc = &classKviHighlightingOptionsWidget_createInstanceProc; - e3->pWidget = 0; - e3->szClassName = g_szClassName_KviHighlightingOptionsWidget; - e3->iIcon = KVI_OPTIONS_WIDGET_ICON_KviHighlightingOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviHighlightingOptionsWidget - e3->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviHighlightingOptionsWidget; - #else - e3->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviHighlightingOptionsWidget - e3->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviHighlightingOptionsWidget; - e3->szKeywords = __tr2qs_ctx_no_xgettext(e3->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviHighlightingOptionsWidget - e3->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviHighlightingOptionsWidget; - #else - e3->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviHighlightingOptionsWidget - e3->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviHighlightingOptionsWidget; - #else - e3->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviHighlightingOptionsWidget - e3->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviHighlightingOptionsWidget; - #else - e3->bIsNotContained = false; - #endif - e3->szNameNoLocale = g_szName_KviHighlightingOptionsWidget; - e3->szName = __tr2qs_ctx_no_xgettext(g_szName_KviHighlightingOptionsWidget,"options"); - e2->pChildList->append(e3); - e3->pChildList = 0; - - e3 = new KviOptionsWidgetInstanceEntry; - e3->createProc = &classKviAlertOptionsWidget_createInstanceProc; - e3->pWidget = 0; - e3->szClassName = g_szClassName_KviAlertOptionsWidget; - e3->iIcon = KVI_OPTIONS_WIDGET_ICON_KviAlertOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviAlertOptionsWidget - e3->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviAlertOptionsWidget; - #else - e3->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertOptionsWidget - e3->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviAlertOptionsWidget; - e3->szKeywords = __tr2qs_ctx_no_xgettext(e3->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviAlertOptionsWidget - e3->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviAlertOptionsWidget; - #else - e3->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviAlertOptionsWidget - e3->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviAlertOptionsWidget; - #else - e3->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertOptionsWidget - e3->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviAlertOptionsWidget; - #else - e3->bIsNotContained = false; - #endif - e3->szNameNoLocale = g_szName_KviAlertOptionsWidget; - e3->szName = __tr2qs_ctx_no_xgettext(g_szName_KviAlertOptionsWidget,"options"); - e2->pChildList->append(e3); - e3->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviLagOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviLagOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviLagOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviLagOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviLagOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviLagOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviLagOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviLagOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviLagOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviLagOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviLagOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLagOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLagOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviLagOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviLagOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviLoggingOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviLoggingOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviLoggingOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviLoggingOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviLoggingOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviLoggingOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviLoggingOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviLoggingOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviLoggingOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviLoggingOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviLoggingOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLoggingOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviLoggingOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviLoggingOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviLoggingOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviNickServOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviNickServOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNickServOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNickServOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNickServOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNickServOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNickServOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNickServOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNickServOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNickServOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNickServOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNickServOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNickServOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviNickServOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNickServOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviNotifyOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviNotifyOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNotifyOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNotifyOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNotifyOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifyOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifyOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNotifyOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNotifyOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNotifyOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNotifyOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifyOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifyOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviNotifyOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNotifyOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviTextIconsOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviTextIconsOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTextIconsOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTextIconsOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTextIconsOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTextIconsOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTextIconsOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTextIconsOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTextIconsOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTextIconsOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTextIconsOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextIconsOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTextIconsOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviTextIconsOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTextIconsOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviIrcViewThemeOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviIrcViewThemeOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewThemeOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewThemeOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewThemeOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewThemeOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewThemeOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewThemeOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewThemeOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewThemeOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewThemeOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewThemeOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewThemeOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviIrcViewThemeOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewThemeOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIrcViewLookOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIrcViewLookOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewLookOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewLookOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewLookOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewLookOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewLookOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewLookOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewLookOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewLookOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewLookOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewLookOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewLookOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIrcViewLookOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewLookOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIrcViewFeaturesOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIrcViewFeaturesOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewFeaturesOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewFeaturesOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewFeaturesOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewFeaturesOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewFeaturesOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewFeaturesOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewFeaturesOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewFeaturesOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewFeaturesOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewFeaturesOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewFeaturesOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIrcViewFeaturesOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewFeaturesOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviIrcViewMarkerOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviIrcViewMarkerOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcViewMarkerOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewMarkerOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewMarkerOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewMarkerOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewMarkerOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewMarkerOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcViewMarkerOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviIrcViewMarkerOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcViewMarkerOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviMessageOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviMessageOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviMessageOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviMessageOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviMessageOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviMessageOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviMessageOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviPrivmsgOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviPrivmsgOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviPrivmsgOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviPrivmsgOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviPrivmsgOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviPrivmsgOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviPrivmsgOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviPrivmsgOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviPrivmsgOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviTimestampOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviTimestampOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTimestampOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTimestampOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTimestampOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTimestampOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTimestampOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviTimestampOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTimestampOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviMessageColorsOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviMessageColorsOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviMessageColorsOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviMessageColorsOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviMessageColorsOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageColorsOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviMessageColorsOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviMessageColorsOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviMessageColorsOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviStandardColorsOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviStandardColorsOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviStandardColorsOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviStandardColorsOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviStandardColorsOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviStandardColorsOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviStandardColorsOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviStandardColorsOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviStandardColorsOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviNotifierLookOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviNotifierLookOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviNotifierLookOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierLookOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviNotifierLookOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierLookOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierLookOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviNotifierLookOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviNotifierLookOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierLookOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviNotifierLookOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierLookOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviNotifierLookOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviNotifierLookOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviNotifierLookOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviIrcServerOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviIrcServerOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviIrcServerOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviIrcServerOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviIrcServerOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcServerOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcServerOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviIrcServerOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviIrcServerOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviIrcServerOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviIrcServerOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcServerOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviIrcServerOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviIrcServerOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviIrcServerOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviTopicLabelLookOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviTopicLabelLookOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTopicLabelLookOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTopicLabelLookOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTopicLabelLookOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTopicLabelLookOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTopicLabelLookOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTopicLabelLookOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTopicLabelLookOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTopicLabelLookOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTopicLabelLookOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTopicLabelLookOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTopicLabelLookOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviTopicLabelLookOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTopicLabelLookOptionsWidget,"options"); - m_pInstanceTree->append(e0); - e0->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviUserListLookOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviUserListLookOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListLookOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListLookOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListLookOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviUserListLookOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListLookOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviUserListLookBackgroundOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviUserListLookBackgroundOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListLookBackgroundOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookBackgroundOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookBackgroundOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookBackgroundOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookBackgroundOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListLookBackgroundOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListLookBackgroundOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookBackgroundOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookBackgroundOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookBackgroundOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookBackgroundOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviUserListLookBackgroundOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListLookBackgroundOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviUserListLookForegroundOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviUserListLookForegroundOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListLookForegroundOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookForegroundOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookForegroundOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookForegroundOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookForegroundOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListLookForegroundOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListLookForegroundOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookForegroundOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookForegroundOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookForegroundOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListLookForegroundOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviUserListLookForegroundOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListLookForegroundOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviUserListGridOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviUserListGridOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListGridOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListGridOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListGridOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListGridOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListGridOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListGridOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListGridOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListGridOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListGridOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListGridOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListGridOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviUserListGridOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListGridOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviUserListFeaturesOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviUserListFeaturesOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviUserListFeaturesOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviUserListFeaturesOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviUserListFeaturesOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListFeaturesOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListFeaturesOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviUserListFeaturesOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviUserListFeaturesOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviUserListFeaturesOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviUserListFeaturesOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListFeaturesOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviUserListFeaturesOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviUserListFeaturesOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviUserListFeaturesOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - - e0 = new KviOptionsWidgetInstanceEntry; - e0->createProc = &classKviWindowListOptionsWidget_createInstanceProc; - e0->pWidget = 0; - e0->szClassName = g_szClassName_KviWindowListOptionsWidget; - e0->iIcon = KVI_OPTIONS_WIDGET_ICON_KviWindowListOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviWindowListOptionsWidget - e0->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviWindowListOptionsWidget; - #else - e0->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviWindowListOptionsWidget - e0->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviWindowListOptionsWidget; - e0->szKeywords = __tr2qs_ctx_no_xgettext(e0->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviWindowListOptionsWidget - e0->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviWindowListOptionsWidget; - #else - e0->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviWindowListOptionsWidget - e0->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviWindowListOptionsWidget; - #else - e0->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviWindowListOptionsWidget - e0->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviWindowListOptionsWidget; - #else - e0->bIsNotContained = false; - #endif - e0->szNameNoLocale = g_szName_KviWindowListOptionsWidget; - e0->szName = __tr2qs_ctx_no_xgettext(g_szName_KviWindowListOptionsWidget,"options"); - m_pInstanceTree->append(e0); - - e0->pChildList = new KviPointerList; - e0->pChildList->setAutoDelete(true); - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviTreeWindowListOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviTreeWindowListOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviTreeWindowListOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListOptionsWidget,"options"); - e0->pChildList->append(e1); - - e1->pChildList = new KviPointerList; - e1->pChildList->setAutoDelete(true); - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviTreeWindowListForegroundOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviTreeWindowListForegroundOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListForegroundOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListForegroundOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListForegroundOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListForegroundOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListForegroundOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListForegroundOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListForegroundOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListForegroundOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListForegroundOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListForegroundOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListForegroundOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviTreeWindowListForegroundOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListForegroundOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviTreeWindowListBackgroundOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviTreeWindowListBackgroundOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListBackgroundOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListBackgroundOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListBackgroundOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListBackgroundOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListBackgroundOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListBackgroundOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListBackgroundOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListBackgroundOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListBackgroundOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListBackgroundOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListBackgroundOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviTreeWindowListBackgroundOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListBackgroundOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e2 = new KviOptionsWidgetInstanceEntry; - e2->createProc = &classKviTreeWindowListFeaturesOptionsWidget_createInstanceProc; - e2->pWidget = 0; - e2->szClassName = g_szClassName_KviTreeWindowListFeaturesOptionsWidget; - e2->iIcon = KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListFeaturesOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListFeaturesOptionsWidget - e2->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviTreeWindowListFeaturesOptionsWidget; - #else - e2->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListFeaturesOptionsWidget - e2->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListFeaturesOptionsWidget; - e2->szKeywords = __tr2qs_ctx_no_xgettext(e2->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListFeaturesOptionsWidget - e2->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListFeaturesOptionsWidget; - #else - e2->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListFeaturesOptionsWidget - e2->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListFeaturesOptionsWidget; - #else - e2->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListFeaturesOptionsWidget - e2->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviTreeWindowListFeaturesOptionsWidget; - #else - e2->bIsNotContained = false; - #endif - e2->szNameNoLocale = g_szName_KviTreeWindowListFeaturesOptionsWidget; - e2->szName = __tr2qs_ctx_no_xgettext(g_szName_KviTreeWindowListFeaturesOptionsWidget,"options"); - e1->pChildList->append(e2); - e2->pChildList = 0; - - e1 = new KviOptionsWidgetInstanceEntry; - e1->createProc = &classKviClassicWindowListOptionsWidget_createInstanceProc; - e1->pWidget = 0; - e1->szClassName = g_szClassName_KviClassicWindowListOptionsWidget; - e1->iIcon = KVI_OPTIONS_WIDGET_ICON_KviClassicWindowListOptionsWidget; - #ifdef KVI_OPTIONS_WIDGET_PRIORITY_KviClassicWindowListOptionsWidget - e1->iPriority = KVI_OPTIONS_WIDGET_PRIORITY_KviClassicWindowListOptionsWidget; - #else - e1->iPriority = 0; - #endif - #ifdef KVI_OPTIONS_WIDGET_KEYWORDS_KviClassicWindowListOptionsWidget - e1->szKeywordsNoLocale = KVI_OPTIONS_WIDGET_KEYWORDS_KviClassicWindowListOptionsWidget; - e1->szKeywords = __tr2qs_ctx_no_xgettext(e1->szKeywordsNoLocale.toUtf8().data(),"options");; - #endif - #ifdef KVI_OPTIONS_WIDGET_GROUP_KviClassicWindowListOptionsWidget - e1->szGroup = KVI_OPTIONS_WIDGET_GROUP_KviClassicWindowListOptionsWidget; - #else - e1->szGroup = "general"; - #endif - #ifdef KVI_OPTIONS_WIDGET_CONTAINER_KviClassicWindowListOptionsWidget - e1->bIsContainer = KVI_OPTIONS_WIDGET_CONTAINER_KviClassicWindowListOptionsWidget; - #else - e1->bIsContainer = false; - #endif - #ifdef KVI_OPTIONS_WIDGET_NOTCONTAINED_KviClassicWindowListOptionsWidget - e1->bIsNotContained = KVI_OPTIONS_WIDGET_NOTCONTAINED_KviClassicWindowListOptionsWidget; - #else - e1->bIsNotContained = false; - #endif - e1->szNameNoLocale = g_szName_KviClassicWindowListOptionsWidget; - e1->szName = __tr2qs_ctx_no_xgettext(g_szName_KviClassicWindowListOptionsWidget,"options"); - e0->pChildList->append(e1); - e1->pChildList = 0; - -} - -void KviOptionsInstanceManager::deleteInstanceTree(KviPointerList * l) -{ - if(l) - { - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) - { - if(e->pWidget) - { - if(e->pWidget->parent()->inherits("KviOptionsWidgetContainer")) - { - disconnect(e->pWidget,SIGNAL(destroyed()),this,SLOT(widgetDestroyed())); - delete e->pWidget->parent(); - e->pWidget = 0; - } else { - qDebug("Ops...i have deleted the options dialog ?"); - } - } //else qDebug("Clas %s has no widget",e->szName); - if(e->pChildList)deleteInstanceTree(e->pChildList); - } - delete l; - } -} - - -KviOptionsInstanceManager::~KviOptionsInstanceManager() -{ - if(m_pInstanceTree) - qDebug("Ops...KviOptionsInstanceManager::cleanup() not called ?"); -} - -void KviOptionsInstanceManager::cleanup(KviModule *) -{ - deleteInstanceTree(m_pInstanceTree); - m_pInstanceTree = 0; -} - -void KviOptionsInstanceManager::widgetDestroyed() -{ - KviOptionsWidgetInstanceEntry * e = findInstanceEntry(sender(),m_pInstanceTree); - if(e) - e->pWidget = 0; - if(g_iOptionWidgetInstances > 0) - g_iOptionWidgetInstances--; - -} - -KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstanceEntry * e,QWidget * par) -{ - if(!e) - return NULL; - -#if 0 - if(e->pWidget) - { - if(e->pWidget->parent() != par) - { - QWidget * oldPar = (QWidget *)e->pWidget->parent(); - e->pWidget->setParent(par); - oldPar->deleteLater(); - e->pWidget=0; - } - } -#endif - - if(!(e->pWidget)) - { - e->pWidget = e->createProc(par); - g_iOptionWidgetInstances++; - connect(e->pWidget,SIGNAL(destroyed()),this,SLOT(widgetDestroyed())); - } - - if(e->pWidget->parent() != par) - { - QWidget * oldPar = (QWidget *)e->pWidget->parent(); - e->pWidget->setParent(par); //reparent(par,QPoint(0,0)); - if(oldPar->inherits("KviOptionsWidgetContainer")) - delete oldPar; - // else it's very likely a QStackedWidget, child of a KviOptionsWidget: don't delete - } - - if(e->bIsContainer) - { - // need to create the container structure! - e->pWidget->createTabbedPage(); - if(e->pChildList) - { - KviPointerList tmp; - tmp.setAutoDelete(false); - - for(KviOptionsWidgetInstanceEntry * e2 = e->pChildList->first();e2;e2 = e->pChildList->next()) - { - // add only non containers and widgets not explicitly marked as noncontained - if((!e2->bIsContainer) && (!e2->bIsNotContained)) - { - KviOptionsWidgetInstanceEntry * ee = tmp.first(); - int idx = 0; - while(ee) - { - if(ee->iPriority >= e2->iPriority)break; - idx++; - ee = tmp.next(); - } - tmp.insert(idx,e2); - } - } - - for(KviOptionsWidgetInstanceEntry * e3 = tmp.last();e3;e3 = tmp.prev()) - { - KviOptionsWidget * ow = getInstance(e3,e->pWidget->tabWidget()); - e->pWidget->addOptionsWidget(e3->szName,*(g_pIconManager->getSmallIcon(e3->iIcon)),ow); - } - } - } - return e->pWidget; -} - -KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(const QObject * ptr,KviPointerList * l) -{ - if(l) - { - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) - { - if(ptr == e->pWidget)return e; - if(e->pChildList) - { - KviOptionsWidgetInstanceEntry * e2 = findInstanceEntry(ptr,e->pChildList); - if(e2)return e2; - } - } - } - return 0; -} - -KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(const char * clName,KviPointerList * l) -{ - if(l) - { - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) - { - if(kvi_strEqualCI(e->szClassName,clName))return e; - if(e->pChildList) - { - KviOptionsWidgetInstanceEntry * e2 = findInstanceEntry(clName,e->pChildList); - if(e2)return e2; - } - } - } - return 0; -} - -KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(const char * clName) -{ - return findInstanceEntry(clName,m_pInstanceTree); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES - #include "m_instances.moc" -#endif - diff --git a/src/modules/options/instances.h b/src/modules/options/instances.h deleted file mode 100644 index 99e9d8d8e..000000000 --- a/src/modules/options/instances.h +++ /dev/null @@ -1,85 +0,0 @@ - - -#ifndef __OPTIONS_INSTANCES_H__ -#define __OPTIONS_INSTANCES_H__ - -//============================================================================= -// -// File : instances.h -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2008 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. -// -//============================================================================= - -// -// Instance creation routines for the KVIrc options module -// DO NOT EDIT THIS FILE!! ALL CHANGES WILL BE LOST!! -// This file is automatically generated by mkcreateinstanceproc.sh -// so any change should go in that script -// - -#include "KviOptionsWidget.h" -#include "KviModule.h" -#include "KviPointerList.h" -#include "KviQString.h" - -typedef struct _KviOptionsWidgetInstanceEntry KviOptionsWidgetInstanceEntry; - - -typedef struct _KviOptionsWidgetInstanceEntry -{ - KviOptionsWidget * (*createProc)(QWidget *); - KviOptionsWidget * pWidget; // singleton - int iIcon; - QString szName; - QString szNameNoLocale; - const char * szClassName; - int iPriority; - QString szKeywords; - QString szKeywordsNoLocale; - QString szGroup; - bool bIsContainer; - bool bIsNotContained; - KviPointerList * pChildList; - bool bDoInsert; // a helper for KviOptionsDialog::fillListView() -} KviOptionsWidgetInstanceEntry; - - -class KviOptionsInstanceManager : public QObject -{ - Q_OBJECT -public: - KviOptionsInstanceManager(); - virtual ~KviOptionsInstanceManager(); -protected: - KviPointerList * m_pInstanceTree; -public: - KviPointerList * instanceEntryTree(){ return m_pInstanceTree; }; - KviOptionsWidget * getInstance(KviOptionsWidgetInstanceEntry * e,QWidget * par); - KviOptionsWidgetInstanceEntry * findInstanceEntry(const char * clName); - void cleanup(KviModule * m); -protected: - KviOptionsWidgetInstanceEntry * findInstanceEntry(const char * clName,KviPointerList * l); - KviOptionsWidgetInstanceEntry * findInstanceEntry(const QObject * ptr,KviPointerList * l); - void deleteInstanceTree(KviPointerList * l); -protected slots: - void widgetDestroyed(); -}; - -#endif //__OPTIONS_INSTANCES_H__ - diff --git a/src/modules/options/libkvioptions.cpp b/src/modules/options/libkvioptions.cpp index 47c9793ed..6c8b8e9dc 100644 --- a/src/modules/options/libkvioptions.cpp +++ b/src/modules/options/libkvioptions.cpp @@ -22,8 +22,8 @@ // //============================================================================= -#include "container.h" -#include "instances.h" +#include "OptionsWidgetContainer.h" +#include "OptionsInstanceManager.h" #include "dialog.h" #include "KviModule.h" @@ -39,9 +39,9 @@ #include -KviPointerHashTable * g_pOptionsDialogDict = 0; +KviPointerHashTable * g_pOptionsDialogDict = 0; -KviOptionsInstanceManager * g_pOptionsInstanceManager = 0; +OptionsInstanceManager * g_pOptionsInstanceManager = 0; extern int g_iOptionWidgetInstances; @@ -101,7 +101,7 @@ static bool options_kvs_cmd_dialog(KviKvsModuleCommandCall * c) KVSM_PARAMETER("options_group",KVS_PT_STRING,KVS_PF_OPTIONAL,szGroup) KVSM_PARAMETERS_END(c) if(szGroup.isEmpty())szGroup = "general"; - KviOptionsDialog * d = g_pOptionsDialogDict->find(szGroup); + OptionsDialog * d = g_pOptionsDialogDict->find(szGroup); if(d) { if(c->hasSwitch('t',"toplevel")) @@ -122,9 +122,9 @@ static bool options_kvs_cmd_dialog(KviKvsModuleCommandCall * c) } else { if(c->hasSwitch('t',"toplevel")) { - d = new KviOptionsDialog(0,szGroup); + d = new OptionsDialog(0,szGroup); } else { - d = new KviOptionsDialog(c->window()->frame()->splitter(),szGroup); + d = new OptionsDialog(c->window()->frame()->splitter(),szGroup); } g_pOptionsDialogDict->insert(szGroup,d); } @@ -150,14 +150,14 @@ static bool options_kvs_cmd_dialog(KviKvsModuleCommandCall * c) */ -static void options_kvs_module_print_pages(KviKvsModuleCommandCall * c,KviOptionsWidgetInstanceEntry * e,const char * prefix) +static void options_kvs_module_print_pages(KviKvsModuleCommandCall * c,OptionsWidgetInstanceEntry * e,const char * prefix) { c->window()->output(KVI_OUT_SYSTEMMESSAGE,"%s%c%s%c (%Q)",prefix,KviMircCntrl::Bold,e->szClassName,KviMircCntrl::Bold,&(e->szName)); KviCString szPre = prefix; szPre.append(" "); if(e->pChildList) { - for(KviOptionsWidgetInstanceEntry * ex = e->pChildList->first();ex;ex = e->pChildList->next()) + for(OptionsWidgetInstanceEntry * ex = e->pChildList->first();ex;ex = e->pChildList->next()) { options_kvs_module_print_pages(c,ex,szPre.ptr()); } @@ -166,9 +166,9 @@ static void options_kvs_module_print_pages(KviKvsModuleCommandCall * c,KviOption static bool options_kvs_cmd_pages(KviKvsModuleCommandCall * c) { - KviPointerList * l = g_pOptionsInstanceManager->instanceEntryTree(); + KviPointerList * l = g_pOptionsInstanceManager->instanceEntryTree(); - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) { options_kvs_module_print_pages(c,e,""); } @@ -200,7 +200,7 @@ static bool options_kvs_cmd_edit(KviKvsModuleCommandCall * c) KVSM_PARAMETERS_BEGIN(c) KVSM_PARAMETER("option",KVS_PT_STRING,0,szOption) KVSM_PARAMETERS_END(c) - KviOptionsWidgetInstanceEntry * e = g_pOptionsInstanceManager->findInstanceEntry(szOption.toUtf8().data()); + OptionsWidgetInstanceEntry * e = g_pOptionsInstanceManager->findInstanceEntry(szOption.toUtf8().data()); if(!e) { c->warning(__tr2qs_ctx("No such options page class name %Q","options"),&szOption); @@ -215,7 +215,7 @@ static bool options_kvs_cmd_edit(KviKvsModuleCommandCall * c) return true; } - KviOptionsWidgetContainer * wc = new KviOptionsWidgetContainer(0,c->hasSwitch('m',"modal")); + OptionsWidgetContainer * wc = new OptionsWidgetContainer(0,c->hasSwitch('m',"modal")); wc->setup(g_pOptionsInstanceManager->getInstance(e,wc)); @@ -266,7 +266,7 @@ static bool options_kvs_fnc_isdialog(KviKvsModuleFunctionCall * c) static bool options_module_init(KviModule * m) { - g_pOptionsInstanceManager = new KviOptionsInstanceManager(); + g_pOptionsInstanceManager = new OptionsInstanceManager(); KVSM_REGISTER_SIMPLE_COMMAND(m,"dialog",options_kvs_cmd_dialog); KVSM_REGISTER_SIMPLE_COMMAND(m,"save",options_kvs_cmd_save); @@ -274,7 +274,7 @@ static bool options_module_init(KviModule * m) KVSM_REGISTER_SIMPLE_COMMAND(m,"edit",options_kvs_cmd_edit); KVSM_REGISTER_FUNCTION(m,"isDialog",options_kvs_fnc_isdialog); - g_pOptionsDialogDict = new KviPointerHashTable; + g_pOptionsDialogDict = new KviPointerHashTable; g_pOptionsDialogDict->setAutoDelete(false); return true; @@ -282,10 +282,10 @@ static bool options_module_init(KviModule * m) static bool options_module_cleanup(KviModule *m) { - KviPointerHashTableIterator it(*g_pOptionsDialogDict); - KviPointerList l; + KviPointerHashTableIterator it(*g_pOptionsDialogDict); + KviPointerList l; l.setAutoDelete(false); - KviOptionsDialog * d; + OptionsDialog * d; while( (d = it.current()) ) { l.append(d); diff --git a/src/modules/options/mkcreateinstanceproc.sh b/src/modules/options/mkcreateinstanceproc.sh index 189e20b72..b4de22c53 100755 --- a/src/modules/options/mkcreateinstanceproc.sh +++ b/src/modules/options/mkcreateinstanceproc.sh @@ -2,7 +2,7 @@ ################################################################################# # -# Generator for instances.h and instances.cpp +# Generator for OptionsInstanceManager.h and OptionsInstanceManager.cpp # # This file is part of the KVirc irc client distribution # Copyright (C) 2001-2008 Szymon Stefanek (pragma at kvirc dot net) @@ -10,17 +10,17 @@ ################################################################################# -echo "" > instances.h +echo "" > OptionsInstanceManager.h ################################################################################# -cat >> instances.h <> OptionsInstanceManager.h <> instances.h < * pChildList; - bool bDoInsert; // a helper for KviOptionsDialog::fillListView() -} KviOptionsWidgetInstanceEntry; + KviPointerList * pChildList; + bool bDoInsert; // a helper for OptionsDialog::fillListView() +} OptionsWidgetInstanceEntry; -class KviOptionsInstanceManager : public QObject +class OptionsInstanceManager : public QObject { Q_OBJECT public: - KviOptionsInstanceManager(); - virtual ~KviOptionsInstanceManager(); + OptionsInstanceManager(); + virtual ~OptionsInstanceManager(); protected: - KviPointerList * m_pInstanceTree; + KviPointerList * m_pInstanceTree; public: - KviPointerList * instanceEntryTree(){ return m_pInstanceTree; }; - KviOptionsWidget * getInstance(KviOptionsWidgetInstanceEntry * e,QWidget * par); - KviOptionsWidgetInstanceEntry * findInstanceEntry(const char * clName); + KviPointerList * instanceEntryTree(){ return m_pInstanceTree; }; + KviOptionsWidget * getInstance(OptionsWidgetInstanceEntry * e,QWidget * par); + OptionsWidgetInstanceEntry * findInstanceEntry(const char * clName); void cleanup(KviModule * m); protected: - KviOptionsWidgetInstanceEntry * findInstanceEntry(const char * clName,KviPointerList * l); - KviOptionsWidgetInstanceEntry * findInstanceEntry(const QObject * ptr,KviPointerList * l); - void deleteInstanceTree(KviPointerList * l); + OptionsWidgetInstanceEntry * findInstanceEntry(const char * clName,KviPointerList * l); + OptionsWidgetInstanceEntry * findInstanceEntry(const QObject * ptr,KviPointerList * l); + void deleteInstanceTree(KviPointerList * l); protected slots: void widgetDestroyed(); }; @@ -101,19 +101,19 @@ protected slots: EOF ###################################################################################################### -CLASS_LIST=`grep -h "[ ]*\:[ ]*public[ ]*KviOptionsWidget" optw_*.h | sed -e 's/[ ]*\:[ ]*public[ ]*KviOptionsWidget'//g | sed -e 's/[ ]*class[ ]*//g'` +CLASS_LIST=`grep -h "[ ]*\:[ ]*public[ ]*KviOptionsWidget" OptionsWidget_*.h | sed -e 's/[ ]*\:[ ]*public[ ]*KviOptionsWidget'//g | sed -e 's/[ ]*class[ ]*//g'` -TARGET="instances.cpp" +TARGET="OptionsInstanceManager.cpp" echo "" > $TARGET ################################################################################# -cat >> instances.cpp <> OptionsInstanceManager.cpp <> $TARGET done ################################################################################# -cat >> instances.cpp <> OptionsInstanceManager.cpp <> instances.cpp <> OptionsInstanceManager.cpp <> instances.cpp <> OptionsInstanceManager.cpp <; + m_pInstanceTree = new KviPointerList; m_pInstanceTree->setAutoDelete(true); EOF @@ -205,7 +205,7 @@ mkdir -p $CLASSDIR rm -f $CLASSDIR/* for aclass in $CLASS_LIST; do - PARENT=`grep -h "KVI_OPTIONS_WIDGET_PARENT_$aclass" optw_*.h | sed -e 's/#define//g' | sed -e s/KVI_OPTIONS_WIDGET_PARENT_$aclass//g | sed -e 's/[ ]*//g'` + PARENT=`grep -h "KVI_OPTIONS_WIDGET_PARENT_$aclass" OptionsWidget_*.h | sed -e 's/#define//g' | sed -e s/KVI_OPTIONS_WIDGET_PARENT_$aclass//g | sed -e 's/[ ]*//g'` if [ -z "$PARENT" ]; then PARENT="NOPARENT" fi @@ -225,10 +225,10 @@ printclass() fi done if [ -z "$found" ]; then - echo "$3 KviOptionsWidgetInstanceEntry * e$1;" >> $TARGET + echo "$3 OptionsWidgetInstanceEntry * e$1;" >> $TARGET DECLARED="$DECLARED $1" fi - echo "$3 e$1 = new KviOptionsWidgetInstanceEntry;" >> $TARGET + echo "$3 e$1 = new OptionsWidgetInstanceEntry;" >> $TARGET echo -n "$3 e$1->createProc = &class$2" >> $TARGET echo "_createInstanceProc;" >> $TARGET echo "$3 e$1->pWidget = 0;" >> $TARGET @@ -283,7 +283,7 @@ addchildren() printclass $1 $achild "$3" if [ -f "$CLASSDIR/$achild" ]; then echo "" >> $TARGET - echo "$3 e$1->pChildList = new KviPointerList;" >> $TARGET + echo "$3 e$1->pChildList = new KviPointerList;" >> $TARGET echo "$3 e$1->pChildList->setAutoDelete(true);" >> $TARGET NEXTLEVEL=`expr $1 + 1` addchildren $NEXTLEVEL $achild "$3 " @@ -304,15 +304,15 @@ cat >> $TARGET < * l) +void OptionsInstanceManager::deleteInstanceTree(KviPointerList * l) { if(l) { - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) { if(e->pWidget) { - if(e->pWidget->parent()->inherits("KviOptionsWidgetContainer")) + if(e->pWidget->parent()->inherits("OptionsWidgetContainer")) { disconnect(e->pWidget,SIGNAL(destroyed()),this,SLOT(widgetDestroyed())); delete e->pWidget->parent(); @@ -328,21 +328,21 @@ void KviOptionsInstanceManager::deleteInstanceTree(KviPointerListpWidget = 0; if(g_iOptionWidgetInstances > 0) @@ -350,7 +350,7 @@ void KviOptionsInstanceManager::widgetDestroyed() } -KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstanceEntry * e,QWidget * par) +KviOptionsWidget * OptionsInstanceManager::getInstance(OptionsWidgetInstanceEntry * e,QWidget * par) { if(!e) return NULL; @@ -379,7 +379,7 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan { QWidget * oldPar = (QWidget *)e->pWidget->parent(); e->pWidget->setParent(par); //reparent(par,QPoint(0,0)); - if(oldPar->inherits("KviOptionsWidgetContainer")) + if(oldPar->inherits("OptionsWidgetContainer")) delete oldPar; // else it's very likely a QStackedWidget, child of a KviOptionsWidget: don't delete } @@ -390,15 +390,15 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan e->pWidget->createTabbedPage(); if(e->pChildList) { - KviPointerList tmp; + KviPointerList tmp; tmp.setAutoDelete(false); - for(KviOptionsWidgetInstanceEntry * e2 = e->pChildList->first();e2;e2 = e->pChildList->next()) + for(OptionsWidgetInstanceEntry * e2 = e->pChildList->first();e2;e2 = e->pChildList->next()) { // add only non containers and widgets not explicitly marked as noncontained if((!e2->bIsContainer) && (!e2->bIsNotContained)) { - KviOptionsWidgetInstanceEntry * ee = tmp.first(); + OptionsWidgetInstanceEntry * ee = tmp.first(); int idx = 0; while(ee) { @@ -410,7 +410,7 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan } } - for(KviOptionsWidgetInstanceEntry * e3 = tmp.last();e3;e3 = tmp.prev()) + for(OptionsWidgetInstanceEntry * e3 = tmp.last();e3;e3 = tmp.prev()) { KviOptionsWidget * ow = getInstance(e3,e->pWidget->tabWidget()); e->pWidget->addOptionsWidget(e3->szName,*(g_pIconManager->getSmallIcon(e3->iIcon)),ow); @@ -420,16 +420,16 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan return e->pWidget; } -KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(const QObject * ptr,KviPointerList * l) +OptionsWidgetInstanceEntry * OptionsInstanceManager::findInstanceEntry(const QObject * ptr,KviPointerList * l) { if(l) { - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) { if(ptr == e->pWidget)return e; if(e->pChildList) { - KviOptionsWidgetInstanceEntry * e2 = findInstanceEntry(ptr,e->pChildList); + OptionsWidgetInstanceEntry * e2 = findInstanceEntry(ptr,e->pChildList); if(e2)return e2; } } @@ -437,16 +437,16 @@ KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(con return 0; } -KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(const char * clName,KviPointerList * l) +OptionsWidgetInstanceEntry * OptionsInstanceManager::findInstanceEntry(const char * clName,KviPointerList * l) { if(l) { - for(KviOptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) + for(OptionsWidgetInstanceEntry * e = l->first();e;e = l->next()) { if(kvi_strEqualCI(e->szClassName,clName))return e; if(e->pChildList) { - KviOptionsWidgetInstanceEntry * e2 = findInstanceEntry(clName,e->pChildList); + OptionsWidgetInstanceEntry * e2 = findInstanceEntry(clName,e->pChildList); if(e2)return e2; } } @@ -454,13 +454,13 @@ KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(con return 0; } -KviOptionsWidgetInstanceEntry * KviOptionsInstanceManager::findInstanceEntry(const char * clName) +OptionsWidgetInstanceEntry * OptionsInstanceManager::findInstanceEntry(const char * clName) { return findInstanceEntry(clName,m_pInstanceTree); } #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES - #include "m_instances.moc" + #include "m_OptionsInstanceManager.moc" #endif EOF diff --git a/src/modules/options/optw_antispam.cpp b/src/modules/options/optw_antispam.cpp deleted file mode 100644 index 3127c7b79..000000000 --- a/src/modules/options/optw_antispam.cpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================= -// -// File : optw_antispam.cpp -// Creation date : Tue Oct 16 15:47:02 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_antispam.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include -#include - -KviAntispamOptionsWidget::KviAntispamOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("antispam_options_widget"); - createLayout(); - - KviTalGroupBox *g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Enable Anti-spam For","options")); - m_b1 = addBoolSelector(g,__tr2qs_ctx("Private messages","options"),KviOption_boolUseAntiSpamOnPrivmsg); - connect(m_b1,SIGNAL(toggled(bool)),this,SLOT(reenableStuff(bool))); - m_b2 = addBoolSelector(g,__tr2qs_ctx("Private notices","options"),KviOption_boolUseAntiSpamOnNotice); - connect(m_b2,SIGNAL(toggled(bool)),this,SLOT(reenableStuff(bool))); - - m_b3 = addBoolSelector(0,1,0,1,__tr2qs_ctx("Silent anti-spam (no warnings)","options"),KviOption_boolSilentAntiSpam); - m_sl = addStringListSelector(0,2,0,2,__tr2qs_ctx("Words considered spam:","options"),KviOption_stringlistSpamWords); - - reenableStuff(true); - - layout()->setRowStretch(2,1); -} - -KviAntispamOptionsWidget::~KviAntispamOptionsWidget() -{ -} - -void KviAntispamOptionsWidget::reenableStuff(bool) -{ - m_b3->setEnabled(m_b1->isChecked() || m_b2->isChecked()); - m_sl->setEnabled(m_b1->isChecked() || m_b2->isChecked()); -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_antispam.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_antispam.h b/src/modules/options/optw_antispam.h deleted file mode 100644 index 2e0ef7808..000000000 --- a/src/modules/options/optw_antispam.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _OPTW_ANTISPAM_H_ -#define _OPTW_ANTISPAM_H_ -//============================================================================= -// -// File : optw_antispam.h -// Creation date : Tue Oct 16 15:47:03 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviAntispamOptionsWidget KVI_SMALLICON_SPAM -#define KVI_OPTIONS_WIDGET_NAME_KviAntispamOptionsWidget __tr2qs_no_lookup("Anti-spam") -#define KVI_OPTIONS_WIDGET_PARENT_KviAntispamOptionsWidget KviProtectionOptionsWidget - -class KviAntispamOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviAntispamOptionsWidget(QWidget * parent); - ~KviAntispamOptionsWidget(); -protected: - KviBoolSelector * m_b1; - KviBoolSelector * m_b2; - KviBoolSelector * m_b3; - KviStringListSelector * m_sl; -protected slots: - void reenableStuff(bool); -}; - - -#endif //_OPTW_ANTISPAM_H_ diff --git a/src/modules/options/optw_avatar.cpp b/src/modules/options/optw_avatar.cpp deleted file mode 100644 index 9e3fd0ced..000000000 --- a/src/modules/options/optw_avatar.cpp +++ /dev/null @@ -1,121 +0,0 @@ -//============================================================================= -// -// File : optw_avatar.cpp -// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "optw_avatar.h" - -#include "KviLocale.h" -#include "KviSelectors.h" -#include "KviOptions.h" -#include "KviTalToolTip.h" - -KviAvatarAdvancedOptionsWidget::KviAvatarAdvancedOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("avatar_advanced_options_widget"); - - createLayout(); - // AVATAR - - // 1st Box - KviTalGroupBox *g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Scaling in userlist","options")); - KviBoolSelector *b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images in userlist (recommended)","options"),KviOption_boolScaleAvatars); - KviTalToolTip::add(b,__tr2qs_ctx("
This option will force KVIrc to scale avatars" \ - " shown in the userlist.
" \ - "Avatars will be scaled to fit the " \ - "constraints set below. Better keep this option on. :)
","options")); - - addBoolSelector(g,__tr2qs_ctx("Do not scale avatar if it is less than required size","options"),KviOption_boolDoNotUpscaleAvatars); - - KviUIntSelector *u = addUIntSelector(g,__tr2qs_ctx("Image width:","options"),KviOption_uintAvatarScaleWidth,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintAvatarScaleHeight,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - //2nd - g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Scaling on load (and in user tooltips)","options")); - b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images on image load","options"),KviOption_boolScaleAvatarsOnLoad); - - u = addUIntSelector(g,__tr2qs_ctx("Image width:","options"),KviOption_uintScaleAvatarsOnLoadWidth,0,1280,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintScaleAvatarsOnLoadHeight,0,1280,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - // 2st Box - KviTalGroupBox *gs = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Request CTCP","options")); - KviBoolSelector * bs = addBoolSelector(g,__tr2qs_ctx("Request missing avatars","options"),KviOption_boolRequestMissingAvatars); - KviUIntSelector * us = addUIntSelector(g,__tr2qs_ctx("Maximum requested file size:","options"),KviOption_uintMaximumRequestedAvatarSize,0,1048576,102400,KVI_OPTION_BOOL(KviOption_boolRequestMissingAvatars)); - - mergeTip(bs, - __tr2qs_ctx("
This option will cause KVIrc to send a DCC GET request " \ - "when someone sets an avatar and there is no cached copy available.
","options")); - us->setSuffix(__tr2qs_ctx(" bytes","options")); - - mergeTip(us, - __tr2qs_ctx("
This is the maximum size for avatar images that " \ - "will be automatically requested.
" \ - "A reasonable value might be 102400 bytes (100 K).
","options")); - connect(bs,SIGNAL(toggled(bool)),us,SLOT(setEnabled(bool))); - - bs = addBoolSelector(gs,__tr2qs_ctx("Automatically accept incoming avatars","options"),KviOption_boolAutoAcceptIncomingAvatars); - mergeTip( - bs, - __tr2qs_ctx("
This option will cause KVIrc to auto-accept " \ - "DCC SEND requests for incoming avatars.
" \ - "If you're using the \"Request missing avatars\" option " \ - "above, enabling this may by useful.
" \ - "Avatars will be saved in the local KVIrc directory.
","options")); - - bs = addBoolSelector(gs,__tr2qs_ctx("Remember avatars for registered users","options"),KviOption_boolSetLastAvatarAsDefaultForRegisteredUsers); - mergeTip( - bs, - __tr2qs_ctx("
Use a user's last known avatar by default " \ - "(only for users that are registered).
","options")); - - us = addUIntSelector(gs,__tr2qs_ctx("Avatar offer timeout:","options"),KviOption_uintAvatarOfferTimeoutInSecs,1,99999,60); - us->setSuffix(__tr2qs_ctx(" sec","options")); - mergeTip(us, - __tr2qs_ctx("
This is the amount of time to make an avatar available for transfer when requested.
" \ - "When someone sends a CTCP AVATAR request, " \ - "KVIrc will reply with a CTCP AVATAR message containing the name and size " \ - "of your avatar image.
" \ - "A time-limited file offer is added for the image file " \ - "to the requesting user.
","options")); - - bs = addBoolSelector(gs,__tr2qs_ctx("Ignore requests if no avatar is set","options"),KviOption_boolIgnoreChannelAvatarRequestsWhenNoAvatarSet); - mergeTip(bs, - __tr2qs_ctx("This option will cause KVIrc to ignore channel CTCP AVATAR requests " \ - "when you have no avatar set. This is usually a good practice since " \ - "it helps in reducing traffic by not sending a reply that would be empty.","options")); - - addRowSpacer(0,3,0,3); -} - -KviAvatarAdvancedOptionsWidget::~KviAvatarAdvancedOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_avatar.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_avatar.h b/src/modules/options/optw_avatar.h deleted file mode 100644 index bfc9a8d5f..000000000 --- a/src/modules/options/optw_avatar.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _OPTW_AVATAR_H_ -#define _OPTW_AVATAR_H_ - -//============================================================================= -// -// File : optw_avatar.cpp -// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - - -#define KVI_OPTIONS_WIDGET_ICON_KviAvatarAdvancedOptionsWidget KVI_SMALLICON_AVATAR -#define KVI_OPTIONS_WIDGET_NAME_KviAvatarAdvancedOptionsWidget __tr2qs_no_lookup("Avatars") -#define KVI_OPTIONS_WIDGET_PARENT_KviAvatarAdvancedOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviAvatarAdvancedOptionsWidget 9 -#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviAvatarAdvancedOptionsWidget 2 - -class KviAvatarAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviAvatarAdvancedOptionsWidget(QWidget * parent); - ~KviAvatarAdvancedOptionsWidget(); -}; - -#endif //!_OPTW_AVATAR_H_ diff --git a/src/modules/options/optw_away.cpp b/src/modules/options/optw_away.cpp deleted file mode 100644 index a4df53821..000000000 --- a/src/modules/options/optw_away.cpp +++ /dev/null @@ -1,74 +0,0 @@ -//============================================================================= -// -// File : optw_away.cpp -// Creation date : Mon Oct 29 15:37:16 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_away.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviAwayOptionsWidget::KviAwayOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("away_options_widget"); - - createLayout(); - - m_pEnableAwayMessage = addBoolSelector(0,0,0,0, __tr2qs_ctx("Enable default away message","options"), KviOption_boolUseAwayMessage); - connect(m_pEnableAwayMessage,SIGNAL(toggled(bool)),this,SLOT(enableAwayMessage(bool))); - m_pAwayMessage = addStringSelector(0,1,0,1, __tr2qs_ctx("Default away message:","options"), KviOption_stringAwayMessage, KVI_OPTION_BOOL(KviOption_boolUseAwayMessage)); - - addBoolSelector(0,2,0,2, __tr2qs_ctx("User input exits away mode","options"), KviOption_boolExitAwayOnInput); - - KviTalGroupBox *g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Away Nickname","options")); - m_pEnableAwayNick = addBoolSelector(g,__tr2qs_ctx("Change nickname on away","options"),KviOption_boolChangeNickAway); - connect(m_pEnableAwayNick,SIGNAL(toggled(bool)),this,SLOT(enableCustomAwayText(bool))); - - m_pEnableCustomAwayNick = addBoolSelector(g,__tr2qs_ctx("Use automatic nickname ([5 letters]AWAY)","options"),KviOption_boolAutoGeneratedAwayNick,KVI_OPTION_BOOL(KviOption_boolChangeNickAway)); - connect(m_pEnableAwayNick,SIGNAL(toggled(bool)),m_pEnableCustomAwayNick,SLOT(setEnabled(bool))); - connect(m_pEnableCustomAwayNick,SIGNAL(toggled(bool)),this,SLOT(enableCustomAwayText(bool))); - - m_pCustomAwayNick = addStringSelector(g,__tr2qs_ctx("Custom nickname (%nick% means a current nick):","options"),KviOption_stringCustomAwayNick,KVI_OPTION_BOOL(KviOption_boolChangeNickAway) && !(KVI_OPTION_BOOL(KviOption_boolAutoGeneratedAwayNick))); - - addRowSpacer(0,4,0,4); -} - -KviAwayOptionsWidget::~KviAwayOptionsWidget() -{ -} - -void KviAwayOptionsWidget::enableCustomAwayText(bool) -{ - m_pCustomAwayNick->setEnabled(m_pEnableAwayNick->isChecked() && !(m_pEnableCustomAwayNick->isChecked())); -} - -void KviAwayOptionsWidget::enableAwayMessage(bool) -{ - m_pAwayMessage->setEnabled(m_pEnableAwayMessage->isChecked()); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_away.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_away.h b/src/modules/options/optw_away.h deleted file mode 100644 index 45ebbdcd9..000000000 --- a/src/modules/options/optw_away.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _OPTW_AWAY_H_ -#define _OPTW_AWAY_H_ -//============================================================================= -// -// File : optw_away.h -// Creation date : Mon Oct 29 15:37:18 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviAwayOptionsWidget KVI_SMALLICON_AWAY -#define KVI_OPTIONS_WIDGET_NAME_KviAwayOptionsWidget __tr2qs_no_lookup("Away") -#define KVI_OPTIONS_WIDGET_PARENT_KviAwayOptionsWidget KviToolsOptionsWidget - -class KviAwayOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviAwayOptionsWidget(QWidget * parent); - ~KviAwayOptionsWidget(); -protected: - KviBoolSelector * m_pEnableAwayMessage; - KviStringSelector * m_pAwayMessage; - KviBoolSelector * m_pEnableAwayNick; - KviStringSelector * m_pCustomAwayNick; - KviBoolSelector * m_pEnableCustomAwayNick; -public slots: - void enableCustomAwayText(bool); - void enableAwayMessage(bool); -}; - -#endif //_OPTW_AWAY_H_ diff --git a/src/modules/options/optw_channel.cpp b/src/modules/options/optw_channel.cpp deleted file mode 100644 index ed14f947e..000000000 --- a/src/modules/options/optw_channel.cpp +++ /dev/null @@ -1,166 +0,0 @@ -//============================================================================= -// -// File : optw_channel.cpp -// Creation date : Sat Sep 27 19:30:02 2008 GMT by Elvio Basello -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) -// -// 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. -// -//============================================================================= -// -// This file was originally part of optw_irc.cpp -// -//============================================================================= - - -#include "optw_channel.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "kvi_settings.h" -#include "KviIrcMask.h" - -#include - -KviChannelOptionsWidget::KviChannelOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ -} - -KviChannelOptionsWidget::~KviChannelOptionsWidget() -{ -} - -KviChannelGeneralOptionsWidget::KviChannelGeneralOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Channel Kick","options")); - - KviBoolSelector *b = addBoolSelector(g,__tr2qs_ctx("Rejoin channel","options"),KviOption_boolRejoinChannelOnKick); - mergeTip(b, - __tr2qs_ctx("
This option will cause KVIrc to attempt " \ - "to rejoin a channel after being kicked.
","options")); - b = addBoolSelector(g,__tr2qs_ctx("Keep channel open","options"),KviOption_boolKeepChannelOpenOnKick); - mergeTip(b, - __tr2qs_ctx("
This option will cause KVIrc to keep " \ - "the channel window open after being kicked.
" \ - "It might be a good idea to also enable the " \ - "\"Rejoin channel\" option.
","options")); - - g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Channel Part","options")); - - b = addBoolSelector(g,__tr2qs_ctx("Keep channel open","options"),KviOption_boolKeepChannelOpenOnPart); - mergeTip(b, - __tr2qs_ctx("
This option will cause KVIrc to keep " \ - "the channel window open after leaving it.
","options")); - - b = addBoolSelector(0,2,0,2,__tr2qs_ctx("Automatically join channel on invite","options"),KviOption_boolAutoJoinOnInvite); - mergeTip(b, - __tr2qs_ctx("
This option will cause KVIrc to automatically " \ - "join a channel when an INVITE message for that channel is received.
" \ - "Warning: This may help spammers harass you. :)
","options")); - - b = addBoolSelector(0,3,0,3, __tr2qs_ctx("Always open channels as minimized","options"),KviOption_boolCreateMinimizedChannels); - mergeTip(b, - __tr2qs_ctx("
This option causes newly created " \ - "channel windows to be immediately minimized.
" \ - "Enable this if you don't like channels " \ - "popping up while you're typing something in a channel. :D
","options")); - - addRowSpacer(0,4,0,4); -} - -KviChannelGeneralOptionsWidget::~KviChannelGeneralOptionsWidget() -{ -} - - -KviChannelAdvancedOptionsWidget::KviChannelAdvancedOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ - createLayout(); - - KviBoolSelector * b = addBoolSelector(0,0,4,0,__tr2qs_ctx("Log joined channels history","options"),KviOption_boolLogChannelHistory); - - addLabel(0,1,0,1,__tr2qs_ctx("Default ban mask:","options")); - - m_pBanTypeCombo = new QComboBox(this); - addWidgetToLayout(m_pBanTypeCombo,1,1,4,1); - - KviIrcMask hostmask("nick!user@machine.host.top"); - KviIrcMask ipmask("nick!user@192.168.1.2"); - QString tmp1; - QString tmp2; - for(int i=0;i<=26;i++) - { - - hostmask.mask(tmp1,(KviIrcMask::MaskType)i); - ipmask.mask(tmp2,(KviIrcMask::MaskType)i); - m_pBanTypeCombo->insertItem(m_pBanTypeCombo->count(),QString("%1 (%2)").arg(tmp1, tmp2)); - } - m_pBanTypeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintDefaultBanType)); - - KviTalGroupBox * g = addGroupBox(0,2,4,2,Qt::Horizontal,__tr2qs_ctx("On Channel Join","options")); - KviUIntSelector *u = addUIntSelector(g,__tr2qs_ctx("Minimum delay between two channel requests:","options"),KviOption_uintOnJoinRequestsDelay,0,10,1); - u->setSuffix(__tr2qs_ctx(" sec","options")); - mergeTip(u,__tr2qs_ctx("
This is an artificial delay for the channel requests made on join.
You may increase it if your server complains about flooding when joining many channels at once.
Minimum value: 0 secs
Maximum value: 10 secs
","options")); - - addBoolSelector(g,__tr2qs_ctx("Do not send /WHO request","options"),KviOption_boolDisableWhoRequestOnJoin); - addBoolSelector(g,__tr2qs_ctx("Do not request ban list","options"),KviOption_boolDisableBanListRequestOnJoin); - addBoolSelector(g,__tr2qs_ctx("Do not request ban exception list","options"),KviOption_boolDisableBanExceptionListRequestOnJoin); - addBoolSelector(g,__tr2qs_ctx("Do not request invite list","options"),KviOption_boolDisableInviteListRequestOnJoin); - addBoolSelector(g,__tr2qs_ctx("Do not request quiet ban list","options"),KviOption_boolDisableQuietBanListRequestOnJoin); - addBoolSelector(g,__tr2qs_ctx("Echo channel topic","options"),KviOption_boolEchoNumericTopic); - addBoolSelector(g,__tr2qs_ctx("Show channel sync time","options"),KviOption_boolShowChannelSyncTime); - - b = addBoolSelector(g,__tr2qs_ctx("Paste last channel log","options"),KviOption_boolPasteLastLogOnChannelJoin); - - KviTalHBox * box = new KviTalHBox(g); - u = addUIntSelector(box,__tr2qs_ctx("Paste up to:","options"),KviOption_uintLinesToPasteOnChannelJoin,0,50,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnChannelJoin)); - u->setSuffix(__tr2qs_ctx(" lines","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 0 lines
Maximum value: 50 lines
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - u = addUIntSelector(box,__tr2qs_ctx("Interval:","options"),KviOption_uintDaysIntervalToPasteOnChannelJoin,1,10,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnChannelJoin)); - u->setSuffix(__tr2qs_ctx(" days","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 0 days
Maximum value: 10 days
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - b = addBoolSelector(0,3,4,3,__tr2qs_ctx("Keep away list updated by sending WHO requests","options"),KviOption_boolEnableAwayListUpdates); - mergeTip(b, - __tr2qs_ctx("
KVIrc sends out a channel /WHO message every now and then to keep " \ - "the channel away list in sync. Use this option to disable this feature (and to save " \ - "your IRC bandwidth.
","options")); - - addRowSpacer(0,5,4,5); -} - -KviChannelAdvancedOptionsWidget::~KviChannelAdvancedOptionsWidget() -{ -} - -void KviChannelAdvancedOptionsWidget::commit() -{ - KVI_OPTION_UINT(KviOption_uintDefaultBanType)=m_pBanTypeCombo->currentIndex(); - if((KVI_OPTION_UINT(KviOption_uintDefaultBanType)>26)) KVI_OPTION_UINT(KviOption_uintDefaultBanType)=7; - KviOptionsWidget::commit(); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_channel.moc" -#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_channel.h b/src/modules/options/optw_channel.h deleted file mode 100644 index 26528526c..000000000 --- a/src/modules/options/optw_channel.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _OPTW_CHANNEL_H_ -#define _OPTW_CHANNEL_H_ -//============================================================================= -// -// File : optw_channel.h -// Creation date : Sat Sep 27 19:30:02 2008 GMT by Elvio Basello -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) -// -// 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. -// -//============================================================================= -// -// This file was originally part of optw_irc.h -// -//============================================================================= - -#include "KviOptionsWidget.h" - -class QComboBox; - -#define KVI_OPTIONS_WIDGET_ICON_KviChannelOptionsWidget KVI_SMALLICON_CHANNEL -#define KVI_OPTIONS_WIDGET_NAME_KviChannelOptionsWidget __tr2qs_no_lookup("Channel") -#define KVI_OPTIONS_WIDGET_PARENT_KviChannelOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_CONTAINER_KviChannelOptionsWidget true -#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviChannelOptionsWidget true -#define KVI_OPTIONS_WIDGET_PRIORITY_KviChannelOptionsWidget 90000 - -class KviChannelOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviChannelOptionsWidget(QWidget * parent); - ~KviChannelOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviChannelGeneralOptionsWidget KVI_SMALLICON_CHANNEL -#define KVI_OPTIONS_WIDGET_NAME_KviChannelGeneralOptionsWidget __tr2qs_no_lookup("General") -#define KVI_OPTIONS_WIDGET_PARENT_KviChannelGeneralOptionsWidget KviChannelOptionsWidget - -class KviChannelGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviChannelGeneralOptionsWidget(QWidget * parent); - ~KviChannelGeneralOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviChannelAdvancedOptionsWidget KVI_SMALLICON_CHANNEL -#define KVI_OPTIONS_WIDGET_NAME_KviChannelAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") -#define KVI_OPTIONS_WIDGET_PARENT_KviChannelAdvancedOptionsWidget KviChannelOptionsWidget - -class KviChannelAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviChannelAdvancedOptionsWidget(QWidget * parent); - ~KviChannelAdvancedOptionsWidget(); -public: - virtual void commit(); -protected: - QComboBox * m_pBanTypeCombo; -}; - -#endif // _OPTW_CHANNEL_H_ diff --git a/src/modules/options/optw_connection.cpp b/src/modules/options/optw_connection.cpp deleted file mode 100644 index 226e4a4db..000000000 --- a/src/modules/options/optw_connection.cpp +++ /dev/null @@ -1,304 +0,0 @@ -//============================================================================= -// -// File : optw_connection.cpp -// Creation date : Sat Nov 24 04:25:16 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) -// copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) -// -// 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. -// -//============================================================================= - -#include "optw_connection.h" - -#include "kvi_settings.h" -#include "KviLocale.h" -#include "KviOptions.h" -#include "KviIconManager.h" - -#include - - -KviConnectionOptionsWidget::KviConnectionOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("connection_options_widget"); - createLayout(); - KviTalGroupBox *gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Disconnect","options")); - - KviBoolSelector *b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep channels open","options"),KviOption_boolKeepChannelsOpenOnDisconnect,true); - mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep channels open after disconnect.
","options")); - - b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep queries open","options"),KviOption_boolKeepQueriesOpenOnDisconnect,true); - mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep queries open after disconnect.
","options")); - - gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Unexpected Disconnect","options")); - - b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep channels open","options"),KviOption_boolKeepChannelsOpenOnUnexpectedDisconnect,true); - mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep channels open after an unexpected disconnect.
","options")); - - b1 = addBoolSelector(gbox,__tr2qs_ctx("Keep queries open","options"),KviOption_boolKeepQueriesOpenOnUnexpectedDisconnect,true); - mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to keep queries open after an unexpected disconnect.
","options")); - - b1 = addBoolSelector(gbox,__tr2qs_ctx("Rejoin channels after reconnect","options"),KviOption_boolRejoinChannelsAfterReconnect,KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); - mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to rejoin channels after a successful reconnect attempt.
","options")); - - b1 = addBoolSelector(gbox,__tr2qs_ctx("Reopen queries after reconnect","options"),KviOption_boolReopenQueriesAfterReconnect,KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); - mergeTip(b1,__tr2qs_ctx("
This option will cause KVIrc to reopen query windows after a successful reconnect attempt.
","options")); - -// gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Unexpected Disconnect","options")); - KviBoolSelector * b = addBoolSelector(gbox,__tr2qs_ctx("Automatically reconnect","options"),KviOption_boolAutoReconnectOnUnexpectedDisconnect); - mergeTip(b,__tr2qs_ctx("
This option will enable auto-reconnecting after an unexpected disconnect. " \ - "An unexpected disconnect is the termination of a fully connected IRC session " \ - "that was not requested by the user by the means of the QUIT message." \ - "

Warning: If you use /RAW to send a QUIT message to the server, " \ - "this option will not behave correctly, since does not detect the outgoing " \ - "QUIT message and will attempt to reconnect after the server has closed the connection. " \ - "For this reason, always use the /QUIT command to close your connections. " \ - "This option may also behave incorrectly with bouncers that support " \ - "detaching, in this case a solution could be to prepare an alias that sends the " \ - "bouncer \"detach\" command immediately before the \"quit\" command.
" \ - "alias(bncdetach){ raw bouncer detach; quit; }

","options")); - - KviUIntSelector * u = addUIntSelector(gbox,__tr2qs_ctx("Maximum attempts (0: unlimited):","options"), - KviOption_uintMaxAutoReconnectAttempts,0,100,5, - KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - u = addUIntSelector(gbox,__tr2qs_ctx("Delay between attempts:","options"), - KviOption_uintAutoReconnectDelay,0,86400,5, - KVI_OPTION_BOOL(KviOption_boolAutoReconnectOnUnexpectedDisconnect)); - u->setSuffix(__tr2qs_ctx(" sec","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - mergeTip(u,__tr2qs_ctx("
Minimum value: 0 sec
Maximum value: 86400 sec
","options")); - - b = addBoolSelector(this,__tr2qs_ctx("Use the SASL authentication protocol if available","options"),&(KVI_OPTION_BOOL(KviOption_boolUseSaslIfAvailable)),true); - mergeTip(b,__tr2qs_ctx("
When available and enabled of the specific server, KVIrc will try to authenticate the user using the SASL procotol
","options")); - addWidgetToLayout(b,0,2,0,2); - - addRowSpacer(0,3,4,3); -} - -KviConnectionOptionsWidget::~KviConnectionOptionsWidget() -{ -} - - -KviSSLOptionsWidget::KviSSLOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("ssl_options_widget"); - createLayout(); - -#ifdef COMPILE_SSL_SUPPORT - KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Certificate","options")); - - KviBoolSelector * b = addBoolSelector(gbox,__tr2qs_ctx("Use SSL certificate (PEM format only)","options"), - &(KVI_OPTION_BOOL(KviOption_boolUseSSLCertificate)),true); - KviFileSelector * f = addFileSelector(gbox,__tr2qs_ctx("Certificate location:","options"), - &(KVI_OPTION_STRING(KviOption_stringSSLCertificatePath)),KVI_OPTION_BOOL(KviOption_boolUseSSLCertificate)); - connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); - KviPasswordSelector * p = new KviPasswordSelector(gbox,__tr2qs_ctx("Certificate password:","options"), - &(KVI_OPTION_STRING(KviOption_stringSSLCertificatePass)),KVI_OPTION_BOOL(KviOption_boolUseSSLCertificate)); - connect(b,SIGNAL(toggled(bool)),p,SLOT(setEnabled(bool))); - - gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Private Key","options")); - b = addBoolSelector(gbox,__tr2qs_ctx("Use SSL private key","options"), - &(KVI_OPTION_BOOL(KviOption_boolUseSSLPrivateKey)),true); - f = addFileSelector(gbox,__tr2qs_ctx("Private key location:","options"), - &(KVI_OPTION_STRING(KviOption_stringSSLPrivateKeyPath)),KVI_OPTION_BOOL(KviOption_boolUseSSLPrivateKey)); - connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); - p = addPasswordSelector(gbox,__tr2qs_ctx("Private key password:","options"), - &(KVI_OPTION_STRING(KviOption_stringSSLPrivateKeyPass)),KVI_OPTION_BOOL(KviOption_boolUseSSLPrivateKey)); - connect(b,SIGNAL(toggled(bool)),p,SLOT(setEnabled(bool))); - - b = addBoolSelector(this,__tr2qs_ctx("Use the STARTTLS security protocol if available","options"),&(KVI_OPTION_BOOL(KviOption_boolUseStartTlsIfAvailable)),true); - mergeTip(b,__tr2qs_ctx("
This option will cause KVIrc to try to reconnect to the server using an encrypted connection
","options")); - addWidgetToLayout(b,0,2,0,2); - - addRowSpacer(0,3,0,3); -#else - addLabel(0,0,0,0,__tr2qs_ctx("This executable has no SSL support.","options")); -#endif -} - -KviSSLOptionsWidget::~KviSSLOptionsWidget() -{ -} - - -KviTransportOptionsWidget::KviTransportOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("transport_options_widget"); - createLayout(); - KviUIntSelector * u; - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Timeout Values","options"),this); - u = addUIntSelector(g,__tr2qs_ctx("Connect timeout:","options"),KviOption_uintIrcSocketTimeout,5,6000,60); - u->setSuffix(__tr2qs_ctx(" sec","options")); - u = addUIntSelector(g,__tr2qs_ctx("Outgoing data queue flush timeout:","options"),KviOption_uintSocketQueueFlushTimeout,100,2000,500); - u->setSuffix(__tr2qs_ctx(" msec","options")); - KviBoolSelector * b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Limit outgoing traffic","options"),KviOption_boolLimitOutgoingTraffic); - u = addUIntSelector(0,2,0,2,__tr2qs_ctx("Limit to 1 message every:","options"), - KviOption_uintOutgoingTrafficLimitUSeconds,10000,2000000,10000001,KVI_OPTION_BOOL(KviOption_boolLimitOutgoingTraffic)); - u->setSuffix(__tr2qs_ctx(" usec","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 10000 usec
Maximum value: 10000000 usec
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Network Interfaces","options")); - - b = addBoolSelector(g,__tr2qs_ctx("Bind IPv4 connections to:","options"),KviOption_boolBindIrcIPv4ConnectionsToSpecifiedAddress); - KviStringSelector * s = addStringSelector(g,"",KviOption_stringIPv4ConnectionBindAddress,KVI_OPTION_BOOL(KviOption_boolBindIrcIPv4ConnectionsToSpecifiedAddress)); - connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); -#ifdef COMPILE_IPV6_SUPPORT - b = addBoolSelector(g,__tr2qs_ctx("Bind IPv6 connections to:","options"),KviOption_boolBindIrcIPv6ConnectionsToSpecifiedAddress); - s = addStringSelector(g,"",KviOption_stringIPv6ConnectionBindAddress,KVI_OPTION_BOOL(KviOption_boolBindIrcIPv6ConnectionsToSpecifiedAddress)); - connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); -#endif //!COMPILE_IPV6_SUPPORT - - b = addBoolSelector(0,4,0,4,__tr2qs_ctx("Pick Random IP Address for Round-Robin Servers","options"),KviOption_boolPickRandomIpAddressForRoundRobinServers); - mergeTip(b,__tr2qs_ctx("
This option will cause the KVIrc networking stack to pick up " \ - "a random entry when multiple IP address are retrieved for a server " \ - "dns lookup. This is harmless and can fix some problems with caching " \ - "dns servers that do not properly rotate the records as the authoritative " \ - "ones would do. On the other hand, you might want to disable it if " \ - "you want to rely on the dns server to provide the best choice.
","options")); - - addRowSpacer(0,5,0,5); -} - -KviTransportOptionsWidget::~KviTransportOptionsWidget() -{ -} - - -KviIdentOptionsWidget::KviIdentOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("ident_options_widget"); - createLayout(); - - m_pEnableIdent = addBoolSelector(0,0,0,0,__tr2qs_ctx("Enable ident service (bad practice on UNIX!)","options"),KviOption_boolUseIdentService); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),this,SLOT(enableIpv4InIpv6(bool))); - - KviTalGroupBox * gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Output verbosity","options"),KVI_OPTION_BOOL(KviOption_boolUseIdentService)); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),gbox,SLOT(setEnabled(bool))); - - addLabel(gbox,__tr2qs_ctx("Output identd messages to:","options")); - - m_pActiveRadio = new QRadioButton(__tr2qs_ctx("Active window","options"),gbox); - m_pConsoleRadio = new QRadioButton(__tr2qs_ctx("Console","options"),gbox); - m_pQuietRadio = new QRadioButton(__tr2qs_ctx("Do not show any identd messages","options"),gbox); - - switch(KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)) - { - case KviIdentdOutputMode::Quiet : - m_pQuietRadio->setChecked(true); - break; - case KviIdentdOutputMode::ToConsole : - m_pConsoleRadio->setChecked(true); - break; - case KviIdentdOutputMode::ToActiveWindow : - m_pActiveRadio->setChecked(true); - break; - } - - gbox = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Configuration","options"),KVI_OPTION_BOOL(KviOption_boolUseIdentService)); - - KviBoolSelector *b = addBoolSelector(gbox,__tr2qs_ctx("Enable ident service only while connecting to server","options"),KviOption_boolUseIdentServiceOnlyOnConnect); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool))); - - KviStringSelector * s = addStringSelector(gbox,__tr2qs_ctx("Ident username:","options"), - KviOption_stringIdentdUser,KVI_OPTION_BOOL(KviOption_boolUseIdentService)); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); - - KviUIntSelector * u = addUIntSelector(gbox,__tr2qs_ctx("Service port:","options"), - KviOption_uintIdentdPort,0,65535,113,KVI_OPTION_BOOL(KviOption_boolUseIdentService)); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),gbox,SLOT(setEnabled(bool))); - - gbox = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("IPv6 Settings","options"),KVI_OPTION_BOOL(KviOption_boolUseIdentService)); - m_pEnableIpv6 = addBoolSelector(gbox,__tr2qs_ctx("Enable service for IPv6","options"), - KviOption_boolIdentdEnableIPv6, - KVI_OPTION_BOOL(KviOption_boolUseIdentService)); -#ifdef COMPILE_IPV6_SUPPORT - connect(m_pEnableIdent,SIGNAL(toggled(bool)),m_pEnableIpv6,SLOT(setEnabled(bool))); - connect(m_pEnableIpv6,SIGNAL(toggled(bool)),this,SLOT(enableIpv4InIpv6(bool))); -#else - m_pEnableIpv6->setEnabled(false); -#endif - m_pIpv4InIpv6 = addBoolSelector(gbox,__tr2qs_ctx("IP stack treats IPv4 as part of IPv6 namespace","options"), - KviOption_boolIdentdIPv6ContainsIPv4, - KVI_OPTION_BOOL(KviOption_boolUseIdentService) && KVI_OPTION_BOOL(KviOption_boolIdentdEnableIPv6)); - connect(m_pEnableIdent,SIGNAL(toggled(bool)),gbox,SLOT(setEnabled(bool))); - - addLabel(0,4,0,4, -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - __tr2qs_ctx("

Warning:
" \ - "This is a non RFC 1413 compliant ident daemon that implements " \ - "only a limited subset of the Identification Protocol specifications. If it is possible, install a " \ - "real ident daemon.

","options") -#else - __tr2qs_ctx("

Warning:
" \ - "This is a non RFC 1413 compliant ident daemon that implements " \ - "only a limited subset of the Identification Protocol specifications.
" \ - "On UNIX, you may also need root privileges to bind to the auth port (113).
" \ - "It is highly recommended that a real system-wide ident daemon be used instead, "\ - "or none at all if ident is not required.

","options") -#endif - ); - - addRowSpacer(0,5,0,5); -} - -KviIdentOptionsWidget::~KviIdentOptionsWidget() -{ -} - -void KviIdentOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - if(m_pConsoleRadio->isChecked()) - KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)=KviIdentdOutputMode::ToConsole; - if(m_pActiveRadio->isChecked()) - KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)=KviIdentdOutputMode::ToActiveWindow; - if(m_pQuietRadio->isChecked()) - KVI_OPTION_UINT(KviOption_uintIdentdOutputMode)=KviIdentdOutputMode::Quiet; -} - -void KviIdentOptionsWidget::enableIpv4InIpv6(bool) -{ -#ifdef COMPILE_IPV6_SUPPORT - m_pIpv4InIpv6->setEnabled(m_pEnableIdent->isChecked() && m_pEnableIpv6->isChecked()); -#endif -} - - -KviConnectionAdvancedOptionsWidget::KviConnectionAdvancedOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("connection_advanced_options_widget"); -} - -KviConnectionAdvancedOptionsWidget::~KviConnectionAdvancedOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_connection.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_connection.h b/src/modules/options/optw_connection.h deleted file mode 100644 index 8ab8895c8..000000000 --- a/src/modules/options/optw_connection.h +++ /dev/null @@ -1,117 +0,0 @@ -#ifndef _OPTW_CONNECTION_H_ -#define _OPTW_CONNECTION_H_ -//============================================================================= -// -// File : optw_connection.h -// Creation date : Sat Nov 24 04:25:12 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -class QRadioButton; - -#define KVI_OPTIONS_WIDGET_ICON_KviConnectionOptionsWidget KVI_SMALLICON_WORLD -#define KVI_OPTIONS_WIDGET_NAME_KviConnectionOptionsWidget __tr2qs_no_lookup("Connection") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviConnectionOptionsWidget 98000 - -class KviConnectionOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviConnectionOptionsWidget(QWidget * parent); - ~KviConnectionOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviConnectionAdvancedOptionsWidget KVI_SMALLICON_WORLD -#define KVI_OPTIONS_WIDGET_NAME_KviConnectionAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") -#define KVI_OPTIONS_WIDGET_PARENT_KviConnectionAdvancedOptionsWidget KviConnectionOptionsWidget -#define KVI_OPTIONS_WIDGET_CONTAINER_KviConnectionAdvancedOptionsWidget true - -class KviConnectionAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviConnectionAdvancedOptionsWidget(QWidget * parent); - ~KviConnectionAdvancedOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviSSLOptionsWidget KVI_SMALLICON_SSL -#define KVI_OPTIONS_WIDGET_NAME_KviSSLOptionsWidget __tr2qs_no_lookup("SSL") -#define KVI_OPTIONS_WIDGET_PARENT_KviSSLOptionsWidget KviConnectionAdvancedOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviSSLOptionsWidget 30 - - - -class KviSSLOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviSSLOptionsWidget(QWidget * parent); - ~KviSSLOptionsWidget(); -}; - - - -#define KVI_OPTIONS_WIDGET_ICON_KviTransportOptionsWidget KVI_SMALLICON_SOCKETERROR -#define KVI_OPTIONS_WIDGET_NAME_KviTransportOptionsWidget __tr2qs_no_lookup("Socket") -#define KVI_OPTIONS_WIDGET_PARENT_KviTransportOptionsWidget KviConnectionAdvancedOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviTransportOptionsWidget 20 - - -class KviTransportOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTransportOptionsWidget(QWidget * parent); - ~KviTransportOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviIdentOptionsWidget KVI_SMALLICON_IDENT -#define KVI_OPTIONS_WIDGET_NAME_KviIdentOptionsWidget __tr2qs_no_lookup("Ident Service") -#define KVI_OPTIONS_WIDGET_PARENT_KviIdentOptionsWidget KviConnectionAdvancedOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentOptionsWidget 10 - - -class KviIdentOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIdentOptionsWidget(QWidget * parent); - ~KviIdentOptionsWidget(); - - virtual void commit(); -protected: - KviBoolSelector * m_pEnableIdent; - KviBoolSelector * m_pEnableIpv6; - KviBoolSelector * m_pIpv4InIpv6; - - QRadioButton * m_pConsoleRadio; - QRadioButton * m_pActiveRadio; - QRadioButton * m_pQuietRadio; -public slots: - void enableIpv4InIpv6(bool); -}; - - -#endif //_OPTW_CONNECTION_H_ diff --git a/src/modules/options/optw_ctcp.cpp b/src/modules/options/optw_ctcp.cpp deleted file mode 100644 index 7c84afa92..000000000 --- a/src/modules/options/optw_ctcp.cpp +++ /dev/null @@ -1,83 +0,0 @@ -//============================================================================= -// -// File : optw_ctcp.cpp -// Creation date : Sun Dec 2 20:40:43 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_ctcp.h" - -#include "kvi_settings.h" -#include "KviLocale.h" -#include "KviOptions.h" - - -KviCtcpOptionsWidget::KviCtcpOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("ctcp_options_widget"); - - createLayout(); - - addLabel(0,0,0,0,__tr2qs_ctx("
Settings for CTCP.
"\ - "

The Client-To-Client Protocol (CTCP) " \ - "is used to transmit special control messages over an IRC connection. " \ - "These messages can request information from clients or negotiate file transfers." \ - "

","options")); - - - KviTalGroupBox *gs = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("CTCP Replies","options")); - KviStringSelector * s = addStringSelector(gs, __tr2qs_ctx("Append to VERSION reply:","options"),KviOption_stringCtcpVersionPostfix); - - mergeTip(s, - __tr2qs_ctx("
This text will be appended to the CTCP VERSION reply.
For example, you can place a script name here.
","options")); - - s = addStringSelector(gs, __tr2qs_ctx("Append to SOURCE reply:","options"),KviOption_stringCtcpSourcePostfix); - - mergeTip(s, - __tr2qs_ctx("
This text will be appended to the CTCP SOURCE reply.
For example, you can place the source URL for a script here.
","options")); - -// s = addStringSelector(gs, __tr2qs_ctx("USERINFO reply:","options"),KviOption_stringCtcpUserinfoReply); - -// mergeTip(s, -// __tr2qs_ctx("
This is the CTCP USERINFO reply.
It can contain some information about yourself.
","options")); - - s = addStringSelector(gs, __tr2qs_ctx("PAGE reply:","options"),KviOption_stringCtcpPageReply); - - mergeTip(s, - __tr2qs_ctx("
This is the CTCP PAGE reply.
It should contain some sort of acknowledgement for CTCP PAGE messages.
","options")); - - addBoolSelector(gs,__tr2qs_ctx("Show the CTCP replies in the active window","options"),KviOption_boolCtcpRepliesToActiveWindow); - - addBoolSelector(gs,__tr2qs_ctx("Show dialog for CTCP page requests","options"),KviOption_boolShowDialogOnCtcpPage); - - addRowSpacer(0,3,0,3); - -} - - -KviCtcpOptionsWidget::~KviCtcpOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_ctcp.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_ctcp.h b/src/modules/options/optw_ctcp.h deleted file mode 100644 index 34d5162aa..000000000 --- a/src/modules/options/optw_ctcp.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _OPTW_CTCP_H_ -#define _OPTW_CTCP_H_ -//============================================================================= -// -// File : optw_ctcp.h -// Creation date : Sun Dec 2 20:40:43 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviCtcpOptionsWidget KVI_SMALLICON_CTCPREQUESTREPLIED -#define KVI_OPTIONS_WIDGET_NAME_KviCtcpOptionsWidget __tr2qs_no_lookup("CTCP") -#define KVI_OPTIONS_WIDGET_PARENT_KviCtcpOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviCtcpOptionsWidget 70000 - -class KviCtcpOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviCtcpOptionsWidget(QWidget * parent); - ~KviCtcpOptionsWidget(); -}; - - -#endif //_OPTW_CTCP_H_ diff --git a/src/modules/options/optw_ctcpfloodprotection.cpp b/src/modules/options/optw_ctcpfloodprotection.cpp deleted file mode 100644 index 49df21a19..000000000 --- a/src/modules/options/optw_ctcpfloodprotection.cpp +++ /dev/null @@ -1,118 +0,0 @@ -//============================================================================= -// -// File : optw_ctcpfloodprotection.cpp -// Creation date : Sun Jan 21 2001 14:35:06 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_ctcpfloodprotection.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include -#include - - -/* - @doc: ctcpfloodprotectionoptions - @type: - widget - @title: - CTCP flood protection options - @short: - Protection against CTCP flooding - @keyterms: - ctcp flood - @body: - Here, you can configure the CTCP flood protection system.[br] - The CTCP engine in IRC clients may be subject to an attack, called "CTCP flooding".[br] - Basically, the attackers (usually there is more than one offending client) sends a stream - of CTCP requests to the victim's client, and the client attempts to respond to all requests - by sending a stream of replies to the server, which causes the server to disconnect the user - due to "excess flood" for sending too many messages before the server can process them.[br] - Many user defined scripts choose to completely ignore all the CTCP requests in order to prevent such attacks.[br] - KVIrc offers an alternative method that allows you to take advantage of the CTCP protocol - and at the same time prevent the flood attacks.[br] - The method is really simple: The client will only respond to a limited number of CTCP requests within a - specified time interval.[br] - The "Use flood protection" option enables this protection method.[br] - In the "Allowed up to" field you should enter the maximum number of CTCP requests that KVIrc should - respond to within the interval of time defined in the second field.[br] - A strong protection against floods would be replying to 4 requests every 20 seconds.[br] - The minimum effective setting is about 3 messages every 6 seconds.[br] - Please note that 3 messages every 6 seconds is NOT the same as 10 messages every 20 seconds; - the first setting would allow 3 requests within one second, but the client would - ignore all the requests for the next 5 seconds, the second setting would allow 10 messages within one second - and ignore everything for the next 19 seconds. Therefore, 3/6 is a safer setting.[br] - The maximum protection you can set is 0 messages within any number of seconds; in that case any - CTCP request will be considered a flood and ignored.[br] - [br][br] - You can also decide to ignore specific CTCP requests. For example, if you don't want to reply to PING - requests, just select "PING" under the "Ignored Requests" section.[br] - [br][br] - Some specific protection options can be set also in other CTCP options sections: - see the [widget:ctcpavatarprotooptions]CTCP AVATAR protocol options[/widget] and [widget:ctcpdccprotooptions]CTCP DCC protocol options[/widget].[br] -*/ - - -KviCtcpFloodProtectionOptionsWidget::KviCtcpFloodProtectionOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("ctcpfloodprotection_options_widget"); - - createLayout(); - - KviBoolSelector * b = addBoolSelector(0,0,1,0,__tr2qs_ctx("Use flood protection for CTCP requests (recommended)","options"),KviOption_boolUseCtcpFloodProtection); - mergeTip(b,__tr2qs_ctx("
This option makes KVIrc only respond to a limited number of CTCP requests within a specified time interval, to prevent \"flooding\" CTCP messages.
","options")); - - KviUIntSelector * u = addUIntSelector(0,1,0,1,__tr2qs_ctx("Allow up to:","options"),KviOption_uintMaxCtcpRequests,0,10000,3,KVI_OPTION_BOOL(KviOption_boolUseCtcpFloodProtection)); - u->setSuffix(__tr2qs_ctx(" requests","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 0 requests
Maximum value: 10000 requests
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - u = addUIntSelector(1,1,1,1,__tr2qs_ctx("within:","options"),KviOption_uintCtcpFloodCheckInterval,1,3600,6,KVI_OPTION_BOOL(KviOption_boolUseCtcpFloodProtection)); - u->setSuffix(__tr2qs_ctx(" sec","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 1 sec
Maximum value: 3600 sec
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - KviTalGroupBox * g = addGroupBox(0,2,1,2,Qt::Horizontal,__tr2qs_ctx("Ignored Ctcp Requests","options")); - addBoolSelector(g,__tr2qs_ctx("PING","options"),KviOption_boolIgnoreCtcpPing); - addBoolSelector(g,__tr2qs_ctx("FINGER","options"),KviOption_boolIgnoreCtcpFinger); - addBoolSelector(g,__tr2qs_ctx("CLIENTINFO","options"),KviOption_boolIgnoreCtcpClientinfo); - addBoolSelector(g,__tr2qs_ctx("USERINFO","options"),KviOption_boolIgnoreCtcpUserinfo); - addBoolSelector(g,__tr2qs_ctx("VERSION","options"),KviOption_boolIgnoreCtcpVersion); - addBoolSelector(g,__tr2qs_ctx("SOURCE","options"),KviOption_boolIgnoreCtcpSource); - addBoolSelector(g,__tr2qs_ctx("TIME","options"),KviOption_boolIgnoreCtcpTime); - addBoolSelector(g,__tr2qs_ctx("PAGE","options"),KviOption_boolIgnoreCtcpPage); - addBoolSelector(g,__tr2qs_ctx("AVATAR","options"),KviOption_boolIgnoreCtcpAvatar); - addBoolSelector(g,__tr2qs_ctx("DCC/TDCC","options"),KviOption_boolIgnoreCtcpDcc); - - addRowSpacer(0,3,1,3); -} - -KviCtcpFloodProtectionOptionsWidget::~KviCtcpFloodProtectionOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_ctcpfloodprotection.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_ctcpfloodprotection.h b/src/modules/options/optw_ctcpfloodprotection.h deleted file mode 100644 index 89a00868a..000000000 --- a/src/modules/options/optw_ctcpfloodprotection.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _OPTW_CTCPFLOODPROTECTION_H_ -#define _OPTW_CTCPFLOODPROTECTION_H_ -//============================================================================= -// -// File : optw_ctcpfloodprotection.h -// Creation date : Sun Jan 21 2000 14:34:12 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviCtcpFloodProtectionOptionsWidget KVI_SMALLICON_CTCPREQUESTFLOOD -#define KVI_OPTIONS_WIDGET_NAME_KviCtcpFloodProtectionOptionsWidget __tr2qs_no_lookup("Flood Protection") -#define KVI_OPTIONS_WIDGET_PARENT_KviCtcpFloodProtectionOptionsWidget KviProtectionOptionsWidget - -class KviCtcpFloodProtectionOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -// Q_CLASSINFO("help","ctcpfloodprotectionoptions") -public: - KviCtcpFloodProtectionOptionsWidget(QWidget * parent); - ~KviCtcpFloodProtectionOptionsWidget(); -}; - -#endif //!_OPTW_CTCPFLOODPROTECTION_H_ diff --git a/src/modules/options/optw_dcc.cpp b/src/modules/options/optw_dcc.cpp deleted file mode 100644 index 2d44350dd..000000000 --- a/src/modules/options/optw_dcc.cpp +++ /dev/null @@ -1,372 +0,0 @@ -//============================================================================= -// -// File : optw_dcc.cpp -// Creation date : Fri Aug 17 22:08:09 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_dcc.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - - -KviDccOptionsWidget::KviDccOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ -} - -KviDccOptionsWidget::~KviDccOptionsWidget() -{ -} - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviDccGeneralOptionsWidget::KviDccGeneralOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("dccgeneral_options_widget"); - createLayout(); - - KviBoolSelector * b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Use workaround for firewall","options"),KviOption_boolCantAcceptIncomingDccConnections); - - mergeTip(b,__tr2qs_ctx("
Enable this option if you can't accept incoming connections.
" \ - "KVIrc will try to use different methods to send and receive files.
" \ - "Please note that these methods may NOT work when communicating with a non-KVIrc client.
","options")); - - addRowSpacer(0,1,0,1); -} - -KviDccGeneralOptionsWidget::~KviDccGeneralOptionsWidget() -{ -} - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviDccAdvancedOptionsWidget::KviDccAdvancedOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("dccgeneral_options_widget"); - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Network Properties","options")); - - KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("Use user-defined address or network interface","options"),KviOption_boolDccListenOnSpecifiedInterfaceByDefault); - - - mergeTip(b,__tr2qs_ctx("
Enable this option if you are on a multihost machine and want " \ - "to force one of the available IP addresses to be used for outgoing DCCs.
This is especially useful " \ - "when you use IPv6 and IPv4 addresses.
You can force KVIrc to always choose the IPv4 interface.
","options")); - - KviStringSelector * s = addStringSelector(g,__tr2qs_ctx("Listen on address/interface:","options"),KviOption_stringDccListenDefaultInterface,KVI_OPTION_BOOL(KviOption_boolDccListenOnSpecifiedInterfaceByDefault)); - - mergeTip(s,__tr2qs_ctx("
This is the IP address or name of the interface to use by default for outgoing DCC transfers.
" \ - "On UNIX systems that support it, you can also specify IPv4 interface names (such as ppp0).
" \ - "If you set it to 0.0.0.0, KVIrc will try to use the first available IPv4 interface
","options")); - - connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); - - b = addBoolSelector(g,__tr2qs_ctx("Use user-defined port range","options"),KviOption_boolUserDefinedPortRange); - - mergeTip(b,__tr2qs_ctx("
Enable this option if you want specify a local port range for DCC.
","options")); - - KviTalHBox * hb = new KviTalHBox(g); - hb->setSpacing(4); - KviUIntSelector * u = addUIntSelector(hb,__tr2qs_ctx("Lowest port:","options"),KviOption_uintDccMinPort,1,65535,5000,KVI_OPTION_BOOL(KviOption_boolUserDefinedPortRange)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - u = addUIntSelector(hb,__tr2qs_ctx("Highest port:","options"),KviOption_uintDccMaxPort,1,65535,30000,KVI_OPTION_BOOL(KviOption_boolUserDefinedPortRange)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - b = addBoolSelector(g,__tr2qs_ctx("Send a fixed address in requests","options"),KviOption_boolDccSendFakeAddressByDefault); - - mergeTip(b,__tr2qs_ctx("
Enable this option if you want to always send a fake IP address in your DCC requests.
" \ - "This might be useful if you're behind a router with a static address that does network address translation (NAT) and forwards all or a range of ports.
","options")); - - s = addStringSelector(g,__tr2qs_ctx("Send address/interface:","options"),KviOption_stringDefaultDccFakeAddress,KVI_OPTION_BOOL(KviOption_boolDccSendFakeAddressByDefault)); - connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); - - mergeTip(s,__tr2qs_ctx("
This is the fixed address that will be sent with all DCC requests if you enable the option above.
","options")); - - KviBoolSelector * b2; - b2 = addBoolSelector(g,__tr2qs_ctx("Guess address from IRC server if unroutable","options"),KviOption_boolDccGuessIpFromServerWhenLocalIsUnroutable,!KVI_OPTION_BOOL(KviOption_boolDccSendFakeAddressByDefault)); - connect(b,SIGNAL(toggled(bool)),b2,SLOT(setNotEnabled(bool))); - - mergeTip(b2,__tr2qs_ctx("
You can enable this option if you are behind a router that forwards all or a range of ports.
" \ - "KVIrc will try to guess the IP address to use for DCC by looking up the local hostname as seen " \ - "by the IRC server you're connected to.
This method is an exclusive alternative to the \"fixed address\" above.
" \ - "It might guess the correct address automatically if certain conditions are met (e.g. the IRC server does not mask hostnames).
","options")); - - b = addBoolSelector(g,__tr2qs_ctx("Use \"broken bouncer hack\" to detect address","options"),KviOption_boolDccBrokenBouncerHack,KVI_OPTION_BOOL(KviOption_boolDccGuessIpFromServerWhenLocalIsUnroutable)); - mergeTip(b,__tr2qs_ctx("
When you're behind a dialup router and also tunneling through a psyBNC bouncer, " \ - "you can use a bug in the bouncer to force KVIrc to bind the DCC connections to the dialup router's address.
" \ - "It's an ugly hack - use it only if nothing else works.
","options")); - - connect(b2,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool))); - - b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Notify failed DCC handshakes to the remote end","options"),KviOption_boolNotifyFailedDccHandshakes); - mergeTip(b,__tr2qs_ctx("
If you enable this option, when a DCC request from a remote " \ - "user can't be satisfied KVIrc will notify him by a CTCP ERRMSG. This is " \ - "a nice feature so it is a good idea to leave it on unless for some reason " \ - "you have deactivated the antiflood system: in this case turning off this option " \ - "might help if you often get attacked by CTCP floods.
","options")); - - u = addUIntSelector(0,2,1,2,__tr2qs_ctx("Maximum number of DCC sessions","options"),KviOption_uintMaxDccSlots,0,1000,64); - mergeTip(u,__tr2qs_ctx("
This is the maximum number of concurrent DCC sessions " \ - "and it includes all the DCC types (send,chat,recv...). " \ - "KVIrc will refuse the requests when this limit is reached.
","options")); - - u = addUIntSelector(0,3,1,3,__tr2qs_ctx("DCC socket timeout:","options"),KviOption_uintDccSocketTimeout,10,65536,180); - u->setSuffix(__tr2qs_ctx(" sec","options")); - mergeTip(u,__tr2qs_ctx("
This is the amount of time that KVIrc will wait for a response before assuming that a DCC has failed " \ - "because the remote client was unable to connect to our listening socket.
","options")); - - addRowSpacer(0,4,1,4); -} - -KviDccAdvancedOptionsWidget::~KviDccAdvancedOptionsWidget() -{ -} - - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviDccSendOptionsWidget::KviDccSendOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("dccsend_options_widget"); -} - -KviDccSendOptionsWidget::~KviDccSendOptionsWidget() -{ -} - - -KviDccSendGeneralOptionsWidget::KviDccSendGeneralOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("dccsend_options_widget"); - createLayout(); - - KviBoolSelector * b; - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Incoming File","options")); - KviBoolSelector * b2 = addBoolSelector(g,__tr2qs_ctx("Automatically accept","options"),KviOption_boolAutoAcceptDccSend); - KviBoolSelector * b3 = addBoolSelector(g,__tr2qs_ctx("Open transfer window as minimized when auto-accepted","options"),KviOption_boolCreateMinimizedDccSendWhenAutoAccepted,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccSend)); - KviBoolSelector * b4 = addBoolSelector(g,__tr2qs_ctx("Automatically resume when auto-accepted","options"),KviOption_boolAutoResumeDccSendWhenAutoAccepted,KVI_OPTION_BOOL(KviOption_boolAutoAcceptDccSend)); - - g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Save Location","options")); - addDirectorySelector(g,__tr2qs_ctx("Download folder:","options"),KviOption_stringIncomingPath); - addBoolSelector(g,__tr2qs_ctx("Sort saved files by nicknames (create subfolders)","options"),KviOption_boolSortReceivedByDccFilesByNicks); - addBoolSelector(g,__tr2qs_ctx("Guess save path from media type","options"),KviOption_boolUseIncomingDccMediaTypeSavePath); - - - g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("On Download Completion","options")); - addBoolSelector(g,__tr2qs_ctx("Notify completion in console","options"),KviOption_boolNotifyDccSendSuccessInConsole); - addBoolSelector(g,__tr2qs_ctx("Notify completion in notifier","options"),KviOption_boolNotifyDccSendSuccessInNotifier); - b = addBoolSelector(g,__tr2qs_ctx("Automatically clear transfer","options"),KviOption_boolAutoCloseDccSendOnSuccess); - mergeTip(b, - __tr2qs_ctx("
This option will cause successfully terminated transfers " \ - "to be automatically removed from the transfer window.
","options")); - - - KviBoolSelector * b1 = addBoolSelector(0,3,0,3,__tr2qs_ctx("Always open transfer window as minimized","options"),KviOption_boolCreateMinimizedDccSend); - - connect(b1,SIGNAL(toggled(bool)),b3,SLOT(setNotEnabled(bool))); - connect(b2,SIGNAL(toggled(bool)),b4,SLOT(setEnabled(bool))); - - addRowSpacer(0,4,0,4); -} - -KviDccSendGeneralOptionsWidget::~KviDccSendGeneralOptionsWidget() -{ -} - - -KviDccSendAdvancedOptionsWidget::KviDccSendAdvancedOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("dccsend_advanced_options_widget"); - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Bug Compatibility","options")); - KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("Send ACK for byte 0","options"),KviOption_boolSendZeroAckInDccRecv); - mergeTip(b, - __tr2qs_ctx("
This option causes KVIrc to send a zero-byte acknowledge to kick-start " \ - "the DCC transfer with some buggy IRC clients.
" \ - "Use it only if your DCC transfers stall just after establishing a connection without sending any data.
","options")); - - b = addBoolSelector(g,__tr2qs_ctx("Accept RESUME requests with broken filename (mIRC file.ext)","options"),KviOption_boolAcceptBrokenFileNameDccResumeRequests); - mergeTip(b, - __tr2qs_ctx("
This option causes KVIrc to accept RESUME requests with invalid filenames.
" \ - "Use it if KVIrc fails to accept RESUME requests from other clients (e.g. some versions of mIRC).
","options")); - - - b = addBoolSelector(g,__tr2qs_ctx("Accept RESUME requests with mismatched ports","options"),KviOption_boolAcceptMismatchedPortDccResumeRequests); - mergeTip(b, - __tr2qs_ctx("
This option causes KVIrc to accept RESUME requests with mismatched ports.
" \ - "Use it if some router on the path between you and the receiver remaps the ports in DCC SEND " \ - "but not in DCC RESUME requests.
Please note that this option may misbehave in certain usage " \ - "patterns since KVIrc must differentiate between transfers only by looking at the filename. Be careful.
","options")); - - b = addBoolSelector(g,__tr2qs_ctx("Replace spaces with underscores in outgoing filenames","options"),KviOption_boolDCCFileTransferReplaceOutgoingSpacesWithUnderscores); - mergeTip(b, - __tr2qs_ctx("
This option causes KVIrc to replace spaces with underscores in filenames " \ - "for all the outgoing file transfers. This will fix filename handling with some buggy clients (e.g. some versions of mIRC).","options")); - - g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Limits","options")); - - KviTalHBox * hb = new KviTalHBox(g); - b = addBoolSelector(hb,__tr2qs_ctx("Limit upload bandwidth to","options"),KviOption_boolLimitDccSendSpeed); - KviUIntSelector * u = addUIntSelector(hb,"",KviOption_uintMaxDccSendSpeed,0,0xffffff1,1024,KVI_OPTION_BOOL(KviOption_boolLimitDccSendSpeed)); - u->setSuffix(" " + __tr2qs_ctx("bytes/sec","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - hb = new KviTalHBox(g); - b = addBoolSelector(hb,__tr2qs_ctx("Limit download bandwidth to","options"),KviOption_boolLimitDccRecvSpeed); - u = addUIntSelector(hb,"",KviOption_uintMaxDccRecvSpeed,0,0xffffff1,1024,KVI_OPTION_BOOL(KviOption_boolLimitDccRecvSpeed)); - u->setSuffix(" " + __tr2qs_ctx("bytes/sec","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - - u = addUIntSelector(g,__tr2qs_ctx("Maximum number of DCC transfers","options"),KviOption_uintMaxDccSendTransfers,0,1000,10); - mergeTip(u,__tr2qs_ctx("
This is the maximum number of concurrent DCC transfers. " \ - "KVIrc will refuse the requests when this limit is reached.
","options")); - - g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Tweaks","options")); - - b = addBoolSelector(g,__tr2qs_ctx("Use fast send (send ahead)","options"),KviOption_boolUseFastDccSend); - mergeTip(b, - __tr2qs_ctx("
The \"send ahead\" DCC method allows data to be sent faster by breaking " \ - "some of the rules of the original DCC SEND protocol specification.
" \ - "Most clients can handle this kind of optimisation so disable it only if you have problems.
","options")); - - hb = new KviTalHBox(g); - - b = addBoolSelector(hb,__tr2qs_ctx("Force idle step","options"),KviOption_boolDccSendForceIdleStep); - mergeTip(b, - __tr2qs_ctx("
Enable this option when the dcc file transfers " \ - "tend to block your computer by consuming too much CPU time. " \ - "When this option is enabled the idle interval below will be " \ - "forcibly inserted between each sent/received data packet.
","options")); - - u = addUIntSelector(hb,"",KviOption_uintDccSendIdleStepInMSec,1,65536,30,KVI_OPTION_BOOL(KviOption_boolDccSendForceIdleStep)); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - u->setSuffix(__tr2qs_ctx(" msec","options")); - - mergeTip(u, - __tr2qs_ctx("
This parameter controls the average delay between two packets sent or received.
" \ - "A smaller interval will cause you to send data faster but will also " \ - "add load to your CPU, disk and network interface.
" \ - "Reasonable values are from 5 to 50 milliseconds.
","options")); - - u = addUIntSelector(g,__tr2qs_ctx("Packet size:","options"),KviOption_uintDccSendPacketSize,16,65536,1024); - u->setSuffix(__tr2qs_ctx(" bytes","options")); - mergeTip(u, - __tr2qs_ctx("
This parameter controls the packet size used for DCC SEND.
" \ - "With bigger packets you will be probably send data faster, but " \ - "you will also saturate your bandwidth and in some cases " \ - "cause more disk activity.
" \ - "Reasonable values are from 512 to 4096 bytes.
","options")); - - addRowSpacer(0,3,0,4); -} - -KviDccSendAdvancedOptionsWidget::~KviDccSendAdvancedOptionsWidget() -{ -} - - -//KviDccSendOptionsWidget::enableStuff(bool) -//{ -// m_pOpenMinimizedAutoAccept->setEnabled(m_pAutoAccept->isChecked() && !m_pOpenMinimized->isChecked()); -//} - - -KviDccChatOptionsWidget::KviDccChatOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("dccchat_options_widget"); - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("On Chat Request","options")); - addBoolSelector(g,__tr2qs_ctx("Automatically accept","options"),KviOption_boolAutoAcceptDccChat); - - KviBoolSelector * b1 = addBoolSelector(g,__tr2qs_ctx("Open minimized when auto-accepted","options"),KviOption_boolCreateMinimizedDccChatWhenAutoAccepted,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat)); - - KviBoolSelector * b2 = addBoolSelector(0,1,0,1,__tr2qs_ctx("Always open as minimized","options"),KviOption_boolCreateMinimizedDccChat); - - connect(b2,SIGNAL(toggled(bool)),b1,SLOT(setNotEnabled(bool))); - -#if (defined(COMPILE_ON_WINDOWS) || defined(COMPILE_KDE_SUPPORT) || defined(COMPILE_ON_MINGW)) - b2 = addBoolSelector(0,2,0,2,__tr2qs_ctx("Flash system taskbar on new dcc chat message","options"),KviOption_boolFlashDccChatWindowOnNewMessages); - mergeTip(b2, - __tr2qs_ctx("
This option causes the system taskbar entry for KVIrc to flash when a new dcc chat message " \ - "is received and the KVIrc window is not the active.
","options")); -#endif - - b2 = addBoolSelector(0,3,0,3, __tr2qs_ctx("Popup notifier on new dcc chat message","options"),KviOption_boolPopupNotifierOnNewDccChatMessages); - mergeTip(b2, - __tr2qs_ctx("
This option causes a small notifier window to pop up " \ - "in the low right corner of the screen when a new message is received " \ - "and the KVIrc window is not active.
","options")); - - addRowSpacer(0,4,0,4); -} - -KviDccChatOptionsWidget::~KviDccChatOptionsWidget() -{ -} - - -KviDccVoiceOptionsWidget::KviDccVoiceOptionsWidget(QWidget *p):KviOptionsWidget(p) -{ - createLayout(); - - KviBoolSelector * b1 = addBoolSelector(0,0,0,0,__tr2qs_ctx("Open all minimized","options"),KviOption_boolCreateMinimizedDccVoice); - KviTalGroupBox * g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("On Voice Request","options")); - KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("Automatically accept","options"),KviOption_boolAutoAcceptDccVoice); - - b = addBoolSelector(g,__tr2qs_ctx("Open minimized when auto-accepted","options"),KviOption_boolCreateMinimizedDccVoiceWhenAutoAccepted,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccVoice)); - connect(b1,SIGNAL(toggled(bool)),b,SLOT(setNotEnabled(bool))); - - addBoolSelector(0,2,0,2,__tr2qs_ctx("Force half-duplex mode on sound device","options"), KviOption_boolDccVoiceForceHalfDuplex); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Volume slider controls PCM, not Master","options"), KviOption_boolDccVoiceVolumeSliderControlsPCM); - - addStringSelector(0,4,0,4,__tr2qs_ctx("Sound device:","options"), KviOption_stringDccVoiceSoundDevice); - addStringSelector(0,5,0,5,__tr2qs_ctx("Mixer device:","options"), KviOption_stringDccVoiceMixerDevice); - - KviUIntSelector * u = addUIntSelector(0,6,0,6,__tr2qs_ctx("Pre-buffer size:","options"), KviOption_uintDccVoicePreBufferSize, 2048, 65536, 32000); - u->setSuffix(" bytes"); - - addRowSpacer(0,7,0,7); -} - -KviDccVoiceOptionsWidget::~KviDccVoiceOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_dcc.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_dcc.h b/src/modules/options/optw_dcc.h deleted file mode 100644 index b88886d76..000000000 --- a/src/modules/options/optw_dcc.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef _OPTW_DCC_H_ -#define _OPTW_DCC_H_ -//============================================================================= -// -// File : optw_dcc.h -// Creation date : Fri Aug 17 22:08:08 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviDccOptionsWidget KVI_SMALLICON_DCCERROR -#define KVI_OPTIONS_WIDGET_NAME_KviDccOptionsWidget __tr2qs_no_lookup("DCC") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviDccOptionsWidget 70000 -#define KVI_OPTIONS_WIDGET_CONTAINER_KviDccOptionsWidget true - -class KviDccOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccOptionsWidget(QWidget * parent); - ~KviDccOptionsWidget(); -}; - - - -#define KVI_OPTIONS_WIDGET_ICON_KviDccGeneralOptionsWidget KVI_SMALLICON_DCCERROR -#define KVI_OPTIONS_WIDGET_NAME_KviDccGeneralOptionsWidget __tr2qs_no_lookup("General") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviDccGeneralOptionsWidget 70000 -#define KVI_OPTIONS_WIDGET_PARENT_KviDccGeneralOptionsWidget KviDccOptionsWidget - -class KviDccGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccGeneralOptionsWidget(QWidget * parent); - ~KviDccGeneralOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviDccAdvancedOptionsWidget KVI_SMALLICON_DCCERROR -#define KVI_OPTIONS_WIDGET_NAME_KviDccAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviDccAdvancedOptionsWidget 70000 -#define KVI_OPTIONS_WIDGET_PARENT_KviDccAdvancedOptionsWidget KviDccOptionsWidget - -class KviDccAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccAdvancedOptionsWidget(QWidget * parent); - ~KviDccAdvancedOptionsWidget(); -}; - - - - -#define KVI_OPTIONS_WIDGET_ICON_KviDccSendOptionsWidget KVI_SMALLICON_DCCMSG -#define KVI_OPTIONS_WIDGET_NAME_KviDccSendOptionsWidget __tr2qs_no_lookup("File Transfer") -#define KVI_OPTIONS_WIDGET_PARENT_KviDccSendOptionsWidget KviDccOptionsWidget -#define KVI_OPTIONS_WIDGET_CONTAINER_KviDccSendOptionsWidget true - - -class KviDccSendOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccSendOptionsWidget(QWidget * parent); - ~KviDccSendOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviDccSendGeneralOptionsWidget KVI_SMALLICON_DCCMSG -#define KVI_OPTIONS_WIDGET_NAME_KviDccSendGeneralOptionsWidget __tr2qs_no_lookup("General") -#define KVI_OPTIONS_WIDGET_PARENT_KviDccSendGeneralOptionsWidget KviDccSendOptionsWidget - - -class KviDccSendGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccSendGeneralOptionsWidget(QWidget * parent); - ~KviDccSendGeneralOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviDccSendAdvancedOptionsWidget KVI_SMALLICON_DCCMSG -#define KVI_OPTIONS_WIDGET_NAME_KviDccSendAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") -#define KVI_OPTIONS_WIDGET_PARENT_KviDccSendAdvancedOptionsWidget KviDccSendOptionsWidget - -class KviDccSendAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccSendAdvancedOptionsWidget(QWidget * parent); - ~KviDccSendAdvancedOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviDccChatOptionsWidget KVI_SMALLICON_DCCREQUEST -#define KVI_OPTIONS_WIDGET_NAME_KviDccChatOptionsWidget __tr2qs_no_lookup("Chat") -#define KVI_OPTIONS_WIDGET_PARENT_KviDccChatOptionsWidget KviDccOptionsWidget -#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccChatOptionsWidget true - -class KviDccChatOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccChatOptionsWidget(QWidget * parent); - ~KviDccChatOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviDccVoiceOptionsWidget KVI_SMALLICON_DCCVOICE -#define KVI_OPTIONS_WIDGET_NAME_KviDccVoiceOptionsWidget __tr2qs_no_lookup("Voice") -#define KVI_OPTIONS_WIDGET_PARENT_KviDccVoiceOptionsWidget KviDccOptionsWidget -#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviDccVoiceOptionsWidget true - -class KviDccVoiceOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviDccVoiceOptionsWidget(QWidget *); - ~KviDccVoiceOptionsWidget(); -}; - - -#endif //_OPTW_DCC_H_ diff --git a/src/modules/options/optw_generalopt.cpp b/src/modules/options/optw_generalopt.cpp deleted file mode 100644 index fac50ac3f..000000000 --- a/src/modules/options/optw_generalopt.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================= -// -// File : optw_generalopt.cpp -// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "optw_generalopt.h" - -#include "kvi_settings.h" -#include "KviLocale.h" -#include "KviOptions.h" - - -KviGeneralOptOptionsWidget::KviGeneralOptOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("generalopt_options_widget"); - createLayout(); - - addLabel(0,0,4,0,__tr2qs_ctx("This section contains the general client options
"\ - "

like sound, mediafiles, URL handler etc... " \ - "

","options")); - addAdvancedButton(4,1,4,1); -} - -KviGeneralOptOptionsWidget::~KviGeneralOptOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_generalopt.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_generalopt.h b/src/modules/options/optw_generalopt.h deleted file mode 100644 index d6ca980c1..000000000 --- a/src/modules/options/optw_generalopt.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _OPTW_GENERALOPT_H_ -#define _OPTW_GENERALOPT_H_ -//============================================================================= -// -// File : optw_generalopt.h -// Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviGeneralOptOptionsWidget KVI_SMALLICON_OPTIONS -#define KVI_OPTIONS_WIDGET_NAME_KviGeneralOptOptionsWidget __tr2qs_no_lookup("General options") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviGeneralOptOptionsWidget 40000 - -class KviGeneralOptOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviGeneralOptOptionsWidget(QWidget * parent); - ~KviGeneralOptOptionsWidget(); -}; - -#endif //_OPTW_CONNECTION_H_ diff --git a/src/modules/options/optw_highlighting.cpp b/src/modules/options/optw_highlighting.cpp deleted file mode 100644 index 4dfde1e0c..000000000 --- a/src/modules/options/optw_highlighting.cpp +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef _OPTW_HIGHLIGHTING_CPP_ -#define _OPTW_HIGHLIGHTING_CPP_ -//============================================================================= -// -// File : optw_highlighting.cpp -// Creation date : Sat Nov 3 18:09:35 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_highlighting.h" -#include "KviOptions.h" -#include "KviLocale.h" - -#include -#include -#include - -#include "KviTalToolTip.h" - -KviAlertHighlightingOptionsWidget::KviAlertHighlightingOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("highlighting_options_widget"); -} - -KviAlertHighlightingOptionsWidget::~KviAlertHighlightingOptionsWidget() -{ -} - - -KviHighlightingOptionsWidget::KviHighlightingOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("highlighting_options_widget"); - - createLayout(); - - KviBoolSelector * b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Enable word highlighting","options"),KviOption_boolUseWordHighlighting); - KviStringListSelector * sl = addStringListSelector(0,1,0,1,__tr2qs_ctx("Words to highlight:","options"),KviOption_stringlistHighlightWords,KVI_OPTION_BOOL(KviOption_boolUseWordHighlighting)); - - connect(b,SIGNAL(toggled(bool)),sl,SLOT(setEnabled(bool))); - - // This can be used even without Word highlighting - b = addBoolSelector(0,2,0,2,__tr2qs_ctx("Highlight messages containing my nickname","options"),KviOption_boolAlwaysHighlightNick); - mergeTip(b,__tr2qs_ctx("
If this option is enabled, KVIrc will highlight any user message containing your current nickname
","options")); - - - KviTalGroupBox * gbox = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Highlighting Method","options")); - - QGridLayout * g = new QGridLayout(gbox); - gbox->setLayout(g); - - m_pHighlightAllOccurencesRadioButton = new QRadioButton(__tr2qs_ctx("Highlight every occurence of a word inside text","options"),gbox); - g->addWidget(m_pHighlightAllOccurencesRadioButton,0,0,1,2); - m_pHighlightAllOccurencesRadioButton->setChecked(KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting)); - KviTalToolTip::add(m_pHighlightAllOccurencesRadioButton,__tr2qs_ctx("
This selection will cause KVIrc to search for the highlighted words or nicknames inside the whole text. This will also highlight parts of words (eg. if your nickname is Mark then Markus will be highlighted too).
","options")); - - m_pHighlightWholeWordsOnlyRadioButton = new QRadioButton(__tr2qs_ctx("Highlight only whole words splitting on space and on:","options"),gbox); - g->addWidget(m_pHighlightWholeWordsOnlyRadioButton,1,0,1,1); - m_pHighlightWholeWordsOnlyRadioButton->setChecked(!KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting)); - KviTalToolTip::add(m_pHighlightWholeWordsOnlyRadioButton,__tr2qs_ctx("
This selection will first split the string on the specified boundaries (including space) and then will compare all the parts with the highlighted words.
","options")); - - m_pWordSplitterCharactersEdit = new QLineEdit(gbox); - m_pWordSplitterCharactersEdit->setText(KVI_OPTION_STRING(KviOption_stringWordSplitters)); - m_pWordSplitterCharactersEdit->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting)); - g->addWidget(m_pWordSplitterCharactersEdit,1,1,1,1); - - connect(m_pHighlightWholeWordsOnlyRadioButton,SIGNAL(toggled(bool)),m_pWordSplitterCharactersEdit,SLOT(setEnabled(bool))); - - gbox = addGroupBox(0,4,0,4,Qt::Horizontal,__tr2qs_ctx("Alert Options","options")); - - b = addBoolSelector(gbox,__tr2qs_ctx("Flash the system taskbar entry on highlighted messages","options"),KviOption_boolFlashWindowOnHighlightedMessages); - mergeTip(b,__tr2qs_ctx("
If this option is enabled, KVIrc will (attempt to) flash the system taskbar entry when a highlighted message is printed and KVIrc is not the active window
","options")); - b = addBoolSelector(gbox,__tr2qs_ctx("Popup the notifier window on highlighted messages","options"),KviOption_boolPopupNotifierOnHighlightedMessages); - mergeTip(b,__tr2qs_ctx("
If this option is enabled, KVIrc will popup a little notifier window in the low right corner of your desktop when a highlighted message is printed and KVIrc is not the active window
","options")); - - addRowSpacer(0,5,0,5); -} - -KviHighlightingOptionsWidget::~KviHighlightingOptionsWidget() -{ -} - -void KviHighlightingOptionsWidget::commit() -{ - KVI_OPTION_STRING(KviOption_stringWordSplitters) = m_pWordSplitterCharactersEdit->text().trimmed(); - KVI_OPTION_BOOL(KviOption_boolUseFullWordHighlighting) = m_pHighlightAllOccurencesRadioButton->isChecked(); - - KviOptionsWidget::commit(); -} - - - -KviAlertOptionsWidget::KviAlertOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("highlighting_options_widget"); - - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Alert Restrictions","options")); - KviBoolSelector * b3 = addBoolSelector(g,__tr2qs_ctx("Restrict alert","options"),KviOption_boolHighlightOnlyNormalMsg); - mergeTip(b3, __tr2qs_ctx("
If this option is enabled, KVIrc will alert in the window list only if a normal message is received in a channel.
Actions like joins, parts and mode changes will be ignored.
This is useful if you are in channels with a high rate of traffic and only want to be alerted for messages that are interesting to you.
","options")); - - KviBoolSelector * b4 = addBoolSelector(g,__tr2qs_ctx("Alert for highlighted words","options"),KviOption_boolHighlightOnlyNormalMsgHighlightInChanToo,KVI_OPTION_BOOL(KviOption_boolHighlightOnlyNormalMsg)); - mergeTip(b4, __tr2qs_ctx("
If this option is enabled, the window list will also alert for messages which contain a word from the highlighted words list above.
","options")); - - KviBoolSelector * b5 = addBoolSelector(g,__tr2qs_ctx("Alert for query messages","options"),KviOption_boolHighlightOnlyNormalMsgQueryToo,KVI_OPTION_BOOL(KviOption_boolHighlightOnlyNormalMsg)); - mergeTip(b5, __tr2qs_ctx("
If this option is enabled, the window list will also alert for messages which are shown in queries.
","options")); - connect(b3,SIGNAL(toggled(bool)),b4,SLOT(setEnabled(bool))); - connect(b3,SIGNAL(toggled(bool)),b5,SLOT(setEnabled(bool))); - - KviBoolSelector * b6 = addBoolSelector(g,__tr2qs_ctx("Use custom alert level","options"),KviOption_boolHighlightOnlyAtCostumHighlightLevel); - mergeTip(b6, __tr2qs_ctx("
If this option is enabled, KVIrc will alert in the window list only if the specified alert level is reached.
","options")); - - KviUIntSelector * b7 = addUIntSelector(g,__tr2qs_ctx("Minimum alert level:","options"),KviOption_uintMinHighlightLevel,1,KVI_MSGTYPE_MAXLEVEL,KVI_MSGTYPE_MAXLEVEL,KVI_OPTION_BOOL(KviOption_boolHighlightOnlyAtCostumHighlightLevel)); - b7->setEnabled(KVI_OPTION_BOOL(KviOption_boolHighlightOnlyAtCostumHighlightLevel)); - mergeTip(b7, __tr2qs_ctx("
This option sets the minimum alert level for the window list.
","options")); - connect(b6,SIGNAL(toggled(bool)),b7,SLOT(setEnabled(bool))); - - addRowSpacer(0,1,0,1); -} - -KviAlertOptionsWidget::~KviAlertOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_highlighting.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES - -#endif //_OPTW_HIGHLIGHTING_CPP_ diff --git a/src/modules/options/optw_highlighting.h b/src/modules/options/optw_highlighting.h deleted file mode 100644 index 6b29678d4..000000000 --- a/src/modules/options/optw_highlighting.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _OPTW_HIGHLIGHTING_H_ -#define _OPTW_HIGHLIGHTING_H_ -//============================================================================= -// -// File : optw_highlighting.h -// Creation date : Sat Nov 3 18:09:37 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -class QRadioButton; -class QLineEdit; - -#define KVI_OPTIONS_WIDGET_ICON_KviAlertHighlightingOptionsWidget KVI_SMALLICON_RAW -#define KVI_OPTIONS_WIDGET_NAME_KviAlertHighlightingOptionsWidget __tr2qs_no_lookup("Alert/Highlight") -#define KVI_OPTIONS_WIDGET_PARENT_KviAlertHighlightingOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_CONTAINER_KviAlertHighlightingOptionsWidget true - -class KviAlertHighlightingOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviAlertHighlightingOptionsWidget(QWidget * parent); - ~KviAlertHighlightingOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviHighlightingOptionsWidget KVI_SMALLICON_RAW -#define KVI_OPTIONS_WIDGET_NAME_KviHighlightingOptionsWidget __tr2qs_no_lookup("Highlight") -#define KVI_OPTIONS_WIDGET_PARENT_KviHighlightingOptionsWidget KviAlertHighlightingOptionsWidget - -class KviHighlightingOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviHighlightingOptionsWidget(QWidget * parent); - ~KviHighlightingOptionsWidget(); -private: - QRadioButton * m_pHighlightAllOccurencesRadioButton; - QRadioButton * m_pHighlightWholeWordsOnlyRadioButton; - QLineEdit * m_pWordSplitterCharactersEdit; - -protected: - virtual void commit(); - -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviAlertOptionsWidget KVI_SMALLICON_RAW -#define KVI_OPTIONS_WIDGET_NAME_KviAlertOptionsWidget __tr2qs_no_lookup("Window List Alert") -#define KVI_OPTIONS_WIDGET_PARENT_KviAlertOptionsWidget KviAlertHighlightingOptionsWidget - -class KviAlertOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviAlertOptionsWidget(QWidget * parent); - ~KviAlertOptionsWidget(); -}; - - -#endif //_OPTW_HIGHLIGHTING_H_ diff --git a/src/modules/options/optw_identity.cpp b/src/modules/options/optw_identity.cpp deleted file mode 100644 index 7ef4ac1d3..000000000 --- a/src/modules/options/optw_identity.cpp +++ /dev/null @@ -1,1017 +0,0 @@ -//============================================================================ -// -// File : optw_identity.cpp -// Creation date : Tue Nov 14 2000 23:06:53 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================ - -#include "optw_identity.h" - -#include "kvi_defaults.h" -#include "kvi_settings.h" -#include "kvi_fileextensions.h" -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviApplication.h" -#include "KviWindow.h" -#include "KviConsoleWindow.h" -#include "KviOptionsWidget.h" -#include "KviFileDialog.h" -#include "KviIconManager.h" -#include "KviHttpRequest.h" -#include "KviIdentityProfileSet.h" -#include "KviTalToolTip.h" -#include "KviTalHBox.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -KviNickAlternativesDialog::KviNickAlternativesDialog(QWidget * par,const QString &n1,const QString &n2,const QString &n3) -: QDialog(par) -{ - QGridLayout * g = new QGridLayout(this); - - setWindowTitle(__tr2qs_ctx("Nickname alternatives","options")); - - QLabel * l = new QLabel(this); - l->setText(__tr2qs_ctx("
Here you can choose up to three nicknames " \ - "alternative to the primary one. KVIrc will use the alternatives " \ - "if the primary nick is already used by someone else on a particular " \ - "IRC network.
","options")); - l->setWordWrap(true); - - g->addWidget(l,0,0,1,3); - - l = new QLabel(this); - l->setText(__tr2qs_ctx("Alt. Nickname 1:","options")); - g->addWidget(l,1,0); - m_pNickEdit1 = new QLineEdit(this); - g->addWidget(m_pNickEdit1,1,1,1,2); - m_pNickEdit1->setText(n1); - - l = new QLabel(this); - l->setText(__tr2qs_ctx("Alt. Nickname 2:","options")); - g->addWidget(l,2,0); - m_pNickEdit2 = new QLineEdit(this); - g->addWidget(m_pNickEdit2,2,1,1,2); - m_pNickEdit2->setText(n2); - - l = new QLabel(this); - l->setText(__tr2qs_ctx("Alt. Nickname 3:","options")); - g->addWidget(l,3,0); - m_pNickEdit3 = new QLineEdit(this); - g->addWidget(m_pNickEdit3,3,1,1,2); - m_pNickEdit3->setText(n3); - KviTalHBox * h = new KviTalHBox(this); - h->setSpacing(8); - g->addWidget(h,4,2); - - QPushButton * pb = new QPushButton(__tr2qs_ctx("Cancel","options"),h); - connect(pb,SIGNAL(clicked()),this,SLOT(reject())); - - pb = new QPushButton(__tr2qs_ctx("Ok","options"),h); - pb->setDefault(true); - connect(pb,SIGNAL(clicked()),this,SLOT(accept())); - - g->setColumnStretch(0,1); -} - -KviNickAlternativesDialog::~KviNickAlternativesDialog() -{ -} - -void KviNickAlternativesDialog::fill(QString &n1,QString &n2,QString &n3) -{ - n1 = m_pNickEdit1->text(); - n2 = m_pNickEdit2->text(); - n3 = m_pNickEdit3->text(); -} - - -KviAvatarDownloadDialog::KviAvatarDownloadDialog(QWidget * par,const QString &szUrl) -: QDialog(par) -{ - setWindowTitle(__tr2qs_ctx("Avatar Download - KVIrc","options")); - - m_szUrl = szUrl; - - QGridLayout * g = new QGridLayout(this); - - m_pOutput = new QLabel(__tr2qs_ctx("
Please wait while the avatar is being downloaded
","options"),this); - g->addWidget(m_pOutput,0,0,1,2); - - QPushButton * b = new QPushButton(__tr2qs_ctx("Abort","options"),this); - g->addWidget(b,1,1); - connect(b,SIGNAL(clicked()),this,SLOT(cancelClicked())); - - m_pRequest = new KviHttpRequest(); - - QTimer::singleShot(0,this,SLOT(startDownload())); - - g->setRowStretch(0,1); - g->setColumnStretch(0,1); - - setMinimumSize(250,120); -} - -KviAvatarDownloadDialog::~KviAvatarDownloadDialog() -{ - delete m_pRequest; -} - -void KviAvatarDownloadDialog::startDownload() -{ - connect(m_pRequest,SIGNAL(terminated(bool)),this,SLOT(downloadTerminated(bool))); - connect(m_pRequest,SIGNAL(status(const QString &)),this,SLOT(downloadMessage(const QString &))); - - QString tmp = m_szUrl; - g_pIconManager->urlToCachedFileName(tmp); - g_pApp->getLocalKvircDirectory(m_szLocalFileName,KviApplication::Avatars,tmp); - - m_pRequest->setExistingFileAction(KviHttpRequest::RenameExisting); - if(!m_pRequest->get(KviUrl(m_szUrl),KviHttpRequest::StoreToFile,m_szLocalFileName.toUtf8().data())) - { - m_szErrorMessage = __tr2qs_ctx("Failed to start the download","options"); - reject(); - } -} - -void KviAvatarDownloadDialog::closeEvent(QCloseEvent * e) -{ - m_szErrorMessage = __tr2qs_ctx("Download aborted by user","options"); - e->ignore(); - reject(); -} - -void KviAvatarDownloadDialog::cancelClicked() -{ - m_szErrorMessage = __tr2qs_ctx("Download aborted by user","options"); - reject(); -} - -void KviAvatarDownloadDialog::downloadMessage(const QString &szMsg) -{ - if(!szMsg.isEmpty()) - { - QString txt = "
"; - txt += szMsg; - txt += "
"; - m_pOutput->setText(szMsg); - } -} - -void KviAvatarDownloadDialog::downloadTerminated(bool bSuccess) -{ - if(bSuccess) - { - accept(); - } else { - m_szErrorMessage = m_pRequest->lastError(); - reject(); - } -} - -KviAvatarSelectionDialog::KviAvatarSelectionDialog(QWidget * par,const QString &szInitialPath) -: QDialog(par) -{ - setWindowTitle(__tr2qs_ctx("Choose Avatar - KVIrc","options")); - - QGridLayout * g = new QGridLayout(this); - - QString msg = "
"; - msg += __tr2qs_ctx("Please select an avatar image. " \ - "The full path to a local file or an image on the Web can be used.
" \ - "If you wish to use a local image file, click the \"Browse\"" \ - "button to browse local folders.
" \ - "The full URL for an image (including http://) can be entered manually.","options"); - msg += "

"; - - QLabel * l = new QLabel(msg,this); - l->setMinimumWidth(250); - - g->addWidget(l,0,0,1,3); - - m_pLineEdit = new QLineEdit(this); - m_pLineEdit->setText(szInitialPath); - m_pLineEdit->setMinimumWidth(180); - - g->addWidget(m_pLineEdit,1,0,1,2); - - QPushButton * b = new QPushButton(__tr2qs_ctx("&Browse...","options"),this); - connect(b,SIGNAL(clicked()),this,SLOT(chooseFileClicked())); - g->addWidget(b,1,2); - - KviTalHBox * h = new KviTalHBox(this); - h->setSpacing(8); - g->addWidget(h,2,1,1,2); - b = new QPushButton(__tr2qs_ctx("&OK","options"),h); - b->setMinimumWidth(80); - b->setDefault(true); - connect(b,SIGNAL(clicked()),this,SLOT(okClicked())); - - b = new QPushButton(__tr2qs_ctx("Cancel","options"),h); - b->setMinimumWidth(80); - connect(b,SIGNAL(clicked()),this,SLOT(cancelClicked())); - - g->setRowStretch(0,1); - g->setColumnStretch(0,1); -} - -KviAvatarSelectionDialog::~KviAvatarSelectionDialog() -{ -} - -void KviAvatarSelectionDialog::okClicked() -{ - m_szAvatarName = m_pLineEdit->text().trimmed(); - accept(); -} - -void KviAvatarSelectionDialog::cancelClicked() -{ - reject(); -} - -void KviAvatarSelectionDialog::chooseFileClicked() -{ - QString tmp; - if(KviFileDialog::askForOpenFileName(tmp,__tr2qs_ctx("Choose an Image File - KVIrc","options"),QString(),KVI_FILTER_IMAGE,false,true,this)) - { - m_pLineEdit->setText(tmp); - } -} - -void KviAvatarSelectionDialog::closeEvent(QCloseEvent * e) -{ - e->ignore(); - reject(); -} - - -KviIdentityOptionsWidget::KviIdentityOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ -} - -KviIdentityOptionsWidget::~KviIdentityOptionsWidget() -{ -} - - -KviIdentityGeneralOptionsWidget::KviIdentityGeneralOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - m_szAltNicknames[0] = KVI_OPTION_STRING(KviOption_stringNickname2); - m_szAltNicknames[1] = KVI_OPTION_STRING(KviOption_stringNickname3); - m_szAltNicknames[2] = KVI_OPTION_STRING(KviOption_stringNickname4); - - - createLayout(); - layout()->setMargin(10); - - KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Basic Properties","options")); - KviTalHBox * hb = new KviTalHBox(gbox); - hb->setSpacing(0); - hb->setMargin(0); - - KviStringSelector * sel = addStringSelector(hb,__tr2qs_ctx("Nickname:","options"),KviOption_stringNickname1); - sel->setMinimumLabelWidth(120); - mergeTip(sel,__tr2qs_ctx("
Your nickname is your primary form of identification on IRC.
" \ - "Since servers cannot accept multiple users sharing the same nickname " \ - "(case insensitive), you can provide alternative nicknames to be used in case"\ - "the server refuses to accept the default one.
","options")); - - QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*"),hb); - sel->setValidator(v); - - QPushButton * pb = new QPushButton(__tr2qs_ctx("Alternatives...","options"),hb); - connect(pb,SIGNAL(clicked()),this,SLOT(setNickAlternatives())); - - sel = addStringSelector(gbox,__tr2qs_ctx("Username:","options"),KviOption_stringUsername); - sel->setMinimumLabelWidth(120); - mergeTip(sel,__tr2qs_ctx("
This is the username that you will use to connect to the server.
" \ - "In the past, it was used as a form of authentication, but it normally has no special use now.
" \ - "In addition to your nickname, you are identified on IRC by your username@hostname.
" \ - "Basically, you can enter any word you like here. :D
","options")); - - sel = addStringSelector(gbox,__tr2qs_ctx("Real name:","options"),KviOption_stringRealname); - sel->setMinimumLabelWidth(120); - - mergeTip(sel,__tr2qs_ctx("
This text will appear when someone does a /WHOIS on you.
" \ - "It is intended to be your real name, but people tend to put random quotes and phrases here too.
","options")); - - - QString szOptionalCtcpUserInfo = __tr2qs_ctx("This field is optional and will appear as part of the CTCP USERINFO reply.","options"); - QString szCenterBegin("
"); - QString szCenterEnd("
"); - QString szTrailing = "

" + szOptionalCtcpUserInfo + szCenterEnd; - - gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Profile","options")); - - hb = new KviTalHBox(gbox); - hb->setSpacing(4); - - QLabel * l = new QLabel(__tr2qs_ctx("Age:","options"),hb); - l->setMinimumWidth(120); - - m_pAgeCombo = new QComboBox(hb); - QString szTip1 = szCenterBegin + __tr2qs_ctx("Here you can specify your age.","options") + szTrailing; - KviTalToolTip::add(l,szTip1); - KviTalToolTip::add(m_pAgeCombo,szTip1); - m_pAgeCombo->addItem(__tr2qs_ctx("Unspecified","options")); - unsigned int i; - for(i=1;i<120;i++) - { - QString tmp; - tmp.setNum(i); - m_pAgeCombo->insertItem(m_pAgeCombo->count(),tmp); - } - - bool bOk; - i = KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge).toUInt(&bOk); - if(!bOk)i = 0; - if(i > 120)i = 120; - m_pAgeCombo->setCurrentIndex(i); - - hb->setStretchFactor(m_pAgeCombo,1); - - - hb = new KviTalHBox(gbox); - hb->setSpacing(4); - - l = new QLabel(__tr2qs_ctx("Gender:","options"),hb); - l->setMinimumWidth(120); - - m_pGenderCombo = new QComboBox(hb); - QString szTip2 = szCenterBegin + __tr2qs_ctx("Here you can specify your gender.","options") + szTrailing; - KviTalToolTip::add(l,szTip2); - KviTalToolTip::add(m_pGenderCombo,szTip2); - m_pGenderCombo->addItem(__tr2qs_ctx("Unspecified","options")); - m_pGenderCombo->addItem(__tr2qs_ctx("Female","options")); - m_pGenderCombo->addItem(__tr2qs_ctx("Male","options")); - - if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender),"Male")) - m_pGenderCombo->setCurrentIndex(2); - else if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender),"Female")) - m_pGenderCombo->setCurrentIndex(1); - else - m_pGenderCombo->setCurrentIndex(0); - - hb->setStretchFactor(m_pGenderCombo,1); - - sel = addStringSelector(gbox,__tr2qs_ctx("Location:","options"),KviOption_stringCtcpUserInfoLocation); - sel->setMinimumLabelWidth(120); - mergeTip(sel,szCenterBegin + __tr2qs_ctx("You can describe here your approximate physical location. " \ - "Something like \"Region, Country\" will be ok. Please note that this information will be viewable " \ - "by anyone so putting more data (like the exact address), generally, is not a good idea.","options") + szTrailing); - - sel = addStringSelector(gbox,__tr2qs_ctx("Languages:","options"),KviOption_stringCtcpUserInfoLanguages); - sel->setMinimumLabelWidth(120); - mergeTip(sel,szCenterBegin + __tr2qs_ctx("You can put here the short names of the languages you can speak. " \ - "An example might be \"EN,IT\" that would mean that you speak both Italian and English.","options") + szTrailing); - - sel = addStringSelector(gbox,__tr2qs_ctx("Other:","options"),KviOption_stringCtcpUserInfoOther); - sel->setMinimumLabelWidth(120); - mergeTip(sel,szCenterBegin + __tr2qs_ctx("You can put here some additional personal data. " \ - "It might be a funny quote or your homepage url... " \ - "Please note that this information will be viewable " \ - "by anyone so don't put any sensible data (passwords, telephone or credit card numbers).","options") + szTrailing); - - addRowSpacer(0,2,0,2); -} - -KviIdentityGeneralOptionsWidget::~KviIdentityGeneralOptionsWidget() -{ -} - -void KviIdentityGeneralOptionsWidget::setNickAlternatives() -{ - KviNickAlternativesDialog * dlg = new KviNickAlternativesDialog(this,m_szAltNicknames[0],m_szAltNicknames[1],m_szAltNicknames[2]); - if(dlg->exec() != QDialog::Accepted)return; - dlg->fill(m_szAltNicknames[0],m_szAltNicknames[1],m_szAltNicknames[2]); - delete dlg; -} - -void KviIdentityGeneralOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - if(KVI_OPTION_STRING(KviOption_stringRealname).isEmpty()) KVI_OPTION_STRING(KviOption_stringRealname)=KVI_DEFAULT_REALNAME; - if(KVI_OPTION_STRING(KviOption_stringUsername).isEmpty()) KVI_OPTION_STRING(KviOption_stringUsername)=KVI_DEFAULT_USERNAME; - - KVI_OPTION_STRING(KviOption_stringNickname2) = m_szAltNicknames[0]; - KVI_OPTION_STRING(KviOption_stringNickname3) = m_szAltNicknames[1]; - KVI_OPTION_STRING(KviOption_stringNickname4) = m_szAltNicknames[2]; - - - int i = m_pAgeCombo->currentIndex(); - if(i < 0)i = 0; - if(i > 120)i = 120; - if(i <= 0)KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge) = ""; - else KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge).setNum(i); - - switch(m_pGenderCombo->currentIndex()) - { - case 1: - // this should be in english - KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender) = "Female"; - break; - case 2: - // this should be in english - KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender) = "Male"; - break; - default: - KVI_OPTION_STRING(KviOption_stringCtcpUserInfoGender) = ""; - break; - } -} - - -KviIdentityAvatarOptionsWidget::KviIdentityAvatarOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - layout()->setMargin(10); - - m_pLocalAvatar = new KviPixmap(KVI_OPTION_PIXMAP(KviOption_pixmapMyAvatar)); - - bool bHaveAvatar = (!KVI_OPTION_STRING(KviOption_stringMyAvatar).isEmpty()) && m_pLocalAvatar->pixmap(); - - QString szTip = __tr2qs_ctx("Here you can choose your avatar image. It will be visible
" \ - "by other people that request it. Choose a nice image of yourself,
" \ - "possibly avoiding obscenity and offending images. It is a good idea
" \ - "to choose a relatively small file (say 150 Kb max) because
" \ - "most clients have a limit on the size of avatars being downloaded.
" \ - "The image also should be smaller than 800x600 pixels since
" \ - "it will have to be viewable in everyone's monitor.","options"); - - m_pUseAvatarCheck = new QCheckBox(__tr2qs_ctx("Use avatar","options"),this); - addWidgetToLayout(m_pUseAvatarCheck,0,0,0,0); - m_pUseAvatarCheck->setChecked(bHaveAvatar); - mergeTip(m_pUseAvatarCheck,szTip); - - m_pAvatarPreview = new KviPixmapPreview(this); - addWidgetToLayout(m_pAvatarPreview,0,1,0,1); - m_pAvatarPreview->setPixmap(m_pLocalAvatar); - m_pAvatarPreview->setEnabled(bHaveAvatar); - connect(m_pUseAvatarCheck,SIGNAL(toggled(bool)),m_pAvatarPreview,SLOT(setEnabled(bool))); - mergeTip(m_pAvatarPreview,szTip); - - KviTalHBox * hb = new KviTalHBox(this); - hb->setSpacing(4); - addWidgetToLayout(hb,0,2,0,2); - - m_pAvatarNameEdit = new QLineEdit(hb); - m_pAvatarNameEdit->setReadOnly(true); - m_pAvatarNameEdit->setEnabled(bHaveAvatar); - m_pAvatarNameEdit->setText(KVI_OPTION_STRING(KviOption_stringMyAvatar)); - connect(m_pUseAvatarCheck,SIGNAL(toggled(bool)),m_pAvatarNameEdit,SLOT(setEnabled(bool))); - - m_pChooseAvatarButton = new QPushButton(__tr2qs_ctx("Choose...","options"),hb); - m_pChooseAvatarButton->setEnabled(bHaveAvatar); - connect(m_pUseAvatarCheck,SIGNAL(toggled(bool)),m_pChooseAvatarButton,SLOT(setEnabled(bool))); - - connect(m_pChooseAvatarButton,SIGNAL(clicked()),this,SLOT(chooseAvatar())); - - layout()->setRowStretch(1,2); -} - -KviIdentityAvatarOptionsWidget::~KviIdentityAvatarOptionsWidget() -{ - delete m_pLocalAvatar; -} - -void KviIdentityAvatarOptionsWidget::commit(void) -{ - KviOptionsWidget::commit(); - - QString szAvatarName = m_pAvatarNameEdit->text(); - - if(m_pUseAvatarCheck->isChecked() && m_pLocalAvatar->pixmap() && (!szAvatarName.isEmpty())) - { - KVI_OPTION_STRING(KviOption_stringMyAvatar) = szAvatarName; - KVI_OPTION_PIXMAP(KviOption_pixmapMyAvatar) = *m_pLocalAvatar; - } else { - KVI_OPTION_STRING(KviOption_stringMyAvatar) = ""; - KVI_OPTION_PIXMAP(KviOption_pixmapMyAvatar) = KviPixmap(); - } - g_pApp->setAvatarFromOptions(); -} - -void KviIdentityAvatarOptionsWidget::chooseAvatar() -{ - QString szCurrent = m_pAvatarNameEdit->text(); - - KviAvatarSelectionDialog dlg(this,szCurrent); - if(dlg.exec() != QDialog::Accepted)return; - - szCurrent = dlg.avatarName(); - szCurrent.trimmed(); - - if(KviQString::equalCIN(szCurrent,"http://",7)) - { - // this is an url - // first check if we have it in the cache - KviAvatar * a = g_pIconManager->getAvatar(QString(),szCurrent); - if(!a) - { - // no cache... try downloading - KviAvatarDownloadDialog dlg(this,szCurrent); - if(dlg.exec() == QDialog::Accepted) - { - // downloaded! - // try to load it - if(!m_pLocalAvatar->load(dlg.localFileName())) - { - // unloadable - szCurrent = ""; - QMessageBox::warning(this,__tr2qs_ctx("Failed to Load Avatar - KVIrc","options"), - __tr2qs_ctx("Failed to load the avatar image.
" \ - "It may be an unaccessible file or an " \ - "unsupported image format.","options"),QMessageBox::Ok,QMessageBox::NoButton); - } // else loaded! - } else { - // unloadable - QString tmp; - KviQString::sprintf(tmp,__tr2qs_ctx("Failed to download the avatar image.
" \ - "%Q","options"),&(dlg.errorMessage())); - QMessageBox::warning(this,__tr2qs_ctx("Avatar Download Failed - KVIrc","options"),tmp,QMessageBox::Ok,QMessageBox::NoButton); - szCurrent = ""; - m_pLocalAvatar->setNull(); - } - } else { - // else OK.. got it in the cache - m_pLocalAvatar->set(*(a->pixmap()),a->localPath()); - delete a; - } - } else { - // this is a local path - if(m_pLocalAvatar->load(szCurrent)) - { - // local path, loaded - QString tmp = szCurrent; - int idx = tmp.lastIndexOf("/"); - if(idx != -1) - { - szCurrent = tmp.right(tmp.length() - (idx + 1)); - tmp = szCurrent; - } - idx = tmp.lastIndexOf("\\"); - if(idx != -1) - { - szCurrent = tmp.right(tmp.length() - (idx + 1)); - tmp = szCurrent; - } - } else { - // unloadable - QMessageBox::warning(this,__tr2qs_ctx("Failed to Load Avatar - KVIrc","options"), - __tr2qs_ctx("Failed to load the avatar image.
" \ - "It may be an unaccessible file or an " \ - "unsupported image format.","options"),QMessageBox::Ok,QMessageBox::NoButton); - szCurrent = ""; - } - } - - if(m_pLocalAvatar->pixmap()) - { - if((m_pLocalAvatar->pixmap()->width() > 1024) || (m_pLocalAvatar->pixmap()->height() > 768)) - { - QMessageBox::warning( - this, - __tr2qs_ctx("Avatar Might Be Too Big - KVIrc","options"), - __tr2qs_ctx( - "The avatar you have chosen is bigger than 1024x768 pixels.
" \ - "Such a big image will not be seen on all the user monitors
" \ - "and will probably be scaled by the remote clients with poor quality
" \ - "algorithms to improve performance. You *should* scale it manually
" \ - "to a sane size (like 800x600) or choose a different image.", - "options" - ) - ); - } else { - QFileInfo inf(m_pLocalAvatar->path()); - if(inf.size() > 524288) - { - QMessageBox::warning( - this, - __tr2qs_ctx("Avatar Might Be Too Big - KVIrc","options"), - __tr2qs_ctx( - "The avatar you have chosen is bigger than 500 KiB
" \ - "and most clients will refuse to download it.
" \ - "You *should* either scale it, use a different storage
" \ - "format or choose a different image.", - "options" - ) - ); - } - } - } - - m_pAvatarNameEdit->setText(szCurrent); - m_pAvatarPreview->setPixmap(m_pLocalAvatar); -} - - -KviIdentityAdvancedOptionsWidget::KviIdentityAdvancedOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - m_pISelector=0; - m_pWSelector=0; - m_pSSelector=0; - - m_sModeStr = KVI_OPTION_STRING(KviOption_stringDefaultUserMode); - m_bI = m_sModeStr.contains('i'); - m_bW = m_sModeStr.contains('w'); - m_bS = m_sModeStr.contains('s'); - - createLayout(); - layout()->setMargin(10); - - KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("User Mode","options")); - m_pISelector = addBoolSelector(gbox,__tr2qs_ctx("Invisible (+i)","options"),&m_bI); - m_pSSelector = addBoolSelector(gbox,__tr2qs_ctx("Server notices (+s)","options"),&m_bS); - m_pWSelector = addBoolSelector(gbox,__tr2qs_ctx("Wallops (+w)","options"),&m_bW); - - gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Default Messages","options")); - - KviStringSelector * sel = addStringSelector(gbox, __tr2qs_ctx("Part message:","options"),KviOption_stringPartMessage); - sel->setMinimumLabelWidth(120); - - mergeTip(sel,__tr2qs_ctx("
This is the default part message that will be used when you
" \ - "leave a channel by closing a channel window.
","options")); - - sel = addStringSelector(gbox, __tr2qs_ctx("Quit message:","options"),KviOption_stringQuitMessage); - sel->setMinimumLabelWidth(120); - mergeTip(sel,__tr2qs_ctx("
This is the default quit message that will be used when you
" \ - "quit your IRC session by closing the console window or disconnecting by pressing the disconnect button.
","options")); - - addRowSpacer(0,2,0,2); -} - -KviIdentityAdvancedOptionsWidget::~KviIdentityAdvancedOptionsWidget() -{ -} - -void KviIdentityAdvancedOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - m_sModeStr = m_bI ? "i" : ""; - if(m_bS)m_sModeStr += "s"; - if(m_bW)m_sModeStr += "w"; - - KVI_OPTION_STRING(KviOption_stringDefaultUserMode) = m_sModeStr.ptr(); -} - -KviIdentityProfileOptionsWidget::KviIdentityProfileOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ - setObjectName("identity_profiles_option_widget"); - m_pEditor = 0; - m_iCurrentEditedProfile = -1; - - createLayout(); - QGridLayout * pLayout = layout(); - - KviIdentityProfileSet * pSet = KviIdentityProfileSet::instance(); - bool bEnabled = pSet ? (pSet->isEnabled() && !pSet->isEmpty()) : false; - - m_pProfilesCheck = new QCheckBox(__tr2qs_ctx("Enable Network Profiles","options"),this); - KviTalToolTip::add(m_pProfilesCheck,__tr2qs_ctx("This check enables the use of network profiles","options")); - m_pProfilesCheck->setChecked(bEnabled); - pLayout->addWidget(m_pProfilesCheck,0,0,1,3); - connect(m_pProfilesCheck,SIGNAL(toggled(bool)),this,SLOT(toggleControls())); - - // Profiles list - m_pTreeWidget = new QTreeWidget(this); - m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); - m_pTreeWidget->setAllColumnsShowFocus(true); - - QStringList labels; - labels.append(__tr2qs_ctx("Name","options")); - labels.append(__tr2qs_ctx("Network","options")); - labels.append(__tr2qs_ctx("Nickname","options")); - labels.append(__tr2qs_ctx("Alt. Nick","options")); - labels.append(__tr2qs_ctx("Username","options")); - labels.append(__tr2qs_ctx("Realname","options")); - m_pTreeWidget->setHeaderLabels(labels); - - KviTalToolTip::add(m_pTreeWidget, \ - __tr2qs_ctx("
This is a set of rules to use profiles." \ - "KVIrc will use them to handle the user connection " \ - "data before the data is sent to the IRC server.
" \ - "This is useful if a user wants to use different data " \ - "on different networks without changing them at every " \ - "connection attempt.","options")); - pLayout->addWidget(m_pTreeWidget,1,0,1,3); - connect(m_pTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(toggleControls())); - - // Buttons box - KviTalHBox * pBtnBox = new KviTalHBox(this); - pLayout->addWidget(pBtnBox,2,0); - - m_pBtnAddProfile = new QPushButton(__tr2qs_ctx("Add Profile","options"),pBtnBox); - connect(m_pBtnAddProfile,SIGNAL(clicked()),this,SLOT(addProfileEntry())); - - m_pBtnEditProfile = new QPushButton(__tr2qs_ctx("Edit Profile","options"),pBtnBox); - connect(m_pBtnEditProfile,SIGNAL(clicked()),this,SLOT(editProfileEntry())); - - m_pBtnDelProfile = new QPushButton(__tr2qs_ctx("Delete Profile","options"),pBtnBox); - connect(m_pBtnDelProfile,SIGNAL(clicked()),this,SLOT(delProfileEntry())); - - // Fill in the treewidget - if(pSet && pSet->profiles()) - { - QTreeWidgetItem * pItem; - KviPointerList * pList = pSet->profiles(); - for(KviIdentityProfile * pProfile = pList->first(); pProfile; pProfile = pList->next()) - { - pItem = new QTreeWidgetItem(m_pTreeWidget); - pItem->setText(0,pProfile->name()); - pItem->setText(1,pProfile->network()); - pItem->setText(2,pProfile->nick()); - pItem->setText(3,pProfile->altNick()); - pItem->setText(4,pProfile->userName()); - pItem->setText(5,pProfile->realName()); - } - } - - toggleControls(); -} - -KviIdentityProfileOptionsWidget::~KviIdentityProfileOptionsWidget() -{ -} - -void KviIdentityProfileOptionsWidget::toggleControls() -{ - bool bEnabled = m_pProfilesCheck->isChecked(); - m_pTreeWidget->setEnabled(bEnabled); - m_pBtnAddProfile->setEnabled(bEnabled); - - bEnabled = bEnabled && (m_pTreeWidget->topLevelItemCount()) && m_pTreeWidget->currentItem(); - m_pBtnEditProfile->setEnabled(bEnabled); - m_pBtnDelProfile->setEnabled(bEnabled); -} - -void KviIdentityProfileOptionsWidget::addProfileEntry() -{ - KviIdentityProfile profile; - m_iCurrentEditedProfile = -1; - - if(m_pEditor) - delete m_pEditor; - m_pEditor = new KviIdentityProfileEditor(this); - - if(m_pEditor->editProfile(&profile)) - { - QTreeWidgetItem * pItem = new QTreeWidgetItem(m_pTreeWidget); - pItem->setText(0,profile.name()); - pItem->setText(1,profile.network()); - pItem->setText(2,profile.nick()); - pItem->setText(3,profile.altNick()); - pItem->setText(4,profile.userName()); - pItem->setText(5,profile.realName()); - } -} - -void KviIdentityProfileOptionsWidget::editProfileEntry() -{ - QTreeWidgetItem * pItem = (QTreeWidgetItem *)m_pTreeWidget->currentItem(); - if(!pItem) - return; - - // Fill in the editor data - KviIdentityProfile profile; - profile.setName(pItem->text(0)); - profile.setNetwork(pItem->text(1)); - profile.setNick(pItem->text(2)); - profile.setAltNick(pItem->text(3)); - profile.setUserName(pItem->text(4)); - profile.setRealName(pItem->text(5)); - - m_iCurrentEditedProfile=m_pTreeWidget->indexOfTopLevelItem(pItem); - - if(m_pEditor) - delete m_pEditor; - m_pEditor = new KviIdentityProfileEditor(this); - if(m_pEditor->editProfile(&profile)) - { - pItem->setText(0,profile.name()); - pItem->setText(1,profile.network()); - pItem->setText(2,profile.nick()); - pItem->setText(3,profile.altNick()); - pItem->setText(4,profile.userName()); - pItem->setText(5,profile.realName()); - } -} - -void KviIdentityProfileOptionsWidget::editProfileOkPressed() -{ - for(int i=0; i < m_pTreeWidget->topLevelItemCount(); i++) - { - if(m_pEditor->m_pNameEdit->text() == m_pTreeWidget->topLevelItem(i)->text(0) && i!=m_iCurrentEditedProfile) - { - QMessageBox::warning(this,__tr2qs_ctx("Invalid Profile Rule","options"),__tr2qs_ctx("There is already a profile with that name","options"),__tr2qs_ctx("OK","options")); - return; - } - } - - m_pEditor->accept(); -} - -void KviIdentityProfileOptionsWidget::delProfileEntry() -{ - QTreeWidgetItem * pItem = (QTreeWidgetItem *)m_pTreeWidget->currentItem(); - if(!pItem) - return; - - delete pItem; - toggleControls(); -} - -void KviIdentityProfileOptionsWidget::commit() -{ - KviIdentityProfileSet::instance()->clear(); - if(m_pTreeWidget->topLevelItemCount()) - { - KviIdentityProfileSet::instance()->setEnabled(m_pProfilesCheck->isChecked()); - QTreeWidgetItem * pItem; - for(int i=0; i < m_pTreeWidget->topLevelItemCount(); i++) - { - pItem = (QTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); - - KviIdentityProfile * pProfile = new KviIdentityProfile(); - pProfile->setName(pItem->text(0)); - pProfile->setNetwork(pItem->text(1)); - pProfile->setNick(pItem->text(2)); - pProfile->setAltNick(pItem->text(3)); - pProfile->setUserName(pItem->text(4)); - pProfile->setRealName(pItem->text(5)); - - KviIdentityProfileSet::instance()->addProfile(pProfile); - } - } - - KviOptionsWidget::commit(); -} - -KviIdentityProfileEditor::KviIdentityProfileEditor(QWidget * pParent) -: QDialog(pParent) -{ - setObjectName("identity_profile_editor"); - setWindowTitle(__tr2qs_ctx("Profile Editor - KVIrc","options")); - - m_szName = __tr2qs_ctx("Profile Name","options"); - m_szNetwork = __tr2qs_ctx("MyNetwork","options"); - m_szNick = __tr2qs_ctx("MyNick","options"); - m_szAltNick = __tr2qs_ctx("MyNick2","options"); - m_szUserName = __tr2qs_ctx("MyUserName","options"); - m_szRealName = __tr2qs_ctx("MyRealName","options"); - - QGridLayout * pLayout = new QGridLayout(this); - - QLabel * pLabel = new QLabel(__tr2qs_ctx("Profile Name:","options"),this); - pLayout->addWidget(pLabel,0,0); - - m_pNameEdit = new QLineEdit(this); - KviTalToolTip::add(m_pNameEdit,__tr2qs_ctx("Put here the name of the profile","options")); - pLayout->addWidget(m_pNameEdit,0,1,1,2); - connect(m_pNameEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); - - pLabel = new QLabel(__tr2qs_ctx("Network Name:","options"),this); - pLayout->addWidget(pLabel,1,0); - - m_pNetworkEdit = new QLineEdit(this); - KviTalToolTip::add(m_pNetworkEdit,__tr2qs_ctx("Put here the name of the network","options")); - pLayout->addWidget(m_pNetworkEdit,1,1,1,2); - connect(m_pNetworkEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); - - pLabel = new QLabel(__tr2qs_ctx("Nickname:","options"),this); - pLayout->addWidget(pLabel,2,0); - - m_pNickEdit = new QLineEdit(this); - KviTalToolTip::add(m_pNickEdit,__tr2qs_ctx("Put here the nickname you want to use","options")); - pLayout->addWidget(m_pNickEdit,2,1,1,2); - connect(m_pNickEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); - - pLabel = new QLabel(__tr2qs_ctx("Alternative Nickname:","options"),this); - pLayout->addWidget(pLabel,3,0); - - m_pAltNickEdit = new QLineEdit(this); - KviTalToolTip::add(m_pAltNickEdit,__tr2qs_ctx("Put here the alternative nickname you want to use","options")); - pLayout->addWidget(m_pAltNickEdit,3,1,1,2); - connect(m_pAltNickEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); - - pLabel = new QLabel(__tr2qs_ctx("Username:","options"),this); - pLayout->addWidget(pLabel,4,0); - - m_pUserNameEdit = new QLineEdit(this); - KviTalToolTip::add(m_pUserNameEdit,__tr2qs_ctx("Put here the username you want to use","options")); - pLayout->addWidget(m_pUserNameEdit,4,1,1,2); - connect(m_pUserNameEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); - - pLabel = new QLabel(__tr2qs_ctx("Realname:","options"),this); - pLayout->addWidget(pLabel,5,0); - - m_pRealNameEdit = new QLineEdit(this); - KviTalToolTip::add(m_pRealNameEdit,__tr2qs_ctx("Put here the realname you want to use","options")); - pLayout->addWidget(m_pRealNameEdit,5,1,1,2); - connect(m_pRealNameEdit,SIGNAL(textChanged(const QString &)),this,SLOT(toggleButton(const QString &))); - - KviTalHBox * pBox = new KviTalHBox(this); - pBox->setAlignment(Qt::AlignRight); - pLayout->addWidget(pBox,6,0); - - QPushButton * p = new QPushButton(__tr2qs_ctx("Cancel","options"),pBox); - //p->setMinimumWidth(100); - connect(p,SIGNAL(clicked()),this,SLOT(reject())); - - m_pBtnOk = new QPushButton(__tr2qs_ctx("OK","options"),pBox); - m_pBtnOk->setEnabled(false); - connect(m_pBtnOk,SIGNAL(clicked()),pParent,SLOT(editProfileOkPressed())); - - pLayout->setColumnStretch(1,1); - - setMinimumWidth(250); -} - -KviIdentityProfileEditor::~KviIdentityProfileEditor() -{ -} - -bool KviIdentityProfileEditor::editProfile(KviIdentityProfile * pProfile) -{ - // Fill in the fields - m_pNameEdit->setText(pProfile->name().isEmpty() ? QString(m_szName) : pProfile->name()); - m_pNetworkEdit->setText(pProfile->network().isEmpty() ? QString(m_szNetwork) : pProfile->network()); - m_pNickEdit->setText(pProfile->nick().isEmpty() ? QString(m_szNick) : pProfile->nick()); - m_pAltNickEdit->setText(pProfile->altNick().isEmpty() ? QString(m_szAltNick) : pProfile->altNick()); - m_pUserNameEdit->setText(pProfile->userName().isEmpty() ? QString(m_szUserName) : pProfile->userName()); - m_pRealNameEdit->setText(pProfile->realName().isEmpty() ? QString(m_szRealName) : pProfile->realName()); - - // Ensure data - m_pNameEdit->selectAll(); - - // Show the dialog - if(exec() != QDialog::Accepted) return false; - - // Store data in the object - pProfile->setName(m_pNameEdit->text()); - pProfile->setNetwork(m_pNetworkEdit->text()); - pProfile->setNick(m_pNickEdit->text()); - pProfile->setAltNick(m_pAltNickEdit->text()); - pProfile->setUserName(m_pUserNameEdit->text()); - pProfile->setRealName(m_pRealNameEdit->text()); - - return true; -} - -void KviIdentityProfileEditor::toggleButton(const QString & szText) -{ - bool bEnabled = true; - - if( - (m_pNameEdit->text() == m_szName) || - (m_pNetworkEdit->text() == m_szNetwork) || - (m_pNickEdit->text() == m_szNick) || - (m_pAltNickEdit->text() == m_szAltNick) || - (m_pUserNameEdit->text() == m_szUserName) || - (m_pRealNameEdit->text() == m_szRealName) || - (szText.isEmpty()) - ) - bEnabled = false; - - m_pBtnOk->setEnabled(bEnabled); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_identity.moc" -#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_identity.h b/src/modules/options/optw_identity.h deleted file mode 100644 index ff4013e46..000000000 --- a/src/modules/options/optw_identity.h +++ /dev/null @@ -1,255 +0,0 @@ -#ifndef _OPTW_IDENTITY_H_ -#define _OPTW_IDENTITY_H_ - -//============================================================================= -// -// File : optw_identity.h -// Creation date : Tue Nov 14 2000 23:06:12 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net) -// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) -// -// 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. -// -//============================================================================= - - -#include "KviOptionsWidget.h" -#include "kvi_settings.h" -#include "KviSelectors.h" -#include "KviPixmap.h" - -#include - -class QCheckBox; -class QLineEdit; -class QPushButton; -class QComboBox; -class KviHttpRequest; -class QTreeWidget; -class KviIdentityProfile; - -class KviNickAlternativesDialog : public QDialog -{ - friend class KviIdentityGeneralOptionsWidget; - Q_OBJECT -protected: - KviNickAlternativesDialog(QWidget * par,const QString &n1,const QString &n2,const QString &n3); - ~KviNickAlternativesDialog(); -protected: - QLineEdit * m_pNickEdit1; - QLineEdit * m_pNickEdit2; - QLineEdit * m_pNickEdit3; -protected: - void fill(QString &n1,QString &n2,QString &n3); -}; - -class KviAvatarSelectionDialog : public QDialog -{ - friend class KviIdentityAvatarOptionsWidget; - Q_OBJECT -public: - KviAvatarSelectionDialog(QWidget * par,const QString &szInitialPath); - ~KviAvatarSelectionDialog(); -protected: - QLineEdit * m_pLineEdit; - QString m_szAvatarName; -protected: - virtual void closeEvent(QCloseEvent * e); - const QString &avatarName(){ return m_szAvatarName; }; -protected slots: - void okClicked(); - void cancelClicked(); - void chooseFileClicked(); -}; - - -class KviAvatarDownloadDialog : public QDialog -{ - friend class KviIdentityAvatarOptionsWidget; - Q_OBJECT -public: - KviAvatarDownloadDialog(QWidget * par,const QString &szUrl); - ~KviAvatarDownloadDialog(); -protected: - KviHttpRequest * m_pRequest; - QLabel * m_pOutput; - QString m_szErrorMessage; - QString m_szLocalFileName; - QString m_szUrl; -protected: - virtual void closeEvent(QCloseEvent * e); - const QString & localFileName(){ return m_szLocalFileName; }; - const QString & errorMessage(){ return m_szErrorMessage; }; -protected slots: - void startDownload(); - void cancelClicked(); - void downloadTerminated(bool bSuccess); - void downloadMessage(const QString &szMsg); -}; - - - - -class KviIdentityProfileEditor : public QDialog -{ - friend class KviIdentityProfileOptionsWidget; - Q_OBJECT -public: - KviIdentityProfileEditor(QWidget * pParent); - ~KviIdentityProfileEditor(); -protected: - QString m_szName; - QString m_szNetwork; - QString m_szNick; - QString m_szAltNick; - QString m_szUserName; - QString m_szRealName; - QLineEdit * m_pNameEdit; - QLineEdit * m_pNetworkEdit; - QLineEdit * m_pNickEdit; - QLineEdit * m_pAltNickEdit; - QLineEdit * m_pUserNameEdit; - QLineEdit * m_pRealNameEdit; - QPushButton * m_pBtnOk; -public: - bool editProfile(KviIdentityProfile * pProfile); -protected slots: - void toggleButton(const QString & szText); -}; - - - -#define KVI_OPTIONS_WIDGET_ICON_KviIdentityOptionsWidget KVI_SMALLICON_WHO -#define KVI_OPTIONS_WIDGET_NAME_KviIdentityOptionsWidget __tr2qs_no_lookup("Identity") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityOptionsWidget 99998 -#define KVI_OPTIONS_WIDGET_CONTAINER_KviIdentityOptionsWidget true - - -class KviIdentityOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIdentityOptionsWidget(QWidget * parent); - ~KviIdentityOptionsWidget(); -}; - - - -#define KVI_OPTIONS_WIDGET_ICON_KviIdentityGeneralOptionsWidget KVI_SMALLICON_WHO -#define KVI_OPTIONS_WIDGET_NAME_KviIdentityGeneralOptionsWidget __tr2qs_no_lookup("General") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityGeneralOptionsWidget 90000 -#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityGeneralOptionsWidget KviIdentityOptionsWidget - - -class KviIdentityGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIdentityGeneralOptionsWidget(QWidget * pParent); - ~KviIdentityGeneralOptionsWidget(); -protected: - QString m_szAltNicknames[3]; - - QComboBox * m_pAgeCombo; - QComboBox * m_pGenderCombo; -protected slots: - void setNickAlternatives(); -protected: - virtual void commit(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviIdentityAvatarOptionsWidget KVI_SMALLICON_AVATAR -#define KVI_OPTIONS_WIDGET_NAME_KviIdentityAvatarOptionsWidget __tr2qs_no_lookup("Avatar") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAvatarOptionsWidget 80000 -#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityAvatarOptionsWidget KviIdentityOptionsWidget - - -class KviIdentityAvatarOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIdentityAvatarOptionsWidget(QWidget * pParent); - ~KviIdentityAvatarOptionsWidget(); -protected: - QCheckBox * m_pUseAvatarCheck; - QLineEdit * m_pAvatarNameEdit; - QPushButton * m_pChooseAvatarButton; - KviPixmap * m_pLocalAvatar; - KviPixmapPreview * m_pAvatarPreview; -protected slots: - void chooseAvatar(); -protected: - virtual void commit(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviIdentityAdvancedOptionsWidget KVI_SMALLICON_SPY -#define KVI_OPTIONS_WIDGET_NAME_KviIdentityAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityAdvancedOptionsWidget 70000 -#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityAdvancedOptionsWidget KviIdentityOptionsWidget - - -class KviIdentityAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIdentityAdvancedOptionsWidget(QWidget * pParent); - ~KviIdentityAdvancedOptionsWidget(); -protected: - bool m_bI; - bool m_bW; - bool m_bS; - KviCString m_sModeStr; - KviBoolSelector * m_pISelector; - KviBoolSelector * m_pWSelector; - KviBoolSelector * m_pSSelector; -protected: - virtual void commit(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviIdentityProfileOptionsWidget KVI_SMALLICON_REGUSERS -#define KVI_OPTIONS_WIDGET_NAME_KviIdentityProfileOptionsWidget __tr2qs_no_lookup("Profiles") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIdentityProfileOptionsWidget 60000 -#define KVI_OPTIONS_WIDGET_PARENT_KviIdentityProfileOptionsWidget KviIdentityOptionsWidget - -class KviIdentityProfileOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIdentityProfileOptionsWidget(QWidget * pParent); - ~KviIdentityProfileOptionsWidget(); -protected: - QTreeWidget * m_pTreeWidget; - QCheckBox * m_pProfilesCheck; - QPushButton * m_pBtnAddProfile; - QPushButton * m_pBtnEditProfile; - QPushButton * m_pBtnDelProfile; - KviIdentityProfileEditor * m_pEditor; - int m_iCurrentEditedProfile; -public: - virtual void commit(); -protected slots: - void toggleControls(); - void addProfileEntry(); - void editProfileEntry(); - void delProfileEntry(); - void editProfileOkPressed(); -}; - -#endif //_OPTW_IDENTITY_H_ diff --git a/src/modules/options/optw_ignore.cpp b/src/modules/options/optw_ignore.cpp deleted file mode 100644 index a08396634..000000000 --- a/src/modules/options/optw_ignore.cpp +++ /dev/null @@ -1,66 +0,0 @@ -//============================================================================= -// -// File : optw_ignore.h -// Creation date : Thu Feb 12 15:11:29 2002 GMT by Juanjo Ãlvarez -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002 Juanjo Ãlvarez -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "optw_ignore.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - - -KviIgnoreOptionsWidget::KviIgnoreOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("ignore_options_widget"); - createLayout(); - - KviTalGroupBox *g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Enable Ignore For","options")); - m_pIgnorePrivmsg = addBoolSelector(g,__tr2qs_ctx("Private/channel messages","options"),KviOption_boolEnableIgnoreOnPrivMsg); - m_pIgnoreNotice = addBoolSelector(g,__tr2qs_ctx("Private/channel notices","options"),KviOption_boolEnableIgnoreOnNotice); - - connect(m_pIgnorePrivmsg,SIGNAL(toggled(bool)),this,SLOT(enableVerbose(bool))); - - m_pVerboseIgnore = addBoolSelector(0,1,0,1,__tr2qs_ctx("Use verbose ignore (show messages in console)","options"), - KviOption_boolVerboseIgnore, - KVI_OPTION_BOOL(KviOption_boolEnableIgnoreOnPrivMsg) || KVI_OPTION_BOOL(KviOption_boolEnableIgnoreOnNotice)); - - addRowSpacer(0,2,0,2); -} - -KviIgnoreOptionsWidget::~KviIgnoreOptionsWidget() -{ -} - -void KviIgnoreOptionsWidget::enableVerbose(bool) -{ - m_pVerboseIgnore->setEnabled(m_pIgnorePrivmsg->isChecked() || m_pIgnoreNotice->isChecked()); -} - - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_ignore.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_ignore.h b/src/modules/options/optw_ignore.h deleted file mode 100644 index 65f1c3d3e..000000000 --- a/src/modules/options/optw_ignore.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _OPTW_IGNORE_H_ -#define _OPTW_IGNORE_H_ -//============================================================================= -// -// File : optw_ignore.h -// Creation date : Thu Feb 12 15:11:30 2002 GMT by Juanjo Ãlvarez -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002 Juanjo Ãlvarez -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include "KviSelectors.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviIgnoreOptionsWidget KVI_SMALLICON_IGNORE -#define KVI_OPTIONS_WIDGET_NAME_KviIgnoreOptionsWidget __tr2qs_no_lookup("Ignore") -#define KVI_OPTIONS_WIDGET_PARENT_KviIgnoreOptionsWidget KviProtectionOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIgnoreOptionsWidget __tr2qs_no_lookup("protection") - -class KviIgnoreOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIgnoreOptionsWidget(QWidget * parent); - ~KviIgnoreOptionsWidget(); -public: - KviBoolSelector * m_pIgnorePrivmsg; - KviBoolSelector * m_pIgnoreNotice; - KviBoolSelector * m_pVerboseIgnore; -protected slots: - void enableVerbose(bool); -}; - -#endif //_OPTW_IGNORE_H_ diff --git a/src/modules/options/optw_input.cpp b/src/modules/options/optw_input.cpp deleted file mode 100644 index 2df8bbd23..000000000 --- a/src/modules/options/optw_input.cpp +++ /dev/null @@ -1,167 +0,0 @@ -//============================================================================= -// -// File : optw_input.cpp -// Creation date : Sat Aug 11 2001 04:25:52 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_input.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviInputLookOptionsWidget::KviInputLookOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("inputlook_options_widget"); - createLayout(); - - addFontSelector(0,0,1,0,__tr2qs_ctx("Font","options"),KviOption_fontInput); - addColorSelector(0,1,1,1,__tr2qs_ctx("Background color","options"),KviOption_colorInputBackground); - addColorSelector(0,2,1,2,__tr2qs_ctx("Foreground color","options"),KviOption_colorInputForeground); - addColorSelector(0,3,1,3,__tr2qs_ctx("Selection background color","options"),KviOption_colorInputSelectionBackground); - addColorSelector(0,4,1,4,__tr2qs_ctx("Selection foreground color","options"),KviOption_colorInputSelectionForeground); - addColorSelector(0,5,1,5,__tr2qs_ctx("Control char color","options"),KviOption_colorInputControl); - addColorSelector(0,6,1,6,__tr2qs_ctx("Cursor color","options"),KviOption_colorInputCursor); - - addPixmapSelector(0,7,1,7,__tr2qs_ctx("Background image","options"),KviOption_pixmapInputBackground); - - addLabel(0,8,0,8,__tr2qs_ctx("Horizontal align:","options")); - m_pHorizontalAlign=new QComboBox(this); - addWidgetToLayout(m_pHorizontalAlign,1,8,1,8); - - addLabel(0,9,0,9,__tr2qs_ctx("Vertical align:","options")); - m_pVerticalAlign=new QComboBox(this); - addWidgetToLayout(m_pVerticalAlign,1,9,1,9); - - m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); - - m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); - - switch( KVI_OPTION_UINT(KviOption_uintInputPixmapAlign) & Qt::AlignHorizontal_Mask) - { - case Qt::AlignLeft: - m_pHorizontalAlign->setCurrentIndex(1); - break; - case Qt::AlignRight: - m_pHorizontalAlign->setCurrentIndex(2); - break; - case Qt::AlignHCenter: - m_pHorizontalAlign->setCurrentIndex(3); - break; - default: - m_pHorizontalAlign->setCurrentIndex(0); - } - - switch( KVI_OPTION_UINT(KviOption_uintInputPixmapAlign) & Qt::AlignVertical_Mask) - { - case Qt::AlignTop: - m_pVerticalAlign->setCurrentIndex(1); - break; - case Qt::AlignBottom: - m_pVerticalAlign->setCurrentIndex(2); - break; - case Qt::AlignVCenter: - m_pVerticalAlign->setCurrentIndex(3); - break; - default: - m_pVerticalAlign->setCurrentIndex(0); - } - - - layout()->setRowStretch(7,1); -} - -KviInputLookOptionsWidget::~KviInputLookOptionsWidget() -{ -} - -void KviInputLookOptionsWidget::commit() -{ - int iFlags=0; - switch(m_pHorizontalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignLeft; - break; - case 2: - iFlags|=Qt::AlignRight; - break; - case 3: - iFlags|=Qt::AlignHCenter; - break; - } - switch(m_pVerticalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignTop; - break; - case 2: - iFlags|=Qt::AlignBottom; - break; - case 3: - iFlags|=Qt::AlignVCenter; - break; - } - - KVI_OPTION_UINT(KviOption_uintInputPixmapAlign)=iFlags; - KviOptionsWidget::commit(); -} - - -KviInputFeaturesOptionsWidget::KviInputFeaturesOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("ircviewfeatures_options_widget"); - createLayout(); - - addBoolSelector(0,0,0,0,__tr2qs_ctx("Warp cursor at the end of line when browsing history","options"),KviOption_boolInputHistoryCursorAtEnd); - addBoolSelector(0,1,0,1,__tr2qs_ctx("Enable the input history logging","options"),KviOption_boolEnableInputHistory); //G&N 2005 - addBoolSelector(0,2,0,2,__tr2qs_ctx("Hide input toolbuttons by default","options"),KviOption_boolHideInputToolButtons); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Commandline in user-friendly mode by default","options"),KviOption_boolCommandlineInUserFriendlyModeByDefault); - addUIntSelector(0,4,0,4,__tr2qs_ctx("Expand tabulations in input using this amount of spaces:","options"),KviOption_uintSpacesToExpandTabulationInput,1,24,8,true); - - KviTalGroupBox * g = addGroupBox(0,5,0,5,Qt::Horizontal,__tr2qs_ctx("Nick completion","options")); - KviBoolSelector * b, *c; - b = addBoolSelector(g,__tr2qs_ctx("Use bash-like nick completion","options"),KviOption_boolBashLikeNickCompletion,!KVI_OPTION_BOOL(KviOption_boolZshLikeNickCompletion)); - c = addBoolSelector(g,__tr2qs_ctx("Use zsh-like nick completion","options"),KviOption_boolZshLikeNickCompletion,!KVI_OPTION_BOOL(KviOption_boolBashLikeNickCompletion)); - connect(b,SIGNAL(toggled(bool)),c,SLOT(setDisabled(bool))); - connect(c,SIGNAL(toggled(bool)),b,SLOT(setDisabled(bool))); - - addStringSelector(g,__tr2qs_ctx("Nick completion postfix string","options"),KviOption_stringNickCompletionPostfix); - addBoolSelector(g,__tr2qs_ctx("Use the completion postfix string for the first word only","options"),KviOption_boolUseNickCompletionPostfixForFirstWordOnly); - addRowSpacer(0,6,0,6); -} - -KviInputFeaturesOptionsWidget::~KviInputFeaturesOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_input.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_input.h b/src/modules/options/optw_input.h deleted file mode 100644 index 71f65549b..000000000 --- a/src/modules/options/optw_input.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _OPTW_INPUT_H_ -#define _OPTW_INPUT_H_ - -//============================================================================= -// -// File : optw_input.h -// Creation date : Sat Aug 11 2001 04:25:01 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviInputLookOptionsWidget KVI_SMALLICON_INPUT -#define KVI_OPTIONS_WIDGET_NAME_KviInputLookOptionsWidget __tr2qs_no_lookup("Input") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviInputLookOptionsWidget __tr2qs_no_lookup("theme,colors,text") -#define KVI_OPTIONS_WIDGET_GROUP_KviInputLookOptionsWidget "theme" - -class KviInputLookOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -private: - QComboBox* m_pHorizontalAlign; - QComboBox* m_pVerticalAlign; -public: - KviInputLookOptionsWidget(QWidget * parent); - ~KviInputLookOptionsWidget(); - - virtual void commit(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviInputFeaturesOptionsWidget KVI_SMALLICON_INPUT -#define KVI_OPTIONS_WIDGET_NAME_KviInputFeaturesOptionsWidget __tr2qs_no_lookup("Input") -#define KVI_OPTIONS_WIDGET_PARENT_KviInputFeaturesOptionsWidget KviInterfaceFeaturesOptionsWidget - -class KviInputFeaturesOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviInputFeaturesOptionsWidget(QWidget * parent); - ~KviInputFeaturesOptionsWidget(); -}; - -#endif //!_OPTW_INPUT_H_ diff --git a/src/modules/options/optw_interfacefeatures.cpp b/src/modules/options/optw_interfacefeatures.cpp deleted file mode 100644 index e7884c502..000000000 --- a/src/modules/options/optw_interfacefeatures.cpp +++ /dev/null @@ -1,91 +0,0 @@ -//============================================================================= -// -// File : optw_interfacefeatures.cpp -// Creation date : Sat Jun 2 2001 14:52:53 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_interfacefeatures.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviApplication.h" -#include "KviFileUtils.h" - -#include -#include - -#include - - -KviInterfaceFeaturesOptionsWidget::KviInterfaceFeaturesOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("interfacefeatures_options_widget"); - createLayout(); - - addBoolSelector(0,0,0,0,__tr2qs_ctx("Minimize on startup","options"),KviOption_boolStartupMinimized); - addBoolSelector(0,1,0,1,__tr2qs_ctx("Confirm quit with active connections","options"),KviOption_boolConfirmCloseWhenThereAreConnections); - addBoolSelector(0,2,0,2,__tr2qs_ctx("Remember window properties","options"),KviOption_boolWindowsRememberProperties); - - QString szSplashDisableFile; - g_pApp->getLocalKvircDirectory(szSplashDisableFile,KviApplication::Pics,"disable-splash." KVI_VERSION); - bool bDisableSplash = KviFileUtils::fileExists(szSplashDisableFile); - m_pDisableSplash = new QCheckBox(__tr2qs_ctx("Disable splash screen","options"),this); - addWidgetToLayout(m_pDisableSplash,0,3,0,3); - m_pDisableSplash->setChecked(bDisableSplash); - - addBoolSelector(0,4,0,4,__tr2qs_ctx("Enable visual effects","options"),KviOption_boolEnableVisualEffects); - addBoolSelector(0,5,0,5,__tr2qs_ctx("Hide Channel window tool buttons by default","options"),KviOption_boolHideWindowToolButtons); - - KviTalGroupBox * g = addGroupBox(0,6,0,6,Qt::Horizontal,__tr2qs_ctx("Open Dialog Window For","options")); - addBoolSelector(g,__tr2qs_ctx("Preferences","options"),KviOption_boolShowGeneralOptionsDialogAsToplevel); - addBoolSelector(g,__tr2qs_ctx("Registered Users","options"),KviOption_boolShowRegisteredUsersDialogAsToplevel); - addBoolSelector(g,__tr2qs_ctx("Identity","options"),KviOption_boolShowIdentityDialogAsToplevel); - addBoolSelector(g,__tr2qs_ctx("Servers","options"),KviOption_boolShowServersConnectDialogAsToplevel); - addBoolSelector(g,__tr2qs_ctx("Join Channels","options"),KviOption_boolShowChannelsJoinDialogAsToplevel); - addRowSpacer(0,7,0,7); -} - -KviInterfaceFeaturesOptionsWidget::~KviInterfaceFeaturesOptionsWidget() -{ -} - -void KviInterfaceFeaturesOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - QString szSplashDisableFile; - g_pApp->getLocalKvircDirectory(szSplashDisableFile,KviApplication::Pics,"disable-splash." KVI_VERSION); - - if(m_pDisableSplash->isChecked()) - { - if(!KviFileUtils::fileExists(szSplashDisableFile)) - KviFileUtils::writeFile(szSplashDisableFile,""); - } else { - if(KviFileUtils::fileExists(szSplashDisableFile)) - KviFileUtils::removeFile(szSplashDisableFile); - } - -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_interfacefeatures.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_interfacefeatures.h b/src/modules/options/optw_interfacefeatures.h deleted file mode 100644 index 5d8ab1293..000000000 --- a/src/modules/options/optw_interfacefeatures.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _OPTW_INTERFACEFEATURES_H_ -#define _OPTW_INTERFACEFEATURES_H_ - -//============================================================================= -// -// File : optw_interfacefeatures.h -// Creation date : Sat Jun 2 2001 14:50:01 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviInterfaceFeaturesOptionsWidget KVI_SMALLICON_IDEA -#define KVI_OPTIONS_WIDGET_NAME_KviInterfaceFeaturesOptionsWidget __tr2qs_no_lookup("Interface") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviInterfaceFeaturesOptionsWidget 50000 - -class KviInterfaceFeaturesOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviInterfaceFeaturesOptionsWidget(QWidget * parent); - ~KviInterfaceFeaturesOptionsWidget(); -protected: - QCheckBox * m_pDisableSplash; -public: - virtual void commit(); -}; - -#endif //!_OPTW_INTERFACEFEATURES_H_ diff --git a/src/modules/options/optw_interfacelookglobal.cpp b/src/modules/options/optw_interfacelookglobal.cpp deleted file mode 100644 index 780adf84f..000000000 --- a/src/modules/options/optw_interfacelookglobal.cpp +++ /dev/null @@ -1,204 +0,0 @@ -//============================================================================= -// -// File : optw_interfacelookglobal.cpp -// Creation date : Sun Jun 3 2001 20:50:13 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_interfacelookglobal.h" - -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviApplication.h" -#include "KviTalToolTip.h" - -#include - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviThemeGeneralOptionsWidget::KviThemeGeneralOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - - KviBoolSelector * b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Use global application font","options"),KviOption_boolUseGlobalApplicationFont); - KviTalToolTip::add(b,__tr2qs_ctx("This option will force a static font for every widget that has no specific font setting","options")); - addBoolSelector(0,0,1,0,__tr2qs_ctx("Show icons in popup menus","options"),KviOption_boolShowIconsInPopupMenus); - KviFontSelector * f = addFontSelector(0,2,1,2,__tr2qs_ctx("Global application font:","options"),KviOption_fontApplication, - KVI_OPTION_BOOL(KviOption_boolUseGlobalApplicationFont)); - - connect(b,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); - - addRowSpacer(0,3,1,3); -} - -KviThemeGeneralOptionsWidget::~KviThemeGeneralOptionsWidget() -{ -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviThemeTransparencyOptionsWidget::KviThemeTransparencyOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ -#ifdef COMPILE_PSEUDO_TRANSPARENCY - - createLayout(); - - KviUIntSelector * u = addUIntSelector(0,0,1,0,__tr2qs_ctx("Global window opacity percent:","options"),KviOption_uintGlobalWindowOpacityPercent, - 50,100,100, true); - - m_pUseTransparencyBoolSelector = addBoolSelector(0,1,1,1,__tr2qs_ctx("Enable transparency","options"),KviOption_boolUseGlobalPseudoTransparency); - #ifdef COMPILE_X11_SUPPORT - mergeTip(m_pUseTransparencyBoolSelector, - __tr2qs_ctx("
This option makes all KVIrc windows look " \ - "transparent.
You must choose a blending " \ - "background image to below or check the " \ - "\"Use compositing for real transparency\" option.
","options")); - #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - mergeTip(m_pUseTransparencyBoolSelector, - __tr2qs_ctx("
This option makes all KVIrc windows look " \ - "transparent.
You must choose a blending " \ - "background image to below or check the " \ - "\"Use desktop background for transparency\" option.
","options")); - #else - mergeTip(m_pUseTransparencyBoolSelector, - __tr2qs_ctx("
This option makes all KVIrc windows look " \ - "like transparent.
You must choose a blending " \ - "background image to below.
","options")); - #endif - - u = addUIntSelector(0,2,1,2,__tr2qs_ctx("Child window opacity:","options"),KviOption_uintGlobalTransparencyChildFadeFactor, - 0,100,35,KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); - connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - u = addUIntSelector(0,3,1,3,__tr2qs_ctx("Parent window opacity:","options"),KviOption_uintGlobalTransparencyParentFadeFactor, - 0,100,10,KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); - connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - KviColorSelector * c = addColorSelector(0,4,1,4,__tr2qs_ctx("Blend color:","options"),KviOption_colorGlobalTransparencyFade, - KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); - connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),c,SLOT(setEnabled(bool))); - - #ifdef COMPILE_X11_SUPPORT - m_pUseCompositingForTransparencyBoolSelector = addBoolSelector(0,5,1,5,__tr2qs_ctx("Use compositing for real transparency","options"),KviOption_boolUseCompositingForTransparency, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); - - m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,6,1,6,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) && !KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency)); - layout()->setRowStretch(7,1); - - if(g_pApp->supportsCompositing()) - { - connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),m_pUseCompositingForTransparencyBoolSelector,SLOT(setEnabled(bool))); - connect(m_pUseCompositingForTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool))); - } else { - m_pUseCompositingForTransparencyBoolSelector->setEnabled(false); - m_pUseCompositingForTransparencyBoolSelector->setChecked(false); - enableGlobalBackgroundPixmapSelector(true); - } - - #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - m_pUseWindowsFakeDesktopTransparencyBoolSelector = addBoolSelector(0,5,1,5,__tr2qs_ctx("Use desktop background for transparency","options"),KviOption_boolUseWindowsDesktopForTransparency, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); - - m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,6,1,6,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) && !KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency)); - layout()->setRowStretch(7,1); - - connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),m_pUseWindowsFakeDesktopTransparencyBoolSelector,SLOT(setEnabled(bool))); - connect(m_pUseWindowsFakeDesktopTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool))); - - #else - m_pGlobalBackgroundPixmapSelector = addPixmapSelector(0,5,1,5,__tr2qs_ctx("Transparency blend image:","options"),KviOption_pixmapGlobalTransparencyBackground, KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)); - layout()->setRowStretch(6,1); - #endif //!COMPILE_X11_SUPPORT - - connect(m_pUseTransparencyBoolSelector,SIGNAL(toggled(bool)),this,SLOT(enableGlobalBackgroundPixmapSelector(bool))); -#else //!COMPILE_PSEUDO_TRANSPARENCY - createLayout(); - addRowSpacer(0,0,0,0); -#endif -} - -KviThemeTransparencyOptionsWidget::~KviThemeTransparencyOptionsWidget() -{ -} - -void KviThemeTransparencyOptionsWidget::enableGlobalBackgroundPixmapSelector(bool) -{ -#ifdef COMPILE_PSEUDO_TRANSPARENCY - #ifdef COMPILE_X11_SUPPORT - m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseCompositingForTransparencyBoolSelector->isChecked())); - #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseWindowsFakeDesktopTransparencyBoolSelector->isChecked())); - #else - m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked()); - #endif -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviThemeMdiAreaOptionsWidget::KviThemeMdiAreaOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - - addColorSelector(0,0,0,0,__tr2qs_ctx("Background","options"),KviOption_colorMdiBackground); - addPixmapSelector(0,1,0,1,__tr2qs_ctx("Background Image","options"),KviOption_pixmapMdiBackground); - - layout()->setRowStretch(1,1); -} - -KviThemeMdiAreaOptionsWidget::~KviThemeMdiAreaOptionsWidget() -{ -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviThemeToolBarAppletsOptionsWidget::KviThemeToolBarAppletsOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - - addFontSelector(0,0,0,0,__tr2qs_ctx("Font","options"),KviOption_fontIrcToolBarApplet); - - addColorSelector(0,1,0,1,__tr2qs_ctx("Background","options"),KviOption_colorIrcToolBarAppletBackground); - addColorSelector(0,2,0,2,__tr2qs_ctx("Low-Contrast Foreground","options"),KviOption_colorIrcToolBarAppletForegroundLowContrast); - addColorSelector(0,3,0,3,__tr2qs_ctx("Mid-Contrast Foreground","options"),KviOption_colorIrcToolBarAppletForegroundMidContrast); - addColorSelector(0,4,0,4,__tr2qs_ctx("Active High-Contrast Foreground (Primary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastActive1); - addColorSelector(0,5,0,5,__tr2qs_ctx("Active High-Contrast Foreground (Secondary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastActive2); - addColorSelector(0,6,0,6,__tr2qs_ctx("Inactive High-Contrast Foreground (Primary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastInactive1); - addColorSelector(0,7,0,7,__tr2qs_ctx("Inactive High-Contrast Foreground (Secondary)","options"),KviOption_colorIrcToolBarAppletForegroundHighContrastInactive2); - - addPixmapSelector(0,8,0,8,__tr2qs_ctx("Background Image","options"),KviOption_pixmapIrcToolBarAppletBackground); - - layout()->setRowStretch(8,1); -} - -KviThemeToolBarAppletsOptionsWidget::~KviThemeToolBarAppletsOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_interfacelookglobal.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_interfacelookglobal.h b/src/modules/options/optw_interfacelookglobal.h deleted file mode 100644 index 773c26e53..000000000 --- a/src/modules/options/optw_interfacelookglobal.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef _OPTW_INTERFACELOOKGLOBAL_H_ -#define _OPTW_INTERFACELOOKGLOBAL_H_ -//============================================================================= -// -// File : optw_interfacelookglobal.h -// Creation date : Sun Jun 3 2001 20:49:02 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "kvi_settings.h" -#include "KviOptionsWidget.h" -#include "KviSelectors.h" - - -#define KVI_OPTIONS_WIDGET_ICON_KviThemeGeneralOptionsWidget KVI_SMALLICON_GUI -#define KVI_OPTIONS_WIDGET_NAME_KviThemeGeneralOptionsWidget __tr2qs_no_lookup("General") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeGeneralOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviThemeGeneralOptionsWidget "theme" - - -class KviThemeGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviThemeGeneralOptionsWidget(QWidget * parent); - ~KviThemeGeneralOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviThemeTransparencyOptionsWidget KVI_SMALLICON_TRANSPARENT -#define KVI_OPTIONS_WIDGET_NAME_KviThemeTransparencyOptionsWidget __tr2qs_no_lookup("Transparency") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeTransparencyOptionsWidget __tr2qs_no_lookup("theme,background") -#define KVI_OPTIONS_WIDGET_GROUP_KviThemeTransparencyOptionsWidget "theme" - - -class KviThemeTransparencyOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviThemeTransparencyOptionsWidget(QWidget * parent); - ~KviThemeTransparencyOptionsWidget(); -protected: -#ifdef COMPILE_PSEUDO_TRANSPARENCY - KviPixmapSelector * m_pGlobalBackgroundPixmapSelector; - KviBoolSelector * m_pUseTransparencyBoolSelector; - #ifdef COMPILE_X11_SUPPORT - KviBoolSelector * m_pUseCompositingForTransparencyBoolSelector; - #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - KviBoolSelector * m_pUseWindowsFakeDesktopTransparencyBoolSelector; - #endif -#endif -protected slots: - void enableGlobalBackgroundPixmapSelector(bool); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviThemeMdiAreaOptionsWidget KVI_SMALLICON_APPLET -#define KVI_OPTIONS_WIDGET_NAME_KviThemeMdiAreaOptionsWidget __tr2qs_no_lookup("Workspace") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeMdiAreaOptionsWidget __tr2qs_no_lookup("theme,mdi") -#define KVI_OPTIONS_WIDGET_GROUP_KviThemeMdiAreaOptionsWidget "theme" - -class KviThemeMdiAreaOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviThemeMdiAreaOptionsWidget(QWidget * parent); - ~KviThemeMdiAreaOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviThemeToolBarAppletsOptionsWidget KVI_SMALLICON_APPLET -#define KVI_OPTIONS_WIDGET_NAME_KviThemeToolBarAppletsOptionsWidget __tr2qs_no_lookup("ToolBar Applets") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviThemeToolBarAppletsOptionsWidget __tr2qs_no_lookup("theme,toolbar") -#define KVI_OPTIONS_WIDGET_GROUP_KviThemeToolBarAppletsOptionsWidget "theme" - - -class KviThemeToolBarAppletsOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviThemeToolBarAppletsOptionsWidget(QWidget * parent); - ~KviThemeToolBarAppletsOptionsWidget(); -}; - -#endif //!_OPTW_INTERFACELOOKGLOBAL_H_ diff --git a/src/modules/options/optw_irc.cpp b/src/modules/options/optw_irc.cpp deleted file mode 100644 index 342a31181..000000000 --- a/src/modules/options/optw_irc.cpp +++ /dev/null @@ -1,88 +0,0 @@ -//============================================================================= -// -// File : optw_irc.cpp -// Creation date : Sun Dec 2 18:59:48 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_irc.h" - -#include "kvi_settings.h" -#include "KviLocale.h" -#include "KviOptions.h" -#include "KviIrcMask.h" - - -KviIrcOptionsWidget::KviIrcOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("irc_options_widget"); -} - -KviIrcOptionsWidget::~KviIrcOptionsWidget() -{ -} - - -KviIrcGeneralOptionsWidget::KviIrcGeneralOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("irc_options_widget"); - createLayout(); - KviBoolSelector *b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Minimize console after successful login","options"),KviOption_boolMinimizeConsoleAfterConnect); - - mergeTip(b,__tr2qs_ctx("
This option will cause KVIrc to minimize the console window after successfully logging into a server.
","options")); - - b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Show network name in console window list entry","options"),KviOption_boolShowNetworkNameForConsoleWindowListEntry); - mergeTip(b,__tr2qs_ctx("
This option will cause KVIrc to show the network name as the console window list entry instead of the server name. This is nice to keep on unless your servers are not organized in networks or you often connect to two servers of the same network.
","options")); - - addRowSpacer(0,2,0,2); -} - -KviIrcGeneralOptionsWidget::~KviIrcGeneralOptionsWidget() -{ -} - - -KviIrcAdvancedOptionsWidget::KviIrcAdvancedOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("irc_advanced_options_widget"); - createLayout(); - KviBoolSelector *b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Force immediate quit","options"),KviOption_boolForceBrutalQuit); - mergeTip(b, - __tr2qs_ctx("
This option causes KVIrc to close " \ - "the connection immediately after sending the QUIT message.
" \ - "When this option is disabled, KVIrc will wait for the server " \ - "to close the connection.
" \ - "Note that if you use this, your QUIT message may be not displayed.
","options")); - addBoolSelector(0,1,0,1,__tr2qs_ctx("Prepend gender info to realname","options"),KviOption_boolPrependGenderInfoToRealname); - addBoolSelector(0,2,0,2,__tr2qs_ctx("Prepend avatar info to realname","options"),KviOption_boolPrependAvatarInfoToRealname); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Prepend smart nick color info to realname","options"),KviOption_boolPrependNickColorInfoToRealname); - addRowSpacer(0,4,0,4); -} - -KviIrcAdvancedOptionsWidget::~KviIrcAdvancedOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_irc.moc" -#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_irc.h b/src/modules/options/optw_irc.h deleted file mode 100644 index 907f8e911..000000000 --- a/src/modules/options/optw_irc.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _OPTW_IRC_H_ -#define _OPTW_IRC_H_ -//============================================================================= -// -// File : optw_irc.h -// Creation date : Sun Dec 2 18:59:49 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcOptionsWidget KVI_SMALLICON_IRC -#define KVI_OPTIONS_WIDGET_NAME_KviIrcOptionsWidget __tr2qs_no_lookup("IRC") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOptionsWidget 80000 -#define KVI_OPTIONS_WIDGET_CONTAINER_KviIrcOptionsWidget true - -class KviIrcOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcOptionsWidget(QWidget * parent); - ~KviIrcOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcGeneralOptionsWidget KVI_SMALLICON_IRC -#define KVI_OPTIONS_WIDGET_NAME_KviIrcGeneralOptionsWidget __tr2qs_no_lookup("General") -#define KVI_OPTIONS_WIDGET_PARENT_KviIrcGeneralOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcGeneralOptionsWidget 80000 - -class KviIrcGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcGeneralOptionsWidget(QWidget * parent); - ~KviIrcGeneralOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcAdvancedOptionsWidget KVI_SMALLICON_IRC -#define KVI_OPTIONS_WIDGET_NAME_KviIrcAdvancedOptionsWidget __tr2qs_no_lookup("Advanced") -#define KVI_OPTIONS_WIDGET_PARENT_KviIrcAdvancedOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcAdvancedOptionsWidget 50000 - -class KviIrcAdvancedOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcAdvancedOptionsWidget(QWidget * parent); - ~KviIrcAdvancedOptionsWidget(); -}; - -#endif //_OPTW_IRC_H_ diff --git a/src/modules/options/optw_ircoutput.cpp b/src/modules/options/optw_ircoutput.cpp deleted file mode 100644 index a02657cbc..000000000 --- a/src/modules/options/optw_ircoutput.cpp +++ /dev/null @@ -1,111 +0,0 @@ -//============================================================================= -// -// File : optw_ircoutput.cpp -// Creation date : Wed Nov 15 2000 11:45:06 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================= - -#include "optw_ircoutput.h" - -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviTalToolTip.h" - -#include -#include -#include - - -KviIrcOutputOptionsWidget::KviIrcOutputOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ - setObjectName("ircoutput_options_widget"); - createLayout(); - - QLabel * pLabel = new QLabel(__tr2qs_ctx("Output verbosity","options"),this); - addWidgetToLayout(pLabel,0,0,0,0); - - m_pVerbosityCombo = new QComboBox(this); - m_pVerbosityCombo->addItem(__tr2qs_ctx("Mute","options")); - m_pVerbosityCombo->addItem(__tr2qs_ctx("Quiet","options")); - m_pVerbosityCombo->addItem(__tr2qs_ctx("Normal","options")); - m_pVerbosityCombo->addItem(__tr2qs_ctx("Verbose","options")); - m_pVerbosityCombo->addItem(__tr2qs_ctx("Paranoic","options")); - addWidgetToLayout(m_pVerbosityCombo,1,0,1,0); - - if(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) > KVI_VERBOSITY_LEVEL_PARANOIC) - KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) = KVI_VERBOSITY_LEVEL_NORMAL; - m_pVerbosityCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel)); - - pLabel = new QLabel(__tr2qs_ctx("Datetime format","options"),this); - addWidgetToLayout(pLabel,0,1,0,1); - - m_pDatetimeCombo = new QComboBox(this); - m_pDatetimeCombo->addItem(__tr2qs_ctx("Classic format","options")); - m_pDatetimeCombo->addItem(__tr2qs_ctx("ISO 8601 format","options")); - m_pDatetimeCombo->addItem(__tr2qs_ctx("System locale format","options")); - addWidgetToLayout(m_pDatetimeCombo,1,1,1,1); - - m_pDatetimeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintOutputDatetimeFormat)); - - KviTalGroupBox * pGroup = addGroupBox(0,2,1,2,Qt::Horizontal,__tr2qs_ctx("Show in active window","options")); - addBoolSelector(pGroup,__tr2qs_ctx("External messages","options"),KviOption_boolExternalMessagesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("External CTCP replies","options"),KviOption_boolCtcpRepliesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("Whois replies","options"),KviOption_boolWhoisRepliesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("ChanServ and NickServ notices","options"),KviOption_boolServicesNoticesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("Invite messages","options"),KviOption_boolInvitesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("Server replies","options"),KviOption_boolServerRepliesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("Server notices","options"),KviOption_boolServerNoticesToActiveWindow); - addBoolSelector(pGroup,__tr2qs_ctx("Broadcast and WALLOPS messages","options"),KviOption_boolOperatorMessagesToActiveWindow); -// if(KVI_OPTION_UINT(KviOption_uintUserExperienceLevel)>=2) -// { - addBoolSelector(0,3,1,3,__tr2qs_ctx("Show extended server information","options"),KviOption_boolShowExtendedServerInfo); - addBoolSelector(0,4,1,4,__tr2qs_ctx("Show server pings","options"),KviOption_boolShowPingPong); - addBoolSelector(0,5,1,5,__tr2qs_ctx("Show own parts in the console","options"),KviOption_boolShowOwnParts); - addBoolSelector(0,6,1,6,__tr2qs_ctx("Show compact mode changes","options"),KviOption_boolShowCompactModeChanges); - - addRowSpacer(0,7,1,7); -// } else { -// addRowSpacer(0,2,1,2); -// } -} - -KviIrcOutputOptionsWidget::~KviIrcOutputOptionsWidget() -{ -} - -void KviIrcOutputOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - int iIdx = m_pVerbosityCombo->currentIndex(); - if((iIdx < 0) || (iIdx > KVI_VERBOSITY_LEVEL_PARANOIC)) - { - iIdx = KVI_VERBOSITY_LEVEL_NORMAL; - } - KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) = iIdx; - - KVI_OPTION_UINT(KviOption_uintOutputDatetimeFormat) = m_pDatetimeCombo->currentIndex(); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_ircoutput.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_ircoutput.h b/src/modules/options/optw_ircoutput.h deleted file mode 100644 index b878c709c..000000000 --- a/src/modules/options/optw_ircoutput.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef _OPTW_IRCOUTPUT_H_ -#define _OPTW_IRCOUTPUT_H_ -//============================================================================= -// -// File : optw_ircoutput.h -// Creation date : Wed Nov 15 2000 11:47:51 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - - -class QComboBox; - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcOutputOptionsWidget KVI_SMALLICON_RAW -#define KVI_OPTIONS_WIDGET_NAME_KviIrcOutputOptionsWidget __tr2qs_no_lookup("Verbosity And Output") -#define KVI_OPTIONS_WIDGET_PARENT_KviIrcOutputOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcOutputOptionsWidget __tr2qs_no_lookup("debug") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcOutputOptionsWidget 75000 - -class KviIrcOutputOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcOutputOptionsWidget(QWidget * parent); - ~KviIrcOutputOptionsWidget(); -protected: - QComboBox * m_pVerbosityCombo; - QComboBox * m_pDatetimeCombo; -protected: - virtual void commit(); -}; - -#endif //!_OPTW_IRCOUTPUT_H_ diff --git a/src/modules/options/optw_ircview.cpp b/src/modules/options/optw_ircview.cpp deleted file mode 100644 index 34ef1e2e8..000000000 --- a/src/modules/options/optw_ircview.cpp +++ /dev/null @@ -1,221 +0,0 @@ -//============================================================================= -// -// File : optw_ircview.cpp -// Creation date : Sat Aug 11 2001 03:29:52 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) -// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) -// -// 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. -// -//============================================================================= - -#include "optw_ircview.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviIrcViewThemeOptionsWidget::KviIrcViewThemeOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ -} - -KviIrcViewThemeOptionsWidget::~KviIrcViewThemeOptionsWidget() -{ -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviIrcViewLookOptionsWidget::KviIrcViewLookOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - - setObjectName("ircviewlook_options_widget"); - - addFontSelector(0,0,1,0,__tr2qs_ctx("Font:","options"),KviOption_fontIrcView); - addColorSelector(0,1,1,1,__tr2qs_ctx("Background color:","options"),KviOption_colorIrcViewBackground); - - addPixmapSelector(0,2,1,2,__tr2qs_ctx("Background image:","options"),KviOption_pixmapIrcViewBackground); - - addLabel(0,3,0,3,__tr2qs_ctx("Horizontal align:","options")); - m_pHorizontalAlign=new QComboBox(this); - addWidgetToLayout(m_pHorizontalAlign,1,3,1,3); - - addLabel(0,4,0,4,__tr2qs_ctx("Vertical align:","options")); - m_pVerticalAlign=new QComboBox(this); - addWidgetToLayout(m_pVerticalAlign,1,4,1,4); - - m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); - - m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); - - switch( KVI_OPTION_UINT(KviOption_uintIrcViewPixmapAlign) & Qt::AlignHorizontal_Mask) - { - case Qt::AlignLeft: - m_pHorizontalAlign->setCurrentIndex(1); - break; - case Qt::AlignRight: - m_pHorizontalAlign->setCurrentIndex(2); - break; - case Qt::AlignHCenter: - m_pHorizontalAlign->setCurrentIndex(3); - break; - default: - m_pHorizontalAlign->setCurrentIndex(0); - } - - switch( KVI_OPTION_UINT(KviOption_uintIrcViewPixmapAlign) & Qt::AlignVertical_Mask) - { - case Qt::AlignTop: - m_pVerticalAlign->setCurrentIndex(1); - break; - case Qt::AlignBottom: - m_pVerticalAlign->setCurrentIndex(2); - break; - case Qt::AlignVCenter: - m_pVerticalAlign->setCurrentIndex(3); - break; - default: - m_pVerticalAlign->setCurrentIndex(0); - } - - layout()->setRowStretch(2,1); -} - -KviIrcViewLookOptionsWidget::~KviIrcViewLookOptionsWidget() -{ -} - -void KviIrcViewLookOptionsWidget::commit() -{ - int iFlags=0; - switch(m_pHorizontalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignLeft; - break; - case 2: - iFlags|=Qt::AlignRight; - break; - case 3: - iFlags|=Qt::AlignHCenter; - break; - } - switch(m_pVerticalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignTop; - break; - case 2: - iFlags|=Qt::AlignBottom; - break; - case 3: - iFlags|=Qt::AlignVCenter; - break; - } - - KVI_OPTION_UINT(KviOption_uintIrcViewPixmapAlign)=iFlags; - KviOptionsWidget::commit(); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviIrcViewFeaturesOptionsWidget::KviIrcViewFeaturesOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - - setObjectName("ircviewfeatures_options_widget"); - - addBoolSelector(0,7,0,7,__tr2qs_ctx("Enable URL highlighting","options"),KviOption_boolIrcViewUrlHighlighting); - addBoolSelector(0,8,0,8,__tr2qs_ctx("Use line wrap margin","options"),KviOption_boolIrcViewWrapMargin); - KviUIntSelector * s = addUIntSelector(0,9,0,9,__tr2qs_ctx("Maximum buffer size:","options"),KviOption_uintIrcViewMaxBufferSize,32,32767,2048); - s->setSuffix(__tr2qs_ctx(" lines","options")); - s = addUIntSelector(0,10,0,10,__tr2qs_ctx("Link tooltip show delay:","options"),KviOption_uintIrcViewToolTipTimeoutInMsec,256,10000,1800); - s->setSuffix(__tr2qs_ctx(" msec","options")); - s = addUIntSelector(0,11,0,11,__tr2qs_ctx("Link tooltip hide delay:","options"),KviOption_uintIrcViewToolTipHideTimeoutInMsec,256,10000,12000); - s->setSuffix(__tr2qs_ctx(" msec","options")); - addBoolSelector(0,12,0,12,__tr2qs_ctx("Enable animated smiles","options"),KviOption_boolEnableAnimatedSmiles); - - KviTalGroupBox * pGroup = addGroupBox(0,13,0,13,Qt::Horizontal,__tr2qs_ctx("Enable tooltips for:","options")); - addBoolSelector(pGroup,__tr2qs_ctx("Url links","options"),KviOption_boolEnableUrlLinkToolTip); - addBoolSelector(pGroup,__tr2qs_ctx("Host links","options"),KviOption_boolEnableHostLinkToolTip); - addBoolSelector(pGroup,__tr2qs_ctx("Server links","options"),KviOption_boolEnableServerLinkToolTip); - addBoolSelector(pGroup,__tr2qs_ctx("Mode links","options"),KviOption_boolEnableModeLinkToolTip); - addBoolSelector(pGroup,__tr2qs_ctx("Nick links","options"),KviOption_boolEnableNickLinkToolTip); - addBoolSelector(pGroup,__tr2qs_ctx("Channel links","options"),KviOption_boolEnableChannelLinkToolTip); - addBoolSelector(pGroup,__tr2qs_ctx("Escape sequences","options"),KviOption_boolEnableEscapeLinkToolTip); - - addRowSpacer(0,14,0,14); -} - -KviIrcViewFeaturesOptionsWidget::~KviIrcViewFeaturesOptionsWidget() -{ -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviIrcViewMarkerOptionsWidget::KviIrcViewMarkerOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - - setObjectName("ircviewmarker_options_widget"); - - addBoolSelector(0,0,1,0,__tr2qs_ctx("Track last read text line","options"),KviOption_boolTrackLastReadTextViewLine); - addColorSelector(0,1,1,1,__tr2qs_ctx("Marker color:","options"),KviOption_colorIrcViewMarkLine); - - KviUIntSelector * s = addUIntSelector(0,2,1,2,__tr2qs_ctx("Marker size:","options"),KviOption_uintIrcViewMarkerSize,1,5,1); - s->setSuffix(__tr2qs_ctx(" pixels","options")); - - addLabel(0,3,0,3,__tr2qs_ctx("Marker style:","options")); - m_pMarkerStyle=new QComboBox(this); - addWidgetToLayout(m_pMarkerStyle,1,3,1,3); - - addRowSpacer(0,4,0,4); - - m_pMarkerStyle->addItem(__tr2qs_ctx("DotLine","options")); - m_pMarkerStyle->addItem(__tr2qs_ctx("DashLine","options")); - m_pMarkerStyle->addItem(__tr2qs_ctx("SolidLine","options")); - m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotLine","options")); - m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotDotLine","options")); - - unsigned int uStyle=KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle); - m_pMarkerStyle->setCurrentIndex(uStyle < 5 ? uStyle : 0); -} - -KviIrcViewMarkerOptionsWidget::~KviIrcViewMarkerOptionsWidget() -{ -} - -void KviIrcViewMarkerOptionsWidget::commit() -{ - KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle)=m_pMarkerStyle->currentIndex(); - KviOptionsWidget::commit(); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_ircview.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_ircview.h b/src/modules/options/optw_ircview.h deleted file mode 100644 index 4fda1ad31..000000000 --- a/src/modules/options/optw_ircview.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef _OPTW_IRCVIEW_H_ -#define _OPTW_IRCVIEW_H_ - -//============================================================================= -// -// File : optw_ircview.h -// Creation date : Sat Aug 11 2001 03:28:19 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) -// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org) -// -// 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. -// -//============================================================================= - - -#include "KviOptionsWidget.h" - -#include - - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewThemeOptionsWidget KVI_SMALLICON_IRCVIEW -#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewThemeOptionsWidget __tr2qs_no_lookup("Output") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewThemeOptionsWidget __tr2qs_no_lookup("theme,colors,output") -#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewThemeOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_CONTAINER_KviIrcViewThemeOptionsWidget true - -class KviIrcViewThemeOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcViewThemeOptionsWidget(QWidget * pParent); - ~KviIrcViewThemeOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewLookOptionsWidget KVI_SMALLICON_IRCVIEW -#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewLookOptionsWidget __tr2qs_no_lookup("Look") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcViewLookOptionsWidget __tr2qs_no_lookup("theme,colors,output") -#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewLookOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewLookOptionsWidget KviIrcViewThemeOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewLookOptionsWidget 30 - -class KviIrcViewLookOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -private: - QComboBox * m_pHorizontalAlign; - QComboBox * m_pVerticalAlign; -public: - KviIrcViewLookOptionsWidget(QWidget * parent); - ~KviIrcViewLookOptionsWidget(); -public: - virtual void commit(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewFeaturesOptionsWidget KVI_SMALLICON_IRCVIEW -#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewFeaturesOptionsWidget __tr2qs_no_lookup("Features") -#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewFeaturesOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewFeaturesOptionsWidget KviIrcViewThemeOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewFeaturesOptionsWidget 20 - -class KviIrcViewFeaturesOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcViewFeaturesOptionsWidget(QWidget * parent); - ~KviIrcViewFeaturesOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcViewMarkerOptionsWidget KVI_SMALLICON_IRCVIEW -#define KVI_OPTIONS_WIDGET_NAME_KviIrcViewMarkerOptionsWidget __tr2qs_no_lookup("Marker") -#define KVI_OPTIONS_WIDGET_GROUP_KviIrcViewMarkerOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviIrcViewMarkerOptionsWidget KviIrcViewThemeOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcViewMarkerOptionsWidget 10 - -class KviIrcViewMarkerOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcViewMarkerOptionsWidget(QWidget * pParent); - ~KviIrcViewMarkerOptionsWidget(); - virtual void commit(); -private: - QComboBox * m_pMarkerStyle; -}; - - -#endif //!_OPTW_IRCVIEW_H_ diff --git a/src/modules/options/optw_lag.cpp b/src/modules/options/optw_lag.cpp deleted file mode 100644 index fe7dbe617..000000000 --- a/src/modules/options/optw_lag.cpp +++ /dev/null @@ -1,80 +0,0 @@ -//============================================================================= -// -// File : optw_lag.cpp -// Creation date : Wed Cct 16 10:45:54 CEST 2002 by Juanjo Ãlvarez (juanjux@yahoo.es) -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002 Juanjo Ãlvarez -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "optw_lag.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviTalToolTip.h" - -#include - - -KviLagOptionsWidget::KviLagOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("lag_options_widget"); - createLayout(); - - KviBoolSelector * pUse = addBoolSelector(0,0,0,0, __tr2qs_ctx("Enable lag meter","options"), KviOption_boolUseLagMeterEngine); - mergeTip(pUse,__tr2qs_ctx("
This enables the lag meter engine, which checks at regular intervals how much lag (latency) the server has.
","options")); - KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Configuration","options"),KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); - KviUIntSelector * pInterval = addUIntSelector(g, __tr2qs_ctx("Lag meter heartbeat:","options"),KviOption_uintLagMeterHeartbeat,2000,10000,5000,KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); - pInterval->setSuffix(__tr2qs_ctx(" msec","options")); - mergeTip(pInterval, - __tr2qs_ctx("
This option allows you to set the lag meter heartbeat interval.
" \ - "The lower the heartbeat interval the higher will be the accuracy of the lag check " \ - "but also higher cpu usage and data traffic to the server.
" \ - "Please note that this is NOT the interval between pings sent to the server: " \ - "the pings (if any) will be sent really less often. " \ - "5000 is a reasonable value.
","options")); - connect(pUse,SIGNAL(toggled(bool)),pInterval,SLOT(setEnabled(bool))); - - KviUIntSelector * pAlarm = addUIntSelector(g, __tr2qs_ctx("Trigger event if lag exceeds:","options"), KviOption_uintLagAlarmTime,5000,1000000,30000, KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); - pAlarm->setSuffix(__tr2qs_ctx(" msec","options")); - mergeTip(pAlarm,__tr2qs_ctx("
This option controls the threshold for the " \ - "OnLagAlarmTimeUp and OnLagAlarmTimeDown events. When the lag goes above " \ - "the threshold OnLagAlarmTimeUp will be triggered and when the lag falls " \ - "back below the threshold then OnLagAlarmTimeDown will be triggered
","options")); - connect(pUse,SIGNAL(toggled(bool)),pAlarm,SLOT(setEnabled(bool))); - - KviBoolSelector * pShow = addBoolSelector(g, __tr2qs_ctx("Show lag in IRC context display","options"), KviOption_boolShowLagOnContextDisplay, KVI_OPTION_BOOL(KviOption_boolUseLagMeterEngine)); - mergeTip(pShow,__tr2qs_ctx("
This makes the IRC context display applet show the current lag after the user's nickname (in seconds)
","options")); - - connect(pUse,SIGNAL(toggled(bool)),pShow,SLOT(setEnabled(bool))); - connect(pUse,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); - - addRowSpacer(0,2,0,2); - -} - -KviLagOptionsWidget::~KviLagOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_lag.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_lag.h b/src/modules/options/optw_lag.h deleted file mode 100644 index 7577d69c6..000000000 --- a/src/modules/options/optw_lag.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _OPTW_LAG_H_ -#define _OPTW_LAG_H_ -//============================================================================= -// -// File : optw_lag.h -// Creation date : Wed Cct 16 10:45:54 CEST 2002 by Juanjo Álvarez (juanjux@yahoo.es) -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002 Juanjo Álvarez -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviLagOptionsWidget KVI_SMALLICON_STATS -#define KVI_OPTIONS_WIDGET_NAME_KviLagOptionsWidget __tr2qs_no_lookup("Lag") -#define KVI_OPTIONS_WIDGET_PARENT_KviLagOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviLagOptionsWidget __tr2qs_no_lookup("time,ping") - -class KviLagOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviLagOptionsWidget(QWidget * parent); - ~KviLagOptionsWidget(); -}; - -#endif //_OPTW_LAG_H_ diff --git a/src/modules/options/optw_logging.cpp b/src/modules/options/optw_logging.cpp deleted file mode 100644 index 57788bd16..000000000 --- a/src/modules/options/optw_logging.cpp +++ /dev/null @@ -1,70 +0,0 @@ -//============================================================================= -// -// File : optw_logging.cpp -// Creation date : Mon Oct 29 15:37:16 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_logging.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - - -KviLoggingOptionsWidget::KviLoggingOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("logging_options_widget"); - - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Automatically Log","options")); - addBoolSelector(g,__tr2qs_ctx("Query windows","options"),KviOption_boolAutoLogQueries); - addBoolSelector(g,__tr2qs_ctx("Channel windows","options"),KviOption_boolAutoLogChannels); - addBoolSelector(g,__tr2qs_ctx("DCC Chat windows","options"),KviOption_boolAutoLogDccChat); - addBoolSelector(g,__tr2qs_ctx("Console windows","options"),KviOption_boolAutoLogConsole); - - addDirectorySelector(0,1,0,1,__tr2qs_ctx("Save logs to folder:","options"),KviOption_stringLogsPath); - addBoolSelector(0,2,0,2,__tr2qs_ctx("Strip message type numbers in logs","options"),KviOption_boolStripMsgTypeInLogs); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Strip colors in logs","options"),KviOption_boolStripControlCodesInLogs); - KviUIntSelector* us = addUIntSelector(0,4,0,4,__tr2qs_ctx("Auto flush logs every","options"),KviOption_uintAutoFlushLogs,0,99999,0); - us->setSuffix(__tr2qs_ctx(" min","options")); - mergeTip(us, - __tr2qs_ctx("
Save logs with the current interval
" \ - "Set to 0 to disable this feature
","options")); - -#ifdef COMPILE_ZLIB_SUPPORT - addBoolSelector(0,5,0,5,__tr2qs_ctx("Gzip logs","options"),KviOption_boolGzipLogs); -#endif - - addRowSpacer(0,6,0,6); -} - -KviLoggingOptionsWidget::~KviLoggingOptionsWidget() -{ -} - - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_logging.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_logging.h b/src/modules/options/optw_logging.h deleted file mode 100644 index 22a13bab6..000000000 --- a/src/modules/options/optw_logging.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _OPTW_LOGGING_H_ -#define _OPTW_LOGGING_H_ -//============================================================================= -// -// File : optw_logging.h -// Creation date : Mon Oct 29 15:37:18 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviLoggingOptionsWidget KVI_SMALLICON_LOG -#define KVI_OPTIONS_WIDGET_NAME_KviLoggingOptionsWidget __tr2qs_no_lookup("Logging") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviLoggingOptionsWidget __tr2qs_no_lookup("save,output") -#define KVI_OPTIONS_WIDGET_PARENT_KviLoggingOptionsWidget KviToolsOptionsWidget - -//noway #define KVI_OPTIONS_WIDGET_NO_PARENT_KviLoggingOptionsWidget KviIrcOptionsWidget - -class KviLoggingOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviLoggingOptionsWidget(QWidget * parent); - ~KviLoggingOptionsWidget(); -}; - -#endif //_OPTW_LOGGING_H_ diff --git a/src/modules/options/optw_mediatypes.cpp b/src/modules/options/optw_mediatypes.cpp deleted file mode 100644 index afe5fa4b6..000000000 --- a/src/modules/options/optw_mediatypes.cpp +++ /dev/null @@ -1,265 +0,0 @@ -//============================================================================= -// -// File : optw_mediatypes.cpp -// Creation date : Sat Jan 20 2001 16:14:53 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001 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. -// -//============================================================================= - -#include "optw_mediatypes.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviTalToolTip.h" - -#include -#include - -// KviApplication.cpp -extern KVIRC_API KviMediaManager * g_pMediaManager; - -static void copyMediaType(KviMediaType * dst,const KviMediaType * src) -{ - dst->szFileMask = src->szFileMask; - dst->szIanaType = src->szIanaType; - dst->szDescription = src->szDescription; - dst->szMagicBytes = src->szMagicBytes; - dst->szSavePath = src->szSavePath; - dst->szCommandline = src->szCommandline; - dst->szRemoteExecCommandline = src->szRemoteExecCommandline; - dst->szIcon = src->szIcon; -} - -KviMediaTypeTreeWidgetItem::KviMediaTypeTreeWidgetItem(QTreeWidget * w,KviMediaType * t) -: QTreeWidgetItem(w) -{ - copyData(t); -} - -KviMediaTypeTreeWidgetItem::~KviMediaTypeTreeWidgetItem() -{ -} - -void KviMediaTypeTreeWidgetItem::copyData(KviMediaType * t) -{ - copyMediaType(&m_data,t); - setText(0,m_data.szFileMask.ptr()); - setText(1,m_data.szIanaType.ptr()); - setText(2,m_data.szDescription.ptr()); -} - -KviMediaTypesOptionsWidget::KviMediaTypesOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("mediatypes_options_widget"); - - createLayout(); - - m_pTreeWidget = new QTreeWidget(this); - m_pTreeWidget->setColumnCount(3); - QStringList columnLabels; - columnLabels.append(__tr2qs_ctx("Pattern","options")); - columnLabels.append(__tr2qs_ctx("MIME Type","options")); - columnLabels.append(__tr2qs_ctx("Description","options")); - m_pTreeWidget->setHeaderLabels(columnLabels); - m_pTreeWidget->setAllColumnsShowFocus(true); - m_pTreeWidget->setRootIsDecorated(false); - connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); - - layout()->addWidget(m_pTreeWidget,0,0,1,3); - - QLabel * l = new QLabel(__tr2qs_ctx("Description:","options"),this); - layout()->addWidget(l,1,0); - m_pDescription = new QLineEdit(this); - layout()->addWidget(m_pDescription,1,1,1,2); - - l = new QLabel(__tr2qs_ctx("MIME type:","options"),this); - layout()->addWidget(l,2,0); - m_pIanaType = new QLineEdit(this); - layout()->addWidget(m_pIanaType,2,1,1,2); - - l = new QLabel(__tr2qs_ctx("File pattern:","options"),this); - layout()->addWidget(l,3,0); - m_pFileMask = new QLineEdit(this); - layout()->addWidget(m_pFileMask,3,1,1,2); - - l = new QLabel(__tr2qs_ctx("Magic bytes:","options"),this); - layout()->addWidget(l,4,0); - m_pMagicBytes = new QLineEdit(this); - layout()->addWidget(m_pMagicBytes,4,1,1,2); - - l = new QLabel(__tr2qs_ctx("Save path:","options"),this); - layout()->addWidget(l,5,0); - m_pSavePath = new QLineEdit(this); - layout()->addWidget(m_pSavePath,5,1,1,2); - - l = new QLabel(__tr2qs_ctx("Local open command:","options"),this); - layout()->addWidget(l,6,0); - m_pCommandline = new QLineEdit(this); - layout()->addWidget(m_pCommandline,6,1,1,2); - mergeTip(m_pCommandline,__tr2qs_ctx("
This field contains the command to execute to open a local file.
" \ - "$0 is used in place of the filename
","options")); - - l = new QLabel(__tr2qs_ctx("Remote open command:","options"),this); - layout()->addWidget(l,7,0); - m_pRemoteExecCommandline = new QLineEdit(this); - layout()->addWidget(m_pRemoteExecCommandline,7,1,1,2); - mergeTip(m_pRemoteExecCommandline,__tr2qs_ctx("
This field contains the command to execute when automatically opening a received file.
" \ - "$0 is used in place of the filename
","options")); - - l = new QLabel(__tr2qs_ctx("Icon","options"),this); - layout()->addWidget(l,8,0); - m_pIcon = new QLineEdit(this); - layout()->addWidget(m_pIcon,8,1,1,2); - - QFrame * f = new QFrame(this); - f->setFrameStyle(QFrame::Sunken | QFrame::HLine); - layout()->addWidget(f,9,0,1,3); - - QPushButton * b = new QPushButton(__tr2qs_ctx("&New","options"),this); - connect(b,SIGNAL(clicked()),this,SLOT(newMediaType())); - layout()->addWidget(b,10,1); - - m_pDelete = new QPushButton(__tr2qs_ctx("Re&move","options"),this); - connect(m_pDelete,SIGNAL(clicked()),this,SLOT(delMediaType())); - layout()->addWidget(m_pDelete,10,2); - - layout()->setColumnStretch(1,1); - layout()->setColumnStretch(2,1); - layout()->setRowStretch(0,1); - - m_pLastItem = 0; - - fillTreeWidget(); -} - -KviMediaTypesOptionsWidget::~KviMediaTypesOptionsWidget() -{ -} - -void KviMediaTypesOptionsWidget::fillTreeWidget() -{ - m_pTreeWidget->clear(); - g_pMediaManager->lock(); - KviPointerList * l = g_pMediaManager->mediaTypeList(); - - for(KviMediaType * t = l->first();t;t = l->next()) - new KviMediaTypeTreeWidgetItem(m_pTreeWidget,t); - - g_pMediaManager->unlock(); - enableOrDisable(); -} - -void KviMediaTypesOptionsWidget::saveLastItem() -{ - if(m_pLastItem) - { - KviMediaType t; - t.szDescription = m_pDescription->text(); - t.szIanaType = m_pIanaType->text(); - t.szFileMask = m_pFileMask->text(); - t.szSavePath = m_pSavePath->text(); - t.szCommandline = m_pCommandline->text(); - t.szMagicBytes = m_pMagicBytes->text(); - t.szRemoteExecCommandline = m_pRemoteExecCommandline->text(); - t.szIcon = m_pIcon->text(); - - if(t.szDescription.isEmpty())t.szDescription = __tr2qs_ctx("[Unknown Media Type]","options"); - - m_pLastItem->copyData(&t); - } -} - -void KviMediaTypesOptionsWidget::enableOrDisable() -{ - m_pDescription->setEnabled(m_pLastItem); - m_pIanaType->setEnabled(m_pLastItem); - m_pFileMask->setEnabled(m_pLastItem); - m_pSavePath->setEnabled(m_pLastItem); - m_pCommandline->setEnabled(m_pLastItem); - m_pMagicBytes->setEnabled(m_pLastItem); - m_pRemoteExecCommandline->setEnabled(m_pLastItem); - m_pDelete->setEnabled(m_pLastItem); - m_pIcon->setEnabled(m_pLastItem); -} - -void KviMediaTypesOptionsWidget::setLineEdits() -{ - m_pDescription->setText(m_pLastItem ? m_pLastItem->mydata()->szDescription.ptr() : ""); - m_pIanaType->setText(m_pLastItem ? m_pLastItem->mydata()->szIanaType.ptr() : ""); - m_pFileMask->setText(m_pLastItem ? m_pLastItem->mydata()->szFileMask.ptr() : ""); - m_pSavePath->setText(m_pLastItem ? m_pLastItem->mydata()->szSavePath.ptr() : ""); - m_pCommandline->setText(m_pLastItem ? m_pLastItem->mydata()->szCommandline.ptr() : ""); - m_pMagicBytes->setText(m_pLastItem ? m_pLastItem->mydata()->szMagicBytes.ptr() : ""); - m_pRemoteExecCommandline->setText(m_pLastItem ? m_pLastItem->mydata()->szRemoteExecCommandline.ptr() : ""); - m_pIcon->setText(m_pLastItem ? m_pLastItem->mydata()->szIcon.ptr() : ""); -} - -void KviMediaTypesOptionsWidget::currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *) -{ - saveLastItem(); - m_pLastItem = (KviMediaTypeTreeWidgetItem *)it; - if(it) - { - if(!it->isSelected())it->setSelected(true); - } - setLineEdits(); - enableOrDisable(); -} - -void KviMediaTypesOptionsWidget::newMediaType() -{ - KviMediaType empty; - empty.szDescription = __tr2qs_ctx("New Media Type","options"); - KviMediaTypeTreeWidgetItem * it = new KviMediaTypeTreeWidgetItem(m_pTreeWidget,&empty); - m_pTreeWidget->setCurrentItem(it); - it->setSelected(true); -} - -void KviMediaTypesOptionsWidget::delMediaType() -{ - if(m_pLastItem) - { - KviMediaTypeTreeWidgetItem * it = m_pLastItem; - m_pLastItem = 0; - delete it; - } -} - -void KviMediaTypesOptionsWidget::commit() -{ - saveLastItem(); - KviMediaTypeTreeWidgetItem * it;// = (KviMediaTypeTreeWidgetItem *)m_pTreeWidget->firstChild(); - g_pMediaManager->lock(); - g_pMediaManager->clear(); - //while(it) - for(int i=0;itopLevelItemCount();i++) - { - it=(KviMediaTypeTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); - KviMediaType * t = new KviMediaType; - copyMediaType(t,it->mydata()); - g_pMediaManager->insertMediaType(t); - // it = (KviMediaTypeTreeWidgetItem *)it->nextSibling(); - } - g_pMediaManager->unlock(); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_mediatypes.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_mediatypes.h b/src/modules/options/optw_mediatypes.h deleted file mode 100644 index 08a96fabd..000000000 --- a/src/modules/options/optw_mediatypes.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _OPTW_MEDIATYPES_H_ -#define _OPTW_MEDIATYPES_H_ -//============================================================================= -// -// File : optw_mediatypes.h -// Creation date : Sat Jan 20 2001 16:12:10 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include "KviMediaManager.h" -#include - -#include -#include - - -class KviMediaTypeTreeWidgetItem : public QTreeWidgetItem -{ -public: - KviMediaTypeTreeWidgetItem(QTreeWidget * w,KviMediaType * t); - ~KviMediaTypeTreeWidgetItem(); -private: - KviMediaType m_data; -public: - void copyData(KviMediaType * t); - const KviMediaType * mydata(){ return &m_data; }; -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviMediaTypesOptionsWidget KVI_SMALLICON_FILE -#define KVI_OPTIONS_WIDGET_NAME_KviMediaTypesOptionsWidget __tr2qs_no_lookup("Media Types") -#define KVI_OPTIONS_WIDGET_PARENT_KviMediaTypesOptionsWidget KviGeneralOptOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMediaTypesOptionsWidget __tr2qs_no_lookup("file,audio,video,programs") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviMediaTypesOptionsWidget 60000 -//#define KVI_OPTIONS_WIDGET_HIDDEN_KviMediaTypesOptionsWidget true - -class KviMediaTypesOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviMediaTypesOptionsWidget(QWidget * parent); - ~KviMediaTypesOptionsWidget(); -private: - QTreeWidget * m_pTreeWidget; - QLineEdit * m_pDescription; - QLineEdit * m_pIanaType; - QLineEdit * m_pFileMask; - QLineEdit * m_pSavePath; - QLineEdit * m_pCommandline; - QLineEdit * m_pMagicBytes; - QLineEdit * m_pRemoteExecCommandline; - QLineEdit * m_pIcon; - QPushButton * m_pDelete; - KviMediaTypeTreeWidgetItem * m_pLastItem; -private: - void fillTreeWidget(); - void saveLastItem(); - void enableOrDisable(); - void setLineEdits(); -private slots: - void currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *prev); - void newMediaType(); - void delMediaType(); -public: - virtual void commit(); -}; - -#endif //!_OPTW_IDENTITY_H_ diff --git a/src/modules/options/optw_messages.cpp b/src/modules/options/optw_messages.cpp deleted file mode 100644 index 576bde517..000000000 --- a/src/modules/options/optw_messages.cpp +++ /dev/null @@ -1,656 +0,0 @@ -//============================================================================= -// -// File : optw_messages.cpp -// Creation date : Sat Aug 11 2001 18:12:00 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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 _WANT_OPTION_FLAGS_ - -#include "optw_messages.h" - -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviApplication.h" -#include "KviLocale.h" -#include "KviIconManager.h" -#include "KviMircCntrl.h" -#include "KviConfigurationFile.h" -#include "KviFileDialog.h" -#include "KviTalVBox.h" - -#include -#include -#include -#include - -#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW) - #include // symlink() -#endif - - -#ifdef COMPILE_PSEUDO_TRANSPARENCY - extern KVIRC_API QPixmap * g_pShadedChildGlobalDesktopBackground; -#endif - - -KviMessageOptionsWidget::KviMessageOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ -} - -KviMessageOptionsWidget::~KviMessageOptionsWidget() -{ -} - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviPrivmsgOptionsWidget::KviPrivmsgOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("privmsg_options_widget"); - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("General","options")); - - addBoolSelector(g,__tr2qs_ctx("Show message icons","options"),KviOption_boolIrcViewShowImages); - addBoolSelector(g,__tr2qs_ctx("Draw some emoticons (smileys) as pictures","options"),KviOption_boolDrawEmoticons); - addBoolSelector(g,__tr2qs_ctx("Don't show colors in user messages","options"),KviOption_boolStripMircColorsInUserMessages); - - g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Nicknames","options")); - - m_pUseSmartColorSelector = addBoolSelector(g,__tr2qs_ctx("\"Smart\" nickname colors","options"),KviOption_boolColorNicks); - - KviTalHBox * hb = new KviTalHBox(g); - hb->setSpacing(4); - m_pSpecialSmartColorSelector = addBoolSelector(hb,__tr2qs_ctx("Use specified colors for own nick:","options"),KviOption_boolUseSpecifiedSmartColorForOwnNick,KVI_OPTION_BOOL(KviOption_boolColorNicks)); - - m_pSmartColorSelector = addMircTextColorSelector(hb,"",KviOption_uintUserIrcViewOwnForeground,KviOption_uintUserIrcViewOwnBackground,KVI_OPTION_BOOL(KviOption_boolColorNicks) && KVI_OPTION_BOOL(KviOption_boolUseSpecifiedSmartColorForOwnNick)); - - connect(m_pSpecialSmartColorSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableSmartColorSelector(bool))); - connect(m_pUseSmartColorSelector,SIGNAL(toggled(bool)),m_pSpecialSmartColorSelector,SLOT(setEnabled(bool))); - - KviBoolSelector * b2 = addBoolSelector(g,__tr2qs_ctx("Use same colors as in the userlist","options"),KviOption_boolUseUserListColorsAsNickColors,!KVI_OPTION_BOOL(KviOption_boolColorNicks)); - connect(m_pUseSmartColorSelector,SIGNAL(toggled(bool)),b2,SLOT(setNotEnabled(bool))); - - addBoolSelector(g,__tr2qs_ctx("Show nicknames in bold","options"),KviOption_boolBoldedNicks); - addBoolSelector(g,__tr2qs_ctx("Show user and host","options"),KviOption_boolShowUserAndHostInPrivmsgView); - addBoolSelector(g,__tr2qs_ctx("Show channel mode prefix","options"),KviOption_boolShowChannelUserFlagInPrivmsgView); - KviBoolSelector * b = addBoolSelector(g,__tr2qs_ctx("User-defined prefix and postfix","options"),KviOption_boolUseExtendedPrivmsgView); - - QLabel * l = addLabel(g,__tr2qs_ctx("[PREFIX]nickname[!user@host][POSTFIX] message","options")); - - l->setEnabled(KVI_OPTION_BOOL(KviOption_boolUseExtendedPrivmsgView)); - connect(b, - SIGNAL(toggled(bool)), - l, - SLOT(setEnabled(bool))); - - KviTalVBox * vb = new KviTalVBox(g); - vb->setSpacing(5); - - connect( - b, - SIGNAL(toggled(bool)), - addStringSelector(vb,__tr2qs_ctx("Prefix:","options"),KviOption_stringExtendedPrivmsgPrefix,KVI_OPTION_BOOL(KviOption_boolUseExtendedPrivmsgView)), - SLOT(setEnabled(bool))); - connect( - b, - SIGNAL(toggled(bool)), - addStringSelector(vb,__tr2qs_ctx("Postfix:","options"),KviOption_stringExtendedPrivmsgPostfix,KVI_OPTION_BOOL(KviOption_boolUseExtendedPrivmsgView)), - SLOT(setEnabled(bool))); - addRowSpacer(0,3,0,3); -} - -void KviPrivmsgOptionsWidget::enableDisableSmartColorSelector(bool) -{ - m_pSmartColorSelector->setEnabled(m_pUseSmartColorSelector->isChecked() && m_pUseSmartColorSelector->isChecked()); -} - -KviPrivmsgOptionsWidget::~KviPrivmsgOptionsWidget() -{ -} - -KviTimestampOptionsWidget::KviTimestampOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ - createLayout(); - m_pUseTimestampSelector = addBoolSelector(0,0,0,0,__tr2qs_ctx("Show timestamp","options"),KviOption_boolIrcViewTimestamp); - - connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableTimestampSelector(bool))); - KviBoolSelector* b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Use UTC time for timestamp","options"),KviOption_boolIrcViewTimestampUTC,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp)); - - connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool))); - - KviTalHBox *hb = new KviTalHBox(this); - addWidgetToLayout(hb,0,2,0,2); - - m_pSpecialTimestampColorSelector = addBoolSelector(hb,__tr2qs_ctx("Use special color for timestamps","options"),KviOption_boolUseSpecialColorForTimestamp,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp)); - connect(m_pSpecialTimestampColorSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableTimestampSelector(bool))); - connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),m_pSpecialTimestampColorSelector,SLOT(setEnabled(bool))); - - m_pTimestampColorSelector = addMircTextColorSelector(hb,"",KviOption_uintTimeStampForeground,KviOption_uintTimeStampBackground,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp) && KVI_OPTION_BOOL(KviOption_boolUseSpecialColorForTimestamp)); - - KviStringSelector * st=addStringSelector(0,3,0,3,__tr2qs_ctx("Timestamp format:","options"),KviOption_stringIrcViewTimestampFormat); - connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),st,SLOT(setEnabled(bool))); - - connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),m_pSpecialTimestampColorSelector,SLOT(setEnabled(bool))); - addRowSpacer(0,4,0,4); -} - -KviTimestampOptionsWidget::~KviTimestampOptionsWidget() -{ -} - -void KviTimestampOptionsWidget::enableDisableTimestampSelector(bool) -{ - m_pTimestampColorSelector->setEnabled(m_pUseTimestampSelector->isChecked() && m_pSpecialTimestampColorSelector->isChecked()); -} - -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviStandardColorsOptionsWidget::KviStandardColorsOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("stdcolors"); - createLayout(); - - addColorSelector(0,0,0,0,"0:",&(KVI_OPTION_MIRCCOLOR(0))); - addColorSelector(1,0,1,0,"1:",&(KVI_OPTION_MIRCCOLOR(1))); - addColorSelector(2,0,2,0,"2:",&(KVI_OPTION_MIRCCOLOR(2))); - addColorSelector(3,0,3,0,"3:",&(KVI_OPTION_MIRCCOLOR(3))); - addColorSelector(0,1,0,1,"4:",&(KVI_OPTION_MIRCCOLOR(4))); - addColorSelector(1,1,1,1,"5:",&(KVI_OPTION_MIRCCOLOR(5))); - addColorSelector(2,1,2,1,"6:",&(KVI_OPTION_MIRCCOLOR(6))); - addColorSelector(3,1,3,1,"7:",&(KVI_OPTION_MIRCCOLOR(7))); - addColorSelector(0,2,0,2,"8:",&(KVI_OPTION_MIRCCOLOR(8))); - addColorSelector(1,2,1,2,"9:",&(KVI_OPTION_MIRCCOLOR(9))); - addColorSelector(2,2,2,2,"10:",&(KVI_OPTION_MIRCCOLOR(10))); - addColorSelector(3,2,3,2,"11:",&(KVI_OPTION_MIRCCOLOR(11))); - addColorSelector(0,3,0,3,"12:",&(KVI_OPTION_MIRCCOLOR(12))); - addColorSelector(1,3,1,3,"13:",&(KVI_OPTION_MIRCCOLOR(13))); - addColorSelector(2,3,2,3,"14:",&(KVI_OPTION_MIRCCOLOR(14))); - addColorSelector(3,3,3,3,"15:",&(KVI_OPTION_MIRCCOLOR(15))); - - addRowSpacer(0,4,3,4); - - layout()->setRowStretch(4,1); -} - -KviStandardColorsOptionsWidget::~KviStandardColorsOptionsWidget() -{ -} - -KviMessageListWidgetItem::KviMessageListWidgetItem(KviMessageListWidget* l,int optId) -: KviTalListWidgetItem(l) -{ - m_iOptId = optId; - m_pMsgType = new KviMessageTypeSettings(KVI_OPTION_MSGTYPE(optId)); - - QString txt = g_msgtypeOptionsTable[m_iOptId].name; - // skip the msgtype prefix - txt.remove(0,KVI_MSGTYPE_OPTIONS_PREFIX_LEN); - txt += " ("; - txt += __tr2qs_no_xgettext(m_pMsgType->type()); - txt += ")"; - - setText(txt); - setIcon(*(g_pIconManager->getSmallIcon(m_pMsgType->pixId()))); -} - -KviMessageListWidgetItem::~KviMessageListWidgetItem() -{ - delete m_pMsgType; -} - -void KviMessageListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const -{ - - const KviTalListWidget *tb = (const KviTalListWidget *)parent(); - KviMessageListWidgetItem *it = static_cast(index.internalPointer()); -#ifdef COMPILE_PSEUDO_TRANSPARENCY - if(KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) - { - p->save(); - p->setCompositionMode(QPainter::CompositionMode_Source); - QColor col=KVI_OPTION_COLOR(KviOption_colorGlobalTransparencyFade); - col.setAlphaF((float)((float)KVI_OPTION_UINT(KviOption_uintGlobalTransparencyChildFadeFactor) / (float)100)); - p->fillRect(opt.rect, col); - p->restore(); - } else if(g_pShadedChildGlobalDesktopBackground) - { - QPoint pnt = tb->viewport()->mapToGlobal(opt.rect.topLeft()); - p->drawTiledPixmap(opt.rect,*g_pShadedChildGlobalDesktopBackground, pnt); - } else { -#endif - QPixmap * pix = KVI_OPTION_PIXMAP(KviOption_pixmapIrcViewBackground).pixmap(); - if(pix) - { - QPoint pnt = tb->viewport()->mapToGlobal(opt.rect.topLeft()); - p->drawTiledPixmap(opt.rect,*pix,pnt); - } else { - p->fillRect(opt.rect,KVI_OPTION_COLOR(KviOption_colorIrcViewBackground)); - } -#ifdef COMPILE_PSEUDO_TRANSPARENCY - } -#endif - - QString szText=index.data(Qt::DisplayRole).toString(); - QPoint pt = opt.rect.topLeft(); - - pt.setX(pt.x() + 4); - p->drawPixmap(pt,*(g_pIconManager->getSmallIcon(it->msgType()->pixId()))); - pt.setX(pt.x() + 18); - // draw the background - if(it->msgType()->back() < 16) - { - QColor bColor = KVI_OPTION_MIRCCOLOR(it->msgType()->back()); - p->fillRect(pt.x(), pt.y(), opt.rect.width() - pt.x(), opt.rect.height(), bColor); - } - unsigned char ucFore = it->msgType()->fore(); - if(ucFore > 15)ucFore = 0; - p->setPen(QPen(KVI_OPTION_MIRCCOLOR(ucFore))); - pt.setX(pt.x() + 2); - - p->drawText(pt.x(), pt.y(), opt.rect.width() - pt.x(), opt.rect.height(),Qt::AlignLeft | Qt::AlignVCenter,szText); - - if(opt.state & QStyle::State_Selected) - { - QPen pen(Qt::white); - p->setPen(pen); - p->drawRect(opt.rect.adjusted(0,0,-1,-1)); - p->drawRect(opt.rect.adjusted (1,1,-2,-2)); - - pen.setColor(Qt::black); - pen.setStyle(Qt::DashLine); - p->setPen(pen); - p->drawRect(opt.rect.adjusted(0,0,-1,-1)); - p->drawRect(opt.rect.adjusted (1,1,-2,-2)); - } -} - - -KviMessageColorListWidgetItem::KviMessageColorListWidgetItem(KviTalListWidget * b,int idx) -: KviTalListWidgetText(b,QString()) -{ - - m_iClrIdx = idx; - if((idx < 0) || (idx > 15)) - { - setText(__tr2qs_ctx("Transparent","options")); - setBackground(listWidget()->isEnabled() ? Qt::transparent : Qt::gray); - } else { - setBackground(QColor(KVI_OPTION_MIRCCOLOR(m_iClrIdx))); - setText(" "); - } -} - -KviMessageColorListWidgetItem::~KviMessageColorListWidgetItem() -{ -} - -void KviMessageColorListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const -{ - - if(opt.state & QStyle::State_Selected) - { - QColor clr; - const KviTalListWidget *lb = (const KviTalListWidget *)parent(); - KviMessageColorListWidgetItem *it = static_cast(index.internalPointer()); - - if((it->clrIdx() >= 0) && (it->clrIdx() <= 15)) - { - clr = KVI_OPTION_MIRCCOLOR(it->clrIdx()); - } else { - clr =lb->palette().color(QPalette::Window); - } - - QStyleOptionViewItem optz(opt); - optz.state = opt.state ^ QStyle::State_Selected; - QItemDelegate::paint(p, optz, index); - - QPen pen(QColor(255-clr.red(), 255-clr.green(), 255-clr.blue())); - pen.setStyle(Qt::DashLine); - p->setPen(pen); - p->drawRect(opt.rect.adjusted(0,0,-1,-1)); - p->drawRect(opt.rect.adjusted (1,1,-2,-2)); - p->drawRect(opt.rect.adjusted (2,2,-3,-3)); - } else { - QItemDelegate::paint(p, opt, index); - } -} - -KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("messages"); - - createLayout(); - - int i; - m_pLastItem = 0; - - m_pListView = new KviMessageListWidget(this); - m_pListViewItemDelegate = new KviMessageListWidgetItemDelegate(m_pListView); - m_pListView->setItemDelegate(m_pListViewItemDelegate); - m_pListView->setSelectionMode(QAbstractItemView::SingleSelection); - m_pListView->setFont(KVI_OPTION_FONT(KviOption_fontIrcView)); - m_pListView->viewport()->setAutoFillBackground(false); - - addWidgetToLayout(m_pListView,0,0,2,0); - - KviTalVBox * box = new KviTalVBox(this); - addWidgetToLayout(box,3,0,3,0); - - new QLabel(__tr2qs_ctx("Background:","options"),box); - - m_pBackListWidget = new KviTalListWidget(box); - m_pBackListWidget->setMaximumWidth(150); - m_pBackListWidgetDelegate = new KviMessageColorListWidgetItemDelegate(m_pBackListWidget); - m_pBackListWidget->setItemDelegate(m_pBackListWidgetDelegate); - - m_pBackItems[16] = new KviMessageColorListWidgetItem(m_pBackListWidget,KviMircCntrl::Transparent); - for(i=0;i<16;i++) - { - m_pBackItems[i] = new KviMessageColorListWidgetItem(m_pBackListWidget,i); - } - - new QLabel(__tr2qs_ctx("Foreground:","options"),box); - - m_pForeListWidget = new KviTalListWidget(box); - m_pForeListWidget->setMaximumWidth(150); - m_pForeListWidgetDelegate = new KviMessageColorListWidgetItemDelegate(m_pForeListWidget); - m_pForeListWidget->setItemDelegate(m_pForeListWidgetDelegate); - - for(i=0;i<16;i++) - { - m_pForeItems[i] = new KviMessageColorListWidgetItem(m_pForeListWidget,i); - } - - new QLabel(__tr2qs_ctx("Alert level:","options"),box); - - m_pLevelListWidget = new KviTalListWidget(box); - m_pLevelListWidget->setMaximumWidth(150); - - for(i=0;i<6;i++) - { - QString tmpn; - tmpn.setNum(i); - new KviTalListWidgetText(m_pLevelListWidget,tmpn); - } - - m_pIconButton = new QToolButton(box); - connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(iconButtonClicked())); - - m_pIconPopup = new KviTalPopupMenu(this); - KviIconWidget * iw = new KviIconWidget(m_pIconPopup); - connect(iw,SIGNAL(selected(int)),this,SLOT(newIconSelected(int))); - m_pIconPopup->insertItem(iw); - - - m_pEnableLogging = new QCheckBox(__tr2qs_ctx("Log this","options"),box); - - KviTalHBox * h = new KviTalHBox(this); - addWidgetToLayout(h,0,1,3,1); - QPushButton * b = new QPushButton(__tr2qs_ctx("Load From...","options"),h); - connect(b,SIGNAL(clicked()),this,SLOT(load())); - b = new QPushButton(__tr2qs_ctx("Save As...","options"),h); - connect(b,SIGNAL(clicked()),this,SLOT(save())); - - - for(i=0;isetRowStretch(0,1); - layout()->setColumnStretch(0,1); - - connect(m_pListView,SIGNAL(itemSelectionChanged ()),this,SLOT(itemChanged())); - connect(m_pForeListWidget,SIGNAL(itemSelectionChanged ()),this,SLOT(colorChanged())); - connect(m_pBackListWidget,SIGNAL(itemSelectionChanged ()),this,SLOT(colorChanged())); - - itemChanged(); -} - -KviMessageColorsOptionsWidget::~KviMessageColorsOptionsWidget() -{ - int i; - for(i=15;i>=0;i--) - { - delete m_pForeItems[i]; - } - for(i=16;i>=0;i--) - { - delete m_pBackItems[i]; - } - delete m_pListView; - delete m_pForeListWidget; - delete m_pBackListWidget; - - delete m_pLevelListWidget; - delete m_pEnableLogging; - delete m_pIconButton; - delete m_pIconPopup; -} - -void KviMessageColorsOptionsWidget::newIconSelected(int iconId) -{ - if(!m_pLastItem)return; - if(iconId >= KVI_NUM_SMALL_ICONS)return; - m_pLastItem->msgType()->setPixId(iconId); - m_pIconButton->setIcon(*(g_pIconManager->getSmallIcon(iconId))); - m_pListView->repaint(m_pListView->visualItemRect(m_pLastItem)); -} - -void KviMessageColorsOptionsWidget::saveLastItem() -{ - if(!m_pLastItem)return; - - int curIt = m_pForeListWidget->currentRow(); - if(curIt >= 0) //quite useless - { - //qDebug("Setting fore %d",curIt); - KviMessageColorListWidgetItem * fore = (KviMessageColorListWidgetItem *)m_pForeListWidget->item(curIt); - //qDebug("And is %d",fore); - if(fore)m_pLastItem->msgType()->setFore(fore->m_iClrIdx); - } - curIt = m_pBackListWidget->currentRow(); - if(curIt >= 0) //quite useless - { - KviMessageColorListWidgetItem * back = (KviMessageColorListWidgetItem *)m_pBackListWidget->item(curIt); - if(back)m_pLastItem->msgType()->setBack(back->m_iClrIdx); - } - m_pLastItem->msgType()->enableLogging(m_pEnableLogging->isChecked()); - //qDebug("Updating","options"); - curIt = m_pLevelListWidget->currentRow(); - if(curIt < 0 || curIt > 5)curIt = 1; - m_pLastItem->msgType()->setLevel(curIt); - m_pListView->repaint(m_pListView->visualItemRect(m_pLastItem)); -} - -void KviMessageColorsOptionsWidget::itemChanged() -{ - KviTalListWidgetItem * it = (KviTalListWidgetItem*)m_pListView->currentItem(); - //qDebug("Item changed","options"); - if(m_pLastItem)saveLastItem(); - - m_pLastItem = 0; // do NOT save in this routine - - m_pForeListWidget->setEnabled(it); - m_pBackListWidget->setEnabled(it); - m_pEnableLogging->setEnabled(it); - m_pIconButton->setEnabled(it); - m_pLevelListWidget->setEnabled(it); - - if(it) - { - int back = ((KviMessageListWidgetItem *)it)->msgType()->back(); - int fore = ((KviMessageListWidgetItem *)it)->msgType()->fore(); - if(fore >= 0 && fore <= 15) - { - m_pForeListWidget->setCurrentItem(m_pForeItems[fore]); - } - if(back >= 0 && back <= 15) - { - m_pBackListWidget->setCurrentItem(m_pBackItems[back]); - } else { - m_pBackListWidget->setCurrentItem(m_pBackItems[16]); - } - m_pLevelListWidget->setCurrentRow(((KviMessageListWidgetItem *)it)->msgType()->level()); - m_pEnableLogging->setChecked(((KviMessageListWidgetItem *)it)->msgType()->logEnabled()); - m_pIconButton->setIcon(*(g_pIconManager->getSmallIcon(((KviMessageListWidgetItem *)it)->msgType()->pixId()))); - } - - // Ok...can save from now on - m_pLastItem = (KviMessageListWidgetItem *)it; -} - -void KviMessageColorsOptionsWidget::colorChanged() -{ - if(m_pLastItem)saveLastItem(); -} - -void KviMessageColorsOptionsWidget::iconButtonClicked() -{ - m_pIconPopup->popup(QCursor::pos()); -} - -void KviMessageColorsOptionsWidget::commit() -{ - saveLastItem(); - - mergeResetFlag(KviOption_resetUpdateGui); - - int count = m_pListView->count(); - for(int i=0; iitem(i); - KVI_OPTION_MSGTYPE(it->optionId()) = *(it->msgType()); - } - - KviOptionsWidget::commit(); -} - -void KviMessageColorsOptionsWidget::save() -{ - QString szName; - QString szInit; - g_pApp->getLocalKvircDirectory(szInit,KviApplication::MsgColors); - - if(KviFileDialog::askForSaveFileName(szName,__tr2qs_ctx("Choose a Filename - KVIrc","options"),szInit)) - { - if(m_pLastItem)saveLastItem(); - - KviConfigurationFile cfg(szName,KviConfigurationFile::Write); - - cfg.setGroup("Messages"); - - KviCString tmp; - - - int count = m_pListView->count(); - for(int i=0; iitem(i); - - tmp.sprintf("Fore%d",it->optionId()); - cfg.writeEntry(tmp.ptr(),it->msgType()->fore()); - tmp.sprintf("Back%d",it->optionId()); - cfg.writeEntry(tmp.ptr(),it->msgType()->back()); - tmp.sprintf("Icon%d",it->optionId()); - cfg.writeEntry(tmp.ptr(),it->msgType()->pixId()); - tmp.sprintf("Log%d",it->optionId()); - cfg.writeEntry(tmp.ptr(),it->msgType()->logEnabled()); - tmp.sprintf("Level%d",it->optionId()); - cfg.writeEntry(tmp.ptr(),it->msgType()->level()); - } - - } -} - -//#include - -void KviMessageColorsOptionsWidget::load() -{ - - QString szName; - QString szInit; - g_pApp->getLocalKvircDirectory(szInit,KviApplication::MsgColors); - -#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW) - // symlink local to global - QString szGlobal; - g_pApp->getGlobalKvircDirectory(szGlobal,KviApplication::MsgColors); - QString szLocal; - g_pApp->getLocalKvircDirectory(szLocal,KviApplication::MsgColors,"presets"); - //qDebug("SYMLINKING %s to %s",szGlobal.ptr(),szLocal.ptr()); - //qDebug("SYMLINK RETURNS %d (%d)",::symlink(szGlobal.ptr(),szLocal.ptr())); - //qDebug("ERRNO (%d)",errno); - int dummy; // make gcc happy - dummy = symlink(szGlobal.toLocal8Bit().data(),szLocal.toLocal8Bit().data()); - // FIXME: Do it also on windows... -#endif - - if(KviFileDialog::askForOpenFileName(szName,__tr2qs_ctx("Choose a Filename - KVIrc ","options"),szInit)) - { - itemChanged(); - - KviConfigurationFile cfg(szName,KviConfigurationFile::Read); - - cfg.setGroup("Messages"); - - //KviCString tmp; - QString tmp; - - int count = m_pListView->count(); - for(int i=0; iitem(i); - - tmp.sprintf("Fore%d",it->optionId()); - int fore = cfg.readIntEntry(tmp,it->msgType()->fore()); - if(fore < 0 || fore > 15)fore = 0; - it->msgType()->setFore(fore); - - tmp.sprintf("Back%d",it->optionId()); - int back = cfg.readIntEntry(tmp,it->msgType()->back()); - if(back < 0 || back > 15)back = KviMircCntrl::Transparent; - it->msgType()->setBack(back); - - tmp.sprintf("Icon%d",it->optionId()); - int ico = cfg.readIntEntry(tmp,it->msgType()->pixId()); - if(ico < 0 || ico >= KVI_NUM_SMALL_ICONS)ico = 0; - it->msgType()->setPixId(ico); - - tmp.sprintf("Log%d",it->optionId()); - bool bLog = cfg.readBoolEntry(tmp,it->msgType()->logEnabled()); - it->msgType()->enableLogging(bLog); - - tmp.sprintf("Level%d",it->optionId()); - int iLevel = cfg.readIntEntry(tmp,it->msgType()->level()); - it->msgType()->setLevel(iLevel); - - m_pListView->repaint(m_pListView->visualItemRect(it)); - } - } -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_messages.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_messages.h b/src/modules/options/optw_messages.h deleted file mode 100644 index da6923f66..000000000 --- a/src/modules/options/optw_messages.h +++ /dev/null @@ -1,205 +0,0 @@ -#ifndef _OPTW_MESSAGES_H_ -#define _OPTW_MESSAGES_H_ -//============================================================================= -// -// File : optw_messages.h -// Creation date : Sat Aug 11 2001 18:11:21 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include "KviMessageTypeSettings.h" -#include "KviTalPopupMenu.h" - -#include -#include -#include -#include -#include -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviMessageOptionsWidget KVI_SMALLICON_MESSAGES -#define KVI_OPTIONS_WIDGET_NAME_KviMessageOptionsWidget __tr2qs_no_lookup("Text") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageOptionsWidget __tr2qs_no_lookup("theme,colors,output") -#define KVI_OPTIONS_WIDGET_GROUP_KviMessageOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_CONTAINER_KviMessageOptionsWidget true - -class KviMessageOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviMessageOptionsWidget(QWidget * pParent); - ~KviMessageOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviPrivmsgOptionsWidget KVI_SMALLICON_RAW -#define KVI_OPTIONS_WIDGET_NAME_KviPrivmsgOptionsWidget __tr2qs_no_lookup("Message Style") -#define KVI_OPTIONS_WIDGET_PARENT_KviPrivmsgOptionsWidget KviMessageOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviPrivmsgOptionsWidget 40 -#define KVI_OPTIONS_WIDGET_GROUP_KviPrivmsgOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviPrivmsgOptionsWidget __tr2qs_no_lookup("theme,privmsg,output,format") - -class KviPrivmsgOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviPrivmsgOptionsWidget(QWidget * parent); - ~KviPrivmsgOptionsWidget(); -public: - KviBoolSelector * m_pUseSmartColorSelector; - KviBoolSelector * m_pSpecialSmartColorSelector; - KviMircTextColorSelector * m_pSmartColorSelector; -protected slots: - void enableDisableSmartColorSelector(bool); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviTimestampOptionsWidget KVI_SMALLICON_TIME -#define KVI_OPTIONS_WIDGET_NAME_KviTimestampOptionsWidget __tr2qs_no_lookup("Timestamp") -#define KVI_OPTIONS_WIDGET_PARENT_KviTimestampOptionsWidget KviMessageOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviTimestampOptionsWidget 20 -#define KVI_OPTIONS_WIDGET_GROUP_KviTimestampOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTimestampOptionsWidget __tr2qs_no_lookup("time,timestamp") - -class KviTimestampOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTimestampOptionsWidget(QWidget * parent); - ~KviTimestampOptionsWidget(); -public: - KviBoolSelector * m_pUseTimestampSelector; - KviBoolSelector * m_pSpecialTimestampColorSelector; - KviMircTextColorSelector * m_pTimestampColorSelector; -protected slots: - void enableDisableTimestampSelector(bool); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviMessageColorsOptionsWidget KVI_SMALLICON_MESSAGES -#define KVI_OPTIONS_WIDGET_NAME_KviMessageColorsOptionsWidget __tr2qs_no_lookup("Message Colors") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviMessageColorsOptionsWidget __tr2qs_no_lookup("theme,colors,messages,output") -#define KVI_OPTIONS_WIDGET_GROUP_KviMessageColorsOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviMessageColorsOptionsWidget KviMessageOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget 30 - -class KviMessageListWidget : public KviTalListWidget -{ - Q_OBJECT -public: - KviMessageListWidget(QWidget * par): KviTalListWidget(par) {}; - ~KviMessageListWidget() {}; -}; - -class KviMessageListWidgetItemDelegate : public QItemDelegate -{ - Q_OBJECT -public: - KviMessageListWidgetItemDelegate(QAbstractItemView * pWidget=0) - : QItemDelegate(pWidget) {}; - ~KviMessageListWidgetItemDelegate(){}; - void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const; -}; - -class KviMessageListWidgetItem : public KviTalListWidgetItem -{ -public: - KviMessageListWidgetItem(KviMessageListWidget* l,int optId); - ~KviMessageListWidgetItem(); -private: - int m_iOptId; - KviMessageTypeSettings * m_pMsgType; -public: - inline int optionId(){ return m_iOptId; }; - inline KviMessageTypeSettings * msgType(){ return m_pMsgType; }; -}; - - -class KviMessageColorListWidgetItem : public KviTalListWidgetText -{ -public: - KviMessageColorListWidgetItem(KviTalListWidget * b, int idx); - ~KviMessageColorListWidgetItem(); -public: - int m_iClrIdx; -public: - inline int clrIdx() { return m_iClrIdx; }; -}; - -class KviMessageColorListWidgetItemDelegate : public QItemDelegate -{ - Q_OBJECT -public: - KviMessageColorListWidgetItemDelegate(QAbstractItemView * pWidget=0) - : QItemDelegate(pWidget) {}; - ~KviMessageColorListWidgetItemDelegate(){}; - void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const; -}; - -class KviMessageColorsOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT - friend class KviTalListWidget; -public: - KviMessageColorsOptionsWidget(QWidget * parent); - ~KviMessageColorsOptionsWidget(); -public: - KviMessageListWidget * m_pListView; - KviMessageListWidgetItemDelegate * m_pListViewItemDelegate; - KviTalListWidget * m_pForeListWidget; - KviMessageColorListWidgetItemDelegate * m_pForeListWidgetDelegate; - KviTalListWidget * m_pBackListWidget; - KviMessageColorListWidgetItemDelegate * m_pBackListWidgetDelegate; - KviTalListWidget * m_pLevelListWidget; - KviMessageColorListWidgetItem * m_pForeItems[16]; - KviMessageColorListWidgetItem * m_pBackItems[17]; - KviMessageListWidgetItem * m_pLastItem; - QCheckBox * m_pEnableLogging; - QToolButton * m_pIconButton; - KviTalPopupMenu * m_pIconPopup; -public: - void saveLastItem(); -protected slots: - void itemChanged(); - void colorChanged(); - void iconButtonClicked(); - void newIconSelected(int iconId); - virtual void commit(); - virtual void save(); - virtual void load(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviStandardColorsOptionsWidget KVI_SMALLICON_COLORS -#define KVI_OPTIONS_WIDGET_NAME_KviStandardColorsOptionsWidget __tr2qs_no_lookup("Color Set") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviStandardColorsOptionsWidget __tr2qs_no_lookup("theme,colors,messages,output") -#define KVI_OPTIONS_WIDGET_GROUP_KviStandardColorsOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PRIORITY_KviStandardColorsOptionsWidget 20 -#define KVI_OPTIONS_WIDGET_PARENT_KviStandardColorsOptionsWidget KviMessageOptionsWidget - -class KviStandardColorsOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviStandardColorsOptionsWidget(QWidget * par); - ~KviStandardColorsOptionsWidget(); - -}; - - -#endif //!_OPTW_MESSAGES_H_ diff --git a/src/modules/options/optw_nickserv.cpp b/src/modules/options/optw_nickserv.cpp deleted file mode 100644 index 5fd45bc36..000000000 --- a/src/modules/options/optw_nickserv.cpp +++ /dev/null @@ -1,371 +0,0 @@ -//============================================================================= -// -// File : optw_nickserv.cpp -// Creation date : Fri Aug 10 2001 03:38:10 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_nickserv.h" - -#include "KviQString.h" -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviNickServRuleSet.h" -#include "KviIrcMask.h" -#include "KviTalToolTip.h" -#include - -#include -#include -#include -#include - - -// KviApplication.cpp -extern KVIRC_API KviNickServRuleSet * g_pNickServRuleSet; - - -KviNickServRuleEditor::KviNickServRuleEditor(QWidget * par,bool bUseServerMaskField) -: QDialog(par) -{ - setWindowTitle(__tr2qs_ctx("NickServ Authentication Rule","options")); - - QString html_center_begin = "
"; - QString html_center_end = "
"; - - QGridLayout * gl = new QGridLayout(this);//,bUseServerMaskField ? 7 : 6,4,10,5); - - QLabel * l = new QLabel(__tr2qs_ctx("Registered NickName","options"),this); - gl->addWidget(l,0,0); - - m_pRegisteredNickEdit = new QLineEdit(this); - KviTalToolTip::add(m_pRegisteredNickEdit,html_center_begin + __tr2qs_ctx("Put here the nickname that you have registered with NickServ","options") + html_center_end); - gl->addWidget(m_pRegisteredNickEdit,0,1,1,3); -// gl->addMultiCellWidget(m_pRegisteredNickEdit,0,0,1,3); - - l = new QLabel(__tr2qs_ctx("NickServ Mask","options"),this); - gl->addWidget(l,1,0); - - m_pNickServMaskEdit = new QLineEdit(this); - KviTalToolTip::add(m_pNickServMaskEdit, - html_center_begin + __tr2qs_ctx("This is the mask that NickServ must match to be correctly identified as the NickServ service. " \ - "This usually will be something like NickServ!service@services.dalnet.
" \ - "You can use wildcards for this field, but generally it is a security flaw. " \ - "If you're 100%% sure that NO user on the network can use the nickname \"NickServ\", " \ - "the mask NickServ!*@* may be safe to use in this field.","options") + html_center_end); - gl->addWidget(m_pNickServMaskEdit,1,1,1,3); -// gl->addMultiCellWidget(m_pNickServMaskEdit,1,1,1,3); - - l = new QLabel(__tr2qs_ctx("Message Regexp","options"),this); - gl->addWidget(l,2,0); - - m_pMessageRegexpEdit = new QLineEdit(this); - gl->addWidget(m_pMessageRegexpEdit,2,2,1,3); -// gl->addMultiCellWidget(m_pMessageRegexpEdit,2,2,1,3); - - KviTalToolTip::add(m_pMessageRegexpEdit, - html_center_begin + __tr2qs_ctx("This is the simple regular expression that the identification request message " \ - "from NickServ must match in order to be correctly recognized.
" \ - "The message is usually something like \"To identify yourself please use /ns IDENTIFY password\" " \ - "and it is sent when the NickServ wants you to authenticate yourself. " \ - "You can use the * and ? wildcards.","options") + html_center_end); - l = new QLabel(__tr2qs_ctx("Identify Command","options"),this); - gl->addWidget(l,3,0); - - m_pIdentifyCommandEdit = new QLineEdit(this); - KviTalToolTip::add(m_pIdentifyCommandEdit, - html_center_begin + __tr2qs_ctx("This is the command that will be executed when NickServ requests authentication " \ - "for the nickname described in this rule (if the both server and NickServ mask are matched). " \ - "This usually will be something like msg NickServ identify <yourpassword>.
" \ - "You can use msg -q if you don't want the password echoed on the screen. " \ - "Please note that there is no leading slash in this command.","options") + html_center_end); - gl->addWidget(m_pIdentifyCommandEdit,3,1,1,3); -// gl->addMultiCellWidget(m_pIdentifyCommandEdit,3,3,1,3); - - int iNextLine = 4; - - if(bUseServerMaskField) - { - l = new QLabel(__tr2qs_ctx("Server mask","options"),this); - gl->addWidget(l,4,0); - - m_pServerMaskEdit = new QLineEdit(this); - KviTalToolTip::add(m_pServerMaskEdit, - html_center_begin + __tr2qs_ctx("This is the mask that the current server must match in order " \ - "for this rule to apply. It can contain * and ? wildcards.
Do NOT use simply \"*\" here...","options") + html_center_end); - gl->addWidget(m_pServerMaskEdit,4,1,1,3); -// gl->addMultiCellWidget(m_pServerMaskEdit,4,4,1,3); - iNextLine++; - } else { - m_pServerMaskEdit = 0; - } - - - l = new QLabel(html_center_begin + __tr2qs_ctx("Hint: Move the mouse cursor over the fields to get help","options") + html_center_end,this); - l->setMargin(10); - gl->addWidget(l,iNextLine,0,1,4); -// gl->addMultiCellWidget(l,iNextLine,iNextLine,0,3); - - iNextLine++; - - QPushButton * p = new QPushButton(__tr2qs_ctx("Cancel","options"),this); - p->setMinimumWidth(100); - connect(p,SIGNAL(clicked()),this,SLOT(reject())); - gl->addWidget(p,iNextLine,2); - - m_pOkButton = new QPushButton(__tr2qs_ctx("OK","options"),this); - m_pOkButton->setMinimumWidth(100); - m_pOkButton->setDefault(true); - connect(m_pOkButton,SIGNAL(clicked()),this,SLOT(okPressed())); - gl->addWidget(m_pOkButton,iNextLine,3); - - gl->setColumnStretch(1,1); - gl->setRowStretch(bUseServerMaskField ? 5 : 4,1); - - setMinimumWidth(250); -} - -KviNickServRuleEditor::~KviNickServRuleEditor() -{ -} - -bool KviNickServRuleEditor::validate() -{ - QString s = m_pRegisteredNickEdit->text(); - - QString m = __tr2qs_ctx("Invalid NickServ Rule","options"); - QString o = __tr2qs_ctx("OK","options"); - - if(s.isEmpty()) - { - QMessageBox::warning(this,m,__tr2qs_ctx("The Nickname field can't be empty!","options"),o); - return false; - } - - if(s.indexOf(QChar(' ')) != -1) - { - QMessageBox::warning(this,m,__tr2qs_ctx("The Nickname field can't contain spaces!","options"),o); - return false; - } - - s = m_pNickServMaskEdit->text(); - - if(s.isEmpty()) - { - QMessageBox::warning(this,m,__tr2qs_ctx("The NickServ mask can't be empty!
You must put at least * there.","options"),o); - return false; - } - - s = m_pMessageRegexpEdit->text(); - - if(s.isEmpty()) - { - QMessageBox::warning(this,m,__tr2qs_ctx("The Message Regexp can't be empty!
You must put at least * there.","options"),o); - return false; - } - - s = m_pIdentifyCommandEdit->text(); - - if(s.isEmpty()) - { - QMessageBox::warning(this,m,__tr2qs_ctx("The Identify Command can't be empty!","options"),o); - return false; - } - - return true; -} - -void KviNickServRuleEditor::okPressed() -{ - if(!validate())return; - accept(); -} - -bool KviNickServRuleEditor::editRule(KviNickServRule * r) -{ - m_pRegisteredNickEdit->setText(r->registeredNick().isEmpty() ? QString("MyNick") : r->registeredNick()); - m_pNickServMaskEdit->setText(r->nickServMask().isEmpty() ? QString("NickServ!*@*") : r->nickServMask()); - m_pMessageRegexpEdit->setText(r->messageRegexp().isEmpty() ? QString("*IDENTIFY*") : r->messageRegexp()); - m_pIdentifyCommandEdit->setText(r->identifyCommand().isEmpty() ? QString("msg -q NickServ IDENTIFY ") : r->identifyCommand()); - if(m_pServerMaskEdit) - m_pServerMaskEdit->setText(r->serverMask().isEmpty() ? QString("irc.yourserver.org") : r->serverMask()); - m_pRegisteredNickEdit->selectAll(); - if(exec() != QDialog::Accepted)return false; - r->setRegisteredNick(m_pRegisteredNickEdit->text()); - r->setNickServMask(m_pNickServMaskEdit->text()); - r->setMessageRegexp(m_pMessageRegexpEdit->text()); - r->setIdentifyCommand(m_pIdentifyCommandEdit->text()); - if(m_pServerMaskEdit) - r->setServerMask(m_pServerMaskEdit->text()); - return true; -} - - -KviNickServOptionsWidget::KviNickServOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - setObjectName("nickserv_options_widget"); - - QGridLayout * gl = layout(); - - KviNickServRuleSet * rs = g_pNickServRuleSet; - bool bNickServEnabled = rs ? (rs->isEnabled() && !rs->isEmpty()) : false; - - m_pNickServCheck = new QCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),this); - gl->addWidget(m_pNickServCheck,0,0,1,3); -// gl->addMultiCellWidget(m_pNickServCheck,0,0,0,2); - KviTalToolTip::add(m_pNickServCheck,__tr2qs_ctx("This check enables the automatic identification with NickServ","options")); - m_pNickServCheck->setChecked(bNickServEnabled); - - m_pNickServTreeWidget = new QTreeWidget(this); - m_pNickServTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); - m_pNickServTreeWidget->setAllColumnsShowFocus(true); - QStringList columnLabels; - - columnLabels.append(__tr2qs_ctx("Nickname","options")); - columnLabels.append(__tr2qs_ctx("Server mask","options")); - columnLabels.append(__tr2qs_ctx("NickServ Mask","options")); - columnLabels.append(__tr2qs_ctx("NickServ Request Mask","options")); - columnLabels.append(__tr2qs_ctx("Identify Command","options")); - m_pNickServTreeWidget->setHeaderLabels(columnLabels); - connect(m_pNickServTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(enableDisableNickServControls())); - - gl->addWidget(m_pNickServTreeWidget,1,0,1,3); -// gl->addMultiCellWidget(m_pNickServTreeWidget,1,1,0,2); - KviTalToolTip::add(m_pNickServTreeWidget,\ - __tr2qs_ctx("
This is a list of NickServ identification rules. " \ - "KVIrc will use them to model its automatic interaction with NickServ on all the networks.
" \ - "Please be aware that this feature can cause your NickServ passwords to be stolen " \ - "if used improperly. Make sure that you fully understand the NickServ authentication protocol.
" \ - "In other words, be sure to know what you're doing.
" \ - "Also note that the password that you provide is stored as PLAIN TEXT.
" \ - "KVIrc supports also per-network NickServ authentication rules that can be " \ - "created in the \"Advanced...\" network options (accessible from the servers dialog)." - "
","options")); - - m_pAddRuleButton = new QPushButton(__tr2qs_ctx("Add Rule","options"),this); - connect(m_pAddRuleButton,SIGNAL(clicked()),this,SLOT(addNickServRule())); - gl->addWidget(m_pAddRuleButton,2,0); - - m_pEditRuleButton = new QPushButton(__tr2qs_ctx("Edit Rule","options"),this); - connect(m_pEditRuleButton,SIGNAL(clicked()),this,SLOT(editNickServRule())); - gl->addWidget(m_pEditRuleButton,2,1); - - m_pDelRuleButton = new QPushButton(__tr2qs_ctx("Delete Rule","options"),this); - connect(m_pDelRuleButton,SIGNAL(clicked()),this,SLOT(delNickServRule())); - gl->addWidget(m_pDelRuleButton,2,2); - - connect(m_pNickServCheck,SIGNAL(toggled(bool)),this,SLOT(enableDisableNickServControls())); - - if(rs && rs->rules()) - { - QTreeWidgetItem *it; - KviPointerList * ll = rs->rules(); - for(KviNickServRule * rule = ll->first();rule;rule = ll->next()) - { - it = new QTreeWidgetItem(m_pNickServTreeWidget); - it->setText(0,rule->registeredNick()); - it->setText(1,rule->serverMask()); - it->setText(2,rule->nickServMask()); - it->setText(3,rule->messageRegexp()); - it->setText(4,rule->identifyCommand()); - } - } - - enableDisableNickServControls(); - - gl->setRowStretch(1,1); -} - -KviNickServOptionsWidget::~KviNickServOptionsWidget() -{ -} - -void KviNickServOptionsWidget::editNickServRule() -{ - QTreeWidgetItem * it = (QTreeWidgetItem *)m_pNickServTreeWidget->currentItem(); - if(!it)return; - KviNickServRule r(it->text(0),it->text(2),it->text(3),it->text(4),it->text(1)); - KviNickServRuleEditor ed(this,true); - if(ed.editRule(&r)) - { - it->setText(0,r.registeredNick()); - it->setText(1,r.serverMask()); - it->setText(2,r.nickServMask()); - it->setText(3,r.messageRegexp()); - it->setText(4,r.identifyCommand()); - } -} - -void KviNickServOptionsWidget::addNickServRule() -{ - KviNickServRule r; - KviNickServRuleEditor ed(this,true); - if(ed.editRule(&r)) - { - QTreeWidgetItem* it = new QTreeWidgetItem(m_pNickServTreeWidget); - it->setText(0,r.registeredNick()); - it->setText(1,r.serverMask()); - it->setText(2,r.nickServMask()); - it->setText(3,r.messageRegexp()); - it->setText(4,r.identifyCommand()); - } -} - -void KviNickServOptionsWidget::delNickServRule() -{ - QTreeWidgetItem * it = (QTreeWidgetItem *)m_pNickServTreeWidget->currentItem(); - if(!it)return; - delete it; - enableDisableNickServControls(); -} - -void KviNickServOptionsWidget::enableDisableNickServControls() -{ - bool bEnabled = m_pNickServCheck->isChecked(); - m_pNickServTreeWidget->setEnabled(bEnabled); - m_pAddRuleButton->setEnabled(bEnabled); - bEnabled = bEnabled && (m_pNickServTreeWidget->topLevelItemCount()) && m_pNickServTreeWidget->currentItem(); - m_pDelRuleButton->setEnabled(bEnabled); - m_pEditRuleButton->setEnabled(bEnabled); -} - -void KviNickServOptionsWidget::commit() -{ - g_pNickServRuleSet->clear(); - if(m_pNickServTreeWidget->topLevelItemCount()) - { - g_pNickServRuleSet->setEnabled(m_pNickServCheck->isChecked()); - QTreeWidgetItem * it;// = m_pNickServTreeWidget->firstChild(); - for (int i=0;itopLevelItemCount();i++) -// while(it) - { - it=(QTreeWidgetItem *)m_pNickServTreeWidget->topLevelItem(i); - g_pNickServRuleSet->addRule(KviNickServRule::createInstance(it->text(0),it->text(2),it->text(3),it->text(4),it->text(1))); - //it = it->nextSibling(); - } - } - KviOptionsWidget::commit(); -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_nickserv.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_nickserv.h b/src/modules/options/optw_nickserv.h deleted file mode 100644 index 2ec018e5e..000000000 --- a/src/modules/options/optw_nickserv.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef _OPTW_NICKSERV_H_ -#define _OPTW_NICKSERV_H_ - -//============================================================================= -// -// File : optw_nickserv.h -// Creation date : Fri Aug 10 2001 03:37:21 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - - -#include "kvi_settings.h" -#include "KviOptionsWidget.h" - -#include -#include - -class QLineEdit; -class QPushButton; -class KviNickServRule; -class QTreeWidget; - -#define KVI_OPTIONS_WIDGET_ICON_KviNickServOptionsWidget KVI_SMALLICON_NICKSERV -#define KVI_OPTIONS_WIDGET_NAME_KviNickServOptionsWidget __tr2qs_no_lookup("NickServ") -#define KVI_OPTIONS_WIDGET_PARENT_KviNickServOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNickServOptionsWidget __tr2qs_no_lookup("authentication,identify") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviNickServOptionsWidget 10000 -//#define KVI_OPTIONS_WIDGET_HIDDEN_KviNickServOptionsWidget true - -class KviNickServRuleEditor : public QDialog -{ - Q_OBJECT -public: - KviNickServRuleEditor(QWidget * par,bool bUseServerMaskField = false); - ~KviNickServRuleEditor(); -protected: - QLineEdit * m_pRegisteredNickEdit; - QLineEdit * m_pNickServMaskEdit; - QLineEdit * m_pMessageRegexpEdit; - QLineEdit * m_pIdentifyCommandEdit; - QLineEdit * m_pServerMaskEdit; - QPushButton * m_pOkButton; -public: - bool editRule(KviNickServRule * r); -protected: - bool validate(); -protected slots: - void okPressed(); -}; - -class KviNickServOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviNickServOptionsWidget(QWidget * parent); - ~KviNickServOptionsWidget(); -protected: - QTreeWidget * m_pNickServTreeWidget; - QCheckBox * m_pNickServCheck; - QPushButton * m_pAddRuleButton; - QPushButton * m_pDelRuleButton; - QPushButton * m_pEditRuleButton; -protected slots: - void enableDisableNickServControls(); - void addNickServRule(); - void delNickServRule(); - void editNickServRule(); -public: - virtual void commit(); -}; - -#endif //_OPTW_NICKSERV_H_ diff --git a/src/modules/options/optw_notifier.cpp b/src/modules/options/optw_notifier.cpp deleted file mode 100644 index ee33b40fd..000000000 --- a/src/modules/options/optw_notifier.cpp +++ /dev/null @@ -1,262 +0,0 @@ -//============================================================================= -// -// File : optw_notifier.cpp -// Creation date : Thu Jul 09 2009 10:54:39 CEST by Fabio Bas -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_notifier.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviNotifierLookOptionsWidget::KviNotifierLookOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("notifierlook_options_widget"); - createLayout(); - - addFontSelector(0,0,1,0,__tr2qs_ctx("Font","options"),KviOption_fontNotifier); - addColorSelector(0,1,1,1,__tr2qs_ctx("Background color","options"),KviOption_colorNotifierBackground); - addColorSelector(0,2,1,2,__tr2qs_ctx("Foreground color","options"),KviOption_colorNotifierForeground); - addFontSelector(0,3,1,3,__tr2qs_ctx("Title Font","options"),KviOption_fontNotifierTitle); - addColorSelector(0,4,1,4,__tr2qs_ctx("Title Foreground color","options"),KviOption_colorNotifierTitleForeground); - - addPixmapSelector(0,5,1,5,__tr2qs_ctx("Background image","options"),KviOption_pixmapNotifierBackground); - - addLabel(0,6,0,6,__tr2qs_ctx("Horizontal align:","options")); - m_pHorizontalAlign=new QComboBox(this); - addWidgetToLayout(m_pHorizontalAlign,1,6,1,6); - - addLabel(0,7,0,7,__tr2qs_ctx("Vertical align:","options")); - m_pVerticalAlign=new QComboBox(this); - addWidgetToLayout(m_pVerticalAlign,1,7,1,7); - - m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); - - m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); - - switch( KVI_OPTION_UINT(KviOption_uintNotifierPixmapAlign) & Qt::AlignHorizontal_Mask) - { - case Qt::AlignLeft: - m_pHorizontalAlign->setCurrentIndex(1); - break; - case Qt::AlignRight: - m_pHorizontalAlign->setCurrentIndex(2); - break; - case Qt::AlignHCenter: - m_pHorizontalAlign->setCurrentIndex(3); - break; - default: - m_pHorizontalAlign->setCurrentIndex(0); - } - - switch( KVI_OPTION_UINT(KviOption_uintNotifierPixmapAlign) & Qt::AlignVertical_Mask) - { - case Qt::AlignTop: - m_pVerticalAlign->setCurrentIndex(1); - break; - case Qt::AlignBottom: - m_pVerticalAlign->setCurrentIndex(2); - break; - case Qt::AlignVCenter: - m_pVerticalAlign->setCurrentIndex(3); - break; - default: - m_pVerticalAlign->setCurrentIndex(0); - } - - layout()->setRowStretch(5,1); -} - -KviNotifierLookOptionsWidget::~KviNotifierLookOptionsWidget() -{ -} - -void KviNotifierLookOptionsWidget::commit() -{ - int iFlags=0; - switch(m_pHorizontalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignLeft; - break; - case 2: - iFlags|=Qt::AlignRight; - break; - case 3: - iFlags|=Qt::AlignHCenter; - break; - } - switch(m_pVerticalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignTop; - break; - case 2: - iFlags|=Qt::AlignBottom; - break; - case 3: - iFlags|=Qt::AlignVCenter; - break; - } - - KVI_OPTION_UINT(KviOption_uintNotifierPixmapAlign)=iFlags; - KviOptionsWidget::commit(); -} - - - -KviNotifierOptionsWidget::KviNotifierOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("notifier_options_widget"); - - createLayout(); - - int iRow = 0; - - KviBoolSelector * b = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Enable the notifier","options"),KviOption_boolEnableNotifier); - QString szTip = "
"; - szTip += __tr2qs_ctx("This is an option for the impatient: it allows to forcibly and permanently disable " \ - "the notifier window. Please note that if this option is not activated then " \ - "the notifier will NOT popup even if all the other options around specify " \ - "to use it in response to particular events. Also note that this option " \ - "will make all the /notifier.* commands fail silently.","options"); - szTip += "
"; - mergeTip(b,szTip); - - iRow++; - - KviBoolSelector * b2; - KviBoolSelector * b3; - -#ifdef COMPILE_KDE_SUPPORT - b2 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Use the KDE notifier","options"),KviOption_boolUseKDENotifier); - szTip += __tr2qs_ctx("This option uses the KDE notification system " \ - "instead of KVIrc one.
" \ - "This is cool if you want to better integrate KVIrc inside KDE. " \ - "Note that KDE's notifier isn't flexible and \"tabbed\" like KVIrc's","options"); - szTip += "
"; - mergeTip(b2,szTip); - - b2->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); - connect(b,SIGNAL(toggled(bool)),b2,SLOT(setEnabled(bool))); - - iRow++; -#endif // COMPILE_KDE_SUPPORT - -#ifdef COMPILE_DBUS_SUPPORT - b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Use the DBus-based notifiers","options"),KviOption_boolUseDBusNotifier); - szTip = "
"; - szTip += __tr2qs_ctx("This option uses the DBus-based notifier instead of " \ - "KVIrc one.
" \ - "This is cool if you want to better integrate KVIrc inside your " \ - "desktop environment. " \ - "Note that this notifier isn't flexible and \"tabbed\" like KVIrc's","options"); - szTip += "
"; - mergeTip(b3,szTip); - - b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); - connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); - -#ifdef COMPILE_KDE_SUPPORT - b3->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseKDENotifier)); - connect(b2,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); -#endif - - iRow++; -#endif // COMPILE_DBUS_SUPPORT - -#if defined(COMPILE_KDE_SUPPORT) || defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - - b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Don't show notifier when there is an active fullscreen window","options"),KviOption_boolDontShowNotifierIfActiveWindowIsFullScreen); - - szTip = "
"; - szTip += __tr2qs_ctx("This option stops the notifier from being displayed when there is an active fullscreen window. " \ - "This is useful for gaming sessions where you may be distracted by the notifier or it may even switch " \ - "your game from fullscreen to window mode.","options"); - szTip += "
"; - mergeTip(b3,szTip); - - b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); - QObject::connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); - - iRow++; - -#endif //COMPILE_KDE_SUPPORT || COMPILE_ON_WINDOWS || COMPILE_ON_MINGW - - b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Enable notifier window flashing","options"),KviOption_boolNotifierFlashing); - - b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); - QObject::connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); - - iRow++; - - b3 = addBoolSelector(0,iRow,0,iRow,__tr2qs_ctx("Enable notifier window fade effect","options"),KviOption_boolNotifierFading); - - b3->setEnabled(KVI_OPTION_BOOL(KviOption_boolEnableNotifier)); - QObject::connect(b,SIGNAL(toggled(bool)),b3,SLOT(setEnabled(bool))); - - iRow++; - - KviTalGroupBox * g = addGroupBox(0,iRow,0,iRow,Qt::Horizontal,__tr2qs_ctx("Advanced configuration","options")); - connect(b,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); - - connect(b, - SIGNAL(toggled(bool)), - addUIntSelector(g,__tr2qs_ctx("Default auto hiding time for messages (0 to disable)","options"), - KviOption_uintNotifierAutoHideTime, - 0,86400,30,KVI_OPTION_BOOL(KviOption_boolEnableNotifier)), - SLOT(setEnabled(bool))); - - connect(b3, - SIGNAL(toggled(bool)), - addUIntSelector(g,__tr2qs_ctx("Notifier window opacity while active (mouseover)","options"), - KviOption_uintNotifierActiveTransparency, - 0,100,90,KVI_OPTION_BOOL(KviOption_boolNotifierFading)), - SLOT(setEnabled(bool))); - - connect(b3, - SIGNAL(toggled(bool)), - addUIntSelector(g,__tr2qs_ctx("Notifier window opacity while inactive","options"), - KviOption_uintNotifierInactiveTransparency, - 0,100,40,KVI_OPTION_BOOL(KviOption_boolNotifierFading)), - SLOT(setEnabled(bool))); - - iRow++; - - addRowSpacer(0,iRow,0,iRow); -} - -KviNotifierOptionsWidget::~KviNotifierOptionsWidget() -{ -} -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_input.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_notifier.h b/src/modules/options/optw_notifier.h deleted file mode 100644 index 789089129..000000000 --- a/src/modules/options/optw_notifier.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _OPTW_NOTIFIER_H_ -#define _OPTW_NOTIFIER_H_ - -//============================================================================= -// -// File : optw_notifier.h -// Creation date : Thu Jul 09 2009 10:54:39 CEST by Fabio Bas -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviNotifierLookOptionsWidget KVI_SMALLICON_ALERT -#define KVI_OPTIONS_WIDGET_NAME_KviNotifierLookOptionsWidget __tr2qs_no_lookup("Notifier") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierLookOptionsWidget __tr2qs_no_lookup("theme,colors,text") -#define KVI_OPTIONS_WIDGET_GROUP_KviNotifierLookOptionsWidget "theme" - -class KviNotifierLookOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -private: - QComboBox* m_pHorizontalAlign; - QComboBox* m_pVerticalAlign; -public: - KviNotifierLookOptionsWidget(QWidget * parent); - ~KviNotifierLookOptionsWidget(); - - virtual void commit(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviNotifierOptionsWidget KVI_SMALLICON_ALERT -#define KVI_OPTIONS_WIDGET_NAME_KviNotifierOptionsWidget __tr2qs_no_lookup("Notifier") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifierOptionsWidget __tr2qs_no_lookup("popup") -#define KVI_OPTIONS_WIDGET_PARENT_KviNotifierOptionsWidget KviInterfaceFeaturesOptionsWidget - -class KviNotifierOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviNotifierOptionsWidget(QWidget * parent); - ~KviNotifierOptionsWidget(); -}; - -#endif //!_OPTW_NOTIFIER_H_ diff --git a/src/modules/options/optw_notify.cpp b/src/modules/options/optw_notify.cpp deleted file mode 100644 index 832836930..000000000 --- a/src/modules/options/optw_notify.cpp +++ /dev/null @@ -1,107 +0,0 @@ -//============================================================================= -// -// File : optw_notify.cpp -// Creation date : Sun Oct 28 15:11:29 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_notify.h" - -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviNotifyOptionsWidget::KviNotifyOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("notify_options_widget"); - - createLayout(); - - KviBoolSelector * b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Use online notify list","options"),KviOption_boolUseNotifyList); - KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Configuration","options")); - connect(b,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); - - connect(b, - SIGNAL(toggled(bool)), - addBoolSelector(g,__tr2qs_ctx("Show notifications in active window","options"), - KviOption_boolNotifyListChangesToActiveWindow,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addBoolSelector(g,__tr2qs_ctx("Flash window when users are going online","options"), - KviOption_boolFlashWindowOnNotifyOnLine,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addBoolSelector(g,__tr2qs_ctx("Popup notifier when users are going online","options"), - KviOption_boolPopupNotifierOnNotifyOnLine,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - - g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Advanced configuration","options")); - connect(b,SIGNAL(toggled(bool)),g,SLOT(setEnabled(bool))); - - connect(b, - SIGNAL(toggled(bool)), - addBoolSelector(g,__tr2qs_ctx("Check USERHOST for online users","options"), - KviOption_boolNotifyListSendUserhostForOnlineUsers,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addBoolSelector(g,__tr2qs_ctx("Use \"smart\" notify list manager","options"), - KviOption_boolUseIntelligentNotifyListManager,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addBoolSelector(g,__tr2qs_ctx("Use the WATCH method if available","options"), - KviOption_boolUseWatchListIfAvailable,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addUIntSelector(g,__tr2qs_ctx("Check interval (in seconds)","options"), - KviOption_uintNotifyListCheckTimeInSecs, - 5,3600,180,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addUIntSelector(g,__tr2qs_ctx("ISON delay (in seconds)","options"), - KviOption_uintNotifyListIsOnDelayTimeInSecs, - 5,180,6,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - connect(b, - SIGNAL(toggled(bool)), - addUIntSelector(g,__tr2qs_ctx("USERHOST delay (in seconds)","options"), - KviOption_uintNotifyListUserhostDelayTimeInSecs, - 5,180,6,KVI_OPTION_BOOL(KviOption_boolUseNotifyList)), - SLOT(setEnabled(bool))); - - addLabel(0,3,0,3,__tr2qs_ctx("

Note:
The notify list is managed using the \"Registered Users\" settings.

","options")); - addRowSpacer(0,4,0,4); -} - -KviNotifyOptionsWidget::~KviNotifyOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_notify.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_notify.h b/src/modules/options/optw_notify.h deleted file mode 100644 index f0bd7f1bf..000000000 --- a/src/modules/options/optw_notify.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _OPTW_NOTIFY_H_ -#define _OPTW_NOTIFY_H_ -//============================================================================= -// -// File : optw_notify.h -// Creation date : Sun Oct 28 15:11:30 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviNotifyOptionsWidget KVI_SMALLICON_REGUSERS -#define KVI_OPTIONS_WIDGET_NAME_KviNotifyOptionsWidget __tr2qs_no_lookup("Contacts") -#define KVI_OPTIONS_WIDGET_PARENT_KviNotifyOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviNotifyOptionsWidget __tr2qs_no_lookup("notify,buddy,buddies,friends") -#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviNotifyOptionsWidget 2 - -class KviNotifyOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviNotifyOptionsWidget(QWidget * parent); - ~KviNotifyOptionsWidget(); -}; - -#endif //_OPTW_NOTIFY_H_ diff --git a/src/modules/options/optw_protection.cpp b/src/modules/options/optw_protection.cpp deleted file mode 100644 index b0bf2132c..000000000 --- a/src/modules/options/optw_protection.cpp +++ /dev/null @@ -1,47 +0,0 @@ -//============================================================================= -// -// File : optw_protection.cpp -// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "optw_protection.h" - -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviProtectionOptionsWidget::KviProtectionOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("protection_options_widget"); - - createLayout(); -} - -KviProtectionOptionsWidget::~KviProtectionOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_protection.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_protection.h b/src/modules/options/optw_protection.h deleted file mode 100644 index e800ee831..000000000 --- a/src/modules/options/optw_protection.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _OPTW_PROTECTION_H_ -#define _OPTW_PROTECTION_H_ -//============================================================================= -// -// File : optw_protection.h -// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "kvi_settings.h" -#include "KviOptionsWidget.h" -#include "KviSelectors.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviProtectionOptionsWidget KVI_SMALLICON_SPY -#define KVI_OPTIONS_WIDGET_NAME_KviProtectionOptionsWidget __tr2qs_no_lookup("Protection") -#define KVI_OPTIONS_WIDGET_PARENT_KviProtectionOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviProtectionOptionsWidget 60000 -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviProtectionOptionsWidget __tr2qs_no_lookup("ctcp,flood") -#define KVI_OPTIONS_WIDGET_CONTAINER_KviProtectionOptionsWidget true -#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviProtectionOptionsWidget true - -class KviProtectionOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviProtectionOptionsWidget(QWidget * parent); - ~KviProtectionOptionsWidget(); -}; - -#endif //!_OPTW_PROTECTION_H_ diff --git a/src/modules/options/optw_proxy.cpp b/src/modules/options/optw_proxy.cpp deleted file mode 100644 index 113a3591d..000000000 --- a/src/modules/options/optw_proxy.cpp +++ /dev/null @@ -1,364 +0,0 @@ -//============================================================================= -// -// File : optw_proxy.cpp -// Creation date : Mon Jun 24 2000 22:02:11 by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================= - -#include "optw_proxy.h" - -#include "KviLocale.h" -#include "KviIconManager.h" -#include "KviProxy.h" -#include "KviProxyDataBase.h" -#include "KviIpEditor.h" -#include "KviNetUtils.h" -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviTalGroupBox.h" -#include "KviTalPopupMenu.h" -#include "KviTalToolTip.h" - -#include -#include -#include -#include -#include -#include - - -KviProxyOptionsTreeWidgetItem::KviProxyOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,KviProxy * prx) -: QTreeWidgetItem(parent) -{ - qDebug("Creating item"); - setText(0,prx->m_szHostname); - setIcon(0,QIcon(pm)); - m_pProxyData = new KviProxy(*prx); -} - -KviProxyOptionsTreeWidgetItem::~KviProxyOptionsTreeWidgetItem() -{ - qDebug("Deleting item"); - delete m_pProxyData; -} - -KviProxyOptionsWidget::KviProxyOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"proxy_options_widget") -{ - createLayout(); - - addBoolSelector(0,0,1,0,__tr2qs_ctx("Use proxy","options"),KviOption_boolUseProxyHost); - - m_pTreeWidget = new QTreeWidget(this); - addWidgetToLayout(m_pTreeWidget,0,1,0,1); - m_pTreeWidget->setHeaderLabel(__tr2qs_ctx("Proxy","options")); - m_pTreeWidget->setRootIsDecorated(true); - m_pTreeWidget->setAllColumnsShowFocus(true); - m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); - - connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)), - this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); - m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu); - connect(m_pTreeWidget,SIGNAL(customContextMenuRequested(const QPoint &)), - this,SLOT(customContextMenuRequested(const QPoint &))); - - QString tiptxt = __tr2qs_ctx("
This is the list of available proxy servers.
" \ - "Right-click on the list to add or remove proxies.
","options"); - mergeTip(m_pTreeWidget,tiptxt); - mergeTip(m_pTreeWidget->viewport(),tiptxt); - - KviTalVBox * vbox = new KviTalVBox(this); - addWidgetToLayout(vbox,1,1,1,1); - - QToolButton * tb = new QToolButton(vbox); - tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)))); - tb->setAutoRaise(true); - connect(tb,SIGNAL(clicked()),this,SLOT(newProxy())); - mergeTip(tb,__tr2qs_ctx("New Proxy","options")); - - tb = new QToolButton(vbox); - tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)))); - //tb->setEnabled(false); - tb->setAutoRaise(true); - connect(tb,SIGNAL(clicked()),this,SLOT(removeCurrent())); - mergeTip(tb,__tr2qs_ctx("Remove Proxy","options")); - - QFrame * lll = new QFrame(vbox); - vbox->setStretchFactor(lll,100); - - - KviTalGroupBox * gbox = addGroupBox(0,2,1,2,Qt::Horizontal,__tr2qs_ctx("Configuration","options"),this); - //QGridLayout * gl = new QGridLayout(gbox->layout()); - //gl->setMargin(2); - //gl->setSpacing(4); - - m_pProxyLabel = new QLabel(__tr2qs_ctx("Proxy:","options"),gbox); - m_pProxyEdit = new QLineEdit(gbox); - m_pPortLabel = new QLabel(__tr2qs_ctx("Port:","options"),gbox); - m_pPortEdit = new QLineEdit(gbox); - m_pIpLabel = new QLabel(__tr2qs_ctx("IP address:","options"),gbox); - m_pIpEditor = new KviIpEditor(gbox,KviIpEditor::IPv4); - m_pUserLabel = new QLabel(__tr2qs_ctx("Username:","options"),gbox); - m_pUserEdit = new QLineEdit(gbox); - m_pPassLabel = new QLabel(__tr2qs_ctx("Password:","options"),gbox); - m_pPassEdit = new QLineEdit(gbox); - m_pProtocolLabel = new QLabel(__tr2qs_ctx("Protocol:","options"),gbox); - m_pProtocolBox = new QComboBox(gbox); - - QStringList l; - KviProxy::getSupportedProtocolNames(l); - - m_pProtocolBox->addItems(l); - - m_pIPv6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),gbox); - connect(m_pIPv6Check,SIGNAL(toggled(bool)),this,SLOT(ipV6CheckToggled(bool))); -#ifndef COMPILE_IPV6_SUPPORT - m_pIPv6Check->setEnabled(false); -#endif - - m_pLastEditedItem = 0; - - fillProxyList(); - - layout()->setRowStretch(0,1); - layout()->setColumnStretch(0,1); - - m_pContextPopup = new KviTalPopupMenu(this); -} - -KviProxyOptionsWidget::~KviProxyOptionsWidget() -{ -} - -void KviProxyOptionsWidget::ipV6CheckToggled(bool bEnabled) -{ - m_pIpEditor->setAddressType(bEnabled ? KviIpEditor::IPv6 : KviIpEditor::IPv4); -} - -void KviProxyOptionsWidget::fillProxyList() -{ - KviProxyOptionsTreeWidgetItem * prx; - - KviPointerList * l = g_pProxyDataBase->proxyList(); - - for(KviProxy * p = l->first();p;p = l->next()) - { - prx = new KviProxyOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),p); - if(p == g_pProxyDataBase->currentProxy()) - { - prx->setSelected(true); - m_pTreeWidget->setCurrentItem(prx); - m_pTreeWidget->scrollToItem(prx); - } - } - if(!(g_pProxyDataBase->currentProxy()))currentItemChanged(0,0); -} - -void KviProxyOptionsWidget::currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *) -{ - if(m_pLastEditedItem)saveLastItem(); - m_pLastEditedItem = (KviProxyOptionsTreeWidgetItem *)it; - - m_pProxyLabel->setEnabled(m_pLastEditedItem); - m_pProxyEdit->setEnabled(m_pLastEditedItem); - m_pIpLabel->setEnabled(m_pLastEditedItem); - m_pIpEditor->setEnabled(m_pLastEditedItem); - m_pUserLabel->setEnabled(m_pLastEditedItem); - m_pUserEdit->setEnabled(m_pLastEditedItem); - m_pPassLabel->setEnabled(m_pLastEditedItem); - m_pPassEdit->setEnabled(m_pLastEditedItem); - m_pProtocolLabel->setEnabled(m_pLastEditedItem); - m_pProtocolBox->setEnabled(m_pLastEditedItem); - m_pPortLabel->setEnabled(m_pLastEditedItem); - m_pPortEdit->setEnabled(m_pLastEditedItem); - -#ifdef COMPILE_IPV6_SUPPORT - m_pIPv6Check->setEnabled(m_pLastEditedItem); -#else - m_pIPv6Check->setEnabled(false); -#endif - if(m_pLastEditedItem) - { - m_pProxyEdit->setText(m_pLastEditedItem->m_pProxyData->m_szHostname); - - for(int i=0;icount();i++) - { - KviCString txt = m_pProtocolBox->itemText(i); - if(kvi_strEqualCI(m_pLastEditedItem->m_pProxyData->protocolName().toUtf8().data(),txt.ptr())) - { - m_pProtocolBox->setCurrentIndex(i); - break; - } - } - -#ifdef COMPILE_IPV6_SUPPORT - m_pIPv6Check->setChecked(m_pLastEditedItem->m_pProxyData->isIPv6()); - m_pIpEditor->setAddressType(m_pLastEditedItem->m_pProxyData->isIPv6() ? KviIpEditor::IPv6 : KviIpEditor::IPv4); -#else - m_pIPv6Check->setChecked(false); - m_pIpEditor->setAddressType(KviIpEditor::IPv4); -#endif - - if(!m_pIpEditor->setAddress(m_pLastEditedItem->m_pProxyData->m_szIp)) - { -#ifdef COMPILE_IPV6_SUPPORT - m_pIpEditor->setAddress(m_pLastEditedItem->m_pProxyData->isIPv6() ? "0:0:0:0:0:0:0:0" : "0.0.0.0"); -#else - m_pIpEditor->setAddress("0.0.0.0"); -#endif - } - - m_pUserEdit->setText(m_pLastEditedItem->m_pProxyData->m_szUser); - m_pPassEdit->setText(m_pLastEditedItem->m_pProxyData->m_szPass); - KviCString tmp(KviCString::Format,"%u",m_pLastEditedItem->m_pProxyData->m_uPort); - m_pPortEdit->setText(tmp.ptr()); - } else { - m_pProxyEdit->setText(""); - m_pUserEdit->setText(""); - m_pPassEdit->setText(""); - m_pPortEdit->setText(""); - m_pIpEditor->setAddress("0.0.0.0"); - m_pIPv6Check->setEnabled(false); - } -} - -void KviProxyOptionsWidget::saveLastItem() -{ - if(m_pLastEditedItem) - { - KviCString tmp = m_pProxyEdit->text(); - if(tmp.isEmpty())tmp = "irc.unknown.net"; - m_pLastEditedItem->setText(0,tmp.ptr()); - m_pLastEditedItem->m_pProxyData->m_szHostname = tmp; -#ifdef COMPILE_IPV6_SUPPORT - m_pLastEditedItem->m_pProxyData->m_bIsIPv6 = m_pIPv6Check->isChecked(); -#else - m_pLastEditedItem->m_pProxyData->m_bIsIPv6 = false; -#endif - m_pLastEditedItem->m_pProxyData->m_szIp = ""; - QString tmpAddr = m_pIpEditor->address(); - - if(!m_pIpEditor->hasEmptyFields()) - { -#ifdef COMPILE_IPV6_SUPPORT - if(m_pIPv6Check->isChecked()) - { - if((!KviQString::equalCI(tmpAddr,"0:0:0:0:0:0:0:0")) && - KviNetUtils::isValidStringIPv6(tmpAddr)) - { - m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; - } - } else { -#endif - if((!KviQString::equalCI(tmpAddr,"0.0.0.0")) && - KviNetUtils::isValidStringIp(tmpAddr)) - { - m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; - } -#ifdef COMPILE_IPV6_SUPPORT - } -#endif - } - - m_pLastEditedItem->m_pProxyData->m_szPass = m_pPassEdit->text(); - m_pLastEditedItem->m_pProxyData->m_szUser = m_pUserEdit->text(); - tmp = m_pPortEdit->text(); - bool bOk; - kvi_u32_t uPort = tmp.toUInt(&bOk); - if(!bOk)uPort = 1080; - m_pLastEditedItem->m_pProxyData->m_uPort = uPort; -// m_pLastEditedItem->m_pProxyData->m_bSocksV5 = m_pSocks5Check->isChecked(); - tmp = m_pProtocolBox->currentText(); - m_pLastEditedItem->m_pProxyData->setNamedProtocol(tmp.ptr()); - } -} - -void KviProxyOptionsWidget::commit() -{ - saveLastItem(); - g_pProxyDataBase->clear(); - KviProxyOptionsTreeWidgetItem * it;// = (KviProxyOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItemCount(); - - //while(it) - for(int i=0;itopLevelItemCount();i++) - { - it=(KviProxyOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); - QString tmp = it->text(0); - if(!tmp.isEmpty()) - { - KviProxy * prx = new KviProxy(*(it->m_pProxyData)); - g_pProxyDataBase->insertProxy(prx); - - if(it == m_pLastEditedItem)g_pProxyDataBase->setCurrentProxy(prx); - } - //it = (KviProxyOptionsTreeWidgetItem *)it->nextSibling(); - } - - if(g_pProxyDataBase->currentProxy() == 0) - { - g_pProxyDataBase->setCurrentProxy(g_pProxyDataBase->proxyList()->first()); - } - - KviOptionsWidget::commit(); -} - -void KviProxyOptionsWidget::customContextMenuRequested(const QPoint &pos) -{ - QTreeWidgetItem *it=(QTreeWidgetItem *)m_pTreeWidget->itemAt(pos); - m_pContextPopup->clear(); - m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),__tr2qs_ctx("&New Proxy","options"),this,SLOT(newProxy())); - m_pContextPopup->setItemEnabled(m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Re&move Proxy","options"),this,SLOT(removeCurrent())),it); - m_pContextPopup->popup(QCursor::pos()); -} - -void KviProxyOptionsWidget::newProxy() -{ - KviProxy prx; - KviProxyOptionsTreeWidgetItem * it = new KviProxyOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),&prx); - it->setSelected(true); - m_pTreeWidget->setCurrentItem(it); - m_pTreeWidget->scrollToItem(it); -} - -void KviProxyOptionsWidget::removeCurrent() -{ - if(m_pLastEditedItem) - { - //delete m_pLastEditedItem; - //m_pLastEditedItem = 0; - - QTreeWidgetItem * tmp = m_pLastEditedItem; - m_pLastEditedItem = 0; - delete tmp; - - QTreeWidgetItem * it = (QTreeWidgetItem *)m_pTreeWidget->topLevelItem(0); - if(it) - { - it->setSelected(true); - //m_pTreeWidget->ensureItemVisible(it); - } else { - currentItemChanged(0,0); - } - } -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_proxy.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_proxy.h b/src/modules/options/optw_proxy.h deleted file mode 100644 index 943b01cac..000000000 --- a/src/modules/options/optw_proxy.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef _OPTW_PROXY_H_ -#define _OPTW_PROXY_H_ -//============================================================================= -// -// File : optw_proxy.h -// Creation date : Mon Jun 24 2000 21:58:25 by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include - -#include - -class QLabel; -class QLineEdit; -class QComboBox; -class KviIpEditor; -class KviTalPopupMenu; -class KviProxy; -class KviProxyDataBase; - -extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; - -class KviProxyOptionsTreeWidgetItem : public QTreeWidgetItem -{ -public: - KviProxyOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,KviProxy * prx); - ~KviProxyOptionsTreeWidgetItem(); -public: - KviProxy * m_pProxyData; -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviProxyOptionsWidget KVI_SMALLICON_PROXY -#define KVI_OPTIONS_WIDGET_NAME_KviProxyOptionsWidget __tr2qs_no_lookup("Proxy Hosts") -#define KVI_OPTIONS_WIDGET_PARENT_KviProxyOptionsWidget KviConnectionOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviProxyOptionsWidget __tr2qs_no_lookup("connection,servers") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviProxyOptionsWidget 70000 - -class KviProxyOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviProxyOptionsWidget(QWidget * parent); - ~KviProxyOptionsWidget(); -protected: - QTreeWidget * m_pTreeWidget; - QLabel * m_pProxyLabel; - QLineEdit * m_pProxyEdit; - QLabel * m_pIpLabel; - KviIpEditor * m_pIpEditor; - QLabel * m_pUserLabel; - QLineEdit * m_pUserEdit; - QLabel * m_pPassLabel; - QLineEdit * m_pPassEdit; - QLabel * m_pPortLabel; - QLineEdit * m_pPortEdit; - QLabel * m_pProtocolLabel; - QComboBox * m_pProtocolBox; - KviTalPopupMenu * m_pContextPopup; - QCheckBox * m_pIPv6Check; - KviProxyOptionsTreeWidgetItem * m_pLastEditedItem; -private: - - void fillProxyList(); - void saveLastItem(); -protected slots: - void currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *prev); - void customContextMenuRequested(const QPoint &pnt); - void newProxy(); - void removeCurrent(); - void ipV6CheckToggled(bool bEnabled); -public: - virtual void commit(); -}; - -#endif //!_OPTW_PROXY_H_ diff --git a/src/modules/options/optw_query.cpp b/src/modules/options/optw_query.cpp deleted file mode 100644 index b020570dc..000000000 --- a/src/modules/options/optw_query.cpp +++ /dev/null @@ -1,116 +0,0 @@ -//============================================================================= -// -// File : optw_query.cpp -// Creation date : Mon Oct 29 15:37:16 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - - -#include "optw_query.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "kvi_settings.h" - -#include - - -KviQueryOptionsWidget::KviQueryOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("query_options_widget"); - - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,1,0,Qt::Horizontal,__tr2qs_ctx("Open Query For","options")); - KviBoolSelector * b = addBoolSelector(g, __tr2qs_ctx("Private messages","options"),KviOption_boolCreateQueryOnPrivmsg); - mergeTip(b, - __tr2qs_ctx("
This option enables query window creation " \ - "when a private message (PRIVMSG) is received.
" \ - "If you disable this, private messages will " \ - "be shown in the active window or a common channel.
","options")); - - b = addBoolSelector(g, __tr2qs_ctx("Private notices","options"),KviOption_boolCreateQueryOnNotice); - mergeTip(b, - __tr2qs_ctx("
This option enables query window creation " \ - "when a private notice (NOTICE) is received.
" \ - "If you disable this, private notices will " \ - "be shown in the active window or a common channel.
","options")); - - - b = addBoolSelector(0,1,1,1,__tr2qs_ctx("Always open queries as minimized","options"),KviOption_boolCreateMinimizedQuery); - - mergeTip(b, - __tr2qs_ctx("
This option causes newly created " \ - "query windows to be immediately minimized.
" \ - "Enable this if you don't like queries " \ - "popping up while you're typing something in a channel. :D
","options")); - - - b = addBoolSelector(0,2,1,2, __tr2qs_ctx("Enable target user tracking","options"),KviOption_boolEnableQueryTracing); - mergeTip(b, - __tr2qs_ctx("
This option will enable target user tracking.
" \ - "Some actions of the target user (e.g. joins and parts) " \ - "will be displayed in the window.
","options")); - -#if (defined(COMPILE_ON_WINDOWS) || defined(COMPILE_KDE_SUPPORT) || defined(COMPILE_ON_MINGW)) - b = addBoolSelector(0,3,1,3,__tr2qs_ctx("Flash system taskbar on new query message","options"),KviOption_boolFlashQueryWindowOnNewMessages); - mergeTip(b, - __tr2qs_ctx("
This option causes the system taskbar entry for KVIrc to flash when a new query message " \ - "is received and the KVIrc window is not the active.
","options")); -#endif - - b = addBoolSelector(0,4,1,4, __tr2qs_ctx("Popup notifier on new query message","options"),KviOption_boolPopupNotifierOnNewQueryMessages); - mergeTip(b, - __tr2qs_ctx("
This option causes a small notifier window to pop up " \ - "in the low right corner of the screen when a new message is received " \ - "and the KVIrc window is not active.
","options")); - b = addBoolSelector(0,5,1,5, __tr2qs_ctx("Show information about query target at the top of the query","options"),KviOption_boolShowExtendedInfoInQueryLabel); - mergeTip(b, - __tr2qs_ctx("
This option enables query window information " \ - "label. It can show you known information about query target at the top of the window.
" \ - "Uncheck if you think,that it wastes your query space/" \ - "
","options")); - - b = addBoolSelector(0,6,1,6,__tr2qs_ctx("Paste last query log","options"),KviOption_boolPasteLastLogOnQueryJoin); - - KviTalHBox * box = new KviTalHBox(this); - addWidgetToLayout(box,0,7,1,7); - - KviUIntSelector * u = addUIntSelector(box,__tr2qs_ctx("Paste up to:","options"),KviOption_uintLinesToPasteOnQueryJoin,0,50,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnQueryJoin)); - u->setSuffix(__tr2qs_ctx(" lines","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 0 lines
Maximum value: 50 lines
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - u = addUIntSelector(box,__tr2qs_ctx("Interval:","options"),KviOption_uintDaysIntervalToPasteOnQueryJoin,1,10,10,KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnQueryJoin)); - u->setSuffix(__tr2qs_ctx(" days","options")); - mergeTip(u,__tr2qs_ctx("
Minimum value: 0 days
Maximum value: 10 days
","options")); - connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); - - addRowSpacer(0,8,1,8); -} - -KviQueryOptionsWidget::~KviQueryOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_query.moc" -#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_query.h b/src/modules/options/optw_query.h deleted file mode 100644 index 9d1e9c98a..000000000 --- a/src/modules/options/optw_query.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _OPTW_QUERY_H_ -#define _OPTW_QUERY_H_ -//============================================================================= -// -// File : optw_query.h -// Creation date : Tue Mar 05 22:31:18 2002 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 Szymon Stefanek (pragma@kvirc.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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviQueryOptionsWidget KVI_SMALLICON_QUERY -#define KVI_OPTIONS_WIDGET_NAME_KviQueryOptionsWidget __tr2qs_no_lookup("Query") -#define KVI_OPTIONS_WIDGET_PARENT_KviQueryOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviQueryOptionsWidget __tr2qs_no_lookup("chat") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviQueryOptionsWidget 80000 -#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviQueryOptionsWidget true - -class KviQueryOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviQueryOptionsWidget(QWidget * parent); - ~KviQueryOptionsWidget(); -}; - -#endif //_OPTW_QUERY_H_ diff --git a/src/modules/options/optw_servers.cpp b/src/modules/options/optw_servers.cpp deleted file mode 100644 index 68acd25e2..000000000 --- a/src/modules/options/optw_servers.cpp +++ /dev/null @@ -1,2001 +0,0 @@ -//============================================================================= -// -// File : optw_servers.cpp -// Creation date : Wed Jun 12 2000 03:29:51 by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================= - -#include "optw_servers.h" -#include "optw_proxy.h" -#include "optw_nickserv.h" // for the NickServ rule editor - -#include "container.h" - -#include "KviQueryWindow.h" -#include "KviChannelWindow.h" -#include "KviLocale.h" -#include "KviIconManager.h" -#include "KviIrcServerDataBase.h" -#include "KviIpEditor.h" -#include "KviNetUtils.h" -#include "kvi_settings.h" -#include "KviFileDialog.h" -#include "KviConfigurationFile.h" -#include "KviScriptEditor.h" -#include "KviOptions.h" -#include "KviApplication.h" -#include "KviConsoleWindow.h" -#include "KviIrcUrl.h" -#include "KviModule.h" -#include "KviModuleManager.h" -#include "KviModuleExtension.h" -#include "KviMessageBox.h" -#include "KviMexServerImport.h" -#include "KviNickServRuleSet.h" -#include "KviProxy.h" -#include "KviProxyDataBase.h" -#include "KviKvsScript.h" -#include "KviPointerHashTable.h" -#include "KviTalPopupMenu.h" -#include "KviTalToolTip.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) || defined(COMPILE_ON_MAC) - #include - #include -#endif //COMPILE_ON_WINDOWS || COMPILE_ON_MINGW - -KviIrcNetworkDetailsWidget::KviIrcNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n) - : QDialog(par) -{ - setModal(true); - setObjectName("network_details"); - - m_pOnConnectEditor=0; - m_pOnLoginEditor=0; - - m_pUserEditor=0; - m_pPassEditor=0; - m_pNickEditor=0; - m_pRealEditor=0; - m_pDescEditor=0; - - m_pEncodingEditor=0; - m_pTextEncodingEditor=0; - - m_pAutoConnectCheck=0; - - m_pNickServTreeWidget=0; - m_pNickServCheck=0; - m_pAddRuleButton=0; - m_pDelRuleButton=0; - m_pEditRuleButton=0; - - m_pChannelListSelector=0; - - QGridLayout * g = new QGridLayout(this); - - setWindowTitle(__tr2qs_ctx("Network Details","options")); - setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)))); - - QString szTmp = ""; - szTmp += n->name(); - szTmp += ""; - - QLabel * l = new QLabel(szTmp,this); - l->setFrameStyle(QFrame::Raised | QFrame::StyledPanel); - l->setAlignment(Qt::AlignCenter); - g->addWidget(l,0,0,1,4); - - l->setMinimumWidth(200); - - l = new QLabel(__tr2qs_ctx("Description:","options"),this); - g->addWidget(l,1,0); - m_pDescEditor = new QLineEdit(this); - g->addWidget(m_pDescEditor,1,1,1,3); - - m_pDescEditor->setText(n->description()); - KviTalToolTip::add(m_pDescEditor,__tr2qs_ctx("
Put here a brief description of the network.
","options")); - - // Identity tab - - QTabWidget * tw = new QTabWidget(this); - g->addWidget(tw,2,0,1,4); - - QWidget * tab = new QWidget(tw); - QGridLayout * gl = new QGridLayout(tab); - - KviTalGroupBox *gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("Properties","options"),tab); - gl->addWidget(gbox,0,0,1,2); - - QGridLayout * pPropertiesBoxLayout = new QGridLayout(); - gbox->setLayout(pPropertiesBoxLayout); - - l = new QLabel(__tr2qs_ctx("Username:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,0,0); - - m_pUserEditor = new QLineEdit(gbox); - m_pUserEditor->setText(n->userName()); - pPropertiesBoxLayout->addWidget(m_pUserEditor,0,1); - - KviTalToolTip::add(m_pUserEditor,__tr2qs_ctx("
This is the username that KVIrc will use to login to servers on this network.\n" \ - "If this field is left empty (most common case), KVIrc will use the default username " \ - "specified in the \"Identity\" options tab.
","options")); - - l = new QLabel(__tr2qs_ctx("Password:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,1,0); - - m_pPassEditor = new KviPasswordLineEdit(gbox); - m_pPassEditor->setText(n->password()); - pPropertiesBoxLayout->addWidget(m_pPassEditor,1,1); - - KviTalToolTip::add(m_pPassEditor,__tr2qs_ctx("
If this network requires a password, put it in this field, otherwise leave it empty.
","options")); - - l = new QLabel(__tr2qs_ctx("Nickname:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,2,0); - - m_pNickEditor = new QLineEdit(gbox); - QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*",Qt::CaseSensitive),gbox); - m_pNickEditor->setValidator(v); - m_pNickEditor->setText(n->nickName()); - pPropertiesBoxLayout->addWidget(m_pNickEditor,2,1); - - - KviTalToolTip::add(m_pNickEditor,__tr2qs_ctx("
You can specify a \"special\" nickname that will be used to log in to the servers on this network.
" \ - "If this field is left empty (most common case), the default nickname (specified in the \"Identity\" settings) will be used.
","options")); - - l = new QLabel(__tr2qs_ctx("Real name:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,3,0); - - m_pRealEditor = new QLineEdit(gbox); - m_pRealEditor->setText(n->realName()); - pPropertiesBoxLayout->addWidget(m_pRealEditor,3,1); - - KviTalToolTip::add(m_pRealEditor,__tr2qs_ctx("
You can specify a \"special\" real name that will be used to login with the servers on this network.
" \ - "If you leave this field empty (most common case), the default \"real name\" (specified in the \"Identity\" settings) will be used.
","options")); - - //server encoding - - l = new QLabel(__tr2qs_ctx("Server Encoding:","options"),tab); - gl->addWidget(l,1,0); - m_pEncodingEditor = new QComboBox(tab); - m_pEncodingEditor->setDuplicatesEnabled(false); - gl->addWidget(m_pEncodingEditor,1,1); - KviTalToolTip::add(m_pEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for the servers in this network. " \ - "This encoding will be used for server specific needs, like referencing nicknames and channel names." \ - "If you choose \"Use System Encoding\" then the encoding will be set to the systemwide " \ - "value that you choose in the \"Encoding\" page of the options dialog.
","options")); - - //text encoding - - l = new QLabel(__tr2qs_ctx("Text Encoding:","options"),tab); - gl->addWidget(l,2,0); - m_pTextEncodingEditor = new QComboBox(tab); - m_pTextEncodingEditor->setDuplicatesEnabled(false); - gl->addWidget(m_pTextEncodingEditor,2,1); - KviTalToolTip::add(m_pTextEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for the servers in this network. " \ - "This encoding will be used as the default for text messages." \ - "If you choose \"Use System Encoding\" then the encoding will be set to the systemwide " \ - "value that you choose in the \"Encoding\" page of the options dialog.
","options")); - - //common between server encoding and text encoding - - int i = 0; - int srvcurrent = 0, txtcurrent=0; - KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); - QString tmp; - m_pEncodingEditor->addItem(__tr2qs_ctx("Use System Encoding","options")); - m_pTextEncodingEditor->addItem(__tr2qs_ctx("Use System Encoding","options")); - while(d->szName) - { - KviQString::sprintf(tmp,"%s (%s)",d->szName,d->szDescription); - m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp); - m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp); - if(KviQString::equalCI(d->szName,n->encoding()))srvcurrent = i + 1; - if(KviQString::equalCI(d->szName,n->textEncoding()))txtcurrent = i + 1; - i = i + 1; - d = KviLocale::encodingDescription(i); - } - - m_pEncodingEditor->setCurrentIndex(srvcurrent); - m_pTextEncodingEditor->setCurrentIndex(txtcurrent); - - - m_pAutoConnectCheck = new QCheckBox(__tr2qs_ctx("Connect to this network at startup","options"),tab); - m_pAutoConnectCheck->setChecked(n->autoConnect()); - gl->addWidget(m_pAutoConnectCheck,3,0,1,2); - - KviTalToolTip::add(m_pAutoConnectCheck,__tr2qs_ctx("
This option will cause KVIrc to automatically connect to this network at startup
","options")); - - - l = new QLabel("",tab); - gl->addWidget(l,4,0); - - gl->setRowStretch(4,1); - gl->setColumnStretch(1,1); - - tw->addTab(tab,__tr2qs_ctx("General","options")); - - // after login join channels - tab = new QWidget(tw); - - gl = new QGridLayout(tab); - - if(n->autoJoinChannelList()) - m_lstChannels = *(n->autoJoinChannelList()); - m_pChannelListSelector = new KviChannelListSelector(tab, - __tr2qs_ctx("Channels to join automatically upon connect:","options"),&m_lstChannels,true); - - KviTalToolTip::add(m_pChannelListSelector,__tr2qs_ctx("
Here you can set a list of channels to be joined automatically " \ - "after a connection to a server in this network has been established. To add a channel, type its name in the " \ - "text input below and click \"Add\".
","options")); - - gl->addWidget(m_pChannelListSelector,0,0); - - tw->addTab(tab,__tr2qs_ctx("Join Channels","options")); - - // after connect execute - tab = new QWidget(tw); - gl = new QGridLayout(tab); - - m_pOnConnectEditor = KviScriptEditor::createInstance(tab); - gl->addWidget(m_pOnConnectEditor,0,0); - m_pOnConnectEditor->setText(n->onConnectCommand()); - m_pOnConnectEditor->setMinimumHeight(150); - KviTalToolTip::add(m_pOnConnectEditor,__tr2qs_ctx("
The following commands will be executed after a connection to a server in this network has been established.
" \ - "Important: Enter commands without a preceding slash (e.g. quote pass secret instead of /quote pass secret).
"\ - "KVIrc will first send the USER command, then eventually PASS and NICK and then execute this " \ - "command sequence.
","options")); - - tw->addTab(tab,__tr2qs_ctx("On Connect","options")); - - - // after login execute - tab = new QWidget(tw); - gl = new QGridLayout(tab); - - m_pOnLoginEditor = KviScriptEditor::createInstance(tab); - gl->addWidget(m_pOnLoginEditor,0,0); - m_pOnLoginEditor->setText(n->onLoginCommand()); - - m_pOnLoginEditor->setMinimumHeight(150); - - KviTalToolTip::add(m_pOnLoginEditor, - __tr2qs_ctx("
The following commands will be executed after a successful login to a server in this network.
" \ - "Important: Enter commands without a preceding slash (e.g. quote privatelog instead of /quote privatelog).
" - "This is useful for automatically opening queries, setting variables, etc.
","options")); - - tw->addTab(tab,__tr2qs_ctx("On Login","options")); - - - // nick serv rules - - tab = new QWidget(tw); - gl = new QGridLayout(tab); - - KviNickServRuleSet * rs = n->nickServRuleSet(); - bool bNickServEnabled = rs ? (rs->isEnabled() && !rs->isEmpty()) : false; - - m_pNickServCheck = new QCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),tab); - gl->addWidget(m_pNickServCheck,0,0,1,3); - - KviTalToolTip::add(m_pNickServCheck, - __tr2qs_ctx("This check enables the automatic identification with NickServ","options")); - m_pNickServCheck->setChecked(bNickServEnabled); - - m_pNickServTreeWidget = new QTreeWidget(tab); - m_pNickServTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); - m_pNickServTreeWidget->setAllColumnsShowFocus(true); - m_pNickServTreeWidget->setColumnCount(4); - QStringList columnLabels; - columnLabels.append(__tr2qs_ctx("Nickname","options")); - columnLabels.append(__tr2qs_ctx("NickServ Mask","options")); - columnLabels.append(__tr2qs_ctx("NickServ Request Mask","options")); - columnLabels.append(__tr2qs_ctx("Identify Command","options")); - m_pNickServTreeWidget->setHeaderLabels(columnLabels); - connect(m_pNickServTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(enableDisableNickServControls())); - gl->addWidget(m_pNickServTreeWidget,1,0,1,3); - - KviTalToolTip::add(m_pNickServTreeWidget, - __tr2qs_ctx("
This is a list of NickServ identification rules. " \ - "KVIrc will use them to model its automatic interaction with NickServ on this network.
" \ - "Please be aware that this feature can cause your NickServ passwords to be stolen " \ - "if used improperly. Make sure that you fully understand the NickServ authentication protocol.
" \ - "In other words, be sure to know what you're doing.
" \ - "Also note that the password that you provide is stored as PLAIN TEXT.
","options")); - - m_pAddRuleButton = new QPushButton(__tr2qs_ctx("Add Rule","options"),tab); - connect(m_pAddRuleButton,SIGNAL(clicked()),this,SLOT(addNickServRule())); - gl->addWidget(m_pAddRuleButton,2,0); - - - m_pEditRuleButton = new QPushButton(__tr2qs_ctx("Edit Rule","options"),tab); - connect(m_pEditRuleButton,SIGNAL(clicked()),this,SLOT(editNickServRule())); - gl->addWidget(m_pEditRuleButton,2,1); - - m_pDelRuleButton = new QPushButton(__tr2qs_ctx("Delete Rule","options"),tab); - connect(m_pDelRuleButton,SIGNAL(clicked()),this,SLOT(delNickServRule())); - gl->addWidget(m_pDelRuleButton,2,2); - - connect(m_pNickServCheck,SIGNAL(toggled(bool)),this,SLOT(enableDisableNickServControls())); - - if(rs && rs->rules()) - { - KviPointerList * ll = rs->rules(); - for(KviNickServRule * rule = ll->first();rule;rule = ll->next()) - { - QTreeWidgetItem* it = new QTreeWidgetItem(m_pNickServTreeWidget); - it->setText(0,rule->registeredNick()); - it->setText(1,rule->nickServMask()); - it->setText(2,rule->messageRegexp()); - it->setText(3,rule->identifyCommand()); - } - } - - enableDisableNickServControls(); - - gl->setRowStretch(1,1); - - tw->addTab(tab,__tr2qs_ctx("NickServ","options")); - - QPushButton * b = new QPushButton(__tr2qs_ctx("&OK","options"),this); - b->setMinimumWidth(80); - g->addWidget(b,3,2); - b->setDefault(true); - connect(b,SIGNAL(clicked()),this,SLOT(accept())); - - b = new QPushButton(__tr2qs_ctx("Cancel","options"),this); - g->addWidget(b,3,3); - b->setMinimumWidth(80); - connect(b,SIGNAL(clicked()),this,SLOT(reject())); - - g->setRowStretch(2,1); - g->setColumnStretch(1,1); - - tw->setMinimumWidth(375); -} - - -KviIrcNetworkDetailsWidget::~KviIrcNetworkDetailsWidget() -{ - if(m_pOnConnectEditor) KviScriptEditor::destroyInstance(m_pOnConnectEditor); - if(m_pOnLoginEditor) KviScriptEditor::destroyInstance(m_pOnLoginEditor); -} - -void KviIrcNetworkDetailsWidget::editNickServRule() -{ - QTreeWidgetItem * it = (QTreeWidgetItem *) m_pNickServTreeWidget->currentItem(); - if(!it)return; - KviNickServRule r(it->text(0),it->text(1),it->text(2),it->text(3)); - KviNickServRuleEditor ed(this,false); - if(ed.editRule(&r)) - { - it->setText(0,r.registeredNick()); - it->setText(1,r.nickServMask()); - it->setText(2,r.messageRegexp()); - it->setText(3,r.identifyCommand()); - } -} - -void KviIrcNetworkDetailsWidget::addNickServRule() -{ - KviNickServRule r; - KviNickServRuleEditor ed(this,false); - if(ed.editRule(&r)) - { - QTreeWidgetItem *it = new QTreeWidgetItem(m_pNickServTreeWidget); - it->setText(0,r.registeredNick()); - it->setText(1,r.nickServMask()); - it->setText(2,r.messageRegexp()); - it->setText(3,r.identifyCommand()); - } -} - -void KviIrcNetworkDetailsWidget::delNickServRule() -{ - QTreeWidgetItem * it = (QTreeWidgetItem *)m_pNickServTreeWidget->currentItem(); - if(!it)return; - delete it; - enableDisableNickServControls(); -} - -void KviIrcNetworkDetailsWidget::enableDisableNickServControls() -{ - bool bEnabled = m_pNickServCheck->isChecked(); - m_pNickServTreeWidget->setEnabled(bEnabled); - m_pAddRuleButton->setEnabled(bEnabled); - bEnabled = bEnabled && (m_pNickServTreeWidget->topLevelItemCount()) && m_pNickServTreeWidget->currentItem(); - m_pDelRuleButton->setEnabled(bEnabled); - m_pEditRuleButton->setEnabled(bEnabled); -} - -void KviIrcNetworkDetailsWidget::fillData(KviIrcNetwork * n) -{ - n->setUserName(m_pUserEditor->text()); - n->setPassword(m_pPassEditor->text()); - n->setNickName(m_pNickEditor->text()); - n->setRealName(m_pRealEditor->text()); - n->setDescription(m_pDescEditor->text()); - if(m_pAutoConnectCheck) - n->setAutoConnect(m_pAutoConnectCheck->isChecked()); - if(m_pEncodingEditor) - { - if(m_pEncodingEditor->currentIndex() <= 0) - { - n->setEncoding(QString()); - } else { - KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1); - n->setEncoding(d->szName); - } - } - if(m_pTextEncodingEditor) - { - if(m_pTextEncodingEditor->currentIndex() <= 0) - { - n->setTextEncoding(QString()); - } else { - KviLocale::EncodingDescription * dd = KviLocale::encodingDescription(m_pTextEncodingEditor->currentIndex() - 1); - n->setTextEncoding(dd->szName); - } - } - if(m_pChannelListSelector) - m_pChannelListSelector->commit(); - if(m_lstChannels.isEmpty())n->setAutoJoinChannelList(0); - else n->setAutoJoinChannelList(new QStringList(m_lstChannels)); - if(m_pNickServTreeWidget) - { - if(m_pNickServTreeWidget->topLevelItemCount() > 0) - { - KviNickServRuleSet * rs = KviNickServRuleSet::createInstance(); - rs->setEnabled(m_pNickServCheck->isChecked()); - QTreeWidgetItem * it; - for (int i=0;itopLevelItemCount();i++) - { - it=(QTreeWidgetItem *) m_pNickServTreeWidget->topLevelItem(i); - rs->addRule(KviNickServRule::createInstance(it->text(0),it->text(1),it->text(2),it->text(3))); - } - n->setNickServRuleSet(rs); - } else n->setNickServRuleSet(0); - } - if(m_pOnConnectEditor) - { - QString tmp; - m_pOnConnectEditor->getText(tmp); - n->setOnConnectCommand(tmp); - } - if(m_pOnLoginEditor) - { - QString tmp; - m_pOnLoginEditor->getText(tmp); - n->setOnLoginCommand(tmp); - } -} - - -KviIrcServerDetailsWidget::KviIrcServerDetailsWidget(QWidget * par,KviIrcServer * s) -: QDialog(par) -{ - setModal(true); - setObjectName("server_details"); - - m_szHostname = s->hostName(); - QGridLayout * g = new QGridLayout(this); - - setWindowTitle(__tr2qs_ctx("Server Details","options")); - setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)))); - - m_pHeaderLabel = new QLabel("",this); // the text will be set later - m_pHeaderLabel->setFrameStyle(QFrame::Raised | QFrame::StyledPanel); - m_pHeaderLabel->setAlignment(Qt::AlignCenter); - g->addWidget(m_pHeaderLabel,0,0,1,4); - m_pHeaderLabel->setMinimumWidth(200); - - QLabel * l = new QLabel(__tr2qs_ctx("Description:","options"),this); - g->addWidget(l,1,0); - m_pDescEditor = new QLineEdit(this); - g->addWidget(m_pDescEditor,1,1,1,3); - - m_pDescEditor->setText(s->description()); - KviTalToolTip::add(m_pDescEditor,__tr2qs_ctx("
This is a brief description of this server. " \ - "This field has no restrictions but many server lists use it to describe the server's physical location
","options")); - - // Identity tab - - QTabWidget * tw = new QTabWidget(this); - g->addWidget(tw,2,0,1,4); - - QWidget * tab = new QWidget(tw); - QGridLayout * gl = new QGridLayout(tab); - - KviTalGroupBox *gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("Properties","options"),tab); - gl->addWidget(gbox,0,0); - - QGridLayout * pPropertiesBoxLayout = new QGridLayout(); - gbox->setLayout(pPropertiesBoxLayout); - - l = new QLabel(__tr2qs_ctx("Username:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,0,0); - - m_pUserEditor = new QLineEdit(gbox); - m_pUserEditor->setText(s->userName()); - pPropertiesBoxLayout->addWidget(m_pUserEditor,0,1); - - KviTalToolTip::add(m_pUserEditor,__tr2qs_ctx("
This is the username that KVIrc will use to login to this server.\n" \ - "If this field is left empty (most common case), KVIrc will first look if an username is specified " \ - "for the network that this server belongs to, and if that is empty then KVIrc will use the default username " \ - "specified in the \"Identity\" options tab.
","options")); - - l = new QLabel(__tr2qs_ctx("Password:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,1,0); - - m_pPassEditor = new KviPasswordLineEdit(gbox); - m_pPassEditor->setText(s->password()); - pPropertiesBoxLayout->addWidget(m_pPassEditor,1,1); - - KviTalToolTip::add(m_pPassEditor,__tr2qs_ctx("
If this server requires a password, put it in this field, otherwise leave it empty.
","options")); - - l = new QLabel(__tr2qs_ctx("Nickname:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,2,0); - - m_pNickEditor = new QLineEdit(gbox); - QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*"),gbox); - m_pNickEditor->setValidator(v); - m_pNickEditor->setText(s->nickName()); - pPropertiesBoxLayout->addWidget(m_pNickEditor,2,1); - - KviTalToolTip::add(m_pNickEditor,__tr2qs_ctx("
You can specify a \"special\" nickname that will be used to log in to this server.
" \ - "If this field is left empty (most common case), KVIrc will first look if a nickname is specified " \ - "for the network that this server belongs to, and if that is empty then the default nickname (specified in the \"Identity\" settings) will be used.
","options")); - - l = new QLabel(__tr2qs_ctx("Real name:","options"),gbox); - pPropertiesBoxLayout->addWidget(l,3,0); - - m_pRealEditor = new QLineEdit(gbox); - m_pRealEditor->setText(s->realName()); - pPropertiesBoxLayout->addWidget(m_pRealEditor,3,1); - - KviTalToolTip::add(m_pRealEditor,__tr2qs_ctx("
You can specify a \"special\" real name that will be used to login with this server.
" \ - "If you leave this field empty (most common case), KVIrc will first look if a real name is specified " \ - "for the network that this server belongs to, and if that is empty the default \"real name\" (specified in the \"Identity\" settings) will be used.
","options")); - - - - gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("User Mode","options"),tab); - gl->addWidget(gbox,1,0); - - m_pUseDefaultInitUMode = new QCheckBox(__tr2qs_ctx("Use default user mode","options"),gbox); - KviTalToolTip::add(m_pUseDefaultInitUMode,__tr2qs_ctx("
If this is enabled, the global initial user mode (configured from"\ - " the identity dialog) will be used. If disabled, you can configure an initial user mode for this server","options")); - bool bHasUmode = !(s->initUMode().isEmpty()); - KviCString szDefUMode = KVI_OPTION_STRING(KviOption_stringDefaultUserMode); - m_pUseDefaultInitUMode->setChecked(!bHasUmode); - connect(m_pUseDefaultInitUMode,SIGNAL(toggled(bool)),this,SLOT(useDefaultInitUModeToggled(bool))); - - m_pIMode = new QCheckBox(__tr2qs_ctx("Invisible (+i)","options"),gbox); - m_pIMode->setEnabled(bHasUmode); - m_pIMode->setChecked(bHasUmode ? s->initUMode().contains('i',Qt::CaseInsensitive) : szDefUMode.contains('i',Qt::CaseInsensitive)); - - m_pSMode = new QCheckBox(__tr2qs_ctx("Server notices (+s)","options"),gbox); - m_pSMode->setEnabled(bHasUmode); - m_pSMode->setChecked(bHasUmode ? s->initUMode().contains('s',Qt::CaseInsensitive) : szDefUMode.contains('s',Qt::CaseInsensitive)); - - m_pWMode = new QCheckBox(__tr2qs_ctx("Wallops (+w)","options"),gbox); - m_pWMode->setEnabled(bHasUmode); - m_pWMode->setChecked(bHasUmode ? s->initUMode().contains('w',Qt::CaseInsensitive) : szDefUMode.contains('w',Qt::CaseInsensitive)); - - l = new QLabel("",tab); - gl->addWidget(l,2,0); - - gl->setRowStretch(2,1); - - tw->addTab(tab,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WHO)),__tr2qs_ctx("Identity","options")); - - // Connection tab - - int iRow = 0; - - tab = new QWidget(tw); - gl = new QGridLayout(tab); - - l = new QLabel(__tr2qs_ctx("Port:","options"),tab); - gl->addWidget(l,iRow,0); - - - m_pPortEditor = new QLineEdit(tab); - gl->addWidget(m_pPortEditor,iRow,1); - QString tmpz; - tmpz.setNum(s->port()); - m_pPortEditor->setText(tmpz); - KviTalToolTip::add(m_pPortEditor,__tr2qs_ctx("
This is the default port that this server will be contacted on.
Usually 6667 is OK.
","options")); - connect(m_pPortEditor,SIGNAL(textChanged(const QString &)),this,SLOT(portEditorTextChanged(const QString &))); - - iRow++; - - l = new QLabel(__tr2qs_ctx("IP address:","options"),tab); - gl->addWidget(l,iRow,0); - m_pIpEditor = new KviIpEditor(tab,KviIpEditor::IPv4); - gl->addWidget(m_pIpEditor,iRow,1); - KviTalToolTip::add(m_pIpEditor,__tr2qs_ctx("
This is the IP address of this server, it is here for caching purposes.
" \ - "If you leave this field empty, KVIrc will fill it in the first time it connects to the server. " \ - "If you enable the \"cache IP address\" option below, KVIrc will use it as a \"cached result\" " \ - "and avoid looking it up again.
","options")); -#ifdef COMPILE_IPV6_SUPPORT - m_pIpEditor->setAddressType(s->isIPv6() ? KviIpEditor::IPv6 : KviIpEditor::IPv4); -#else - m_pIpEditor->setAddressType(KviIpEditor::IPv4); -#endif - - if(!m_pIpEditor->setAddress(s->m_szIp)) - { -#ifdef COMPILE_IPV6_SUPPORT - m_pIpEditor->setAddress(s->isIPv6() ? "0:0:0:0:0:0:0:0" : "0.0.0.0"); -#else - m_pIpEditor->setAddress("0.0.0.0"); -#endif - } - - iRow++; - - QGridLayout * pCheckBoxLayout = new QGridLayout(); - gl->addLayout(pCheckBoxLayout,iRow,0,1,2); - - m_pCacheIpCheck = new QCheckBox(__tr2qs_ctx("Cache IP address","options"),tab); - pCheckBoxLayout->addWidget(m_pCacheIpCheck,0,0); - - KviTalToolTip::add(m_pCacheIpCheck,__tr2qs_ctx("
This check will enable IP address caching for this server:
" \ - "DNS lookups can be time-consuming and might be blocking on some platforms; " \ - "this option will cause KVIrc to look up the server hostname only once.

" \ - "Advanced: you can also use this option to force a certain server name to resolve " \ - "to a fixed ip address when either the dns for that server is temporairly " \ - "unreachable or you want to avoid the round-robin lookups.
","options")); - m_pCacheIpCheck->setChecked(s->cacheIp()); - - - - - m_pUseAutoConnect = new QCheckBox(__tr2qs_ctx("Connect to this server at startup","options"),tab); - m_pUseAutoConnect->setChecked(s->autoConnect()); - - pCheckBoxLayout->addWidget(m_pUseAutoConnect,0,1); - - KviTalToolTip::add(m_pUseAutoConnect,__tr2qs_ctx("
This option will cause KVIrc to connect to the IRC server when it is started.
","options")); - - - - m_pUseIPV6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),tab); - pCheckBoxLayout->addWidget(m_pUseIPV6Check,1,0); - -#ifdef COMPILE_IPV6_SUPPORT - m_pUseIPV6Check->setChecked(s->isIPv6()); -#else - m_pUseIPV6Check->setEnabled(false); -#endif - connect(m_pUseIPV6Check,SIGNAL(toggled(bool)),this,SLOT(useIPV6CheckToggled(bool))); - - KviTalToolTip::add(m_pUseIPV6Check,__tr2qs_ctx("
This check identifies IPv6 servers.
If enabled, KVIrc will attempt to use the IPv6 protocol " \ - "(thus your OS must have a working IPv6 stack and you must have an IPv6 connection).
","options")); - - - - - m_pUseSSLCheck = new QCheckBox(__tr2qs_ctx("Use SSL protocol","options"),tab); - pCheckBoxLayout->addWidget(m_pUseSSLCheck,1,1); - - KviTalToolTip::add(m_pUseSSLCheck,__tr2qs_ctx("
This check will cause the connection to use the Secure Socket Layer " \ - "encryption support. Obviously, this server must have support for this, too. :)
","options")); -#ifndef COMPILE_SSL_SUPPORT - m_pUseSSLCheck->setEnabled(false); -#endif - m_pUseSSLCheck->setChecked(s->useSSL()); - - - iRow++; - - - //server encoding - - l = new QLabel(__tr2qs_ctx("Protocol Encoding:","options"),tab); - gl->addWidget(l,iRow,0); - m_pEncodingEditor = new QComboBox(tab); - m_pEncodingEditor->setDuplicatesEnabled(false); - gl->addWidget(m_pEncodingEditor,iRow,1); - KviTalToolTip::add(m_pEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for this server. " \ - "This encoding will be used for server specific needs, like referencing nicknames and channel names." \ - "If you choose \"Use Network Encoding\" then the encoding will be inherited from the " \ - "network that this server belongs to.
","options")); - - iRow++; - - //text encoding - - l = new QLabel(__tr2qs_ctx("Text Encoding:","options"),tab); - gl->addWidget(l,iRow,0); - m_pTextEncodingEditor = new QComboBox(tab); - m_pTextEncodingEditor->setDuplicatesEnabled(false); - gl->addWidget(m_pTextEncodingEditor,iRow,1); - KviTalToolTip::add(m_pTextEncodingEditor,__tr2qs_ctx("
This box allows you to choose the preferred encoding for this server. " \ - "This encoding will be used as the default for text messages." \ - "If you choose \"Use Network Encoding\" then the encoding will be inherited from the " \ - "network that this server belongs to.
","options")); - - //common between server encoding and text encoding - - int i = 0; - int srvcurrent = 0, txtcurrent=0; - KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); - QString tmp; - m_pEncodingEditor->addItem(__tr2qs_ctx("Use Network Encoding","options")); - m_pTextEncodingEditor->addItem(__tr2qs_ctx("Use Network Encoding","options")); - while(d->szName) - { - KviQString::sprintf(tmp,"%s (%s)",d->szName,d->szDescription); - m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp); - m_pTextEncodingEditor->insertItem(m_pTextEncodingEditor->count(),tmp); - if(KviQString::equalCI(d->szName,s->encoding()))srvcurrent = i + 1; - if(KviQString::equalCI(d->szName,s->textEncoding()))txtcurrent = i + 1; - i = i + 1; - d = KviLocale::encodingDescription(i); - } - - m_pEncodingEditor->setCurrentIndex(srvcurrent); - m_pTextEncodingEditor->setCurrentIndex(txtcurrent); - - iRow++; - - l = new QLabel(__tr2qs_ctx("Proxy server:","options"),tab); - gl->addWidget(l,iRow,0); - m_pProxyEditor = new QComboBox(tab); - gl->addWidget(m_pProxyEditor,iRow,1); - KviTalToolTip::add(m_pProxyEditor,__tr2qs_ctx("
This is the proxy that KVIrc will use to connect to this server.\n" \ - "If this field is set in \"Default\" KVirc will use global proxy settings, if it is set in \"Direct connection\" " \ - "KVirc will connect to this server without proxy. You can define new proxy server in global options' \"Proxy servers\" menu.
","options")); - - m_pProxyEditor->addItem(__tr2qs_ctx("Default","options")); - m_pProxyEditor->addItem(__tr2qs_ctx("Direct connection","options")); - - KviPointerList * proxylist = g_pProxyDataBase->proxyList(); - for(KviProxy * p = proxylist->first();p;p = proxylist->next()) - { - m_pProxyEditor->insertItem(m_pProxyEditor->count(),QString("%1:%2").arg(p->hostname()).arg(p->port())); - } - if(m_pProxyEditor->count() > (s->proxy()+2)) - m_pProxyEditor->setCurrentIndex(s->proxy()+2); - - iRow++; - - - - - l = new QLabel("",tab); - gl->addWidget(l,iRow,0,1,2); - - gl->setRowStretch(iRow,1); - - tw->addTab(tab,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SOCKETWARNING)),__tr2qs_ctx("Connection","options")); - - // after login join channels - tab = new QWidget(tw); - - gl = new QGridLayout(tab); - - if(s->autoJoinChannelList()) - m_lstChannels = *(s->autoJoinChannelList()); - m_pChannelListSelector = new KviChannelListSelector(tab, - __tr2qs_ctx("Channels to join automatically upon connect:","options"),&m_lstChannels,true); - KviTalToolTip::add(m_pChannelListSelector,__tr2qs_ctx("
Here you can set a list of channels to be joined automatically " \ - "after a connection to this server has been established. To add a channel, type its name in the " \ - "text input below and click \"Add\".
","options")); - gl->addWidget(m_pChannelListSelector,0,0); - - tw->addTab(tab,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CHANNEL)),__tr2qs_ctx("Join Channels","options")); - - // after connect execute - tab = new QWidget(tw); - gl = new QGridLayout(tab); - - - m_pOnConnectEditor = KviScriptEditor::createInstance(tab); - gl->addWidget(m_pOnConnectEditor,0,0); - m_pOnConnectEditor->setText(s->onConnectCommand()); - m_pOnConnectEditor->setMinimumHeight(150); - KviTalToolTip::add(m_pOnConnectEditor,__tr2qs_ctx("
The following commands will be executed after a connection has been established.
" \ - "Important: Enter commands without a preceding slash (e.g. quote pass secret instead of /quote pass secret).
"\ - "KVIrc will first send the USER command, then eventually PASS and NICK and then execute this " \ - "command sequence.
This is particularly useful for IRC bouncers that require login commands.
","options")); - - tw->addTab(tab,__tr2qs_ctx("On Connect","options")); - // after login execute - - tab = new QWidget(tw); - gl = new QGridLayout(tab - ); - - m_pOnLoginEditor = KviScriptEditor::createInstance(tab); - gl->addWidget(m_pOnLoginEditor,0,0); - m_pOnLoginEditor->setText(s->onLoginCommand()); - - m_pOnLoginEditor->setMinimumHeight(150); - - KviTalToolTip::add(m_pOnLoginEditor, - __tr2qs_ctx("
The following commands will be executed after a successful login to this server.
" \ - "Important: Enter commands without a preceding slash (e.g. quote privatelog instead of /quote privatelog).
" - "This is useful for automatically opening queries, setting variables, etc.
","options")); - - tw->addTab(tab,__tr2qs_ctx("On Login","options")); - - - - // Advanced tab - - - tab = new QWidget(tw); - gl = new QGridLayout(tab); - - iRow = 0; - - QGroupBox * pCapGroup = new QGroupBox(__tr2qs_ctx("Extended Capabilities","options"),tab); - gl->addWidget(pCapGroup,iRow,0,1,2); - - QGridLayout * pCapLayout = new QGridLayout(); - pCapGroup->setLayout(pCapLayout); - - m_pEnableCAPCheck = new QCheckBox(__tr2qs_ctx("Query extended capabilities on connect","options"),tab); - pCapLayout->addWidget(m_pEnableCAPCheck,0,0); - - KviTalToolTip::add(m_pEnableCAPCheck,__tr2qs_ctx("
This check will cause the connection to use the Extended Capability " \ - "support. Obviously, this server must have support for this, too. Disable this for irc bouncers.
","options")); - m_pEnableCAPCheck->setChecked(s->enabledCAP()); - - - - m_pEnableSTARTTLSCheck = new QCheckBox(__tr2qs_ctx("Switch to SSL/TLS by using the STARTTLS extension","options"),tab); - pCapLayout->addWidget(m_pEnableSTARTTLSCheck,1,0); - - m_pEnableSTARTTLSCheck->setEnabled(s->enabledCAP()); - QObject::connect(m_pEnableCAPCheck,SIGNAL(toggled(bool)),m_pEnableSTARTTLSCheck,SLOT(setEnabled(bool))); - KviTalToolTip::add(m_pEnableSTARTTLSCheck,__tr2qs_ctx("
This check enables the use of the Transport Layer Security " \ - "protocol. If you enable the proper global option in the Connection/SSL tab, the TLS protocol will be used for this server if available.
","options")); -#ifndef COMPILE_SSL_SUPPORT - m_pEnableSTARTTLSCheck->setEnabled(false); -#endif - m_pEnableSTARTTLSCheck->setChecked(s->enabledCAP() && s->enabledSTARTTLS()); - - - QGroupBox * pSASLGroup = new QGroupBox(__tr2qs_ctx("SASL Authentication","options"),tab); - pCapLayout->addWidget(pSASLGroup,2,0); - - QGridLayout * pSASLLayout = new QGridLayout(pSASLGroup); - - m_pEnableSASLCheck = new QCheckBox(__tr2qs_ctx("Authenticate via SASL extension","options"),pSASLGroup); - pSASLLayout->addWidget(m_pEnableSASLCheck,0,0,1,2); - KviTalToolTip::add(m_pEnableSASLCheck,__tr2qs_ctx("
This check enables the use of the SASL authentication procotol " \ - "If you enable the proper global option in the Connection/SSL tab and fill the Sasl Nickname and Sasl Password fields in this page, the SASL protocol will be used for this server if available.
","options")); - m_pEnableSASLCheck->setChecked(s->enabledSASL()); - - l = new QLabel(__tr2qs_ctx("Sasl Nickname:","options"),pSASLGroup); - pSASLLayout->addWidget(l,1,0); - m_pSaslNickEditor = new QLineEdit(pSASLGroup); - m_pSaslNickEditor->setText(s->saslNick()); - KviTalToolTip::add(m_pSaslNickEditor,__tr2qs_ctx("
If you want to enable SASL authentication, insert your nickname here.
","options")); - pSASLLayout->addWidget(m_pSaslNickEditor,1,1); - - l = new QLabel(__tr2qs_ctx("Sasl Password:","options"),pSASLGroup); - pSASLLayout->addWidget(l,2,0); - m_pSaslPassEditor = new KviPasswordLineEdit(pSASLGroup); // <---- ????? - m_pSaslPassEditor->setText(s->saslPass()); - KviTalToolTip::add(m_pSaslPassEditor,__tr2qs_ctx("
If you want to enable SASL authentication, insert your password here.
","options")); - pSASLLayout->addWidget(m_pSaslPassEditor,2,1); - - pSASLGroup->setEnabled(s->enabledCAP()); - QObject::connect(m_pEnableCAPCheck,SIGNAL(toggled(bool)),pSASLGroup,SLOT(setEnabled(bool))); - - iRow++; - - - l = new QLabel(__tr2qs_ctx("Link filter:","options"),tab); - gl->addWidget(l,iRow,0); - m_pLinkFilterEditor = new QComboBox(tab); - m_pLinkFilterEditor->setEditable(true); - m_pLinkFilterEditor->setDuplicatesEnabled(false); - gl->addWidget(m_pLinkFilterEditor,iRow,1); - - m_pLinkFilterEditor->addItem(""); - - g_pModuleManager->loadModulesByCaps("linkfilter"); - KviModuleExtensionDescriptorList * mexl = KviModuleExtensionManager::instance()->getExtensionList("linkfilter"); - - if(mexl) - { - for(KviModuleExtensionDescriptor * d = mexl->first();d;d = mexl->next()) - m_pLinkFilterEditor->addItem(d->name().ptr()); - } else { - if(!s->linkFilter().isEmpty()) - m_pLinkFilterEditor->addItem(s->linkFilter()); - } - - if(!s->linkFilter().isEmpty()) - { - int i = m_pLinkFilterEditor->findText(s->linkFilter()); - if (i != -1) - m_pLinkFilterEditor->setCurrentIndex(i); - else - m_pLinkFilterEditor->setEditText(s->linkFilter()); - } - else - m_pLinkFilterEditor->setCurrentIndex(0); - - - KviTalToolTip::add(m_pLinkFilterEditor,__tr2qs_ctx("
This field specifies the name of a module that exports a link filter for this type of server.
" \ - "For plain IRC connections, you don't need any link filters; this is used for incompatible protocols.
","options")); - - iRow++; - - l = new QLabel(__tr2qs_ctx("Id:","options"),tab); - gl->addWidget(l,iRow,0); - m_pIdEditor = new QLineEdit(tab); - if(s->id().isEmpty())s->generateUniqueId(); - m_pIdEditor->setText(s->id()); - gl->addWidget(m_pIdEditor,iRow,1); - - KviTalToolTip::add(m_pIdEditor,__tr2qs_ctx("
This field allows you to specify a really unique id for this server. " \ - "You will then be able to use /server -x <this_id> to make the connection. This is especially " \ - "useful when you have multiple server entries with the same hostname and port in different networks (bouncers?)
","options")); - - - iRow++; - - tw->addTab(tab,__tr2qs_ctx("Advanced","options")); - - - - QPushButton * b = new QPushButton(__tr2qs_ctx("OK","options"),this); - b->setMinimumWidth(80); - g->addWidget(b,3,2); - b->setDefault(true); - connect(b,SIGNAL(clicked()),this,SLOT(accept())); - - b = new QPushButton(__tr2qs_ctx("Cancel","options"),this); - g->addWidget(b,3,3); - b->setMinimumWidth(80); - connect(b,SIGNAL(clicked()),this,SLOT(reject())); - - g->setRowStretch(2,1); - g->setColumnStretch(1,1); - - - tw->setMinimumWidth(390); - - setHeaderLabelText(); -} - -KviIrcServerDetailsWidget::~KviIrcServerDetailsWidget() -{ - if(m_pOnConnectEditor) KviScriptEditor::destroyInstance(m_pOnConnectEditor); - if(m_pOnLoginEditor) KviScriptEditor::destroyInstance(m_pOnLoginEditor); -} - -void KviIrcServerDetailsWidget::useIPV6CheckToggled(bool) -{ -#ifdef COMPILE_IPV6_SUPPORT - m_pIpEditor->setAddressType(m_pUseIPV6Check->isChecked() ? KviIpEditor::IPv6 : KviIpEditor::IPv4); -#else - m_pIpEditor->setAddressType(KviIpEditor::IPv4); -#endif - setHeaderLabelText(); -} - -void KviIrcServerDetailsWidget::portEditorTextChanged(const QString &) -{ - setHeaderLabelText(); -} - -void KviIrcServerDetailsWidget::setHeaderLabelText() -{ - QString szTmp = "irc"; - if(m_pUseIPV6Check->isChecked())szTmp += "6"; - szTmp += "://"; - szTmp += m_szHostname; - szTmp += ":"; - - bool bOk; - - QString num = m_pPortEditor->text(); - unsigned int uPort = num.toUInt(&bOk); - if(!bOk)uPort = 6667; - num.setNum(uPort); - szTmp += num; - szTmp += ""; - - m_pHeaderLabel->setText(szTmp); -} - -void KviIrcServerDetailsWidget::fillData(KviIrcServer * s) -{ - s->setUserName(m_pUserEditor->text()); - s->setPassword(m_pPassEditor->text()); - s->setNickName(m_pNickEditor->text()); - s->setRealName(m_pRealEditor->text()); - if(m_pDescEditor) - s->setDescription(m_pDescEditor->text()); - if(m_pLinkFilterEditor) - s->setLinkFilter(m_pLinkFilterEditor->lineEdit()->text()); - if(m_pEncodingEditor) - { - if(m_pEncodingEditor->currentIndex() <= 0) - { - s->m_szEncoding = ""; - } else { - KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1); - s->m_szEncoding = d->szName; - } - } - if(m_pTextEncodingEditor) - { - if(m_pTextEncodingEditor->currentIndex() <= 0) - { - s->m_szTextEncoding = ""; - } else { - KviLocale::EncodingDescription * dd = KviLocale::encodingDescription(m_pTextEncodingEditor->currentIndex() - 1); - s->m_szTextEncoding = dd->szName; - } - } - s->setIp(""); - if(m_pCacheIpCheck) - s->setCacheIp(m_pCacheIpCheck->isChecked()); - if(m_pUseSSLCheck) - s->setUseSSL(m_pUseSSLCheck->isChecked()); - if(m_pEnableCAPCheck) - s->setEnabledCAP(m_pEnableCAPCheck->isChecked()); - if(m_pEnableSTARTTLSCheck) - s->setEnabledSTARTTLS(m_pEnableSTARTTLSCheck->isChecked()); - - s->setSaslNick(m_pSaslNickEditor->text()); - s->setSaslPass(m_pSaslPassEditor->text()); - if(m_pEnableSASLCheck) - s->setEnabledSASL( m_pEnableSASLCheck->isChecked() && - !m_pSaslNickEditor->text().isEmpty() && - !m_pSaslPassEditor->text().isEmpty() - ); - - if(m_pIdEditor) - s->setId(m_pIdEditor->text()); - if(s->id().isEmpty())s->generateUniqueId(); - - if(m_pUseDefaultInitUMode) - { - KviCString szUMode; - if(!m_pUseDefaultInitUMode->isChecked()) - { - if(m_pIMode->isChecked())szUMode.append('i'); - if(m_pWMode->isChecked())szUMode.append('w'); - if(m_pSMode->isChecked())szUMode.append('s'); - } - s->setInitUMode(szUMode.ptr()); - } - - QString tmp = m_pPortEditor->text(); - bool bOk; - kvi_u32_t uPort = tmp.toUInt(&bOk); - if(!bOk)uPort = 6667; - s->m_uPort = uPort; -#ifdef COMPILE_IPV6_SUPPORT - s->setIPv6(m_pUseIPV6Check->isChecked()); -#else - s->setIPv6(false); -#endif - - if(m_pIpEditor) - { - QString tmpAddr = m_pIpEditor->address(); - - if(!m_pIpEditor->hasEmptyFields()) - { -#ifdef COMPILE_IPV6_SUPPORT - if(s->isIPv6()) - { - if((!KviQString::equalCI(tmpAddr,"0:0:0:0:0:0:0:0")) && KviNetUtils::isValidStringIp(tmpAddr)) - { - s->setIp(tmpAddr); - } else { - s->setCacheIp(false); - s->setIp(""); - } - } else { -#endif - if((!KviQString::equalCI(tmpAddr,"0.0.0.0")) && KviNetUtils::isValidStringIp(tmpAddr)) - { - s->setIp(tmpAddr); - } else { - s->setCacheIp(false); - s->setIp(""); - } -#ifdef COMPILE_IPV6_SUPPORT - } -#endif - } else { - s->setCacheIp(false); - s->setIp(""); - } - } - if(m_pOnConnectEditor) - { - QString tmp; - m_pOnConnectEditor->getText(tmp); - s->setOnConnectCommand(tmp); - } - if(m_pOnLoginEditor) - { - QString tmp; - m_pOnLoginEditor->getText(tmp); - s->setOnLoginCommand(tmp); - } - if(m_pChannelListSelector) - m_pChannelListSelector->commit(); - if(m_lstChannels.isEmpty())s->setAutoJoinChannelList(0); - else s->setAutoJoinChannelList(new QStringList(m_lstChannels)); - if(m_pUseAutoConnect) - s->setAutoConnect(m_pUseAutoConnect->isChecked()); - if(m_pProxyEditor) - s->setProxy(m_pProxyEditor->currentIndex()-2); -} - -void KviIrcServerDetailsWidget::useDefaultInitUModeToggled(bool b) -{ - m_pIMode->setEnabled(!b); - m_pWMode->setEnabled(!b); - m_pSMode->setEnabled(!b); -} - -// KviApplication.cpp -extern KVIRC_API KviIrcServerDataBase * g_pServerDataBase; - -KviIrcServerOptionsTreeWidgetItem::KviIrcServerOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,const KviIrcNetwork *n) - : QTreeWidgetItem(parent) -{ - setIcon(0,QIcon(pm)); - m_pServerData = 0; - m_pNetworkData = new KviIrcNetwork(*n); - setText(0,n->name()); - setText(1,n->description()); -} - -KviIrcServerOptionsTreeWidgetItem::KviIrcServerOptionsTreeWidgetItem(QTreeWidgetItem *parent,const QPixmap &pm,const KviIrcServer *s) - : QTreeWidgetItem(parent) -{ - setIcon(0,QIcon(pm)); - m_pServerData = new KviIrcServer(*s); - setText(0,s->hostName()); - setText(1,s->description()); - m_pNetworkData = 0; -} - -KviIrcServerOptionsTreeWidgetItem::~KviIrcServerOptionsTreeWidgetItem() -{ - if(m_pServerData)delete m_pServerData; - if(m_pNetworkData)delete m_pNetworkData; -} - -void KviIrcServerOptionsTreeWidgetItem::updateVisibleStrings() -{ - if(m_pNetworkData) - { - setText(0,m_pNetworkData->name()); - setText(1,m_pNetworkData->description()); - return; - } - if(m_pServerData) - { - setText(0,m_pServerData->hostName()); - setText(1,m_pServerData->description()); - } -} - - -KviIrcServerOptionsWidget::KviIrcServerOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("server_options_widget"); - - createLayout(); - - m_pContextPopup = new KviTalPopupMenu(this); - m_pImportPopup = new KviTalPopupMenu(this); - - connect(m_pImportPopup,SIGNAL(aboutToShow()),this,SLOT(importPopupAboutToShow())); - connect(m_pImportPopup,SIGNAL(activated(int)),this,SLOT(importPopupActivated(int))); - - m_pServerDetailsDialog = 0; - m_pNetworkDetailsDialog = 0; - m_pImportFilter = 0; - - m_pTreeWidget = new QTreeWidget(this); - addWidgetToLayout(m_pTreeWidget,0,0,0,0); - m_pTreeWidget->setColumnCount(2); - QStringList columLabels; - columLabels.append(__tr2qs_ctx("Server","options")); - columLabels.append(__tr2qs_ctx("Description","options")); - m_pTreeWidget->setColumnWidth(0,250); - m_pTreeWidget->setColumnWidth(1,250); - - m_pTreeWidget->setSortingEnabled(true); - m_pTreeWidget->sortByColumn(0,Qt::AscendingOrder); - m_pTreeWidget->setHeaderLabels(columLabels); - m_pTreeWidget->setRootIsDecorated(true); - m_pTreeWidget->setAllColumnsShowFocus(true); - m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); - m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu); - connect(m_pTreeWidget,SIGNAL(customContextMenuRequested(const QPoint &)), - this,SLOT(customContextMenuRequested(const QPoint &))); - connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)), - this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); - - connect(m_pTreeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int )), - this,SLOT(itemDoubleClicked(QTreeWidgetItem*, int ))); - - QString tiptxt = __tr2qs_ctx("
This is the list of available IRC servers.
" \ - "Right-click on the list to add or remove servers and perform other actions.
"\ - "Double-click on a item for advanced options.
","options"); - KviTalToolTip::add(m_pTreeWidget,tiptxt); - KviTalToolTip::add(m_pTreeWidget->viewport(),tiptxt); - - KviTalVBox * vbox = new KviTalVBox(this); - vbox->setSpacing(0); - addWidgetToLayout(vbox,1,0,1,0); - - m_pNewNetworkButton = new QToolButton(vbox); - m_pNewNetworkButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)))); - m_pNewNetworkButton->setAutoRaise(true); - connect(m_pNewNetworkButton,SIGNAL(clicked()),this,SLOT(newNetwork())); - KviTalToolTip::add(m_pNewNetworkButton,__tr2qs_ctx("New Network","options")); - - m_pNewServerButton = new QToolButton(vbox); - m_pNewServerButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)))); - m_pNewServerButton->setAutoRaise(true); - connect(m_pNewServerButton,SIGNAL(clicked()),this,SLOT(newServer())); - KviTalToolTip::add(m_pNewServerButton,__tr2qs_ctx("New Server","options")); - - m_pRemoveButton = new QToolButton(vbox); - m_pRemoveButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)))); - m_pRemoveButton->setEnabled(false); - m_pRemoveButton->setAutoRaise(true); - connect(m_pRemoveButton,SIGNAL(clicked()),this,SLOT(removeCurrent())); - KviTalToolTip::add(m_pRemoveButton,__tr2qs_ctx("Remove Network/Server","options")); - - QFrame * f = new QFrame(vbox); - f->setFrameStyle(QFrame::Sunken | QFrame::HLine); - - m_pCopyServerButton = new QToolButton(vbox); - m_pCopyServerButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_COPY)))); - m_pCopyServerButton->setEnabled(false); - m_pCopyServerButton->setAutoRaise(true); - connect(m_pCopyServerButton,SIGNAL(clicked()),this,SLOT(copyServer())); - KviTalToolTip::add(m_pCopyServerButton,__tr2qs_ctx("Copy Server","options")); - - m_pPasteServerButton = new QToolButton(vbox); - m_pPasteServerButton->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE))); - m_pPasteServerButton->setEnabled(false); - m_pPasteServerButton->setAutoRaise(true); - connect(m_pPasteServerButton,SIGNAL(clicked()),this,SLOT(pasteServer())); - KviTalToolTip::add(m_pPasteServerButton,__tr2qs_ctx("Paste Server","options")); - - f = new QFrame(vbox); - f->setFrameStyle(QFrame::Sunken | QFrame::HLine); - - m_pImportButton = new QToolButton(vbox); - m_pImportButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FOLDER)))); - m_pImportButton->setAutoRaise(true); - m_pImportButton->setMenu(m_pImportPopup); - m_pImportButton->setPopupMode(QToolButton::InstantPopup); - - KviTalToolTip::add(m_pImportButton,__tr2qs_ctx("Import List","options")); - - QFrame * lll = new QFrame(vbox); - vbox->setStretchFactor(lll,100); - - KviTalGroupBox *gbox = addGroupBox(0,1,1,1,Qt::Vertical,__tr2qs_ctx("Active Configuration","options")); - m_pSrvNetLabel = new QLabel(__tr2qs_ctx("Server:","options"),gbox); - - m_pSrvNetEdit = new QLineEdit(gbox); - connect(m_pSrvNetEdit,SIGNAL(textEdited(const QString &)),this,SLOT(serverNetworkEditTextEdited(const QString &))); - KviTalToolTip::add(m_pSrvNetEdit,__tr2qs_ctx("
This is the name of the currently selected server or network
","options")); - - m_pDetailsButton = new QPushButton(__tr2qs_ctx("Advanced...","options"),gbox); - connect(m_pDetailsButton,SIGNAL(clicked()),this,SLOT(detailsClicked())); - KviTalToolTip::add(m_pDetailsButton,__tr2qs_ctx("
Click here to edit advanced options for this entry
","options")); - - m_pRecentPopup = new KviTalPopupMenu(gbox); - connect(m_pRecentPopup,SIGNAL(aboutToShow()),this,SLOT(recentServersPopupAboutToShow())); - connect(m_pRecentPopup,SIGNAL(activated(int)),this,SLOT(recentServersPopupClicked(int))); - - QToolButton * tb = new QToolButton(gbox); - tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_TIME)))); - tb->setMenu(m_pRecentPopup); - tb->setAutoRaise(true); - tb->setPopupMode(QToolButton::InstantPopup); - - KviTalToolTip::add(tb,__tr2qs_ctx("
This button shows a list of recently used servers. It allows you to quickly find them in the list.
","options")); - - - // The "Show this dialog at startup" option is shown only when the server options widget is shown as standalone dialog - if(parent->inherits("KviOptionsWidgetContainer")) - { - m_pConnectCurrent = new QPushButton(__tr2qs_ctx("Connect &Now","options"),this); - addWidgetToLayout(m_pConnectCurrent,0,2,1,2); - connect(m_pConnectCurrent,SIGNAL(clicked()),this,SLOT(connectCurrentClicked())); - - QPalette pal(QColor(0,0,128)); - - pal.setColor(QPalette::Active,QPalette::Button,QColor(0,0,220)); - pal.setColor(QPalette::Active,QPalette::ButtonText,QColor(245,245,245)); - - pal.setColor(QPalette::Disabled,QPalette::Button,QColor(98,98,180)); - pal.setColor(QPalette::Disabled,QPalette::ButtonText,QColor(128,128,245)); - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) || defined(COMPILE_ON_MAC) - // Kill the WindowXP/Mac style which does not honor palette - QStyle * pWindowsStyle = QStyleFactory::create("plastique"); - if(!pWindowsStyle) - { - pWindowsStyle = QStyleFactory::create("windows"); - if(!pWindowsStyle) - pWindowsStyle = QStyleFactory::create("motif"); - } - if(pWindowsStyle) - m_pConnectCurrent->setStyle(pWindowsStyle); -#endif //COMPILE_ON_WINDOWS || COMPILE_ON_MINGW - - m_pConnectCurrent->setPalette(pal); - - QFont fnt = m_pConnectCurrent->font(); - fnt.setPointSizeF(fnt.pointSizeF() * 1.4); - fnt.setBold(true); - m_pConnectCurrent->setFont(fnt); - - KviTalToolTip::add(m_pConnectCurrent,__tr2qs_ctx("
Hit this button to connect to the currently selected server.
","options")); - - KviOptionsWidgetContainer * pContainer = dynamic_cast(parent); - if(pContainer) - { - KviBoolSelector * b = addBoolSelector(pContainer,__tr2qs_ctx("Show this dialog at startup","options"),KviOption_boolShowServersConnectDialogOnStart); - pContainer->setLeftCornerWidget(b); - - KviTalToolTip::add(b,__tr2qs_ctx("
If this option is enabled, the Servers dialog will appear every time you start KVIrc
","options")); - } - } else { - m_pConnectCurrent = NULL; - } - - m_pLastEditedItem = 0; - - m_pClipboard = 0; - - fillServerList(); - - layout()->setRowStretch(0,1); - layout()->setColumnStretch(0,1); - setMinimumWidth(600); -} - -KviIrcServerOptionsWidget::~KviIrcServerOptionsWidget() -{ - if(m_pImportFilter) - { - disconnect(m_pImportFilter,0,this,0); - m_pImportFilter->die(); - m_pImportFilter = 0; - } - - if(m_pClipboard) - delete m_pClipboard; - if(m_pServerDetailsDialog) - delete m_pServerDetailsDialog; - if(m_pNetworkDetailsDialog) - delete m_pNetworkDetailsDialog; -} - -void KviIrcServerOptionsWidget::recentServersPopupAboutToShow() -{ - g_pApp->fillRecentServersPopup(m_pRecentPopup); - - m_pRecentPopup->insertSeparator(); - m_pRecentPopup->insertItem(__tr2qs("Clear Recent Servers List")); -} - -void KviIrcServerOptionsWidget::recentServersPopupClicked(int id) -{ - KviConsoleWindow * c = g_pActiveWindow->console(); - if(!c) - return; - - QString szItemText = m_pRecentPopup->text(id); - szItemText.remove(QChar('&')); - if(szItemText.isEmpty()) - return; - if(szItemText == __tr2qs("Clear Recent Servers List")) - { - KviKvsScript::run("option stringlistRecentServers",c); - return; - } - - selectBestServerByUrl(szItemText); -} - -void KviIrcServerOptionsWidget::selectBestServerByUrl(const QString &szUrl) -{ - if(szUrl.isEmpty()) - return; - - KviIrcUrlParts oParts; - - KviIrcUrl::split(szUrl,oParts); - - int uCount = m_pTreeWidget->topLevelItemCount(); - int uIdx = 0; - - KviIrcServerOptionsTreeWidgetItem * pBestCandidate = NULL; - kvi_u32_t uBestCandidateScore = 0; - - while(uIdx < uCount) - { - KviIrcServerOptionsTreeWidgetItem * pNet = static_cast(m_pTreeWidget->topLevelItem(uIdx)); - - uIdx++; - - if(!pNet) - continue; // huh ? - - int uServerCount = pNet->childCount(); - int uChildIdx = 0; - while(uChildIdx < uServerCount) - { - KviIrcServerOptionsTreeWidgetItem * pServer = static_cast(pNet->child(uChildIdx)); - uChildIdx++; - - if(!pServer) - continue; // huh ? - - KviIrcServer * pServerData = pServer->serverData(); - - if(!pServerData) - continue; // umphf... - - kvi_u32_t uScore = 0; - - if(pServerData->hostName().toLower() == oParts.szHost.toLower()) - uScore++; - if(pServerData->port() == oParts.iPort) - uScore++; - if(pServerData->isIPv6() == oParts.bIPv6) - uScore++; - if(pServerData->useSSL() == oParts.bSsl) - uScore++; - - if(uScore > uBestCandidateScore) - { - uBestCandidateScore = uScore; - pBestCandidate = pServer; - if(uScore >= 4) - { - // exact match - uIdx = uCount; // break the outer loop - break; // break the inner loop - } - } - } - } - - if(pBestCandidate) - m_pTreeWidget->setCurrentItem(pBestCandidate); - -} - -void KviIrcServerOptionsWidget::connectCurrentClicked() -{ - saveLastItem(); - commit(); - KviCString szServer = m_pSrvNetEdit->text(); - if(szServer.isEmpty())return; - KviKvsScript::run("server -u",g_pApp->activeConsole()); -} - -void KviIrcServerOptionsWidget::fillServerList() -{ - KviIrcServerOptionsTreeWidgetItem * net; - KviIrcServerOptionsTreeWidgetItem * srv; - KviIrcServerOptionsTreeWidgetItem * cur = 0; - - KviPointerHashTableIterator it(*(g_pServerDataBase->recordDict())); - - if(m_pConnectCurrent) - m_pConnectCurrent->setEnabled(false); - - while(KviIrcNetwork * r = it.current()) - { - net = new KviIrcServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),r); - KviPointerList * sl = r->serverList(); - bool bCurrent = r->name() == g_pServerDataBase->currentNetworkName().toUtf8().data(); - net->setExpanded(bCurrent); - for(KviIrcServer * s = sl->first();s;s = sl->next()) - { - srv = new KviIrcServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),s); - - if((s == r->currentServer()) && bCurrent) - { - srv->setSelected(true); - cur = srv; - } - } - ++it; - } - if(cur) - { - cur->setSelected(true); - m_pTreeWidget->setCurrentItem(cur); - m_pTreeWidget->scrollToItem(cur); - if(m_pConnectCurrent) - m_pConnectCurrent->setEnabled(true); - } -} - -void KviIrcServerOptionsWidget::itemDoubleClicked(QTreeWidgetItem*, int ) -{ - detailsClicked(); -} - -void KviIrcServerOptionsWidget::currentItemChanged(QTreeWidgetItem *it,QTreeWidgetItem *) -{ - saveLastItem(); - m_pLastEditedItem = (KviIrcServerOptionsTreeWidgetItem *)it; - - if(m_pLastEditedItem) - { - m_pSrvNetLabel->setEnabled(true); - m_pSrvNetEdit->setEnabled(true); - m_pDetailsButton->setEnabled(true); - if(m_pConnectCurrent) - m_pConnectCurrent->setEnabled(m_pLastEditedItem->m_pServerData); - - m_pRemoveButton->setEnabled(true); - m_pCopyServerButton->setEnabled(m_pLastEditedItem->m_pServerData); - - if(m_pLastEditedItem->m_pServerData) - { - m_pSrvNetLabel->setText(__tr2qs_ctx("Server:","options")); - m_pSrvNetEdit->setText(m_pLastEditedItem->m_pServerData->m_szHostname); - } else { - m_pSrvNetLabel->setText(__tr2qs_ctx("Network:","options")); - m_pSrvNetEdit->setText(it->text(0)); - } - } else { - m_pRemoveButton->setEnabled(false); - m_pCopyServerButton->setEnabled(true); - - if(m_pConnectCurrent) - m_pConnectCurrent->setEnabled(false); - m_pSrvNetLabel->setEnabled(false); - m_pSrvNetEdit->setEnabled(false); - m_pSrvNetEdit->setText(__tr2qs_ctx("No selection","options")); - m_pDetailsButton->setEnabled(false); - } -} - -void KviIrcServerOptionsWidget::serverNetworkEditTextEdited(const QString &) -{ - if(!m_pLastEditedItem) - return; - - saveLastItem(); - - // make sure the current item is currently visible (if it still exists) - if(m_pLastEditedItem) - m_pTreeWidget->scrollToItem(m_pLastEditedItem,QTreeWidget::EnsureVisible); -} - - -void KviIrcServerOptionsWidget::saveLastItem() -{ - if(!m_pLastEditedItem) - return; - - if(m_pLastEditedItem->m_pServerData) - { - KviCString tmp = m_pSrvNetEdit->text(); - if(tmp.isEmpty()) - tmp = "irc.unknown.net"; - m_pLastEditedItem->m_pServerData->m_szHostname = tmp; - m_pLastEditedItem->updateVisibleStrings(); - } else if(m_pLastEditedItem->m_pNetworkData) - { - QString tmp = m_pSrvNetEdit->text(); - if(tmp.isEmpty()) - tmp = __tr2qs_ctx("UnknownNet","options"); - m_pLastEditedItem->m_pNetworkData->setName(tmp); - m_pLastEditedItem->updateVisibleStrings(); - } -} - -void KviIrcServerOptionsWidget::commit() -{ - saveLastItem(); - g_pServerDataBase->clear(); - - KviIrcServerOptionsTreeWidgetItem * network; - for (int i=0;itopLevelItemCount();i++) - { - network=(KviIrcServerOptionsTreeWidgetItem *) m_pTreeWidget->topLevelItem(i); - QString tmp = network->m_pNetworkData->name(); - KviIrcNetwork * pNetwork = g_pServerDataBase->findNetwork(tmp); - if(pNetwork) - { - pNetwork->copyFrom(*(network->m_pNetworkData)); - } else { - pNetwork = new KviIrcNetwork(tmp); - pNetwork->copyFrom(*(network->m_pNetworkData)); - g_pServerDataBase->addNetwork(pNetwork); - } - if(network == m_pLastEditedItem)g_pServerDataBase->setCurrentNetwork(pNetwork->name()); - - KviIrcServerOptionsTreeWidgetItem * ch; - for (int j=0;jchildCount();j++) - { - KviIrcServer *srv; - ch=(KviIrcServerOptionsTreeWidgetItem *)network->child(j); - if(ch->m_pServerData) - { - if(!ch->m_pServerData->m_szHostname.isEmpty()) - { - srv = pNetwork->findServer(ch->m_pServerData); - if(!srv) - { - srv = new KviIrcServer(*(ch->m_pServerData)); - pNetwork->insertServer(srv); - } else *srv = *(ch->m_pServerData); - if(srv->id().isEmpty())srv->generateUniqueId(); - if(ch == m_pLastEditedItem) - { - g_pServerDataBase->setCurrentNetwork(pNetwork->name()); - pNetwork->setCurrentServer(srv); - } - } - } - } - - } - - KviOptionsWidget::commit(); - - // Ensure saving of the server DB - g_pApp->saveIrcServerDataBase(); -} - -void KviIrcServerOptionsWidget::customContextMenuRequested(const QPoint &pnt) -{ - int id; - QTreeWidgetItem *it=(QTreeWidgetItem *) m_pTreeWidget->itemAt(pnt); - bool bServer = (it && ((KviIrcServerOptionsTreeWidgetItem *)it)->m_pServerData); - m_pContextPopup->clear(); - m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),__tr2qs_ctx("New Network","options"),this,SLOT(newNetwork())); - id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Remove Network","options"),this,SLOT(removeCurrent())); - m_pContextPopup->setItemEnabled(id,!bServer); - m_pContextPopup->insertSeparator(); - id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),__tr2qs_ctx("&New Server","options"),this,SLOT(newServer())); - id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Re&move Server","options"),this,SLOT(removeCurrent())); - m_pContextPopup->setItemEnabled(id,bServer); - id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_COPY)),__tr2qs_ctx("&Copy Server","options"),this,SLOT(copyServer())); - m_pContextPopup->setItemEnabled(id,bServer); - id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE)),__tr2qs_ctx("&Paste Server","options"),this,SLOT(pasteServer())); - m_pContextPopup->setItemEnabled(id,m_pClipboard); - - m_pContextPopup->insertSeparator(); - // m_pContextPopup->insertItem(__c2q(__tr("Merge list from server.ini","options")),this,SLOT(importFromIni())); - m_pContextPopup->insertItem(__tr2qs_ctx("Clear List","options"),this,SLOT(clearList())); - m_pContextPopup->insertSeparator(); - m_pContextPopup->insertItem(__tr2qs_ctx("Import List","options"),m_pImportPopup); - m_pContextPopup->popup(QCursor::pos()); -} - -void KviIrcServerOptionsWidget::importPopupAboutToShow() -{ - g_pModuleManager->loadModulesByCaps("serverimport"); - m_pImportPopup->clear(); - - KviModuleExtensionDescriptorList * l = KviModuleExtensionManager::instance()->getExtensionList("serverimport"); - - if(!l)return; - - int id; - - for(KviModuleExtensionDescriptor * d = l->first();d;d = l->next()) - { - if(d->icon()) - id = m_pImportPopup->insertItem(*(d->icon()),d->visibleName()); - else - id = m_pImportPopup->insertItem(d->visibleName()); - m_pImportPopup->setItemParameter(id,d->id()); - } -} - -void KviIrcServerOptionsWidget::importPopupActivated(int id) -{ - // ensure that we have all the modules : they could have been unloaded while the popup was displayed - g_pModuleManager->loadModulesByCaps("serverimport"); - - KviModuleExtensionDescriptorList * l = KviModuleExtensionManager::instance()->getExtensionList("serverimport"); - - if(!l) - { - // ops.. internal error: I thought to have a module capable of importing servers - // but actually it's not the case.. something weird happened (in the best case - // the user has just unloaded the module and removed it from disk ?) - KviMessageBox::warning(__tr2qs_ctx("Oops... something weird happened:
Can't find any module capable of importing servers.","options")); - return; - } - - if(m_pImportFilter) - { - disconnect(m_pImportFilter,0,this,0); - m_pImportFilter->die(); - m_pImportFilter = 0; - } - - id = m_pImportPopup->itemParameter(id); - - m_pImportFilter = (KviMexServerImport *)KviModuleExtensionManager::instance()->allocateExtension("serverimport",id,0); - - if(!m_pImportFilter) - { - KviMessageBox::warning(__tr2qs_ctx("Oops... something weird happened:
Can't find the module that was capable of this import action. :(","options")); - return; - } - - connect(m_pImportFilter,SIGNAL(server(const KviIrcServer &,const QString&)),this,SLOT(importServer(const KviIrcServer &,const QString&))); - connect(m_pImportFilter,SIGNAL(destroyed()),this,SLOT(importerDead())); - - m_pImportFilter->start(); -} - -void KviIrcServerOptionsWidget::importerDead() -{ - m_pImportFilter = 0; -} - -void KviIrcServerOptionsWidget::importServer(const KviIrcServer &s,const QString &network) -{ - KviIrcServerOptionsTreeWidgetItem * net = findNetItem(network); - if(!net) - { - KviIrcNetwork d(network); - net = new KviIrcServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d); - net->setExpanded(true); - } - - KviIrcServerOptionsTreeWidgetItem * srv ; - for(int i=0;ichildCount();i++) - { - srv=(KviIrcServerOptionsTreeWidgetItem *) net->child(i); - if((srv)->m_pServerData->useSSL() == s.useSSL()) - { - if(srv->m_pServerData->isIPv6() == s.isIPv6()) - { - if(KviQString::equalCI(srv->m_pServerData->hostName(),s.hostName())) - { - // update the port - srv->m_pServerData->setPort(s.port()); - if(!s.ip().isEmpty())srv->m_pServerData->setIp(s.ip()); - if(!s.password().isEmpty())srv->m_pServerData->setPassword(s.password()); - if(!s.nickName().isEmpty())srv->m_pServerData->setNickName(s.nickName()); - m_pTreeWidget->setCurrentItem(srv); - m_pTreeWidget->scrollToItem(srv); - return; - } - } - } - } - - // not found : add it! - KviIrcServerOptionsTreeWidgetItem * newServer = new KviIrcServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&s); - m_pTreeWidget->setCurrentItem(newServer); - m_pTreeWidget->scrollToItem(newServer); -} - -void KviIrcServerOptionsWidget::newNetwork() -{ - KviIrcNetwork d(__tr2qs_ctx("New Network","options")); - KviIrcServerOptionsTreeWidgetItem * it = new KviIrcServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d); - it->setExpanded(true); - it->setSelected(true); - m_pTreeWidget->setCurrentItem(it); - m_pTreeWidget->scrollToItem(it); -} - -void KviIrcServerOptionsWidget::newServer() -{ - if(m_pLastEditedItem) - { - KviIrcServerOptionsTreeWidgetItem * net; - if(m_pLastEditedItem->m_pServerData) - { - net = (KviIrcServerOptionsTreeWidgetItem *)m_pLastEditedItem->parent(); - if(!net)return; - } - else net = m_pLastEditedItem; - - KviIrcServer tmp; - tmp.m_szHostname = __tr2qs_ctx("irc.unknown.net","options"); - tmp.setCacheIp(false); - tmp.generateUniqueId(); - - KviIrcServerOptionsTreeWidgetItem * it = new KviIrcServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&tmp); - - net->setExpanded(true); - - it->setSelected(true); - m_pTreeWidget->setCurrentItem(it); - m_pTreeWidget->scrollToItem(it); - } -} - -void KviIrcServerOptionsWidget::copyServer() -{ - if(m_pLastEditedItem) - { - if(m_pLastEditedItem->m_pServerData) - { - if(!m_pClipboard)m_pClipboard = new KviIrcServer(); - *m_pClipboard = *(m_pLastEditedItem->m_pServerData); - m_pPasteServerButton->setEnabled(true); - } - } -} - -void KviIrcServerOptionsWidget::pasteServer() -{ - if(m_pClipboard) - { - if(m_pLastEditedItem) - { - KviIrcServerOptionsTreeWidgetItem * net; - if(m_pLastEditedItem->m_pServerData) - { - net = (KviIrcServerOptionsTreeWidgetItem *)m_pLastEditedItem->parent(); - if(!net)return; - } - else net = m_pLastEditedItem; - - KviIrcServerOptionsTreeWidgetItem * it = new KviIrcServerOptionsTreeWidgetItem(net, - *(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),m_pClipboard); - - net->setExpanded(true); - - it->setSelected(true); - m_pTreeWidget->setCurrentItem(it); - m_pTreeWidget->scrollToItem(it); - } - } -} - -void KviIrcServerOptionsWidget::removeCurrent() -{ - if(m_pLastEditedItem) - { - QTreeWidgetItem * it = m_pTreeWidget->itemAbove(m_pLastEditedItem); - - int index = m_pTreeWidget->indexOfTopLevelItem(m_pLastEditedItem); - if(index > -1) - { - // top level item - m_pTreeWidget->takeTopLevelItem(m_pTreeWidget->indexOfTopLevelItem(m_pLastEditedItem)); - } else { - QTreeWidgetItem * tmp = m_pLastEditedItem->parent(); - index = tmp->indexOfChild(m_pLastEditedItem); - if(index > -1) tmp->takeChild(index); - } - - if(!it)it = m_pTreeWidget->topLevelItem(0); - if(it) - { - it->setSelected(true); - m_pTreeWidget->setCurrentItem(it); - m_pTreeWidget->scrollToItem(it); - } - } -} - -KviIrcServerOptionsTreeWidgetItem * KviIrcServerOptionsWidget::findNetItem(const QString &netname) -{ - - KviIrcServerOptionsTreeWidgetItem * it; - for(int i=0;itopLevelItemCount();i++) - { - it=(KviIrcServerOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); - if(KviQString::equalCI(it->text(0),netname))return it; - } - return 0; -} - -void KviIrcServerOptionsWidget::clearList() -{ - m_pTreeWidget->clear(); - m_pLastEditedItem = 0; - currentItemChanged(0,0); -} - -void KviIrcServerOptionsWidget::detailsClicked() -{ - if(!m_pLastEditedItem)return; - if(m_pLastEditedItem->m_pServerData) - { - saveLastItem(); - - m_pServerDetailsDialog = new KviIrcServerDetailsWidget(this,m_pLastEditedItem->m_pServerData); - - int retCode = m_pServerDetailsDialog->exec(); - if(retCode == QDialog::Accepted) - { - if(m_pLastEditedItem) - { - if(m_pLastEditedItem->m_pServerData) - { - m_pServerDetailsDialog->fillData(m_pLastEditedItem->m_pServerData); - saveLastItem(); - } - } - } - - delete m_pServerDetailsDialog; - m_pServerDetailsDialog = 0; - return; - } - if(m_pLastEditedItem->m_pNetworkData) - { - saveLastItem(); - - m_pNetworkDetailsDialog = new KviIrcNetworkDetailsWidget(this,m_pLastEditedItem->m_pNetworkData); - - int retCode = m_pNetworkDetailsDialog->exec(); - if(retCode == QDialog::Accepted) - { - if(m_pLastEditedItem) - { - if(m_pLastEditedItem->m_pNetworkData) - { - m_pNetworkDetailsDialog->fillData(m_pLastEditedItem->m_pNetworkData); - saveLastItem(); - } - } - } - - delete m_pNetworkDetailsDialog; - m_pNetworkDetailsDialog = 0; - } -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_servers.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_servers.h b/src/modules/options/optw_servers.h deleted file mode 100644 index cbcbf3e87..000000000 --- a/src/modules/options/optw_servers.h +++ /dev/null @@ -1,229 +0,0 @@ -#ifndef _OPTW_SERVERS_H_ -#define _OPTW_SERVERS_H_ - -//============================================================================= -// -// File : optw_servers.h -// Creation date : Wed Jun 12 2000 03:29:01 by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2000-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include - -#include -#include -#include -#include -#include - -class QLabel; -class QLineEdit; -class QComboBox; -class QPushButton; -class KviIpEditor; -class KviIrcServer; -class KviTalPopupMenu; -class KviScriptEditor; -class KviNickServRule; -class KviNickServRuleEditor; -class KviIrcServer; -class KviIrcNetwork; -class KviIrcNetworkData; -class KviMexServerImport; - - -class KviIrcServerOptionsTreeWidgetItem : public QTreeWidgetItem -{ -public: - KviIrcServerOptionsTreeWidgetItem(QTreeWidget *parent,const QPixmap &pm,const KviIrcNetwork *n); - KviIrcServerOptionsTreeWidgetItem(QTreeWidgetItem *parent,const QPixmap &pm,const KviIrcServer *s); - ~KviIrcServerOptionsTreeWidgetItem(); -public: - KviIrcServer * m_pServerData; - KviIrcNetwork * m_pNetworkData; -public: - KviIrcServer * serverData() const - { - return m_pServerData; - } - - KviIrcNetwork * networkData() const - { - return m_pNetworkData; - } -public: - void updateVisibleStrings(); -}; - - -class KviIrcNetworkDetailsWidget : public QDialog -{ - Q_OBJECT -public: - KviIrcNetworkDetailsWidget(QWidget * par,KviIrcNetwork * d); - ~KviIrcNetworkDetailsWidget(); -protected: - KviScriptEditor * m_pOnConnectEditor; - KviScriptEditor * m_pOnLoginEditor; - - QLineEdit * m_pUserEditor; - KviPasswordLineEdit * m_pPassEditor; - QLineEdit * m_pNickEditor; - QLineEdit * m_pRealEditor; - QLineEdit * m_pDescEditor; - - QComboBox * m_pEncodingEditor; - QComboBox * m_pTextEncodingEditor; - - QCheckBox * m_pAutoConnectCheck; - - QTreeWidget * m_pNickServTreeWidget; - QCheckBox * m_pNickServCheck; - QPushButton * m_pAddRuleButton; - QPushButton * m_pDelRuleButton; - QPushButton * m_pEditRuleButton; - - QStringList m_lstChannels; - KviChannelListSelector * m_pChannelListSelector; -public: - void fillData(KviIrcNetwork * d); -protected slots: - void enableDisableNickServControls(); - void addNickServRule(); - void delNickServRule(); - void editNickServRule(); -}; - -class KviIrcServerDetailsWidget : public QDialog -{ - Q_OBJECT -public: - KviIrcServerDetailsWidget(QWidget * par,KviIrcServer * s); - ~KviIrcServerDetailsWidget(); -protected: - QString m_szHostname; - QLabel * m_pHeaderLabel; - KviScriptEditor * m_pOnConnectEditor; - KviScriptEditor * m_pOnLoginEditor; - QLineEdit * m_pUserEditor; - KviPasswordLineEdit * m_pPassEditor; - KviPasswordLineEdit * m_pSaslPassEditor; - QLineEdit * m_pNickEditor; - QLineEdit * m_pSaslNickEditor; - QLineEdit * m_pRealEditor; - QLineEdit * m_pDescEditor; - QLineEdit * m_pIdEditor; - QComboBox * m_pLinkFilterEditor; - QComboBox * m_pEncodingEditor; - QComboBox * m_pTextEncodingEditor; - KviIpEditor * m_pIpEditor; - QCheckBox * m_pCacheIpCheck; - QCheckBox * m_pUseSSLCheck; - QCheckBox * m_pEnableCAPCheck; - QCheckBox * m_pEnableSTARTTLSCheck; - QCheckBox * m_pEnableSASLCheck; - QCheckBox * m_pUseDefaultInitUMode; - QCheckBox * m_pIMode; - QCheckBox * m_pWMode; - QCheckBox * m_pSMode; - QCheckBox * m_pUseAutoConnect; - QCheckBox * m_pUseIPV6Check; - QLineEdit * m_pPortEditor; - QStringList m_lstChannels; - KviChannelListSelector * m_pChannelListSelector; - - QComboBox * m_pProxyEditor; -protected slots: - void useDefaultInitUModeToggled(bool); - void portEditorTextChanged(const QString &); - void useIPV6CheckToggled(bool); -public: - void setHeaderLabelText(); - void fillData(KviIrcServer *s); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviIrcServerOptionsWidget KVI_SMALLICON_SERVER -#define KVI_OPTIONS_WIDGET_NAME_KviIrcServerOptionsWidget __tr2qs_no_lookup("Servers") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviIrcServerOptionsWidget __tr2qs_no_lookup("connection") -//#define KVI_OPTIONS_WIDGET_NOPARENT_KviIrcServerOptionsWidget KviConnectionOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviIrcServerOptionsWidget 99000 - -class KviIrcServerOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviIrcServerOptionsWidget(QWidget * parent); - ~KviIrcServerOptionsWidget(); -protected: - QTreeWidget * m_pTreeWidget; - QLabel * m_pSrvNetLabel; - QLineEdit * m_pSrvNetEdit; - //QLabel * m_pPortLabel; - //QLineEdit * m_pPortEdit; - QPushButton * m_pDetailsButton; - KviTalPopupMenu * m_pRecentPopup; - KviTalPopupMenu * m_pContextPopup; - KviTalPopupMenu * m_pImportPopup; - KviIrcServer * m_pClipboard; - //QCheckBox * m_pIPv6Check; - QPushButton * m_pConnectCurrent; - QPushButton * m_pConnectNew; - KviIrcServerOptionsTreeWidgetItem * m_pLastEditedItem; - KviIrcServerDetailsWidget * m_pServerDetailsDialog; - KviIrcNetworkDetailsWidget * m_pNetworkDetailsDialog; - KviMexServerImport * m_pImportFilter; - - QToolButton * m_pNewServerButton; - QToolButton * m_pNewNetworkButton; - QToolButton * m_pRemoveButton; - QToolButton * m_pCopyServerButton; - QToolButton * m_pPasteServerButton; - QToolButton * m_pImportButton; -private: - void fillServerList(); - void saveLastItem(); - KviIrcServerOptionsTreeWidgetItem * findNetItem(const QString &netname); - void selectBestServerByUrl(const QString &szUrl); -protected slots: - void importerDead(); - void importServer(const KviIrcServer & s,const QString &network); - void importPopupAboutToShow(); - void currentItemChanged(QTreeWidgetItem *cur,QTreeWidgetItem *prev); - void customContextMenuRequested(const QPoint &pnt); - void newNetwork(); - void removeCurrent(); - void newServer(); - void copyServer(); - void pasteServer(); - void clearList(); - void itemDoubleClicked(QTreeWidgetItem*, int ); - void detailsClicked(); - void connectCurrentClicked(); - void recentServersPopupAboutToShow(); - void recentServersPopupClicked(int id); - void importPopupActivated(int id); - void serverNetworkEditTextEdited(const QString &szNewText); -public: - virtual void commit(); -}; - -#endif //!_OPTW_SERVERS_H_ diff --git a/src/modules/options/optw_sound.cpp b/src/modules/options/optw_sound.cpp deleted file mode 100644 index c4c19c45b..000000000 --- a/src/modules/options/optw_sound.cpp +++ /dev/null @@ -1,356 +0,0 @@ -//============================================================================= -// -// File : optw_sound.cpp -// Creation date : Fri Sep 6 02:18:23 2002 GMT by Szymon Stefanek -// -// This file is part of the KVsound sound client distribution -// Copyright (C) 2002-2010 Szymon Stefanek (pragma at kvsound 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. -// -//============================================================================= - -#include "optw_sound.h" - -#include "kvi_settings.h" -#include "KviLocale.h" -#include "KviOptions.h" -#include "KviModuleManager.h" -#include "KviPointerList.h" -#include "KviCString.h" -#include "KviTalHBox.h" -#include "KviTalToolTip.h" -#include "KviApplication.h" - -#include -#include - - -// FIXME: This module doesn't ???? properly when auto-detection is performed! - - - -KviSoundOptionsWidget::KviSoundOptionsWidget(QWidget * pParent) -: KviOptionsWidget(pParent) -{ -} - -KviSoundOptionsWidget::~KviSoundOptionsWidget() -{ -} - - -KviSoundGeneralOptionsWidget::KviSoundGeneralOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - m_bFirstShow = true; - - setObjectName("sound_system_options_widget"); - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Sound System","options"),true); - - KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select the sound system to be used with KVIrc.","options")); - - KviTalHBox * h = new KviTalHBox(g); - - m_pSoundSystemBox = new QComboBox(h); - - m_pSoundAutoDetectButton = new QPushButton(__tr2qs_ctx("Auto-detect","options"),h); - connect(m_pSoundAutoDetectButton,SIGNAL(clicked()),this,SLOT(soundAutoDetect())); - - m_pSoundTestButton = new QPushButton(__tr2qs_ctx("Test","options"),h); - connect(m_pSoundTestButton,SIGNAL(clicked()),this,SLOT(soundTest())); - - g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Media Player","options"),true); - - KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select the preferred media player to be used with " \ - "the mediaplayer.* module commands and functions.","options")); - - h = new KviTalHBox(g); - - m_pMediaPlayerBox = new QComboBox(h); - - m_pMediaAutoDetectButton = new QPushButton(__tr2qs_ctx("Auto-detect","options"),h); - connect(m_pMediaAutoDetectButton,SIGNAL(clicked()),this,SLOT(mediaAutoDetect())); - - m_pMediaTestButton = new QPushButton(__tr2qs_ctx("Test","options"),h); - connect(m_pMediaTestButton,SIGNAL(clicked()),this,SLOT(mediaTest())); - - m_pMediaTestButton->setEnabled(false); - - g = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("ID3 tags' encoding","options"),true); - - KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select encoding of mp3 tags.","options")); - - h = new KviTalHBox(g); - - m_pTagsEncodingCombo = new QComboBox(h); - m_pTagsEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); - - int i = 0; - int iMatch = 0; - - KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); - while(d->szName) - { - if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding)))iMatch = i + 1; - m_pTagsEncodingCombo->insertItem(m_pTagsEncodingCombo->count(),d->szName); - i++; - d = KviLocale::encodingDescription(i); - } - m_pTagsEncodingCombo->setCurrentIndex(iMatch); - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Winamp messages ecoding","options"),true); - - KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select encoding of winamp messages.","options")); - - h = new KviTalHBox(g); - - m_pWinampEncodingCombo = new QComboBox(h); - - m_pWinampEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); - i = 0; - iMatch = 0; - - d = KviLocale::encodingDescription(i); - while(d->szName) - { - if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringWinampTextEncoding)))iMatch = i + 1; - m_pWinampEncodingCombo->insertItem(m_pWinampEncodingCombo->count(),d->szName); - i++; - d = KviLocale::encodingDescription(i); - } - m_pWinampEncodingCombo->setCurrentIndex(iMatch); - - addRowSpacer(0,4,0,4); -#else - addRowSpacer(0,3,0,3); -#endif -} - - -KviSoundGeneralOptionsWidget::~KviSoundGeneralOptionsWidget() -{ -} - -void KviSoundGeneralOptionsWidget::showEvent(QShowEvent *) -{ - if(!m_bFirstShow) - return; - // We fill these boxes only before the first show since the soundFillBox() - // is likely to trigger sound system-detection which may take time... - - g_pApp->setOverrideCursor(Qt::WaitCursor); - - soundFillBox(); - mediaFillBox(); - - g_pApp->restoreOverrideCursor(); - - m_bFirstShow = false; -} - -void KviSoundGeneralOptionsWidget::soundTest() -{ - QString szSavedSoundSystem = KVI_OPTION_STRING(KviOption_stringSoundSystem); - KVI_OPTION_STRING(KviOption_stringSoundSystem) = m_pSoundSystemBox->currentText(); - - KviModule * m = g_pModuleManager->getModule("snd"); - - if(!m) - return; // doh - - QString szFileName; - - if(!g_pApp->findAudioFile(szFileName,QString::fromUtf8("jingle.wav"))) - { - qDebug("Can't find the jingle.wav file: was it shipped with your kvirc installation?"); - return; - } - - m->ctrl("play",&szFileName); - - KVI_OPTION_STRING(KviOption_stringSoundSystem) = szSavedSoundSystem; -} - -void KviSoundGeneralOptionsWidget::mediaTest() -{ -} - -void KviSoundGeneralOptionsWidget::soundAutoDetect() -{ - KviModule * m = g_pModuleManager->getModule("snd"); - if(!m) - return; - - g_pApp->setOverrideCursor(Qt::WaitCursor); - - m->ctrl("detectSoundSystem",0); - soundFillBox(); - - g_pApp->restoreOverrideCursor(); -} - -void KviSoundGeneralOptionsWidget::mediaAutoDetect() -{ - KviModule * m = g_pModuleManager->getModule("mediaplayer"); - if(!m) - return; - - g_pApp->setOverrideCursor(Qt::WaitCursor); - - m->ctrl("detectMediaPlayer",0); - mediaFillBox(); - - g_pApp->restoreOverrideCursor(); -} - -void KviSoundGeneralOptionsWidget::soundFillBox() -{ - QStringList l; - QStringList::Iterator it; - int cnt; - int i; - KviModule * m = g_pModuleManager->getModule("snd"); - - if(!m) - goto disable; - - if(!m->ctrl("getAvailableSoundSystems",&l)) - goto disable; - - m_pSoundSystemBox->clear(); - for ( it = l.begin(); it != l.end(); ++it ) - { - m_pSoundSystemBox->addItem(*it); - } - - cnt = m_pSoundSystemBox->count(); - - for(i=0;iitemText(i); - if(KviQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringSoundSystem))) - { - m_pSoundSystemBox->setCurrentIndex(i); - break; - } - } - - return; -disable: - m_pSoundSystemBox->clear(); - m_pSoundSystemBox->setEnabled(false); - m_pSoundTestButton->setEnabled(false); - m_pSoundAutoDetectButton->setEnabled(false); -} - -void KviSoundGeneralOptionsWidget::mediaFillBox() -{ - QStringList l; - QStringList::Iterator it; - int cnt; - int i; - KviModule * m = g_pModuleManager->getModule("mediaplayer"); - - if(!m)goto disable; - if(!m->ctrl("getAvailableMediaPlayers",&l))goto disable; - m_pMediaPlayerBox->clear(); - for ( it = l.begin(); it != l.end(); ++it ) - { - m_pMediaPlayerBox->addItem(*it); - } - cnt = m_pMediaPlayerBox->count(); - - for(i=0;iitemText(i); - if(KviQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer))) - { - m_pMediaPlayerBox->setCurrentIndex(i); - break; - } - } - - return; -disable: - m_pMediaPlayerBox->clear(); - m_pMediaPlayerBox->setEnabled(false); - m_pMediaTestButton->setEnabled(false); - m_pMediaAutoDetectButton->setEnabled(false); -} - -void KviSoundGeneralOptionsWidget::commit() -{ - // avoid to commit if we've never been shown (and initialized) - if(m_bFirstShow) - return; - - KviOptionsWidget::commit(); - KVI_OPTION_STRING(KviOption_stringSoundSystem) = m_pSoundSystemBox->currentText(); - KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer) = m_pMediaPlayerBox->currentText(); - - int idx = m_pTagsEncodingCombo->currentIndex(); - if(idx <= 0) - { - // guess from locale - KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding) = ""; - } else { - KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding) = m_pTagsEncodingCombo->itemText(idx); - } - - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - idx = m_pWinampEncodingCombo->currentIndex(); - if(idx <= 0) - { - // guess from locale - KVI_OPTION_STRING(KviOption_stringWinampTextEncoding) = ""; - } else { - KVI_OPTION_STRING(KviOption_stringWinampTextEncoding) = m_pWinampEncodingCombo->itemText(idx); - } -#endif -} - -KviSoundsOptionsWidget::KviSoundsOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("sound_options_widget"); - createLayout(); - addLabel(0,0,0,0,__tr2qs_ctx("New Query opened","options")); - addSoundSelector(1,0,1,0,"",KviOption_stringOnNewQueryOpenedSound); - - addLabel(0,1,0,1,__tr2qs_ctx("New message in inactive query","options")); - addSoundSelector(1,1,1,1,"",KviOption_stringOnQueryMessageSound); - - addLabel(0,2,0,2,__tr2qs_ctx("Highlighted message in inactive window","options")); - addSoundSelector(1,2,1,2,"",KviOption_stringOnHighlightedMessageSound); - - addLabel(0,3,0,3,__tr2qs_ctx("Me have been kicked","options")); - addSoundSelector(1,3,1,3,"",KviOption_stringOnMeKickedSound); - - addRowSpacer(0,4,1,4); - -} - -KviSoundsOptionsWidget::~KviSoundsOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_sound.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_sound.h b/src/modules/options/optw_sound.h deleted file mode 100644 index c7373bb2d..000000000 --- a/src/modules/options/optw_sound.h +++ /dev/null @@ -1,97 +0,0 @@ -#ifndef _OPTW_SOUND_H_ -#define _OPTW_SOUND_H_ -//============================================================================= -// -// File : optw_sound.h -// Creation date : Fri Sep 6 02:18:21 2002 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviSoundOptionsWidget KVI_SMALLICON_SOUND -#define KVI_OPTIONS_WIDGET_NAME_KviSoundOptionsWidget __tr2qs_no_lookup("Sound") -#define KVI_OPTIONS_WIDGET_PARENT_KviSoundOptionsWidget KviGeneralOptOptionsWidget -#define KVI_OPTIONS_WIDGET_CONTAINER_KviSoundOptionsWidget true - - -class KviSoundOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviSoundOptionsWidget(QWidget * parent); - ~KviSoundOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviSoundGeneralOptionsWidget KVI_SMALLICON_SOUND -#define KVI_OPTIONS_WIDGET_NAME_KviSoundGeneralOptionsWidget __tr2qs_no_lookup("Sound System") -#define KVI_OPTIONS_WIDGET_PARENT_KviSoundGeneralOptionsWidget KviSoundOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundGeneralOptionsWidget __tr2qs_no_lookup("sound,xmms,audio,play,amarok") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviSoundGeneralOptionsWidget 70000 - -class KviSoundGeneralOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviSoundGeneralOptionsWidget(QWidget * parent); - ~KviSoundGeneralOptionsWidget(); -protected: - QComboBox * m_pSoundSystemBox; - QPushButton * m_pSoundTestButton; - QPushButton * m_pSoundAutoDetectButton; - QComboBox * m_pMediaPlayerBox; - QPushButton * m_pMediaTestButton; - QPushButton * m_pMediaAutoDetectButton; - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - QComboBox * m_pWinampEncodingCombo; -#endif - QComboBox * m_pTagsEncodingCombo; - bool m_bFirstShow; -protected: - void soundFillBox(); - void mediaFillBox(); - virtual void commit(); - virtual void showEvent(QShowEvent *e); -protected slots: - void soundTest(); - void soundAutoDetect(); - void mediaTest(); - void mediaAutoDetect(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviSoundsOptionsWidget KVI_SMALLICON_SOUND -#define KVI_OPTIONS_WIDGET_NAME_KviSoundsOptionsWidget __tr2qs_no_lookup("Sounds") -#define KVI_OPTIONS_WIDGET_PARENT_KviSoundsOptionsWidget KviSoundOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviSoundsOptionsWidget __tr2qs_no_lookup("sound,events") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviSoundsOptionsWidget 80000 - -class KviSoundsOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviSoundsOptionsWidget(QWidget * parent); - ~KviSoundsOptionsWidget(); -}; - -#endif //_OPTW_SOUND_H_ diff --git a/src/modules/options/optw_textencoding.cpp b/src/modules/options/optw_textencoding.cpp deleted file mode 100644 index 4743b1fd4..000000000 --- a/src/modules/options/optw_textencoding.cpp +++ /dev/null @@ -1,169 +0,0 @@ -//============================================================================= -// -// File : optw_textencoding.cpp -// Creation date : Sat Aug 11 2001 03:29:52 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_textencoding.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviQString.h" -#include "KviApplication.h" -#include "KviFileUtils.h" - -#include -#include - -QString g_szPrevSettedLocale; - -KviTextEncodingOptionsWidget::KviTextEncodingOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("textencoding_options_widget"); - createLayout(); - - //server encoding - addLabel(0,0,0,0,__tr2qs_ctx("Default server encoding:","options")); - - m_pSrvEncodingCombo = new QComboBox(this); - addWidgetToLayout(m_pSrvEncodingCombo,1,0,1,0); - - m_pSrvEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); - - //text encoding - addLabel(0,1,0,1,__tr2qs_ctx("Default text encoding:","options")); - - m_pTextEncodingCombo = new QComboBox(this); - addWidgetToLayout(m_pTextEncodingCombo,1,1,1,1); - - m_pTextEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options")); - - //common between text and server encoding - int i = 0; - int iTextMatch = 0, iSrvMatch=0; - KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i); - while(d->szName) - { - if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringDefaultTextEncoding)))iTextMatch = i + 1; - if(KviQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding)))iSrvMatch = i + 1; - - m_pTextEncodingCombo->insertItem(m_pTextEncodingCombo->count(),d->szName); - m_pSrvEncodingCombo->insertItem(m_pSrvEncodingCombo->count(),d->szName); - i++; - d = KviLocale::encodingDescription(i); - } - - m_pTextEncodingCombo->setCurrentIndex(iTextMatch); - m_pSrvEncodingCombo->setCurrentIndex(iSrvMatch); - - addLabel(0,2,0,2,__tr2qs_ctx("Force language:","options")); - - m_pForcedLocaleCombo = new QComboBox(this); - - addWidgetToLayout(m_pForcedLocaleCombo,1,2,1,2); - - QLabel * l = new QLabel(__tr2qs_ctx("Note: You need to restart KVirc to apply a language changing","options"),this); - addWidgetToLayout(l,0,3,1,3); - - m_pForcedLocaleCombo->addItem(__tr2qs_ctx("Automatic detection","options")); - m_pForcedLocaleCombo->addItem(__tr2qs_ctx("en","options")); - - QString szLangFile=QString("%1/.kvirc_force_locale").arg(QDir::homePath()); - - bool bIsDefaultLocale = !KviFileUtils::fileExists(szLangFile); - //We Have setted locale, but not restarted kvirc - if(!g_szPrevSettedLocale.isEmpty()) - { - m_szLanguage=g_szPrevSettedLocale; - } else { - m_szLanguage=KviLocale::localeName(); - } - - QString szLocaleDir; - g_pApp->getGlobalKvircDirectory(szLocaleDir,KviApplication::Locale); - - QStringList list=QDir(szLocaleDir).entryList(QStringList("kvirc_*.mo"),QDir::Files); - - i = 0; - int iMatch = 0; - - for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { - QString szTmp=*it; - szTmp.replace("kvirc_",""); - szTmp.replace(".mo",""); - m_pForcedLocaleCombo->insertItem(m_pForcedLocaleCombo->count(),szTmp); - if(KviQString::equalCI(szTmp,m_szLanguage)) - iMatch = i + 2; - i++; - } - if(bIsDefaultLocale) - m_pForcedLocaleCombo->setCurrentIndex(0); - else if(KviQString::equalCI(m_szLanguage,"en")) - m_pForcedLocaleCombo->setCurrentIndex(1); - else - m_pForcedLocaleCombo->setCurrentIndex(iMatch); - addRowSpacer(0,4,1,4); -} - -KviTextEncodingOptionsWidget::~KviTextEncodingOptionsWidget() -{ -} - -void KviTextEncodingOptionsWidget::commit() -{ - int idx = m_pTextEncodingCombo->currentIndex(); - if(idx <= 0) - { - // guess from locale - KVI_OPTION_STRING(KviOption_stringDefaultTextEncoding) = ""; - } else { - KVI_OPTION_STRING(KviOption_stringDefaultTextEncoding) = m_pTextEncodingCombo->itemText(idx); - } - - idx = m_pSrvEncodingCombo->currentIndex(); - if(idx <= 0) - { - // guess from locale - KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding) = ""; - } else { - KVI_OPTION_STRING(KviOption_stringDefaultSrvEncoding) = m_pSrvEncodingCombo->itemText(idx); - } - - idx=m_pForcedLocaleCombo->currentIndex(); - QString szLangFile=QString("%1/.kvirc_force_locale").arg(QDir::homePath()); - if(idx==0) { - if(KviFileUtils::fileExists(szLangFile)) - KviFileUtils::removeFile(szLangFile); - } else { - g_szPrevSettedLocale=m_pForcedLocaleCombo->itemText(idx); - if(!KviFileUtils::writeFile(szLangFile,m_pForcedLocaleCombo->itemText(idx))) - { - QMessageBox::critical(this,"KVIrc",__tr2qs_ctx("Unable to write language information to","options")+"\n"+szLangFile,__tr2qs_ctx("Ok","options")); - } - } -/* if(!KviQString::equalCI(m_pForcedLocaleCombo->text(idx),m_szLanguage)) - QMessageBox::information(0,"KVIrc",__tr2qs_ctx("You need to restart KVirc to apply a language changing","options"),QMessageBox::Ok);*/ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_textencoding.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_textencoding.h b/src/modules/options/optw_textencoding.h deleted file mode 100644 index 9220bba09..000000000 --- a/src/modules/options/optw_textencoding.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _OPTW_TEXTENCODING_H_ -#define _OPTW_TEXTENCODING_H_ -//============================================================================= -// -// File : optw_textencoding.h -// Creation date : Sat Mar 02 2002 12:09:19 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviTextEncodingOptionsWidget KVI_SMALLICON_TEXTENCODING -#define KVI_OPTIONS_WIDGET_NAME_KviTextEncodingOptionsWidget __tr2qs_no_lookup("Language") -#define KVI_OPTIONS_WIDGET_PRIORITY_KviTextEncodingOptionsWidget 50000 -#define KVI_OPTIONS_WIDGET_PARENT_KviTextEncodingOptionsWidget KviGeneralOptOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTextEncodingOptionsWidget __tr2qs_no_lookup("language,encoding,charset,codepage") - -class KviTextEncodingOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTextEncodingOptionsWidget(QWidget * parent); - ~KviTextEncodingOptionsWidget(); -protected: - QString m_szLanguage; - QComboBox * m_pTextEncodingCombo; - QComboBox * m_pSrvEncodingCombo; - QComboBox * m_pForcedLocaleCombo; -public: - virtual void commit(); -}; - -#endif //!_OPTW_TEXTENCODING_H_ diff --git a/src/modules/options/optw_texticons.cpp b/src/modules/options/optw_texticons.cpp deleted file mode 100644 index f2da5fd10..000000000 --- a/src/modules/options/optw_texticons.cpp +++ /dev/null @@ -1,291 +0,0 @@ -//============================================================================= -// -// File : optw_texticons.cpp -// Creation date : Fri May 24 2002 00:16:13 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "optw_texticons.h" - -#include "KviIconManager.h" -#include "KviTextIconManager.h" -#include "KviLocale.h" -#include "KviFileDialog.h" -#include "kvi_fileextensions.h" -#include "KviTalHBox.h" - -#include -#include -#include - -KviTextIconTableItem::KviTextIconTableItem(QTableWidget *,KviTextIcon * icon) -: QTableWidgetItem(QString(),Qt::ItemIsEditable) -{ - if(icon) - m_pIcon=icon; - else - m_pIcon=new KviTextIcon(0); - QPixmap* pix=m_pIcon->pixmap(); - if(pix) setIcon(QIcon(*pix)); -} - -KviTextIconTableItem::~KviTextIconTableItem() -{ - delete m_pIcon; - -} - -void KviTextIconTableItem::setId(int id) -{ - m_pIcon->setId(id); - QPixmap* pix=m_pIcon->pixmap(); - if(pix) setIcon(QIcon(*pix)); -} - - -KviTextIconsOptionsWidget::KviTextIconsOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - m_pBox=0; - m_pIconButton=0; - m_pBrowseButton=0; - m_pPopup=0; - m_iLastEditedRow=-1; - - setObjectName("texticons_options_widget"); - createLayout(); - - m_pTable = new QTableWidget(this); - - m_pTable->setColumnCount(2); - m_pTable->setColumnWidth(0,300); - m_pTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch); - m_pTable->horizontalHeader()->stretchLastSection(); - m_pTable->setSelectionBehavior(QAbstractItemView::SelectRows); - m_pTable->setSelectionMode(QAbstractItemView::SingleSelection); - m_pTable->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - - mergeTip(m_pTable->viewport(),__tr2qs_ctx("This table contains the text icon associations.
" \ - "KVirc will use them to display the CTRL+I escape sequences and eventually the " \ - "emoticons.","options")); - - layout()->addWidget(m_pTable,0,0,1,3); - - m_pAdd = new QPushButton(__tr2qs_ctx("Add","options"),this); - layout()->addWidget(m_pAdd,1,0); - connect(m_pAdd,SIGNAL(clicked()),this,SLOT(addClicked())); - - m_pDel = new QPushButton(__tr2qs_ctx("Delete","options"),this); - layout()->addWidget(m_pDel,1,1); - connect(m_pDel,SIGNAL(clicked()),this,SLOT(delClicked())); - - m_pRestore = new QPushButton(__tr2qs_ctx("Restore","options"),this); - layout()->addWidget(m_pRestore,1,2); - connect(m_pRestore,SIGNAL(clicked()),this,SLOT(restoreClicked())); - - connect(m_pTable,SIGNAL(itemSelectionChanged()),this,SLOT(itemSelectionChanged())); - connect(m_pTable,SIGNAL(itemClicked(QTableWidgetItem *)),this,SLOT(itemClicked(QTableWidgetItem *))); - - fillTable(); -} - -KviTextIconsOptionsWidget::~KviTextIconsOptionsWidget() -{ - if(m_pIconButton) - delete m_pIconButton; - if(m_pBrowseButton) - delete m_pBrowseButton; - if(m_pBox) - delete m_pBox; -} - -void KviTextIconsOptionsWidget::fillTable() -{ - KviPointerHashTableIterator it(*(g_pTextIconManager->textIconDict())); - - m_pTable->clear(); - QStringList header; - header.append(__tr2qs("Text")); - header.append(__tr2qs("Emoticon")); - m_pTable->setHorizontalHeaderLabels(header); - m_pTable->setRowCount(g_pTextIconManager->textIconDict()->count()); - - int idx = 0; - QTableWidgetItem *item0; - KviTextIconTableItem *item1; - while(KviTextIcon * i = it.current()) - { - if(!m_pTable->item(idx,0)) - { - item0 = new QTableWidgetItem(it.currentKey()); - m_pTable->setItem(idx,0,item0); - } - - item1 = new KviTextIconTableItem(m_pTable,new KviTextIcon(i)); - //remove from the item the ability to be edited as text - item1->setFlags(item1->flags() ^ Qt::ItemIsEditable); - m_pTable->setItem(idx,1,item1); - - ++idx; - ++it; - } - - // disable the delete button - m_pDel->setEnabled(false); -} - -void KviTextIconsOptionsWidget::doPopup() -{ - if(!m_pPopup) - { - m_pPopup = new KviTalPopupMenu(this); - KviIconWidget * iw = new KviIconWidget(m_pPopup); - connect(iw,SIGNAL(selected(int)),this,SLOT(iconSelected(int))); - m_pPopup->insertItem(iw); - } - m_pPopup->popup(QCursor::pos()); -} - -void KviTextIconsOptionsWidget::iconSelected(int id) -{ - m_pItem->icon()->setId(id); - m_pItem->setIcon(QIcon(*m_pItem->icon()->pixmap())); - m_pIconButton->setIcon(QIcon(*m_pItem->icon()->pixmap())); -} - -void KviTextIconsOptionsWidget::chooseFromFile() -{ - QString szFile; - KviFileDialog::askForOpenFileName(szFile,"Choose icon filename",QString(),KVI_FILTER_IMAGE,"options"); - if(!szFile.isEmpty()) - { - if(g_pIconManager->getPixmap(szFile)) - { - m_pItem->icon()->setFilename(szFile); - m_pItem->setIcon(QIcon(*m_pItem->icon()->pixmap())); - m_pIconButton->setIcon(QIcon(*m_pItem->icon()->pixmap())); - } - } -} -void KviTextIconsOptionsWidget::itemSelectionChanged() -{ - int i = m_pTable->currentRow(); - m_pDel->setEnabled(i >= 0 && i < m_pTable->rowCount()); -} -void KviTextIconsOptionsWidget::itemClicked(QTableWidgetItem *i) -{ - if (i->column()!=1) return; - if (m_iLastEditedRow==i->row()) return; - - m_pItem=(KviTextIconTableItem *)i; - - if(m_pIconButton) - delete m_pIconButton; - if(m_pBrowseButton) - delete m_pBrowseButton; - if (m_pBox) - delete m_pBox; - - m_pBox=new KviTalHBox(0); - m_pBox->setSpacing(0); - m_pBox->setMargin(0); - - m_pIconButton=new QToolButton(m_pBox); - m_pIconButton->setMinimumWidth(150); - m_pIconButton->setIcon(QIcon(i->icon())); - connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(doPopup())); - - m_pBrowseButton=new QToolButton(m_pBox); - m_pBrowseButton->setText("..."); - connect(m_pBrowseButton,SIGNAL(clicked()),this,SLOT(chooseFromFile())); - - m_pTable->setCellWidget(i->row(),1,m_pBox); - m_iLastEditedRow=i->row(); -} - -void KviTextIconsOptionsWidget::addClicked() -{ - m_pTable->setRowCount(m_pTable->rowCount() + 1); - m_pTable->setItem(m_pTable->rowCount() - 1,0,new QTableWidgetItem(__tr2qs_ctx("unnamed","options"))); - m_pTable->setItem(m_pTable->rowCount() - 1,1,new KviTextIconTableItem(m_pTable,0)); - m_pTable->scrollToBottom(); - m_pDel->setEnabled(true); -} - -void KviTextIconsOptionsWidget::restoreClicked() -{ - g_pTextIconManager->checkDefaultAssociations(); - fillTable(); -} - -void KviTextIconsOptionsWidget::delClicked() -{ - int i = m_pTable->currentRow(); - - if((i > -1) && (i < m_pTable->rowCount())) - { - if(m_pIconButton) - { - delete m_pIconButton; - m_pIconButton=0; - } - if(m_pBrowseButton) - { - delete m_pBrowseButton; - m_pBrowseButton=0; - } - if (m_pBox) - { - delete m_pBox; - m_pBox=0; - } - m_pTable->removeRow(i); - if(m_pTable->rowCount() == 0) m_pDel->setEnabled(false); - } -} - -void KviTextIconsOptionsWidget::commit() -{ - - KviOptionsWidget::commit(); - g_pTextIconManager->clear(); - int n = m_pTable->rowCount(); - for(int i=0;i < n;i++) - { - QString szVal = m_pTable->item(i,0)->text(); - if(!szVal.isEmpty()) - { - KviTextIconTableItem * it = (KviTextIconTableItem *)m_pTable->item(i,1); - if(it) - { - g_pTextIconManager->insert(szVal,*(it->icon())); - } - } - } - - for(int i=0; icolumnCount(); j++) - if (m_pTable->item(i,j)) m_pTable->takeItem(i,j); - -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_texticons.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_texticons.h b/src/modules/options/optw_texticons.h deleted file mode 100644 index 6fe18e55e..000000000 --- a/src/modules/options/optw_texticons.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef _OPTW_TEXTICONS_H_ -#define _OPTW_TEXTICONS_H_ -//============================================================================= -// -// File : optw_texticons.h -// Creation date : Fri May 24 2002 00:14:02 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" -#include "KviTextIconManager.h" -#include "KviTalPopupMenu.h" -#include "KviTalHBox.h" - -#include -#include -#include - -class KviTextIconTableItem; - -#define KVI_OPTIONS_WIDGET_ICON_KviTextIconsOptionsWidget KVI_SMALLICON_BIGGRIN -#define KVI_OPTIONS_WIDGET_NAME_KviTextIconsOptionsWidget __tr2qs_no_lookup("Text icons") -#define KVI_OPTIONS_WIDGET_PARENT_KviTextIconsOptionsWidget KviToolsOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTextIconsOptionsWidget __tr2qs_no_lookup("smileys,emoticons") - -class KviTextIconTableItem : public QTableWidgetItem -{ - friend class KviTextIconsOptionsWidget; -public: - KviTextIconTableItem(QTableWidget * t,KviTextIcon * icon); - ~KviTextIconTableItem(); -protected: - KviTextIcon * m_pIcon; -public: - KviTextIcon * icon() { return m_pIcon; }; - void setId(int id); - -}; - -class KviTextIconsOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTextIconsOptionsWidget(QWidget * parent); - ~KviTextIconsOptionsWidget(); -protected: - QTableWidget * m_pTable; - int m_iLastEditedRow; - KviTextIconTableItem *m_pItem; - QPushButton * m_pAdd; - QPushButton * m_pDel; - QPushButton * m_pRestore; - KviTalPopupMenu *m_pPopup; - KviTalHBox *m_pBox; - QToolButton *m_pIconButton; - QToolButton *m_pBrowseButton; -private: - void fillTable(); -public: - virtual void commit(); -protected slots: - void itemSelectionChanged(); - void itemClicked(QTableWidgetItem *i); - void addClicked(); - void delClicked(); - void restoreClicked(); - - void iconSelected(int); - void doPopup(); - void chooseFromFile(); -}; - -#endif //!_OPTW_TEXTICONS_H_ diff --git a/src/modules/options/optw_tools.cpp b/src/modules/options/optw_tools.cpp deleted file mode 100644 index ebd588bdc..000000000 --- a/src/modules/options/optw_tools.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//============================================================================= -// -// File : optw_tools.cpp -// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "optw_tools.h" - -#include "kvi_settings.h" -#include "KviOptions.h" -#include "KviLocale.h" - -#include - -KviToolsOptionsWidget::KviToolsOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("tools_options_widget"); - createLayout(); - - addLabel(0,0,0,0,__tr2qs_ctx("This section contains irc tools
"\ - "

like away, lag and logging system. " \ - "

","options")); - -} - -KviToolsOptionsWidget::~KviToolsOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_tools.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_tools.h b/src/modules/options/optw_tools.h deleted file mode 100644 index d407d0187..000000000 --- a/src/modules/options/optw_tools.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef _OPTW_TOOLS_H_ -#define _OPTW_TOOLS_H_ - -//============================================================================= -// -// File : optw_tools.h -// Creation date : Wed Ott 19 16:15:16 2005 GMT by Grifisx & Noldor -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) -// -// 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. -// -//============================================================================= - -#include "kvi_settings.h" -#include "KviOptionsWidget.h" -#include "KviSelectors.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviToolsOptionsWidget KVI_SMALLICON_ADDONS -#define KVI_OPTIONS_WIDGET_NAME_KviToolsOptionsWidget __tr2qs_no_lookup("Tools") -#define KVI_OPTIONS_WIDGET_PARENT_KviToolsOptionsWidget KviIrcOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviToolsOptionsWidget 50000 -#define KVI_OPTIONS_WIDGET_NOTCONTAINED_KviToolsOptionsWidget true - -class KviToolsOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviToolsOptionsWidget(QWidget * parent); - ~KviToolsOptionsWidget(); -}; - -#endif //!_OPTW_FOLDERS_H_ diff --git a/src/modules/options/optw_topiclabel.cpp b/src/modules/options/optw_topiclabel.cpp deleted file mode 100644 index 2dde27d19..000000000 --- a/src/modules/options/optw_topiclabel.cpp +++ /dev/null @@ -1,50 +0,0 @@ -//============================================================================= -// -// File : optw_topiclabel.cpp -// Creation date : Mon Sep 24 02:44:55 CEST 2001 by Krzysztof Godlewski -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001 Krzysztof Godlewski -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_topiclabel.h" - -#include "KviOptions.h" -#include "KviLocale.h" - - -KviTopicLabelLookOptionsWidget::KviTopicLabelLookOptionsWidget(QWidget *p):KviOptionsWidget(p, "topic_label_look_options_widget") -{ - createLayout(); - - addFontSelector(0, 0, 0, 0, __tr2qs_ctx("Font","options"), KviOption_fontLabel); - addColorSelector(0, 1, 0, 1, __tr2qs_ctx("Foreground color","options"), KviOption_colorLabelForeground); - addColorSelector(0, 2, 0, 2, __tr2qs_ctx("Background color","options"), KviOption_colorLabelBackground); - addPixmapSelector(0, 3, 0, 3, __tr2qs_ctx("Background image","options"), KviOption_pixmapLabelBackground); - - layout()->setRowStretch(3, 1); -} - -KviTopicLabelLookOptionsWidget::~KviTopicLabelLookOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_topiclabel.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_topiclabel.h b/src/modules/options/optw_topiclabel.h deleted file mode 100644 index 3f3690525..000000000 --- a/src/modules/options/optw_topiclabel.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _OPTW_TOPICLABEL_H -#define _OPTW_TOPICLABEL_H -//============================================================================= -// -// File : optw_topiclabel.h -// Creation date : Mon Sep 24 02:44:55 CEST 2001 by Krzysztof Godlewski -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001 Krzysztof Godlewski -// Copyright (C) 2001-2010 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. -// -//============================================================================= - - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviTopicLabelLookOptionsWidget KVI_SMALLICON_TOPIC -#define KVI_OPTIONS_WIDGET_NAME_KviTopicLabelLookOptionsWidget __tr2qs_no_lookup("Labels") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTopicLabelLookOptionsWidget __tr2qs_no_lookup("theme,topic") -#define KVI_OPTIONS_WIDGET_GROUP_KviTopicLabelLookOptionsWidget "theme" - -class KviTopicLabelLookOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTopicLabelLookOptionsWidget(QWidget *); - ~KviTopicLabelLookOptionsWidget(); -}; - -#endif // _OPTW_TOPICLABEL_H diff --git a/src/modules/options/optw_tray.cpp b/src/modules/options/optw_tray.cpp deleted file mode 100644 index 992abe31c..000000000 --- a/src/modules/options/optw_tray.cpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================= -// -// File : optw_tray.cpp -// Creation date : Mon 14 Aug 2006 by Alexey Uzhva -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2006-2008 Alexey Uzhva (wizard at opendoor dot ru) -// -// 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. -// -//============================================================================= - -#include "optw_tray.h" - -#include "KviMainWindow.h" -#include "KviInternalCommand.h" -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviTalToolTip.h" - -#include - - -KviTrayOptionsWidget::KviTrayOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("tray_options_widget"); - - createLayout(); - - m_pEnable = addBoolSelector(0,0,0,0, __tr2qs_ctx("Enable tray icon","options"), KviOption_boolShowDockExtension); - m_pCloseInTray = addBoolSelector(0,1,0,1,__tr2qs_ctx("Close in tray","options"),KviOption_boolCloseInTray); - - m_pEnableFlashing = addBoolSelector(0,2,0,2,__tr2qs_ctx("Enable tray icon flashing","options"),KviOption_boolEnableTrayIconFlashing); - m_pLevelBasedNotify = addBoolSelector(0,3,0,3,__tr2qs_ctx("Enable level-based message notification (not a message-type based)","options"),KviOption_boolUseLevelBasedTrayNotification); - - m_pLevelsGroup = addGroupBox(0,4,0,4,Qt::Horizontal,__tr2qs_ctx("Select message levels to notify","options")); - - addUIntSelector(m_pLevelsGroup,__tr2qs_ctx("Minimum level for low-priority messages","options"), - KviOption_uintMinTrayLowLevelMessage, - 1,4,1,true); - - addUIntSelector(m_pLevelsGroup,__tr2qs_ctx("Minimum level for high-priority message","options"), - KviOption_uintMinTrayHighLevelMessage, - 1,4,4,true); - - addRowSpacer(0,5,0,5); - - connect(m_pEnable,SIGNAL(toggled(bool)),this,SLOT(setEnabled(bool))); - connect(m_pLevelBasedNotify,SIGNAL(toggled(bool)),this,SLOT(setEnabled(bool))); - setEnabled(true); -} - -KviTrayOptionsWidget::~KviTrayOptionsWidget() -{ -} - -void KviTrayOptionsWidget::setEnabled(bool) -{ - if(m_pEnable->isChecked()) - { - m_pEnableFlashing->setEnabled(true); - m_pLevelBasedNotify->setEnabled(true); - m_pCloseInTray->setEnabled(true); - if(m_pLevelBasedNotify->isChecked()) - m_pLevelsGroup->setEnabled(true); - else - m_pLevelsGroup->setEnabled(false); - - g_pFrame->executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_SHOW); - } else { - m_pCloseInTray->setEnabled(false); - m_pEnableFlashing->setEnabled(false); - m_pLevelBasedNotify->setEnabled(false); - m_pLevelsGroup->setEnabled(false); - - m_pCloseInTray->setChecked(false); - m_pEnableFlashing->setChecked(false); - m_pLevelBasedNotify->setChecked(false); - m_pLevelsGroup->setChecked(false); - - g_pFrame->executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_HIDE); - } -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_tray.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_tray.h b/src/modules/options/optw_tray.h deleted file mode 100644 index 43dd4dcdf..000000000 --- a/src/modules/options/optw_tray.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _OPTW_TRAY_H_ -#define _OPTW_TRAY_H_ -//============================================================================= -// -// File : optw_tray.cpp -// Creation date : Mon 14 Aug 2006 by Alexey Uzhva -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2006-2008 Alexey Uzhva (wizard at opendoor dot ru) -// -// 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviTrayOptionsWidget KVI_SMALLICON_TRAYICON -#define KVI_OPTIONS_WIDGET_NAME_KviTrayOptionsWidget __tr2qs_no_lookup("Tray icon") -#define KVI_OPTIONS_WIDGET_PARENT_KviTrayOptionsWidget KviInterfaceFeaturesOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTrayOptionsWidget __tr2qs_no_lookup("tray,TRAYICON") - -class KviTrayOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTrayOptionsWidget(QWidget * parent); - ~KviTrayOptionsWidget(); -protected: - KviBoolSelector * m_pEnable; - KviBoolSelector * m_pEnableFlashing; - KviBoolSelector * m_pLevelBasedNotify; - KviBoolSelector * m_pCloseInTray; - KviTalGroupBox * m_pLevelsGroup; -protected slots: - void setEnabled(bool); -}; - -#endif //_OPTW_TRAY_H_ diff --git a/src/modules/options/optw_uparser.cpp b/src/modules/options/optw_uparser.cpp deleted file mode 100644 index 05fd1044f..000000000 --- a/src/modules/options/optw_uparser.cpp +++ /dev/null @@ -1,64 +0,0 @@ -//============================================================================= -// -// File : optw_uparser.cpp -// Creation date : Sat Oct 27 16:32:26 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_uparser.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include -#include - - -KviUParserOptionsWidget::KviUParserOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"uparser_options_widget") -{ - createLayout(); - - addBoolSelector(0,0,0,0,__tr2qs_ctx("Disable parser warnings","options"),KviOption_boolAvoidParserWarnings); - addBoolSelector(0,1,0,1,__tr2qs_ctx("Disable broken event handlers","options"),KviOption_boolDisableBrokenEventHandlers); - addBoolSelector(0,2,0,2,__tr2qs_ctx("Kill broken timers","options"),KviOption_boolKillBrokenTimers); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Send unknown commands as /RAW","options"),KviOption_boolSendUnknownCommandsAsRaw); - - addSeparator(0,4,0,4); - - addBoolSelector(0,5,0,5,__tr2qs_ctx("Automatically unload unused modules","options"),KviOption_boolCleanupUnusedModules); - addBoolSelector(0,6,0,6,__tr2qs_ctx("Ignore module versions (dangerous)","options"),KviOption_boolIgnoreModuleVersions); - - addSeparator(0,7,0,7); - - addBoolSelector(0,8,0,8,__tr2qs_ctx("Relay errors and warnings to debug window","options"),KviOption_boolScriptErrorsToDebugWindow); - addBoolSelector(0,9,0,9,__tr2qs_ctx("Create minimized debug window","options"),KviOption_boolShowMinimizedDebugWindow); - - addRowSpacer(0,10,0,10); -} - -KviUParserOptionsWidget::~KviUParserOptionsWidget() -{ -} - - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_uparser.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_uparser.h b/src/modules/options/optw_uparser.h deleted file mode 100644 index 7ba0fc281..000000000 --- a/src/modules/options/optw_uparser.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _OPTW_UPARSER_H_ -#define _OPTW_UPARSER_H_ -//============================================================================= -// -// File : optw_uparser.h -// Creation date : Sat Oct 27 16:32:27 2001 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#define KVI_OPTIONS_WIDGET_ICON_KviUParserOptionsWidget KVI_SMALLICON_PARSERWARNING -#define KVI_OPTIONS_WIDGET_NAME_KviUParserOptionsWidget __tr2qs_no_lookup("Scripting Engine") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUParserOptionsWidget __tr2qs_no_lookup("scripting,kvs,debug") -#define KVI_OPTIONS_WIDGET_PARENT_KviUParserOptionsWidget KviGeneralOptOptionsWidget - -class KviUParserOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUParserOptionsWidget(QWidget * parent); - ~KviUParserOptionsWidget(); -}; - -#endif //_OPTW_UPARSER_H_ diff --git a/src/modules/options/optw_urlhandlers.cpp b/src/modules/options/optw_urlhandlers.cpp deleted file mode 100644 index aa56fbeb8..000000000 --- a/src/modules/options/optw_urlhandlers.cpp +++ /dev/null @@ -1,154 +0,0 @@ -#ifndef _OPTW_URLHANDLERS_CPP_ -#define _OPTW_URLHANDLERS_CPP_ -//============================================================================= -// -// File : optw_urlhandlers.cpp -// Creation date : Fri Aug 23 02:57:40 2002 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "optw_urlhandlers.h" - -#include "KviOptions.h" -#include "KviLocale.h" - -#include -#include -#include - - -KviUrlHandlersOptionsWidget::KviUrlHandlersOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - #define START_ROW 2 -#else - #define START_ROW 1 -#endif - - setObjectName("urlhandlers_options_widget"); - createLayout(); - - KviTalGroupBox * gbox = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Mouse handler","options")); - - addLabel(gbox,__tr2qs_ctx("How many click to open links?","options")); - - m_pClickRadio = new QRadioButton(__tr2qs_ctx("Single click","options"),gbox); - m_pDoubleClickRadio = new QRadioButton(__tr2qs_ctx("Double click","options"),gbox); - - switch(KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum)) - { - case 1: - m_pClickRadio->setChecked(true); - break; - case 2: - m_pDoubleClickRadio->setChecked(true); - break; - } - - gbox = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Protocol handler","options")); - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - KviBoolSelector *b = addBoolSelector(gbox,__tr2qs_ctx("Use system URL handlers","options"),KviOption_boolUseSystemUrlHandlers); -#endif - - m_pHttpHandler=addStringSelector(gbox,__tr2qs_ctx("http:// handler command:","options"),KviOption_stringUrlHttpCommand); - m_pHttpsHandler=addStringSelector(gbox,__tr2qs_ctx("https:// handler command:","options"),KviOption_stringUrlHttpsCommand); - m_pFtpHandler=addStringSelector(gbox,__tr2qs_ctx("ftp:// handler command:","options"),KviOption_stringUrlFtpCommand); - m_pMailtoHandler=addStringSelector(gbox,__tr2qs_ctx("mailto: handler command:","options"),KviOption_stringUrlMailtoCommand); - m_pFileHandler=addStringSelector(gbox,__tr2qs_ctx("file:// handler command:","options"),KviOption_stringUrlFileCommand); - m_pOtherHandler=addStringSelector(gbox,__tr2qs_ctx("Unknown protocol handler command:","options"),KviOption_stringUrlUnknownCommand); - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - m_pHttpHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); - m_pHttpsHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); - m_pFtpHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); - m_pFileHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); - m_pMailtoHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); - m_pOtherHandler->setEnabled(!KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)); - connect(b,SIGNAL(toggled(bool)),this,SLOT(toggleEditors(bool))); -#endif - - addRowSpacer(0,START_ROW+6,0,START_ROW+6); -} - -KviUrlHandlersOptionsWidget::~KviUrlHandlersOptionsWidget() -{ -} - -void KviUrlHandlersOptionsWidget::toggleEditors(bool bToggled) -{ - m_pHttpHandler->setEnabled(!bToggled); - m_pHttpsHandler->setEnabled(!bToggled); - m_pFtpHandler->setEnabled(!bToggled); - m_pFileHandler->setEnabled(!bToggled); - m_pMailtoHandler->setEnabled(!bToggled); - m_pOtherHandler->setEnabled(!bToggled); -} - -void KviUrlHandlersOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - if(m_pClickRadio->isChecked()) - KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum)=1; - if(m_pDoubleClickRadio->isChecked()) - KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum)=2; - -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\","@MAGIC@"); - KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\","\\\\"); - KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("@MAGIC@","\\\\"); - - KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\","@MAGIC@"); - KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\","\\\\"); - KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("@MAGIC@","\\\\"); - - KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\","@MAGIC@"); - KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\","\\\\"); - KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("@MAGIC@","\\\\"); - - KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\","@MAGIC@"); - KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\","\\\\"); - KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("@MAGIC@","\\\\"); - - KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\","@MAGIC@"); - KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\","\\\\"); - KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("@MAGIC@","\\\\"); - - KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\","@MAGIC@"); - KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\","\\\\"); - KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("@MAGIC@","\\\\"); - - //Check for escaped " in url handler ( \" ) - KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\\"","\\\""); - KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\\"","\\\""); - KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\\"","\\\""); - KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\\"","\\\""); - KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\\"","\\\""); - KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\\"","\\\""); -#endif -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_urlhandlers.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES - -#endif //_OPTW_URLHANDLERS_CPP_ diff --git a/src/modules/options/optw_urlhandlers.h b/src/modules/options/optw_urlhandlers.h deleted file mode 100644 index ae7da9a11..000000000 --- a/src/modules/options/optw_urlhandlers.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef _OPTW_URLHANDLERS_H_ -#define _OPTW_URLHANDLERS_H_ -//============================================================================= -// -// File : optw_urlhandlers.h -// Creation date : Fri Aug 23 02:57:41 2002 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -class QRadioButton; - -#define KVI_OPTIONS_WIDGET_ICON_KviUrlHandlersOptionsWidget KVI_SMALLICON_WORLD -#define KVI_OPTIONS_WIDGET_NAME_KviUrlHandlersOptionsWidget __tr2qs_no_lookup("URL handlers") -#define KVI_OPTIONS_WIDGET_PARENT_KviUrlHandlersOptionsWidget KviGeneralOptOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviUrlHandlersOptionsWidget 70000 -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUrlHandlersOptionsWidget __tr2qs_no_lookup("url,programs") - -class KviUrlHandlersOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUrlHandlersOptionsWidget(QWidget * parent); - ~KviUrlHandlersOptionsWidget(); - - virtual void commit(); -protected: - QRadioButton * m_pClickRadio; - QRadioButton * m_pDoubleClickRadio; - - KviStringSelector * m_pHttpHandler; - KviStringSelector * m_pHttpsHandler; - KviStringSelector * m_pFtpHandler; - KviStringSelector * m_pMailtoHandler; - KviStringSelector * m_pFileHandler; - KviStringSelector * m_pOtherHandler; -public slots: - void toggleEditors(bool); -}; - -#endif //_OPTW_URLHANDLERS_H_ diff --git a/src/modules/options/optw_userlist.cpp b/src/modules/options/optw_userlist.cpp deleted file mode 100644 index f1349e0ae..000000000 --- a/src/modules/options/optw_userlist.cpp +++ /dev/null @@ -1,250 +0,0 @@ -//============================================================================= -// -// File : optw_userlist.cpp -// Creation date : Sat Aug 11 2001 03:29:52 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2001-2010 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. -// -//============================================================================= - -#include "optw_userlist.h" - -#include "KviOptions.h" -#include "KviLocale.h" -#include "KviUserListView.h" - -#include - -KviUserListLookOptionsWidget::KviUserListLookOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"userlistlook_options_widget") -{ -} - -KviUserListLookOptionsWidget::~KviUserListLookOptionsWidget() -{ -} - - - -////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviUserListLookForegroundOptionsWidget::KviUserListLookForegroundOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"userlistlook_foreground_options_widget") -{ - createLayout(); - - addFontSelector(0,0,1,0,__tr2qs_ctx("Font:","options"),KviOption_fontUserListView); - - KviTalGroupBox * g = addGroupBox(0,1,1,1,Qt::Horizontal,__tr2qs_ctx("Nickname Colors","options")); - addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorUserListViewNormalForeground); - addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorUserListViewSelectionForeground); - addColorSelector(g,__tr2qs_ctx("IRC Op:","options"),KviOption_colorUserListViewIrcOpForeground); - addColorSelector(g,__tr2qs_ctx("Channel owner:","options"),KviOption_colorUserListViewChanOwnerForeground); - addColorSelector(g,__tr2qs_ctx("Channel admin:","options"),KviOption_colorUserListViewChanAdminForeground); - addColorSelector(g,__tr2qs_ctx("Op:","options"),KviOption_colorUserListViewOpForeground); - addColorSelector(g,__tr2qs_ctx("Half-op:","options"),KviOption_colorUserListViewHalfOpForeground); - addColorSelector(g,__tr2qs_ctx("Voice:","options"),KviOption_colorUserListViewVoiceForeground); - addColorSelector(g,__tr2qs_ctx("User-op:","options"),KviOption_colorUserListViewUserOpForeground); - addColorSelector(g,__tr2qs_ctx("Away:","options"),KviOption_colorUserListViewAwayForeground); - - KviTalHBox * hb = new KviTalHBox(g); - hb->setSpacing(4); - KviBoolSelector * b = addBoolSelector(hb,__tr2qs_ctx("Use different color for own nick:","options"),KviOption_boolUseDifferentColorForOwnNick); - KviColorSelector * s = addColorSelector(hb,"",KviOption_colorUserListViewOwnForeground,KVI_OPTION_BOOL(KviOption_boolUseDifferentColorForOwnNick)); - connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); - - addRowSpacer(0,3,0,3); -} - -KviUserListLookForegroundOptionsWidget::~KviUserListLookForegroundOptionsWidget() -{ -} - -KviUserListGridOptionsWidget::KviUserListGridOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - createLayout(); - KviBoolSelector* b = addBoolSelector(0,0,0,0,__tr2qs_ctx("Draw nickname grid","options"),KviOption_boolUserListViewDrawGrid); - - KviColorSelector* s = addColorSelector(0,1,0,1,__tr2qs_ctx("Grid color:","options"),KviOption_colorUserListViewGrid,KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid)); - connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); - - KviTalHBox* hb = new KviTalHBox(this); - addWidgetToLayout(hb,0,2,0,2); - hb->setSpacing(4); - - QLabel * l = new QLabel(__tr2qs_ctx("Grid type:","options"),hb); - l->setEnabled(KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid)); - connect(b,SIGNAL(toggled(bool)),l,SLOT(setEnabled(bool))); - m_pGridTypeCombo = new QComboBox(hb); - m_pGridTypeCombo->addItem(__tr2qs_ctx("3D Grid","options")); - m_pGridTypeCombo->addItem(__tr2qs_ctx("3D Buttons","options")); - m_pGridTypeCombo->addItem(__tr2qs_ctx("Plain Grid","options")); - m_pGridTypeCombo->addItem(__tr2qs_ctx("Dotted Grid","options")); - m_pGridTypeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintUserListViewGridType)); - m_pGridTypeCombo->setEnabled(KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid)); - connect(b,SIGNAL(toggled(bool)),m_pGridTypeCombo,SLOT(setEnabled(bool))); - addRowSpacer(0,3,0,3); -} - -KviUserListGridOptionsWidget::~KviUserListGridOptionsWidget() -{ -} - -void KviUserListGridOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = m_pGridTypeCombo->currentIndex(); - if(KVI_OPTION_UINT(KviOption_uintUserListViewGridType) > KVI_USERLISTVIEW_GRIDTYPE_MAXIMUM) - KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = KVI_USERLISTVIEW_GRIDTYPE_DEFAULT; - -} - -////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviUserListLookBackgroundOptionsWidget::KviUserListLookBackgroundOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"userlistlook_background_options_widget") -{ - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,1,0,Qt::Horizontal,__tr2qs_ctx("Background Colors","options")); - addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorUserListViewBackground); - addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorUserListViewSelectionBackground); - - - addPixmapSelector(0,1,1,1,__tr2qs_ctx("Background image:","options"),KviOption_pixmapUserListViewBackground); - - addLabel(0,2,0,2,__tr2qs_ctx("Horizontal Alignment:","options")); - m_pHorizontalAlign=new QComboBox(this); - addWidgetToLayout(m_pHorizontalAlign,1,2,1,2); - - addLabel(0,3,0,3,__tr2qs_ctx("Vertical Alignment:","options")); - m_pVerticalAlign=new QComboBox(this); - addWidgetToLayout(m_pVerticalAlign,1,3,1,3); - - m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); - - m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); - - switch( KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign) & Qt::AlignHorizontal_Mask) - { - case Qt::AlignLeft: - m_pHorizontalAlign->setCurrentIndex(1); - break; - case Qt::AlignRight: - m_pHorizontalAlign->setCurrentIndex(2); - break; - case Qt::AlignHCenter: - m_pHorizontalAlign->setCurrentIndex(3); - break; - default: - m_pHorizontalAlign->setCurrentIndex(0); - } - - switch( KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign) & Qt::AlignVertical_Mask) - { - case Qt::AlignTop: - m_pVerticalAlign->setCurrentIndex(1); - break; - case Qt::AlignBottom: - m_pVerticalAlign->setCurrentIndex(2); - break; - case Qt::AlignVCenter: - m_pVerticalAlign->setCurrentIndex(3); - break; - default: - m_pVerticalAlign->setCurrentIndex(0); - } - - - - //layout()->setColumnStretch(0,1); - layout()->setRowStretch(1,1); -} - -KviUserListLookBackgroundOptionsWidget::~KviUserListLookBackgroundOptionsWidget() -{ -} - -void KviUserListLookBackgroundOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - int iFlags=0; - switch(m_pHorizontalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignLeft; - break; - case 2: - iFlags|=Qt::AlignRight; - break; - case 3: - iFlags|=Qt::AlignHCenter; - break; - } - switch(m_pVerticalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignTop; - break; - case 2: - iFlags|=Qt::AlignBottom; - break; - case 3: - iFlags|=Qt::AlignVCenter; - break; - } - - KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign)=iFlags; -} - -////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviUserListFeaturesOptionsWidget::KviUserListFeaturesOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent,"userlistfeatures_options_widget") -{ - createLayout(); - - addBoolSelector(0,0,0,0,__tr2qs_ctx("Show gender icons","options"),KviOption_boolDrawGenderIcons); - addBoolSelector(0,1,0,1,__tr2qs_ctx("Show user channel icons","options"),KviOption_boolShowUserChannelIcons); - addBoolSelector(0,2,0,2,__tr2qs_ctx("Show user channel activity indicator","options"),KviOption_boolShowUserChannelState); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Show label with userlist stats","options"),KviOption_boolShowUserListStatisticLabel); - addBoolSelector(0,4,0,4,__tr2qs_ctx("Enable user tooltips","options"),KviOption_boolShowUserListViewToolTips); - addBoolSelector(0,5,0,5,__tr2qs_ctx("Show avatars in userlist","options"),KviOption_boolShowAvatarsInUserlist); - addBoolSelector(0,6,0,6,__tr2qs_ctx("Enable animated avatars","options"),KviOption_boolEnableAnimatedAvatars); - addBoolSelector(0,7,0,7,__tr2qs_ctx("Place nicks starting with non-alpha chars (such as _COOL_BOY_) after the normal nicks","options"),KviOption_boolPlaceNickWithNonAlphaCharsAtEnd); - - addRowSpacer(0,8,0,8); -} - -KviUserListFeaturesOptionsWidget::~KviUserListFeaturesOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_userlist.moc" -#endif //COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_userlist.h b/src/modules/options/optw_userlist.h deleted file mode 100644 index f250d89d9..000000000 --- a/src/modules/options/optw_userlist.h +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef _OPTW_USERLIST_H_ -#define _OPTW_USERLIST_H_ -//============================================================================= -// -// File : optw_userlist.h -// Creation date : Sat Mar 02 2002 12:09:19 CEST by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "KviOptionsWidget.h" - -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviUserListLookOptionsWidget KVI_SMALLICON_USERLIST -#define KVI_OPTIONS_WIDGET_NAME_KviUserListLookOptionsWidget __tr2qs_no_lookup("Userlist") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookOptionsWidget __tr2qs_no_lookup("theme,userlist,channel") -#define KVI_OPTIONS_WIDGET_GROUP_KviUserListLookOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_CONTAINER_KviUserListLookOptionsWidget true - -class KviUserListLookOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUserListLookOptionsWidget(QWidget * parent); - ~KviUserListLookOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviUserListLookBackgroundOptionsWidget KVI_SMALLICON_TRANSPARENT -#define KVI_OPTIONS_WIDGET_NAME_KviUserListLookBackgroundOptionsWidget __tr2qs_no_lookup("Background") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookBackgroundOptionsWidget __tr2qs_no_lookup("theme,userlist,channel,background") -#define KVI_OPTIONS_WIDGET_GROUP_KviUserListLookBackgroundOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviUserListLookBackgroundOptionsWidget KviUserListLookOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookBackgroundOptionsWidget 30 - - -class KviUserListLookBackgroundOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUserListLookBackgroundOptionsWidget(QWidget * parent); - ~KviUserListLookBackgroundOptionsWidget(); -protected: - QComboBox* m_pHorizontalAlign; - QComboBox* m_pVerticalAlign; -public: - virtual void commit(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviUserListLookForegroundOptionsWidget KVI_SMALLICON_USERLIST -#define KVI_OPTIONS_WIDGET_NAME_KviUserListLookForegroundOptionsWidget __tr2qs_no_lookup("Foreground") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListLookForegroundOptionsWidget __tr2qs_no_lookup("theme,userlist,channel,colors") -#define KVI_OPTIONS_WIDGET_GROUP_KviUserListLookForegroundOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviUserListLookForegroundOptionsWidget KviUserListLookOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListLookForegroundOptionsWidget 20 - - -class KviUserListLookForegroundOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUserListLookForegroundOptionsWidget(QWidget * parent); - ~KviUserListLookForegroundOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviUserListGridOptionsWidget KVI_SMALLICON_GUI -#define KVI_OPTIONS_WIDGET_NAME_KviUserListGridOptionsWidget __tr2qs_no_lookup("Nickname Grid") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListGridOptionsWidget __tr2qs_no_lookup("theme,userlist,channel,grid") -#define KVI_OPTIONS_WIDGET_GROUP_KviUserListGridOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_PARENT_KviUserListGridOptionsWidget KviUserListLookOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListGridOptionsWidget 30 - - -class KviUserListGridOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUserListGridOptionsWidget(QWidget * parent); - ~KviUserListGridOptionsWidget(); -protected: - QComboBox * m_pGridTypeCombo; -public: - virtual void commit(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviUserListFeaturesOptionsWidget KVI_SMALLICON_GUI -#define KVI_OPTIONS_WIDGET_NAME_KviUserListFeaturesOptionsWidget __tr2qs_no_lookup("Features") -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviUserListFeaturesOptionsWidget __tr2qs_no_lookup("userlist,channel") -#define KVI_OPTIONS_WIDGET_PARENT_KviUserListFeaturesOptionsWidget KviUserListLookOptionsWidget -#define KVI_OPTIONS_WIDGET_PRIORITY_KviUserListFeaturesOptionsWidget 10 - -class KviUserListFeaturesOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviUserListFeaturesOptionsWidget(QWidget * parent); - ~KviUserListFeaturesOptionsWidget(); -}; - -#endif //!_OPTW_USERLIST_H_ diff --git a/src/modules/options/optw_windowlist.cpp b/src/modules/options/optw_windowlist.cpp deleted file mode 100644 index d3cb828fa..000000000 --- a/src/modules/options/optw_windowlist.cpp +++ /dev/null @@ -1,269 +0,0 @@ -//============================================================================= -// -// File : optw_windowlist.cpp -// Creation date : Wed Jan 16 04:30:39 2002 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//============================================================================= - -#include "optw_windowlist.h" - -#include "kvi_settings.h" -#include "KviLocale.h" -#include "KviOptions.h" - - -KviWindowListOptionsWidget::KviWindowListOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("windowlist_options_widget"); - - createLayout(); - - addBoolSelector(0,0,0,0,__tr2qs_ctx("Use tree window list","options"),KviOption_boolUseTreeWindowListWindowList); - addBoolSelector(0,1,0,1,__tr2qs_ctx("Sort windows by name","options"),KviOption_boolSortWindowListItemsByName); - addBoolSelector(0,2,0,2,__tr2qs_ctx("Show window icons in window list","options"),KviOption_boolUseWindowListIcons); - KviBoolSelector * b = addBoolSelector(0,3,0,3,__tr2qs_ctx("Show activity meter in window list","options"),KviOption_boolUseWindowListActivityMeter); - mergeTip(b,__tr2qs_ctx("
This option enables the usage of the window list activity meter. " \ - "Each window entry will have a small indicator of the activity that is going on in that window. " \ - "The indicator is a small square that changes colors, dark colors mean low activity, " \ - "while bright colors signal high activity. KVIrc also uses some heuristics to determine " \ - "whether the activity is somewhat \"human\" or it is generated by automated entities (such as bots " \ - "or IRC servers). \"Human\" activity causes the indicator to be shaded red while automated " \ - "activity causes the indicator to be shaded blue.
","options")); - addBoolSelector(0,4,0,4,__tr2qs_ctx("Show IRC context indicator in window list","options"),KviOption_boolUseWindowListIrcContextIndicator); - addBoolSelector(0,5,0,5,__tr2qs_ctx("Enable window tooltips","options"),KviOption_boolShowWindowListToolTips); - addBoolSelector(0,6,0,6,__tr2qs_ctx("Show header","options"),KviOption_boolShowTreeWindowListHeader); - addRowSpacer(0,7,0,7); -} - - -KviWindowListOptionsWidget::~KviWindowListOptionsWidget() -{ -} - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviTreeWindowListOptionsWidget::KviTreeWindowListOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("treewindowlist_options_widget"); -} - -KviTreeWindowListOptionsWidget::~KviTreeWindowListOptionsWidget() -{ -} - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviTreeWindowListForegroundOptionsWidget::KviTreeWindowListForegroundOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("treewindowlist_options_widget"); - - createLayout(); - - addFontSelector(0,0,0,0,__tr2qs_ctx("Font:","options"),KviOption_fontTreeWindowList); - - KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Text/Alert Colors","options")); - - addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorTreeWindowListForeground); - addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorTreeWindowListActiveForeground); - addColorSelector(g,__tr2qs_ctx("Alert Level 1:","options"),KviOption_colorTreeWindowListHighlight1Foreground); - addColorSelector(g,__tr2qs_ctx("Alert Level 2:","options"),KviOption_colorTreeWindowListHighlight2Foreground); - addColorSelector(g,__tr2qs_ctx("Alert Level 3:","options"),KviOption_colorTreeWindowListHighlight3Foreground); - addColorSelector(g,__tr2qs_ctx("Alert Level 4:","options"),KviOption_colorTreeWindowListHighlight4Foreground); - addColorSelector(g,__tr2qs_ctx("Alert Level 5:","options"),KviOption_colorTreeWindowListHighlight5Foreground); - - addColorSelector(0,2,0,2,__tr2qs_ctx("Progress bar color:","options"),KviOption_colorTreeWindowListProgress); - - addRowSpacer(0,3,0,3); -} - - -KviTreeWindowListForegroundOptionsWidget::~KviTreeWindowListForegroundOptionsWidget() -{ -} - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviTreeWindowListBackgroundOptionsWidget::KviTreeWindowListBackgroundOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("treewindowlist_options_widget"); - - createLayout(); - - KviTalGroupBox * g = addGroupBox(0,0,1,0,Qt::Horizontal,__tr2qs_ctx("Background Colors","options")); - addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorTreeWindowListBackground); - addColorSelector(g,__tr2qs_ctx("Selected:","options"),KviOption_colorTreeWindowListActiveBackground); - - addPixmapSelector(0,1,1,1,__tr2qs_ctx("Background image:","options"),KviOption_pixmapTreeWindowListBackground); - - addLabel(0,2,0,2,__tr2qs_ctx("Horizontal align:","options")); - m_pHorizontalAlign=new QComboBox(this); - addWidgetToLayout(m_pHorizontalAlign,1,2,1,2); - - addLabel(0,3,0,3,__tr2qs_ctx("Vertical align:","options")); - m_pVerticalAlign=new QComboBox(this); - addWidgetToLayout(m_pVerticalAlign,1,3,1,3); - - m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options")); - m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options")); - - m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options")); - m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options")); - - switch( KVI_OPTION_UINT(KviOption_uintTreeWindowListPixmapAlign) & Qt::AlignHorizontal_Mask) - { - case Qt::AlignLeft: - m_pHorizontalAlign->setCurrentIndex(1); - break; - case Qt::AlignRight: - m_pHorizontalAlign->setCurrentIndex(2); - break; - case Qt::AlignHCenter: - m_pHorizontalAlign->setCurrentIndex(3); - break; - default: - m_pHorizontalAlign->setCurrentIndex(0); - } - - switch( KVI_OPTION_UINT(KviOption_uintTreeWindowListPixmapAlign) & Qt::AlignVertical_Mask) - { - case Qt::AlignTop: - m_pVerticalAlign->setCurrentIndex(1); - break; - case Qt::AlignBottom: - m_pVerticalAlign->setCurrentIndex(2); - break; - case Qt::AlignVCenter: - m_pVerticalAlign->setCurrentIndex(3); - break; - default: - m_pVerticalAlign->setCurrentIndex(0); - } - - layout()->setRowStretch(1,1); -} - - -KviTreeWindowListBackgroundOptionsWidget::~KviTreeWindowListBackgroundOptionsWidget() -{ -} - -void KviTreeWindowListBackgroundOptionsWidget::commit() -{ - KviOptionsWidget::commit(); - - int iFlags=0; - switch(m_pHorizontalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignLeft; - break; - case 2: - iFlags|=Qt::AlignRight; - break; - case 3: - iFlags|=Qt::AlignHCenter; - break; - } - switch(m_pVerticalAlign->currentIndex()) - { - case 1: - iFlags|=Qt::AlignTop; - break; - case 2: - iFlags|=Qt::AlignBottom; - break; - case 3: - iFlags|=Qt::AlignVCenter; - break; - } - - KVI_OPTION_UINT(KviOption_uintTreeWindowListPixmapAlign)=iFlags; -} - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -KviTreeWindowListFeaturesOptionsWidget::KviTreeWindowListFeaturesOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("treewindowlist_options_widget"); - - createLayout(); - - addUIntSelector(0,1,0,1,__tr2qs_ctx("Minimum width:","options"),KviOption_uintTreeWindowListMinimumWidth,24,1024,125); - addBoolSelector(0,3,0,3,__tr2qs_ctx("Mouse wheel changes the active window instead of scrolling the scrollbar","options"),KviOption_boolWheelScrollsWindowsList); - - addRowSpacer(0,4,0,4); -} - - -KviTreeWindowListFeaturesOptionsWidget::~KviTreeWindowListFeaturesOptionsWidget() -{ -} - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -KviClassicWindowListOptionsWidget::KviClassicWindowListOptionsWidget(QWidget * parent) -: KviOptionsWidget(parent) -{ - setObjectName("classicwindowlist_options_widget"); - - createLayout(); - - addFontSelector(0,0,0,0,__tr2qs_ctx("Font:","options"),KviOption_fontWindowList); - KviTalGroupBox *g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Text/Alert Colors","options")); - addColorSelector(g,__tr2qs_ctx("Normal:","options"),KviOption_colorWindowListNormalText); - addColorSelector(g,__tr2qs_ctx("Minimized:","options"), KviOption_colorWindowListMinimizedText); - addColorSelector(g,__tr2qs_ctx("Alert Level 1:","options"),KviOption_colorWindowListHighlight1Text); - addColorSelector(g,__tr2qs_ctx("Alert Level 2:","options"),KviOption_colorWindowListHighlight2Text); - addColorSelector(g,__tr2qs_ctx("Alert Level 3:","options"),KviOption_colorWindowListHighlight3Text); - addColorSelector(g,__tr2qs_ctx("Alert Level 4:","options"),KviOption_colorWindowListHighlight4Text); - addColorSelector(g,__tr2qs_ctx("Alert Level 5:","options"),KviOption_colorWindowListHighlight5Text); - addColorSelector(0,2,0,2,__tr2qs_ctx("Progress bar color:","options"),KviOption_colorWindowListProgressBar); - addUIntSelector(0,3,0,3,__tr2qs_ctx("Minimum width of buttons:","options"),KviOption_uintWindowListButtonMinWidth,24,9999,100); - //addUIntSelector(0,4,0,4,__tr2qs_ctx("Maximum number of rows:","options"),KviOption_uintWindowListMaximumRows,1,16,2); - addBoolSelector(0,4,0,4,__tr2qs_ctx("Set maximum button width","options"),KviOption_boolClassicWindowListSetMaximumButtonWidth); - addUIntSelector(0,5,0,5,__tr2qs_ctx("Maximum width of buttons:","options"),KviOption_uintClassicWindowListMaximumButtonWidth,24,9999,100); - addBoolSelector(0,6,0,6,__tr2qs_ctx("Use flat buttons","options"),KviOption_boolUseFlatClassicWindowListButtons); - addRowSpacer(0,7,0,7); -} - - -KviClassicWindowListOptionsWidget::~KviClassicWindowListOptionsWidget() -{ -} - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "m_optw_windowlist.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/options/optw_windowlist.h b/src/modules/options/optw_windowlist.h deleted file mode 100644 index 663de7961..000000000 --- a/src/modules/options/optw_windowlist.h +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef _OPTW_WINDOWLIST_H_ -#define _OPTW_WINDOWLIST_H_ - -//=============================================================================== -// -// File : optw_windowlist.h -// Creation date : Wed Jan 16 04:30:41 2002 GMT by Szymon Stefanek -// -// This file is part of the KVIrc irc client distribution -// Copyright (C) 2002-2010 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. -// -//=============================================================================== - - -#include "KviOptionsWidget.h" - -#include - -#define KVI_OPTIONS_WIDGET_ICON_KviWindowListOptionsWidget KVI_SMALLICON_CLASSICWINDOWLIST -#define KVI_OPTIONS_WIDGET_NAME_KviWindowListOptionsWidget __tr2qs_no_lookup("Window List") -#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviWindowListOptionsWidget 2 -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviWindowListOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviWindowListOptionsWidget "theme" - -class KviWindowListOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviWindowListOptionsWidget(QWidget * parent); - ~KviWindowListOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListOptionsWidget KVI_SMALLICON_TREEWINDOWLIST -#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListOptionsWidget __tr2qs_no_lookup("Tree Window List") -#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListOptionsWidget KviWindowListOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeWindowListOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListOptionsWidget "theme" -#define KVI_OPTIONS_WIDGET_CONTAINER_KviTreeWindowListOptionsWidget true - -class KviTreeWindowListOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTreeWindowListOptionsWidget(QWidget * pParent); - ~KviTreeWindowListOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListForegroundOptionsWidget KVI_SMALLICON_TREEWINDOWLIST -#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListForegroundOptionsWidget __tr2qs_no_lookup("Foreground") -#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListForegroundOptionsWidget KviTreeWindowListOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeTaskForegroundBarOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListForegroundOptionsWidget "theme" - -class KviTreeWindowListForegroundOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTreeWindowListForegroundOptionsWidget(QWidget * parent); - ~KviTreeWindowListForegroundOptionsWidget(); -}; - - -#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListBackgroundOptionsWidget KVI_SMALLICON_TREEWINDOWLIST -#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListBackgroundOptionsWidget __tr2qs_no_lookup("Background") -#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListBackgroundOptionsWidget KviTreeWindowListOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeTaskBackgroundBarOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListBackgroundOptionsWidget "theme" - -class KviTreeWindowListBackgroundOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -private: - QComboBox* m_pHorizontalAlign; - QComboBox* m_pVerticalAlign; -public: - KviTreeWindowListBackgroundOptionsWidget(QWidget * parent); - ~KviTreeWindowListBackgroundOptionsWidget(); - - virtual void commit(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviTreeWindowListFeaturesOptionsWidget KVI_SMALLICON_TREEWINDOWLIST -#define KVI_OPTIONS_WIDGET_NAME_KviTreeWindowListFeaturesOptionsWidget __tr2qs_no_lookup("Features") -#define KVI_OPTIONS_WIDGET_PARENT_KviTreeWindowListFeaturesOptionsWidget KviTreeWindowListOptionsWidget -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviTreeTaskFeaturesBarOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviTreeWindowListFeaturesOptionsWidget "theme" - -class KviTreeWindowListFeaturesOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviTreeWindowListFeaturesOptionsWidget(QWidget * parent); - ~KviTreeWindowListFeaturesOptionsWidget(); -}; - -#define KVI_OPTIONS_WIDGET_ICON_KviClassicWindowListOptionsWidget KVI_SMALLICON_CLASSICWINDOWLIST -#define KVI_OPTIONS_WIDGET_NAME_KviClassicWindowListOptionsWidget __tr2qs_no_lookup("Classic Window List") -#define KVI_OPTIONS_WIDGET_PARENT_KviClassicWindowListOptionsWidget KviWindowListOptionsWidget -#define KVI_OPTIONS_WIDGET_MINIMAL_USER_EXPERIENCE_LEVEL_KviClassicWindowListOptionsWidget 2 -#define KVI_OPTIONS_WIDGET_KEYWORDS_KviClassicWindowListOptionsWidget __tr2qs_no_lookup("theme") -#define KVI_OPTIONS_WIDGET_GROUP_KviClassicWindowListOptionsWidget "theme" - -class KviClassicWindowListOptionsWidget : public KviOptionsWidget -{ - Q_OBJECT -public: - KviClassicWindowListOptionsWidget(QWidget * parent); - ~KviClassicWindowListOptionsWidget(); -}; - -#endif //_OPTW_WINDOWLIST_H_ -- cgit v1.3.1-10-gc9f91