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/OptionsWidget_channel.cpp | 166 ++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 src/modules/options/OptionsWidget_channel.cpp (limited to 'src/modules/options/OptionsWidget_channel.cpp') 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 -- cgit v1.3.1-10-gc9f91