aboutsummaryrefslogtreecommitdiff
path: root/src/gui/debate.cc
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-04-06 22:08:23 +0000
committerdos-reis <gdr@axiomatics.org>2013-04-06 22:08:23 +0000
commita4633748286e4701f9430991b27a0ffa4fb49bb6 (patch)
tree9a9be4ec6fd4b16eeb630bd96d613e904dd62cba /src/gui/debate.cc
parentab3959c46b2eb277322d3be9536431d7d9597a73 (diff)
downloadopen-axiom-a4633748286e4701f9430991b27a0ffa4fb49bb6.tar.gz
Diffstat (limited to 'src/gui/debate.cc')
-rw-r--r--src/gui/debate.cc27
1 files changed, 9 insertions, 18 deletions
diff --git a/src/gui/debate.cc b/src/gui/debate.cc
index 51a5eb69..deaed417 100644
--- a/src/gui/debate.cc
+++ b/src/gui/debate.cc
@@ -35,23 +35,8 @@
namespace OpenAxiom {
- static void
- start_interpreter(Conversation* conv, Command& cmd) {
- QStringList args;
- for (int i = 0; i < cmd.rt_args.size(); ++i)
- args << cmd.rt_args[i];
- args << "--" << "--role=server";
- for (int i = 1; i < cmd.core.argc; ++i)
- args << cmd.core.argv[i];
- conv->oracle()->start(make_path_for(cmd.root_dir, Driver::core), args);
- // When invoked in a --role=server mode, OpenAxiom would
- // wait to be pinged before displaying a prompt. This is
- // an unfortunate result of a rather awkward hack.
- conv->submit_query("");
- }
-
Debate::Debate(QTabWidget* parent, Command& cmd)
- : QScrollArea(parent), conv(*this) {
+ : QScrollArea(parent), conv(*this, cmd) {
setWidget(&conv);
setViewportMargins(0, 0, 0, 0);
viewport()->setAutoFillBackground(true);
@@ -59,8 +44,14 @@ namespace OpenAxiom {
setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
adjustSize();
- start_interpreter(exchanges(), cmd);
- connect(conv.oracle(),
+
+ exchanges()->server()->launch();
+ // When invoked in a --role=server mode, OpenAxiom would
+ // wait to be pinged before displaying a prompt. This is
+ // an unfortunate result of a rather awkward hack.
+ exchanges()->server()->input("");
+
+ connect(exchanges()->server(),
SIGNAL(finished(int,QProcess::ExitStatus)),
this, SLOT(done(int)));
}