diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 18:42:24 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 18:42:24 +0000 |
commit | f508189682b6fba62e08feeb1596f682bad5fff9 (patch) | |
tree | 28aeb0e6c19386c385c1ce5edf8a92c1bca15281 /src/tools/gui/toolchain_config_widget.h | |
download | piklab-f508189682b6fba62e08feeb1596f682bad5fff9.tar.gz piklab-f508189682b6fba62e08feeb1596f682bad5fff9.zip |
Added KDE3 version of PikLab
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/piklab@1095639 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/tools/gui/toolchain_config_widget.h')
-rw-r--r-- | src/tools/gui/toolchain_config_widget.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/tools/gui/toolchain_config_widget.h b/src/tools/gui/toolchain_config_widget.h new file mode 100644 index 0000000..ad7978a --- /dev/null +++ b/src/tools/gui/toolchain_config_widget.h @@ -0,0 +1,85 @@ +/*************************************************************************** + * Copyright (C) 2005-2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * 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 TOOLCHAIN_CONFIG_WIDGET_H +#define TOOLCHAIN_CONFIG_WIDGET_H + +#include <qwidgetstack.h> +#include <qlabel.h> +#include <klocale.h> +#include <kpushbutton.h> + +#include "common/gui/key_gui.h" +#include "common/global/process.h" +#include "common/gui/config_widget.h" +#include "tools/list/compile_process.h" +class Container; +namespace PURL { class DirectoryWidget; } +namespace Tool { class Group; } + +//---------------------------------------------------------------------------- +class ToolchainConfigWidget : public ::ConfigWidget +{ + Q_OBJECT +public: + ToolchainConfigWidget(const Tool::Group &group, QWidget *parent); + virtual ~ToolchainConfigWidget(); + const Tool::Group &group() const { return _group; } + void init(); + +public slots: + void detect(); + void forceDetect(); + virtual void loadConfig(); + virtual void saveConfig(); + +protected: + bool withWine() const; + Tool::OutputExecutableType outputType() const; + virtual void addCustomExecutableOptions(Container *) {} + virtual QString baseExecutable(Tool::Category category) const; + virtual ::Process::LineOutput *checkExecutableProcess(Tool::Category category) const; + virtual ::Process::LineOutput *checkDevicesProcess(uint i) const; + +protected slots: + void showDetails(); + void showDeviceDetails(); + void checkExecutableDone(); + void checkDevicesDone(); + +protected: + const Tool::Group &_group; + Compile::Config *_config; + bool _dirty; + QComboBox *_execType; + KeyComboBox<Tool::OutputExecutableType> *_outputType; + QLabel *_devicesLabel; + QMap<Compile::DirectoryType, PURL::DirectoryWidget *> _dirs; + class ExecData { + public: + ExecData() : label(0), button(0), process(0) {} + ~ExecData() { delete process; } + QLabel *label; + QString command; + QStringList checkLines; + KPushButton *button; + ::Process::LineOutput *process; + }; + QMap<Tool::Category, ExecData> _data; + class DevicesData { + public: + DevicesData() : process(0) {} + bool done; + QString command; + QStringList checkLines; + ::Process::LineOutput *process; + }; + QValueVector<DevicesData> _devicesData; +}; + +#endif |