Esempio n. 1
0
 def __showAddToMenu(self):
     """ 显示添加到菜单 """
     # 初始化菜单动作触发标志
     self.__actionTriggeredFlag = False
     addToMenu = AddToMenu(parent=self)
     # 计算菜单弹出位置
     addToGlobalPos = self.selectionModeBar.mapToGlobal(QPoint(
         0, 0)) + QPoint(self.selectionModeBar.addToButton.x(), 0)
     x = addToGlobalPos.x() + self.selectionModeBar.addToButton.width() + 5
     y = addToGlobalPos.y() + int(
         self.selectionModeBar.addToButton.height() / 2 -
         (13 + 38 * addToMenu.actionCount()) / 2)
     # 获取选中的歌曲信息列表
     songInfo_list = [
         songCard.songInfo
         for songCard in self.songListWidget.checkedSongCard_list
     ]
     addToMenu.playingAct.triggered.connect(
         lambda: self.addSongsToPlayingPlaylistSig.emit(songInfo_list))
     addToMenu.addSongsToPlaylistSig.connect(
         lambda name: self.addSongsToCustomPlaylistSig.emit(
             name, songInfo_list))
     addToMenu.newPlayList.triggered.connect(
         lambda: self.addSongsToNewCustomPlaylistSig.emit(songInfo_list))
     for act in addToMenu.action_list:
         act.triggered.connect(self.__addToMenuTriggeredSlot)
     addToMenu.exec(QPoint(x, y))
     # 如果动作有被触发就退出选择模式
     if self.__actionTriggeredFlag:
         self.__unCheckSongCards()
Esempio n. 2
0
 def __showAddToMenu(self):
     """ 显示添加到菜单 """
     addToMenu = AddToMenu(parent=self)
     addToGlobalPos = self.mapToGlobal(self.addToBt.pos())
     x = addToGlobalPos.x() + self.addToBt.width() + 5
     y = addToGlobalPos.y() + int(self.addToBt.height() / 2 -
                                  (13 + 38 * addToMenu.actionCount()) / 2)
     addToMenu.playingAct.triggered.connect(self.addToPlayingPlaylistSig)
     addToMenu.addSongsToPlaylistSig.connect(self.addToCustomPlaylistSig)
     addToMenu.newPlayList.triggered.connect(self.addToNewCustomPlaylistSig)
     addToMenu.exec(QPoint(x, y))
Esempio n. 3
0
 def __showAddToMenu(self):
     """ 显示添加到菜单 """
     addToMenu = AddToMenu(parent=self)
     addToGlobalPos = self.mapToGlobal(QPoint(0, 0)) + QPoint(
         self.addToButton.x() + self.buttonGroup.x(), 0)
     x = addToGlobalPos.x() + self.addToButton.width() + 5
     y = addToGlobalPos.y() + int(self.addToButton.height() / 2 -
                                  (13 + 38 * addToMenu.actionCount()) / 2)
     addToMenu.playingAct.triggered.connect(
         lambda: self.addSongToPlayingSig.emit(self.songInfo))
     addToMenu.addSongsToPlaylistSig.connect(
         lambda name: self.addSongsToCustomPlaylistSig.emit(
             name, [self.songInfo]))
     addToMenu.exec(QPoint(x, y))
Esempio n. 4
0
    def __createActions(self):
        """ 创建动作 """
        # 创建动作
        self.playAct = QAction("播放", self)
        self.selectAct = QAction("选择", self)
        self.nextToPlayAct = QAction("下一首播放", self)
        self.pinToStartMenuAct = QAction('固定到"开始"菜单', self)
        self.deleteAct = QAction("删除", self)
        self.editInfoAct = QAction("编辑信息", self)
        self.showSongerAct = QAction("显示歌手", self)
        self.addToMenu = AddToMenu("添加到", self)

        # 添加动作到菜单
        self.addActions([self.playAct, self.nextToPlayAct])
        # 将子菜单添加到主菜单
        self.addMenu(self.addToMenu)
        self.addActions(
            [
                self.showSongerAct,
                self.pinToStartMenuAct,
                self.editInfoAct,
                self.deleteAct,
            ]
        )
        self.addSeparator()
        self.addAction(self.selectAct)
