Organize partition information fields into logical sections (#690542)
This is part of a series of changes to enable viewing all partition information details on a minimum 800x600 display. Part of Bug 690542 - Partition Information Dialog Warning not readable
This commit is contained in:
parent
5f6656f267
commit
7fc8aa49fe
|
@ -18,8 +18,6 @@
|
||||||
#include "../include/Dialog_Partition_Info.h"
|
#include "../include/Dialog_Partition_Info.h"
|
||||||
#include "../include/LVM2_PV_Info.h"
|
#include "../include/LVM2_PV_Info.h"
|
||||||
|
|
||||||
#include <gtkmm/separator.h>
|
|
||||||
|
|
||||||
namespace GParted
|
namespace GParted
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -179,17 +177,24 @@ void Dialog_Partition_Info::init_drawingarea()
|
||||||
|
|
||||||
void Dialog_Partition_Info::Display_Info()
|
void Dialog_Partition_Info::Display_Info()
|
||||||
{
|
{
|
||||||
int top = 0, bottom = 1 ;
|
|
||||||
Sector ptn_sectors = partition .get_sector_length() ;
|
Sector ptn_sectors = partition .get_sector_length() ;
|
||||||
|
|
||||||
LVM2_PV_Info lvm2_pv_info ;
|
LVM2_PV_Info lvm2_pv_info ;
|
||||||
|
Glib::ustring vgname = "" ; //Also used in partition status message
|
||||||
|
if ( partition .filesystem == FS_LVM2_PV )
|
||||||
|
vgname = lvm2_pv_info .get_vg_name( partition .get_path() ) ;
|
||||||
|
|
||||||
|
//initialize table top and bottom row number attach trackers
|
||||||
|
int top = 0, bottom = 1 ;
|
||||||
|
|
||||||
Gtk::Table* table(manage(new Gtk::Table()));
|
Gtk::Table* table(manage(new Gtk::Table()));
|
||||||
|
|
||||||
table ->set_border_width( 5 ) ;
|
table ->set_border_width( 5 ) ;
|
||||||
table ->set_col_spacings(10 ) ;
|
table ->set_col_spacings(10 ) ;
|
||||||
this ->get_vbox() ->pack_start( *table, Gtk::PACK_SHRINK ) ;
|
this ->get_vbox() ->pack_start( *table, Gtk::PACK_SHRINK ) ;
|
||||||
|
|
||||||
//filesystem
|
//FILE SYSTEM DETAIL SECTION
|
||||||
|
//file system
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("File system:") ) + "</b>" ),
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("File system:") ) + "</b>" ),
|
||||||
0, 1,
|
0, 1,
|
||||||
top, bottom,
|
top, bottom,
|
||||||
|
@ -199,101 +204,35 @@ void Dialog_Partition_Info::Display_Info()
|
||||||
top++, bottom++,
|
top++, bottom++,
|
||||||
Gtk::FILL ) ;
|
Gtk::FILL ) ;
|
||||||
|
|
||||||
//size
|
//label
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Size:") ) + "</b>" ),
|
if ( partition.type != GParted::TYPE_UNALLOCATED && partition.type != GParted::TYPE_EXTENDED )
|
||||||
0, 1,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL) ;
|
|
||||||
table ->attach( * Utils::mk_label( Utils::format_size( ptn_sectors, partition .sector_size ), true, false, true ),
|
|
||||||
1, 2,
|
|
||||||
top++, bottom++,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
|
|
||||||
if ( partition .sector_usage_known() )
|
|
||||||
{
|
{
|
||||||
//calculate relative diskusage
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Label:") ) + "</b>"),
|
||||||
int percent_used, percent_unused, percent_unallocated ;
|
|
||||||
partition .get_usage_triple( 100, percent_used, percent_unused, percent_unallocated ) ;
|
|
||||||
|
|
||||||
//Used
|
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Used:") ) + "</b>" ),
|
|
||||||
0, 1,
|
0, 1,
|
||||||
top, bottom,
|
top, bottom,
|
||||||
Gtk::FILL ) ;
|
Gtk::FILL) ;
|
||||||
table ->attach( * Utils::mk_label( Utils::format_size( partition .get_sectors_used(), partition .sector_size ), true, false, true ),
|
table ->attach( * Utils::mk_label( partition .get_label(), true, false, true ),
|
||||||
1, 2,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( "\t\t\t( " + Utils::num_to_str( percent_used ) + "% )"),
|
|
||||||
1, 2,
|
1, 2,
|
||||||
top++, bottom++,
|
top++, bottom++,
|
||||||
Gtk::FILL ) ;
|
Gtk::FILL) ;
|
||||||
|
|
||||||
//unused
|
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Unused:") ) + "</b>" ),
|
|
||||||
0, 1,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( Utils::format_size( partition .get_sectors_unused(), partition .sector_size ), true, false, true ),
|
|
||||||
1, 2,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( "\t\t\t( " + Utils::num_to_str( percent_unused ) + "% )"),
|
|
||||||
1, 2,
|
|
||||||
top++, bottom++,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
|
|
||||||
//unallocated
|
|
||||||
Sector sectors_unallocated = partition .get_sectors_unallocated() ;
|
|
||||||
if ( sectors_unallocated > 0 )
|
|
||||||
{
|
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Unallocated:") ) + "</b>" ),
|
|
||||||
0, 1,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( Utils::format_size( sectors_unallocated, partition .sector_size ), true, false, true ),
|
|
||||||
1, 2,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( "\t\t\t( " + Utils::num_to_str( percent_unallocated ) + "% )"),
|
|
||||||
1, 2,
|
|
||||||
top++, bottom++,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Glib::ustring vgname = "" ;
|
//uuid
|
||||||
if ( partition .filesystem == FS_LVM2_PV )
|
if ( partition.type != GParted::TYPE_UNALLOCATED && partition.type != GParted::TYPE_EXTENDED )
|
||||||
vgname = lvm2_pv_info .get_vg_name( partition .get_path() ) ;
|
|
||||||
|
|
||||||
//flags
|
|
||||||
if ( partition.type != GParted::TYPE_UNALLOCATED )
|
|
||||||
{
|
{
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Flags:") ) + "</b>" ),
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("UUID:") ) + "</b>"),
|
||||||
0, 1,
|
0, 1,
|
||||||
top, bottom,
|
top, bottom,
|
||||||
Gtk::FILL ) ;
|
Gtk::FILL) ;
|
||||||
table ->attach( * Utils::mk_label( Glib::build_path( ", ", partition .flags ), true, false, true ),
|
table ->attach( * Utils::mk_label( partition .uuid, true, false, true ),
|
||||||
1, 2,
|
1, 2,
|
||||||
top++, bottom++,
|
top++, bottom++,
|
||||||
Gtk::FILL ) ;
|
Gtk::FILL) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
//one blank line
|
//status
|
||||||
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
|
|
||||||
if ( partition .type != GParted::TYPE_UNALLOCATED && partition .status != GParted::STAT_NEW )
|
if ( partition .type != GParted::TYPE_UNALLOCATED && partition .status != GParted::STAT_NEW )
|
||||||
{
|
{
|
||||||
//path
|
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Path:") ) + "</b>" ),
|
|
||||||
0, 1,
|
|
||||||
top, bottom,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( Glib::build_path( "\n", partition .get_paths() ), true, false, true ),
|
|
||||||
1, 2,
|
|
||||||
top++, bottom++,
|
|
||||||
Gtk::FILL ) ;
|
|
||||||
|
|
||||||
//status
|
//status
|
||||||
Glib::ustring str_temp ;
|
Glib::ustring str_temp ;
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Status:") ) + "</b>" ),
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Status:") ) + "</b>" ),
|
||||||
|
@ -308,7 +247,7 @@ void Dialog_Partition_Info::Display_Info()
|
||||||
* means that this extended partition contains at least one logical
|
* means that this extended partition contains at least one logical
|
||||||
* partition that is mounted or otherwise active.
|
* partition that is mounted or otherwise active.
|
||||||
*/
|
*/
|
||||||
str_temp = _("Busy (At least one logical partition is mounted)") ;
|
str_temp = _("Busy (At least one logical partition is mounted)") ;
|
||||||
}
|
}
|
||||||
else if ( partition .filesystem == FS_LINUX_SWAP
|
else if ( partition .filesystem == FS_LINUX_SWAP
|
||||||
|| partition .filesystem == FS_LINUX_SWRAID
|
|| partition .filesystem == FS_LINUX_SWRAID
|
||||||
|
@ -330,7 +269,7 @@ void Dialog_Partition_Info::Display_Info()
|
||||||
}
|
}
|
||||||
else if ( partition .get_mountpoints() .size() )
|
else if ( partition .get_mountpoints() .size() )
|
||||||
{
|
{
|
||||||
str_temp = String::ucompose(
|
str_temp = String::ucompose(
|
||||||
/* TO TRANSLATORS: looks like Mounted on /mnt/mymountpoint */
|
/* TO TRANSLATORS: looks like Mounted on /mnt/mymountpoint */
|
||||||
_("Mounted on %1"),
|
_("Mounted on %1"),
|
||||||
Glib::build_path( ", ", partition .get_mountpoints() ) ) ;
|
Glib::build_path( ", ", partition .get_mountpoints() ) ) ;
|
||||||
|
@ -389,30 +328,132 @@ void Dialog_Partition_Info::Display_Info()
|
||||||
table ->attach( * Utils::mk_label( str_temp, true, false, true ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
table ->attach( * Utils::mk_label( str_temp, true, false, true ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
//label
|
//Optional Logical Volume Manager Physical Volume details
|
||||||
if ( partition.type != GParted::TYPE_UNALLOCATED && partition.type != GParted::TYPE_EXTENDED )
|
if ( partition .filesystem == FS_LVM2_PV )
|
||||||
{
|
{
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Label:") ) + "</b>"),
|
//Volume Group
|
||||||
0, 1,
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Volume Group:") ) + "</b>"),
|
||||||
top, bottom,
|
0, 1, top, bottom, Gtk::FILL ) ;
|
||||||
Gtk::FILL) ;
|
table ->attach( * Utils::mk_label( vgname, true, false, true ),
|
||||||
table ->attach( * Utils::mk_label( partition .get_label(), true, false, true ),
|
1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
1, 2,
|
|
||||||
top++, bottom++,
|
//Members
|
||||||
Gtk::FILL) ;
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Members:") ) + "</b>"),
|
||||||
|
0, 1, top, bottom, Gtk::FILL ) ;
|
||||||
|
|
||||||
|
std::vector<Glib::ustring> members ;
|
||||||
|
if ( ! vgname .empty() )
|
||||||
|
members = lvm2_pv_info .get_vg_members( vgname ) ;
|
||||||
|
|
||||||
|
if ( members .empty() )
|
||||||
|
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
table ->attach( * Utils::mk_label( members [0], true, false, true ),
|
||||||
|
1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
|
for ( unsigned int i = 1 ; i < members .size() ; i ++ )
|
||||||
|
{
|
||||||
|
table ->attach( * Utils::mk_label( "" ), 0, 1, top, bottom, Gtk::FILL) ;
|
||||||
|
table ->attach( * Utils::mk_label( members [i], true, false, true ),
|
||||||
|
1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//uuid
|
//one blank line
|
||||||
if ( partition.type != GParted::TYPE_UNALLOCATED && partition.type != GParted::TYPE_EXTENDED )
|
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
|
|
||||||
|
if ( partition .sector_usage_known() )
|
||||||
{
|
{
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("UUID:") ) + "</b>"),
|
//calculate relative diskusage
|
||||||
|
int percent_used, percent_unused, percent_unallocated ;
|
||||||
|
partition .get_usage_triple( 100, percent_used, percent_unused, percent_unallocated ) ;
|
||||||
|
|
||||||
|
//Used
|
||||||
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Used:") ) + "</b>" ),
|
||||||
0, 1,
|
0, 1,
|
||||||
top, bottom,
|
top, bottom,
|
||||||
Gtk::FILL) ;
|
Gtk::FILL ) ;
|
||||||
table ->attach( * Utils::mk_label( partition .uuid, true, false, true ),
|
table ->attach( * Utils::mk_label( Utils::format_size( partition .get_sectors_used(), partition .sector_size ), true, false, true ),
|
||||||
|
1, 2,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( "\t\t\t( " + Utils::num_to_str( percent_used ) + "% )"),
|
||||||
1, 2,
|
1, 2,
|
||||||
top++, bottom++,
|
top++, bottom++,
|
||||||
Gtk::FILL) ;
|
Gtk::FILL ) ;
|
||||||
|
|
||||||
|
//unused
|
||||||
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Unused:") ) + "</b>" ),
|
||||||
|
0, 1,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( Utils::format_size( partition .get_sectors_unused(), partition .sector_size ), true, false, true ),
|
||||||
|
1, 2,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( "\t\t\t( " + Utils::num_to_str( percent_unused ) + "% )"),
|
||||||
|
1, 2,
|
||||||
|
top++, bottom++,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
|
||||||
|
//unallocated
|
||||||
|
Sector sectors_unallocated = partition .get_sectors_unallocated() ;
|
||||||
|
if ( sectors_unallocated > 0 )
|
||||||
|
{
|
||||||
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Unallocated:") ) + "</b>" ),
|
||||||
|
0, 1,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( Utils::format_size( sectors_unallocated, partition .sector_size ), true, false, true ),
|
||||||
|
1, 2,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( "\t\t\t( " + Utils::num_to_str( percent_unallocated ) + "% )"),
|
||||||
|
1, 2,
|
||||||
|
top++, bottom++,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//size
|
||||||
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Size:") ) + "</b>" ),
|
||||||
|
0, 1,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL) ;
|
||||||
|
table ->attach( * Utils::mk_label( Utils::format_size( ptn_sectors, partition .sector_size ), true, false, true ),
|
||||||
|
1, 2,
|
||||||
|
top++, bottom++,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
|
||||||
|
//one blank line
|
||||||
|
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
||||||
|
|
||||||
|
//PARTITION DETAIL SECTION
|
||||||
|
//path
|
||||||
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Path:") ) + "</b>" ),
|
||||||
|
0, 1,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( Glib::build_path( "\n", partition .get_paths() ), true, false, true ),
|
||||||
|
1, 2,
|
||||||
|
top++, bottom++,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
|
||||||
|
if ( partition .type != GParted::TYPE_UNALLOCATED && partition .status != GParted::STAT_NEW )
|
||||||
|
{
|
||||||
|
//flags
|
||||||
|
if ( partition.type != GParted::TYPE_UNALLOCATED )
|
||||||
|
{
|
||||||
|
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Flags:") ) + "</b>" ),
|
||||||
|
0, 1,
|
||||||
|
top, bottom,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
table ->attach( * Utils::mk_label( Glib::build_path( ", ", partition .flags ), true, false, true ),
|
||||||
|
1, 2,
|
||||||
|
top++, bottom++,
|
||||||
|
Gtk::FILL ) ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//one blank line
|
//one blank line
|
||||||
|
@ -447,47 +488,6 @@ void Dialog_Partition_Info::Display_Info()
|
||||||
1, 2,
|
1, 2,
|
||||||
top++, bottom++,
|
top++, bottom++,
|
||||||
Gtk::FILL ) ;
|
Gtk::FILL ) ;
|
||||||
|
|
||||||
if ( partition .filesystem == FS_LVM2_PV )
|
|
||||||
{
|
|
||||||
//one blank line
|
|
||||||
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
|
|
||||||
//horizontal separator
|
|
||||||
Gtk::HSeparator * hsep( manage( new Gtk::HSeparator() ) ) ;
|
|
||||||
table ->attach( * hsep, 0, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
|
|
||||||
//one blank line
|
|
||||||
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
|
|
||||||
//Volume Group
|
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Volume Group:") ) + "</b>"),
|
|
||||||
0, 1, top, bottom, Gtk::FILL ) ;
|
|
||||||
table ->attach( * Utils::mk_label( vgname, true, false, true ),
|
|
||||||
1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
|
|
||||||
//Members
|
|
||||||
table ->attach( * Utils::mk_label( "<b>" + Glib::ustring( _("Members:") ) + "</b>"),
|
|
||||||
0, 1, top, bottom, Gtk::FILL ) ;
|
|
||||||
|
|
||||||
std::vector<Glib::ustring> members ;
|
|
||||||
if ( ! vgname .empty() )
|
|
||||||
members = lvm2_pv_info .get_vg_members( vgname ) ;
|
|
||||||
|
|
||||||
if ( members .empty() )
|
|
||||||
table ->attach( * Utils::mk_label( "" ), 1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
table ->attach( * Utils::mk_label( members [0], true, false, true ),
|
|
||||||
1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
for ( unsigned int i = 1 ; i < members .size() ; i ++ )
|
|
||||||
{
|
|
||||||
table ->attach( * Utils::mk_label( "" ), 0, 1, top, bottom, Gtk::FILL) ;
|
|
||||||
table ->attach( * Utils::mk_label( members [i], true, false, true ),
|
|
||||||
1, 2, top++, bottom++, Gtk::FILL ) ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Dialog_Partition_Info::~Dialog_Partition_Info()
|
Dialog_Partition_Info::~Dialog_Partition_Info()
|
||||||
|
|
Loading…
Reference in New Issue