[gparted] Return class member from Dialog_Partition_New::Get_New_Partition() (#757671)
- From: Curtis Gedak <gedakc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted] Return class member from Dialog_Partition_New::Get_New_Partition() (#757671)
- Date: Wed, 11 Nov 2015 17:17:57 +0000 (UTC)
commit 762cd1094aece03986226a39d1f6b4fecfd73ee9
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date: Tue Nov 3 22:00:36 2015 +0000
Return class member from Dialog_Partition_New::Get_New_Partition() (#757671)
Replace the use of local Partition variable with class member in
preparation for Dialog_Partition_New::Get_New_Partition() being changed
to return the new partition object by reference instead of by value.
part_temp -> new_partition
Bug 757671 - Rework Dialog_Partition_New::Get_New_Partition() a bit
src/Dialog_Partition_New.cc | 79 ++++++++++++++++++++++---------------------
1 files changed, 40 insertions(+), 39 deletions(-)
---
diff --git a/src/Dialog_Partition_New.cc b/src/Dialog_Partition_New.cc
index 927f9c2..08c2625 100644
--- a/src/Dialog_Partition_New.cc
+++ b/src/Dialog_Partition_New.cc
@@ -179,7 +179,6 @@ void Dialog_Partition_New::set_data( const Device & device,
Partition Dialog_Partition_New::Get_New_Partition( Byte_Value sector_size )
{
- Partition part_temp ;
PartitionType part_type ;
Sector new_start, new_end;
@@ -204,48 +203,50 @@ Partition Dialog_Partition_New::Get_New_Partition( Byte_Value sector_size )
if ( new_end > new_partition.sector_end )
new_end = new_partition.sector_end;
- part_temp .status = GParted::STAT_NEW ;
- part_temp.Set( new_partition.device_path,
- String::ucompose( _("New Partition #%1"), new_count ),
- new_count, part_type, new_partition.whole_device,
- FILESYSTEMS[optionmenu_filesystem.get_history()].filesystem,
- new_start, new_end,
- sector_size,
- new_partition.inside_extended, false );
+ // Grow new partition a bit if freespaces are < 1 MiB
+ if ( (new_start - new_partition.sector_start) < (MEBIBYTE / sector_size) )
+ new_start = new_partition.sector_start;
+ if ( (new_partition.sector_end - new_end) < (MEBIBYTE / sector_size) )
+ new_end = new_partition.sector_end;
+
+ new_partition.status = STAT_NEW;
+ new_partition.Set( new_partition.device_path, // NOTE: Glib::ustring object self assignment
+ String::ucompose( _("New Partition #%1"), new_count ),
+ new_count, part_type, new_partition.whole_device,
+ FILESYSTEMS[optionmenu_filesystem.get_history()].filesystem,
+ new_start, new_end,
+ sector_size,
+ new_partition.inside_extended, false );
// Retrieve partition name
- part_temp.name = Utils::trim( partition_name_entry.get_text() );
+ new_partition.name = Utils::trim( partition_name_entry.get_text() );
//Retrieve Label info
- part_temp.set_filesystem_label( Utils::trim( filesystem_label_entry.get_text() ) );
-
- //grow new partition a bit if freespaces are < 1 MiB
- if ( (part_temp.sector_start - new_partition.sector_start) < (MEBIBYTE / sector_size) )
- part_temp.sector_start = new_partition.sector_start;
- if ( (new_partition.sector_end - part_temp.sector_end) < (MEBIBYTE / sector_size) )
- part_temp.sector_end = new_partition.sector_end;
+ new_partition.set_filesystem_label( Utils::trim( filesystem_label_entry.get_text() ) );
//set alignment
switch ( optionmenu_alignment .get_history() )
{
- case 0 : part_temp .alignment = GParted::ALIGN_CYLINDER; break;
- case 1 : part_temp .alignment = GParted::ALIGN_MEBIBYTE;
- {
- //if start sector not MiB aligned and free space available then add ~1 MiB to
partition so requested size is kept
- Sector diff = ( MEBIBYTE / part_temp .sector_size ) - ( part_temp .sector_end
+ 1 ) % ( MEBIBYTE / part_temp .sector_size ) ;
- if ( diff
- && ( part_temp .sector_start % (MEBIBYTE / part_temp .sector_size ) ) > 0
- && ( ( part_temp .sector_end - START +1 + diff ) < total_length )
- )
- part_temp .sector_end += diff ;
- }
- break;
- case 2 : part_temp .alignment = GParted::ALIGN_STRICT; break;
-
- default : part_temp .alignment = GParted::ALIGN_MEBIBYTE ;
+ case 0: new_partition.alignment = ALIGN_CYLINDER; break;
+ case 1: new_partition.alignment = ALIGN_MEBIBYTE;
+ {
+ // If start sector not MiB aligned and free space available
+ // then add ~1 MiB to partition so requested size is kept
+ Sector diff = (MEBIBYTE / new_partition.sector_size) -
+ (new_partition.sector_end + 1) % (MEBIBYTE /
new_partition.sector_size);
+ if ( diff
+ && ( new_partition.sector_start % (MEBIBYTE / new_partition.sector_size
) ) > 0
+ && ( (new_partition.sector_end - START + 1 + diff) < total_length )
+ )
+ new_partition.sector_end += diff;
+ }
+ break;
+ case 2: new_partition.alignment = ALIGN_STRICT; break;
+
+ default: new_partition.alignment = ALIGN_MEBIBYTE; break;
}
- part_temp .free_space_before = Sector(spinbutton_before .get_value_as_int()) * (MEBIBYTE /
sector_size) ;
+ new_partition.free_space_before = Sector(spinbutton_before .get_value_as_int()) * (MEBIBYTE /
sector_size);
// Create unallocated space within this new extended partition
//
@@ -268,19 +269,19 @@ Partition Dialog_Partition_New::Get_New_Partition( Byte_Value sector_size )
// snap_to_alignment() needs including in it. It will need abstracting into a set
// of methods so that it can be used in each dialog which creates and modified
// partition boundaries.
- if ( part_temp.type == TYPE_EXTENDED )
+ if ( new_partition.type == TYPE_EXTENDED )
{
Partition unallocated;
- unallocated.Set_Unallocated( part_temp.device_path,
- part_temp.whole_device,
- part_temp.sector_start,
- part_temp.sector_end,
+ unallocated.Set_Unallocated( new_partition.device_path,
+ new_partition.whole_device,
+ new_partition.sector_start,
+ new_partition.sector_end,
sector_size,
true );
- part_temp.logicals.push_back( unallocated );
+ new_partition.logicals.push_back( unallocated );
}
- return part_temp;
+ return new_partition;
}
void Dialog_Partition_New::optionmenu_changed( bool type )
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]