Replaced menu "Operations" with "Device" and "Partition". Also implemented

* include/Win_GParted.h,
  src/Win_GParted.cc: Replaced menu "Operations" with "Device" and "Partition". Also implemented a 'set-disklabel feature'.
* src/Dialog_Disklabel.cc: changed title and header to be more generic (was specific for a new disk).
This commit is contained in:
Bart Hakvoort 2005-01-30 14:31:29 +00:00
parent c105beaaef
commit 2fa009cbae
4 changed files with 89 additions and 66 deletions

View File

@ -1,3 +1,9 @@
2005-01-30 Bart Hakvoort <hakvoort@cvs.gnome.org>
* include/Win_GParted.h,
src/Win_GParted.cc: Replaced menu "Operations" with "Device" and "Partition". Also implemented a 'set-disklabel feature'.
* src/Dialog_Disklabel.cc: changed title and header to be more generic (was specific for a new disk).
2005-01-29 Bart Hakvoort <hakvoort@cvs.gnome.org> 2005-01-29 Bart Hakvoort <hakvoort@cvs.gnome.org>
* src/Dialog_Filesystems.cc: Replaced stockitems APPLY and CANCEL with YES and NO. * src/Dialog_Filesystems.cc: Replaced stockitems APPLY and CANCEL with YES and NO.

View File

@ -56,7 +56,7 @@ public:
private: private:
void init_menubar( ) ; void init_menubar( ) ;
void init_toolbar( ) ; void init_toolbar( ) ;
void init_operations_menu( ) ; void init_partition_menu( ) ;
void init_convert_menu( ) ; void init_convert_menu( ) ;
void init_device_info( ) ; void init_device_info( ) ;
void init_operationslist( ) ; void init_operationslist( ) ;
@ -78,14 +78,14 @@ private:
void Set_Valid_Convert_Filesystems( ) ; //determines to which filesystems a partition can be converted void Set_Valid_Convert_Filesystems( ) ; //determines to which filesystems a partition can be converted
//convenience functions //convenience functions
void allow_new( bool b ) { menu_operations .items( )[ 0 ] .set_sensitive( b ); toolbar_main .get_nth_item( 0 ) ->set_sensitive( b ); } void allow_new( bool b ) { menu_partition .items( )[ 0 ] .set_sensitive( b ); toolbar_main .get_nth_item( 0 ) ->set_sensitive( b ); }
void allow_delete( bool b ) { menu_operations .items( )[ 1 ] .set_sensitive( b ); toolbar_main .get_nth_item( 1 ) ->set_sensitive( b ); } void allow_delete( bool b ) { menu_partition .items( )[ 1 ] .set_sensitive( b ); toolbar_main .get_nth_item( 1 ) ->set_sensitive( b ); }
void allow_resize( bool b ) { menu_operations .items( )[ 3 ] .set_sensitive( b ); toolbar_main .get_nth_item( 3 ) ->set_sensitive( b ); } void allow_resize( bool b ) { menu_partition .items( )[ 3 ] .set_sensitive( b ); toolbar_main .get_nth_item( 3 ) ->set_sensitive( b ); }
void allow_copy( bool b ) { menu_operations .items( )[ 5 ] .set_sensitive( b ); toolbar_main .get_nth_item( 5 ) ->set_sensitive( b ); } void allow_copy( bool b ) { menu_partition .items( )[ 5 ] .set_sensitive( b ); toolbar_main .get_nth_item( 5 ) ->set_sensitive( b ); }
void allow_paste( bool b ) { menu_operations .items( )[ 6 ] .set_sensitive( b ); toolbar_main .get_nth_item( 6 ) ->set_sensitive( b ); } void allow_paste( bool b ) { menu_partition .items( )[ 6 ] .set_sensitive( b ); toolbar_main .get_nth_item( 6 ) ->set_sensitive( b ); }
void allow_convert( bool b ) { menu_operations .items( )[ 8 ] .set_sensitive( b ); } void allow_convert( bool b ) { menu_partition .items( )[ 8 ] .set_sensitive( b ); }
void allow_unmount( bool b ) { menu_operations .items( )[ 10 ] .set_sensitive( b ); } void allow_unmount( bool b ) { menu_partition .items( )[ 10 ] .set_sensitive( b ); }
void allow_info( bool b ) { menu_operations .items( )[ 12 ] .set_sensitive( b ); } void allow_info( bool b ) { menu_partition .items( )[ 12 ] .set_sensitive( b ); }
void allow_undo( bool b ) { toolbar_main .get_nth_item( 8 ) ->set_sensitive( b ); } void allow_undo( bool b ) { toolbar_main .get_nth_item( 8 ) ->set_sensitive( b ); }
void allow_apply( bool b ) { toolbar_main .get_nth_item( 9 ) ->set_sensitive( b ); } void allow_apply( bool b ) { toolbar_main .get_nth_item( 9 ) ->set_sensitive( b ); }
@ -116,6 +116,7 @@ private:
void activate_info( ); void activate_info( );
void activate_convert( const Glib::ustring & new_fs ); void activate_convert( const Glib::ustring & new_fs );
void activate_unmount( ) ; void activate_unmount( ) ;
void activate_disklabel( ) ;
void activate_undo( ); void activate_undo( );
void activate_apply( ); void activate_apply( );
@ -135,7 +136,7 @@ private:
Gtk::Toolbar toolbar_main; Gtk::Toolbar toolbar_main;
Gtk::MenuBar menubar_main; Gtk::MenuBar menubar_main;
Gtk::OptionMenu optionmenu_devices; Gtk::OptionMenu optionmenu_devices;
Gtk::Menu menu_operations, menu_convert, *menu ; Gtk::Menu menu_partition, menu_convert, *menu ;
Gtk::ToolButton *toolbutton; Gtk::ToolButton *toolbutton;
Gtk::Statusbar statusbar; Gtk::Statusbar statusbar;
Gtk::Image *image ; Gtk::Image *image ;

