QtUiStyle::QtUiStyle(QObject* parent) : UiStyle(parent) { ChatViewSettings s; s.initAndNotify("UseCustomTimestampFormat", this, &QtUiStyle::updateUseCustomTimestampFormat); s.initAndNotify("TimestampFormat", this, &QtUiStyle::updateTimestampFormatString); s.initAndNotify("SenderPrefixMode", this, &QtUiStyle::updateSenderPrefixDisplay); s.initAndNotify("ShowSenderBrackets", this, &QtUiStyle::updateShowSenderBrackets); // If no style sheet exists, generate it on first run. initializeSettingsQss(); }
BufferWidget::BufferWidget(QWidget *parent) : AbstractBufferContainer(parent), _chatViewSearchController(new ChatViewSearchController(this)), _autoMarkerLine(true) { 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, SIGNAL(searchChanged(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(ui.searchBar, SIGNAL(hidden()), this, SLOT(setFocus())); connect(_chatViewSearchController, SIGNAL(newCurrentHighlight(QGraphicsItem *)), this, SLOT(scrollToHighlight(QGraphicsItem *))); ActionCollection *coll = QtUi::actionCollection(); Action *zoomInChatview = coll->add<Action>("ZoomInChatView", this, SLOT(zoomIn())); zoomInChatview->setText(tr("Zoom In")); zoomInChatview->setIcon(SmallIcon("zoom-in")); zoomInChatview->setShortcut(QKeySequence::ZoomIn); Action *zoomOutChatview = coll->add<Action>("ZoomOutChatView", this, SLOT(zoomOut())); zoomOutChatview->setIcon(SmallIcon("zoom-out")); zoomOutChatview->setText(tr("Zoom Out")); zoomOutChatview->setShortcut(QKeySequence::ZoomOut); Action *zoomOriginalChatview = coll->add<Action>("ZoomOriginalChatView", this, SLOT(zoomOriginal())); zoomOriginalChatview->setIcon(SmallIcon("zoom-original")); zoomOriginalChatview->setText(tr("Actual Size")); //zoomOriginalChatview->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_0)); // used for RTS switching Action *setMarkerLine = coll->add<Action>("SetMarkerLineToBottom", this, SLOT(setMarkerLine())); setMarkerLine->setText(tr("Set Marker Line")); setMarkerLine->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_R)); Action *jumpToMarkerLine = QtUi::actionCollection("Navigation")->add<Action>("JumpToMarkerLine", this, SLOT(jumpToMarkerLine())); jumpToMarkerLine->setText(tr("Go to Marker Line")); jumpToMarkerLine->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_K)); ChatViewSettings s; s.initAndNotify("AutoMarkerLine", this, SLOT(setAutoMarkerLine(QVariant)), true); }