1 /* ============================================================ 2 * 3 * This file is a part of digiKam project 4 * https://www.digikam.org 5 * 6 * Date : 2017-06-21 7 * Description : a simple web browser dialog based on Qt WebEngine. 8 * 9 * Copyright (C) 2017-2021 by Gilles Caulier <caulier dot gilles at gmail dot com> 10 * 11 * This program is free software; you can redistribute it 12 * and/or modify it under the terms of the GNU General 13 * Public License as published by the Free Software Foundation; 14 * either version 2, or (at your option) 15 * any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * ============================================================ */ 23 24 #ifndef DIGIKAM_WEB_BROWSER_DLG_H 25 #define DIGIKAM_WEB_BROWSER_DLG_H 26 27 // Qt include 28 29 #include <QDialog> 30 #include <QWidget> 31 #include <QUrl> 32 #include <QString> 33 #include <QCloseEvent> 34 35 // Local includes 36 37 #include "digikam_export.h" 38 39 namespace Digikam 40 { 41 42 class SearchTextSettings; 43 44 class DIGIKAM_EXPORT WebBrowserDlg : public QDialog 45 { 46 Q_OBJECT 47 48 public: 49 50 explicit WebBrowserDlg(const QUrl& url, 51 QWidget* const parent, 52 bool hideDeskBrowser = false); 53 ~WebBrowserDlg() override; 54 55 Q_SIGNALS: 56 57 void urlChanged(const QUrl& url); 58 void closeView(bool val); 59 60 private Q_SLOTS: 61 62 void slotUrlChanged(const QUrl&); 63 void slotLoadingStarted(); 64 void slotLoadingFinished(bool); 65 void slotIconChanged(const QIcon&); 66 void slotTitleChanged(const QString&); 67 void slotSearchTextChanged(const SearchTextSettings&); 68 void slotGoHome(); 69 void slotDesktopWebBrowser(); 70 71 protected: 72 73 void closeEvent(QCloseEvent*) override; 74 75 private: 76 77 class Private; 78 Private* const d; 79 }; 80 81 } // namespace Digikam 82 83 #endif // DIGIKAM_WEB_BROWSER_DLG_H 84