def __init__(self, parent=None): Gtk.Dialog.__init__(self, title=_("Recordings"), parent=parent) self.set_modal(True) self.set_destroy_with_parent(True) self.set_default_size(600, 400) self.set_border_width(5) close_button = self.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE) close_button.grab_default() hbox_main = Gtk.Box(spacing=12) hbox_main.set_border_width(5) hbox_main.show() self.get_content_area().pack_start(hbox_main, True, True, 0) self._model = RecordingsStore() self._model.set_sort_func(RecordingsStore.COL_START, self._datetime_sort_func) self._view = RecordingsView(self._model) self._view.connect("button-press-event", self._on_recording_selected) self._view.set_property("rules-hint", True) self._view.show() treeselection = self._view.get_selection() treeselection.connect("changed", self._on_selection_changed) scrolledwindow = Gtk.ScrolledWindow() scrolledwindow.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) scrolledwindow.set_shadow_type(Gtk.ShadowType.IN) scrolledwindow.add(self._view) scrolledwindow.show() hbox_main.pack_start(scrolledwindow, True, True, 0) buttonbox = Gtk.ButtonBox(orientation=Gtk.Orientation.VERTICAL) buttonbox.set_spacing(6) buttonbox.set_layout(Gtk.ButtonBoxStyle.START) buttonbox.show() hbox_main.pack_start(buttonbox, False, True, 0) self.details_button = Gtk.Button(stock=Gtk.STOCK_INFO) self.details_button.connect("clicked", self._on_details_clicked) self.details_button.set_sensitive(False) self.details_button.show() buttonbox.pack_start(self.details_button, True, True, 0) self.delete_button = Gtk.Button(stock=Gtk.STOCK_DELETE) self.delete_button.connect("clicked", self._on_delete_clicked) self.delete_button.set_sensitive(False) self.delete_button.show() buttonbox.pack_start(self.delete_button, True, True, 0)