--- /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 <QMainWindow>
+#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_ */