Skip to content

Commit

Permalink
Add option to attach VG
Browse files Browse the repository at this point in the history
  • Loading branch information
vicr123 committed Aug 15, 2023
1 parent c46eed4 commit 637d22f
Show file tree
Hide file tree
Showing 11 changed files with 159 additions and 32 deletions.
46 changes: 39 additions & 7 deletions application/diskPanes/lvmdiskpane.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@
#include "ui_lvmdiskpane.h"

#include <DriveObjects/diskobject.h>
#include <DriveObjects/partitioninterface.h>
#include <DriveObjects/partitiontableinterface.h>
#include <DriveObjects/physicalvolumeinterface.h>
#include <DriveObjects/volumegroup.h>
#include <partitioninformation.h>

struct LvmDiskPanePrivate {
DiskObject* disk;
Expand All @@ -14,23 +17,52 @@ LvmDiskPane::LvmDiskPane(DiskObject* disk, QWidget* parent) :
ui(new Ui::LvmDiskPane) {
ui->setupUi(this);
d = new LvmDiskPanePrivate();
d->disk = disk;

auto pv = disk->interface<PhysicalVolumeInterface>();
if (!pv) {
this->setVisible(false);
return;
}
connect(disk, &DiskObject::interfaceAdded, this, &LvmDiskPane::updateDetails);
connect(disk, &DiskObject::interfaceRemoved, this, &LvmDiskPane::updateDetails);

// connect(pv->volumeGroup(), &VolumeGroup::)
ui->lvmDescription->setText(tr("This block is part of the %1 volume group").arg(QLocale().quoteString(pv->volumeGroup()->name())));
ui->evictDataButton->setProperty("type", "destructive");

this->updateDetails();
}

LvmDiskPane::~LvmDiskPane() {
delete ui;
delete d;
}

void LvmDiskPane::updateDetails() {
auto partition = d->disk->interface<PartitionInterface>();
if (!partition) {
this->setVisible(false);
return;
}

auto partitionTable = partition->parentTable()->interface<PartitionTableInterface>();
if (partition->type() != PartitionInformation::partitionType("lvmpv", partitionTable->type())) {
this->setVisible(false);
return;
}

this->setVisible(true);
auto pv = d->disk->interface<PhysicalVolumeInterface>();
if (pv) {
ui->lvmDescription->setText(tr("This block is part of the %1 volume group.").arg(QLocale().quoteString(pv->volumeGroup()->name())));
ui->evictDataButton->setVisible(true);
ui->viewVgButton->setVisible(true);
ui->attachVgButton->setVisible(false);
} else {
ui->lvmDescription->setText(tr("This block is not part of a volume group."));
ui->evictDataButton->setVisible(false);
ui->viewVgButton->setVisible(false);
ui->attachVgButton->setVisible(true);
}
}

int LvmDiskPane::order() const {
return 20;
}

void LvmDiskPane::on_attachVgButton_clicked() {
}
4 changes: 4 additions & 0 deletions application/diskPanes/lvmdiskpane.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,13 @@ class LvmDiskPane : public DiskPaneComponent {
Ui::LvmDiskPane* ui;
LvmDiskPanePrivate* d;

void updateDetails();

// DiskPaneComponent interface
public:
int order() const;
private slots:
void on_attachVgButton_clicked();
};

#endif // LVMDISKPANE_H
13 changes: 12 additions & 1 deletion application/diskPanes/lvmdiskpane.ui
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@
<string>Relocate Data</string>
</property>
<property name="icon">
<iconset theme="lvm-pv-evict"/>
<iconset theme="lvm-pv-evict">
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
Expand All @@ -95,6 +96,16 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="attachVgButton">
<property name="text">
<string>Attach to Volume Group</string>
</property>
<property name="icon">
<iconset theme="list-add"/>
</property>
</widget>
</item>
</layout>
</item>
</layout>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/ar_SA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/da.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/en_US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/he_IL.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/pt_BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/tr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down
16 changes: 13 additions & 3 deletions application/translations/vi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.ui" line="94"/>
<location filename="../diskPanes/lvmdiskpane.ui" line="95"/>
<source>View Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="25"/>
<source>This block is part of the %1 volume group</source>
<location filename="../diskPanes/lvmdiskpane.ui" line="102"/>
<source>Attach to Volume Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="51"/>
<source>This block is part of the %1 volume group.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../diskPanes/lvmdiskpane.cpp" line="56"/>
<source>This block is not part of a volume group.</source>
<translation type="unfinished"></translation>
</message>
</context>
Expand Down

0 comments on commit 637d22f

Please sign in to comment.