removed sleep( 1 ). This isn't needed anymore now the layout is scanned

* src/GParted_Core.cc: removed sleep( 1 ). This isn't needed anymore now the layout is scanned before the re-readtest. (saves seconds at scantime :) )
* replaced C-style typeconversion with static_casts throughout the project.
This commit is contained in:
Bart Hakvoort 2005-01-19 20:01:39 +00:00
parent fb4af15865
commit fa255c48de
13 changed files with 130 additions and 160 deletions

View File

@ -1,4 +1,9 @@
2005-01-11 Bart Hakvoort <hakvoort@cvs.gnome.org> 2005-01-19 Bart Hakvoort <hakvoort@cvs.gnome.org>
* src/GParted_Core.cc: removed sleep( 1 ). This isn't needed anymore now the layout is scanned before the re-readtest. (saves seconds at scantime :) )
* replaced C-style typeconversion with static_casts throughout the project.
2005-01-18 Bart Hakvoort <hakvoort@cvs.gnome.org>
* include/Utils.h: used static_cast<> instead of C-style type conversion. * include/Utils.h: used static_cast<> instead of C-style type conversion.
* src/Makefile.am: install gparted binary in bin/ instead of sbin/ (as soon as i've time i want to implement a read-only modus) * src/Makefile.am: install gparted binary in bin/ instead of sbin/ (as soon as i've time i want to implement a read-only modus)

View File

