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)