From c7048563b95f8d27b20aac0a0e1fbc5c4584c514 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Sat, 27 Dec 2008 12:54:30 +0100 Subject: BrowserMainWindow --> MainWindow --- src/CMakeLists.txt | 2 +- src/bookmarks.cpp | 4 +- src/bookmarks.h | 4 +- src/browserapplication.cpp | 14 +- src/browserapplication.h | 10 +- src/browsermainwindow.cpp | 862 ------------------------------------------- src/browsermainwindow.h | 149 -------- src/mainwindow.cpp | 862 +++++++++++++++++++++++++++++++++++++++++++ src/mainwindow.h | 149 ++++++++ src/networkaccessmanager.cpp | 8 +- src/searchbar.cpp | 2 +- src/settings.cpp | 4 +- src/tabwidget.cpp | 2 +- src/tags | 494 ------------------------- src/urlbar.cpp | 2 +- src/webview.cpp | 10 +- src/webview.h | 4 +- 17 files changed, 1044 insertions(+), 1538 deletions(-) delete mode 100644 src/browsermainwindow.cpp delete mode 100644 src/browsermainwindow.h create mode 100644 src/mainwindow.cpp create mode 100644 src/mainwindow.h delete mode 100644 src/tags (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d53a7add..51790586 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,7 @@ SET( rekonq_SRCS autosaver.cpp browserapplication.cpp - browsermainwindow.cpp + mainwindow.cpp cookiejar.cpp downloadmanager.cpp edittableview.cpp diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index ec46dd53..63d15f7b 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -21,7 +21,7 @@ #include "bookmarks.h" #include "bookmarks.moc" -#include "browsermainwindow.h" +#include "mainwindow.h" #include "webview.h" // KDE Includes @@ -31,7 +31,7 @@ OwnBookMarks::OwnBookMarks(KMainWindow *parent) : QObject(parent) , KBookmarkOwner() { - m_parent = qobject_cast( parent ); + m_parent = qobject_cast( parent ); connect( this, SIGNAL( openUrl( const KUrl &) ) , parent , SLOT( loadUrl( const KUrl & ) ) ); } diff --git a/src/bookmarks.h b/src/bookmarks.h index 91160321..e0e49c78 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -29,7 +29,7 @@ #include #include -class BrowserMainWindow; +class MainWindow; class OwnBookMarks : public QObject , public KBookmarkOwner { @@ -47,7 +47,7 @@ signals: void openUrl(const KUrl &); private: - BrowserMainWindow *m_parent; + MainWindow *m_parent; }; diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 52c5e670..696b2cd8 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -22,7 +22,7 @@ // Local Includes #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" #include "cookiejar.h" #include "downloadmanager.h" #include "history.h" @@ -173,10 +173,10 @@ void BrowserApplication::loadSettings() -QList BrowserApplication::mainWindows() +QList BrowserApplication::mainWindows() { clean(); - QList list; + QList list; for (int i = 0; i < m_mainWindows.count(); ++i) { list.append(m_mainWindows.at(i)); @@ -247,7 +247,7 @@ void BrowserApplication::restoreLastSession() } for (int i = 0; i < windows.count(); ++i) { - BrowserMainWindow *newWindow = 0; + MainWindow *newWindow = 0; if (m_mainWindows.count() == 1 && mainWindow()->tabWidget()->count() == 1 && mainWindow()->currentTab()->url() == KUrl()) @@ -277,16 +277,16 @@ void BrowserApplication::openUrl(const KUrl &url) -BrowserMainWindow *BrowserApplication::newMainWindow() +MainWindow *BrowserApplication::newMainWindow() { - BrowserMainWindow *browser = new BrowserMainWindow(); + MainWindow *browser = new MainWindow(); m_mainWindows.prepend(browser); browser->show(); return browser; } -BrowserMainWindow *BrowserApplication::mainWindow() +MainWindow *BrowserApplication::mainWindow() { clean(); if (m_mainWindows.isEmpty()) diff --git a/src/browserapplication.h b/src/browserapplication.h index 7f2ef321..8d33883e 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -35,7 +35,7 @@ QT_BEGIN_NAMESPACE class QLocalServer; QT_END_NAMESPACE -class BrowserMainWindow; +class MainWindow; class CookieJar; class DownloadManager; class HistoryManager; @@ -52,8 +52,8 @@ public: void loadSettings(); bool isTheOnlyBrowser() const; - BrowserMainWindow *mainWindow(); - QList mainWindows(); + MainWindow *mainWindow(); + QList mainWindows(); KIcon icon(const KUrl &url) const; void saveSession(); @@ -65,7 +65,7 @@ public: static NetworkAccessManager *networkAccessManager(); public slots: - BrowserMainWindow *newMainWindow(); + MainWindow *newMainWindow(); void restoreLastSession(); private slots: @@ -80,7 +80,7 @@ private: static DownloadManager *s_downloadManager; static NetworkAccessManager *s_networkAccessManager; - QList > m_mainWindows; + QList > m_mainWindows; QLocalServer *m_localServer; QByteArray m_lastSession; mutable KIcon m_defaultIcon; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp deleted file mode 100644 index cafb45bd..00000000 --- a/src/browsermainwindow.cpp +++ /dev/null @@ -1,862 +0,0 @@ -/* ============================================================ - * - * This file is a part of the rekonq project - * - * Copyright (C) 2007-2008 Trolltech ASA. All rights reserved - * Copyright (C) 2008 by Andrea Diamantini - * - * - * 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. - * - * ============================================================ */ - - -// Local Includes -#include "browsermainwindow.h" -#include "autosaver.h" -#include "browserapplication.h" -#include "downloadmanager.h" -#include "history.h" -#include "settings.h" -#include "tabwidget.h" -#include "bookmarks.h" -#include "webview.h" - -// UI Includes -#include "ui_passworddialog.h" - -// KDE Includes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Qt Includes -#include -#include -#include -#include -#include -#include -#include - - -BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) - : KMainWindow(parent, flags) - , m_tabWidget(new TabWidget(this)) - , m_autoSaver(new AutoSaver(this)) - , m_historyBack(0) - , m_historyForward(0) - , m_stop(0) - , m_reload(0) -{ - // delete widget accepting close event - setAttribute(Qt::WA_DeleteOnClose, true); - - setupMenu(); - setupToolBar(); - - QWidget *centralWidget = new QWidget(this); - - QVBoxLayout *layout = new QVBoxLayout; - layout->setSpacing(0); - layout->setMargin(0); - addToolBarBreak(); - layout->addWidget(m_tabWidget); - - // Find Bar - m_findBar = new FindBar(this); - connect( m_findBar, SIGNAL( searchString(const QString &) ), this, SLOT( slotFind(const QString &) ) ); - - 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( lastTabClosed() ), m_tabWidget, SLOT(newTab() ) ); - - slotUpdateWindowTitle(); - loadDefaultState(); - m_tabWidget->newTab(); -} - - -BrowserMainWindow::~BrowserMainWindow() -{ - m_autoSaver->changeOccurred(); - m_autoSaver->saveIfNeccessary(); - delete m_navigationBar; -} - - -void BrowserMainWindow::loadDefaultState() -{ - KConfig config("rekonqrc"); - KConfigGroup group1 = config.group("BrowserMainWindow"); - QByteArray data = group1.readEntry(QString("defaultState"), QByteArray() ); - restoreState(data); -} - - -void BrowserMainWindow::save() -{ - BrowserApplication::instance()->saveSession(); - - KConfig config("rekonqrc"); - KConfigGroup group1 = config.group("BrowserMainWindow"); - QByteArray data = saveState(); - group1.writeEntry( QString("defaultState"), data ); - - KConfigGroup group2 = config.group("navigation toobar"); - m_navigationBar->saveSettings( group2 ); -} - - -static const qint32 BrowserMainWindowMagic = 0xba; - - -QByteArray BrowserMainWindow::saveState() const -{ - int version = 2; - QByteArray data; - QDataStream stream(&data, QIODevice::WriteOnly); - - stream << qint32(BrowserMainWindowMagic); - stream << qint32(version); - - stream << size(); - - stream << KToolBar::toolBarsLocked(); - bool b = true; // statusBar()->isVisible() ; FIXME - stream << b; - stream << QByteArray(); - return data; -} - - - -void BrowserMainWindow::restoreState(const QByteArray &state) -{ - int version = 2; - QByteArray sd = state; - QDataStream stream(&sd, QIODevice::ReadOnly); - if ( stream.atEnd() ) - { - return; - } - - qint32 marker; - qint32 v; - stream >> marker; - stream >> v; - if (marker != BrowserMainWindowMagic || v != version) - { - return; - } - - QSize size; - bool showStatusbar; - bool toolbarsLocked; - QByteArray tabState; - - stream >> size; - stream >> toolbarsLocked; - stream >> showStatusbar; - - resize(size); - statusBar()->setVisible(showStatusbar); - updateStatusbarActionText(showStatusbar); - - KToolBar::setToolBarsLocked ( toolbarsLocked ); - return; -} - - -void BrowserMainWindow::setupMenu() -{ - // ------------------------------------------------------------- FILE -------------------------------------------------------------------------------------------------- - KMenu *fileMenu = (KMenu *) menuBar()->addMenu( i18n("&File") ); - - fileMenu->addAction( KStandardAction::openNew(this, SLOT( slotFileNew() ) , this ) ); - fileMenu->addAction( KStandardAction::open( this, SLOT( slotFileOpen() ), this ) ); - fileMenu->addAction( i18n("Open Location"), this, SLOT( slotSelectLineEdit() ) ); - fileMenu->addSeparator(); - - fileMenu->addAction( m_tabWidget->newTabAction() ); - fileMenu->addAction( m_tabWidget->closeTabAction() ); - fileMenu->addSeparator(); - - fileMenu->addAction( KStandardAction::saveAs( this, SLOT( slotFileSaveAs() ), this ) ); - fileMenu->addSeparator(); - - fileMenu->addAction( KStandardAction::printPreview( this, SLOT( slotFilePrintPreview() ), this ) ); - fileMenu->addAction( KStandardAction::print( this, SLOT(slotFilePrint()), this) ); - fileMenu->addSeparator(); - - KAction *action = (KAction *) fileMenu->addAction( i18n("Private &Browsing..."), this, SLOT( slotPrivateBrowsing() ) ); - action->setCheckable(true); - fileMenu->addSeparator(); - - fileMenu->addAction( KStandardAction::quit( this , SLOT( close() ), this ) ); - - // ------------------------------------------------------------- EDIT -------------------------------------------------------------------------------------------------- - KMenu *editMenu = (KMenu *) menuBar()->addMenu( i18n("&Edit") ); - - KAction *m_undo = KStandardAction::undo( this , 0 , this ); - editMenu->addAction( m_undo ); - m_tabWidget->addWebAction(m_undo, QWebPage::Undo); - - KAction *m_redo = KStandardAction::redo( this , 0 , this ); - editMenu->addAction( m_redo ); - m_tabWidget->addWebAction(m_redo, QWebPage::Redo); - - editMenu->addSeparator(); - - KAction *m_cut = KStandardAction::cut( this , 0 , this ); - editMenu->addAction( m_cut ); - m_tabWidget->addWebAction(m_cut, QWebPage::Cut); - - KAction *m_copy = KStandardAction::copy( this , 0 , this ); - editMenu->addAction( m_copy ); - m_tabWidget->addWebAction(m_copy, QWebPage::Copy); - - KAction *m_paste = KStandardAction::paste( this , 0 , this ); - editMenu->addAction( m_paste ); - m_tabWidget->addWebAction(m_paste, QWebPage::Paste); - - editMenu->addSeparator(); - - KAction *m_selectall = KStandardAction::selectAll( this , 0 , this ); - editMenu->addAction( m_selectall ); - m_tabWidget->addWebAction(m_selectall, QWebPage::SelectEndOfDocument ); - - editMenu->addSeparator(); - - editMenu->addAction( KStandardAction::find(this, SLOT( slotViewFindBar() ) , this ) ); - editMenu->addAction( KStandardAction::findNext(this, SLOT( slotFindNext() ) , this ) ); - editMenu->addAction( KStandardAction::findPrev(this, SLOT( slotFindPrevious() ) , this ) ); - - // ------------------------------------------------------------- VIEW ------------------------------------------------------------------------------------------------- - KMenu *viewMenu = (KMenu *) menuBar()->addMenu( i18n("&View") ); - - m_viewStatusbar = KStandardAction::showStatusbar( this, SLOT(slotViewStatusbar() ), this); - viewMenu->addAction(m_viewStatusbar); - - viewMenu->addSeparator(); - - m_stop = (KAction *) viewMenu->addAction( KIcon( "process-stop" ), i18n("&Stop") ); - m_stop->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Period) ); - m_tabWidget->addWebAction(m_stop, QWebPage::Stop); - - m_reload = (KAction *) viewMenu->addAction( KIcon("view-refresh"), i18n("Reload Page") ); - m_reload->setShortcut(QKeySequence::Refresh); - m_tabWidget->addWebAction(m_reload, QWebPage::Reload); - - viewMenu->addSeparator(); - - KMenu *fontMenu = new KMenu( i18n("Make Text..."), this ); - fontMenu->addAction( i18n("&Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); - fontMenu->addAction( i18n("&Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); - fontMenu->addAction( i18n("&Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); - - viewMenu->addMenu( fontMenu ); - - viewMenu->addSeparator(); - - // TODO set encoding - - viewMenu->addAction( i18n("Page S&ource"), this, SLOT( slotViewPageSource() ), i18n("Ctrl+Alt+U")); - - KToggleFullScreenAction *tfsa = KStandardAction::fullScreen( this, SLOT( slotViewFullScreen(bool) ), this, this); - viewMenu->addAction( tfsa ); - - // ------------------------------------------------------------- HISTORY -------------------------------------------------------------------------------------------------- - HistoryMenu *historyMenu = new HistoryMenu(this); - connect(historyMenu, SIGNAL(openUrl(const KUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const KUrl&))); - connect(historyMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); - historyMenu->setTitle( i18n("Hi&story") ); - menuBar()->addMenu(historyMenu); - QList historyActions; - - m_historyBack = new KAction( i18n("Back"), this); - m_historyBack->setShortcut( KShortcut( QKeySequence::Back ) ); - m_tabWidget->addWebAction( m_historyBack, QWebPage::Back ); - m_historyBack->setIconVisibleInMenu(false); - - m_historyForward = new KAction( i18n("Forward"), this); - m_historyForward->setShortcut( KShortcut( QKeySequence::Forward ) ); - m_tabWidget->addWebAction( m_historyForward, QWebPage::Forward ); - m_historyForward->setIconVisibleInMenu(false); - - historyActions.append( m_historyBack ); - historyActions.append( m_historyForward ); - historyActions.append( KStandardAction::home(this, SLOT( slotHome() ) , this ) ); - historyActions.append( m_tabWidget->recentlyClosedTabsAction() ); - - historyMenu->setInitialActions(historyActions); - - - - // ------------------------------------------------------------- BOOKMARKS -------------------------------------------------------------------------------------------------- - - BookmarksMenu *bookmarksMenu = new BookmarksMenu( this ); - bookmarksMenu->setTitle( i18n("&Bookmarks") ); - menuBar()->addMenu( bookmarksMenu ); - - // ------------------------------------------------------------- TOOLS ------------------------------------------------------------------------------------------------------ - KMenu* toolsMenu = (KMenu *) menuBar()->addMenu( i18n("&Tools") ); - - toolsMenu->addAction( i18n("Downloads"), this, SLOT( slotDownloadManager() ), i18n("Alt+Ctrl+D") ); - - toolsMenu->addSeparator(); - - action = (KAction *) toolsMenu->addAction( i18n("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); - action->setCheckable(true); - - // ------------------------------------------------------------- SETTINGS ------------------------------------------------------------------------------------------------------ - KMenu *settingsMenu = (KMenu *) menuBar()->addMenu( i18n("&Settings") ); - - settingsMenu->addAction( KStandardAction::keyBindings( this, SLOT( configureShortcuts() ), this ) ); //FIXME need new slot and actionCollection !! - settingsMenu->addAction( KStandardAction::preferences(this, SLOT( slotPreferences() ) , this ) ); - - // ------------------------------------------------------------- HELP -------------------------------------------------------------------------------------------------- - menuBar()->addMenu( helpMenu() ); -} - - -void BrowserMainWindow::setupToolBar() -{ - m_navigationBar = new KToolBar( i18n("Navigation") , this, Qt::TopToolBarArea, false, false, true); - - m_historyBack = new KAction( KIcon("go-previous"), i18n("Back"), this); - m_historyBackMenu = new KMenu(this); - m_historyBack->setMenu(m_historyBackMenu); - connect(m_historyBack, SIGNAL( triggered() ), this, SLOT( slotOpenPrevious() ) ); - 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 = new KAction( KIcon("go-next"), i18n("Forward"), this ); - connect(m_historyForward, SIGNAL( triggered() ), this, SLOT( slotOpenNext() ) ); - m_navigationBar->addAction(m_historyForward); - - m_stopReload = new KAction( KIcon("view-refresh"), i18n("Reload"), this); - m_navigationBar->addAction(m_stopReload); - - m_goHome = new KAction( KIcon( "go-home" ), i18n("Home"),this); - m_navigationBar->addAction(m_goHome); - connect(m_goHome, SIGNAL(triggered()), this, SLOT(slotHome())); - - m_navigationBar->addWidget( m_tabWidget->lineEditStack() ); - - m_searchBar = new SearchBar( m_navigationBar ); - connect(m_searchBar, SIGNAL(search(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); - m_navigationBar->addWidget(m_searchBar); - - // UI settings - setContextMenuPolicy( Qt::PreventContextMenu ); - - // setting initial style (if user hasn't decided something else) - m_navigationBar->setIconDimensions(22); - m_navigationBar->setToolButtonStyle( Qt::ToolButtonIconOnly ); - - KConfig config("rekonqrc"); - KConfigGroup group = config.group("navigation toobar"); - if ( group.exists() ) - { - m_navigationBar->applySettings( group ); - } -} - - -void BrowserMainWindow::updateStatusbarActionText(bool visible) -{ - m_viewStatusbar->setText(!visible ? i18n("Show Status Bar") : i18n("Hide Status Bar")); -} - - -void BrowserMainWindow::slotViewStatusbar() -{ - if (statusBar()->isVisible()) - { - updateStatusbarActionText(false); - statusBar()->close(); - } - else - { - updateStatusbarActionText(true); - statusBar()->show(); - } - m_autoSaver->changeOccurred(); -} - - -KUrl BrowserMainWindow::guessUrlFromString(const QString &string) -{ - QString urlStr = string.trimmed(); - QRegExp test(QLatin1String("^[a-zA-Z]+\\:.*")); - - // Check if it looks like a qualified URL. Try parsing it and see. - bool hasSchema = test.exactMatch(urlStr); - if (hasSchema) - { - QUrl qurl(urlStr, QUrl::TolerantMode); - KUrl url(qurl); - if ( url.isValid() ) - { - return url; - } - } - - // Might be a file. - if (QFile::exists(urlStr)) - { - QFileInfo info(urlStr); - return KUrl::fromPath( info.absoluteFilePath() ); - } - - // Might be a shorturl - try to detect the schema. - if (!hasSchema) - { - int dotIndex = urlStr.indexOf(QLatin1Char('.')); - if (dotIndex != -1) - { - QString prefix = urlStr.left(dotIndex).toLower(); - QString schema = (prefix == QLatin1String("ftp")) ? prefix : QLatin1String("http"); - QUrl qurl(schema + QLatin1String("://") + urlStr, QUrl::TolerantMode); - KUrl url(qurl); - if ( url.isValid() ) - { - return url; - } - } - } - - // Fall back to QUrl's own tolerant parser. - QUrl qurl = QUrl(string, QUrl::TolerantMode); - KUrl url(qurl); - - // finally for cases where the user just types in a hostname add http - if ( qurl.scheme().isEmpty() ) - { - qurl = QUrl(QLatin1String("http://") + string, QUrl::TolerantMode); - url = KUrl(qurl); - } - return url; -} - - -void BrowserMainWindow::loadUrl(const KUrl &url) -{ - loadPage( url.url() ); -} - - -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("rekonq"); - } - else - { - setWindowTitle(title + " - rekonq"); - } -} - - -void BrowserMainWindow::slotFileNew() -{ - BrowserApplication::instance()->newMainWindow(); - BrowserMainWindow *mw = BrowserApplication::instance()->mainWindow(); - mw->slotHome(); -} - - -void BrowserMainWindow::slotFileOpen() -{ - QString file = KFileDialog::getOpenFileName( KUrl(), - i18n("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)"), - this, - i18n("Open Web Resource") ); - - if (file.isEmpty()) - return; - - loadPage(file); -} - - -void BrowserMainWindow::slotFilePrintPreview() -{ - if (!currentTab()) - return; - QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this); - connect(dialog, SIGNAL(paintRequested(QPrinter *)), currentTab(), SLOT(print(QPrinter *))); - dialog->exec(); -} - - -void BrowserMainWindow::slotFilePrint() -{ - if (!currentTab()) - return; - printRequested(currentTab()->page()->mainFrame()); -} - - -void BrowserMainWindow::printRequested(QWebFrame *frame) -{ - QPrinter printer; - QPrintDialog *dialog = new QPrintDialog(&printer, this); - 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 = i18n("Are you sure you want to turn on private browsing?"); - QString text = "" + title + i18n("

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."); - - int button = KMessageBox::questionYesNo( this, text, title ); - if (button == KMessageBox::Ok) - { - settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); - } - } - else - { - settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false); - - QList windows = BrowserApplication::instance()->mainWindows(); - for (int i = 0; i < windows.count(); ++i) - { - BrowserMainWindow *window = windows.at(i); - window->m_lastSearch = QString::null; - window->tabWidget()->clear(); - } - } -} - - -void BrowserMainWindow::closeEvent(QCloseEvent *event) -{ - if (m_tabWidget->count() > 1) - { - int ret = KMessageBox::warningYesNo(this, - i18n("Are you sure you want to close the window?" " There are %1 tab open" , m_tabWidget->count() ) , - i18n("Closing") ); - if (ret == KMessageBox::No) - { - event->ignore(); - return; - } - } - event->accept(); - deleteLater(); -} - - -void BrowserMainWindow::slotFind(const QString & search) -{ - if (!currentTab()) - return; - if (!search.isEmpty()) - { - m_lastSearch = search; - if (!currentTab()->findText(m_lastSearch)) - slotUpdateStatusbar( QString(m_lastSearch) + i18n(" not found.") ); - } -} - - -void BrowserMainWindow::slotViewFindBar() -{ - m_findBar->showFindBar(); -} - - -void BrowserMainWindow::slotFindNext() -{ - if (!currentTab() && !m_lastSearch.isEmpty()) - return; - currentTab()->findText(m_lastSearch); -} - - -void BrowserMainWindow::slotFindPrevious() -{ - if (!currentTab() && !m_lastSearch.isEmpty()) - return; - currentTab()->findText(m_lastSearch, QWebPage::FindBackward); -} - - -void BrowserMainWindow::slotViewTextBigger() -{ - if (!currentTab()) - return; - currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() + 0.1); -} - - -void BrowserMainWindow::slotViewTextNormal() -{ - if (!currentTab()) - return; - currentTab()->setTextSizeMultiplier(1.0); -} - - -void BrowserMainWindow::slotViewTextSmaller() -{ - if (!currentTab()) - return; - currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() - 0.1); -} - - -// TODO improve this -void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen) -{ - KToggleFullScreenAction::setFullScreen( this, makeFullScreen ); -} - - -void BrowserMainWindow::slotViewPageSource() -{ - if (!currentTab()) - return; - - QString markup = currentTab()->page()->mainFrame()->toHtml(); - QPlainTextEdit *view = new QPlainTextEdit(markup); - view->setWindowTitle( i18n("Page Source of ") + currentTab()->title() ); - view->setMinimumWidth(640); - view->setAttribute(Qt::WA_DeleteOnClose); - view->show(); -} - - -void BrowserMainWindow::slotHome() -{ - KConfig config("rekonqrc"); - KConfigGroup group = config.group("Global Settings"); - QString home = group.readEntry( QString("home"), QString("http://www.kde.org/") ); - loadPage(home); -} - - -void BrowserMainWindow::slotToggleInspector(bool enable) -{ - QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, 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") ); - if (result == KMessageBox::Yes) - { - m_tabWidget->reloadAllTabs(); - } - } -} - - -void BrowserMainWindow::slotSwapFocus() -{ - if (currentTab()->hasFocus()) - m_tabWidget->currentLineEdit()->setFocus(); - else - currentTab()->setFocus(); -} - - -void BrowserMainWindow::loadPage(const QString &page) -{ - if (!currentTab() || page.isEmpty()) - return; - - KUrl url = guessUrlFromString(page); - m_tabWidget->currentLineEdit()->setText( url.prettyUrl() ); - 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) - { - disconnect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); - if (m_stopIcon.isNull()) - m_stopIcon = KIcon( "process-stop" ); - m_stopReload->setIcon(m_stopIcon); - connect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); - m_stopReload->setToolTip( i18n("Stop loading the current page") ); - } - else - { - disconnect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); - m_stopReload->setIcon( KIcon("view-refresh") ); - connect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); - m_stopReload->setToolTip( i18n("Reload the current page") ); - } -} - - -void BrowserMainWindow::slotAboutToShowBackMenu() -{ - m_historyBackMenu->clear(); - if (!currentTab()) - return; - QWebHistory *history = currentTab()->history(); - int historyCount = history->count(); - for (int i = history->backItems(historyCount).count() - 1; i >= 0; --i) - { - QWebHistoryItem item = history->backItems(history->count()).at(i); - KAction *action = new KAction(this); - action->setData(-1*(historyCount-i-1)); - QIcon icon = BrowserApplication::instance()->icon(item.url()); - action->setIcon(icon); - action->setText(item.title()); - m_historyBackMenu->addAction(action); - } -} - - -void BrowserMainWindow::slotShowWindow() -{ - if (KAction *action = qobject_cast(sender())) - { - QVariant v = action->data(); - if (v.canConvert()) - { - int offset = qvariant_cast(v); - QList windows = BrowserApplication::instance()->mainWindows(); - windows.at(offset)->activateWindow(); - windows.at(offset)->currentTab()->setFocus(); - } - } -} - - -void BrowserMainWindow::slotOpenActionUrl(QAction *action) -{ - int offset = action->data().toInt(); - QWebHistory *history = currentTab()->history(); - if (offset < 0) - { - history->goToItem(history->backItems(-1*offset).first()); // back - } - else - { - if (offset > 0) - { - history->goToItem(history->forwardItems(history->count() - offset + 1).back()); // forward - } - } -} - - -void BrowserMainWindow::slotOpenPrevious() -{ - QWebHistory *history = currentTab()->history(); - if ( history->canGoBack() ) - history->goToItem( history->backItem() ); -} - - -void BrowserMainWindow::slotOpenNext() -{ - QWebHistory *history = currentTab()->history(); - if ( history->canGoForward() ) - history->goToItem( history->forwardItem() ); -} - - -void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) -{ - setGeometry(geometry); -} - diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h deleted file mode 100644 index 3bd80168..00000000 --- a/src/browsermainwindow.h +++ /dev/null @@ -1,149 +0,0 @@ -/* ============================================================ - * - * This file is a part of the rekonq project - * - * Copyright (C) 2007-2008 Trolltech ASA. All rights reserved - * Copyright (C) 2008 by Andrea Diamantini - * - * - * 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. - * - * ============================================================ */ - - -#ifndef BROWSERMAINWINDOW_H -#define BROWSERMAINWINDOW_H - -// Local Includes -#include "findbar.h" -#include "searchbar.h" - -// KDE Includes -#include -#include -#include -#include -#include -#include -#include - - -class AutoSaver; -class QWebFrame; -class TabWidget; -class WebView; - -/** - The MainWindow of the Browser Application. - Handles the tab widget and all the actions -*/ -class BrowserMainWindow : public KMainWindow -{ - Q_OBJECT - -public: - BrowserMainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0); - ~BrowserMainWindow(); - - static KUrl guessUrlFromString(const QString &url); - TabWidget *tabWidget() const; - WebView *currentTab() const; - - - QByteArray saveState() const; - void restoreState(const QByteArray &state); - -public slots: - void loadPage(const QString &url); - void slotHome(); - void slotFind(const QString &); - void slotFindNext(); - void slotFindPrevious(); - -protected: - void closeEvent(QCloseEvent *event); - -private slots: - void save(); - - void slotLoadProgress(int); - void slotUpdateStatusbar(const QString &string); - void slotUpdateWindowTitle(const QString &title = QString()); - - void loadUrl(const KUrl &url); - void slotPreferences(); - - void slotFileNew(); - void slotFileOpen(); - void slotFilePrintPreview(); - void slotFilePrint(); - void slotPrivateBrowsing(); - void slotFileSaveAs(); - - void slotViewTextBigger(); - void slotViewTextNormal(); - void slotViewTextSmaller(); - void slotViewStatusbar(); - void slotViewPageSource(); - void slotViewFullScreen(bool enable); - void slotViewFindBar(); - - void slotToggleInspector(bool enable); - void slotDownloadManager(); - void slotSelectLineEdit(); - - void slotAboutToShowBackMenu(); - - // history related - void slotOpenActionUrl(QAction *action); - void slotOpenPrevious(); - void slotOpenNext(); - - void slotShowWindow(); - void slotSwapFocus(); - - void printRequested(QWebFrame *frame); - void geometryChangeRequested(const QRect &geometry); - -private: - void loadDefaultState(); - void setupMenu(); - void setupToolBar(); - void updateStatusbarActionText(bool visible); - -private: - - KToolBar *m_navigationBar; - SearchBar *m_searchBar; - TabWidget *m_tabWidget; - AutoSaver *m_autoSaver; - - KAction *m_historyBack; - KMenu *m_historyBackMenu; - KAction *m_historyForward; - KMenu *m_windowMenu; - - KAction *m_stop; - KAction *m_reload; - KAction *m_stopReload; - KAction *m_goHome; - KToggleAction *m_viewStatusbar; - KAction *m_restoreLastSession; - - KIcon m_reloadIcon; - KIcon m_stopIcon; - - FindBar *m_findBar; - QString m_lastSearch; -}; - -#endif // BROWSERMAINWINDOW_H - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp new file mode 100644 index 00000000..b57f5379 --- /dev/null +++ b/src/mainwindow.cpp @@ -0,0 +1,862 @@ +/* ============================================================ + * + * This file is a part of the rekonq project + * + * Copyright (C) 2007-2008 Trolltech ASA. All rights reserved + * Copyright (C) 2008 by Andrea Diamantini + * + * + * 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. + * + * ============================================================ */ + + +// Local Includes +#include "mainwindow.h" +#include "autosaver.h" +#include "browserapplication.h" +#include "downloadmanager.h" +#include "history.h" +#include "settings.h" +#include "tabwidget.h" +#include "bookmarks.h" +#include "webview.h" + +// UI Includes +#include "ui_passworddialog.h" + +// KDE Includes +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Qt Includes +#include +#include +#include +#include +#include +#include +#include + + +MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags flags) + : KMainWindow(parent, flags) + , m_tabWidget(new TabWidget(this)) + , m_autoSaver(new AutoSaver(this)) + , m_historyBack(0) + , m_historyForward(0) + , m_stop(0) + , m_reload(0) +{ + // delete widget accepting close event + setAttribute(Qt::WA_DeleteOnClose, true); + + setupMenu(); + setupToolBar(); + + QWidget *centralWidget = new QWidget(this); + + QVBoxLayout *layout = new QVBoxLayout; + layout->setSpacing(0); + layout->setMargin(0); + addToolBarBreak(); + layout->addWidget(m_tabWidget); + + // Find Bar + m_findBar = new FindBar(this); + connect( m_findBar, SIGNAL( searchString(const QString &) ), this, SLOT( slotFind(const QString &) ) ); + + 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( lastTabClosed() ), m_tabWidget, SLOT(newTab() ) ); + + slotUpdateWindowTitle(); + loadDefaultState(); + m_tabWidget->newTab(); +} + + +MainWindow::~MainWindow() +{ + m_autoSaver->changeOccurred(); + m_autoSaver->saveIfNeccessary(); + delete m_navigationBar; +} + + +void MainWindow::loadDefaultState() +{ + KConfig config("rekonqrc"); + KConfigGroup group1 = config.group("MainWindow"); + QByteArray data = group1.readEntry(QString("defaultState"), QByteArray() ); + restoreState(data); +} + + +void MainWindow::save() +{ + BrowserApplication::instance()->saveSession(); + + KConfig config("rekonqrc"); + KConfigGroup group1 = config.group("MainWindow"); + QByteArray data = saveState(); + group1.writeEntry( QString("defaultState"), data ); + + KConfigGroup group2 = config.group("navigation toobar"); + m_navigationBar->saveSettings( group2 ); +} + + +static const qint32 MainWindowMagic = 0xba; + + +QByteArray MainWindow::saveState() const +{ + int version = 2; + QByteArray data; + QDataStream stream(&data, QIODevice::WriteOnly); + + stream << qint32(MainWindowMagic); + stream << qint32(version); + + stream << size(); + + stream << KToolBar::toolBarsLocked(); + bool b = true; // statusBar()->isVisible() ; FIXME + stream << b; + stream << QByteArray(); + return data; +} + + + +void MainWindow::restoreState(const QByteArray &state) +{ + int version = 2; + QByteArray sd = state; + QDataStream stream(&sd, QIODevice::ReadOnly); + if ( stream.atEnd() ) + { + return; + } + + qint32 marker; + qint32 v; + stream >> marker; + stream >> v; + if (marker != MainWindowMagic || v != version) + { + return; + } + + QSize size; + bool showStatusbar; + bool toolbarsLocked; + QByteArray tabState; + + stream >> size; + stream >> toolbarsLocked; + stream >> showStatusbar; + + resize(size); + statusBar()->setVisible(showStatusbar); + updateStatusbarActionText(showStatusbar); + + KToolBar::setToolBarsLocked ( toolbarsLocked ); + return; +} + + +void MainWindow::setupMenu() +{ + // ------------------------------------------------------------- FILE -------------------------------------------------------------------------------------------------- + KMenu *fileMenu = (KMenu *) menuBar()->addMenu( i18n("&File") ); + + fileMenu->addAction( KStandardAction::openNew(this, SLOT( slotFileNew() ) , this ) ); + fileMenu->addAction( KStandardAction::open( this, SLOT( slotFileOpen() ), this ) ); + fileMenu->addAction( i18n("Open Location"), this, SLOT( slotSelectLineEdit() ) ); + fileMenu->addSeparator(); + + fileMenu->addAction( m_tabWidget->newTabAction() ); + fileMenu->addAction( m_tabWidget->closeTabAction() ); + fileMenu->addSeparator(); + + fileMenu->addAction( KStandardAction::saveAs( this, SLOT( slotFileSaveAs() ), this ) ); + fileMenu->addSeparator(); + + fileMenu->addAction( KStandardAction::printPreview( this, SLOT( slotFilePrintPreview() ), this ) ); + fileMenu->addAction( KStandardAction::print( this, SLOT(slotFilePrint()), this) ); + fileMenu->addSeparator(); + + KAction *action = (KAction *) fileMenu->addAction( i18n("Private &Browsing..."), this, SLOT( slotPrivateBrowsing() ) ); + action->setCheckable(true); + fileMenu->addSeparator(); + + fileMenu->addAction( KStandardAction::quit( this , SLOT( close() ), this ) ); + + // ------------------------------------------------------------- EDIT -------------------------------------------------------------------------------------------------- + KMenu *editMenu = (KMenu *) menuBar()->addMenu( i18n("&Edit") ); + + KAction *m_undo = KStandardAction::undo( this , 0 , this ); + editMenu->addAction( m_undo ); + m_tabWidget->addWebAction(m_undo, QWebPage::Undo); + + KAction *m_redo = KStandardAction::redo( this , 0 , this ); + editMenu->addAction( m_redo ); + m_tabWidget->addWebAction(m_redo, QWebPage::Redo); + + editMenu->addSeparator(); + + KAction *m_cut = KStandardAction::cut( this , 0 , this ); + editMenu->addAction( m_cut ); + m_tabWidget->addWebAction(m_cut, QWebPage::Cut); + + KAction *m_copy = KStandardAction::copy( this , 0 , this ); + editMenu->addAction( m_copy ); + m_tabWidget->addWebAction(m_copy, QWebPage::Copy); + + KAction *m_paste = KStandardAction::paste( this , 0 , this ); + editMenu->addAction( m_paste ); + m_tabWidget->addWebAction(m_paste, QWebPage::Paste); + + editMenu->addSeparator(); + + KAction *m_selectall = KStandardAction::selectAll( this , 0 , this ); + editMenu->addAction( m_selectall ); + m_tabWidget->addWebAction(m_selectall, QWebPage::SelectEndOfDocument ); + + editMenu->addSeparator(); + + editMenu->addAction( KStandardAction::find(this, SLOT( slotViewFindBar() ) , this ) ); + editMenu->addAction( KStandardAction::findNext(this, SLOT( slotFindNext() ) , this ) ); + editMenu->addAction( KStandardAction::findPrev(this, SLOT( slotFindPrevious() ) , this ) ); + + // ------------------------------------------------------------- VIEW ------------------------------------------------------------------------------------------------- + KMenu *viewMenu = (KMenu *) menuBar()->addMenu( i18n("&View") ); + + m_viewStatusbar = KStandardAction::showStatusbar( this, SLOT(slotViewStatusbar() ), this); + viewMenu->addAction(m_viewStatusbar); + + viewMenu->addSeparator(); + + m_stop = (KAction *) viewMenu->addAction( KIcon( "process-stop" ), i18n("&Stop") ); + m_stop->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Period) ); + m_tabWidget->addWebAction(m_stop, QWebPage::Stop); + + m_reload = (KAction *) viewMenu->addAction( KIcon("view-refresh"), i18n("Reload Page") ); + m_reload->setShortcut(QKeySequence::Refresh); + m_tabWidget->addWebAction(m_reload, QWebPage::Reload); + + viewMenu->addSeparator(); + + KMenu *fontMenu = new KMenu( i18n("Make Text..."), this ); + fontMenu->addAction( i18n("&Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); + fontMenu->addAction( i18n("&Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); + fontMenu->addAction( i18n("&Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); + + viewMenu->addMenu( fontMenu ); + + viewMenu->addSeparator(); + + // TODO set encoding + + viewMenu->addAction( i18n("Page S&ource"), this, SLOT( slotViewPageSource() ), i18n("Ctrl+Alt+U")); + + KToggleFullScreenAction *tfsa = KStandardAction::fullScreen( this, SLOT( slotViewFullScreen(bool) ), this, this); + viewMenu->addAction( tfsa ); + + // ------------------------------------------------------------- HISTORY -------------------------------------------------------------------------------------------------- + HistoryMenu *historyMenu = new HistoryMenu(this); + connect(historyMenu, SIGNAL(openUrl(const KUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const KUrl&))); + connect(historyMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); + historyMenu->setTitle( i18n("Hi&story") ); + menuBar()->addMenu(historyMenu); + QList historyActions; + + m_historyBack = new KAction( i18n("Back"), this); + m_historyBack->setShortcut( KShortcut( QKeySequence::Back ) ); + m_tabWidget->addWebAction( m_historyBack, QWebPage::Back ); + m_historyBack->setIconVisibleInMenu(false); + + m_historyForward = new KAction( i18n("Forward"), this); + m_historyForward->setShortcut( KShortcut( QKeySequence::Forward ) ); + m_tabWidget->addWebAction( m_historyForward, QWebPage::Forward ); + m_historyForward->setIconVisibleInMenu(false); + + historyActions.append( m_historyBack ); + historyActions.append( m_historyForward ); + historyActions.append( KStandardAction::home(this, SLOT( slotHome() ) , this ) ); + historyActions.append( m_tabWidget->recentlyClosedTabsAction() ); + + historyMenu->setInitialActions(historyActions); + + + + // ------------------------------------------------------------- BOOKMARKS -------------------------------------------------------------------------------------------------- + + BookmarksMenu *bookmarksMenu = new BookmarksMenu( this ); + bookmarksMenu->setTitle( i18n("&Bookmarks") ); + menuBar()->addMenu( bookmarksMenu ); + + // ------------------------------------------------------------- TOOLS ------------------------------------------------------------------------------------------------------ + KMenu* toolsMenu = (KMenu *) menuBar()->addMenu( i18n("&Tools") ); + + toolsMenu->addAction( i18n("Downloads"), this, SLOT( slotDownloadManager() ), i18n("Alt+Ctrl+D") ); + + toolsMenu->addSeparator(); + + action = (KAction *) toolsMenu->addAction( i18n("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); + action->setCheckable(true); + + // ------------------------------------------------------------- SETTINGS ------------------------------------------------------------------------------------------------------ + KMenu *settingsMenu = (KMenu *) menuBar()->addMenu( i18n("&Settings") ); + + settingsMenu->addAction( KStandardAction::keyBindings( this, SLOT( configureShortcuts() ), this ) ); //FIXME need new slot and actionCollection !! + settingsMenu->addAction( KStandardAction::preferences(this, SLOT( slotPreferences() ) , this ) ); + + // ------------------------------------------------------------- HELP -------------------------------------------------------------------------------------------------- + menuBar()->addMenu( helpMenu() ); +} + + +void MainWindow::setupToolBar() +{ + m_navigationBar = new KToolBar( i18n("Navigation") , this, Qt::TopToolBarArea, false, false, true); + + m_historyBack = new KAction( KIcon("go-previous"), i18n("Back"), this); + m_historyBackMenu = new KMenu(this); + m_historyBack->setMenu(m_historyBackMenu); + connect(m_historyBack, SIGNAL( triggered() ), this, SLOT( slotOpenPrevious() ) ); + 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 = new KAction( KIcon("go-next"), i18n("Forward"), this ); + connect(m_historyForward, SIGNAL( triggered() ), this, SLOT( slotOpenNext() ) ); + m_navigationBar->addAction(m_historyForward); + + m_stopReload = new KAction( KIcon("view-refresh"), i18n("Reload"), this); + m_navigationBar->addAction(m_stopReload); + + m_goHome = new KAction( KIcon( "go-home" ), i18n("Home"),this); + m_navigationBar->addAction(m_goHome); + connect(m_goHome, SIGNAL(triggered()), this, SLOT(slotHome())); + + m_navigationBar->addWidget( m_tabWidget->lineEditStack() ); + + m_searchBar = new SearchBar( m_navigationBar ); + connect(m_searchBar, SIGNAL(search(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); + m_navigationBar->addWidget(m_searchBar); + + // UI settings + setContextMenuPolicy( Qt::PreventContextMenu ); + + // setting initial style (if user hasn't decided something else) + m_navigationBar->setIconDimensions(22); + m_navigationBar->setToolButtonStyle( Qt::ToolButtonIconOnly ); + + KConfig config("rekonqrc"); + KConfigGroup group = config.group("navigation toobar"); + if ( group.exists() ) + { + m_navigationBar->applySettings( group ); + } +} + + +void MainWindow::updateStatusbarActionText(bool visible) +{ + m_viewStatusbar->setText(!visible ? i18n("Show Status Bar") : i18n("Hide Status Bar")); +} + + +void MainWindow::slotViewStatusbar() +{ + if (statusBar()->isVisible()) + { + updateStatusbarActionText(false); + statusBar()->close(); + } + else + { + updateStatusbarActionText(true); + statusBar()->show(); + } + m_autoSaver->changeOccurred(); +} + + +KUrl MainWindow::guessUrlFromString(const QString &string) +{ + QString urlStr = string.trimmed(); + QRegExp test(QLatin1String("^[a-zA-Z]+\\:.*")); + + // Check if it looks like a qualified URL. Try parsing it and see. + bool hasSchema = test.exactMatch(urlStr); + if (hasSchema) + { + QUrl qurl(urlStr, QUrl::TolerantMode); + KUrl url(qurl); + if ( url.isValid() ) + { + return url; + } + } + + // Might be a file. + if (QFile::exists(urlStr)) + { + QFileInfo info(urlStr); + return KUrl::fromPath( info.absoluteFilePath() ); + } + + // Might be a shorturl - try to detect the schema. + if (!hasSchema) + { + int dotIndex = urlStr.indexOf(QLatin1Char('.')); + if (dotIndex != -1) + { + QString prefix = urlStr.left(dotIndex).toLower(); + QString schema = (prefix == QLatin1String("ftp")) ? prefix : QLatin1String("http"); + QUrl qurl(schema + QLatin1String("://") + urlStr, QUrl::TolerantMode); + KUrl url(qurl); + if ( url.isValid() ) + { + return url; + } + } + } + + // Fall back to QUrl's own tolerant parser. + QUrl qurl = QUrl(string, QUrl::TolerantMode); + KUrl url(qurl); + + // finally for cases where the user just types in a hostname add http + if ( qurl.scheme().isEmpty() ) + { + qurl = QUrl(QLatin1String("http://") + string, QUrl::TolerantMode); + url = KUrl(qurl); + } + return url; +} + + +void MainWindow::loadUrl(const KUrl &url) +{ + loadPage( url.url() ); +} + + +void MainWindow::slotDownloadManager() +{ + BrowserApplication::downloadManager()->show(); +} + + +void MainWindow::slotSelectLineEdit() +{ + m_tabWidget->currentLineEdit()->selectAll(); + m_tabWidget->currentLineEdit()->setFocus(); +} + + +void MainWindow::slotFileSaveAs() +{ + BrowserApplication::downloadManager()->download(currentTab()->url(), true); +} + + +void MainWindow::slotPreferences() +{ + SettingsDialog *s = new SettingsDialog(this); + s->show(); +} + + +void MainWindow::slotUpdateStatusbar(const QString &string) +{ + statusBar()->showMessage(string, 2000); +} + + +void MainWindow::slotUpdateWindowTitle(const QString &title) +{ + if (title.isEmpty()) + { + setWindowTitle("rekonq"); + } + else + { + setWindowTitle(title + " - rekonq"); + } +} + + +void MainWindow::slotFileNew() +{ + BrowserApplication::instance()->newMainWindow(); + MainWindow *mw = BrowserApplication::instance()->mainWindow(); + mw->slotHome(); +} + + +void MainWindow::slotFileOpen() +{ + QString file = KFileDialog::getOpenFileName( KUrl(), + i18n("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)"), + this, + i18n("Open Web Resource") ); + + if (file.isEmpty()) + return; + + loadPage(file); +} + + +void MainWindow::slotFilePrintPreview() +{ + if (!currentTab()) + return; + QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this); + connect(dialog, SIGNAL(paintRequested(QPrinter *)), currentTab(), SLOT(print(QPrinter *))); + dialog->exec(); +} + + +void MainWindow::slotFilePrint() +{ + if (!currentTab()) + return; + printRequested(currentTab()->page()->mainFrame()); +} + + +void MainWindow::printRequested(QWebFrame *frame) +{ + QPrinter printer; + QPrintDialog *dialog = new QPrintDialog(&printer, this); + dialog->setWindowTitle( i18n("Print Document") ); + if (dialog->exec() != QDialog::Accepted ) + return; + frame->print(&printer); +} + + +void MainWindow::slotPrivateBrowsing() +{ + QWebSettings *settings = QWebSettings::globalSettings(); + bool pb = settings->testAttribute(QWebSettings::PrivateBrowsingEnabled); + if (!pb) + { + QString title = i18n("Are you sure you want to turn on private browsing?"); + QString text = "" + title + i18n("

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."); + + int button = KMessageBox::questionYesNo( this, text, title ); + if (button == KMessageBox::Ok) + { + settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); + } + } + else + { + settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false); + + QList windows = BrowserApplication::instance()->mainWindows(); + for (int i = 0; i < windows.count(); ++i) + { + MainWindow *window = windows.at(i); + window->m_lastSearch = QString::null; + window->tabWidget()->clear(); + } + } +} + + +void MainWindow::closeEvent(QCloseEvent *event) +{ + if (m_tabWidget->count() > 1) + { + int ret = KMessageBox::warningYesNo(this, + i18n("Are you sure you want to close the window?" " There are %1 tab open" , m_tabWidget->count() ) , + i18n("Closing") ); + if (ret == KMessageBox::No) + { + event->ignore(); + return; + } + } + event->accept(); + deleteLater(); +} + + +void MainWindow::slotFind(const QString & search) +{ + if (!currentTab()) + return; + if (!search.isEmpty()) + { + m_lastSearch = search; + if (!currentTab()->findText(m_lastSearch)) + slotUpdateStatusbar( QString(m_lastSearch) + i18n(" not found.") ); + } +} + + +void MainWindow::slotViewFindBar() +{ + m_findBar->showFindBar(); +} + + +void MainWindow::slotFindNext() +{ + if (!currentTab() && !m_lastSearch.isEmpty()) + return; + currentTab()->findText(m_lastSearch); +} + + +void MainWindow::slotFindPrevious() +{ + if (!currentTab() && !m_lastSearch.isEmpty()) + return; + currentTab()->findText(m_lastSearch, QWebPage::FindBackward); +} + + +void MainWindow::slotViewTextBigger() +{ + if (!currentTab()) + return; + currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() + 0.1); +} + + +void MainWindow::slotViewTextNormal() +{ + if (!currentTab()) + return; + currentTab()->setTextSizeMultiplier(1.0); +} + + +void MainWindow::slotViewTextSmaller() +{ + if (!currentTab()) + return; + currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() - 0.1); +} + + +// TODO improve this +void MainWindow::slotViewFullScreen(bool makeFullScreen) +{ + KToggleFullScreenAction::setFullScreen( this, makeFullScreen ); +} + + +void MainWindow::slotViewPageSource() +{ + if (!currentTab()) + return; + + QString markup = currentTab()->page()->mainFrame()->toHtml(); + QPlainTextEdit *view = new QPlainTextEdit(markup); + view->setWindowTitle( i18n("Page Source of ") + currentTab()->title() ); + view->setMinimumWidth(640); + view->setAttribute(Qt::WA_DeleteOnClose); + view->show(); +} + + +void MainWindow::slotHome() +{ + KConfig config("rekonqrc"); + KConfigGroup group = config.group("Global Settings"); + QString home = group.readEntry( QString("home"), QString("http://www.kde.org/") ); + loadPage(home); +} + + +void MainWindow::slotToggleInspector(bool enable) +{ + QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, 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") ); + if (result == KMessageBox::Yes) + { + m_tabWidget->reloadAllTabs(); + } + } +} + + +void MainWindow::slotSwapFocus() +{ + if (currentTab()->hasFocus()) + m_tabWidget->currentLineEdit()->setFocus(); + else + currentTab()->setFocus(); +} + + +void MainWindow::loadPage(const QString &page) +{ + if (!currentTab() || page.isEmpty()) + return; + + KUrl url = guessUrlFromString(page); + m_tabWidget->currentLineEdit()->setText( url.prettyUrl() ); + m_tabWidget->loadUrlInCurrentTab(url); +} + + +TabWidget *MainWindow::tabWidget() const +{ + return m_tabWidget; +} + + + +WebView *MainWindow::currentTab() const +{ + return m_tabWidget->currentWebView(); +} + + +void MainWindow::slotLoadProgress(int progress) +{ + if (progress < 100 && progress > 0) + { + disconnect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); + if (m_stopIcon.isNull()) + m_stopIcon = KIcon( "process-stop" ); + m_stopReload->setIcon(m_stopIcon); + connect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); + m_stopReload->setToolTip( i18n("Stop loading the current page") ); + } + else + { + disconnect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); + m_stopReload->setIcon( KIcon("view-refresh") ); + connect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); + m_stopReload->setToolTip( i18n("Reload the current page") ); + } +} + + +void MainWindow::slotAboutToShowBackMenu() +{ + m_historyBackMenu->clear(); + if (!currentTab()) + return; + QWebHistory *history = currentTab()->history(); + int historyCount = history->count(); + for (int i = history->backItems(historyCount).count() - 1; i >= 0; --i) + { + QWebHistoryItem item = history->backItems(history->count()).at(i); + KAction *action = new KAction(this); + action->setData(-1*(historyCount-i-1)); + QIcon icon = BrowserApplication::instance()->icon(item.url()); + action->setIcon(icon); + action->setText(item.title()); + m_historyBackMenu->addAction(action); + } +} + + +void MainWindow::slotShowWindow() +{ + if (KAction *action = qobject_cast(sender())) + { + QVariant v = action->data(); + if (v.canConvert()) + { + int offset = qvariant_cast(v); + QList windows = BrowserApplication::instance()->mainWindows(); + windows.at(offset)->activateWindow(); + windows.at(offset)->currentTab()->setFocus(); + } + } +} + + +void MainWindow::slotOpenActionUrl(QAction *action) +{ + int offset = action->data().toInt(); + QWebHistory *history = currentTab()->history(); + if (offset < 0) + { + history->goToItem(history->backItems(-1*offset).first()); // back + } + else + { + if (offset > 0) + { + history->goToItem(history->forwardItems(history->count() - offset + 1).back()); // forward + } + } +} + + +void MainWindow::slotOpenPrevious() +{ + QWebHistory *history = currentTab()->history(); + if ( history->canGoBack() ) + history->goToItem( history->backItem() ); +} + + +void MainWindow::slotOpenNext() +{ + QWebHistory *history = currentTab()->history(); + if ( history->canGoForward() ) + history->goToItem( history->forwardItem() ); +} + + +void MainWindow::geometryChangeRequested(const QRect &geometry) +{ + setGeometry(geometry); +} + diff --git a/src/mainwindow.h b/src/mainwindow.h new file mode 100644 index 00000000..6f78fd59 --- /dev/null +++ b/src/mainwindow.h @@ -0,0 +1,149 @@ +/* ============================================================ + * + * This file is a part of the rekonq project + * + * Copyright (C) 2007-2008 Trolltech ASA. All rights reserved + * Copyright (C) 2008 by Andrea Diamantini + * + * + * 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. + * + * ============================================================ */ + + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +// Local Includes +#include "findbar.h" +#include "searchbar.h" + +// KDE Includes +#include +#include +#include +#include +#include +#include +#include + + +class AutoSaver; +class QWebFrame; +class TabWidget; +class WebView; + +/** + The MainWindow of the Browser Application. + Handles the tab widget and all the actions +*/ +class MainWindow : public KMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0); + ~MainWindow(); + + static KUrl guessUrlFromString(const QString &url); + TabWidget *tabWidget() const; + WebView *currentTab() const; + + + QByteArray saveState() const; + void restoreState(const QByteArray &state); + +public slots: + void loadPage(const QString &url); + void slotHome(); + void slotFind(const QString &); + void slotFindNext(); + void slotFindPrevious(); + +protected: + void closeEvent(QCloseEvent *event); + +private slots: + void save(); + + void slotLoadProgress(int); + void slotUpdateStatusbar(const QString &string); + void slotUpdateWindowTitle(const QString &title = QString()); + + void loadUrl(const KUrl &url); + void slotPreferences(); + + void slotFileNew(); + void slotFileOpen(); + void slotFilePrintPreview(); + void slotFilePrint(); + void slotPrivateBrowsing(); + void slotFileSaveAs(); + + void slotViewTextBigger(); + void slotViewTextNormal(); + void slotViewTextSmaller(); + void slotViewStatusbar(); + void slotViewPageSource(); + void slotViewFullScreen(bool enable); + void slotViewFindBar(); + + void slotToggleInspector(bool enable); + void slotDownloadManager(); + void slotSelectLineEdit(); + + void slotAboutToShowBackMenu(); + + // history related + void slotOpenActionUrl(QAction *action); + void slotOpenPrevious(); + void slotOpenNext(); + + void slotShowWindow(); + void slotSwapFocus(); + + void printRequested(QWebFrame *frame); + void geometryChangeRequested(const QRect &geometry); + +private: + void loadDefaultState(); + void setupMenu(); + void setupToolBar(); + void updateStatusbarActionText(bool visible); + +private: + + KToolBar *m_navigationBar; + SearchBar *m_searchBar; + TabWidget *m_tabWidget; + AutoSaver *m_autoSaver; + + KAction *m_historyBack; + KMenu *m_historyBackMenu; + KAction *m_historyForward; + KMenu *m_windowMenu; + + KAction *m_stop; + KAction *m_reload; + KAction *m_stopReload; + KAction *m_goHome; + KToggleAction *m_viewStatusbar; + KAction *m_restoreLastSession; + + KIcon m_reloadIcon; + KIcon m_stopIcon; + + FindBar *m_findBar; + QString m_lastSearch; +}; + +#endif // MAINWINDOW_H + diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 869a6144..7390cd22 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -22,7 +22,7 @@ // Local Includes #include "networkaccessmanager.h" #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" #include "ui_passworddialog.h" #include "ui_proxy.h" @@ -84,7 +84,7 @@ void NetworkAccessManager::loadSettings() void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth) { - BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + MainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); QDialog dialog(mainWindow); dialog.setWindowFlags(Qt::Sheet); @@ -108,7 +108,7 @@ void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthent void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth) { - BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + MainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); QDialog dialog(mainWindow); dialog.setWindowFlags(Qt::Sheet); @@ -133,7 +133,7 @@ void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &prox #ifndef QT_NO_OPENSSL void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList &error) { - BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + MainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); QStringList errorStrings; for (int i = 0; i < error.count(); ++i) diff --git a/src/searchbar.cpp b/src/searchbar.cpp index 977703d3..c6889dba 100644 --- a/src/searchbar.cpp +++ b/src/searchbar.cpp @@ -22,7 +22,7 @@ #include "searchbar.moc" #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" #include diff --git a/src/settings.cpp b/src/settings.cpp index f765e18c..3b82935f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -24,7 +24,7 @@ #include "settings.moc" #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" #include "cookiejar.h" #include "history.h" #include "networkaccessmanager.h" @@ -366,7 +366,7 @@ void SettingsDialog::chooseFixedFont() void SettingsDialog::setHomeToCurrentPage() { - BrowserMainWindow *mw = static_cast(parent()); + MainWindow *mw = static_cast(parent()); WebView *webView = mw->currentTab(); if (webView) { diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 06a14ff3..08ec1212 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -23,7 +23,7 @@ #include "tabwidget.h" #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" #include "history.h" #include "urlbar.h" #include "webview.h" diff --git a/src/tags b/src/tags deleted file mode 100644 index d2fc52eb..00000000 --- a/src/tags +++ /dev/null @@ -1,494 +0,0 @@ -!_TAG_FILE_FORMAT 2 /supported features/ -!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted/ -!_TAG_PROGRAM_AUTHOR Steve Kirkendall /kirkenda@cs.pdx.edu/ -!_TAG_PROGRAM_NAME Elvis Ctags // -!_TAG_PROGRAM_URL ftp://ftp.cs.pdx.edu/pub/elvis/README.html /official site/ -!_TAG_PROGRAM_VERSION 2.2.0 // -AUTOSAVER_H autosaver.h 22;" d ln:22 -AUTOSAVE_IN autosaver.cpp 28;" d ln:28 file: -AutoSaver autosaver.h /^class AutoSaver : public QObject {$/;" c ln:33 -AutoSaver browsermainwindow.h /^class AutoSaver;$/;" v ln:38 -AutoSaver cookiejar.h /^class AutoSaver;$/;" v ln:40 -AutoSaver downloadmanager.h /^class AutoSaver;$/;" v ln:74 -AutoSaver history.h /^class AutoSaver;$/;" v ln:67 -AutoSaver autosaver.cpp /^AutoSaver::AutoSaver(QObject *parent) : QObject(parent)$/;" f ln:31 class:AutoSaver -AutoSaver autosaver.cpp /^AutoSaver::~AutoSaver()$/;" f ln:36 class:AutoSaver -BOOKMARKS_H bookmarks.h 21;" d ln:21 -BROWSERAPPLICATION_H browserapplication.h 23;" d ln:23 -BROWSERMAINWINDOW_H browsermainwindow.h 23;" d ln:23 -BookmarksMenu bookmarks.h /^class BookmarksMenu : public KMenu$/;" c ln:54 -BookmarksMenu bookmarks.cpp /^BookmarksMenu::BookmarksMenu(KMainWindow *parent)$/;" f ln:61 class:BookmarksMenu -BrowserApplication browserapplication.h /^class BrowserApplication : public KApplication$/;" c ln:44 -BrowserApplication browserapplication.cpp /^BrowserApplication::BrowserApplication(KCmdLineArgs *args, const QString &serverName)$/;" f ln:58 class:BrowserApplication -BrowserApplication browserapplication.cpp /^BrowserApplication::~BrowserApplication()$/;" f ln:102 class:BrowserApplication -BrowserMainWindow bookmarks.h /^class BrowserMainWindow;$/;" v ln:32 -BrowserMainWindow browserapplication.h /^class BrowserMainWindow;$/;" v ln:38 -BrowserMainWindow browsermainwindow.h /^class BrowserMainWindow : public KMainWindow $/;" c ln:48 -BrowserMainWindow webview.h /^class BrowserMainWindow;$/;" v ln:36 -BrowserMainWindow browsermainwindow.cpp /^BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)$/;" f ln:61 class:BrowserMainWindow -BrowserMainWindow browsermainwindow.cpp /^BrowserMainWindow::~BrowserMainWindow()$/;" f ln:111 class:BrowserMainWindow -BrowserMainWindowMagic browsermainwindow.cpp /^static const qint32 BrowserMainWindowMagic = 0xba;$/;" v ln:150 file: -COOKIEJAR_H cookiejar.h 22;" d ln:22 -CookieExceptionsModel cookiejar.h /^class CookieExceptionsModel : public QAbstractTableModel$/;" c ln:155 -CookieExceptionsModel cookiejar.cpp /^CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent)$/;" f ln:574 class:CookieExceptionsModel -CookieJar browserapplication.h /^class CookieJar;$/;" v ln:39 -CookieJar cookiejar.h /^class CookieJar : public QNetworkCookieJar$/;" c ln:42 -CookieJar cookiejar.cpp /^CookieJar::CookieJar(QObject *parent)$/;" f ln:79 class:CookieJar -CookieJar cookiejar.cpp /^CookieJar::~CookieJar()$/;" f ln:87 class:CookieJar -CookieModel cookiejar.h /^class CookieModel : public QAbstractTableModel$/;" c ln:117 -CookieModel cookiejar.cpp /^CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent)$/;" f ln:407 class:CookieModel -CookiesDialog cookiejar.h /^class CookiesDialog : public QDialog, public Ui_CookiesDialog$/;" v ln:144 -CookiesDialog cookiejar.cpp /^CookiesDialog::CookiesDialog(CookieJar *cookieJar, QWidget *parent) $/;" f ln:523 class:CookiesDialog -CookiesExceptionsDialog cookiejar.h /^class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog$/;" v ln:186 -CookiesExceptionsDialog cookiejar.cpp /^CookiesExceptionsDialog::CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent)$/;" f ln:697 class:CookiesExceptionsDialog -DOWNLOADMANAGER_H downloadmanager.h 23;" d ln:23 -DownloadItem downloadmanager.h /^class DownloadItem : public QWidget, public Ui_DownloadItem$/;" v ln:33 -DownloadItem downloadmanager.cpp /^DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget *parent)$/;" f ln:46 class:DownloadItem -DownloadManager browserapplication.h /^class DownloadManager;$/;" v ln:40 -DownloadManager downloadmanager.h /^class DownloadManager : public QDialog, public Ui_DownloadDialog$/;" v ln:80 -DownloadManager downloadmanager.cpp /^DownloadManager::DownloadManager(QWidget *parent)$/;" f ln:307 class:DownloadManager -DownloadManager downloadmanager.cpp /^DownloadManager::~DownloadManager()$/;" f ln:326 class:DownloadManager -DownloadModel downloadmanager.h /^class DownloadModel;$/;" v ln:75 -DownloadModel downloadmanager.h /^class DownloadModel : public QAbstractListModel$/;" c ln:125 -DownloadModel downloadmanager.cpp /^DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent)$/;" f ln:506 class:DownloadModel -EDITTABLEVIEW_H edittableview.h 22;" d ln:22 -EDITTREEVIEW_H edittreeview.h 22;" d ln:22 -EditTableView edittableview.h /^class EditTableView : public QTableView$/;" c ln:26 -EditTableView edittableview.cpp /^EditTableView::EditTableView(QWidget *parent)$/;" f ln:24 class:EditTableView -EditTreeView edittreeview.h /^class EditTreeView : public QTreeView$/;" c ln:26 -EditTreeView edittreeview.cpp /^EditTreeView::EditTreeView(QWidget *parent)$/;" f ln:25 class:EditTreeView -FINDBAR_H findbar.h 21;" d ln:21 -FindBar findbar.h /^class FindBar : public KToolBar$/;" c ln:28 -FindBar findbar.cpp /^FindBar::FindBar(KMainWindow *parent)$/;" f ln:32 class:FindBar -FindBar findbar.cpp /^FindBar::~FindBar()$/;" f ln:59 class:FindBar -HISTORY_H history.h 23;" d ln:23 -HISTORY_VERSION history.cpp /^static const unsigned int HISTORY_VERSION = 23;$/;" v ln:39 file: -HistoryCompletionModel history.h /^class HistoryCompletionModel : public QAbstractProxyModel$/;" c ln:265 -HistoryCompletionModel history.cpp /^HistoryCompletionModel::HistoryCompletionModel(QObject *parent)$/;" f ln:981 class:HistoryCompletionModel -HistoryDialog history.h /^class HistoryDialog : public QDialog, public Ui_HistoryDialog$/;" v ln:342 -HistoryDialog history.cpp /^HistoryDialog::HistoryDialog(QWidget *parent, HistoryManager *setHistory) : QDialog(parent)$/;" f ln:698 class:HistoryDialog -HistoryFilterModel history.h /^class HistoryFilterModel;$/;" v ln:69 -HistoryFilterModel history.h /^class HistoryFilterModel : public QAbstractProxyModel$/;" c ln:168 -HistoryFilterModel history.cpp /^HistoryFilterModel::HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent)$/;" f ln:767 class:HistoryFilterModel -HistoryItem history.h /^class HistoryItem$/;" c ln:41 -HistoryManager browserapplication.h /^class HistoryManager;$/;" v ln:41 -HistoryManager history.h /^class HistoryManager : public QWebHistoryInterface$/;" c ln:73 -HistoryManager history.cpp /^HistoryManager::HistoryManager(QObject *parent)$/;" f ln:42 class:HistoryManager -HistoryManager history.cpp /^HistoryManager::~HistoryManager()$/;" f ln:65 class:HistoryManager -HistoryMenu history.h /^class HistoryMenu : public ModelMenu$/;" c ln:236 -HistoryMenu history.cpp /^HistoryMenu::HistoryMenu(QWidget *parent)$/;" f ln:614 class:HistoryMenu -HistoryMenuModel history.h /^class HistoryMenuModel : public QAbstractProxyModel$/;" c ln:214 -HistoryMenuModel history.cpp /^HistoryMenuModel::HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent)$/;" f ln:499 class:HistoryMenuModel -HistoryModel history.h /^class HistoryModel;$/;" v ln:68 -HistoryModel history.h /^class HistoryModel : public QAbstractTableModel$/;" c ln:133 -HistoryModel history.cpp /^HistoryModel::HistoryModel(HistoryManager *history, QObject *parent)$/;" f ln:373 class:HistoryModel -HistoryTreeModel history.h /^class HistoryTreeModel;$/;" v ln:70 -HistoryTreeModel history.h /^class HistoryTreeModel : public QAbstractProxyModel$/;" c ln:290 -HistoryTreeModel history.cpp /^HistoryTreeModel::HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent)$/;" f ln:1084 class:HistoryTreeModel -JAR_VERSION cookiejar.cpp /^static const unsigned int JAR_VERSION = 23;$/;" v ln:37 file: -KBookmarkOwner bookmarks.h /^class OwnBookMarks : public QObject , public KBookmarkOwner$/;" c ln:34 -MAXWAIT autosaver.cpp 29;" d ln:29 file: -MODELMENU_H modelmenu.h 23;" d ln:23 -MOVEDROWS history.cpp 494;" d ln:494 class:HistoryModel file: -ModelMenu modelmenu.h /^class ModelMenu : public QMenu$/;" c ln:34 -ModelMenu modelmenu.cpp /^ModelMenu::ModelMenu(QWidget * parent)$/;" f ln:24 class:ModelMenu -NETWORKACCESSMANAGER_H networkaccessmanager.h 22;" d ln:22 -NetworkAccessManager browserapplication.h /^class NetworkAccessManager;$/;" v ln:42 -NetworkAccessManager networkaccessmanager.h /^class NetworkAccessManager : public QNetworkAccessManager$/;" c ln:26 -NetworkAccessManager networkaccessmanager.cpp /^NetworkAccessManager::NetworkAccessManager(QObject *parent)$/;" f ln:43 class:NetworkAccessManager -OwnBookMarks bookmarks.h /^class OwnBookMarks : public QObject , public KBookmarkOwner$/;" v ln:34 -OwnBookMarks bookmarks.cpp /^OwnBookMarks::OwnBookMarks(KMainWindow *parent)$/;" f ln:30 class:OwnBookMarks -QAuthenticator webview.h /^class QAuthenticator;$/;" v ln:29 -QCompleter tabwidget.h /^class QCompleter;$/;" v ln:120 -QFileIconProvider downloadmanager.h /^class QFileIconProvider;$/;" v ln:77 -QKeyEvent cookiejar.h /^class QKeyEvent;$/;" v ln:37 -QLocalServer browserapplication.h /^class QLocalServer;$/;" v ln:35 -QMenu tabwidget.h /^class QMenu;$/;" v ln:121 -QMouseEvent webview.h /^class QMouseEvent;$/;" v ln:30 -QNetworkProxy webview.h /^class QNetworkProxy;$/;" v ln:31 -QNetworkReply webview.h /^class QNetworkReply;$/;" v ln:32 -QSortFilterProxyModel cookiejar.h /^class QSortFilterProxyModel;$/;" v ln:36 -QSslError webview.h /^class QSslError;$/;" v ln:33 -QStackedWidget tabwidget.h /^class QStackedWidget;$/;" v ln:122 -QWebFrame browsermainwindow.h /^class QWebFrame;$/;" v ln:39 -Q_DECLARE_METATYPE modelmenu.cpp /^Q_DECLARE_METATYPE(QModelIndex)$/;" f ln:120 -SEARCHBAR_H searchbar.h 22;" d ln:22 -SETTINGS_H settings.h 22;" d ln:22 -SQUEEZELABEL_H squeezelabel.h 22;" d ln:22 -SearchBar searchbar.h /^class SearchBar : public QWidget$/;" c ln:31 -SearchBar searchbar.cpp /^SearchBar::SearchBar(QWidget *parent) : $/;" f ln:27 class:SearchBar -SearchBar searchbar.cpp /^SearchBar::~SearchBar()$/;" f ln:41 class:SearchBar -Settings settings.h /^class SettingsDialog : public KDialog, private Ui::Settings$/;" c ln:33 class:Ui -SettingsDialog settings.h /^class SettingsDialog : public KDialog, private Ui::Settings$/;" v ln:33 -SettingsDialog settings.cpp /^SettingsDialog::SettingsDialog(QWidget *parent)$/;" f ln:41 class:SettingsDialog -SqueezeLabel squeezelabel.h /^class SqueezeLabel : public QLabel$/;" c ln:26 -SqueezeLabel squeezelabel.cpp /^SqueezeLabel::SqueezeLabel(QWidget *parent) : QLabel(parent)$/;" f ln:23 class:SqueezeLabel -TABWIDGET_H tabwidget.h 24;" d ln:24 -TabBar tabwidget.h /^class TabBar : public KTabBar$/;" c ln:33 -TabBar tabwidget.cpp /^TabBar::TabBar(QWidget *parent)$/;" f ln:36 class:TabBar -TabWidget browsermainwindow.h /^class TabWidget;$/;" v ln:40 -TabWidget tabwidget.h /^class TabWidget : public QTabWidget$/;" c ln:130 -TabWidget tabwidget.cpp /^TabWidget::TabWidget(QWidget *parent)$/;" f ln:196 class:TabWidget -TabWidgetMagic tabwidget.cpp /^static const qint32 TabWidgetMagic = 0xaa;$/;" v ln:768 file: -TreeProxyModel history.h /^class TreeProxyModel : public QSortFilterProxyModel$/;" c ln:326 -TreeProxyModel history.cpp /^TreeProxyModel::TreeProxyModel(QObject *parent) : QSortFilterProxyModel(parent)$/;" f ln:681 class:TreeProxyModel -URLBAR_H urlbar.h 21;" d ln:21 -Ui_CookiesDialog cookiejar.h /^class CookiesDialog : public QDialog, public Ui_CookiesDialog$/;" c ln:144 -Ui_CookiesExceptionsDialog cookiejar.h /^class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog$/;" c ln:186 -Ui_DownloadDialog downloadmanager.h /^class DownloadManager : public QDialog, public Ui_DownloadDialog$/;" c ln:80 -Ui_DownloadItem downloadmanager.h /^class DownloadItem : public QWidget, public Ui_DownloadItem$/;" c ln:33 -Ui_HistoryDialog history.h /^class HistoryDialog : public QDialog, public Ui_HistoryDialog$/;" c ln:342 -UrlBar urlbar.h /^class UrlBar : public QWidget$/;" c ln:35 -UrlBar urlbar.cpp /^UrlBar::UrlBar(QWidget *parent)$/;" f ln:30 class:UrlBar -UrlBar urlbar.cpp /^UrlBar::~UrlBar()$/;" f ln:55 class:UrlBar -WEBVIEW_H webview.h 22;" d ln:22 -WebActionMapper tabwidget.h /^class WebActionMapper : public QObject$/;" c ln:86 -WebActionMapper tabwidget.cpp /^WebActionMapper::WebActionMapper(KAction *root, QWebPage::WebAction webAction, QObject *parent)$/;" f ln:834 class:WebActionMapper -WebPage webview.h /^class WebPage : public QWebPage $/;" c ln:39 -WebPage webview.cpp /^WebPage::WebPage(QObject *parent)$/;" f ln:42 class:WebPage -WebView browsermainwindow.h /^class WebView;$/;" v ln:41 -WebView tabwidget.h /^class WebView;$/;" v ln:78 -WebView webview.h /^class WebView : public QWebView $/;" c ln:70 -WebView webview.cpp /^WebView::WebView(QWidget* parent)$/;" f ln:171 class:WebView -aboutToShowRecentTabsMenu tabwidget.cpp /^void TabWidget::aboutToShowRecentTabsMenu()$/;" f ln:678 class:TabWidget -aboutToShowRecentTriggeredAction tabwidget.cpp /^void TabWidget::aboutToShowRecentTriggeredAction(QAction *action)$/;" f ln:693 class:TabWidget -acceptNavigationRequest webview.cpp /^bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type)$/;" f ln:65 class:WebPage -acceptPolicy cookiejar.cpp /^CookieJar::AcceptPolicy CookieJar::acceptPolicy() const$/;" f ln:301 class:CookieJar -activated history.cpp /^void HistoryMenu::activated(const QModelIndex &index)$/;" f ln:623 class:HistoryMenu -activeDownloads downloadmanager.cpp /^int DownloadManager::activeDownloads() const$/;" f ln:334 class:DownloadManager -addChild tabwidget.cpp /^void WebActionMapper::addChild(KAction *action)$/;" f ln:860 class:WebActionMapper -addHistoryEntry history.cpp /^void HistoryManager::addHistoryEntry(const QString &url)$/;" f ln:83 class:HistoryManager -addHistoryItem history.cpp /^void HistoryManager::addHistoryItem(const HistoryItem &item)$/;" f ln:161 class:HistoryManager -addItem downloadmanager.cpp /^void DownloadManager::addItem(DownloadItem *item)$/;" f ln:366 class:DownloadManager -addWebAction tabwidget.cpp /^void TabWidget::addWebAction(KAction *action, QWebPage::WebAction webAction)$/;" f ln:319 class:TabWidget -allow cookiejar.cpp /^void CookiesExceptionsDialog::allow()$/;" f ln:766 class:CookiesExceptionsDialog -allowForSession cookiejar.cpp /^void CookiesExceptionsDialog::allowForSession()$/;" f ln:775 class:CookiesExceptionsDialog -allowForSessionCookies cookiejar.cpp /^QStringList CookieJar::allowForSessionCookies() const$/;" f ln:361 class:CookieJar -allowedCookies cookiejar.cpp /^QStringList CookieJar::allowedCookies() const$/;" f ln:352 class:CookieJar -authenticationRequired networkaccessmanager.cpp /^void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth)$/;" f ln:84 class:NetworkAccessManager -block cookiejar.cpp /^void CookiesExceptionsDialog::block()$/;" f ln:757 class:CookiesExceptionsDialog -blockedCookies cookiejar.cpp /^QStringList CookieJar::blockedCookies() const$/;" f ln:343 class:CookieJar -bumpedRows history.cpp /^int HistoryMenuModel::bumpedRows() const$/;" f ln:506 class:HistoryMenuModel -canRestoreSession browserapplication.cpp /^bool BrowserApplication::canRestoreSession() const$/;" f ln:227 class:BrowserApplication -changeOccurred autosaver.cpp /^void AutoSaver::changeOccurred()$/;" f ln:42 class:AutoSaver -checkForExpired history.cpp /^void HistoryManager::checkForExpired()$/;" f ln:131 class:HistoryManager -childChanged tabwidget.cpp /^void WebActionMapper::childChanged()$/;" f ln:883 class:WebActionMapper -chooseFixedFont settings.cpp /^void SettingsDialog::chooseFixedFont()$/;" f ln:293 class:SettingsDialog -chooseFont settings.cpp /^void SettingsDialog::chooseFont()$/;" f ln:281 class:SettingsDialog -clean browserapplication.cpp /^void BrowserApplication::clean()$/;" f ln:189 class:BrowserApplication -cleanup downloadmanager.cpp /^void DownloadManager::cleanup()$/;" f ln:487 class:DownloadManager -clear cookiejar.cpp /^void CookieJar::clear()$/;" f ln:94 class:CookieJar -clear findbar.cpp /^void FindBar::clear()$/;" f ln:71 class:FindBar -clear history.cpp /^void HistoryManager::clear()$/;" f ln:208 class:HistoryManager -clear tabwidget.cpp /^void TabWidget::clear()$/;" f ln:274 class:TabWidget -cloneTab tabwidget.cpp /^void TabBar::cloneTab()$/;" f ln:100 class:TabBar -cloneTab tabwidget.cpp /^void TabWidget::cloneTab(int index)$/;" f ln:576 class:TabWidget -closeEvent browsermainwindow.cpp /^void BrowserMainWindow::closeEvent(QCloseEvent *event)$/;" f ln:655 class:BrowserMainWindow -closeOtherTabs tabwidget.cpp /^void TabBar::closeOtherTabs()$/;" f ln:120 class:TabBar -closeOtherTabs tabwidget.cpp /^void TabWidget::closeOtherTabs(int index)$/;" f ln:564 class:TabWidget -closeTab tabwidget.cpp /^void TabBar::closeTab()$/;" f ln:110 class:TabBar -closeTab tabwidget.cpp /^void TabWidget::closeTab(int index)$/;" f ln:588 class:TabWidget -closeTabAction tabwidget.cpp /^KAction *TabWidget::closeTabAction() const$/;" f ln:375 class:TabWidget -columnCount cookiejar.cpp /^int CookieModel::columnCount(const QModelIndex &parent) const$/;" f ln:487 class:CookieModel -columnCount cookiejar.cpp /^int CookieExceptionsModel::columnCount(const QModelIndex &parent) const$/;" f ln:651 class:CookieExceptionsModel -columnCount history.cpp /^int HistoryModel::columnCount(const QModelIndex &parent) const$/;" f ln:462 class:HistoryModel -columnCount history.cpp /^int HistoryMenuModel::columnCount(const QModelIndex &parent) const$/;" f ln:514 class:HistoryMenuModel -columnCount history.cpp /^int HistoryFilterModel::columnCount(const QModelIndex &parent) const$/;" f ln:845 class:HistoryFilterModel -columnCount history.cpp /^int HistoryCompletionModel::columnCount(const QModelIndex &parent) const$/;" f ln:1014 class:HistoryCompletionModel -columnCount history.cpp /^int HistoryTreeModel::columnCount(const QModelIndex &parent) const$/;" f ln:1127 class:HistoryTreeModel -contextMenuEvent tabwidget.cpp /^void TabWidget::contextMenuEvent(QContextMenuEvent *event)$/;" f ln:713 class:TabWidget -contextMenuEvent webview.cpp /^void WebView::contextMenuEvent(QContextMenuEvent *event)$/;" f ln:187 class:WebView -contextMenuRequested tabwidget.cpp /^void TabBar::contextMenuRequested(const QPoint &position)$/;" f ln:68 class:TabBar -cookieJar browserapplication.cpp /^CookieJar *BrowserApplication::cookieJar()$/;" f ln:328 class:BrowserApplication -cookiesChanged cookiejar.cpp /^void CookieModel::cookiesChanged()$/;" f ln:512 class:CookieModel -cookiesForUrl cookiejar.cpp /^QList CookieJar::cookiesForUrl(const QUrl &url) const$/;" f ln:221 class:CookieJar -copy history.cpp /^void HistoryDialog::copy()$/;" f ln:753 class:HistoryDialog -createMenu modelmenu.cpp /^void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu, QMenu *menu)$/;" f ln:145 class:ModelMenu -createWindow webview.cpp /^QWebPage *WebPage::createWindow(QWebPage::WebWindowType type)$/;" f ln:103 class:WebPage -currentChanged tabwidget.cpp /^void TabWidget::currentChanged(int index)$/;" f ln:327 class:TabWidget -currentDestroyed tabwidget.cpp /^void WebActionMapper::currentDestroyed()$/;" f ln:854 class:WebActionMapper -currentLineEdit tabwidget.cpp /^KLineEdit *TabWidget::currentLineEdit() const$/;" f ln:405 class:TabWidget -currentTab browsermainwindow.cpp /^WebView *BrowserMainWindow::currentTab() const$/;" f ln:852 class:BrowserMainWindow -currentTitle bookmarks.cpp /^QString OwnBookMarks::currentTitle() const$/;" f ln:51 class:OwnBookMarks -currentUrl bookmarks.cpp /^QString OwnBookMarks::currentUrl() const$/;" f ln:44 class:OwnBookMarks -currentWebView tabwidget.cpp /^WebView *TabWidget::currentWebView() const$/;" f ln:411 class:TabWidget -customContextMenuRequested history.cpp /^void HistoryDialog::customContextMenuRequested(const QPoint &pos)$/;" f ln:729 class:HistoryDialog -data cookiejar.cpp /^QVariant CookieModel::data(const QModelIndex &index, int role) const$/;" f ln:450 class:CookieModel -data cookiejar.cpp /^QVariant CookieExceptionsModel::data(const QModelIndex &index, int role) const$/;" f ln:606 class:CookieExceptionsModel -data downloadmanager.cpp /^QVariant DownloadModel::data(const QModelIndex &index, int role) const$/;" f ln:512 class:DownloadModel -data history.cpp /^QVariant HistoryModel::data(const QModelIndex &index, int role) const$/;" f ln:420 class:HistoryModel -data history.cpp /^QVariant HistoryFilterModel::data(const QModelIndex &index, int role) const$/;" f ln:784 class:HistoryFilterModel -data history.cpp /^QVariant HistoryCompletionModel::data(const QModelIndex &index, int role) const$/;" f ln:987 class:HistoryCompletionModel -data history.cpp /^QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const$/;" f ln:1097 class:HistoryTreeModel -dataString downloadmanager.cpp /^QString DownloadItem::dataString(int size) const$/;" f ln:266 class:DownloadItem -download downloadmanager.cpp /^void DownloadManager::download(const QNetworkRequest &request, bool requestFileName)$/;" f ln:344 class:DownloadManager -downloadManager browserapplication.cpp /^DownloadManager *BrowserApplication::downloadManager()$/;" f ln:334 class:BrowserApplication -downloadProgress downloadmanager.cpp /^void DownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)$/;" f ln:216 class:DownloadItem -downloadReadyRead downloadmanager.cpp /^void DownloadItem::downloadReadyRead()$/;" f ln:181 class:DownloadItem -downloadRequested webview.cpp /^void WebView::downloadRequested(const QNetworkRequest &request)$/;" f ln:299 class:WebView -downloadedSuccessfully downloadmanager.cpp /^bool DownloadItem::downloadedSuccessfully() const$/;" f ln:286 class:DownloadItem -downloading downloadmanager.cpp /^bool DownloadItem::downloading() const$/;" f ln:281 class:DownloadItem -dragEnterEvent tabwidget.cpp /^void TabBar::dragEnterEvent(QDragEnterEvent *event)$/;" f ln:158 class:TabBar -dropEvent tabwidget.cpp /^void TabBar::dropEvent(QDropEvent *event)$/;" f ln:171 class:TabBar -entryAdded history.cpp /^void HistoryModel::entryAdded()$/;" f ln:391 class:HistoryModel -entryUpdated history.cpp /^void HistoryModel::entryUpdated(int offset)$/;" f ln:398 class:HistoryModel -error downloadmanager.cpp /^void DownloadItem::error(QNetworkReply::NetworkError)$/;" f ln:203 class:DownloadItem -filterAcceptsRow history.cpp /^bool TreeProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const$/;" f ln:688 class:TreeProxyModel -finished downloadmanager.cpp /^void DownloadItem::finished()$/;" f ln:291 class:DownloadItem -firstSeparator modelmenu.cpp /^int ModelMenu::firstSeparator() const$/;" f ln:78 class:ModelMenu -flags history.cpp /^Qt::ItemFlags HistoryTreeModel::flags(const QModelIndex &index) const$/;" f ln:1226 class:HistoryTreeModel -generateGradient urlbar.cpp /^QLinearGradient UrlBar::generateGradient(const QColor &color) const$/;" f ln:97 class:UrlBar -geometryChangeRequested browsermainwindow.cpp /^void BrowserMainWindow::geometryChangeRequested(const QRect &geometry)$/;" f ln:977 class:BrowserMainWindow -getFileName downloadmanager.cpp /^void DownloadItem::getFileName()$/;" f ln:93 class:DownloadItem -guessUrlFromString browsermainwindow.cpp /^KUrl BrowserMainWindow::guessUrlFromString(const QString &string)$/;" f ln:443 class:BrowserMainWindow -handleUnsupportedContent downloadmanager.cpp /^void DownloadManager::handleUnsupportedContent(QNetworkReply *reply, bool requestFileName)$/;" f ln:351 class:DownloadManager -handleUnsupportedContent webview.cpp /^void WebPage::handleUnsupportedContent(QNetworkReply *reply)$/;" f ln:119 class:WebPage -hasChildren history.cpp /^bool HistoryTreeModel::hasChildren(const QModelIndex &parent) const$/;" f ln:1217 class:HistoryTreeModel -headerData cookiejar.cpp /^QVariant CookieModel::headerData(int section, Qt::Orientation orientation, int role) const$/;" f ln:415 class:CookieModel -headerData cookiejar.cpp /^QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientation, int role) const$/;" f ln:583 class:CookieExceptionsModel -headerData history.cpp /^QVariant HistoryModel::headerData(int section, Qt::Orientation orientation, int role) const$/;" f ln:405 class:HistoryModel -headerData history.cpp /^QVariant HistoryFilterModel::headerData(int section, Qt::Orientation orientation, int role) const$/;" f ln:823 class:HistoryFilterModel -headerData history.cpp /^QVariant HistoryTreeModel::headerData(int section, Qt::Orientation orientation, int role) const$/;" f ln:1091 class:HistoryTreeModel -history history.cpp /^QList HistoryManager::history() const$/;" f ln:71 class:HistoryManager -historyContains history.cpp /^bool HistoryManager::historyContains(const QString &url) const$/;" f ln:77 class:HistoryManager -historyFilterModel history.cpp /^HistoryFilterModel *HistoryManager::historyFilterModel() const$/;" f ln:119 class:HistoryManager -historyLimit history.cpp /^int HistoryManager::historyLimit() const$/;" f ln:192 class:HistoryManager -historyLocation history.cpp /^int HistoryFilterModel::historyLocation(const QString &url) const$/;" f ln:775 class:HistoryFilterModel -historyManager browserapplication.cpp /^HistoryManager *BrowserApplication::historyManager()$/;" f ln:357 class:BrowserApplication -historyModel history.cpp /^HistoryModel *HistoryManager::historyModel() const$/;" f ln:113 class:HistoryManager -historyReset history.cpp /^void HistoryModel::historyReset()$/;" f ln:385 class:HistoryModel -historyTreeModel history.cpp /^HistoryTreeModel *HistoryManager::historyTreeModel() const$/;" f ln:125 class:HistoryManager -hoverRole modelmenu.cpp /^int ModelMenu::hoverRole() const$/;" f ln:102 class:ModelMenu -hovered modelmenu.cpp /^void ModelMenu::hovered(QAction *action)$/;" f ln:213 class:ModelMenu -icon browserapplication.cpp /^KIcon BrowserApplication::icon(const KUrl &url) const$/;" f ln:370 class:BrowserApplication -index history.cpp /^QModelIndex HistoryMenuModel::index(int row, int column, const QModelIndex &parent) const$/;" f ln:572 class:HistoryMenuModel -index history.cpp /^QModelIndex HistoryFilterModel::index(int row, int column, const QModelIndex &parent) const$/;" f ln:886 class:HistoryFilterModel -index history.cpp /^QModelIndex HistoryCompletionModel::index(int row, int column, const QModelIndex &parent) const$/;" f ln:1036 class:HistoryCompletionModel -index history.cpp /^QModelIndex HistoryTreeModel::index(int row, int column, const QModelIndex &parent) const$/;" f ln:1195 class:HistoryTreeModel -init downloadmanager.cpp /^void DownloadItem::init()$/;" f ln:65 class:DownloadItem -instance browserapplication.cpp /^BrowserApplication *BrowserApplication::instance()$/;" f ln:110 class:BrowserApplication -isTheOnlyBrowser browserapplication.cpp /^bool BrowserApplication::isTheOnlyBrowser() const$/;" f ln:266 class:BrowserApplication -keepPolicy cookiejar.cpp /^CookieJar::KeepPolicy CookieJar::keepPolicy() const$/;" f ln:322 class:CookieJar -keyPressEvent edittableview.cpp /^void EditTableView::keyPressEvent(QKeyEvent *event)$/;" f ln:29 class:EditTableView -keyPressEvent edittreeview.cpp /^void EditTreeView::keyPressEvent(QKeyEvent *event)$/;" f ln:30 class:EditTreeView -keyPressEvent findbar.cpp /^void FindBar::keyPressEvent(QKeyEvent* event)$/;" f ln:88 class:FindBar -lastStatusBarText webview.cpp /^QString WebView::lastStatusBarText() const$/;" f ln:254 class:WebView -lineEdit findbar.cpp /^KLineEdit *FindBar::lineEdit()$/;" f ln:65 class:FindBar -lineEdit searchbar.cpp /^KLineEdit *SearchBar::lineEdit()$/;" f ln:58 class:SearchBar -lineEdit tabwidget.cpp /^KLineEdit *TabWidget::lineEdit(int index) const$/;" f ln:417 class:TabWidget -lineEdit urlbar.cpp /^KLineEdit *UrlBar::lineEdit()$/;" f ln:63 class:UrlBar -lineEditReturnPressed tabwidget.cpp /^void TabWidget::lineEditReturnPressed()$/;" f ln:538 class:TabWidget -lineEditStack tabwidget.cpp /^QWidget *TabWidget::lineEditStack() const$/;" f ln:399 class:TabWidget -load cookiejar.cpp /^void CookieJar::load()$/;" f ln:101 class:CookieJar -load downloadmanager.cpp /^void DownloadManager::load()$/;" f ln:451 class:DownloadManager -load history.cpp /^void HistoryManager::load()$/;" f ln:228 class:HistoryManager -load history.cpp /^void HistoryFilterModel::load() const$/;" f ln:903 class:HistoryFilterModel -loadDefaultState browsermainwindow.cpp /^void BrowserMainWindow::loadDefaultState()$/;" f ln:119 class:BrowserMainWindow -loadDefaults settings.cpp /^void SettingsDialog::loadDefaults()$/;" f ln:70 class:SettingsDialog -loadFinished webview.cpp /^void WebView::loadFinished()$/;" f ln:236 class:WebView -loadFromSettings settings.cpp /^void SettingsDialog::loadFromSettings()$/;" f ln:90 class:SettingsDialog -loadPage browsermainwindow.cpp /^void BrowserMainWindow::loadPage(const QString &page)$/;" f ln:832 class:BrowserMainWindow -loadSettings browserapplication.cpp /^void BrowserApplication::loadSettings()$/;" f ln:146 class:BrowserApplication -loadSettings cookiejar.cpp /^void CookieJar::loadSettings()$/;" f ln:133 class:CookieJar -loadSettings history.cpp /^void HistoryManager::loadSettings()$/;" f ln:218 class:HistoryManager -loadSettings networkaccessmanager.cpp /^void NetworkAccessManager::loadSettings()$/;" f ln:58 class:NetworkAccessManager -loadUrl browsermainwindow.cpp /^void BrowserMainWindow::loadUrl(const KUrl &url)$/;" f ln:500 class:BrowserMainWindow -loadUrl webview.cpp /^void WebView::loadUrl(const KUrl &url)$/;" f ln:247 class:WebView -loadUrlInCurrentTab tabwidget.cpp /^void TabWidget::loadUrlInCurrentTab(const KUrl &url)$/;" f ln:739 class:TabWidget -main main.cpp /^int main(int argc, char **argv)$/;" f ln:29 -mainWindow browserapplication.cpp /^BrowserMainWindow *BrowserApplication::mainWindow()$/;" f ln:288 class:BrowserApplication -mainWindow webview.cpp /^BrowserMainWindow *WebPage::mainWindow()$/;" f ln:53 class:WebPage -mainWindows browserapplication.cpp /^QList BrowserApplication::mainWindows()$/;" f ln:175 class:BrowserApplication -makeAction modelmenu.cpp /^KAction *ModelMenu::makeAction(const QModelIndex &index)$/;" f ln:184 class:ModelMenu -makeAction modelmenu.cpp /^KAction *ModelMenu::makeAction(const KIcon &icon, const QString &text, QObject *parent)$/;" f ln:194 class:ModelMenu -mapFromSource history.cpp /^QModelIndex HistoryMenuModel::mapFromSource(const QModelIndex &sourceIndex) const$/;" f ln:545 class:HistoryMenuModel -mapFromSource history.cpp /^QModelIndex HistoryFilterModel::mapFromSource(const QModelIndex &sourceIndex) const$/;" f ln:859 class:HistoryFilterModel -mapFromSource history.cpp /^QModelIndex HistoryCompletionModel::mapFromSource(const QModelIndex &sourceIndex) const$/;" f ln:1020 class:HistoryCompletionModel -mapFromSource history.cpp /^QModelIndex HistoryTreeModel::mapFromSource(const QModelIndex &sourceIndex) const$/;" f ln:1312 class:HistoryTreeModel -mapToSource history.cpp /^QModelIndex HistoryMenuModel::mapToSource(const QModelIndex &proxyIndex) const$/;" f ln:553 class:HistoryMenuModel -mapToSource history.cpp /^QModelIndex HistoryFilterModel::mapToSource(const QModelIndex &proxyIndex) const$/;" f ln:851 class:HistoryFilterModel -mapToSource history.cpp /^QModelIndex HistoryCompletionModel::mapToSource(const QModelIndex &proxyIndex) const$/;" f ln:1027 class:HistoryCompletionModel -mapToSource history.cpp /^QModelIndex HistoryTreeModel::mapToSource(const QModelIndex &proxyIndex) const$/;" f ln:1185 class:HistoryTreeModel -maxRows modelmenu.cpp /^int ModelMenu::maxRows() const$/;" f ln:66 class:ModelMenu -metaDataChanged downloadmanager.cpp /^void DownloadItem::metaDataChanged()$/;" f ln:211 class:DownloadItem -model modelmenu.cpp /^QAbstractItemModel *ModelMenu::model() const$/;" f ln:54 class:ModelMenu -mouseDoubleClickEvent tabwidget.cpp /^void TabWidget::mouseDoubleClickEvent(QMouseEvent *event)$/;" f ln:700 class:TabWidget -mouseMoveEvent tabwidget.cpp /^void TabBar::mouseMoveEvent(QMouseEvent *event)$/;" f ln:138 class:TabBar -mousePressEvent tabwidget.cpp /^void TabBar::mousePressEvent(QMouseEvent *event)$/;" f ln:130 class:TabBar -mousePressEvent webview.cpp /^void WebView::mousePressEvent(QMouseEvent *event)$/;" f ln:271 class:WebView -mouseReleaseEvent tabwidget.cpp /^void TabWidget::mouseReleaseEvent(QMouseEvent *event)$/;" f ln:723 class:TabWidget -mouseReleaseEvent webview.cpp /^void WebView::mouseReleaseEvent(QMouseEvent *event)$/;" f ln:279 class:WebView -moveTab tabwidget.cpp /^void TabWidget::moveTab(int fromIndex, int toIndex)$/;" f ln:287 class:TabWidget -networkAccessManager browserapplication.cpp /^NetworkAccessManager *BrowserApplication::networkAccessManager()$/;" f ln:345 class:BrowserApplication -newLocalSocketConnection browserapplication.cpp /^void BrowserApplication::newLocalSocketConnection()$/;" f ln:297 class:BrowserApplication -newMainWindow browserapplication.cpp /^BrowserMainWindow *BrowserApplication::newMainWindow()$/;" f ln:279 class:BrowserApplication -newTab tabwidget.cpp /^WebView *TabWidget::newTab(bool makeCurrent)$/;" f ln:457 class:TabWidget -newTabAction tabwidget.cpp /^KAction *TabWidget::newTabAction() const$/;" f ln:369 class:TabWidget -nextTab tabwidget.cpp /^void TabWidget::nextTab()$/;" f ln:750 class:TabWidget -nextTabAction tabwidget.cpp /^KAction *TabWidget::nextTabAction() const$/;" f ln:387 class:TabWidget -open downloadmanager.cpp /^void DownloadItem::open()$/;" f ln:153 class:DownloadItem -open history.cpp /^void HistoryDialog::open()$/;" f ln:744 class:HistoryDialog -openBookmark bookmarks.cpp /^void OwnBookMarks::openBookmark (const KBookmark & b, Qt::MouseButtons , Qt::KeyboardModifiers )$/;" f ln:39 class:OwnBookMarks -openLinkInNewTab webview.cpp /^void WebView::openLinkInNewTab()$/;" f ln:223 class:WebView -openUrl browserapplication.cpp /^void BrowserApplication::openUrl(const KUrl &url)$/;" f ln:272 class:BrowserApplication -operator<< cookiejar.cpp /^QDataStream &operator<<(QDataStream &stream, const QList &list)$/;" f ln:40 -operator>> cookiejar.cpp /^QDataStream &operator>>(QDataStream &stream, QList &list)$/;" f ln:49 -paintEvent squeezelabel.cpp /^void SqueezeLabel::paintEvent(QPaintEvent *event)$/;" f ln:27 class:SqueezeLabel -parent history.cpp /^QModelIndex HistoryMenuModel::parent(const QModelIndex &index) const$/;" f ln:594 class:HistoryMenuModel -parent history.cpp /^QModelIndex HistoryFilterModel::parent(const QModelIndex &) const$/;" f ln:897 class:HistoryFilterModel -parent history.cpp /^QModelIndex HistoryCompletionModel::parent(const QModelIndex &) const$/;" f ln:1045 class:HistoryCompletionModel -parent history.cpp /^QModelIndex HistoryTreeModel::parent(const QModelIndex &index) const$/;" f ln:1208 class:HistoryTreeModel -postLaunch browserapplication.cpp /^void BrowserApplication::postLaunch()$/;" f ln:119 class:BrowserApplication -postPopulated history.cpp /^void HistoryMenu::postPopulated()$/;" f ln:648 class:HistoryMenu -postPopulated modelmenu.cpp /^void ModelMenu::postPopulated()$/;" f ln:43 class:ModelMenu -prePopulated history.cpp /^bool HistoryMenu::prePopulated()$/;" f ln:629 class:HistoryMenu -prePopulated modelmenu.cpp /^bool ModelMenu::prePopulated()$/;" f ln:37 class:ModelMenu -previousTab tabwidget.cpp /^void TabWidget::previousTab()$/;" f ln:759 class:TabWidget -previousTabAction tabwidget.cpp /^KAction *TabWidget::previousTabAction() const$/;" f ln:393 class:TabWidget -printRequested browsermainwindow.cpp /^void BrowserMainWindow::printRequested(QWebFrame *frame)$/;" f ln:603 class:BrowserMainWindow -proxyAuthenticationRequired networkaccessmanager.cpp /^void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth)$/;" f ln:108 class:NetworkAccessManager -purgeOldCookies cookiejar.cpp /^void CookieJar::purgeOldCookies()$/;" f ln:203 class:CookieJar -recentlyClosedTabsAction tabwidget.cpp /^KAction *TabWidget::recentlyClosedTabsAction() const$/;" f ln:381 class:TabWidget -reloadAllTabs tabwidget.cpp /^void TabWidget::reloadAllTabs()$/;" f ln:525 class:TabWidget -reloadTab tabwidget.cpp /^void TabBar::reloadTab()$/;" f ln:184 class:TabBar -reloadTab tabwidget.cpp /^void TabWidget::reloadTab(int index)$/;" f ln:305 class:TabWidget -removeAll edittableview.cpp /^void EditTableView::removeAll()$/;" f ln:52 class:EditTableView -removeAll edittreeview.cpp /^void EditTreeView::removeAll()$/;" f ln:50 class:EditTreeView -removeOne edittableview.cpp /^void EditTableView::removeOne()$/;" f ln:40 class:EditTableView -removeOne edittreeview.cpp /^void EditTreeView::removeOne()$/;" f ln:41 class:EditTreeView -removePolicy downloadmanager.cpp /^DownloadManager::RemovePolicy DownloadManager::removePolicy() const$/;" f ln:412 class:DownloadManager -removeRows cookiejar.cpp /^bool CookieModel::removeRows(int row, int count, const QModelIndex &parent)$/;" f ln:497 class:CookieModel -removeRows cookiejar.cpp /^bool CookieExceptionsModel::removeRows(int row, int count, const QModelIndex &parent)$/;" f ln:661 class:CookieExceptionsModel -removeRows downloadmanager.cpp /^bool DownloadModel::removeRows(int row, int count, const QModelIndex &parent)$/;" f ln:527 class:DownloadModel -removeRows history.cpp /^bool HistoryModel::removeRows(int row, int count, const QModelIndex &parent)$/;" f ln:474 class:HistoryModel -removeRows history.cpp /^bool HistoryFilterModel::removeRows(int row, int count, const QModelIndex &parent)$/;" f ln:959 class:HistoryFilterModel -removeRows history.cpp /^bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent)$/;" f ln:1234 class:HistoryTreeModel -restoreLastSession browserapplication.cpp /^void BrowserApplication::restoreLastSession()$/;" f ln:233 class:BrowserApplication -restoreState browsermainwindow.cpp /^bool BrowserMainWindow::restoreState(const QByteArray &state)$/;" f ln:174 class:BrowserMainWindow -restoreState tabwidget.cpp /^bool TabWidget::restoreState(const QByteArray &state)$/;" f ln:798 class:TabWidget -rootDestroyed tabwidget.cpp /^void WebActionMapper::rootDestroyed()$/;" f ln:848 class:WebActionMapper -rootIndex modelmenu.cpp /^QModelIndex ModelMenu::rootIndex() const$/;" f ln:90 class:ModelMenu -rootTriggered tabwidget.cpp /^void WebActionMapper::rootTriggered()$/;" f ln:873 class:WebActionMapper -rowCount cookiejar.cpp /^int CookieModel::rowCount(const QModelIndex &parent) const$/;" f ln:492 class:CookieModel -rowCount cookiejar.cpp /^int CookieExceptionsModel::rowCount(const QModelIndex &parent) const$/;" f ln:656 class:CookieExceptionsModel -rowCount downloadmanager.cpp /^int DownloadModel::rowCount(const QModelIndex &parent) const$/;" f ln:522 class:DownloadModel -rowCount history.cpp /^int HistoryModel::rowCount(const QModelIndex &parent) const$/;" f ln:468 class:HistoryModel -rowCount history.cpp /^int HistoryMenuModel::rowCount(const QModelIndex &parent) const$/;" f ln:519 class:HistoryMenuModel -rowCount history.cpp /^int HistoryFilterModel::rowCount(const QModelIndex &parent) const$/;" f ln:836 class:HistoryFilterModel -rowCount history.cpp /^int HistoryCompletionModel::rowCount(const QModelIndex &parent) const$/;" f ln:1008 class:HistoryCompletionModel -rowCount history.cpp /^int HistoryTreeModel::rowCount(const QModelIndex &parent) const$/;" f ln:1133 class:HistoryTreeModel -s_downloadManager browserapplication.cpp /^DownloadManager *BrowserApplication::s_downloadManager = 0;$/;" v ln:52 class:BrowserApplication -s_historyManager browserapplication.cpp /^HistoryManager *BrowserApplication::s_historyManager = 0;$/;" v ln:53 class:BrowserApplication -s_networkAccessManager browserapplication.cpp /^NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0;$/;" v ln:54 class:BrowserApplication -save browsermainwindow.cpp /^void BrowserMainWindow::save()$/;" f ln:138 class:BrowserMainWindow -save cookiejar.cpp /^void CookieJar::save()$/;" f ln:156 class:CookieJar -save downloadmanager.cpp /^void DownloadManager::save() const$/;" f ln:425 class:DownloadManager -save history.cpp /^void HistoryManager::save()$/;" f ln:296 class:HistoryManager -saveFileName downloadmanager.cpp /^QString DownloadItem::saveFileName(const QString &directory) const$/;" f ln:118 class:DownloadItem -saveIfNeccessary autosaver.cpp /^void AutoSaver::saveIfNeccessary()$/;" f ln:63 class:AutoSaver -saveSession browserapplication.cpp /^void BrowserApplication::saveSession()$/;" f ln:202 class:BrowserApplication -saveState browsermainwindow.cpp /^QByteArray BrowserMainWindow::saveState(bool withTabs) const$/;" f ln:154 class:BrowserMainWindow -saveState tabwidget.cpp /^QByteArray TabWidget::saveState() const$/;" f ln:771 class:TabWidget -saveToSettings settings.cpp /^void SettingsDialog::saveToSettings()$/;" f ln:182 class:SettingsDialog -searchNow searchbar.cpp /^void SearchBar::searchNow()$/;" f ln:45 class:SearchBar -selectTabAction tabwidget.cpp /^void TabBar::selectTabAction()$/;" f ln:56 class:TabBar -separatorRole modelmenu.cpp /^int ModelMenu::separatorRole() const$/;" f ln:114 class:ModelMenu -setAcceptPolicy cookiejar.cpp /^void CookieJar::setAcceptPolicy(AcceptPolicy policy)$/;" f ln:310 class:CookieJar -setAllowForSessionCookies cookiejar.cpp /^void CookieJar::setAllowForSessionCookies(const QStringList &list)$/;" f ln:392 class:CookieJar -setAllowedCookies cookiejar.cpp /^void CookieJar::setAllowedCookies(const QStringList &list)$/;" f ln:381 class:CookieJar -setBlockedCookies cookiejar.cpp /^void CookieJar::setBlockedCookies(const QStringList &list)$/;" f ln:370 class:CookieJar -setCookiesFromUrl cookiejar.cpp /^bool CookieJar::setCookiesFromUrl(const QList &cookieList, const QUrl &url)$/;" f ln:237 class:CookieJar -setFirstSeparator modelmenu.cpp /^void ModelMenu::setFirstSeparator(int offset)$/;" f ln:72 class:ModelMenu -setHistory history.cpp /^void HistoryManager::setHistory(const QList &history, bool loadedAndSorted)$/;" f ln:93 class:HistoryManager -setHistoryLimit history.cpp /^void HistoryManager::setHistoryLimit(int limit)$/;" f ln:198 class:HistoryManager -setHomeToCurrentPage settings.cpp /^void SettingsDialog::setHomeToCurrentPage()$/;" f ln:306 class:SettingsDialog -setHoverRole modelmenu.cpp /^void ModelMenu::setHoverRole(int role)$/;" f ln:96 class:ModelMenu -setInitialActions history.cpp /^void HistoryMenu::setInitialActions(QList actions)$/;" f ln:671 class:HistoryMenu -setKeepPolicy cookiejar.cpp /^void CookieJar::setKeepPolicy(KeepPolicy policy)$/;" f ln:331 class:CookieJar -setMaxRows modelmenu.cpp /^void ModelMenu::setMaxRows(int max)$/;" f ln:60 class:ModelMenu -setModel modelmenu.cpp /^void ModelMenu::setModel(QAbstractItemModel *model)$/;" f ln:48 class:ModelMenu -setProgress webview.cpp /^void WebView::setProgress(int progress)$/;" f ln:230 class:WebView -setRemovePolicy downloadmanager.cpp /^void DownloadManager::setRemovePolicy(RemovePolicy policy)$/;" f ln:417 class:DownloadManager -setRootIndex modelmenu.cpp /^void ModelMenu::setRootIndex(const QModelIndex &index)$/;" f ln:84 class:ModelMenu -setSeparatorRole modelmenu.cpp /^void ModelMenu::setSeparatorRole(int role)$/;" f ln:108 class:ModelMenu -setSourceModel history.cpp /^void HistoryFilterModel::setSourceModel(QAbstractItemModel *newSourceModel)$/;" f ln:790 class:HistoryFilterModel -setSourceModel history.cpp /^void HistoryCompletionModel::setSourceModel(QAbstractItemModel *newSourceModel)$/;" f ln:1051 class:HistoryCompletionModel -setSourceModel history.cpp /^void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel)$/;" f ln:1256 class:HistoryTreeModel -setStatusBarText webview.cpp /^void WebView::setStatusBarText(const QString &string)$/;" f ln:293 class:WebView -setWebView urlbar.cpp /^void UrlBar::setWebView(WebView *webView)$/;" f ln:69 class:UrlBar -setupMenu browsermainwindow.cpp /^void BrowserMainWindow::setupMenu()$/;" f ln:214 class:BrowserMainWindow -setupToolBar browsermainwindow.cpp /^void BrowserMainWindow::setupToolBar()$/;" f ln:373 class:BrowserMainWindow -showCookies settings.cpp /^void SettingsDialog::showCookies()$/;" f ln:267 class:SettingsDialog -showExceptions settings.cpp /^void SettingsDialog::showExceptions()$/;" f ln:274 class:SettingsDialog -showFindBar findbar.cpp /^void FindBar::showFindBar()$/;" f ln:77 class:FindBar -showHistoryDialog history.cpp /^void HistoryMenu::showHistoryDialog()$/;" f ln:663 class:HistoryMenu -sizeHint browsermainwindow.cpp /^QSize BrowserMainWindow::sizeHint() const$/;" f ln:129 class:BrowserMainWindow -slotAboutToShowBackMenu browsermainwindow.cpp /^void BrowserMainWindow::slotAboutToShowBackMenu()$/;" f ln:881 class:BrowserMainWindow -slotAboutToShowWindowMenu browsermainwindow.cpp /^void BrowserMainWindow::slotAboutToShowWindowMenu()$/;" f ln:902 class:BrowserMainWindow -slotAddBookmark browsermainwindow.cpp /^void BrowserMainWindow::slotAddBookmark()$/;" f ln:410 class:BrowserMainWindow -slotApply settings.cpp /^void SettingsDialog::slotApply()$/;" f ln:323 class:SettingsDialog -slotDownloadManager browsermainwindow.cpp /^void BrowserMainWindow::slotDownloadManager()$/;" f ln:508 class:BrowserMainWindow -slotFileNew browsermainwindow.cpp /^void BrowserMainWindow::slotFileNew()$/;" f ln:559 class:BrowserMainWindow -slotFileOpen browsermainwindow.cpp /^void BrowserMainWindow::slotFileOpen()$/;" f ln:569 class:BrowserMainWindow -slotFilePrint browsermainwindow.cpp /^void BrowserMainWindow::slotFilePrint()$/;" f ln:594 class:BrowserMainWindow -slotFilePrintPreview browsermainwindow.cpp /^void BrowserMainWindow::slotFilePrintPreview()$/;" f ln:583 class:BrowserMainWindow -slotFileSaveAs browsermainwindow.cpp /^void BrowserMainWindow::slotFileSaveAs()$/;" f ln:523 class:BrowserMainWindow -slotFind browsermainwindow.cpp /^void BrowserMainWindow::slotFind(const QString & search)$/;" f ln:675 class:BrowserMainWindow -slotFindNext browsermainwindow.cpp /^void BrowserMainWindow::slotFindNext()$/;" f ln:694 class:BrowserMainWindow -slotFindPrevious browsermainwindow.cpp /^void BrowserMainWindow::slotFindPrevious()$/;" f ln:702 class:BrowserMainWindow -slotHome browsermainwindow.cpp /^void BrowserMainWindow::slotHome()$/;" f ln:783 class:BrowserMainWindow -slotLoadProgress browsermainwindow.cpp /^void BrowserMainWindow::slotLoadProgress(int progress)$/;" f ln:858 class:BrowserMainWindow -slotOk settings.cpp /^void SettingsDialog::slotOk()$/;" f ln:317 class:SettingsDialog -slotOpenActionUrl browsermainwindow.cpp /^void BrowserMainWindow::slotOpenActionUrl(QAction *action)$/;" f ln:944 class:BrowserMainWindow -slotOpenNext browsermainwindow.cpp /^void BrowserMainWindow::slotOpenNext()$/;" f ln:970 class:BrowserMainWindow -slotOpenPrevious browsermainwindow.cpp /^void BrowserMainWindow::slotOpenPrevious()$/;" f ln:962 class:BrowserMainWindow -slotPreferences browsermainwindow.cpp /^void BrowserMainWindow::slotPreferences()$/;" f ln:531 class:BrowserMainWindow -slotPrivateBrowsing browsermainwindow.cpp /^void BrowserMainWindow::slotPrivateBrowsing()$/;" f ln:615 class:BrowserMainWindow -slotSelectLineEdit browsermainwindow.cpp /^void BrowserMainWindow::slotSelectLineEdit()$/;" f ln:515 class:BrowserMainWindow -slotShowWindow browsermainwindow.cpp /^void BrowserMainWindow::slotShowWindow()$/;" f ln:926 class:BrowserMainWindow -slotSwapFocus browsermainwindow.cpp /^void BrowserMainWindow::slotSwapFocus()$/;" f ln:822 class:BrowserMainWindow -slotToggleInspector browsermainwindow.cpp /^void BrowserMainWindow::slotToggleInspector(bool enable)$/;" f ln:803 class:BrowserMainWindow -slotUpdateStatusbar browsermainwindow.cpp /^void BrowserMainWindow::slotUpdateStatusbar(const QString &string)$/;" f ln:540 class:BrowserMainWindow -slotUpdateWindowTitle browsermainwindow.cpp /^void BrowserMainWindow::slotUpdateWindowTitle(const QString &title)$/;" f ln:548 class:BrowserMainWindow -slotViewFindBar browsermainwindow.cpp /^void BrowserMainWindow::slotViewFindBar()$/;" f ln:688 class:BrowserMainWindow -slotViewFullScreen browsermainwindow.cpp /^void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen)$/;" f ln:739 class:BrowserMainWindow -slotViewPageSource browsermainwindow.cpp /^void BrowserMainWindow::slotViewPageSource()$/;" f ln:768 class:BrowserMainWindow -slotViewStatusbar browsermainwindow.cpp /^void BrowserMainWindow::slotViewStatusbar()$/;" f ln:428 class:BrowserMainWindow -slotViewTextBigger browsermainwindow.cpp /^void BrowserMainWindow::slotViewTextBigger()$/;" f ln:711 class:BrowserMainWindow -slotViewTextNormal browsermainwindow.cpp /^void BrowserMainWindow::slotViewTextNormal()$/;" f ln:720 class:BrowserMainWindow -slotViewTextSmaller browsermainwindow.cpp /^void BrowserMainWindow::slotViewTextSmaller()$/;" f ln:729 class:BrowserMainWindow -slotWebSearch browsermainwindow.cpp /^void BrowserMainWindow::slotWebSearch()$/;" f ln:794 class:BrowserMainWindow -sourceDataChanged history.cpp /^void HistoryFilterModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)$/;" f ln:817 class:HistoryFilterModel -sourceDateRow history.cpp /^int HistoryTreeModel::sourceDateRow(int row) const$/;" f ln:1168 class:HistoryTreeModel -sourceReset history.cpp /^void HistoryFilterModel::sourceReset()$/;" f ln:829 class:HistoryFilterModel -sourceReset history.cpp /^void HistoryCompletionModel::sourceReset()$/;" f ln:1075 class:HistoryCompletionModel -sourceReset history.cpp /^void HistoryTreeModel::sourceReset()$/;" f ln:1282 class:HistoryTreeModel -sourceRowsInserted history.cpp /^void HistoryFilterModel::sourceRowsInserted(const QModelIndex &parent, int start, int end)$/;" f ln:922 class:HistoryFilterModel -sourceRowsInserted history.cpp /^void HistoryTreeModel::sourceRowsInserted(const QModelIndex &parent, int start, int end)$/;" f ln:1289 class:HistoryTreeModel -sourceRowsRemoved history.cpp /^void HistoryFilterModel::sourceRowsRemoved(const QModelIndex &, int start, int end)$/;" f ln:945 class:HistoryFilterModel -sourceRowsRemoved history.cpp /^void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, int end)$/;" f ln:1330 class:HistoryTreeModel -sslErrors networkaccessmanager.cpp /^void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList &error)$/;" f ln:133 class:NetworkAccessManager -stop downloadmanager.cpp /^void DownloadItem::stop()$/;" f ln:142 class:DownloadItem -tabWidget browsermainwindow.cpp /^TabWidget *BrowserMainWindow::tabWidget() const$/;" f ln:845 class:BrowserMainWindow -textChanged cookiejar.cpp /^void CookiesExceptionsDialog::textChanged(const QString &text)$/;" f ln:749 class:CookiesExceptionsDialog -timerEvent autosaver.cpp /^void AutoSaver::timerEvent(QTimerEvent *event)$/;" f ln:54 class:AutoSaver -triggered modelmenu.cpp /^void ModelMenu::triggered(QAction *action)$/;" f ln:203 class:ModelMenu -tryAgain downloadmanager.cpp /^void DownloadItem::tryAgain()$/;" f ln:160 class:DownloadItem -updateCurrent tabwidget.cpp /^void WebActionMapper::updateCurrent(QWebPage *currentParent)$/;" f ln:898 class:WebActionMapper -updateHistoryItem history.cpp /^void HistoryManager::updateHistoryItem(const KUrl &url, const QString &title)$/;" f ln:175 class:HistoryManager -updateInfoLabel downloadmanager.cpp /^void DownloadItem::updateInfoLabel()$/;" f ln:229 class:DownloadItem -updateItemCount downloadmanager.cpp /^void DownloadManager::updateItemCount()$/;" f ln:500 class:DownloadManager -updateRow downloadmanager.cpp /^void DownloadManager::updateRow()$/;" f ln:382 class:DownloadManager -updateStatusbarActionText browsermainwindow.cpp /^void BrowserMainWindow::updateStatusbarActionText(bool visible)$/;" f ln:420 class:BrowserMainWindow -url webview.cpp /^KUrl WebView::url() const$/;" f ln:260 class:WebView -webAction tabwidget.cpp /^QWebPage::WebAction WebActionMapper::webAction() const$/;" f ln:867 class:WebActionMapper -webView tabwidget.cpp /^WebView *TabWidget::webView(int index) const$/;" f ln:426 class:TabWidget -webViewIconChanged tabwidget.cpp /^void TabWidget::webViewIconChanged()$/;" f ln:642 class:TabWidget -webViewIconChanged urlbar.cpp /^void UrlBar::webViewIconChanged()$/;" f ln:88 class:UrlBar -webViewIndex tabwidget.cpp /^int TabWidget::webViewIndex(WebView *webView) const$/;" f ln:450 class:TabWidget -webViewLoadStarted tabwidget.cpp /^void TabWidget::webViewLoadStarted()$/;" f ln:631 class:TabWidget -webViewTitleChanged tabwidget.cpp /^void TabWidget::webViewTitleChanged(const QString &title)$/;" f ln:654 class:TabWidget -webViewUrlChanged tabwidget.cpp /^void TabWidget::webViewUrlChanged(const QUrl &url)$/;" f ln:667 class:TabWidget -webViewUrlChanged urlbar.cpp /^void UrlBar::webViewUrlChanged(const QUrl &url)$/;" f ln:81 class:UrlBar -wheelEvent webview.cpp /^void WebView::wheelEvent(QWheelEvent *event)$/;" f ln:209 class:WebView -windowCloseRequested tabwidget.cpp /^void TabWidget::windowCloseRequested()$/;" f ln:549 class:TabWidget diff --git a/src/urlbar.cpp b/src/urlbar.cpp index bd84b6d5..5ddb26aa 100644 --- a/src/urlbar.cpp +++ b/src/urlbar.cpp @@ -22,7 +22,7 @@ #include "urlbar.moc" #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" UrlBar::UrlBar(QWidget *parent) diff --git a/src/webview.cpp b/src/webview.cpp index edae86eb..e17a961a 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -20,7 +20,7 @@ #include "browserapplication.h" -#include "browsermainwindow.h" +#include "mainwindow.h" #include "cookiejar.h" #include "downloadmanager.h" #include "networkaccessmanager.h" @@ -48,12 +48,12 @@ WebPage::WebPage(QObject *parent) } -BrowserMainWindow *WebPage::mainWindow() +MainWindow *WebPage::mainWindow() { QObject *w = this->parent(); while (w) { - if (BrowserMainWindow *mw = qobject_cast(w)) + if (MainWindow *mw = qobject_cast(w)) return mw; w = w->parent(); } @@ -73,7 +73,7 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r if (newWindow) { BrowserApplication::instance()->newMainWindow(); - BrowserMainWindow *newMainWindow = BrowserApplication::instance()->mainWindow(); + MainWindow *newMainWindow = BrowserApplication::instance()->mainWindow(); webView = newMainWindow->currentTab(); newMainWindow->raise(); newMainWindow->activateWindow(); @@ -108,7 +108,7 @@ QWebPage *WebPage::createWindow(QWebPage::WebWindowType type) return mainWindow()->tabWidget()->newTab()->page(); } BrowserApplication::instance()->newMainWindow(); - BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); + MainWindow *mainWindow = BrowserApplication::instance()->mainWindow(); return mainWindow->currentTab()->page(); } diff --git a/src/webview.h b/src/webview.h index aa8efb81..6710aac4 100644 --- a/src/webview.h +++ b/src/webview.h @@ -33,7 +33,7 @@ class QNetworkReply; class QSslError; QT_END_NAMESPACE -class BrowserMainWindow; +class MainWindow; class WebPage : public QWebPage @@ -45,7 +45,7 @@ signals: public: WebPage(QObject *parent = 0); - BrowserMainWindow *mainWindow(); + MainWindow *mainWindow(); protected: bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type); -- cgit v1.2.1 From 9e7f74269e25062a33af0a2603bf258cd4b228e2 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Mon, 29 Dec 2008 01:52:07 +0100 Subject: Ported from KMainWindow to KXmlGuiWindow. Yeah! .. --- src/CMakeLists.txt | 9 +- src/Messages.sh | 4 + src/history.cpp | 2 +- src/history.h | 7 +- src/main.cpp | 43 +++-- src/mainwindow.cpp | 481 +++++++++++++++++++---------------------------------- src/mainwindow.h | 46 ++--- src/modelmenu.cpp | 2 +- src/modelmenu.h | 3 +- src/rekonqui.rc | 77 +++++++++ src/tabwidget.cpp | 2 +- 11 files changed, 298 insertions(+), 378 deletions(-) create mode 100644 src/Messages.sh create mode 100644 src/rekonqui.rc (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 51790586..938c98cd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,7 @@ SET( rekonq_SRCS autosaver.cpp browserapplication.cpp mainwindow.cpp +# rekonqview.cpp cookiejar.cpp downloadmanager.cpp edittableview.cpp @@ -46,8 +47,12 @@ TARGET_LINK_LIBRARIES( rekonq ${QT_QTWEBKIT_LIBRARY} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} - ${QT_QTUITOOLS_LIBRARY} +# ${QT_QTUITOOLS_LIBRARY} ) INSTALL( TARGETS rekonq ${INSTALL_TARGETS_DEFAULT_ARGS} ) -# install(FILES kekonq.rc DESTINATION ${DATA_INSTALL_DIR}/rekonq) + +########### install files ############### + +#INSTALL( FILES rekonq.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) +INSTALL( FILES rekonqui.rc DESTINATION ${DATA_INSTALL_DIR}/rekonq ) diff --git a/src/Messages.sh b/src/Messages.sh new file mode 100644 index 00000000..7edde0a1 --- /dev/null +++ b/src/Messages.sh @@ -0,0 +1,4 @@ +#! /usr/bin/env bash +$EXTRACTRC `find . -name \*.rc` >> rc.cpp +$XGETTEXT *.cpp -o $podir/rekonq.pot +rm -f *.cpp \ No newline at end of file diff --git a/src/history.cpp b/src/history.cpp index 36a710b1..12a9d57f 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -668,7 +668,7 @@ void HistoryMenu::showHistoryDialog() } -void HistoryMenu::setInitialActions(QList actions) +void HistoryMenu::setInitialActions(QList actions) { m_initialActions = actions; for (int i = 0; i < m_initialActions.count(); ++i) diff --git a/src/history.h b/src/history.h index acd27192..4fac8cd6 100644 --- a/src/history.h +++ b/src/history.h @@ -38,6 +38,9 @@ #include +/** + * Elements in this class represent an history item + */ class HistoryItem { public: @@ -242,7 +245,7 @@ signals: public: HistoryMenu(QWidget *parent = 0); - void setInitialActions(QList actions); + void setInitialActions(QList actions); protected: bool prePopulated(); @@ -255,7 +258,7 @@ private slots: private: HistoryManager *m_history; HistoryMenuModel *m_historyMenuModel; - QList m_initialActions; + QList m_initialActions; }; diff --git a/src/main.cpp b/src/main.cpp index 7963405d..fb9bf3de 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -24,33 +24,32 @@ #include #include +static const char description[] = + I18N_NOOP("KDE Browser Webkit Based"); + +static const char version[] = "0.0.2"; -// really simple writing main files today.. int main(int argc, char **argv) { - KAboutData aboutData( - "rekonq", - 0, - ki18n("rekonq"), - "0.0.1", - ki18n("A KDE browser webkit based"), - KAboutData::License_GPL, - ki18n("Copyright (c) 2008 Andrea Diamantini"), - KLocalizedString(), - "http://www.adjam.org", - "adjam7@gmail.com" // bug report mail - ); + KAboutData about( "rekonq", + 0, + ki18n("rekonq"), + version, + ki18n(description), + KAboutData::License_GPL, + ki18n("(C) 2008 Andrea Diamantini"), + KLocalizedString(), + "http://www.adjam.org", + "adjam7@gmail.com" + ); + + about.addAuthor( ki18n("Andrea Diamantini"), + KLocalizedString(), + "adjam7@gmail.com" + ); - aboutData.addAuthor( - ki18n("Andrea Diamantini"), - ki18n("rekonq author"), - "adjam7@gmail.com" - ); - - aboutData.setProgramIconName("applications-internet"); + KCmdLineArgs::init(argc, argv, &about); - KCmdLineArgs::init( argc, argv, &aboutData ); - KCmdLineOptions options; options.add( "+URL" , ki18n("Location to open") ); KCmdLineArgs::addCmdLineOptions( options ); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b57f5379..eb0543e9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -19,9 +19,10 @@  * ============================================================ */ -// Local Includes +// Self Includes #include "mainwindow.h" -#include "autosaver.h" + +// Local Includes #include "browserapplication.h" #include "downloadmanager.h" #include "history.h" @@ -54,365 +55,209 @@ #include -MainWindow::MainWindow(QWidget *parent, Qt::WindowFlags flags) - : KMainWindow(parent, flags) - , m_tabWidget(new TabWidget(this)) - , m_autoSaver(new AutoSaver(this)) - , m_historyBack(0) - , m_historyForward(0) - , m_stop(0) - , m_reload(0) +MainWindow::MainWindow() + : KXmlGuiWindow() + , m_tabWidget( new TabWidget(this) ) { - // delete widget accepting close event - setAttribute(Qt::WA_DeleteOnClose, true); - - setupMenu(); - setupToolBar(); + // accept dnd + setAcceptDrops(true); - QWidget *centralWidget = new QWidget(this); + m_tabWidget->newTab(); - QVBoxLayout *layout = new QVBoxLayout; - layout->setSpacing(0); - layout->setMargin(0); - addToolBarBreak(); - layout->addWidget(m_tabWidget); + // tell the KXmlGuiWindow that this is indeed the main widget + setCentralWidget(m_tabWidget); // Find Bar m_findBar = new FindBar(this); connect( m_findBar, SIGNAL( searchString(const QString &) ), this, SLOT( slotFind(const QString &) ) ); - 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( 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_navigationBar, SLOT( setVisible(bool) ) ); connect(m_tabWidget, SIGNAL( lastTabClosed() ), m_tabWidget, SLOT(newTab() ) ); slotUpdateWindowTitle(); - loadDefaultState(); - m_tabWidget->newTab(); -} +// -------------------------------------------------------------------------------------------------------------------------------- -MainWindow::~MainWindow() -{ - m_autoSaver->changeOccurred(); - m_autoSaver->saveIfNeccessary(); - delete m_navigationBar; -} + // then, setup our actions + setupActions(); + // add a status bar + statusBar()->show(); -void MainWindow::loadDefaultState() -{ - KConfig config("rekonqrc"); - KConfigGroup group1 = config.group("MainWindow"); - QByteArray data = group1.readEntry(QString("defaultState"), QByteArray() ); - restoreState(data); -} + // a call to KXmlGuiWindow::setupGUI() populates the GUI + // with actions, using KXMLGUI. + // It also applies the saved mainwindow settings, if any, and ask the + // mainwindow to automatically save settings if changed: window size, + // toolbar position, icon size, etc. + setupGUI(); + // setup history & bookmarks menus + setupCustomMenu(); -void MainWindow::save() -{ - BrowserApplication::instance()->saveSession(); - - KConfig config("rekonqrc"); - KConfigGroup group1 = config.group("MainWindow"); - QByteArray data = saveState(); - group1.writeEntry( QString("defaultState"), data ); - - KConfigGroup group2 = config.group("navigation toobar"); - m_navigationBar->saveSettings( group2 ); -} - - -static const qint32 MainWindowMagic = 0xba; + // setting up custom widgets.. + KToolBar *navigationBar = toolBar( "mainToolBar" ); + navigationBar->addWidget( m_tabWidget->lineEditStack() ); + m_searchBar = new SearchBar( this ); + connect(m_searchBar, SIGNAL(search(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); + navigationBar->addWidget(m_searchBar); -QByteArray MainWindow::saveState() const -{ - int version = 2; - QByteArray data; - QDataStream stream(&data, QIODevice::WriteOnly); - - stream << qint32(MainWindowMagic); - stream << qint32(version); - - stream << size(); - stream << KToolBar::toolBarsLocked(); - bool b = true; // statusBar()->isVisible() ; FIXME - stream << b; - stream << QByteArray(); - return data; } - -void MainWindow::restoreState(const QByteArray &state) +MainWindow::~MainWindow() { - int version = 2; - QByteArray sd = state; - QDataStream stream(&sd, QIODevice::ReadOnly); - if ( stream.atEnd() ) - { - return; - } - - qint32 marker; - qint32 v; - stream >> marker; - stream >> v; - if (marker != MainWindowMagic || v != version) - { - return; - } - - QSize size; - bool showStatusbar; - bool toolbarsLocked; - QByteArray tabState; - - stream >> size; - stream >> toolbarsLocked; - stream >> showStatusbar; - - resize(size); - statusBar()->setVisible(showStatusbar); - updateStatusbarActionText(showStatusbar); - - KToolBar::setToolBarsLocked ( toolbarsLocked ); - return; } -void MainWindow::setupMenu() +void MainWindow::setupActions() { - // ------------------------------------------------------------- FILE -------------------------------------------------------------------------------------------------- - KMenu *fileMenu = (KMenu *) menuBar()->addMenu( i18n("&File") ); - - fileMenu->addAction( KStandardAction::openNew(this, SLOT( slotFileNew() ) , this ) ); - fileMenu->addAction( KStandardAction::open( this, SLOT( slotFileOpen() ), this ) ); - fileMenu->addAction( i18n("Open Location"), this, SLOT( slotSelectLineEdit() ) ); - fileMenu->addSeparator(); - - fileMenu->addAction( m_tabWidget->newTabAction() ); - fileMenu->addAction( m_tabWidget->closeTabAction() ); - fileMenu->addSeparator(); + KAction *a; - fileMenu->addAction( KStandardAction::saveAs( this, SLOT( slotFileSaveAs() ), this ) ); - fileMenu->addSeparator(); + // Standard Actions + KStandardAction::openNew(this, SLOT( slotFileNew() ) , actionCollection() ); + KStandardAction::open( this, SLOT( slotFileOpen() ), actionCollection() ); + KStandardAction::saveAs( this, SLOT( slotFileSaveAs() ), actionCollection() ); + 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::findNext(this, SLOT( slotFindNext() ) , actionCollection() ); + KStandardAction::findPrev(this, SLOT( slotFindPrevious() ) , actionCollection() ); + KStandardAction::fullScreen( this, SLOT( slotViewFullScreen(bool) ), this, actionCollection() ); + KStandardAction::home( this, SLOT( slotHome() ), actionCollection() ); - fileMenu->addAction( KStandardAction::printPreview( this, SLOT( slotFilePrintPreview() ), this ) ); - fileMenu->addAction( KStandardAction::print( this, SLOT(slotFilePrint()), this) ); - fileMenu->addSeparator(); + a = KStandardAction::redisplay( this, 0, actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Reload ); - KAction *action = (KAction *) fileMenu->addAction( i18n("Private &Browsing..."), this, SLOT( slotPrivateBrowsing() ) ); - action->setCheckable(true); - fileMenu->addSeparator(); + a = KStandardAction::back( this, 0, actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Back ); - fileMenu->addAction( KStandardAction::quit( this , SLOT( close() ), this ) ); + a = KStandardAction::forward( this, 0, actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Forward ); - // ------------------------------------------------------------- EDIT -------------------------------------------------------------------------------------------------- - KMenu *editMenu = (KMenu *) menuBar()->addMenu( i18n("&Edit") ); + a = KStandardAction::undo( this , 0 , actionCollection() ); + m_tabWidget->addWebAction( a , QWebPage::Undo ); - KAction *m_undo = KStandardAction::undo( this , 0 , this ); - editMenu->addAction( m_undo ); - m_tabWidget->addWebAction(m_undo, QWebPage::Undo); + a = KStandardAction::redo( this , 0 , actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Redo ); - KAction *m_redo = KStandardAction::redo( this , 0 , this ); - editMenu->addAction( m_redo ); - m_tabWidget->addWebAction(m_redo, QWebPage::Redo); + a = KStandardAction::cut( this , 0 , actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Cut ); - editMenu->addSeparator(); + a = KStandardAction::copy( this , 0 , actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Copy ); - KAction *m_cut = KStandardAction::cut( this , 0 , this ); - editMenu->addAction( m_cut ); - m_tabWidget->addWebAction(m_cut, QWebPage::Cut); + a = KStandardAction::paste( this , 0 , actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::Paste ); - KAction *m_copy = KStandardAction::copy( this , 0 , this ); - editMenu->addAction( m_copy ); - m_tabWidget->addWebAction(m_copy, QWebPage::Copy); + a = KStandardAction::selectAll( this , 0 , actionCollection() ); + m_tabWidget->addWebAction( a, QWebPage::SelectEndOfDocument ); - KAction *m_paste = KStandardAction::paste( this , 0 , this ); - editMenu->addAction( m_paste ); - m_tabWidget->addWebAction(m_paste, QWebPage::Paste); + // stop reload Action + m_stopReload = new KAction( KIcon("view-refresh"), i18n("reload"), this ); + actionCollection()->addAction( QLatin1String("stop reload") , m_stopReload ); - editMenu->addSeparator(); + // Custom Actions + a = new KAction ( KIcon( "process-stop" ), i18n("&Stop"), this ); + a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Period) ); + actionCollection()->addAction( QLatin1String("stop"), a ); + m_tabWidget->addWebAction( a, QWebPage::Stop); + + a = new KAction( KIcon(), i18n("Open Location"), this); + actionCollection()->addAction( QLatin1String("open location"), a ); + connect( a, SIGNAL( triggered(bool) ) , this, SLOT( slotOpenLocation() ) ); - KAction *m_selectall = KStandardAction::selectAll( this , 0 , this ); - editMenu->addAction( m_selectall ); - m_tabWidget->addWebAction(m_selectall, QWebPage::SelectEndOfDocument ); + actionCollection()->addAction( QLatin1String("new tab"), m_tabWidget->newTabAction() ); + actionCollection()->addAction( QLatin1String("close tab"), m_tabWidget->closeTabAction() ); - editMenu->addSeparator(); + a = new KAction( i18n("Private &Browsing..."), this ); + a->setCheckable(true); + actionCollection()->addAction( i18n("private browsing"), a ); + connect( a, SIGNAL( triggered(bool) ) , this, SLOT( slotPrivateBrowsing() ) ); - editMenu->addAction( KStandardAction::find(this, SLOT( slotViewFindBar() ) , this ) ); - editMenu->addAction( KStandardAction::findNext(this, SLOT( slotFindNext() ) , this ) ); - editMenu->addAction( KStandardAction::findPrev(this, SLOT( slotFindPrevious() ) , this ) ); + a = new KAction( i18n("&Bigger"), this ); + a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Plus) ); + actionCollection()->addAction( QLatin1String("bigger font"), a ); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewTextBigger() ) ); - // ------------------------------------------------------------- VIEW ------------------------------------------------------------------------------------------------- - KMenu *viewMenu = (KMenu *) menuBar()->addMenu( i18n("&View") ); + a = new KAction( i18n("&Normal"), this ); + a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_0) ); + actionCollection()->addAction( QLatin1String("normal font"), a ); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewTextNormal() ) ); - m_viewStatusbar = KStandardAction::showStatusbar( this, SLOT(slotViewStatusbar() ), this); - viewMenu->addAction(m_viewStatusbar); + a = new KAction( i18n("&Smaller"), this ); + a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Minus) ); + actionCollection()->addAction( QLatin1String("smaller font"), a ); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewTextSmaller() ) ); - viewMenu->addSeparator(); + a = new KAction( i18n("Page S&ource"), this ); + actionCollection()->addAction( QLatin1String("page source"), a ); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewPageSource() ) ); - m_stop = (KAction *) viewMenu->addAction( KIcon( "process-stop" ), i18n("&Stop") ); - m_stop->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Period) ); - m_tabWidget->addWebAction(m_stop, QWebPage::Stop); + a = new KAction( KIcon( "kget" ), i18n("Downloads"), this ); + actionCollection()->addAction( QLatin1String("downloads"), a); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotDownloadManager() ) ); - m_reload = (KAction *) viewMenu->addAction( KIcon("view-refresh"), i18n("Reload Page") ); - m_reload->setShortcut(QKeySequence::Refresh); - m_tabWidget->addWebAction(m_reload, QWebPage::Reload); + a = new KAction( KIcon("page-zoom"), i18n("Enable Web &Inspector"), this ); + a->setCheckable(true); + actionCollection()->addAction( QLatin1String("web inspector"), a ); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotToggleInspector(bool) ) ); - viewMenu->addSeparator(); + // =================================================================================================================== + // =================================================================================================================== + // FIXME - KMenu *fontMenu = new KMenu( i18n("Make Text..."), this ); - fontMenu->addAction( i18n("&Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); - fontMenu->addAction( i18n("&Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); - fontMenu->addAction( i18n("&Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); - - viewMenu->addMenu( fontMenu ); - - viewMenu->addSeparator(); - - // TODO set encoding + KAction *historyBack = new KAction( KIcon("go-previous"), i18n("Back"), this); + m_historyBackMenu = new KMenu(this); + historyBack->setMenu(m_historyBackMenu); + connect(historyBack, SIGNAL( triggered( bool ) ), this, SLOT( slotOpenPrevious() ) ); + connect(m_historyBackMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShowBackMenu())); + connect(m_historyBackMenu, SIGNAL(triggered(QAction *)), this, SLOT(slotOpenActionUrl(QAction *))); + actionCollection()->addAction( QLatin1String("history back"), historyBack); - viewMenu->addAction( i18n("Page S&ource"), this, SLOT( slotViewPageSource() ), i18n("Ctrl+Alt+U")); + KAction *historyForward = new KAction( KIcon("go-next"), i18n("Forward"), this ); + connect(historyForward, SIGNAL( triggered( bool ) ), this, SLOT( slotOpenNext() ) ); + actionCollection()->addAction( QLatin1String("history forward"), m_historyForward ); +} - KToggleFullScreenAction *tfsa = KStandardAction::fullScreen( this, SLOT( slotViewFullScreen(bool) ), this, this); - viewMenu->addAction( tfsa ); - // ------------------------------------------------------------- HISTORY -------------------------------------------------------------------------------------------------- +void MainWindow::setupCustomMenu() +{ + // ------------------------------------------------------------- HISTORY MENU-------------------------------------------------------------------------------------------------- HistoryMenu *historyMenu = new HistoryMenu(this); connect(historyMenu, SIGNAL(openUrl(const KUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const KUrl&))); connect(historyMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); historyMenu->setTitle( i18n("Hi&story") ); menuBar()->addMenu(historyMenu); - QList historyActions; - - m_historyBack = new KAction( i18n("Back"), this); - m_historyBack->setShortcut( KShortcut( QKeySequence::Back ) ); - m_tabWidget->addWebAction( m_historyBack, QWebPage::Back ); - m_historyBack->setIconVisibleInMenu(false); - - m_historyForward = new KAction( i18n("Forward"), this); - m_historyForward->setShortcut( KShortcut( QKeySequence::Forward ) ); - m_tabWidget->addWebAction( m_historyForward, QWebPage::Forward ); - m_historyForward->setIconVisibleInMenu(false); + QList historyActions; - historyActions.append( m_historyBack ); - historyActions.append( m_historyForward ); - historyActions.append( KStandardAction::home(this, SLOT( slotHome() ) , this ) ); + historyActions.append( actionCollection()->action("Back") ); + historyActions.append( actionCollection()->action("Forward") ); + historyActions.append( actionCollection()->action("Home") ); historyActions.append( m_tabWidget->recentlyClosedTabsAction() ); historyMenu->setInitialActions(historyActions); + // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - - - // ------------------------------------------------------------- BOOKMARKS -------------------------------------------------------------------------------------------------- - + // --------------------------------------------- BOOKMARKS MENU ----------------------------------------------------------------------------------------------------- BookmarksMenu *bookmarksMenu = new BookmarksMenu( this ); bookmarksMenu->setTitle( i18n("&Bookmarks") ); - menuBar()->addMenu( bookmarksMenu ); - - // ------------------------------------------------------------- TOOLS ------------------------------------------------------------------------------------------------------ - KMenu* toolsMenu = (KMenu *) menuBar()->addMenu( i18n("&Tools") ); - - toolsMenu->addAction( i18n("Downloads"), this, SLOT( slotDownloadManager() ), i18n("Alt+Ctrl+D") ); - - toolsMenu->addSeparator(); - - action = (KAction *) toolsMenu->addAction( i18n("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); - action->setCheckable(true); - - // ------------------------------------------------------------- SETTINGS ------------------------------------------------------------------------------------------------------ - KMenu *settingsMenu = (KMenu *) menuBar()->addMenu( i18n("&Settings") ); - - settingsMenu->addAction( KStandardAction::keyBindings( this, SLOT( configureShortcuts() ), this ) ); //FIXME need new slot and actionCollection !! - settingsMenu->addAction( KStandardAction::preferences(this, SLOT( slotPreferences() ) , this ) ); - - // ------------------------------------------------------------- HELP -------------------------------------------------------------------------------------------------- - menuBar()->addMenu( helpMenu() ); -} - - -void MainWindow::setupToolBar() -{ - m_navigationBar = new KToolBar( i18n("Navigation") , this, Qt::TopToolBarArea, false, false, true); - - m_historyBack = new KAction( KIcon("go-previous"), i18n("Back"), this); - m_historyBackMenu = new KMenu(this); - m_historyBack->setMenu(m_historyBackMenu); - connect(m_historyBack, SIGNAL( triggered() ), this, SLOT( slotOpenPrevious() ) ); - 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 = new KAction( KIcon("go-next"), i18n("Forward"), this ); - connect(m_historyForward, SIGNAL( triggered() ), this, SLOT( slotOpenNext() ) ); - m_navigationBar->addAction(m_historyForward); - - m_stopReload = new KAction( KIcon("view-refresh"), i18n("Reload"), this); - m_navigationBar->addAction(m_stopReload); - - m_goHome = new KAction( KIcon( "go-home" ), i18n("Home"),this); - m_navigationBar->addAction(m_goHome); - connect(m_goHome, SIGNAL(triggered()), this, SLOT(slotHome())); - - m_navigationBar->addWidget( m_tabWidget->lineEditStack() ); - - m_searchBar = new SearchBar( m_navigationBar ); - connect(m_searchBar, SIGNAL(search(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); - m_navigationBar->addWidget(m_searchBar); - - // UI settings - setContextMenuPolicy( Qt::PreventContextMenu ); - - // setting initial style (if user hasn't decided something else) - m_navigationBar->setIconDimensions(22); - m_navigationBar->setToolButtonStyle( Qt::ToolButtonIconOnly ); - - KConfig config("rekonqrc"); - KConfigGroup group = config.group("navigation toobar"); - if ( group.exists() ) - { - m_navigationBar->applySettings( group ); - } -} - - -void MainWindow::updateStatusbarActionText(bool visible) -{ - m_viewStatusbar->setText(!visible ? i18n("Show Status Bar") : i18n("Hide Status Bar")); -} - - -void MainWindow::slotViewStatusbar() -{ - if (statusBar()->isVisible()) - { - updateStatusbarActionText(false); - statusBar()->close(); - } - else - { - updateStatusbarActionText(true); - statusBar()->show(); - } - m_autoSaver->changeOccurred(); + menuBar()->addMenu(bookmarksMenu ); + // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ } - KUrl MainWindow::guessUrlFromString(const QString &string) { QString urlStr = string.trimmed(); @@ -480,7 +325,7 @@ void MainWindow::slotDownloadManager() } -void MainWindow::slotSelectLineEdit() +void MainWindow::slotOpenLocation() { m_tabWidget->currentLineEdit()->selectAll(); m_tabWidget->currentLineEdit()->setFocus(); @@ -607,22 +452,22 @@ void MainWindow::slotPrivateBrowsing() } -void MainWindow::closeEvent(QCloseEvent *event) -{ - if (m_tabWidget->count() > 1) - { - int ret = KMessageBox::warningYesNo(this, - i18n("Are you sure you want to close the window?" " There are %1 tab open" , m_tabWidget->count() ) , - i18n("Closing") ); - if (ret == KMessageBox::No) - { - event->ignore(); - return; - } - } - event->accept(); - deleteLater(); -} +// void MainWindow::closeEvent(QCloseEvent *event) +// { +// if (m_tabWidget->count() > 1) +// { +// int ret = KMessageBox::warningYesNo(this, +// i18n("Are you sure you want to close the window?" " There are %1 tab open" , m_tabWidget->count() ) , +// i18n("Closing") ); +// if (ret == KMessageBox::No) +// { +// event->ignore(); +// return; +// } +// } +// event->accept(); +// deleteLater(); +// } void MainWindow::slotFind(const QString & search) @@ -685,7 +530,7 @@ void MainWindow::slotViewTextSmaller() // TODO improve this -void MainWindow::slotViewFullScreen(bool makeFullScreen) +void MainWindow::slotViewFullScreen( bool makeFullScreen ) { KToggleFullScreenAction::setFullScreen( this, makeFullScreen ); } @@ -733,10 +578,14 @@ void MainWindow::slotToggleInspector(bool enable) void MainWindow::slotSwapFocus() { - if (currentTab()->hasFocus()) + if ( currentTab()->hasFocus() ) + { m_tabWidget->currentLineEdit()->setFocus(); + } else + { currentTab()->setFocus(); + } } @@ -764,23 +613,29 @@ WebView *MainWindow::currentTab() const } +// FIXME: this actually doesn't work properly.. void MainWindow::slotLoadProgress(int progress) { if (progress < 100 && progress > 0) { - disconnect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); - if (m_stopIcon.isNull()) - m_stopIcon = KIcon( "process-stop" ); - m_stopReload->setIcon(m_stopIcon); - connect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); +// disconnect(m_stopReload, SIGNAL( triggered( bool ) ), m_reload, SLOT( trigger() ) ); +// m_stopReload->setIcon( KIcon( "process-stop" ) ); +// connect(m_stopReload, SIGNAL( triggered( bool ) ), m_stop, SLOT( trigger() ) ); + + disconnect( m_stopReload, SIGNAL( triggered( bool ) ), actionCollection()->action( "redisplay" ) , SIGNAL( triggered() ) ); + m_stopReload->setIcon( KIcon( "process-stop" ) ); + connect(m_stopReload, SIGNAL( triggered(bool ) ), actionCollection()->action( "stop" ), SLOT( triggered() ) ); m_stopReload->setToolTip( i18n("Stop loading the current page") ); } else { - disconnect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger())); - m_stopReload->setIcon( KIcon("view-refresh") ); - connect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger())); - m_stopReload->setToolTip( i18n("Reload the current page") ); +// disconnect(m_stopReload, SIGNAL( triggered( bool ) ), m_stop, SLOT( trigger() ) ); +// m_stopReload->setIcon( KIcon("view-refresh") ); +// connect(m_stopReload, SIGNAL( triggered( bool ) ), m_reload, SLOT( trigger() ) ); + disconnect( m_stopReload, SIGNAL( triggered( bool ) ), actionCollection()->action( "stop" ) , SIGNAL( triggered( ) ) ); + m_stopReload->setIcon( KIcon( "view-refresh" ) ); + connect(m_stopReload, SIGNAL( triggered( bool ) ), actionCollection()->action( "redisplay" ), SLOT( triggered() ) ); + m_stopReload->setToolTip( i18n("Reload the current page") ); } } diff --git a/src/mainwindow.h b/src/mainwindow.h index 6f78fd59..aa8e3d65 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -28,7 +28,7 @@ // KDE Includes #include -#include +#include #include #include #include @@ -36,7 +36,6 @@ #include -class AutoSaver; class QWebFrame; class TabWidget; class WebView; @@ -45,21 +44,21 @@ class WebView; The MainWindow of the Browser Application. Handles the tab widget and all the actions */ -class MainWindow : public KMainWindow +class MainWindow : public KXmlGuiWindow { Q_OBJECT public: - MainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0); + MainWindow(); ~MainWindow(); static KUrl guessUrlFromString(const QString &url); TabWidget *tabWidget() const; WebView *currentTab() const; - - QByteArray saveState() const; - void restoreState(const QByteArray &state); +private: + void setupActions(); + void setupCustomMenu(); public slots: void loadPage(const QString &url); @@ -68,12 +67,7 @@ public slots: void slotFindNext(); void slotFindPrevious(); -protected: - void closeEvent(QCloseEvent *event); - private slots: - void save(); - void slotLoadProgress(int); void slotUpdateStatusbar(const QString &string); void slotUpdateWindowTitle(const QString &title = QString()); @@ -91,14 +85,13 @@ private slots: void slotViewTextBigger(); void slotViewTextNormal(); void slotViewTextSmaller(); - void slotViewStatusbar(); void slotViewPageSource(); void slotViewFullScreen(bool enable); void slotViewFindBar(); void slotToggleInspector(bool enable); void slotDownloadManager(); - void slotSelectLineEdit(); + void slotOpenLocation(); void slotAboutToShowBackMenu(); @@ -113,36 +106,19 @@ private slots: void printRequested(QWebFrame *frame); void geometryChangeRequested(const QRect &geometry); -private: - void loadDefaultState(); - void setupMenu(); - void setupToolBar(); - void updateStatusbarActionText(bool visible); private: - - KToolBar *m_navigationBar; SearchBar *m_searchBar; - TabWidget *m_tabWidget; - AutoSaver *m_autoSaver; + FindBar *m_findBar; - KAction *m_historyBack; KMenu *m_historyBackMenu; - KAction *m_historyForward; KMenu *m_windowMenu; - KAction *m_stop; - KAction *m_reload; - KAction *m_stopReload; - KAction *m_goHome; - KToggleAction *m_viewStatusbar; - KAction *m_restoreLastSession; - - KIcon m_reloadIcon; - KIcon m_stopIcon; + QAction *m_stopReload; - FindBar *m_findBar; QString m_lastSearch; + + TabWidget *m_tabWidget; }; #endif // MAINWINDOW_H diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index f2cd0189..965ef0a4 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -22,7 +22,7 @@ ModelMenu::ModelMenu(QWidget * parent) - : QMenu(parent) + : KMenu(parent) , m_maxRows(7) , m_firstSeparator(-1) , m_maxWidth(-1) diff --git a/src/modelmenu.h b/src/modelmenu.h index fe08e673..16c413af 100644 --- a/src/modelmenu.h +++ b/src/modelmenu.h @@ -29,9 +29,10 @@ // KDE Includes #include #include +#include // A QMenu that is dynamically populated from a QAbstractItemModel -class ModelMenu : public QMenu +class ModelMenu : public KMenu { Q_OBJECT diff --git a/src/rekonqui.rc b/src/rekonqui.rc new file mode 100644 index 00000000..32397b16 --- /dev/null +++ b/src/rekonqui.rc @@ -0,0 +1,77 @@ + + + + + &File + + + + + + + + + + + + + + + + + + &Edit + + + + + + + + + + + + + + + &View + + + + make text.. + + + + + + + + + + + + + + + + &Settings + + + + + + + + + + + + Main Toolbar + + + + + + + diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 08ec1212..3a26266b 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -229,7 +229,7 @@ TabWidget::TabWidget(QWidget *parent) setTabBar(m_tabBar); // Actions - m_newTabAction = new KAction(KIcon("tab-new"), i18n("New &Tab"), this); + m_newTabAction = new KAction( KIcon("tab-new"), i18n("New &Tab"), this); m_newTabAction->setShortcut( KShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_N, Qt::CTRL + Qt::Key_T) ); m_newTabAction->setIconVisibleInMenu(false); connect(m_newTabAction, SIGNAL(triggered()), this, SLOT(newTab())); -- cgit v1.2.1 From b7fd88eef6b70df7dc05011657187f8c2f3b83d8 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Mon, 29 Dec 2008 02:52:20 +0100 Subject: Better menus, icons.. --- src/mainwindow.cpp | 30 +++++++++++++----------------- src/rekonqui.rc | 8 +++++--- src/settings.cpp | 8 ++++---- 3 files changed, 22 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index eb0543e9..152b2ec7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -137,6 +137,7 @@ void MainWindow::setupActions() KStandardAction::findPrev(this, SLOT( slotFindPrevious() ) , actionCollection() ); KStandardAction::fullScreen( this, SLOT( slotViewFullScreen(bool) ), this, actionCollection() ); KStandardAction::home( this, SLOT( slotHome() ), actionCollection() ); + KStandardAction::preferences( this, SLOT( slotPreferences() ), actionCollection() ); a = KStandardAction::redisplay( this, 0, actionCollection() ); m_tabWidget->addWebAction( a, QWebPage::Reload ); @@ -229,7 +230,7 @@ void MainWindow::setupActions() KAction *historyForward = new KAction( KIcon("go-next"), i18n("Forward"), this ); connect(historyForward, SIGNAL( triggered( bool ) ), this, SLOT( slotOpenNext() ) ); - actionCollection()->addAction( QLatin1String("history forward"), m_historyForward ); + actionCollection()->addAction( QLatin1String("history forward"), historyForward ); } @@ -240,7 +241,7 @@ void MainWindow::setupCustomMenu() connect(historyMenu, SIGNAL(openUrl(const KUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const KUrl&))); connect(historyMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); historyMenu->setTitle( i18n("Hi&story") ); - menuBar()->addMenu(historyMenu); + menuBar()->insertMenu( actionCollection()->action("downloads"), historyMenu); QList historyActions; historyActions.append( actionCollection()->action("Back") ); @@ -254,7 +255,7 @@ void MainWindow::setupCustomMenu() // --------------------------------------------- BOOKMARKS MENU ----------------------------------------------------------------------------------------------------- BookmarksMenu *bookmarksMenu = new BookmarksMenu( this ); bookmarksMenu->setTitle( i18n("&Bookmarks") ); - menuBar()->addMenu(bookmarksMenu ); + menuBar()->insertMenu( actionCollection()->action("downloads"), bookmarksMenu ); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ } @@ -616,26 +617,21 @@ WebView *MainWindow::currentTab() const // FIXME: this actually doesn't work properly.. void MainWindow::slotLoadProgress(int progress) { + QAction *stop = actionCollection()->action( "stop" ); + QAction *reload = actionCollection()->action(" redisplay" ); if (progress < 100 && progress > 0) { -// disconnect(m_stopReload, SIGNAL( triggered( bool ) ), m_reload, SLOT( trigger() ) ); -// m_stopReload->setIcon( KIcon( "process-stop" ) ); -// connect(m_stopReload, SIGNAL( triggered( bool ) ), m_stop, SLOT( trigger() ) ); - - disconnect( m_stopReload, SIGNAL( triggered( bool ) ), actionCollection()->action( "redisplay" ) , SIGNAL( triggered() ) ); - m_stopReload->setIcon( KIcon( "process-stop" ) ); - connect(m_stopReload, SIGNAL( triggered(bool ) ), actionCollection()->action( "stop" ), SLOT( triggered() ) ); + disconnect( m_stopReload, SIGNAL( triggered( bool ) ), reload , SIGNAL( triggered(bool) ) ); + m_stopReload->setIcon( KIcon( "process-stop" ) ); + connect(m_stopReload, SIGNAL( triggered(bool ) ), stop, SIGNAL( triggered(bool) ) ); m_stopReload->setToolTip( i18n("Stop loading the current page") ); } else { -// disconnect(m_stopReload, SIGNAL( triggered( bool ) ), m_stop, SLOT( trigger() ) ); -// m_stopReload->setIcon( KIcon("view-refresh") ); -// connect(m_stopReload, SIGNAL( triggered( bool ) ), m_reload, SLOT( trigger() ) ); - disconnect( m_stopReload, SIGNAL( triggered( bool ) ), actionCollection()->action( "stop" ) , SIGNAL( triggered( ) ) ); - m_stopReload->setIcon( KIcon( "view-refresh" ) ); - connect(m_stopReload, SIGNAL( triggered( bool ) ), actionCollection()->action( "redisplay" ), SLOT( triggered() ) ); - m_stopReload->setToolTip( i18n("Reload the current page") ); + disconnect( m_stopReload, SIGNAL( triggered( bool ) ), stop , SIGNAL( triggered(bool ) ) ); + m_stopReload->setIcon( KIcon( "view-refresh" ) ); + connect(m_stopReload, SIGNAL( triggered( bool ) ), reload, SIGNAL( triggered(bool) ) ); + m_stopReload->setToolTip( i18n("Reload the current page") ); } } diff --git a/src/rekonqui.rc b/src/rekonqui.rc index 32397b16..5c4ef58e 100644 --- a/src/rekonqui.rc +++ b/src/rekonqui.rc @@ -48,20 +48,22 @@ + + + - - &Settings +&Settings - + diff --git a/src/settings.cpp b/src/settings.cpp index 3b82935f..23b04c83 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -77,8 +77,8 @@ Private::Private(SettingsDialog *parent) widget = new QWidget; appearanceUi.setupUi( widget ); widget->layout()->setMargin(0); - pageItem = parent->addPage( widget , i18n("Appearance") ); - pageItem->setIcon( KIcon("kfontview") ); + pageItem = parent->addPage( widget , i18n("Fonts") ); + pageItem->setIcon( KIcon("preferences-desktop-font") ); widget = new QWidget; privacyUi.setupUi( widget ); @@ -176,7 +176,7 @@ void SettingsDialog::loadFromSettings() // Appearance - KConfigGroup group2 = config.group("Appearance Settings"); + KConfigGroup group2 = config.group("Fonts Settings"); m_fixedFont = group2.readEntry( QString("fixedFont"), m_fixedFont ); m_standardFont = group2.readEntry( QString("standardFont"), m_standardFont ); @@ -262,7 +262,7 @@ void SettingsDialog::saveToSettings() } group1.writeEntry(QString("historyExpire"), idx ); - KConfigGroup group2 = config.group("Appearance Settings"); + KConfigGroup group2 = config.group("Fonts Settings"); group2.writeEntry(QString("fixedFont"), m_fixedFont); group2.writeEntry(QString("standardFont"), m_standardFont); -- cgit v1.2.1 From 6ebcdb1aa9e4a2f59cf1dd7e38a39be5d8e1c31b Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Tue, 30 Dec 2008 16:11:37 +0100 Subject: Solved history && bookmarks menu problems.. YEAH!! --- src/mainwindow.cpp | 18 +++++++++++------- src/rekonqui.rc | 10 ++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 152b2ec7..d3509e60 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -188,17 +188,17 @@ void MainWindow::setupActions() actionCollection()->addAction( i18n("private browsing"), a ); connect( a, SIGNAL( triggered(bool) ) , this, SLOT( slotPrivateBrowsing() ) ); - a = new KAction( i18n("&Bigger"), this ); + a = new KAction( KIcon("zoom-in"), i18n("&Enlarge font"), this ); a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Plus) ); actionCollection()->addAction( QLatin1String("bigger font"), a ); connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewTextBigger() ) ); - a = new KAction( i18n("&Normal"), this ); + a = new KAction( KIcon("zoom-original"), i18n("&Normal font"), this ); a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_0) ); actionCollection()->addAction( QLatin1String("normal font"), a ); connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewTextNormal() ) ); - a = new KAction( i18n("&Smaller"), this ); + a = new KAction( KIcon("zoom-out"), i18n("&Shrink font"), this ); a->setShortcut( QKeySequence(Qt::CTRL | Qt::Key_Minus) ); actionCollection()->addAction( QLatin1String("smaller font"), a ); connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotViewTextSmaller() ) ); @@ -216,6 +216,11 @@ void MainWindow::setupActions() actionCollection()->addAction( QLatin1String("web inspector"), a ); connect( a, SIGNAL( triggered( bool ) ), this, SLOT( slotToggleInspector(bool) ) ); + a = new KActionMenu( i18n("B&ookmarks"), this ); + actionCollection()->addAction( QLatin1String("bookmarks"), a ); + BookmarksMenu *bookmarksMenu = new BookmarksMenu( this ); + a->setMenu( bookmarksMenu ); + // =================================================================================================================== // =================================================================================================================== // FIXME @@ -241,7 +246,7 @@ void MainWindow::setupCustomMenu() connect(historyMenu, SIGNAL(openUrl(const KUrl&)), m_tabWidget, SLOT(loadUrlInCurrentTab(const KUrl&))); connect(historyMenu, SIGNAL(hovered(const QString&)), this, SLOT(slotUpdateStatusbar(const QString&))); historyMenu->setTitle( i18n("Hi&story") ); - menuBar()->insertMenu( actionCollection()->action("downloads"), historyMenu); + menuBar()->insertMenu( actionCollection()->action("bookmarks"), historyMenu); QList historyActions; historyActions.append( actionCollection()->action("Back") ); @@ -253,9 +258,8 @@ void MainWindow::setupCustomMenu() // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // --------------------------------------------- BOOKMARKS MENU ----------------------------------------------------------------------------------------------------- - BookmarksMenu *bookmarksMenu = new BookmarksMenu( this ); - bookmarksMenu->setTitle( i18n("&Bookmarks") ); - menuBar()->insertMenu( actionCollection()->action("downloads"), bookmarksMenu ); + + // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ } diff --git a/src/rekonqui.rc b/src/rekonqui.rc index 5c4ef58e..a3502229 100644 --- a/src/rekonqui.rc +++ b/src/rekonqui.rc @@ -38,12 +38,12 @@ &View - - make text.. + + - + @@ -51,6 +51,8 @@ + + @@ -58,7 +60,7 @@ &Settings - + -- cgit v1.2.1 From 9cbf281f4df98feec4325dac050cc633e3bbfe2f Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Tue, 30 Dec 2008 16:52:23 +0100 Subject: Fixed FindBar crash && refactored to look like kate searchbar --- src/bookmarks.cpp | 2 +- src/findbar.cpp | 15 +++++++++++---- src/findbar.h | 4 ++-- src/main.cpp | 28 ++++++++++++++-------------- src/mainwindow.cpp | 7 +++---- 5 files changed, 31 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 63d15f7b..3cb65e38 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -55,7 +55,7 @@ QString OwnBookMarks::currentTitle() const } -// ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------------------------- BookmarksMenu::BookmarksMenu(KMainWindow *parent) diff --git a/src/findbar.cpp b/src/findbar.cpp index 73f6c784..382f9b09 100644 --- a/src/findbar.cpp +++ b/src/findbar.cpp @@ -24,12 +24,12 @@ #include #include #include -#include #include +#include #include -FindBar::FindBar(KMainWindow *parent) +FindBar::FindBar(KXmlGuiWindow *parent) : KToolBar( "FindBar" , parent, Qt::BottomToolBarArea, true, false, false) , m_lineEdit(0) { @@ -47,8 +47,15 @@ FindBar::FindBar(KMainWindow *parent) connect( m_lineEdit, SIGNAL( textEdited(const QString &) ), parent, SLOT( slotFindNext() ) ); addWidget( m_lineEdit ); - addAction( KStandardAction::findNext(parent, SLOT( slotFindNext() ) , this ) ); - addAction( KStandardAction::findPrev(parent, SLOT( slotFindPrevious() ) , this ) ); + KPushButton *findNext = new KPushButton( KIcon("go-down"), "&Next", this ); + KPushButton *findPrev = new KPushButton( KIcon("go-up"), "&Previous", this ); + // perhaps we don't need working on style.. +// findNext->setStyle(); +// findPrev->setStyle(); + connect( findNext, SIGNAL( clicked() ), parent, SLOT( slotFindNext() ) ); + connect( findPrev, SIGNAL( clicked() ), parent, SLOT( slotFindPrevious() ) ); + addWidget( findNext ); + addWidget( findPrev ); // we start off hidden hide(); diff --git a/src/findbar.h b/src/findbar.h index f8ef183e..4c73767c 100644 --- a/src/findbar.h +++ b/src/findbar.h @@ -23,14 +23,14 @@ #include #include -#include +#include class FindBar : public KToolBar { Q_OBJECT public: - FindBar(KMainWindow *parent); + FindBar(KXmlGuiWindow *parent); ~FindBar(); KLineEdit *lineEdit(); diff --git a/src/main.cpp b/src/main.cpp index fb9bf3de..0988b367 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,21 +32,21 @@ static const char version[] = "0.0.2"; int main(int argc, char **argv) { KAboutData about( "rekonq", - 0, - ki18n("rekonq"), - version, - ki18n(description), - KAboutData::License_GPL, - ki18n("(C) 2008 Andrea Diamantini"), - KLocalizedString(), - "http://www.adjam.org", - "adjam7@gmail.com" - ); + 0, + ki18n("rekonq"), + version, + ki18n(description), + KAboutData::License_GPL, + ki18n("(C) 2008 Andrea Diamantini"), + KLocalizedString(), + "http://www.adjam.org", + "adjam7@gmail.com" + ); - about.addAuthor( ki18n("Andrea Diamantini"), - KLocalizedString(), - "adjam7@gmail.com" - ); + about.addAuthor( ki18n("Andrea Diamantini"), + KLocalizedString(), + "adjam7@gmail.com" + ); KCmdLineArgs::init(argc, argv, &about); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d3509e60..7bf44d06 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -67,10 +67,6 @@ MainWindow::MainWindow() // tell the KXmlGuiWindow that this is indeed the main widget setCentralWidget(m_tabWidget); - // Find Bar - m_findBar = new FindBar(this); - connect( m_findBar, SIGNAL( searchString(const QString &) ), this, SLOT( slotFind(const QString &) ) ); - 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&) ) ); @@ -112,6 +108,9 @@ MainWindow::MainWindow() connect(m_searchBar, SIGNAL(search(const KUrl&)), this, SLOT(loadUrl(const KUrl&))); navigationBar->addWidget(m_searchBar); + // Find Bar + m_findBar = new FindBar(this); + connect( m_findBar, SIGNAL( searchString(const QString &) ), this, SLOT( slotFind(const QString &) ) ); } -- cgit v1.2.1