@ -41,7 +41,6 @@ Dialog_Base_Partition::Dialog_Base_Partition( )
//put the vbox with resizer stuff (cool widget and spinbuttons) in the hbox_main //put the vbox with resizer stuff (cool widget and spinbuttons) in the hbox_main
hbox_main .pack_start( vbox_resize_move, Gtk::PACK_EXPAND_PADDING); hbox_main .pack_start( vbox_resize_move, Gtk::PACK_EXPAND_PADDING);
//fill table //fill table
table_resize .set_border_width( 5 ) ; table_resize .set_border_width( 5 ) ;
table_resize .set_row_spacings( 5 ) ; table_resize .set_row_spacings( 5 ) ;
@ -71,7 +70,6 @@ Dialog_Base_Partition::Dialog_Base_Partition( )
spinbutton_after .set_increments( 1, 100 ); spinbutton_after .set_increments( 1, 100 );
table_resize.attach( spinbutton_after, 1, 2, 2, 3, Gtk::FILL); table_resize.attach( spinbutton_after, 1, 2, 2, 3, Gtk::FILL);
if ( ! fixed_start ) if ( ! fixed_start )
before_value = spinbutton_before .get_value() ; before_value = spinbutton_before .get_value() ;
@ -114,13 +112,13 @@ void Dialog_Base_Partition::Set_Resizer( bool extended )
this ->show_all_children( ) ; this ->show_all_children( ) ;
} }
Partition Dialog_Base_Partition::Get_New_Partition() Partition Dialog_Base_Partition::Get_New_Partition( )
{ {
if ( ORIG_BEFORE != spinbutton_before .get_value_as_int() ) if ( ORIG_BEFORE != spinbutton_before .get_value_as_int( ) )
selected_partition .sector_start = START + (Sector) spinbutton_before .get_value() * MEGABYTE ; selected_partition .sector_start = START + (Sector) spinbutton_before .get_value() * MEGABYTE ;
if ( ORIG_AFTER != spinbutton_after .get_value_as_int() ) if ( ORIG_AFTER != spinbutton_after .get_value_as_int( ) )
selected_partition .sector_end = selected_partition .sector_start + (Sector) spinbutton_size .get_value() * MEGABYTE ; selected_partition .sector_end = selected_partition .sector_start + (Sector) spinbutton_size .get_value( ) * MEGABYTE ;
//due to loss of precision during calcs from Sector -> MB and back, it is possible the new partition thinks it's bigger then it can be. Here we solve this. //due to loss of precision during calcs from Sector -> MB and back, it is possible the new partition thinks it's bigger then it can be. Here we solve this.
if ( selected_partition.sector_start < START ) if ( selected_partition.sector_start < START )
@ -161,7 +159,6 @@ void Dialog_Base_Partition::Set_Confirm_Button( CONFIRMBUTTON button_type )
case PASTE : this->add_button( Gtk::Stock::PASTE,Gtk::RESPONSE_OK ); case PASTE : this->add_button( Gtk::Stock::PASTE,Gtk::RESPONSE_OK );
break ; break ;
} }
} }
void Dialog_Base_Partition::Set_MinMax_Text( long min, long max ) void Dialog_Base_Partition::Set_MinMax_Text( long min, long max )
@ -256,9 +253,9 @@ void Dialog_Base_Partition::on_spinbutton_value_changed( SPINBUTTON spinbutton )
//And apply the changes to the visual view... //And apply the changes to the visual view...
if ( ! fixed_start ) if ( ! fixed_start )
frame_resizer_base ->set_x_start( (int) ( spinbutton_before .get_value( ) / MB_PER_PIXEL + 0.5 ) ) ; frame_resizer_base ->set_x_start( Round( spinbutton_before .get_value( ) / MB_PER_PIXEL ) ) ;
frame_resizer_base ->set_x_end( (int) ( 500 - ( (double) spinbutton_after .get_value( ) / MB_PER_PIXEL ) + 0.5 ) ) ; frame_resizer_base ->set_x_end( 500 - Round( spinbutton_after .get_value( ) / MB_PER_PIXEL ) ) ;
frame_resizer_base ->Draw_Partition( ) ; frame_resizer_base ->Draw_Partition( ) ;
@ -266,11 +263,11 @@ void Dialog_Base_Partition::on_spinbutton_value_changed( SPINBUTTON spinbutton )
} }
} }
void Dialog_Base_Partition::Check_Change() void Dialog_Base_Partition::Check_Change( )
{ {
if ( ORIG_BEFORE == spinbutton_before .get_value_as_int() && if ( ORIG_BEFORE == spinbutton_before .get_value_as_int( ) &&
ORIG_SIZE == spinbutton_size .get_value_as_int() && ORIG_SIZE == spinbutton_size .get_value_as_int( ) &&
ORIG_AFTER== spinbutton_after .get_value_as_int() ORIG_AFTER== spinbutton_after .get_value_as_int( )
) )
button_resize_move .set_sensitive( false ) ; button_resize_move .set_sensitive( false ) ;
else else

View File

@ -41,15 +41,16 @@ void Dialog_Partition_Copy::Set_Data( const Partition & selected_partition, cons
START = selected_partition .sector_start ; START = selected_partition .sector_start ;
total_length = selected_partition .sector_end - selected_partition .sector_start ; total_length = selected_partition .sector_end - selected_partition .sector_start ;
TOTAL_MB = selected_partition .Get_Length_MB( ) ; TOTAL_MB = selected_partition .Get_Length_MB( ) ;
MB_PER_PIXEL = (double) TOTAL_MB / 500 ; MB_PER_PIXEL = TOTAL_MB / 500.00 ;
long COPIED_LENGTH_MB = copied_partition .Get_Length_MB( ) ; long COPIED_LENGTH_MB = copied_partition .Get_Length_MB( ) ;
//now calculate proportional length of partition //now calculate proportional length of partition
frame_resizer_base ->set_x_start( 0 ) ; frame_resizer_base ->set_x_start( 0 ) ;
int x_end = Round( COPIED_LENGTH_MB / ( (double)TOTAL_MB/500 ) ) ; //> 500 px only possible with xfs... int x_end = Round( COPIED_LENGTH_MB / ( TOTAL_MB/500.00 ) ) ; //> 500 px only possible with xfs...
frame_resizer_base ->set_x_end( x_end > 500 ? 500 : x_end ) ; frame_resizer_base ->set_x_end( x_end > 500 ? 500 : x_end ) ;
frame_resizer_base ->set_used( Round( copied_partition .Get_Used_MB( ) / ( (double)TOTAL_MB/500) ) ) ; frame_resizer_base ->set_used( Round( copied_partition .Get_Used_MB( ) / ( TOTAL_MB/500.00) ) ) ;
fs .MAX = ( ! fs .MAX || fs .MAX > TOTAL_MB ) ? TOTAL_MB : fs .MAX -= BUF ; fs .MAX = ( ! fs .MAX || fs .MAX > TOTAL_MB ) ? TOTAL_MB : fs .MAX -= BUF ;
if ( fs .filesystem == "xfs" ) //bit hackisch, but most effective, since it's a unique situation if ( fs .filesystem == "xfs" ) //bit hackisch, but most effective, since it's a unique situation
@ -71,7 +72,7 @@ void Dialog_Partition_Copy::Set_Data( const Partition & selected_partition, cons
spinbutton_after .set_value( TOTAL_MB - COPIED_LENGTH_MB ) ; spinbutton_after .set_value( TOTAL_MB - COPIED_LENGTH_MB ) ;
GRIP = false ; GRIP = false ;
frame_resizer_base ->set_size_limits( (int) ( fs .MIN / MB_PER_PIXEL), (int) (fs .MAX / MB_PER_PIXEL) +1 ) ; frame_resizer_base ->set_size_limits( static_cast<int> (fs .MIN / MB_PER_PIXEL), static_cast<int> (fs .MAX / MB_PER_PIXEL) +1 ) ;
//set contents of label_minmax //set contents of label_minmax
Set_MinMax_Text( fs .MIN, fs .MAX ) ; Set_MinMax_Text( fs .MIN, fs .MAX ) ;
@ -82,10 +83,10 @@ void Dialog_Partition_Copy::Set_Data( const Partition & selected_partition, cons
selected_partition .inside_extended ? this ->selected_partition .type = GParted::LOGICAL : this ->selected_partition .type = GParted::PRIMARY ; selected_partition .inside_extended ? this ->selected_partition .type = GParted::LOGICAL : this ->selected_partition .type = GParted::PRIMARY ;
} }
Partition Dialog_Partition_Copy::Get_New_Partition() Partition Dialog_Partition_Copy::Get_New_Partition( )
{ {
//first call baseclass to get the correct new partition //first call baseclass to get the correct new partition
selected_partition = Dialog_Base_Partition::Get_New_Partition() ; selected_partition = Dialog_Base_Partition::Get_New_Partition( ) ;
//set proper name and status for partition //set proper name and status for partition
selected_partition.status = GParted::STAT_COPY ; selected_partition.status = GParted::STAT_COPY ;

View File

@ -103,8 +103,8 @@ void Dialog_Partition_Info::init_drawingarea( )
//calculate proportional width of used and unused //calculate proportional width of used and unused
used = unused = 0 ; used = unused = 0 ;
used = (int) ( ( (375 - BORDER *2) / ( (double) (partition .sector_end - partition .sector_start) / partition .sectors_used ) )+0.5 ) ; used = Round( (375 - BORDER *2) / ( static_cast<double> (partition .sector_end - partition .sector_start) / partition .sectors_used ) ) ;
unused = 375 - used - (BORDER *2) ; unused = 375 - used - BORDER *2 ;
//allocate some colors //allocate some colors
color_used.set( "#F8F8BA" ); this ->get_colormap( ) ->alloc_color( color_used ) ; color_used.set( "#F8F8BA" ); this ->get_colormap( ) ->alloc_color( color_used ) ;
@ -117,7 +117,6 @@ void Dialog_Partition_Info::init_drawingarea( )
//set text of pangolayout //set text of pangolayout
pango_layout = drawingarea .create_pango_layout ( partition .partition + "\n" + String::ucompose( _("%1 MB"), partition .Get_Length_MB( ) ) ) ; pango_layout = drawingarea .create_pango_layout ( partition .partition + "\n" + String::ucompose( _("%1 MB"), partition .Get_Length_MB( ) ) ) ;
} }
void Dialog_Partition_Info::Display_Info( ) void Dialog_Partition_Info::Display_Info( )
@ -140,8 +139,8 @@ void Dialog_Partition_Info::Display_Info( )
if ( partition.sectors_used != -1 ) if ( partition.sectors_used != -1 )
{ {
//calculate relative diskusage //calculate relative diskusage
int percent_used = (int) ( (double) partition.Get_Used_MB( ) / partition .Get_Length_MB( ) *100 +0.5 ) ; int percent_used = Round( static_cast<double> (partition .Get_Used_MB( ) ) / partition .Get_Length_MB( ) *100 ) ;
//used //used
table ->attach( * mk_label( "<b>" + (Glib::ustring) _( "Used:" ) + "</b>" ), 0,1, top, bottom,Gtk::FILL ) ; table ->attach( * mk_label( "<b>" + (Glib::ustring) _( "Used:" ) + "</b>" ), 0,1, top, bottom,Gtk::FILL ) ;
table ->attach( * mk_label( String::ucompose( _("%1 MB"), this ->partition .Get_Used_MB( ) ) ), 1, 2, top, bottom, Gtk::FILL ) ; table ->attach( * mk_label( String::ucompose( _("%1 MB"), this ->partition .Get_Used_MB( ) ) ), 1, 2, top, bottom, Gtk::FILL ) ;
@ -218,14 +217,12 @@ Glib::ustring Dialog_Partition_Info::Find_Status( )
else if ( partition .filesystem == "linux-swap" ) else if ( partition .filesystem == "linux-swap" )
return _("Active") ; return _("Active") ;
//try to find the mountpoint in /proc/mounts //try to find the mountpoint in /proc/mounts
//get realpath //get realpath
char real_path[ 4096 ] ; char real_path[ 4096 ] ;
realpath( partition .partition .c_str( ), real_path ); realpath( partition .partition .c_str( ), real_path );
Glib::ustring mountpoint, partition_real_path = real_path ; //because root partition is listed as /dev/root we need te compare against te real path.. Glib::ustring mountpoint, partition_real_path = real_path ; //because root partition is listed as /dev/root we need te compare against te real path..
std::ifstream file_mounts( "/proc/mounts" ) ; std::ifstream file_mounts( "/proc/mounts" ) ;
std::string line ; std::string line ;
@ -241,8 +238,6 @@ Glib::ustring Dialog_Partition_Info::Find_Status( )
break ; break ;
} }
} }
file_mounts .close( ) ; file_mounts .close( ) ;
@ -252,7 +247,6 @@ Glib::ustring Dialog_Partition_Info::Find_Status( )
mountpoint = "/" ; mountpoint = "/" ;
return String::ucompose( _("Mounted on %1"), mountpoint ) ; return String::ucompose( _("Mounted on %1"), mountpoint ) ;
} }
Dialog_Partition_Info::~Dialog_Partition_Info( ) Dialog_Partition_Info::~Dialog_Partition_Info( )
@ -263,5 +257,4 @@ Dialog_Partition_Info::~Dialog_Partition_Info( )
this ->get_colormap( ) ->free_colors( color_partition, 1 ) ; this ->get_colormap( ) ->free_colors( color_partition, 1 ) ;
} }
} //GParted } //GParted

