Select unallocated partition by default (#667365)
After a refresh, instead of having no partition selected, default to the largest unallocated partition. This allows immediate creation of a new partition in the unallocated space. Closes Bug 667365 - Free space should be selected by default
This commit is contained in:
parent
9ad53d94a0
commit
3dd769d955
|
@ -820,6 +820,7 @@ bool Win_GParted::Merge_Operations( unsigned int first, unsigned int second )
|
||||||
void Win_GParted::Refresh_Visual()
|
void Win_GParted::Refresh_Visual()
|
||||||
{
|
{
|
||||||
std::vector<Partition> partitions = devices[ current_device ] .partitions ;
|
std::vector<Partition> partitions = devices[ current_device ] .partitions ;
|
||||||
|
int largest_unallocated = -1;
|
||||||
|
|
||||||
//make all operations visible
|
//make all operations visible
|
||||||
for ( unsigned int t = 0 ; t < operations .size(); t++ )
|
for ( unsigned int t = 0 ; t < operations .size(); t++ )
|
||||||
|
@ -859,7 +860,12 @@ void Win_GParted::Refresh_Visual()
|
||||||
index_extended = t ;
|
index_extended = t ;
|
||||||
primary_count++;
|
primary_count++;
|
||||||
break;
|
break;
|
||||||
|
case GParted::TYPE_UNALLOCATED :
|
||||||
|
if (largest_unallocated == -1)
|
||||||
|
largest_unallocated = t;
|
||||||
|
else if( (partitions[t].sector_end - partitions[t].sector_start) >
|
||||||
|
(partitions[largest_unallocated].sector_end - partitions[largest_unallocated].sector_start))
|
||||||
|
largest_unallocated = t;
|
||||||
default :
|
default :
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -873,6 +879,12 @@ void Win_GParted::Refresh_Visual()
|
||||||
|
|
||||||
//no partition can be selected after a refresh..
|
//no partition can be selected after a refresh..
|
||||||
selected_partition .Reset() ;
|
selected_partition .Reset() ;
|
||||||
|
if( largest_unallocated != -1 )
|
||||||
|
{
|
||||||
|
selected_partition = partitions[largest_unallocated];
|
||||||
|
treeview_detail.set_selected( selected_partition );
|
||||||
|
drawingarea_visualdisk.set_selected( selected_partition );
|
||||||
|
}
|
||||||
set_valid_operations() ;
|
set_valid_operations() ;
|
||||||
|
|
||||||
while ( Gtk::Main::events_pending() )
|
while ( Gtk::Main::events_pending() )
|
||||||
|
|
Loading…
Reference in New Issue