[vlc-commits] Qt: Enable Stop Time in media convert dialog
Rajeesh K V
git at videolan.org
Mon Nov 14 15:25:05 CET 2016
vlc | branch: master | Rajeesh K V <rajeeshknambiar at gmail.com> | Tue Aug 16 10:56:46 2016 +0530| [87ca8f12c5b653f0da0e397d28737a0f2f0f5574] | committer: Marvin Scholz
Qt: Enable Stop Time in media convert dialog
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.
Signed-off-by: Marvin Scholz <epirat07 at gmail.com>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=87ca8f12c5b653f0da0e397d28737a0f2f0f5574
---
NEWS | 1 +
modules/gui/qt/dialogs/open.cpp | 17 +++++++++++------
modules/gui/qt/ui/open.ui | 33 +++++++++++++++++++++++++++++++++
3 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/NEWS b/NEWS
index 78bc731..969c621 100644
--- a/NEWS
+++ b/NEWS
@@ -194,6 +194,7 @@ iOS:
Qt interface:
* Batch convert support
+ * It is now possible to specify 'stop-time' in Convert/Save dialog
Skins2:
* Support key accelerators
diff --git a/modules/gui/qt/dialogs/open.cpp b/modules/gui/qt/dialogs/open.cpp
index 224cfa5..47bda63 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 );
@@ -427,6 +429,11 @@ void OpenDialog::updateMRL( const QStringList& item, const QString& tempMRL )
updateMRL();
}
+/* Format the time to milliseconds */
+QString TimeToMilliseconds( const QTimeEdit *t ) {
+ return QString::number( ( t->minimumTime().msecsTo( t->time() ) ) / 1000.0, 'f', 3);
+}
+
/* Update the complete MRL */
void OpenDialog::updateMRL() {
QString mrl = optionsMRL;
@@ -436,12 +443,10 @@ void OpenDialog::updateMRL() {
mrl += QString( " :%1=%2" ).arg( storedMethod ).
arg( ui.cacheSpinBox->value() );
if( ui.startTimeTimeEdit->time() != ui.startTimeTimeEdit->minimumTime() ) {
- mrl += QString( " :start-time=%1.%2" )
- .arg( QString::number(
- ui.startTimeTimeEdit->minimumTime().secsTo(
- ui.startTimeTimeEdit->time()
- ) ) )
- .arg( ui.startTimeTimeEdit->time().msec(), 3, 10, QChar('0') );
+ mrl += " :start-time=" + TimeToMilliseconds( ui.startTimeTimeEdit );
+ }
+ if( ui.stopTimeTimeEdit->time() > ui.startTimeTimeEdit->time() ) {
+ mrl += " :stop-time=" + TimeToMilliseconds( ui.stopTimeTimeEdit );
}
ui.advancedLineInput->setText( mrl );
ui.mrlLine->setText( itemsMRL.join( " " ) );
diff --git a/modules/gui/qt/ui/open.ui b/modules/gui/qt/ui/open.ui
index ea510db..f105fe4 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_4">
+ <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>
<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>
More information about the vlc-commits
mailing list