+BufferWidget::BufferWidget(QWidget *parent)
+ : AbstractBufferContainer(parent),
+ _chatViewSearchController(new ChatViewSearchController(this))
+{
+ ui.setupUi(this);
+ layout()->setContentsMargins(0, 0, 0, 0);
+ layout()->setSpacing(0);
+ // ui.searchBar->hide();
+
+ _chatViewSearchController->setCaseSensitive(ui.searchBar->caseSensitiveBox()->isChecked());
+ _chatViewSearchController->setSearchSenders(ui.searchBar->searchSendersBox()->isChecked());
+ _chatViewSearchController->setSearchMsgs(ui.searchBar->searchMsgsBox()->isChecked());
+ _chatViewSearchController->setSearchOnlyRegularMsgs(ui.searchBar->searchOnlyRegularMsgsBox()->isChecked());
+
+ connect(ui.searchBar->searchEditLine(), SIGNAL(textChanged(const QString &)),
+ _chatViewSearchController, SLOT(setSearchString(const QString &)));
+ connect(ui.searchBar->caseSensitiveBox(), SIGNAL(toggled(bool)),
+ _chatViewSearchController, SLOT(setCaseSensitive(bool)));
+ connect(ui.searchBar->searchSendersBox(), SIGNAL(toggled(bool)),
+ _chatViewSearchController, SLOT(setSearchSenders(bool)));
+ connect(ui.searchBar->searchMsgsBox(), SIGNAL(toggled(bool)),
+ _chatViewSearchController, SLOT(setSearchMsgs(bool)));
+ connect(ui.searchBar->searchOnlyRegularMsgsBox(), SIGNAL(toggled(bool)),
+ _chatViewSearchController, SLOT(setSearchOnlyRegularMsgs(bool)));
+ connect(ui.searchBar->searchUpButton(), SIGNAL(clicked()),
+ _chatViewSearchController, SLOT(highlightPrev()));
+ connect(ui.searchBar->searchDownButton(), SIGNAL(clicked()),
+ _chatViewSearchController, SLOT(highlightNext()));
+
+ connect(_chatViewSearchController, SIGNAL(newCurrentHighlight(QGraphicsItem *)),
+ this, SLOT(scrollToHighlight(QGraphicsItem *)));
+
+ ActionCollection *coll = QtUi::actionCollection();
+
+ Action *zoomChatview = coll->add<Action>("ZoomChatView");
+ connect(zoomChatview, SIGNAL(triggered()), SLOT(zoomIn()));
+ zoomChatview->setText(tr("Enlarge Chat View"));
+ zoomChatview->setShortcut(tr("Ctrl++"));
+
+ Action *zoomOutChatview = coll->add<Action>("ZoomOutChatView");
+ connect(zoomOutChatview, SIGNAL(triggered()), SLOT(zoomOut()));
+ zoomOutChatview->setText(tr("Demagnify Chat View"));
+ zoomOutChatview->setShortcut(tr("Ctrl+-"));
+
+ Action *zoomNormalChatview = coll->add<Action>("ZoomNormalChatView");
+ connect(zoomNormalChatview, SIGNAL(triggered()), SLOT(zoomNormal()));
+ zoomNormalChatview->setText(tr("Normalize zoom of Chat View"));
+ zoomNormalChatview->setShortcut(tr("Ctrl+0"));