diff options
-rw-r--r-- | src/findbar.cpp | 11 | ||||
-rw-r--r-- | src/findbar.h | 2 | ||||
-rw-r--r-- | src/mainwindow.cpp | 125 | ||||
-rw-r--r-- | src/mainwindow.h | 3 |
4 files changed, 61 insertions, 80 deletions
diff --git a/src/findbar.cpp b/src/findbar.cpp index 0e312e04..283453a8 100644 --- a/src/findbar.cpp +++ b/src/findbar.cpp @@ -113,13 +113,14 @@ void FindBar::clear() } -void FindBar::showFindBar() +void FindBar::show() { // show findbar if not visible - if (!isVisible()) - { - show(); - } + if (isVisible()) + return; + + QWidget::show(); + // set focus to findbar if user select showFindBar shortcut m_lineEdit->setFocus(); m_lineEdit->selectAll(); diff --git a/src/findbar.h b/src/findbar.h index a8a78970..739a573e 100644 --- a/src/findbar.h +++ b/src/findbar.h @@ -50,7 +50,7 @@ public: public slots: void clear(); - void showFindBar(); + void show(); protected Q_SLOTS: void keyPressEvent(QKeyEvent* event); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 83f64926..db5a768c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -90,6 +90,7 @@ MainWindow::MainWindow() : KXmlGuiWindow() , m_view(new MainView(this)) , m_searchBar(new SearchBar(this)) + , m_findBar(new FindBar(this)) , m_sidePanel(0) { // updating rekonq configuration @@ -103,6 +104,7 @@ MainWindow::MainWindow() QVBoxLayout *layout = new QVBoxLayout; layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(m_view); + layout->addWidget(m_findBar); centralWidget->setLayout(layout); // central widget @@ -157,11 +159,6 @@ void MainWindow::postLaunch() connect(m_view, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int))); connect(m_view, SIGNAL(printRequested(QWebFrame *)), this, SLOT(printRequested(QWebFrame *))); - // FIXME: these slots will be commented out until rekonq will have just ONE mainwindow -// connect(m_view, SIGNAL(geometryChangeRequested(const QRect &)), this, SLOT(geometryChangeRequested(const QRect &))); -// connect(m_view, SIGNAL(menuBarVisibilityChangeRequested(bool)), menuBar(), SLOT(setVisible(bool))); -// connect(m_view, SIGNAL(statusBarVisibilityChangeRequested(bool)), statusBar(), SLOT(setVisible(bool))); - // status bar messages connect(m_view, SIGNAL(showStatusBarMessage(const QString&)), statusBar(), SLOT(showMessage(const QString&))); connect(m_view, SIGNAL(linkHovered(const QString&)), statusBar(), SLOT(showMessage(const QString&))); @@ -171,7 +168,7 @@ void MainWindow::postLaunch() connect(m_view, SIGNAL(currentChanged(int)), this, SLOT(slotUpdateActions())); // Find Bar signal -// connect(m_findBar, SIGNAL(searchString(const QString &)), this, SLOT(slotFind(const QString &))); + connect(m_findBar, SIGNAL(searchString(const QString &)), this, SLOT(slotFind(const QString &))); // bookmarks loading connect(Application::bookmarkProvider(), SIGNAL(openUrl(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); @@ -225,7 +222,7 @@ void MainWindow::setupActions() KStandardAction::printPreview(this, SLOT(slotFilePrintPreview()), actionCollection()); KStandardAction::print(this, SLOT(slotFilePrint()), actionCollection()); KStandardAction::quit(this , SLOT(close()), actionCollection()); - KStandardAction::find(this, SLOT(slotViewFindBar()) , actionCollection()); + KStandardAction::find(m_findBar, SLOT(show()) , actionCollection()); KStandardAction::findNext(this, SLOT(slotFindNext()) , actionCollection()); KStandardAction::findPrev(this, SLOT(slotFindPrevious()) , actionCollection()); @@ -618,6 +615,7 @@ void MainWindow::slotPrivateBrowsing(bool enable) } } + void MainWindow::slotFind(const QString & search) { if (!currentTab()) @@ -627,70 +625,47 @@ void MainWindow::slotFind(const QString & search) } -void MainWindow::slotViewFindBar() +void MainWindow::slotFindNext() { -// // creating a centralWidget containing panel, m_view and the hidden findbar -// QWidget *centralWidget = new QWidget; -// centralWidget->setContentsMargins(0, 0, 0, 0); -// -// // setting layout -// QVBoxLayout *layout = new QVBoxLayout; -// layout->setContentsMargins(0, 0, 0, 0); -// layout->addWidget(m_view); -// centralWidget->setLayout(layout); -// -// // m_findBar->showFindBar(); -// // m_findBar->show(); - QWidget *w = centralWidget(); - QLayout *l = w->layout(); - QWidget *searchBarWidget = currentTab()->searchBar(); - searchBarWidget->show(); - l->addWidget(searchBarWidget); - w->setLayout(l); -} + if (!currentTab() && m_lastSearch.isEmpty()) + return; + QWebPage::FindFlags options; + if (m_findBar->matchCase()) + { + options = QWebPage::FindCaseSensitively | QWebPage::FindWrapsAroundDocument; + } + else + { + options = QWebPage::FindWrapsAroundDocument; + } -void MainWindow::slotFindNext() -{ -// if (!currentTab() && m_lastSearch.isEmpty()) -// return; -// -// QWebPage::FindFlags options; -// if (m_findBar->matchCase()) -// { -// options = QWebPage::FindCaseSensitively | QWebPage::FindWrapsAroundDocument; -// } -// else -// { -// options = QWebPage::FindWrapsAroundDocument; -// } -// -// if (!currentTab()->findText(m_lastSearch, options)) -// { -// slotUpdateStatusbar(QString(m_lastSearch) + i18n(" not found.")); -// } + if (!currentTab()->findText(m_lastSearch, options)) + { + slotUpdateStatusbar(QString(m_lastSearch) + i18n(" not found.")); + } } void MainWindow::slotFindPrevious() { -// if (!currentTab() && m_lastSearch.isEmpty()) -// return; -// -// QWebPage::FindFlags options; -// if (m_findBar->matchCase()) -// { -// options = QWebPage::FindCaseSensitively | QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument; -// } -// else -// { -// options = QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument; -// } -// -// if (!currentTab()->findText(m_lastSearch, options)) -// { -// slotUpdateStatusbar(QString(m_lastSearch) + i18n(" not found.")); -// } + if (!currentTab() && m_lastSearch.isEmpty()) + return; + + QWebPage::FindFlags options; + if (m_findBar->matchCase()) + { + options = QWebPage::FindCaseSensitively | QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument; + } + else + { + options = QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument; + } + + if (!currentTab()->findText(m_lastSearch, options)) + { + slotUpdateStatusbar(QString(m_lastSearch) + i18n(" not found.")); + } } @@ -801,10 +776,10 @@ void MainWindow::slotToggleInspector(bool enable) if (enable) { int result = KMessageBox::questionYesNo(this, - i18n("The web inspector will only work correctly for pages that were loaded after enabling.\n" - "Do you want to reload all pages?"), - i18n("Web Inspector") - ); + i18n("The web inspector will only work correctly for pages that were loaded after enabling.\n" + "Do you want to reload all pages?"), + i18n("Web Inspector") + ); if (result == KMessageBox::Yes) { @@ -931,12 +906,16 @@ bool MainWindow::queryClose() int answer = KMessageBox::questionYesNoCancel( this, - i18np("Are you sure you want to close the window?\n" "You have 1 tab open","Are you sure you want to close the window?\n" "You have %1 tabs open" , m_view->count()), - i18n("Are you sure you want to close the window?"), - KStandardGuiItem::quit(), - KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")), - KStandardGuiItem::cancel(), - "confirmClosingMultipleTabs" + i18np( "Are you sure you want to close the window?\n" + "You have 1 tab open", + "Are you sure you want to close the window?\n" + "You have %1 tabs open", + m_view->count()), + i18n("Are you sure you want to close the window?"), + KStandardGuiItem::quit(), + KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")), + KStandardGuiItem::cancel(), + "confirmClosingMultipleTabs" ); switch (answer) diff --git a/src/mainwindow.h b/src/mainwindow.h index 87003005..7d0b2e5c 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -44,6 +44,7 @@ class KIcon; class KMenu; class HistoryMenu; +class FindBar; class SidePanel; class WebView; @@ -117,7 +118,6 @@ private slots: void slotViewTextSmaller(); void slotViewPageSource(); void slotViewFullScreen(bool enable); - void slotViewFindBar(); // Tools Menu slots void slotToggleInspector(bool enable); @@ -129,6 +129,7 @@ private slots: private: MainView *m_view; SearchBar *m_searchBar; + FindBar *m_findBar; SidePanel *m_sidePanel; KMenu *m_historyBackMenu; |