From 83b98885f614e44869d81a2bb61752ab64a06cce Mon Sep 17 00:00:00 2001 From: Luca Bacci Date: Tue, 31 Jul 2018 12:19:14 +0200 Subject: [PATCH] modern-gtk2: Use OptionComboBox class for alignment combobox (!17) First part in a series of commits to replace Gtk::OptionMenu widgets with GParted::OptionComboBox. This specific commit is about partition alignment combobox. Closes !17 - Gtk2 modernisation --- include/Dialog_Base_Partition.h | 5 ++--- src/Dialog_Base_Partition.cc | 23 +++++++++++------------ src/Dialog_Partition_New.cc | 8 ++++---- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/include/Dialog_Base_Partition.h b/include/Dialog_Base_Partition.h index 1b810a9e..8374cf1f 100644 --- a/include/Dialog_Base_Partition.h +++ b/include/Dialog_Base_Partition.h @@ -20,6 +20,7 @@ #include "Frame_Resizer_Extended.h" #include "FileSystem.h" +#include "OptionComboBox.h" #include "Partition.h" #include @@ -28,7 +29,6 @@ #include #include #include -#include namespace GParted { @@ -71,8 +71,7 @@ protected: Gtk::HBox hbox_main ; Gtk::SpinButton spinbutton_before, spinbutton_size, spinbutton_after; - Gtk::OptionMenu optionmenu_alignment ; - Gtk::Menu menu_alignment ; + OptionComboBox combo_alignment; sigc::connection before_change_connection, size_change_connection, after_change_connection ; diff --git a/src/Dialog_Base_Partition.cc b/src/Dialog_Base_Partition.cc index 70f0687b..eeea927f 100644 --- a/src/Dialog_Base_Partition.cc +++ b/src/Dialog_Base_Partition.cc @@ -95,22 +95,21 @@ Dialog_Base_Partition::Dialog_Base_Partition() sigc::mem_fun(*this, &Dialog_Base_Partition::on_spinbutton_value_changed), AFTER ) ) ; //add alignment - /*TO TRANSLATORS: used as label for a list of choices. Align to: */ + /* TO TRANSLATORS: used as label for a list of choices. Align to: */ table_resize .attach( * Utils::mk_label( static_cast( _("Align to:") ) + "\t" ), 0, 1, 3, 4, Gtk::FILL ); - //fill partition alignment menu - /*TO TRANSLATORS: Menu option for drop down menu "Align to:" */ - menu_alignment .items() .push_back( Gtk::Menu_Helpers::MenuElem( _("Cylinder") ) ) ; - /*TO TRANSLATORS: Menu option for label "Align to:" */ - menu_alignment .items() .push_back( Gtk::Menu_Helpers::MenuElem( _("MiB") ) ) ; - /*TO TRANSLATORS: Menu option for drop down menu "Align to:" */ - menu_alignment .items() .push_back( Gtk::Menu_Helpers::MenuElem( _("None") ) ) ; + // Fill partition alignment combo + /* TO TRANSLATORS: Option for combo box "Align to:" */ + combo_alignment.items().push_back(_("Cylinder")); + /* TO TRANSLATORS: Option for combo box "Align to:" */ + combo_alignment.items().push_back(_("MiB")); + /* TO TRANSLATORS: Option for combo box "Align to:" */ + combo_alignment.items().push_back(_("None")); - optionmenu_alignment .set_menu( menu_alignment ); - optionmenu_alignment .set_history( ALIGN_MEBIBYTE ); //Default setting + combo_alignment.set_active(ALIGN_MEBIBYTE); // Default setting - table_resize .attach( optionmenu_alignment, 1, 2, 3, 4, Gtk::FILL ); + table_resize.attach(combo_alignment, 1, 2, 3, 4, Gtk::FILL); this->add_button( Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL ); this ->show_all_children() ; @@ -176,7 +175,7 @@ void Dialog_Base_Partition::prepare_new_partition() new_partition->sector_end = START + total_length - 1; //set alignment - switch ( optionmenu_alignment .get_history() ) + switch (combo_alignment.get_active_row_number()) { case 0: new_partition->alignment = ALIGN_CYLINDER; diff --git a/src/Dialog_Partition_New.cc b/src/Dialog_Partition_New.cc index 237b3afd..8461a5e6 100644 --- a/src/Dialog_Partition_New.cc +++ b/src/Dialog_Partition_New.cc @@ -181,8 +181,8 @@ void Dialog_Partition_New::set_data( const Device & device, if ( TOTAL_MB < 2 ) frame_resizer_base ->set_sensitive( false ) ; - //connect signal handler for Dialog_Base_Partiton optionmenu_alignment - optionmenu_alignment .signal_changed() .connect( + // Connect signal handler for Dialog_Base_Partiton combo_alignment. + combo_alignment.signal_changed().connect( sigc::bind( sigc::mem_fun( *this, &Dialog_Partition_New::optionmenu_changed ), false ) ); this ->show_all_children() ; @@ -247,7 +247,7 @@ const Partition & Dialog_Partition_New::Get_New_Partition() new_partition->set_filesystem_label( Utils::trim( filesystem_label_entry.get_text() ) ); //set alignment - switch ( optionmenu_alignment .get_history() ) + switch (combo_alignment.get_active_row_number()) { case 0: new_partition->alignment = ALIGN_CYLINDER; @@ -336,7 +336,7 @@ void Dialog_Partition_New::optionmenu_changed( bool type ) } } - //optionmenu_filesystem and optionmenu_alignment + // optionmenu_filesystem and combo_alignment if ( ! type ) { fs = FILESYSTEMS[ optionmenu_filesystem .get_history() ] ;