mirror of https://github.com/OpenMW/openmw.git
Working on the Unshield functionality
parent
dddd9cba57
commit
40486370d9
@ -0,0 +1,61 @@
|
||||
#include "unshieldthread.hpp"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QStringList>
|
||||
|
||||
Wizard::UnshieldThread::UnshieldThread(QObject *parent) :
|
||||
QThread(parent)
|
||||
{
|
||||
unshield_set_log_level(0);
|
||||
|
||||
mInstallMorrowind = false;
|
||||
mInstallTribunal = false;
|
||||
mInstallBloodmoon = false;
|
||||
|
||||
}
|
||||
|
||||
void Wizard::UnshieldThread::setInstallMorrowind(bool install)
|
||||
{
|
||||
mInstallMorrowind = install;
|
||||
}
|
||||
|
||||
void Wizard::UnshieldThread::setInstallTribunal(bool install)
|
||||
{
|
||||
mInstallTribunal = install;
|
||||
}
|
||||
|
||||
void Wizard::UnshieldThread::setInstallBloodmoon(bool install)
|
||||
{
|
||||
mInstallBloodmoon = install;
|
||||
}
|
||||
|
||||
void Wizard::UnshieldThread::setPath(const QString &path)
|
||||
{
|
||||
mPath = path;
|
||||
}
|
||||
|
||||
void Wizard::UnshieldThread::extract()
|
||||
{
|
||||
emit textChanged(QLatin1String("Starting installation"));
|
||||
emit textChanged(QLatin1String("Installation target: ") + mPath);
|
||||
|
||||
QStringList components;
|
||||
if (mInstallMorrowind)
|
||||
components << QLatin1String("Morrowind");
|
||||
|
||||
if (mInstallTribunal)
|
||||
components << QLatin1String("Tribunal");
|
||||
|
||||
if (mInstallBloodmoon)
|
||||
components << QLatin1String("Bloodmoon");
|
||||
|
||||
emit textChanged(QLatin1String("Components: ") + components.join(QLatin1String(", ")));
|
||||
|
||||
}
|
||||
|
||||
void Wizard::UnshieldThread::run()
|
||||
{
|
||||
qDebug() << "From worker thread: " << currentThreadId();
|
||||
|
||||
extract();
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
#ifndef UNSHIELDTHREAD_HPP
|
||||
#define UNSHIELDTHREAD_HPP
|
||||
|
||||
#include <QThread>
|
||||
|
||||
#include <libunshield.h>
|
||||
|
||||
namespace Wizard
|
||||
{
|
||||
|
||||
class UnshieldThread : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit UnshieldThread(QObject *parent = 0);
|
||||
|
||||
void setInstallMorrowind(bool install);
|
||||
void setInstallTribunal(bool install);
|
||||
void setInstallBloodmoon(bool install);
|
||||
|
||||
void setPath(const QString &path);
|
||||
|
||||
private:
|
||||
void extract();
|
||||
|
||||
void extractCab(const QString &cabFile,
|
||||
const QString &outputDir, bool extractIni);
|
||||
//void extractFile(Unshield *unshield,
|
||||
// )
|
||||
|
||||
bool mInstallMorrowind;
|
||||
bool mInstallTribunal;
|
||||
bool mInstallBloodmoon;
|
||||
|
||||
QString mPath;
|
||||
|
||||
protected:
|
||||
virtual void run();
|
||||
|
||||
signals:
|
||||
void textChanged(const QString &text);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // UNSHIELDTHREAD_HPP
|
Loading…
Reference in New Issue