pp-details-dialog: Port to AdwButtonRow

Also:
- Remove "select_from_database_button" and "install_ppd_button"
object IDs, as they are unused by the C code.
- Remove the default-height from the window to avoid showing an
unnecessary scrollbar now that the AdwButtonRows takes more vertical
space
This commit is contained in:
Automeris naranja 2024-05-19 19:26:32 -03:00 committed by Matthijs Velsink
parent d3765f0862
commit 932bbc970f
2 changed files with 27 additions and 36 deletions

View file

@ -41,14 +41,14 @@
struct _PpDetailsDialog {
AdwWindow parent_instance;
GtkBox *driver_buttons;
AdwPreferencesGroup *driver_button_rows_group;
GtkSpinner *spinner_driver_search;
GtkLabel *printer_address_label;
GtkRevealer *printer_name_hint_revealer;
AdwEntryRow *printer_location_entry;
AdwActionRow *printer_model_label;
AdwEntryRow *printer_name_entry;
GtkButton *search_for_drivers_button;
AdwButtonRow *search_for_drivers_button_row;
gchar *printer_name;
gchar *ppd_file_name;
@ -114,7 +114,7 @@ static void
search_for_drivers (PpDetailsDialog *self)
{
gtk_widget_set_visible (GTK_WIDGET (self->spinner_driver_search), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (self->search_for_drivers_button), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (self->search_for_drivers_button_row), FALSE);
adw_action_row_set_subtitle (self->printer_model_label, _("Searching for preferred drivers…"));
get_ppd_names_async (self->printer_name,
@ -290,7 +290,7 @@ update_sensitivity (PpDetailsDialog *self,
{
gtk_widget_set_sensitive (GTK_WIDGET (self->printer_name_entry), sensitive);
gtk_widget_set_sensitive (GTK_WIDGET (self->printer_location_entry), sensitive);
gtk_widget_set_sensitive (GTK_WIDGET (self->driver_buttons), sensitive);
gtk_widget_set_sensitive (GTK_WIDGET (self->driver_button_rows_group), sensitive);
}
static void
@ -332,13 +332,13 @@ pp_details_dialog_class_init (PpDetailsDialogClass *klass)
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/printers/pp-details-dialog.ui");
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_name_hint_revealer);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, driver_buttons);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, driver_button_rows_group);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, spinner_driver_search);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_address_label);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_location_entry);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_model_label);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, printer_name_entry);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, search_for_drivers_button);
gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, search_for_drivers_button_row);
gtk_widget_class_bind_template_callback (widget_class, printer_name_changed);
gtk_widget_class_bind_template_callback (widget_class, search_for_drivers);

View file

@ -9,7 +9,6 @@
<property name="width-request">360</property>
<property name="height-request">294</property>
<property name="default-width">360</property>
<property name="default-height">500</property>
<property name="content">
<object class="AdwToolbarView">
<child type="top">
@ -115,40 +114,32 @@
</child>
<child>
<object class="AdwPreferencesGroup">
<object class="AdwPreferencesGroup" id="driver_button_rows_group">
<property name="separate-rows">True</property>
<child>
<object class="GtkBox" id="driver_buttons">
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="search_for_drivers_button">
<property name="label" translatable="yes">_Search for Drivers</property>
<property name="use-underline">True</property>
<property name="halign">fill</property>
<signal name="clicked" handler="search_for_drivers" object="PpDetailsDialog" swapped="yes"/>
</object>
</child>
<child>
<object class="GtkButton" id="select_from_database_button">
<property name="label" translatable="yes">S_elect from Database…</property>
<property name="use-underline">True</property>
<property name="halign">fill</property>
<signal name="clicked" handler="select_ppd_in_dialog" object="PpDetailsDialog" swapped="yes"/>
</object>
</child>
<child>
<object class="GtkButton" id="install_ppd_button">
<property name="label" translatable="yes">_Install PPD File…</property>
<property name="use-underline">True</property>
<property name="halign">fill</property>
<signal name="clicked" handler="select_ppd_manually" object="PpDetailsDialog" swapped="yes"/>
</object>
</child>
<object class="AdwButtonRow" id="search_for_drivers_button_row">
<property name="title" translatable="yes">_Search for Drivers</property>
<property name="use-underline">True</property>
<signal name="activated" handler="search_for_drivers" object="PpDetailsDialog" swapped="yes"/>
</object>
</child>
<child>
<object class="AdwButtonRow">
<property name="title" translatable="yes">S_elect from Database…</property>
<property name="use-underline">True</property>
<signal name="activated" handler="select_ppd_in_dialog" object="PpDetailsDialog" swapped="yes"/>
</object>
</child>
<child>
<object class="AdwButtonRow">
<property name="title" translatable="yes">_Install PPD File…</property>
<property name="use-underline">True</property>
<signal name="activated" handler="select_ppd_manually" object="PpDetailsDialog" swapped="yes"/>
</object>
</child>
</object>
</child>
</object>
</property>
</object>