diff --git a/src/devede/ask.py b/src/devede/ask.py
index 1eed496..e56aabe 100644
--- a/src/devede/ask.py
+++ b/src/devede/ask.py
@@ -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")
diff --git a/src/devede/file.py b/src/devede/file_movie.py
similarity index 80%
rename from src/devede/file.py
rename to src/devede/file_movie.py
index e55aa9e..bf1d4e7 100644
--- a/src/devede/file.py
+++ b/src/devede/file_movie.py
@@ -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
\ No newline at end of file
+
+ self.file_name = "Hola"+str(file_movie.counter2)
+ file_movie.counter2 += 1
\ No newline at end of file
diff --git a/src/devede/project.py b/src/devede/project.py
index 7b863a6..663928a 100644
--- a/src/devede/project.py
+++ b/src/devede/project.py
@@ -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 %(X)s 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 %(X)s 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 %(X)s 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 %(X)s 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
diff --git a/src/devede/title.py b/src/devede/title.py
index d54800c..f71fc18 100644
--- a/src/devede/title.py
+++ b/src/devede/title.py
@@ -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])
diff --git a/src/devede_ng.py b/src/devede_ng.py
index 9f76af1..a6d52eb 100755
--- a/src/devede_ng.py
+++ b/src/devede_ng.py
@@ -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