From 90e028a2b0327e99696abeefe0d933ebbb40ffa2 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 30 Dec 2015 16:36:30 +0100 Subject: [PATCH] New ScanningDialog with a spinner. --- src/modules/partition/CMakeLists.txt | 1 + src/modules/partition/gui/ScanningDialog.cpp | 48 ++++++++++++++++++++ src/modules/partition/gui/ScanningDialog.h | 38 ++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 src/modules/partition/gui/ScanningDialog.cpp create mode 100644 src/modules/partition/gui/ScanningDialog.h diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 252d3b7c5..ef65ccfa0 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -43,6 +43,7 @@ calamares_add_plugin( partition gui/PartitionSplitterWidget.cpp gui/PartitionViewStep.cpp gui/PrettyRadioButton.cpp + gui/ScanningDialog.cpp gui/ExpandableRadioButton.cpp gui/ReplaceWidget.cpp jobs/CheckFileSystemJob.cpp diff --git a/src/modules/partition/gui/ScanningDialog.cpp b/src/modules/partition/gui/ScanningDialog.cpp new file mode 100644 index 000000000..bed07ced8 --- /dev/null +++ b/src/modules/partition/gui/ScanningDialog.cpp @@ -0,0 +1,48 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * + * Calamares 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 3 of the License, or + * (at your option) any later version. + * + * Calamares 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 Calamares. If not, see . + */ + +#include "ScanningDialog.h" + +#include "widgets/QtWaitingSpinner.h" + +#include +#include + + +ScanningDialog::ScanningDialog(const QString& text, QWidget* parent) + : QDialog( parent ) +{ + setModal( true ); + + QHBoxLayout* dialogLayout = new QHBoxLayout; + setLayout( dialogLayout ); + + QtWaitingSpinner* spinner = new QtWaitingSpinner; + dialogLayout->addWidget( spinner ); + spinner->start(); + + QLabel* rescanningLabel = new QLabel( text, + this ); + dialogLayout->addWidget( rescanningLabel ); +} + +void ScanningDialog::setVisible(bool visible) +{ + QDialog::setVisible( visible ); + emit visibilityChanged(); +} diff --git a/src/modules/partition/gui/ScanningDialog.h b/src/modules/partition/gui/ScanningDialog.h new file mode 100644 index 000000000..0ba22ad1e --- /dev/null +++ b/src/modules/partition/gui/ScanningDialog.h @@ -0,0 +1,38 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * + * Calamares 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 3 of the License, or + * (at your option) any later version. + * + * Calamares 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 Calamares. If not, see . + */ + +#ifndef SCANNINGDIALOG_H +#define SCANNINGDIALOG_H + +#include + + +class ScanningDialog : public QDialog +{ + Q_OBJECT +public: + explicit ScanningDialog( const QString& text, QWidget* parent = nullptr ); + +public slots: + void setVisible( bool visible ) override; + +signals: + void visibilityChanged(); +}; + +#endif // SCANNINGDIALOG_H