diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2012-07-23 17:55:03 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2012-12-10 02:17:54 +0100 |
commit | 16c625403695c82055388fb3b2bda728d33028c1 (patch) | |
tree | 3ac7acdc2b247b44488d1e90580e3fc4f82255e9 /src/tabwindow/tabwindow.h | |
parent | WARNING COMMIT --> FIRST REKONQ 2 IMPORT (diff) | |
download | rekonq-16c625403695c82055388fb3b2bda728d33028c1.tar.xz |
TabWindow, first import :)
Diffstat (limited to 'src/tabwindow/tabwindow.h')
-rw-r--r-- | src/tabwindow/tabwindow.h | 100 |
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 |