[chronojump] PersonSelect window adds "view all tests" and other improvements
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] PersonSelect window adds "view all tests" and other improvements
- Date: Tue, 20 Feb 2018 14:40:37 +0000 (UTC)
commit 4e62d3c145c115c88330e8512a83afdc9e12d80e
Author: Xavier de Blas <xaviblas gmail com>
Date: Tue Feb 20 15:40:03 2018 +0100
PersonSelect window adds "view all tests" and other improvements
glade/person_select_window.glade | 26 +++++++++++--
images/md/ic_select_blue_24dp_2x.png | Bin 1100 -> 1056 bytes
images/md/ic_select_blue_24dp_3x.png | Bin 0 -> 2248 bytes
src/Makefile.am | 2 +-
src/gui/chronojump.cs | 8 ++--
src/gui/person.cs | 8 ++--
src/gui/personSelect.cs | 65 ++++++++++++++++++++++++---------
src/utilGtk.cs | 5 +++
8 files changed, 83 insertions(+), 31 deletions(-)
---
diff --git a/glade/person_select_window.glade b/glade/person_select_window.glade
index c70d3c3..e4f6e55 100644
--- a/glade/person_select_window.glade
+++ b/glade/person_select_window.glade
@@ -2431,6 +2431,18 @@
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -2448,16 +2460,22 @@
<property name="can_focus">False</property>
<property name="spacing">30</property>
<child>
- <widget class="GtkVBox" id="vbox2">
+ <widget class="GtkVBox" id="vbox_person">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">10</property>
<child>
- <widget class="GtkLabel" id="label_selected_person_name">
+ <widget class="GtkViewport" id="viewport_person_name">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="wrap">True</property>
- <property name="width_chars">16</property>
+ <child>
+ <widget class="GtkLabel" id="label_selected_person_name">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="wrap">True</property>
+ <property name="width_chars">16</property>
+ </widget>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
diff --git a/images/md/ic_select_blue_24dp_2x.png b/images/md/ic_select_blue_24dp_2x.png
index b755c70..7211aa6 100644
Binary files a/images/md/ic_select_blue_24dp_2x.png and b/images/md/ic_select_blue_24dp_2x.png differ
diff --git a/images/md/ic_select_blue_24dp_3x.png b/images/md/ic_select_blue_24dp_3x.png
new file mode 100644
index 0000000..77889ba
Binary files /dev/null and b/images/md/ic_select_blue_24dp_3x.png differ
diff --git a/src/Makefile.am b/src/Makefile.am
index 2ad43a6..983cab6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -398,7 +398,7 @@ RESOURCES = \
../images/md/ic_person_blue_24dp_1x.png,image_person.png \
../images/md/ic_person_logout_blue_24dp_1x.png,image_person_logout.png \
../images/md/ic_photo_camera_blue_24dp_2x.png,image_no_photo.png \
- ../images/md/ic_select_blue_24dp_2x.png,image_selected.png \
+ ../images/md/ic_select_blue_24dp_3x.png,image_selected.png \
../images/md/ic_cached_blue_24dp_1x.png,image_recalculate.png \
../images/md/ic_delete_blue_24dp_1x.png,stock_delete.png \
../images/md/ic_create_new_folder_blue_24dp_2x.png,folder_new_big.png \
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index b18120f..e6ac7a1 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -2703,7 +2703,7 @@ public partial class ChronoJumpWindow
ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
currentSession.UniqueID,
false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons);
+ personSelectWin.Update(myPersons, currentPerson);
}
//show spinbutton window asking for how many people to create
@@ -2782,7 +2782,7 @@ public partial class ChronoJumpWindow
ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
currentSession.UniqueID,
false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons);
+ personSelectWin.Update(myPersons, currentPerson);
}
}
}
@@ -2838,7 +2838,7 @@ public partial class ChronoJumpWindow
currentSession.UniqueID,
false); //means: do not returnPersonAndPSlist
- personSelectWin = PersonSelectWindow.Show(app1, myPersons);
+ personSelectWin = PersonSelectWindow.Show(app1, myPersons, currentPerson);
personSelectWin.FakeButtonAddPerson.Clicked += new
EventHandler(on_button_top_person_add_person);
personSelectWin.FakeButtonLoadPerson.Clicked += new
EventHandler(on_button_top_person_load_person);
personSelectWin.FakeButtonEditPerson.Clicked += new
EventHandler(on_button_top_person_edit_person);
@@ -2878,7 +2878,7 @@ public partial class ChronoJumpWindow
ArrayList myPersons = SqlitePersonSession.SelectCurrentSessionPersons(
currentSession.UniqueID,
false); //means: do not returnPersonAndPSlist
- personSelectWin.Update(myPersons);
+ personSelectWin.Update(myPersons, currentPerson);
personSelectWin.Button_delete_confirm_focus(false, false);
}
private void on_button_top_person_change_done(object o, EventArgs args)
diff --git a/src/gui/person.cs b/src/gui/person.cs
index 47e18dd..9fab353 100644
--- a/src/gui/person.cs
+++ b/src/gui/person.cs
@@ -2497,7 +2497,7 @@ public class PersonShowAllEventsWindow
[Widget] Gtk.Window person_show_all_events;
[Widget] Gtk.CheckButton checkbutton_only_current_session;
- [Widget] Gtk.Label label_person;
+ [Widget] Gtk.Label label_person_name;
[Widget] Gtk.TreeView treeview_person_show_all_events;
[Widget] Gtk.Box hbox_combo_persons;
@@ -2523,7 +2523,7 @@ public class PersonShowAllEventsWindow
this.sessionID = sessionID;
this.currentPerson = currentPerson;
- label_person.Text = currentPerson.Name;
+ label_person_name.Text = currentPerson.Name;
createComboPersons(sessionID, currentPerson.UniqueID.ToString(), currentPerson.Name);
createTreeView(treeview_person_show_all_events);
store = new TreeStore( typeof (string), typeof (string), typeof (string), typeof (string),
@@ -2543,11 +2543,11 @@ public class PersonShowAllEventsWindow
{
PersonShowAllEventsWindowBox.checkbutton_only_current_session.Visible = true;
PersonShowAllEventsWindowBox.hbox_combo_persons.Visible = true;
- PersonShowAllEventsWindowBox.label_person.Visible = false;
+ PersonShowAllEventsWindowBox.label_person_name.Visible = false;
} else {
PersonShowAllEventsWindowBox.checkbutton_only_current_session.Visible = false;
PersonShowAllEventsWindowBox.hbox_combo_persons.Visible = false;
- PersonShowAllEventsWindowBox.label_person.Visible = true;
+ PersonShowAllEventsWindowBox.label_person_name.Visible = true;
}
PersonShowAllEventsWindowBox.person_show_all_events.Show ();
diff --git a/src/gui/personSelect.cs b/src/gui/personSelect.cs
index 25c892b..0204125 100644
--- a/src/gui/personSelect.cs
+++ b/src/gui/personSelect.cs
@@ -30,6 +30,7 @@ public class PersonSelectWindow
{
[Widget] Gtk.Window person_select_window;
[Widget] Gtk.Viewport viewport1;
+ [Widget] Gtk.Viewport viewport_person_name;
[Widget] Gtk.Table table1;
[Widget] Gtk.Button button_edit;
[Widget] Gtk.Button button_show_all_events;
@@ -75,6 +76,8 @@ public class PersonSelectWindow
FakeButtonDeletePerson = new Gtk.Button();
FakeButtonDone = new Gtk.Button();
+ UtilGtk.ViewportColor(viewport_person_name, UtilGtk.YELLOW);
+
Pixbuf pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_person_add.png");
image_person_new.Pixbuf = pixbuf;
pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "image_person_outline.png");
@@ -83,14 +86,15 @@ public class PersonSelectWindow
image_all_persons_events.Pixbuf = pixbuf;
}
- static public PersonSelectWindow Show (Gtk.Window parent, ArrayList persons)
+ static public PersonSelectWindow Show (Gtk.Window parent, ArrayList persons, Person currentPerson)
{
if (PersonSelectWindowBox == null) {
PersonSelectWindowBox = new PersonSelectWindow (parent);
}
PersonSelectWindowBox.persons = persons;
-
+ PersonSelectWindowBox.SelectedPerson = currentPerson;
+
PersonSelectWindowBox.createTable();
PersonSelectWindowBox.person_select_window.Show ();
@@ -98,9 +102,14 @@ public class PersonSelectWindow
return PersonSelectWindowBox;
}
- public void Update(ArrayList persons) {
+ public void Update(ArrayList persons, Person currentPerson)
+ {
this.persons = persons;
-
+ SelectedPerson = currentPerson;
+
+ if(currentPerson != null)
+ assignPersonSelectedStuff(currentPerson);
+
LogB.Debug("Removing table");
table1.Visible = false;
removeTable();
@@ -124,16 +133,24 @@ public class PersonSelectWindow
uint cols = 4; //each row has 4 columns
uint rows = Convert.ToUInt32(Math.Floor(persons.Count / (1.0 * cols) ) +1);
int count = 0;
-
- label_selected_person_name.Text = "";
- SelectedPerson = null;
- selectedFirstClickPersonID = -1;
+
+ if(SelectedPerson == null)
+ {
+ selectedFirstClickPersonID = -1;
+ label_selected_person_name.Text = "";
+ }
+ else {
+ selectedFirstClickPersonID = SelectedPerson.UniqueID;
+ label_selected_person_name.Text = SelectedPerson.Name;
+ }
+
personButtonsSensitive(false);
vbox_button_delete_confirm.Visible = false;
list_ppb = new List<PersonPhotoButton>();
- for (int row_i = 0; row_i < rows; row_i ++) {
- for (int col_i = 0; col_i < cols; col_i ++)
+ for (int row_i = 0; row_i < rows; row_i ++)
+ {
+ for (int col_i = 0; col_i < cols; col_i ++)
{
if(count >= persons.Count)
return;
@@ -141,6 +158,14 @@ public class PersonSelectWindow
Person p = (Person) persons[count ++];
PersonPhotoButton ppb = new PersonPhotoButton(p.UniqueID, p.Name); //creates
the button
+
+ //select currentPerson
+ if(selectedFirstClickPersonID != -1 && selectedFirstClickPersonID ==
p.UniqueID)
+ {
+ ppb.Select(true);
+ assignPersonSelectedStuff(p);
+ }
+
list_ppb.Add(ppb);
Gtk.Button b = ppb.Button;
@@ -181,19 +206,23 @@ public class PersonSelectWindow
foreach(Person p in persons)
if(p.UniqueID == ppb.PersonID)
- {
- SelectedPerson = p;
- label_selected_person_name.Text = "<b>" + p.Name + "</b>";
- label_selected_person_name.UseMarkup = true;
- personButtonsSensitive(true);
- selectedFirstClickPersonID = p.UniqueID;
- }
+ assignPersonSelectedStuff(p);
}
else if(ppb.Selected)
ppb.Select(false);
}
}
-
+
+ private void assignPersonSelectedStuff(Person p)
+ {
+ SelectedPerson = p;
+ selectedFirstClickPersonID = p.UniqueID;
+
+ label_selected_person_name.Text = "<b>" + p.Name + "</b>";
+ label_selected_person_name.UseMarkup = true;
+ personButtonsSensitive(true);
+ }
+
private void personButtonsSensitive(bool sensitive)
{
button_edit.Sensitive = sensitive;
diff --git a/src/utilGtk.cs b/src/utilGtk.cs
index 96a1c83..9f24c27 100644
--- a/src/utilGtk.cs
+++ b/src/utilGtk.cs
@@ -527,6 +527,11 @@ public class UtilGtk
}
}
+ public static void ViewportColor(Gtk.Viewport v, Gdk.Color color)
+ {
+ v.ModifyBg(StateType.Normal, color);
+ }
+
public static void ChronopicColors(Gtk.Viewport v, Gtk.Label l1, Gtk.Label l2, bool connected) {
//if(! v.Style.Background(StateType.Normal).Equal(BLUE))
if(! v.Style.Background(StateType.Normal).Equal(v.Style.Background(StateType.Selected)))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]