1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/updater/widget.h
2016-01-15 17:40:12 +01:00

68 lines
1.5 KiB
C++

/*
Copyright © 2014 by The qTox Project
This file is part of qTox, a Qt-based graphical interface for Tox.
qTox is libre 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.
qTox 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 qTox. If not, see <http://www.gnu.org/licenses/>
*/
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#ifdef Q_OS_WIN
#include <windows.h>
#endif
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
// Utilities
void deleteBackups();
void restoreBackups();
void setProgress(int value);
QString getSettingsDirPath();
bool isToxPortableEnabled();
// Noreturn
void fatalError(QString message); ///< Calls deleteUpdate and startQToxAndExit
void deleteUpdate();
void startQToxAndExit();
public slots:
// Finds and applies the update
void update();
private:
Ui::Widget *ui;
QStringList backups;
#ifdef Q_OS_WIN
HANDLE hPrimaryToken;
#endif
};
#endif // WIDGET_H