def __init__(self, parent=None, server=None):
super().__init__(parent)
self._model = ListModel(self)
self.setModel(self._model)
self._last_count = 0
self.list_delegate = plexdesktop.delegates.ListDelegate(self)
self.tile_delegate = plexdesktop.delegates.TileDelegateUniform(self)
self.setItemDelegate(self.list_delegate)
self.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
self.setResizeMode(QtWidgets.QListView.Adjust)
self.icon_size(32)
self.setAlternatingRowColors(True)
self.setUniformItemSizes(True)
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
# self.setWrapping(True)
# self.setBatchSize(50)
# self.setLayoutMode(QtWidgets.QListView.Batched)
self.min_icon_size = self.list_delegate.title_font_metrics.height()
self.max_icon_size = 300
self.doubleClicked.connect(self.double_click)
self.container_request.connect(self.model().fetch_container)
self.customContextMenuRequested.connect(self.context_menu)
self.itemDoubleClicked.connect(self.item_double_clicked)
self.itemSelectionChanged.connect(self.selection_changed)
# Model signals
self.model().working.connect(self.working.emit)
self.model().done.connect(self.finished.emit)
self.model().done.connect(self.check_view_mode)
self.model().new_container_titles.connect(self.new_titles.emit)
self.location = plexdesktop.utils.Location.home()
self.current_server = server
self.history = [(self.current_server, self.location)]
self.history_cursor = -1
self.forced_toggle = False
评论列表
文章目录