1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
/*
SPDX-FileCopyrightText: 2006 Adam Treat <treat@kde.org>
SPDX-FileCopyrightText: 2007 Dukju Ahn <dukjuahn@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef KDEVPLATFORM_ENVIRONMENTWIDGET_H
#define KDEVPLATFORM_ENVIRONMENTWIDGET_H
#include <QWidget>
#include "ui_environmentwidget.h"
class KConfig;
class QSortFilterProxyModel;
namespace KDevelop
{
class EnvironmentProfileListModel;
class EnvironmentProfileModel;
/**
* @short Environment variable setting widget.
* This class manages a EnvironmentProfileList and allows one to change the variables and add/remove groups
*
* @sa EnvPreferences
*/
class EnvironmentWidget: public QWidget
{
Q_OBJECT
public:
explicit EnvironmentWidget( QWidget *parent = nullptr );
void loadSettings( KConfig* config );
void saveSettings( KConfig* config );
void defaults( KConfig* config );
void selectProfile(const QString& profileName);
Q_SIGNALS:
void changed();
private:
QString askNewProfileName(const QString& defaultName);
void removeSelectedVariables();
void batchModeEditButtonClicked();
void addProfile();
void cloneSelectedProfile();
void removeSelectedProfile();
void setSelectedProfileAsDefault();
void onDefaultProfileChanged(int defaultProfileIndex);
void onSelectedProfileChanged(int selectedProfileIndex);
void onVariableInserted(int column, const QVariant& value);
void updateDeleteVariableButton();
private:
Ui::EnvironmentWidget ui;
EnvironmentProfileListModel* const m_environmentProfileListModel;
EnvironmentProfileModel* const m_environmentProfileModel;
QSortFilterProxyModel* const m_proxyModel;
};
}
#endif
|