Ejemplo n.º 1
0
    def link_panel_unchecked(self, panelwrapper):
        dirtabwidget = panelwrapper.widget

        if dirtabwidget.buddy:
            buddy = dirtabwidget.buddy

            qpath(buddy, '^[PanelWrapper]').action_link_panel.setChecked(False)
            panelwrapper.action_link_panel.setChecked(False)

            dirtabwidget.unlink(dirtabwidget.buddy)

        if len(self.links) < 2 and panelwrapper.widget in self.panel_links:
            self.panel_links.remove(panelwrapper.widget)
Ejemplo n.º 2
0
    def unserialize(self, data):
        #print "UNSERIALIZE", self, data
        ids = {}
        sizes, widget_data = data

        for dirtabdata in widget_data:
            dirtabwidget = self.new_panel()
            dirtabwidget.unserialize(dirtabdata)

            widget_id = dirtabdata.my_id
            buddy_id = dirtabdata.buddy_id
            filewidget_index = dirtabdata.filewidget_index

            ids[widget_id] = (dirtabwidget, buddy_id, filewidget_index)

        # All widgets are created at this point, now link buddies
        for widget_id, (widget, buddy_id, filewidget_index) in ids.iteritems():
            if filewidget_index is not None:
                buddy = ids[buddy_id][0]

                for dirtab in widget, buddy:
                    panelwrapper = qpath(dirtab, '^[PanelWrapper]')
                    panelwrapper.action_link_panel.setChecked(True)

                filewidget = widget.widget(filewidget_index)
                widget.link(buddy, filewidget)

        self.splitter.setSizes(sizes)
Ejemplo n.º 3
0
    def _focus_changed(self, old, new):
        if new is None:
            return

        if isinstance(new, DirTabWidget):
            dirtabwidget = new
        else:
            try:
                dirtabwidget = qpath(new, "^[DirTabWidget]")
            except ObjectNotFound:
                if new.parent() and \
                   new.parent().property('is_panel_wrapper').isValid():
                    print "parent.is_panel_wrapper"
                    dirtabwidget = new.widget
                elif new.property('is_panel_wrapper').toBool():
                    dirtabwidget = new.widget
                else:
                    return

        self._set_active_dirtab(dirtabwidget)