diff options
-rw-r--r-- | Swift/QtUI/QtChatView.cpp | 6 | ||||
-rw-r--r-- | Swift/QtUI/QtChatView.h | 4 | ||||
-rw-r--r-- | Swift/QtUI/QtHistoryWindow.cpp | 6 | ||||
-rw-r--r-- | Swift/QtUI/QtHistoryWindow.h | 1 |
4 files changed, 17 insertions, 0 deletions
diff --git a/Swift/QtUI/QtChatView.cpp b/Swift/QtUI/QtChatView.cpp index 74ffb8b..05e2191 100644 --- a/Swift/QtUI/QtChatView.cpp +++ b/Swift/QtUI/QtChatView.cpp @@ -294,6 +294,8 @@ void QtChatView::handleFrameSizeChanged() { if (isAtBottom_) { scrollToBottom(); } + + emit contentSizeChanged(); } void QtChatView::handleLinkClicked(const QUrl& url) { @@ -466,4 +468,8 @@ void QtChatView::resetTopInsertPoint() { firstElement_ = QWebElement(); } +bool QtChatView::findText(const QString& text, QWebPage::FindFlags options) { + return webPage_->findText(text, options); +} + } diff --git a/Swift/QtUI/QtChatView.h b/Swift/QtUI/QtChatView.h index 8c523d5..6b5d21f 100644 --- a/Swift/QtUI/QtChatView.h +++ b/Swift/QtUI/QtChatView.h @@ -11,6 +11,7 @@ #include <QWidget> #include <QList> #include <QWebElement> +#include <QWebPage> #include <boost/shared_ptr.hpp> @@ -47,6 +48,8 @@ namespace Swift { void setMUCInvitationJoined(QString id); void showEmoticons(bool show); int getSnippetPositionByDate(const QDate& date); + bool findText(const QString& text, QWebPage::FindFlags options); + signals: void gotFocus(); void fontResized(int); @@ -54,6 +57,7 @@ namespace Swift { void scrollRequested(int pos); void scrollReachedTop(); void scrollReachedBottom(); + void contentSizeChanged(); public slots: void copySelectionToClipboard(); diff --git a/Swift/QtUI/QtHistoryWindow.cpp b/Swift/QtUI/QtHistoryWindow.cpp index b9f2e91..c2dcbcb 100644 --- a/Swift/QtUI/QtHistoryWindow.cpp +++ b/Swift/QtUI/QtHistoryWindow.cpp @@ -61,6 +61,7 @@ QtHistoryWindow::QtHistoryWindow(SettingsProvider* settings, UIEventStream* even connect(conversation_, SIGNAL(scrollReachedTop()), this, SLOT(handleScrollReachedTop())); connect(conversation_, SIGNAL(scrollReachedBottom()), this, SLOT(handleScrollReachedBottom())); connect(conversation_, SIGNAL(fontResized(int)), this, SLOT(handleFontResized(int))); + connect(conversation_, SIGNAL(contentSizeChanged()), this, SLOT(handleContentSizeChanged())); connect(ui_.searchBox_->lineEdit(), SIGNAL(returnPressed()), this, SLOT(handleReturnPressed())); connect(ui_.calendarWidget_, SIGNAL(clicked(const QDate&)), this, SLOT(handleCalendarClicked(const QDate&))); connect(ui_.calendarWidget_, SIGNAL(activated(const QDate&)), this, SLOT(handleCalendarClicked(const QDate&))); @@ -73,6 +74,7 @@ QtHistoryWindow::~QtHistoryWindow() { disconnect(conversation_, SIGNAL(scrollReachedTop()), this, SLOT(handleScrollReachedTop())); disconnect(conversation_, SIGNAL(scrollReachedBottom()), this, SLOT(handleScrollReachedBottom())); disconnect(conversation_, SIGNAL(fontResized(int)), this, SLOT(handleFontResized(int))); + disconnect(conversation_, SIGNAL(contentSizeChanged()), this, SLOT(handleContentSizeChanged())); disconnect(ui_.searchBox_->lineEdit(), SIGNAL(returnPressed()), this, SLOT(handleReturnPressed())); disconnect(ui_.calendarWidget_, SIGNAL(clicked(const QDate&)), this, SLOT(handleCalendarClicked(const QDate&))); disconnect(ui_.calendarWidget_, SIGNAL(activated(const QDate&)), this, SLOT(handleCalendarClicked(const QDate&))); @@ -233,4 +235,8 @@ boost::gregorian::date QtHistoryWindow::getLastVisibleDate() { return boost::gregorian::date(boost::gregorian::not_a_date_time); } +void QtHistoryWindow::handleContentSizeChanged() { + conversation_->findText(ui_.searchBox_->lineEdit()->text(), QWebPage::HighlightAllOccurrences); +} + } diff --git a/Swift/QtUI/QtHistoryWindow.h b/Swift/QtUI/QtHistoryWindow.h index 49de098..79449bd 100644 --- a/Swift/QtUI/QtHistoryWindow.h +++ b/Swift/QtUI/QtHistoryWindow.h @@ -48,6 +48,7 @@ namespace Swift { void handleCalendarClicked(const QDate& date); void handlePreviousButtonClicked(); void handleNextButtonClicked(); + void handleContentSizeChanged(); private: void handleSomethingSelectedChanged(RosterItem* item); |