Removed conflicting class "file"

Now sets the disc type every time a new file or title is created
This commit is contained in:
Sergio Costas 2014-07-11 23:40:21 +02:00
parent 2676ce1658
commit 6cb04b131e
5 changed files with 148 additions and 137 deletions

View file

@ -22,10 +22,10 @@ class ask_window:
def __init__(self,paths):
self.paths = paths
self.paths = paths
def run(self,text,title):
builder = Gtk.Builder()
builder.set_translation_domain("devede_ng")

View file

@ -17,18 +17,23 @@
from gi.repository import GObject
class file(GObject.GObject):
class file_movie(GObject.GObject):
counter2 = 0
def __init__(self):
GObject.GObject.__init__(self)
self.counter2 = 0
def set_type(self,disc_type):
self.disc_type = disc_type
def delete_file(self):
print("Deleted file "+self.file_name)
def properties(self):
self.file_name = "Hola"+str(self.counter2)
self.counter2 += 1
self.file_name = "Hola"+str(file_movie.counter2)
file_movie.counter2 += 1

View file

@ -19,7 +19,7 @@ from gi.repository import Gtk
import os
import devede.title
import devede.file
import devede.file_movie
import devede.ask
class devede_project:
@ -28,10 +28,10 @@ class devede_project:
self.paths = paths
self.destroy_all()
def destroy_all(self):
self.wask_window = None
self.wmain_window = None
self.wframe_titles = None
@ -44,7 +44,7 @@ class devede_project:
self.wuse_pal = None
self.wuse_ntsc = None
self.wcreate_menu = None
self.project_type = None
self.disc_type = None
self.wdelete_title = None
self.wup_title = None
self.wdown_title = None
@ -55,7 +55,7 @@ class devede_project:
self.wdown_file = None
self.wproperties_file = None
self.wcreate_disc = None
devede.title.counter = 0
@ -107,116 +107,29 @@ class devede_project:
if (self.wask_window != None):
self.wask_window.destroy()
self.destroy_all()
self.project_type = disc_type
self.disc_type = disc_type
self.show_main_window()
# Set the default disc size
if (self.project_type == "dvd"):
if (self.disc_type == "dvd"):
self.wdisc_size.set_active(1) # 4.7 GB DVD
self.wframe_titles.show()
else:
self.wdisc_size.set_active(3) # 700 MB CD
self.wframe_titles.hide()
# create a new title
self.on_add_title_clicked(None)
def on_add_title_clicked(self,b):
""" Creates a new title and adds it to the current project """
self.get_current_title()
new_title = devede.title.title(self.wfiles,self.wliststore_files)
self.wliststore_titles.append([new_title.title_name, new_title])
self.set_interface_status(None)
def on_add_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None):
return
new_file = devede.file.file()
new_file.properties()
if (new_file.file_name != None):
element.add_file(new_file)
self.set_interface_status(None)
def on_delete_title_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None):
return
ask_w = devede.ask.ask_window(self.paths)
if (ask_w.run(_("The title <b>%(X)s</b> will be removed.") % {"X":element.title_name},_("Delete title"))):
element.delete_title()
model.remove(treeiter)
self.set_interface_status(None)
def on_delete_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_file()
if (element == None):
return
ask_w = devede.ask.ask_window(self.paths)
if (ask_w.run(_("The file <b>%(X)s</b> will be removed.") % {"X":element.file_name},_("Delete file"))):
element.delete_file()
model.remove(treeiter)
self.set_interface_status(None)
def on_up_title_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None) or (position == 0):
return
last_element = self.wliststore_titles[position-1]
self.wliststore_titles.swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_up_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_file()
if (element == None) or (position == 0):
return
last_element = self.wfiles.get_model()[position-1]
self.wfiles.get_model().swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_down_title_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None) or (position == (len(self.wliststore_titles)-1)):
return
last_element = self.wliststore_titles[position+1]
self.wliststore_titles.swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_down_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_file()
if (element == None) or (position == (len(self.wfiles.get_model())-1)):
return
last_element = self.wfiles.get_model()[position+1]
self.wfiles.get_model().swap(last_element.iter,treeiter)
self.set_interface_status(None)
def get_current_title(self):
""" returns the currently selected title """
selection = self.wtitles.get_selection()
model, treeiter = selection.get_selected()
if treeiter != None:
element = model[treeiter][1]
position = 0
@ -241,7 +154,7 @@ class devede_project:
selection = self.wfiles.get_selection()
model, treeiter = selection.get_selected()
if treeiter != None:
element = model[treeiter][1]
position = 0
@ -263,22 +176,22 @@ class devede_project:
self.wup_title.set_sensitive(True)
self.wdown_title.set_sensitive(True)
self.wproperties_title.set_sensitive(True)
self.wadd_file.set_sensitive(True)
self.wdelete_file.set_sensitive(True)
self.wup_file.set_sensitive(True)
self.wdown_file.set_sensitive(True)
self.wproperties_file.set_sensitive(True)
self.wpreview_file.set_sensitive(True)
self.wcreate_disc.set_sensitive(True)
(element, position, model, treeiter) = self.get_current_title()
if (self.current_title != element):
self.current_title = element
element.refresh()
if (element == None):
self.wdelete_title.set_sensitive(False)
self.wup_title.set_sensitive(False)
@ -298,7 +211,7 @@ class devede_project:
self.wup_title.set_sensitive(False)
if (position == (ntitles-1)):
self.wdown_title.set_sensitive(False)
(element2, position2, model2, treeiter2) = self.get_current_file()
if (element2 == None):
self.wdelete_file.set_sensitive(False)
@ -342,7 +255,7 @@ class devede_project:
self.wuse_ntsc = builder.get_object("use_ntsc")
self.wcreate_menu = builder.get_object("create_menu")
self.wframe_titles = builder.get_object("frame_titles")
self.wadd_title = builder.get_object("delete_title")
self.wdelete_title = builder.get_object("delete_title")
self.wup_title = builder.get_object("up_title")
@ -354,23 +267,112 @@ class devede_project:
self.wdown_file = builder.get_object("down_file")
self.wproperties_file = builder.get_object("properties_file")
self.wpreview_file = builder.get_object("preview_file")
self.wcreate_disc = builder.get_object("create_disc")
selection = self.wfiles.get_selection()
selection.mode = Gtk.SelectionMode.SINGLE
selection = self.wtitles.get_selection()
selection.mode = Gtk.SelectionMode.SINGLE
self.wmain_window.show_all()
def on_wmain_window_delete_event(self,b,e=None):
ask = devede.ask.ask_window(self.paths)
if (ask.run(_("Abort the current DVD and exit?"),_("Exit DeVeDe"))):
Gtk.main_quit()
return True
def on_add_title_clicked(self,b):
""" Creates a new title and adds it to the current project """
self.get_current_title()
new_title = devede.title.title(self.wfiles,self.wliststore_files)
new_title.set_type(self.disc_type)
self.wliststore_titles.append([new_title.title_name, new_title])
self.set_interface_status(None)
def on_add_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None):
return
new_file = devede.file_movie.file_movie()
new_file.set_type(self.disc_type)
new_file.properties()
if (new_file.file_name != None):
element.add_file(new_file)
self.set_interface_status(None)
def on_delete_title_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None):
return
ask_w = devede.ask.ask_window(self.paths)
if (ask_w.run(_("The title <b>%(X)s</b> will be removed.") % {"X":element.title_name},_("Delete title"))):
element.delete_title()
model.remove(treeiter)
self.set_interface_status(None)
def on_delete_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_file()
if (element == None):
return
ask_w = devede.ask.ask_window(self.paths)
if (ask_w.run(_("The file <b>%(X)s</b> will be removed.") % {"X":element.file_name},_("Delete file"))):
element.delete_file()
model.remove(treeiter)
self.set_interface_status(None)
def on_up_title_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None) or (position == 0):
return
last_element = self.wliststore_titles[position-1]
self.wliststore_titles.swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_up_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_file()
if (element == None) or (position == 0):
return
last_element = self.wfiles.get_model()[position-1]
self.wfiles.get_model().swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_down_title_clicked(self,b):
(element, position, model, treeiter) = self.get_current_title()
if (element == None) or (position == (len(self.wliststore_titles)-1)):
return
last_element = self.wliststore_titles[position+1]
self.wliststore_titles.swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_down_file_clicked(self,b):
(element, position, model, treeiter) = self.get_current_file()
if (element == None) or (position == (len(self.wfiles.get_model())-1)):
return
last_element = self.wfiles.get_model()[position+1]
self.wfiles.get_model().swap(last_element.iter,treeiter)
self.set_interface_status(None)
def on_adjust_disc_usage_clicked(self,b):
pass

