Sat, 06 Jun 2015 23:17:33 +0300
Now C++03 compatible
/* * ZCinema: Zandronum demo launcher * Copyright (C) 2013-2015 Teemu Piippo * * 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 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once #include <QDialog> #include "commonlib/types.h" // // ------------------------------------------------------------------------------------------------- // // A ZandronumVersion represented in the config window. // struct VersionGuiEntry { class QTableWidgetItem* labelItem; class QTableWidgetItem* pathItem; QString name; bool isRelease; ZandronumVersion toNonGuiVersion() const; }; // // ------------------------------------------------------------------------------------------------- // class ConfigWindow : public QDialog { Q_OBJECT public: enum { LabelColumn, PathColumn, }; typedef QMap<class QTableWidgetItem*, VersionGuiEntry*> VersionEntryMap; ConfigWindow (QWidget* parent = NULL, Qt::WindowFlags f = 0); virtual ~ConfigWindow(); public slots: void addWadPath(); void findWadPath(); void removeCurrentWadPath(); void buttonPressed (class QAbstractButton* btn); void newVersion(); void removeCurrentVersion(); void editExePressed(); void clearExePathsClicked(); private: class Ui_ConfigBox& ui; QList<VersionGuiEntry*> m_versionEntries; VersionEntryMap m_versionEntryMap; void addWadPath (QString path); VersionGuiEntry* addVersion (const ZandronumVersion& version); VersionGuiEntry* currentVersionEntry(); void initFromSettings(); void removeVersion (VersionGuiEntry* entry); void saveSettings(); };