diff --git a/src/gui/partitionmanagerwidget.h b/src/gui/partitionmanagerwidget.h --- a/src/gui/partitionmanagerwidget.h +++ b/src/gui/partitionmanagerwidget.h @@ -27,6 +27,26 @@ #include + +//added enum for column identification in main table widget +enum MainWidgetColumnName +{ col1 = 0, //Partiion + col2 = 1, // Type + col3 = 2, //Mount Point + col4 = 3, //Label + col5 = 4, //UUID + col6 = 5, //Size + col7 = 6, //Used + col8 = 7, //Available + col9 = 8, //First Sector + col10 = 9, //Last Sector + col11 = 10,//Number of Sector + col12 = 11,//Flags + col13 = 12,//GPT Label + col14 = 13,//GPT UUID + col15 = 14 //define like above! +}; + class Partition; class PartWidget; class Device; @@ -55,6 +75,7 @@ void partitionDoubleClicked(const Partition* p); public: + void setSelectedDevice(Device* d); void setSelectedDevice(const QString& deviceNode); diff --git a/src/gui/partitionmanagerwidget.cpp b/src/gui/partitionmanagerwidget.cpp --- a/src/gui/partitionmanagerwidget.cpp +++ b/src/gui/partitionmanagerwidget.cpp @@ -65,6 +65,8 @@ #include + + class PartitionTreeWidgetItem : public QTreeWidgetItem { Q_DISABLE_COPY(PartitionTreeWidgetItem) @@ -205,7 +207,8 @@ setSelectedPartition(nullptr); } -static QTreeWidgetItem* createTreeWidgetItem(const Partition& p) + +static QTreeWidgetItem* createTreeWidgetItem(const Partition& p,PartitionTable::TableType s) { QTreeWidgetItem* item = new PartitionTreeWidgetItem(&p); @@ -235,7 +238,12 @@ item->setText(i++, QLocale().toString(p.length())); item->setText(i++, PartitionTable::flagNames(p.activeFlags()).join(QStringLiteral(", "))); - + //Added Partition Table Label and UUID + if(s == PartitionTable::gpt) + { + item->setText(i++, p.label()); + item->setText(i++, p.uuid()); + } item->setSizeHint(0, QSize(0, 32)); return item; @@ -249,6 +257,19 @@ treePartitions().clear(); partTableWidget().clear(); + //for displaying the columns only when table is GPT + PartitionTable::TableType s = selectedDevice()->partitionTable()->type(); + if((s == PartitionTable::gpt)) + { + treePartitions().setColumnHidden(treePartitions().columnCount(), 0); + treePartitions().setColumnHidden(col13, false); + treePartitions().setColumnHidden(col14, false); + } + else + { + treePartitions().setColumnHidden(col13, true); + treePartitions().setColumnHidden(col14, true); + } partTableWidget().setPartitionTable(selectedDevice()->partitionTable()); QTreeWidgetItem* deviceItem = new QTreeWidgetItem(); @@ -268,10 +289,10 @@ if (selectedDevice()->partitionTable() != nullptr) { const auto children = selectedDevice()->partitionTable()->children(); for (const auto * p : children) { - QTreeWidgetItem* item = createTreeWidgetItem(*p); + QTreeWidgetItem* item = createTreeWidgetItem(*p,selectedDevice()->partitionTable()->type()); for (const auto &child : p->children()) { - QTreeWidgetItem* childItem = createTreeWidgetItem(*child); + QTreeWidgetItem* childItem = createTreeWidgetItem(*child,selectedDevice()->partitionTable()->type()); item->addChild(childItem); } diff --git a/src/gui/partitionmanagerwidgetbase.ui b/src/gui/partitionmanagerwidgetbase.ui --- a/src/gui/partitionmanagerwidgetbase.ui +++ b/src/gui/partitionmanagerwidgetbase.ui @@ -14,7 +14,16 @@ KDE Partition Manager - + + 0 + + + 0 + + + 0 + + 0 @@ -125,6 +134,16 @@ Flags + + + GPT Label + + + + + GPT UUID + +