/** LICENSE ******************************************************************** ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** 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 3 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, see . ** ******************************************************************************/ #ifndef BROWSER_H #define BROWSER_H #include #include #include "forms/bookmarksdialog.h" #include "forms/downloaddialog.h" #include #include "settings.h" #include #define sSettings Browser::instance()->settings() #define sNetwork Browser::instance()->network() class MainWindow; class Browser : public QApplication { Q_OBJECT public: Browser(int &argc, char *argv[]); ~Browser(); void firstRun(); bool preLaunch(QStringList urls); static Browser *instance(); Settings *settings(); QNetworkAccessManager *network(); BookmarksDialog *bookmarks(); DownloadDialog *downloads(); void setConfigPath(const QString &path); void addWindow(MainWindow* window); MainWindow *mainWindow(); public slots: void removeWindow(MainWindow* window); private slots: void handleNewConnection(); private: Settings *m_settings; QLocalServer *m_localServer; QVector m_windows; QNetworkAccessManager *m_networkAccessManager; BookmarksDialog *m_bookmarksManager; DownloadDialog *m_downloadManager; }; #endif // BROWSER_H