rockbox/rbutil/rbutilqt/themesinstallwindow.h
Dominik Riebeling 9b783bc105 Separate select and install parts in themes install window.
Allow using the themes installation dialog as selection dialog separately from
installing themes. For this the installation is now triggered separately and
can be told to not to do the installation on Ok button. In this case the dialog
is selection only, and the Ok button is changed to Select. The installation
itself is still done in the class but started by calling the install() method
separately.

Change-Id: I856db8204788302b2b539e6d8283f73cb354f033
2012-06-26 18:30:27 +02:00

77 lines
2.3 KiB
C++

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Riebeling
*
* 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.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef INSTALLTHEMES_H
#define INSTALLTHEMES_H
#include <QtGui>
#include <QTemporaryFile>
#include "ui_themesinstallfrm.h"
#include "httpget.h"
#include "zipinstaller.h"
#include "progressloggergui.h"
class ThemesInstallWindow : public QDialog
{
Q_OBJECT
public:
ThemesInstallWindow(QWidget* parent = 0);
~ThemesInstallWindow();
void downloadInfo(void);
void show(void);
void setLogger(ProgressLoggerGui* l) { logger = l; }
void setSelectOnly(bool state) { windowSelectOnly = state; }
void install(void);
public slots:
void accept(void);
signals:
void done(bool);
private:
Ui::ThemeInstallFrm ui;
HttpGet *getter;
HttpGet igetter;
QTemporaryFile themesInfo;
void resizeEvent(QResizeEvent*);
void changeEvent(QEvent *event);
QByteArray imgData;
ProgressLoggerGui *logger;
ZipInstaller *installer;
QString file;
QString fileName;
QString infocachedir;
bool windowSelectOnly;
private slots:
void downloadDone(bool);
void downloadDone(int, bool);
void updateImage(bool);
void abort(void);
void updateDetails(QListWidgetItem* cur, QListWidgetItem* prev);
void updateSize(void);
};
#endif