aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Andrio Celos2016-08-13 17:29:06 +1000
committerGravatar un1versal2016-08-13 08:29:06 +0100
commit7c27cccde319364a7ea7ba28e520644f1ca7ab6b (patch)
tree7b7a8a0e4f4c9143454a452dd8e09f03c0c49807
parentdefault script configuration: bump aliases after 0cbfbf3 (diff)
downloadKVIrc-7c27cccde319364a7ea7ba28e520644f1ca7ab6b.tar.gz
KVIrc-7c27cccde319364a7ea7ba28e520644f1ca7ab6b.tar.bz2
KVIrc-7c27cccde319364a7ea7ba28e520644f1ca7ab6b.zip
Add /away -d for GUI actions to override the boolUseAwayMessage option. Fixes #2101 and fixes #2102. (#2104)
* Add /away -d for GUI actions to override the boolUseAwayMessage option. Fixes #2101. * Fix #2102.
-rw-r--r--src/kvirc/kernel/KviCoreActions.cpp2
-rw-r--r--src/kvirc/kvs/KviKvsCoreSimpleCommands_af.cpp7
-rw-r--r--src/kvirc/ui/KviStatusBarApplet.cpp4
-rw-r--r--src/modules/trayicon/libkvitrayicon.cpp11
4 files changed, 17 insertions, 7 deletions
diff --git a/src/kvirc/kernel/KviCoreActions.cpp b/src/kvirc/kernel/KviCoreActions.cpp
index 63ca99760..ad445b79a 100644
--- a/src/kvirc/kernel/KviCoreActions.cpp
+++ b/src/kvirc/kernel/KviCoreActions.cpp
@@ -1053,7 +1053,7 @@ KviGoAwayAction::KviGoAwayAction(QObject * pParent)
: KviKvsAction(
pParent,
QString(KVI_COREACTION_AWAYBACK),
- QString("if($away())back; else away;"),
+ QString("if($away())back; else away -d;"),
__tr2qs("Away/Back"),
__tr2qs("Allows entering and leaving away state"),
KviActionManager::categoryIrc(),
diff --git a/src/kvirc/kvs/KviKvsCoreSimpleCommands_af.cpp b/src/kvirc/kvs/KviKvsCoreSimpleCommands_af.cpp
index 9b9c8fe54..029ae1cdf 100644
--- a/src/kvirc/kvs/KviKvsCoreSimpleCommands_af.cpp
+++ b/src/kvirc/kvs/KviKvsCoreSimpleCommands_af.cpp
@@ -84,12 +84,15 @@ namespace KviKvsCoreSimpleCommands
@title:
away
@syntax:
- away [-a | --all-networks] [<reason:string>]
+ away [-a | --all-networks] [-d | --default-message] [<reason:string>]
@short:
Puts you into 'away' state
@switches:
!sw: -a | --all-networks
Set away on all networks
+ !sw: -d | --default-message
+ If you do not specify a message, this switch overrides the boolUseAwayMessage option
+ and sets you away with the default message.
@description:
Puts you into 'away' state in the connection associated to the
current [b]IRC context[/b].[br] This command is "server based";
@@ -120,7 +123,7 @@ namespace KviKvsCoreSimpleCommands
if(szReason.isEmpty())
{
- if(KVI_OPTION_BOOL(KviOption_boolUseAwayMessage))
+ if(KVI_OPTION_BOOL(KviOption_boolUseAwayMessage) || KVSCSC_pSwitches->find('d', "default-message"))
{
//user want to use its default away message
szReason = KVI_OPTION_STRING(KviOption_stringAwayMessage);
diff --git a/src/kvirc/ui/KviStatusBarApplet.cpp b/src/kvirc/ui/KviStatusBarApplet.cpp
index 484c94001..d8fcf06e6 100644
--- a/src/kvirc/ui/KviStatusBarApplet.cpp
+++ b/src/kvirc/ui/KviStatusBarApplet.cpp
@@ -206,9 +206,9 @@ void KviStatusBarAwayIndicator::mouseDoubleClickEvent(QMouseEvent * e)
return;
QString command;
if(m_bAwayOnAllContexts)
- command = "if($away)back -a; else away -a";
+ command = "if($away)back -a; else away -a -d";
else
- command = "if($away)back; else away";
+ command = "if($away)back; else away -d";
KviKvsScript::run(command, c->console());
}
diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp
index f8474c1c2..787e1d3ef 100644
--- a/src/modules/trayicon/libkvitrayicon.cpp
+++ b/src/modules/trayicon/libkvitrayicon.cpp
@@ -239,6 +239,7 @@ void KviTrayIconWidget::doAway(bool)
{
int id;
bool ok;
+ QString szReason;
QAction * act = dynamic_cast<QAction *>(QObject::sender());
if(act != nullptr)
@@ -265,8 +266,11 @@ void KviTrayIconWidget::doAway(bool)
}
else
{
+ szReason = KVI_OPTION_STRING(KviOption_stringAwayMessage);
+ if(szReason.isEmpty())
+ szReason = __tr2qs("Away from keyboard.");
pConsole->connection()->sendFmtData("AWAY :%s",
- pConsole->connection()->encodeText(KVI_OPTION_STRING(KviOption_stringAwayMessage)).data());
+ pConsole->connection()->encodeText(szReason).data());
}
}
}
@@ -284,8 +288,11 @@ void KviTrayIconWidget::doAway(bool)
}
else
{
+ szReason = KVI_OPTION_STRING(KviOption_stringAwayMessage);
+ if(szReason.isEmpty())
+ szReason = __tr2qs("Away from keyboard.");
pConsole->connection()->sendFmtData("AWAY :%s",
- pConsole->connection()->encodeText(KVI_OPTION_STRING(KviOption_stringAwayMessage)).data());
+ pConsole->connection()->encodeText(szReason).data());
}
}
}