1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 19:40:21 +01:00

* Addd support for click in update and delete.

This commit is contained in:
2007-09-15 06:51:51 +00:00
parent 851321327a
commit 126360c3ef

View File

@@ -127,9 +127,7 @@ class MainController(Controller):
def on_add_directory1_activate(self, widget):
"""Show dialog for choose drectory to add from filesystem."""
res = Dialogs.PointDirectoryToAdd().run()
if res !=(None,None):
self.model.scan(res[1],res[0])
self.__addDirectory()
return
def on_about1_activate(self,widget):
@@ -311,6 +309,39 @@ class MainController(Controller):
self.__open(path)
return
def on_update1_activate(self, menu_item):
path = self.view['discs'].get_cursor()
filepath, label = self.model.get_label_and_filepath(path)
if self.model.get_source(path) == self.model.CD:
if self.__addCD(label):
self.model.delete(self.model.discsTree.get_iter(path[0],0))
pass
elif self.model.get_source(path) == self.model.DR:
if self.__addDirectory(filepath, label):
self.model.delete(self.model.discsTree.get_iter(path[0]))
pass
return
def on_delete2_activate(self, menu_item):
model = self.view['discs'].get_model()
try:
selected_iter = self.model.discsTree.get_iter(self.view['discs'].get_cursor()[0])
except:
return
if self.model.config.confd['delwarn']:
name = self.model.discsTree.get_value(selected_iter,1)
obj = Dialogs.Qst('Delete %s' % name, 'Delete %s?' % name, 'Object will be permanently removed.')
if not obj.run():
return
self.model.delete(selected_iter)
self.model.unsaved_project = True
if self.model.filename != None:
self.view['main'].set_title("%s - pyGTKtalog *" % self.model.filename)
else:
self.view['main'].set_title("untitled - pyGTKtalog *")
return
def on_debugbtn_clicked(self,widget):
"""Debug, do usunięcia w wersji stable, włącznie z kneflem w GUI"""
if __debug__:
@@ -322,6 +353,12 @@ class MainController(Controller):
print "db_connection = %s" % self.model.db_connection
print "abort = %s" % self.model.abort
print "self.model.config.recent = %s" % self.model.config.recent
it = self.model.discsTree.get_iter_first()
myit = self.model.discsTree.insert_before(None,None)
self.model.discsTree.set_value(myit,0,0)
self.model.discsTree.set_value(myit,1,"nazwa")
self.model.discsTree.set_value(myit,3,3)
self.model.discsTree.set_value(myit,2,gtk.STOCK_INFO)
#####################
# observed properetis
@@ -340,7 +377,7 @@ class MainController(Controller):
if not new and self.scan_cd:
self.scan_cd = False
# umount/eject cd
if self.model.config.confd['eject']:
if self.model.config.confd['eject'] and self.model.config.confd['ejectapp']:
msg = deviceHelper.eject_cd(self.model.config.confd['ejectapp'],self.model.config.confd['cd'])
if msg != 'ok':
Dialogs.Wrn("error ejecting device - pyGTKtalog",
@@ -363,7 +400,7 @@ class MainController(Controller):
def __open(self, path=None):
"""Open catalog file"""
if self.model.unsaved_project and self.model.config.confd['confirmabandon']:
obj = dialogs.Qst('Unsaved data - pyGTKtalog','There is not saved database','Pressing "Ok" will abandon catalog.')
obj = Dialogs.Qst('Unsaved data - pyGTKtalog','There is not saved database','Pressing "Ok" will abandon catalog.')
if not obj.run():
return
@@ -383,6 +420,7 @@ class MainController(Controller):
#{{{
if self.model.filename:
self.model.save()
self.view['main'].set_title("%s - pyGTKtalog *" % self.model.filename)
else:
self.__save_as()
pass
@@ -396,21 +434,49 @@ class MainController(Controller):
self.model.config.add_recent(path)
pass
def __addCD(self):
def __addCD(self, label=None):
"""Add directory structure from cd/dvd disc"""
mount = deviceHelper.volmount(self.model.config.confd['cd'])
if mount == 'ok':
guessed_label = deviceHelper.volname(self.model.config.confd['cd'])
if not label:
label = Dialogs.InputDiskLabel(guessed_label).run()
if label != None:
self.scan_cd = True
for widget in self.widgets_all:
self.view[widget].set_sensitive(False)
self.model.source = self.model.CD
self.model.scan(self.model.config.confd['cd'],label)
self.unsaved_project = True
if self.model.filename != None:
self.view['main'].set_title("%s - pyGTKtalog *" % self.model.filename)
else:
self.view['main'].set_title("untitled - pyGTKtalog *")
return True
else:
Dialogs.Wrn("Error mounting device - pyGTKtalog",
"Cannot mount device pointed to %s" % self.model.config.confd['cd'],
"Last mount message:\n%s" % mount)
return False
def __addDirectory(self, path=None, label=None):
if not label or not path:
res = Dialogs.PointDirectoryToAdd().run()
if res !=(None,None):
path = res[1]
label = res[0]
else:
return False
self.scan_cd = False
self.model.source = self.model.DR
self.model.scan(path, label)
self.unsaved_project = True
if self.model.filename != None:
self.view['main'].set_title("%s - pyGTKtalog *" % self.model.filename)
else:
self.view['main'].set_title("untitled - pyGTKtalog *")
return True
def __doQuit(self):
"""Quit and save window parameters to config file"""