diff -r 6aeb7a756187 -r 3c88a81ff781 ginebra2/ContentViews/BrowserWindow.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ginebra2/ContentViews/BrowserWindow.h Fri Oct 15 17:30:59 2010 -0400 @@ -0,0 +1,86 @@ +/* + * BrowserWindow.h + * + */ + +#ifndef BROWSERWINDOW_H +#define BROWSERWINDOW_H_ + +#include +#include "wrtbrowsercontainer.h" + +class QGraphicsWidget; +class QGraphicsScene; +class QGraphicsItem; + +class ControllableViewBase; + +namespace GVA { + +class ChromeLayout; +class ChromeWidget; +class ChromeView; +class WindowsView; +class ViewController; + +class BrowserWindow : public QMainWindow +{ + + Q_OBJECT + + enum { + blocked = 1, + active = 2, + menuEnabled = 4 + }; + + public: + BrowserWindow(ChromeWidget * chrome, WindowsView * windows, QWidget * parent = 0, Qt::WindowFlags flags = 0 ); + virtual ~BrowserWindow() { ; } + void setPage(WRT::WrtBrowserContainer * page); + void closeWindow(); + void toggleDecoration(); + void showDecoration(); + void hideDecoration(); + const QString & view() { return m_viewName; } + void setView(const QString & view) { m_viewName = view; } + void setMenuEnabled(bool enabled); + void setTitle(const QString &title); + protected slots: + void onViewChanged(ControllableViewBase *newView); + void onPageTitleChanged(const QString &title); + void toggleNormalFullScreen(); + protected: + ViewController *viewController(); + virtual bool event(QEvent * event); + virtual void changeEvent(QEvent * event); + void connectPageTitleChanged(); + void disconnectPageTitleChanged(); + void fixupWindowTitle(); + void slideViewIfRequired(int value); // hide or show UrlSearchBar if required + void handleWindowActivate(); + void handleWindowDeactivate(); + + #ifdef Q_WS_MAEMO_5 + void grabZoomKeys(bool grab); + virtual void keyPressEvent(QKeyEvent* event); + #endif + + private: + WRT::WrtBrowserContainer * m_page; //Not owned + WRT::WrtBrowserContainer * m_specialPage; + bool m_decorated; + ChromeWidget * m_chrome; //Shared, not owned + ChromeView * m_view; + QGraphicsScene * m_scene; + QGraphicsItem * m_snapshot; + WindowsView * m_windows; + int m_state; + QString m_viewName; + static bool m_preventDisconnectPageTitleChanged; + static bool m_preventConnectPageTitleChanged; + bool m_slidedUp; + bool m_changingMode; +}; +} +#endif /* BROWSERWINDOW_H_ */