[gtranslator/dl-workflow: 9/10] Use checkbox instead of button for reserver in DL
- From: Daniel Garcia Moreno <danigm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtranslator/dl-workflow: 9/10] Use checkbox instead of button for reserver in DL
- Date: Tue, 2 Mar 2021 07:47:16 +0000 (UTC)
commit 60454b87e0ee4272025488dd8ecf6a769da62c6a
Author: Daniel GarcĂa Moreno <dani danigm net>
Date: Tue Mar 2 08:36:45 2021 +0100
Use checkbox instead of button for reserver in DL
This patch changes the reserve for translation button to a checkbox so
there's only one button and the reserve is done in the load process if
the checkbox is checked.
src/gtr-dl-teams.c | 26 +++++++++++++++++---------
src/gtr-dl-teams.ui | 4 ++--
2 files changed, 19 insertions(+), 11 deletions(-)
---
diff --git a/src/gtr-dl-teams.c b/src/gtr-dl-teams.c
index 33b8aae6..092104b1 100644
--- a/src/gtr-dl-teams.c
+++ b/src/gtr-dl-teams.c
@@ -74,7 +74,7 @@ static void team_add_cb (GtkButton *btn, GtrDlTeams *self);
static void gtr_dl_teams_save_combo_selected (GtkWidget *widget, GtrDlTeams *self);
static void gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self);
static void gtr_dl_teams_get_file_info (GtrDlTeams *self);
-static void gtr_dl_teams_reserve_for_translation (GtkButton *button, GtrDlTeams *self);
+static gboolean gtr_dl_teams_reserve_for_translation (GtkWidget *button, GtrDlTeams *self);
static void
gtr_dl_teams_list_add (JsonArray *array,
@@ -471,6 +471,17 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self)
g_autofree char *filename = NULL;
g_autofree char *file_path = NULL;
g_autoptr(GFile) dest_file = NULL;
+ gboolean reserve_first = FALSE;
+
+ // reserve for translation first
+ reserve_first = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
+ (priv->reserve_button));
+ if (reserve_first)
+ {
+ ret = gtr_dl_teams_reserve_for_translation (priv->reserve_button, self);
+ if (!ret)
+ return;
+ }
/* Load the file, save as temp; path to file is https://l10n.gnome.org/[priv->file_path] */
session = soup_session_new ();
@@ -585,8 +596,8 @@ gtr_dl_teams_load_po_file (GtkButton *button, GtrDlTeams *self)
}
/* Reserve for translation */
-static void
-gtr_dl_teams_reserve_for_translation (GtkButton *button, GtrDlTeams *self)
+static gboolean
+gtr_dl_teams_reserve_for_translation (GtkWidget *button, GtrDlTeams *self)
{
GtrDlTeamsPrivate *priv = gtr_dl_teams_get_instance_private (self);
GtrProfileManager *pmanager = NULL;
@@ -626,7 +637,7 @@ gtr_dl_teams_reserve_for_translation (GtkButton *button, GtrDlTeams *self)
soup_status_get_phrase(msg->status_code));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
- return;
+ return FALSE;
}
/* Display a message if the reserve for translation operation was successful */
@@ -643,6 +654,8 @@ gtr_dl_teams_reserve_for_translation (GtkButton *button, GtrDlTeams *self)
gtk_dialog_run (GTK_DIALOG (success_dialog));
gtk_widget_destroy (success_dialog);
gtk_widget_set_sensitive (priv->reserve_button, FALSE);
+
+ return TRUE;
}
static void
@@ -812,11 +825,6 @@ gtr_dl_teams_init (GtrDlTeams *self)
"clicked",
G_CALLBACK (gtr_dl_teams_load_po_file),
self);
-
- g_signal_connect (priv->reserve_button,
- "clicked",
- G_CALLBACK (gtr_dl_teams_reserve_for_translation),
- self);
}
GtrDlTeams*
diff --git a/src/gtr-dl-teams.ui b/src/gtr-dl-teams.ui
index 3e4662df..6ee004fa 100644
--- a/src/gtr-dl-teams.ui
+++ b/src/gtr-dl-teams.ui
@@ -102,9 +102,9 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="reserve_button">
+ <object class="GtkCheckButton" id="reserve_button">
<property name="label" translatable="yes">Reserve for translation</property>
- <property name="visible">False</property>
+ <property name="visible">true</property>
</object>
<packing>
<property name="expand">False</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]