View File

@ -87,8 +87,8 @@ void Dialog_Partition_New::Set_Data( const Partition & partition, bool any_exten
//set some widely used values... //set some widely used values...
START = partition.sector_start ; START = partition.sector_start ;
total_length = partition.sector_end - partition.sector_start ; total_length = partition.sector_end - partition.sector_start ;
TOTAL_MB = this ->selected_partition .Get_Length_MB() ; TOTAL_MB = this ->selected_partition .Get_Length_MB( ) ;
MB_PER_PIXEL = (double) TOTAL_MB / 500 ; MB_PER_PIXEL = TOTAL_MB / 500.00 ;
//set first enabled filesystem //set first enabled filesystem
optionmenu_filesystem .set_history( first_creatable_fs ) ; optionmenu_filesystem .set_history( first_creatable_fs ) ;
@ -183,7 +183,7 @@ void Dialog_Partition_New::optionmenu_changed( bool type )
fs .MAX = ( fs .MAX && ( fs .MAX - cylinder_size ) < TOTAL_MB ) ? fs .MAX - cylinder_size : TOTAL_MB ; fs .MAX = ( fs .MAX && ( fs .MAX - cylinder_size ) < TOTAL_MB ) ? fs .MAX - cylinder_size : TOTAL_MB ;
frame_resizer_base ->set_size_limits( (int) (fs .MIN / MB_PER_PIXEL), (int) (fs .MAX / MB_PER_PIXEL) +1 ) ; frame_resizer_base ->set_size_limits( static_cast<int> (fs .MIN / MB_PER_PIXEL), static_cast<int> (fs .MAX / MB_PER_PIXEL) +1 ) ;
//set new spinbutton ranges //set new spinbutton ranges
spinbutton_before .set_range( 0, TOTAL_MB - fs .MIN ) ; spinbutton_before .set_range( 0, TOTAL_MB - fs .MIN ) ;
@ -227,6 +227,4 @@ void Dialog_Partition_New::Build_Filesystems_Menu( bool only_unformatted )
} }
} }
} //GParted } //GParted

View File

