Пример #1
0
    def __init__(self, parent, embed=False):
        QtGui.QWidget.__init__(self, parent)

        if embed:
            self.setupUi(parent)
        else:
            self.setupUi(self)

        # Animation
        self.animator = QtCore.QTimeLine(ANIM_TIME, self)
        self.animationLast = ANIM_HIDE

        # Initialize heights of animated widgets
        self.slotAnimationFinished()

        # Backend
        self.iface = Interface()
        self.iface.listenSignals(self.signalHandler)
        self._refresh_items = True

        # Fail if no packages provide backend
        self.checkBackend()

        # Set options widget
        self.widgetOptions = OptionsWidget(self)
        self.verticalItemsLayout.insertWidget(-1, self.widgetOptions)

        # Build item list
        self.buildItemList()

        # Edit widget
        layout = QtGui.QVBoxLayout(self.frameWidget)
        self.widgetEdit = EditWidget(self.frameWidget)
        layout.addWidget(self.widgetEdit)

        # Build menu
        self.buildMenu()

        # Build filter
        self.buildFilter()

        # Signals
        self.connect(self.comboFilter,
                     QtCore.SIGNAL("currentIndexChanged(int)"),
                     self.slotFilterChanged)
        self.connect(self.pushNew, QtCore.SIGNAL("triggered(QAction*)"),
                     self.slotOpenEdit)
        self.connect(self.buttonBox, QtCore.SIGNAL("accepted()"),
                     self.slotSaveEdit)
        self.connect(self.buttonBox, QtCore.SIGNAL("rejected()"),
                     self.slotCancelEdit)
        self.connect(self.animator, QtCore.SIGNAL("frameChanged(int)"),
                     self.slotAnimate)
        self.connect(self.animator, QtCore.SIGNAL("finished()"),
                     self.slotAnimationFinished)