aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Fabio Bas2010-12-29 11:11:50 +0000
committerGravatar Fabio Bas2010-12-29 11:11:50 +0000
commit1b747334923cdb89436344f0db6161fa74c89c37 (patch)
tree85486bf530368149bf0cea03f25d14352d58b2a7 /src/modules
parentMore file splitting (diff)
downloadKVIrc-1b747334923cdb89436344f0db6161fa74c89c37.tar.gz
KVIrc-1b747334923cdb89436344f0db6161fa74c89c37.tar.bz2
KVIrc-1b747334923cdb89436344f0db6161fa74c89c37.zip
Implemented 3-stages locking in popups (unlocked/softlocked for epilogue,prologue/hardlocked)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5261 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/popup/libkvipopup.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/modules/popup/libkvipopup.cpp b/src/modules/popup/libkvipopup.cpp
index 746c68de9..3151f8181 100644
--- a/src/modules/popup/libkvipopup.cpp
+++ b/src/modules/popup/libkvipopup.cpp
@@ -26,7 +26,7 @@
#include "KviLocale.h"
#include "KviKvsPopupManager.h"
-#define GET_KVS_POPUP \
+#define GET_KVS_POPUP(LOCKING_CHECK) \
int iIdx = szPopupName.indexOf(QChar('.')); \
if(iIdx == 0) \
{ \
@@ -52,7 +52,7 @@
c->warning(__tr2qs_ctx("Popup \"%Q\" does not exist","kvs"),&szPopupName); \
return true; \
} \
- if(pPopup->isLocked()) \
+ if(pPopup->LOCKING_CHECK()) \
{ \
if(!c->hasSwitch('q',"quiet")) \
c->warning(__tr2qs_ctx("Popup menu self-modification is not allowed (the popup is probably open)","kvs")); \
@@ -67,7 +67,7 @@
c->warning(__tr2qs_ctx("Subpopup \"%Q.%Q\" does not exist","kvs"),&szPopupName, &szSubPopupName); \
return true; \
} \
- if(pPopup->isLocked()) \
+ if(pPopup->LOCKING_CHECK()) \
{ \
if(!c->hasSwitch('q',"quiet")) \
c->warning(__tr2qs_ctx("Popup menu self-modification is not allowed (the subpopup is probably open)","kvs")); \
@@ -151,7 +151,7 @@ static bool popup_kvs_cmd_addItem(KviKvsModuleCallbackCommandCall * c)
KVSM_PARAMETER("condition",KVS_PT_STRING,KVS_PF_OPTIONAL,szCondition)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isHardLocked)
if(c->callback()->code().trimmed().isEmpty() && !c->hasSwitch('q',"quiet"))
c->warning(__tr2qs_ctx("Found empty instruction for popup item: maybe you need to fix the script?","kvs"));
@@ -184,9 +184,9 @@ static bool popup_kvs_cmd_addItem(KviKvsModuleCallbackCommandCall * c)
<item_id> is the optional item id - if not specified, it will be generated automatically.[br]
<command> will be executed just before the popup is filled at [cmd]popup.show[/cmd] command call.
<command> can be a simple instruction or an instruction block delimited by curly brackets.[br]
- WARNING: Please note that some instructions are not allowed here, an can potentially make kvirc
- crash. You tipically don't want to delete the popup that's running (calling [cmd]popup.clear[/cmd] or
- [cmd]popup.destroy[/cmd]) or create an infinite loop (calling [cmd]popup.addPrologue[/cmd])
+ Please note that some instructions are not allowed here, You can't delete the prologue's parent
+ popup (calling [cmd]popup.clear[/cmd] or [cmd]popup.destroy[/cmd]) or modify prologues/epilogues
+ (calling [cmd]popup.addPrologue[/cmd] or [cmd]popup.addEpilogue[/cmd])
@seealso:
[cmd]defpopup[/cmd], [cmd]popup.show[/cmd], [cmd]popup.addEpilogue[/cmd]
*/
@@ -199,7 +199,7 @@ static bool popup_kvs_cmd_addPrologue(KviKvsModuleCallbackCommandCall * c)
KVSM_PARAMETER("item_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szItemId)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isSoftLocked)
if(c->callback()->code().trimmed().isEmpty() && !c->hasSwitch('q',"quiet"))
c->warning(__tr2qs_ctx("Found empty prologue block: maybe you need to fix the script?","kvs"));
@@ -232,9 +232,9 @@ static bool popup_kvs_cmd_addPrologue(KviKvsModuleCallbackCommandCall * c)
<item_id> is the optional item id - if not specified, it will be generated automatically.[br]
<command> will be executed just after the popup is filled at [cmd]popup.show[/cmd] command call.
<command> can be a simple instruction or an instruction block delimited by curly brackets.[br]
- WARNING: Please note that some instructions are not allowed here, an can potentially make kvirc
- crash. You tipically don't want to delete the popup that's running (calling [cmd]popup.clear[/cmd] or
- [cmd]popup.destroy[/cmd]) or create an infinite loop (calling [cmd]popup.addEpilogue[/cmd])
+ Please note that some instructions are not allowed here, You can't delete the prologue's parent
+ popup (calling [cmd]popup.clear[/cmd] or [cmd]popup.destroy[/cmd]) or modify prologues/epilogues
+ (calling [cmd]popup.addPrologue[/cmd] or [cmd]popup.addEpilogue[/cmd])
@seealso:
[cmd]defpopup[/cmd], [cmd]popup.show[/cmd], [cmd]popup.addPrologue[/cmd]
*/
@@ -247,7 +247,7 @@ static bool popup_kvs_cmd_addEpilogue(KviKvsModuleCallbackCommandCall * c)
KVSM_PARAMETER("item_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szItemId)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isSoftLocked)
if(c->callback()->code().trimmed().isEmpty() && !c->hasSwitch('q',"quiet"))
c->warning(__tr2qs_ctx("Found empty epilogue block: maybe you need to fix the script?","kvs"));
@@ -298,7 +298,7 @@ static bool popup_kvs_cmd_addExtPopup(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("condition",KVS_PT_STRING,KVS_PF_OPTIONAL,szCondition)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isHardLocked)
pPopup->addExtPopup(szItemId, szExtPopupName, szText, szIcon, szCondition);
@@ -344,7 +344,7 @@ static bool popup_kvs_cmd_addLabel(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("condition",KVS_PT_STRING,KVS_PF_OPTIONAL,szCondition)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isHardLocked)
pPopup->addLabel(szItemId, szText, szIcon, szCondition);
@@ -391,7 +391,7 @@ static bool popup_kvs_cmd_addSubPopup(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("condition",KVS_PT_STRING,KVS_PF_OPTIONAL,szCondition)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isHardLocked)
pPopup->addPopup(szItemId, szText, szIcon, szCondition);
@@ -432,7 +432,7 @@ static bool popup_kvs_cmd_addSeparator(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("condition",KVS_PT_STRING,KVS_PF_OPTIONAL,szCondition)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isHardLocked)
pPopup->addSeparator(szItemId, szCondition);
@@ -467,7 +467,7 @@ static bool popup_kvs_cmd_clear(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("popupname",KVS_PT_NONEMPTYSTRING,0,szPopupName)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isSoftLocked)
pPopup->doClear();
@@ -549,7 +549,7 @@ static bool popup_kvs_cmd_destroy(KviKvsModuleCommandCall * c)
c->warning(__tr2qs_ctx("Popup \"%Q\" does not exist","kvs"),&szPopupName);
return true;
}
- if(pPopup->isLocked())
+ if(pPopup->isSoftLocked())
{
if(!c->hasSwitch('q',"quiet"))
c->warning(__tr2qs_ctx("Popup menu self-modification is not allowed (the popup is probably open)","kvs"));
@@ -597,7 +597,7 @@ static bool popup_kvs_cmd_delItem(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("item_id",KVS_PT_NONEMPTYSTRING,0,szItemId)
KVSM_PARAMETERS_END(c)
- GET_KVS_POPUP
+ GET_KVS_POPUP(isHardLocked)
if(!pPopup->removeItemByName(szItemId,c->hasSwitch('d',"deep")))
{
@@ -799,7 +799,7 @@ static bool popup_kvs_cmd_show(KviKvsModuleCommandCall * c)
return false;
}
- if(pMenu->isLocked())
+ if(pMenu->isSoftLocked())
{
delete pPopupParams;
pPopupParams = 0;