@ -80,8 +80,8 @@ void Dialog_Partition_Resize_Move::Resize_Move_Normal( const std::vector <Partit
//calculate total size in MB's of previous, current and next partition //calculate total size in MB's of previous, current and next partition
//first find index of partition //first find index of partition
unsigned int t; unsigned int t;
for ( t=0;t< partitions.size(); t++ ) for ( t = 0 ; t < partitions .size( ) ; t++ )
if ( partitions[t].sector_start == selected_partition.sector_start ) if ( partitions[ t ] .sector_start == selected_partition .sector_start )
break; break;
Sector previous, next ; Sector previous, next ;
@ -101,13 +101,13 @@ void Dialog_Partition_Resize_Move::Resize_Move_Normal( const std::vector <Partit
total_length = previous + (selected_partition.sector_end - selected_partition.sector_start) + next; total_length = previous + (selected_partition.sector_end - selected_partition.sector_start) + next;
TOTAL_MB = Sector_To_MB( total_length ) ; TOTAL_MB = Sector_To_MB( total_length ) ;
MB_PER_PIXEL = (double) TOTAL_MB / 500 ; MB_PER_PIXEL = TOTAL_MB / 500.00 ;
//now calculate proportional length of partition //now calculate proportional length of partition
frame_resizer_base ->set_x_start( Round( (double) previous / ( (double)total_length/500) ) ) ; frame_resizer_base ->set_x_start( Round( previous / ( total_length / 500.00 ) ) ) ;
frame_resizer_base ->set_x_end( ( Round( (double) (selected_partition.sector_end - selected_partition.sector_start) / ( (double)total_length/500) )) + frame_resizer_base ->get_x_start() ) ; frame_resizer_base ->set_x_end( Round( (selected_partition .sector_end - selected_partition .sector_start) / ( total_length / 500.00 ) ) + frame_resizer_base ->get_x_start( ) ) ;
frame_resizer_base ->set_used( Round( (double) selected_partition.sectors_used / ( (double)total_length/500) ) ) ; frame_resizer_base ->set_used( Round( selected_partition.sectors_used / ( total_length / 500.00 ) ) ) ;
if ( fs .shrink ) if ( fs .shrink )
{ {
//since some filesystems have lower limits we need to check for this //since some filesystems have lower limits we need to check for this
@ -141,13 +141,12 @@ void Dialog_Partition_Resize_Move::Resize_Move_Normal( const std::vector <Partit
spinbutton_after .set_range( 0, TOTAL_MB - fs .MIN ) ; spinbutton_after .set_range( 0, TOTAL_MB - fs .MIN ) ;
spinbutton_after .set_value( Sector_To_MB( next ) ) ; spinbutton_after .set_value( Sector_To_MB( next ) ) ;
frame_resizer_base ->set_size_limits( (int) (fs .MIN / MB_PER_PIXEL), (int) (fs .MAX / MB_PER_PIXEL) +1 ) ; frame_resizer_base ->set_size_limits( static_cast<int> (fs .MIN / MB_PER_PIXEL), static_cast<int> (fs .MAX / MB_PER_PIXEL) +1 ) ;
//set contents of label_minmax //set contents of label_minmax
Set_MinMax_Text( fs .MIN, fs .MAX ) ; Set_MinMax_Text( fs .MIN, fs .MAX ) ;
} }
void Dialog_Partition_Resize_Move::Resize_Move_Extended( const std::vector <Partition> & partitions ) void Dialog_Partition_Resize_Move::Resize_Move_Extended( const std::vector <Partition> & partitions )
{ {
//calculate total size in MB's of previous, current and next partition //calculate total size in MB's of previous, current and next partition
@ -173,11 +172,11 @@ void Dialog_Partition_Resize_Move::Resize_Move_Extended( const std::vector <Part
//now we have enough data to calculate some important values.. //now we have enough data to calculate some important values..
total_length = previous + (selected_partition.sector_end - selected_partition.sector_start) + next; total_length = previous + (selected_partition.sector_end - selected_partition.sector_start) + next;
TOTAL_MB = Sector_To_MB( total_length ) ; TOTAL_MB = Sector_To_MB( total_length ) ;
MB_PER_PIXEL = (double) TOTAL_MB / 500 ; MB_PER_PIXEL = TOTAL_MB / 500.00 ;
//calculate proportional length of partition ( in pixels ) //calculate proportional length of partition ( in pixels )
frame_resizer_base ->set_x_start( Round( (double) previous / ( (double)total_length/500) ) ) ; frame_resizer_base ->set_x_start( Round( previous / ( total_length / 500.00 ) ) ) ;
frame_resizer_base ->set_x_end( ( Round( (double) (selected_partition.sector_end - selected_partition.sector_start) / ( (double)total_length/500) ) ) + frame_resizer_base ->get_x_start() ) ; frame_resizer_base ->set_x_end( Round( (selected_partition .sector_end - selected_partition .sector_start) / ( total_length / 500.00 ) ) + frame_resizer_base ->get_x_start( ) ) ;
//used is a bit different here... we consider start of first logical to end last logical as used space //used is a bit different here... we consider start of first logical to end last logical as used space
Sector first =0, used =0 ; Sector first =0, used =0 ;
@ -192,8 +191,8 @@ void Dialog_Partition_Resize_Move::Resize_Move_Extended( const std::vector <Part
} }
} }
frame_resizer_base ->set_used_start( Round( (double) (first - START) / ( (double)total_length/500) ) ) ; frame_resizer_base ->set_used_start( Round( (first - START) / ( total_length / 500.00 ) ) ) ;
frame_resizer_base ->set_used( Round( (double) used / ( (double)total_length/500) ) ) ; frame_resizer_base ->set_used( Round( used / ( total_length / 500.00 ) ) ) ;
//set values of spinbutton_before (we assume there is no fixed start.) //set values of spinbutton_before (we assume there is no fixed start.)
if ( first == 0 ) //no logicals if ( first == 0 ) //no logicals
@ -223,5 +222,4 @@ void Dialog_Partition_Resize_Move::Resize_Move_Extended( const std::vector <Part
Set_MinMax_Text( first == 0 ? BUF/2 : Sector_To_MB( used ), Sector_To_MB( total_length ) ) ; Set_MinMax_Text( first == 0 ? BUF/2 : Sector_To_MB( used ), Sector_To_MB( total_length ) ) ;
} }
} //GParted } //GParted

View File

@ -16,7 +16,7 @@
*/ */
#include "../include/Dialog_Progress.h" #include "../include/Dialog_Progress.h"
#include <iostream>
namespace GParted namespace GParted
{ {
@ -29,8 +29,8 @@ Dialog_Progress::Dialog_Progress( int count_operations, Glib::RefPtr<Gtk::TextBu
this ->count_operations = count_operations ; this ->count_operations = count_operations ;
current_operation_number = 0 ; current_operation_number = 0 ;
fraction = (double) 1 / count_operations ; fraction = 1.00 / count_operations ;
Glib::ustring str_temp = "<span weight=\"bold\" size=\"larger\">" ; Glib::ustring str_temp = "<span weight=\"bold\" size=\"larger\">" ;
str_temp += _( "Applying pending operations" ) ; str_temp += _( "Applying pending operations" ) ;
str_temp += "</span>\n\n" ; str_temp += "</span>\n\n" ;
@ -94,7 +94,7 @@ void Dialog_Progress::Set_Operation( )
if ( TIME_LEFT > 0 ) if ( TIME_LEFT > 0 )
{ {
fraction_current = (double) 1 / TIME_LEFT ; fraction_current = 1.00 / TIME_LEFT ;
conn = Glib::signal_timeout( ) .connect( sigc::mem_fun( *this, &Dialog_Progress::Show_Progress ), 1000 ); conn = Glib::signal_timeout( ) .connect( sigc::mem_fun( *this, &Dialog_Progress::Show_Progress ), 1000 );
} }
else else
@ -138,7 +138,6 @@ void Dialog_Progress::signal_textbuffer_insert( const Gtk::TextBuffer::iterator
textview_details .scroll_to( temp, 0 ) ; textview_details .scroll_to( temp, 0 ) ;
} }
Dialog_Progress::~Dialog_Progress() Dialog_Progress::~Dialog_Progress()
{ {
conn .disconnect( ) ; conn .disconnect( ) ;

View File

@ -17,13 +17,13 @@
#include "../include/Frame_Resizer_Base.h" #include "../include/Frame_Resizer_Base.h"
Frame_Resizer_Base::Frame_Resizer_Base() Frame_Resizer_Base::Frame_Resizer_Base( )
{ {
this ->fixed_start = false ; this ->fixed_start = false ;
init( ) ; init( ) ;
} }
void Frame_Resizer_Base::init() void Frame_Resizer_Base::init( )
{ {
drawingarea .set_size_request( 536, 50 ); drawingarea .set_size_request( 536, 50 );
@ -58,19 +58,18 @@ void Frame_Resizer_Base::init()
this ->show_all_children( ); this ->show_all_children( );
} }
void Frame_Resizer_Base::set_rgb_partition_color( const Gdk::Color & color ) void Frame_Resizer_Base::set_rgb_partition_color( const Gdk::Color & color )
{ {
this ->get_colormap() ->free_colors( color_partition, 1 ) ; this ->get_colormap( ) ->free_colors( color_partition, 1 ) ;
this ->color_partition = color ; this ->color_partition = color ;
this ->get_colormap() ->alloc_color( color_partition ) ; this ->get_colormap( ) ->alloc_color( color_partition ) ;
} }
void Frame_Resizer_Base::override_default_rgb_unused_color( const Gdk::Color & color ) void Frame_Resizer_Base::override_default_rgb_unused_color( const Gdk::Color & color )
{ {
this ->get_colormap() ->free_colors( color_unused, 1 ) ; this ->get_colormap( ) ->free_colors( color_unused, 1 ) ;
this ->color_unused = color ; this ->color_unused = color ;
this ->get_colormap() ->alloc_color( color_unused ) ; this ->get_colormap( ) ->alloc_color( color_unused ) ;
} }
void Frame_Resizer_Base::set_x_start( int x_start) void Frame_Resizer_Base::set_x_start( int x_start)
@ -107,36 +106,36 @@ void Frame_Resizer_Base::set_size_limits( int min_size, int max_size )
this ->MAX_SIZE = max_size + 16 ; this ->MAX_SIZE = max_size + 16 ;
} }
int Frame_Resizer_Base::get_used() int Frame_Resizer_Base::get_used( )
{ {
return USED ; return USED ;
} }
int Frame_Resizer_Base::get_x_start() int Frame_Resizer_Base::get_x_start( )
{ {
return X_START -10 ; return X_START -10 ;
} }
int Frame_Resizer_Base::get_x_end() int Frame_Resizer_Base::get_x_end( )
{ {
return X_END -26 ; return X_END -26 ;
} }
void Frame_Resizer_Base::drawingarea_on_realize( ) void Frame_Resizer_Base::drawingarea_on_realize( )
{ {
gc = Gdk::GC::create( drawingarea .get_window() ); gc = Gdk::GC::create( drawingarea .get_window( ) );
drawingarea .get_window() ->set_background(color_background); drawingarea .get_window( ) ->set_background( color_background );
drawingarea.add_events(Gdk::POINTER_MOTION_MASK ); drawingarea .add_events( Gdk::POINTER_MOTION_MASK );
drawingarea.add_events(Gdk::BUTTON_PRESS_MASK ); drawingarea .add_events( Gdk::BUTTON_PRESS_MASK );
drawingarea.add_events(Gdk::BUTTON_RELEASE_MASK ); drawingarea .add_events( Gdk::BUTTON_RELEASE_MASK );
drawingarea.add_events(Gdk::LEAVE_NOTIFY_MASK ); drawingarea .add_events( Gdk::LEAVE_NOTIFY_MASK );
} }
bool Frame_Resizer_Base::drawingarea_on_expose( GdkEventExpose * ev ) bool Frame_Resizer_Base::drawingarea_on_expose( GdkEventExpose * ev )
{ {
Draw_Partition() ; Draw_Partition( ) ;
return true; return true;
} }
@ -146,35 +145,34 @@ bool Frame_Resizer_Base::drawingarea_on_mouse_motion( GdkEventMotion *ev )
{ {
//check if pointer is over a gripper //check if pointer is over a gripper
if ( ! fixed_start && ev ->x >= X_START -10 && ev ->x <= X_START && ev ->y >= 5 && ev ->y <= 45 ) //left grip if ( ! fixed_start && ev ->x >= X_START -10 && ev ->x <= X_START && ev ->y >= 5 && ev ->y <= 45 ) //left grip
drawingarea .get_parent_window() ->set_cursor( *cursor_resize ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_resize ) ;
else if ( ev ->x >= X_END && ev ->x <= X_END + 10 && ev ->y >= 5 && ev ->y <= 45 ) //right grip else if ( ev ->x >= X_END && ev ->x <= X_END + 10 && ev ->y >= 5 && ev ->y <= 45 ) //right grip
drawingarea .get_parent_window() ->set_cursor( *cursor_resize ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_resize ) ;
else if ( ! fixed_start && ev ->x >= X_START && ev ->x <= X_END ) //move grip else if ( ! fixed_start && ev ->x >= X_START && ev ->x <= X_END ) //move grip
drawingarea .get_parent_window() ->set_cursor( *cursor_move ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_move ) ;
else //normal pointer else //normal pointer
drawingarea .get_parent_window() ->set_cursor( *cursor_normal ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_normal ) ;
} }
//here's where the real work is done ;-) //here's where the real work is done ;-)
if ( GRIP_LEFT || GRIP_RIGHT || GRIP_MOVE) if ( GRIP_LEFT || GRIP_RIGHT || GRIP_MOVE )
{ {
if ( GRIP_LEFT && ev ->x >= 10 && ev ->x <= X_END - USED - BORDER * 2 && (X_END - ev ->x) <= MAX_SIZE && (X_END - ev ->x) >= MIN_SIZE ) if ( GRIP_LEFT && ev ->x >= 10 && ev ->x <= X_END - USED - BORDER * 2 && (X_END - ev ->x) <= MAX_SIZE && (X_END - ev ->x) >= MIN_SIZE )
{ {
X_START =(int) ev -> x ; X_START = static_cast<int> ( ev ->x ) ;
signal_resize.emit( X_START -10, X_END -26, ARROW_LEFT) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class ) signal_resize.emit( X_START -10, X_END -26, ARROW_LEFT) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class )
} }
else if ( GRIP_RIGHT && ev ->x <= 526 && ev ->x >= X_START + USED + BORDER *2 && (ev ->x - X_START) <= MAX_SIZE && (ev ->x - X_START) >= MIN_SIZE ) else if ( GRIP_RIGHT && ev ->x <= 526 && ev ->x >= X_START + USED + BORDER *2 && (ev ->x - X_START) <= MAX_SIZE && (ev ->x - X_START) >= MIN_SIZE )
{ {
X_END = (int) ev ->x ; X_END = static_cast<int> ( ev ->x ) ;
signal_resize.emit( X_START -10, X_END -26, ARROW_RIGHT) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class ) signal_resize.emit( X_START -10, X_END -26, ARROW_RIGHT) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class )
} }
else if ( GRIP_MOVE ) else if ( GRIP_MOVE )
{ {
temp_x = X_START + ((int) ev ->x - X_START_MOVE); temp_x = X_START + static_cast<int> ( ev ->x - X_START_MOVE );
temp_y = X_END + ( (int) ev ->x - X_START_MOVE); temp_y = X_END + static_cast<int> ( ev ->x - X_START_MOVE );
if ( temp_x >= 10 && temp_y <= 526 ) if ( temp_x >= 10 && temp_y <= 526 )
{ {
@ -182,16 +180,15 @@ bool Frame_Resizer_Base::drawingarea_on_mouse_motion( GdkEventMotion *ev )
X_END = temp_y ; X_END = temp_y ;
} }
X_START_MOVE = (int) ev ->x ; X_START_MOVE = static_cast<int> ( ev ->x ) ;
signal_move.emit( X_START -10, X_END -26) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class ) signal_move.emit( X_START -10, X_END -26) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class )
} }
Draw_Partition() ; Draw_Partition( ) ;
} }
return true; return true;
} }
bool Frame_Resizer_Base::drawingarea_on_button_press_event( GdkEventButton *ev ) bool Frame_Resizer_Base::drawingarea_on_button_press_event( GdkEventButton *ev )
@ -203,7 +200,7 @@ bool Frame_Resizer_Base::drawingarea_on_button_press_event( GdkEventButton *ev )
else if ( ev ->x >= X_END && ev ->x <= X_END + 10 && ev ->y >= 5 && ev ->y <= 45 ) //right grip else if ( ev ->x >= X_END && ev ->x <= X_END + 10 && ev ->y >= 5 && ev ->y <= 45 ) //right grip
GRIP_RIGHT = true ; GRIP_RIGHT = true ;
else if ( ! fixed_start && ev ->x >= X_START && ev ->x <= X_END ) //move grip else if ( ! fixed_start && ev ->x >= X_START && ev ->x <= X_END ) //move grip
{ GRIP_MOVE = true ; X_START_MOVE = (int)ev ->x; } { GRIP_MOVE = true ; X_START_MOVE = static_cast<int> ( ev ->x ); }
return true; return true;
} }
@ -218,7 +215,7 @@ bool Frame_Resizer_Base::drawingarea_on_button_release_event( GdkEventButton *ev
bool Frame_Resizer_Base::drawingarea_on_leave_notify( GdkEventCrossing *ev ) bool Frame_Resizer_Base::drawingarea_on_leave_notify( GdkEventCrossing *ev )
{ {
if ( ev ->mode != GDK_CROSSING_GRAB && ! GRIP_LEFT && ! GRIP_RIGHT && ! GRIP_MOVE ) if ( ev ->mode != GDK_CROSSING_GRAB && ! GRIP_LEFT && ! GRIP_RIGHT && ! GRIP_MOVE )
drawingarea .get_parent_window() ->set_cursor( *cursor_normal ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_normal ) ;
return true; return true;
} }
@ -231,24 +228,24 @@ void Frame_Resizer_Base::Draw_Partition( )
if ( drawingarea .get_window( ) ) if ( drawingarea .get_window( ) )
{ {
drawingarea .get_window() ->clear() ; drawingarea .get_window( ) ->clear( ) ;
//the two rectangles on each side of the partition //the two rectangles on each side of the partition
gc ->set_foreground( color_arrow_rectangle ); gc ->set_foreground( color_arrow_rectangle );
drawingarea .get_window() ->draw_rectangle( gc, true, 0,0,10,50 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, 0, 0, 10, 50 );
drawingarea .get_window() ->draw_rectangle( gc, true, 526,0,10,50 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, 526, 0, 10, 50 );
//partition //partition
gc ->set_foreground( color_partition ); gc ->set_foreground( color_partition );
drawingarea .get_window() ->draw_rectangle( gc, true, X_START,0,X_END - X_START,50 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, X_START, 0, X_END - X_START, 50 );
//used //used
gc ->set_foreground( color_used ); gc ->set_foreground( color_used );
drawingarea .get_window() ->draw_rectangle( gc, true, X_START + BORDER, BORDER, USED ,34 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, X_START +BORDER, BORDER, USED, 34 );
//unused //unused
gc ->set_foreground( color_unused ); gc ->set_foreground( color_unused );
drawingarea .get_window() ->draw_rectangle( gc, true, X_START + BORDER +USED, BORDER, UNUSED,34 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, X_START +BORDER +USED, BORDER, UNUSED, 34 );
//resize grips //resize grips
if ( ! fixed_start ) if ( ! fixed_start )
@ -256,7 +253,6 @@ void Frame_Resizer_Base::Draw_Partition( )
Draw_Resize_Grip( ARROW_RIGHT ) ; Draw_Resize_Grip( ARROW_RIGHT ) ;
} }
} }
void Frame_Resizer_Base::Draw_Resize_Grip( ArrowType arrow_type ) void Frame_Resizer_Base::Draw_Resize_Grip( ArrowType arrow_type )
@ -278,24 +274,22 @@ void Frame_Resizer_Base::Draw_Resize_Grip( ArrowType arrow_type )
gc ->set_foreground( color_arrow_rectangle ); gc ->set_foreground( color_arrow_rectangle );
if ( arrow_type == ARROW_LEFT ) if ( arrow_type == ARROW_LEFT )
drawingarea .get_window() ->draw_rectangle( gc, false, X_START -10 , 5, 9, 40 ); drawingarea .get_window( ) ->draw_rectangle( gc, false, X_START -10 , 5, 9, 40 );
else else
drawingarea .get_window() ->draw_rectangle( gc, false, X_END +1, 5, 9, 40 ); drawingarea .get_window( ) ->draw_rectangle( gc, false, X_END +1, 5, 9, 40 );
gc ->set_foreground( color_arrow ); gc ->set_foreground( color_arrow );
drawingarea .get_window() ->draw_polygon( gc , true, arrow_points ); drawingarea .get_window( ) ->draw_polygon( gc , true, arrow_points );
} }
Frame_Resizer_Base::~Frame_Resizer_Base( )
Frame_Resizer_Base::~Frame_Resizer_Base()
{ {
this ->get_colormap() ->free_colors( color_used, 1 ) ; this ->get_colormap( ) ->free_colors( color_used, 1 ) ;
this ->get_colormap() ->free_colors( color_unused, 1 ) ; this ->get_colormap( ) ->free_colors( color_unused, 1 ) ;
this ->get_colormap() ->free_colors( color_arrow, 1 ) ; this ->get_colormap( ) ->free_colors( color_arrow, 1 ) ;
this ->get_colormap() ->free_colors( color_background, 1 ) ; this ->get_colormap( ) ->free_colors( color_background, 1 ) ;
this ->get_colormap() ->free_colors( color_partition, 1 ) ; this ->get_colormap( ) ->free_colors( color_partition, 1 ) ;
this ->get_colormap() ->free_colors( color_arrow_rectangle, 1 ) ; this ->get_colormap( ) ->free_colors( color_arrow_rectangle, 1 ) ;
if ( cursor_resize ) if ( cursor_resize )
delete cursor_resize ; delete cursor_resize ;

View File

@ -19,7 +19,6 @@
Frame_Resizer_Extended::Frame_Resizer_Extended( ) Frame_Resizer_Extended::Frame_Resizer_Extended( )
{ {
} }
bool Frame_Resizer_Extended::drawingarea_on_mouse_motion( GdkEventMotion *ev ) bool Frame_Resizer_Extended::drawingarea_on_mouse_motion( GdkEventMotion *ev )
@ -27,53 +26,53 @@ bool Frame_Resizer_Extended::drawingarea_on_mouse_motion( GdkEventMotion *ev )
if ( ! GRIP_LEFT && ! GRIP_RIGHT ) //no need to check this while resizing if ( ! GRIP_LEFT && ! GRIP_RIGHT ) //no need to check this while resizing
{ {
//check if pointer is over a gripper //check if pointer is over a gripper
if ( ! fixed_start && ev ->x >= X_START -10 && ev ->x <= X_START && ev ->y >= 5 && ev ->y <= 45 ) //left grip if ( ! fixed_start && ev ->x >= X_START -10 && ev ->x <= X_START && ev ->y >= 5 && ev ->y <= 45 ) //left grip
drawingarea .get_parent_window() ->set_cursor( *cursor_resize ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_resize ) ;
else if ( ev ->x >= X_END && ev ->x <= X_END + 10 && ev ->y >= 5 && ev ->y <= 45 ) //right grip else if ( ev ->x >= X_END && ev ->x <= X_END + 10 && ev ->y >= 5 && ev ->y <= 45 ) //right grip
drawingarea .get_parent_window() ->set_cursor( *cursor_resize ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_resize ) ;
else //normal pointer else //normal pointer
drawingarea .get_parent_window() ->set_cursor( *cursor_normal ) ; drawingarea .get_parent_window( ) ->set_cursor( *cursor_normal ) ;
} }
if ( GRIP_LEFT || GRIP_RIGHT ) else if ( GRIP_LEFT || GRIP_RIGHT )
{ {
if ( GRIP_LEFT && ev ->x >= 10 && ev ->x <= 510 && ev->x <= X_END - BORDER *2 && ( ev ->x <= USED_START || USED == 0 ) ) if ( GRIP_LEFT && ev ->x >= 10 && ev ->x <= 510 && ev->x <= X_END - BORDER *2 && ( ev ->x <= USED_START || USED == 0 ) )
{ {
X_START =(int) ev -> x ; X_START = static_cast<int> ( ev ->x ) ;
signal_resize.emit( X_START -10, X_END -26, ARROW_LEFT) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class ) signal_resize .emit( X_START -10, X_END -26, ARROW_LEFT ) ; //-10/-26 to get the real value ( this way gripper calculations are invisible outside this class )
} }
else if ( GRIP_RIGHT && ev ->x <= 526 && ev->x >= X_START + BORDER *2 && ev ->x >= USED_START + USED + BORDER *2 ) else if ( GRIP_RIGHT && ev ->x <= 526 && ev->x >= X_START + BORDER *2 && ev ->x >= USED_START + USED + BORDER *2 )
{ {
X_END = (int) ev ->x ; X_END = static_cast<int> ( ev ->x ) ;
signal_resize.emit( X_START -10, X_END -26, ARROW_RIGHT) ;//-10/-26 to get the real value ( this way gripper calculations are invisible outside this class ) signal_resize .emit( X_START -10, X_END -26, ARROW_RIGHT ) ;//-10/-26 to get the real value ( this way gripper calculations are invisible outside this class )
} }
Draw_Partition() ; Draw_Partition( ) ;
} }
return true ; return true ;
} }
void Frame_Resizer_Extended::Draw_Partition() void Frame_Resizer_Extended::Draw_Partition( )
{ {
drawingarea .get_window() ->clear () ; drawingarea .get_window( ) ->clear( ) ;
//the two rectangles on each side of the partition //the two rectangles on each side of the partition
gc ->set_foreground( color_arrow_rectangle ); gc ->set_foreground( color_arrow_rectangle );
drawingarea .get_window() ->draw_rectangle( gc, true, 0,0,10,50 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, 0, 0, 10, 50 );
drawingarea .get_window() ->draw_rectangle( gc, true, 526,0,10,50 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, 526, 0, 10, 50 );
//used //used
gc ->set_foreground( color_used ); gc ->set_foreground( color_used );
drawingarea .get_window() ->draw_rectangle( gc, true, USED_START + BORDER, BORDER, USED ,34 ); drawingarea .get_window( ) ->draw_rectangle( gc, true, USED_START + BORDER, BORDER, USED, 34 );
//partition //partition
gc ->set_foreground( color_partition ); gc ->set_foreground( color_partition );
for( short t=0; t<9 ;t++ ) for( short t = 0; t < 9 ; t++ )
drawingarea .get_window() ->draw_rectangle( gc, false, X_START +t,t,X_END - X_START -t*2,50 - t*2 ); drawingarea .get_window( ) ->draw_rectangle( gc, false, X_START +t, t, X_END - X_START -t*2, 50 - t*2 );
//resize grips //resize grips
Draw_Resize_Grip( ARROW_LEFT ) ; Draw_Resize_Grip( ARROW_LEFT ) ;
Draw_Resize_Grip( ARROW_RIGHT ) ; Draw_Resize_Grip( ARROW_RIGHT ) ;
} }