Esempio n. 5
0
 def __showAddToMenu(self):
     """ 显示添加到菜单 """
     # 动作触发标志位
     self.__actionTriggeredFlag = False
     addToMenu = AddToMenu(parent=self)
     addToButton = self.sender()
     # 获取选中的播放列表
     songInfo_list = []
     if self.sender() is self.songTabSelectionModeBar.addToButton:
         selectionModeBar = self.songTabSelectionModeBar
         songInfo_list = [
             songCard.songInfo
             for songCard in self.songCardListWidget.checkedSongCard_list
         ]
     else:
         selectionModeBar = self.albumTabSelectionModeBar
         for albumCard in self.albumCardViewer.checkedAlbumCard_list:
             songInfo_list.extend(albumCard.songInfo_list)
     # 计算菜单弹出位置
     addToGlobalPos = selectionModeBar.mapToGlobal(QPoint(0, 0)) + QPoint(
         addToButton.x(), addToButton.y()
     )
     x = addToGlobalPos.x() + addToButton.width() + 5
     y = addToGlobalPos.y() + int(
         addToButton.height() / 2 - (13 + 38 * addToMenu.actionCount()) / 2
     )
     # 信号连接到槽
     addToMenu.playingAct.triggered.connect(
         lambda: self.addSongsToPlayingPlaylistSig.emit(songInfo_list)
     )
     addToMenu.newPlayList.triggered.connect(
         lambda: self.addSongsToNewCustomPlaylistSig.emit(songInfo_list)
     )
     addToMenu.addSongsToPlaylistSig.connect(
         lambda name: self.addSongsToCustomPlaylistSig.emit(name, songInfo_list)
     )
     for act in addToMenu.action_list:
         act.triggered.connect(self.__addToMenuTriggeredSlot)
     addToMenu.exec(QPoint(x, y))
     # 退出选择状态
     if self.__actionTriggeredFlag:
         self.exitSelectionMode()
Esempio n. 6
0
 def createActions(self):
     """ 创建动作 """
     # 创建主菜单动作
     self.playAct = QAction("播放", self)
     self.nextSongAct = QAction("下一首播放", self)
     self.editInfoAct = QAction("编辑信息", self)
     self.showPropertyAct = QAction("属性", self)
     self.deleteAct = QAction("删除", self)
     self.selectAct = QAction("选择", self)
     # 创建菜单和子菜单
     self.addToMenu = AddToMenu("添加到", self)
     # 将动作添加到菜单中
     self.addActions([self.playAct, self.nextSongAct])
     # 将子菜单添加到主菜单
     self.addMenu(self.addToMenu)
     # 将其余动作添加到主菜单
     self.addActions([self.editInfoAct, self.showPropertyAct, self.deleteAct])
     self.addSeparator()
     self.addAction(self.selectAct)
Esempio n. 7
0
    def __createActions(self):
        """ 创建动作 """
        # 创建动作
        self.playAct = QAction("播放", self)
        self.nextToPlayAct = QAction("下一首播放", self)
        self.addToMenu = AddToMenu("添加到", self)
        self.renameAct = QAction("重命名", self)
        self.pinToStartMenuAct = QAction('固定到"开始"菜单', self)
        self.deleteAct = QAction("删除", self)
        self.selectAct = QAction("选择", self)

        # 添加动作到菜单
        self.addActions([self.playAct, self.nextToPlayAct])
        # 将子菜单添加到主菜单
        self.addMenu(self.addToMenu)
        self.addActions(
            [self.renameAct, self.pinToStartMenuAct, self.deleteAct])
        self.addSeparator()
        self.addAction(self.selectAct)