Reorganize resources
This commit is contained in:
1 parent
d70d61a84e
commit
3f09c5afb9
11 files changed
+5
-6
No files matched your search
Whitespace-only changes.
@@ -0,0 +1,67 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'resources/main.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.9.1
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(1064, 724)
|
||||
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
|
||||
self.tabWidget.setTabsClosable(True)
|
||||
self.tabWidget.setObjectName("tabWidget")
|
||||
self.tab = QtWidgets.QWidget()
|
||||
self.tab.setObjectName("tab")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.tab)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.listView = QtWidgets.QListView(self.tab)
|
||||
self.listView.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.listView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.listView.setProperty("showDropIndicator", False)
|
||||
self.listView.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.listView.setMovement(QtWidgets.QListView.Static)
|
||||
self.listView.setProperty("isWrapping", True)
|
||||
self.listView.setResizeMode(QtWidgets.QListView.Fixed)
|
||||
self.listView.setLayoutMode(QtWidgets.QListView.SinglePass)
|
||||
self.listView.setViewMode(QtWidgets.QListView.IconMode)
|
||||
self.listView.setUniformItemSizes(True)
|
||||
self.listView.setWordWrap(True)
|
||||
self.listView.setObjectName("listView")
|
||||
self.verticalLayout.addWidget(self.listView)
|
||||
self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1)
|
||||
self.tabWidget.addTab(self.tab, "")
|
||||
self.horizontalLayout.addWidget(self.tabWidget)
|
||||
self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.statusBar = QtWidgets.QStatusBar(MainWindow)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.statusBar.sizePolicy().hasHeightForWidth())
|
||||
self.statusBar.setSizePolicy(sizePolicy)
|
||||
self.statusBar.setMinimumSize(QtCore.QSize(0, 0))
|
||||
self.statusBar.setObjectName("statusBar")
|
||||
MainWindow.setStatusBar(self.statusBar)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Lector"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Library"))
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
# Modified from: http://drumcoder.co.uk/blog/2010/nov/16/python-code-generate-svg-pie-chart/
|
||||
|
||||
import os
|
||||
import math
|
||||
|
||||
class GeneratePie():
|
||||
def __init__(self, progress_percent, temp_dir=None):
|
||||
self.progress_percent = int(progress_percent)
|
||||
self.temp_dir = temp_dir
|
||||
|
||||
def generate(self):
|
||||
lSlices = (self.progress_percent, 100 - self.progress_percent) # percentages to show in pie
|
||||
|
||||
lOffsetX = 150
|
||||
lOffsetY = 150
|
||||
|
||||
lRadius = 100
|
||||
|
||||
def endpoint(pAngleInRadians, pRadius, pCentreOffsetX, pCentreOffsetY):
|
||||
"""
|
||||
Calculate position of point on circle given an angle, a radius,
|
||||
and the location of the center of the circle
|
||||
Zero line points west.
|
||||
"""
|
||||
lCosAngle = math.cos(pAngleInRadians)
|
||||
lSinAngle = math.sin(pAngleInRadians)
|
||||
lStartLineDestinationX = pCentreOffsetX - (lRadius * lCosAngle)
|
||||
lStartLineDestinationY = pCentreOffsetY - (lRadius * lSinAngle)
|
||||
|
||||
return (lStartLineDestinationX, lStartLineDestinationY)
|
||||
|
||||
|
||||
GRADIENTS = ('myRadialGradientGreen', 'myRadialGradientOrange',
|
||||
'myRadialGradientGreen', 'myRadialGradientOrange')
|
||||
DEGREES_IN_CIRCLE = 360.0
|
||||
lSvgPath = ""
|
||||
lCurrentAngle = 0
|
||||
lTotalSlices = 0
|
||||
lIndex = 0
|
||||
lSvgPath = ""
|
||||
for x in lSlices:
|
||||
lTotalSlices += x
|
||||
|
||||
for lSlice in lSlices:
|
||||
lLineOneX, lLineOneY = endpoint(lCurrentAngle, lRadius, lOffsetX, lOffsetY)
|
||||
lLineOne = "M%d,%d L%d,%d" % (lOffsetX, lOffsetY, lLineOneX, lLineOneY)
|
||||
|
||||
lDegrees = (DEGREES_IN_CIRCLE / lTotalSlices) * lSlice
|
||||
lRadians = math.radians(lDegrees)
|
||||
lCurrentAngle += lRadians
|
||||
lLineTwoX, lLineTwoY = endpoint(lCurrentAngle, lRadius, lOffsetX, lOffsetY)
|
||||
|
||||
lRoute = 0
|
||||
if lDegrees > 180:
|
||||
lRoute = 1
|
||||
lArc = "A%d,%d 0 %d,1 %d %d" % (
|
||||
lRadius, lRadius, lRoute, lLineTwoX, lLineTwoY)
|
||||
lLineTwo = "L%d,%d" % (lOffsetX, lOffsetY)
|
||||
|
||||
lPath = "%s %s %s" % (lLineOne, lArc, lLineTwo)
|
||||
lGradient = GRADIENTS[lIndex]
|
||||
lSvgPath += "<path d='%s' style='stroke:#097b8c; fill:url(#%s);'/>" % (
|
||||
lPath, lGradient)
|
||||
lIndex += 1
|
||||
|
||||
lSvg = """
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<radialGradient id="myRadialGradientGreen" r="65%%" cx="0" cy="0" spreadMethod="pad">
|
||||
<stop offset="0%%" stop-color="#11e0ff" stop-opacity="1"/>
|
||||
<stop offset="100%%" stop-color="#11e0ff" stop-opacity="1" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<defs>
|
||||
<radialGradient id="myRadialGradientOrange" r="65%%" cx="0" cy="0" spreadMethod="pad">
|
||||
<stop offset="0%%" stop-color="#097b8c" stop-opacity="1"/>
|
||||
<stop offset="100%%" stop-color="#097b8c" stop-opacity="1" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
|
||||
%s
|
||||
<!-- <circle cx="%d" cy="%d" r="100" style="stroke:#097b8c; fill:none;"/> -->
|
||||
</svg>
|
||||
""" % (lSvgPath, lOffsetX, lOffsetY)
|
||||
|
||||
|
||||
if self.temp_dir:
|
||||
svg_path = os.path.join(self.temp_dir, 'lector_progress.svg')
|
||||
lFile = open(svg_path, 'w')
|
||||
lFile.write(lSvg)
|
||||
lFile.close()
|
||||
else:
|
||||
return lSvg
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user