diff options
Diffstat (limited to 'src/mainwindow.h')
-rw-r--r-- | src/mainwindow.h | 149 |
1 files changed, 149 insertions, 0 deletions
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 <adjam7 at gmail dot com> + * + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software Foundation; + * either version 2, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * ============================================================ */ + + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +// Local Includes +#include "findbar.h" +#include "searchbar.h" + +// KDE Includes +#include <KUrl> +#include <KMainWindow> +#include <KIcon> +#include <KToolBar> +#include <KAction> +#include <KToggleAction> +#include <KMenu> + + +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 + |