logic unallocated space wasn't read correctly, fixed. added

* src/Device.cc (Read_Disk_Layout): logic unallocated space wasn't read correctly, fixed.
* include/Win_GParted.h: added open_operationslist() and menu_view_operations() .
* src/Win_GParted.cc: tweaked operationlist behaviour a bit. Also added 'Operations" toggle-item to View menu.
This commit is contained in:
Bart Hakvoort 2004-10-11 14:19:56 +00:00
parent 3dbaa30dba
commit fa5698e115
4 changed files with 47 additions and 26 deletions

View File

@ -1,3 +1,9 @@
2004-10-11 Bart Hakvoort <gparted@users.sf.net>
* src/Device.cc (Read_Disk_Layout): logic unallocated space wasn't read correctly, fixed.
* include/Win_GParted.h: added open_operationslist() and menu_view_operations() .
* src/Win_GParted.cc: tweaked operationlist behaviour a bit. Also added 'Operations" toggle-item to View menu.
2004-10-11 Bart Hakvoort <gparted@users.sf.net>
* src/Device.cc (Read_Disk_Layout): Again =) Decided to use switch ( blahblah ) instead of if else statements.

View File

@ -91,6 +91,7 @@ private:
void find_devices_thread( ) { Find_Devices( ) ; pulse = false ; }
//signal handlers
void open_operationslist() ;
void close_operationslist() ;
void clear_operationslist() ;
void optionmenu_devices_changed( );
@ -99,6 +100,7 @@ private:
void menu_gparted_refresh_devices();
void menu_gparted_quit();
void menu_view_harddisk_info();
void menu_view_operations();
void menu_help_contents();
void menu_help_about();

View File

@ -193,12 +193,12 @@ void Device::Read_Disk_Layout( bool deep_scan )
case PED_PARTITION_FREESPACE:
case 5: //freespace inside extended (there's no enumvalue for that..)
partition_temp.Set_Unallocated( c_partition ->geom .start, c_partition ->geom .end, c_partition ->type == 4 ? false : true );
break ;
case PED_PARTITION_METADATA:
break;
default: break;
}
if ( partition_temp .sector_start != -1 ) //paranoia check for unallocted space < 1 MB..

View File

@ -58,7 +58,6 @@ Win_GParted::Win_GParted( )
vpaned_main .pack1( hpaned_main, true, true ) ;
//vpaned_main....
close_operationslist() ;
vbox_main.pack_start( vpaned_main );
//device info...
@ -82,8 +81,9 @@ Win_GParted::Win_GParted( )
this ->show_all_children();
//make sure harddisk information is closed..
//make sure harddisk information and operationlist are closed..
hpaned_main .get_child1( ) ->hide( ) ;
close_operationslist( ) ;
}
void Win_GParted::init_menubar()
@ -100,6 +100,7 @@ void Win_GParted::init_menubar()
//view
menu = manage( new Gtk::Menu() ) ;
menu ->items() .push_back( Gtk::Menu_Helpers::CheckMenuElem( _("Harddisk Information"), sigc::mem_fun(*this, &Win_GParted::menu_view_harddisk_info) ) );
menu ->items() .push_back( Gtk::Menu_Helpers::CheckMenuElem( _("Operations"), sigc::mem_fun(*this, &Win_GParted::menu_view_operations) ) );
menubar_main.items().push_back( Gtk::Menu_Helpers::MenuElem(_("_View"), *menu ) );
//help
@ -483,16 +484,7 @@ void Win_GParted::Add_Operation( OperationType operationtype, const Partition &
Refresh_Visual( );
if ( operations.size() == 1 ) //first operation, open operationslist
{
int x,y; this ->get_size( x, y );
y -= 300;
for ( int t=vpaned_main.get_position() ; t > y ; t-=3 )
{
vpaned_main.set_position( t );
while (Gtk::Main::events_pending()) Gtk::Main::iteration();
}
}
open_operationslist( ) ;
//make scrollwindow focus on the last operation in the list
Gtk::TreeIter iter = liststore_operations->children().end() ;
@ -678,6 +670,21 @@ void Win_GParted::Set_Valid_Convert_Filesystems()
}
}
void Win_GParted::open_operationslist()
{
hbox_operations .show( ) ;
int x,y; this ->get_size( x, y );
y -= 300;
for ( int t=vpaned_main.get_position() ; t > y ; t-=3 )
{
vpaned_main.set_position( t );
while (Gtk::Main::events_pending()) Gtk::Main::iteration();
}
( (Gtk::CheckMenuItem *) & menubar_main .items() [ 1 ] .get_submenu() ->items() [ 1 ] ) ->set_active( true ) ;
}
void Win_GParted::close_operationslist()
{
treeview_detail .columns_autosize() ; //seemed a nice place for it..
@ -690,16 +697,14 @@ void Win_GParted::close_operationslist()
while (Gtk::Main::events_pending()) Gtk::Main::iteration();
}
hbox_operations .hide( ) ;
( (Gtk::CheckMenuItem *) & menubar_main .items() [ 1 ] .get_submenu() ->items() [ 1 ] ) ->set_active( false ) ;
}
void Win_GParted::clear_operationslist()
{
if ( operations.size() )
{
operations .clear() ;
Refresh_Visual() ;
close_operationslist() ;
}
}
void Win_GParted::optionmenu_devices_changed( )
@ -769,6 +774,14 @@ void Win_GParted::menu_view_harddisk_info()
}
}
void Win_GParted::menu_view_operations()
{
if ( ( (Gtk::CheckMenuItem *) & menubar_main .items() [ 1 ] .get_submenu() ->items() [ 1 ] ) ->get_active() )
open_operationslist( ) ;
else
close_operationslist( ) ;
}
void Win_GParted::menu_help_contents()
{
str_temp = _("Sorry, not yet implemented.") ;