Added editing media object properites

svn: r473
This commit is contained in:
Don Allingham
2001-10-15 00:53:55 +00:00
parent 51c9da428e
commit 9959f0592f
7 changed files with 456 additions and 326 deletions

View File

@ -417,8 +417,6 @@ class LocalMediaProperties:
self.change_dialog.get_widget("path").set_text(fname)
self.change_dialog.get_widget("type").set_text(utils.get_mime_description(mtype))
self.change_dialog.get_widget("notes").insert_defaults(photo.getNote())
window.set_data("p",photo)
window.set_data("t",self.change_dialog)
self.change_dialog.signal_autoconnect({
"on_cancel_clicked" : utils.destroy_passed_object,
"on_ok_clicked" : self.on_ok_clicked,
@ -472,6 +470,92 @@ class LocalMediaProperties:
import AttrEdit
AttrEdit.AttributeEditor(self,None,"Media Object",[])
class GlobalMediaProperties:
def __init__(self,object,path):
self.object = object
self.alist = self.object.getAttributeList()[:]
self.lists_changed = 0
fname = self.object.getPath()
self.change_dialog = libglade.GladeXML(const.imageselFile,"change_global")
window = self.change_dialog.get_widget("change_global")
descr_window = self.change_dialog.get_widget("description")
pixmap = self.change_dialog.get_widget("pixmap")
self.attr_type = self.change_dialog.get_widget("attr_type")
self.attr_value = self.change_dialog.get_widget("attr_value")
self.attr_details = self.change_dialog.get_widget("attr_details")
self.attr_list = self.change_dialog.get_widget("attr_list")
descr_window.set_text(self.object.getDescription())
mtype = self.object.getMimeType()
if mtype[0:5] == "image":
thumb = "%s/.thumb/%s" % (path,self.object.getId())
RelImage.check_thumb(fname,thumb,const.thumbScale)
pixmap.load_file(thumb)
else:
pixmap.load_file(utils.find_icon(mtype))
self.change_dialog.get_widget("gid").set_text(self.object.getId())
if self.object.getLocal():
self.change_dialog.get_widget("path").set_text("<local>")
else:
self.change_dialog.get_widget("path").set_text(fname)
self.change_dialog.get_widget("type").set_text(utils.get_mime_description(mtype))
self.change_dialog.get_widget("notes").insert_defaults(object.getNote())
self.change_dialog.signal_autoconnect({
"on_cancel_clicked" : utils.destroy_passed_object,
"on_ok_clicked" : self.on_ok_clicked,
"on_apply_clicked" : self.on_apply_clicked,
"on_attr_list_select_row" : self.on_attr_list_select_row,
"on_add_attr_clicked": self.on_add_attr_clicked,
"on_delete_attr_clicked" : self.on_delete_attr_clicked,
"on_update_attr_clicked" : self.on_update_attr_clicked,
})
self.redraw_attr_list()
def redraw_attr_list(self):
utils.redraw_list(self.alist,self.attr_list,disp_attr)
def on_apply_clicked(self, obj):
text = self.change_dialog.get_widget("notes").get_chars(0,-1)
desc = self.change_dialog.get_widget("description").get_text()
note = self.object.getNote()
if text != note or desc != self.object.getDescription():
self.object.setNote(text)
utils.modified()
if self.lists_changed:
self.object.setAttributeList(self.alist)
utils.modified()
def on_ok_clicked(self, obj):
self.on_apply_clicked(obj)
utils.destroy_passed_object(obj)
def on_attr_list_select_row(self,obj,row,b,c):
attr = obj.get_row_data(row)
self.attr_type.set_label(attr.getType())
self.attr_value.set_text(attr.getValue())
self.attr_details.set_text(utils.get_detail_text(attr))
def on_update_attr_clicked(self,obj):
import AttrEdit
if len(obj.selection) > 0:
row = obj.selection[0]
attr = obj.get_row_data(row)
AttrEdit.AttributeEditor(self,attr,"Media Object",[])
def on_delete_attr_clicked(self,obj):
if utils.delete_selected(obj,self.alist):
self.lists_changed = 1
self.redraw_attr_list()
def on_add_attr_clicked(self,obj):
import AttrEdit
AttrEdit.AttributeEditor(self,None,"Media Object",[])
#-------------------------------------------------------------------------
#
#