Initial upload of HyprArch releng configuration
This commit is contained in:
78
airootfs/usr/include/libcalamares/widgets/WaitingWidget.h
Normal file
78
airootfs/usr/include/libcalamares/widgets/WaitingWidget.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef WAITINGWIDGET_H
|
||||
#define WAITINGWIDGET_H
|
||||
|
||||
#include "DllMacro.h"
|
||||
|
||||
#include "widgets/waitingspinnerwidget.h"
|
||||
|
||||
#include <chrono>
|
||||
#include <memory>
|
||||
|
||||
class QLabel;
|
||||
class QTimer;
|
||||
|
||||
/** @brief A spinner and a label below it
|
||||
*
|
||||
* The spinner has a fixed size of 4* the font height,
|
||||
* and the text is displayed centered below it. Use this
|
||||
* to display a long-term waiting situation with a status report.
|
||||
*/
|
||||
class UIDLLEXPORT WaitingWidget : public WaitingSpinnerWidget
|
||||
{
|
||||
public:
|
||||
/// Create a WaitingWidget with initial @p text label.
|
||||
explicit WaitingWidget( const QString& text, QWidget* parent = nullptr );
|
||||
~WaitingWidget() override;
|
||||
|
||||
protected:
|
||||
void changeEvent( QEvent* event ) override;
|
||||
};
|
||||
|
||||
/** @brief A spinner and a countdown inside it
|
||||
*
|
||||
* The spinner is sized to the text-height and displays a
|
||||
* numeric countdown iside the spinner. The countdown is updated
|
||||
* every second. The signal timeout() is sent every time
|
||||
* the countdown reaches 0.
|
||||
*/
|
||||
class UIDLLEXPORT CountdownWaitingWidget : public WaitingSpinnerWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
/// Create a countdown widget with a given @p duration
|
||||
explicit CountdownWaitingWidget( std::chrono::seconds duration = std::chrono::seconds( 5 ),
|
||||
QWidget* parent = nullptr );
|
||||
~CountdownWaitingWidget() override;
|
||||
|
||||
/// Changes the duration used and resets the countdown
|
||||
void setInterval( std::chrono::seconds duration );
|
||||
|
||||
/// Start the countdown, resets to the full duration
|
||||
void start();
|
||||
/// Stop the countdown
|
||||
void stop();
|
||||
|
||||
Q_SIGNALS:
|
||||
void timeout();
|
||||
|
||||
protected Q_SLOTS:
|
||||
void tick();
|
||||
|
||||
protected:
|
||||
void changeEvent( QEvent* event ) override;
|
||||
|
||||
private:
|
||||
struct Private;
|
||||
std::unique_ptr< Private > d;
|
||||
};
|
||||
|
||||
#endif // WAITINGWIDGET_H
|
||||
Reference in New Issue
Block a user