Fix dialog progress details view size (#602635) (#662722)

The details view refused to use additional space, even after the window was
expanded, instead continuing to use the scrollbars.  Now resizing the
window will be allowed regardless of the state of the details expander, and
the details view will expand to use the extra space.  Also request enough
initial width to not need a horizontal scrollbar.

Closes:
Bug 602635 - list of tasks in apply dialog does not expand to the available
             vertical space

Bug 662722 - Increase default width of "applying..." dialog to include the
             "Details" status icons
This commit is contained in:
Phillip Susi 2013-01-30 16:23:48 -05:00 committed by Curtis Gedak
parent 38dc55d49c
commit 4c249b4d65
2 changed files with 5 additions and 12 deletions

View File

@ -48,7 +48,6 @@ private:
void on_signal_update( const OperationDetail & operationdetail ) ; void on_signal_update( const OperationDetail & operationdetail ) ;
void update_gui_elements() ; void update_gui_elements() ;
void on_signal_show() ; void on_signal_show() ;
void on_expander_changed() ;
void on_cell_data_description( Gtk::CellRenderer * renderer, const Gtk::TreeModel::iterator & iter) ; void on_cell_data_description( Gtk::CellRenderer * renderer, const Gtk::TreeModel::iterator & iter) ;
void on_cancel() ; void on_cancel() ;
void on_save() ; void on_save() ;

View File

@ -28,7 +28,6 @@ namespace GParted
Dialog_Progress::Dialog_Progress( const std::vector<Operation *> & operations ) Dialog_Progress::Dialog_Progress( const std::vector<Operation *> & operations )
{ {
this ->set_resizable( false ) ;
this ->set_has_separator( false ) ; this ->set_has_separator( false ) ;
this ->set_title( _("Applying pending operations") ) ; this ->set_title( _("Applying pending operations") ) ;
this ->operations = operations ; this ->operations = operations ;
@ -37,12 +36,13 @@ Dialog_Progress::Dialog_Progress( const std::vector<Operation *> & operations )
warnings = 0 ; warnings = 0 ;
fraction = 1.00 / operations .size() ; fraction = 1.00 / operations .size() ;
this->property_default_width() = 700;
{ {
Gtk::VBox* vbox(manage(new Gtk::VBox())); Gtk::VBox* vbox(manage(new Gtk::VBox()));
vbox->set_border_width(10); vbox->set_border_width(10);
this->get_vbox()->pack_start(*vbox, Gtk::PACK_SHRINK); this->get_vbox()->pack_start(*vbox, Gtk::PACK_EXPAND_WIDGET);
Glib::ustring str_temp(_("Depending on the number and type of operations this might take a long time.")); Glib::ustring str_temp(_("Depending on the number and type of operations this might take a long time."));
str_temp += "\n"; str_temp += "\n";
@ -72,7 +72,7 @@ Dialog_Progress::Dialog_Progress( const std::vector<Operation *> & operations )
treeview_operations.set_model(treestore_operations); treeview_operations.set_model(treestore_operations);
treeview_operations.set_headers_visible(false); treeview_operations.set_headers_visible(false);
treeview_operations.set_rules_hint(true); treeview_operations.set_rules_hint(true);
treeview_operations.set_size_request(500, 250); treeview_operations.set_size_request(700, 250);
treeview_operations.append_column("", treeview_operations_columns.operation_description); treeview_operations.append_column("", treeview_operations_columns.operation_description);
treeview_operations.append_column("", treeview_operations_columns.elapsed_time); treeview_operations.append_column("", treeview_operations_columns.elapsed_time);
treeview_operations.append_column("", treeview_operations_columns.status_icon); treeview_operations.append_column("", treeview_operations_columns.status_icon);
@ -95,12 +95,11 @@ Dialog_Progress::Dialog_Progress( const std::vector<Operation *> & operations )
scrolledwindow.set_shadow_type(Gtk::SHADOW_ETCHED_IN); scrolledwindow.set_shadow_type(Gtk::SHADOW_ETCHED_IN);
scrolledwindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); scrolledwindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
scrolledwindow.set_size_request (700, 250);
scrolledwindow.add(treeview_operations); scrolledwindow.add(treeview_operations);
expander_details.set_label("<b>" + Glib::ustring(_("Details")) + "</b>"); expander_details.set_label("<b>" + Glib::ustring(_("Details")) + "</b>");
expander_details.set_use_markup(true); expander_details.set_use_markup(true);
expander_details.property_expanded().signal_changed().connect(
sigc::mem_fun(*this, &Dialog_Progress::on_expander_changed) );
expander_details.add(scrolledwindow); expander_details.add(scrolledwindow);
vbox ->pack_start(expander_details, Gtk::PACK_EXPAND_WIDGET); vbox ->pack_start(expander_details, Gtk::PACK_EXPAND_WIDGET);
@ -282,11 +281,6 @@ void Dialog_Progress::on_signal_show()
} }
} }
void Dialog_Progress::on_expander_changed()
{
this ->set_resizable( expander_details .get_expanded() ) ;
}
void Dialog_Progress::on_cell_data_description( Gtk::CellRenderer * renderer, const Gtk::TreeModel::iterator & iter ) void Dialog_Progress::on_cell_data_description( Gtk::CellRenderer * renderer, const Gtk::TreeModel::iterator & iter )
{ {
dynamic_cast<Gtk::CellRendererText *>( renderer ) ->property_markup() = dynamic_cast<Gtk::CellRendererText *>( renderer ) ->property_markup() =