summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2015-10-29 14:43:26 +0100
committerMarkus Mittendrein <git@maxmitti.tk>2015-10-29 14:43:26 +0100
commitaae8719959f96c9983ace8fca9d6e35f2057fc96 (patch)
treea28b8af06935478a79fad229251b4906c1a9125d
parenta51169e13f3136700c78771179f3956ba91f8194 (diff)
downloadmanager-aae8719959f96c9983ace8fca9d6e35f2057fc96.tar.gz
manager-aae8719959f96c9983ace8fca9d6e35f2057fc96.zip
Fix usage and correct applying of Session.IRC.UseIngameChat and
Config.IRC.UseIngameChat
-rw-r--r--src/crsm.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp
index 9bc2a19..ac2ea04 100644
--- a/src/crsm.cpp
+++ b/src/crsm.cpp
@@ -314,20 +314,22 @@ void CRSM::scenarioFinished()
}
Session.clear();
if((autoHost || userlist.length() > 0) && !finish)
+ {
nextScen();
- else if(!Config.IRC.IngameChannel.isEmpty())
+ }
+ else
{
ircSetIngameChannelTopic();
- QFile lastScenFile(LAST_SCEN_FILE_NAME);
- QFile curScenFile(CUR_SCEN_FILE_NAME);
- curScenFile.open(QFile::ReadOnly);
- lastScenFile.open(QFile::WriteOnly);
- lastScenFile.write(curScenFile.readAll());
- lastScenFile.close();
- curScenFile.close();
- curScenFile.open(QFile::WriteOnly);
- curScenFile.close();
}
+ QFile lastScenFile(LAST_SCEN_FILE_NAME);
+ QFile curScenFile(CUR_SCEN_FILE_NAME);
+ curScenFile.open(QFile::ReadOnly);
+ lastScenFile.open(QFile::WriteOnly);
+ lastScenFile.write(curScenFile.readAll());
+ lastScenFile.close();
+ curScenFile.close();
+ curScenFile.open(QFile::WriteOnly);
+ curScenFile.close();
}
void CRSM::ircMessageReceived(IrcMessage *message)
@@ -428,7 +430,7 @@ void CRSM::ircMessageReceived(IrcMessage *message)
IrcJoinMessage* joinMessage = (IrcJoinMessage*) message;
QString joinChannel = joinMessage->channel();
connection->sendCommand(IrcCommand::createMessage(joinChannel, "Hallo " + message->nick() + "!"));
- if(joinChannel == Config.IRC.IngameChannel)
+ if(joinChannel == Config.IRC.IngameChannel && Session.IRC.UseIngameChat)
{
writeToServer("[IRC] " + message->nick() + " hat den Channel betreten." + "\n");
}
@@ -462,7 +464,7 @@ void CRSM::ircMessageReceived(IrcMessage *message)
{
IrcPartMessage* partMessage = (IrcPartMessage*)message;
QString leaveChannel = partMessage->channel();
- if(leaveChannel == Config.IRC.IngameChannel)
+ if(leaveChannel == Config.IRC.IngameChannel && Session.IRC.UseIngameChat)
{
writeToServer("[IRC] " + message->nick() + " hat den Channel verlassen." + "\n");
}
@@ -471,7 +473,7 @@ void CRSM::ircMessageReceived(IrcMessage *message)
{
IrcModeMessage* modeMessage = (IrcModeMessage*)message;
QRegExp modeExp("^\\+[a-zA-Z]*(a|o)");
- if(message->parameters().size() >= 3 && modeMessage->target() == Config.IRC.IngameChannel && modeExp.exactMatch(modeMessage->mode()) && modeMessage->argument() == Config.IRC.Nick)
+ if(Config.IRC.UseIngameChat && message->parameters().size() >= 3 && modeMessage->target() == Config.IRC.IngameChannel && modeExp.exactMatch(modeMessage->mode()) && modeMessage->argument() == Config.IRC.Nick)
{
ircSetIngameChannelTopic();
}
@@ -1536,7 +1538,7 @@ void CRSM::prepareAndConnectIrc()
}
else
{
- Config.IRC.UseIngameChat = false;
+ Session.IRC.UseIngameChat = Config.IRC.UseIngameChat = false;
}
connection->setPassword(Config.IRC.Password);
@@ -1645,6 +1647,11 @@ void CRSM::applyConfig()
}
}
+ if(!Config.IRC.UseIngameChat)
+ {
+ Session.IRC.UseIngameChat = false;
+ }
+
setupCmds();
out(Stats.read(Config.CRSM.StatsFile));
out(Packs.read(Config.CRSM.PacksFile, Config.Auto.Volatile.Clonk.Directory));