[chronojump] Encoder video filename is shown and folder can be opened



commit 0e080360f03f189144a9d858f250cc432c149583
Author: Xavier de Blas <xaviblas gmail com>
Date:   Tue Apr 7 17:35:18 2015 +0200

    Encoder video filename is shown and folder can be opened

 glade/chronojump.glade |  394 ++++++++++++++++++++++++++++++++++++++++++++++--
 src/gui/encoder.cs     |   32 ++++
 src/util.cs            |    7 +
 3 files changed, 421 insertions(+), 12 deletions(-)
---
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 77a37f4..dcb0daa 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -1872,7 +1872,6 @@
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">False</property>
                                                     <property name="show_text">True</property>
-                                                    <property name="text" translatable="yes"></property>
                                                   </widget>
                                                   <packing>
                                                     <property name="expand">False</property>
@@ -6687,6 +6686,15 @@ Second Chronopic to platforms.</property>
                                                         <child>
                                                           <placeholder/>
                                                         </child>
+                                                        <child>
+                                                          <placeholder/>
+                                                        </child>
+                                                        <child>
+                                                          <placeholder/>
+                                                        </child>
+                                                        <child>
+                                                          <placeholder/>
+                                                        </child>
                                                       </widget>
                                                       <packing>
                                                         <property name="expand">True</property>
@@ -7561,6 +7569,15 @@ Second Chronopic to platforms.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             </child>
                                                             <child>
@@ -8687,6 +8704,15 @@ Second Chronopic to platforms.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="position">2</property>
@@ -9454,6 +9480,15 @@ Second Chronopic to platforms.</property>
                                                             <child>
                                                             <placeholder/>
                                                             </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
+                                                            <child>
+                                                            <placeholder/>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="position">4</property>
@@ -14686,37 +14721,100 @@ on current Chronojump version.</property>
                                                             <widget class="GtkHBox" id="hbox87">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="spacing">10</property>
+                                                            <property name="spacing">20</property>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox146">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">6</property>
                                                             <child>
                                                             <widget class="GtkRadioButton" 
id="radiobutton_video_encoder_capture">
-                                                            <property name="label" translatable="yes">Video 
capture</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property 
name="receives_default">False</property>
+                                                            <property name="tooltip" 
translatable="yes">Record</property>
                                                             <property name="active">True</property>
-                                                            <property name="draw_indicator">True</property>
+                                                            <property name="draw_indicator">False</property>
                                                             <signal name="toggled" 
handler="on_radiobutton_video_encoder_capture_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image2">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property 
name="stock">gtk-media-record</property>
+                                                            </widget>
+                                                            </child>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">False</property>
-                                                            <property name="fill">False</property>
+                                                            <property name="expand">True</property>
+                                                            <property name="fill">True</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
                                                             <child>
                                                             <widget class="GtkRadioButton" 
id="radiobutton_video_encoder_play">
-                                                            <property name="label" translatable="yes">Video 
play</property>
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">True</property>
                                                             <property 
name="receives_default">False</property>
+                                                            <property name="tooltip" 
translatable="yes">Play</property>
                                                             <property name="active">True</property>
-                                                            <property name="draw_indicator">True</property>
+                                                            <property name="draw_indicator">False</property>
                                                             <property 
name="group">radiobutton_video_encoder_capture</property>
                                                             <signal name="toggled" 
handler="on_radiobutton_video_encoder_play_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image55">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="stock">gtk-media-play</property>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkRadioButton" 
id="radiobutton_video_encoder_options">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property 
name="receives_default">False</property>
+                                                            <property name="tooltip" 
translatable="yes">Options</property>
+                                                            <property name="draw_indicator">False</property>
+                                                            <property 
name="group">radiobutton_video_encoder_capture</property>
+                                                            <signal name="toggled" 
handler="on_radiobutton_video_encoder_options_toggled" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" id="image56">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="stock">gtk-properties</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="pack_type">end</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label124">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label" 
translatable="yes">Video</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">False</property>
                                                             <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
                                                             <property name="position">1</property>
                                                             </packing>
                                                             </child>
@@ -14751,6 +14849,7 @@ on current Chronojump version.</property>
                                                             <widget class="GtkVBox" id="vbox59">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
