summaryrefslogtreecommitdiff
path: root/src/tabwindow/tabwindow.h
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2012-07-23 17:55:03 +0200
committerAndrea Diamantini <adjam7@gmail.com>2012-12-10 02:17:54 +0100
commit16c625403695c82055388fb3b2bda728d33028c1 (patch)
tree3ac7acdc2b247b44488d1e90580e3fc4f82255e9 /src/tabwindow/tabwindow.h
parentWARNING COMMIT --> FIRST REKONQ 2 IMPORT (diff)
downloadrekonq-16c625403695c82055388fb3b2bda728d33028c1.tar.xz
TabWindow, first import :)
Diffstat (limited to 'src/tabwindow/tabwindow.h')
-rw-r--r--src/tabwindow/tabwindow.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/src/tabwindow/tabwindow.h b/src/tabwindow/tabwindow.h
new file mode 100644
index 00000000..147fac40
--- /dev/null
+++ b/src/tabwindow/tabwindow.h
@@ -0,0 +1,100 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Andrea Diamantini <adjam7@gmail.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 of the License, 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. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
+ ***************************************************************************/
+
+
+
+#ifndef TAB_WINDOW
+#define TAB_WINDOW
+
+
+#include <KTabWidget>
+
+class QLabel;
+class QUrl;
+class QToolButton;
+class QWebHistory;
+
+class TabHistory;
+
+class TabBar;
+class WebPage;
+class WebWindow;
+
+
+class TabWindow : public KTabWidget
+{
+ Q_OBJECT
+
+public:
+ TabWindow(QWidget *parent = 0);
+
+ virtual QSize sizeHint() const;
+
+ WebWindow* currentWebWindow() const;
+ WebWindow* webWindow(int index) const;
+
+ TabBar* tabBar() const;
+
+public Q_SLOTS:
+ void loadUrlInNewTab(const QUrl &, TabHistory *history = 0);
+ void newCleanTab();
+
+private:
+ /**
+ * Updates tabbar and add new tab button position
+ */
+ void updateTabBar();
+
+ /**
+ * Prepares the new WebWindow to be open
+ */
+ WebWindow *prepareNewTab(WebPage *page = 0);
+
+private Q_SLOTS:
+ void tabTitleChanged(const QString &);
+
+ void tabLoadStarted();
+ void tabLoadProgress(int);
+ void tabLoadFinished(bool);
+
+ void pageCreated(WebPage *);
+
+ void currentChanged(int);
+
+ // Indexed slots
+ void cloneTab(int index = -1);
+ void closeTab(int index = -1, bool del = true);
+ void closeOtherTabs(int index = -1);
+ void reloadTab(int index = -1);
+ void reloadAllTabs();
+ void restoreClosedTab(int i);
+
+protected:
+ virtual void resizeEvent(QResizeEvent *);
+
+private:
+ // the new tab button
+ QToolButton *_addTabButton;
+
+ int _openedTabsCounter;
+
+ QList<TabHistory> m_recentlyClosedTabs;
+};
+
+#endif // TAB_WINDOW