[chronojump] top personSelect window with button up/down
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] top personSelect window with button up/down
- Date: Mon, 12 Feb 2018 16:48:38 +0000 (UTC)
commit 8697556a3d1bf6d7100ccc3ec33b42abe8e50e75
Author: Xavier de Blas <xaviblas gmail com>
Date: Mon Feb 12 15:09:41 2018 +0100
top personSelect window with button up/down
glade/person_select_window.glade | 123 ++++++++++++++++++++++++++++++++------
src/gui/personSelect.cs | 31 +++++++++-
2 files changed, 132 insertions(+), 22 deletions(-)
---
diff --git a/glade/person_select_window.glade b/glade/person_select_window.glade
index 3bf99c5..5281b41 100644
--- a/glade/person_select_window.glade
+++ b/glade/person_select_window.glade
@@ -4,7 +4,6 @@
<!-- interface-naming-policy toplevel-contextual -->
<widget class="GtkWindow" id="person_select_window">
<property name="width_request">820</property>
- <property name="height_request">550</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
@@ -2408,6 +2407,18 @@
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
</child>
</widget>
@@ -2721,43 +2732,117 @@
</packing>
</child>
<child>
- <widget class="GtkButton" id="button_close">
+ <widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <signal name="clicked" handler="on_button_cancel_clicked" swapped="no"/>
- <accelerator key="Escape" signal="clicked"/>
+ <property name="can_focus">False</property>
+ <property name="spacing">10</property>
<child>
- <widget class="GtkVBox" id="vbox7">
+ <widget class="GtkVBox" id="vbox3">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">4</property>
+ <property name="spacing">6</property>
<child>
- <widget class="GtkImage" id="image4">
+ <widget class="GtkButton" id="button_up">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-close</property>
- <property name="icon-size">3</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip"><Control>Up</property>
+ <property name="relief">half</property>
+ <signal name="clicked" handler="on_button_up_clicked" swapped="no"/>
+ <accelerator key="Up" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
+ <child>
+ <widget class="GtkArrow" id="arrow_up1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="arrow_type">up</property>
+ </widget>
+ </child>
</widget>
<packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label4">
+ <widget class="GtkButton" id="button_down">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Close</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip"><Control>Down</property>
+ <property name="relief">half</property>
+ <signal name="clicked" handler="on_button_down_clicked" swapped="no"/>
+ <accelerator key="Down" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
+ <child>
+ <widget class="GtkArrow" id="arrow_down1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="arrow_type">down</property>
+ </widget>
+ </child>
</widget>
<packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="button_close">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <signal name="clicked" handler="on_button_cancel_clicked" swapped="no"/>
+ <accelerator key="Escape" signal="clicked"/>
+ <child>
+ <widget class="GtkVBox" id="vbox7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">4</property>
+ <child>
+ <widget class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-close</property>
+ <property name="icon-size">3</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Close</property>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
</child>
</widget>
<packing>
diff --git a/src/gui/personSelect.cs b/src/gui/personSelect.cs
index 5a65451..d153be5 100644
--- a/src/gui/personSelect.cs
+++ b/src/gui/personSelect.cs
@@ -29,6 +29,7 @@ using System.IO;
public class PersonSelectWindow
{
[Widget] Gtk.Window person_select_window;
+ [Widget] Gtk.Viewport viewport1;
[Widget] Gtk.Table table1;
[Widget] Gtk.Button button_edit;
[Widget] Gtk.Button button_delete;
@@ -58,6 +59,8 @@ public class PersonSelectWindow
gladeXML = Glade.XML.FromAssembly (Util.GetGladePath() + "person_select_window.glade",
"person_select_window", "chronojump");
gladeXML.Autoconnect(this);
+ viewport1.HeightRequest = 170 * 3 + 8 * 2 + 4 * 2; //170 is button height, 8 is padding top
botton (4+4), 4 the top and bottom of viewport1
+
//put an icon to window
UtilGtk.IconWindow(person_select_window);
person_select_window.Parent = parent;
@@ -122,7 +125,7 @@ public class PersonSelectWindow
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 ++)
{
@@ -144,10 +147,9 @@ public class PersonSelectWindow
Gtk.AttachOptions.Fill,
Gtk.AttachOptions.Fill,
padding, padding);
-
}
}
-
+
table1.ShowAll();
}
@@ -202,6 +204,28 @@ public class PersonSelectWindow
FakeButtonEditPerson.Click();
}
+ private void on_button_up_clicked (object o, EventArgs args)
+ {
+ vertical_scroll_change(viewport1.Vadjustment.Value - viewport1.Vadjustment.PageSize);
+ }
+
+ private void on_button_down_clicked (object o, EventArgs args)
+ {
+ vertical_scroll_change(viewport1.Vadjustment.Value + viewport1.Vadjustment.PageSize);
+ }
+
+ private void vertical_scroll_change (double newValue)
+ {
+ int min = 0;
+ double max = viewport1.Vadjustment.Upper - viewport1.Vadjustment.PageSize;
+
+ if(newValue < min)
+ newValue = min;
+ else if(newValue > max)
+ newValue = max;
+
+ viewport1.Vadjustment.Value = newValue;
+ }
//delete person stuff
private void on_button_delete_clicked (object o, EventArgs args) {
@@ -341,6 +365,7 @@ public class PersonPhotoButton
button = new Button(vbox);
button.WidthRequest = 150;
+ button.HeightRequest = 170;
}
private Array getButtonBoxElements (Gtk.Button b)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]