diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2008-11-01 13:04:26 +0100 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2008-11-01 13:04:26 +0100 |
commit | 2147abb0c02358b512925191d3e545574ec80e08 (patch) | |
tree | 5ad620f6ef7658b619768bc7cfc2de94a5dd71f4 /src/browsermainwindow.cpp | |
parent | Various improvements on the street from Qt demo browser (diff) | |
download | rekonq-2147abb0c02358b512925191d3e545574ec80e08.tar.xz |
Localizing strings..
Diffstat (limited to 'src/browsermainwindow.cpp')
-rw-r--r-- | src/browsermainwindow.cpp | 559 |
1 files changed, 300 insertions, 259 deletions
diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 3d1617e4..450f90b5 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -1,46 +1,28 @@ -/**************************************************************************** -** -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** Commercial Usage -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information -** to ensure GNU General Public Licensing requirements will be met: -** http://www.fsf.org/licensing/licenses/info/GPLv2.html and -** http://www.gnu.org/copyleft/gpl.html. In addition, as a special -** exception, Nokia gives you certain additional rights. These rights -** are described in the Nokia Qt GPL Exception version 1.3, included in -** the file GPL_EXCEPTION.txt in this package. -** -** Qt for Windows(R) Licensees -** As a special exception, Nokia, as the sole copyright holder for Qt -** Designer, grants users of the Qt/Eclipse Integration plug-in the -** right for the Qt/Eclipse Integration to link to functionality -** provided by Qt Designer and its related libraries. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** -****************************************************************************/ +/* ============================================================ + * + * This file is a part of the reKonq project + * + * Copyright (C) 2008 by Andrea Diamantini <adjam7 at gmail dot com> + * + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software Foundation; + * either version 2, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * ============================================================ */ + #include "browsermainwindow.h" #include "autosaver.h" #include "bookmarks.h" #include "browserapplication.h" -#include "chasewidget.h" #include "downloadmanager.h" #include "history.h" #include "settings.h" @@ -49,27 +31,29 @@ #include "ui_passworddialog.h" #include "webview.h" -#include <QtCore/QSettings> +#include <KStatusBar> +#include <KMenuBar> +#include <KShortcut> + +#include <QSettings> +#include <QDesktopWidget> +#include <QFileDialog> +#include <QPlainTextEdit> +#include <QPrintDialog> +#include <QPrintPreviewDialog> +#include <QPrinter> +#include <QMessageBox> +#include <QToolBar> +#include <QInputDialog> -#include <QtGui/QDesktopWidget> -#include <QtGui/QFileDialog> -#include <QtGui/QPlainTextEdit> -#include <QtGui/QPrintDialog> -#include <QtGui/QPrintPreviewDialog> -#include <QtGui/QPrinter> -#include <QtGui/QMenuBar> -#include <QtGui/QMessageBox> -#include <QtGui/QStatusBar> -#include <QtGui/QToolBar> -#include <QtGui/QInputDialog> +#include <QWebFrame> +#include <QWebHistory> -#include <QtWebKit/QWebFrame> -#include <QtWebKit/QWebHistory> +#include <QDebug> -#include <QtCore/QDebug> BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) - : QMainWindow(parent, flags) + : KMainWindow(parent, flags) , m_tabWidget(new TabWidget(this)) , m_autoSaver(new AutoSaver(this)) , m_historyBack(0) @@ -83,57 +67,34 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) setupToolBar(); QWidget *centralWidget = new QWidget(this); - BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); - m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this); - connect(m_bookmarksToolbar, SIGNAL(openUrl(const QUrl&)), - m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); - connect(m_bookmarksToolbar->toggleViewAction(), SIGNAL(toggled(bool)), - this, SLOT(updateBookmarksToolbarActionText(bool))); QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setMargin(0); #if defined(Q_WS_MAC) - layout->addWidget(m_bookmarksToolbar); layout->addWidget(new QWidget); // <- OS X tab widget style bug #else addToolBarBreak(); - addToolBar(m_bookmarksToolbar); #endif layout->addWidget(m_tabWidget); centralWidget->setLayout(layout); setCentralWidget(centralWidget); - connect(m_tabWidget, SIGNAL(loadPage(const QString &)), - this, SLOT(loadPage(const QString &))); - connect(m_tabWidget, SIGNAL(setCurrentTitle(const QString &)), - this, SLOT(slotUpdateWindowTitle(const QString &))); - connect(m_tabWidget, SIGNAL(showStatusBarMessage(const QString&)), - statusBar(), SLOT(showMessage(const QString&))); - connect(m_tabWidget, SIGNAL(linkHovered(const QString&)), - statusBar(), SLOT(showMessage(const QString&))); - connect(m_tabWidget, SIGNAL(loadProgress(int)), - this, SLOT(slotLoadProgress(int))); - connect(m_tabWidget, SIGNAL(tabsChanged()), - m_autoSaver, SLOT(changeOccurred())); - connect(m_tabWidget, SIGNAL(geometryChangeRequested(const QRect &)), - this, SLOT(geometryChangeRequested(const QRect &))); - connect(m_tabWidget, SIGNAL(printRequested(QWebFrame *)), - this, SLOT(printRequested(QWebFrame *))); - connect(m_tabWidget, SIGNAL(menuBarVisibilityChangeRequested(bool)), - menuBar(), SLOT(setVisible(bool))); - connect(m_tabWidget, SIGNAL(statusBarVisibilityChangeRequested(bool)), - statusBar(), SLOT(setVisible(bool))); - connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)), - m_navigationBar, SLOT(setVisible(bool))); - connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)), - m_bookmarksToolbar, SLOT(setVisible(bool))); + connect(m_tabWidget, SIGNAL(loadPage(const QString &)), this, SLOT(loadPage(const QString &))); + connect(m_tabWidget, SIGNAL(setCurrentTitle(const QString &)), this, SLOT(slotUpdateWindowTitle(const QString &))); + connect(m_tabWidget, SIGNAL(showStatusBarMessage(const QString&)), statusBar(), SLOT(showMessage(const QString&))); + connect(m_tabWidget, SIGNAL(linkHovered(const QString&)), statusBar(), SLOT(showMessage(const QString&))); + connect(m_tabWidget, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int))); + connect(m_tabWidget, SIGNAL(tabsChanged()), m_autoSaver, SLOT(changeOccurred())); + connect(m_tabWidget, SIGNAL(geometryChangeRequested(const QRect &)), this, SLOT(geometryChangeRequested(const QRect &))); + connect(m_tabWidget, SIGNAL(printRequested(QWebFrame *)), this, SLOT(printRequested(QWebFrame *))); + connect(m_tabWidget, SIGNAL(menuBarVisibilityChangeRequested(bool)), menuBar(), SLOT(setVisible(bool))); + connect(m_tabWidget, SIGNAL(statusBarVisibilityChangeRequested(bool)), statusBar(), SLOT(setVisible(bool))); + connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)), m_navigationBar, SLOT(setVisible(bool))); #if defined(Q_WS_MAC) - connect(m_tabWidget, SIGNAL(lastTabClosed()), - this, SLOT(close())); + connect(m_tabWidget, SIGNAL(lastTabClosed()), this, SLOT(close())); #else - connect(m_tabWidget, SIGNAL(lastTabClosed()), - m_tabWidget, SLOT(newTab())); + connect(m_tabWidget, SIGNAL(lastTabClosed()), m_tabWidget, SLOT(newTab())); #endif slotUpdateWindowTitle(); @@ -144,12 +105,16 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) m_navigationBar->setIconSize(QSize(size, size)); } + + BrowserMainWindow::~BrowserMainWindow() { m_autoSaver->changeOccurred(); m_autoSaver->saveIfNeccessary(); } + + void BrowserMainWindow::loadDefaultState() { QSettings settings; @@ -159,6 +124,8 @@ void BrowserMainWindow::loadDefaultState() settings.endGroup(); } + + QSize BrowserMainWindow::sizeHint() const { QRect desktopRect = QApplication::desktop()->screenGeometry(); @@ -166,6 +133,8 @@ QSize BrowserMainWindow::sizeHint() const return size; } + + void BrowserMainWindow::save() { BrowserApplication::instance()->saveSession(); @@ -177,8 +146,12 @@ void BrowserMainWindow::save() settings.endGroup(); } + + static const qint32 BrowserMainWindowMagic = 0xba; + + QByteArray BrowserMainWindow::saveState(bool withTabs) const { int version = 2; @@ -190,8 +163,7 @@ QByteArray BrowserMainWindow::saveState(bool withTabs) const stream << size(); stream << !m_navigationBar->isHidden(); - stream << !m_bookmarksToolbar->isHidden(); - stream << !statusBar()->isHidden(); +// stream << !statusBar()->isHidden(); // FIXME strange error ???? if (withTabs) stream << tabWidget()->saveState(); else @@ -199,6 +171,8 @@ QByteArray BrowserMainWindow::saveState(bool withTabs) const return data; } + + bool BrowserMainWindow::restoreState(const QByteArray &state) { int version = 2; @@ -229,10 +203,6 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) resize(size); m_navigationBar->setVisible(showToolbar); - updateToolbarActionText(showToolbar); - - m_bookmarksToolbar->setVisible(showBookmarksBar); - updateBookmarksToolbarActionText(showBookmarksBar); statusBar()->setVisible(showStatusbar); updateStatusbarActionText(showStatusbar); @@ -243,145 +213,140 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) return true; } + + void BrowserMainWindow::setupMenu() { new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(slotSwapFocus())); - // File - QMenu *fileMenu = menuBar()->addMenu(tr("&File")); + // ------------------------------------------------------------- FILE -------------------------------------------------------------------------------------------------- + QMenu *fileMenu = menuBar()->addMenu( i18n("&File")); - fileMenu->addAction(tr("&New Window"), this, SLOT(slotFileNew()), QKeySequence::New); + fileMenu->addAction(i18n("&New Window"), this, SLOT(slotFileNew()), QKeySequence::New); fileMenu->addAction(m_tabWidget->newTabAction()); - fileMenu->addAction(tr("&Open File..."), this, SLOT(slotFileOpen()), QKeySequence::Open); - fileMenu->addAction(tr("Open &Location..."), this, - SLOT(slotSelectLineEdit()), QKeySequence(Qt::ControlModifier + Qt::Key_L)); + fileMenu->addAction(i18n("&Open File..."), this, SLOT(slotFileOpen()), QKeySequence::Open); + fileMenu->addAction(i18n("Open &Location..."), this, SLOT(slotSelectLineEdit()), QKeySequence(Qt::ControlModifier + Qt::Key_L)); fileMenu->addSeparator(); + fileMenu->addAction(m_tabWidget->closeTabAction()); fileMenu->addSeparator(); - fileMenu->addAction(tr("&Save As..."), this, - SLOT(slotFileSaveAs()), QKeySequence(QKeySequence::Save)); - fileMenu->addSeparator(); - BookmarksManager *bookmarksManager = BrowserApplication::bookmarksManager(); - fileMenu->addAction(tr("&Import Bookmarks..."), bookmarksManager, SLOT(importBookmarks())); - fileMenu->addAction(tr("&Export Bookmarks..."), bookmarksManager, SLOT(exportBookmarks())); + + fileMenu->addAction(i18n("&Save As..."), this, SLOT(slotFileSaveAs()), QKeySequence(QKeySequence::Save)); fileMenu->addSeparator(); - fileMenu->addAction(tr("P&rint Preview..."), this, SLOT(slotFilePrintPreview())); - fileMenu->addAction(tr("&Print..."), this, SLOT(slotFilePrint()), QKeySequence::Print); + + fileMenu->addAction(i18n("P&rint Preview..."), this, SLOT(slotFilePrintPreview())); + fileMenu->addAction(i18n("&Print..."), this, SLOT(slotFilePrint()), QKeySequence::Print); fileMenu->addSeparator(); - QAction *action = fileMenu->addAction(tr("Private &Browsing..."), this, SLOT(slotPrivateBrowsing())); + + QAction *action = fileMenu->addAction(i18n("Private &Browsing..."), this, SLOT(slotPrivateBrowsing())); action->setCheckable(true); fileMenu->addSeparator(); #if defined(Q_WS_MAC) - fileMenu->addAction(tr("&Quit"), BrowserApplication::instance(), SLOT(quitBrowser()), QKeySequence(Qt::CTRL | Qt::Key_Q)); + fileMenu->addAction( i18n("&Quit"), BrowserApplication::instance(), SLOT(quitBrowser()), QKeySequence(Qt::CTRL | Qt::Key_Q)); #else - fileMenu->addAction(tr("&Quit"), this, SLOT(close()), QKeySequence(Qt::CTRL | Qt::Key_Q)); + fileMenu->addAction( i18n("&Quit"), this, SLOT(close()), QKeySequence(Qt::CTRL | Qt::Key_Q)); #endif - // Edit - QMenu *editMenu = menuBar()->addMenu(tr("&Edit")); - QAction *m_undo = editMenu->addAction(tr("&Undo")); + // ------------------------------------------------------------- EDIT -------------------------------------------------------------------------------------------------- + QMenu *editMenu = menuBar()->addMenu(i18n("&Edit")); + + QAction *m_undo = editMenu->addAction(i18n("&Undo")); m_undo->setShortcuts(QKeySequence::Undo); m_tabWidget->addWebAction(m_undo, QWebPage::Undo); - QAction *m_redo = editMenu->addAction(tr("&Redo")); + + QAction *m_redo = editMenu->addAction(i18n("&Redo")); m_redo->setShortcuts(QKeySequence::Redo); m_tabWidget->addWebAction(m_redo, QWebPage::Redo); + editMenu->addSeparator(); - QAction *m_cut = editMenu->addAction(tr("Cu&t")); + + QAction *m_cut = editMenu->addAction(i18n("Cu&t")); m_cut->setShortcuts(QKeySequence::Cut); m_tabWidget->addWebAction(m_cut, QWebPage::Cut); - QAction *m_copy = editMenu->addAction(tr("&Copy")); + + QAction *m_copy = editMenu->addAction(i18n("&Copy")); m_copy->setShortcuts(QKeySequence::Copy); m_tabWidget->addWebAction(m_copy, QWebPage::Copy); - QAction *m_paste = editMenu->addAction(tr("&Paste")); + + QAction *m_paste = editMenu->addAction(i18n("&Paste")); m_paste->setShortcuts(QKeySequence::Paste); m_tabWidget->addWebAction(m_paste, QWebPage::Paste); + editMenu->addSeparator(); - QAction *m_find = editMenu->addAction(tr("&Find")); + QAction *m_find = editMenu->addAction(i18n("&Find")); m_find->setShortcuts(QKeySequence::Find); connect(m_find, SIGNAL(triggered()), this, SLOT(slotEditFind())); new QShortcut(QKeySequence(Qt::Key_Slash), this, SLOT(slotEditFind())); - QAction *m_findNext = editMenu->addAction(tr("&Find Next")); + QAction *m_findNext = editMenu->addAction( i18n("&Find Next")); m_findNext->setShortcuts(QKeySequence::FindNext); connect(m_findNext, SIGNAL(triggered()), this, SLOT(slotEditFindNext())); - QAction *m_findPrevious = editMenu->addAction(tr("&Find Previous")); + QAction *m_findPrevious = editMenu->addAction( i18n("&Find Previous")); m_findPrevious->setShortcuts(QKeySequence::FindPrevious); connect(m_findPrevious, SIGNAL(triggered()), this, SLOT(slotEditFindPrevious())); editMenu->addSeparator(); - editMenu->addAction(tr("&Preferences"), this, SLOT(slotPreferences()), tr("Ctrl+,")); + editMenu->addAction( i18n("&Preferences"), this, SLOT(slotPreferences()), i18n("Ctrl+,")); - // View - QMenu *viewMenu = menuBar()->addMenu(tr("&View")); - m_viewBookmarkBar = new QAction(this); - updateBookmarksToolbarActionText(true); - m_viewBookmarkBar->setShortcut(tr("Shift+Ctrl+B")); - connect(m_viewBookmarkBar, SIGNAL(triggered()), this, SLOT(slotViewBookmarksBar())); - viewMenu->addAction(m_viewBookmarkBar); + // ------------------------------------------------------------- VIEW ------------------------------------------------------------------------------------------------- + QMenu *viewMenu = menuBar()->addMenu( i18n("&View") ); - m_viewToolbar = new QAction(this); - updateToolbarActionText(true); - m_viewToolbar->setShortcut(tr("Ctrl+|")); - connect(m_viewToolbar, SIGNAL(triggered()), this, SLOT(slotViewToolbar())); - viewMenu->addAction(m_viewToolbar); - - m_viewStatusbar = new QAction(this); + m_viewStatusbar = new KAction(this); updateStatusbarActionText(true); - m_viewStatusbar->setShortcut(tr("Ctrl+/")); + m_viewStatusbar->setShortcut( i18n("Ctrl+/") ); connect(m_viewStatusbar, SIGNAL(triggered()), this, SLOT(slotViewStatusbar())); viewMenu->addAction(m_viewStatusbar); viewMenu->addSeparator(); - m_stop = viewMenu->addAction(tr("&Stop")); + m_stop = viewMenu->addAction( i18n("&Stop") ); QList<QKeySequence> shortcuts; shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Period)); shortcuts.append(Qt::Key_Escape); m_stop->setShortcuts(shortcuts); m_tabWidget->addWebAction(m_stop, QWebPage::Stop); - m_reload = viewMenu->addAction(tr("Reload Page")); + m_reload = viewMenu->addAction( i18n("Reload Page") ); m_reload->setShortcuts(QKeySequence::Refresh); m_tabWidget->addWebAction(m_reload, QWebPage::Reload); - viewMenu->addAction(tr("&Make Text Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); - viewMenu->addAction(tr("&Make Text Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); - viewMenu->addAction(tr("&Make Text Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); + viewMenu->addAction( i18n("&Make Text Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); + viewMenu->addAction( i18n("&Make Text Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); + viewMenu->addAction( i18n("&Make Text Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); viewMenu->addSeparator(); - viewMenu->addAction(tr("Page S&ource"), this, SLOT(slotViewPageSource()), tr("Ctrl+Alt+U")); - QAction *a = viewMenu->addAction(tr("&Full Screen"), this, SLOT(slotViewFullScreen(bool)), Qt::Key_F11); + viewMenu->addAction( i18n("Page S&ource"), this, SLOT(slotViewPageSource()), i18n("Ctrl+Alt+U")); + QAction *a = viewMenu->addAction( i18n("&Full Screen"), this, SLOT(slotViewFullScreen(bool)), Qt::Key_F11); a->setCheckable(true); - // History + + // ------------------------------------------------------------- HISTORY -------------------------------------------------------------------------------------------------- HistoryMenu *historyMenu = new HistoryMenu(this); - connect(historyMenu, SIGNAL(openUrl(const QUrl&)), - m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); - connect(historyMenu, SIGNAL(hovered(const QString&)), this, - SLOT(slotUpdateStatusbar(const QString&))); - historyMenu->setTitle(tr("Hi&story")); + connect(historyMenu, SIGNAL(openUrl(const QUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); + connect(historyMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); + historyMenu->setTitle( i18n("Hi&story") ); menuBar()->addMenu(historyMenu); QList<QAction*> historyActions; - m_historyBack = new QAction(tr("Back"), this); + m_historyBack = new QAction( i18n("Back"), this); m_tabWidget->addWebAction(m_historyBack, QWebPage::Back); m_historyBack->setShortcuts(QKeySequence::Back); m_historyBack->setIconVisibleInMenu(false); - m_historyForward = new QAction(tr("Forward"), this); + m_historyForward = new QAction( i18n("Forward"), this); m_tabWidget->addWebAction(m_historyForward, QWebPage::Forward); m_historyForward->setShortcuts(QKeySequence::Forward); m_historyForward->setIconVisibleInMenu(false); - QAction *m_historyHome = new QAction(tr("Home"), this); + QAction *m_historyHome = new QAction( i18n("Home"), this); connect(m_historyHome, SIGNAL(triggered()), this, SLOT(slotHome())); m_historyHome->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_H)); - m_restoreLastSession = new QAction(tr("Restore Last Session"), this); + m_restoreLastSession = new QAction( i18n("Restore Last Session"), this); connect(m_restoreLastSession, SIGNAL(triggered()), BrowserApplication::instance(), SLOT(restoreLastSession())); m_restoreLastSession->setEnabled(BrowserApplication::instance()->canRestoreSession()); @@ -392,20 +357,24 @@ void BrowserMainWindow::setupMenu() historyActions.append(m_restoreLastSession); historyMenu->setInitialActions(historyActions); - // Bookmarks + // ------------------------------------------------------------- BOOKMARKS -------------------------------------------------------------------------------------------------- BookmarksMenu *bookmarksMenu = new BookmarksMenu(this); - connect(bookmarksMenu, SIGNAL(openUrl(const QUrl&)), - m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); - connect(bookmarksMenu, SIGNAL(hovered(const QString&)), - this, SLOT(slotUpdateStatusbar(const QString&))); - bookmarksMenu->setTitle(tr("&Bookmarks")); + connect(bookmarksMenu, SIGNAL(openUrl(const QUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); + connect(bookmarksMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); + bookmarksMenu->setTitle(i18n("&Bookmarks")); menuBar()->addMenu(bookmarksMenu); + // FIXME +// BookmarksManager *bookmarksManager = BrowserApplication::bookmarksManager(); +// bookmarksMenu->addAction(i18n("&Import Bookmarks..."), bookmarksManager, SLOT(importBookmarks())); +// bookmarksMenu->addAction(i18n("&Export Bookmarks..."), bookmarksManager, SLOT(exportBookmarks())); +// bookmarksMenu->addSeparator(); + QList<QAction*> bookmarksActions; - QAction *showAllBookmarksAction = new QAction(tr("Show All Bookmarks"), this); + QAction *showAllBookmarksAction = new QAction(i18n("Show All Bookmarks"), this); connect(showAllBookmarksAction, SIGNAL(triggered()), this, SLOT(slotShowBookmarksDialog())); - m_addBookmark = new QAction(QIcon(QLatin1String(":addbookmark.png")), tr("Add Bookmark..."), this); + m_addBookmark = new QAction( KIcon("bookmark-new"), i18n("Add Bookmark..."), this); m_addBookmark->setIconVisibleInMenu(false); connect(m_addBookmark, SIGNAL(triggered()), this, SLOT(slotAddBookmark())); @@ -415,73 +384,83 @@ void BrowserMainWindow::setupMenu() bookmarksActions.append(m_addBookmark); bookmarksMenu->setInitialActions(bookmarksActions); - // Window - m_windowMenu = menuBar()->addMenu(tr("&Window")); + // ------------------------------------------------------------- WINDOW -------------------------------------------------------------------------------------------------- + m_windowMenu = menuBar()->addMenu( i18n("&Window")); connect(m_windowMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShowWindowMenu())); slotAboutToShowWindowMenu(); - QMenu *toolsMenu = menuBar()->addMenu(tr("&Tools")); - toolsMenu->addAction(tr("Web &Search"), this, SLOT(slotWebSearch()), QKeySequence(tr("Ctrl+K", "Web Search"))); + QMenu *toolsMenu = menuBar()->addMenu( i18n("&Tools")); + toolsMenu->addAction( i18n("Web &Search"), this, SLOT(slotWebSearch()), QKeySequence( tr("Ctrl+K", "Web Search"))); #ifndef Q_CC_MINGW - a = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); + a = toolsMenu->addAction( i18n("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); a->setCheckable(true); #endif - QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); - helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt())); - helpMenu->addAction(tr("About &Demo Browser"), this, SLOT(slotAboutApplication())); + QMenu *helpMenu = menuBar()->addMenu( i18n("&Help")); + helpMenu->addAction( i18n("About &Qt"), qApp, SLOT(aboutQt())); + helpMenu->addAction( i18n("About &reKonq"), this, SLOT(slotAboutApplication())); } + + + + void BrowserMainWindow::setupToolBar() { setUnifiedTitleAndToolBarOnMac(true); - m_navigationBar = addToolBar(tr("Navigation")); - connect(m_navigationBar->toggleViewAction(), SIGNAL(toggled(bool)), - this, SLOT(updateToolbarActionText(bool))); - m_historyBack->setIcon(style()->standardIcon(QStyle::SP_ArrowBack, 0, this)); + m_navigationBar = addToolBar(i18n("Navigation")); + connect(m_navigationBar->toggleViewAction(), SIGNAL(toggled(bool)), this, SLOT(updateToolbarActionText(bool))); + + m_historyBack->setIcon( KIcon("go-previous") ); m_historyBackMenu = new QMenu(this); m_historyBack->setMenu(m_historyBackMenu); - connect(m_historyBackMenu, SIGNAL(aboutToShow()), - this, SLOT(slotAboutToShowBackMenu())); - connect(m_historyBackMenu, SIGNAL(triggered(QAction *)), - this, SLOT(slotOpenActionUrl(QAction *))); + connect(m_historyBackMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShowBackMenu())); + connect(m_historyBackMenu, SIGNAL(triggered(QAction *)), this, SLOT(slotOpenActionUrl(QAction *))); m_navigationBar->addAction(m_historyBack); - m_historyForward->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this)); - m_historyForwardMenu = new QMenu(this); - connect(m_historyForwardMenu, SIGNAL(aboutToShow()), - this, SLOT(slotAboutToShowForwardMenu())); - connect(m_historyForwardMenu, SIGNAL(triggered(QAction *)), - this, SLOT(slotOpenActionUrl(QAction *))); + m_historyForward->setIcon( KIcon("go-next") ); + m_historyForwardMenu = new QMenu(this); + connect(m_historyForwardMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShowForwardMenu())); + connect(m_historyForwardMenu, SIGNAL(triggered(QAction *)), this, SLOT(slotOpenActionUrl(QAction *))); m_historyForward->setMenu(m_historyForwardMenu); m_navigationBar->addAction(m_historyForward); m_stopReload = new QAction(this); - m_reloadIcon = style()->standardIcon(QStyle::SP_BrowserReload); + m_reloadIcon = KIcon( "view-refresh" ); m_stopReload->setIcon(m_reloadIcon); - m_navigationBar->addAction(m_stopReload); + m_goHome = new QAction(this); + m_goHome->setIcon( KIcon( "go-home" ) ); + m_navigationBar->addAction(m_goHome); + connect(m_goHome, SIGNAL(triggered()), this, SLOT(slotHome())); + m_navigationBar->addWidget(m_tabWidget->lineEditStack()); m_toolbarSearch = new ToolbarSearch(m_navigationBar); m_navigationBar->addWidget(m_toolbarSearch); - connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), SLOT(loadUrl(const QUrl&))); - m_chaseWidget = new ChaseWidget(this); - m_navigationBar->addWidget(m_chaseWidget); + // fixing toolbar movements + m_navigationBar->setFloatable( false ); + + connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), SLOT(loadUrl(const QUrl&))); } + + + void BrowserMainWindow::slotShowBookmarksDialog() { BookmarksDialog *dialog = new BookmarksDialog(this); - connect(dialog, SIGNAL(openUrl(const QUrl&)), - m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); + connect(dialog, SIGNAL(openUrl(const QUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&))); dialog->show(); } + + + void BrowserMainWindow::slotAddBookmark() { WebView *webView = currentTab(); @@ -491,44 +470,14 @@ void BrowserMainWindow::slotAddBookmark() dialog.exec(); } -void BrowserMainWindow::slotViewToolbar() -{ - if (m_navigationBar->isVisible()) { - updateToolbarActionText(false); - m_navigationBar->close(); - } else { - updateToolbarActionText(true); - m_navigationBar->show(); - } - m_autoSaver->changeOccurred(); -} - -void BrowserMainWindow::slotViewBookmarksBar() -{ - if (m_bookmarksToolbar->isVisible()) { - updateBookmarksToolbarActionText(false); - m_bookmarksToolbar->close(); - } else { - updateBookmarksToolbarActionText(true); - m_bookmarksToolbar->show(); - } - m_autoSaver->changeOccurred(); -} void BrowserMainWindow::updateStatusbarActionText(bool visible) { - m_viewStatusbar->setText(!visible ? tr("Show Status Bar") : tr("Hide Status Bar")); + m_viewStatusbar->setText(!visible ? i18n("Show Status Bar") : i18n("Hide Status Bar")); } -void BrowserMainWindow::updateToolbarActionText(bool visible) -{ - m_viewToolbar->setText(!visible ? tr("Show Toolbar") : tr("Hide Toolbar")); -} -void BrowserMainWindow::updateBookmarksToolbarActionText(bool visible) -{ - m_viewBookmarkBar->setText(!visible ? tr("Show Bookmarks bar") : tr("Hide Bookmarks bar")); -} + void BrowserMainWindow::slotViewStatusbar() { @@ -542,6 +491,9 @@ void BrowserMainWindow::slotViewStatusbar() m_autoSaver->changeOccurred(); } + + + QUrl BrowserMainWindow::guessUrlFromString(const QString &string) { QString urlStr = string.trimmed(); @@ -582,62 +534,81 @@ QUrl BrowserMainWindow::guessUrlFromString(const QString &string) return url; } + + + void BrowserMainWindow::loadUrl(const QUrl &url) { loadPage(url.toString()); } + + + void BrowserMainWindow::slotDownloadManager() { BrowserApplication::downloadManager()->show(); } + + void BrowserMainWindow::slotSelectLineEdit() { m_tabWidget->currentLineEdit()->selectAll(); m_tabWidget->currentLineEdit()->setFocus(); } + + void BrowserMainWindow::slotFileSaveAs() { BrowserApplication::downloadManager()->download(currentTab()->url(), true); } + + + void BrowserMainWindow::slotPreferences() { SettingsDialog *s = new SettingsDialog(this); s->show(); } + + + void BrowserMainWindow::slotUpdateStatusbar(const QString &string) { statusBar()->showMessage(string, 2000); } + + + void BrowserMainWindow::slotUpdateWindowTitle(const QString &title) { if (title.isEmpty()) { - setWindowTitle(tr("Qt Demo Browser")); + setWindowTitle("reKonq"); } else { -#if defined(Q_WS_MAC) - setWindowTitle(title); -#else - setWindowTitle(tr("%1 - Qt Demo Browser", "Page title and Browser name").arg(title)); -#endif + setWindowTitle(title + " - reKonq"); } } + + + void BrowserMainWindow::slotAboutApplication() { - QMessageBox::about(this, tr("About"), tr( - "Version %1" - "<p>This demo demonstrates Qt's " - "webkit facilities in action, providing an example " - "browser for you to experiment with.<p>" + QMessageBox::about(this, i18n("About"), + i18n( + "<p>reKonq is a simple KDE dedicated browser" + "<p>webkit and Qt Demo Browser based." // FIXME go new line.. "<p>QtWebKit is based on the Open Source WebKit Project developed at <a href=\"http://webkit.org/\">http://webkit.org/</a>." - ).arg(QCoreApplication::applicationVersion())); + )); } + + void BrowserMainWindow::slotFileNew() { BrowserApplication::instance()->newMainWindow(); @@ -645,10 +616,13 @@ void BrowserMainWindow::slotFileNew() mw->slotHome(); } + + + void BrowserMainWindow::slotFileOpen() { - QString file = QFileDialog::getOpenFileName(this, tr("Open Web Resource"), QString(), - tr("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)")); + QString file = QFileDialog::getOpenFileName(this, i18n("Open Web Resource"), QString(), + i18n("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)")); if (file.isEmpty()) return; @@ -656,6 +630,9 @@ void BrowserMainWindow::slotFileOpen() loadPage(file); } + + + void BrowserMainWindow::slotFilePrintPreview() { if (!currentTab()) @@ -666,6 +643,8 @@ void BrowserMainWindow::slotFilePrintPreview() dialog->exec(); } + + void BrowserMainWindow::slotFilePrint() { if (!currentTab()) @@ -673,30 +652,34 @@ void BrowserMainWindow::slotFilePrint() printRequested(currentTab()->page()->mainFrame()); } + + void BrowserMainWindow::printRequested(QWebFrame *frame) { QPrinter printer; QPrintDialog *dialog = new QPrintDialog(&printer, this); - dialog->setWindowTitle(tr("Print Document")); + dialog->setWindowTitle( i18n("Print Document") ); if (dialog->exec() != QDialog::Accepted) return; frame->print(&printer); } + + void BrowserMainWindow::slotPrivateBrowsing() { QWebSettings *settings = QWebSettings::globalSettings(); bool pb = settings->testAttribute(QWebSettings::PrivateBrowsingEnabled); if (!pb) { - QString title = tr("Are you sure you want to turn on private browsing?"); - QString text = tr("<b>%1</b><br><br>When private browsing in turned on," + QString title = i18n("Are you sure you want to turn on private browsing?"); + QString text = "<b>" + title + i18n("</b><br><br>When private browsing in turned on," " webpages are not added to the history," " items are automatically removed from the Downloads window," \ " new cookies are not stored, current cookies can't be accessed," \ " site icons wont be stored, session wont be saved, " \ " and searches are not addded to the pop-up menu in the Google search box." \ " Until you close the window, you can still click the Back and Forward buttons" \ - " to return to the webpages you have opened.").arg(title); + " to return to the webpages you have opened."); QMessageBox::StandardButton button = QMessageBox::question(this, QString(), text, QMessageBox::Ok | QMessageBox::Cancel, @@ -716,12 +699,14 @@ void BrowserMainWindow::slotPrivateBrowsing() } } + + void BrowserMainWindow::closeEvent(QCloseEvent *event) { if (m_tabWidget->count() > 1) { int ret = QMessageBox::warning(this, QString(), - tr("Are you sure you want to close the window?" - " There are %1 tab open").arg(m_tabWidget->count()), + i18n("Are you sure you want to close the window?" + " There are %1 tab open" , m_tabWidget->count() ) , QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::No) { @@ -733,21 +718,26 @@ void BrowserMainWindow::closeEvent(QCloseEvent *event) deleteLater(); } + + + void BrowserMainWindow::slotEditFind() { if (!currentTab()) return; bool ok; - QString search = QInputDialog::getText(this, tr("Find"), - tr("Text:"), QLineEdit::Normal, + QString search = QInputDialog::getText(this, i18n("Find"), + i18n("Text:"), QLineEdit::Normal, m_lastSearch, &ok); if (ok && !search.isEmpty()) { m_lastSearch = search; if (!currentTab()->findText(m_lastSearch)) - slotUpdateStatusbar(tr("\"%1\" not found.").arg(m_lastSearch)); + slotUpdateStatusbar( QString(m_lastSearch) + i18n(" not found.") ); } } + + void BrowserMainWindow::slotEditFindNext() { if (!currentTab() && !m_lastSearch.isEmpty()) @@ -755,6 +745,8 @@ void BrowserMainWindow::slotEditFindNext() currentTab()->findText(m_lastSearch); } + + void BrowserMainWindow::slotEditFindPrevious() { if (!currentTab() && !m_lastSearch.isEmpty()) @@ -762,6 +754,8 @@ void BrowserMainWindow::slotEditFindPrevious() currentTab()->findText(m_lastSearch, QWebPage::FindBackward); } + + void BrowserMainWindow::slotViewTextBigger() { if (!currentTab()) @@ -769,6 +763,8 @@ void BrowserMainWindow::slotViewTextBigger() currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() + 0.1); } + + void BrowserMainWindow::slotViewTextNormal() { if (!currentTab()) @@ -776,6 +772,8 @@ void BrowserMainWindow::slotViewTextNormal() currentTab()->setTextSizeMultiplier(1.0); } + + void BrowserMainWindow::slotViewTextSmaller() { if (!currentTab()) @@ -783,6 +781,9 @@ void BrowserMainWindow::slotViewTextSmaller() currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() - 0.1); } + + + void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen) { if (makeFullScreen) { @@ -796,6 +797,9 @@ void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen) } } + + + void BrowserMainWindow::slotViewPageSource() { if (!currentTab()) @@ -803,32 +807,40 @@ void BrowserMainWindow::slotViewPageSource() QString markup = currentTab()->page()->mainFrame()->toHtml(); QPlainTextEdit *view = new QPlainTextEdit(markup); - view->setWindowTitle(tr("Page Source of %1").arg(currentTab()->title())); + view->setWindowTitle( i18n("Page Source of ") + currentTab()->title() ); view->setMinimumWidth(640); view->setAttribute(Qt::WA_DeleteOnClose); view->show(); } + + void BrowserMainWindow::slotHome() { QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); - QString home = settings.value(QLatin1String("home"), QLatin1String("http://www.trolltech.com/")).toString(); + QString home = settings.value(QLatin1String("home"), QLatin1String("http://www.kde.org/")).toString(); loadPage(home); } + + + void BrowserMainWindow::slotWebSearch() { m_toolbarSearch->lineEdit()->selectAll(); m_toolbarSearch->lineEdit()->setFocus(); } + + + void BrowserMainWindow::slotToggleInspector(bool enable) { QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, enable); if (enable) { - int result = QMessageBox::question(this, tr("Web Inspector"), - tr("The web inspector will only work correctly for pages that were loaded after enabling.\n" + int result = QMessageBox::question(this, 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?"), QMessageBox::Yes | QMessageBox::No); if (result == QMessageBox::Yes) { @@ -837,6 +849,9 @@ void BrowserMainWindow::slotToggleInspector(bool enable) } } + + + void BrowserMainWindow::slotSwapFocus() { if (currentTab()->hasFocus()) @@ -845,6 +860,8 @@ void BrowserMainWindow::slotSwapFocus() currentTab()->setFocus(); } + + void BrowserMainWindow::loadPage(const QString &page) { if (!currentTab() || page.isEmpty()) @@ -855,35 +872,43 @@ void BrowserMainWindow::loadPage(const QString &page) m_tabWidget->loadUrlInCurrentTab(url); } + + + TabWidget *BrowserMainWindow::tabWidget() const { return m_tabWidget; } + + WebView *BrowserMainWindow::currentTab() const { return m_tabWidget->currentWebView(); } + + void BrowserMainWindow::slotLoadProgress(int progress) { if (progress < 100 && progress > 0) { - m_chaseWidget->setAnimated(true); disconnect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); if (m_stopIcon.isNull()) - m_stopIcon = style()->standardIcon(QStyle::SP_BrowserStop); + m_stopIcon = KIcon( style()->standardIcon(QStyle::SP_BrowserStop) ); m_stopReload->setIcon(m_stopIcon); connect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); - m_stopReload->setToolTip(tr("Stop loading the current page")); + m_stopReload->setToolTip( i18n("Stop loading the current page") ); } else { - m_chaseWidget->setAnimated(false); disconnect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); m_stopReload->setIcon(m_reloadIcon); connect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); - m_stopReload->setToolTip(tr("Reload the current page")); + m_stopReload->setToolTip( i18n("Reload the current page") ); } } + + + void BrowserMainWindow::slotAboutToShowBackMenu() { m_historyBackMenu->clear(); @@ -893,7 +918,7 @@ void BrowserMainWindow::slotAboutToShowBackMenu() int historyCount = history->count(); for (int i = history->backItems(historyCount).count() - 1; i >= 0; --i) { QWebHistoryItem item = history->backItems(history->count()).at(i); - QAction *action = new QAction(this); + KAction *action = new KAction(this); action->setData(-1*(historyCount-i-1)); QIcon icon = BrowserApplication::instance()->icon(item.url()); action->setIcon(icon); @@ -902,6 +927,9 @@ void BrowserMainWindow::slotAboutToShowBackMenu() } } + + + void BrowserMainWindow::slotAboutToShowForwardMenu() { m_historyForwardMenu->clear(); @@ -920,13 +948,16 @@ void BrowserMainWindow::slotAboutToShowForwardMenu() } } + + + void BrowserMainWindow::slotAboutToShowWindowMenu() { m_windowMenu->clear(); m_windowMenu->addAction(m_tabWidget->nextTabAction()); m_windowMenu->addAction(m_tabWidget->previousTabAction()); m_windowMenu->addSeparator(); - m_windowMenu->addAction(tr("Downloads"), this, SLOT(slotDownloadManager()), QKeySequence(tr("Alt+Ctrl+L", "Download Manager"))); + m_windowMenu->addAction( i18n("Downloads"), this, SLOT(slotDownloadManager()), QKeySequence( tr("Alt+Ctrl+L", "Download Manager"))); m_windowMenu->addSeparator(); QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows(); @@ -940,9 +971,12 @@ void BrowserMainWindow::slotAboutToShowWindowMenu() } } + + + void BrowserMainWindow::slotShowWindow() { - if (QAction *action = qobject_cast<QAction*>(sender())) { + if (KAction *action = qobject_cast<KAction*>(sender())) { QVariant v = action->data(); if (v.canConvert<int>()) { int offset = qvariant_cast<int>(v); @@ -953,6 +987,9 @@ void BrowserMainWindow::slotShowWindow() } } + + + void BrowserMainWindow::slotOpenActionUrl(QAction *action) { int offset = action->data().toInt(); @@ -963,7 +1000,11 @@ void BrowserMainWindow::slotOpenActionUrl(QAction *action) history->goToItem(history->forwardItems(history->count() - offset + 1).back()); // forward } + + + void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) { setGeometry(geometry); } + |