[chronojump] Code reorg
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Code reorg
- Date: Thu, 2 Apr 2020 11:06:22 +0000 (UTC)
commit b4b5f6822cbbde366bb78ca5161f323d8b9f6be6
Author: Xavier de Blas <xaviblas gmail com>
Date: Thu Apr 2 13:06:08 2020 +0200
Code reorg
po/POTFILES.in | 1 +
src/gui/app1/chronojump.cs | 398 -------------------------------------
src/gui/app1/chronojumpPersons.cs | 401 ++++++++++++++++++++++++++++++++++++++
3 files changed, 402 insertions(+), 398 deletions(-)
---
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 82592a76..bda31b51 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -57,6 +57,7 @@ src/execute/run.cs
src/exportSession.cs
src/forceSensor.cs
src/gui/app1/chronojump.cs
+src/gui/app1/chronojumpPersons.cs
src/gui/app1/contactsExercise.cs
src/gui/app1/encoder.cs
src/gui/app1/forceSensor.cs
diff --git a/src/gui/app1/chronojump.cs b/src/gui/app1/chronojump.cs
index 22bf71e5..6865abdd 100644
--- a/src/gui/app1/chronojump.cs
+++ b/src/gui/app1/chronojump.cs
@@ -2607,404 +2607,6 @@ public partial class ChronoJumpWindow
new ExportSessionCSV(currentSession, app1, preferences);
}
-
- /* ---------------------------------------------------------
- * ---------------- PERSON RECUPERATE, LOAD, EDIT, DELETE -
- * --------------------------------------------------------
- */
-
- bool person_load_single_called_from_person_select_window;
- private void on_recuperate_person_from_main_gui (object o, EventArgs args)
- {
- person_load_single_called_from_person_select_window = false;
- person_load_single();
- }
-
- private void person_load_single ()
- {
- LogB.Information("recuperate person");
- personRecuperateWin = PersonRecuperateWindow.Show(app1, currentSession,
preferences.digitsNumber);
- personRecuperateWin.FakeButtonDone.Clicked += new EventHandler(on_recuperate_person_accepted);
- }
-
- private void on_recuperate_person_accepted (object o, EventArgs args) {
- LogB.Information("at: on_recuperate_person_accepted");
- currentPerson = personRecuperateWin.CurrentPerson;
- currentPersonSession = personRecuperateWin.CurrentPersonSession;
- label_person_change();
-
- myTreeViewPersons.Add(currentPerson.UniqueID.ToString(), currentPerson.Name);
-
- int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
- if(rowToSelect != -1) {
- selectRowTreeView_persons(treeview_persons, rowToSelect);
- sensitiveGuiYesPerson();
- }
-
- if(person_load_single_called_from_person_select_window)
- {
- personRecuperateWin.HideAndNull();
- updatePersonSelectWin ();
- }
- }
-
- 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);
- }
-
- private void on_recuperate_persons_from_session_accepted (object o, EventArgs args) {
- currentPerson = personsRecuperateFromOtherSessionWin.CurrentPerson;
- currentPersonSession = personsRecuperateFromOtherSessionWin.CurrentPersonSession;
- label_person_change();
-
- treeview_persons_storeReset();
- fillTreeView_persons();
- int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
- if(rowToSelect != -1) {
- selectRowTreeView_persons(treeview_persons, rowToSelect);
- sensitiveGuiYesPerson();
- }
-
- if(person_load_multiple_called_from_person_select_window)
- {
- personsRecuperateFromOtherSessionWin.HideAndNull();
- updatePersonSelectWin ();
- }
- }
-
- bool person_add_single_called_from_person_select_window;
- private void on_person_add_single_from_main_gui (object o, EventArgs args)
- {
- person_add_single_called_from_person_select_window = false;
- person_add_single();
- }
-
- private void person_add_single ()
- {
- personAddModifyWin = PersonAddModifyWindow.Show(app1,
- currentSession, new Person(-1),
- //preferences.digitsNumber, checkbutton_video, configChronojump.UseVideo,
- preferences.digitsNumber, checkbutton_video_contacts,
- preferences.videoDevice, preferences.videoDevicePixelFormat,
preferences.videoDeviceResolution, preferences.videoDeviceFramerate,
- configChronojump.Compujump, preferences.units == Preferences.UnitsEnum.METRIC
- );
- //-1 means we are adding a new person
- //if we were modifying it will be it's uniqueID
-
- personAddModifyWin.FakeButtonAccept.Clicked -= new
EventHandler(on_person_add_single_accepted);
- personAddModifyWin.FakeButtonAccept.Clicked += new
EventHandler(on_person_add_single_accepted);
- }
-
- /*
- * note: while adding, if a person name is written,
- * and this name exists in database but not in current session,
- * a person load will appear
- * and if clicked, this will be called, so this will be used also as a loader
- * TODO: unify most of the code of person add and person load
- */
- private void on_person_add_single_accepted (object o, EventArgs args)
- {
- personAddModifyWin.FakeButtonAccept.Clicked -= new
EventHandler(on_person_add_single_accepted);
- if (personAddModifyWin.CurrentPerson != null)
- {
- currentPerson = personAddModifyWin.CurrentPerson;
- currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
-
- if(personAddModifyWin.Units != preferences.units) {
- preferences.units = personAddModifyWin.Units;
- SqlitePreferences.Update (SqlitePreferences.UnitsStr,
personAddModifyWin.Units.ToString(), false);
- }
-
- person_added();
- }
- }
-
- private void person_added ()
- {
- label_person_change();
- myTreeViewPersons.Add(currentPerson.UniqueID.ToString(), currentPerson.Name);
-
- //when adding new person, photos cannot be recorded as currentPerson.UniqueID
- //because it was undefined. Copy them now
- if(File.Exists(Util.GetPhotoTempFileName(false)) &&
File.Exists(Util.GetPhotoTempFileName(true))) {
- try {
- File.Move(Util.GetPhotoTempFileName(false),
- Util.GetPhotoFileName(false, currentPerson.UniqueID));
- } catch {
- File.Copy(Util.GetPhotoTempFileName(false),
- Util.GetPhotoFileName(false, currentPerson.UniqueID), true);
- }
- try {
- File.Move(Util.GetPhotoTempFileName(true),
- Util.GetPhotoFileName(true, currentPerson.UniqueID));
- } catch {
- File.Copy(Util.GetPhotoTempFileName(true),
- Util.GetPhotoFileName(true, currentPerson.UniqueID), true);
- }
- }
-
- int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
- if(rowToSelect != -1) {
- selectRowTreeView_persons(treeview_persons, rowToSelect);
- sensitiveGuiYesPerson();
- //appbar2.Push( 1, Catalog.GetString("Successfully added") + " " + currentPerson.Name
);
- }
-
- if(person_add_single_called_from_person_select_window)
- updatePersonSelectWin ();
- }
-
- private void updatePersonSelectWin ()
- {
- ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
- currentSession.UniqueID,
- false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons, currentPerson);
- }
-
- bool person_add_multiple_called_from_person_select_window;
- //show spinbutton window asking for how many people to create
- private void on_person_add_multiple_from_main_gui (object o, EventArgs args)
- {
- person_add_multiple_called_from_person_select_window = false;
- person_add_multiple();
- }
-
- private void person_add_multiple ()
- {
- personAddMultipleWin = PersonAddMultipleWindow.Show(app1, currentSession,
preferences.CSVColumnDelimiter);
- personAddMultipleWin.Button_accept.Clicked -= new
EventHandler(on_person_add_multiple_accepted);
- personAddMultipleWin.Button_accept.Clicked += new
EventHandler(on_person_add_multiple_accepted);
- }
-
- private void on_person_add_multiple_accepted (object o, EventArgs args)
- {
- personAddMultipleWin.Button_accept.Clicked -= new
EventHandler(on_person_add_multiple_accepted);
- if (personAddMultipleWin.CurrentPerson != null)
- {
- currentPerson = personAddMultipleWin.CurrentPerson;
- currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
- label_person_change();
- treeview_persons_storeReset();
- fillTreeView_persons();
- int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
- if(rowToSelect != -1) {
- selectRowTreeView_persons(treeview_persons, rowToSelect);
- sensitiveGuiYesPerson();
-
- // string myString = string.Format(
- // Catalog.GetPluralString(
- // "Successfully added one person.",
- // "Successfully added {0} persons.",
- // personAddMultipleWin.PersonsCreatedCount),
- // personAddMultipleWin.PersonsCreatedCount);
- //appbar2.Push( 1, Catalog.GetString(myString) );
- }
-
- if(person_add_multiple_called_from_person_select_window)
- updatePersonSelectWin ();
- }
- }
-
- bool person_edit_single_called_from_person_select_window;
- private void on_edit_current_person_clicked_from_main_gui (object o, EventArgs args) {
- person_edit_single_called_from_person_select_window = false;
- person_edit_single();
- }
-
- private void person_edit_single() {
- LogB.Information("modify person");
-
- personAddModifyWin = PersonAddModifyWindow.Show(app1, currentSession, currentPerson,
- //preferences.digitsNumber, checkbutton_video, configChronojump.UseVideo,
- preferences.digitsNumber, checkbutton_video_contacts,
- preferences.videoDevice, preferences.videoDevicePixelFormat,
preferences.videoDeviceResolution, preferences.videoDeviceFramerate,
- configChronojump.Compujump, preferences.units == Preferences.UnitsEnum.METRIC
- );
- personAddModifyWin.FakeButtonAccept.Clicked += new
EventHandler(on_edit_current_person_accepted);
- }
-
- private void on_edit_current_person_accepted (object o, EventArgs args) {
- if (personAddModifyWin.CurrentPerson != null)
- {
- currentPerson = personAddModifyWin.CurrentPerson;
- currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
-
- if(personAddModifyWin.Units != preferences.units) {
- preferences.units = personAddModifyWin.Units;
- SqlitePreferences.Update (SqlitePreferences.UnitsStr,
personAddModifyWin.Units.ToString(), false);
- }
-
- label_person_change();
- treeview_persons_storeReset();
- fillTreeView_persons();
-
- int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
- if(rowToSelect != -1) {
- selectRowTreeView_persons(treeview_persons, rowToSelect);
- sensitiveGuiYesPerson();
- }
-
- on_combo_result_jumps_changed(combo_result_jumps, args);
- on_combo_result_jumps_rj_changed(combo_result_jumps_rj, args);
- on_combo_result_runs_changed(combo_result_runs, args);
- on_combo_result_runs_interval_changed(combo_result_runs_interval, args);
- on_combo_pulses_changed(combo_pulses, args);
-
- if(createdStatsWin) {
- stats_win_fillTreeView_stats(false, true);
- }
-
-// personAddModifyWin.Destroy();
-
- if(person_edit_single_called_from_person_select_window) {
- ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
- currentSession.UniqueID,
- false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons, currentPerson);
- }
- }
- }
-
-
- private void on_show_all_person_events_activate (object o, EventArgs args)
- {
- personShowAllEventsWin = PersonShowAllEventsWindow.Show(app1, currentSession.UniqueID,
currentPerson, true);
- }
-
-
- private void on_delete_current_person_from_session_clicked (object o, EventArgs args) {
- LogB.Information("delete current person from this session");
- ConfirmWindow confirmWin = ConfirmWindow.Show(
- Catalog.GetString("Are you sure you want to delete the current person and all
his/her tests (jumps, races, pulses, ...) from this session?\n(His/her personal data and tests in other
sessions will remain intact.)"), "",
- Catalog.GetString("Current Person: ") + currentPerson.Name);
-
- confirmWin.Button_accept.Clicked += new
EventHandler(on_delete_current_person_from_session_accepted);
- }
-
- private void on_delete_current_person_from_session_accepted (object o, EventArgs args)
- {
- new DialogMessage(Constants.MessageTypes.INFO, Catalog.GetString("Deleted person and all
his/her tests on this session."));
- SqlitePersonSession.DeletePersonFromSessionAndTests(
- currentSession.UniqueID.ToString(), currentPerson.UniqueID.ToString());
-
- resetAllTreeViews(false, true, true); //fill, resetPersons, fillPersons
- bool foundPersons = selectRowTreeView_persons(treeview_persons, 0);
-
- if(createdStatsWin) {
- stats_win_fillTreeView_stats(false, true);
- }
-
- //if there are no persons
- if(! foundPersons) {
- currentPerson = null;
- sensitiveGuiNoPerson ();
- if(createdStatsWin) {
- stats_win_hide();
- }
- }
- }
-
- private void on_button_top_person_clicked (object o, EventArgs args)
- {
- //if compujump show person profile at server
- if(configChronojump.Compujump)
- {
- on_button_person_popup_clicked (o, args);
- return;
- }
-
- //if not compujump show person change window
- ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
- currentSession.UniqueID,
- false); //means: do not returnPersonAndPSlist
-
- personSelectWin = PersonSelectWindow.Show(app1, myPersons, currentPerson);
- 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);
- personSelectWin.FakeButtonDone.Clicked += new EventHandler(on_button_top_person_change_done);
- }
- private void on_button_top_person_add_person(object o, EventArgs args)
- {
- person_add_single_called_from_person_select_window = true;
- person_add_single();
- }
- private void on_button_top_person_add_person_multiple(object o, EventArgs args)
- {
- person_add_multiple_called_from_person_select_window = true;
- person_add_multiple();
- }
- private void on_button_top_person_load_person(object o, EventArgs args)
- {
- 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;
- personChanged();
-
- person_edit_single_called_from_person_select_window = true;
- person_edit_single();
- }
- private void on_button_top_person_show_all_events (object o, EventArgs args)
- {
- personShowAllEventsWin = PersonShowAllEventsWindow.Show(app1, currentSession.UniqueID,
currentPerson, false);
- personShowAllEventsWin.FakeButtonDone.Clicked -= new
EventHandler(on_person_show_all_persons_event_close);
- personShowAllEventsWin.FakeButtonDone.Clicked += new
EventHandler(on_person_show_all_persons_event_close);
- }
- private void on_person_show_all_persons_event_close (object o, EventArgs args)
- {
- personShowAllEventsWin.FakeButtonDone.Clicked -= new
EventHandler(on_person_show_all_persons_event_close);
-
- ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
- currentSession.UniqueID,
- false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons);
- }
-
- private void on_button_top_person_delete_person(object o, EventArgs args)
- {
- currentPerson = personSelectWin.SelectedPerson;
- personChanged();
-
- //without confirm, because it's already confirmed on PersonSelect
- on_delete_current_person_from_session_accepted (o, args);
-
- ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
- currentSession.UniqueID,
- false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons, currentPerson);
- }
- private void on_button_top_person_change_done(object o, EventArgs args)
- {
- currentPerson = personSelectWin.SelectedPerson;
- currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
- label_person_change();
-
- personChanged();
- myTreeViewPersons.SelectRowByUniqueID(currentPerson.UniqueID);
- }
-
/* ---------------------------------------------------------
diff --git a/src/gui/app1/chronojumpPersons.cs b/src/gui/app1/chronojumpPersons.cs
index 08e092f3..8a3d5faa 100644
--- a/src/gui/app1/chronojumpPersons.cs
+++ b/src/gui/app1/chronojumpPersons.cs
@@ -25,6 +25,9 @@ using Gtk;
using Gdk;
using Glade;
using System.Collections.Generic; //List
+using System.IO; //"File" things
+using System.Collections; //ArrayList
+using Mono.Unix;
public partial class ChronoJumpWindow
{
@@ -85,4 +88,402 @@ public partial class ChronoJumpWindow
}
}
+
+ /* ---------------------------------------------------------
+ * ---------------- PERSON RECUPERATE, LOAD, EDIT, DELETE -
+ * --------------------------------------------------------
+ */
+
+ bool person_load_single_called_from_person_select_window;
+ private void on_recuperate_person_from_main_gui (object o, EventArgs args)
+ {
+ person_load_single_called_from_person_select_window = false;
+ person_load_single();
+ }
+
+ private void person_load_single ()
+ {
+ LogB.Information("recuperate person");
+ personRecuperateWin = PersonRecuperateWindow.Show(app1, currentSession,
preferences.digitsNumber);
+ personRecuperateWin.FakeButtonDone.Clicked += new EventHandler(on_recuperate_person_accepted);
+ }
+
+ private void on_recuperate_person_accepted (object o, EventArgs args) {
+ LogB.Information("at: on_recuperate_person_accepted");
+ currentPerson = personRecuperateWin.CurrentPerson;
+ currentPersonSession = personRecuperateWin.CurrentPersonSession;
+ label_person_change();
+
+ myTreeViewPersons.Add(currentPerson.UniqueID.ToString(), currentPerson.Name);
+
+ int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
+ if(rowToSelect != -1) {
+ selectRowTreeView_persons(treeview_persons, rowToSelect);
+ sensitiveGuiYesPerson();
+ }
+
+ if(person_load_single_called_from_person_select_window)
+ {
+ personRecuperateWin.HideAndNull();
+ updatePersonSelectWin ();
+ }
+ }
+
+ 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);
+ }
+
+ private void on_recuperate_persons_from_session_accepted (object o, EventArgs args) {
+ currentPerson = personsRecuperateFromOtherSessionWin.CurrentPerson;
+ currentPersonSession = personsRecuperateFromOtherSessionWin.CurrentPersonSession;
+ label_person_change();
+
+ treeview_persons_storeReset();
+ fillTreeView_persons();
+ int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
+ if(rowToSelect != -1) {
+ selectRowTreeView_persons(treeview_persons, rowToSelect);
+ sensitiveGuiYesPerson();
+ }
+
+ if(person_load_multiple_called_from_person_select_window)
+ {
+ personsRecuperateFromOtherSessionWin.HideAndNull();
+ updatePersonSelectWin ();
+ }
+ }
+
+ bool person_add_single_called_from_person_select_window;
+ private void on_person_add_single_from_main_gui (object o, EventArgs args)
+ {
+ person_add_single_called_from_person_select_window = false;
+ person_add_single();
+ }
+
+ private void person_add_single ()
+ {
+ personAddModifyWin = PersonAddModifyWindow.Show(app1,
+ currentSession, new Person(-1),
+ //preferences.digitsNumber, checkbutton_video, configChronojump.UseVideo,
+ preferences.digitsNumber, checkbutton_video_contacts,
+ preferences.videoDevice, preferences.videoDevicePixelFormat,
preferences.videoDeviceResolution, preferences.videoDeviceFramerate,
+ configChronojump.Compujump, preferences.units == Preferences.UnitsEnum.METRIC
+ );
+ //-1 means we are adding a new person
+ //if we were modifying it will be it's uniqueID
+
+ personAddModifyWin.FakeButtonAccept.Clicked -= new
EventHandler(on_person_add_single_accepted);
+ personAddModifyWin.FakeButtonAccept.Clicked += new
EventHandler(on_person_add_single_accepted);
+ }
+
+ /*
+ * note: while adding, if a person name is written,
+ * and this name exists in database but not in current session,
+ * a person load will appear
+ * and if clicked, this will be called, so this will be used also as a loader
+ * TODO: unify most of the code of person add and person load
+ */
+ private void on_person_add_single_accepted (object o, EventArgs args)
+ {
+ personAddModifyWin.FakeButtonAccept.Clicked -= new
EventHandler(on_person_add_single_accepted);
+ if (personAddModifyWin.CurrentPerson != null)
+ {
+ currentPerson = personAddModifyWin.CurrentPerson;
+ currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
+
+ if(personAddModifyWin.Units != preferences.units) {
+ preferences.units = personAddModifyWin.Units;
+ SqlitePreferences.Update (SqlitePreferences.UnitsStr,
personAddModifyWin.Units.ToString(), false);
+ }
+
+ person_added();
+ }
+ }
+
+ private void person_added ()
+ {
+ label_person_change();
+ myTreeViewPersons.Add(currentPerson.UniqueID.ToString(), currentPerson.Name);
+
+ //when adding new person, photos cannot be recorded as currentPerson.UniqueID
+ //because it was undefined. Copy them now
+ if(File.Exists(Util.GetPhotoTempFileName(false)) &&
File.Exists(Util.GetPhotoTempFileName(true))) {
+ try {
+ File.Move(Util.GetPhotoTempFileName(false),
+ Util.GetPhotoFileName(false, currentPerson.UniqueID));
+ } catch {
+ File.Copy(Util.GetPhotoTempFileName(false),
+ Util.GetPhotoFileName(false, currentPerson.UniqueID), true);
+ }
+ try {
+ File.Move(Util.GetPhotoTempFileName(true),
+ Util.GetPhotoFileName(true, currentPerson.UniqueID));
+ } catch {
+ File.Copy(Util.GetPhotoTempFileName(true),
+ Util.GetPhotoFileName(true, currentPerson.UniqueID), true);
+ }
+ }
+
+ int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
+ if(rowToSelect != -1) {
+ selectRowTreeView_persons(treeview_persons, rowToSelect);
+ sensitiveGuiYesPerson();
+ //appbar2.Push( 1, Catalog.GetString("Successfully added") + " " + currentPerson.Name
);
+ }
+
+ if(person_add_single_called_from_person_select_window)
+ updatePersonSelectWin ();
+ }
+
+ private void updatePersonSelectWin ()
+ {
+ ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
+ currentSession.UniqueID,
+ false); //means: do not returnPersonAndPSlist
+ personSelectWin.Update(myPersons, currentPerson);
+ }
+
+ bool person_add_multiple_called_from_person_select_window;
+ //show spinbutton window asking for how many people to create
+ private void on_person_add_multiple_from_main_gui (object o, EventArgs args)
+ {
+ person_add_multiple_called_from_person_select_window = false;
+ person_add_multiple();
+ }
+
+ private void person_add_multiple ()
+ {
+ personAddMultipleWin = PersonAddMultipleWindow.Show(app1, currentSession,
preferences.CSVColumnDelimiter);
+ personAddMultipleWin.Button_accept.Clicked -= new
EventHandler(on_person_add_multiple_accepted);
+ personAddMultipleWin.Button_accept.Clicked += new
EventHandler(on_person_add_multiple_accepted);
+ }
+
+ private void on_person_add_multiple_accepted (object o, EventArgs args)
+ {
+ personAddMultipleWin.Button_accept.Clicked -= new
EventHandler(on_person_add_multiple_accepted);
+ if (personAddMultipleWin.CurrentPerson != null)
+ {
+ currentPerson = personAddMultipleWin.CurrentPerson;
+ currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
+ label_person_change();
+ treeview_persons_storeReset();
+ fillTreeView_persons();
+ int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
+ if(rowToSelect != -1) {
+ selectRowTreeView_persons(treeview_persons, rowToSelect);
+ sensitiveGuiYesPerson();
+
+ // string myString = string.Format(
+ // Catalog.GetPluralString(
+ // "Successfully added one person.",
+ // "Successfully added {0} persons.",
+ // personAddMultipleWin.PersonsCreatedCount),
+ // personAddMultipleWin.PersonsCreatedCount);
+ //appbar2.Push( 1, Catalog.GetString(myString) );
+ }
+
+ if(person_add_multiple_called_from_person_select_window)
+ updatePersonSelectWin ();
+ }
+ }
+
+ bool person_edit_single_called_from_person_select_window;
+ private void on_edit_current_person_clicked_from_main_gui (object o, EventArgs args) {
+ person_edit_single_called_from_person_select_window = false;
+ person_edit_single();
+ }
+
+ private void person_edit_single() {
+ LogB.Information("modify person");
+
+ personAddModifyWin = PersonAddModifyWindow.Show(app1, currentSession, currentPerson,
+ //preferences.digitsNumber, checkbutton_video, configChronojump.UseVideo,
+ preferences.digitsNumber, checkbutton_video_contacts,
+ preferences.videoDevice, preferences.videoDevicePixelFormat,
preferences.videoDeviceResolution, preferences.videoDeviceFramerate,
+ configChronojump.Compujump, preferences.units == Preferences.UnitsEnum.METRIC
+ );
+ personAddModifyWin.FakeButtonAccept.Clicked += new
EventHandler(on_edit_current_person_accepted);
+ }
+
+ private void on_edit_current_person_accepted (object o, EventArgs args) {
+ if (personAddModifyWin.CurrentPerson != null)
+ {
+ currentPerson = personAddModifyWin.CurrentPerson;
+ currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
+
+ if(personAddModifyWin.Units != preferences.units) {
+ preferences.units = personAddModifyWin.Units;
+ SqlitePreferences.Update (SqlitePreferences.UnitsStr,
personAddModifyWin.Units.ToString(), false);
+ }
+
+ label_person_change();
+ treeview_persons_storeReset();
+ fillTreeView_persons();
+
+ int rowToSelect = myTreeViewPersons.FindRow(currentPerson.UniqueID);
+ if(rowToSelect != -1) {
+ selectRowTreeView_persons(treeview_persons, rowToSelect);
+ sensitiveGuiYesPerson();
+ }
+
+ on_combo_result_jumps_changed(combo_result_jumps, args);
+ on_combo_result_jumps_rj_changed(combo_result_jumps_rj, args);
+ on_combo_result_runs_changed(combo_result_runs, args);
+ on_combo_result_runs_interval_changed(combo_result_runs_interval, args);
+ on_combo_pulses_changed(combo_pulses, args);
+
+ if(createdStatsWin) {
+ stats_win_fillTreeView_stats(false, true);
+ }
+
+// personAddModifyWin.Destroy();
+
+ if(person_edit_single_called_from_person_select_window) {
+ ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
+ currentSession.UniqueID,
+ false); //means: do not returnPersonAndPSlist
+ personSelectWin.Update(myPersons, currentPerson);
+ }
+ }
+ }
+
+
+ private void on_show_all_person_events_activate (object o, EventArgs args)
+ {
+ personShowAllEventsWin = PersonShowAllEventsWindow.Show(app1, currentSession.UniqueID,
currentPerson, true);
+ }
+
+
+ private void on_delete_current_person_from_session_clicked (object o, EventArgs args) {
+ LogB.Information("delete current person from this session");
+ ConfirmWindow confirmWin = ConfirmWindow.Show(
+ Catalog.GetString("Are you sure you want to delete the current person and all
his/her tests (jumps, races, pulses, ...) from this session?\n(His/her personal data and tests in other
sessions will remain intact.)"), "",
+ Catalog.GetString("Current Person: ") + currentPerson.Name);
+
+ confirmWin.Button_accept.Clicked += new
EventHandler(on_delete_current_person_from_session_accepted);
+ }
+
+ private void on_delete_current_person_from_session_accepted (object o, EventArgs args)
+ {
+ new DialogMessage(Constants.MessageTypes.INFO, Catalog.GetString("Deleted person and all
his/her tests on this session."));
+ SqlitePersonSession.DeletePersonFromSessionAndTests(
+ currentSession.UniqueID.ToString(), currentPerson.UniqueID.ToString());
+
+ resetAllTreeViews(false, true, true); //fill, resetPersons, fillPersons
+ bool foundPersons = selectRowTreeView_persons(treeview_persons, 0);
+
+ if(createdStatsWin) {
+ stats_win_fillTreeView_stats(false, true);
+ }
+
+ //if there are no persons
+ if(! foundPersons) {
+ currentPerson = null;
+ sensitiveGuiNoPerson ();
+ if(createdStatsWin) {
+ stats_win_hide();
+ }
+ }
+ }
+
+ private void on_button_top_person_clicked (object o, EventArgs args)
+ {
+ //if compujump show person profile at server
+ if(configChronojump.Compujump)
+ {
+ on_button_person_popup_clicked (o, args);
+ return;
+ }
+
+ //if not compujump show person change window
+ ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
+ currentSession.UniqueID,
+ false); //means: do not returnPersonAndPSlist
+
+ personSelectWin = PersonSelectWindow.Show(app1, myPersons, currentPerson);
+ 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);
+ personSelectWin.FakeButtonDone.Clicked += new EventHandler(on_button_top_person_change_done);
+ }
+ private void on_button_top_person_add_person(object o, EventArgs args)
+ {
+ person_add_single_called_from_person_select_window = true;
+ person_add_single();
+ }
+ private void on_button_top_person_add_person_multiple(object o, EventArgs args)
+ {
+ person_add_multiple_called_from_person_select_window = true;
+ person_add_multiple();
+ }
+ private void on_button_top_person_load_person(object o, EventArgs args)
+ {
+ 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;
+ personChanged();
+
+ person_edit_single_called_from_person_select_window = true;
+ person_edit_single();
+ }
+ private void on_button_top_person_show_all_events (object o, EventArgs args)
+ {
+ personShowAllEventsWin = PersonShowAllEventsWindow.Show(app1, currentSession.UniqueID,
currentPerson, false);
+ personShowAllEventsWin.FakeButtonDone.Clicked -= new
EventHandler(on_person_show_all_persons_event_close);
+ personShowAllEventsWin.FakeButtonDone.Clicked += new
EventHandler(on_person_show_all_persons_event_close);
+ }
+ private void on_person_show_all_persons_event_close (object o, EventArgs args)
+ {
+ personShowAllEventsWin.FakeButtonDone.Clicked -= new
EventHandler(on_person_show_all_persons_event_close);
+
+ ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
+ currentSession.UniqueID,
+ false); //means: do not returnPersonAndPSlist
+ personSelectWin.Update(myPersons);
+ }
+
+ private void on_button_top_person_delete_person(object o, EventArgs args)
+ {
+ currentPerson = personSelectWin.SelectedPerson;
+ personChanged();
+
+ //without confirm, because it's already confirmed on PersonSelect
+ on_delete_current_person_from_session_accepted (o, args);
+
+ ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
+ currentSession.UniqueID,
+ false); //means: do not returnPersonAndPSlist
+ personSelectWin.Update(myPersons, currentPerson);
+ }
+ private void on_button_top_person_change_done(object o, EventArgs args)
+ {
+ currentPerson = personSelectWin.SelectedPerson;
+ currentPersonSession = SqlitePersonSession.Select(currentPerson.UniqueID,
currentSession.UniqueID);
+ label_person_change();
+
+ personChanged();
+ myTreeViewPersons.SelectRowByUniqueID(currentPerson.UniqueID);
+ }
+
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]