vlc | branch: master | Rajeesh K V <rajeeshknamb...@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 <epira...@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> _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits