[chronojump] PersonSelect showsImages or not gets updated with SQL



commit a4c64b861ac15b5dd7ed788ba1a12cfe102730ca
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Mar 9 11:22:52 2021 +0100

    PersonSelect showsImages or not gets updated with SQL

 src/gui/app1/chronojumpPersons.cs | 18 +++++++++++++++++-
 src/gui/person/personSelect.cs    | 31 ++++++++++++++++++++-----------
 2 files changed, 37 insertions(+), 12 deletions(-)
---
diff --git a/src/gui/app1/chronojumpPersons.cs b/src/gui/app1/chronojumpPersons.cs
index ac9ea08d..098dfc8c 100644
--- a/src/gui/app1/chronojumpPersons.cs
+++ b/src/gui/app1/chronojumpPersons.cs
@@ -410,7 +410,8 @@ public partial class ChronoJumpWindow
                                currentSession.UniqueID, 
                                false); //means: do not returnPersonAndPSlist
 
-               personSelectWin = PersonSelectWindow.Show(app1, myPersons, currentPerson, 
preferences.colorBackground, configChronojump.Raspberry, configChronojump.LowHeight);
+               personSelectWin = PersonSelectWindow.Show(app1, myPersons, currentPerson, 
preferences.colorBackground,
+                               configChronojump.Raspberry, configChronojump.LowHeight, 
preferences.personSelectWinImages);
                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);
@@ -418,6 +419,8 @@ public partial class ChronoJumpWindow
                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.FakeButtonShowImages.Clicked += new 
EventHandler(on_button_top_person_show_images);
+               personSelectWin.FakeButtonHideImages.Clicked += new 
EventHandler(on_button_top_person_hide_images);
                personSelectWin.FakeButtonDone.Clicked += new EventHandler(on_button_top_person_change_done); 
//on window close, and on double click (it also closes the window)
        }
        private void on_button_top_person_add_person(object o, EventArgs args)
@@ -478,6 +481,19 @@ public partial class ChronoJumpWindow
                                false); //means: do not returnPersonAndPSlist
                personSelectWin.Update(myPersons, currentPerson);
        }
+       private void on_button_top_person_show_images (object o, EventArgs args)
+       {
+               Sqlite.Open();
+               preferences.personSelectWinImages = 
Preferences.PreferencesChange(SqlitePreferences.PersonSelectWinImages, false, true);
+               Sqlite.Close();
+       }
+       private void on_button_top_person_hide_images (object o, EventArgs args)
+       {
+               Sqlite.Open();
+               preferences.personSelectWinImages = 
Preferences.PreferencesChange(SqlitePreferences.PersonSelectWinImages, true, false);
+               Sqlite.Close();
+       }
+
        private void on_button_top_person_change_done(object o, EventArgs args)
        {
                if(personSelectWin.SelectedPerson == null)
diff --git a/src/gui/person/personSelect.cs b/src/gui/person/personSelect.cs
index dc7887d7..e6797bac 100644
--- a/src/gui/person/personSelect.cs
+++ b/src/gui/person/personSelect.cs
@@ -68,6 +68,8 @@ public class PersonSelectWindow
        public Gtk.Button FakeButtonEditPerson;
        public Gtk.Button FakeButtonPersonShowAllEvents;
        public Gtk.Button FakeButtonDeletePerson;
+       public Gtk.Button FakeButtonShowImages;
+       public Gtk.Button FakeButtonHideImages;
        public Gtk.Button FakeButtonDone;
 
        private List<PersonPhotoButton> list_ppb;
@@ -85,16 +87,6 @@ public class PersonSelectWindow
                if(raspberry)
                        slidebarSize = 40;
 
-               showImages = false;
-               if(showImages)
-               {
-                       check_show_images.Active = true;
-                       columns = 4;
-               } else {
-                       check_show_images.Active = false;
-                       columns = 2;
-               }
-
                scrolled1.WidthRequest = 150 * 4 + 8 * 2 + 12 * 2 + slidebarSize; //150 is button width, 8 is 
padding left and right (4+4), 12 the left and right of scrolled1
                //if showImages (2 columns) will be 308*2 + 4 * 2 + 12 * 2
 
@@ -132,6 +124,8 @@ public class PersonSelectWindow
                FakeButtonEditPerson = new Gtk.Button();
                FakeButtonPersonShowAllEvents = new Gtk.Button();
                FakeButtonDeletePerson = new Gtk.Button();
+               FakeButtonShowImages = new Gtk.Button();
+               FakeButtonHideImages = new Gtk.Button();
                FakeButtonDone = new Gtk.Button();
 
                Pixbuf pixbuf;
@@ -157,7 +151,7 @@ public class PersonSelectWindow
                image_close.Pixbuf = pixbuf;
        }
        
-       static public PersonSelectWindow Show (Gtk.Window parent, ArrayList persons, Person currentPerson, 
Gdk.Color colorBackground, bool raspberry, bool lowHeight)
+       static public PersonSelectWindow Show (Gtk.Window parent, ArrayList persons, Person currentPerson, 
Gdk.Color colorBackground, bool raspberry, bool lowHeight, bool showImages)
        {
                if (PersonSelectWindowBox == null) {
                        PersonSelectWindowBox = new PersonSelectWindow (parent, raspberry, lowHeight);
@@ -171,6 +165,16 @@ public class PersonSelectWindow
                PersonSelectWindowBox.button_manage_persons.Sensitive = true;
                PersonSelectWindowBox.vbox_corner_controls.Sensitive = true;
 
+               PersonSelectWindowBox.showImages = showImages;
+               if(showImages)
+               {
+                       PersonSelectWindowBox.check_show_images.Active = true;
+                       PersonSelectWindowBox.columns = 4;
+               } else {
+                       PersonSelectWindowBox.check_show_images.Active = false;
+                       PersonSelectWindowBox.columns = 2;
+               }
+
                PersonSelectWindowBox.createTable();
 
                PersonSelectWindowBox.person_select_window.Show ();
@@ -212,6 +216,11 @@ public class PersonSelectWindow
 
        private void on_check_show_images_toggled (object o, EventArgs args)
        {
+               if(check_show_images.Active)
+                       FakeButtonShowImages.Click();
+               else
+                       FakeButtonHideImages.Click();
+
                if(check_show_images.Active)
                        columns = 4;
                else


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