aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/conversation.cc2
-rw-r--r--src/gui/conversation.h4
-rw-r--r--src/gui/debate.cc2
-rw-r--r--src/gui/debate.h6
4 files changed, 9 insertions, 5 deletions
diff --git a/src/gui/conversation.cc b/src/gui/conversation.cc
index 5d3fda7a..ccb20b9a 100644
--- a/src/gui/conversation.cc
+++ b/src/gui/conversation.cc
@@ -272,7 +272,7 @@ namespace OpenAxiom {
// Set a minimum preferred widget size, so no layout manager
// messes with it. Indicate we can make use of more space.
Conversation::Conversation(Debate& parent)
- : group(parent), greatings(this), cur_ex(), cur_out(&greatings) {
+ : group(&parent), greatings(this), cur_ex(), cur_out(&greatings) {
setFont(monospace_font());
setBackgroundRole(QPalette::Base);
greatings.setFont(font());
diff --git a/src/gui/conversation.h b/src/gui/conversation.h
index 31883a8f..2698c199 100644
--- a/src/gui/conversation.h
+++ b/src/gui/conversation.h
@@ -184,7 +184,7 @@ namespace OpenAxiom {
Exchange* exchange() { return cur_ex; }
// Return the parent engine widget.
- Debate* debate() const { return const_cast<Debate*>(&group); }
+ Debate* debate() const { return group; }
void submit_query(const QString&);
@@ -201,7 +201,7 @@ namespace OpenAxiom {
private:
typedef std::vector<Exchange*> Children;
- Debate& group;
+ Debate* group;
Banner greatings;
Children children;
QProcess proc;
diff --git a/src/gui/debate.cc b/src/gui/debate.cc
index efa3bb3d..51a5eb69 100644
--- a/src/gui/debate.cc
+++ b/src/gui/debate.cc
@@ -50,7 +50,7 @@ namespace OpenAxiom {
conv->submit_query("");
}
- Debate::Debate(QWidget* parent, Command& cmd)
+ Debate::Debate(QTabWidget* parent, Command& cmd)
: QScrollArea(parent), conv(*this) {
setWidget(&conv);
setViewportMargins(0, 0, 0, 0);
diff --git a/src/gui/debate.h b/src/gui/debate.h
index 35463fcc..fd69bfbf 100644
--- a/src/gui/debate.h
+++ b/src/gui/debate.h
@@ -38,16 +38,20 @@
#include <QResizeEvent>
#include "open-axiom.h"
#include "conversation.h"
+#include "main-window.h"
namespace OpenAxiom {
class Debate : public QScrollArea {
Q_OBJECT;
public:
- explicit Debate(QWidget*, Command&);
+ explicit Debate(QTabWidget*, Command&);
~Debate();
Conversation* exchanges() { return &conv; }
+ MainWindow* main_window() const {
+ return qobject_cast<MainWindow*>(parent()->parent());
+ }
protected:
void resizeEvent(QResizeEvent*);