pgadmin4/runtime/BrowserWindow.h
Dave Page 7c9347873f Use a custom configuration dialogue and allow the user to specify
the application path as well as the Python path.
2016-01-19 10:26:36 +00:00

91 lines
2.0 KiB
C++

//////////////////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
// Copyright (C) 2013 - 2016, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// BrowserWindow.h - Declaration of the main window class
//
//////////////////////////////////////////////////////////////////////////
#ifndef BROWSERWINDOW_H
#define BROWSERWINDOW_H
#include "pgAdmin4.h"
#include "TabWindow.h"
#include "WebViewWindow.h"
#if QT_VERSION >= 0x050000
#include <QtWidgets>
#include <QtWebKitWidgets>
#else
#include <QMainWindow>
#include <QWebView>
#endif
QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
QT_END_NAMESPACE
class BrowserWindow : public QMainWindow
{
Q_OBJECT
public:
BrowserWindow(QString url);
protected:
void closeEvent(QCloseEvent *event);
protected slots:
void finishLoading(bool);
void urlLinkClicked(const QUrl &);
void closetabs();
void tabTitleChanged(const QString &);
private slots:
void openUrl();
void configuration();
void about();
public slots:
void tabIndexChanged(int index);
void goBackPage();
void goForwardPage();
private:
QString m_appServerUrl;
WebViewWindow *m_mainWebView;
QMenu *fileMenu;
QMenu *helpMenu;
QAction *openUrlAction;
QAction *configurationAction;
QAction *exitAction;
QAction *aboutAction;
QGridLayout *m_tabGridLayout;
QGridLayout *m_mainGridLayout;
TabWindow *m_tabWidget;
QWidget *m_pgAdminMainTab;
QWidget *m_addNewTab;
QGridLayout *m_addNewGridLayout;
WebViewWindow *m_addNewWebView;
QHBoxLayout *m_horizontalLayout;
QWidget *m_widget;
QToolButton *m_toolBtnBack;
QToolButton *m_toolBtnForward;
bool m_initialLoad;
int m_loadAttempt;
void createActions();
void createMenus();
void pause(int seconds = 1);
int findURLTab(const QUrl &name);
};
#endif // BROWSERWINDOW_H