aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2012-12-23 10:57:45 +0000
committerGravatar Fabio Bas2012-12-23 10:57:45 +0000
commitbb5fd4adda9a72171d9f4858a10f30d0486e11dc (patch)
treea0825b5be9742a983c8e3585b0e8ea34c34cd458 /src
parentFix /server -l. Please test. (diff)
downloadKVIrc-bb5fd4adda9a72171d9f4858a10f30d0486e11dc.tar.gz
KVIrc-bb5fd4adda9a72171d9f4858a10f30d0486e11dc.tar.bz2
KVIrc-bb5fd4adda9a72171d9f4858a10f30d0486e11dc.zip
fix #1348: implemented 4 new events for mode "q": OnQuietBan, OnQuietUnban, OnMeQuietBan, OnMeQuietUnban
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6303 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/kvs/event/KviKvsEventTable.cpp111
-rw-r--r--src/kvirc/kvs/event/KviKvsEventTable.h10
-rw-r--r--src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp5
-rw-r--r--src/kvirc/ui/KviChannelWindow.cpp17
-rw-r--r--src/kvirc/ui/KviChannelWindow.h1
5 files changed, 138 insertions, 6 deletions
diff --git a/src/kvirc/kvs/event/KviKvsEventTable.cpp b/src/kvirc/kvs/event/KviKvsEventTable.cpp
index ad508daee..0cb43e0ac 100644
--- a/src/kvirc/kvs/event/KviKvsEventTable.cpp
+++ b/src/kvirc/kvs/event/KviKvsEventTable.cpp
@@ -26,6 +26,11 @@
#include "KviKvsEventTable.h"
#include "KviKvsEventManager.h"
+/*
+ * Note: the definition order of the EVENT(..) entries in this file
+ * must match the order of event ids defined in the header file.
+ */
+
#define EVENT(_name,_parm) KviKvsEvent(_name,_parm)
KviKvsEvent KviKvsEventManager::m_appEventTable[KVI_KVS_NUM_APP_EVENTS]=
@@ -3865,6 +3870,110 @@ KviKvsEvent KviKvsEventManager::m_appEventTable[KVI_KVS_NUM_APP_EVENTS]=
"$1 = source user\n" \
"$2 = source host\n" \
"$3 = target\n" \
- "$4 = message")
+ "$4 = message"),
+
+ /*
+ @doc: onquietban
+ @type:
+ event
+ @title:
+ OnQuietBan
+ @short:
+ Someone has set a +q flag on the channel
+ @parameters:
+ $0 = source nick
+ $1 = source username
+ $2 = source hostname
+ $3 = ban mask
+ @window:
+ Channel window
+ @description:
+ Triggered when someone sets a +q flag on the channel
+ @seealso:
+ [event:onquietunban]OnQuietUnban[/event]
+ */
+ EVENT("OnQuietBan", \
+ "$0 = source nick\n"
+ "$1 = source username\n"
+ "$2 = source hostname\n"
+ "$3 = ban mask"),
+
+ /*
+ @doc: onquietunban
+ @type:
+ event
+ @title:
+ OnQuietUnban
+ @short:
+ Someone has set a -q flag on the channel
+ @parameters:
+ $0 = source nick
+ $1 = source username
+ $2 = source hostname
+ $3 = unban mask
+ @window:
+ Channel window
+ @description:
+ Triggered when someone sets a -q flag on the channel
+ @seealso:
+ [event:onquietban]OnQuietBan[/event]
+ */
+ EVENT("OnQuietUnban", \
+ "$0 = source nick\n" \
+ "$1 = source username\n" \
+ "$2 = source hostname\n" \
+ "$3 = ban mask"),
+
+ /*
+ @doc: onmequietban
+ @type:
+ event
+ @title:
+ OnMeQuietBan
+ @short:
+ Local user is being quiet-banned (+q) in a channel
+ @parameters:
+ $0 = source nickname
+ $1 = source username
+ $2 = source hostname
+ $3 = ban mask
+ @window:
+ Channel
+ @description:
+ Triggered when someone has set a +q flag that matches your mask (quiet bans you) in the channel.[br]
+ @seealso:
+ [event:onmequietunban]OnMeQuietUnban[/event]
+ */
+ EVENT("OnMeQuietBan", \
+ "$0 = source nick\n" \
+ "$1 = source username\n" \
+ "$2 = source hostname\n" \
+ "$3 = ban mask"),
+
+ /*
+ @doc: onmequietunban
+ @type:
+ event
+ @title:
+ OnMeQuietUnban
+ @short:
+ Local user is being quiet-debanned (-q) in a channel
+ @parameters:
+ $0 = source nickname
+ $1 = source username
+ $2 = source hostname
+ $3 = ban mask
+ @window:
+ Channel
+ @description:
+ Triggered when someone has set a -q flag that matches your mask (quiet debans you) in the channel.[br]
+ @seealso:
+ [event:onmequietban]OnMeQuietBan[/event]
+ */
+ EVENT("OnMeQuietUnban", \
+ "$0 = source nick\n"
+ "$1 = source username\n" \
+ "$2 = source hostname\n" \
+ "$3 = ban mask")
};
diff --git a/src/kvirc/kvs/event/KviKvsEventTable.h b/src/kvirc/kvs/event/KviKvsEventTable.h
index e0b845bfe..5b5dca905 100644
--- a/src/kvirc/kvs/event/KviKvsEventTable.h
+++ b/src/kvirc/kvs/event/KviKvsEventTable.h
@@ -238,6 +238,10 @@
* \def KviEvent_OnDeIrcOp Someone has given a user the -O flag
* \def KviEvent_OnMeIrcOp Someone has given the local user the +O flag
* \def KviEvent_OnMeDeIrcOp Someone has given the local user the -O flag
+* \def KviEvent_OnQuietBan Someone has set a +q flag on the channel
+* \def KviEvent_OnQuietUnban Someone has set a -q flag on the channel
+* \def KviEvent_OnMeQuietBan Local user is being quiet-banned in a channel
+* \def KviEvent_OnMeQuietUnban Local user is being quiet-debanned in a channel
*/
#define KviEvent_OnChannelModeChange 64
#define KviEvent_OnUserModeChange 65
@@ -254,6 +258,10 @@
#define KviEvent_OnInviteExceptionRemove 76
#define KviEvent_OnMeInviteException 77
#define KviEvent_OnMeInviteExceptionRemove 78
+#define KviEvent_OnQuietBan 149
+#define KviEvent_OnQuietUnban 150
+#define KviEvent_OnMeQuietBan 151
+#define KviEvent_OnMeQuietUnban 152
#define KviEvent_OnLimitSet 79
#define KviEvent_OnLimitUnset 80
#define KviEvent_OnKeySet 81
@@ -369,6 +377,6 @@
#define KviEvent_OnQueryNickDefaultActionRequest 144
/** \def KVI_KVS_NUM_APP_EVENTS Defines the number of events */
-#define KVI_KVS_NUM_APP_EVENTS 149
+#define KVI_KVS_NUM_APP_EVENTS 153
#endif //_KVI_KVS_EVENTTABLE_H_
diff --git a/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp b/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp
index 10bd67863..44f123342 100644
--- a/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp
+++ b/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp
@@ -2003,7 +2003,6 @@ void KviIrcServerParser::parseChannelMode(const QString &szNick,const QString &s
aParam = msg->connection()->decodeText(msg->safeParam(curParam++));
// we call setModeInList anyway to fill the "mode q editor"
chan->setModeInList(*aux,aParam,bSet,msg->connection()->decodeText(msg->safePrefix()),QDateTime::currentDateTime().toTime_t());
-
if(aParam.contains('!'))
{
// it's a mask
@@ -2015,9 +2014,9 @@ void KviIrcServerParser::parseChannelMode(const QString &szNick,const QString &s
delete auxMask;
if(bIsMe)
{
- if(KVS_TRIGGER_EVENT_4_HALTED(bSet ? KviEvent_OnMeBan : KviEvent_OnMeUnban,chan,szNick,szUser,szHost,aParam))msg->setHaltOutput();
+ if(KVS_TRIGGER_EVENT_4_HALTED(bSet ? KviEvent_OnMeQuietBan : KviEvent_OnMeQuietUnban,chan,szNick,szUser,szHost,aParam))msg->setHaltOutput();
} else {
- if(KVS_TRIGGER_EVENT_4_HALTED(bSet ? KviEvent_OnBan : KviEvent_OnUnban,chan,szNick,szUser,szHost,aParam))msg->setHaltOutput();
+ if(KVS_TRIGGER_EVENT_4_HALTED(bSet ? KviEvent_OnQuietBan : KviEvent_OnQuietUnban,chan,szNick,szUser,szHost,aParam))msg->setHaltOutput();
}
if(!(msg->haltOutput() || (KVI_OPTION_BOOL(KviOption_boolShowCompactModeChanges) && bIsMultiMode)))
{
diff --git a/src/kvirc/ui/KviChannelWindow.cpp b/src/kvirc/ui/KviChannelWindow.cpp
index 9fa1a2538..2b84f1ba0 100644
--- a/src/kvirc/ui/KviChannelWindow.cpp
+++ b/src/kvirc/ui/KviChannelWindow.cpp
@@ -123,6 +123,7 @@ KviChannelWindow::KviChannelWindow(KviConsoleWindow * lpConsole, const QString &
m_pSplitter = new KviTalSplitter(Qt::Horizontal,this);
m_pSplitter->setObjectName(szName);
m_pSplitter->setChildrenCollapsible(false);
+ connect(m_pSplitter, SIGNAL(splitterMoved(int, int)), this, SLOT(splitterMoved(int, int)));
// Spitted vertially on the left
m_pVertSplitter = new KviTalSplitter(Qt::Vertical,m_pSplitter);
@@ -351,12 +352,23 @@ void KviChannelWindow::getConfigGroupName(QString & szBuffer)
}
}
+void KviChannelWindow::splitterMoved(int pos, int index)
+{
+ printf("\n[SPLITTER] %s pos=%d index=%d", windowName().toUtf8().data(), pos, index);
+ printf("\n[SPLITTER] %s w=%d h=%d s1=%d s2=%d", windowName().toUtf8().data(), width(), height(), (int)m_pSplitter->sizes().at(0), (int)m_pSplitter->sizes().at(1));
+ fflush(NULL);
+}
+
void KviChannelWindow::saveProperties(KviConfigurationFile * pCfg)
{
KviWindow::saveProperties(pCfg);
pCfg->writeEntry("TopSplitter", m_pTopSplitter->sizes());
pCfg->writeEntry("Splitter", m_pUserListView->isHidden() ? m_SplitterSizesList : m_pSplitter->sizes());
-// int iTimeStamp= pCfg->readIntEntry("EntryTimestamp", 0);
+
+ printf("\n[SPLITTER SAVE] %s w=%d h=%d s1=%d s2=%d", windowName().toUtf8().data(), width(), height(), (int)m_pSplitter->sizes().at(0), (int)m_pSplitter->sizes().at(1));
+ fflush(NULL);
+
+ // int iTimeStamp= pCfg->readIntEntry("EntryTimestamp", 0);
// qDebug("window %s, group %s, view %d==%d, ulist %d==%d timestamp %d",
// m_szName.toUtf8().data(), pCfg->group().toUtf8().data(),
// m_pIrcView->width(), sizes.at(0), m_pUserListView->width(), sizes.at(1), iTimeStamp);
@@ -657,6 +669,9 @@ void KviChannelWindow::resizeEvent(QResizeEvent *)
m_pButtonBox->setGeometry(0,0,width(),iHeight2);
m_pSplitter->setGeometry(0,iHeight2,width(),height() - (iHeight + iHeight2));
m_pInput->setGeometry(0,height() - iHeight, width(),iHeight);
+ printf("\n[WINDOW] %s w=%d h=%d s1=%d s2=%d", windowName().toUtf8().data(), width(), height(), (int)m_pSplitter->sizes().at(0), (int)m_pSplitter->sizes().at(1));
+ fflush(NULL);
+
}
QSize KviChannelWindow::sizeHint() const
diff --git a/src/kvirc/ui/KviChannelWindow.h b/src/kvirc/ui/KviChannelWindow.h
index 6d3ced5e7..3822efa6e 100644
--- a/src/kvirc/ui/KviChannelWindow.h
+++ b/src/kvirc/ui/KviChannelWindow.h
@@ -1053,6 +1053,7 @@ private slots:
*/
void toggleToolButtons();
+ void splitterMoved(int pos, int index);
signals:
/**
* \brief Emitted when our op status change