Example #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")
Example #2
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
Example #3
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
Example #4
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')