[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis-gtk] 01/05: worked on policy frame
From: |
gnunet |
Subject: |
[taler-anastasis-gtk] 01/05: worked on policy frame |
Date: |
Tue, 06 Oct 2020 09:57:37 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis-gtk.
commit bbf34076603c9858e276d6250e167884e292750c
Author: Dennis Neufeld <dennis.neufeld@students.bfh.ch>
AuthorDate: Sat Oct 3 19:41:11 2020 +0200
worked on policy frame
---
contrib/anastasis_gtk_main_window.glade | 134 +++++++++++++++++++++++++++++++-
src/anastasis/anastasis-gtk_backup.c | 65 ++++++++++++++++
src/anastasis/anastasis-gtk_helper.c | 16 ++++
3 files changed, 212 insertions(+), 3 deletions(-)
diff --git a/contrib/anastasis_gtk_main_window.glade
b/contrib/anastasis_gtk_main_window.glade
index 8b3ad4f..c22aec5 100644
--- a/contrib/anastasis_gtk_main_window.glade
+++ b/contrib/anastasis_gtk_main_window.glade
@@ -1722,13 +1722,132 @@ Provider</property>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
- <placeholder/>
+ <object class="GtkFrame"
id="anastasis_gtk_b_policy_frame">
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkGrid"
id="anastasis_gtk_b_policy_grid">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <child>
+ <object class="GtkFrame">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property
name="label_xalign">0</property>
+ <property
name="shadow_type">none</property>
+ <child>
+ <object class="GtkLabel">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property name="label"
translatable="yes">Method
+</property>
+ </object>
+ </child>
+ <child type="label_item">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property
name="left_attach">0</property>
+ <property
name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property
name="label_xalign">0</property>
+ <property
name="shadow_type">none</property>
+ <child>
+ <object class="GtkLabel">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property name="label"
translatable="yes">Recovery Cost</property>
+ </object>
+ </child>
+ <child type="label_item">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property
name="left_attach">6</property>
+ <property
name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property
name="label_xalign">0</property>
+ <property
name="shadow_type">none</property>
+ <child>
+ <object class="GtkLabel">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property name="label"
translatable="yes">Backup cost</property>
+ </object>
+ </child>
+ <child type="label_item">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property
name="left_attach">5</property>
+ <property
name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property
name="label_xalign">0</property>
+ <property
name="shadow_type">none</property>
+ <child>
+ <object class="GtkLabel">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property name="label"
translatable="yes">Recovery policies</property>
+ </object>
+ </child>
+ <child type="label_item">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property
name="left_attach">1</property>
+ <property
name="top_attach">0</property>
+ <property name="width">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Policies</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
</child>
<child>
<placeholder/>
@@ -1821,7 +1940,16 @@ Provider</property>
</packing>
</child>
<child>
- <placeholder/>
+ <object class="GtkImage" id="anastasis_gtk_b_policies_image">
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="stock">gtk-missing-image</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
</child>
</object>
<packing>
diff --git a/src/anastasis/anastasis-gtk_backup.c
b/src/anastasis/anastasis-gtk_backup.c
index bc5c156..bede891 100644
--- a/src/anastasis/anastasis-gtk_backup.c
+++ b/src/anastasis/anastasis-gtk_backup.c
@@ -999,12 +999,51 @@ init_b_policy (json_t *state)
GList *children, *iter;
json_t *arguments = json_object ();
json_t *argument_arr = json_array ();
+ unsigned int row = 0;
+ GtkGrid *grid = GTK_GRID (GCG_get_main_window_object
("anastasis_gtk_b_policy_grid"));
+
+ //format title label for methods
+ GtkFrame *frm_method_title = GTK_FRAME (gtk_grid_get_child_at (grid, 0,
0));
+ gtk_widget_set_hexpand (GTK_WIDGET (frm_method_title), true);
+ gtk_widget_set_halign (GTK_WIDGET (frm_method_title), GTK_ALIGN_FILL);
+ gtk_widget_set_valign (GTK_WIDGET (frm_method_title), GTK_ALIGN_CENTER);
+
+ //format title label for policies
+ GtkFrame *frm_policy_title = GTK_FRAME (gtk_grid_get_child_at (grid, 1,
0));
+ gtk_widget_set_hexpand (GTK_WIDGET (frm_policy_title), true);
+ gtk_widget_set_halign (GTK_WIDGET (frm_policy_title), GTK_ALIGN_FILL);
+ gtk_widget_set_valign (GTK_WIDGET (frm_policy_title), GTK_ALIGN_CENTER);
+
+ //get number of policies/policy columns
+ GValue val_policies_col = G_VALUE_INIT;
+ g_value_init (&val_policies_col, G_TYPE_INT);
+ gtk_container_child_get_property (GTK_CONTAINER (grid),
+ GTK_WIDGET (frm_policy_title),
+ "width",
+ &val_policies_col);
+ int policies_col = g_value_get_int (&val_policies_col);
+
+ //format title label for backup cost
+ GtkFrame *frm_b_cost_title =
+ GTK_FRAME (gtk_grid_get_child_at (grid, policies_col + 1,
0));
+ gtk_widget_set_hexpand (GTK_WIDGET (frm_b_cost_title), true);
+ gtk_widget_set_halign (GTK_WIDGET (frm_b_cost_title), GTK_ALIGN_FILL);
+ gtk_widget_set_valign (GTK_WIDGET (frm_b_cost_title), GTK_ALIGN_CENTER);
+
+ //format title label for backup cost
+ GtkFrame *frm_r_cost_title =
+ GTK_FRAME (gtk_grid_get_child_at (grid, policies_col + 2,
0));
+ gtk_widget_set_hexpand (GTK_WIDGET (frm_r_cost_title), true);
+ gtk_widget_set_halign (GTK_WIDGET (frm_r_cost_title), GTK_ALIGN_FILL);
+ gtk_widget_set_valign (GTK_WIDGET (frm_r_cost_title), GTK_ALIGN_CENTER);
+
children = gtk_container_get_children (GTK_CONTAINER
(GCG_get_main_window_object (
"anastasis_gtk_b_authentication_vbox")));
for (iter = children; iter != NULL; iter = g_list_next (iter))
{
GList *grandchildren, *inner_iter;
grandchildren = gtk_container_get_children (GTK_CONTAINER
(iter->data));
+ GtkHBox *method_hbox = (GtkHBox *) gtk_box_new
(GTK_ORIENTATION_HORIZONTAL, 2);
json_t *argument = json_object ();
json_t *provider_arr = json_array ();
unsigned int index = 0;
@@ -1029,6 +1068,12 @@ init_b_policy (json_t *state)
json_object_set_new (argument, "method",
json_string ("post"));
else if (0 == strcmp (text, "VIDEO: "))
json_object_set_new (argument, "method",
json_string ("video"));
+
+ row++;
+ gtk_grid_insert_row (grid, row);
+ GtkLabel *lbl_method_type = (GtkLabel *)
gtk_label_new (text);
+ gtk_box_pack_start (GTK_BOX (method_hbox),
GTK_WIDGET (lbl_method_type), 0, 0, 0);
+ gtk_widget_show (GTK_WIDGET (lbl_method_type));
}
// check method attributes
@@ -1045,6 +1090,10 @@ init_b_policy (json_t *state)
json_object_set_new (argument, "full_name",
json_string (text));
else if (0 == strcmp (method_type, "video"))
json_object_set_new (argument,
"path_picture", json_string (text));
+
+ GtkLabel *lbl_method_info = (GtkLabel *)
gtk_label_new (text);
+ gtk_box_pack_start (GTK_BOX (method_hbox),
GTK_WIDGET (lbl_method_info), 0, 0, 0);
+ gtk_widget_show (GTK_WIDGET (lbl_method_info));
}
if (index == 2)
@@ -1104,6 +1153,20 @@ init_b_policy (json_t *state)
}
}
}
+ gtk_grid_attach (grid,
+ GTK_WIDGET (method_hbox),
+ 0, row, 1, 1);
+ gtk_widget_show (GTK_WIDGET (method_hbox));
+ for (unsigned int i = 0; i < policies_col; i++)
+ {
+ GtkCheckButton *chk_btn = (GtkCheckButton *)
gtk_check_button_new ();
+ gtk_grid_attach (grid,
+ GTK_WIDGET (chk_btn),
+ i + 1, row, 1, 1);
+ gtk_widget_set_halign (GTK_WIDGET (chk_btn), GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (GTK_WIDGET (chk_btn), GTK_ALIGN_CENTER);
+ gtk_widget_show (GTK_WIDGET (chk_btn));
+ }
json_object_set_new (argument, "providers", provider_arr);
json_array_append_new (argument_arr, argument);
g_list_free (grandchildren);
@@ -1115,6 +1178,8 @@ init_b_policy (json_t *state)
arguments,
&action_cb,
NULL);
+
+
}
diff --git a/src/anastasis/anastasis-gtk_helper.c
b/src/anastasis/anastasis-gtk_helper.c
index 3df08af..6e24aa2 100644
--- a/src/anastasis/anastasis-gtk_helper.c
+++ b/src/anastasis/anastasis-gtk_helper.c
@@ -194,6 +194,22 @@ action_cb (void *cls,
"anastasis_gtk_b_authentication_methods_image")));
}
}
+ if (check_state (redux_state, "ReduxAuthenticationAddedState")
+ && gtk_widget_is_visible (GTK_WIDGET
(GCG_get_main_window_object (
+
"anastasis_gtk_b_authentication_frame"))))
+ {
+ if (json_object_get (redux_state, "backup-state"))
+ {
+ gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_b_authentication_frame")));
+ gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_b_authentication_methods_image")));
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
+ "anastasis_gtk_b_policy_frame")));
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_b_policies_image")));
+ }
+ }
/** FIXME: Don't use this like this; now used to check if json state
is build correctly */
if (0 == persist_state (redux_state))
return;
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.