[chronojump] Better encoder capture buttons. Export encoder set in menu



commit 8c847ecce409dc025c11e9096ec8b1df6ffd1768
Author: Xavier de Blas <xaviblas gmail com>
Date:   Thu Jul 9 21:53:47 2015 +0200

    Better encoder capture buttons. Export encoder set in menu

 glade/chronojump.glade |  270 +++++++++++++++++++++++++++---------------------
 src/gui/chronojump.cs  |    3 +-
 src/gui/encoder.cs     |   20 ++--
 3 files changed, 167 insertions(+), 126 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index a8a999e..36639c7 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -118,6 +118,23 @@
                       </widget>
                     </child>
                     <child>
+                      <widget class="GtkImageMenuItem" id="menuitem_export_encoder_signal">
+                        <property name="label" translatable="yes">Export current encoder set (to raw 
data)</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="tooltip" translatable="yes">Export set to CSV 
(Spreadsheet)</property>
+                        <property name="use_stock">False</property>
+                        <signal name="activate" handler="on_button_encoder_export_all_curves_clicked" 
swapped="no"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image65">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="stock">gtk-convert</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
                       <widget class="GtkMenuItem" id="menuitem_export_xml">
                         <property name="sensitive">False</property>
                         <property name="can_focus">False</property>
@@ -14902,45 +14919,19 @@ on current Chronojump version.</property>
                                                           </packing>
                                                         </child>
                                                         <child>
-                                                          <widget class="GtkVBox" id="vbox88">
+                                                          <widget class="GtkHBox" id="hbox58">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">8</property>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox66">
+                                                            <widget class="GtkHBox" id="hbox168">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
                                                             <child>
                                                             <widget class="GtkHBox" 
id="hbox_encoder_capture_wait">
-                                                            <property name="width_request">170</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
-                                                            <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_capture_options">
-                                                            <property name="visible">True</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" 
translatable="yes">Options</property>
-                                                            <property name="use_underline">True</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_capture_options_clicked" swapped="no"/>
-                                                            <child>
-                                                            <widget class="GtkImage" id="image19">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-preferences</property>
-                                                            <property name="icon-size">2</property>
-                                                            </widget>
-                                                            </child>
-                                                            </widget>
-                                                            <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">0</property>
-                                                            </packing>
-                                                            </child>
+                                                            <property name="spacing">8</property>
                                                             <child>
                                                             <widget class="GtkButton" 
id="button_encoder_capture">
                                                             <property name="visible">True</property>
@@ -14988,101 +14979,98 @@ on current Chronojump version.</property>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_bells">
+                                                            <widget class="GtkVBox" id="vbox57">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_encoder_recalculate">
+                                                            <property name="width_request">50</property>
                                                             <property name="visible">True</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" 
translatable="yes">Feedback</property>
-                                                            <property name="xalign">0</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_bells_clicked" swapped="no"/>
+                                                            <property name="tooltip" 
translatable="yes">Recalculate set with changed parameters</property>
+                                                            <property name="use_underline">True</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_recalculate_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" id="image_encoder_bell">
+                                                            <widget class="GtkImage" id="image23">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="stock">gtk-refresh</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
-                                                            <property name="position">2</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="GtkHBox" 
id="hbox_encoder_capture_doing">
-                                                            <property name="width_request">170</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
-                                                            <child>
-                                                            <widget class="GtkProgressBar" 
id="encoder_pulsebar_capture">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="activity_mode">True</property>
-                                                            <property name="show_text">True</property>
-                                                            <property 
name="pulse_step">0.050000000000000003</property>
-                                                            </widget>
-                                                            <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_capture_cancel">
+                                                            <widget class="GtkButton" 
id="button_encoder_load_signal">
+                                                            <property name="width_request">50</property>
                                                             <property name="visible">True</property>
-                                                            <property name="sensitive">False</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" 
translatable="yes">Cancel process</property>
+                                                            <property name="tooltip" translatable="yes">Load 
set</property>
                                                             <property name="use_underline">True</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_cancel_clicked" swapped="no"/>
+                                                            <signal name="clicked" 
handler="on_button_encoder_load_signal_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" id="image8">
+                                                            <widget class="GtkImage" 
id="image_encoder_capture_open">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-cancel</property>
+                                                            <property name="stock">gtk-open</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
                                                             </child>
                                                             </widget>
                                                             <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_capture_finish">
+                                                            <widget class="GtkVBox" id="vbox60">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox189">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">4</property>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_encoder_capture_options">
                                                             <property name="visible">True</property>
-                                                            <property name="sensitive">False</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" 
translatable="yes">Finish capture</property>
+                                                            <property name="tooltip" 
translatable="yes">Options</property>
                                                             <property name="use_underline">True</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_capture_finish_clicked" swapped="no"/>
