summaryrefslogtreecommitdiff
path: root/src/mainwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.h')
-rw-r--r--src/mainwindow.h149
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
+