View file

@ -18,11 +18,11 @@
from gi.repository import Gtk,GObject
class title(GObject.GObject):
counter = 0
def __init__(self,file_treeview,original_liststore):
GObject.GObject.__init__(self)
self.file_treeview = file_treeview
title.counter += 1
@ -32,15 +32,19 @@ class title(GObject.GObject):
columns.append(original_liststore.get_column_type(iterator))
self.files = Gtk.ListStore()
self.files.set_column_types(columns)
def set_type(self,disc_type):
self.disc_type = disc_type
def delete_title(self):
print("Deleted title "+self.title_name)
def refresh(self):
self.file_treeview.set_model(self.files)
def add_file(self,new_file):
self.files.append([new_file.file_name, new_file])

View file

@ -26,9 +26,9 @@ from gi.repository import Gtk
import devede.project
class config_paths:
def __init__(self,is_local):
if (is_local):
# locales must be always at /usr/share/locale because Gtk.Builder always search there
self.share_locale="/usr/share/locale"
@ -44,8 +44,8 @@ class config_paths:
self.pic_path="/usr/share/devede_ng"
self.other_path="/usr/share/devede_ng"
self.help_path="/usr/share/doc/devede_ng"
paths = None
@ -72,7 +72,7 @@ try:
except locale.Error:
pass
gettext.textdomain('devede_ng')
gettext.install("devede_ng",localedir=paths.share_locale)
gettext.install("devede_ng",localedir=paths.share_locale)
_ = gettext.gettext