View File

@ -22,7 +22,7 @@ namespace GParted
Dialog_Disklabel::Dialog_Disklabel( const Glib::ustring & device_path ) Dialog_Disklabel::Dialog_Disklabel( const Glib::ustring & device_path )
{ {
this ->set_title( String::ucompose( _("No recognizable disklabel detected on %1"), device_path ) ); this ->set_title( String::ucompose( _("Set Disklabel on %1"), device_path ) );
this ->set_has_separator( false ) ; this ->set_has_separator( false ) ;
this ->set_resizable( false ); this ->set_resizable( false );
@ -41,7 +41,7 @@ Dialog_Disklabel::Dialog_Disklabel( const Glib::ustring & device_path )
hbox ->pack_start( *vbox, Gtk::PACK_SHRINK ); hbox ->pack_start( *vbox, Gtk::PACK_SHRINK );
str_temp = "<span weight=\"bold\" size=\"larger\">" ; str_temp = "<span weight=\"bold\" size=\"larger\">" ;
str_temp += String::ucompose( _("No recognizable disklabel detected on %1"), device_path ) ; str_temp += String::ucompose( _("Set Disklabel on %1"), device_path ) ;
str_temp += "</span>\n" ; str_temp += "</span>\n" ;
vbox ->pack_start( * mk_label( str_temp ), Gtk::PACK_SHRINK ); vbox ->pack_start( * mk_label( str_temp ), Gtk::PACK_SHRINK );

View File

@ -77,38 +77,43 @@ Win_GParted::Win_GParted( )
dispatcher( ) ; dispatcher( ) ;
} }
void Win_GParted::init_menubar() void Win_GParted::init_menubar( )
{ {
//fill menubar_main and connect callbacks //fill menubar_main and connect callbacks
//gparted //gparted
menu = manage( new Gtk::Menu( ) ) ; menu = manage( new Gtk::Menu( ) ) ;
image = manage( new Gtk::Image( Gtk::Stock::REFRESH, Gtk::ICON_SIZE_MENU ) ); image = manage( new Gtk::Image( Gtk::Stock::REFRESH, Gtk::ICON_SIZE_MENU ) );
menu ->items( ) .push_back( Gtk::Menu_Helpers::ImageMenuElem( _("_Refresh devices"), Gtk::AccelKey("<control>r"), *image , sigc::mem_fun(*this, &Win_GParted::menu_gparted_refresh_devices) ) ); menu ->items( ) .push_back( Gtk::Menu_Helpers::ImageMenuElem( _("_Refresh devices"), Gtk::AccelKey("<control>r"), *image, sigc::mem_fun(*this, &Win_GParted::menu_gparted_refresh_devices) ) );
menu ->items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) ); menu ->items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
menu ->items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("Filesystems"), sigc::mem_fun( *this, &Win_GParted::menu_gparted_filesystems ) ) ); menu ->items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("Filesystems"), sigc::mem_fun( *this, &Win_GParted::menu_gparted_filesystems ) ) );
menu ->items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) ); menu ->items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
menu ->items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::QUIT, sigc::mem_fun(*this, &Win_GParted::menu_gparted_quit) ) ); menu ->items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::QUIT, sigc::mem_fun(*this, &Win_GParted::menu_gparted_quit) ) );
menubar_main .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("_GParted"), *menu ) ); menubar_main .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("_GParted"), *menu ) );
//operations
init_operations_menu( ) ;
menubar_main .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("_Operations"), menu_operations ) );
//view //view
menu = manage( new Gtk::Menu() ) ; 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( _("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) ) ); 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 ) ); menubar_main .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("_View"), *menu ) );
//device
menu = manage( new Gtk::Menu( ) ) ;
menu ->items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("Set Disklabel"), sigc::mem_fun(*this, &Win_GParted::activate_disklabel) ) );
menubar_main .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("_Device"), *menu ) );
//partition
init_partition_menu( ) ;
menubar_main .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("_Partition"), menu_partition ) );
//help //help
menu = manage( new Gtk::Menu() ) ; menu = manage( new Gtk::Menu() ) ;
menu ->items() .push_back(Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::HELP, sigc::mem_fun(*this, &Win_GParted::menu_help_contents) ) ); menu ->items( ) .push_back(Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::HELP, sigc::mem_fun(*this, &Win_GParted::menu_help_contents) ) );
image = manage( new Gtk::Image( "/usr/share/icons/hicolor/16x16/stock/generic/stock_about.png" ) ); image = manage( new Gtk::Image( "/usr/share/icons/hicolor/16x16/stock/generic/stock_about.png" ) );
menu ->items() .push_back(Gtk::Menu_Helpers::ImageMenuElem( _("About"), *image, sigc::mem_fun(*this, &Win_GParted::menu_help_about) ) ); menu ->items( ) .push_back(Gtk::Menu_Helpers::ImageMenuElem( _("About"), *image, sigc::mem_fun(*this, &Win_GParted::menu_help_about) ) );
menubar_main.items().push_back( Gtk::Menu_Helpers::MenuElem(_("_Help"), *menu ) ); menubar_main.items( ) .push_back( Gtk::Menu_Helpers::MenuElem(_("_Help"), *menu ) );
} }
void Win_GParted::init_toolbar() void Win_GParted::init_toolbar( )
{ {
//initialize and pack toolbar_main //initialize and pack toolbar_main
hbox_toolbar.pack_start( toolbar_main ); hbox_toolbar.pack_start( toolbar_main );
@ -152,28 +157,28 @@ void Win_GParted::init_toolbar()
hbox_toolbar .pack_start( optionmenu_devices, Gtk::PACK_SHRINK ); hbox_toolbar .pack_start( optionmenu_devices, Gtk::PACK_SHRINK );
} }
void Win_GParted::init_operations_menu( ) void Win_GParted::init_partition_menu( )
{ {
//fill menu_operations //fill menu_partition
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::NEW, sigc::mem_fun(*this, &Win_GParted::activate_new) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::NEW, sigc::mem_fun(*this, &Win_GParted::activate_new) ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::DELETE, Gtk::AccelKey( GDK_Delete, Gdk::BUTTON1_MASK ), sigc::mem_fun(*this, &Win_GParted::activate_delete) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::DELETE, Gtk::AccelKey( GDK_Delete, Gdk::BUTTON1_MASK ), sigc::mem_fun(*this, &Win_GParted::activate_delete) ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem() ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
image = manage( new Gtk::Image( Gtk::Stock::GOTO_LAST, Gtk::ICON_SIZE_MENU ) ); image = manage( new Gtk::Image( Gtk::Stock::GOTO_LAST, Gtk::ICON_SIZE_MENU ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::ImageMenuElem( _("Resize/Move"), *image, sigc::mem_fun(*this, &Win_GParted::activate_resize) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::ImageMenuElem( _("Resize/Move"), *image, sigc::mem_fun(*this, &Win_GParted::activate_resize) ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem() ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::COPY, sigc::mem_fun(*this, &Win_GParted::activate_copy) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::COPY, sigc::mem_fun(*this, &Win_GParted::activate_copy) ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::PASTE, sigc::mem_fun(*this, &Win_GParted::activate_paste) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::PASTE, sigc::mem_fun(*this, &Win_GParted::activate_paste) ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem() ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
image = manage( new Gtk::Image( Gtk::Stock::CONVERT, Gtk::ICON_SIZE_MENU ) ); image = manage( new Gtk::Image( Gtk::Stock::CONVERT, Gtk::ICON_SIZE_MENU ) );
/*TO TRANSLATORS: menuitem which holds a submenu with filesystems.. */ /*TO TRANSLATORS: menuitem which holds a submenu with filesystems.. */
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::ImageMenuElem( _("_Convert to"), *image, menu_convert ) ) ; menu_partition .items( ) .push_back( Gtk::Menu_Helpers::ImageMenuElem( _("_Convert to"), *image, menu_convert ) ) ;
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem() ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("Unmount"), sigc::mem_fun( *this, &Win_GParted::activate_unmount ) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::MenuElem( _("Unmount"), sigc::mem_fun( *this, &Win_GParted::activate_unmount ) ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem() ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::SeparatorElem( ) );
menu_operations .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::DIALOG_INFO, sigc::mem_fun(*this, &Win_GParted::activate_info) ) ); menu_partition .items( ) .push_back( Gtk::Menu_Helpers::StockMenuElem( Gtk::Stock::DIALOG_INFO, sigc::mem_fun(*this, &Win_GParted::activate_info) ) );
init_convert_menu( ) ; init_convert_menu( ) ;
menu_operations .accelerate( *this ) ; menu_partition .accelerate( *this ) ;
} }
void Win_GParted::init_convert_menu() void Win_GParted::init_convert_menu()
@ -367,7 +372,7 @@ void Win_GParted::Show_Pulsebar( )
toolbar_main .set_sensitive( false ) ; toolbar_main .set_sensitive( false ) ;
menubar_main .set_sensitive( false ) ; menubar_main .set_sensitive( false ) ;
optionmenu_devices .set_sensitive( false ) ; optionmenu_devices .set_sensitive( false ) ;
menu_operations .set_sensitive( false ) ; menu_partition .set_sensitive( false ) ;
//the actual 'pulsing' //the actual 'pulsing'
pulse = true ; pulse = true ;
@ -390,7 +395,7 @@ void Win_GParted::Show_Pulsebar( )
toolbar_main .set_sensitive( true ) ; toolbar_main .set_sensitive( true ) ;
menubar_main .set_sensitive( true ) ; menubar_main .set_sensitive( true ) ;
optionmenu_devices .set_sensitive( true ) ; optionmenu_devices .set_sensitive( true ) ;
menu_operations .set_sensitive( true ) ; menu_partition .set_sensitive( true ) ;
} }
void Win_GParted::Fill_Label_Device_Info( ) void Win_GParted::Fill_Label_Device_Info( )
@ -636,7 +641,7 @@ void Win_GParted::open_operationslist( )
Gtk::Main::iteration( ); Gtk::Main::iteration( );
} }
( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 2 ] .get_submenu( ) ->items( ) [ 1 ] ) ->set_active( true ) ; ( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 1 ] .get_submenu( ) ->items( ) [ 1 ] ) ->set_active( true ) ;
} }
void Win_GParted::close_operationslist( ) void Win_GParted::close_operationslist( )
@ -651,7 +656,7 @@ void Win_GParted::close_operationslist( )
} }
hbox_operations .hide( ) ; hbox_operations .hide( ) ;
( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 2 ] .get_submenu( ) ->items() [ 1 ] ) ->set_active( false ) ; ( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 1 ] .get_submenu( ) ->items() [ 1 ] ) ->set_active( false ) ;
} }
void Win_GParted::clear_operationslist( ) void Win_GParted::clear_operationslist( )
@ -729,7 +734,7 @@ void Win_GParted::menu_gparted_quit( )
void Win_GParted::menu_view_harddisk_info( ) void Win_GParted::menu_view_harddisk_info( )
{ {
if ( ( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 2 ] .get_submenu( ) ->items( ) [ 0 ] ) ->get_active( ) ) if ( ( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 1 ] .get_submenu( ) ->items( ) [ 0 ] ) ->get_active( ) )
{ //open harddisk information { //open harddisk information
hpaned_main .get_child1( ) ->show( ) ; hpaned_main .get_child1( ) ->show( ) ;
for ( int t = hpaned_main .get_position( ) ; t < 250 ; t +=15 ) for ( int t = hpaned_main .get_position( ) ; t < 250 ; t +=15 )
@ -753,7 +758,7 @@ void Win_GParted::menu_view_harddisk_info( )
void Win_GParted::menu_view_operations( ) void Win_GParted::menu_view_operations( )
{ {
if ( ( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 2 ] .get_submenu( ) ->items( ) [ 1 ] ) ->get_active( ) ) if ( ( (Gtk::CheckMenuItem *) & menubar_main .items( ) [ 1 ] .get_submenu( ) ->items( ) [ 1 ] ) ->get_active( ) )
open_operationslist( ) ; open_operationslist( ) ;
else else
close_operationslist( ) ; close_operationslist( ) ;
@ -794,7 +799,7 @@ void Win_GParted::mouse_click( GdkEventButton *event, const Partition & partitio
if ( selected_partition .type != GParted::UNALLOCATED ) if ( selected_partition .type != GParted::UNALLOCATED )
Set_Valid_Convert_Filesystems( ) ; Set_Valid_Convert_Filesystems( ) ;
menu_operations .popup( event ->button, event ->time ); menu_partition .popup( event ->button, event ->time );
} }
} }
@ -904,7 +909,7 @@ void Win_GParted::activate_paste( )
dialog .Set_Data( selected_partition, copied_partition ) ; dialog .Set_Data( selected_partition, copied_partition ) ;
dialog .set_transient_for( *this ); dialog .set_transient_for( *this );
if ( dialog.run() == Gtk::RESPONSE_OK ) if ( dialog .run( ) == Gtk::RESPONSE_OK )
{ {
dialog .hide( ) ;//i want to be sure the dialog is gone _before_ operationslist shows up (only matters if first operation) dialog .hide( ) ;//i want to be sure the dialog is gone _before_ operationslist shows up (only matters if first operation)
Add_Operation( GParted::COPY, dialog .Get_New_Partition( ) ); Add_Operation( GParted::COPY, dialog .Get_New_Partition( ) );
@ -912,31 +917,17 @@ void Win_GParted::activate_paste( )
} }
} }
void Win_GParted::activate_new() void Win_GParted::activate_new( )
{ {
//if max_prims == -1 the current device has an unrecognised disklabel (see also GParted_Core::get_devices) //if max_prims == -1 the current device has an unrecognised disklabel (see also GParted_Core::get_devices)
if ( devices [ current_device ] .max_prims == -1 ) if ( devices [ current_device ] .max_prims == -1 )
{ activate_disklabel( ) ;
Dialog_Disklabel dialog( devices [ current_device ] .path ) ;
dialog .set_transient_for( *this );
if ( dialog .run( ) == Gtk::RESPONSE_OK )
{
if ( ! gparted_core .Set_Disklabel( devices [ current_device ] .path, dialog .Get_Disklabel( ) ) )
{
Gtk::MessageDialog dialog( *this, _("Error while setting new disklabel"), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true ) ;
dialog .run( ) ;
}
menu_gparted_refresh_devices( ) ;
}
}
else if ( ! max_amount_prim_reached( ) ) else if ( ! max_amount_prim_reached( ) )
{ {
Dialog_Partition_New dialog; Dialog_Partition_New dialog;
dialog .Set_Data( selected_partition, any_extended, new_count, gparted_core .get_filesystems( ), devices [ current_device ] .readonly, devices [ current_device ] .cylsize ) ; dialog .Set_Data( selected_partition, any_extended, new_count, gparted_core .get_filesystems( ), devices[ current_device ] .readonly, devices[ current_device ] .cylsize ) ;
dialog .set_transient_for( *this ); dialog .set_transient_for( *this );
if ( dialog .run( ) == Gtk::RESPONSE_OK ) if ( dialog .run( ) == Gtk::RESPONSE_OK )
@ -1113,6 +1104,31 @@ void Win_GParted::activate_unmount( )
menu_gparted_refresh_devices( ) ; menu_gparted_refresh_devices( ) ;
} }
void Win_GParted::activate_disklabel( )
{
Dialog_Disklabel dialog( devices[ current_device ] .path ) ;
dialog .set_transient_for( *this );
if ( dialog .run( ) == Gtk::RESPONSE_OK )
{
str_temp = "<span weight=\"bold\" size=\"larger\">" ;
str_temp += String::ucompose( _("Are you sure you want to create a %1 disklabel on %2?"), dialog .Get_Disklabel( ), devices[ current_device ] .path ) ;
str_temp += "</span>\n\n" ;
str_temp += String::ucompose( _("This operation will destroy all data on %1"), devices[ current_device ] .path ) ;
Gtk::MessageDialog m_dialog( *this, str_temp, true, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_CANCEL, true ) ;
m_dialog .add_button( _("Create"), Gtk::RESPONSE_OK );
if ( m_dialog .run( ) == Gtk::RESPONSE_OK && ! gparted_core .Set_Disklabel( devices[ current_device ] .path, dialog .Get_Disklabel( ) ) )
{
Gtk::MessageDialog dialog( *this, _("Error while setting new disklabel"), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true ) ;
dialog .run( ) ;
}
menu_gparted_refresh_devices( ) ;
}
}
void Win_GParted::activate_undo( ) void Win_GParted::activate_undo( )
{ {
//when undoing an creation it's safe to decrease the newcount by one //when undoing an creation it's safe to decrease the newcount by one