diff options
| author | jvoisin | 2013-06-26 20:50:38 +0200 |
|---|---|---|
| committer | jvoisin | 2013-06-26 20:50:38 +0200 |
| commit | d09b04b89f791ae1f38fc3ed44c1b1af4281bbdd (patch) | |
| tree | 8d958c65b700e4544a11d2860ba1c8a6fdbb262d | |
| parent | 088eed6ebde2aa1ac8d0b01d99461825e7a41fcc (diff) | |
Refactorisation of the "metadata popup"
| -rw-r--r-- | data/mat.ui | 105 | ||||
| -rwxr-xr-x | mat-gui | 36 |
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> |
| @@ -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 ''' |
