summaryrefslogtreecommitdiffstats
blob: 4b459de4c20cc3bb699dd4bdb3bc3e0be7de0394 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * Copyright (c) 2012 Catalin Badea
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

#include <QtHistoryWindow.h>
#include <QtTabbable.h>

#include <QtSwiftUtil.h>
#include <MessageSnippet.h>
#include <string>

#include <boost/shared_ptr.hpp>
#include <boost/smart_ptr/make_shared.hpp>

namespace Swift {

QtHistoryWindow::QtHistoryWindow(SettingsProvider* settings, UIEventStream* eventStream) {
	ui_.setupUi(this);

	QtChatTheme* theme = new QtChatTheme(""); // FIXME: leak

	delete ui_.conversation_;
	conversation_ = new QtChatView(theme, this);
	QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
	sizePolicy.setHorizontalStretch(80);
	sizePolicy.setVerticalStretch(0);
	conversation_->setSizePolicy(sizePolicy);

	ui_.conversation_ = conversation_;
	ui_.bottomLayout_->addWidget(conversation_);

	delete ui_.conversationRoster_;
	conversationRoster_ = new QtRosterWidget(eventStream, settings, this);
	QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Expanding);
	sizePolicy2.setVerticalStretch(80);
	conversationRoster_->setSizePolicy(sizePolicy2);
	ui_.conversationRoster_ = conversationRoster_;
	ui_.bottomLeftLayout_->setDirection(QBoxLayout::BottomToTop);
	ui_.bottomLeftLayout_->addWidget(conversationRoster_);

	conversation_->addMessage(boost::make_shared<MessageSnippet>("Hi", "Me", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/iron-man.png", false, false, theme, "id"));
	conversation_->addMessage(boost::make_shared<MessageSnippet>("Hi", "You", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/putin.png", true, false, theme, "id2"));
	conversation_->addMessage(boost::make_shared<MessageSnippet>("How is it going?", "Me", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/iron-man.png", false, false, theme, "id"));
	conversation_->addMessage(boost::make_shared<MessageSnippet>("Fine, just going through some documents.", "You", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/putin.png", true, false, theme, "id2"));
	conversation_->addMessage(boost::make_shared<MessageSnippet>("Cool. Hey, do you want to go for a beer?", "Me", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/iron-man.png", false, false, theme, "id"));
	conversation_->addMessage(boost::make_shared<MessageSnippet>("Sure. Meet me at the pub around 10?", "You", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/putin.png", true, false, theme, "id2"));
	conversation_->addMessage(boost::make_shared<MessageSnippet>("See you there.", "Me", QDateTime::currentDateTime(), "http://swarm.cs.pub.ro/~cbadea/swift/iron-man.png", false, false, theme, "id"));

	setWindowTitle(tr("History"));
}

QtHistoryWindow::~QtHistoryWindow() {
}

void QtHistoryWindow::activate() {
	emit wantsToActivate();
}

void QtHistoryWindow::showEvent(QShowEvent* event) {
	emit windowOpening();
	emit titleUpdated();
	QWidget::showEvent(event);
}

void QtHistoryWindow::closeEvent(QCloseEvent* event) {
	emit windowClosing();
	event->accept();
}

void QtHistoryWindow::setRosterModel(Roster* model) {
	conversationRoster_->setRosterModel(model);
}

}