usage: Port "Clear File History?" to AdwAlertDialog
Also: - Move the dialog to the .ui file, as this dialog is UI-related - Don't destroy/force close the dialog, as it will be closed automatically after the responses are triggered
This commit is contained in:
parent
731d164277
commit
51f8742df8
2 changed files with 17 additions and 26 deletions
|
@ -33,6 +33,7 @@ struct _CcUsagePage
|
|||
|
||||
AdwSwitchRow *recently_used_row;
|
||||
AdwComboRow *retain_history_combo;
|
||||
AdwDialog *clear_file_history_dialog;
|
||||
|
||||
AdwSwitchRow *purge_trash_row;
|
||||
AdwSwitchRow *purge_temp_row;
|
||||
|
@ -323,31 +324,9 @@ cc_usage_page_init (CcUsagePage *self)
|
|||
}
|
||||
|
||||
static void
|
||||
on_clear_recent_warning_response_cb (GtkDialog *dialog,
|
||||
gint response,
|
||||
CcUsagePage *self)
|
||||
on_clear_history_response_cb (void)
|
||||
{
|
||||
if (response == GTK_RESPONSE_OK)
|
||||
gtk_recent_manager_purge_items (gtk_recent_manager_get_default (), NULL);
|
||||
|
||||
gtk_window_destroy (GTK_WINDOW (dialog));
|
||||
}
|
||||
|
||||
static void
|
||||
clear_recent (CcUsagePage *self)
|
||||
{
|
||||
GtkDialog *dialog;
|
||||
|
||||
dialog = run_warning (self,
|
||||
_("Clear File History?"),
|
||||
_("After clearing, lists of recently used files will appear empty."),
|
||||
_("Clear _History"));
|
||||
|
||||
g_signal_connect_object (dialog,
|
||||
"response",
|
||||
G_CALLBACK (on_clear_recent_warning_response_cb),
|
||||
self,
|
||||
0);
|
||||
gtk_recent_manager_purge_items (gtk_recent_manager_get_default (), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -361,6 +340,7 @@ cc_usage_page_class_init (CcUsagePageClass *klass)
|
|||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/privacy/usage/cc-usage-page.ui");
|
||||
|
||||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, purge_after_combo);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, clear_file_history_dialog);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, purge_temp_row);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, purge_trash_button);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, purge_trash_row);
|
||||
|
@ -368,7 +348,7 @@ cc_usage_page_class_init (CcUsagePageClass *klass)
|
|||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, recently_used_row);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcUsagePage, retain_history_combo);
|
||||
|
||||
gtk_widget_class_bind_template_callback (widget_class, clear_recent);
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_clear_history_response_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, retain_history_name_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, retain_history_combo_changed_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, purge_after_name_cb);
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<property name="label" translatable="yes">_Clear History…</property>
|
||||
<property name="can-shrink">True</property>
|
||||
<property name="use_underline">1</property>
|
||||
<signal name="clicked" handler="clear_recent" swapped="yes"/>
|
||||
<signal name="clicked" handler="adw_dialog_present" object="clear_file_history_dialog"/>
|
||||
<style>
|
||||
<class name="destructive-action"/>
|
||||
</style>
|
||||
|
@ -129,4 +129,15 @@
|
|||
</object>
|
||||
</property>
|
||||
</template>
|
||||
<object class="AdwAlertDialog" id="clear_file_history_dialog">
|
||||
<property name="heading" translatable="yes">Clear File History?</property>
|
||||
<property name="body" translatable="yes">After clearing, lists of recently used files will appear empty.</property>
|
||||
<property name="default-response">cancel</property>
|
||||
<property name="close-response">cancel</property>
|
||||
<signal name="response::clear-history" handler="on_clear_history_response_cb"/>
|
||||
<responses>
|
||||
<response id="cancel" translatable="yes">_Cancel</response>
|
||||
<response id="clear-history" translatable="yes" appearance="destructive">Clear _History</response>
|
||||
</responses>
|
||||
</object>
|
||||
</interface>
|
||||
|
|
Loading…
Add table
Reference in a new issue