replaced deprecated OptionMenu with ComboBox. also fixed some issues which
* include/Win_GParted.h, src/Win_GParted.cc: replaced deprecated OptionMenu with ComboBox. also fixed some issues which arised when no devices were detected.
This commit is contained in:
parent
f369959995
commit
3a4b43e0ad
|
@ -1,3 +1,9 @@
|
||||||
|
2005-12-30 Bart Hakvoort <hakvoort@cvs.gnome.org>
|
||||||
|
|
||||||
|
* include/Win_GParted.h,
|
||||||
|
src/Win_GParted.cc: replaced deprecated OptionMenu with ComboBox.
|
||||||
|
also fixed some issues which arised when no devices were detected.
|
||||||
|
|
||||||
2005-12-29 Bart Hakvoort <hakvoort@cvs.gnome.org>
|
2005-12-29 Bart Hakvoort <hakvoort@cvs.gnome.org>
|
||||||
|
|
||||||
* src/Makefile.am: removed -g from AM_C(XX)FLAGS
|
* src/Makefile.am: removed -g from AM_C(XX)FLAGS
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <gtkmm/menubar.h>
|
#include <gtkmm/menubar.h>
|
||||||
#include <gtkmm/statusbar.h>
|
#include <gtkmm/statusbar.h>
|
||||||
#include <gtkmm/liststore.h>
|
#include <gtkmm/liststore.h>
|
||||||
|
#include <gtkmm/combobox.h>
|
||||||
|
|
||||||
#include <unistd.h> //should be included by gtkmm headers. but decided to include it anyway after getting some bugreports..
|
#include <unistd.h> //should be included by gtkmm headers. but decided to include it anyway after getting some bugreports..
|
||||||
|
|
||||||
|
@ -60,7 +61,7 @@ private:
|
||||||
void init_operationslist( ) ;
|
void init_operationslist( ) ;
|
||||||
void init_hpaned_main( ) ;
|
void init_hpaned_main( ) ;
|
||||||
|
|
||||||
void Refresh_OptionMenu( ) ;
|
void refresh_combo_devices() ;
|
||||||
void Show_Pulsebar( ) ;
|
void Show_Pulsebar( ) ;
|
||||||
|
|
||||||
//Fill txtview_device_info_buffer with some information about the selected device
|
//Fill txtview_device_info_buffer with some information about the selected device
|
||||||
|
@ -121,7 +122,7 @@ private:
|
||||||
void open_operationslist( ) ;
|
void open_operationslist( ) ;
|
||||||
void close_operationslist( ) ;
|
void close_operationslist( ) ;
|
||||||
void clear_operationslist( ) ;
|
void clear_operationslist( ) ;
|
||||||
void optionmenu_devices_changed( );
|
void combo_devices_changed( );
|
||||||
|
|
||||||
void menu_gparted_refresh_devices( );
|
void menu_gparted_refresh_devices( );
|
||||||
void menu_gparted_filesystems( );
|
void menu_gparted_filesystems( );
|
||||||
|
@ -164,7 +165,7 @@ private:
|
||||||
Gtk::HBox hbox_toolbar, hbox_operations, *hbox;
|
Gtk::HBox hbox_toolbar, hbox_operations, *hbox;
|
||||||
Gtk::Toolbar toolbar_main;
|
Gtk::Toolbar toolbar_main;
|
||||||
Gtk::MenuBar menubar_main;
|
Gtk::MenuBar menubar_main;
|
||||||
Gtk::OptionMenu optionmenu_devices;
|
Gtk::ComboBox combo_devices ;
|
||||||
Gtk::Menu menu_partition, menu_convert, *menu ;
|
Gtk::Menu menu_partition, menu_convert, *menu ;
|
||||||
Gtk::ToolButton *toolbutton;
|
Gtk::ToolButton *toolbutton;
|
||||||
Gtk::Statusbar statusbar;
|
Gtk::Statusbar statusbar;
|
||||||
|
@ -176,13 +177,31 @@ private:
|
||||||
Gtk::Table *table ;
|
Gtk::Table *table ;
|
||||||
Gtk::MenuItem *menu_item;
|
Gtk::MenuItem *menu_item;
|
||||||
Gtk::ProgressBar *pulsebar ;
|
Gtk::ProgressBar *pulsebar ;
|
||||||
|
Gtk::TreeRow treerow;
|
||||||
|
|
||||||
VBox_VisualDisk vbox_visual_disk;
|
VBox_VisualDisk vbox_visual_disk;
|
||||||
TreeView_Detail treeview_detail;
|
TreeView_Detail treeview_detail;
|
||||||
|
|
||||||
|
//device combo
|
||||||
|
Glib::RefPtr<Gtk::ListStore> liststore_devices ;
|
||||||
|
|
||||||
|
struct treeview_devices_Columns : public Gtk::TreeModelColumnRecord
|
||||||
|
{
|
||||||
|
Gtk::TreeModelColumn< Glib::RefPtr<Gdk::Pixbuf> > icon ;
|
||||||
|
Gtk::TreeModelColumn<Glib::ustring> device ;
|
||||||
|
Gtk::TreeModelColumn<Glib::ustring> size ;
|
||||||
|
|
||||||
|
treeview_devices_Columns()
|
||||||
|
{
|
||||||
|
add( icon ) ;
|
||||||
|
add( device ) ;
|
||||||
|
add( size ) ;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
treeview_devices_Columns treeview_devices_columns ;
|
||||||
|
|
||||||
//operations list
|
//operations list
|
||||||
Gtk::TreeView treeview_operations;
|
Gtk::TreeView treeview_operations;
|
||||||
Gtk::TreeRow treerow;
|
|
||||||
Glib::RefPtr<Gtk::ListStore> liststore_operations;
|
Glib::RefPtr<Gtk::ListStore> liststore_operations;
|
||||||
|
|
||||||
struct treeview_operations_Columns : public Gtk::TreeModelColumnRecord
|
struct treeview_operations_Columns : public Gtk::TreeModelColumnRecord
|
||||||
|
@ -201,7 +220,7 @@ private:
|
||||||
treeview_operations_Columns treeview_operations_columns;
|
treeview_operations_Columns treeview_operations_columns;
|
||||||
|
|
||||||
//usefull variables which are used by many different functions...
|
//usefull variables which are used by many different functions...
|
||||||
bool any_logic,any_extended;//used in some checks (e.g. see optionmenu_devices_changed()
|
bool any_logic,any_extended;//used in some checks
|
||||||
unsigned short primary_count ;//primary_count checks for max. of 4 pimary partitions
|
unsigned short primary_count ;//primary_count checks for max. of 4 pimary partitions
|
||||||
unsigned short new_count;//new_count keeps track of the new created partitions
|
unsigned short new_count;//new_count keeps track of the new created partitions
|
||||||
Glib::ustring str_temp ; //mostly used for constructing dialogmessages
|
Glib::ustring str_temp ; //mostly used for constructing dialogmessages
|
||||||
|
@ -209,7 +228,7 @@ private:
|
||||||
|
|
||||||
GParted_Core gparted_core ;
|
GParted_Core gparted_core ;
|
||||||
GParted::Device *temp_device ;
|
GParted::Device *temp_device ;
|
||||||
std::vector <Gtk::Label *> device_info ;
|
std::vector<Gtk::Label *> device_info ;
|
||||||
|
|
||||||
//stuff for progress overview and pulsebar
|
//stuff for progress overview and pulsebar
|
||||||
Dialog_Progress *dialog_progress;
|
Dialog_Progress *dialog_progress;
|
||||||
|
|
|
@ -170,10 +170,17 @@ void Win_GParted::init_toolbar( )
|
||||||
toolbutton ->signal_clicked().connect( sigc::mem_fun(*this, &Win_GParted::activate_apply) ); toolbar_main.append(*toolbutton); toolbutton ->set_sensitive( false );
|
toolbutton ->signal_clicked().connect( sigc::mem_fun(*this, &Win_GParted::activate_apply) ); toolbar_main.append(*toolbutton); toolbutton ->set_sensitive( false );
|
||||||
toolbutton ->set_tooltip(tooltips, _("Apply all operations") );
|
toolbutton ->set_tooltip(tooltips, _("Apply all operations") );
|
||||||
|
|
||||||
//initizialize and pack optionmenu_devices
|
//initialize and pack combo_devices
|
||||||
optionmenu_devices .set_menu( * manage( new Gtk::Menu( ) ) );
|
liststore_devices = Gtk::ListStore::create( treeview_devices_columns ) ;
|
||||||
optionmenu_devices .signal_changed( ) .connect( sigc::mem_fun(*this, &Win_GParted::optionmenu_devices_changed) );
|
combo_devices .set_model( liststore_devices ) ;
|
||||||
hbox_toolbar .pack_start( optionmenu_devices, Gtk::PACK_SHRINK );
|
|
||||||
|
combo_devices .pack_start( treeview_devices_columns .icon ) ;
|
||||||
|
combo_devices .pack_start( treeview_devices_columns .device ) ;
|
||||||
|
combo_devices .pack_start( treeview_devices_columns .size ) ;
|
||||||
|
|
||||||
|
combo_devices .signal_changed() .connect( sigc::mem_fun(*this, &Win_GParted::combo_devices_changed) );
|
||||||
|
|
||||||
|
hbox_toolbar .pack_start( combo_devices, Gtk::PACK_SHRINK ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Win_GParted::init_partition_menu( )
|
void Win_GParted::init_partition_menu( )
|
||||||
|
@ -356,29 +363,22 @@ void Win_GParted::init_hpaned_main( )
|
||||||
hpaned_main.pack2( *scrollwindow, true, true );
|
hpaned_main.pack2( *scrollwindow, true, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Win_GParted::Refresh_OptionMenu( )
|
void Win_GParted::refresh_combo_devices()
|
||||||
{
|
{
|
||||||
optionmenu_devices .get_menu( ) ->items( ) .clear( ) ;
|
liststore_devices ->clear() ;
|
||||||
|
|
||||||
//fill optionmenu_devices
|
//fill combo_devices
|
||||||
for ( unsigned int i = 0 ; i < devices .size( ) ; i++ )
|
for ( unsigned int i = 0 ; i < devices .size( ) ; i++ )
|
||||||
{
|
{
|
||||||
hbox = manage( new Gtk::HBox( ) );
|
treerow = *( liststore_devices ->append() ) ;
|
||||||
|
treerow[ treeview_devices_columns .icon ] =
|
||||||
//the image...
|
render_icon( Gtk::Stock::HARDDISK, Gtk::ICON_SIZE_LARGE_TOOLBAR ) ;
|
||||||
image = manage( new Gtk::Image( Gtk::Stock::HARDDISK, Gtk::ICON_SIZE_LARGE_TOOLBAR) );
|
treerow[ treeview_devices_columns .device ] = devices[ i ] .path ;
|
||||||
hbox ->pack_start( *image, Gtk::PACK_SHRINK );
|
treerow[ treeview_devices_columns .size ] =
|
||||||
|
"(" + String::ucompose( _("%1 MB"), Utils::Sector_To_MB( devices[ i ] .length ) ) + ")" ;
|
||||||
//the label...
|
|
||||||
hbox ->pack_start( *Utils::mk_label( " " + devices[ i ] .path + "\t(" + String::ucompose( _("%1 MB"), Utils::Sector_To_MB( devices[ i ] .length ) ) + ")" ), Gtk::PACK_SHRINK );
|
|
||||||
|
|
||||||
menu_item = manage( new Gtk::MenuItem( *hbox ) ) ;
|
|
||||||
optionmenu_devices .get_menu( ) ->items( ) .push_back( *menu_item );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hbox_toolbar .show_all_children( );
|
combo_devices .set_active( current_device ) ;
|
||||||
|
|
||||||
optionmenu_devices .set_history( current_device ) ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Win_GParted::Show_Pulsebar( )
|
void Win_GParted::Show_Pulsebar( )
|
||||||
|
@ -389,7 +389,7 @@ void Win_GParted::Show_Pulsebar( )
|
||||||
//disable all input stuff
|
//disable all input stuff
|
||||||
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 ) ;
|
combo_devices .set_sensitive( false ) ;
|
||||||
menu_partition .set_sensitive( false ) ;
|
menu_partition .set_sensitive( false ) ;
|
||||||
treeview_detail .set_sensitive( false ) ;
|
treeview_detail .set_sensitive( false ) ;
|
||||||
vbox_visual_disk .set_sensitive( false ) ;
|
vbox_visual_disk .set_sensitive( false ) ;
|
||||||
|
@ -413,7 +413,7 @@ void Win_GParted::Show_Pulsebar( )
|
||||||
//enable all disabled stuff
|
//enable all disabled stuff
|
||||||
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 ) ;
|
combo_devices .set_sensitive( true ) ;
|
||||||
menu_partition .set_sensitive( true ) ;
|
menu_partition .set_sensitive( true ) ;
|
||||||
treeview_detail .set_sensitive( true ) ;
|
treeview_detail .set_sensitive( true ) ;
|
||||||
vbox_visual_disk .set_sensitive( true ) ;
|
vbox_visual_disk .set_sensitive( true ) ;
|
||||||
|
@ -693,10 +693,10 @@ void Win_GParted::clear_operationslist( )
|
||||||
Refresh_Visual( ) ;
|
Refresh_Visual( ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Win_GParted::optionmenu_devices_changed( )
|
void Win_GParted::combo_devices_changed( )
|
||||||
{
|
{
|
||||||
//set new current device
|
//set new current device
|
||||||
current_device = optionmenu_devices .get_history( ) ;
|
current_device = combo_devices .get_active_row_number() ;
|
||||||
|
|
||||||
//refresh label_device_info
|
//refresh label_device_info
|
||||||
Fill_Label_Device_Info( );
|
Fill_Label_Device_Info( );
|
||||||
|
@ -712,6 +712,7 @@ void Win_GParted::menu_gparted_refresh_devices( )
|
||||||
thread = Glib::Thread::create( SigC::slot_class( *this, &Win_GParted::find_devices_thread ), true );
|
thread = Glib::Thread::create( SigC::slot_class( *this, &Win_GParted::find_devices_thread ), true );
|
||||||
|
|
||||||
Show_Pulsebar() ;
|
Show_Pulsebar() ;
|
||||||
|
|
||||||
//check if current_device is still available (think about hotpluggable shit like usbdevices)
|
//check if current_device is still available (think about hotpluggable shit like usbdevices)
|
||||||
if ( current_device >= devices .size() )
|
if ( current_device >= devices .size() )
|
||||||
current_device = 0 ;
|
current_device = 0 ;
|
||||||
|
@ -753,14 +754,15 @@ void Win_GParted::menu_gparted_refresh_devices( )
|
||||||
//if no devices were detected we disable some stuff and show a message in the statusbar
|
//if no devices were detected we disable some stuff and show a message in the statusbar
|
||||||
if ( devices .empty() )
|
if ( devices .empty() )
|
||||||
{
|
{
|
||||||
optionmenu_devices .hide() ;
|
combo_devices .hide() ;
|
||||||
|
|
||||||
menubar_main .items()[ 1 ] .set_sensitive( false ) ;
|
menubar_main .items()[ 1 ] .set_sensitive( false ) ;
|
||||||
menubar_main .items()[ 2 ] .set_sensitive( false ) ;
|
menubar_main .items()[ 2 ] .set_sensitive( false ) ;
|
||||||
menubar_main .items()[ 3 ] .set_sensitive( false ) ;
|
menubar_main .items()[ 3 ] .set_sensitive( false ) ;
|
||||||
menubar_main .items()[ 4 ] .set_sensitive( false ) ;
|
menubar_main .items()[ 4 ] .set_sensitive( false ) ;
|
||||||
toolbar_main .set_sensitive( false ) ;
|
toolbar_main .set_sensitive( false ) ;
|
||||||
optionmenu_devices .set_sensitive( false ) ;
|
vbox_visual_disk .set_sensitive( false ) ;
|
||||||
|
treeview_detail .set_sensitive( false ) ;
|
||||||
|
|
||||||
Fill_Label_Device_Info( true ) ;
|
Fill_Label_Device_Info( true ) ;
|
||||||
|
|
||||||
|
@ -768,7 +770,7 @@ void Win_GParted::menu_gparted_refresh_devices( )
|
||||||
treeview_detail .clear() ;
|
treeview_detail .clear() ;
|
||||||
|
|
||||||
//hmzz, this is really paranoid, but i think it's the right thing to do ;)
|
//hmzz, this is really paranoid, but i think it's the right thing to do ;)
|
||||||
liststore_operations ->clear( ) ;
|
liststore_operations ->clear() ;
|
||||||
close_operationslist() ;
|
close_operationslist() ;
|
||||||
operations .clear() ;
|
operations .clear() ;
|
||||||
|
|
||||||
|
@ -778,10 +780,18 @@ void Win_GParted::menu_gparted_refresh_devices( )
|
||||||
|
|
||||||
else //at least one device detected
|
else //at least one device detected
|
||||||
{
|
{
|
||||||
menubar_main .items( )[ 2 ] .set_sensitive( true ) ;
|
combo_devices .show() ;
|
||||||
menubar_main .items( )[ 3 ] .set_sensitive( true ) ;
|
|
||||||
|
|
||||||
Refresh_OptionMenu( ) ;
|
menubar_main .items()[ 1 ] .set_sensitive( true ) ;
|
||||||
|
menubar_main .items()[ 2 ] .set_sensitive( true ) ;
|
||||||
|
menubar_main .items()[ 3 ] .set_sensitive( true ) ;
|
||||||
|
menubar_main .items()[ 4 ] .set_sensitive( true ) ;
|
||||||
|
|
||||||
|
toolbar_main .set_sensitive( true ) ;
|
||||||
|
vbox_visual_disk .set_sensitive( true ) ;
|
||||||
|
treeview_detail .set_sensitive( true ) ;
|
||||||
|
|
||||||
|
refresh_combo_devices() ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue