Пример #1
0
	def __init__(self, parent=None):
		super(Launchbox, self).__init__(parent)

		self.__server = LauchServer()

		self.setSizePolicy(
			QtGui.QSizePolicy.Preferred,
			QtGui.QSizePolicy.Minimum )
		self.progressWidgets = {}
		self.progressContainer = QtGui.QWidget()

		self.progressLayout = QtGui.QVBoxLayout()
		self.progressLayout.setMargin(0)
		self.progressContainer.setLayout(self.progressLayout)

		self.mainLayout = QtGui.QVBoxLayout()
		self.mainLayout.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
		enum = Connector().enum()
		for store in enum.allStores():
			if not enum.isSystem(store):
				self.mainLayout.addWidget(StoreWidget(store))

		syncButton = QtGui.QPushButton("Synchronization")
		syncButton.clicked.connect(lambda: SyncEditor().exec_())
		setupLayout = QtGui.QHBoxLayout()
		setupLayout.addWidget(syncButton)
		setupLayout.addStretch()
		hLine = QtGui.QFrame()
		hLine.setFrameStyle(QtGui.QFrame.HLine | QtGui.QFrame.Raised)
		self.mainLayout.addWidget(hLine)
		self.mainLayout.addLayout(setupLayout)

		hLine = QtGui.QFrame()
		hLine.setFrameStyle(QtGui.QFrame.HLine | QtGui.QFrame.Raised)
		self.mainLayout.addWidget(hLine)
		self.mainLayout.addWidget(self.progressContainer)
		self.mainLayout.addStretch()

		self.setLayout(self.mainLayout)
		self.setWindowTitle("Hotchpotch launch box")
		self.setWindowIcon(QtGui.QIcon("icons/launch.png"))
		self.setWindowFlags(QtCore.Qt.Window
			| QtCore.Qt.WindowCloseButtonHint
			| QtCore.Qt.WindowMinimizeButtonHint)

		Connector().regProgressHandler(start=self.progressStart,
			stop=self.progressStop)
Пример #2
0
	def __init__(self, parent=None):
		super(SyncEditor, self).__init__(parent)
		self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

		self.__changed = False
		self.__buttons = []
		self.__rules = SyncRules()
		enum = Connector().enum()
		stores = zip(itertools.count(1), [enum.doc(s) for s in enum.allStores()
			if not enum.isSystem(s) and enum.isMounted(s)])

		mainLayout = QtGui.QVBoxLayout()

		layout = QtGui.QGridLayout()
		layout.addWidget(QtGui.QLabel("From \\ To"), 0, 0)
		for (pos, store) in stores:
			button = DocButton(store, True)
			self.__buttons.append(button)
			layout.addWidget(button, 0, pos)
			button = DocButton(store, True)
			self.__buttons.append(button)
			layout.addWidget(button, pos, 0)
		for (row, store) in stores:
			for (col, peer) in stores:
				if store==peer:
					continue
				box = QtGui.QComboBox()
				box.addItems([SyncEditor.MAP[m] for m in SyncEditor.MODES])
				box.setCurrentIndex(SyncEditor.MODES.index(self.__rules.mode(store, peer)))
				box.currentIndexChanged.connect(
					lambda i, store=store, peer=peer: self.__setRule(store, peer, i))
				layout.addWidget(box, row, col)

		mainLayout.addLayout(layout)

		buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok
			| QtGui.QDialogButtonBox.Cancel);
		buttonBox.accepted.connect(self.accept)
		buttonBox.rejected.connect(self.reject)
		mainLayout.addWidget(buttonBox)

		self.setLayout(mainLayout)
		self.setWindowTitle("Synchronization rules")