Example #1
0
    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)