+                                                            <signal name="clicked" 
handler="on_button_encoder_capture_options_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" id="image13">
+                                                            <widget class="GtkImage" id="image19">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-goto-last</property>
+                                                            <property name="stock">gtk-preferences</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
                                                             </child>
@@ -15090,9 +15078,26 @@ on current Chronojump version.</property>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
-                                                            <property name="position">2</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_encoder_bells">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="receives_default">True</property>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Feedback</property>
+                                                            <property name="xalign">0</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_bells_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image_encoder_bell">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-missing-image</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
@@ -15108,104 +15113,128 @@ on current Chronojump version.</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkHBox" id="hbox58">
-                                                            <property name="visible">True</property>
-                                                            <property name="can_focus">False</property>
-                                                            <property name="spacing">4</property>
-                                                            <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_load_signal">
+                                                            <widget class="GtkButton" 
id="button_encoder_delete_signal">
+                                                            <property name="width_request">50</property>
                                                             <property name="visible">True</property>
+                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">True</property>
                                                             <property name="receives_default">True</property>
                                                             <property name="has_tooltip">True</property>
-                                                            <property name="tooltip" translatable="yes">Load 
set</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_load_signal_clicked" swapped="no"/>
+                                                            <property name="tooltip" 
translatable="yes">Delete set</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_delete_signal_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_capture_open">
+                                                            <widget class="GtkImage" 
id="image_encoder_signal_delete">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-open</property>
+                                                            <property name="stock">gtk-delete</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
                                                             </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
                                                             <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_recalculate">
-                                                            <property name="visible">True</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" 
translatable="yes">Recalculate set with changed parameters</property>
-                                                            <property name="use_underline">True</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_recalculate_clicked" swapped="no"/>
+                                                            <widget class="GtkVBox" 
id="vbox_encoder_capture_doing">
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
                                                             <child>
-                                                            <widget class="GtkImage" id="image23">
+                                                            <widget class="GtkProgressBar" 
id="encoder_pulsebar_capture">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-refresh</property>
-                                                            <property name="icon-size">2</property>
-                                                            </widget>
-                                                            </child>
+                                                            <property name="activity_mode">True</property>
+                                                            <property name="show_text">True</property>
+                                                            <property 
name="pulse_step">0.050000000000000003</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
                                                             <property name="fill">True</property>
-                                                            <property name="position">1</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_delete_signal">
+                                                            <widget class="GtkHBox" id="hbox187">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">20</property>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_encoder_capture_finish">
+                                                            <property name="width_request">50</property>
                                                             <property name="visible">True</property>
                                                             <property name="sensitive">False</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" 
translatable="yes">Delete set</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_delete_signal_clicked" swapped="no"/>
+                                                            <property name="tooltip" 
translatable="yes">Finish capture</property>
+                                                            <property name="use_underline">True</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_capture_finish_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" 
id="image_encoder_signal_delete">
+                                                            <widget class="GtkImage" id="image13">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-delete</property>
+                                                            <property name="stock">gtk-goto-last</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">True</property>
-                                                            <property name="pack_type">end</property>
-                                                            <property name="position">2</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
-                                                            <widget class="GtkButton" 
id="button_encoder_export_all_curves">
+                                                            <widget class="GtkButton" 
id="button_encoder_capture_cancel">
+                                                            <property name="width_request">50</property>
                                                             <property name="visible">True</property>
+                                                            <property name="sensitive">False</property>
                                                             <property name="can_focus">True</property>
+                                                            <property name="can_default">True</property>
                                                             <property name="receives_default">True</property>
-                                                            <property name="tooltip" 
translatable="yes">Export set to CSV (Spreadsheet)</property>
-                                                            <signal name="clicked" 
handler="on_button_encoder_export_all_curves_clicked" swapped="no"/>
+                                                            <property name="has_tooltip">True</property>
+                                                            <property name="tooltip" 
translatable="yes">Cancel process</property>
+                                                            <property name="use_underline">True</property>
+                                                            <signal name="clicked" 
handler="on_button_encoder_cancel_clicked" swapped="no"/>
                                                             <child>
-                                                            <widget class="GtkImage" id="image41">
+                                                            <widget class="GtkImage" id="image8">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="stock">gtk-convert</property>
+                                                            <property name="stock">gtk-cancel</property>
                                                             <property name="icon-size">2</property>
                                                             </widget>
                                                             </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
-                                                            <property name="fill">True</property>
+                                                            <property name="fill">False</property>
                                                             <property name="pack_type">end</property>
-                                                            <property name="position">3</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
                                                             </packing>
                                                             </child>
                                                             </widget>
