Now shows the duration of each title
This commit is contained in:
parent
34670d3ebd
commit
d830276387
3 changed files with 39 additions and 5 deletions
|
|
@ -36,6 +36,8 @@
|
||||||
<column type="gchararray"/>
|
<column type="gchararray"/>
|
||||||
<!-- column-name toedit -->
|
<!-- column-name toedit -->
|
||||||
<column type="gboolean"/>
|
<column type="gboolean"/>
|
||||||
|
<!-- column-name duration -->
|
||||||
|
<column type="gchararray"/>
|
||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkWindow" id="wmain_window">
|
<object class="GtkWindow" id="wmain_window">
|
||||||
|
|
@ -218,18 +220,18 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="model">liststore_files</property>
|
<property name="model">liststore_files</property>
|
||||||
<property name="headers_visible">False</property>
|
<property name="headers_clickable">False</property>
|
||||||
<property name="reorderable">True</property>
|
<property name="reorderable">True</property>
|
||||||
<property name="enable_search">False</property>
|
<property name="enable_search">False</property>
|
||||||
<property name="search_column">0</property>
|
<property name="search_column">0</property>
|
||||||
<property name="show_expanders">False</property>
|
|
||||||
<signal name="cursor-changed" handler="set_interface_status" swapped="no"/>
|
<signal name="cursor-changed" handler="set_interface_status" swapped="no"/>
|
||||||
<child internal-child="selection">
|
<child internal-child="selection">
|
||||||
<object class="GtkTreeSelection" id="treeview-selection"/>
|
<object class="GtkTreeSelection" id="treeview-selection"/>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
|
<object class="GtkTreeViewColumn" id="treeviewcolumn2">
|
||||||
<property name="title" translatable="yes">column</property>
|
<property name="title" translatable="yes">Title</property>
|
||||||
|
<property name="expand">True</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="cellrenderertext3">
|
<object class="GtkCellRendererText" id="cellrenderertext3">
|
||||||
<signal name="edited" handler="on_cellrenderertext3_edited" swapped="no"/>
|
<signal name="edited" handler="on_cellrenderertext3_edited" swapped="no"/>
|
||||||
|
|
@ -241,6 +243,19 @@
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
|
||||||
|
<property name="title" translatable="yes">Duration</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText" id="cellrenderertext2">
|
||||||
|
<property name="alignment">right</property>
|
||||||
|
</object>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="text">3</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
||||||
|
|
@ -183,6 +183,10 @@ class file_movie(devede.interface_manager.interface_manager):
|
||||||
self.emit('title_changed',self.title_name)
|
self.emit('title_changed',self.title_name)
|
||||||
|
|
||||||
|
|
||||||
|
def get_duration(self):
|
||||||
|
return self.original_length
|
||||||
|
|
||||||
|
|
||||||
def get_estimated_size(self):
|
def get_estimated_size(self):
|
||||||
""" Returns the estimated final file size, in kBytes, based on the final audio and video rate, and the subtitles """
|
""" Returns the estimated final file size, in kBytes, based on the final audio and video rate, and the subtitles """
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import time
|
||||||
import shutil
|
import shutil
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
import pickle
|
import pickle
|
||||||
|
import math
|
||||||
|
|
||||||
import devede.file_movie
|
import devede.file_movie
|
||||||
import devede.ask
|
import devede.ask
|
||||||
|
|
@ -219,6 +220,20 @@ class devede_project:
|
||||||
self.add_several_files(ask_files.files)
|
self.add_several_files(ask_files.files)
|
||||||
|
|
||||||
|
|
||||||
|
def duration_to_string(self,duration):
|
||||||
|
|
||||||
|
seconds = math.floor(duration%60)
|
||||||
|
minutes = math.floor((duration/60)%60)
|
||||||
|
hours = math.floor(duration/3600)
|
||||||
|
|
||||||
|
output = str(seconds)+"s"
|
||||||
|
if ((hours != 0) or (minutes != 0)):
|
||||||
|
output = str(minutes)+"m "+output
|
||||||
|
if (hours != 0):
|
||||||
|
output = str(hours)+"h "+output
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
def add_several_files(self,file_list):
|
def add_several_files(self,file_list):
|
||||||
error_list = []
|
error_list = []
|
||||||
for efile in file_list:
|
for efile in file_list:
|
||||||
|
|
@ -229,7 +244,7 @@ class devede_project:
|
||||||
error_list.append(os.path.basename(efile))
|
error_list.append(os.path.basename(efile))
|
||||||
else:
|
else:
|
||||||
new_file.connect('title_changed',self.title_changed)
|
new_file.connect('title_changed',self.title_changed)
|
||||||
self.wliststore_files.append([new_file, new_file.title_name,True])
|
self.wliststore_files.append([new_file, new_file.title_name,True,self.duration_to_string(new_file.get_duration())])
|
||||||
if (len(error_list)!=0):
|
if (len(error_list)!=0):
|
||||||
devede.message.message_window(_("The following files could not be added:"),_("Error while adding files"),error_list)
|
devede.message.message_window(_("The following files could not be added:"),_("Error while adding files"),error_list)
|
||||||
self.set_interface_status(None)
|
self.set_interface_status(None)
|
||||||
|
|
@ -648,7 +663,7 @@ class devede_project:
|
||||||
else:
|
else:
|
||||||
new_file.restore_file(efile)
|
new_file.restore_file(efile)
|
||||||
new_file.connect('title_changed',self.title_changed)
|
new_file.connect('title_changed',self.title_changed)
|
||||||
self.wliststore_files.append([new_file, new_file.title_name,True])
|
self.wliststore_files.append([new_file, new_file.title_name,True,self.duration_to_string(new_file.get_duration())])
|
||||||
if (len(error_list)!=0):
|
if (len(error_list)!=0):
|
||||||
devede.message.message_window(_("The following files in the project could not be added again:"),_("Error while adding files"),error_list)
|
devede.message.message_window(_("The following files in the project could not be added again:"),_("Error while adding files"),error_list)
|
||||||
self.set_interface_status(None)
|
self.set_interface_status(None)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue