pp-jobs-dialog: Port to AdwDialog

This commit is contained in:
Automeris naranja 2024-04-11 20:02:19 -03:00 committed by Felipe Borges
parent 8d25eafc21
commit 5d0909ae20
4 changed files with 15 additions and 19 deletions

View file

@ -44,7 +44,7 @@
#define CLOCK_FORMAT_KEY "clock-format"
struct _PpJobsDialog {
AdwWindow parent_instance;
AdwDialog parent_instance;
GtkButton *authenticate_button;
GtkMenuButton *authenticate_jobs_button;
@ -74,7 +74,7 @@ struct _PpJobsDialog {
GCancellable *get_jobs_cancellable;
};
G_DEFINE_TYPE (PpJobsDialog, pp_jobs_dialog, ADW_TYPE_WINDOW)
G_DEFINE_TYPE (PpJobsDialog, pp_jobs_dialog, ADW_TYPE_DIALOG)
static gboolean
is_info_required (PpJobsDialog *self,
@ -453,7 +453,7 @@ pp_jobs_dialog_new (const gchar *printer_name)
/* Translators: This is the printer name for which we are showing the active jobs */
title = g_strdup_printf (C_("Printer jobs dialog title", "%s — Active Jobs"), printer_name);
gtk_window_set_title (GTK_WINDOW (self), title);
adw_dialog_set_title (ADW_DIALOG (self), title);
/* Translators: The printer needs authentication info to print. */
text = g_strdup_printf (_("Enter credentials to print from %s"), printer_name);
@ -533,6 +533,4 @@ pp_jobs_dialog_class_init (PpJobsDialogClass *klass)
gtk_widget_class_bind_template_callback (widget_class, auth_entries_changed);
object_class->dispose = pp_jobs_dialog_dispose;
gtk_widget_class_add_binding_action (widget_class, GDK_KEY_Escape, 0, "window.close", NULL);
}

View file

@ -26,7 +26,7 @@
G_BEGIN_DECLS
#define PP_TYPE_JOBS_DIALOG (pp_jobs_dialog_get_type ())
G_DECLARE_FINAL_TYPE (PpJobsDialog, pp_jobs_dialog, PP, JOBS_DIALOG, AdwWindow)
G_DECLARE_FINAL_TYPE (PpJobsDialog, pp_jobs_dialog, PP, JOBS_DIALOG, AdwDialog)
PpJobsDialog *pp_jobs_dialog_new (const gchar *printer_name);
void pp_jobs_dialog_update (PpJobsDialog *dialog);

View file

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.2 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkPopover" id="authentication_popover">
<property name="halign">start</property>
<property name="valign">start</property>
@ -117,16 +115,13 @@
<widget name="password_label"/>
</widgets>
</object>
<template class="PpJobsDialog" parent="AdwWindow">
<property name="width_request">720</property>
<property name="height_request">500</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<template class="PpJobsDialog" parent="AdwDialog">
<property name="content-width">720</property>
<property name="content-height">500</property>
<style>
<class name="view"/>
</style>
<property name="content">
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">

View file

@ -572,7 +572,7 @@ jobs_dialog_close_request_cb (PpPrinterEntry *self)
{
if (self->pp_jobs_dialog != NULL)
{
gtk_window_destroy (GTK_WINDOW (self->pp_jobs_dialog));
adw_dialog_force_close (ADW_DIALOG (self->pp_jobs_dialog));
self->pp_jobs_dialog = NULL;
}
@ -585,9 +585,12 @@ pp_printer_entry_show_jobs_dialog (PpPrinterEntry *self)
if (self->pp_jobs_dialog == NULL)
{
self->pp_jobs_dialog = pp_jobs_dialog_new (self->printer_name);
g_signal_connect_object (self->pp_jobs_dialog, "close-request", G_CALLBACK (jobs_dialog_close_request_cb), self, G_CONNECT_SWAPPED);
gtk_window_set_transient_for (GTK_WINDOW (self->pp_jobs_dialog), GTK_WINDOW (gtk_widget_get_native (GTK_WIDGET (self))));
gtk_window_present (GTK_WINDOW (self->pp_jobs_dialog));
g_object_add_weak_pointer (G_OBJECT (self->pp_jobs_dialog),
(gpointer *) &self->pp_jobs_dialog);
g_signal_connect_object (self->pp_jobs_dialog, "close-attempt", G_CALLBACK (jobs_dialog_close_request_cb), self, G_CONNECT_SWAPPED);
adw_dialog_present (ADW_DIALOG (self->pp_jobs_dialog), GTK_WIDGET (self));
}
}