From 8e1b2c03076b9908fbc8eafe861845c2d11bd7f0 Mon Sep 17 00:00:00 2001 From: Arno Date: Mon, 10 May 2010 18:48:31 +0200 Subject: Redesign of ConfigurationDialog Revamped ConfigurationDialog for more than one movie player or picture viewers. Introduced a new widget ProgramConfigurator. --- programconfigurator.h | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 programconfigurator.h (limited to 'programconfigurator.h') diff --git a/programconfigurator.h b/programconfigurator.h new file mode 100644 index 0000000..03fb047 --- /dev/null +++ b/programconfigurator.h @@ -0,0 +1,60 @@ +/* + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version + 2 of the License, or (at your option) any later version. +*/ + +#ifndef PROGRAMCONFIGURATOR_H +#define PROGRAMCONFIGURATOR_H + +#include +#include +#include +#include + +class QLineEdit; +class QPushButton; +class QComboBox; +class QStringList; +class QLabel; +class QStringList; + +class ProgramConfigurator : public QWidget { + Q_OBJECT + public: + ProgramConfigurator(const QString &prefix, const QString &description, QWidget *parent = 0); + ~ProgramConfigurator() {} + + public slots: + void writeSettings(); + + private slots: + void programChanged(const QString &program); + void addProgram(); + void removeProgram(); + void updateProgram(); + void setDefault(); + + private: + void readSettings(); + bool isValid(const QString &program); + QStringList args(const QString &argString); + + private: + QComboBox *mProgramSelector; + QLineEdit *mNameEdit; + QLineEdit *mPathEdit; + QLineEdit *mArgumentsEdit; + QPushButton *mAdd; + QPushButton *mRemove; + QPushButton *mUpdate; + QPushButton *mDefault; + QLabel *mDefaultLabel; + QHash mData; + QString mDefautProg; + const QString mPrefix; + const QString mDescription; +}; + +#endif -- cgit v1.2.3-70-g09d2