/* * Copyright (c) 2011 Vlad Voicu * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include #include #include "QtViewHistoryWindow.h" #include "QtChatView.h" #include "QtChatTheme.h" #include "MessageSnippet.h" #include "QtSwiftUtil.h" #include #include #include #include #include "boost/date_time/posix_time/posix_time.hpp" namespace Swift { QtViewHistoryWindow::QtViewHistoryWindow() { ui.setupUi(this); QStandardItemModel *dummyModel = new QStandardItemModel(2, 2); QStandardItem *item = new QStandardItem(QString("test row, test column")); QStandardItem *item2 = new QStandardItem(QString("test row2, test column2")); dummyModel->setItem(0, 0, item); dummyModel->setItem(0, 1, item2); ui.userHistory_->setModel(dummyModel); addDummyMessage(); connect(ui.periodPickerBefore_, SIGNAL(valueChanged(int)), this, SLOT(handleBeforeSliderValueChanged(int))); connect(ui.periodPickerAfter_, SIGNAL(valueChanged(int)), this, SLOT(handleAfterSliderValueChanged(int))); show(); } void QtViewHistoryWindow::addDummyMessage() { QtChatTheme *theme = new QtChatTheme(""); // Where should I get the theme path from? QString *htmlString = new QString("test"); boost::posix_time::ptime time = boost::posix_time::microsec_clock::universal_time(); QtChatView* messageLog_ = new QtChatView(theme, NULL); std::string id = "test"; std::string path = ""; messageLog_->addMessage(boost::shared_ptr (new MessageSnippet(*htmlString, *htmlString, B2QDATE(time), P2QSTRING(path), true, false, theme, P2QSTRING(id)))); messageLog_->addMessage(boost::shared_ptr (new MessageSnippet(*htmlString, *htmlString, B2QDATE(time), P2QSTRING(path), true, false, theme, P2QSTRING(id)))); messageLog_->addMessage(boost::shared_ptr (new MessageSnippet(*htmlString, *htmlString, B2QDATE(time), P2QSTRING(path), true, false, theme, P2QSTRING(id)))); messageLog_->addMessage(boost::shared_ptr (new MessageSnippet(*htmlString, *htmlString, B2QDATE(time), P2QSTRING(path), true, false, theme, P2QSTRING(id)))); ui.chatView_->addWidget(messageLog_); } void QtViewHistoryWindow::show() { QWidget::show(); QWidget::activateWindow(); } void QtViewHistoryWindow::setEnabled(bool enabled) { QWidget::setEnabled(enabled); } std::string QtViewHistoryWindow::getLabel(const int value) { std::string labelText; switch (value / 16) { case 0: labelText = "1 day"; break; case 1: labelText = "3 days"; break; case 2: labelText = "1 week"; break; case 3: labelText = "2 weeks"; break; case 4: labelText = "1 month"; break; case 5: labelText = "3 months"; break; case 6: labelText = "1 year"; break; } return labelText; } void QtViewHistoryWindow::handleBeforeSliderValueChanged(const int value) { QString labelText = P2QSTRING(getLabel(value)); ui.beforePeriodLabel_->setText(labelText); } void QtViewHistoryWindow::handleAfterSliderValueChanged(const int value) { QString labelText = P2QSTRING(getLabel(value)); ui.afterPeriodLabel_->setText(labelText); } }