* various: Add undo functionality
svn: r3065
This commit is contained in:
@ -68,8 +68,8 @@ class SourceView:
|
||||
self.db = db
|
||||
self.update = update
|
||||
self.list = glade.get_widget("source_list")
|
||||
self.list.connect('button-press-event',self.button_press)
|
||||
self.selection = self.list.get_selection()
|
||||
colno = 0
|
||||
|
||||
self.renderer = gtk.CellRendererText()
|
||||
|
||||
@ -80,12 +80,6 @@ class SourceView:
|
||||
self.columns = []
|
||||
self.build_columns()
|
||||
|
||||
def load_sources(self,id=None):
|
||||
pass
|
||||
|
||||
def on_click(self,column):
|
||||
self.click_col = column
|
||||
|
||||
def build_columns(self):
|
||||
for column in self.columns:
|
||||
self.list.remove_column(column)
|
||||
@ -112,25 +106,18 @@ class SourceView:
|
||||
self.list.append_column(column)
|
||||
index += 1
|
||||
|
||||
def on_click(self,column):
|
||||
self.click_col = column
|
||||
|
||||
def change_db(self,db):
|
||||
self.build_columns()
|
||||
self.build_tree()
|
||||
|
||||
def goto(self,id):
|
||||
iter = self.map[id]
|
||||
self.list.get_selection().select_iter(iter)
|
||||
itpath = self.model.get_path (iter)
|
||||
col = self.list.get_column (0)
|
||||
self.list.scroll_to_cell (itpath, col, gtk.TRUE, 0.5, 0)
|
||||
|
||||
def build_tree(self):
|
||||
self.list.set_model(None)
|
||||
self.model = gtk.TreeModelSort(DisplayModels.SourceModel(self.parent.db))
|
||||
|
||||
self.list.set_model(self.model)
|
||||
|
||||
self.selection = self.list.get_selection()
|
||||
self.list.connect('button-press-event',self.button_press)
|
||||
|
||||
def button_press(self,obj,event):
|
||||
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
||||
@ -182,7 +169,6 @@ class SourceView:
|
||||
self.topWindow,self.new_after_edit)
|
||||
|
||||
def on_delete_clicked(self,obj):
|
||||
|
||||
store,iter = self.selection.get_selected()
|
||||
if not iter:
|
||||
return
|
||||
@ -191,7 +177,7 @@ class SourceView:
|
||||
source = self.db.get_source(id)
|
||||
|
||||
if self.is_used(source):
|
||||
ans = EditSource.DelSrcQuery(source,self.db,self.update)
|
||||
ans = EditSource.DelSrcQuery(source,self.db,self.build_tree)
|
||||
|
||||
QuestionDialog(_('Delete %s?') % source.get_title(),
|
||||
_('This source is currently being used. Deleting it '
|
||||
@ -200,8 +186,10 @@ class SourceView:
|
||||
_('_Delete Source'),
|
||||
ans.query_response,self.topWindow)
|
||||
else:
|
||||
self.db.remove_source_id(source.get_id())
|
||||
self.update(0)
|
||||
trans = self.db.start_transaction()
|
||||
self.db.remove_source_id(source.get_id(),trans)
|
||||
self.db.add_transaction(trans)
|
||||
self.build_tree()
|
||||
|
||||
def is_used(self,source):
|
||||
for key in self.db.get_place_id_keys():
|
||||
@ -258,8 +246,7 @@ class SourceView:
|
||||
|
||||
def new_after_edit(self,source):
|
||||
self.db.add_source(source)
|
||||
self.update(0)
|
||||
self.build_tree()
|
||||
|
||||
def update_display(self,place):
|
||||
self.db.build_source_display(place.get_id())
|
||||
self.update(0)
|
||||
self.build_tree()
|
||||
|
Reference in New Issue
Block a user