예제 #1
0
파일: dialogs.py 프로젝트: spillz/picty
 def __init__(self,item,index):
     gtk.Dialog.__init__(self,flags=gtk.DIALOG_NO_SEPARATOR|gtk.DIALOG_MODAL,
                      buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
     self.set_title('Batch Metadata Manipulation')
     self.index=index
     tags=[t[0:2] for t in metadata.apptags if t[2]]
     rows=len(tags)
     table = gtk.Table(rows=rows, columns=3, homogeneous=False)
     self.item=item
     r=0
     for k,v in tags:
         try:
             val=metadata.app_key_to_string(k,item.meta[k])
             if not val:
                 val=''
         except:
             val=''
         self.add_meta_row(table,k,v,val,r)
         r+=1
     table.show_all()
     hbox=gtk.HBox()
     hbox.pack_start(table)
     hbox.show_all()
     self.vbox.pack_start(hbox)
     file_label=gtk.Label()
     file_label.set_label("Only checked items will be changed")
     file_label.show()
     self.vbox.pack_start(file_label)
     self.set_default_response(gtk.RESPONSE_ACCEPT)
예제 #2
0
파일: dialogs.py 프로젝트: wazari972/picty
 def __init__(self,item,index):
     gtk.Dialog.__init__(self,flags=gtk.DIALOG_NO_SEPARATOR|gtk.DIALOG_MODAL,
                      buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
     self.set_title('Batch Metadata Manipulation')
     self.index=index
     tags=[t[0:2] for t in metadata.apptags if t[2]]
     rows=len(tags)
     table = gtk.Table(rows=rows, columns=3, homogeneous=False)
     self.item=item
     r=0
     for k,v in tags:
         try:
             val=metadata.app_key_to_string(k,item.meta[k])
             if not val:
                 val=''
         except:
             val=''
         self.add_meta_row(table,k,v,val,r)
         r+=1
     table.show_all()
     hbox=gtk.HBox()
     hbox.pack_start(table)
     hbox.show_all()
     self.vbox.pack_start(hbox)
     file_label=gtk.Label()
     file_label.set_label("Only checked items will be changed")
     file_label.show()
     self.vbox.pack_start(file_label)
     self.set_default_response(gtk.RESPONSE_ACCEPT)
예제 #3
0
 def update_meta_table(self,item):
     self.change_block=True
     try:
         enable=item.is_meta_changed()
         self.button_save.set_sensitive(enable)
         self.button_revert.set_sensitive(enable)
     except:
         self.button_save.set_sensitive(False)
         self.button_revert.set_sensitive(False)
     self.meta_table.data_items['FullPath'][1].set_text(self.viewer.browser.active_collection.get_path(item))
     d=datetime.datetime.fromtimestamp(item.mtime)
     self.meta_table.data_items['UnixLastModified'][1].set_text(d.isoformat(' '))
     for t in metadata.apptags:
         k=t[0]
         v=t[1]
         w=t[2]
         value=''
         if item.meta==None:
             self.meta_table.data_items[k][1].set_text('')
         else:
             try:
                 value=item.meta[k]
                 value=metadata.app_key_to_string(k,value)
             except:
                 value=''
             try:
                 self.meta_table.data_items[k][1].set_text(value)
             except:
                 print 'error updating meta table'
                 print 'values',value,type(value)
     self.change_block=False
예제 #4
0
 def update_meta_table(self, item):
     self.change_block = True
     try:
         enable = item.is_meta_changed()
         self.button_save.set_sensitive(enable)
         self.button_revert.set_sensitive(enable)
     except:
         self.button_save.set_sensitive(False)
         self.button_revert.set_sensitive(False)
     self.meta_table.data_items['FullPath'][1].set_text(
         self.viewer.browser.active_collection.get_path(item))
     d = datetime.datetime.fromtimestamp(item.mtime)
     self.meta_table.data_items['UnixLastModified'][1].set_text(
         d.isoformat(' '))
     for t in metadata.apptags:
         k = t[0]
         v = t[1]
         w = t[2]
         value = ''
         if item.meta == None:
             self.meta_table.data_items[k][1].set_text('')
         else:
             try:
                 value = item.meta[k]
                 value = metadata.app_key_to_string(k, value)
             except:
                 value = ''
             try:
                 self.meta_table.data_items[k][1].set_text(value)
             except:
                 print 'error updating meta table'
                 print 'values', value, type(value)
     self.change_block = False
예제 #5
0
파일: dialogs.py 프로젝트: teotikalki/picty
    def __init__(self, item, collection):
        gtk.Dialog.__init__(self,
                            flags=gtk.DIALOG_NO_SEPARATOR | gtk.DIALOG_MODAL)
        self.set_default_size(600, -1)
        vbox = gtk.VBox()
        a = gtk.Alignment(0, 0, 1, 1)
        a.set_padding(16, 16, 16, 16)
        a.add(vbox)
        self.vbox.pack_start(a)
        #        self.vbox.pack_start(vbox,True,True)
        self.set_title('Edit Metadata')
        tags = [t[0:2] for t in metadata.apptags if t[2]]
        rows = len(tags)
        table = gtk.Table(rows=rows, columns=2, homogeneous=False)
        table.set_col_spacings(16)
        self.item = item
        self.collection = collection
        r = 0
        for k, v in tags:
            try:
                val = metadata.app_key_to_string(k, item.meta[k])
                if not val:
                    val = ''
            except:
                val = ''
            self.add_meta_row(table, k, v, val, r)
            r += 1
        table.show_all()
        hbox = gtk.HBox(False, 16)
        hbox.pack_start(table, True, True)
        if item.thumb:  ##todo: should actually retrieve the thumb (via callback) if not present
            self.thumb = gtk.Image()
            #            self.thumb.set_alignment(0,0)
            self.thumb.set_from_pixbuf(item.thumb)
            hbox.pack_start(self.thumb)
        hbox.show_all()

        file_label = gtk.Label()
        file_label.set_markup('<b>%s</b>' % (item.uid, ))
        file_label.show()
        file_label.set_alignment(0, 0.5)

        vbox.pack_start(file_label, True, True, 8)
        vbox.pack_start(hbox, True, True)
        self.vbox.show_all()
예제 #6
0
파일: dialogs.py 프로젝트: spillz/picty
    def __init__(self,item,collection):
        gtk.Dialog.__init__(self,flags=gtk.DIALOG_NO_SEPARATOR|gtk.DIALOG_MODAL)
        self.set_default_size(600,-1)
        vbox=gtk.VBox()
        a=gtk.Alignment(0,0,1,1)
        a.set_padding(16,16,16,16)
        a.add(vbox)
        self.vbox.pack_start(a)
#        self.vbox.pack_start(vbox,True,True)
        self.set_title('Edit Metadata')
        tags=[t[0:2] for t in metadata.apptags if t[2]]
        rows=len(tags)
        table = gtk.Table(rows=rows, columns=2, homogeneous=False)
        table.set_col_spacings(16)
        self.item=item
        self.collection=collection
        r=0
        for k,v in tags:
            try:
                val=metadata.app_key_to_string(k,item.meta[k])
                if not val:
                    val=''
            except:
                val=''
            self.add_meta_row(table,k,v,val,r)
            r+=1
        table.show_all()
        hbox=gtk.HBox(False,16)
        hbox.pack_start(table,True,True)
        if item.thumb: ##todo: should actually retrieve the thumb (via callback) if not present
            self.thumb=gtk.Image()
#            self.thumb.set_alignment(0,0)
            self.thumb.set_from_pixbuf(item.thumb)
            hbox.pack_start(self.thumb)
        hbox.show_all()

        file_label=gtk.Label()
        file_label.set_markup('<b>%s</b>'%(item.uid,))
        file_label.show()
        file_label.set_alignment(0,0.5)

        vbox.pack_start(file_label,True,True,8)
        vbox.pack_start(hbox,True,True)
        self.vbox.show_all()