예제 #1
0
    def load_user_infos(cls, data):
        avatar_url = data["avatar"]
        request = QNetworkRequest(QUrl(avatar_url))
        cls.controller.network_manager.get(request)
        cls.controller.network_manager.network_queue.put(ViewOp.set_login_label_avatar)

        ViewOp.ui.MY_LIST_WIDGET.empty_layout()
        ViewOp.ui.COLLECTION_LIST_WIDGET.empty_layout()

        playlists = cls.controller.api.get_user_playlist()
        if not cls.controller.api.is_response_ok(playlists):
            return

        playlist_num = len(playlists)

        for playlist in playlists:
            pid = playlist["id"]

            w = PlaylistItem()
            w.set_playlist_item(playlist)
            w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked)

            if cls.controller.api.is_playlist_mine(playlist):
                ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w)
                if pid == cls.controller.api.favorite_pid:
                    favorite_playlist_detail = cls.controller.api.get_playlist_detail(pid)
                    cls.controller.state["current_pid"] = pid
                    ViewOp.ui.WEBVIEW.load_playlist(favorite_playlist_detail)
                else:
                    if playlist_num <= 50:
                        app_event_loop = asyncio.get_event_loop()
                        app_event_loop.call_soon(cls.controller.api.get_playlist_detail, pid)
            else:
                ViewOp.ui.COLLECTION_LIST_WIDGET.layout().addWidget(w)
        LOG.info("load user infos finished")
예제 #2
0
 def change_to_simi(self):
     PlaylistItem.de_active_all()
     if self.current_mode == 1:
         FmMode.exit_()
     elif self.current_mode == 2:
         ControllerApi.notify_widget.show_message("提示", "你正处于单曲电台模式")
         return
     self.current_mode = 2
     ControllerApi.player.change_player_mode_to_other()
     SimiSongsMode.load_()
예제 #3
0
 def change_to_simi(self):
     PlaylistItem.de_active_all()
     if self.current_mode == 1:
         FmMode.exit_()
     elif self.current_mode == 2:
         ControllerApi.notify_widget.show_message("提示", "你正处于单曲电台模式")
         return
     self.current_mode = 2
     ControllerApi.player.change_player_mode_to_other()
     SimiSongsMode.load_()
예제 #4
0
 def new_playlist(cls):
     playlist = cls.controller.api.new_playlist("default")
     if playlist is None:
         cls.controller.notify_widget.show_message("◕◠◔", "新建歌单失败")
         return False
     w = PlaylistItem()
     w.set_playlist_item(playlist)
     w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked)
     ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w)
     w.edit_mode()
     return True
예제 #5
0
 def _search_music(self):
     text = ViewOp.ui.SEARCH_BOX.text()
     if text != '':
         ViewOp.ui.STATUS_BAR.showMessage(u'正在搜索: ' + text)
         songs = ControllerApi.api.search(text)
         if not ControllerApi.api.is_response_ok(songs):
             return
         PlaylistItem.de_active_all()
         ViewOp.ui.WEBVIEW.load_brief_songs(songs)
         ControllerApi.state['current_pid'] = 0
         length = len(songs)
         if length != 0:
             ViewOp.ui.STATUS_BAR.showMessage(
                 u'搜索到 %s 首 %s 相关歌曲' % (str(length), text), 5000)
             return
         ViewOp.ui.STATUS_BAR.showMessage(u'Oops,没有找到相关歌曲', 5000)
         return
예제 #6
0
파일: glue.py 프로젝트: 1635594911/FeelUOwn
 def _search_music(self):
     text = ViewOp.ui.SEARCH_BOX.text()
     if text != '':
         ViewOp.ui.STATUS_BAR.showMessage(u'正在搜索: ' + text)
         songs = ControllerApi.api.search(text)
         if not ControllerApi.api.is_response_ok(songs):
             return
         PlaylistItem.de_active_all()
         ViewOp.ui.WEBVIEW.load_brief_songs(songs)
         ControllerApi.state['current_pid'] = 0
         length = len(songs)
         if length != 0:
             ViewOp.ui.STATUS_BAR.showMessage(
                 u'搜索到 %s 首 %s 相关歌曲' % (str(length), text), 5000)
             return
         ViewOp.ui.STATUS_BAR.showMessage(u'Oops,没有找到相关歌曲', 5000)
         return
예제 #7
0
    def load_user_infos(cls, data):
        avatar_url = data['avatar']
        request = QNetworkRequest(QUrl(avatar_url))
        cls.controller.network_manager.get(request)
        cls.controller.network_manager.network_queue.put(
            ViewOp.set_login_label_avatar)

        ViewOp.ui.MY_LIST_WIDGET.empty_layout()
        ViewOp.ui.COLLECTION_LIST_WIDGET.empty_layout()

        playlists = cls.controller.api.get_user_playlist()
        if not cls.controller.api.is_response_ok(playlists):
            return

        playlist_num = len(playlists)

        for playlist in playlists:
            pid = playlist['id']

            w = PlaylistItem()
            w.set_playlist_item(playlist)
            w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked)

            if cls.controller.api.is_playlist_mine(playlist):
                ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w)
                if pid == cls.controller.api.favorite_pid:
                    favorite_playlist_detail = cls.controller.api.get_playlist_detail(
                        pid)
                    cls.controller.state["current_pid"] = pid
                    ViewOp.ui.WEBVIEW.load_playlist(favorite_playlist_detail)
                else:
                    if playlist_num <= 50:
                        app_event_loop = asyncio.get_event_loop()
                        app_event_loop.call_soon(
                            cls.controller.api.get_playlist_detail, pid)
            else:
                ViewOp.ui.COLLECTION_LIST_WIDGET.layout().addWidget(w)
        LOG.info('load user infos finished')
예제 #8
0
 def new_playlist(cls):
     playlist = cls.controller.api.new_playlist('default')
     if playlist is None:
         cls.controller.notify_widget.show_message('◕◠◔', '新建歌单失败')
         return False
     w = PlaylistItem()
     w.set_playlist_item(playlist)
     w.signal_text_btn_clicked.connect(cls.on_playlist_btn_clicked)
     ViewOp.ui.MY_LIST_WIDGET.layout().addWidget(w)
     w.edit_mode()
     return True