[chronojump] person top window can load persons from other session
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] person top window can load persons from other session
- Date: Thu, 26 Apr 2018 16:16:22 +0000 (UTC)
commit 253f8c669764fc93b4409d417260fd8d0666f365
Author: Xavier de Blas <xaviblas gmail com>
Date: Thu Apr 26 18:15:01 2018 +0200
person top window can load persons from other session
glade/app1.glade | 2 +-
src/gui/chronojump.cs | 21 ++++++++++++++++++++-
src/gui/person.cs | 11 ++++++++++-
src/gui/personSelect.cs | 6 ++++--
4 files changed, 35 insertions(+), 5 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index 4bb0b94..16ee89c 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -2796,7 +2796,7 @@ EncoderInertialCapture</property>
<property name="has_tooltip">True</property>
<property name="tooltip" translatable="yes">Load
persons from other session</property>
<property name="relief">half</property>
- <signal name="clicked"
handler="on_recuperate_persons_from_session_clicked" swapped="no"/>
+ <signal name="clicked"
handler="on_recuperate_persons_from_session_at_main_gui" swapped="no"/>
<child>
<widget class="GtkVBox" id="vbox99">
<property name="visible">True</property>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 74a5984..e0b4844 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -2607,7 +2607,14 @@ public partial class ChronoJumpWindow
}
}
- private void on_recuperate_persons_from_session_clicked (object o, EventArgs args) {
+ bool person_load_multiple_called_from_person_select_window;
+ private void on_recuperate_persons_from_session_at_main_gui (object o, EventArgs args)
+ {
+ person_load_multiple_called_from_person_select_window = false;
+ person_load_multiple();
+ }
+
+ private void person_load_multiple () {
LogB.Information("recuperate persons from other session");
personsRecuperateFromOtherSessionWin = PersonsRecuperateFromOtherSessionWindow.Show(app1,
currentSession);
personsRecuperateFromOtherSessionWin.FakeButtonDone.Clicked += new
EventHandler(on_recuperate_persons_from_session_accepted);
@@ -2625,6 +2632,12 @@ public partial class ChronoJumpWindow
selectRowTreeView_persons(treeview_persons, rowToSelect);
sensitiveGuiYesPerson();
}
+
+ if(person_load_multiple_called_from_person_select_window)
+ {
+ personsRecuperateFromOtherSessionWin.HideAndNull();
+ updatePersonSelectWin ();
+ }
}
[Widget] Gtk.VBox vbox_manage_persons;
@@ -2866,6 +2879,7 @@ public partial class ChronoJumpWindow
personSelectWin.FakeButtonAddPerson.Clicked += new
EventHandler(on_button_top_person_add_person);
personSelectWin.FakeButtonAddPersonMultiple.Clicked += new
EventHandler(on_button_top_person_add_person_multiple);
personSelectWin.FakeButtonLoadPerson.Clicked += new
EventHandler(on_button_top_person_load_person);
+ personSelectWin.FakeButtonLoadPersonMultiple.Clicked += new
EventHandler(on_button_top_person_load_person_multiple);
personSelectWin.FakeButtonEditPerson.Clicked += new
EventHandler(on_button_top_person_edit_person);
personSelectWin.FakeButtonPersonShowAllEvents.Clicked += new
EventHandler(on_button_top_person_show_all_events);
personSelectWin.FakeButtonDeletePerson.Clicked += new
EventHandler(on_button_top_person_delete_person);
@@ -2886,6 +2900,11 @@ public partial class ChronoJumpWindow
person_load_single_called_from_person_select_window = true;
person_load_single();
}
+ private void on_button_top_person_load_person_multiple(object o, EventArgs args)
+ {
+ person_load_multiple_called_from_person_select_window = true;
+ person_load_multiple();
+ }
private void on_button_top_person_edit_person(object o, EventArgs args)
{
currentPerson = personSelectWin.SelectedPerson;
diff --git a/src/gui/person.cs b/src/gui/person.cs
index 051f591..fe26c41 100644
--- a/src/gui/person.cs
+++ b/src/gui/person.cs
@@ -207,7 +207,7 @@ public class PersonRecuperateWindow {
}
//if called from personRecuperateWindow
- public void HideAndNull()
+ public virtual void HideAndNull()
{
if(PersonRecuperateWindowBox != null)
PersonRecuperateWindowBox.person_recuperate.Hide();
@@ -622,6 +622,15 @@ public class PersonsRecuperateFromOtherSessionWindow : PersonRecuperateWindow
buttonRecuperateChangeSensitiveness();
}
+ public override void HideAndNull()
+ {
+ if(PersonsRecuperateFromOtherSessionWindowBox != null)
+ PersonsRecuperateFromOtherSessionWindowBox.person_recuperate.Hide();
+
+ if(PersonsRecuperateFromOtherSessionWindowBox != null)
+ PersonsRecuperateFromOtherSessionWindowBox = null;
+ }
+
}
diff --git a/src/gui/personSelect.cs b/src/gui/personSelect.cs
index 26ab981..7f7a83b 100644
--- a/src/gui/personSelect.cs
+++ b/src/gui/personSelect.cs
@@ -61,6 +61,7 @@ public class PersonSelectWindow
public Gtk.Button FakeButtonAddPerson;
public Gtk.Button FakeButtonAddPersonMultiple;
public Gtk.Button FakeButtonLoadPerson;
+ public Gtk.Button FakeButtonLoadPersonMultiple;
public Gtk.Button FakeButtonEditPerson;
public Gtk.Button FakeButtonPersonShowAllEvents;
public Gtk.Button FakeButtonDeletePerson;
@@ -83,6 +84,7 @@ public class PersonSelectWindow
FakeButtonAddPerson = new Gtk.Button();
FakeButtonAddPersonMultiple = new Gtk.Button();
FakeButtonLoadPerson = new Gtk.Button();
+ FakeButtonLoadPersonMultiple = new Gtk.Button();
FakeButtonEditPerson = new Gtk.Button();
FakeButtonPersonShowAllEvents = new Gtk.Button();
FakeButtonDeletePerson = new Gtk.Button();
@@ -320,10 +322,10 @@ public class PersonSelectWindow
}
private void on_button_recuperate_persons_from_session_clicked (object o, EventArgs args)
{
- new DialogMessage(Constants.MessageTypes.INFO, "TODO");
+ person_select_window.Visible = false;
+ FakeButtonLoadPersonMultiple.Click();
}
-
private void on_button_edit_clicked (object o, EventArgs args) {
person_select_window.Visible = false;
FakeButtonEditPerson.Click();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]