Extend copyright to 2018.
[kdbg.git] / kdbg / pgmargs.h
blob27c55b442ee2da82676d5120cc220380ca65bdf6
1 /*
2 * Copyright Johannes Sixt
3 * This file is licensed under the GNU General Public License Version 2.
4 * See the file COPYING in the toplevel directory of the source directory.
5 */
7 #ifndef PgmArgs_included
8 #define PgmArgs_included
10 #include "ui_pgmargsbase.h"
11 #include <QDialog>
12 #include <QSet>
13 #include <map>
14 #include "envvar.h"
16 class QStringList;
18 class PgmArgs : public QDialog, private Ui::PgmArgsBase
20 Q_OBJECT
21 public:
22 PgmArgs(QWidget* parent, const QString& pgm,
23 const std::map<QString,QString>& envVars,
24 const QStringList& allOptions);
25 virtual ~PgmArgs();
27 void setArgs(const QString& text) { programArgs->setText(text); }
28 QString args() const { return programArgs->text(); }
29 void setOptions(const QSet<QString>& selectedOptions);
30 QSet<QString> options() const;
31 void setWd(const QString& wd) { wdEdit->setText(wd); }
32 QString wd() const { return wdEdit->text(); }
33 const std::map<QString,EnvVar>& envVars() { return m_envVars; }
35 protected:
36 std::map<QString,EnvVar> m_envVars;
38 void parseEnvInput(QString& name, QString& value);
39 void modifyVar(bool resurrect);
40 virtual void accept();
42 protected slots:
43 void on_buttonModify_clicked();
44 void on_buttonDelete_clicked();
45 void on_envList_currentItemChanged();
46 void on_wdBrowse_clicked();
47 void on_insertFile_clicked();
48 void on_insertDir_clicked();
51 #endif // PgmArgs_included