Esempio n. 1
0
    def __init__(self, callable: Callable, session: ApplicationSession, *args,
                 **kwargs):
        super(LinkCreateBulkDialog, self).__init__(*args, **kwargs)

        self.setWindowTitle("New Link Bulk")

        QBtn = QDialogButtonBox.Ok | QDialogButtonBox.Cancel
        self.buttonBox = QDialogButtonBox(QBtn)
        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.rejected.connect(self.reject)

        self.layout = QVBoxLayout()

        self.session = session
        self.name_callable = callable

        self.available_sources = session.link_src_list
        self.available_sources_map = {
            i.list_name: i.id
            for i in self.available_sources.values()
        }

        self.available_targets = session.link_sink_list
        self.available_targets_map = {
            i.list_name: i.id
            for i in self.available_targets.values()
        }

        self.box_src = GenericComboBoxForm(
            "Source", [i.list_name for i in self.available_sources.values()])
        self.layout.addWidget(self.box_src)

        # when zones are implemented, groupbox per zone
        self.target_list = QVBoxLayout()
        self.groupbox = QGroupBox("Target List")
        self.groupbox.setCheckable(True)
        self.groupbox.setLayout(self.target_list)
        self.groupbox.toggled.connect(self.on_groupbox_toggle)

        for i in self.available_targets.values():
            checkbox = QCheckBox(i.name)
            checkbox.item = i
            self.target_list.addWidget(checkbox)
        self.layout.addWidget(self.groupbox)
        self.name_box = GenericTextEntryWithButton("Name",
                                                   QIcon("imgs/refresh.png"),
                                                   "Generate", callable)
        self.layout.addWidget(self.name_box)
        self.layout.addWidget(self.buttonBox)
        self.setLayout(self.layout)
    def newInstallerBox(self, item, order):

        hbox = QHBoxLayout()
        hbox.setContentsMargins(0, 0, 0, 0)
        hbox.setSpacing(0)

        checkbox = QCheckBox()
        checkbox.setTristate(False)
        checkbox.stateChanged.connect(self.changeState)

        if item["installed"]:
            checkbox.setEnabled(False)

        checkbox.setStyleSheet("padding:10px;height: 80px")
        checkbox.item = order
        checkbox.cmd = item["cmd"]
        checkbox.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        hbox.addWidget(checkbox)

        icon = QLabel()
        #pixmap=QtGui.QPixmap(item["banner"]).scaled(70,70)
        pixmap = QPixmap(item["banner"])
        icon.setPixmap(pixmap)
        icon.setAlignment(Qt.AlignCenter | Qt.AlignVCenter)
        #icon.setStyleSheet("background-color: white")
        icon.setMinimumSize(70, 100)
        icon.setMaximumSize(70, 100)
        icon.item = order
        hbox.addWidget(icon)

        name = QLabel()
        name.setText(item["name"])
        name.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)
        if self.count < self.total_javas:
            name.setStyleSheet(
                "font:10pt;padding:15px;border:3px solid silver;border-top:0px;border-right:0px;border-left:0px;margin-top:0px;"
            )
        else:
            name.setStyleSheet("font:10pt;padding:15px")

        name.item = order
        hbox.addWidget(name, -1)

        status = QLabel()
        if item["installed"]:
            pixmap = QPixmap(self.core.rsrc_dir + "check.png")
        else:

            pixmap = QPixmap(self.core.rsrc_dir + "initial.png")

        status.setPixmap(pixmap)
        status.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)
        status.setMinimumSize(35, 100)
        status.setMaximumSize(35, 100)
        status.item = order
        hbox.addWidget(status)

        waiting = waitingSpinner.waitingSpinner()
        spinner_gif = self.core.rsrc_dir + "loading.gif"
        waiting.setGif(spinner_gif, "java")
        #waiting.setStyleSheet("background-color: white")
        waiting.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)
        waiting.setMinimumSize(35, 100)
        waiting.setMaximumSize(35, 100)
        waiting.item = order
        waiting.hide()
        hbox.addWidget(waiting)
        #waiting.start()

        self.boxInstallers.addLayout(hbox)