qcanvas 0.0.3.4a0__py3-none-any.whl → 0.0.4.1a0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of qcanvas might be problematic. Click here for more details.
- qcanvas/QtVersionHelper/QtGui/__init__.py +1 -1
- qcanvas/QtVersionHelper/__init__.py +2 -1
- qcanvas/__main__.py +5 -9
- qcanvas/db/__init__.py +2 -1
- qcanvas/db/database.py +11 -4
- qcanvas/icons/__init__.py +1 -1
- qcanvas/icons/icons.qrc +5 -4
- qcanvas/icons/main_icon.svg +217 -204
- qcanvas/icons/rc_icons.py +3 -0
- qcanvas/net/canvas/__init__.py +1 -1
- qcanvas/net/canvas/canvas_client.py +4 -2
- qcanvas/net/canvas/legacy_canvas_types.py +2 -2
- qcanvas/net/custom_httpx_async_transport.py +2 -3
- qcanvas/net/self_authenticating.py +1 -0
- qcanvas/queries/all_courses.gql +3 -3
- qcanvas/queries/all_courses.py +2 -2
- qcanvas/queries/canvas_course_data.py +2 -2
- qcanvas/ui/container_item.py +0 -6
- qcanvas/ui/main_ui.py +34 -18
- qcanvas/ui/menu_bar/__init__.py +0 -0
- qcanvas/ui/menu_bar/grouping_preferences_menu.py +61 -0
- qcanvas/ui/menu_bar/theme_selection_menu.py +36 -0
- qcanvas/ui/setup_dialog.py +3 -3
- qcanvas/ui/viewer/course_list.py +1 -3
- qcanvas/ui/viewer/file_list.py +1 -3
- qcanvas/ui/viewer/file_view_tab.py +3 -64
- qcanvas/util/__init__.py +1 -1
- qcanvas/util/app_settings.py +28 -2
- qcanvas/util/constants.py +1 -1
- qcanvas/util/course_indexer/__init__.py +1 -1
- qcanvas/util/course_indexer/data_manager.py +8 -4
- qcanvas/util/course_indexer/resource_helpers.py +2 -1
- qcanvas/util/file_icon_helper.py +2 -1
- qcanvas/util/linkscanner/canvas_media_object_scanner.py +2 -2
- qcanvas/util/linkscanner/resource_scanner.py +1 -1
- qcanvas/util/self_updater.py +6 -6
- qcanvas/util/task_pool.py +1 -1
- qcanvas/util/tree_util/model_helpers.py +1 -1
- qcanvas/util/tree_util/tree_model.py +1 -0
- {qcanvas-0.0.3.4a0.dist-info → qcanvas-0.0.4.1a0.dist-info}/METADATA +1 -1
- qcanvas-0.0.4.1a0.dist-info/RECORD +60 -0
- qcanvas-0.0.3.4a0.dist-info/RECORD +0 -57
- {qcanvas-0.0.3.4a0.dist-info → qcanvas-0.0.4.1a0.dist-info}/WHEEL +0 -0
|
@@ -15,7 +15,7 @@ elif QT_VERSION == 6:
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
def create_qaction(name: str, shortcut: QKeySequence | None = None, parent: Any = None, triggered: Any = None,
|
|
18
|
-
checkable: bool | None = None, checked
|
|
18
|
+
checkable: bool | None = None, checked: bool | None = None) -> QAction:
|
|
19
19
|
action = QAction(name)
|
|
20
20
|
|
|
21
21
|
if shortcut is not None:
|
|
@@ -2,6 +2,7 @@ import sys
|
|
|
2
2
|
|
|
3
3
|
QT_VERSION = 6
|
|
4
4
|
|
|
5
|
+
|
|
5
6
|
# if sys.modules.get("PySide6.QtCore"):
|
|
6
7
|
# QT_VERSION = 6
|
|
7
8
|
# elif sys.modules.get("PySide2.QtCore"):
|
|
@@ -17,4 +18,4 @@ def run_app(app):
|
|
|
17
18
|
if sys.modules.get("PySide6.QtCore"):
|
|
18
19
|
return app.exec()
|
|
19
20
|
else:
|
|
20
|
-
return app.exec_()
|
|
21
|
+
return app.exec_()
|
qcanvas/__main__.py
CHANGED
|
@@ -4,15 +4,16 @@ import sys
|
|
|
4
4
|
from datetime import datetime
|
|
5
5
|
|
|
6
6
|
import httpx
|
|
7
|
-
import qdarktheme
|
|
8
7
|
from httpx import URL
|
|
9
8
|
from qasync import QEventLoop, asyncSlot
|
|
10
9
|
from sqlalchemy.ext.asyncio import create_async_engine
|
|
11
10
|
from sqlalchemy.ext.asyncio.session import async_sessionmaker as AsyncSessionMaker
|
|
12
11
|
|
|
13
12
|
import qcanvas.db as db
|
|
14
|
-
|
|
13
|
+
# noinspection PyUnresolvedReferences
|
|
14
|
+
import qcanvas.icons
|
|
15
15
|
from qcanvas.QtVersionHelper.QtCore import Signal
|
|
16
|
+
from qcanvas.QtVersionHelper.QtGui import QPixmap
|
|
16
17
|
from qcanvas.QtVersionHelper.QtWidgets import QApplication, QProgressDialog, QMainWindow
|
|
17
18
|
from qcanvas.net.canvas.canvas_client import CanvasClient
|
|
18
19
|
from qcanvas.ui.main_ui import AppMainWindow
|
|
@@ -24,14 +25,12 @@ from qcanvas.util.linkscanner import CanvasFileScanner
|
|
|
24
25
|
from qcanvas.util.linkscanner.canvas_media_object_scanner import CanvasMediaObjectScanner
|
|
25
26
|
from qcanvas.util.linkscanner.dropbox_scanner import DropboxScanner
|
|
26
27
|
|
|
27
|
-
# noinspection PyUnresolvedReferences
|
|
28
|
-
import qcanvas.icons
|
|
29
|
-
|
|
30
28
|
engine = create_async_engine("sqlite+aiosqlite:///canvas_db.😘", echo=False)
|
|
31
29
|
|
|
32
30
|
logging.basicConfig()
|
|
33
31
|
logging.getLogger("canvas_client").setLevel(logging.DEBUG)
|
|
34
32
|
|
|
33
|
+
|
|
35
34
|
async def begin():
|
|
36
35
|
# Create meta stuff
|
|
37
36
|
async with engine.begin() as conn:
|
|
@@ -55,7 +54,6 @@ class LoaderWindow(QMainWindow):
|
|
|
55
54
|
|
|
56
55
|
self.init.emit()
|
|
57
56
|
|
|
58
|
-
|
|
59
57
|
@asyncSlot()
|
|
60
58
|
async def on_init(self):
|
|
61
59
|
try:
|
|
@@ -103,9 +101,7 @@ if __name__ == '__main__':
|
|
|
103
101
|
|
|
104
102
|
app = QApplication(sys.argv)
|
|
105
103
|
|
|
106
|
-
|
|
107
|
-
custom_colors={"primary": "FF804F"}
|
|
108
|
-
)
|
|
104
|
+
AppSettings.apply_selected_theme()
|
|
109
105
|
|
|
110
106
|
event_loop = QEventLoop()
|
|
111
107
|
asyncio.set_event_loop(event_loop)
|
qcanvas/db/__init__.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from .database import Resource, Module, ModuleItem, ModulePage, ModuleFile, ResourceState, Course, Term, \
|
|
2
|
-
Assignment, Base, PageLike, ResourceToModuleItemAssociation, ResourceToAssignmentAssociation, CoursePreferences,
|
|
2
|
+
Assignment, Base, PageLike, ResourceToModuleItemAssociation, ResourceToAssignmentAssociation, CoursePreferences, \
|
|
3
|
+
GroupByPreference
|
|
3
4
|
from .db_converter_helper import convert_course, convert_page, convert_file, convert_legacy_file, \
|
|
4
5
|
convert_assignment, convert_module, convert_term, convert_file_page
|
qcanvas/db/database.py
CHANGED
|
@@ -57,6 +57,7 @@ class GroupByPreference(Enum):
|
|
|
57
57
|
GROUP_BY_PAGES = 0
|
|
58
58
|
GROUP_BY_MODULES = 1
|
|
59
59
|
|
|
60
|
+
|
|
60
61
|
class CoursePreferences(Base):
|
|
61
62
|
__tablename__ = "preferences"
|
|
62
63
|
|
|
@@ -86,6 +87,7 @@ class Course(MappedAsDataclass, Base, init=False):
|
|
|
86
87
|
assignments: Mapped[List["Assignment"]] = relationship(back_populates="course")
|
|
87
88
|
resources: Mapped[List["Resource"]] = relationship(back_populates="course")
|
|
88
89
|
|
|
90
|
+
|
|
89
91
|
class Term(MappedAsDataclass, Base):
|
|
90
92
|
"""
|
|
91
93
|
A term object.
|
|
@@ -162,9 +164,12 @@ class ResourceState(Enum):
|
|
|
162
164
|
@staticmethod
|
|
163
165
|
def human_readable(value: "ResourceState"):
|
|
164
166
|
match value:
|
|
165
|
-
case ResourceState.NOT_DOWNLOADED:
|
|
166
|
-
|
|
167
|
-
case ResourceState.
|
|
167
|
+
case ResourceState.NOT_DOWNLOADED:
|
|
168
|
+
return "Not downloaded"
|
|
169
|
+
case ResourceState.DOWNLOADED:
|
|
170
|
+
return "Downloaded"
|
|
171
|
+
case ResourceState.FAILED:
|
|
172
|
+
return "Failed"
|
|
168
173
|
|
|
169
174
|
raise ValueError(value)
|
|
170
175
|
|
|
@@ -220,12 +225,14 @@ class Resource(MappedAsDataclass, Base, tree.HasText):
|
|
|
220
225
|
|
|
221
226
|
file_name, file_extension = os.path.splitext(self.file_name)
|
|
222
227
|
|
|
223
|
-
return pathlib.Path("download", self._sanitise_course_name(self.course.name),
|
|
228
|
+
return pathlib.Path("download", self._sanitise_course_name(self.course.name),
|
|
229
|
+
f"{file_name} [{file_id}]{file_extension}")
|
|
224
230
|
|
|
225
231
|
@staticmethod
|
|
226
232
|
def _sanitise_course_name(name: str) -> str:
|
|
227
233
|
return re.sub("[/\\\\<>:\"?|*]", "_", name)
|
|
228
234
|
|
|
235
|
+
|
|
229
236
|
class ModuleItem(MappedAsDataclass, Base, tree.HasText):
|
|
230
237
|
__tablename__ = "module_items"
|
|
231
238
|
|
qcanvas/icons/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
from qcanvas.icons import rc_icons
|
|
1
|
+
from qcanvas.icons import rc_icons
|
qcanvas/icons/icons.qrc
CHANGED
qcanvas/icons/main_icon.svg
CHANGED
|
@@ -2,27 +2,26 @@
|
|
|
2
2
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
3
|
|
|
4
4
|
<svg
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
|
|
5
|
+
inkscape:export-ydpi="90.000000"
|
|
6
|
+
inkscape:export-xdpi="90.000000"
|
|
7
|
+
width="256"
|
|
8
|
+
height="256"
|
|
9
|
+
id="svg11300"
|
|
10
|
+
sodipodi:version="0.32"
|
|
11
|
+
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
|
|
12
|
+
sodipodi:docname="icon.svg"
|
|
13
|
+
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
|
14
|
+
version="1.0"
|
|
15
|
+
style="display:inline;enable-background:new"
|
|
16
|
+
inkscape:export-filename="/home/sam/moka-next-template.png"
|
|
17
|
+
xml:space="preserve"
|
|
18
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
19
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
20
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
21
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
22
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
23
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
24
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview
|
|
26
25
|
stroke="#ef2929"
|
|
27
26
|
fill="#f57900"
|
|
28
27
|
id="base"
|
|
@@ -75,23 +74,24 @@
|
|
|
75
74
|
originx="-16"
|
|
76
75
|
originy="-28"
|
|
77
76
|
units="px" /><inkscape:grid
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
type="xygrid"
|
|
78
|
+
id="grid11592"
|
|
79
|
+
empspacing="8"
|
|
80
|
+
visible="false"
|
|
81
|
+
enabled="false"
|
|
82
|
+
spacingx="0.5px"
|
|
83
|
+
spacingy="0.5px"
|
|
84
|
+
color="#ff0000"
|
|
85
|
+
opacity="0.12549"
|
|
86
|
+
empcolor="#ff0000"
|
|
87
|
+
empopacity="0.25098039"
|
|
88
|
+
snapvisiblegridlinesonly="true"
|
|
89
|
+
dotted="true"
|
|
90
|
+
originx="-16"
|
|
91
|
+
originy="-28"
|
|
92
|
+
units="px"/></sodipodi:namedview>
|
|
93
|
+
<defs
|
|
94
|
+
id="defs3"><linearGradient
|
|
95
95
|
inkscape:collect="always"
|
|
96
96
|
xlink:href="#outerBackgroundGradient-2"
|
|
97
97
|
id="linearGradient4254"
|
|
@@ -100,26 +100,32 @@
|
|
|
100
100
|
x2="253"
|
|
101
101
|
y2="156"
|
|
102
102
|
gradientUnits="userSpaceOnUse"
|
|
103
|
-
gradientTransform="rotate(-90,144,156)"
|
|
104
|
-
|
|
103
|
+
gradientTransform="rotate(-90,144,156)" />
|
|
104
|
+
<linearGradient
|
|
105
|
+
id="outerBackgroundGradient-2"><stop
|
|
105
106
|
style="stop-color:#e70a0a;stop-opacity:1;"
|
|
106
107
|
offset="0"
|
|
107
|
-
id="stop3864-8-6-00"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
108
|
+
id="stop3864-8-6-00" />
|
|
109
|
+
<stop
|
|
110
|
+
style="stop-color:#fe0000;stop-opacity:1;"
|
|
111
|
+
offset="1"
|
|
112
|
+
id="stop3866-9-1-1"/></linearGradient>
|
|
113
|
+
<style
|
|
114
|
+
id="style1">.cls-1{fill:#fff;}</style></defs>
|
|
115
|
+
<metadata
|
|
116
|
+
id="metadata4"><rdf:RDF><cc:Work
|
|
116
117
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:creator><cc:Agent><dc:title>Sam Hewitt</dc:title></cc:Agent></dc:creator><dc:source/><cc:license
|
|
119
|
+
rdf:resource=""/><dc:title/><dc:subject><rdf:Bag /></dc:subject><dc:date/><dc:rights><cc:Agent><dc:title /></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title /></cc:Agent></dc:publisher><dc:identifier/><dc:relation/><dc:language/><dc:coverage/><dc:description/><dc:contributor><cc:Agent><dc:title /></cc:Agent></dc:contributor></cc:Work><cc:Work
|
|
120
|
+
rdf:about=""><dc:format>image/svg+xml</dc:format>
|
|
121
|
+
<dc:type
|
|
122
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata>
|
|
123
|
+
<g
|
|
124
|
+
style="display:inline"
|
|
125
|
+
inkscape:groupmode="layer"
|
|
126
|
+
inkscape:label="Icon"
|
|
127
|
+
id="layer1"
|
|
128
|
+
transform="translate(-16,-28)"><g
|
|
123
129
|
style="display:none"
|
|
124
130
|
inkscape:label="Baseplate"
|
|
125
131
|
id="layer7"
|
|
@@ -135,177 +141,184 @@
|
|
|
135
141
|
x="15.006836"
|
|
136
142
|
sodipodi:role="line"
|
|
137
143
|
id="tspan3933">apps</tspan></text><text
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
y="19.745117"
|
|
145
|
+
xml:space="preserve"
|
|
146
|
+
x="122.48828"
|
|
147
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;enable-background:new"
|
|
148
|
+
inkscape:label="icon-name"
|
|
149
|
+
id="icon-name"><tspan
|
|
144
150
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;line-height:1.25;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans Bold'"
|
|
145
151
|
y="19.745117"
|
|
146
152
|
x="122.48828"
|
|
147
153
|
sodipodi:role="line"
|
|
148
154
|
id="tspan3937">amd</tspan></text><rect
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
155
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
156
|
+
id="rect16x16"
|
|
157
|
+
width="16"
|
|
158
|
+
height="16"
|
|
159
|
+
x="416"
|
|
160
|
+
y="140"
|
|
161
|
+
inkscape:label="16x16"/><rect
|
|
162
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#d4d4d4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
163
|
+
id="rect24x24"
|
|
164
|
+
width="24"
|
|
165
|
+
height="24"
|
|
166
|
+
x="416"
|
|
167
|
+
y="100"
|
|
168
|
+
inkscape:label="24x24"/><rect
|
|
169
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
170
|
+
id="rect32x32"
|
|
171
|
+
width="32"
|
|
172
|
+
height="32"
|
|
173
|
+
x="416"
|
|
174
|
+
y="52"
|
|
175
|
+
inkscape:label="32x32"/><rect
|
|
176
|
+
inkscape:label="22x22"
|
|
177
|
+
y="101"
|
|
178
|
+
x="417"
|
|
179
|
+
height="22"
|
|
180
|
+
width="22"
|
|
181
|
+
id="rect22x22"
|
|
182
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"/><rect
|
|
183
|
+
inkscape:label="48x48"
|
|
184
|
+
y="220"
|
|
185
|
+
x="288"
|
|
186
|
+
height="48"
|
|
187
|
+
width="48"
|
|
188
|
+
id="rect48x48"
|
|
189
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"/><rect
|
|
190
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
191
|
+
id="rect256x256"
|
|
192
|
+
width="256"
|
|
193
|
+
height="256"
|
|
194
|
+
x="16"
|
|
195
|
+
y="28"
|
|
196
|
+
inkscape:label="256x256"/><rect
|
|
197
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
198
|
+
id="rect64x64"
|
|
199
|
+
width="64"
|
|
200
|
+
height="64"
|
|
201
|
+
x="288"
|
|
202
|
+
y="140"
|
|
203
|
+
inkscape:label="64x64"/><rect
|
|
204
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
205
|
+
id="rect96x96"
|
|
206
|
+
width="96"
|
|
207
|
+
height="96"
|
|
208
|
+
x="288"
|
|
209
|
+
y="28"
|
|
210
|
+
inkscape:label="96x96"/><rect
|
|
211
|
+
style="display:inline;overflow:visible;visibility:visible;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
212
|
+
id="rect256x256-7"
|
|
213
|
+
width="256"
|
|
214
|
+
height="256"
|
|
215
|
+
x="16"
|
|
216
|
+
y="28"
|
|
217
|
+
inkscape:label="256x256"/></g>
|
|
218
|
+
<g
|
|
219
|
+
inkscape:groupmode="layer"
|
|
220
|
+
id="layer4"
|
|
221
|
+
inkscape:label="Shadow"
|
|
222
|
+
style="display:inline"
|
|
223
|
+
sodipodi:insensitive="true"><rect
|
|
217
224
|
ry="50"
|
|
218
225
|
y="47"
|
|
219
226
|
x="34"
|
|
220
227
|
height="220"
|
|
221
228
|
width="220"
|
|
222
229
|
id="rect4114"
|
|
223
|
-
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate" /></g
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
230
|
+
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate" /></g>
|
|
231
|
+
<g
|
|
232
|
+
inkscape:groupmode="layer"
|
|
233
|
+
id="layer2"
|
|
234
|
+
inkscape:label="Background"
|
|
235
|
+
style="display:inline"><path
|
|
228
236
|
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4254);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
|
|
229
237
|
d="M 84,46.5 C 56.568735,46.5 34.5,68.568732 34.5,96 v 120 c 0,27.43127 22.068735,49.5 49.5,49.5 h 120 c 27.43127,0 49.5,-22.06873 49.5,-49.5 V 96 C 253.5,68.568732 231.43127,46.5 204,46.5 Z"
|
|
230
|
-
id="path4200" /></g
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
238
|
+
id="path4200" /></g>
|
|
239
|
+
<g
|
|
240
|
+
inkscape:groupmode="layer"
|
|
241
|
+
id="layer6"
|
|
242
|
+
inkscape:label="Symbols"
|
|
243
|
+
style="display:inline"><g
|
|
235
244
|
id="Layer_1-2"
|
|
236
245
|
data-name="Layer 1"
|
|
237
246
|
transform="matrix(1.322302,0,0,1.322302,59.921425,71.894979)"><path
|
|
238
247
|
class="cls-1"
|
|
239
248
|
d="M 18.45,63.47 A 18.4,18.4 0 0 0 2.31,45.23 73.13,73.13 0 0 0 2.31,81.7 18.38,18.38 0 0 0 18.45,63.47"
|
|
240
249
|
id="path1" /><path
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
250
|
+
class="cls-1"
|
|
251
|
+
d="M 29.13,57.7 A 5.77,5.77 0 1 0 34.9,63.47 5.77,5.77 0 0 0 29.13,57.7"
|
|
252
|
+
id="path2"/><path
|
|
253
|
+
class="cls-1"
|
|
254
|
+
d="m 108.72,63.47 a 18.38,18.38 0 0 0 16.14,18.23 73.13,73.13 0 0 0 0,-36.47 18.4,18.4 0 0 0 -16.14,18.24"
|
|
255
|
+
id="path3"/><path
|
|
256
|
+
class="cls-1"
|
|
257
|
+
d="m 98,57.7 a 5.77,5.77 0 1 0 5.76,5.77 A 5.77,5.77 0 0 0 98,57.7"
|
|
258
|
+
id="path4"/><path
|
|
259
|
+
class="cls-1"
|
|
260
|
+
d="m 63.46,108.77 a 18.39,18.39 0 0 0 -18.23,16.13 73.13,73.13 0 0 0 36.47,0 18.38,18.38 0 0 0 -18.24,-16.13"
|
|
261
|
+
id="path5"/><path
|
|
262
|
+
class="cls-1"
|
|
263
|
+
d="m 63.47,92.31 a 5.77,5.77 0 1 0 5.76,5.77 5.77,5.77 0 0 0 -5.76,-5.77"
|
|
264
|
+
id="path6"/><path
|
|
265
|
+
class="cls-1"
|
|
266
|
+
d="M 63.47,18.44 A 18.37,18.37 0 0 0 81.7,2.31 a 73.13,73.13 0 0 0 -36.47,0 18.39,18.39 0 0 0 18.24,16.13"
|
|
267
|
+
id="path7"/><path
|
|
268
|
+
class="cls-1"
|
|
269
|
+
d="m 63.47,23.37 a 5.77,5.77 0 1 0 5.76,5.76 5.76,5.76 0 0 0 -5.76,-5.76"
|
|
270
|
+
id="path8"/><path
|
|
271
|
+
class="cls-1"
|
|
272
|
+
d="m 95.44,95.44 a 18.4,18.4 0 0 0 -1.5,24.29 73,73 0 0 0 25.78,-25.79 18.39,18.39 0 0 0 -24.28,1.5"
|
|
273
|
+
id="path9"/><path
|
|
274
|
+
class="cls-1"
|
|
275
|
+
d="m 83.8,83.8 a 5.77,5.77 0 1 0 8.16,0 5.78,5.78 0 0 0 -8.16,0"
|
|
276
|
+
id="path10"/><path
|
|
277
|
+
class="cls-1"
|
|
278
|
+
d="M 31.59,31.59 A 18.36,18.36 0 0 0 33.09,7.31 72.93,72.93 0 0 0 7.31,33.09 18.36,18.36 0 0 0 31.59,31.59"
|
|
279
|
+
id="path11"/><path
|
|
280
|
+
class="cls-1"
|
|
281
|
+
d="m 35.07,35.08 a 5.77,5.77 0 1 0 8.16,0 5.78,5.78 0 0 0 -8.16,0"
|
|
282
|
+
id="path12"/><path
|
|
283
|
+
class="cls-1"
|
|
284
|
+
d="M 95.4,31.53 A 18.39,18.39 0 0 0 119.69,33 72.88,72.88 0 0 0 93.9,7.25 18.39,18.39 0 0 0 95.4,31.53"
|
|
285
|
+
id="path13"/><path
|
|
286
|
+
class="cls-1"
|
|
287
|
+
d="m 91.92,43.17 a 5.76,5.76 0 1 0 -8.15,0 5.76,5.76 0 0 0 8.15,0"
|
|
288
|
+
id="path14"/><path
|
|
289
|
+
class="cls-1"
|
|
290
|
+
d="M 31.56,95.37 A 18.39,18.39 0 0 0 7.28,93.87 73,73 0 0 0 33.06,119.66 18.38,18.38 0 0 0 31.56,95.37"
|
|
291
|
+
id="path15"/><path
|
|
292
|
+
class="cls-1"
|
|
293
|
+
d="m 35,83.73 a 5.77,5.77 0 1 0 8.16,0 5.79,5.79 0 0 0 -8.16,0"
|
|
294
|
+
id="path16"/></g></g>
|
|
295
|
+
<g
|
|
296
|
+
inkscape:groupmode="layer"
|
|
297
|
+
id="layer5"
|
|
298
|
+
inkscape:label="Highlights"
|
|
299
|
+
style="display:inline"
|
|
300
|
+
sodipodi:insensitive="true"><path
|
|
291
301
|
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.13;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate"
|
|
292
302
|
d="M 84,47 C 56.836703,47 35,68.836703 35,96 v 1 C 35,69.836703 56.836703,48 84,48 h 120 c 27.1633,0 49,21.836703 49,49 V 96 C 253,68.836703 231.1633,47 204,47 Z"
|
|
293
303
|
id="rect3894"
|
|
294
|
-
inkscape:connector-curvature="0"
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
304
|
+
inkscape:connector-curvature="0" />
|
|
305
|
+
<path
|
|
306
|
+
id="path4085"
|
|
307
|
+
d="m 204,266 c 27.1633,0 49,-21.8367 49,-49 v -1 c 0,27.1633 -21.8367,49 -49,49 H 84 C 56.8367,265 35,243.1633 35,216 v 1 c 0,27.1633 21.8367,49 49,49 z"
|
|
308
|
+
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.41;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate"
|
|
309
|
+
inkscape:connector-curvature="0"/>
|
|
310
|
+
<path
|
|
311
|
+
inkscape:connector-curvature="0"
|
|
312
|
+
id="path4280"
|
|
313
|
+
d="M 84,265 C 56.836703,265 35,243.1633 35,216 v -1 c 0,27.1633 21.836703,49 49,49 h 120 c 27.1633,0 49,-21.8367 49,-49 v 1 c 0,27.1633 -21.8367,49 -49,49 z"
|
|
314
|
+
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate"
|
|
315
|
+
inkscape:label="path4280"/></g>
|
|
316
|
+
<g
|
|
317
|
+
inkscape:groupmode="layer"
|
|
318
|
+
id="layer3"
|
|
319
|
+
inkscape:label="Border"
|
|
320
|
+
style="display:inline"
|
|
321
|
+
sodipodi:insensitive="true"><path
|
|
309
322
|
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;opacity:0.41;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;enable-background:accumulate"
|
|
310
323
|
d="M 84,46 C 56.3,46 34,68.3 34,96 v 120 c 0,27.7 22.3,50 50,50 h 120 c 27.7,0 50,-22.3 50,-50 V 96 C 254,68.3 231.7,46 204,46 Z m 0,1 h 120 c 27.1633,0 49,21.836703 49,49 v 120 c 0,27.1633 -21.8367,49 -49,49 H 84 C 56.836703,265 35,243.1633 35,216 V 96 C 35,68.836703 56.836703,47 84,47 Z"
|
|
311
324
|
id="rect4040"
|