diff --git a/ChangeLog b/ChangeLog index 5a2f9602..17c928e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-10-08 Bart Hakvoort + + * include/Frame_Resizer_Base.h: removed inheritance from sigc::trackable. (this is already done by Glib::Object) + * src/Dialog_Partition_Copy.cc, + src/Frame_Resizer_Base.cc: fixed issues with resizing reiserfs filesystems. + 2004-10-08 Bart Hakvoort * src/Dialog_About.cc: updated translatorcomment. diff --git a/include/Frame_Resizer_Base.h b/include/Frame_Resizer_Base.h index 86bf84b3..de48df33 100644 --- a/include/Frame_Resizer_Base.h +++ b/include/Frame_Resizer_Base.h @@ -25,7 +25,7 @@ #define BORDER 8 -class Frame_Resizer_Base : public Gtk::Frame, virtual public sigc::trackable +class Frame_Resizer_Base : public Gtk::Frame { public: diff --git a/src/Dialog_Partition_Copy.cc b/src/Dialog_Partition_Copy.cc index 4631a5a7..cd7fdc88 100644 --- a/src/Dialog_Partition_Copy.cc +++ b/src/Dialog_Partition_Copy.cc @@ -39,13 +39,17 @@ void Dialog_Partition_Copy::Set_Data( Partition & selected_partition, Partition START = selected_partition.sector_start ; total_length = selected_partition.sector_end - selected_partition.sector_start ; TOTAL_MB = selected_partition .Get_Length_MB() ; - MB_PER_PIXEL = (double) TOTAL_MB / 500 ; + MB_PER_PIXEL = (double) TOTAL_MB / 500 ; //now calculate proportional length of partition frame_resizer_base ->set_x_start( 0 ) ; frame_resizer_base ->set_x_end( ( Round( (double) (copied_partition.sector_end - copied_partition.sector_start) / ( (double)total_length/500) )) ) ; frame_resizer_base ->set_used( frame_resizer_base ->get_x_end() ) ; + //used to store current positions (see Dialog_Base_Partition::on_signal_resize) + this ->x_start = frame_resizer_base ->get_x_start( ) ; + this ->x_end = frame_resizer_base ->get_x_end( ) ; + //set values of spinbutton_before spinbutton_before .set_range( 0, TOTAL_MB - copied_partition .Get_Length_MB() -1 ) ;//mind the -1 !! spinbutton_before .set_value( 0 ) ; @@ -55,14 +59,14 @@ void Dialog_Partition_Copy::Set_Data( Partition & selected_partition, Partition if ( copied_partition.filesystem == "fat16" && Sector_To_MB( total_length ) > 1023 ) UPPER = 1023 ; else - UPPER = TOTAL_MB; + UPPER = TOTAL_MB ; - spinbutton_size .set_range( copied_partition .Get_Length_MB() +1, UPPER ) ; - spinbutton_size .set_value( copied_partition .Get_Length_MB() ) ; + spinbutton_size .set_range( copied_partition .Get_Length_MB() +1, UPPER ) ; + spinbutton_size .set_value( copied_partition .Get_Length_MB() ) ; //set values of spinbutton_after - spinbutton_after .set_range( 0, TOTAL_MB - copied_partition .Get_Length_MB() -1 ) ; - spinbutton_after .set_value( TOTAL_MB - copied_partition .Get_Length_MB() ) ; + spinbutton_after .set_range( 0, TOTAL_MB - copied_partition .Get_Length_MB() -1 ) ; + spinbutton_after .set_value( TOTAL_MB - copied_partition .Get_Length_MB() ) ; //set contents of label_minmax Set_MinMax_Text( copied_partition .Get_Length_MB() +1, UPPER ) ; diff --git a/src/Frame_Resizer_Base.cc b/src/Frame_Resizer_Base.cc index 997ccc9a..701cc437 100644 --- a/src/Frame_Resizer_Base.cc +++ b/src/Frame_Resizer_Base.cc @@ -61,14 +61,14 @@ void Frame_Resizer_Base::init() void Frame_Resizer_Base::set_rgb_partition_color( const Gdk::Color & color ) { this ->get_colormap() ->free_colors( color_partition, 1 ) ; - this->color_partition = color ; + this ->color_partition = color ; this ->get_colormap() ->alloc_color( color_partition ) ; } void Frame_Resizer_Base::override_default_rgb_unused_color( const Gdk::Color & color ) { this ->get_colormap() ->free_colors( color_unused, 1 ) ; - this->color_unused = color ; + this ->color_unused = color ; this ->get_colormap() ->alloc_color( color_unused ) ; } @@ -142,7 +142,7 @@ bool Frame_Resizer_Base::drawingarea_on_mouse_motion( GdkEventMotion *ev ) 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 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 ) ; else //normal pointer drawingarea .get_parent_window() ->set_cursor( *cursor_normal ) ; @@ -152,7 +152,7 @@ bool Frame_Resizer_Base::drawingarea_on_mouse_motion( GdkEventMotion *ev ) //here's where the real work is done ;-) if ( GRIP_LEFT || GRIP_RIGHT || GRIP_MOVE) { - if ( GRIP_LEFT && ev ->x >= 10 && ev ->x <= X_END - USED - BORDER * 2 ) + if ( GRIP_LEFT && ev ->x >= 10 && ev ->x <= X_END - USED - BORDER * 2 ) { X_START =(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 ) @@ -216,29 +216,29 @@ bool Frame_Resizer_Base::drawingarea_on_leave_notify( GdkEventCrossing *ev ) return true; } -void Frame_Resizer_Base::Draw_Partition( ) +void Frame_Resizer_Base::Draw_Partition( ) { UNUSED = X_END - X_START - BORDER * 2 - USED ; if ( UNUSED < 0 ) UNUSED = 0 ; - drawingarea .get_window() ->clear () ; + drawingarea .get_window() ->clear() ; //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, 526,0,10,50 ); //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 ); //used - gc ->set_foreground( color_used ); + gc ->set_foreground( color_used ); drawingarea .get_window() ->draw_rectangle( gc, true, X_START + BORDER, BORDER, USED ,34 ); //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 ); //resize grips @@ -253,26 +253,26 @@ void Frame_Resizer_Base::Draw_Resize_Grip( ArrowType arrow_type ) { if ( arrow_type == ARROW_LEFT ) { - arrow_points[0] .set_x( X_START) ; - arrow_points[1] .set_x( X_START -10) ; - arrow_points[2] .set_x( X_START) ; + arrow_points[0] .set_x( X_START ) ; + arrow_points[1] .set_x( X_START -10 ) ; + arrow_points[2] .set_x( X_START ) ; } else { - arrow_points[0] .set_x( X_END) ; - arrow_points[1] .set_x( X_END +10) ; - arrow_points[2] .set_x( X_END) ; + arrow_points[0] .set_x( X_END ) ; + arrow_points[1] .set_x( X_END +10 ) ; + arrow_points[2] .set_x( X_END ) ; } //attach resize arrows to the partition gc ->set_foreground( color_arrow_rectangle ); 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 - 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 ); }