File indexing completed on 2024-04-28 03:49:30
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2010 Niko Sams <niko.sams@gmail.com> 0004 // 0005 0006 0007 #ifndef MARBLE_ROUTINGPROFILESETTINGSDIALOG_H 0008 #define MARBLE_ROUTINGPROFILESETTINGSDIALOG_H 0009 0010 #include <QDialog> 0011 0012 #include "RoutingRunnerPlugin.h" 0013 0014 class QStandardItemModel; 0015 class QHBoxLayout; 0016 class Ui_RoutingProfileSettingsDialog; 0017 0018 namespace Marble { 0019 0020 class PluginManager; 0021 class RoutingProfilesModel; 0022 0023 class RoutingProfileSettingsDialog : public QDialog 0024 { 0025 Q_OBJECT 0026 public: 0027 RoutingProfileSettingsDialog( const PluginManager *pluginManager, RoutingProfilesModel *profilesModel, QWidget *parent = nullptr ); 0028 ~RoutingProfileSettingsDialog() override; 0029 0030 void editProfile( int profileIndex ); 0031 0032 private Q_SLOTS: 0033 void updateConfigWidget(); 0034 0035 void openConfigDialog(); 0036 0037 private: 0038 RoutingProfilesModel *m_profilesModel; 0039 0040 QList<RoutingRunnerPlugin*> m_plugins; 0041 QHash<RoutingRunnerPlugin*, RoutingRunnerPlugin::ConfigWidget*> m_configWidgets; 0042 0043 Ui_RoutingProfileSettingsDialog *m_ui; 0044 QStandardItemModel *m_servicesModel; 0045 0046 QDialog* m_dialog; 0047 QHBoxLayout* m_dialogLayout; 0048 }; 0049 0050 } 0051 0052 #endif