Exemplo n.º 1
0
    def __init__(self, app, root=''):
        gtk.VBox.__init__(self, False, 0)
        self.mw = app.mw
        self.app = app
        self.caption_label = TabIconCaption(gtk.STOCK_MEDIA_PLAY, self.caption)
        self.root = root

        self.current_dir = "" + config.scr_current_directory

        spacer = gtk.VBox()
        self.add(spacer)
        self.set_border_width(5)

        label = gtk.Label(self.caption.upper())
        spacer.pack_start(label, False)

        separator = gtk.HSeparator()
        spacer.pack_start(separator, False)

        nav_panel = gtk.HBox()
        nav_panel.set_border_width(3)

        self.back_but = NavigationButton(gtk.STOCK_GO_BACK, _('Go Back'))
        nav_panel.pack_start(self.back_but, False)
        self.back_but.connect('clicked', self.action_back)

        self.up_but = NavigationButton(gtk.STOCK_GO_UP, _('Go Up'))
        nav_panel.pack_start(self.up_but, False)
        self.up_but.connect('clicked', self.action_up)

        self.forward_but = NavigationButton(gtk.STOCK_GO_FORWARD,
                                            _('Go Forward'))
        nav_panel.pack_start(self.forward_but, False)
        self.forward_but.connect('clicked', self.action_forward)

        self.home_but = NavigationButton(gtk.STOCK_HOME, _('Home directory'))
        nav_panel.pack_start(self.home_but, False)
        self.home_but.connect('clicked', self.action_home)

        separator = gtk.VSeparator()
        nav_panel.pack_start(separator, False, padding=2)

        self.refr_but = NavigationButton(gtk.STOCK_REFRESH, _('Refresh'))
        nav_panel.pack_start(self.refr_but, False)
        self.refr_but.connect('clicked', self.update_view)

        separator = gtk.VSeparator()
        nav_panel.pack_start(separator, False, padding=2)

        self.find_but = NavigationToggleButton(gtk.STOCK_FIND,
                                               _('Show all files'))
        nav_panel.pack_start(self.find_but, False)
        self.find_but.connect('clicked', self.update_view)

        spacer.pack_start(nav_panel, False)

        self.listmodel = FileListModel()

        self.treeview = gtk.TreeView()

        self.column = gtk.TreeViewColumn()
        self.column.set_title(_('Log Entries'))
        render_pixbuf = gtk.CellRendererPixbuf()
        self.column.pack_start(render_pixbuf, expand=False)
        self.column.add_attribute(render_pixbuf, 'pixbuf', 0)
        render_text = gtk.CellRendererText()
        self.column.pack_start(render_text, expand=True)
        self.column.add_attribute(render_text, 'text', 1)
        self.treeview.append_column(self.column)

        self.treeview.connect('row-activated', self.open_file)

        self.scrolledwindow = gtk.ScrolledWindow()
        self.scrolledwindow.add(self.treeview)
        self.scrolledwindow.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        self.scrolledwindow.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        spacer.pack_end(self.scrolledwindow, True)

        self.treeview.set_model(self.listmodel)
        self.treeview.set_rules_hint(True)
        events.connect(events.CONFIG_MODIFIED, self.update_by_config)
        self.find_but.set_active(config.scr_show_all_files)
        self.update_view()