summaryrefslogtreecommitdiff
path: root/ui/qt5/partitiondiskpage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt5/partitiondiskpage.cc')
-rw-r--r--ui/qt5/partitiondiskpage.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/ui/qt5/partitiondiskpage.cc b/ui/qt5/partitiondiskpage.cc
index 65a2994..2f7f9e9 100644
--- a/ui/qt5/partitiondiskpage.cc
+++ b/ui/qt5/partitiondiskpage.cc
@@ -14,6 +14,7 @@
#include <QLabel>
#include <QVBoxLayout>
+#include "partitionchoicepage.hh"
QIcon iconForDisk(Horizon::DiskMan::Disk disk) {
QString iconName;
@@ -44,8 +45,18 @@ PartitionDiskPage::PartitionDiskPage(QWidget *parent)
descLabel->setWordWrap(true);
diskChooser = new QListWidget;
- connect(diskChooser, &QListWidget::currentItemChanged,
- this, &PartitionDiskPage::completeChanged);
+ connect(diskChooser, &QListWidget::currentItemChanged, [=]{
+ if(diskChooser->currentItem() != nullptr) {
+ QVariant itemData = diskChooser->currentItem()->data(Qt::UserRole);
+ horizonWizard()->chosen_disk = itemData.toString().toStdString();
+
+ /* ensure that the Choice page receives our new disk information */
+ horizonWizard()->removePage(HorizonWizard::Page_PartitionChoose);
+ horizonWizard()->setPage(HorizonWizard::Page_PartitionChoose,
+ new PartitionChoicePage);
+ }
+ emit completeChanged();
+ });
diskChooser->setAutoFillBackground(true);
diskChooser->setFrameShape(QFrame::NoFrame);
diskChooser->setIconSize(QSize(32, 32));
@@ -72,6 +83,7 @@ void PartitionDiskPage::initializePage() {
.arg(disk.contiguous_block()).arg(disk.total_size())};
QListWidgetItem *item = new QListWidgetItem(iconForDisk(disk), name, diskChooser);
item->setToolTip(QString::fromStdString(disk.dev_path()));
+ item->setData(Qt::UserRole, QString::fromStdString(disk.node()));
}
if(horizonWizard()->disks.size() == 0) {