manuskript/manuskript/ui/views/corkView.py

60 lines
2 KiB
Python
Raw Normal View History

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
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
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)
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):
if settings.corkBackground["image"] != "":
img = findBackground(settings.corkBackground["image"])
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"],
url=img
2016-02-07 00:34:22 +13:00
))
2015-06-09 22:32:43 +12:00
def dragMoveEvent(self, event):
dndView.dragMoveEvent(self, event)
QListView.dragMoveEvent(self, event)
2016-02-07 00:34:22 +13:00
def mouseReleaseEvent(self, event):
QListView.mouseReleaseEvent(self, event)
2016-02-07 00:34:22 +13:00
outlineBasics.mouseReleaseEvent(self, event)
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)
#self.setRootIndex(parent)
else:
r = QListView.mouseDoubleClickEvent(self, event)