+                                                            <property 
name="extension_events">cursor</property>
                                                             <property name="border_width">2</property>
                                                             <child>
                                                             <widget class="GtkHBox" id="hbox94">
@@ -14767,8 +14866,9 @@ on current Chronojump version.</property>
                                                             <signal name="clicked" 
handler="on_checkbutton_video_encoder_clicked" swapped="no"/>
                                                             </widget>
                                                             <packing>
-                                                            <property name="expand">True</property>
-                                                            <property name="fill">True</property>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
                                                             <property name="position">0</property>
                                                             </packing>
                                                             </child>
@@ -14812,7 +14912,8 @@ on current Chronojump version.</property>
                                                             <widget class="GtkLabel" id="label125">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" translatable="yes">Video 
capture</property>
+                                                            <property 
name="yalign">0.46000000834465027</property>
+                                                            <property name="label">capture</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="tab_fill">False</property>
@@ -14836,7 +14937,7 @@ on current Chronojump version.</property>
                                                             <widget class="GtkLabel" id="label126">
                                                             <property name="visible">True</property>
                                                             <property name="can_focus">False</property>
-                                                            <property name="label" 
translatable="yes">Play</property>
+                                                            <property name="label">play</property>
                                                             </widget>
                                                             <packing>
                                                             <property name="position">1</property>
@@ -14844,6 +14945,140 @@ on current Chronojump version.</property>
                                                             <property name="type">tab</property>
                                                             </packing>
                                                             </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox149">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="border_width">2</property>
+                                                            <property name="spacing">10</property>
+                                                            <child>
+                                                            <widget class="GtkVBox" id="vbox96">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label133">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Filename</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label134">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            <property name="label" 
translatable="yes">Folder</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <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="GtkVBox" id="vbox97">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="spacing">8</property>
+                                                            <child>
+                                                            <widget class="GtkLabel" 
id="label_video_encoder_filename">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="xalign">0</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkTextView" 
id="textview_video_encoder_folder">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">True</property>
+                                                            <property name="editable">False</property>
+                                                            <property name="wrap_mode">word</property>
+                                                            <property name="cursor_visible">False</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkHBox" id="hbox150">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <child>
+                                                            <widget class="GtkButton" 
id="button_video_encoder_open_folder">
+                                                            <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">Open 
Folder</property>
+                                                            <signal name="clicked" 
handler="on_button_video_encoder_open_folder_clicked" swapped="no"/>
+                                                            <child>
+                                                            <widget class="GtkImage" 
id="image_encoder_capture_open2">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="stock">gtk-open</property>
+                                                            <property name="icon-size">2</property>
+                                                            </widget>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="pack_type">end</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
+                                                            </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">True</property>
+                                                            <property name="fill">True</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
+                                                            </child>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="position">2</property>
+                                                            </packing>
+                                                            </child>
+                                                            <child>
+                                                            <widget class="GtkLabel" id="label127">
+                                                            <property name="visible">True</property>
+                                                            <property name="can_focus">False</property>
+                                                            <property name="label">options</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="position">2</property>
+                                                            <property name="tab_fill">False</property>
+                                                            <property name="type">tab</property>
+                                                            </packing>
+                                                            </child>
                                                             </widget>
                                                             <packing>
                                                             <property name="expand">True</property>
@@ -20075,6 +20310,15 @@ by you</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -20750,6 +20994,15 @@ by you</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -21917,6 +22170,15 @@ by you</property>
               <placeholder/>
             </child>
             <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
               <widget class="GtkButton" id="button_video_url">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -22141,6 +22403,15 @@ by you</property>
             <child>
               <placeholder/>
             </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
           </widget>
           <packing>
             <property name="expand">True</property>
@@ -32130,6 +32401,60 @@ options</property>
                             <child>
                               <placeholder/>
                             </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </widget>
                         </child>
                       </widget>
@@ -34185,6 +34510,15 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
                                 <child>
                                   <placeholder/>
                                 </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
                               </widget>
                             </child>
                           </widget>
@@ -34898,6 +35232,15 @@ To differentiate between male and female, use the values 1/0, or m/f, or M/F on
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -37577,6 +37920,15 @@ show elevation as:</property>
                         <child>
                           <placeholder/>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </widget>
                       <packing>
                         <property name="left_attach">2</property>
