summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/mat.ui105
-rwxr-xr-xmat-gui36
2 files changed, 116 insertions, 25 deletions
diff --git a/data/mat.ui b/data/mat.ui
index d8a52fd..8e96efe 100644
--- a/data/mat.ui
+++ b/data/mat.ui
@@ -315,6 +315,111 @@
315 </object> 315 </object>
316 </child> 316 </child>
317 </object> 317 </object>
318 <object class="GtkListStore" id="MetadataPopupListStore">
319 <columns>
320 <!-- column-name Name -->
321 <column type="gchararray"/>
322 <!-- column-name Content -->
323 <column type="gchararray"/>
324 </columns>
325 </object>
326 <object class="GtkDialog" id="MetadataPopup">
327 <property name="can_focus">False</property>
328 <property name="border_width">5</property>
329 <property name="title" translatable="yes">Metadatas</property>
330 <property name="default_width">520</property>
331 <property name="default_height">260</property>
332 <property name="destroy_with_parent">True</property>
333 <property name="type_hint">dialog</property>
334 <property name="skip_taskbar_hint">True</property>
335 <property name="skip_pager_hint">True</property>
336 <property name="deletable">False</property>
337 <child internal-child="vbox">
338 <object class="GtkBox" id="dialog-vbox2">
339 <property name="can_focus">False</property>
340 <property name="vexpand">True</property>
341 <property name="orientation">vertical</property>
342 <property name="spacing">2</property>
343 <child internal-child="action_area">
344 <object class="GtkButtonBox" id="metadata_buttons">
345 <property name="can_focus">False</property>
346 <property name="layout_style">end</property>
347 <child>
348 <object class="GtkButton" id="metadata_ok_button">
349 <property name="label">gtk-ok</property>
350 <property name="visible">True</property>
351 <property name="can_focus">False</property>
352 <property name="receives_default">True</property>
353 <property name="use_stock">True</property>
354 </object>
355 <packing>
356 <property name="expand">False</property>
357 <property name="fill">True</property>
358 <property name="position">0</property>
359 </packing>
360 </child>
361 </object>
362 <packing>
363 <property name="expand">False</property>
364 <property name="fill">True</property>
365 <property name="pack_type">end</property>
366 <property name="position">0</property>
367 </packing>
368 </child>
369 <child>
370 <object class="GtkTreeView" id="MetadataPopupTreeView">
371 <property name="visible">True</property>
372 <property name="can_focus">False</property>
373 <property name="hexpand">True</property>
374 <property name="vexpand">True</property>
375 <property name="model">MetadataPopupListStore</property>
376 <property name="rules_hint">True</property>
377 <property name="search_column">0</property>
378 <property name="fixed_height_mode">True</property>
379 <child internal-child="selection">
380 <object class="GtkTreeSelection" id="treeview-selection2"/>
381 </child>
382 <child>
383 <object class="GtkTreeViewColumn" id="Name">
384 <property name="sizing">fixed</property>
385 <property name="title" translatable="yes">Name</property>
386 <property name="expand">True</property>
387 <property name="sort_column_id">0</property>
388 <child>
389 <object class="GtkCellRendererText" id="cellrenderertext1"/>
390 <attributes>
391 <attribute name="text">0</attribute>
392 </attributes>
393 </child>
394 </object>
395 </child>
396 <child>
397 <object class="GtkTreeViewColumn" id="Content">
398 <property name="sizing">fixed</property>
399 <property name="title" translatable="yes">Content</property>
400 <property name="expand">True</property>
401 <property name="sort_column_id">1</property>
402 <child>
403 <object class="GtkCellRendererText" id="cellrenderertext2"/>
404 <attributes>
405 <attribute name="text">1</attribute>
406 </attributes>
407 </child>
408 </object>
409 </child>
410 </object>
411 <packing>
412 <property name="expand">False</property>
413 <property name="fill">True</property>
414 <property name="position">2</property>
415 </packing>
416 </child>
417 </object>
418 </child>
419 <action-widgets>
420 <action-widget response="0">metadata_ok_button</action-widget>
421 </action-widgets>
422 </object>
318 <object class="GtkDialog" id="SupportedWindow"> 423 <object class="GtkDialog" id="SupportedWindow">
319 <property name="can_focus">False</property> 424 <property name="can_focus">False</property>
320 <property name="title" translatable="yes">Supported formats</property> 425 <property name="title" translatable="yes">Supported formats</property>
diff --git a/mat-gui b/mat-gui
index 63aa735..aefe72a 100755
--- a/mat-gui
+++ b/mat-gui
@@ -153,36 +153,22 @@ class GUI(object):
153 Popup that display on double-clic 153 Popup that display on double-clic
154 metadata from a file 154 metadata from a file
155 ''' 155 '''
156 label = _('<b>%s</b>\'s metadatas:\n') % self.liststore[row][1] 156 MetadataPopupListStore = self.builder.get_object('MetadataPopupListStore')
157 meta = '' 157 MetadataPopupListStore.clear()
158 if self.liststore[row][0].file.is_clean(): 158 if self.liststore[row][0].file.is_clean():
159 meta = _('No metadata found') 159 MetadataPopupListStore.append([_('No metadata found'), ''])
160 self.liststore[row][2] = _('Clean') 160 self.liststore[row][2] = _('Clean')
161 else: 161 else:
162 self.liststore[row][2] = _('Dirty') 162 self.liststore[row][2] = _('Dirty')
163 iterator = self.liststore[row][0].file.get_meta().iteritems() 163 for i, j in self.liststore[row][0].file.get_meta().iteritems():
164 for i, j in iterator: 164 MetadataPopupListStore.append([i, j])
165 name = '-<b>' + str(i) + '</b>: '
166 meta += (name + str(j) + '\n')
167 165
168 w = Gtk.MessageDialog(self.window, 166 popup_metadata = self.builder.get_object('MetadataPopup')
169 Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, 167 popup_metadata.set_title(_("%s's metadata") % self.liststore[row][0].file.basename)
170 Gtk.MessageType.INFO, Gtk.ButtonsType.CLOSE, label) 168 popup_metadata.show_all()
171 w.set_resizable(True) 169 click = popup_metadata.run()
172 w.set_size_request(400, 300) 170 if not click: # Close
173 scrolled_window = Gtk.ScrolledWindow() 171 popup_metadata.hide()
174 scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
175 w.vbox.pack_start(scrolled_window, True, True, 0)
176 content = Gtk.Label(label=meta)
177 content.set_selectable(True)
178 content.set_alignment(0, 0)
179 content.set_use_markup(True)
180 scrolled_window.add_with_viewport(content)
181 w.set_markup(label)
182 w.show_all()
183 click = w.run()
184 if click:
185 w.destroy()
186 172
187 def cb_about_popup(self, button): 173 def cb_about_popup(self, button):
188 ''' About popup ''' 174 ''' About popup '''