[chronojump] app1sae_label_tags_selected updated on edit session and on change tags



commit 96bd1a63dd2f9b383129beb5797866f737d86e42
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Nov 23 16:13:18 2020 +0100

    app1sae_label_tags_selected updated on edit session and on change tags

 src/gui/app1/session/addEdit.cs | 17 ++++++++++++++++-
 src/gui/app1/session/main.cs    |  1 +
 src/tagSession.cs               | 18 ++++++++++++++++++
 3 files changed, 35 insertions(+), 1 deletion(-)
---
diff --git a/src/gui/app1/session/addEdit.cs b/src/gui/app1/session/addEdit.cs
index da736961..950033ca 100644
--- a/src/gui/app1/session/addEdit.cs
+++ b/src/gui/app1/session/addEdit.cs
@@ -35,6 +35,7 @@ public partial class ChronoJumpWindow
        //[Widget] Gtk.Label app1sae_label_persons_data;
        //[Widget] Gtk.TextView app1sae_textview_persons_data;
 
+       TagSessionSelect tagSessionSelect;
        DialogCalendar app1sae_dialogCalendar;
        DateTime app1sae_dateTime;
 
@@ -75,6 +76,7 @@ public partial class ChronoJumpWindow
                app1sae_hbox_sports.Visible = false;
                app1sae_hbox_speciallities.Visible = false;
                app1sae_hbox_levels.Visible = false;
+               app1sae_label_tags_selected.Text = "";
 
                if(addSession) {
                        hbox_session_add.Visible = true;
@@ -109,6 +111,8 @@ public partial class ChronoJumpWindow
                        TextBuffer tb = new TextBuffer (new TextTagTable());
                        tb.Text = currentSession.Comments;
                        app1sae_textview_comments.Buffer = tb;
+
+                       app1sae_label_tags_selected.Text = 
TagSession.GetActiveTagNamesOfThisSession(currentSession.UniqueID);
                }
 
                //app1sae_labelUpdate();
@@ -539,12 +543,23 @@ public partial class ChronoJumpWindow
                if(currentSession == null)
                        return;
 
-               TagSessionSelect tagSessionSelect = new TagSessionSelect();
+               tagSessionSelect = new TagSessionSelect();
+
                tagSessionSelect.PassVariables(currentSession.UniqueID);
+
+               tagSessionSelect.FakeButtonDone.Clicked -= new EventHandler(on_select_tags_clicked_done);
+               tagSessionSelect.FakeButtonDone.Clicked += new EventHandler(on_select_tags_clicked_done);
+
                tagSessionSelect.Do();
                tagSessionSelect.Show();
        }
 
+       private void on_select_tags_clicked_done (object o, EventArgs args)
+       {
+               tagSessionSelect.FakeButtonDone.Clicked -= new EventHandler(on_select_tags_clicked_done);
+               app1sae_label_tags_selected.Text = 
TagSession.GetActiveTagNamesOfThisSession(currentSession.UniqueID);
+       }
+
        void app1sae_on_button_change_date_clicked (object o, EventArgs args)
        {
                app1sae_dialogCalendar = new DialogCalendar(Catalog.GetString("Select session date"), 
app1sae_dateTime);
diff --git a/src/gui/app1/session/main.cs b/src/gui/app1/session/main.cs
index 91d9b801..46c2dce1 100644
--- a/src/gui/app1/session/main.cs
+++ b/src/gui/app1/session/main.cs
@@ -92,6 +92,7 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Entry app1sae_entry_place;
        [Widget] Gtk.HBox hbox_session_add;
        [Widget] Gtk.HBox hbox_session_more_edit;
+       [Widget] Gtk.Label app1sae_label_tags_selected;
        [Widget] Gtk.Label app1sae_label_name;
        [Widget] Gtk.Label app1sae_label_date;
        [Widget] Gtk.Image image_session_new_blue;
diff --git a/src/tagSession.cs b/src/tagSession.cs
index bd23dec8..e471505a 100644
--- a/src/tagSession.cs
+++ b/src/tagSession.cs
@@ -75,9 +75,27 @@ public class TagSession
                return str;
        }
 
+       public static string GetActiveTagNamesOfThisSession(int sessionID)
+       {
+               string str = "";
+               List<TagSession> tagSession_l = SqliteSessionTagSession.Select(false, sessionID);
+               string sep = "";
+
+               foreach(TagSession tagSession in tagSession_l)
+               {
+                       str += sep + tagSession.Name;
+                       sep = ", ";
+               }
+               return str;
+       }
+
        public int UniqueID
        {
                get { return uniqueID; }
        }
+       public string Name
+       {
+               get { return name; }
+       }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]