@@ -37916,6 +38268,15 @@ show elevation as:</property>
                     <child>
                       <placeholder/>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </widget>
                 </child>
               </widget>
@@ -38270,6 +38631,15 @@ show elevation as:</property>
                     <child>
                       <placeholder/>
                     </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </widget>
                 </child>
               </widget>
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index ffd1820..69115e5 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -83,6 +83,10 @@ public partial class ChronoJumpWindow
        [Widget] Gtk.Viewport viewport_video_play_encoder;
        [Widget] Gtk.RadioButton radiobutton_video_encoder_capture;
        [Widget] Gtk.RadioButton radiobutton_video_encoder_play;
+       [Widget] Gtk.RadioButton radiobutton_video_encoder_options;
+       [Widget] Gtk.Label label_video_encoder_filename;
+       [Widget] Gtk.TextView textview_video_encoder_folder;
+       [Widget] Gtk.Button button_video_encoder_open_folder;
        [Widget] Gtk.Label label_video_feedback_encoder;
        [Widget] Gtk.CheckButton checkbutton_video_encoder;
        
@@ -1924,6 +1928,7 @@ public partial class ChronoJumpWindow
                                                radiobutton_video_encoder_play.Active  = true;
                                                
                                                viewport_video_play_encoder.Sensitive = true;
+
                                        } else {
                                                new DialogMessage(Constants.MessageTypes.WARNING, 
                                                                Catalog.GetString("Sorry, video cannot be 
stored."));
@@ -5667,6 +5672,18 @@ LogB.Debug("D");
                                }
                                
                                playVideoEncoderPrepare(false); //do not play
+                               
+                               //set encoder video labels
+                               string videofile = Util.GetVideoFileName(currentSession.UniqueID, 
+                                               Constants.TestTypes.ENCODER, 
Convert.ToInt32(encoderSignalUniqueID));
+                               if(videofile != null && videofile != "" && File.Exists(videofile)) {
+                                       label_video_encoder_filename.Text = Util.GetVideoFileNameOnlyName(
+                                                       Constants.TestTypes.ENCODER, 
+                                                       Convert.ToInt32(encoderSignalUniqueID));
+                                       textview_video_encoder_folder.Buffer.Text = 
Util.GetVideoFileNameOnlyFolder(currentSession.UniqueID);
+                                       button_video_encoder_open_folder.Visible = true;
+                               } else
+                                       button_video_encoder_open_folder.Visible = false;
                        }
 
                        if(action == encoderActions.CAPTURE_IM && ! encoderProcessCancel && ! 
encoderProcessProblems) 
@@ -5867,6 +5884,21 @@ LogB.Debug("D");
                        notebook_video_encoder.CurrentPage = 1;
                }
        }
+       public void on_radiobutton_video_encoder_options_toggled (object obj, EventArgs args) {
+               if(radiobutton_video_encoder_options.Active) {
+                       notebook_video_encoder.CurrentPage = 2;
+               }
+       }
+       public void on_button_video_encoder_open_folder_clicked (object obj, EventArgs args) {
+               string dir = textview_video_encoder_folder.Buffer.Text;
+               try {
+                       System.Diagnostics.Process.Start(dir); 
+               }
+               catch {
+                       new DialogMessage(Constants.MessageTypes.WARNING, 
+                                       Constants.DirectoryCannotOpen + "\n\n" + dir);
+               }
+       }
 
        /* end of video stuff */
 
diff --git a/src/util.cs b/src/util.cs
index 35084f8..7828bbf 100644
--- a/src/util.cs
+++ b/src/util.cs
@@ -866,6 +866,13 @@ public class Util
                        testType.ToString() + "-" + uniqueID.ToString() +
                        GetMultimediaExtension(Constants.MultimediaItems.VIDEO);
        }
+       public static string GetVideoFileNameOnlyName (Constants.TestTypes testType, int uniqueID) {
+               return testType.ToString() + "-" + uniqueID.ToString() +
+                       GetMultimediaExtension(Constants.MultimediaItems.VIDEO);
+       }
+       public static string GetVideoFileNameOnlyFolder (int sessionID) {
+               return GetVideoSessionDir(sessionID);
+       }
        
        public static string GetPhotoFileName (bool small, int uniqueID) {
                return GetPhotosDir(small) + Path.DirectorySeparatorChar + uniqueID.ToString() +



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