diff options
author | dos-reis <gdr@axiomatics.org> | 2013-04-06 22:08:23 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-04-06 22:08:23 +0000 |
commit | a4633748286e4701f9430991b27a0ffa4fb49bb6 (patch) | |
tree | 9a9be4ec6fd4b16eeb630bd96d613e904dd62cba /src/gui/debate.cc | |
parent | ab3959c46b2eb277322d3be9536431d7d9597a73 (diff) | |
download | open-axiom-a4633748286e4701f9430991b27a0ffa4fb49bb6.tar.gz |
Diffstat (limited to 'src/gui/debate.cc')
-rw-r--r-- | src/gui/debate.cc | 27 |
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))); } |