removed libparted messagesdialog. instead, show them on the console. They
* src/Device.cc: removed libparted messagesdialog. instead, show them on the console. They proved to be pretty useless. * src/Win_GParted.cc: fixed crasher when loading gparted (or refresh devices) while there's a (audio) cd in the cdrom-drive.
This commit is contained in:
parent
445c252441
commit
3528ee71f5
|
@ -1,3 +1,8 @@
|
||||||
|
2004-10-22 Bart Hakvoort <gparted@users.sf.net>
|
||||||
|
|
||||||
|
* src/Device.cc: removed libparted messagesdialog. instead, show them on the console. They proved to be pretty useless.
|
||||||
|
* src/Win_GParted.cc: fixed crasher when loading gparted (or refresh devices) while there's a (audio) cd in the cdrom-drive.
|
||||||
|
|
||||||
2004-10-21 Bart Hakvoort <gparted@users.sf.net>
|
2004-10-21 Bart Hakvoort <gparted@users.sf.net>
|
||||||
|
|
||||||
* configure.in: modernized use of AM_INIT_AUTOMAKE a bit (according to
|
* configure.in: modernized use of AM_INIT_AUTOMAKE a bit (according to
|
||||||
|
|
|
@ -54,47 +54,10 @@ Glib::ustring get_sym_path( const Glib::ustring & real_path )
|
||||||
|
|
||||||
//AFAIK it's not possible to use a C++ memberfunction as a callback for a C libary function (if you know otherwise, PLEASE contact me)
|
//AFAIK it's not possible to use a C++ memberfunction as a callback for a C libary function (if you know otherwise, PLEASE contact me)
|
||||||
Glib::ustring error_message;
|
Glib::ustring error_message;
|
||||||
bool show_libparted_message = true ;
|
|
||||||
PedExceptionOption PedException_Handler (PedException* ex)
|
PedExceptionOption PedException_Handler (PedException* ex)
|
||||||
{
|
{
|
||||||
error_message = ex ->message ;
|
error_message = ex ->message ;
|
||||||
|
std::cout << error_message << "\n---------------------------\n" ;
|
||||||
if ( show_libparted_message )
|
|
||||||
{
|
|
||||||
Gtk::HBox *hbox_filler;
|
|
||||||
|
|
||||||
Glib::ustring message = "<span weight=\"bold\" size=\"larger\">" + (Glib::ustring) _( "Libparted message" ) + "</span>\n\n" ;
|
|
||||||
message += (Glib::ustring) _( "This message directly comes from libparted and has little to do with GParted. However, the message might contain useful information, so you might decide to read it.") + "\n";
|
|
||||||
message += _( "If you don't want to see these messages any longer, it's safe to disable them.") ;
|
|
||||||
|
|
||||||
Gtk::MessageDialog dialog( message, true, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK, true);
|
|
||||||
Gtk::Frame frame_libparted_message ;
|
|
||||||
frame_libparted_message .set_size_request( 400, -1 );
|
|
||||||
frame_libparted_message .set_label_widget( * mk_label("<b>" + (Glib::ustring) _( "Libparted message") + ": </b>" ) ) ;
|
|
||||||
|
|
||||||
frame_libparted_message .set_border_width( 5 ) ;
|
|
||||||
hbox_filler = manage( new Gtk::HBox() ) ;
|
|
||||||
hbox_filler ->pack_start ( * mk_label( "\t\t" ), Gtk::PACK_SHRINK ) ; //filler
|
|
||||||
hbox_filler ->pack_start ( frame_libparted_message, Gtk::PACK_SHRINK ) ;
|
|
||||||
|
|
||||||
dialog .get_vbox() ->pack_start( *hbox_filler, Gtk::PACK_SHRINK ) ;
|
|
||||||
|
|
||||||
frame_libparted_message.add ( * mk_label( "<i>" + error_message + "</i>", true, false, true ) ) ;
|
|
||||||
|
|
||||||
Gtk::CheckButton checkbutton_message( _( "Hide libparted messages for this session" ) ) ;
|
|
||||||
checkbutton_message .set_border_width( 5 ) ;
|
|
||||||
|
|
||||||
hbox_filler = manage( new Gtk::HBox() ) ;
|
|
||||||
hbox_filler ->pack_start ( * mk_label( "\t\t" ), Gtk::PACK_SHRINK ) ;
|
|
||||||
hbox_filler ->pack_start ( checkbutton_message, Gtk::PACK_SHRINK ) ;
|
|
||||||
|
|
||||||
dialog .get_vbox() ->pack_start( *hbox_filler, Gtk::PACK_SHRINK ) ;
|
|
||||||
|
|
||||||
dialog .show_all_children() ;
|
|
||||||
dialog .run();
|
|
||||||
|
|
||||||
show_libparted_message = ! checkbutton_message .get_active() ;
|
|
||||||
}
|
|
||||||
|
|
||||||
return PED_EXCEPTION_UNHANDLED ;
|
return PED_EXCEPTION_UNHANDLED ;
|
||||||
}
|
}
|
||||||
|
@ -416,10 +379,7 @@ bool Device::Commit()
|
||||||
{
|
{
|
||||||
bool return_value = ped_disk_commit_to_dev( disk ) ;
|
bool return_value = ped_disk_commit_to_dev( disk ) ;
|
||||||
|
|
||||||
//i don't want this annoying "warning couldn't reread blabla" message all the time. (I throw one myself if necessary)
|
|
||||||
ped_exception_fetch_all() ;
|
|
||||||
ped_disk_commit_to_os( disk ) ;
|
ped_disk_commit_to_os( disk ) ;
|
||||||
ped_exception_leave_all() ;
|
|
||||||
|
|
||||||
return return_value ;
|
return return_value ;
|
||||||
}
|
}
|
||||||
|
@ -514,16 +474,7 @@ Sector Device::Get_Used_Sectors( PedPartition *c_partition, const Glib::ustring
|
||||||
PedFileSystem *fs = NULL;
|
PedFileSystem *fs = NULL;
|
||||||
PedConstraint *constraint = NULL;
|
PedConstraint *constraint = NULL;
|
||||||
|
|
||||||
//prevent messagebox from showing up (the error wil be stored in the infodialog)
|
|
||||||
if ( show_libparted_message )
|
|
||||||
{
|
|
||||||
show_libparted_message = false ;
|
|
||||||
fs = ped_file_system_open( & c_partition ->geom );
|
fs = ped_file_system_open( & c_partition ->geom );
|
||||||
show_libparted_message = true ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
fs = ped_file_system_open( & c_partition ->geom );
|
|
||||||
|
|
||||||
|
|
||||||
if ( fs )
|
if ( fs )
|
||||||
{
|
{
|
||||||
|
|
|
@ -379,7 +379,10 @@ void Win_GParted::Find_Devices( bool deep_scan )
|
||||||
ped_device_probe_all( );
|
ped_device_probe_all( );
|
||||||
|
|
||||||
PedDevice *device = ped_device_get_next ( NULL );
|
PedDevice *device = ped_device_get_next ( NULL );
|
||||||
while ( device )
|
|
||||||
|
//in certain cases (e.g. when there's a cd in the cdrom-drive) ped_device_probe_all will find a 'ghost' device that has no name or contains
|
||||||
|
//random garbage. Those 2 checks try to prevent such a ghostdevice from being initialized.. (tested over a 1000 times with and without cd)
|
||||||
|
while ( device && strlen( device ->path ) > 6 && ( (Glib::ustring) device ->path ). is_ascii( ) )
|
||||||
{
|
{
|
||||||
temp_device = new GParted::Device( device ->path, &FILESYSTEMS );
|
temp_device = new GParted::Device( device ->path, &FILESYSTEMS );
|
||||||
if ( temp_device ->Get_Length() > 0 )
|
if ( temp_device ->Get_Length() > 0 )
|
||||||
|
@ -392,7 +395,6 @@ void Win_GParted::Find_Devices( bool deep_scan )
|
||||||
|
|
||||||
device = ped_device_get_next ( device ) ;
|
device = ped_device_get_next ( device ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Win_GParted::Refresh_OptionMenu( )
|
void Win_GParted::Refresh_OptionMenu( )
|
||||||
|
|
Loading…
Reference in New Issue