<!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>