Added stuff.
This commit is contained in:
parent
586092cf99
commit
fce0f5df04
@ -15,11 +15,17 @@ TEMPLATE = app
|
|||||||
SOURCES += main.cpp\
|
SOURCES += main.cpp\
|
||||||
gui/mainwindow.cpp \
|
gui/mainwindow.cpp \
|
||||||
data/instancebase.cpp \
|
data/instancebase.cpp \
|
||||||
util/pathutils.cpp
|
util/pathutils.cpp \
|
||||||
|
data/instancelist.cpp \
|
||||||
|
data/stdinstance.cpp \
|
||||||
|
data/inifile.cpp
|
||||||
|
|
||||||
HEADERS += gui/mainwindow.h \
|
HEADERS += gui/mainwindow.h \
|
||||||
data/instancebase.h \
|
data/instancebase.h \
|
||||||
util/pathutils.h \
|
util/pathutils.h \
|
||||||
|
data/instancelist.h \
|
||||||
|
data/stdinstance.h \
|
||||||
|
data/inifile.h
|
||||||
|
|
||||||
FORMS += gui/mainwindow.ui
|
FORMS += gui/mainwindow.ui
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by Qt Creator 2.6.1, 2013-01-09T12:15:16. -->
|
<!-- Written by Qt Creator 2.6.1, 2013-01-14T15:28:18. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
22
data/appsettings.cpp
Normal file
22
data/appsettings.cpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "appsettings.h"
|
||||||
|
|
||||||
|
AppSettings::AppSettings(QString fileName) :
|
||||||
|
SettingsBase(fileName)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
27
data/appsettings.h
Normal file
27
data/appsettings.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef APPSETTINGS_H
|
||||||
|
#define APPSETTINGS_H
|
||||||
|
|
||||||
|
#include "settingsbase.h"
|
||||||
|
|
||||||
|
class AppSettings : public SettingsBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AppSettings(QString fileName);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // APPSETTINGS_H
|
75
data/inifile.cpp
Normal file
75
data/inifile.cpp
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "inifile.h"
|
||||||
|
|
||||||
|
#include <QFile>
|
||||||
|
#include <QTextStream>
|
||||||
|
#include <QStringList>
|
||||||
|
|
||||||
|
INIFile::INIFile()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool INIFile::saveFile(QString fileName)
|
||||||
|
{
|
||||||
|
// TODO Handle errors.
|
||||||
|
QFile file(fileName);
|
||||||
|
file.open(QIODevice::WriteOnly);
|
||||||
|
QTextStream out(&file);
|
||||||
|
|
||||||
|
for (Iterator iter = begin(); iter != end(); iter++)
|
||||||
|
{
|
||||||
|
out << iter.key() << "=" << iter.value().toString() << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool INIFile::loadFile(QString fileName)
|
||||||
|
{
|
||||||
|
// TODO Handle errors.
|
||||||
|
QFile file(fileName);
|
||||||
|
file.open(QIODevice::ReadOnly);
|
||||||
|
QTextStream in(&file);
|
||||||
|
|
||||||
|
QStringList lines = in.readAll().split('\n');
|
||||||
|
for (int i = 0; i < lines.count(); i++)
|
||||||
|
{
|
||||||
|
// Ignore comments.
|
||||||
|
QString line = lines[i].left('#').trimmed();
|
||||||
|
|
||||||
|
QString key = line.section('=', 0).trimmed();
|
||||||
|
QVariant value(line.section('=', 1).trimmed());
|
||||||
|
|
||||||
|
this->operator [](key) = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant INIFile::get(QString key, QVariant def) const
|
||||||
|
{
|
||||||
|
if (!this->contains(key))
|
||||||
|
return def;
|
||||||
|
else
|
||||||
|
return this->operator [](key);
|
||||||
|
}
|
||||||
|
|
||||||
|
void INIFile::set(QString key, QVariant val)
|
||||||
|
{
|
||||||
|
this->operator [](key) = val;
|
||||||
|
}
|
36
data/inifile.h
Normal file
36
data/inifile.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef INIFILE_H
|
||||||
|
#define INIFILE_H
|
||||||
|
|
||||||
|
#include <QMap>
|
||||||
|
#include <QString>
|
||||||
|
#include <QVariant>
|
||||||
|
|
||||||
|
// Sectionless INI parser (for instance config files)
|
||||||
|
class INIFile : public QMap<QString, QVariant>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit INIFile();
|
||||||
|
|
||||||
|
bool loadFile(QString fileName);
|
||||||
|
bool saveFile(QString fileName);
|
||||||
|
|
||||||
|
QVariant get(QString key, QVariant def) const;
|
||||||
|
void set(QString key, QVariant val);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INIFILE_H
|
@ -15,31 +15,35 @@
|
|||||||
|
|
||||||
#include "instancebase.h"
|
#include "instancebase.h"
|
||||||
|
|
||||||
|
#include <QFileInfo>
|
||||||
|
|
||||||
#include "../util/pathutils.h"
|
#include "../util/pathutils.h"
|
||||||
|
|
||||||
InstanceBase::InstanceBase(QString rootDir, QObject *parent) :
|
InstanceBase::InstanceBase(QString dir, QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
m_rootDir(rootDir),
|
rootDir(dir)
|
||||||
m_config(PathCombine(rootDir, "instance.cfg"), QSettings::IniFormat)
|
|
||||||
{
|
{
|
||||||
|
QFileInfo cfgFile;
|
||||||
|
|
||||||
|
if (cfgFile.exists())
|
||||||
|
config.loadFile(PathCombine(rootDir, "instance.cfg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
QString InstanceBase::GetRootDir() const
|
QString InstanceBase::getRootDir() const
|
||||||
{
|
{
|
||||||
return m_rootDir;
|
return rootDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
///////////// Config Values /////////////
|
///////////// Config Values /////////////
|
||||||
|
|
||||||
// Name
|
// Name
|
||||||
QString InstanceBase::GetInstName() const
|
QString InstanceBase::getInstName() const
|
||||||
{
|
{
|
||||||
return m_config.value("name", "Unnamed").toString();
|
return config.get("name", "Unnamed").toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstanceBase::SetInstName(QString name)
|
void InstanceBase::setInstName(QString name)
|
||||||
{
|
{
|
||||||
m_config.setValue("name", name);
|
config.set("name", name);
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,8 @@
|
|||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QSettings>
|
|
||||||
|
#include "../data/inifile.h"
|
||||||
|
|
||||||
class InstanceBase : public QObject
|
class InstanceBase : public QObject
|
||||||
{
|
{
|
||||||
@ -26,18 +27,18 @@ class InstanceBase : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit InstanceBase(QString rootDir, QObject *parent = 0);
|
explicit InstanceBase(QString rootDir, QObject *parent = 0);
|
||||||
|
|
||||||
QString GetRootDir() const;
|
QString getRootDir() const;
|
||||||
|
|
||||||
QString GetInstName() const;
|
QString getInstName() const;
|
||||||
void SetInstName(QString name);
|
void setInstName(QString name);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_rootDir;
|
QString rootDir;
|
||||||
|
|
||||||
QSettings m_config;
|
INIFile config;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INSTANCEBASE_H
|
#endif // INSTANCEBASE_H
|
||||||
|
52
data/instancelist.cpp
Normal file
52
data/instancelist.cpp
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "instancelist.h"
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
#include <QDirIterator>
|
||||||
|
|
||||||
|
#include "stdinstance.h"
|
||||||
|
|
||||||
|
#include "../util/pathutils.h"
|
||||||
|
|
||||||
|
InstanceList::InstanceList() :
|
||||||
|
QList()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstanceList::addInstance(InstanceBase *inst)
|
||||||
|
{
|
||||||
|
append(inst);
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstanceList::loadInstances(QString dir)
|
||||||
|
{
|
||||||
|
qDebug("Loading instances");
|
||||||
|
QDir instDir(dir);
|
||||||
|
QDirIterator iter(instDir);
|
||||||
|
|
||||||
|
while (iter.hasNext())
|
||||||
|
{
|
||||||
|
QString subDir = iter.next();
|
||||||
|
if (QFileInfo(PathCombine(subDir, "instance.cfg")).exists())
|
||||||
|
{
|
||||||
|
// TODO Differentiate between different instance types.
|
||||||
|
InstanceBase* inst = new StdInstance(subDir);
|
||||||
|
addInstance(inst);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
38
data/instancelist.h
Normal file
38
data/instancelist.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef INSTANCELIST_H
|
||||||
|
#define INSTANCELIST_H
|
||||||
|
|
||||||
|
#include <QList>
|
||||||
|
|
||||||
|
#include "instancebase.h"
|
||||||
|
|
||||||
|
class InstanceList : public QList<InstanceBase*>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit InstanceList();
|
||||||
|
|
||||||
|
void addInstance(InstanceBase *inst);
|
||||||
|
|
||||||
|
void loadInstances(QString dir);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INSTANCELIST_H
|
22
data/settingsbase.cpp
Normal file
22
data/settingsbase.cpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "settingsbase.h"
|
||||||
|
|
||||||
|
SettingsBase::SettingsBase(QString fileName) :
|
||||||
|
QSettings(fileName, QSettings::IniFormat)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
33
data/settingsbase.h
Normal file
33
data/settingsbase.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SETTINGSBASE_H
|
||||||
|
#define SETTINGSBASE_H
|
||||||
|
|
||||||
|
#include <QSettings>
|
||||||
|
|
||||||
|
#include "../util/settingsmacros.h"
|
||||||
|
|
||||||
|
class SettingsBase : public QSettings
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SettingsBase(QString fileName);
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "../util/settingsmacrosundef.h"
|
||||||
|
|
||||||
|
#endif // SETTINGSBASE_H
|
35
data/settingsmacros.h
Normal file
35
data/settingsmacros.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SETTINGSMACROS_H
|
||||||
|
#define SETTINGSMACROS_H
|
||||||
|
|
||||||
|
#define STR_VAL(val) # val
|
||||||
|
|
||||||
|
#define DEFINE_SETTING(funcName, name, defVal, typeName, toFunc) \
|
||||||
|
virtual typeName Get ## funcName() const { return value(name). ## toFunc(); } \
|
||||||
|
virtual void Set ## funcName(typeName value) { setValue(name, value); } \
|
||||||
|
virtual void Reset ## funcName() {
|
||||||
|
|
||||||
|
#define DEFINE_SETTING_STR(name, defVal) \
|
||||||
|
DEFINE_SETTING(name, STR_VAL(name), defVal, QString, toString)
|
||||||
|
|
||||||
|
#define DEFINE_SETTING_BOOL(name, defVal) \
|
||||||
|
DEFINE_SETTING(name, STR_VAL(name), defVal, bool, toBool)
|
||||||
|
|
||||||
|
#define DEFINE_SETTING_INT(name, defVal) \
|
||||||
|
DEFINE_SETTING(name, STR_VAL(name), defVal, int, toInt)
|
||||||
|
|
||||||
|
#endif // SETTINGSMACROS_H
|
26
data/settingsmacrosundef.h
Normal file
26
data/settingsmacrosundef.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef SETTINGSMACROSUNDEF_H
|
||||||
|
#define SETTINGSMACROSUNDEF_H
|
||||||
|
|
||||||
|
#undef DEFINE_SETTING
|
||||||
|
#undef DEFINE_SETTING_STR
|
||||||
|
#undef DEFINE_SETTING_BOOL
|
||||||
|
#undef DEFINE_SETTING_INT
|
||||||
|
|
||||||
|
#undef STR_VAL
|
||||||
|
|
||||||
|
#endif // SETTINGSMACROSUNDEF_H
|
22
data/stdinstance.cpp
Normal file
22
data/stdinstance.cpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "stdinstance.h"
|
||||||
|
|
||||||
|
StdInstance::StdInstance(QString dir) :
|
||||||
|
InstanceBase(dir)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
28
data/stdinstance.h
Normal file
28
data/stdinstance.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef STDINSTANCE_H
|
||||||
|
#define STDINSTANCE_H
|
||||||
|
|
||||||
|
#include "instancebase.h"
|
||||||
|
|
||||||
|
// Standard client instance.
|
||||||
|
class StdInstance : public InstanceBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StdInstance(QString dir);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // STDINSTANCE_H
|
@ -24,6 +24,10 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui(new Ui::MainWindow)
|
ui(new Ui::MainWindow)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
instList.loadInstances("instances");
|
||||||
|
|
||||||
|
model.setInstanceList(&instList);
|
||||||
|
ui->instListView->setModel(&model);
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
@ -43,7 +47,7 @@ void MainWindow::on_actionViewInstanceFolder_triggered()
|
|||||||
|
|
||||||
void MainWindow::on_actionRefresh_triggered()
|
void MainWindow::on_actionRefresh_triggered()
|
||||||
{
|
{
|
||||||
|
instList.loadInstances("instances");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionViewCentralModsFolder_triggered()
|
void MainWindow::on_actionViewCentralModsFolder_triggered()
|
||||||
|
@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
|
||||||
|
#include "../data/instancelist.h"
|
||||||
|
#include "../data/instancelistmodel.h"
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
}
|
}
|
||||||
@ -51,6 +54,9 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
|
|
||||||
|
InstanceList instList;
|
||||||
|
InstanceListModel model;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAINWINDOW_H
|
#endif // MAINWINDOW_H
|
||||||
|
0
stdinstance.cpp
Normal file
0
stdinstance.cpp
Normal file
0
stdinstance.h
Normal file
0
stdinstance.h
Normal file
@ -26,6 +26,11 @@ QString PathCombine(QString path1, QString path2)
|
|||||||
return path1.append(path2);
|
return path1.append(path2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString PathCombine(QString path1, QString path2, QString path3)
|
||||||
|
{
|
||||||
|
return PathCombine(PathCombine(path1, path2), path3);
|
||||||
|
}
|
||||||
|
|
||||||
QString AbsolutePath(QString path)
|
QString AbsolutePath(QString path)
|
||||||
{
|
{
|
||||||
return QFileInfo(path).absolutePath();
|
return QFileInfo(path).absolutePath();
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
QString PathCombine(QString path1, QString path2);
|
QString PathCombine(QString path1, QString path2);
|
||||||
|
QString PathCombine(QString path1, QString path2, QString path3);
|
||||||
|
|
||||||
QString AbsolutePath(QString path);
|
QString AbsolutePath(QString path);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user