<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta name="generator" content="pandoc" />
  <title></title>
  <style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<p>Hi Rajeesh,</p>
<p>On 2016-08-29 20:39, Rajeesh K V wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> Convert/Save dialog has had option to specify 'start time' but
 no option for setting 'stop time' in the interface. The backend
 'stop-time' option was already present. This patch simply adds
 and enables the edit widget for end time in Qt interface.
 ---
  modules/gui/qt/dialogs/open.cpp | 10 ++++++++++
  modules/gui/qt/ui/open.ui       | 33 +++++++++++++++++++++++++++++++++
  2 files changed, 43 insertions(+)

 diff --git a/modules/gui/qt/dialogs/open.cpp b/modules/gui/qt/dialogs/open.cpp
 index 224cfa5..a894d8c 100644
 --- a/modules/gui/qt/dialogs/open.cpp
 +++ b/modules/gui/qt/dialogs/open.cpp
 @@ -156,6 +156,7 @@ OpenDialog::OpenDialog( QWidget *parent,
      CONNECT( ui.slaveText, textChanged( const QString& ), this, updateMRL() );
      CONNECT( ui.cacheSpinBox, valueChanged( int ), this, updateMRL() );
      CONNECT( ui.startTimeTimeEdit, timeChanged ( const QTime& ), this, updateMRL() );
 +    CONNECT( ui.stopTimeTimeEdit, timeChanged ( const QTime& ), this, updateMRL() );
      BUTTONACT( ui.advancedCheckBox, toggleAdvancedPanel() );
      BUTTONACT( ui.slaveBrowseButton, browseInputSlave() );

 @@ -179,6 +180,7 @@ OpenDialog::OpenDialog( QWidget *parent,

      /* enforce section due to .ui bug */
      ui.startTimeTimeEdit->setCurrentSection( QDateTimeEdit::SecondSection );
 +    ui.stopTimeTimeEdit->setCurrentSection( QDateTimeEdit::SecondSection );

      setMinimumSize( sizeHint() );
      setMaximumWidth( 900 );
 @@ -443,6 +445,14 @@ void OpenDialog::updateMRL() {
                  ) ) )
                 .arg( ui.startTimeTimeEdit->time().msec(), 3, 10, QChar('0') );
      }
 +    if( ui.stopTimeTimeEdit->time() > ui.startTimeTimeEdit->time() ) {
 +        mrl += QString( " :stop-time=%1.%2" )
 +                .arg( QString::number(
 +                    ui.stopTimeTimeEdit->minimumTime().secsTo(
 +                        ui.stopTimeTimeEdit->time()
 +                ) ) )
 +               .arg( ui.stopTimeTimeEdit->time().msec(), 3, 10, QChar('0') );
 +    }</code></pre>
</blockquote>
<p>This could be written a lot simpler by updating the <em>format-string</em> so that you are generating the <em>string-representation</em> of a <em>floating-point</em> with the value of <code>QTime::msecsTo</code> divided by <code>1000</code>.</p>
<p>Remember that you can specify the number of decimals, as well as padding, directly in the <em>format-string</em>; there’s no explicit need to do this by hand.</p>
<p>I reckon you are basing your implementation on what is done for <code>:start-time</code>, so if you fix your implementation - you could refactor <code>:start-time</code> at the same time.</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code>      ui.advancedLineInput->setText( mrl );
      ui.mrlLine->setText( itemsMRL.join( " " ) );
      /* Only allow action without valid items */
 diff --git a/modules/gui/qt/ui/open.ui b/modules/gui/qt/ui/open.ui
 index ea510db..05d8193 100644
 --- a/modules/gui/qt/ui/open.ui
 +++ b/modules/gui/qt/ui/open.ui
 @@ -169,6 +169,19 @@
          </property>
         </widget>
        </item>
 +      <item row="1" column="3">
 +       <widget class="QLabel" name="label_3">
 +        <property name="text">
 +         <string>Stop Time</string>
 +        </property>
 +        <property name="alignment">
 +         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
 +        </property>
 +        <property name="buddy">
 +         <cstring>stopTimeTimeEdit</cstring>
 +        </property>
 +       </widget>
 +      </item>
        <item row="8" column="0">
         <widget class="QLabel" name="label">
          <property name="text">
 @@ -241,6 +254,25 @@
          </property>
         </widget>
        </item>
 +      <item row="1" column="4" colspan="2">
 +       <widget class="QTimeEdit" name="stopTimeTimeEdit">
 +        <property name="toolTip">
 +         <string>Change the stop time for the media</string>
 +        </property>
 +        <property name="alignment">
 +         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
 +        </property>
 +        <property name="currentSection">
 +         <enum>QDateTimeEdit::HourSection</enum>
 +        </property>
 +        <property name="displayFormat">
 +         <string>HH'H':mm'm':ss's'.zzz</string>
 +        </property>
 +        <property name="timeSpec">
 +         <enum>Qt::LocalTime</enum>
 +        </property>
 +       </widget>
 +      </item></code></pre>
</blockquote>
<p>This suffers from the same problem as for the <em>start-time</em>, so I guess it is not overly important; but it is worthwhile noting that using <code>QTimeEdit</code> makes it impossible to specify <em>start-</em> and <em>stop-time</em> if they exceed 24h.</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code>        <item row="4" column="0" colspan="6">
         <widget class="QCheckBox" name="slaveCheckbox">
          <property name="text">
 @@ -271,6 +303,7 @@
    <tabstop>advancedCheckBox</tabstop>
    <tabstop>cacheSpinBox</tabstop>
    <tabstop>startTimeTimeEdit</tabstop>
 +  <tabstop>stopTimeTimeEdit</tabstop>
    <tabstop>slaveCheckbox</tabstop>
    <tabstop>slaveText</tabstop>
    <tabstop>slaveBrowseButton</tabstop>
 -- 
 2.7.4

 _______________________________________________
 vlc-devel mailing list
 To unsubscribe or modify your subscription options:
 https://mailman.videolan.org/listinfo/vlc-devel</code></pre>
</blockquote>
</body>
</html>