1 // SPDX-License-Identifier: LGPL-2.1-or-later 2 // 3 // SPDX-FileCopyrightText: 2010 Dennis Nienhüser <nienhueser@kde.org> 4 // 5 6 #ifndef MARBLE_MONAVCONFIGWIDGET_H 7 #define MARBLE_MONAVCONFIGWIDGET_H 8 9 #include "ui_MonavConfigWidget.h" 10 #include "RoutingRunnerPlugin.h" 11 12 #include <QWidget> 13 14 class QNetworkReply; 15 16 namespace Marble 17 { 18 19 class MonavPlugin; 20 class MonavConfigWidgetPrivate; 21 22 class MonavConfigWidget : public RoutingRunnerPlugin::ConfigWidget, private Ui::MonavConfigWidget 23 { 24 Q_OBJECT 25 26 public: 27 explicit MonavConfigWidget( MonavPlugin* plugin ); 28 29 ~MonavConfigWidget() override; 30 31 void loadSettings( const QHash<QString, QVariant> &settings ) override; 32 33 QHash<QString, QVariant> settings() const override; 34 35 protected: 36 void showEvent ( QShowEvent * event ) override; 37 38 private Q_SLOTS: 39 void retrieveMapList( QNetworkReply *reply ); 40 41 void retrieveData(); 42 43 void updateComboBoxes(); 44 45 void updateStates(); 46 47 void updateRegions(); 48 49 void downloadMap(); 50 51 void updateProgressBar( qint64 bytesReceived, qint64 bytesTotal ); 52 53 void mapInstalled( int exitStatus ); 54 55 void updateTransportTypeFilter( const QString &filter ); 56 57 void removeMap( int index ); 58 59 void upgradeMap( int index ); 60 61 void cancelOperation(); 62 63 private: 64 friend class MonavConfigWidgetPrivate; 65 MonavConfigWidgetPrivate* const d; 66 }; 67 68 } 69 70 #endif // MARBLE_MONAVCONFIGWIDGET_H 71