mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Tag Browser: Use correct image for drag and drop even when item is showing the plus or minus icons
This commit is contained in:
parent
d5e2b1ae4c
commit
ffc372e0c0
@ -24,6 +24,7 @@ from calibre.utils.formatter import EvalFormatter
|
||||
|
||||
TAG_SEARCH_STATES = {'clear': 0, 'mark_plus': 1, 'mark_plusplus': 2,
|
||||
'mark_minus': 3, 'mark_minusminus': 4}
|
||||
DRAG_IMAGE_ROLE = Qt.UserRole + 1000
|
||||
|
||||
_bf = None
|
||||
def bf():
|
||||
@ -116,6 +117,8 @@ class TagTreeItem(object): # {{{
|
||||
return bf()
|
||||
if role == Qt.ToolTipRole and self.tooltip is not None:
|
||||
return (self.tooltip)
|
||||
if role == DRAG_IMAGE_ROLE:
|
||||
return self.icon
|
||||
return None
|
||||
|
||||
def tag_data(self, role):
|
||||
@ -153,6 +156,8 @@ class TagTreeItem(object): # {{{
|
||||
return (self.tooltip + tag.tooltip)
|
||||
else:
|
||||
return (self.tooltip)
|
||||
if role == DRAG_IMAGE_ROLE:
|
||||
return self.icon_state_map[0]
|
||||
return None
|
||||
|
||||
def toggle(self, set_to=None):
|
||||
|
@ -18,7 +18,7 @@ from PyQt5.Qt import (QStyledItemDelegate, Qt, QTreeView, pyqtSignal, QSize,
|
||||
from calibre import sanitize_file_name_unicode
|
||||
from calibre.constants import config_dir
|
||||
from calibre.gui2.tag_browser.model import (TagTreeItem, TAG_SEARCH_STATES,
|
||||
TagsModel)
|
||||
TagsModel, DRAG_IMAGE_ROLE)
|
||||
from calibre.gui2 import config, gprefs, choose_files, pixmap_to_data
|
||||
from calibre.utils.icu import sort_key
|
||||
|
||||
@ -254,7 +254,7 @@ class TagsView(QTreeView): # {{{
|
||||
QTreeView.mouseMoveEvent(self, event)
|
||||
return
|
||||
md = self._model.mimeData([dex])
|
||||
pixmap = dex.data(Qt.DecorationRole).pixmap(25, 25)
|
||||
pixmap = dex.data(DRAG_IMAGE_ROLE).pixmap(25, 25)
|
||||
drag = QDrag(self)
|
||||
drag.setPixmap(pixmap)
|
||||
drag.setMimeData(md)
|
||||
|
Loading…
x
Reference in New Issue
Block a user