355 lines
14 KiB
Diff
355 lines
14 KiB
Diff
From a30afb9e861450f042fd0d1e52ab6b965a247065 Mon Sep 17 00:00:00 2001
|
|
From: Julian Sparber <julian@sparber.net>
|
|
Date: Wed, 14 Oct 2020 14:44:26 +0200
|
|
Subject: [PATCH 7/8] account-editor: replace remove confirm view with dialog
|
|
|
|
---
|
|
po/POTFILES.in | 1 -
|
|
.../accounts/accounts-editor-edit-pane.vala | 23 ++-
|
|
.../accounts/accounts-editor-remove-pane.vala | 74 --------
|
|
src/client/meson.build | 1 -
|
|
ui/accounts_editor_remove_pane.ui | 159 ------------------
|
|
ui/geary.css | 8 +
|
|
ui/org.gnome.Geary.gresource.xml | 1 -
|
|
7 files changed, 30 insertions(+), 237 deletions(-)
|
|
delete mode 100644 src/client/accounts/accounts-editor-remove-pane.vala
|
|
delete mode 100644 ui/accounts_editor_remove_pane.ui
|
|
|
|
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
|
index cd8b339d..d9dcb0b7 100644
|
|
--- a/po/POTFILES.in
|
|
+++ b/po/POTFILES.in
|
|
@@ -9,7 +9,6 @@ src/client/accounts/accounts-editor.vala
|
|
src/client/accounts/accounts-editor-add-pane.vala
|
|
src/client/accounts/accounts-editor-edit-pane.vala
|
|
src/client/accounts/accounts-editor-list-pane.vala
|
|
-src/client/accounts/accounts-editor-remove-pane.vala
|
|
src/client/accounts/accounts-editor-row.vala
|
|
src/client/accounts/accounts-editor-servers-pane.vala
|
|
src/client/accounts/accounts-manager.vala
|
|
diff --git a/src/client/accounts/accounts-editor-edit-pane.vala b/src/client/accounts/accounts-editor-edit-pane.vala
|
|
index 5b944333..405dc7ba 100644
|
|
--- a/src/client/accounts/accounts-editor-edit-pane.vala
|
|
+++ b/src/client/accounts/accounts-editor-edit-pane.vala
|
|
@@ -217,7 +217,28 @@ internal class Accounts.EditorEditPane :
|
|
[GtkCallback]
|
|
private void on_remove_account_clicked() {
|
|
if (!this.editor.accounts.is_goa_account(account)) {
|
|
- this.editor.push(new EditorRemovePane(this.editor, this.account));
|
|
+ var button = new Gtk.Button.with_mnemonic(_("Remove Account"));
|
|
+ button.get_style_context().add_class(Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION);
|
|
+ button.show();
|
|
+
|
|
+ var dialog = new Gtk.MessageDialog(this.editor,
|
|
+ Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT,
|
|
+ Gtk.MessageType.WARNING,
|
|
+ Gtk.ButtonsType.NONE,
|
|
+ _("Remove Account: %s"),
|
|
+ account.primary_mailbox.address);
|
|
+ dialog.secondary_text = _("This will remove it from Geary and delete locally cached email data from your computer. Nothing will be deleted from your service provider.");
|
|
+
|
|
+ dialog.add_button (_("_Cancel"), Gtk.ResponseType.CANCEL);
|
|
+ dialog.add_action_widget(button, Gtk.ResponseType.ACCEPT);
|
|
+
|
|
+ dialog.response.connect((response_id) => {
|
|
+ if (response_id == Gtk.ResponseType.ACCEPT)
|
|
+ this.editor.remove_account(this.account);
|
|
+
|
|
+ dialog.destroy();
|
|
+ });
|
|
+ dialog.show();
|
|
}
|
|
}
|
|
|
|
diff --git a/src/client/accounts/accounts-editor-remove-pane.vala b/src/client/accounts/accounts-editor-remove-pane.vala
|
|
deleted file mode 100644
|
|
index 2a6844cd..00000000
|
|
--- a/src/client/accounts/accounts-editor-remove-pane.vala
|
|
+++ /dev/null
|
|
@@ -1,74 +0,0 @@
|
|
-/*
|
|
- * Copyright 2018-2019 Michael Gratton <mike@vee.net>
|
|
- *
|
|
- * This software is licensed under the GNU Lesser General Public License
|
|
- * (version 2.1 or later). See the COPYING file in this distribution.
|
|
- */
|
|
-
|
|
-/**
|
|
- * An account editor pane for removing an account from the client.
|
|
- */
|
|
-[GtkTemplate (ui = "/org/gnome/Geary/accounts_editor_remove_pane.ui")]
|
|
-internal class Accounts.EditorRemovePane : Gtk.Grid, EditorPane, AccountPane {
|
|
-
|
|
-
|
|
- /** {@inheritDoc} */
|
|
- internal weak Accounts.Editor editor { get; set; }
|
|
-
|
|
- /** {@inheritDoc} */
|
|
- internal Geary.AccountInformation account { get ; protected set; }
|
|
-
|
|
- /** {@inheritDoc} */
|
|
- internal Gtk.Widget initial_widget {
|
|
- get { return this.remove_button; }
|
|
- }
|
|
-
|
|
- /** {@inheritDoc} */
|
|
- internal bool is_operation_running { get; protected set; default = false; }
|
|
-
|
|
- /** {@inheritDoc} */
|
|
- internal GLib.Cancellable? op_cancellable {
|
|
- get; protected set; default = null;
|
|
- }
|
|
-
|
|
- [GtkChild]
|
|
- private Gtk.HeaderBar header;
|
|
-
|
|
- [GtkChild]
|
|
- private Gtk.Label warning_label;
|
|
-
|
|
- [GtkChild]
|
|
- private Gtk.Button remove_button;
|
|
-
|
|
-
|
|
- public EditorRemovePane(Editor editor, Geary.AccountInformation account) {
|
|
- this.editor = editor;
|
|
- this.account = account;
|
|
-
|
|
- this.warning_label.set_text(
|
|
- this.warning_label.get_text().printf(account.display_name)
|
|
- );
|
|
-
|
|
- connect_account_signals();
|
|
- }
|
|
-
|
|
- ~EditorRemovePane() {
|
|
- disconnect_account_signals();
|
|
- }
|
|
-
|
|
- /** {@inheritDoc} */
|
|
- internal Gtk.HeaderBar get_header() {
|
|
- return this.header;
|
|
- }
|
|
-
|
|
- [GtkCallback]
|
|
- private void on_remove_button_clicked() {
|
|
- this.editor.remove_account(this.account);
|
|
- }
|
|
-
|
|
- [GtkCallback]
|
|
- private void on_back_button_clicked() {
|
|
- this.editor.pop();
|
|
- }
|
|
-
|
|
-}
|
|
diff --git a/src/client/meson.build b/src/client/meson.build
|
|
index 4efadc6d..6514adca 100644
|
|
--- a/src/client/meson.build
|
|
+++ b/src/client/meson.build
|
|
@@ -38,7 +38,6 @@ client_vala_sources = files(
|
|
'accounts/accounts-editor-add-pane.vala',
|
|
'accounts/accounts-editor-edit-pane.vala',
|
|
'accounts/accounts-editor-list-pane.vala',
|
|
- 'accounts/accounts-editor-remove-pane.vala',
|
|
'accounts/accounts-editor-row.vala',
|
|
'accounts/accounts-editor-servers-pane.vala',
|
|
'accounts/accounts-signature-web-view.vala',
|
|
diff --git a/ui/accounts_editor_remove_pane.ui b/ui/accounts_editor_remove_pane.ui
|
|
deleted file mode 100644
|
|
index 7edf4c13..00000000
|
|
--- a/ui/accounts_editor_remove_pane.ui
|
|
+++ /dev/null
|
|
@@ -1,159 +0,0 @@
|
|
-<?xml version="1.0" encoding="UTF-8"?>
|
|
-<!-- Generated with glade 3.22.1 -->
|
|
-<interface>
|
|
- <requires lib="gtk+" version="3.20"/>
|
|
- <template class="AccountsEditorRemovePane" parent="GtkGrid">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="valign">center</property>
|
|
- <child>
|
|
- <object class="HdyClamp">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="margin">24</property>
|
|
- <child>
|
|
- <object class="GtkGrid">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="valign">start</property>
|
|
- <property name="vexpand">True</property>
|
|
- <property name="row_spacing">32</property>
|
|
- <child>
|
|
- <object class="GtkButtonBox">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="layout_style">end</property>
|
|
- <child>
|
|
- <object class="GtkButton" id="remove_button">
|
|
- <property name="label" translatable="yes" comments="This is the remove account button in the account settings.">Remove Account</property>
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">True</property>
|
|
- <property name="receives_default">True</property>
|
|
- <property name="tooltip_text" translatable="yes">Remove this account from Geary</property>
|
|
- <signal name="clicked" handler="on_remove_button_clicked" swapped="no"/>
|
|
- <style>
|
|
- <class name="destructive-action"/>
|
|
- </style>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="expand">True</property>
|
|
- <property name="fill">True</property>
|
|
- <property name="position">1</property>
|
|
- </packing>
|
|
- </child>
|
|
- <style>
|
|
- <class name="geary-settings"/>
|
|
- </style>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">0</property>
|
|
- <property name="top_attach">1</property>
|
|
- </packing>
|
|
- </child>
|
|
- <child>
|
|
- <object class="GtkGrid">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="row_spacing">6</property>
|
|
- <property name="column_spacing">18</property>
|
|
- <child>
|
|
- <object class="GtkImage">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="icon_name">dialog-warning-symbolic</property>
|
|
- <property name="icon_size">6</property>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">0</property>
|
|
- <property name="top_attach">0</property>
|
|
- <property name="height">2</property>
|
|
- </packing>
|
|
- </child>
|
|
- <child>
|
|
- <object class="GtkLabel" id="warning_label">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="halign">start</property>
|
|
- <property name="vexpand">True</property>
|
|
- <property name="label" translatable="yes" comments="This title is shown to users when confirming if they want to remove an account. The string substitution is replaced with the account's name.">Confirm removing: %s</property>
|
|
- <attributes>
|
|
- <attribute name="weight" value="bold"/>
|
|
- </attributes>
|
|
- <style>
|
|
- <class name="title"/>
|
|
- </style>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">1</property>
|
|
- <property name="top_attach">0</property>
|
|
- </packing>
|
|
- </child>
|
|
- <child>
|
|
- <object class="GtkLabel">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="halign">start</property>
|
|
- <property name="label" translatable="yes">Removing an account will remove it from Geary and delete locally cached email data from your computer, but not from your service provider.</property>
|
|
- <property name="wrap">True</property>
|
|
- <property name="xalign">0</property>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">1</property>
|
|
- <property name="top_attach">1</property>
|
|
- </packing>
|
|
- </child>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">0</property>
|
|
- <property name="top_attach">0</property>
|
|
- </packing>
|
|
- </child>
|
|
- <style>
|
|
- <class name="geary-accounts-editor-pane-content"/>
|
|
- </style>
|
|
- </object>
|
|
- </child>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">0</property>
|
|
- <property name="top_attach">0</property>
|
|
- </packing>
|
|
- </child>
|
|
- <style>
|
|
- <class name="geary-accounts-editor-pane"/>
|
|
- </style>
|
|
- </template>
|
|
- <object class="GtkHeaderBar" id="header">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="title" translatable="yes">Remove account</property>
|
|
- <property name="subtitle" translatable="yes">Account name</property>
|
|
- <property name="show_close_button">True</property>
|
|
- <child>
|
|
- <object class="GtkGrid">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <child>
|
|
- <object class="GtkButton" id="back_button">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">True</property>
|
|
- <property name="receives_default">True</property>
|
|
- <signal name="clicked" handler="on_back_button_clicked" swapped="no"/>
|
|
- <child>
|
|
- <object class="GtkImage">
|
|
- <property name="visible">True</property>
|
|
- <property name="can_focus">False</property>
|
|
- <property name="no_show_all">True</property>
|
|
- <property name="icon_name">go-previous-symbolic</property>
|
|
- </object>
|
|
- </child>
|
|
- </object>
|
|
- <packing>
|
|
- <property name="left_attach">0</property>
|
|
- <property name="top_attach">0</property>
|
|
- </packing>
|
|
- </child>
|
|
- </object>
|
|
- </child>
|
|
- </object>
|
|
-</interface>
|
|
diff --git a/ui/geary.css b/ui/geary.css
|
|
index ca3cf640..3877038f 100644
|
|
--- a/ui/geary.css
|
|
+++ b/ui/geary.css
|
|
@@ -334,6 +334,14 @@ popover.geary-editor > grid > button.geary-setting-remove {
|
|
margin-top: 12px;
|
|
}
|
|
|
|
+dialog.geary-remove-confirm .dialog-vbox {
|
|
+ margin: 12px;
|
|
+}
|
|
+
|
|
+dialog.geary-remove-confirm .dialog-action-box {
|
|
+ margin: 6px;
|
|
+}
|
|
+
|
|
/* FolderList.Tree */
|
|
|
|
treeview.sidebar:drop(active).after,
|
|
diff --git a/ui/org.gnome.Geary.gresource.xml b/ui/org.gnome.Geary.gresource.xml
|
|
index 0b9e900f..efdc87d6 100644
|
|
--- a/ui/org.gnome.Geary.gresource.xml
|
|
+++ b/ui/org.gnome.Geary.gresource.xml
|
|
@@ -5,7 +5,6 @@
|
|
<file compressed="true" preprocess="xml-stripblanks">accounts_editor_add_pane.ui</file>
|
|
<file compressed="true" preprocess="xml-stripblanks">accounts_editor_edit_pane.ui</file>
|
|
<file compressed="true" preprocess="xml-stripblanks">accounts_editor_list_pane.ui</file>
|
|
- <file compressed="true" preprocess="xml-stripblanks">accounts_editor_remove_pane.ui</file>
|
|
<file compressed="true" preprocess="xml-stripblanks">accounts_editor_servers_pane.ui</file>
|
|
<file compressed="true" preprocess="xml-stripblanks">application-main-window.ui</file>
|
|
<file compressed="true" preprocess="xml-stripblanks">certificate_warning_dialog.glade</file>
|
|
--
|
|
2.29.2
|
|
|