2015-06-09 22:32:43 +12:00
|
|
|
#!/usr/bin/env python
|
2016-02-07 00:34:22 +13:00
|
|
|
# --!-- coding: utf8 --!--
|
|
|
|
from PyQt5.QtWidgets import QListView
|
|
|
|
|
|
|
|
from manuskript import settings
|
2016-03-25 02:17:26 +13:00
|
|
|
from manuskript.functions import findBackground
|
2016-02-07 00:34:22 +13:00
|
|
|
from manuskript.ui.views.corkDelegate import corkDelegate
|
|
|
|
from manuskript.ui.views.dndView import dndView
|
|
|
|
from manuskript.ui.views.outlineBasics import outlineBasics
|
|
|
|
|
2015-06-09 22:32:43 +12:00
|
|
|
|
2015-06-10 01:52:20 +12:00
|
|
|
class corkView(QListView, dndView, outlineBasics):
|
2015-06-09 22:32:43 +12:00
|
|
|
def __init__(self, parent=None):
|
|
|
|
QListView.__init__(self, parent)
|
|
|
|
dndView.__init__(self, parent)
|
2015-06-10 01:52:20 +12:00
|
|
|
outlineBasics.__init__(self, parent)
|
2016-02-07 00:34:22 +13:00
|
|
|
|
2015-06-09 22:32:43 +12:00
|
|
|
self.setResizeMode(QListView.Adjust)
|
|
|
|
self.setWrapping(True)
|
|
|
|
self.setItemDelegate(corkDelegate())
|
|
|
|
self.setSpacing(5)
|
|
|
|
self.setVerticalScrollMode(self.ScrollPerPixel)
|
|
|
|
self.setFlow(self.LeftToRight)
|
|
|
|
self.setSelectionBehavior(self.SelectRows)
|
2015-06-18 06:45:24 +12:00
|
|
|
self.updateBackground()
|
2016-02-07 00:34:22 +13:00
|
|
|
|
2015-06-18 06:45:24 +12:00
|
|
|
def updateBackground(self):
|
2017-06-11 06:53:55 +12:00
|
|
|
if settings.corkBackground["image"] != "":
|
|
|
|
img = findBackground(settings.corkBackground["image"])
|
2021-04-05 05:48:54 +12:00
|
|
|
if img == None:
|
|
|
|
img = ""
|
2017-06-11 06:53:55 +12:00
|
|
|
else:
|
|
|
|
# No background image
|
|
|
|
img = ""
|
2015-06-18 06:45:24 +12:00
|
|
|
self.setStyleSheet("""QListView {{
|
|
|
|
background:{color};
|
|
|
|
background-image: url({url});
|
2016-04-11 03:29:27 +12:00
|
|
|
background-attachment: fixed;
|
2015-06-18 06:45:24 +12:00
|
|
|
}}""".format(
|
|
|
|
color=settings.corkBackground["color"],
|
2019-02-22 13:53:37 +13:00
|
|
|
url=img.replace("\\", "/")
|
2016-02-07 00:34:22 +13:00
|
|
|
))
|
|
|
|
|
2015-06-09 22:32:43 +12:00
|
|
|
def dragMoveEvent(self, event):
|
|
|
|
dndView.dragMoveEvent(self, event)
|
2015-06-10 01:52:20 +12:00
|
|
|
QListView.dragMoveEvent(self, event)
|
2016-02-07 00:34:22 +13:00
|
|
|
|
2015-06-10 01:52:20 +12:00
|
|
|
def mouseReleaseEvent(self, event):
|
|
|
|
QListView.mouseReleaseEvent(self, event)
|
2016-02-07 00:34:22 +13:00
|
|
|
outlineBasics.mouseReleaseEvent(self, event)
|
2017-10-15 04:39:46 +13:00
|
|
|
|
|
|
|
def mouseDoubleClickEvent(self, event):
|
|
|
|
if self.selectedIndexes() == []:
|
|
|
|
idx = self.rootIndex()
|
|
|
|
parent = idx.parent()
|
|
|
|
|
|
|
|
from manuskript.functions import MW
|
2017-10-15 08:39:16 +13:00
|
|
|
MW.openIndex(parent)
|
2017-10-15 04:39:46 +13:00
|
|
|
#self.setRootIndex(parent)
|
|
|
|
else:
|
|
|
|
r = QListView.mouseDoubleClickEvent(self, event)
|