@@ -15215,6 +15244,13 @@ on current Chronojump version.</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
                                                           </widget>
                                                           <packing>
                                                             <property name="expand">True</property>
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index b8c38e9..a909b5b 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -701,7 +701,8 @@ public partial class ChronoJumpWindow
                //open buttons (this is shown better in windows than the default open icon)
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameOpen);
                image_session_open.Pixbuf = pixbuf;
-               image_encoder_capture_open.Pixbuf = pixbuf;
+               //not changed because it's small. TODO: do bigger
+               //image_encoder_capture_open.Pixbuf = pixbuf;
 
                //persons buttons
                pixbuf = new Pixbuf (null, Util.GetImagePath(false) + Constants.FileNameNew1);
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 6aae1e6..5910a49 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -56,7 +56,7 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Box hbox_encoder_capture_options;
        
        [Widget] Gtk.Box hbox_encoder_capture_wait;
-       [Widget] Gtk.Box hbox_encoder_capture_doing;
+       [Widget] Gtk.Box vbox_encoder_capture_doing;
        [Widget] Gtk.Button button_encoder_capture;
        [Widget] Gtk.Image image_encoder_bell;
        [Widget] Gtk.Button button_encoder_capture_cancel;
@@ -73,7 +73,7 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Box vbox_encoder_signal_comment;
        [Widget] Gtk.TextView textview_encoder_signal_comment;
        [Widget] Gtk.Button button_encoder_signal_save_comment;
-       [Widget] Gtk.Button button_encoder_export_all_curves;
+       [Widget] Gtk.MenuItem menuitem_export_encoder_signal;
        [Widget] Gtk.Label label_encoder_curve_action;
        [Widget] Gtk.Button button_encoder_delete_signal;
        
@@ -3823,7 +3823,7 @@ public partial class ChronoJumpWindow
                //      hbox_encoder_configuration, hbox_encoder_capture_options
                //c1 button_encoder_recalculate
                //c2 button_encoder_load_signal
-               //c3 hbox_encoder_capture_curves_save_all_none, button_encoder_export_all_curves,
+               //c3 hbox_encoder_capture_curves_save_all_none, menuitem_export_encoder_signal 
                //      button_encoder_delete_signal, vbox_encoder_signal_comment,
                //      and images: image_encoder_capture , image_encoder_analyze.Sensitive. Update: both NOT 
managed here
                //UNUSED c4 button_encoder_save_curve, entry_encoder_curve_comment
@@ -3889,7 +3889,7 @@ public partial class ChronoJumpWindow
                button_encoder_load_signal.Sensitive = Util.IntToBool(table[2]);
                
                hbox_encoder_capture_curves_save_all_none.Sensitive = Util.IntToBool(table[3]);
-               button_encoder_export_all_curves.Sensitive = Util.IntToBool(table[3]);
+               menuitem_export_encoder_signal.Sensitive = Util.IntToBool(table[3]);
                button_encoder_delete_signal.Sensitive = Util.IntToBool(table[3]);
                vbox_encoder_signal_comment.Sensitive = Util.IntToBool(table[3]);
                //image_encoder_capture.Sensitive = Util.IntToBool(table[3]);
@@ -4518,8 +4518,7 @@ public partial class ChronoJumpWindow
                                        GLib.Idle.Add (new GLib.IdleHandler (pulseGTKEncoderCaptureIM));
                                }
                                
-                               hbox_encoder_capture_wait.Visible = false;
-                               hbox_encoder_capture_doing.Visible = true;
+                               encoderShowCaptureDoingButtons(true);
 
                                LogB.Information("encoderThreadStart middle");
                                encoderButtonsSensitive(encoderSensEnum.PROCESSINGCAPTURE);
@@ -4605,6 +4604,12 @@ public partial class ChronoJumpWindow
                }
        }
 
+       //while capturing, some buttons are hidden, others are shown
+       void encoderShowCaptureDoingButtons(bool show) {
+               hbox_encoder_capture_wait.Visible = ! show;
+               vbox_encoder_capture_doing.Visible = show;
+       }
+
        void prepareEncoderGraphs(bool eraseFirst) {
                LogB.Debug("prepareEncoderGraphs() start (should be on first thread: GTK)");
                
@@ -5286,8 +5291,7 @@ public partial class ChronoJumpWindow
                        button_encoder_analyze_table_save.Sensitive = false;
                        button_encoder_analyze_1RM_save.Sensitive = false;
                
-                       hbox_encoder_capture_wait.Visible = true;
-                       hbox_encoder_capture_doing.Visible = false;
+                       encoderShowCaptureDoingButtons(false);
 
                } else { //ANALYZE
                        if(encoderProcessCancel) {



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