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

* Added context menu item for possibility to remove tags form file or

even files.
 * Change of a way to display files after tag click - all files, that
   have clicked tag will be appear in files TreeView.
This commit is contained in:
2008-05-05 21:17:40 +00:00
parent 574767de2a
commit aea871b30e
5 changed files with 332 additions and 46 deletions

View File

@@ -23,6 +23,7 @@
# -------------------------------------------------------------------------
import gtk
import gobject
import os
import utils.globals
@@ -497,6 +498,65 @@ class TagsDialog(object):
if result == gtk.RESPONSE_OK:
return entry.get_text()
return None
class TagsRemoveDialog(object):
"""Sepcific dialog for display stats"""
def __init__(self, tag_dict=None):
self.gladefile = os.path.join(utils.globals.GLADE_DIR, "dialogs.glade")
self.tag_dict = tag_dict
def run(self):
if not self.tag_dict:
return None
gladexml = gtk.glade.XML(self.gladefile, "tagRemove")
dialog = gladexml.get_widget("tagRemove")
# fill model with dict
model = gtk.ListStore(gobject.TYPE_INT,
gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
for tag in self.tag_dict:
myiter = model.insert_before(None, None)
model.set_value(myiter, 0, tag)
model.set_value(myiter, 1, self.tag_dict[tag])
model.set_value(myiter, 2, None)
def toggle(cell, path, model):
model[path][2] = not model[path][2]
def toggle_all(column, model):
for row in model:
row[2] = not row[2]
treeview = gladexml.get_widget("treeview1")
treeview.set_model(model)
renderer = gtk.CellRendererText()
column = gtk.TreeViewColumn("Tag", renderer, text=1)
column.set_property('expand', True)
treeview.append_column(column)
renderer = gtk.CellRendererToggle()
renderer.set_property('activatable', True)
renderer.connect('toggled', toggle, model)
column = gtk.TreeViewColumn("Toggle", renderer)
column.add_attribute(renderer, "active", 2)
column.set_property('expand', False)
column.set_property("clickable", True)
column.connect("clicked", toggle_all, model)
treeview.append_column(column)
result = dialog.run()
dialog.destroy()
if result == gtk.RESPONSE_OK:
ids = []
for i in model:
if i[2]:
ids.append(i[0])
return "ok", ids
return None, None
class EditDialog(object):
"""Sepcific dialog for display stats"""