def __init__(self):
     super().__init__()
     self._logger = logging.getLogger("pluginManagerWidget")
     self._app = App.instance()
     self._pluginService = self._app.getPluginService()
     self._plugins = self._app.getConfig().plugins
     self._table = IceTableView()
     self._model = PluginManagerModel(self._plugins, self._table)
     self._table.setModel(self._model)
     self._table.setColumnWidth(0, 200)
     self._nameLabel = HumanLabel()
     self._versionLabel = HumanLabel()
     self._idLabel = HumanLabel()
     self._statusLabel = HumanLabel()
     self._systemLabel = HumanLabel()
     formLayout = QtWidgets.QFormLayout()
     formLayout.setMargin(10)
     formLayout.addRow("ID:", self._idLabel)
     formLayout.addWidget(
         Just.of(QtWidgets.QWidget()).apply(
             lambda x: x.setFixedHeight(5)).value())
     formLayout.addRow("Name:", self._nameLabel)
     formLayout.addWidget(
         Just.of(QtWidgets.QWidget()).apply(
             lambda x: x.setFixedHeight(5)).value())
     formLayout.addRow("Version:", self._versionLabel)
     formLayout.addWidget(
         Just.of(QtWidgets.QWidget()).apply(
             lambda x: x.setFixedHeight(5)).value())
     formLayout.addRow("Status:", self._statusLabel)
     formLayout.addWidget(
         Just.of(QtWidgets.QWidget()).apply(
             lambda x: x.setFixedHeight(5)).value())
     formLayout.addRow("System:", self._systemLabel)
     widget = QtWidgets.QWidget()
     widget.setLayout(formLayout)
     self.addWidget(self._table)
     self.addWidget(widget)
     self.setHandleWidth(2)
     self.setSizes((2**16 * 2, 2**16))
     for i in range(self.count()):
         self.handle(i).setPalette(
             Just.of(QtGui.QPalette()).apply(
                 lambda x: x.setColor(QtGui.QPalette.ColorRole.Window,
                                      QtGui.QColor("#EEEEEE"))).value())
     self._table.setSelectionMode(
         QtWidgets.QAbstractItemView.SelectionMode.SingleSelection)
     self._table.setContextMenuPolicy(
         QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
     self._table.selectionModel().currentRowChanged.connect(
         self._onCurrentRowChanged)
     self._app.languageChanged.connect(self._onLanguageChanged)
     self._pluginService.pluginEnabled.connect(self._onPluginStateChanged)
     self._pluginService.pluginDisabled.connect(self._onPluginStateChanged)
     self._pluginService.pluginsInserted.connect(self._onPluginsInserted)
     self._pluginService.pluginsRemoved.connect(self._onPluginsRemoved)
     self._table.customContextMenuRequested.connect(
         self._onCustomContextMenuRequested)
     self._table.selectRow(0)
示例#2
0
 def __init__(self, config=None):
     super().__init__()
     self._widgetConfig = config or self.getWidgetConfigClass(
     ).getDefaultObject()
     self._app = App.instance()
     self._updateRate = 20
     self._refreshRate = 60
     self._sampleMillis = 33
     self._logger = logging.getLogger("spectrumWidget")
     self._logger.setLevel(logging.INFO)
     self._player = App.instance().getPlayer()
     self._thresholds = []
     self._values = []
     self._smooths = []
     self._random = random.Random()
     self._helper = FftHelper()
     self._loadConfig()
     self._updateTimer = QtCore.QTimer(self)
     self._updateTimer.timeout.connect(self._onTick)
     self._updateTimer.start(1000 // self._updateRate)
     self._repaintTimer = QtCore.QTimer(self)
     self._repaintTimer.timeout.connect(self._doSmooth)
     self._repaintTimer.timeout.connect(self.repaint)
     self._repaintTimer.start(1000 // self._refreshRate)
     self.setFont(QtGui.QFont("", 10))
     self.widgetConfigChanged.connect(self._onWidgetConfigChanged)
     self.setContextMenuPolicy(
         QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
     self.customContextMenuRequested.connect(
         self._onCustomContextMenuRequested)
     self.setPalette(
         Just.of(self.palette()).apply(
             lambda x: x.setColor(QtGui.QPalette.ColorRole.Window,
                                  QtGui.QColor("white"))).value())
示例#3
0
 def _initStatusBar(self):
     self.statusBar().setAutoFillBackground(True)
     self.statusBar().setPalette(Just.of(QtGui.QPalette()).apply(lambda x: x.setColor(QtGui.QPalette.Window,
         QtGui.QPalette().color(QtGui.QPalette.ColorRole.Window))).value())
     statusLabel = QtWidgets.QLabel("", self.statusBar())
     statusLabel.setStyleSheet("margin: 0 15px")
     self.statusBar().addPermanentWidget(statusLabel)
     self.statusBar().showMessage("Ready.")
     self.statusBar().installEventFilter(self)
     self._statusLabel = statusLabel
示例#4
0
 def _setupView(self):
     self.setWidget(QtWidgets.QWidget(self))
     layout = QtWidgets.QVBoxLayout(self.widget())
     layout.setMargin(0)
     layout.setSpacing(1)
     self.widget().setLayout(layout)
     self.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
     self.setWidgetResizable(True)
     self._layout = layout
     self.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
     self.setPalette(Just.of(self.palette()).apply(
         lambda x: x.setColor(QtGui.QPalette.ColorRole.Window, QtGui.QColor("white"))).value())
示例#5
0
 def _setupView(self):
     self.setStyleSheet("QToolButton::menu-indicator { image: none }")
     self.installEventFilter(StatusTipFilter(self))
     palette = QtGui.QPalette()
     palette.setColor(QtGui.QPalette.ColorRole.Window,
                      QtGui.QColor("#F9F9F9"))
     for menu in self._setupMenus():
         menu.setPalette(palette)
         button = QtWidgets.QToolButton()
         button.setMenu(menu)
         button.setPopupMode(
             QtWidgets.QToolButton.ToolButtonPopupMode.InstantPopup)
         button.sizeHint = SignalUtils.gcSlot(
             button,
             lambda self: Just.of(QtWidgets.QToolButton.sizeHint(self)).
             apply(lambda x: x.setWidth(round(x.width() * 0.8))).value())
         menu.mouseMoveEvent = SignalUtils.gcSlot(
             menu,
             lambda self, event, slot=self._onMouseMove: slot(self, event))
         menu.setProperty("__button", button)
         self.addWidget(button)
示例#6
0
 def _initPalette(self):
     self.setPalette(Just.of(QtGui.QPalette()).apply(
         lambda x: x.setColor(QtGui.QPalette.ColorRole.Window, QtGui.QColor("white"))).value())
示例#7
0
 def getState(self) -> PlayerState:
     return Just.of(self._proxy.state()).map(PlayerState.fromQt).value()
示例#8
0
 def createHorizontalSpacer(width):
     return Just.of(QtWidgets.QWidget()).apply(
         lambda x: x.setFixedWidth(width)).value()
示例#9
0
 def createHorizontalExpander():
     return Just.of(QtWidgets.QWidget()).apply(lambda x: x.setSizePolicy(
         QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
                                               ).value()
示例#10
0
 def createSignal(cls, *args):
     return Just.of(type("", (QtCore.QObject,), dict(signal=QtCore.Signal(*args)))()) \
         .apply(lambda x: setattr(cls, str(uuid.uuid4()), x)).value().signal
示例#11
0
 def __init__(self, config=None) -> None:
     super().__init__()
     self._widgetConfig = config or self.getWidgetConfigClass(
     ).getDefaultObject()
     self._logger = logging.getLogger("controlsWidget")
     self._config = App.instance().getConfig()
     self._app = App.instance()
     self._player = App.instance().getPlayer()
     layout = QtWidgets.QHBoxLayout(self)
     layout.setSpacing(5)
     playButton = QtWidgets.QToolButton(self)
     playButton.setIcon(qtawesome.icon("mdi.play"))
     playButton.clicked.connect(self._onPlayButtonClicked)
     stopButton = QtWidgets.QToolButton(self)
     stopButton.setIcon(qtawesome.icon("mdi.stop"))
     stopButton.clicked.connect(self._onStopButtonClicked)
     previousButton = QtWidgets.QToolButton(self)
     previousButton.setIcon(qtawesome.icon("mdi.step-backward"))
     previousButton.clicked.connect(self._onPlayPreviousButtonClicked)
     nextButton = QtWidgets.QToolButton(self)
     nextButton.setIcon(qtawesome.icon("mdi.step-forward"))
     nextButton.clicked.connect(self._onPlayNextButtonClicked)
     playbackButton = QtWidgets.QToolButton(self)
     playbackButton.setIcon(qtawesome.icon("mdi.repeat"))
     playbackButton.clicked.connect(self._onPlaybackButtonClicked)
     for button in playButton, stopButton, previousButton, nextButton, playbackButton:
         button.setAutoRaise(True)
     progressSlider = FluentSlider(QtCore.Qt.Orientation.Horizontal, self)
     progressSlider.valueChanged.connect(self._onProgressSliderValueChanged)
     progressLabel = QtWidgets.QLabel("00:00/00:00", self)
     volumeDial = QtWidgets.QDial(self)
     volumeDial.valueChanged.connect(self._onVolumeDialValueChanged)
     layout.addWidget(playButton)
     layout.addWidget(stopButton)
     layout.addWidget(previousButton)
     layout.addWidget(nextButton)
     layout.addWidget(progressSlider)
     layout.addWidget(progressLabel)
     layout.addWidget(playbackButton)
     layout.addWidget(volumeDial)
     self._playButton = playButton
     self._playbackButton = playbackButton
     self._progressSlider = progressSlider
     self._progressLabel = progressLabel
     self._volumeDial = volumeDial
     self._refreshIcons()
     self._refreshView()
     self._player.currentMusicIndexChanged.connect(
         self._onCurrentMusicIndexChanged)
     self._player.stateChanged.connect(self._onPlayerStateChanged)
     self._player.durationChanged.connect(self._onPlayerDurationChanged)
     self._player.positionChanged.connect(self._onPlayerPositionChanged)
     self._player.playbackModeChanged.connect(self._onPlaybackModeChanged)
     self._player.volumeChanged.connect(self._onPlayerVolumeChanged)
     self.widgetConfigChanged.connect(self._onWidgetConfigChanged)
     self.setContextMenuPolicy(
         QtCore.Qt.ContextMenuPolicy.CustomContextMenu)
     self.customContextMenuRequested.connect(
         self._onCustomContextMenuRequested)
     self.setPalette(
         Just.of(self.palette()).apply(
             lambda x: x.setColor(QtGui.QPalette.ColorRole.Window,
                                  QtGui.QColor("white"))).value())
示例#12
0
 def paintEvent(self, evt):
     self.style().drawPrimitive(
         QtWidgets.QStyle.PrimitiveElement.PE_Widget,
         Just.of(QtWidgets.QStyleOption()).apply(
             lambda x: x.init(self)).value(), QtGui.QPainter(self), self)