aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCerapter <cerap@protonmail.com>2018-09-17 17:52:27 +0200
committerCerapter <cerap@protonmail.com>2018-09-17 17:52:27 +0200
commit99d2894ab3a391cdb63f8158f90d62c28fcb4ed9 (patch)
treea6da349a4f8aae356e44a8d526e0b04e5b8f9d12
parent851d1de1be6db6bcddfcc6a501e9eadc49b4f548 (diff)
Added the ability to set a default status and a CM doc for loaded cases.
-rw-r--r--courtroom.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/courtroom.cpp b/courtroom.cpp
index fcb47817..dea4fb02 100644
--- a/courtroom.cpp
+++ b/courtroom.cpp
@@ -2811,9 +2811,22 @@ void Courtroom::on_ooc_return_pressed()
{
QStringList command = ooc_message.split(" ", QString::SkipEmptyParts);
+ QDir casefolder("base/cases");
+ if (!casefolder.exists())
+ {
+ QDir::current().mkdir("base/" + casefolder.dirName());
+ append_server_chatmessage("CLIENT", "You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there.", "1");
+ ui_ooc_chat_message->clear();
+ return;
+ }
+ QStringList caseslist = casefolder.entryList();
+ caseslist.removeOne(".");
+ caseslist.removeOne("..");
+ caseslist.replaceInStrings(".ini","");
+
if (command.size() < 2)
{
- append_server_chatmessage("CLIENT", "You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.", "1");
+ append_server_chatmessage("CLIENT", "You need to give a filename to load (extension not needed)! Make sure that it is in the `base/cases/` folder, and that it is a correctly formatted ini.\nCases you can load: " + caseslist.join(", "), "1");
ui_ooc_chat_message->clear();
return;
}
@@ -2826,21 +2839,18 @@ void Courtroom::on_ooc_return_pressed()
return;
}
- QDir casefolder("base/cases");
- if (!casefolder.exists())
- {
- QDir::current().mkdir("base/" + casefolder.dirName());
- append_server_chatmessage("CLIENT", "You don't have a `base/cases/` folder! It was just made for you, but seeing as it WAS just made for you, it's likely the case file you're looking for can't be found in there.", "1");
- ui_ooc_chat_message->clear();
- return;
- }
-
QSettings casefile("base/cases/" + command[1] + ".ini", QSettings::IniFormat);
- QString casedoc = casefile.value("doc", "UNKNOWN").value<QString>();
+ QString casedoc = casefile.value("doc", "").value<QString>();
+ QString cmdoc = casefile.value("cmdoc", "").value<QString>();
+ QString casestatus = casefile.value("status", "").value<QString>();
- ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/doc " + casedoc + "#%"));
- ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/status lfp#%"));
+ if (!casedoc.isEmpty())
+ ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/doc " + casedoc + "#%"));
+ if (!casestatus.isEmpty())
+ ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/status " + casestatus + "#%"));
+ if (!cmdoc.isEmpty())
+ append_server_chatmessage("CLIENT", "Navigate to " + cmdoc + " for the CM doc.", "1");
for (int i = local_evidence_list.size() - 1; i >= 0; i--) {
ao_app->send_server_packet(new AOPacket("DE#" + QString::number(i) + "#%"));