View File

@ -113,10 +113,7 @@ void GParted_Core::get_devices( std::vector<Device> & devices )
set_device_partitions( temp_device ) ; set_device_partitions( temp_device ) ;
if ( temp_device .highest_busy ) if ( temp_device .highest_busy )
{
temp_device .readonly = ! ped_disk_commit_to_os( disk ) ; temp_device .readonly = ! ped_disk_commit_to_os( disk ) ;
sleep( 1 ) ;//this sucks, but it seems that after the commit test, the paths are removed and added again (which takes time..)
}
} }
//harddisk without disklabel //harddisk without disklabel
else else

View File

@ -35,7 +35,6 @@ Operation::Operation( const Device & device, const Partition & partition_origina
} }
} }
Glib::ustring Operation::Get_String( ) Glib::ustring Operation::Get_String( )
{ {
Glib::ustring temp ; Glib::ustring temp ;
@ -93,7 +92,6 @@ Glib::ustring Operation::Get_String( )
} }
void Operation::Apply_Operation_To_Visual( std::vector<Partition> & partitions ) void Operation::Apply_Operation_To_Visual( std::vector<Partition> & partitions )
{ {
switch ( operationtype ) switch ( operationtype )
@ -153,7 +151,7 @@ void Operation::Insert_Unallocated( std::vector<Partition> & partitions, Sector
int Operation::Get_Index_Original( std::vector<Partition> & partitions ) int Operation::Get_Index_Original( std::vector<Partition> & partitions )
{ {
for ( int t = 0 ; t < (int)partitions .size( ) ; t++ ) for ( int t = 0 ; t < static_cast<int> ( partitions .size( ) ) ; t++ )
if ( partition_original .sector_start >= partitions[ t ] .sector_start && partition_original .sector_end <= partitions[ t ] .sector_end ) if ( partition_original .sector_start >= partitions[ t ] .sector_start && partition_original .sector_end <= partitions[ t ] .sector_end )
{ {
//remove unallocated space preceding the original partition //remove unallocated space preceding the original partition
@ -161,7 +159,7 @@ int Operation::Get_Index_Original( std::vector<Partition> & partitions )
partitions .erase( partitions .begin( ) + --t ); partitions .erase( partitions .begin( ) + --t );
//remove unallocated space following the original partition //remove unallocated space following the original partition
if ( t +1 < (int)partitions .size( ) && partitions[ t +1 ] .type == GParted::UNALLOCATED ) if ( t +1 < static_cast<int> ( partitions .size( ) ) && partitions[ t +1 ] .type == GParted::UNALLOCATED )
partitions .erase( partitions .begin( ) + t +1 ); partitions .erase( partitions .begin( ) + t +1 );
return t ; return t ;

View File

@ -46,14 +46,14 @@ VBox_VisualDisk::VBox_VisualDisk( const std::vector<Partition> & partitions, con
//since disksegments have minimal sizes ( unallocated 15 and partitions 20 pixels ) i do some checking to prevent the visual disk from growing to much //since disksegments have minimal sizes ( unallocated 15 and partitions 20 pixels ) i do some checking to prevent the visual disk from growing to much
Sector sectors_per_pixel = Round( (double) device_length / 750 ) ; Sector sectors_per_pixel = Round( device_length / 750.00 ) ;
double width, extra_pixels = 0 ; double extra_pixels = 0 ;
for ( unsigned int t = 0; t < partitions .size( ) ; t++ ) for ( unsigned int t = 0; t < partitions .size( ) ; t++ )
{ {
width = (double) (partitions[ t ] .sector_end - partitions[ t ] .sector_start) / sectors_per_pixel ; double width = static_cast<double> (partitions[ t ] .sector_end - partitions[ t ] .sector_start) / sectors_per_pixel ;
if ( (partitions[ t ] .type == GParted::PRIMARY || partitions[ t ] .type == GParted::LOGICAL) && width < 20 ) if ( (partitions[ t ] .type == GParted::PRIMARY || partitions[ t ] .type == GParted::LOGICAL) && width < 20 )
extra_pixels += (20 - width) ; extra_pixels += (20 - width) ;
else if ( partitions[ t ] .type == GParted::UNALLOCATED && width < 15 ) else if ( partitions[ t ] .type == GParted::UNALLOCATED && width < 15 )
@ -120,12 +120,11 @@ void VBox_VisualDisk::Create_Visual_Partition( const Partition & partition )
Create_Visual_Partition( partition .logicals[ t ] ) ; Create_Visual_Partition( partition .logicals[ t ] ) ;
hbox_extended ->pack_start( *( visual_partitions .back( ) ->drawingarea ), Gtk::PACK_SHRINK ) ; hbox_extended ->pack_start( *( visual_partitions .back( ) ->drawingarea ), Gtk::PACK_SHRINK ) ;
} }
return ; return ;
} }
visual_partitions .back( ) ->length = (int) (SCREEN_WIDTH / (double) ( device_length / (double) ( partition .sector_end - partition .sector_start) ) ); visual_partitions .back( ) ->length = static_cast<int> ( SCREEN_WIDTH / ( device_length / static_cast<double> (partition .sector_end - partition .sector_start) ) );
if ( visual_partitions .back( ) ->length < 20 )//we need a min. size. Otherwise some small partitions wouldn't be visible if ( visual_partitions .back( ) ->length < 20 )//we need a min. size. Otherwise some small partitions wouldn't be visible
visual_partitions .back( ) ->length = ( partition .type == GParted::UNALLOCATED ) ? 15 : 20 ; visual_partitions .back( ) ->length = ( partition .type == GParted::UNALLOCATED ) ? 15 : 20 ;
@ -143,9 +142,8 @@ void VBox_VisualDisk::Create_Visual_Partition( const Partition & partition )
if ( partition .type == GParted::UNALLOCATED ) if ( partition .type == GParted::UNALLOCATED )
visual_partitions .back( ) ->used = -1; visual_partitions .back( ) ->used = -1;
else else
visual_partitions .back( ) ->used = (int) ( (visual_partitions .back( ) ->length - (BORDER *2)) / (double) ( ( partition .sector_end - partition .sector_start) / (double)partition .sectors_used ) ) ; visual_partitions .back( ) ->used = static_cast<int> ( (visual_partitions .back( ) ->length - (BORDER *2)) / ( static_cast<double> (partition .sector_end - partition .sector_start) / partition .sectors_used ) );
visual_partitions.back( ) ->color_fs = partition .color; visual_partitions.back( ) ->color_fs = partition .color;
this ->get_colormap( ) ->alloc_color( visual_partitions .back( ) ->color_fs ); this ->get_colormap( ) ->alloc_color( visual_partitions .back( ) ->color_fs );
@ -250,24 +248,21 @@ void VBox_VisualDisk::Set_Selected( const Partition & partition )
if ( temp >= 0 ) //prevent segfault at firsttime selection if ( temp >= 0 ) //prevent segfault at firsttime selection
drawingarea_on_expose( NULL, visual_partitions[ temp ] ) ; drawingarea_on_expose( NULL, visual_partitions[ temp ] ) ;
if ( partition.type == GParted::EXTENDED ) if ( partition.type == GParted::EXTENDED )
return; //extended can not be selected in visualdisk (yet ) return; //extended can not be selected in visualdisk (yet )
//now set new selected one //now set new selected one
for ( unsigned int t = 0;t < visual_partitions.size() ; t++ ) for ( unsigned int t = 0;t < visual_partitions.size() ; t++ )
{ {
if ( visual_partitions[t] ->sector_start == partition.sector_start && visual_partitions[t] ->drawingarea != NULL ) if ( visual_partitions[ t ] ->sector_start == partition .sector_start && visual_partitions[ t ] ->drawingarea != NULL )
{ {
selected_partition = t; selected_partition = t;
drawingarea_on_expose( NULL, visual_partitions[ t ] ) ; drawingarea_on_expose( NULL, visual_partitions[ t ] ) ;
return; return;
} }
} }
} }
void VBox_VisualDisk::drawingarea_on_realize( Visual_Partition* vp ) void VBox_VisualDisk::drawingarea_on_realize( Visual_Partition* vp )
{ {
vp ->gc = Gdk::GC::create( vp ->drawingarea ->get_window( ) ); vp ->gc = Gdk::GC::create( vp ->drawingarea ->get_window( ) );
@ -325,10 +320,6 @@ VBox_VisualDisk::~VBox_VisualDisk( )
this ->get_colormap( ) ->free_colors( color_used, 1 ) ; this ->get_colormap( ) ->free_colors( color_used, 1 ) ;
this ->get_colormap( ) ->free_colors( color_unused, 1 ) ; this ->get_colormap( ) ->free_colors( color_unused, 1 ) ;
this ->get_colormap( ) ->free_colors( color_text, 1 ) ; this ->get_colormap( ) ->free_colors( color_text, 1 ) ;
} }
} //GParted } //GParted

View File

@ -995,7 +995,7 @@ void Win_GParted::activate_delete( )
if ( selected_partition .status == GParted::STAT_NEW ) if ( selected_partition .status == GParted::STAT_NEW )
{ {
//remove all operations done on this new partition (this includes creation) //remove all operations done on this new partition (this includes creation)
for ( int t = 0 ; t < (int) operations .size( ) ; t++ ) //I removed the unsigned because t will be negative at times... for ( int t = 0 ; t < static_cast<int> ( operations .size( ) ) ; t++ ) //I removed the unsigned because t will be negative at times...
if ( operations[ t ] .partition_new .partition == selected_partition .partition ) if ( operations[ t ] .partition_new .partition == selected_partition .partition )
operations.erase( operations .begin( ) + t-- ) ; operations.erase( operations .begin( ) + t-- ) ;