rbtutilQt: incorporate the complete and small install into rbutil.cpp, remove the multiinstaller files..

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14465 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2007-08-26 20:32:20 +00:00
parent 41f5afb886
commit aabc1305bc
5 changed files with 218 additions and 455 deletions

View file

@ -1,331 +0,0 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
* $Id: multinstaller.cpp 14462 2007-08-26 16:44:23Z domonoky $
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include <QtGui>
#include <QtNetwork>
#include "multiinstaller.h"
#include "installbootloader.h"
#include "progressloggergui.h"
#include "installzip.h"
#include "browseof.h"
#include "installthemes.h"
MultiInstaller::MultiInstaller(QObject* parent): QObject(parent)
{
}
void MultiInstaller::setUserSettings(QSettings* user)
{
userSettings = user;
}
void MultiInstaller::setDeviceSettings(QSettings* dev)
{
devices = dev;
}
void MultiInstaller::setProxy(QUrl proxy)
{
m_proxy = proxy;
}
void MultiInstaller::installSmall()
{
// create logger
logger = new ProgressLoggerGui(this);
logger->show();
m_plattform = userSettings->value("defaults/platform").toString();
m_mountpoint = userSettings->value("defaults/mountpoint").toString();
// show dialog with error if mount point is wrong
if(!QFileInfo(m_mountpoint).isDir()) {
logger->addItem(tr("Mount point is wrong!"),LOGERROR);
logger->abort();
return;
}
// Bootloader
m_error = false;
installed = false;
if(!installBootloader())
return;
else
{
// wait for boot loader installation finished
while(!installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Rockbox
m_error = false;
installed = false;
if(!installRockbox())
return;
else
{
// wait for boot loader installation finished
while(!installed)
QApplication::processEvents();
}
}
void MultiInstaller::installComplete()
{
// create logger
logger = new ProgressLoggerGui(this);
logger->show();
m_plattform = userSettings->value("defaults/platform").toString();
m_mountpoint = userSettings->value("defaults/mountpoint").toString();
// show dialog with error if mount point is wrong
if(!QFileInfo(m_mountpoint).isDir()) {
logger->addItem(tr("Mount point is wrong!"),LOGERROR);
logger->abort();
return;
}
// Bootloader
m_error = false;
installed = false;
if(!installBootloader())
return;
else
{
// wait for boot loader installation finished
while(!installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Rockbox
m_error = false;
installed = false;
if(!installRockbox())
return;
else
{
// wait for boot loader installation finished
while(!installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Fonts
m_error = false;
installed = false;
if(!installFonts())
return;
else
{
// wait for boot loader installation finished
while(!installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Doom
m_error = false;
installed = false;
if(!installDoom())
return;
else
{
// wait for boot loader installation finished
while(!installed)
QApplication::processEvents();
}
if(m_error) return;
// theme
// this is a window
// it has its own logger window,so close our.
logger->close();
installThemes();
}
void MultiInstaller::installdone(bool error)
{
installed = true;
m_error = error;
}
void MultiInstaller::setVersionStrings(QMap<QString, QString> ver)
{
version = ver;
// version strings map is as following:
// rel_rev release version revision id
// rel_date release version release date
// same for arch_* and bleed_*
qDebug() << "Install::setVersionStrings" << version;
}
bool MultiInstaller::installBootloader()
{
BootloaderInstaller* blinstaller = new BootloaderInstaller(this);
blinstaller->setMountPoint(m_mountpoint);
blinstaller->setProxy(m_proxy);
blinstaller->setDevice(m_plattform);
blinstaller->setBootloaderMethod(devices->value(m_plattform + "/bootloadermethod").toString());
blinstaller->setBootloaderName(devices->value(m_plattform + "/bootloadername").toString());
blinstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString());
blinstaller->setBootloaderInfoUrl(devices->value("bootloader_info_url").toString());
if(!blinstaller->downloadInfo())
{
logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR);
logger->abort();
return false;
}
if(blinstaller->uptodate())
{
int ret = QMessageBox::question(NULL, tr("Bootloader Installation"),
tr("It seem your Bootloader is already uptodate.\n"
"Do really want to install it?"),
QMessageBox::Ok | QMessageBox::Ignore |
QMessageBox::Cancel,
QMessageBox::Ignore);
if(ret == QMessageBox::Cancel)
{
logger->addItem(tr("Bootloader installation Canceled!"),LOGERROR);
logger->abort();
return false;
}
else if(ret == QMessageBox::Ignore)
{
// skip to next install step
logger->addItem(tr("Skipped Bootloader installation!"),LOGWARNING);
installed = true;
return true;
}
}
// if fwpatcher , ask for extra file
QString offirmware;
if(devices->value(m_plattform + "/bootloadermethod").toString() == "fwpatcher")
{
BrowseOF ofbrowser(NULL);
ofbrowser.setFile(userSettings->value("defaults/ofpath").toString());
if(ofbrowser.exec() == QDialog::Accepted)
{
offirmware = ofbrowser.getFile();
qDebug() << offirmware;
if(!QFileInfo(offirmware).exists())
{
logger->addItem(tr("Original Firmware Path is wrong!"),LOGERROR);
logger->abort();
return false;
}
else
{
userSettings->setValue("defaults/ofpath",offirmware);
userSettings->sync();
}
}
else
{
logger->addItem(tr("Original Firmware selection Canceled!"),LOGERROR);
logger->abort();
return false;
}
}
blinstaller->setOrigFirmwarePath(offirmware);
blinstaller->install(logger);
connect(blinstaller,SIGNAL(done(bool)),this,SLOT(installdone(bool)));
return true;
}
bool MultiInstaller::installRockbox()
{
QString file = QString("%1%2/rockbox.zip")
.arg(devices->value("bleeding_url").toString(),
userSettings->value("defaults/platform").toString());
QString myversion = "r" + version.value("bleed_rev");
ZipInstaller* installer = new ZipInstaller(this);
installer->setUrl(file);
installer->setProxy(m_proxy);
installer->setLogSection("rockboxbase");
installer->setLogVersion(myversion);
installer->setMountPoint(m_mountpoint);
installer->install(logger);
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
return true;
}
bool MultiInstaller::installFonts()
{
// create zip installer
ZipInstaller* installer = new ZipInstaller(this);
installer->setUrl(devices->value("font_url").toString());
installer->setProxy(m_proxy);
installer->setLogSection("Fonts");
installer->setLogVersion(version.value("arch_date"));
installer->setMountPoint(m_mountpoint);
installer->install(logger);
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
return true;
}
bool MultiInstaller::installDoom()
{
// create zip installer
ZipInstaller* installer = new ZipInstaller(this);
installer->setUrl(devices->value("doom_url").toString());
installer->setProxy(m_proxy);
installer->setLogSection("Game Addons");
installer->setLogVersion(version.value("arch_date"));
installer->setMountPoint(m_mountpoint);
installer->install(logger);
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
return true;
}
bool MultiInstaller::installThemes()
{
ThemesInstallWindow* tw = new ThemesInstallWindow(NULL);
tw->setDeviceSettings(devices);
tw->setUserSettings(userSettings);
tw->setProxy(m_proxy);
tw->setModal(true);
tw->show();
return true;
}

View file

@ -1,66 +0,0 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
* $Id: multiinstaller.h 14462 2007-08-26 16:44:23Z domonoky $
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef MULTIINSTALLER_H
#define MULTIINSTALLER_H
#include <QtGui>
#include "progressloggerinterface.h"
class MultiInstaller : public QObject
{
Q_OBJECT
public:
MultiInstaller(QObject* parent);
void setUserSettings(QSettings*);
void setDeviceSettings(QSettings*);
void setProxy(QUrl proxy);
void setVersionStrings(QMap<QString, QString>);
void installComplete();
void installSmall();
private slots:
void installdone(bool error);
private:
bool installBootloader();
bool installRockbox();
bool installDoom();
bool installFonts();
bool installThemes();
ProgressloggerInterface* logger;
QSettings *devices;
QSettings *userSettings;
QString m_mountpoint,m_plattform;
QUrl m_proxy;
QMap<QString, QString> version;
volatile bool installed;
volatile bool m_error;
};
#endif

View file

@ -84,10 +84,10 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
connect(ui.action_About, SIGNAL(triggered()), this, SLOT(about())); connect(ui.action_About, SIGNAL(triggered()), this, SLOT(about()));
connect(ui.action_Configure, SIGNAL(triggered()), this, SLOT(configDialog())); connect(ui.action_Configure, SIGNAL(triggered()), this, SLOT(configDialog()));
connect(ui.buttonChangeDevice, SIGNAL(clicked()), this, SLOT(configDialog())); connect(ui.buttonChangeDevice, SIGNAL(clicked()), this, SLOT(configDialog()));
connect(ui.buttonRockbox, SIGNAL(clicked()), this, SLOT(install())); connect(ui.buttonRockbox, SIGNAL(clicked()), this, SLOT(installBtn()));
connect(ui.buttonBootloader, SIGNAL(clicked()), this, SLOT(installBl())); connect(ui.buttonBootloader, SIGNAL(clicked()), this, SLOT(installBootloaderBtn()));
connect(ui.buttonFonts, SIGNAL(clicked()), this, SLOT(installFonts())); connect(ui.buttonFonts, SIGNAL(clicked()), this, SLOT(installFontsBtn()));
connect(ui.buttonGames, SIGNAL(clicked()), this, SLOT(installDoom())); connect(ui.buttonGames, SIGNAL(clicked()), this, SLOT(installDoomBtn()));
connect(ui.buttonTalk, SIGNAL(clicked()), this, SLOT(createTalkFiles())); connect(ui.buttonTalk, SIGNAL(clicked()), this, SLOT(createTalkFiles()));
connect(ui.buttonVoice, SIGNAL(clicked()), this, SLOT(installVoice())); connect(ui.buttonVoice, SIGNAL(clicked()), this, SLOT(installVoice()));
connect(ui.buttonThemes, SIGNAL(clicked()), this, SLOT(installThemes())); connect(ui.buttonThemes, SIGNAL(clicked()), this, SLOT(installThemes()));
@ -305,27 +305,78 @@ void RbUtilQt::completeInstall()
tr("Do you really want to make a complete Installation?"), tr("Do you really want to make a complete Installation?"),
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
MultiInstaller installer(this); // create logger
installer.setUserSettings(userSettings); logger = new ProgressLoggerGui(this);
installer.setDeviceSettings(devices); logger->show();
installer.setProxy(proxy());
QString mountpoint = userSettings->value("defaults/mountpoint").toString();
buildInfo.open(); // show dialog with error if mount point is wrong
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); if(!QFileInfo(mountpoint).isDir()) {
buildInfo.close(); logger->addItem(tr("Mount point is wrong!"),LOGERROR);
logger->abort();
devices->beginGroup(platform); return;
QString released = devices->value("released").toString(); }
devices->endGroup(); // Bootloader
if(released == "yes") { m_error = false;
// only set the keys if needed -- querying will yield an empty string m_installed = false;
// if not set. if(!installBootloaderAuto())
versmap.insert("rel_rev", devices->value("last_release").toString()); return;
versmap.insert("rel_date", ""); // FIXME: provide the release timestamp else
{
// wait for boot loader installation finished
while(!m_installed)
QApplication::processEvents();
} }
installer.setVersionStrings(versmap); if(m_error) return;
logger->undoAbort();
installer.installComplete();
// Rockbox
m_error = false;
m_installed = false;
if(!installAuto())
return;
else
{
// wait for boot loader installation finished
while(!m_installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Fonts
m_error = false;
m_installed = false;
if(!installFontsAuto())
return;
else
{
// wait for boot loader installation finished
while(!m_installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Doom
m_error = false;
m_installed = false;
if(!installDoomAuto())
return;
else
{
// wait for boot loader installation finished
while(!m_installed)
QApplication::processEvents();
}
if(m_error) return;
// theme
// this is a window
// it has its own logger window,so close our.
logger->close();
installThemes();
} }
@ -335,10 +386,61 @@ void RbUtilQt::smallInstall()
tr("Do you really want to make a small Installation?"), tr("Do you really want to make a small Installation?"),
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
MultiInstaller installer(this); // create logger
installer.setUserSettings(userSettings); logger = new ProgressLoggerGui(this);
installer.setDeviceSettings(devices); logger->show();
installer.setProxy(proxy());
QString mountpoint = userSettings->value("defaults/mountpoint").toString();
// show dialog with error if mount point is wrong
if(!QFileInfo(mountpoint).isDir()) {
logger->addItem(tr("Mount point is wrong!"),LOGERROR);
logger->abort();
return;
}
// Bootloader
m_error = false;
m_installed = false;
if(!installBootloaderAuto())
return;
else
{
// wait for boot loader installation finished
while(!m_installed)
QApplication::processEvents();
}
if(m_error) return;
logger->undoAbort();
// Rockbox
m_error = false;
m_installed = false;
if(!installAuto())
return;
else
{
// wait for boot loader installation finished
while(!m_installed)
QApplication::processEvents();
}
}
void RbUtilQt::installdone(bool error)
{
qDebug() << "install done";
m_installed = true;
m_error = error;
}
void RbUtilQt::installBtn()
{
install();
}
bool RbUtilQt::installAuto()
{
QString file = QString("%1%2/rockbox.zip")
.arg(devices->value("bleeding_url").toString(),
userSettings->value("defaults/platform").toString());
buildInfo.open(); buildInfo.open();
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
@ -353,10 +455,20 @@ void RbUtilQt::smallInstall()
versmap.insert("rel_rev", devices->value("last_release").toString()); versmap.insert("rel_rev", devices->value("last_release").toString());
versmap.insert("rel_date", ""); // FIXME: provide the release timestamp versmap.insert("rel_date", ""); // FIXME: provide the release timestamp
} }
installer.setVersionStrings(versmap);
installer.installSmall(); QString myversion = "r" + versmap.value("bleed_rev");
ZipInstaller* installer = new ZipInstaller(this);
installer->setUrl(file);
installer->setProxy(proxy());
installer->setLogSection("rockboxbase");
installer->setLogVersion(myversion);
installer->setMountPoint(userSettings->value("defaults/mountpoint").toString());
installer->install(logger);
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
return true;
} }
void RbUtilQt::install() void RbUtilQt::install()
@ -384,17 +496,28 @@ void RbUtilQt::install()
installWindow->show(); installWindow->show();
} }
bool RbUtilQt::installBootloaderAuto()
{
installBootloader();
connect(blinstaller,SIGNAL(done(bool)),this,SLOT(installdone(bool)));
return !m_error;
}
void RbUtilQt::installBl() void RbUtilQt::installBootloaderBtn()
{ {
if(QMessageBox::question(this, tr("Confirm Installation"), if(QMessageBox::question(this, tr("Confirm Installation"),
tr("Do you really want to install the Bootloader?"), tr("Do you really want to install the Bootloader?"),
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
// create logger // create logger
logger = new ProgressLoggerGui(this); logger = new ProgressLoggerGui(this);
logger->show(); logger->show();
installBootloader();
}
void RbUtilQt::installBootloader()
{
QString platform = userSettings->value("defaults/platform").toString(); QString platform = userSettings->value("defaults/platform").toString();
// create installer // create installer
@ -412,6 +535,7 @@ void RbUtilQt::installBl()
{ {
logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR); logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR);
logger->abort(); logger->abort();
m_error = true;
return; return;
} }
@ -420,15 +544,20 @@ void RbUtilQt::installBl()
int ret = QMessageBox::question(this, tr("Bootloader Installation"), int ret = QMessageBox::question(this, tr("Bootloader Installation"),
tr("It seem your Bootloader is already uptodate.\n" tr("It seem your Bootloader is already uptodate.\n"
"Do really want to install it?"), "Do really want to install it?"),
QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok | QMessageBox::Ignore |QMessageBox::Cancel,
QMessageBox::Cancel); QMessageBox::Cancel);
if(ret == QMessageBox::Cancel) if(ret == QMessageBox::Cancel)
{ {
logger->addItem(tr("Bootloader installation Canceled!"),LOGERROR); logger->addItem(tr("Bootloader installation Canceled!"),LOGERROR);
logger->abort(); logger->abort();
m_error = true;
return;
}
else if(ret == QMessageBox::Ignore)
{
m_installed = true;
return; return;
} }
} }
// if fwpatcher , ask for extra file // if fwpatcher , ask for extra file
@ -445,6 +574,7 @@ void RbUtilQt::installBl()
{ {
logger->addItem(tr("Original Firmware Path is wrong!"),LOGERROR); logger->addItem(tr("Original Firmware Path is wrong!"),LOGERROR);
logger->abort(); logger->abort();
m_error = true;
return; return;
} }
else else
@ -457,26 +587,34 @@ void RbUtilQt::installBl()
{ {
logger->addItem(tr("Original Firmware selection Canceled!"),LOGERROR); logger->addItem(tr("Original Firmware selection Canceled!"),LOGERROR);
logger->abort(); logger->abort();
m_error = true;
return; return;
} }
} }
blinstaller->setOrigFirmwarePath(offirmware); blinstaller->setOrigFirmwarePath(offirmware);
blinstaller->install(logger); blinstaller->install(logger);
} }
void RbUtilQt::installFontsBtn()
void RbUtilQt::installFonts()
{ {
if(QMessageBox::question(this, tr("Confirm Installation"), if(QMessageBox::question(this, tr("Confirm Installation"),
tr("Do you really want to install the fonts package?"), tr("Do you really want to install the fonts package?"),
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
// create logger // create logger
logger = new ProgressLoggerGui(this); logger = new ProgressLoggerGui(this);
logger->show(); logger->show();
}
bool RbUtilQt::installFontsAuto()
{
installFonts();
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
return !m_error;
}
void RbUtilQt::installFonts()
{
// create zip installer // create zip installer
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
@ -485,9 +623,7 @@ void RbUtilQt::installFonts()
installer->setLogSection("Fonts"); installer->setLogSection("Fonts");
installer->setLogVersion(versmap.value("arch_date")); installer->setLogVersion(versmap.value("arch_date"));
installer->setMountPoint(userSettings->value("defaults/mountpoint").toString()); installer->setMountPoint(userSettings->value("defaults/mountpoint").toString());
installer->install(logger); installer->install(logger);
// connect(installer, SIGNAL(done(bool)), this, SLOT(done(bool)));
} }
@ -520,16 +656,26 @@ void RbUtilQt::installVoice()
//connect(installer, SIGNAL(done(bool)), this, SLOT(done(bool))); //connect(installer, SIGNAL(done(bool)), this, SLOT(done(bool)));
} }
void RbUtilQt::installDoomBtn()
void RbUtilQt::installDoom()
{ {
if(QMessageBox::question(this, tr("Confirm Installation"), if(QMessageBox::question(this, tr("Confirm Installation"),
tr("Do you really want to install the game addon files?"), tr("Do you really want to install the game addon files?"),
QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return;
// create logger // create logger
logger = new ProgressLoggerGui(this); logger = new ProgressLoggerGui(this);
logger->show(); logger->show();
installDoom();
}
bool RbUtilQt::installDoomAuto()
{
installDoom();
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
return !m_error;
}
void RbUtilQt::installDoom()
{
// create zip installer // create zip installer
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
@ -539,8 +685,6 @@ void RbUtilQt::installDoom()
installer->setLogVersion(versmap.value("arch_date")); installer->setLogVersion(versmap.value("arch_date"));
installer->setMountPoint(userSettings->value("defaults/mountpoint").toString()); installer->setMountPoint(userSettings->value("defaults/mountpoint").toString());
installer->install(logger); installer->install(logger);
// connect(installer, SIGNAL(done(bool)), this, SLOT(done(bool)));
} }

View file

@ -56,18 +56,36 @@ class RbUtilQt : public QMainWindow
BootloaderInstaller* blinstaller; BootloaderInstaller* blinstaller;
QUrl proxy(void); QUrl proxy(void);
QMap<QString, QString> versmap; QMap<QString, QString> versmap;
volatile bool m_installed;
volatile bool m_error;
private slots: private slots:
void about(void); void about(void);
void configDialog(void); void configDialog(void);
void updateDevice(void); void updateDevice(void);
void updateSettings(void); void updateSettings(void);
void completeInstall(void); void completeInstall(void);
void smallInstall(void); void smallInstall(void);
void installdone(bool error);
void installBtn(void);
bool installAuto(void);
void install(void); void install(void);
void installBl(void);
void installBootloaderBtn(void);
bool installBootloaderAuto(void);
void installBootloader(void);
void installFontsBtn(void);
bool installFontsAuto(void);
void installFonts(void); void installFonts(void);
void installDoomBtn(void);
bool installDoomAuto(void);
void installDoom(void); void installDoom(void);
void createTalkFiles(void); void createTalkFiles(void);
void downloadDone(bool); void downloadDone(bool);
void downloadDone(int, bool); void downloadDone(int, bool);

View file

@ -34,8 +34,7 @@ SOURCES += rbutilqt.cpp \
uninstall.cpp \ uninstall.cpp \
uninstallwindow.cpp \ uninstallwindow.cpp \
browseof.cpp \ browseof.cpp \
preview.cpp \ preview.cpp
multiinstaller.cpp
HEADERS += rbutilqt.h \ HEADERS += rbutilqt.h \
install.h \ install.h \
@ -70,9 +69,8 @@ HEADERS += rbutilqt.h \
uninstall.h \ uninstall.h \
uninstallwindow.h \ uninstallwindow.h \
browseof.h \ browseof.h \
preview.h \ preview.h
multiinstaller.h
# Needed by QT on Win # Needed by QT on Win
INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher