From 3731ec0541998dab62ee0cf464ddaca4f03237ef Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Thu, 21 Mar 2013 19:54:26 +0100 Subject: [PATCH 01/38] Praying to God. --- files/opencs/scalable/Palette.svg | 569 ++++++ .../referenceable record type/.directory | 5 + .../referenceable record type/activator.svg | 1088 ++++++++++++ .../referenceable record type/apparatus.svg | 1058 +++++++++++ .../referenceable record type/book.svg | 692 ++++++++ .../referenceable record type/container.svg | 1359 +++++++++++++++ .../light source.svg | 1543 +++++++++++++++++ .../referenceable record type/potion.svg | 1052 +++++++++++ .../referenceable record type/static.svg | 1141 ++++++++++++ .../referenceable record type/weapon.svg | 1175 +++++++++++++ 10 files changed, 9682 insertions(+) create mode 100644 files/opencs/scalable/Palette.svg create mode 100644 files/opencs/scalable/referenceable record type/.directory create mode 100644 files/opencs/scalable/referenceable record type/activator.svg create mode 100644 files/opencs/scalable/referenceable record type/apparatus.svg create mode 100644 files/opencs/scalable/referenceable record type/book.svg create mode 100644 files/opencs/scalable/referenceable record type/container.svg create mode 100644 files/opencs/scalable/referenceable record type/light source.svg create mode 100644 files/opencs/scalable/referenceable record type/potion.svg create mode 100644 files/opencs/scalable/referenceable record type/static.svg create mode 100644 files/opencs/scalable/referenceable record type/weapon.svg diff --git a/files/opencs/scalable/Palette.svg b/files/opencs/scalable/Palette.svg new file mode 100644 index 000000000..f42475330 --- /dev/null +++ b/files/opencs/scalable/Palette.svg @@ -0,0 +1,569 @@ + + + + + + + image/svg+xml + + + + + + Tango Palette + + + Tuomas Kuosmanen + + + + + Garrett Le Sage +Kenneth Wimer +Jakub Steiner + + +http://www.tango-project.org/files/Tango-Palette.svg + + + unify + global + theme + color + palette + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/files/opencs/scalable/referenceable record type/.directory b/files/opencs/scalable/referenceable record type/.directory new file mode 100644 index 000000000..e2d80ed58 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,21,10,19,49 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/referenceable record type/activator.svg b/files/opencs/scalable/referenceable record type/activator.svg new file mode 100644 index 000000000..0c6db59a7 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/activator.svg @@ -0,0 +1,1088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/apparatus.svg b/files/opencs/scalable/referenceable record type/apparatus.svg new file mode 100644 index 000000000..37cef0e89 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/apparatus.svg @@ -0,0 +1,1058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/book.svg b/files/opencs/scalable/referenceable record type/book.svg new file mode 100644 index 000000000..8c041a9e7 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/book.svg @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/container.svg b/files/opencs/scalable/referenceable record type/container.svg new file mode 100644 index 000000000..11ad79438 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/container.svg @@ -0,0 +1,1359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/light source.svg b/files/opencs/scalable/referenceable record type/light source.svg new file mode 100644 index 000000000..8575659f4 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/light source.svg @@ -0,0 +1,1543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/potion.svg b/files/opencs/scalable/referenceable record type/potion.svg new file mode 100644 index 000000000..888006531 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/potion.svg @@ -0,0 +1,1052 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/static.svg b/files/opencs/scalable/referenceable record type/static.svg new file mode 100644 index 000000000..a6f29370f --- /dev/null +++ b/files/opencs/scalable/referenceable record type/static.svg @@ -0,0 +1,1141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/weapon.svg b/files/opencs/scalable/referenceable record type/weapon.svg new file mode 100644 index 000000000..1e5aaac41 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/weapon.svg @@ -0,0 +1,1175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + From e46097cd2ed1e1742d63a2d958c8cec6a68645f1 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Thu, 21 Mar 2013 19:54:26 +0100 Subject: [PATCH 02/38] Icons. Currently activator, apparatus, book, container (work in progress), light source, potion, static, weapon. --- files/opencs/scalable/Palette.svg | 569 ++++++ .../referenceable record type/.directory | 5 + .../referenceable record type/activator.svg | 1088 ++++++++++++ .../referenceable record type/apparatus.svg | 1058 +++++++++++ .../referenceable record type/book.svg | 692 ++++++++ .../referenceable record type/container.svg | 1359 +++++++++++++++ .../light source.svg | 1543 +++++++++++++++++ .../referenceable record type/potion.svg | 1052 +++++++++++ .../referenceable record type/static.svg | 1141 ++++++++++++ .../referenceable record type/weapon.svg | 1175 +++++++++++++ 10 files changed, 9682 insertions(+) create mode 100644 files/opencs/scalable/Palette.svg create mode 100644 files/opencs/scalable/referenceable record type/.directory create mode 100644 files/opencs/scalable/referenceable record type/activator.svg create mode 100644 files/opencs/scalable/referenceable record type/apparatus.svg create mode 100644 files/opencs/scalable/referenceable record type/book.svg create mode 100644 files/opencs/scalable/referenceable record type/container.svg create mode 100644 files/opencs/scalable/referenceable record type/light source.svg create mode 100644 files/opencs/scalable/referenceable record type/potion.svg create mode 100644 files/opencs/scalable/referenceable record type/static.svg create mode 100644 files/opencs/scalable/referenceable record type/weapon.svg diff --git a/files/opencs/scalable/Palette.svg b/files/opencs/scalable/Palette.svg new file mode 100644 index 000000000..f42475330 --- /dev/null +++ b/files/opencs/scalable/Palette.svg @@ -0,0 +1,569 @@ + + + + + + + image/svg+xml + + + + + + Tango Palette + + + Tuomas Kuosmanen + + + + + Garrett Le Sage +Kenneth Wimer +Jakub Steiner + + +http://www.tango-project.org/files/Tango-Palette.svg + + + unify + global + theme + color + palette + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/files/opencs/scalable/referenceable record type/.directory b/files/opencs/scalable/referenceable record type/.directory new file mode 100644 index 000000000..e2d80ed58 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,21,10,19,49 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/referenceable record type/activator.svg b/files/opencs/scalable/referenceable record type/activator.svg new file mode 100644 index 000000000..0c6db59a7 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/activator.svg @@ -0,0 +1,1088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/apparatus.svg b/files/opencs/scalable/referenceable record type/apparatus.svg new file mode 100644 index 000000000..37cef0e89 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/apparatus.svg @@ -0,0 +1,1058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/book.svg b/files/opencs/scalable/referenceable record type/book.svg new file mode 100644 index 000000000..8c041a9e7 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/book.svg @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/container.svg b/files/opencs/scalable/referenceable record type/container.svg new file mode 100644 index 000000000..11ad79438 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/container.svg @@ -0,0 +1,1359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/light source.svg b/files/opencs/scalable/referenceable record type/light source.svg new file mode 100644 index 000000000..8575659f4 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/light source.svg @@ -0,0 +1,1543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/potion.svg b/files/opencs/scalable/referenceable record type/potion.svg new file mode 100644 index 000000000..888006531 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/potion.svg @@ -0,0 +1,1052 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/static.svg b/files/opencs/scalable/referenceable record type/static.svg new file mode 100644 index 000000000..a6f29370f --- /dev/null +++ b/files/opencs/scalable/referenceable record type/static.svg @@ -0,0 +1,1141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/weapon.svg b/files/opencs/scalable/referenceable record type/weapon.svg new file mode 100644 index 000000000..1e5aaac41 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/weapon.svg @@ -0,0 +1,1175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + From df8600e636082eb6c7821c51b7dd49ac1062e0d7 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Fri, 22 Mar 2013 18:06:11 +0100 Subject: [PATCH 03/38] New anvil icon (repair.svg), edited weapon.svg (added new gradient on dagger blade) and light source.svg (clear to see what happend). container icon is still work in progress. --- .../light source.svg | 136 +- .../referenceable record type/repair.svg | 1280 +++++++++++++++++ .../referenceable record type/weapon.svg | 37 +- 3 files changed, 1367 insertions(+), 86 deletions(-) create mode 100644 files/opencs/scalable/referenceable record type/repair.svg diff --git a/files/opencs/scalable/referenceable record type/light source.svg b/files/opencs/scalable/referenceable record type/light source.svg index 8575659f4..f8f506636 100644 --- a/files/opencs/scalable/referenceable record type/light source.svg +++ b/files/opencs/scalable/referenceable record type/light source.svg @@ -23,11 +23,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="5.12" - inkscape:cx="-14.844087" - inkscape:cy="12.523576" + inkscape:zoom="7.2407734" + inkscape:cx="15.039623" + inkscape:cy="28.976292" inkscape:document-units="px" - inkscape:current-layer="g4512" + inkscape:current-layer="g6692" showgrid="true" showguides="true" inkscape:guide-bbox="true" @@ -45,9 +45,9 @@ inkscape:object-paths="true" inkscape:snap-intersection-paths="true" inkscape:object-nodes="true" - inkscape:snap-global="true" + inkscape:snap-global="false" inkscape:snap-smooth-nodes="false" - inkscape:snap-grids="false" + inkscape:snap-grids="true" inkscape:snap-nodes="true"> + + + + + + + + + - - - @@ -1448,29 +1441,14 @@ - - + d="m 32.999997,6.5 a 6.4999967,2.5 0 1 1 -12.999994,0 6.4999967,2.5 0 1 1 12.999994,0 z" + transform="matrix(1.2476493,0,0,1.1773057,-95.452015,955.91965)" /> - + width="1.1570125" + height="2.2736316" + x="-62.967812" + y="961.29846" /> - + d="m -50.291451,955.99365 c -0.306142,0.58022 -0.173213,1.37959 -0.741985,1.81489 -0.555003,0.71326 -0.773186,1.6155 -1.259884,2.37061 -0.545654,1.01279 -0.9642,2.21153 -0.612129,3.35954 0.288553,1.36917 0.604843,2.81123 1.512357,3.91947 0.601372,0.6775 1.7644,0.89162 2.455823,0.22684 0.753966,-0.66641 1.219278,-1.61104 1.490732,-2.56706 0.268644,-1.09118 0.258571,-2.22309 0.405108,-3.33193 0.004,-0.92336 -0.539155,-1.718 -0.841509,-2.56039 -0.468277,-1.04235 -0.941776,-2.14938 -1.812123,-2.9223 -0.181111,-0.13328 -0.382557,-0.23957 -0.59639,-0.30967 z" + style="fill:#ffcb80;fill-opacity:1;stroke:none;filter:url(#filter4579)" + transform="matrix(1.1359383,0,0,1.1359383,-5.573807,-136.87442)" /> + d="m -50.089487,965.64147 c -0.06194,0.11739 -0.03504,0.2791 -0.150109,0.36717 -0.11228,0.14429 -0.15642,0.32682 -0.254882,0.47959 -0.110389,0.20489 -0.195064,0.4474 -0.123837,0.67965 0.05838,0.27699 0.122363,0.56873 0.305959,0.79293 0.121661,0.13707 0.356949,0.18038 0.496828,0.0459 0.152532,-0.13481 0.246667,-0.32592 0.301584,-0.51933 0.05435,-0.22075 0.05231,-0.44974 0.08196,-0.67406 8.27e-4,-0.18681 -0.109074,-0.34757 -0.170242,-0.51799 -0.09474,-0.21087 -0.190528,-0.43483 -0.366604,-0.5912 -0.03664,-0.0269 -0.07739,-0.0485 -0.120653,-0.0626 z" + style="fill:#ffffff;fill-opacity:1;stroke:none;filter:url(#filter4575)" + transform="matrix(1.1359383,0,0,1.1359383,-5.573807,-136.87442)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/weapon.svg b/files/opencs/scalable/referenceable record type/weapon.svg index 1e5aaac41..2e832fff7 100644 --- a/files/opencs/scalable/referenceable record type/weapon.svg +++ b/files/opencs/scalable/referenceable record type/weapon.svg @@ -23,9 +23,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="3.6203867" - inkscape:cx="-21.028476" - inkscape:cy="-1.6134251" + inkscape:zoom="5.12" + inkscape:cx="13.777504" + inkscape:cy="9.2319835" inkscape:document-units="px" inkscape:current-layer="g5966" showgrid="true" @@ -56,6 +56,17 @@ + + + + + @@ -1170,6 +1190,17 @@ d="m -69.333164,982.81214 0,3.65905 -6.823877,0 11.138217,11.04103 11.138216,-11.04103 -6.823877,0 0,-3.65905 -8.628679,0 z" id="path5146" inkscape:connector-curvature="0" /> + + + + From 001b56714a2da5efdbe940b5a06645a5fa863596 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sat, 23 Mar 2013 16:16:23 +0100 Subject: [PATCH 04/38] Adding new status icons svg files. Qt svg does not allow blur to be used so I think that we should make png files of it but first information on the actual resolution needed is required... --- files/opencs/scalable/status/.directory | 5 + files/opencs/scalable/status/added.svg | 917 ++++++++++++++++ files/opencs/scalable/status/modified.svg | 1197 +++++++++++++++++++++ files/opencs/scalable/status/removed.svg | 1088 +++++++++++++++++++ 4 files changed, 3207 insertions(+) create mode 100644 files/opencs/scalable/status/.directory create mode 100644 files/opencs/scalable/status/added.svg create mode 100644 files/opencs/scalable/status/modified.svg create mode 100644 files/opencs/scalable/status/removed.svg diff --git a/files/opencs/scalable/status/.directory b/files/opencs/scalable/status/.directory new file mode 100644 index 000000000..e2d80ed58 --- /dev/null +++ b/files/opencs/scalable/status/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,21,10,19,49 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/status/added.svg b/files/opencs/scalable/status/added.svg new file mode 100644 index 000000000..a5767d23b --- /dev/null +++ b/files/opencs/scalable/status/added.svg @@ -0,0 +1,917 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/files/opencs/scalable/status/modified.svg b/files/opencs/scalable/status/modified.svg new file mode 100644 index 000000000..c8b56cd04 --- /dev/null +++ b/files/opencs/scalable/status/modified.svg @@ -0,0 +1,1197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/files/opencs/scalable/status/removed.svg b/files/opencs/scalable/status/removed.svg new file mode 100644 index 000000000..719035be9 --- /dev/null +++ b/files/opencs/scalable/status/removed.svg @@ -0,0 +1,1088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + From 43e863b0207396bf68ce868c11077cb7ba3f3b54 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sat, 23 Mar 2013 16:22:17 +0100 Subject: [PATCH 05/38] Forgot to place the icons in the middle of the page. --- files/opencs/scalable/status/modified.svg | 67 ++----------------- files/opencs/scalable/status/removed.svg | 80 +++-------------------- 2 files changed, 13 insertions(+), 134 deletions(-) diff --git a/files/opencs/scalable/status/modified.svg b/files/opencs/scalable/status/modified.svg index c8b56cd04..3b183e314 100644 --- a/files/opencs/scalable/status/modified.svg +++ b/files/opencs/scalable/status/modified.svg @@ -24,8 +24,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="3.6203867" - inkscape:cx="-21.788854" - inkscape:cy="23.355872" + inkscape:cx="-39.987384" + inkscape:cy="43.542041" inkscape:document-units="px" inkscape:current-layer="g5966" showgrid="true" @@ -985,16 +985,6 @@ fx="-97.089668" fy="-33.913769" r="20" /> - - - - - - @@ -1140,7 +1083,7 @@ transform="matrix(0.97772023,0,0,0.97772023,100.68016,77.074325)"> - - - - - - - - + transform="matrix(0,1,-1,0,0.20564565,0.22375836)" /> + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:4.5731945;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + transform="matrix(0,1,-1,0,0.20564565,0.22375836)" /> From 59233e54b2083afd72d250928e7060de0d2a3419 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sat, 23 Mar 2013 18:18:19 +0100 Subject: [PATCH 06/38] changing potion.svg according to pvdk sugestions --- .../referenceable record type/potion.svg | 162 +++++++++++------- 1 file changed, 104 insertions(+), 58 deletions(-) diff --git a/files/opencs/scalable/referenceable record type/potion.svg b/files/opencs/scalable/referenceable record type/potion.svg index 888006531..612f45aa4 100644 --- a/files/opencs/scalable/referenceable record type/potion.svg +++ b/files/opencs/scalable/referenceable record type/potion.svg @@ -24,10 +24,10 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="7.2407734" - inkscape:cx="18.842132" - inkscape:cy="26.695499" + inkscape:cx="3.6117613" + inkscape:cy="14.120537" inkscape:document-units="px" - inkscape:current-layer="g5966" + inkscape:current-layer="g3910" showgrid="true" showguides="true" inkscape:guide-bbox="true" @@ -55,6 +55,32 @@ + + + + + + + + + - + offset="0" + style="stop-color:#8cf0eb;stop-opacity:0.78431374;" /> @@ -930,22 +952,12 @@ fx="-150.6485" fy="-33.680485" r="19.749271" /> - + xlink:href="#linearGradient3853" + id="radialGradient3918" + cx="0.20415781" + cy="26.466549" + fx="0.20415781" + fy="26.466549" + r="15.52295" + gradientTransform="matrix(1.3421662,-1.1488417,0.96457332,1.1859542,-25.598784,-3.3438458)" + gradientUnits="userSpaceOnUse" /> + + + xlink:href="#linearGradient4535" + id="radialGradient4543" + cx="15.546875" + cy="24" + fx="15.546875" + fy="24" + r="15.52295" + gradientTransform="matrix(0.99999999,-0.04184496,0.06136199,1.5432733,-1.4726875,-12.388)" + gradientUnits="userSpaceOnUse" /> @@ -1017,30 +1047,46 @@ sodipodi:ry="4.4194174" d="m -133.13494,-22.158251 c 0,2.440777 -8.84205,4.419418 -19.74928,4.419418 -10.90722,0 -19.74927,-1.978641 -19.74927,-4.419418 0,-2.440777 8.84205,-4.419417 19.74927,-4.419417 10.90723,0 19.74928,1.97864 19.74928,4.419417 z" transform="matrix(0.92927807,0,0,1.0003876,63.663518,999.66077)" /> - + + + + + + - - Date: Sat, 23 Mar 2013 19:29:52 +0100 Subject: [PATCH 07/38] Drawer as container icon. Look a little better the old crappy chest but changes are needed. --- .../referenceable record type/container.svg | 1987 +++++++++-------- 1 file changed, 1108 insertions(+), 879 deletions(-) diff --git a/files/opencs/scalable/referenceable record type/container.svg b/files/opencs/scalable/referenceable record type/container.svg index 11ad79438..2a93954bd 100644 --- a/files/opencs/scalable/referenceable record type/container.svg +++ b/files/opencs/scalable/referenceable record type/container.svg @@ -23,9 +23,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="11.313709" - inkscape:cx="20.32374" - inkscape:cy="21.784699" + inkscape:zoom="8.0000004" + inkscape:cx="7.2255179" + inkscape:cy="2.9394873" inkscape:document-units="px" inkscape:current-layer="g9364" showgrid="true" @@ -43,1219 +43,1477 @@ inkscape:snap-bbox-edge-midpoints="false" inkscape:snap-bbox-midpoints="false" inkscape:object-paths="true" - inkscape:snap-intersection-paths="false" + inkscape:snap-intersection-paths="true" inkscape:object-nodes="true" inkscape:snap-global="true" - inkscape:snap-smooth-nodes="false" + inkscape:snap-smooth-nodes="true" inkscape:snap-grids="false" inkscape:snap-nodes="true" inkscape:snap-midpoints="false"> + type="xygrid" + id="grid3225" /> + + + + + id="linearGradient6181" + inkscape:collect="always"> + + + + + + + + + + + + + style="stop-color:#000000;stop-opacity:1;" /> + + + + + + + + + + + + + + + style="stop-color:#d07200;stop-opacity:1;" /> + + + + + style="stop-color:#000e50;stop-opacity:1;" /> + style="stop-color:#002bf4;stop-opacity:1;" /> + style="stop-color:#ffcb80;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:1;" /> + id="stop8862" /> + id="stop8864" /> + id="stop8852" /> + style="stop-color:#ffffff;stop-opacity:1;" /> + id="stop8834" /> + id="stop8836" /> + id="stop4482" /> + id="stop4484" /> + inkscape:collect="always" + id="linearGradient3882"> + id="stop3884" /> + id="stop3886" /> + id="stop3941" /> + id="stop3943" /> + id="stop3881" /> + id="stop3883" /> + id="stop3869" /> + id="stop3871" /> + id="stop3855" /> + style="stop-color:#caf8db;stop-opacity:0.58823532;" /> + id="stop3857" /> + id="stop3847" /> + id="stop3849" /> + id="stop3839" /> + id="stop3841" /> + inkscape:collect="always" + id="linearGradient5958"> + id="stop5960" /> + id="stop5962" /> + id="stop5924" /> + id="stop5926" /> + style="stop-color:#000000;stop-opacity:1;" /> + id="stop6825" /> + style="stop-color:#3c3c3c;stop-opacity:0;" /> + style="stop-color:#204a87;stop-opacity:1;" /> + style="stop-color:#729fcf;stop-opacity:1;" /> + style="stop-color:#ffffff;stop-opacity:0.78431374;" /> + style="stop-color:#ffffff;stop-opacity:0;" /> + style="stop-color:#99bbd4;stop-opacity:1;" /> + style="stop-color:#5d93ba;stop-opacity:1;" /> + style="stop-color:#a6c4d9;stop-opacity:0.78431374;" /> + style="stop-color:#75a3c3;stop-opacity:1;" /> - + - - - - + + y1="936.95227" + x1="63.765881" + id="linearGradient3721" + xlink:href="#linearGradient3715" + inkscape:collect="always" /> + y1="948.8266" + x1="37.375645" + id="linearGradient3729" + xlink:href="#linearGradient3723" + inkscape:collect="always" /> - - + inkscape:collect="always" /> - - + id="linearGradient3737" + xlink:href="#linearGradient3707" + inkscape:collect="always" /> + id="linearGradient3739" + xlink:href="#linearGradient3723" + inkscape:collect="always" /> - + + + + + + + + + id="stop3820" /> + id="stop3822" /> + fx="-171.01654" + cy="123.88583" + cx="-171.01654" + gradientTransform="matrix(0.23290796,0.98292589,-1.5211573,0.36044393,244.44953,1091.8596)" + gradientUnits="userSpaceOnUse" + id="radialGradient5639" + xlink:href="#linearGradient3715-2" + inkscape:collect="always" /> + id="stop3717-4" /> + id="stop3719-9" /> + fx="-182.4375" + cy="116.19179" + cx="-182.4375" + gradientTransform="matrix(0.30667246,1.5835715,-1.396495,0.27044345,227.36718,1219.3395)" + gradientUnits="userSpaceOnUse" + id="radialGradient5641" + xlink:href="#linearGradient5299" + inkscape:collect="always" /> + id="stop5301" /> + id="stop5303" /> + fx="-172.875" + cy="119.59179" + cx="-172.875" + gradientTransform="matrix(1.0541003,0.65674043,-0.42405323,0.68062603,240.54684,45.0811)" + gradientUnits="userSpaceOnUse" + id="radialGradient6812" + xlink:href="#linearGradient3715-2" + inkscape:collect="always" /> - + + y1="941.44623" + x1="63.765881" + gradientTransform="matrix(0.37749331,0,0,0.37749331,-0.0711918,657.55701)" + gradientUnits="userSpaceOnUse" + id="linearGradient2843" + xlink:href="#linearGradient3715-6" + inkscape:collect="always" /> + style="stop-color:#99bbd4;stop-opacity:1;" /> + style="stop-color:#5d93ba;stop-opacity:1;" /> - + gradientTransform="matrix(-0.37749331,0,0,0.37749331,4.1838142,536.26868)" + x1="63.765881" + y1="941.44623" + x2="63.765881" + y2="965.56183" /> + + y2="37.613949" + x2="26.643335" + y1="39.630547" + x1="27.183681" + id="linearGradient6823-6" + xlink:href="#linearGradient6815-6" + inkscape:collect="always" /> + style="stop-color:#000000;stop-opacity:1;" /> + id="stop6825-9" /> + style="stop-color:#3c3c3c;stop-opacity:0;" /> + fx="-172.875" + cy="119.59179" + cx="-172.875" + gradientTransform="matrix(1.0541003,0.65674043,-0.42405323,0.68062603,158.26577,1130.8958)" + gradientUnits="userSpaceOnUse" + id="radialGradient5639-0" + xlink:href="#linearGradient3715-2-4" + inkscape:collect="always" /> + id="stop3717-4-8" /> + id="stop3719-9-7" /> + fx="-182.4375" + cy="116.19179" + cx="-182.4375" + gradientTransform="matrix(0.30667246,1.5835715,-1.396495,0.27044345,218.94267,1272.3725)" + gradientUnits="userSpaceOnUse" + id="radialGradient5641-1" + xlink:href="#linearGradient5299-7" + inkscape:collect="always" /> + id="stop5301-2" /> + id="stop5303-7" /> - - + spreadMethod="reflect" /> + + + id="radialGradient3843" + cx="-97.089668" + cy="-33.913769" + fx="-97.089668" + fy="-33.913769" + r="20" + gradientTransform="matrix(-0.03337852,1.2984223,-1.7840914,0.11666088,-155.09309,1098.8832)" + gradientUnits="userSpaceOnUse" /> + id="radialGradient3851" + cx="34.5625" + cy="54.418995" + fx="34.5625" + fy="54.418995" + r="13.49375" + gradientTransform="matrix(1.3458814,-1.3743665,1.2334026,1.233403,-192.05563,977.88376)" + gradientUnits="userSpaceOnUse" /> - + gradientTransform="translate(44.104424,-40.169184)" /> + + id="radialGradient3875" + cx="-150.6485" + cy="-33.680485" + fx="-150.6485" + fy="-33.680485" + r="19.749271" + gradientTransform="matrix(0.99999984,-2.6136065e-7,1.3555931e-7,0.44755236,-2.2357346,-2.665094)" + gradientUnits="userSpaceOnUse" /> - - - - - + gradientUnits="userSpaceOnUse" /> - - - + - - - - - + r="3.4179688" /> - - + + + id="radialGradient3905" + gradientUnits="userSpaceOnUse" + cx="30.273438" + cy="53.175781" + fx="30.273438" + fy="53.175781" + r="3.4179688" /> + + + + + gradientTransform="translate(0.20586672,1.984673e-5)" /> + + + id="radialGradient3951" + gradientUnits="userSpaceOnUse" + cx="30.273438" + cy="53.175781" + fx="30.273438" + fy="53.175781" + r="3.4179688" /> + + + + + + id="radialGradient3963" + gradientUnits="userSpaceOnUse" + cx="30.273438" + cy="53.175781" + fx="30.273438" + fy="53.175781" + r="3.4179688" /> + - + + id="linearGradient4486" + x1="-152.88422" + y1="-17.455395" + x2="-152.88422" + y2="-41.022785" + gradientUnits="userSpaceOnUse" /> - + - + - + gradientTransform="matrix(0.99999984,-2.6136065e-7,1.3555931e-7,0.44755236,-2.2357346,-2.665094)" + cx="-150.6485" + cy="-33.680485" + fx="-150.6485" + fy="-33.680485" + r="19.749271" /> + - + gradientTransform="matrix(0.91762814,0,0,1.0003875,-5.0078269,1004.2961)" + spreadMethod="reflect" + x1="-72.843758" + y1="-45.656265" + x2="-72.843758" + y2="-45.944225" /> + + id="radialGradient5618" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(-0.03337852,1.2984223,-1.7840914,0.11666088,-155.09309,1098.8832)" + cx="-97.089668" + cy="-33.913769" + fx="-97.089668" + fy="-33.913769" + r="20" /> + id="stop4678" /> + id="stop4680" /> + id="stop4693" /> + id="stop4695" /> + id="stop4715" /> + style="stop-color:#707070;stop-opacity:0;" /> + id="stop4717" /> + id="stop4725" /> + id="stop4727" /> + id="stop4655" /> + id="stop4657" /> + y2="1093.0337" + x2="186.81903" + y1="1139.3492" + x1="203.09436" + id="linearGradient9295" + xlink:href="#linearGradient9289" + inkscape:collect="always" /> + x2="127.51315" + y1="1154.9745" + x1="124.46073" + id="linearGradient9311" + xlink:href="#linearGradient9305" + inkscape:collect="always" /> + + id="linearGradient9315" + xlink:href="#linearGradient8832" + inkscape:collect="always" /> + + + + + y1="1219.9902" + x1="143.30029" + gradientUnits="userSpaceOnUse" + id="linearGradient9359" + xlink:href="#linearGradient8832" + inkscape:collect="always" /> + + id="linearGradient6042" + xlink:href="#linearGradient6034" + inkscape:collect="always" /> + + + + + id="linearGradient4261" + xlink:href="#linearGradient6034" + inkscape:collect="always" /> + y2="40.483025" + x2="5.8733339" + y1="42.337013" + x1="5.8733339" + id="linearGradient5031" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + y2="26.024555" + x2="16.901522" + y1="25.302221" + x1="15.650404" + id="linearGradient5041" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + y2="25.241705" + x2="34.729317" + y1="26.024555" + x1="33.373379" + id="linearGradient5049" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + y2="21.523092" + x2="16.90152" + y1="23.258371" + x1="16.90152" + id="linearGradient5057" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + y2="24.861507" + x2="15.974848" + y1="28.879158" + x1="5.8733373" + id="linearGradient5095" + xlink:href="#linearGradient5089" + inkscape:collect="always" /> + y2="24.798422" + x2="34.262527" + y1="29.089437" + x1="44.388447" + id="linearGradient5105" + xlink:href="#linearGradient5099" + inkscape:collect="always" /> + y2="16.485245" + x2="33.37338" + y1="16.485245" + x1="16.901521" + id="linearGradient6115" + xlink:href="#linearGradient6109" + inkscape:collect="always" /> + id="linearGradient6157" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + id="linearGradient6159" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + id="linearGradient6161" + xlink:href="#linearGradient5025" + inkscape:collect="always" /> + gradientUnits="userSpaceOnUse" + y2="1074.7314" + x2="227.6591" + y1="1120.4557" + x1="227.6591" + id="linearGradient6171" + xlink:href="#linearGradient6165" + inkscape:collect="always" /> + + + + + + + + + + + + + + + + + @@ -1270,90 +1528,61 @@ + inkscape:groupmode="layer" + inkscape:label="Livello 1"> + transform="matrix(0.29626046,0,0,0.29626046,-45.835699,695.27639)" + id="g8044"> - + transform="translate(1.4700294,-5.8981036)" + id="g9364"> - - - - - - - - + transform="translate(98.027824,-15.186023)" /> + + id="path4273" + d="m 206.47648,1074.7314 55.59925,0 0,45.7242 -55.59925,10e-5 0,-45.7243" + style="fill:url(#linearGradient6171-857-364-729);fill-opacity:1;stroke:#303030;stroke-opacity:1;stroke-width:1.01262247;stroke-miterlimit:4;stroke-dasharray:none" /> + - + id="path4275" + d="m 169.25186,1139.4281 130.00422,0 -10e-6,45.4257 -130.00422,0 z" + style="fill:url(#linearGradient6157);fill-opacity:1;stroke:#232323;stroke-opacity:1;stroke-width:1.01262247;stroke-miterlimit:4;stroke-dasharray:none" /> + transform="matrix(3.3754082,0,0,3.3754082,146.59884,1045.162)" + d="m 29.499998,34.65625 c 0,1.950255 -1.580995,3.53125 -3.53125,3.53125 -1.950255,0 -3.53125,-1.580995 -3.53125,-3.53125 0,-1.950255 1.580995,-3.53125 3.53125,-3.53125 1.950255,0 3.53125,1.580995 3.53125,3.53125 z" + sodipodi:ry="3.5312498" + sodipodi:rx="3.5312498" + sodipodi:cy="34.65625" + sodipodi:cx="25.968748" + id="path6147" + style="fill:url(#radialGradient6179);fill-opacity:1;stroke:url(#radialGradient6187);stroke-opacity:1" + sodipodi:type="arc" /> + id="g9321" /> From e97319c0bba33b551861183a0d5f0d799f2b978f Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sat, 23 Mar 2013 19:32:37 +0100 Subject: [PATCH 08/38] Drawer as container icon looks actually quite good IMHO. --- .../referenceable record type/container.svg | 183 +++++++++++++----- 1 file changed, 134 insertions(+), 49 deletions(-) diff --git a/files/opencs/scalable/referenceable record type/container.svg b/files/opencs/scalable/referenceable record type/container.svg index 2a93954bd..6c4973708 100644 --- a/files/opencs/scalable/referenceable record type/container.svg +++ b/files/opencs/scalable/referenceable record type/container.svg @@ -23,11 +23,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="8.0000004" - inkscape:cx="7.2255179" - inkscape:cy="2.9394873" + inkscape:zoom="5.6568545" + inkscape:cx="-6.640249" + inkscape:cy="16.907775" inkscape:document-units="px" - inkscape:current-layer="g9364" + inkscape:current-layer="g8044" showgrid="true" showguides="true" inkscape:guide-bbox="true" @@ -45,7 +45,7 @@ inkscape:object-paths="true" inkscape:snap-intersection-paths="true" inkscape:object-nodes="true" - inkscape:snap-global="true" + inkscape:snap-global="false" inkscape:snap-smooth-nodes="true" inkscape:snap-grids="false" inkscape:snap-nodes="true" @@ -72,6 +72,18 @@ + + + + @@ -1502,7 +1514,8 @@ x1="227.6591" id="linearGradient6171-857-364-729" xlink:href="#linearGradient6165-696-389-794" - inkscape:collect="always" /> + inkscape:collect="always" + gradientTransform="matrix(0.87072097,0,0,1.0005854,30.284126,-0.66139717)" /> + + + + + + + @@ -1536,49 +1620,50 @@ transform="matrix(0.29626046,0,0,0.29626046,-45.835699,695.27639)" id="g8044"> - - - - - - - - + transform="translate(99.497853,-21.084127)" + style="fill:#ff0000;fill-opacity:1;stroke:none" + id="g3951" /> + + + + + + + Date: Sat, 23 Mar 2013 19:53:10 +0100 Subject: [PATCH 09/38] Update the status icons. X as removed.svg and backgrounds for status icons stolen from oxygen emblems :P It gives clear look for it. --- files/opencs/scalable/status/added.svg | 60 +- files/opencs/scalable/status/modified.svg | 60 +- files/opencs/scalable/status/removed.svg | 985 ++++++++++------------ 3 files changed, 577 insertions(+), 528 deletions(-) diff --git a/files/opencs/scalable/status/added.svg b/files/opencs/scalable/status/added.svg index a5767d23b..e0af57002 100644 --- a/files/opencs/scalable/status/added.svg +++ b/files/opencs/scalable/status/added.svg @@ -23,9 +23,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="2.8284271" - inkscape:cx="6.6635778" - inkscape:cy="31.541579" + inkscape:zoom="5.6568542" + inkscape:cx="27.462558" + inkscape:cy="10.232345" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -878,6 +878,29 @@ stdDeviation="57.354192" id="feGaussianBlur4632" /> + + + + + @@ -896,6 +919,35 @@ id="layer1" inkscape:groupmode="layer" inkscape:label="Livello 1"> + + + + + + + + + + + + style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-linejoin:round" /> + + + + + @@ -1081,6 +1104,35 @@ + + + + + + + + + + + - - + inkscape:snap-nodes="true" /> + id="linearGradient3902" + inkscape:collect="always"> - - - - - - - - - - - - - - - - - - - - - - - - - + style="stop-color:#000000;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:0;" /> + id="linearGradient3886" + inkscape:collect="always"> + style="stop-color:#fff226;stop-opacity:1;" /> + style="stop-color:#fff226;stop-opacity:0;" /> + id="linearGradient9248"> + style="stop-color:#ffffff;stop-opacity:1;" /> + style="stop-color:#b4b4b4;stop-opacity:1;" /> + id="linearGradient8521"> - + style="stop-color:#00105d;stop-opacity:1;" /> + style="stop-color:#00105d;stop-opacity:0;" /> + id="linearGradient7487"> + id="stop7489" /> - - - - - - - - + id="stop7491" /> + id="linearGradient6034"> + id="stop6036" /> + id="stop6038" /> @@ -443,17 +343,6 @@ offset="1" id="stop3822" /> - - - - - - - + id="linearGradient3955-87-471"> + + + + + + + + + + - - - - - - - - - - - - + gradientTransform="translate(-5.8907179,205.15612)" /> + gradientTransform="matrix(1,0,0,0.60717495,0,6.6355278)" + r="3.1054714" + fy="16.891813" + fx="29.111721" + cy="16.891813" + cx="29.111721" + id="radialGradient3892" + xlink:href="#linearGradient3886" + inkscape:collect="always" /> + gradientTransform="matrix(2.1494315,0.36121083,-0.30519899,1.8161266,2.9871553,-34.404392)" + r="15.46875" + fy="32.971859" + fx="13.599908" + cy="32.971859" + cx="13.599908" + id="radialGradient3908" + xlink:href="#linearGradient3902" + inkscape:collect="always" /> + + + + + + + + + gradientTransform="matrix(1,0,0,1.0000234,0,-0.00345228)" + cx="237.35278" + cy="147.22479" + fx="237.35278" + fy="147.22479" + r="107.16857" /> - + id="linearGradient3880"> + + + + gradientTransform="matrix(0.43641683,0,0,0.43645606,205.85223,33.676924)" + cx="72.191498" + cy="260.15875" + fx="72.191498" + fy="260.15875" + r="149.18433" /> + + + + + gradientTransform="matrix(1,0,0,1.0000234,0,-0.00611206)" + cx="83.637177" + cy="260.86032" + fx="83.637177" + fy="260.86032" + r="107.16857" /> + + + + + gradientTransform="matrix(0.43641683,0,0,0.43645606,52.136611,147.31246)" + cx="72.191498" + cy="260.15875" + fx="72.191498" + fy="260.15875" + r="149.18433" /> + + + + + gradientTransform="matrix(1,0,0,1.0000234,0,-0.00345228)" + cx="237.35278" + cy="147.22479" + fx="237.35278" + fy="147.22479" + r="107.16857" /> + + + + + gradientTransform="matrix(0.43641683,0,0,0.43645606,205.85223,33.676924)" + cx="72.191498" + cy="260.15875" + fx="72.191498" + fy="260.15875" + r="149.18433" /> + + + + + xlink:href="#linearGradient3880" + id="radialGradient3888" + cx="237.35278" + cy="147.22479" + fx="237.35278" + fy="147.22479" + r="107.16857" + gradientTransform="matrix(1,0,0,1.0000234,0,-0.00345228)" + gradientUnits="userSpaceOnUse" /> + + + + + gradientTransform="matrix(0.43641683,0,0,0.43645606,205.85223,33.676924)" + cx="72.191498" + cy="260.15875" + fx="72.191498" + fy="260.15875" + r="149.18433" /> + + + + + xlink:href="#linearGradient3880" + id="radialGradient3886" + cx="83.637177" + cy="260.86032" + fx="83.637177" + fy="260.86032" + r="107.16857" + gradientTransform="matrix(1,0,0,1.0000234,0,-0.00611206)" + gradientUnits="userSpaceOnUse" /> + + + + + gradientTransform="matrix(0.43641683,0,0,0.43645606,52.136611,147.31246)" + cx="72.191498" + cy="260.15875" + fx="72.191498" + fy="260.15875" + r="149.18433" /> + + + + - + id="radialGradient3964" + xlink:href="#linearGradient3846" + inkscape:collect="always" /> + id="filter4622"> + stdDeviation="57.354192" + id="feGaussianBlur4624" /> + id="filter4630"> + stdDeviation="57.354192" + id="feGaussianBlur4632" /> + + + + + @@ -989,36 +920,50 @@ inkscape:groupmode="layer" inkscape:label="Livello 1"> + id="g6138" + transform="translate(3.5529905,1004.1857)"> - - - + transform="matrix(3.2000002,0,0,3.2000002,101.31818,-39.364891)" + id="g6116"> + + + + + + + + + + From b7f95cd271b522f28d4dcf86799648ecd43e785f Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sun, 24 Mar 2013 10:19:46 +0100 Subject: [PATCH 10/38] Random item (dice). Container.svg needs to be scraped, I'm afraid. --- .../referenceable record type/container.svg | 2358 +++++++++-------- .../referenceable record type/potion.svg | 107 +- .../referenceable record type/random item.svg | 1462 ++++++++++ 3 files changed, 2839 insertions(+), 1088 deletions(-) create mode 100644 files/opencs/scalable/referenceable record type/random item.svg diff --git a/files/opencs/scalable/referenceable record type/container.svg b/files/opencs/scalable/referenceable record type/container.svg index 6c4973708..8c9465b66 100644 --- a/files/opencs/scalable/referenceable record type/container.svg +++ b/files/opencs/scalable/referenceable record type/container.svg @@ -23,11 +23,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="5.6568545" - inkscape:cx="-6.640249" - inkscape:cy="16.907775" + inkscape:zoom="11.313709" + inkscape:cx="13.572484" + inkscape:cy="13.658831" inkscape:document-units="px" - inkscape:current-layer="g8044" + inkscape:current-layer="g3302" showgrid="true" showguides="true" inkscape:guide-bbox="true" @@ -51,1553 +51,1721 @@ inkscape:snap-nodes="true" inkscape:snap-midpoints="false"> + id="grid3225" + type="xygrid" /> + id="guide5067" /> + id="guide5069" /> + id="guide5071" /> + id="guide5073" /> + id="linearGradient4932"> + + + + + + + + + + style="stop-color:#000000;stop-opacity:1;" /> + + style="stop-color:#000000;stop-opacity:1;" /> + + + + + style="stop-color:#eeeeee;stop-opacity:1;" /> + style="stop-color:#e1fbfa;stop-opacity:1;" /> + id="linearGradient4843"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="stop6167" /> + id="stop6169" /> + id="stop6111" /> + style="stop-color:#000000;stop-opacity:0;" /> + id="stop6113" /> + id="stop5101" /> + id="stop5103" /> + id="stop5091" /> + id="stop5093" /> + id="stop5027" /> + style="stop-color:#502c00;stop-opacity:1;" /> + id="stop5029" /> + id="stop3976" /> + id="stop3978" /> + id="stop9307" /> + id="stop9309" /> + id="stop9291" /> + id="stop9293" /> + style="stop-color:#ff0000;stop-opacity:1;" /> + style="stop-color:#ff0000;stop-opacity:0;" /> + style="stop-color:#b3bbad;stop-opacity:1;" /> + id="stop8858" /> + style="stop-color:#d07200;stop-opacity:1;" /> + style="stop-color:#965200;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:0;" /> + style="stop-color:#000000;stop-opacity:1;" /> + id="linearGradient3882" + inkscape:collect="always"> + style="stop-color:#000000;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:0;" /> + style="stop-color:#000000;stop-opacity:0.784" /> + style="stop-color:#000000;stop-opacity:0;" /> + style="stop-color:#ffffff;stop-opacity:0.78431374;" /> + style="stop-color:#b4b4b4;stop-opacity:0.72549021;" /> + style="stop-color:#5a0048;stop-opacity:1;" /> + style="stop-color:#960078;stop-opacity:1;" /> + style="stop-color:#caf8f6;stop-opacity:0.39215687;" /> + id="stop3861" /> + style="stop-color:#caf8f6;stop-opacity:0.39215687;" /> + style="stop-color:#aa0088;stop-opacity:1;" /> + style="stop-color:#fa00c8;stop-opacity:1;" /> + style="stop-color:#ffffff;stop-opacity:0.78431374;" /> + style="stop-color:#caf8f6;stop-opacity:0;" /> + id="linearGradient5958" + inkscape:collect="always"> + style="stop-color:#caf8f6;stop-opacity:1;" /> + style="stop-color:#caf8f6;stop-opacity:0;" /> + style="stop-color:#c84900;stop-opacity:1;" /> + style="stop-color:#c84900;stop-opacity:0.19607843;" /> + id="stop6817" /> + style="stop-color:#3c3c3c;stop-opacity:0.58823532;" /> + id="stop6819" /> + id="stop4024" /> + id="stop4026" /> + id="stop3725" /> + id="stop3727" /> + id="stop3717" /> + id="stop3719" /> + id="stop3709" /> + id="stop3711" /> - + + inkscape:vp_z="1 : 0.5 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_x="0 : 0.5 : 1" + sodipodi:type="inkscape:persp3d" /> - - - + gradientTransform="translate(0.2341189,5.74082)" /> + gradientTransform="translate(0.2341196,6.0908086)" /> + gradientTransform="translate(0.2341189,5.74082)" /> + gradientTransform="translate(0.2341196,6.0908086)" + x1="63.765881" + y1="936.95227" + x2="63.765881" + y2="983.41931" /> - - + y2="1029.8864" /> + + id="linearGradient3742" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0066488,0,0,1.0066488,0.21965498,-1.1089658)" + x1="63.765881" + y1="949.3266" + x2="63.765881" + y2="1029.8864" /> + + gradientTransform="matrix(1.0066488,0,0,1.0066488,0.21965567,-0.75665045)" + x1="63.765881" + y1="936.95227" + x2="63.765881" + y2="983.41931" /> + gradientTransform="matrix(1.0066488,0,0,1.0066488,0.21965567,-0.75665045)" + x1="63.765881" + y1="936.95227" + x2="63.765881" + y2="983.41931" /> + + + gradientTransform="matrix(0.91716429,0,0,0.91716429,2.2512556,85.18512)" /> + + style="stop-color:#1e1e1e;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:0;" /> + id="radialGradient5639" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.23290796,0.98292589,-1.5211573,0.36044393,244.44953,1091.8596)" + cx="-171.01654" + cy="123.88583" + fx="-171.01654" + fy="123.88583" + r="29.000444" /> + style="stop-color:#ffffff;stop-opacity:1;" /> + style="stop-color:#b3bbad;stop-opacity:1;" /> + id="radialGradient5641" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.30667246,1.5835715,-1.396495,0.27044345,227.36718,1219.3395)" + cx="-182.4375" + cy="116.19179" + fx="-182.4375" + fy="116.19179" + r="28.421875" /> + style="stop-color:#000e50;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:1;" /> - + + xlink:href="#linearGradient6815" + id="linearGradient6823" + x1="27.183681" + y1="39.630547" + x2="26.643335" + y2="37.613949" + gradientUnits="userSpaceOnUse" /> + id="linearGradient2843" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.37749331,0,0,0.37749331,-0.0711918,657.55701)" + x1="63.765881" + y1="941.44623" + x2="63.765881" + y2="965.56183" /> + id="stop3717-6" /> + id="stop3719-4" /> - + x1="63.765881" + gradientTransform="matrix(-0.37749331,0,0,0.37749331,4.1838142,536.26868)" + gradientUnits="userSpaceOnUse" + id="linearGradient3184" + xlink:href="#linearGradient3715-6" + inkscape:collect="always" /> + + id="stop6817-4" /> + style="stop-color:#3c3c3c;stop-opacity:0.58823532;" /> + id="stop6819-5" /> + id="radialGradient5639-0" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0541003,0.65674043,-0.42405323,0.68062603,158.26577,1130.8958)" + cx="-172.875" + cy="119.59179" + fx="-172.875" + fy="119.59179" + r="29.000444" /> + style="stop-color:#ffffff;stop-opacity:1;" /> + style="stop-color:#b3bbad;stop-opacity:1;" /> + id="radialGradient5641-1" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.30667246,1.5835715,-1.396495,0.27044345,218.94267,1272.3725)" + cx="-182.4375" + cy="116.19179" + fx="-182.4375" + fy="116.19179" + r="28.421875" /> + style="stop-color:#000e50;stop-opacity:1;" /> + style="stop-color:#000000;stop-opacity:1;" /> + id="radialGradient3063" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.30667246,1.5835715,-1.396495,0.27044345,136.6616,1353.825)" + cx="-182.4375" + cy="116.19179" + fx="-182.4375" + fy="116.19179" + r="28.421875" /> + y2="-45.944225" + x2="-72.843758" + y1="-45.656265" + x1="-72.843758" + id="linearGradient5928" + xlink:href="#linearGradient5922" + inkscape:collect="always" /> + r="20.15" + fy="-39.275696" + fx="-103.70541" + cy="-39.275696" + cx="-103.70541" + id="radialGradient5964" + xlink:href="#linearGradient5958" + inkscape:collect="always" /> + x2="-72.843758" + y1="-45.656265" + x1="-72.843758" + spreadMethod="reflect" + gradientUnits="userSpaceOnUse" + id="linearGradient5973" + xlink:href="#linearGradient5922" + inkscape:collect="always" /> + r="20" + fy="-33.913769" + fx="-97.089668" + cy="-33.913769" + cx="-97.089668" + id="radialGradient3843" + xlink:href="#linearGradient3837" + inkscape:collect="always" /> + r="13.49375" + fy="54.418995" + fx="34.5625" + cy="54.418995" + cx="34.5625" + id="radialGradient3851" + xlink:href="#linearGradient3867" + inkscape:collect="always" /> + y2="1017.9076" + x2="-104.17097" + y1="1017.7004" + x1="-140.89291" + id="linearGradient3859" + xlink:href="#linearGradient3853" + inkscape:collect="always" /> + fx="-116.29909" + cy="-37.504356" + cx="-116.29909" + gradientTransform="matrix(-0.00108712,0.18221846,-0.82985011,4.6460161e-7,-113.08325,972.23283)" + gradientUnits="userSpaceOnUse" + id="radialGradient3865" + xlink:href="#linearGradient3837" + inkscape:collect="always" /> - + r="19.749271" + fy="-33.680485" + fx="-150.6485" + cy="-33.680485" + cx="-150.6485" + id="radialGradient3875" + xlink:href="#linearGradient3845" + inkscape:collect="always" /> - - - - + inkscape:collect="always" /> - - - - - + inkscape:collect="always" /> - - - - - + inkscape:collect="always" /> + + + + + + fx="30.273438" + cy="53.175781" + cx="30.273438" + gradientUnits="userSpaceOnUse" + id="radialGradient3917" + xlink:href="#linearGradient3879" + inkscape:collect="always" /> + + + + + + fx="30.273438" + cy="53.175781" + cx="30.273438" + gradientUnits="userSpaceOnUse" + id="radialGradient3953" + xlink:href="#linearGradient3879" + inkscape:collect="always" /> + + + + + + fx="30.273438" + cy="53.175781" + cx="30.273438" + gradientUnits="userSpaceOnUse" + id="radialGradient3965" + xlink:href="#linearGradient3879" + inkscape:collect="always" /> + gradientTransform="matrix(0.13602194,8.9478727e-7,-2.3305974e-7,0.03057111,-132.08862,-21.48071)" + r="19.749271" + fy="-22.158251" + fx="-152.88422" + cy="-22.158251" + cx="-152.88422" + id="radialGradient3888" + xlink:href="#linearGradient3882" + inkscape:collect="always" /> + x2="-152.88422" + y1="-17.455395" + x1="-152.88422" + id="linearGradient4486" + xlink:href="#linearGradient4480" + inkscape:collect="always" /> - + - + - + id="radialGradient5610" + xlink:href="#linearGradient3845" + inkscape:collect="always" /> + - + id="linearGradient5614" + xlink:href="#linearGradient5922" + inkscape:collect="always" /> + + fx="-97.089668" + cy="-33.913769" + cx="-97.089668" + gradientTransform="matrix(-0.03337852,1.2984223,-1.7840914,0.11666088,-155.09309,1098.8832)" + gradientUnits="userSpaceOnUse" + id="radialGradient5618" + xlink:href="#linearGradient3837" + inkscape:collect="always" /> + style="stop-color:#d07200;stop-opacity:1;" /> + style="stop-color:#603500;stop-opacity:1;" /> + style="stop-color:#ffffff;stop-opacity:1;" /> + style="stop-color:#cccccc;stop-opacity:0;" /> + style="stop-color:#000000;stop-opacity:1" /> + id="stop4721" /> + style="stop-color:#000000;stop-opacity:1;" /> + style="stop-color:#969696;stop-opacity:1;" /> + style="stop-color:#cccccc;stop-opacity:1;" /> + style="stop-color:#fa00c8;stop-opacity:1;" /> + style="stop-color:#aa0088;stop-opacity:1;" /> - + + id="linearGradient9311" + x1="124.46073" + y1="1154.9745" + x2="127.51315" + y2="1151.9221" + gradientUnits="userSpaceOnUse" /> - + x1="199.76904" + y1="110.00295" + x2="236.769" + y2="78.409447" /> + x1="143.30029" + y1="1219.9902" + x2="72.589622" + y2="1149.2795" /> + x1="158.40988" + y1="1098.7366" + x2="147.26907" + y2="1109.0519" /> + x1="235.71814" + y1="1196.6267" + x2="292.90564" + y2="1135.908" + gradientTransform="translate(5.6098624,8.1772778)" /> + x1="199.76904" + y1="110.00295" + x2="236.769" + y2="78.409447" /> + x1="124.46073" + y1="1154.9745" + x2="127.51315" + y2="1151.9221" /> + x1="143.30029" + y1="1219.9902" + x2="72.589622" + y2="1149.2795" /> + + id="linearGradient6042" + gradientUnits="userSpaceOnUse" + x1="-2256.6802" + y1="1067.036" + x2="37.487514" + y2="2532.4438" + gradientTransform="translate(-1.6900304,-354.84909)" /> + id="stop6036" /> + id="stop6038" /> - + gradientTransform="matrix(0.05826577,0,0,0.05826577,458.90519,929.78821)" + x1="-2256.6802" + y1="1067.036" + x2="37.487514" + y2="2532.4438" /> - + spreadMethod="reflect" /> + id="linearGradient5041" + x1="15.650404" + y1="25.302221" + x2="16.901522" + y2="26.024555" + gradientUnits="userSpaceOnUse" + spreadMethod="reflect" /> + spreadMethod="reflect" /> + + + id="linearGradient5105" + x1="44.388447" + y1="29.089437" + x2="34.262527" + y2="24.798422" + gradientUnits="userSpaceOnUse" /> - + gradientTransform="matrix(3.3754082,0,0,3.3754082,149.42695,1041.9491)" /> - + + id="linearGradient6159" + gradientUnits="userSpaceOnUse" + spreadMethod="reflect" + x1="33.373379" + y1="26.024555" + x2="34.729317" + y2="25.241705" + gradientTransform="matrix(3.3754082,0,0,3.3754082,149.42695,1041.9491)" /> + + id="linearGradient6171" + x1="227.6591" + y1="1120.4557" + x2="227.6591" + y2="1074.7314" + gradientUnits="userSpaceOnUse" /> - + + id="radialGradient6187" + cx="25.968748" + cy="34.65625" + fx="25.968748" + fy="34.65625" + r="4.0312498" + gradientUnits="userSpaceOnUse" /> + id="linearGradient6171-857" + x1="227.6591" + y1="1120.4557" + x2="227.6591" + y2="1074.7314" + gradientUnits="userSpaceOnUse" /> + id="stop6426" /> + id="stop6428" /> + id="linearGradient6171-857-364" + x1="227.6591" + y1="1120.4557" + x2="227.6591" + y2="1074.7314" + gradientUnits="userSpaceOnUse" /> + id="stop6916" /> + id="stop6918" /> + xlink:href="#linearGradient6165-696-389-794" + id="linearGradient6171-857-364-729" + x1="227.6591" + y1="1120.4557" + x2="227.6591" + y2="1074.7314" + gradientUnits="userSpaceOnUse" /> + id="stop7414" /> + id="stop7416" /> + x2="223.25838" + y1="1184.9249" + x1="223.25838" + id="linearGradient7695" + xlink:href="#linearGradient7689" + inkscape:collect="always" /> + - + - + + id="linearGradient4906" + xlink:href="#linearGradient4853" + inkscape:collect="always" /> + id="linearGradient4908" + xlink:href="#linearGradient4853" + inkscape:collect="always" /> + id="linearGradient4910" + xlink:href="#linearGradient4885" + inkscape:collect="always" /> + id="linearGradient4912" + xlink:href="#linearGradient4885" + inkscape:collect="always" /> + + + + + + + + @@ -1612,62 +1780,120 @@ + id="layer1" + transform="translate(0,-1004.3622)"> + id="g8044" + transform="matrix(0.29626046,0,0,0.29626046,-45.835699,695.27639)"> - - - - - - - + transform="translate(99.497853,-21.084127)" /> + transform="translate(156.56239,-59.761743)" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/potion.svg b/files/opencs/scalable/referenceable record type/potion.svg index 612f45aa4..552c14f19 100644 --- a/files/opencs/scalable/referenceable record type/potion.svg +++ b/files/opencs/scalable/referenceable record type/potion.svg @@ -23,9 +23,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="7.2407734" - inkscape:cx="3.6117613" - inkscape:cy="14.120537" + inkscape:zoom="5.12" + inkscape:cx="-13.774317" + inkscape:cy="16.062941" inkscape:document-units="px" inkscape:current-layer="g3910" showgrid="true" @@ -41,7 +41,7 @@ inkscape:bbox-paths="true" inkscape:bbox-nodes="true" inkscape:snap-bbox-edge-midpoints="true" - inkscape:snap-bbox-midpoints="true" + inkscape:snap-bbox-midpoints="false" inkscape:object-paths="true" inkscape:snap-intersection-paths="false" inkscape:object-nodes="false" @@ -55,6 +55,21 @@ + + + + + + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.2031694,0,0,1.0551213,-87.506267,947.79452)" /> + + + + + @@ -1067,26 +1130,26 @@ d="m -133.13494,-22.158251 c 0,2.440777 -8.84205,4.419418 -19.74928,4.419418 -10.90722,0 -19.74927,-1.978641 -19.74927,-4.419418 0,-2.440777 8.84205,-4.419417 19.74927,-4.419417 10.90723,0 19.74928,1.97864 19.74928,4.419417 z" transform="matrix(0.33492065,0,0,0.3605492,-27.223425,956.85737)" /> + style="opacity:0.75;fill:url(#linearGradient3148);fill-opacity:1;stroke:#7d7d7d;stroke-width:0.43104154;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m -84.982974,948.64215 c -0.64997,0.0595 -1.165571,0.65963 -1.165571,1.38485 l 0,2.6378 c 0,0.7229 0.518091,1.32155 1.165571,1.38485 l 0,0.46162 c 0.544843,-0.74781 3.244284,-1.3189 6.504634,-1.3189 3.36081,0 6.119682,0.60297 6.542234,1.38484 l 0.0752,0 0,-0.52756 c 0.64747,-0.063 1.16557,-0.66195 1.16557,-1.38485 l 0,-2.6378 c 0,-0.73861 -0.535775,-1.34418 -1.203169,-1.38485 0.04468,0.0748 0.0752,0.15305 0.0752,0.23081 0,0.88002 -2.964378,1.58268 -6.617432,1.58268 -3.653054,0 -6.617431,-0.70266 -6.617431,-1.58268 0,-0.076 0.03245,-0.15762 0.0752,-0.23081 z" + id="path3920" + inkscape:connector-curvature="0" /> + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + From 37a1fb6b7c82a5477c17faf6ec8538e0e2a03676 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Tue, 26 Mar 2013 09:41:26 +0100 Subject: [PATCH 11/38] Adding ingredient.svg icon. I need to work on random-item and scrap container icon. --- .../referenceable record type/ingredient.svg | 1112 ++++++++++ .../referenceable record type/light.svg | 1513 +++++++++++++ .../referenceable record type/random-item.svg | 1462 +++++++++++++ .../scalable/referenceable-record/.directory | 5 + .../referenceable-record/activator.svg | 1088 ++++++++++ .../referenceable-record/apparatus.svg | 1058 +++++++++ .../scalable/referenceable-record/book.svg | 692 ++++++ .../referenceable-record/container.svg | 1899 +++++++++++++++++ .../referenceable-record/ingredient.svg | 1112 ++++++++++ .../scalable/referenceable-record/light.svg | 1513 +++++++++++++ .../scalable/referenceable-record/potion.svg | 1161 ++++++++++ .../referenceable-record/random-item.svg | 1462 +++++++++++++ .../scalable/referenceable-record/repair.svg | 1280 +++++++++++ .../scalable/referenceable-record/static.svg | 1141 ++++++++++ .../scalable/referenceable-record/weapon.svg | 1206 +++++++++++ 15 files changed, 17704 insertions(+) create mode 100644 files/opencs/scalable/referenceable record type/ingredient.svg create mode 100644 files/opencs/scalable/referenceable record type/light.svg create mode 100644 files/opencs/scalable/referenceable record type/random-item.svg create mode 100644 files/opencs/scalable/referenceable-record/.directory create mode 100644 files/opencs/scalable/referenceable-record/activator.svg create mode 100644 files/opencs/scalable/referenceable-record/apparatus.svg create mode 100644 files/opencs/scalable/referenceable-record/book.svg create mode 100644 files/opencs/scalable/referenceable-record/container.svg create mode 100644 files/opencs/scalable/referenceable-record/ingredient.svg create mode 100644 files/opencs/scalable/referenceable-record/light.svg create mode 100644 files/opencs/scalable/referenceable-record/potion.svg create mode 100644 files/opencs/scalable/referenceable-record/random-item.svg create mode 100644 files/opencs/scalable/referenceable-record/repair.svg create mode 100644 files/opencs/scalable/referenceable-record/static.svg create mode 100644 files/opencs/scalable/referenceable-record/weapon.svg diff --git a/files/opencs/scalable/referenceable record type/ingredient.svg b/files/opencs/scalable/referenceable record type/ingredient.svg new file mode 100644 index 000000000..a77a9c8ee --- /dev/null +++ b/files/opencs/scalable/referenceable record type/ingredient.svg @@ -0,0 +1,1112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/light.svg b/files/opencs/scalable/referenceable record type/light.svg new file mode 100644 index 000000000..f8f506636 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/light.svg @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable record type/random-item.svg b/files/opencs/scalable/referenceable record type/random-item.svg new file mode 100644 index 000000000..0c132ce95 --- /dev/null +++ b/files/opencs/scalable/referenceable record type/random-item.svg @@ -0,0 +1,1462 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/.directory b/files/opencs/scalable/referenceable-record/.directory new file mode 100644 index 000000000..e2d80ed58 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,21,10,19,49 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/referenceable-record/activator.svg b/files/opencs/scalable/referenceable-record/activator.svg new file mode 100644 index 000000000..0c6db59a7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/activator.svg @@ -0,0 +1,1088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/apparatus.svg b/files/opencs/scalable/referenceable-record/apparatus.svg new file mode 100644 index 000000000..37cef0e89 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/apparatus.svg @@ -0,0 +1,1058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/book.svg b/files/opencs/scalable/referenceable-record/book.svg new file mode 100644 index 000000000..8c041a9e7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/book.svg @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/container.svg b/files/opencs/scalable/referenceable-record/container.svg new file mode 100644 index 000000000..8c9465b66 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/container.svg @@ -0,0 +1,1899 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/ingredient.svg b/files/opencs/scalable/referenceable-record/ingredient.svg new file mode 100644 index 000000000..a77a9c8ee --- /dev/null +++ b/files/opencs/scalable/referenceable-record/ingredient.svg @@ -0,0 +1,1112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/light.svg b/files/opencs/scalable/referenceable-record/light.svg new file mode 100644 index 000000000..f8f506636 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/light.svg @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/potion.svg b/files/opencs/scalable/referenceable-record/potion.svg new file mode 100644 index 000000000..552c14f19 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/potion.svg @@ -0,0 +1,1161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/random-item.svg b/files/opencs/scalable/referenceable-record/random-item.svg new file mode 100644 index 000000000..0c132ce95 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/random-item.svg @@ -0,0 +1,1462 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/repair.svg b/files/opencs/scalable/referenceable-record/repair.svg new file mode 100644 index 000000000..b1a23956e --- /dev/null +++ b/files/opencs/scalable/referenceable-record/repair.svg @@ -0,0 +1,1280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/static.svg b/files/opencs/scalable/referenceable-record/static.svg new file mode 100644 index 000000000..a6f29370f --- /dev/null +++ b/files/opencs/scalable/referenceable-record/static.svg @@ -0,0 +1,1141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/weapon.svg b/files/opencs/scalable/referenceable-record/weapon.svg new file mode 100644 index 000000000..2e832fff7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/weapon.svg @@ -0,0 +1,1206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + From cf0c55b37fa033ab6748ffa814a6c89bddf7c543 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Tue, 26 Mar 2013 10:28:43 +0100 Subject: [PATCH 12/38] New random-item. Looks a lot better. --- .../referenceable-record/random-item.svg | 1560 ++--------------- 1 file changed, 127 insertions(+), 1433 deletions(-) diff --git a/files/opencs/scalable/referenceable-record/random-item.svg b/files/opencs/scalable/referenceable-record/random-item.svg index 0c132ce95..d051ce049 100644 --- a/files/opencs/scalable/referenceable-record/random-item.svg +++ b/files/opencs/scalable/referenceable-record/random-item.svg @@ -1,5 +1,5 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + inkscape:version="0.48.4 r9939" + sodipodi:docname="random-item.svg"> + id="metadata14614"> image/svg+xml - + + + + id="layer1"> + transform="translate(26.2199, 33.6274)" + fill="#fa0000" + d="M6.67184 0L6.67184 3.5776L0 3.5776L10.8901 14.3726L21.7801 3.5776L15.1083 3.5776L15.1083 0Z" /> - - - - - - - - - + transform="translate(-0.222381, -0.133277)" + fill="none"> + + + + + + + + + + + + + + + + + From 623f9c2a587d1bdeb836c0acbd2c029e651dbbde Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Wed, 27 Mar 2013 19:52:12 +0100 Subject: [PATCH 13/38] A new icon for misc iteams. I really hope that scales will do. --- .../referenceable-record/miscelanius.svg | 965 ++++++++++++++++++ .../referenceable-record/miscellaneous.svg | 692 +++++++++++++ 2 files changed, 1657 insertions(+) create mode 100644 files/opencs/scalable/referenceable-record/miscelanius.svg create mode 100644 files/opencs/scalable/referenceable-record/miscellaneous.svg diff --git a/files/opencs/scalable/referenceable-record/miscelanius.svg b/files/opencs/scalable/referenceable-record/miscelanius.svg new file mode 100644 index 000000000..96522048c --- /dev/null +++ b/files/opencs/scalable/referenceable-record/miscelanius.svg @@ -0,0 +1,965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/miscellaneous.svg b/files/opencs/scalable/referenceable-record/miscellaneous.svg new file mode 100644 index 000000000..8c041a9e7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/miscellaneous.svg @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + From faf293bd6d1f28827a6209fd63f63cba5d5aec29 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sun, 31 Mar 2013 09:50:35 +0200 Subject: [PATCH 14/38] Removing old directory. --- files/opencs/scalable/Palette.svg | 569 ----- .../referenceable record type/.directory | 5 - .../referenceable record type/activator.svg | 1088 ---------- .../referenceable record type/apparatus.svg | 1058 --------- .../referenceable record type/book.svg | 692 ------ .../referenceable record type/container.svg | 1899 ----------------- .../referenceable record type/ingredient.svg | 1112 ---------- .../light source.svg | 1513 ------------- .../referenceable record type/light.svg | 1513 ------------- .../referenceable record type/potion.svg | 1161 ---------- .../referenceable record type/random item.svg | 1462 ------------- .../referenceable record type/random-item.svg | 1462 ------------- .../referenceable record type/repair.svg | 1280 ----------- .../referenceable record type/static.svg | 1141 ---------- .../referenceable record type/weapon.svg | 1206 ----------- .../scalable/referenceable-record/.directory | 5 - .../referenceable-record/activator.svg | 1088 ---------- .../referenceable-record/apparatus.svg | 1058 --------- .../scalable/referenceable-record/book.svg | 692 ------ .../referenceable-record/container.svg | 1899 ----------------- .../referenceable-record/ingredient.svg | 1112 ---------- .../scalable/referenceable-record/light.svg | 1513 ------------- .../referenceable-record/miscelanius.svg | 965 --------- .../referenceable-record/miscellaneous.svg | 692 ------ .../scalable/referenceable-record/potion.svg | 1161 ---------- .../referenceable-record/random-item.svg | 156 -- .../scalable/referenceable-record/repair.svg | 1280 ----------- .../scalable/referenceable-record/static.svg | 1141 ---------- .../scalable/referenceable-record/weapon.svg | 1206 ----------- files/opencs/scalable/status/.directory | 5 - files/opencs/scalable/status/added.svg | 969 --------- files/opencs/scalable/status/modified.svg | 1192 ----------- files/opencs/scalable/status/removed.svg | 969 --------- 33 files changed, 34264 deletions(-) delete mode 100644 files/opencs/scalable/Palette.svg delete mode 100644 files/opencs/scalable/referenceable record type/.directory delete mode 100644 files/opencs/scalable/referenceable record type/activator.svg delete mode 100644 files/opencs/scalable/referenceable record type/apparatus.svg delete mode 100644 files/opencs/scalable/referenceable record type/book.svg delete mode 100644 files/opencs/scalable/referenceable record type/container.svg delete mode 100644 files/opencs/scalable/referenceable record type/ingredient.svg delete mode 100644 files/opencs/scalable/referenceable record type/light source.svg delete mode 100644 files/opencs/scalable/referenceable record type/light.svg delete mode 100644 files/opencs/scalable/referenceable record type/potion.svg delete mode 100644 files/opencs/scalable/referenceable record type/random item.svg delete mode 100644 files/opencs/scalable/referenceable record type/random-item.svg delete mode 100644 files/opencs/scalable/referenceable record type/repair.svg delete mode 100644 files/opencs/scalable/referenceable record type/static.svg delete mode 100644 files/opencs/scalable/referenceable record type/weapon.svg delete mode 100644 files/opencs/scalable/referenceable-record/.directory delete mode 100644 files/opencs/scalable/referenceable-record/activator.svg delete mode 100644 files/opencs/scalable/referenceable-record/apparatus.svg delete mode 100644 files/opencs/scalable/referenceable-record/book.svg delete mode 100644 files/opencs/scalable/referenceable-record/container.svg delete mode 100644 files/opencs/scalable/referenceable-record/ingredient.svg delete mode 100644 files/opencs/scalable/referenceable-record/light.svg delete mode 100644 files/opencs/scalable/referenceable-record/miscelanius.svg delete mode 100644 files/opencs/scalable/referenceable-record/miscellaneous.svg delete mode 100644 files/opencs/scalable/referenceable-record/potion.svg delete mode 100644 files/opencs/scalable/referenceable-record/random-item.svg delete mode 100644 files/opencs/scalable/referenceable-record/repair.svg delete mode 100644 files/opencs/scalable/referenceable-record/static.svg delete mode 100644 files/opencs/scalable/referenceable-record/weapon.svg delete mode 100644 files/opencs/scalable/status/.directory delete mode 100644 files/opencs/scalable/status/added.svg delete mode 100644 files/opencs/scalable/status/modified.svg delete mode 100644 files/opencs/scalable/status/removed.svg diff --git a/files/opencs/scalable/Palette.svg b/files/opencs/scalable/Palette.svg deleted file mode 100644 index f42475330..000000000 --- a/files/opencs/scalable/Palette.svg +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - - image/svg+xml - - - - - - Tango Palette - - - Tuomas Kuosmanen - - - - - Garrett Le Sage -Kenneth Wimer -Jakub Steiner - - -http://www.tango-project.org/files/Tango-Palette.svg - - - unify - global - theme - color - palette - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/files/opencs/scalable/referenceable record type/.directory b/files/opencs/scalable/referenceable record type/.directory deleted file mode 100644 index e2d80ed58..000000000 --- a/files/opencs/scalable/referenceable record type/.directory +++ /dev/null @@ -1,5 +0,0 @@ -[Dolphin] -PreviewsShown=true -Timestamp=2013,3,21,10,19,49 -Version=3 -ViewMode=1 diff --git a/files/opencs/scalable/referenceable record type/activator.svg b/files/opencs/scalable/referenceable record type/activator.svg deleted file mode 100644 index 0c6db59a7..000000000 --- a/files/opencs/scalable/referenceable record type/activator.svg +++ /dev/null @@ -1,1088 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/apparatus.svg b/files/opencs/scalable/referenceable record type/apparatus.svg deleted file mode 100644 index 37cef0e89..000000000 --- a/files/opencs/scalable/referenceable record type/apparatus.svg +++ /dev/null @@ -1,1058 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/book.svg b/files/opencs/scalable/referenceable record type/book.svg deleted file mode 100644 index 8c041a9e7..000000000 --- a/files/opencs/scalable/referenceable record type/book.svg +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/container.svg b/files/opencs/scalable/referenceable record type/container.svg deleted file mode 100644 index 8c9465b66..000000000 --- a/files/opencs/scalable/referenceable record type/container.svg +++ /dev/null @@ -1,1899 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/ingredient.svg b/files/opencs/scalable/referenceable record type/ingredient.svg deleted file mode 100644 index a77a9c8ee..000000000 --- a/files/opencs/scalable/referenceable record type/ingredient.svg +++ /dev/null @@ -1,1112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/light source.svg b/files/opencs/scalable/referenceable record type/light source.svg deleted file mode 100644 index f8f506636..000000000 --- a/files/opencs/scalable/referenceable record type/light source.svg +++ /dev/null @@ -1,1513 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/light.svg b/files/opencs/scalable/referenceable record type/light.svg deleted file mode 100644 index f8f506636..000000000 --- a/files/opencs/scalable/referenceable record type/light.svg +++ /dev/null @@ -1,1513 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/potion.svg b/files/opencs/scalable/referenceable record type/potion.svg deleted file mode 100644 index 552c14f19..000000000 --- a/files/opencs/scalable/referenceable record type/potion.svg +++ /dev/null @@ -1,1161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/random item.svg b/files/opencs/scalable/referenceable record type/random item.svg deleted file mode 100644 index 0c132ce95..000000000 --- a/files/opencs/scalable/referenceable record type/random item.svg +++ /dev/null @@ -1,1462 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/random-item.svg b/files/opencs/scalable/referenceable record type/random-item.svg deleted file mode 100644 index 0c132ce95..000000000 --- a/files/opencs/scalable/referenceable record type/random-item.svg +++ /dev/null @@ -1,1462 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/repair.svg b/files/opencs/scalable/referenceable record type/repair.svg deleted file mode 100644 index b1a23956e..000000000 --- a/files/opencs/scalable/referenceable record type/repair.svg +++ /dev/null @@ -1,1280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/static.svg b/files/opencs/scalable/referenceable record type/static.svg deleted file mode 100644 index a6f29370f..000000000 --- a/files/opencs/scalable/referenceable record type/static.svg +++ /dev/null @@ -1,1141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable record type/weapon.svg b/files/opencs/scalable/referenceable record type/weapon.svg deleted file mode 100644 index 2e832fff7..000000000 --- a/files/opencs/scalable/referenceable record type/weapon.svg +++ /dev/null @@ -1,1206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/.directory b/files/opencs/scalable/referenceable-record/.directory deleted file mode 100644 index e2d80ed58..000000000 --- a/files/opencs/scalable/referenceable-record/.directory +++ /dev/null @@ -1,5 +0,0 @@ -[Dolphin] -PreviewsShown=true -Timestamp=2013,3,21,10,19,49 -Version=3 -ViewMode=1 diff --git a/files/opencs/scalable/referenceable-record/activator.svg b/files/opencs/scalable/referenceable-record/activator.svg deleted file mode 100644 index 0c6db59a7..000000000 --- a/files/opencs/scalable/referenceable-record/activator.svg +++ /dev/null @@ -1,1088 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/apparatus.svg b/files/opencs/scalable/referenceable-record/apparatus.svg deleted file mode 100644 index 37cef0e89..000000000 --- a/files/opencs/scalable/referenceable-record/apparatus.svg +++ /dev/null @@ -1,1058 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/book.svg b/files/opencs/scalable/referenceable-record/book.svg deleted file mode 100644 index 8c041a9e7..000000000 --- a/files/opencs/scalable/referenceable-record/book.svg +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/container.svg b/files/opencs/scalable/referenceable-record/container.svg deleted file mode 100644 index 8c9465b66..000000000 --- a/files/opencs/scalable/referenceable-record/container.svg +++ /dev/null @@ -1,1899 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/ingredient.svg b/files/opencs/scalable/referenceable-record/ingredient.svg deleted file mode 100644 index a77a9c8ee..000000000 --- a/files/opencs/scalable/referenceable-record/ingredient.svg +++ /dev/null @@ -1,1112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/light.svg b/files/opencs/scalable/referenceable-record/light.svg deleted file mode 100644 index f8f506636..000000000 --- a/files/opencs/scalable/referenceable-record/light.svg +++ /dev/null @@ -1,1513 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/miscelanius.svg b/files/opencs/scalable/referenceable-record/miscelanius.svg deleted file mode 100644 index 96522048c..000000000 --- a/files/opencs/scalable/referenceable-record/miscelanius.svg +++ /dev/null @@ -1,965 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/miscellaneous.svg b/files/opencs/scalable/referenceable-record/miscellaneous.svg deleted file mode 100644 index 8c041a9e7..000000000 --- a/files/opencs/scalable/referenceable-record/miscellaneous.svg +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/potion.svg b/files/opencs/scalable/referenceable-record/potion.svg deleted file mode 100644 index 552c14f19..000000000 --- a/files/opencs/scalable/referenceable-record/potion.svg +++ /dev/null @@ -1,1161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/random-item.svg b/files/opencs/scalable/referenceable-record/random-item.svg deleted file mode 100644 index d051ce049..000000000 --- a/files/opencs/scalable/referenceable-record/random-item.svg +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/repair.svg b/files/opencs/scalable/referenceable-record/repair.svg deleted file mode 100644 index b1a23956e..000000000 --- a/files/opencs/scalable/referenceable-record/repair.svg +++ /dev/null @@ -1,1280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/static.svg b/files/opencs/scalable/referenceable-record/static.svg deleted file mode 100644 index a6f29370f..000000000 --- a/files/opencs/scalable/referenceable-record/static.svg +++ /dev/null @@ -1,1141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/referenceable-record/weapon.svg b/files/opencs/scalable/referenceable-record/weapon.svg deleted file mode 100644 index 2e832fff7..000000000 --- a/files/opencs/scalable/referenceable-record/weapon.svg +++ /dev/null @@ -1,1206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/status/.directory b/files/opencs/scalable/status/.directory deleted file mode 100644 index e2d80ed58..000000000 --- a/files/opencs/scalable/status/.directory +++ /dev/null @@ -1,5 +0,0 @@ -[Dolphin] -PreviewsShown=true -Timestamp=2013,3,21,10,19,49 -Version=3 -ViewMode=1 diff --git a/files/opencs/scalable/status/added.svg b/files/opencs/scalable/status/added.svg deleted file mode 100644 index e0af57002..000000000 --- a/files/opencs/scalable/status/added.svg +++ /dev/null @@ -1,969 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/status/modified.svg b/files/opencs/scalable/status/modified.svg deleted file mode 100644 index e278ce596..000000000 --- a/files/opencs/scalable/status/modified.svg +++ /dev/null @@ -1,1192 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/opencs/scalable/status/removed.svg b/files/opencs/scalable/status/removed.svg deleted file mode 100644 index 17719cfc8..000000000 --- a/files/opencs/scalable/status/removed.svg +++ /dev/null @@ -1,969 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - From 49b5b90cd55ecaf86945e2db0c23dc5a4f07056f Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sun, 31 Mar 2013 10:13:01 +0200 Subject: [PATCH 15/38] png icons from nomadic and my rastered icons in raster folder. --- files/opencs/raster/.directory | 5 + files/opencs/raster/actinator.png | Bin 0 -> 2297 bytes files/opencs/raster/apparatus.png | Bin 0 -> 1864 bytes files/opencs/raster/armor.png | Bin 0 -> 1908 bytes files/opencs/raster/book.png | Bin 0 -> 1442 bytes files/opencs/raster/container.png | Bin 0 -> 1570 bytes files/opencs/raster/door.png | Bin 0 -> 1715 bytes files/opencs/raster/ingredient.png | Bin 0 -> 1624 bytes files/opencs/raster/light.png | Bin 0 -> 1069 bytes files/opencs/raster/miscellaneous.png | Bin 0 -> 1518 bytes files/opencs/raster/potion.png | Bin 0 -> 1876 bytes files/opencs/raster/random-item.png | Bin 0 -> 1612 bytes files/opencs/raster/repair.png | Bin 0 -> 1474 bytes files/opencs/raster/static.png | Bin 0 -> 1518 bytes files/opencs/raster/weapon.png | Bin 0 -> 1064 bytes files/opencs/scalable/Palette.svg | 569 +++++ .../scalable/referenceable-record/.directory | 5 + .../referenceable-record/activator.svg | 1088 ++++++++++ .../referenceable-record/apparatus.svg | 1058 +++++++++ .../scalable/referenceable-record/book.svg | 692 ++++++ .../referenceable-record/container.svg | 1899 +++++++++++++++++ .../referenceable-record/ingredient.svg | 1112 ++++++++++ .../scalable/referenceable-record/light.svg | 1513 +++++++++++++ .../referenceable-record/miscellaneous.svg | 965 +++++++++ .../scalable/referenceable-record/potion.svg | 1161 ++++++++++ .../referenceable-record/random-item.svg | 156 ++ .../scalable/referenceable-record/repair.svg | 1280 +++++++++++ .../scalable/referenceable-record/static.svg | 1141 ++++++++++ .../scalable/referenceable-record/weapon.svg | 1206 +++++++++++ files/opencs/scalable/status/.directory | 5 + files/opencs/scalable/status/added.svg | 969 +++++++++ files/opencs/scalable/status/modified.svg | 1192 +++++++++++ files/opencs/scalable/status/removed.svg | 969 +++++++++ 33 files changed, 16985 insertions(+) create mode 100644 files/opencs/raster/.directory create mode 100644 files/opencs/raster/actinator.png create mode 100644 files/opencs/raster/apparatus.png create mode 100644 files/opencs/raster/armor.png create mode 100644 files/opencs/raster/book.png create mode 100644 files/opencs/raster/container.png create mode 100644 files/opencs/raster/door.png create mode 100644 files/opencs/raster/ingredient.png create mode 100644 files/opencs/raster/light.png create mode 100644 files/opencs/raster/miscellaneous.png create mode 100644 files/opencs/raster/potion.png create mode 100644 files/opencs/raster/random-item.png create mode 100644 files/opencs/raster/repair.png create mode 100644 files/opencs/raster/static.png create mode 100644 files/opencs/raster/weapon.png create mode 100644 files/opencs/scalable/Palette.svg create mode 100644 files/opencs/scalable/referenceable-record/.directory create mode 100644 files/opencs/scalable/referenceable-record/activator.svg create mode 100644 files/opencs/scalable/referenceable-record/apparatus.svg create mode 100644 files/opencs/scalable/referenceable-record/book.svg create mode 100644 files/opencs/scalable/referenceable-record/container.svg create mode 100644 files/opencs/scalable/referenceable-record/ingredient.svg create mode 100644 files/opencs/scalable/referenceable-record/light.svg create mode 100644 files/opencs/scalable/referenceable-record/miscellaneous.svg create mode 100644 files/opencs/scalable/referenceable-record/potion.svg create mode 100644 files/opencs/scalable/referenceable-record/random-item.svg create mode 100644 files/opencs/scalable/referenceable-record/repair.svg create mode 100644 files/opencs/scalable/referenceable-record/static.svg create mode 100644 files/opencs/scalable/referenceable-record/weapon.svg create mode 100644 files/opencs/scalable/status/.directory create mode 100644 files/opencs/scalable/status/added.svg create mode 100644 files/opencs/scalable/status/modified.svg create mode 100644 files/opencs/scalable/status/removed.svg diff --git a/files/opencs/raster/.directory b/files/opencs/raster/.directory new file mode 100644 index 000000000..7a78deef5 --- /dev/null +++ b/files/opencs/raster/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,31,10,12,5 +Version=3 +ViewMode=1 diff --git a/files/opencs/raster/actinator.png b/files/opencs/raster/actinator.png new file mode 100644 index 0000000000000000000000000000000000000000..0446af22cf7d4238e06d7682ab5ec86127b103c8 GIT binary patch literal 2297 zcmZ{lX*ARi7sr2+b!?S2`22n@r05bxw9> z^a&3Bmx+@u2Id9;@G%8)gk@vqEIv0)41tP1iIu;TIOI)p00=$@0Fguh_{}UuE(3rc z2mq^20HB=-03u$wjn;5xgZ;jl34%$c9T+u5Fu~=8wDV!EKK$z}kN}Mw0O06FAq;FW zly$VLSNgD6cnjljqh$tyiWEP+dLoMS><*1|p{VYgzjG-~6k=+-Tw27pJha7ule}iJ zCjHo-@1Xm~92G#P9X3(>6-s7(vyD7E^(R zY|+H&S)R1roK?+@EQ}5zxj=k?*TJtLS8B4(0LhYFtdwhEGFBDkQ_??mI8^AuH!gID4Sc&3jLI6eP)tANo{PpG~ zaSm&o4Q=0&PfBZ$R67^YrGvI?xmQh7k17<5#{Iyk(x-J43&iRoQPZs6|=c~?~hpWO<)=%C!K4rHq0*w?(Z zOC7`(HWg9=q|J4gPT|rJLH50I$Zb{m>(J6qH** z;dZl6nk-)HhLtzN`6@^G<#C2L5n2$7PHJ~2W*Llvw0!=N3Xu)rCJ08YJdw$~&q&n8!U7?6S7tH0Um~iLog$FC%$~rzyzd zvfo@`qXO`LBSGVy1fHixQF0gKQWA`A32wqu($dlna2G#U{+w+3Gq%HBBl(zo13KOf z-l!a1;>{F0!(a^q%~^@37a&2P)2x5U9HHq{5;3eeD+()`F}UbtW=56ai4&d2AiepB z0wfp*>a=P(j4yAAP{>$tIkrk|l;De4)8qFz(Q@?cc)uh-_?hU{LPXkv(j{s%c6C{L zIR?AjlX|22uF3}(;Pc|wj0|D=?=wHA#-~&t4V8|3CJ3dl%myEZyjlBQ+g`Xb z;3p||IVMz>-}HQ`Lu6ZGDuU~^h_-l8o=9|iTO2|z%dF(v;cE+%hIucUFb$8ron7f$ z5~lHmP`>0ve|NWu@53V#4+Jkpka>lkP8py7A|4y%eg!h9Ua-cl?9l9-do5%mzS^bF z1C8d5eJqpnMK((!5^oJkOpf|*ZhD4Pgktlw2;QqSh?}%JPxWwN-IuMS|CB^n2h7Cp z_RnlIe0#S(-Smh4XGdaiY{)ABwbH{Mde5LDG*b*3jK=LyH9C*t;xzfVQ@FPv-tI1rlDjxq?EYBlwLw^!DnfrR@Cm1rW$W&R2uH zttxR3)!8%fUyoNlrYE|+g0B*SHCvnK(~IZ0>vcJ99R)9Pbk!=LWFw=BT^W2`26E3u z4GTb+=~JG;p}>3kGNR=`U*p);x$u7SzN{B|&UTv!R-76axHpn}NnkM0Q?fX+!N&7}ZvfUC4+I1RD7!v(^TA=g@XDUvE;$?Uv& literal 0 HcmV?d00001 diff --git a/files/opencs/raster/apparatus.png b/files/opencs/raster/apparatus.png new file mode 100644 index 0000000000000000000000000000000000000000..613030267620c5a7680dec1cacb012a6cdc7e5d7 GIT binary patch literal 1864 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/container.png b/files/opencs/raster/container.png new file mode 100644 index 0000000000000000000000000000000000000000..7874606ab9b905dd3afc5e58b929e586241f3fd5 GIT binary patch literal 1570 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 JPDHLkV1nG+EI$AM literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ingredient.png b/files/opencs/raster/ingredient.png new file mode 100644 index 0000000000000000000000000000000000000000..6f9a09d2e93d64c118e7d375868068f77a2b0d02 GIT binary patch literal 1624 zcmZ`&2~bmK5PpP2EJtOSS}CGKZAHsv$N@<}5J(`91VR$7@t7c@bqW$lLI|lEA_#>0 z%1Iz7cpyg;4oO5gRJ1xe9)+TCq7m zwl2011UW>Ki45S~mYS0r2nq;V!>KpM20{?5mQH1n008;`iNz3CiRLNLISn|G z7B6Z7hrp@x<*BfO2He5sK*_1#vTkyDZxlz4-m63lwK!>4gmQ=hV0e2^hfV}%<3lCFsSGa;a*><0hx-bm%}aynOuDeNRx_EA6;&;y7Rb&|MB z6zH?8J5qEEFVx~elUWK3M}|7u7J8^TP%PdisP`-BBG;UY7HIr)8gZ3psRx?_07J!D zic}Y#DMw}3V*y6o>Ip310koMi6kqKJ$Pc#!a#ffQA9XZAP^QdRd}6Cei{mPmgCGJ3 zbDNg&K^5?dZv3Y)F)q-xky+VCRSh$%4K&3NLo*UzcY$8p zA5+>z)?7)bABit$3p?5orW|H~Im!lNmBY-^?nuQDQ>rJ+2V=q1r1}W($#v)H@_|^O zcC|6O_B_4jTucoh>0TDUSQlPxq*WPcg`K1-BMtOpZsPmYYmwBD{Xltk|%3{zjF_{C>0bnla1I&cm3=@jk8Cs>|yB{3i@piO&Dm=YBwc<2o)jLk-_CN4mpVneqbiS8q<8pS(r>ABnr_}@O$qk3B((Xt?hc}eSy>=RT_p)NW?(Cj&@{~!2 zuC1<4eB9EU>UM{c&@QVBlh-BCcUaf$GG^(jQO160s|z)E_CB97ioNw1+wAb4zoe~oOoJa8{VgxwfROgLjP8by z>o~9H(#QO+F7##x2!@8P(LBY26IMxi$M1&X#?L!Z@yEv>>62Hv&Le6%4qRP$zJ9G6 z`{9LyOKd@oAVc+5v>V>->Ce__c0Sm8o=#a}FPPmX@{4QSk8gVPoulbA`)2nn+8H@Wt$gpbB9Q&2 zg~D}yAu+sk!$7dN!NDZat36-^Hu6Y`ygkXhR65KM8qP@|+EMFu6=|{j~ zJdr2@5~+5&Vfj}=dd8mpdxig>Fc-rQ1qoj*S72uBnf7!9< zX67ZO3laK!FGA{SgzOknTM#NI5L(Jbh}Dcxu%fk3!p3>0#c5JLCV*$G&A`J>Sk(ip z0a(FifR&qYzZU-d3G6dqv$|OhBdlv+=Cn)yDg0g!Py4`z`Kw@CfM*l1(gixTYx+1m zYKM(6fCaEGf^8BWUvipME?qe+o`;Q50E@en%?PX4T&4=wOc^Y7fn5*li*Eesgv(In z(jSAhL9j2uXpCi;GdGa6G?;B2=Q*aiaFg@oF55a52P3hL-#CtGKHTGw`ZV}QtqsdT z2wSY&@tnn>XFd;l_HJCuCG{dOBzridPDC1I&bcp~mL})?m!zr4sZH@5!5=x~Y^lrA z=$u!B;jjmEnu?vX%D-mM-e?QIawfj-T=>FJ;@!)vJ6*Bk-Avup1X7nm8s8^p%N^z# z(tM13P(bR1H9R&`j&@@Au`*qhfzYNM3A=n~(eF)`vx6vvtd|@p zX3=PT^}=$4c$?3`uO2zhNVa=LeQ35HkN4dYKW0eXMr~a-_ry_#N$dmCvs6EnDt$AhnzVzpGT5#AN?`HAdx14FXFXe+&0T0zucP8QB zB}Gzp8UBm-rRWZdk1DzagO8JWTq*NTUas2f;EUJQb>G)C(ND4Cyx$Ct^$QnOBvewk zyJZ2Ah$FPY&^J0t+vWN5ihT`PV(FOVkR(&n!O1z0v0rdlkmYyr^>w;$*|*;a6^>g| zY+rOW%^Y&#lECoqP6C5 z`h$ACdSCHZ47c@bG@7lQ{XQeBLl^powOYT4@1T~T6AXoawUItR*!+*w`__z{ z9C$YCPYq~P6beqv{TM(A*!pVl`G)4|m){;`F!qgbo6dfBuCXrgvuwS82!fbO%gMG( zE7l#Vozo?+% z{}a-fl^Zx=ySqb1Nr6%&E0rUaN)=Z0NpV@8Od$^|DJ^VSW`|%BO6H4r-HEwXe*-X~ B{}liL literal 0 HcmV?d00001 diff --git a/files/opencs/raster/miscellaneous.png b/files/opencs/raster/miscellaneous.png new file mode 100644 index 0000000000000000000000000000000000000000..b6cb250400cb65c921d4ecbeb3ed0ec5cd0ec014 GIT binary patch literal 1518 zcmZ{kdpHw%7{`C3&1Jddek~#CqUJIQhh%Px+(taeT*hW&%Wdl67?o1F9nNGVj!QZ@ zN_E1BNlF}>xrIeTb2}14TIqD=&-2H5pXYr)&wKek-~Zlhud^<4vRbkL068~Tl#iHt zJ1Gql*Mv)#HpJK!?cm`6Kw}G=Tk!%Ge#QkQrZ_~7t?6ROP+S8O#Ma+-5(1|pOT~8WZYT## zK-Y762ua0H<#qZNdztM{ZTk56GF=Vd`O*m8=;T@lOH+Jr;jJIDx+jNmeT=% z!;SfH>?Y*=#+xyG1tdZx(?MiBY3u+!B*fX%vtnCu)a0lJ1>UQq@n@}qS;NA~@dS?O z2fJnKuiT1Le^2pwCN%*cYnS~vE4a3SFQg&az&4_8Qsb2=B)vL$qt-%UdqtNS0s?!& zIaR&+0k!fkyy4_?ZCKig_L&rJzVbt1a8^eW^V2TcdHks*X0fo|X8%vuZnzgs0(_fhCM^Kk=0S6 zz{boE0?5rGY>@B4@Ar6w{X|Si@m@Wvl#Gy@S|@KWuG@ayH`O`PZfVK62rt4m3KyjC zD<1-$rIQT~(TMXWdGFqEN$F&pTAyt#Ld|rg?zX8m>xX<;s5bn{Oj*&pyJTonqSv&# zSM{!LQ9Y+T6BZ0p8T+n#HP4u)I1Hye_0~VgTNB6)@X)R@>?7I73d^o{;~C0eSH|t2 zTcN%ffm{Xr=(Oqn159Zpb&2%KnS$iK?l~89GVl}ZW<|`L93LISNJiA#Za6DTIi-`2 z)IiNJe=NLMQ<>?=`T(KC889eA>p86B)~v$n>fRqZD9frtc@R)J*nvzM)Fwm=>cOm? zzoAa9q&xQnRmmyBtsV4MotB0{Fj0aVF-XTUc|>Z)H~q<@i&tFo61k66A91PO}5~Ma%)#AX^iyCg>7p-L`F}33|5ZJ zyQ6)4$j)zY%GtSBUD0l&>x}Ly^pwA&@ZfJRth{4?MRhUGD@ov58XmZ5dItDgsL9@G@sDZS;@VeDo@~M{^|do61}hu~ zG&JfcbAB(gs_h;n*|r$rZ;_7+$Ni*Lg+((XW_2MT#J+0;R7Cnn@7Y%(ohr=L+`{ zrlF;f_H#0RSrzImYuCfR&!<6L;z}}u)mCkexQ9%8u=9Nu9XB_V9vSh`dlt-0mWNo! zD|_ba8M0DS?1E9FP}&p6&O54|!&yG-bCN%+lT0Qvnlqc>-OkRNTKR*%50uNSVST#B zrL~irmPa|wd2C@_eL+8RZObuhy-nb0BL6kEuXMRak$?D2z@WWV*f;r4%rcF@rJB)b zQY@ZPT~&D38&VpT=I>cT7(I86@rGW(k%4!X%sbTRrK&4WT5#opm5n&YEF>-u#>58qE P_z1W;okcaA#%BHtUqPk< literal 0 HcmV?d00001 diff --git a/files/opencs/raster/potion.png b/files/opencs/raster/potion.png new file mode 100644 index 0000000000000000000000000000000000000000..e644017641207da2d8858c2c8b00d0233239f55e GIT binary patch literal 1876 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/repair.png b/files/opencs/raster/repair.png new file mode 100644 index 0000000000000000000000000000000000000000..a8165827790baac034005d1b4729b02ad45e5f70 GIT binary patch literal 1474 zcmZ`%cTm$;9RFbrib}OARwz`joJC8~jDj>q4Iv98h+!{f2W13e0umr3fsh19f+T22 z$bk?MWQ9l)2pE>2oGb^`sy%Df7VF8<_D*s1(cbm!AN}6veb@Vb?|sJ;2l$h0*Ep>U7^#B(;v@M+%+D*-d9-X=0IC#}EJUWoYJ_*W*JQ`Zl zpwhO~NaSJ;kDW?S4hZxQ2tJ(4J=JDxl2=LT%v4`r($1Ybsln8$8il^QwawU=LQlqc zWAeG|JZ?^XW38d9!!p=ovgngi60lgTgM$N+Ow3@UilxPMO*MEtrqk4+P@ZmV)~aii z3A8w4uTE!bj!ih`;^Gn=6E2kSHT7pzwF+)=UT8#M#L=*@s9;drDGn)IibzK+RO#n^p#wIYUHbY~p z;X==#VPtIJQcr7VZ=0#F!#rr{8!-=$4UFF!othr&9WwO|cTY`^Pu{++Ij^j)KclKs zsO!#Xv}aZ46w*p@NqLc=l*=v7&E;iD6=HLr(K2M#XqB9zoB}~kp_n6*6_!>A#j?Vp zk^*gW?X`)an|CH|-I*L3wHSJJJYgPRln>@vCKpO8OXO7&ae0wY!t3h4q&inAlJX@A zQAJf5=m?N(LD~m|oJsW$ged-$L%u#fBq9Otjq}1DJg{s1UKA3EL?GaBRL$Q@sT@~q+xk?@cR=0paDO$Ip}{90SEA=@RZwb|}!5J2<6dj)x3kB`~P z;GPy&RS7C3nnHQ0T6k7=3>zTw3d0BaMd7Hv5yTLG&f?|`N_5(rGJ6zlLbabZ8wIl_ z>`1f=c4ygA++O6oblHPlgQ=!c^}4o{Ceo$DXkRJ!eQZ+>1VmRobMjk`JwX3g{T{wCRd>&nOF zKiJwtud|MQbXV*ARejx^mS_`aXvFYET-;+OV)GUHz23y<#uxjtX7635%~{^rh-cPR zcsO}>{WkT;nIv;Mn7MfS8EQ0naTjf}`aXjLBM%5lbN57BDoPr*yX|*Ix$bk>yQi;K z*Vv`)Y;i2OIn~5fA^79la54P90IMH;i~s-t literal 0 HcmV?d00001 diff --git a/files/opencs/raster/static.png b/files/opencs/raster/static.png new file mode 100644 index 0000000000000000000000000000000000000000..b53be12d9a8abad9272fdd7c6a75b1d3a6a494ba GIT binary patch literal 1518 zcmZ{kdpHw%7{`CZTxJ-Cxok(sA*?NQX1O$0o0FJZw8|yq&RlA3g(EHywCH#pXa@NpYMM!kLF9!f|WyX>)eRte=7=CC15NLd8sXdC>{K1z&!_ZHNLb7(&-i^$pDsLJnXU9&72fI{f-7|m zF|gqUd$2u!OSOjh@6iC^h~i{P%*wgaiH@`4-IlW$(-}guq2X=ms%UtDxHc6RUGQ5| zQ>zhiyz0XC}*TygO>%+5Vz7uDl-HQ;)|U@va&5yH@D~XW#<`! zxrI|=%kAnb=H?bkj$U-bym(m7kxFM(ZI7d;E13(2NPkEy1{u+86aA1ThWx&ANizhH zKo`He$h7_2yn%^F_TqCh4xh2V#;wptNIlzEeDFgs?Yd>dXkZ&%gzer{=rwAv>;$*b zX`!pT>D12EEyG-OZamvM92e)I$D?Cf4pAUz)yG>Xo9H290UDwJ?;Nw__%n68?LEg@ zn`h@r*cTwtNv2~WmwqAso-c3e;epsl!$MSb#k0ie*=Y;qeHLkDWwf=g&=isQT(DD3 zXqc)RBse4_M#uj_(sLQ%s}YtqGoWw0-r&1F^s4qm=fc>-PZf>?nap1e2M(huDoCgT zf^1c!rk|G75Y>lcFFVbfntq@d<1I|cr~y{Hbbzkiz1{CmTU6j+>k)ole0Tp$#JluH zf73FkZUN5TZrr*up9b5$c?+_6TKc#W$;MF5Q6HwM;BSTt61JW!(KSAd!8>w|2V0@K zwJn{K)@Td$5%Sau(B&GZC&6j3$K(6RlNvohbDihp9JlJs%F?x$?My$bR=-l-Zu@E3 zi)%q0IpNlAj;D$m&l)rd1oy88Ew*`g^gCd?tIl5<9JzX zW%9t+wQudFPx#aV%X9iq>UJbgL>9=hST6jV^nX@aZ$dVFDtqLXL=lRDH)z1T++~Zl zDV7bT7zj=7x;-{lxH7x5SZRK5COy9~0gixo_0I`!c3|5Dg2m(~(OXGfTQ-JSvB=7_ zqT;CT8*!;w`?SB*evbZ$$MDcog-EF7D9>H~r4-RjcK+-wsh!J1&|A}%l3(;IRJ;yR zdq%x-ry!Jn6l1TlN*7eS=tiK9Rp_?T$LX`*h9bGM6BmYiO9!|Y$KDZKH0q`nJ|7Gg z-W9HE!?=@GFujSr@Qei5TceF%CyOylHr1yDWn%qDkJ{HH=+%T^tHFykf&h(*0qOo$oL@Y0gLN=l)Plry|+wLh+UFZ8q_#K$TFFVZf*vCKO!jdRXx>{REYi(=3D{98` z@zcj()PBW#Tc5ctG&4FfGlm$I9-{!*gu^>J;2a$s@j-YT5x1G>>|%%8M8x5iAN=nA zA3<_zbo>F<{|gGsk;fDQ;~x%zsRuHdk?Apj$z)>VQxY?xA{jB*)b!X&iK~g?2zYPv KB{z9S9QzkRt&Y3^ literal 0 HcmV?d00001 diff --git a/files/opencs/raster/weapon.png b/files/opencs/raster/weapon.png new file mode 100644 index 0000000000000000000000000000000000000000..b68878a54abbadce500135ea0dd77e7e53168118 GIT binary patch literal 1064 zcmV+@1lRkCP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000A*NklC~g8kO*MPy}%<;wSyJmZstM`E*dS zB;<&=YZ3vchrGk4fJgJ68{u|#p}o-vm0Vyaa6T{jpGm`m#mI*?I~hDq;%Z9r5miti zn*vPDcMbUY^&#dyHRC~@7P9Qrwfi+E(0MZhHO54wat<$VgtM9exh!8P`%`mKgD)TM zVcOn+h8s#Kb5bKZXFUO#RBG?)>Ow_%`FfREg{il<;doPvTbHHCI>}uNch0H+0>4vV zkJ;H-EG#U*WGY#=l*lnLbQR+-t6{ZdB3s0>M_PFM?tvhDdU_fwD=V0pnZd}&2xyaO zou+bO>#4-6CuOKUCqkBx8=4MQ5;#Lq{lqze`~7~*&COwKYz)K0!|3blLt&wDy+|v; zKu0m2HyZdo3*t*w&1&3 zLRv#?hB4ku>fFzO4YILZONU zS11(z{lKFNAn;O}c5UaJ4R}NW1kSA3-|>KN5kTO~@sfS+cDoU&=BL$aA2St}z1BSH zCJe&KhlF%`Jm8@OE>%?>(`mJyAl&QqZt3=XmC7Z~$O!$*v6cXVlbT0^x3#rFE|dK} z2zVfY0-eq=I5-%HJ=}RqOADAW^BxpDAb_H%ccY`D@OV6%Vvh$rAb^?o?-LUfAcvHJ ztXBeOR;%YAoriwOsKP?$(9jTUHXFLTyV2Ct6sWmIqdCS_qiuIj0#jor(+5t2!SJ0K i#dmqRxsG_jiLn1=-XV(QI6oTz0000D> literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/Palette.svg b/files/opencs/scalable/Palette.svg new file mode 100644 index 000000000..f42475330 --- /dev/null +++ b/files/opencs/scalable/Palette.svg @@ -0,0 +1,569 @@ + + + + + + + image/svg+xml + + + + + + Tango Palette + + + Tuomas Kuosmanen + + + + + Garrett Le Sage +Kenneth Wimer +Jakub Steiner + + +http://www.tango-project.org/files/Tango-Palette.svg + + + unify + global + theme + color + palette + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/files/opencs/scalable/referenceable-record/.directory b/files/opencs/scalable/referenceable-record/.directory new file mode 100644 index 000000000..e2d80ed58 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,21,10,19,49 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/referenceable-record/activator.svg b/files/opencs/scalable/referenceable-record/activator.svg new file mode 100644 index 000000000..0c6db59a7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/activator.svg @@ -0,0 +1,1088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/apparatus.svg b/files/opencs/scalable/referenceable-record/apparatus.svg new file mode 100644 index 000000000..37cef0e89 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/apparatus.svg @@ -0,0 +1,1058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/book.svg b/files/opencs/scalable/referenceable-record/book.svg new file mode 100644 index 000000000..8c041a9e7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/book.svg @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/container.svg b/files/opencs/scalable/referenceable-record/container.svg new file mode 100644 index 000000000..8c9465b66 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/container.svg @@ -0,0 +1,1899 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/ingredient.svg b/files/opencs/scalable/referenceable-record/ingredient.svg new file mode 100644 index 000000000..a77a9c8ee --- /dev/null +++ b/files/opencs/scalable/referenceable-record/ingredient.svg @@ -0,0 +1,1112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/light.svg b/files/opencs/scalable/referenceable-record/light.svg new file mode 100644 index 000000000..f8f506636 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/light.svg @@ -0,0 +1,1513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/miscellaneous.svg b/files/opencs/scalable/referenceable-record/miscellaneous.svg new file mode 100644 index 000000000..96522048c --- /dev/null +++ b/files/opencs/scalable/referenceable-record/miscellaneous.svg @@ -0,0 +1,965 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/potion.svg b/files/opencs/scalable/referenceable-record/potion.svg new file mode 100644 index 000000000..552c14f19 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/potion.svg @@ -0,0 +1,1161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/random-item.svg b/files/opencs/scalable/referenceable-record/random-item.svg new file mode 100644 index 000000000..d051ce049 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/random-item.svg @@ -0,0 +1,156 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/repair.svg b/files/opencs/scalable/referenceable-record/repair.svg new file mode 100644 index 000000000..b1a23956e --- /dev/null +++ b/files/opencs/scalable/referenceable-record/repair.svg @@ -0,0 +1,1280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/static.svg b/files/opencs/scalable/referenceable-record/static.svg new file mode 100644 index 000000000..a6f29370f --- /dev/null +++ b/files/opencs/scalable/referenceable-record/static.svg @@ -0,0 +1,1141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/referenceable-record/weapon.svg b/files/opencs/scalable/referenceable-record/weapon.svg new file mode 100644 index 000000000..2e832fff7 --- /dev/null +++ b/files/opencs/scalable/referenceable-record/weapon.svg @@ -0,0 +1,1206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/status/.directory b/files/opencs/scalable/status/.directory new file mode 100644 index 000000000..e2d80ed58 --- /dev/null +++ b/files/opencs/scalable/status/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,3,21,10,19,49 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/status/added.svg b/files/opencs/scalable/status/added.svg new file mode 100644 index 000000000..e0af57002 --- /dev/null +++ b/files/opencs/scalable/status/added.svg @@ -0,0 +1,969 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/status/modified.svg b/files/opencs/scalable/status/modified.svg new file mode 100644 index 000000000..e278ce596 --- /dev/null +++ b/files/opencs/scalable/status/modified.svg @@ -0,0 +1,1192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/status/removed.svg b/files/opencs/scalable/status/removed.svg new file mode 100644 index 000000000..17719cfc8 --- /dev/null +++ b/files/opencs/scalable/status/removed.svg @@ -0,0 +1,969 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + From 01314b7c08e25ca4376e38bb97fc148e0217a208 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Fri, 5 Apr 2013 12:08:35 +0200 Subject: [PATCH 16/38] addin more nomadic icons --- files/opencs/raster/activator.png | Bin 0 -> 2297 bytes files/opencs/raster/apparatus.png | Bin 1864 -> 1580 bytes files/opencs/raster/creature.png | Bin 0 -> 2506 bytes files/opencs/raster/leveled-creature.png | Bin 0 -> 2212 bytes files/opencs/raster/lockpick.png | Bin 0 -> 679 bytes files/opencs/raster/probe.png | Bin 0 -> 583 bytes files/opencs/raster/random-item.png | Bin 1612 -> 1993 bytes files/opencs/raster/repair.png | Bin 1474 -> 1280 bytes files/opencs/scalable/top-level/.directory | 5 + files/opencs/scalable/top-level/gmst.svg | 1047 +++++++++++++++++ .../scalable/top-level/topic-regular.svg | 1045 ++++++++++++++++ 11 files changed, 2097 insertions(+) create mode 100644 files/opencs/raster/activator.png create mode 100644 files/opencs/raster/creature.png create mode 100644 files/opencs/raster/leveled-creature.png create mode 100644 files/opencs/raster/lockpick.png create mode 100644 files/opencs/raster/probe.png create mode 100644 files/opencs/scalable/top-level/.directory create mode 100644 files/opencs/scalable/top-level/gmst.svg create mode 100644 files/opencs/scalable/top-level/topic-regular.svg diff --git a/files/opencs/raster/activator.png b/files/opencs/raster/activator.png new file mode 100644 index 0000000000000000000000000000000000000000..0446af22cf7d4238e06d7682ab5ec86127b103c8 GIT binary patch literal 2297 zcmZ{lX*ARi7sr2+b!?S2`22n@r05bxw9> z^a&3Bmx+@u2Id9;@G%8)gk@vqEIv0)41tP1iIu;TIOI)p00=$@0Fguh_{}UuE(3rc z2mq^20HB=-03u$wjn;5xgZ;jl34%$c9T+u5Fu~=8wDV!EKK$z}kN}Mw0O06FAq;FW zly$VLSNgD6cnjljqh$tyiWEP+dLoMS><*1|p{VYgzjG-~6k=+-Tw27pJha7ule}iJ zCjHo-@1Xm~92G#P9X3(>6-s7(vyD7E^(R zY|+H&S)R1roK?+@EQ}5zxj=k?*TJtLS8B4(0LhYFtdwhEGFBDkQ_??mI8^AuH!gID4Sc&3jLI6eP)tANo{PpG~ zaSm&o4Q=0&PfBZ$R67^YrGvI?xmQh7k17<5#{Iyk(x-J43&iRoQPZs6|=c~?~hpWO<)=%C!K4rHq0*w?(Z zOC7`(HWg9=q|J4gPT|rJLH50I$Zb{m>(J6qH** z;dZl6nk-)HhLtzN`6@^G<#C2L5n2$7PHJ~2W*Llvw0!=N3Xu)rCJ08YJdw$~&q&n8!U7?6S7tH0Um~iLog$FC%$~rzyzd zvfo@`qXO`LBSGVy1fHixQF0gKQWA`A32wqu($dlna2G#U{+w+3Gq%HBBl(zo13KOf z-l!a1;>{F0!(a^q%~^@37a&2P)2x5U9HHq{5;3eeD+()`F}UbtW=56ai4&d2AiepB z0wfp*>a=P(j4yAAP{>$tIkrk|l;De4)8qFz(Q@?cc)uh-_?hU{LPXkv(j{s%c6C{L zIR?AjlX|22uF3}(;Pc|wj0|D=?=wHA#-~&t4V8|3CJ3dl%myEZyjlBQ+g`Xb z;3p||IVMz>-}HQ`Lu6ZGDuU~^h_-l8o=9|iTO2|z%dF(v;cE+%hIucUFb$8ron7f$ z5~lHmP`>0ve|NWu@53V#4+Jkpka>lkP8py7A|4y%eg!h9Ua-cl?9l9-do5%mzS^bF z1C8d5eJqpnMK((!5^oJkOpf|*ZhD4Pgktlw2;QqSh?}%JPxWwN-IuMS|CB^n2h7Cp z_RnlIe0#S(-Smh4XGdaiY{)ABwbH{Mde5LDG*b*3jK=LyH9C*t;xzfVQ@FPv-tI1rlDjxq?EYBlwLw^!DnfrR@Cm1rW$W&R2uH zttxR3)!8%fUyoNlrYE|+g0B*SHCvnK(~IZ0>vcJ99R)9Pbk!=LWFw=BT^W2`26E3u z4GTb+=~JG;p}>3kGNR=`U*p);x$u7SzN{B|&UTv!R-76axHpn}NnkM0Q?fX+!N&7}ZvfUC4+I1RD7!v(^TA=g@XDUvE;$?Uv& literal 0 HcmV?d00001 diff --git a/files/opencs/raster/apparatus.png b/files/opencs/raster/apparatus.png index 613030267620c5a7680dec1cacb012a6cdc7e5d7..037ed290fe9d5fd538bd21f9eda35f83d5048069 100644 GIT binary patch delta 1547 zcmV+m2K4#J4y+82Bnkm@Qb$4nuFf3kks%X*32;bRa{vGf5&!@T5&_cPe*6Fc02*{f zSaefwW^{L9a%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000G>Nkl%ilj80$5+v+~wjEsV4FD4J??VGdK*?aA^_Q(5j)v7OKfud=nF?3F;5SIhs zdGhdrm6GzZvYqJdJ&D9b{hP3LG9Ql;2n-O_H#X*Dc6JzN&lW+Yl8$(k0JR_`FE0ag zbGPvDp##au5q~L_VzZ}6@Q46EEiGn$c6_`G&!11gYAu8+STgG|0t`r}Q%u`zHB^QB zxOJ-o+qat$tn@GR1PM;@^x_ewgX!r}+`n%_eSI!fLHviu2n5MQ*5cwUJb2*1Cci$wpW#k+5uxz{aF-ByBKY!+Jf| z(@9L!!EDyToS;F1Nexqc7~k!NT61W!S`MBnrAX;U6(Ickox;*1bcArUN@L2-M-z4v9WfH zj$XjXNGl2S9JS^w3A70V17~pcY6EPxQtoZ7{rn7#bbBfCey*|g>6rjXD0x_GgFv0*MYa;)r5r`_!@ zXW%DK{)(KOjgSWsfpCLzj){=<-08gP*0R3^KYsidWM^-HRO&s)1rh7b%*^j3uaOje>z#P9Z#N&xkYeG!AnbjKth5HLcy9^wvencnbZq? zeKp*ujgMdctZH9>3SL(BBlhgEkN|xa81~yVoMIocICeU(eYR2i5ID=1j0_zFe6J~% z#2f*I+~53dY9!5b6=yPIW1atd&Q}6wuMZ0ofY0~h_RhsH68rm37Zqia;k0oM$0GT^ zn#@YzhYn>@<|yIqy?XlXwzWurc0eDMN<3dt@iPgLxnM7U?DkXt+Tm6LFDc1FW~Lq@ z(VBUoz-#f};JL6ehi$AomBeu0`-2!ySwJH-!MPX z+IkkLOszvhRxVh2da6I^?Vkdd2YJK$o7MG87v1*=u>VA*!f!q;EdslDuSY>aIz?>_ zmuf6-R|=MYkM(@>W)1BW0nqD(WISH;3}eL#goKDUF>sdY4##PV&U%W@TFU+=E>gR@ ztCpqOhrlZx2US(s+;YpTmpw+K@r6j}wP{5HfdPE8#iFG+Jw{6@d-3vRf?dwq z!{+(Ok?(Q%@HQ}Y7Zz^eK=Si9p}2S(*hC#XxCIAx4y1G0zjJ2-LPOWWXYK0ue*2bb zKq~QllbWhS3hjaxi<;K7FeD|dqZKWLN~xmtESPLmiTHRqt!6>AmdOwk9e}7PDU3!5 xtz%+Z#r$9}h`6%rw0!R6YPAmof3s8re*;>O4EKC1no$4%002ovPDHLkV1nah delta 1849 zcmV-92gdlU49E_UB!2{FK}|sb0I`n?{9y$E0004VQb$4nuFf3k0000WV@Og>004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00006VoOIv00000008+zyMF)x z010qNS#tmY4f_B94f_ELcQu;;00tOIL_t(o!@ZVmh+J10$AACl<=&Z{$?QzBlV)}{ zBu&T*DQSF3X(0Vz(nb-*60{mbD3q28C5t3bKZzhg@rw{@G6XD$_#wz*P}?YBD~Qw} zwhKzl+E(H=-DbPHnH^_$cJ}VQ=bY#9!@YN$jM?1@*dBPeGw0kn|KIa}o_p>HY%pG} z)wZ^c*+R?}Eq~?qxkh6!tM$lo5M+c9^IM087Ja4W9q^$977DrCd!K*qIlIxm=@4rz zymIN%(e~=FLpz$HsoT9)Rkd*!SRruhuSK{>)z|C$;Z+$oM`oo_AOH zo(E5B_)0-*-GNh5LIP;ET6pdHb-%oM^ONUJpKkneeEctK0qEX|Jv(+B4OUm-YYjgY zQwqM;(0^J(NeLwcAOx5hjtG_r#uykWV@nf<7Me|A!|-tcKkggAwpw#PID58o`RY}? zd-EndrI7Lc7$_-+k`h9Q*nT2J)FFEmmEeB><{OQ< zHc&bF#1nAGk7J?P#LcNGv{zOjr35<{_W&~(fPat@ju}cRRJLuy-d($JX#akI2tlg_ zBAUG~fIF?087!4RL>MZUarDtgkmVmvuBjCSsgz5%x8^UvqA*+FuyW2+DXLds6aq~nEB05fFQnn;>cBqbti z=f8R3!kxYVjvYHDvRZ!yK-}5Rp;Rcu07*z8Af<%V8d51x(huGDq)&mhmcrH5*Ra8m z>4(*&r3Z!zg#$zcV{N>7Vr80D#|5S0Lw~6!`;G$uf>w)#5Wm<6pyNO(mm6ka3lYIt z3j*R=cV%^#3n@U?dVGnm%gyHBTU!62Z-5|*4hz6{&Vl3l+l*4W<3K8sI3cwLr0mS0 z3u1Y3(OP3Jzj*$<>$?Ow-~TL_1vv+6E#~X>YfJUI>HUF7vXtqm*E5{8n7?&v#eW&| z(njKU0SGBSk)CWp81j2_a~JBjZ~v*iw8UVJZ%PgyCPL~|@0gvMiiqf`(-$uWeFIdh z)r=NmhjR{56rtH_&AmP`agD9L&}uX+5Wo2t05gM_K?y(_NW#lz6@Za`#5({Z3?+uh`>Z3=RnqihyWs_4l#i8$cWNf*J`7qyZZw8 zYhChq?uEiIT6TOIBUVqb>=&e0IGZU4hW@w|MHnL zdP4vq7qhb`CDt*wcC-S18Et8mC!OdS4RM<3ide`C`$_6^rL;XU+_--viA5bVOvGgRvHo zG5GYMLmJ6O+>?2y1jcl}vvYSjls+8;`Meguv+DuqiOI>=k3RhHuO;v~2!SAqu5i1( zv%R$RnD%|e-L+5ccMd{`PJbDQ=)Vpy15t$CV`IG9Y=*nve!KcC@WZ4@f13gR*bUG* zOO6~o_$kL6e*2+^{s91uYV{jR>mTJxrQ*==u(zdJm8EhSem)QFdGS9Y=U~DR!SXU% zjRx*aPn&QuV2|VJNwrD8#h`EjNfCsp947GC0^eU;2uCqFngZXJ~7+! z%uE0PC&$LF0C>DBvBDZ#EG5^v0KRp<`s@w%Ck*iQ|EqWx#I-)ePkkifT@b%p z2jHt8sdyK})q99P^?$L5cR~E7OZ>|pt9Td0r3g5=*7|<{JnFP0r1W5t0000bbVXQn zWMOn=I%9HWVRU5xGB7bSEif}JGci;#Fgh?cIyEvYFfuwYF!;jw!~g&QC3HntbYx+4 zWjbwdWNBu305UK!Gc7PPEi*AxF)%tXHaayjD=;!TFffUqKr(m$000?uMObuGZ)S9N nVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs00000NkvXXu0mjffHPMs diff --git a/files/opencs/raster/creature.png b/files/opencs/raster/creature.png new file mode 100644 index 0000000000000000000000000000000000000000..52c41615adece79dfabeb4ff91ce1a40fc125754 GIT binary patch literal 2506 zcmV;*2{rbKP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000R&Nkl&0tN@bMn&hz>-)QjA$5&w34?I}#)EM6`$x zn>Pty2P^^rdNif4Sj`$K(1uJZmb#y#-Djb(*o;9)er*<8e4K9CNi4z|3TRw=#nP zKQlW5yJ8JU^Yz9ilNLvkjaW$n_)0Is?${u7lluo8Ay^k8N2n*~7m76{0QyISOx$;f z0RE*S3BwI@@o2>yCUXjYy*Li1G9$3fqGKq(SDl5vVh00$GRuNPNugM+_r*?|4u_nf z*q;!Lz3~Q|Otav4iW%FZ{IO6jfR@MZo2ZRXL}>LDOYOdrSKlUE&`*H-2?HZ*itu!8 zDITqwhu(S7=pnVI=fTokCVL9ronc~Vr$8TNP|f5>+a|f^bz3mg|V1zHo$7oVU0a-oc76? zFAdjVmfj!EAR;z!a4r5*{@fIR0B^h56u!%LNf@?5qk(r#t+@W`^#t?@7R*MGff_;%A@PMA< zF~yvwFc9r4db&3*gvp$OUn@<-^2mU3aDz-V1)Qp#);vHYV1f_}g(wQ}VZb+=RM<#Z zD3fsD&vt)0MFW%;laFYK>6`eAE?23yQ( zEYo_!!1Wk*Gy8}}uNTJSd7}$|-&TWHtyLJ^T#4t+OLL-eF~^4ealxon3!z|pjJlEf zkM`!pV0c9?UNo2C`z4upP@RE+$~5#50VY|3uxXhKKYrhfESni7F`<)8wH%U>OUg$9 zp)}o_0}G!8gC`dbqYho$R$^X?1r~of_Bq2yzy@@Z3Hc{t(>sWcCMJ64zF zVBeM%IMvaJ&UF>Ahxwzf(1{R*c%1f4;YxgCRA4R9#~d$r$XV{^-9GyNF*15@lMze( zpW1I*dIXjiCF9YxF63n-;`Gi2{BY+ChHjq3gDYLQd+`8np6SGupk}$hQnJ33GCnZT|1aj*81J7?YIw1u0dIaD z!SJI&M1<;bbjuR-9^FDf+drK5;HNqpakzCE{@hf~fa^6f9B6I8g@c<=J1-G&M94Jr zh5#}0KY&YF?#x^mH=+n1Z>d=#9H}F;A4~{CHd#J;4>V)!rzdzj_8R?tConJDiL8W3 zl+TVuU6B(t1rAh_ske|!y&Ojv;v#~O5<_PH2k`IqHe<#7RG3K_Dr7vwalU|($WKO{;GfQ1b&`JdFRBR6d?A|b=X~?)^fb#XJ9V_wEvjP0`<+E{c zs)N7YIDrR!UAWhC5O>b)#f{S)(}Ex0@kcDmjfF-c{P%Q&=#vsmjLazY9w`YAAk@a< zArai@;{hh~-wVED%>qP)Xke9iLCIy0%xE0j6w-!`wop7=lmdG&F`cg$;r`_#zZ<-B z-C~qvSfTTwd!mZ*3N4rQ`4U9>N(Ot0upTeV#?XceB!=rqJ0{^oM-y(J-Sb)64{WZ( z+NxY6MFt|6*!g;5z0`iI$vmJt!DlrPt&qN;*8F5uK7QP=klBn~+wC7ZK@v|fAEd+(YXt_F=`4_4TtNM!$BI^Xs|~1E?h1` zo=%2V0z46XLzseCujlmpz~lg|zLM?@kp`U3h{AR*Ai}_gTFF|9F3{Avx>-~ub`0|lRJV3*8Klj-Z&(U U?%gBa9RL6T07*qoM6N<$f*UxK2mk;8 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/leveled-creature.png b/files/opencs/raster/leveled-creature.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa2c56cd7bfc3407f8aa7a56830089ccc022461 GIT binary patch literal 2212 zcmV;V2wV4wP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000ORNkl3WL7}&?` z?##~a&OX^)*ar)Xd3ud8VDm5-f(Z~1et>c8`cc1=l1A8x8as-U_*KPmqE@2qk6Lcj z)>VI0RVC+FDc{Bj zJFLw`PV3E5j}ou++Q%#N?BgXaTRfo1qXt1p{W^?q1w3DoueU|>ac*}je*FENxN`hC zynC__7Y}ygU_%-5EYkg;Vs_3&;(sO(b=j^QYO27`UKzrfoy}-3$;UdceX^y<_s>Jk zmAG`I3&*xr!7YoQ{9g!^xRv`qKeG=98p`3bnkRya+{{3fcEN8o-{>v#vGv`lOmA7U0GB*^LD*{Pgs0#C(p)fL^@ow@Qx%B#C0PD2g{|j!Tj>MKkCgMuP!%s|=?sLNW+{Opda^ zD&5>)A4OkP5KhT-aTWnqFDduIsm>a_Hq?d}``&?eotnhalfWs_Q-=_4iI zCQmTh2<-72A&VxVzGcq1EbLhtyYV)v@|C1DP{O~RbI!`v&BBN7kW@l<;}NB6O@@j zCX&KtG16U&58gV0U!FgXa|b$bdRG$~%0p^Y94&)amV{AW6hOe|LD27k-EMyz`E+m= zIuppu%tU&6I*BigcaHSn#qCWP-qnILLoL`-6G7N2PI)BbV2aNwUGFaO;f;OI;KGq^ z75s(njVSgxRS*WRE-S)dPb+p04q)Wy9$X}&Io7usZ5yI!Sr&I1NgmvyVS@WL)ghVgZ1UMKSRKZ98cQ)) z8$q$#s)~ziURx2t)}~Fkefu`HwYTBYu^u&3KcHv^J2qo*U>Ejp??TjTM{aJe3eM3p zfp!A_^j8<~`}ari?)P@!^?e<9iO6@a&4W)A#vd!vZ8l!@%f?T_76Sri0eL3jfhd|D zvB*jz1=!PBi*2oqxNy85Cuo7*&1HDGe={0tH>kwgTU$^U@xY+dV)g3PDtK0A2Hrcp z7r(ju0^U5h4I?`maJ;h`dmGoH$tS~Y)Wzqt;)HrhP@^m=MNtsU_afkR!RxXk-{XM8 zW>M2#AN8ZLt_Gz+KWvf-85tQ^xpF0zELnm)*@R0+yK(+-*9`EkQZGtnEo=te=)8LY zk-1L7nlg~#u*#DKM?DXVNubCzShZ>umM&e2RjH}S&Cb46?2xB=qIuX`U#yn)xpJQx zd7-FpS&&y=pXE-!*I2s4C~d?Zy#v%2NrL1o$XBJNp{1 zLDuWcGaElHkc|k*26#mQPNVK)0)K4DDgibJwouwOU+$?XfzxdI?Q|0K*Of#m*zt&v zYB;&1b`6P+`kfsR(_4^A5l^h)G6@qsWj<{5n4uW;ugx%`0!2Q&w{`uW2b!wlA(!n> z>qB|}8lpX15e=Uuv_OELbL!dgxHVZ5>=E20?0#mmSuKxh#YBu}&PIA#+GPeK0@t>N z?ARJoI0L_)L7>oKefv~@BYyJg9$cpWeyO(}yX%TUFF~)<{e#A5G#)YVlfZdn;xcgu zPzh8qk{%v0m|_&JHh3j$30UDUBoWvj3#V2D-1mli>ha1zGfsBZpnrW3HX^`L@}fNE z1LqR4P+1d9g7vX@@nZE1U^nW=S}FP(r-8*cIwJ#oQ|7ej3vJSseAyT;amj!2$;O8U zZLXS124{Esy0oiX@>k%j0q%qZiG>Rn!eY>$4M}=DQ|v-W)W9KVW3vd%byOlz?VvGE z0{c77UvQn1Yn}|wk*l>Q7v#=ZuwVf^Cf(GQpbfPi5jH_LHt&guA0W{kqPkD9x;YD+ z0Upx@mjL(MWYiQ=f3FQdHhif8Cb4MIA_$pjXp1<|;HLwNpuKAmbdhgL;8vpT=2CkC z+)B>ZK)}5liZR@^5d(Em33e3yHEyS5a3;ldW?iu0 z_`1Mh!N~STygJy7!|m%Jkt1>mSO-Q;&O@u9yZ+SQ1wFXPbkVuSilq^05r~6w;wk^bho(CND z5FI)z+%iOpo;AQ3;CXd=`qY0-fRsPXdpp;giO}`EAaSA%Rt%K%A~s^>gjB$XKW&W}Ir-WVllpn3YedznhbtJ;`3cSy-`R1shTH zNhD_NhTL`uW8tF}?|hsAwpIe0v61k?l$omp%9{9yhLfHfXELfG(U|WeXBGiU{X+(3 zB0Lh;91#(i^eED*9d#30A_S7Yymty>3LEG$y6kVL6W7Wq=h#ygk_46%A m&qe5+4{4pd$=?8Tz55@NYw_ktWMjYp0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006ONklS0#WHT=4)>aYX}=;EDwx#T5yFR>drnW$aGCFKv6tu@`48mdEXzWvR028>m`cTodH}}@g#!3} zzR!T)9~Ar6{QD$T0LSzBJXnv8KDhNZli-pnz{dxJ0U(@fwy_*sbO1iy@An~_&4SD6 zd}l(Tb<#Iq{7!HQa6FYtfz4`VH#auc0FK|rTa5ywPaDO)NG! zal7x;#J>aJIQnSVw^$?{Dx^Vm_!r9s!%Vfp=M``sAHP+rRVWsV5DErAxz8t}Lxs2k z;c)l`{ez(>>Vuo@#D@xT0Gg&>EoSrhKk)eyY;SFit}ZWSA1b63_yQjhWTXEyacuwq N002ovPDHLkV1g@2BNYGu literal 0 HcmV?d00001 diff --git a/files/opencs/raster/probe.png b/files/opencs/raster/probe.png new file mode 100644 index 0000000000000000000000000000000000000000..2e4c553279ecff5d4e7cf5d3d91984f06bc7d569 GIT binary patch literal 583 zcmV-N0=WH&P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005DNkl{|NlP&t+Aqlf`F%|=Rr4D z*9)#LE-R4jql@J}K0bGj9zFX1>eZ|N7c5xt-`?JS7t9efbpXicFw5`XzYli6;lqdj z7ZnxV1V&V6z+)3Y#}?{+|#Ze-9|HKr;v6v%I6D;RbMt5>i7f8f9Ya6X4+HT2YutF$G%96+|*(ZS)fzrX+6 zwQJY@U%!6+e_|~sI|R@zx3{yiO-f9ZcX4(;VPj)+!P?pyrM$;i*N_|n*es`{G9$?W z)V7?YD4>PqL_2_1mJ{UwT3Sxf0kpOpuLI~|IZg-A%W|v^pr_>+4xqQ?C=M71%TXKv zYO{lCHBiL@D%&Y3UP;jlE{Y=~BD`9fn?a4mpY*gG9s;1?4+#nRTvb^Ka>Nl*d_bvM zcx4nE6jW1MQu4nbKmWhEnHk+2fl?a=1_sW_&dU0qmYVwC#MqcFj=-pny}iBXBqk*M zkBN@{Z)jjZb4Orp54gIz&It_-{pRcA^WVtOa0;dIOje5s7zK6udU~KvqyQ})003gN VHPn4~U(x^o002ovPDHLkV1j(X_g4S_ literal 0 HcmV?d00001 diff --git a/files/opencs/raster/random-item.png b/files/opencs/raster/random-item.png index 349130abe5b47d0258e9abbbfb89acd51da39df8..0b2571422cdf1f9e396129f80a800dabef387d88 100644 GIT binary patch delta 1975 zcmV;o2T1tL49O3W85ITq0047(dh`GQ00DDSM?wIu&K&8HArpTIa7bBm000XT000XT z0n*)m`~Uy|8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^4L^m3s900%fpL_t(o zN41yPQOP0{b*IQg36d>zW%J`A=v*d4o(5;o93G|ipx+{ebbOAD>)>D*a&-dC5SIYU4 z$S@5O_5|T%Ni?or%D}9|_t>3*5S=nYAEfwrdmxX2 z|NG-}nBLySyXk-6&164bkf1Jiro+d}b;4fwq5`0A_D~5^lJ~EFfA4w$e*0%VUKtz6 zYb&MOijcrnpL{j!k2-(u?~x(P;H&;4$V9Lg6U3r3;G=QN^3}S$ z)&+=v_fR;0()n>sKA!B4>-}9!S`XoSg@jxGe+hp;F6Buy9-?0|lE1~(?hIVJl!>mE zWTp%kniA2`d;piur6TP>FeGm5u}yl_pX~``!3=Nk{;@o+IF4b9|f z#k0qC7$2#@)BBY$+^fPbw@PudF9$yqML{X!&8*S5MJyD=yaAAg)BAagC(4VWac3YO zlfQq~lCJN?>xm&ukN4x{(>_d&cH#NsHar{o5u?K=@!;C`81BzSbLDPq&?!wyDX(R| zAZ!NkS+z^wt{DFh{T+v4B!=_Kc!A9SFlL?)l9@k86qjQ3P6<(6j7LL7csN+d!0%qo z!|lttxYe73_R|SShz*3R!08G7PFsO|6###6F$qcCSVeI(<8agCO$2-c?_S;|LG;1+ zb0u!{(|P)#M`GkTaqyLupBcJ-T2q55k~pMXftEA)hG7D%S#QZRLa1`VliA@T_F;QAd`QJ zQS@Cj%9a=Yk7`LI?x`tQL#V(U1f){A%kVTt1tM-ZROlDvUySh#Gv3;}t6>r1c>q zHq(3I5CeZdbDx1vkGGSQS1@o|^TdDnzga2w(W;S=5)O^0f`RjRJa9N1Y!CNmlz$2D zX-dMyhD6jC$6&Kw1*t2$+~S1ZUakXmC*#OyRTJ=SChaeNZLosVhV%4PS<+77KV3Xx zskw(*!ob;VHe7@}oA9o>{pdIqkBZz#Xq19C^tND;F>~G)p*4-%JcidVdKiD@w&1ke zJ=~R+n&)M1w`#bQ_zeu)+1VLRPEMAzo0Xg4?NxhlwmcSzF@BJXIkha6oZt21sl9kP zR?jGZW$gM&xp~yCbY$U7^#L?hC0N1x&ZR-6aI?VqJT_BvTky7%yKs&KP(U`P%#Hnk zwa#DqgxV^d^EZ=2bHZ)SdG>#yaO~Nkvw}N1IwEX?W?pzp*-ji!4~0auYJwFS;%*q~ z&ta5Pdo?%QLMBsNw%by3bJ{7K$6bZSvN)#UzD&DWIfXZu#Gp7M6rOUvfkj5oaOYYc z>Hc=c+wE~UI_EVdaaJ`q!>bBo7KAq*k3vz}#?Jw4)T;~wJz0#s(#3zWkaDxhR2Rou zYEI$N5xzKIv(GO0>B4QuPY!`X%rUY8*GQhwTkhGZyISK3GF6A0nYK5S$wSFH-{Ruq1S2O2gnQgD#jY$Xza)+O{47va%TC4WX zTXULrs+_`49gRTB4nKd0c;5`Lq+(9w-W>tBNml5S;WC?BZ8qHOaHU7LVRuv@j%ROK z6udk$6d`^R@YxP2%r06<}KW_GvFR$iSGhP2oK zxbdBs^PLI6T_Mni2CGeN_4}>%`CQ7W$x!8H__Afo5EJHY7d(HL)P9Xx_<^K9&gv?b zt>&a`3HAIyFPR&cvcFoXvlk0ZJ5^5MOP4N1Ug}21;mmVxOL@*d9oA{w;KFsZTuD~< z0LergIiY5blAl+N<#FgFW-`}Sqb5VsPL(eNr!`OA;SVo4-?UojT=3;l^3_GeoMS3s ztxC!p+e~(M@~(fiDE%%1Ww~2$>Ua!ljzyvB`|bE4e=D=qP8^9qX?7S&$PX22ug8eN z6dc@uTyh;BCZCPp>diEqfa5Sll*}$50Sx# zJl<*-gH|mxXjMW3S+52!g}^}FjT($v!hJ}`j65y2z-AZLe*lrQqikNLH*f#|002ov JPDHLkV1g>3&0GKg literal 1612 zcmZ`(X;4#F6uyB3Lc(4G1p{F-vIPT}$j}r42}@WhV^AGn&==Nvijd%jsxGa8f0J_;jomDf%A^dQJ z&d?E(7b3I_rt(nI`NGmZaOvnWSh_0@#m6er7H!v{p_4Tc< zukY*Y16|_;g1xGS8$sZ^>=CW8jNyu7$vZbwH4g+jsO@!sCvDwWE_#Dv4)@cI1J)z$g=c{ew= z#>U2`rl#fPgty-U-tC$6c!fJ>2w~C zx45|Y`0-=tUrS5t;lqbSB5`0~prxf{aBvXXtE#GkibX|5wY9ZNOH1wT?Ik58t*xz= zmX>X8Z9r~rZtm~zhrQ(GB~jmmmw{n11YO6&`4}dn;<-{8h9%Qtz_3XH^{7r9 zCX0i@YDtaT1{p-*o9gRXxuDF3uE02ne z>wgWq!X+FC4n)NS>ku&XGD2dq;FQ%Ty^bU2u&x4OBs9=p=>5A`utv@-II9 zs^HRv9Ytgjm6esH%tI0rp2tZ&f8)}!R(l4cZMW+#B4M#k^#`fsgDwTJQhDS2 zb-$z9bi&trs{71RBn9o+(&Z%sKmGjh6N$qy@K?r;`~LicF+sNJMAFh?DN6J0RK`@r4ck3# zL}zNNgZ(#39%Znr{a$rJLc;XaJG~Ug;r-Q@F0zzM-Q9vHO4aanLa3tZkr&)c&+hI! z4Lr)s%&;S_Aj)$$&53qUbRxF+*?HyE#ZUMn4Nk;Ao$8AN1os3nJjyldIsGUKQ~2at z{F5m`RCIko98SF7p+Z4F|IFMt<=l;w)Oo){rM*M#z4;{knM%^B+*CPfZEcsMd}dcf z1t+OXcuOG>To1cqC}fJ0#c9HprZ;s%JYLqbo~w67ldW74p~l?(NDID9^`(35QNu99 z1)l4nn_8AlYi86s+{o>L@6F4n26om@+%id+rI&9c6DN)zNK*}@jpW!~9F8d7aDNwD zoqIob^{?QSbzJF&zxQhIq(e&Rl}Xiig5OG8UwCWlc%L*4&_*pjEorRR7vOh_c1pP) zN)zLyNj~DtBmm^e^zdRZy%=5|LJy`7lkLOuc4d0{FquahYD)eSkd~e(Nk0Am0gQPX w8v-oV6$I(Y(wz9rB$Shr<1RUonkA0UNODilJa+XJ#|lU&lp7IvGeD&H8)U$05dZ)H diff --git a/files/opencs/raster/repair.png b/files/opencs/raster/repair.png index a8165827790baac034005d1b4729b02ad45e5f70..5e495d8fd72c88a04aab96c5eb72ad11fb5ad9e4 100644 GIT binary patch delta 1256 zcmVN2bPDNB8b~7$DE-^4L^m3s900eJIL_t(o zN9|TePh4jdudlDgjdU{Ik?(UMStE=Sb==i6fpP%HXQb{WMpP%vd@sWJ!@Uz}tUXm9* z&&SilL-L@*@4CCWNp5twhO3K<FFtskB@P9c!-081MKbXVP|ItTU%S$*x10@ z+8S0?R>bp*i;I|_pU3R%ET*TYF*!Mj@$qqtj*en@co>6&gXr(?M^{%Df`Woz@#C{+ z@7LGYMd5$l-Ca?Xi$xIuF3hADaC>_jo12^9XZio-<>hOznVA_(O-%`~v9U3XjEo4N zfq?<^_4T2*w--G zLQ7<>SRPGCh){&DhJWu1o|%~mTN|5qG;lY74J5v5Lk9;3Exq)Chl%h1zTolk@gJ$< zUv7VkdXqUoFZS~+9335r!$ZhZeb+lDaM)N|>&@+%TM4ig6A}_oSy?Hp#n&-0F=2M# zN=r*w_I-2Ucisi0hK@qziv7z<7_4P#+9{kq(1d^YU<9}jrQi2jt@barB-_rU)%1E; zTUl+~1^mtm7>ZGpzU7?YkolU=>+9>0o}PaWit(gJA>gD?T=5`s!hIex3|?DXi?p;f z*xB0VJ~#nNF0D?d`@~nk@*5|d0lcQB2Ib}DpuqX*3+y;M$)P`hq}obhOxdya`uVSH(hNaPHn*=M2snP)19Kmk$pruU#h7 z-rf$bZI*yx4f6^$Wi?ZsGdQcpofi}ofVV7PM^;uAGBPrR8n+UluNwalT0%TbTp&L` zAGx`?$jQzYMR>8W%~DfSk)qQfDJg#miHV7bkBdWWY^>-olGZrOtqlu9XlN)j8V%I1 zULiO*7+jk%Om0K6*(qCzrEY3!LPJ9X>gwtQp{lAX@LJ{h;4X`bimtoNCW1_kEy%uCqb?q4Iv98h+!{f2W13e0umr3fsh19f+T22 z$bk?MWQ9l)2pE>2oGb^`sy%Df7VF8<_D*s1(cbm!AN}6veb@Vb?|sJ;2l$h0*Ep>U7^#B(;v@M+%+D*-d9-X=0IC#}EJUWoYJ_*W*JQ`Zl zpwhO~NaSJ;kDW?S4hZxQ2tJ(4J=JDxl2=LT%v4`r($1Ybsln8$8il^QwawU=LQlqc zWAeG|JZ?^XW38d9!!p=ovgngi60lgTgM$N+Ow3@UilxPMO*MEtrqk4+P@ZmV)~aii z3A8w4uTE!bj!ih`;^Gn=6E2kSHT7pzwF+)=UT8#M#L=*@s9;drDGn)IibzK+RO#n^p#wIYUHbY~p z;X==#VPtIJQcr7VZ=0#F!#rr{8!-=$4UFF!othr&9WwO|cTY`^Pu{++Ij^j)KclKs zsO!#Xv}aZ46w*p@NqLc=l*=v7&E;iD6=HLr(K2M#XqB9zoB}~kp_n6*6_!>A#j?Vp zk^*gW?X`)an|CH|-I*L3wHSJJJYgPRln>@vCKpO8OXO7&ae0wY!t3h4q&inAlJX@A zQAJf5=m?N(LD~m|oJsW$ged-$L%u#fBq9Otjq}1DJg{s1UKA3EL?GaBRL$Q@sT@~q+xk?@cR=0paDO$Ip}{90SEA=@RZwb|}!5J2<6dj)x3kB`~P z;GPy&RS7C3nnHQ0T6k7=3>zTw3d0BaMd7Hv5yTLG&f?|`N_5(rGJ6zlLbabZ8wIl_ z>`1f=c4ygA++O6oblHPlgQ=!c^}4o{Ceo$DXkRJ!eQZ+>1VmRobMjk`JwX3g{T{wCRd>&nOF zKiJwtud|MQbXV*ARejx^mS_`aXvFYET-;+OV)GUHz23y<#uxjtX7635%~{^rh-cPR zcsO}>{WkT;nIv;Mn7MfS8EQ0naTjf}`aXjLBM%5lbN57BDoPr*yX|*Ix$bk>yQi;K z*Vv`)Y;i2OIn~5fA^79la54P90IMH;i~s-t diff --git a/files/opencs/scalable/top-level/.directory b/files/opencs/scalable/top-level/.directory new file mode 100644 index 000000000..464bddbfc --- /dev/null +++ b/files/opencs/scalable/top-level/.directory @@ -0,0 +1,5 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2013,4,3,11,19,41 +Version=3 +ViewMode=1 diff --git a/files/opencs/scalable/top-level/gmst.svg b/files/opencs/scalable/top-level/gmst.svg new file mode 100644 index 000000000..3b59a44fe --- /dev/null +++ b/files/opencs/scalable/top-level/gmst.svg @@ -0,0 +1,1047 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/opencs/scalable/top-level/topic-regular.svg b/files/opencs/scalable/top-level/topic-regular.svg new file mode 100644 index 000000000..c972dfa18 --- /dev/null +++ b/files/opencs/scalable/top-level/topic-regular.svg @@ -0,0 +1,1045 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + From 03af0a8ac972ca22a4f918523cd1be2ff28579a4 Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sun, 14 Apr 2013 10:02:48 +0200 Subject: [PATCH 17/38] Adding more icons from nomadic1, replacing older with recently redoned. --- files/opencs/raster/apparatus.png | Bin 1580 -> 1440 bytes files/opencs/raster/armor.png | Bin 1908 -> 1641 bytes files/opencs/raster/clothing.png | Bin 0 -> 1377 bytes files/opencs/raster/container.png | Bin 1570 -> 1526 bytes files/opencs/raster/creature.png | Bin 2506 -> 2297 bytes files/opencs/raster/door.png | Bin 1715 -> 1627 bytes files/opencs/raster/leveled-creature.png | Bin 2212 -> 2150 bytes files/opencs/raster/lockpick.png | Bin 679 -> 671 bytes files/opencs/raster/miscellaneous.png | Bin 1518 -> 1716 bytes files/opencs/raster/npc.png | Bin 0 -> 2143 bytes files/opencs/raster/potion.png | Bin 1876 -> 1582 bytes files/opencs/raster/probe.png | Bin 583 -> 587 bytes files/opencs/raster/random-item.png | Bin 1993 -> 1698 bytes files/opencs/raster/repair.png | Bin 1280 -> 1115 bytes files/opencs/raster/weapon.png | Bin 1064 -> 1003 bytes 15 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 files/opencs/raster/clothing.png create mode 100644 files/opencs/raster/npc.png diff --git a/files/opencs/raster/apparatus.png b/files/opencs/raster/apparatus.png index 037ed290fe9d5fd538bd21f9eda35f83d5048069..3cef537e140428563f908eeeb08214999255a7ae 100644 GIT binary patch delta 1333 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 mNan}{{fUIaNWNgl{r>?ZwZ|wDcoXCR0000Lx delta 1806 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/container.png b/files/opencs/raster/container.png index 7874606ab9b905dd3afc5e58b929e586241f3fd5..2a6ed01eb9969129cbf9edd6d0f404464f97cc92 100644 GIT binary patch delta 1450 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 Ys`Lns?+??S$N&HU07*qoM6N<$f>j|v?*IS* delta 2408 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 diff --git a/files/opencs/raster/door.png b/files/opencs/raster/door.png index 36ffca6d68c296cd5f33dfe9d6293c37a9de9fff..aa48858efa1e5862461f899752a2c0d91b65a2c8 100644 GIT binary patch delta 1522 zcmVh*`X>N0%ywp4izt^vAEDqqS3uWA0DB{j+R)T-P&aLSbZXfN! zjmaqHdj$B*s()u$x309Ahz$i0oSm1q4#gR`UxMG6&0ulJhutX)%0VML28<@mc)eG^ z@-`Te5wr;%9IU?~M8D!pZ)nK?mOK7Z4XTIF_^EbdL=SB`XGl9Ku#rqLzr7 z0s=P8y??jH+9fzmJK4Tb<*&lemwC(=?dWXNO7K%fD~@N)a2b^MWD7{SbdRX_Wc|vJ z2PM|udbY2Jll5=(+L3l@Fq^kvzF@)0yct1@s%9H%I#BfMMXLO>xjc>*c+8Z9nmw-v zUntqIyTgE8F@pp@kuxLCt3=rjP{Mt3yh{q2BY#Z5v7#VN`>O-D5u9u%_^zm4g3o46 zjR~N5ttQ;zyj^mk5jfdC%HSgry#$}h7|~&Gz=48SFH*w2zb}UAoDGKy_O+|FS>*(u zW3~@RI1Gn534W~0h*%>6@=O51-`g9-!K_UZLHArPoT}a#(qW|2j)5ePN=87^t$QMS z27mHiP9*rd6A>oBilkFZONJc|B_D^PPls-=4h5EcdAC+NIhO|6HVraPHM$&Xs?_*j&~<)z9$;NO2b zjP0eie_h3z4zM*U68!3DpyA4C;Er}0uy-`ERyo1HxY38Mh)JFU876?>SBCxAn`R-x zvVF6jcREx^3o4}eRwUWUckno{D~2y`4q=h5wR)d--0feRwVdJ z#fyog347RS1U?njqU=#&z^lf-m=;q}4MJvx{3vFdOeFX+d)165j2Mp_Wmit{$%qDh zu2%Fj5d^2dgQf-r5PXrnXvX6PX@9X)6K*5htMEM`HMX`XnG3BFd?Ktypb-ISr&c8R zg#qWw;*C_LD}yZyaVWvkF8*iQRYRtF)v5zmwY>@_M|}Dw`7NLaB(2t& zjOp**{||V@-3%|+fB>6T@wAgYD%Py8E*Y}EYCmg1#|AA3vldVrf`%sP7+ag3)_M{B Y0nNHJ%Amm=Y5)KL07*qoM6N<$f^E3(g8%>k delta 1611 zcmV-R2DJIx46_Z8dw&KZNkl|Rc-r7L=Ih;te1Fm*K8;G^X2dQ$2-yT# z?cd{{Qw6TmYTt=S;-l7p>E+2L3G3Y+eAMU1m0lk%_js|M^Wxkg2c}aNG`Pfs^8eVMl`EY+Gp@3f-4kMS8FjVKjdVf$+;qG`87kd2Y zua?jewc$e6i|d1aTqP1Gh(yq$d*L(dcAbk|33#o-S|;LU!@t3JqPsbC!Lt&Ub=e9q?g| zY-kNxXn#9AxRj+?2@7xXKew@o~eeWgvPH^sgwo$@#gM^EnPR!Mq5j1P_sukdb zyFM6D_WVqjUm;NnILpr9)Ae?o?{H!!Wg-Gq>VFAvyz=gI$SimHh=lKd)Bd{W1=$Op zv+Pp@K3QkSYC9!lwGjbR2?Xkh0LLpQ-04m)PIq~?S4|E01(JQD&W4Fv8_ph*F_|>N zUkZU*mmz;0zrR_J4ey z{>Xf@Q;FA|p7W{|{63>}ZO2lx4U1_jy#=f|95tacOv6aT>Ro!cMUDC`NJv6{IU_3r zcdXfgqg17UFVtHw5H%7BBaYXb(eKy7DQMIuVM5a9ms%uc+K;AX%r(i%RpW%)uX6^U zuOrZ~fk+rIUu#0Ij|k{1)Dwu?^?&)rv|U*>2Is?43iwgFetjX4NQmI?9&Z&Kr4Wb_ zfm2O3MfSo~Q``e$N%I8XuOu2Cg7`0eq&~fLuUO zNbq;JO9M$;uHJ$u5m;!jDzfuQ<-@}1R&3gfflnnwbo=$l1qDneMRYn#B!3XG>hkk6 zOdPL#Qu(ly0zMHJ(B;!1OC%=aB03xuuxrcID-gD7^T%kCIotW9j;5?{?D=k;Gx%6k zj}DJcQDGt`piM4^t*R6P7HyuNQSAHiCOcXw;kHxGODX3O(L~kg<`U@NF#+{XJ?f}x z=>=RPQ%O1u2K5S=R;diu%6}3Fgopq?quBRCwx4dX<9$xLrmdtq(O^+RhWC8u@UiDC zJ9p0DqY)i4wh{^O19B`TVu3(-7TAtC0-B|j;^);=(trsXv~dC%jS3iv=y4>h!%&F2 z4rnppuR@=%620C^8DyqtZuu)kx2O(Bzo)vo${RhGC1icE4k}LoK002ov JPDHLkV1lHH7Y+ab diff --git a/files/opencs/raster/leveled-creature.png b/files/opencs/raster/leveled-creature.png index 4aa2c56cd7bfc3407f8aa7a56830089ccc022461..ad4a7c6f837a9946e420ad59b519bb24de3eb2ff 100644 GIT binary patch delta 2049 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 delta 566 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 delta 1773 zcmVauk_J%ZmSs5? z*aciz(B+6AA}W`lBF4(02~iHADi99QfI;Mnpj3(|5d;OKfCezAfGC0k!s1b@rqy&l zeU}an1d+o@|9EEinR(ym`+2^<<9XhBz`VH(x#9d2N2B>Y)_*$h^jT@Y6F-+V)bGqm zT>YYt#hYZf&tt!09*(+i_5NP~OeJ<^dWNEhR(8%RJCQD7E6fQ|m>|~G#7wGC=@^I} z8e7QBW&<-T2ON~%`97OI=j*DQM6Gh9B_o{b{h@eDjY%r+!aXnw3kTP%UkpIKu%(@I zZDi_kKJ&1nIe%|2HCeH^N(|Vt?--`GirU$T&p8LYLUyuBZpEJMAw+KpKyGc0Ye1B+ z-s}^4Rv{P@SQ)%S2*Vxfy5L+Vq@3vBV6>oOydX#u2)m8aKk+e1cW4~2CqzH58VxejQ&0d0NIatqD~^P)?T zeeoFyrv`{D=)fgt7bbRYr>ApcN`Ma*EO^sMY;`v}>kRql2e^3kKV0jF!3Qw>59l9( zjyupQw0|J=XcB;`1vk_n84W+Nv*Z@O@h8wWGQX={YbuZ_0W4&St7`G$`XSo7K_!Sj zd;;Br!tRCn>2@ejc&%NOvsal>uxjc^QqgSQ`_$IT3B=JV}eB@5dLM8FuDeNm9 z8h-`YS@8(>*m86&ol1Z1!XyAE&p=h~(aSV$${UTjs-TsBMO4zYI-4@H?UZiHrJ}t5 zMGh2KsyO7ANxHT#$0bo*Sf0!&yBIPJg4nS@L6jnzsE{1|S0`g`>vjK?03u5}v#-1p zXpqHmH@6v;>N(GkU*o5WP9CS#GqUw0b$^OP3XC>#aPeBwwR||Jvz`-@NG`gj(jJ;a zXG}ir5!qZ294NKfC4dAI|H&#s-<6^?UBjZK))P+42@Xi)?(rqAdl}yFEe|^$Fw*mw z=VjMM#h)B+HgVE*O3@W74_Xt0%K1`cWHdi+0&=p%mS9}3Yfd^>XkU?uiCV!W< zrBdUYNSWeG619Bs(o&*h=`!K+G6BHUMqYSg4f6)}9bGL{OrX!bAm z$5Z=L7MaKj$A@78fUS#n%_(s>gMUFq^tarjzqoT$d?2KRzQ7`S{POAYJ4)xqd^$Gd z((0ehrL~8sQ>IYmwC{y@sm*SVS$;u**$$3~!pSz;MuO%#JbtT(jn|lKaALqeORHPL`(Dv2Y)Oa+~N;A z?c(OTBV4Z<RX1m?Kpw20QuIx4%+MdxZ z44KVql^aj@6d-#PaDo zq0p}vtg-idnynW=yI&qB%kEJbS3j$S8!sOB(RviW*2YNJ@#&1t0<}ekmJWqq+JsRc z4x?dx-fM|_|K1F%KiZ+OR63#l$3ijXeZW{Gy%oLGU#Q{W8JF76cYm%Hw|-lUrjCVh zZ<@t@K>e`VE(1f$p$L6nl7)k&Toyap;a=8c)O9{yeD}gNc>Yc_Dz2ezGBl?f(F+KP zbK_dEFX8XY1(0>*inmYbaO1^eK3pS|n+*A{gip0U*`q0TYsjB|G<6D{?m{|afU$)Z z8{7CTFwo0LbSs%fEmB{{QFCpZ`ysIPt%@sOSbz&H&^H znmGWQE`M+h$mj5X!DR+SK3N&*7KFcRenDF1u)|PfrK!1wmR1X1CEvKpj$g!Mi z4j|WZsyKiW%PDpM%<|*MkN*c{u@4_UfN4-xLr?9vN?Wqa0c6YF-P}G$gonS~x^*i_ zmXjR<=#~SER@>a%TzM}~&l8Rg4j1h0>`=;ke02@UA%M+tN-8sw96)W$Ns0nmSWdJ9 zXk|H34xpvw1b-bsYs>LEfF73PbO609$LaujT8`lWdRva-fPt_a#Q~r;JE&FzRV<*g zos!~}6usc0I3+pRYx?x*|LyGTe$vx&cnE-kKQ1=*b5~avsKt7O6dzEk7G4>}#>CXL zG&ldRt*QBMWobz_N1)V(k&%&e%F4?A7v$&vH#0S*i&7&ns$*a$a!zJO#{Z*7ks>r{|ogsHkrN0RjJwjf|#H8qZ|4h)hjP>J0St?}8F2Egb*=2f$1v^&Q5X P00000NkvXXu0mjf+^gwo delta 469 zcmV;`0V@8>1jhuBe1En{L_t(oM`QT^|33q*v7&;4fTySDK{r>|3$89ME0FD@i{(B( zK6j2DJ^KIZ)vNy(ELia0-rjx}%n>wo0LbSs%kSU64|c%e!-xMD6&2kD${BzhK{E$n zvm6u(n>TO%pAa8^4=ArdGY8mYRR@q`In^9MuH{s5 z040`F>;RbMt5>i7f8f9Ya6X4+HT2YutF$G%96+|*(ZS)fzrX+6wQJY@U%!6+e_|~s zI|R@zx3{yiO-f9ZcX4(;VPj)+!P?pyrM$;i*N_|n*es`{G9$?W)V7?YD4>PqL_2_1 zmJ{UwT3Sxf0e`f%9IpfDVL46*(93eH4xp#y7!IJf)F93BFo;13B2`CL_5339{{QhY$ET6kp?928VjT2k`A zAV2@VxtST=9D!0B1_lPs$azwj{a|GU_f(6 zU~Lb$y1LE@4GsO~>*Mp^$k1>KrSVKwiwGD6b^3aGpiZO!Egb*=Vzf2XeRp5d00000 LNkvXXu0mjfS=8OE diff --git a/files/opencs/raster/random-item.png b/files/opencs/raster/random-item.png index 0b2571422cdf1f9e396129f80a800dabef387d88..7b8e68e60543867519ed7518d0061c8a21be3b60 100644 GIT binary patch delta 1594 zcmV-A2F3Zw526i_dw&KINklc2^rkbttJT4Abfl385<)_Ngb+x= z5)#8=2_T>#P(VZ~;BJvBt;L0cD6$q2M5z=gRZyxFMX0qbiW&mQCKgaD;B=mz@64PG zArO)aF21XioZs_q&wIX)0DNT0`FzzXfvdny8mJamM@Rakl7Ihdf+W`AA+jcarKmMH z(0xSi$!jq8ofg4EgQaz)mr{_E9fxsUHLAF+7Vc>fjLuFrtNOVGR` z0>U)Xk-4`I@!?%B{+k)a?DP{%k2d1X*gd>^-Hlhe8U(0BIx0&auZV!He!}L5_s-$p z*Ufl4eiQ!;Re#d(>9IB%o=0UyQ3*(73UB9OUGGIq43uJATa3}?g&6KD zz)YtmO!mI6`mi3}+kO_M7m^U{@ASut3!t*FD!}K{4@Z-&5E0Dz z;48D63kk5Fjn#YxrQ{P(&smm;u&4y&#ZrkQFF+}Hy?-;zV@|DbnDdp{&Z>Pmv!Ox4 zIfa}ziayNnvSTD*K(hQXc^=(>t9&|Qu{f6s=m+-Wi-(A~pa z5oTq8G@qZhbJyj<6if`(V``)w6T06p{-Ob6)ERwNkD;C_^mUv^SL-S4itw886g#Aw zBVt(r{(mZwdaJ^9^6&e3m>j-Koi?iZuA={O9-cq?5q+KK@TC0=dhTb_@W*$*!=pPV zabR!Ydxeajznln@0s_@;`FrBG&P)u{P_y1a&3y}oo)j+&?`%GShc`2E;$R2_j_ejw zB9;^&7IIoH<|I%NH{s3rBfRRbr|Nv3hPO3k;eT*?I0Dsj@OV6^m7Yk9^~bI2hrqxe zG-jZ!;TX#E;-Qf9JC<_CMFn_C`3;2npZdee4L89orVwhl^I076x`0v z4u7_`ws7Ryg%X}FXmjX~s6 z4_6#b3xz~1py6yb8=E$5!p<-+I&ucyRF#IC75h-06APi!=Fa&&VIV-Q6!tLvf`2!br=X!U8BrR^jKI-GZ&rE%6kL7bY&^AI zAJ8VlG~E1Aa}&AfYo2v%he5-oB?Z!OYinz4+_;fWI}3wi;b zVs6_&&t*)$ytgQv%=w+#W2h`jK}Eq{19;Q5gK%+n(8D*gS&PDN6egnPVgiB`&VM~j z8T108!o3E`sExh2ZuXoXKM;o9F)9Q2h7B7K8YrP_K0k5>el7niC}q4sBLPWqDlM_s zf$k!c4#&)SX>Ovv=1kfNoNe<3DyZ3C3VxL;!8V0JYb0QItWrz7-ITq~H<{v`c!QcV z@WLOWO~Na4b|J`j5dn!YO6};g+J7azeWAk@o{iJjoWP^Q({SGPG*Ez@bc^(2=L|`mw@`v=zQ_lC2FPS8Em!1 z;KXEptw=?Hp9o%_PEh%{pytwUdd|tH&2KnTbCPxvIf0j*iiDdJyVa-%WPcLJ^s3^o z@w~G@zfzZiGY*$~at9K3`rvHFcC+CpQq)9%eogDgka%>|cKP(v2f6e(f0SvK;LtZ=BL-0AuIz`%eZ`}wSSvQc;3-q@U~bR-5ZS7 zF-ea^Xy2K6Kx4F07kWEMJBfTbIEh@yvoTu5CNCx;XS)cwgxi;zphEGP7?a+*PT^4;2&94!;ho%oJr@xP2FjOtnYSgaUU^5kUlrGvY{hYPL sUWvmIlOc0XMoq-GsdlupHhE9@AL3)&a$Qp|g8%>k07*qoM6N<$f{UXW8UO$Q delta 1891 zcmV-p2b}n#4apCXdw&NwNkl@9t3Xn!<5TQV@Sp;NhQ4m>_0@RU4QCzXLr6a@OP0{b*IQg36d>zW%76Hg^t0q|f6%R!p9%Dp z^tvmB4|D-Cqt;WDWzYB84OhzflE^R(67~e)WJxrxUdq71#9$EU1N}O=v9=->z3pje zYuJZ`UF)Fr_+JMg;}2dupNa`XHJ*=F;q6ot#vfJSdjApJ8!W)YXeGu*P9W#-CMcx5 zE_>9|_t>3*5PzLALLa2~czYm^f&csCbC}-V#k=W$;LT(|UXY+Jcc#O~%XPwD_@V-! zZ}w0LQ&0f71DJO+KFNkL&$iOj-}&dxeBs|9=TU zF6Buy9-?0|lE1~(?hIVJl!>mEWTp%kniA2`d;piur6TP>FeGm5u}yl_pX~``!3J1!PEPdFx;!cFSkl@vo8lf6h%QPxm&ukN4x{(>_d&cH#NsHar{o5u?K= z@!;C`81BzSbLDPq&?!wyDX(R|AZ!NkS+z^wu74Q+5B(j7VI+q0%6Ngy|1f5r50aTb zM--Q0^iBy;U5rOVMR+(^$iVMj&BN`>xwzGvgZ9%2NQe!DtH9|A{Z3nfd=&t3F$qcC zSVeI(<8agCO$2-c?_S;|LG;1+b0u!{HYXuJeG?7ht(QuuogIW#0PEMvwZz+}J6n=4_OKi?6W#dNs}V-|#Aq{Pwbdu~ z!^=wzsZ`3q#bPmBU0op(i6E1TQS@Cj%RV(}wf(R9Vta;XhqGVyU@@TEf8DY&KkkJe%;Yy8Y-l6_1MCNNALTH}tk( zkuh`L7NIqb+&qTYFM1f|w&1keJ=~R+n&)M1w`#bQ_zeu)+1VLRPEMAzo0Xg4?Nxhl zwmcSzF@BJXIkha6oZt21sl9kPR)5bZe`W0YO1XK|u5@JKO!WaYRV7%#`_837rEs&r z`8+mLb6fDXle=(^1W-UWr_7E0fVIwF`h?mlo%1)7LvzAy&3X2raO~Nkvw}N1IwEX? zW?pzp*-ji!4~0auYJwFS;%*q~&ta5Pdo?%QLMBsNw%by3bJ{7K$6bZSvVS|YH^Zw6V-|!r9*;s%+Q!cT zY}Bg^13g)cz0$?9kaDxhR2RouYEI$N5xzKIv(GO0>B4QuPY!`X%rUY8*GQhwTkhG< zrc;5`Lq+(9w-W>tBNml5S z;WC?BZ8qHOaHU7LVRuv@j%ROK6udk$6d`^R@YxP2%r0&a`3HAIyFPR&cvcFoXvlk0ZJ5^5MOP4N1Ug}21 z;mmVxOL@*d9oA{w;D5q(v|LG6_W;R6966z8j*_2OjpcFZBxW+#R--0E(@vEy1gAAm z-Qf=}Ip4He=v?sSQS#MA#GGR)VXaEa8{15Fck-^aDE%%1Ww~2$>Ua!ljzyvB`|bE4 ze=D=qP8^9qX?7S&$PX22ug8eN6dc@uTyh;BCZCPp>diEqfL!A+MU?C3y@+Q2ldemp zgquaO(m`Ht`Fgn;Je30D8V`}dhdkbD7lT$UG-y>q16i*IFNMHB-HjTITEcxu$BaBJ dw!miAe*lrQqikNLH*f#|002ovPDHLkV1i|owQ>Le diff --git a/files/opencs/raster/repair.png b/files/opencs/raster/repair.png index 5e495d8fd72c88a04aab96c5eb72ad11fb5ad9e4..6cf1c0aacd2fbb94db16cdf30f0008d8c69e08db 100644 GIT binary patch delta 1036 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 P00000NkvXXu0mjf{DwyH diff --git a/files/opencs/raster/weapon.png b/files/opencs/raster/weapon.png index b68878a54abbadce500135ea0dd77e7e53168118..3d4b534661076843ba4db3fa81c056d44e108cb2 100644 GIT binary patch delta 892 zcmV-?1B3ji226mGcx(sEIm65g?=zpA60SIm~nZWDy!pzJJsH&^C zn(J|D)U2-?;f}5dFb>laY~dZa2Lj>K)6-zJTA@-d-)c~c!2F^P#-FRepy30?PV-L( zEeTvusfM;Y_rWJ7CSYuA3@Qj>t5%T@Z~Nt7d`wVtAGjy>oj_A#WB=&rs6X~VxY1~Y z-riow$$#dqT(8C8Wp^p?ILGaQW!RShGTyrgzOk_Zv$L}h46fJffy?1gbthem$*Tt~ zs{;$baojL6GUDAUJlvl)q6859+2G(hUGRt&5rW_D==dEDUQ%2<6wdYb=X*+EuW*7O z`XhnwDFK~UD+}jb+tT7G6bkP~3J)s)!P{C}$$tgs4cYC@&CS1fJf2}c@LdIn3JWnG z+~IHp9kufE^7VtjLkd7}GFBIIJ~uZPHF!_~2u^OfZ?S;y5P;y4ii$Ol#}m@IQlaox zDV4JQ);#1U{2y?C0yo;*8RVbs`)$bMJwzC~g8kO*MPy}%<;wSyJmZstM`E*dSB;<&=YZ3vchrGk4 zfJgJ68{u|#p?|&62$fu5CvZM5`JYL{gT=^)Hai(SPU31x@)1=~Ae#bA&36s>`Sl^@ zJ~iV(offj})V2FHC(wB_12x7(q;d`~Z-ld&0J$t*Df?4%QG+iZ?qS;AfQB1ND05OH zI%hornN(`;>gqy8dHH&kS%s;$x8ZnGi(8ka$U4bg3x9XcssIANQ(uqS*;yC^wAbfgy8Y?R+n3+3^dp>e%PE5SfVF`hRY19Km~ zC-$5GO@Gr*qrrQ7d(qzB4y)A)iCFZRv#?hB4ku>fFzO4YILZONUS11(z{lKFN zAn;O}c5UaJ4R}NW1kSA3-|>KN5kTO~@sfS+cDoU&=BL$aA2St}z1BSHCJe&KhlF%` zJb&P!1TIxo9n)#Go*>-o^=|3*e3i;2&d3P;%dwUKfs>j?gSWM{K`xX1J_vXqfdZY* zF*rCFh&|kSOG^uwG4mc2JRpFgsCT2IqwshMl+*1##W Date: Tue, 14 May 2013 17:57:35 +0200 Subject: [PATCH 18/38] New icons from nomadic1 finally. Including dialogue-greetings AKA Ave Caesar icon. --- files/opencs/raster/body-part.png | Bin 0 -> 1359 bytes files/opencs/raster/dialogoue-info.png | Bin 0 -> 1851 bytes files/opencs/raster/dialogoue-journal.png | Bin 0 -> 1991 bytes files/opencs/raster/dialogoue-regular.png | Bin 0 -> 1486 bytes files/opencs/raster/dialogue-greeting.png | Bin 0 -> 1948 bytes files/opencs/raster/dialogue-persuasion.png | Bin 0 -> 1987 bytes files/opencs/raster/dialogue-speech.png | Bin 0 -> 1987 bytes files/opencs/raster/ikony/.directory | 5 +++++ files/opencs/raster/ikony/Hand-16.png | Bin 0 -> 627 bytes files/opencs/raster/ikony/Hand-22.png | Bin 0 -> 824 bytes files/opencs/raster/ikony/Hand-64.png | Bin 0 -> 3036 bytes files/opencs/raster/ikony/Journal-16.png | Bin 0 -> 741 bytes files/opencs/raster/ikony/Journal-22.png | Bin 0 -> 1087 bytes files/opencs/raster/ikony/Journal-32.png | Bin 0 -> 1823 bytes files/opencs/raster/ikony/Journal-64.png | Bin 0 -> 3891 bytes files/opencs/raster/ikony/LetterA-16.png | Bin 0 -> 631 bytes files/opencs/raster/ikony/LetterA-22.png | Bin 0 -> 859 bytes files/opencs/raster/ikony/LetterA-32.png | Bin 0 -> 1414 bytes files/opencs/raster/ikony/LetterA-64.png | Bin 0 -> 3370 bytes files/opencs/raster/ikony/Mask-16.png | Bin 0 -> 822 bytes files/opencs/raster/ikony/Mask-22.png | Bin 0 -> 1200 bytes files/opencs/raster/ikony/Mask-32.png | Bin 0 -> 2122 bytes files/opencs/raster/ikony/Mask-64.png | Bin 0 -> 4461 bytes files/opencs/raster/ikony/MusicNote-16.png | Bin 0 -> 507 bytes files/opencs/raster/ikony/MusicNote-22.png | Bin 0 -> 665 bytes files/opencs/raster/ikony/MusicNote-64.png | Bin 0 -> 2340 bytes files/opencs/raster/ikony/MusicNote2-16.png | Bin 0 -> 1023 bytes files/opencs/raster/ikony/MusicNote2-22.png | Bin 0 -> 1201 bytes files/opencs/raster/ikony/MusicNote2-32.png | Bin 0 -> 1868 bytes files/opencs/raster/ikony/MusicNote2-64.png | Bin 0 -> 3265 bytes files/opencs/raster/ikony/SpeechBubble-16.png | Bin 0 -> 657 bytes files/opencs/raster/ikony/SpeechBubble-22.png | Bin 0 -> 885 bytes files/opencs/raster/ikony/SpeechBubble-64.png | Bin 0 -> 2967 bytes .../opencs/raster/ikony/SpeechBubbleHand-16.png | Bin 0 -> 845 bytes .../opencs/raster/ikony/SpeechBubbleHand-22.png | Bin 0 -> 1198 bytes .../opencs/raster/ikony/SpeechBubbleHand-64.png | Bin 0 -> 4800 bytes .../raster/ikony/SpeechBubbleJournal-16.png | Bin 0 -> 849 bytes .../raster/ikony/SpeechBubbleJournal-22.png | Bin 0 -> 1189 bytes .../raster/ikony/SpeechBubbleJournal-64.png | Bin 0 -> 4541 bytes .../raster/ikony/SpeechBubbleLetterA-16.png | Bin 0 -> 839 bytes .../raster/ikony/SpeechBubbleLetterA-22.png | Bin 0 -> 1164 bytes .../raster/ikony/SpeechBubbleLetterA-64.png | Bin 0 -> 4123 bytes .../opencs/raster/ikony/SpeechBubbleMask-16.png | Bin 0 -> 885 bytes .../opencs/raster/ikony/SpeechBubbleMask-22.png | Bin 0 -> 1288 bytes .../opencs/raster/ikony/SpeechBubbleMask-64.png | Bin 0 -> 4685 bytes .../opencs/raster/ikony/SpeechBubbleNote-16.png | Bin 0 -> 810 bytes .../opencs/raster/ikony/SpeechBubbleNote-22.png | Bin 0 -> 1152 bytes .../opencs/raster/ikony/SpeechBubbleNote-64.png | Bin 0 -> 4646 bytes files/opencs/raster/sound.png | Bin 0 -> 1144 bytes files/opencs/raster/soundgen.png | Bin 0 -> 2041 bytes 50 files changed, 5 insertions(+) create mode 100644 files/opencs/raster/body-part.png create mode 100644 files/opencs/raster/dialogoue-info.png create mode 100644 files/opencs/raster/dialogoue-journal.png create mode 100644 files/opencs/raster/dialogoue-regular.png create mode 100644 files/opencs/raster/dialogue-greeting.png create mode 100644 files/opencs/raster/dialogue-persuasion.png create mode 100644 files/opencs/raster/dialogue-speech.png create mode 100644 files/opencs/raster/ikony/.directory create mode 100644 files/opencs/raster/ikony/Hand-16.png create mode 100644 files/opencs/raster/ikony/Hand-22.png create mode 100644 files/opencs/raster/ikony/Hand-64.png create mode 100644 files/opencs/raster/ikony/Journal-16.png create mode 100644 files/opencs/raster/ikony/Journal-22.png create mode 100644 files/opencs/raster/ikony/Journal-32.png create mode 100644 files/opencs/raster/ikony/Journal-64.png create mode 100644 files/opencs/raster/ikony/LetterA-16.png create mode 100644 files/opencs/raster/ikony/LetterA-22.png create mode 100644 files/opencs/raster/ikony/LetterA-32.png create mode 100644 files/opencs/raster/ikony/LetterA-64.png create mode 100644 files/opencs/raster/ikony/Mask-16.png create mode 100644 files/opencs/raster/ikony/Mask-22.png create mode 100644 files/opencs/raster/ikony/Mask-32.png create mode 100644 files/opencs/raster/ikony/Mask-64.png create mode 100644 files/opencs/raster/ikony/MusicNote-16.png create mode 100644 files/opencs/raster/ikony/MusicNote-22.png create mode 100644 files/opencs/raster/ikony/MusicNote-64.png create mode 100644 files/opencs/raster/ikony/MusicNote2-16.png create mode 100644 files/opencs/raster/ikony/MusicNote2-22.png create mode 100644 files/opencs/raster/ikony/MusicNote2-32.png create mode 100644 files/opencs/raster/ikony/MusicNote2-64.png create mode 100644 files/opencs/raster/ikony/SpeechBubble-16.png create mode 100644 files/opencs/raster/ikony/SpeechBubble-22.png create mode 100644 files/opencs/raster/ikony/SpeechBubble-64.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleHand-16.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleHand-22.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleHand-64.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleJournal-16.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleJournal-22.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleJournal-64.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleLetterA-16.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleLetterA-22.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleLetterA-64.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleMask-16.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleMask-22.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleMask-64.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleNote-16.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleNote-22.png create mode 100644 files/opencs/raster/ikony/SpeechBubbleNote-64.png create mode 100644 files/opencs/raster/sound.png create mode 100644 files/opencs/raster/soundgen.png diff --git a/files/opencs/raster/body-part.png b/files/opencs/raster/body-part.png new file mode 100644 index 0000000000000000000000000000000000000000..333c5d5232ad50c35c3a124fea530370f84e61a1 GIT binary patch literal 1359 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/dialogoue-journal.png b/files/opencs/raster/dialogoue-journal.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a95c53848b787d5e857c1f8c3a38238e2518e6 GIT binary patch literal 1991 zcmV;&2RQhNP)N2bPDNB8 zb~7$DE-^4L^m3s900%=!L_t(oN3B;2P?XmhT~V3EA(pZ)c9-R`AS{ALC4eZ18j25$ zAP+^FSG)0rC=o+cY;hn-#W7)qh^BG0c4BLVNmFZs5{r#d9wIMAP*_lqS3m_M3Kqeh ze)l#%*+mekGV>4YaQ}PGJ>R+C`Bo%)h93(H3lEu08sqQhduYu&Z{{Z_?`TR(`{==e z10UnlPxtii-ksFBZCjinA|fQmP3N+E^5n@YCQO(hd4{b=UNV0CcngJG9{=VWQ8zL( z|A5BEtLW%xKzDa5?%%(I2M_Mj)4~7l?ruY8XA|1mYSGYe1$lX=@ZpC$2YkF=`Mag1 zWx$w;Oqw*wCwg^6b$R)D+`HF=-rg?s_x~FYA9mB{R@}aQ6W@PdjppVm+`4szo(fK| zx%oPgsN?@{ZLNX9a0#FPJ`K~SdmJT2UK*8%nVH!*jjcNQvjd+Dbagf2(W71he#lSQ z-fo~xuc4)-ihwH7)O3}DH#A&EeSJA@-Yi31T?uMyi#f2tP)wvM`BPZ<4OWCMyGd$z zj!1&Q$GcB;`%_-tX_B=a0|Wi|;Rgm>L#L{SkFyrb0#!&{C&hv}wpik+L4>O#!d)E@ z=Hh_)(=`a1t3phK6mvb*sII<ZU)}j zd20}yojgjXMcQwza4g*t(SB-VcxaIBZi}?3w%F^YMygJQ=-EpAZLc}jhDry)D=YJG z_38yq;L4TnkdUy6k(g~lLSk*L&(6+7PfrJdKO(c$n}9RfSLqy~kCG39Cj=<5X{iDm z7b~zKNP%^M3anWu$KqKk1pC==Kmoj>;yf;2K8N!1Z&6x$77^jgo5>SD<0Q!KmhZ-G z=axe1z>Ev7em55%T#Fw9lQI#dahHwd@{T0~aq{RFgs$s#) z%KpU(kez{-l;lDHFDm+mRQN08GT9Chb+zW6o=$$%nA=CX zY7yl0SBZdNI0l~LqC{+{1cwvFc-Ke9!Q-`Z1Zp)V;7oR7@QW97P*89RUS6|Ki1ugf zeZ(5f-MjTqz31VKfYzS7T>#%TMTwZ#B=|f*j7{D$4j$(yqjef?xS_JMlMCSa`Pm3r zzNDBD=>M1u5KG1hxZIrs*9 zDdszBxZ9rwe&NDD;N$IiQnWfMJh!9c7Vg}s=k0YkaMoT|I8(PH0>`mAXT3d?2n0CV;eBT%f_-fe;$y>W zu3u!0;5l-yYb1-ojU<4`)zY`bJ-vP7Q@p#+_MS_a>xgjJXV?P?BqhKEhhq-S6X4$Tb5Wn zo$mjSh7)9G;DI^?b}lu?vY8To&xgv+z_-1>xsSpq@QFku66U}D)h`>Ho3BwnFqnX| zV410Pz&uYCUJsPQ+e3{xIyHAYGaReAr?VP9Q&k*%#uW9i;P1T`+eg6{HR4RLZtdIk zEiKo1DU9=cxKtCG%xG?BhGULjwQ@xpoqYaNry{-njk>0$Dn3qKzh3x6q_X~Q+~J0T z4`;ZHeW{o=^X0Fp=F(9|GRo=VhK362h}HiWIIBA|-09QDk&?U}ety2+Sy@?yj0!9) zm_6I;L~U&eFM+Y_Wo6%j#_>DhVXsy0OpG7M$k>A~zSxhf%tQFgv4c2xFb#WBldv&H ze}A6;oHLYi+vtu@d1hc?p8oxlBI?z1-n2p&?0hZ^i&Kg_WkDqJfvAnEvbvcrse~P+b2{+uy zlYa))arIdCc&@c1rFB$PSc@>l9zFUQ>)8vRYtym5%*N)_)TD=OrpwAY%oKQbCyy0u zr1g{!u}6;V!`ZW6F#>TfYTq&Kqf#k%rKkVyKhvhU9~;w)FLLqE$$<2gt&wHLi`-Y( Z>%YE4D0;;cY#smr002ovPDHLkV1jGJ%=rKS literal 0 HcmV?d00001 diff --git a/files/opencs/raster/dialogoue-regular.png b/files/opencs/raster/dialogoue-regular.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b8d252d368f16aad97beabd89aee50a53a6760 GIT binary patch literal 1486 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 Vb_lquM&tkh002ovPDHLkV1n32&YS=M literal 0 HcmV?d00001 diff --git a/files/opencs/raster/dialogue-speech.png b/files/opencs/raster/dialogue-speech.png new file mode 100644 index 0000000000000000000000000000000000000000..11eb9f1ca8163670aab67bb916490c145ccf9340 GIT binary patch literal 1987 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/Journal-32.png b/files/opencs/raster/ikony/Journal-32.png new file mode 100644 index 0000000000000000000000000000000000000000..6c24494166bb710bf1213dfc1eeaa3d788f04b31 GIT binary patch literal 1823 zcmV+)2jKXLP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000J#NklN%XY zlwK%z+R~O%3Z>jHB2b`QLg%FgM-i%(BcabIY=; zGbUs+iys$1?8BCg$+Q3e#5M@@lw=?NX~LJ^^Stl#zVCqnz<8fktGQPbt(kP?g<^9j zhfN(EHnwr-ZROD8;gFpghCGvUsxnGFSwWsFN+rDVNY!N7(^pD4Vch+9Na*@0K{w>XPB#Uu1als0ow5HRA7wb@=K=6&iB1 zxLjz*#ex)!Rl0yq#{s@iZfj*$rsSP~q++Jtl7I@Zh~z+#ip^ z*C!dIn-qVD3bgp9v$L{C)%H_6MUjO@U#(5(jlk4C%r!NZx_?Fzkz0U~ilPyU81f zRp9m5Q1r)y;x+Pi#>lZFT8<+f@Zs`8xQT$j9wgw;M;HDVd^-`a zHA;qRs~jUcf^cV;2r!DYAeCg`=CUPdDV1UDSUCFJ>9d@>Z3^sIEy4Cx5^U?1U~8uY zeeDu#X_H`6s{|X}67)7p(9o3TXW-jBFJp~ShCWhy>f8(OAp$m#XVR!1 z`kjJQt$JeIm4k{%HBO}&aMhU^FmMf7GN1Er&M<;=fAIBM9%hYdLR0{C?IHqB+VvPM z&Ip+Hwp?B)JB8CZ?=EBKbWY*x0trYV6}U!RQvoMZb-1+D5pdKzIlK=}N3F}r&MLbX zzBW8S1*m{4#p!~8<0^PDx98L0ug*unW#XC&IA)8(`TP{o zB}3=joz45;bj~}9S-`%RHJmYN`(RDWHq>xILvSo0sD+v9I@#|;WX{_X}sW^!mn><(3HyxY4`SgI^3h2hk&>2 zMnS+HgI4&eq4!*Dx7XQuAAG!zL2askcuODw$)p8GQw)ND-G*=+N{SPO)3mQhCauU;!0mRI7WXd)YKdfMAd z79rnEMzsD#)a9`Ag6GCcVTlp>D5U}hjghEImtt_O1YJc+-(hJ<;Nh}M(cxT#&Qb~5 zof6bII52CBl-~QXh;Z2D#{lo0;~x-~+`B%z*^-M=OP1-`cYPcMd=2TQVD$2ctkQ7hN*` z%1)hAcz+=g5GhgtlSX~7NTZz0v4mn}K8N}|4t2R4R^)J~&E{a$D`1NWo61xxCNrMC zbn@#^DJIiYp~AD1XNgoyrIX#^Ok`1FW>IWnNtReFHIPjh@$A3n{{gTu5zUmfks$y8 N002ovPDHLkV1f;@SNs3~ literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/Journal-64.png b/files/opencs/raster/ikony/Journal-64.png new file mode 100644 index 0000000000000000000000000000000000000000..9bd90bdf0087db2d8d995c0ddcb9cb14e99bddac GIT binary patch literal 3891 zcmW+(by(Bg7yoWd*rYp!Nh{qTNOzYq7*dl`aHOO%5txX8AfeKN5=z%ApzJr;5Q(88 zA-SQ_u@}UF#BaWT+w?4Q z=>in#Y+(#EjEbz%6-c0woe=;uXEPu9o}ufoFiZDH0AS|&J3yc3?jF$>g`&(5Q7-6! zs2JY}f56c<_*Rsny_qZgwwj`bqKdNeUPJ`|u)VM{HFAyhA{4p1j{oKzI4$wWZZD0B zVq~07yR%@*$;)dt%K?FKdK%p}vYQQ?tbunYCo_xRQZYvj`}q|}+ZDB2eNzwK@8|a0 zH1R$hLlxZKNKDvH`Z*w2t=6Y}TB|=BNn{dzUzU&*b1VmXyy5Qbh})F%1s$IWu(6?P zY}HH%-F6LTof+w0+?B}59P@6qJck3kj3`=Lh(!zoQ zq4&K)zk^oc;sBa&3EQ|!&35>=sRJ%>*<~sGR=nP*ea3*`;hdI6mONjzi{B?*DaPs# z@zSkkOW&(xi!HP8)bExeMFQ!!S{kaLQFae-pJ3!5I~Ei7S7PrI&x5qQvj`*nmDG_; z*~DXG$onqQETuAL0zWBbaku*Z&UCxs(ZLHLULB$PL%`Io{K@oiEd(cql!E~orwM<` zDY`MEw_npFmior5CiE0}SZ|`J2fqZc6oWg~+3ZS3LO-U@g7h?G1hehZ@fX037C_2! z(xE3lyUdD4=7udK$&*JdxK0i#QfAOKj=AL2{U8I8OqFTQ!#TlCIV96GS=L)b{H7KX znaA!SVK-qsVLQ>!N4`&lqD9n^CjV%y4c>mjJ33A-(dX5Vx5Z}tVo1oZ&7rfLnUD+acQo_yk zF%LBM+dxMb#xHGAfdxX&1C$X1D2bWM;^RGq*nlH*>-x4GYEA~|U~Dcy;5JSW4$Pip zaT!lA*s($5VMz`=BLX)yeGaYbI&%i2A!$vSFKy->pRjq#~g^US%BuQxX8 z#9zCjWTvyuwnS)jwC2|~*XM<_3n6XBYfy4mQ9~D>gnHEy>ry@Pu(7DX2mH4mhl)ev zAY}85vyCy9uDSU@`TnoZ!&Ggx91zX-%Z>URUAp;oGI6FMQgB5MV3RdQovoq)qOL{9wUK)65w4S(~#VO0aUqC?1%<#SF zBl;-GTYn-Sm~UC}fMXK_#6i%3aIoXG@4h^nn~u+mU#y~-^cH$n&wE~0$NN*=gwiVG zHf2LRDu}Os+;}tm`NbmuN=4p}_L(u{h^St1e7Z$Glz;5NxkGzox~BrH{Ui?1gw4>~ zH?W;*cz)q01242knAZz~i}w>_<}7u-xY>_a6quAQywlmJCrol;6s~7;q|l%SlYt<{ zuyCUGo>c0R0O%>_n^P|q&8;AGjD2}k{#NSm(OQwT%Nc>>;!QKWu&o}$lt`6{NBOow zA@)4u4q{EaSd-zY;G15FSC?Xb?IZnqJ~jL2^=WylPWDMri<0$nL|0}Sp}5pl*h&dU z+O3BGBi!60hE>yZO;bs1Ntvwh@{PVL{a$2RgT6aKlrb(W@Q)C~;oYsLYo;Yiq<_Pn zZZZ#KMz4)zH1Siklrg{=P8=}$MSO{8gnW$wupMG~DN*nLq*dQxDXc0V#FD!clD@#P zlJ0H|Dy~$p&t}0DK3P21Jm{oKLdL|d^974!wWY$;58TJ&oYqV`I%Q5c34rn5aiBj? zp?!l9K7nXZR10bET#wMuEEM!>ayJGx@-JCX#BMWV^0bSu135e(qeERk>;RC~HP}2k z(+@VmFFNY(q?F!E`(mDnO0 z%nZfIQ6`zEQ){?aWNY#tviA+6@?HitL`TTzf0L2Zm8Yd&QO#8ku)+ zwo>%c4}(HSfJ-Bs@T-%fiposfq`7OM9p+v>-?&H;3JhUpM;;uB^FFP&GjS5 z54}CSKOsnEDNh5Yxc}NLUe`k4QQOS)R6BtcDPVxhc+8g(p2c^+zM+JdbZ-86s!-g$ z;J1Um^kZ2N&3%k!#Jzjx|D-Rv)TShQikaGOEdehqHQcTWijsk_104Lq772eU9?_KGyyGnv1A(D zNfw^Lb5fbcRTC`;ljH{#L`(!yG1}JF*MV;9D$48!TIrC zZJqgoLfsVfxXlMCAj`VsGM$sVK0|$g5*GL{1Va#eCH$_tKN9Pv;w=%FK>ew+F-^xK z^%w#tLU3J!`#;iQbSyhd0p>qzm`&Dyyv8S?`)YM>VM}k6;(V`+CNt*4;C=A5RrOknWX*<)I>9{JKG>~aWk_` zYE`I+QugMFqxQA+7J55ri`ZBxC4(O2OJE3E&R4=Z2Ezj~34iOLUor1#<4D66tPQ<} z*B_koz5`hp6P|zTIq#}sYFRM-Vvi2G&@?B0xYyt5V zjr(g~)6ayABgT)gj$6^~oL-3Hwe*hXIT7fj;7R2T z1;Nyw;L;jsWuxZCqc%eD^LtuKdP#BI?YIk~vXz9i*AzF}qyO>zC6;fiBb~|^9~Vdy zE&e}e^7HeS-57nhTGsLD;x$@HB)*j=sU}K0f^wNR-Fu4-2>o;~i0yZuks834gc&}( z>LzH~=QJ(b?J{@JB+B#~bTlu-$9q*4>vHYNL{MI8+`QV>LFvLZb*|vHlLqMRhQ3Ii{f#(21G#V9yTl7L+boc}8phFk zoEwvS#$&1bj>pDDYEExoYjlH$35Tk5Tm@Zc;bj=0*T^dq3IJ4i^E24`V_L29?BwJM84Q z@w^c->rJKhR~tkXJXbdrii-c&-}%GxgR2n8&J`>i#HP)$l6r+sOs5r-d7EYP)y8Z_ z2pbO1xtUV~d?}qekgYJBcB(^p4rr|NpFe`Q#QGdUZ^D`z!}Q5FFJAwMKXz<^32udg zdZb;;^$`5h-|BR1@X3%f0G}h9wk2=*JQ&DGs$MSqy|L4<r6TRpWw*}G9vsh2 z`Q~BAi|;SET)+UmCydq@CMZt-Atryf&7ALae~|OkWla$+1KqofZhuQO2%8DJ z)mq$;aq<2!3mnHR2ci_Si(b-iCs;F0rd_q|)y1&I0B7DS#vUjx58|*BUJ} zt?Xm`7TY!@Ab<9|>lmL!am}_x$8yR5dfqv)&l9%0#A9m6XokDzBX%~4vHS_W!L+*W zZZ!?+^ctm};a*uZs@%BG<86Qi`Y%G@8P&gg3jz7EN{#p5>hN+32CdzF+!CA9zaYLn z_EbG|V_)m&f6Vpgi`1|S7=GR`N%y|KCSQTbGRjj0i9(DPG^ofI`M10b2^KQ>WJ~`a zz-_(?1XYAPMzCB$X>Rza3s;Y^AL$uyh7@D-HAgrb1x%_s# oIUJ8#Y6_&|LUSBAy>rr=D5NyJtDFs{|7ig$GkenpW1r;z0|zlY*#H0l literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/LetterA-16.png b/files/opencs/raster/ikony/LetterA-16.png new file mode 100644 index 0000000000000000000000000000000000000000..dd060d2df71f1580a4e74a45dec66b29c96382e9 GIT binary patch literal 631 zcmV--0*L*IP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005zNkl(mq9$0l)xLkk7XK0d&PKkOp}_{X0^JLjTJpm|_h~3>N^SZi9TB=}-9(Lp`to z0R|m1)7<|{&-MH-=c9)am>34gM;gCX@YlZsb1oE{~No))JFYloX7l+BC7@**# zS0|rf3JSb)3J%%}6dbe`$lGfzP|#8NED4NG=}O!G^0rzifr)AW&}P|Y$2W4R<`3jj z%pS-knLUtAFnu5!XZk>@%lW_fLa+aFPTB{N0~2ll$j@?V=0D_p^fzD&Z8;C!N21Go z{>y|Kq68+~00n35Q}R*9KS8m8%>Y?H{Ym0LSBSMb{+IF6n}iYu;DAar{R9m0^SDwR zNR4!i$q(UK9{*+Sv|hvV2Lp&9@2h`8dX?{gc?ax?1!O2los5U>TVY_7ij~^@m$lJ6 z2oeKH{Fe_jcmWD9c{d%9$w2j}SzOjhI|3vw>#FlYI>6w8l)wH1Su0JjS^)2!PjCA} RWT5~6002ovPDHLkV1i}&4XpqG literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/LetterA-22.png b/files/opencs/raster/ikony/LetterA-22.png new file mode 100644 index 0000000000000000000000000000000000000000..02f35f21cc4ce51977d9161a7fe4f6c4cd27d976 GIT binary patch literal 859 zcmV-h1El3<6!Gi@s4=T2W6hRh&Qu@R0&N#b3Bic&&`I5~{X1{s!zBg}X z5Tz8-3E_IfJ+<}qkKa!xpGzmHOc2aq#CIX4+=4VCEnwQ1@1a)fzVNR`^bRN zhTKJkET9c}05ZLKB*4P8IybpeV26+dRG~m?%telly6VF-mPij+c|eZ?abUnovsI5) zr2azz3!U}Va5B3LUi}nNFgigQYtUn$4r8UZp$BHXCiRk<93Cyj-vWg`ZtRyPhtgy- z5trF>AYhddEj2cxQ8A9ZtKGh5-T~I1QRN`V4FD0j>p;NtOs)Bz%vPX%iDd8U1Mc1Ox+X_s9#aRp_XRAp*SblQ&CU%k z%=w;A4D5_E=BsEfI)>PSn)NI?7n979K4WGvHVJ4}#*=^k9m99aX9qu6_hgJhaxZaa^GMtj zlY**WR1xu)bxjVr!elAEc&g{Wj8%(~OSV~xkPg3GtW3BeNtCp?mgAkpc`CT!QD7!8 zGIb&)V^VAOkg6OLTKL0asV=6NGRmsbtS6Uem6x{yRLF{3P~URBhyKbY)P}z z4Lo;4w(A=?c3{0sm9002ovPDHLkV1kr>f$#tT literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/LetterA-32.png b/files/opencs/raster/ikony/LetterA-32.png new file mode 100644 index 0000000000000000000000000000000000000000..522bd42547f4c2c26917607a3df29d526e463173 GIT binary patch literal 1414 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 AQ~&?~ literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/Mask-22.png b/files/opencs/raster/ikony/Mask-22.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b2310bad24afbbc1f47bd2e1bea4a9714af9af GIT binary patch literal 1200 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 A9{>OV literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/Mask-64.png b/files/opencs/raster/ikony/Mask-64.png new file mode 100644 index 0000000000000000000000000000000000000000..13dfe5f8f7c5501f2014b20be937df9c7fc34573 GIT binary patch literal 4461 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/MusicNote-16.png b/files/opencs/raster/ikony/MusicNote-16.png new file mode 100644 index 0000000000000000000000000000000000000000..f43c6eeefe4e9fa593f3402c93c5908fb99dafbd GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QK$!8;-MT+OL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fyQQex;Tbd_$UAP|KFZjFK5lO%X9PU-t1rM_JrM)m6b8)RY4Y;rdiI6zBB~l1kmv1cw8-ZoOpEde}`WaH?DebYTbK=olR?Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006ANklp?s2C|_8Q5Y14hvE)93@`4aA~*yudh_I|C%q^h zyp_$%*F0f`GS{td$>BYOB%ger=XvuE0T}9cUG~?$SEFx{P%AB-<1U@|Uf(Do)7EpW zrP`>+J|n3vyz>m6GN0o9$RDgEexYdXv?EfX(FALRt7o zfRk|SWCc#QgemcLeI0kB-(brX7xrv;*R+SIhrc2&m%W9@{SUAh`hu7=?=5`Qzk*ue z6Qa_bx9}Bp8Mn<3h=|3(VcL^1d49{;TDw6p*P!cBWeFAI4Z`BgU~pKP+8a|gx-*LVDb}eFr892jlKVR+DS@iM%aMPr<+W_H1#+x zm5;jz)s1F_ZG`yJkUxd>AGfyZ>m^iS->QPpH zhEDmEv|qF*d~()uI-hFz`S`BJB^&*e-(AT+-#+i!MJye000000NkvXXu0mjfXQ46R literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/MusicNote-64.png b/files/opencs/raster/ikony/MusicNote-64.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8115b9cfdc6ce479661856e80106781694368b GIT binary patch literal 2340 zcmV+<3ETFGP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000P+NklvT+24hrMY%~n4e&V`F_6N_j%vvxi1d^z(Znq8K|5)jh0uS zC-r*>I&VOsZr_YWS<=7U-%S+aZOZbVfNc<7JPL5(G{9@m{Q$?i?m@F{7%X)0vO*9A z05e_4?D2fhif6jNgWc|Fc-%h?hx}hdiT=0XR8`FF9!rsB)~+w8Fc>K z$!~eiqxj9v&!OFM8!|QRGe#=kB{T%l0KnM4{LDAu*hh+g*zqZ}Sg(Rz=^c|wBtH`p zf=B=qFu3MlJaLa*^Y@Dn+HXOd{U+3#UIm>Z{f>|jL<0Z|-Wg_QPVt*;pFpd16zYuU z!9eAYWox$nT!vd?cd;m@6i(saT?^@|qF>j9| z0g%sN?4LdMHCyoJ6TiU{g7xMr&}<%oLhV7&D>6s5@?_6a(;ylESndDvE>*!hTG|n29PpV^S1)qk$n30C@~LfAYu_FZN`e-_6o=-VK=FhDhf*@oSC4 z;5WVnYYcYm$Eh6!EYLbxx_al{T1qy2B1!V0cv%xLyhiLs7^c&9?c=p%2JuR zQXvumxeOM(KRxlUuy`zZ>FP~4xG%1ir+Ca%$&iDtnkv>FhO)%tVdqi&s>BmelyC$x zRa=2LKVepsgp%Yr14g+!IN!D@8UW}#bLgM!R>xKQbaiVOK%|2vs>o}ntGadabmqrb z8e>uv^%@m!FA*zw;A((@%4IP2PaXI&EFRZ;Q0XYmhf9$b;u=_k$ z@Y2*R@c|%7k;7o@pWOEauiCFrZHN~D*$g^=c+cnILk?E^RMq-Fl06yiHNAjTZnJ40d&oZW&{{If!@HA{l7l7^^dIogHJLc%Swq0-!ct0IXnehPT=O zVOV^n_60K9iX#B%{KJhOu+F3S)d^<^fSLy{0XTppPi%V0DEg99SwD^~Ep~Nyu6NKi z<5sFXWK?+0*eGuSH?B&Qr!pA(w)(4K@f8WrgH2KW-~h1GUY&(59dasbrhNL-(3W!r zwpLt&j`FLpx$J#tFTD)Gk`dUDI}CN!e#lkt0=+!@woy^oivZC1jWr?Gc@$r+d5!?6 zdN2T(C{G`8c`{)C8}!tU!eiS$Wg8nj+wbsShfd#BR(!B*1hx>79gWu@Sa}&5lLsJQ zy%*Fn%M`|bL)H6X@vAhaz^d?xAAprE8!FTN9=a+%f&*Qju`TV+bsxi~yb)ewbN@q& z2HP93&ixiN7Y~EiaGG_#x$+9@Jc=(Zhc%_|vd*LU64eQ?$XAOK04a9f{DfW8zo`2-EdKrnl?yo^DV~e{D($JT z_+sTB34jW50w9l}C)#tbvEp}=(Y+AjBb`U_Matt~mY0hUfRS?dl4eoCAG>`GrKm=j{FJ?`_7&*zsC``MgF@rCp;Fv-fql>j{Dxm1BkEO@;g zx1h;7JnvQ)+1Sjs=I0adp?*gIl!^-gxrX8`PCNp8f;XY7_QPcr@1_om4*x zmObIMx!>arFz>&a!R_-)aUR7NDEh!CD-l-$^kjI+O>fs{4D$wlPI6*(K2y3Ew33V|A+N;?c2Sbt$J4p!=9xg=5Y#(f=gsgI zI@>QM_9#A0`Ur`C%Cg5Fp+ubkd=uWlEKhtI0xK`_W_Ut4pCNq|bdtPDjU-hUYrGfp z{v`pxXp({EM3wm*JIN8sc@%Gx_(3hP_bukj3-LQk0)T&*TtIf&sOp(Y%UP%(Q{aUf zoB66e#va8dOWH{Elm92t=in_F0J|e7>Q`Mo5!)LgXPQP1XYr={nF$3MRFZ^bjd_ zJwl3E%4Z1*Ao2^~y?wnjuUjp(GAevYtc*tD>?8a8Pv-V)fc^u1MIuTaW2Dvq0000< KMNUMnLSTY6KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3GC?X<}@U5p+5=B%JBvB7i36a8NN@4Ax2Wyo=l$u>(wiaH>t=;eY z&gsE1ZB6Su9r*bF&N=_@??8z?#YOMMMu>!LKL4jB<_AEiHz);9}$A+Ax0P=^| zU+r#zA^~C>iUkzeQ2CxnK(WAhdVEVs05c({EM!$`abjMeSb$i7SVF@(FcV4xK=_i4 zBGCB$tYH}6ir-DsEPp%TjWAXK01RS@aBJ(sP$)EA{2GtPgKwS=MwkiON+%F2tX9Ml zjFkW&5X*l6)RG6?SGo@m+@Cmy%*L%h<;>L7dKk(r zKrA*ds3cPS>JLF8k*FMw#hL-=L(!;N*kJJ9r_-DC=M>HC(pEb>zD#Ms*YHE7!@puX@9@rngmHDvan3KH)@mGwbdLCTdjsGdjvb4^Q t3!Qbr#)-P%zK?B(j`YUk@c;n)9sqKTm5v4c+!X)-002ovPDHLkV1oQb&B_1( literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/MusicNote2-22.png b/files/opencs/raster/ikony/MusicNote2-22.png new file mode 100644 index 0000000000000000000000000000000000000000..577e5623063d578900639ad1b3e1d3a3c3007558 GIT binary patch literal 1201 zcmV;i1Wx;jP)KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3GhubkVPfF1P0YZKKLL(5mEM15790x$a+}(D!4qVRtIOliI{oUWa0Nh1ygVQZb~`5q0s|2Tfg7F}I1F#jani|I zF5k0d1D;b0wpKU~+Bxaqlz`!NaAKBzB4w-#6Q8EGh}nRN$eNG=G}BlI5l2>FfKmWh zhKg!H=^*6EaXJOLt zB9H0SCF0K{6`3nm6lIC3sucj{yb~v4mO{bhV5DJ=T~-U6akiW`fxux?-Yu^8NcODH)LOBkC`FC+oiA6!8~rZ3 zyu%m zX(p%g7+Orw)Ht%7P+Ybq@_ONym{^by=MmKGDt`t5s;X8N3ND8cV>GrPFY!keVqLTU z`qy8t{z5|n;n?6z>)}I}l1xMyY2c)TC7U(gm}6jw$Hb=Qrl+3Ta9}$2kef-IbZBe_ zlk)>#&h+l9^Z9%;0O0j{!*gs>%|RP#cKDtP=B12`j8r|m|D;WsidKtu($-fMKRbEq z#I3TjvWQh`7tUX7e=(RCa0siDoSJkPo6I5<9T*Du1^lB$A`zjp{doWMXz_`qSeFDg zD*cYp=(%ex2O1h09^rp&czC#W_s*sVes`_xb8nmIXghW@6bh|1*MAQHRjcjq0Vw2G P00000NkvXXu0mjfKLZ*U+=)p!fv7f#TG` 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubble-16.png b/files/opencs/raster/ikony/SpeechBubble-16.png new file mode 100644 index 0000000000000000000000000000000000000000..131c5ddc275a7090f2ba6e28acaef9ad17beb63e GIT binary patch literal 657 zcmV;C0&e|@P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00062NkltI>-8%Ju(V}Vpot^AYadC0!!VCc$psArgd-v}3|6jej zg;n$I+o%8Eym|8fwQI-zU%GVYe|~<(SD6H6ga?O&IZ|h_3BZ0fFU~@WHU%}UtjZoU`)6%027aRa&qiTQZz4L zKI^}_n(BOTG=d0iZOvJrct*DQ!i59>vDw_&QTJb2NpU(b@v*@TP*jlbfoZ;Y@zDP{ zb0+-XxN*t<0|z$#-??+u|Ah;u{I4j_|7&4xx(n!RM~tKlOiXEe_pS%~xvj0{4<8?2 z5Kt@%i1UFs3&{5ZCK_R6jVMVO7!Jaj8A00000NkvXXu0mjf)($Pm literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubble-22.png b/files/opencs/raster/ikony/SpeechBubble-22.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8b5a770ed8be3b05258d1030a9f531b7760e1c GIT binary patch literal 885 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 N002ovPDHLkV1iuLpnm`W literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubbleHand-16.png b/files/opencs/raster/ikony/SpeechBubbleHand-16.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7a96863b3add616b0adc070387a606642966d5 GIT binary patch literal 845 zcmV-T1G4;yP)N2bPDNB8 zb~7$DE-^4L^m3s900PNLL_t(IPo0u&NK;`H$8Tc$AYx0+urFniFNq(bqCNy#VW6Of zL#O3Lr!95b)TT}|1(%ka^NsmBDHB7J%vNf1vV2)i9Zu)W+0+Cv#DuUfezN-a+`)z- zMReit+B=;` zzHY{xNel741k~Q=qF2s`OvpxlQW#ofA{Y!BD@>mn%_|)9^em;Ml9KN>cx`PCCgTX| zijtsi62Q=&g~ozdDDtDxD9MFhueQSUIWeI^Xh^V*lFOw#bY&V|U7aNZdxH5Kn44a{{v-pcPcx7c8s@~^N$xRV5}knlH7zna7RZoe7sLTwR^$e->;d5 z7Z%2?0;+eNsD6-)Dq%Frvt!VvklHJkKQ6+llU@zPdp$_jtDxVS`;+)WY!5^3Z+l$geC zA81REIk=^!aJP)cVR|*wf4um&ABUMtmP{u86%igX`CkGwN2bPDNB8 zb~7$DE-^4L^m3s900b&YL_t(YOO2IlOw(5whdW>_WQ>%QMIf75vP_4{E-Y&#)65A4 z#BwQ=0Hxeosii<^osA60j278M$Hl=Q5=0^{8v{4R4G@%D3l=Chxu+4vBwW1kWgoW8 z@Z0~K<=?=-(0**rdHTG+_q=a8oGm_%j*gygZf=U8K>r_fCo?7s3eK#Sm0no8RPyyd zdVTg|rBY`0_2pl7adC;Tx3_y+(@8j+>a7>BH32eN0aFqNSxCeuqCDV#IcCfHTm53k7HYe)7aZ zq07tDP$`lqv?4DZs(2Ar3`J1Ig<_;W7doxV3LPIe;=zM%^!2qOG9u&;5+j8>I5_as z8ONWkhb}HoLYtb5>qVdA+Qm$2y3|pCREZGtO{Z~En@UYt=*UPXhKD=Q)6)ds{U3KR zvAo3D`Q{s0v$MliQvzLB7>7DVLZLP18DqwDp*0Vwu}3l6m<^xzyb&c7psno&Sm@y3 zJq!%Ap}P88aJk$lj!Y&su;sJRM~}uJmqbwL)%;YesWRpWEH`uz2@aw>D;l-671Wf4 z_V>5KWNHDQ|Iuv@c}gVH_0akGQKZXbDD;Y6VKqG-9fXQ(3AEB+lWk+)i9do0un9jcH*8ZOvmN}%oSzrgF=T{Rq6SFZTZod#;kPE`F*)u=q3 zY%PD{dK%({ho~um4wObCDJGmYiY>ppyAfSow{Yr|`Y$IZr+xG-fAGHd&n8nV9aAz< zX7fG7hY4t=1WGbZiSV;R^~VBmHdng|T3UJ@ZaiLwb^4eG?WEPH{v^=pX%l_?@^~@6 z*GnmMy=i~32;!suo1le-dU$$zoZGZ7PH0uDER;;t*q8wcQU5iHEuTQ|UkrgVQB1o} z%5S_?i{vE9GgmHGvgHy|D3a#cF(uH^(Jmy$ig33umS)OAFRKMOp-Mz$Wf2k*Vpcpo zJkF7|@WRy@6zJE%ni6PTT@`k}{Z^%q_nwJEzCMdV2l=a?@O>8fA9~Muc(~`k#w;!- z!k4$*#mr9q(rEmRnvyY%5D6!?y=2P)X5GEc#PO7!{e64AuGn(VrZdb|5;5IfGn?;X z_pW!ov+0tphnPr|B_;W52M+9Sw)Kw9=Xg9`0y8u#%pc|U&3OU!U$#Djw~Z_s@&Et; M07*qoM6N<$f^Qcvv;Y7A literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubbleHand-64.png b/files/opencs/raster/ikony/SpeechBubbleHand-64.png new file mode 100644 index 0000000000000000000000000000000000000000..62e4757973bd3093e92dcb29b3b0f344f4e4aa93 GIT binary patch literal 4800 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 a!2bbJ-W=X7b**9m0000N2bPDNB8 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubbleLetterA-16.png b/files/opencs/raster/ikony/SpeechBubbleLetterA-16.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b486bc6576c9934d419506779babf58ff8c9a0 GIT binary patch literal 839 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 LNkvXXu0mjfeXx^x literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubbleMask-22.png b/files/opencs/raster/ikony/SpeechBubbleMask-22.png new file mode 100644 index 0000000000000000000000000000000000000000..d0bd2b9cf13769227426e41a9b8394e74d21681a GIT binary patch literal 1288 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 P00000NkvXXu0mjfzLG|? literal 0 HcmV?d00001 diff --git a/files/opencs/raster/ikony/SpeechBubbleNote-16.png b/files/opencs/raster/ikony/SpeechBubbleNote-16.png new file mode 100644 index 0000000000000000000000000000000000000000..0953867493ade4f76de20a589bb2578181ee6dd3 GIT binary patch literal 810 zcmV+_1J(SAP)N2bPDNB8 zb~7$DE-^4L^m3s900O2-L_t(IPo0u|NK;W5#&2T#L&TPvVgHmL&FLCTQ!=pph!u`> z;YUIyl!j=oreUclN=c?p#mF)?p%g(9QpC#CR;D$tE1loADWVu+LKuX9Sv{R|U}Gjl zbm71~=icA@JnwT}jXWgoi!5tV;h>Qj)ikpP#*+axQ67EEegUot@Vmr0h5z&Ar}`jcz9S3y}k{5JUwr5n#!AB?R%y$?O7?ky9uVsk)k{X8;w2S`4><` z%MDyzoo2%t7|*{#a!?yoA!eMCRAFXjkSSYjAM?$&!3M)~#K*;$xT`r?7OQOv)1EVf zCrDrw4CeWlQ2I9@R;)vW?{%h3;emlpNTmUfIdTJ)X0wsmPB?ml1xCY)3Q(b|>j{IE zevc3%(&3~}tqrcJDFwNS6C4?y-DznlpXcU2KwGcH#h^i)KiCgVc{!eTwlZZ3D}3)k z?yX_UEiGF3iS|FV&4NVYucc|zo~NeXG25e~eJrrzqC%!j;lhFfRFoIP$J?u(44=SO zz-!;$Dl0rT){lmUT6A)Tn{Wo1R* zU0ht^$k|!4)MQ;Edj%O9w=JOcfaKtonUT6iZIi1R`Qwj&`><0ejIXXP{i%$N9{R5W o6!P%cl^T2~aE%1C{a=gx0N2bPDNB8 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 literal 0 HcmV?d00001 diff --git a/files/opencs/raster/sound.png b/files/opencs/raster/sound.png new file mode 100644 index 0000000000000000000000000000000000000000..b072acf767636af2f82471ca15a7713d9609a694 GIT binary patch literal 1144 zcmV-;1c&>HP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000B$Nkl3maOaDe9i> zKu7`*5FW=XCo(wIoknlTDq2nN!^Sl)77W0z9mNY{x3c2#;-ArN{Q)h;^Drs=H}s6x zo)1Kl1bo`#m_D9HyZH-5O&9T?<$D}5Uq;OI89d5l#>|H2ixk0Ujf_7cmWJ90Bnd#3 z<|xjN+(e_{O$dx@wOp0TL=Era0n^ur89zs>;S)rJ*Wu*4z|j0{$pI=gkK)YGIvVsd za4Wldh)XMb-%FzFIV)TLp@|9185!TKm_Yo0NuWYKj3)=z5YfL1m$I{GJI$9{BS{JN zs2|2;|0?QrFT%lh6du5<8pL?-b<_&ai2w%+4^XZez-aeRsL`H-oog>Vz;0zfjvl&- zkoGLfxcdta;87mNBL|kTPxBN?*|x$1xcLMgid{iabs9Eyf8haKd=FC5%Lu5ZP@-rl zJODZ2l1-Q3S3ZGaMYHq(r4z?3Lkp)!p zBp46GJy}EPfS7qDx3dzD1u{_k&e)s8`S8K=qgKa>rniN2CEDu@mP+ z{N!W5V*JQ;#Qh71>OVrW@E)49=h2{f3ysFN(YEJfw1?+W&W^w=uagGA%!X!TmJcu~ zx+dZsPVuhaBu<>ys%B85d>M_-i`cCgMv*)$4S?8mEB)0=+1T&oe4}_Z|2%@+Ie3^s zm}DVo0Nl#>&7s!iY|ZmI&xr@vr{Q8!Fv_Z>0mvP%q~SK!{7%k^xKD8!4*6ji=%6$J z;=Hf*)_j9Rc;TOh%O_sJOu;ToK%l)bNggB?MR>8@`Du34NVjh#?v*0-=#PE*NCKG@0{U>`qw< zX1WnPWnTF&&bRD=&29*YmiEMzv~`-NEz@e+IjW|dJC1zwzJCK>;KkS!2QVoB0000< KMNUMnLSTXe=@Tgc literal 0 HcmV?d00001 diff --git a/files/opencs/raster/soundgen.png b/files/opencs/raster/soundgen.png new file mode 100644 index 0000000000000000000000000000000000000000..70ae43a1d773de628ec18d67aa24e3c52016372c GIT binary patch literal 2041 zcmVKpijq|>J`*vfn2e@8HOrhnd z((0M!c=HpPOvZaZF|HeW;uFSFbtr^*TOfY$;13^s^4(%yd(SUF8fxZ_J^G~+?@1t&$;i2-`O{y# zxNKV=p66ql25+7`8B~JmmWO`y(D+)c z{-K90SZ^JDQNOj|}pMBve0QqhN^0WEty1Tl2)7{}{r2}XH6?iNg_me;Z82pa2QQ8#LibX_FR9bty5VNi3BS2cag~`sr4JatlbD8Lvhv+Yy(i5C6wp{ke|QnuALFb*?sLb{npWA zf2U9=5GuviEnC^#)5Gg0{)q|$Ow+`199+k_h=fZlRws~5wot8BX>MvF)an)hv>w%3 zUIP#cJ*|b_R4=%>ptV>JAl-;{@5guVj;^e%lAoGnUB^21et8eGb8~ccc5vqG8I%fe zA`x1XEhJM(3@M33A{YLCjYJ|5Ckz9$rhjN?$Wn%wl0sbyV4-J0Zv+UWSr9^}8n-~) zlN6hQicztOfVR#sL32$W`Y^aRCH39U8KlvtKU zDwSg0x(<3b_t2VbMK+qR-V0G&w_c7wD}=yV1cI6AX|xuYmdO=Y?!<8&Y&(M18X+ZG zDNMtlSgHi3lw+12Y1p7)R8;b9LcHVAkVK-W|k zLQmGuT{eL}4Z|2=EI}mVV44Q0R2$p2_K_VsL(Fw)Z|gt^alvH6Ow+(| z9BkXh_XDI9%q=VsDD@(MQu;~>M*xH%Ews$l<-uqdLQVt7=lAa)Ef&j1b7ynm`mQdd zG?<;6C7n()K9Q&9)riLv#9|4w)(r!#HDRdmJdYp}bX3o9Y+|v3H-}iapr9bfLTW=(}i#_uI^Zr7g*5d5wPX>!*GE(H}D6O~`2n0Yd zF*Y$bF*cC_T);65Bi27Kuw&-jY} Date: Mon, 20 May 2013 20:40:53 -0500 Subject: [PATCH 19/38] Added #include for QListWidgetItem to usersettingsdialog.hpp --- apps/opencs/settings/usersettingsdialog.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/opencs/settings/usersettingsdialog.hpp b/apps/opencs/settings/usersettingsdialog.hpp index 3b968e549..c69906ebc 100644 --- a/apps/opencs/settings/usersettingsdialog.hpp +++ b/apps/opencs/settings/usersettingsdialog.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include "usersettings.hpp" From b31f0dfe1f42cd6aa42592cf4a513d7e9e2998bc Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sun, 26 May 2013 17:28:27 +0200 Subject: [PATCH 20/38] Raster status icons. --- files/opencs/raster/book.png | Bin 1442 -> 1336 bytes files/opencs/raster/ingredient.png | Bin 1624 -> 1444 bytes files/opencs/raster/light.png | Bin 1069 -> 747 bytes .../referenceable-record/activator.png | Bin 0 -> 2297 bytes .../referenceable-record/apparatus.png | Bin 0 -> 1864 bytes .../scalable/referenceable-record/book.png | Bin 0 -> 1336 bytes .../scalable/referenceable-record/book.svg | 33 ++++++++---------- .../referenceable-record/container.png | Bin 0 -> 929 bytes .../referenceable-record/ingredient.png | Bin 0 -> 1444 bytes .../referenceable-record/ingredient.svg | 15 +++----- .../scalable/referenceable-record/light.png | Bin 0 -> 747 bytes .../scalable/referenceable-record/light.svg | 25 ++++++------- .../referenceable-record/miscellaneous.png | Bin 0 -> 1518 bytes .../scalable/referenceable-record/potion.png | Bin 0 -> 2019 bytes .../referenceable-record/random-item.png | Bin 0 -> 1612 bytes .../scalable/referenceable-record/repair.png | Bin 0 -> 1474 bytes .../scalable/referenceable-record/static.png | Bin 0 -> 1518 bytes .../scalable/referenceable-record/weapon.png | Bin 0 -> 1465 bytes files/opencs/scalable/status/added.svg | 18 +++------- files/opencs/scalable/status/modified.svg | 20 ++++------- files/opencs/scalable/status/removed.svg | 20 ++++------- 21 files changed, 46 insertions(+), 85 deletions(-) create mode 100644 files/opencs/scalable/referenceable-record/activator.png create mode 100644 files/opencs/scalable/referenceable-record/apparatus.png create mode 100644 files/opencs/scalable/referenceable-record/book.png create mode 100644 files/opencs/scalable/referenceable-record/container.png create mode 100644 files/opencs/scalable/referenceable-record/ingredient.png create mode 100644 files/opencs/scalable/referenceable-record/light.png create mode 100644 files/opencs/scalable/referenceable-record/miscellaneous.png create mode 100644 files/opencs/scalable/referenceable-record/potion.png create mode 100644 files/opencs/scalable/referenceable-record/random-item.png create mode 100644 files/opencs/scalable/referenceable-record/repair.png create mode 100644 files/opencs/scalable/referenceable-record/static.png create mode 100644 files/opencs/scalable/referenceable-record/weapon.png diff --git a/files/opencs/raster/book.png b/files/opencs/raster/book.png index a011f351489ff87d930331e2a353bb1b805eb504..3afa9e8aae15c8d494e6e6e338890baffde4cec7 100644 GIT binary patch delta 1116 zcmV-i1f%<+3%Cl9lz#|GL_t(o!|hgWOj}hLes1rjr9h#yKw91Ss8K#L2MmTYaZpfV z&{zv&EsMj%n9Q+EGXI!qBAJ@NlEo~JsJOUIvyhC$m@Fgn&;Bh_6N8OnR2U46$N*bh zX{n{9=k>?EZErsZE@@2M`{$nXoRjyw@AEw8-V5B1|9fzo-G4YVG+0GoU<3dJVhjKh z=U@N<%gf7aBOjjq{cd@M%^W^{b^Pkg6&xW9f^ZO8c&BM9XK*=jZ1f30Ht^D9_caN*#qFXF=K zbASS{zF>vp+J6Lc^Ky}|&qrsMb@wi!xmGG{45ex+UpM3mj-RQ;9 zsVy`ndpj%^%g#*~aJ2vE(@(ay9Uw>!2O^z@ zpNzz77k{0H*AsC~exAzO{oF{hv-o(xY&NU++xC4?R$5jZ?kw6-Y{zmOGKN^fK7vlK z+paCt&VGI4n;+6LP+3*kv%9J35lW-|W;`L{(R~1+zM<}Pb91vUT>+fE$2Oo;X7TbQ zjN-Hp<7u>~B;F}4-BwhyqjDgn1jEDcpK38TKYx=nnOu8 z+1WW?3A4%CRK$#wLmNNGwB%-jN$t z#D4?@*XZ-EU*H=W8iXT#hi{lnCQVd($cz-dT1bLZ93KC&iZBo-hqh2#ICpDqQ79=f z?sGaoozU-)Cy<8gl$2nMyn zswdD=T~!T(!GKIfmc!w;+wJ`TAh^AuMt_du6yd5f5y4^6R>03wzbgOs=e`Y~kJA*jTx@-!qN}!cXAXd* zzbG*fm--(jVI{@hnc3ekc6s`aQMXvl8MoK<{^@z}6oK2w7zI-3bC%9=<>loHj~U-! z%Jks?kR|vt-t_(W@5MjS45#O@Cg;SH4+R<*H7znWR53R?GB-LhFe@-JIxsLu#te3o iKm{5XH7znWR53R?GB-LhFe@-JIxsLfo3zT4aRo8!!6V23 delta 1290 zcmV+l1@-#43Ze^;lz(zbL_t(o!@W~oOj~6beh%l9vO^F3qfq`zVF4rzl**g~oCL#Q z*~G#|fEaNwHHsG|MsH^Hf@y+5V=z(Xm5DbdF42TI=fVOy`B~!BAVv)xVAKr>e}j$M zLi@d5l(wh8RE2)Y$@$K6-tT>$_j%us!w##gtc*W->f}(GHh;BrU(AVwf! z00%H)AVyeQy^Z7)2_OdMcGKAC#FOv8cm7he{QOP=jvZ^LIdi7-Z2wDdNt4r4qFO15 znZ^w9+BXy8Z@x^$reS7=OxCBr1@bYl11q1lyDireZU$ema8vr3J7}P9rbRjPc=dq-Z6~OwZu@ z*WaSPsX=>ZeSPh_>)%gA%Fjh3@9XP*xwXBmcgwYvaO;m-P%0CVo|z6tgxTpCs8S?o z^%~eW>{$G35ytFvIGj$nwp?(#TmT2Gtgim~PXD__BY$6x*#DISot>Te9j7}!QK?jk zJkLX|RU=uI3?hISgGQ@C(!L}R5qO@5q?P~>1fB;k2v8&{AP52^NtGfb2%4eGSHjLh zLL>o&MFnr@Q}rSv<{3I70G`1k0F20oQxFar&WPb~)uHaTC)z4w7GSkn3mYX)YDxb==FM$h-4M9kct7wDvgd; zJYcaDm)ujoqkx`sJuQ|BOAQ6sD7QJ#ULUEd!-SaJtIkU8LwljDqqIzb?)Bvq0*H|Na| z0Vf`_4rFC#rOB^cEWM976H(4r*Hkvt9<43&33#^qnfm&pb?w1}RKV zFn?E+7(tR$N!F(00|3C6mzNu?O-*BkMFokGd(Q%{VlW=_Ovuh_^_m<>l5Pn3`FRf| zaGdhzpMC*(F0e-#bNJo?1ME4sw7g`WpTBuwadFu!+?-#p z&(GWM*6DN##A!M0KQ2G_+ViIYK)7RfTYn4&17|Q8;>8b}?S|637o1LxpPZaxCR29Y z1kBF;uJsAnu)A4CMh1*VW84HtDO!alz53kkh0#}qyLOr#yf}LA!HNTM6Y#_2H10ap z9mcHtKjsXX2fNoCx_)t=QuzO=V_S?79F8q#a?;v32LNWX*|eJkRSt*v`qI*i!GHLi zAYAD(8n4Nq%{{4*0No})!H*N@369-0+cyD=ckcpp;bJ(zERW-WB`%iaF$(w$K&?MF zqzIww+wUa~cwx8ry&{IfSs(7%0@`<#Tqfdj4CJkQLM{_=DT;uWJtdckxEO}~R9whq zA_isT&2c4{i8#LrSR?)a2j=3_9Dn6xuYLdk03~!qSaf7zbY(hYa%Ew3WdJfTF*7YN zGc7YQR536*Fg7|hGb=DMIxsL^wexTQ001R)MObuXVRU6WZEs|0W_bWIFflVNFf%PP zF;p=yIxsdmH8U$PGCD9YFX&6m0000PbVXQnQ*UN;cVTj60C#tHE@^ISbCVzi7*)Yp A-2eap diff --git a/files/opencs/raster/ingredient.png b/files/opencs/raster/ingredient.png index 6f9a09d2e93d64c118e7d375868068f77a2b0d02..6b36d008d26b94b7c0c1f1c2d6f215f24ca08c94 100644 GIT binary patch delta 678 zcmcb?vxIv>E~E3tJatCn!fA#L%WSI`SQO7NshDq3wa~I~no;R&^X^R^mGdl$XPFgF zH)>hs)U(N>VVQmDY_sAShLe9Vs)&}(GAWy5UOL;fXu4_XEYq?XX2nwsC;Kzaocx+e zn&aG&xLgJXhSte^%&8hu&wsid{%O$j@279Uzkl!7iZbT@{`KhEy*JNJ=LyXH^U{aM zh$B1mT*&0D%&LqtC*Nk4tk2HPe*ZxHfSRs`iq55*SMT1vds(~7HOePu(Ryi~U%yp0 zp78cO?XYCGy3drU&eNxc2h3ra`tIHPkRZ3|;enyep5^}YF0EbHsJ4FPRle!-t=8_2 zj%E*y3(vQTsXKP&U0yA7NTsuKOU>^!@7~=!rl#>}Sz2*Jf|Z2N9B!2}x&cq>b=O)6 zCdB_3~Z3{}{O!COlo$y4q1;0;j8Ez=u_# z#tsQ*qYO-yRYXih4*$5`cwklJ-_-{esMp&tg*v8O`Sta+c}~QhLS~LLcSK~H#riiE z&TdHf_{=w9gQ^{)t)hxr?%iFbXScnLc1S2H;&QV}_5t#*^{q`Xu+)|H_Bs=>v-tYE zyOSFgjJ2h^ZJhny&D&f3{q61f)8hj=Tz9S5v1H4dJ&QK2+Oo=Ijdcx7b&bqI49%^KfXGPO vz{twL;C`fRJc@?g{FKbJO57UOu`GQI)F276Aviy+q&%@Gm7#pHC7V0|^<*fd delta 820 zcmZ3&eS>F0F5{GqdFqVG{}~v5F);jOU?`ks*s#pDdVxjp3=^OrP^4nMMb$#f!f8f8 z1;4?{fMn@x^X^R^mGdl$XPE)T;Rq;IINhjal~d0qkA`LTrL)b7XBa{>PCmh?VhmxH z&N3;RV_rJjv}n31L~H3R)3O<6#Zy3P(a>Z@rkTt@vB|TTq&e<%MYA(7FwCF4mnqeW zy~9rG`A;{Yro%rCj9eDU_5AzkyZ+;+yFLZ~{=Hu-x;v6F_xGRd{CB&0p9>EJ2RNfA$$E=g6m7XxE;uRZ>1xFK?B4 zUp2k(#B{6Jp{LjLBX)&Evxmlo=PSq5U4FLI`zvq2Q{G;IPu$yqhF`tG;(G5&jwV`IVBSGm{BPJG%{W?g>p;3;42h6DE)BO4cAcCxs!SIEb5 z@r?(Y68UA`uufi=cjD7KIcbH2`}=Bte{Vd%=C7Z^de4r%;ei5&4AW%x+P?ugANX(Z zvbOiXvEyQD^wHpIYU-D{$-;EJuX&}f;=&aRC63iIvGnCc)>pFdOlx&tpw-c1Rr%@3 z%HV4M`Am&x(-$RQcw}hyjz{2)Z8aOuxufa^1}bWe4n`r4Uax+Be%>Fuqk@m++Onn0 ztwwr{4r(Ec$=7~CJ1Y}de>#LQdbmD(s2#pOHkzBo^{6Tj&(hS? zrwOdnPo2`za^zaIYJJH49fhBtt(|piSCzp2he9$YOgnwg>aNXwD?2y#uI=6c@81cZ z{wmyS>71;#Sp9*fz|WNl=eE2wmM}QrGvSX8n@z&ErQXF7ADVW4Rxn{;`fhLUTKy$u zvLLIJhq11)VThrDm4TU+sfo6Mk(GhLY@xINfT>8e#5JNMC9x#cDmOnRGp&-r$iUE8 Q*8q!#SN^3=lZ#mm0a)N+Pyhe` diff --git a/files/opencs/raster/light.png b/files/opencs/raster/light.png index 5cfbb1245cda2e6c35f5c3ae7b40675097e85a32..c606fcd98737296fdd6d642e343e95f50108ca58 100644 GIT binary patch delta 530 zcmV+t0`2{+2Zbqr-v9Nz|KN@P=5+ntasS_t|M=kl^}he$i2vho z{oil@-i!bJ=>PW1|KW}Q;&A=mZvWqp|NrX$_~ifNp8n>2{eR+p|Kgzk+c)~vK;yzd z>(GAe(SqW^KKs)>%d9f}*hT%>NB!AI{M=jp;d1@wkN@Cq{pEtbp)a_bH@TcS_0mYr zu|3VOJN(;O{oro=UUX0S2Ig0R~-4v;Q?YaKzxhj|<=%p7SEqjvx>&lIry- z68>psFdU5;8U!pina<`M3j$tPELUrR2Z1PUw!6I~faV7>Hq)$ delta 897 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 NpsdiyY739J{{rAiJ1qbJ literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/apparatus.png b/files/opencs/scalable/referenceable-record/apparatus.png new file mode 100644 index 0000000000000000000000000000000000000000..b13982d091fabdfdd498577752844e8342e9c32a GIT binary patch literal 1864 zcmZ{ldpr~R8^^!1VQy>PFv4<(xixl<3-qD^@^p7nQPfZb0I0Y) zlgLt{_Yy8At0$&=XXQmEcH$clrWdBxm-ejqrN-2|K)*t4U%DD zk)nRKo~L~lny{FS46}flu-19L#*F(VS&0wOgc!t+Y4_f;MHsG#4^oAAyGf_Q70Y8TeWd5{a$194nDe&a5mE9s;0 zHFVx2QXGwCP4x@Oc|?a>>!Hf2tnrdB4{qqEH>iGOG8eb2z2>S#qW% zwecIZgJu_ZUSBjYX!s{Vux@8j&hT9?m-nEryAtT5XW z>UPw%?c;RF%;&5hZQ_oo`1pRItJoj*QsfQ3r8v4M=)=&k5>zg{2;Ql#j-k07WU7{) z4rpJ91orcqt&Nmud#j|zs15PimL$nBTXx>!H+4e{v)}-cHJq$V8YC)00+dTo8|M)o z^?(tNc$3-ZUdk!RZqvFWrey9B2sR_C7h=*>%eSD}n z1j}MavkK-R8NV@RmTn1_G<>!FKpX0y`9duZg3z)1_s7n!nlS2P*@JCwLh`$(JU`Sc zjGQjZ>lS_qwTPS^)K!+r=;?tMP=!br1pxQ;xg9s3!-F(VOWp|UMhH<)Xf;R~;wyJS z)nq0a;DUxqolCv+^mXY%e!`a*4|yP0%jVc~N{Xz*r;)x&Z^I7Y;(Qd%&Umju#(2Kl zH@a5kk=9W3VqjqCX3b2&Gm=U)tp6$J^xQ zNe80>tD_BaRbO9MDg`D)_ETtP{P>-gSq=<8wrf%%i! zQ~j6Pak=YI@0x+zs)5XC#F;~tBVoN8hFkEAsO zoSnS8bRU=K2#!wKb)S#vYg32PO^seoWIMLEUo0fYS$NcWXhn4UwT;p*p|0up8{Nwn zG}UR!I8)Vd#&HOS4*(Y}U)d5uSY7+zg817B#T1>I;-ZLOPy%w%ly8sGI2BN54S8P)Gpq=^0 zrPrqbFzD)h0^(bYpS{rVH_;zz2E17Q=4>up{SKHnP+nNst%+CbXt3+>xUM(xGm`Hw zKVG9#Eo}`XvFul#u^5Ey-`%!*boNwixK-2OW(u$s*Xva+QwyYrLqF!Hb1^{yF~Qcf zs9-681=bvAiv7XV!qVIPgtdhHh`i+)?cS literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/book.png b/files/opencs/scalable/referenceable-record/book.png new file mode 100644 index 0000000000000000000000000000000000000000..3afa9e8aae15c8d494e6e6e338890baffde4cec7 GIT binary patch literal 1336 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UV>C6dj$D1FjT2AFf_Cwy$!fk$L9(CXhH%*b7CIvZ#mho_5UNW|f{VYxohp%Qg@@0TuhSh&R@ z>h6yffp$jhJZ;8>0Rc%DBDj-vyAL0kab}~B(f=8lN;792m~>R9Z^e!szMCiX9GRh` z{Q3Mp-C*J7-lPx-p57A-(J`4Tmo9z&_4wZ0e0z4iOrJZypU?X|XY%(w??2l-zsG&2 z|9^GC?7J2wCK0X)2`mgONjwZf&l4CJPoF-Wtt>z9@87)2*0VBpb)|n^oq2L)-OQJ> z4Me09Ei)LEnUvX*E4@Juv-7op_j!COdIwkv_8JYQuMiK;`;OM>C;PpTzU~v zy6aC@Nq25;?yTeA-&lS=xI6v9^Xm)4Rwm}<9}SO>Yrp)oDf=Yn{NvrXKXc#U$b0b2 z|MHEy|0JeOoAzMGKUpqru2p_}j6Yo4|Lwp>^Ei2{Z?`r+?lCk-O6Y0qI1s_%(jt(o zz{$_T^q`W}X`#TM*RKP#rhZsgDaga}XMW9}%)2j+UR$*)`puo`o>BE94;&k z4o4gqB2x6$aWnBVG4wTiEoBjGj+)zR;~V$QdD*7P(bE=OPWpS|N5e)56|0yxF;)`{ z8#E4aoGj=%?AWq*ZMC(I*y(e=;ssm&zqstbZM&?32OqoA+_w2WN3zA|wqF-6^sSqB z>ek;o9-B7*s5p>gw)*?+Z?%D8QDHLgbZ!Oa950eFYKu5z*W|bU_B!1w=jv)7&z8Sr z6c8DDbMx+%F9p38|4p+|d~~svVd1`o?@Ee`H|xbR&e?n1Y(Yrc$4@FfkGAkX&fKzG z<({VQ-LR0&i;EPNvK&7Aetwprx&365nK9K(9rs;-SEzBc2swW|{7&@y&zmZX%Va&lI^x4CdTxzpo9?)$n`?@wswb45mSeLS^M<;yX(&aWOi&YkxrN{1a` zVZHw1^Sby4(o#|_%C+tJGkny1L#j{oi0qB>XbP5*`@gBnKtR2HTR^l$d3Ii)hNj`W zVykcy;ro6Ln*^8mTQRJZ$P|0&VicWn=1@5Aqq<4Qf|Lx~XUMwDi2sp%^>Jan7zf+d zL#xy;1jUB(HXm&8ah-Pf;kMgv|1v1-*t^iJ@3F|kRmOq`69Po#xU={1EHO#K zlZw3yt1qs+n^v_Y<=?d@n;v{?shGR3MN3P|DD1%b;Qdh!%$%QFL|{@)uZ=j-n?&6R{5(haC^jA$?ey_{(D*ZL8S5a2?^Gq7sb=g z6+V6Xl&k-K!l^G0878RyFuwQY?~nIK?Jx2yf4))e`4M12p<3b^QIe8al4_M)lnSI6 zj0_Bobq!2)jm$y}&8>`p$Uxh`$jZRL;}}mFiiX_$l+3hB+!`!rZ#f0jAPKS|I6tkV oJh3R1p}f3YFEcN@I61K(RWH9NefB#WDWD<-Pgg&ebxsLQ0QSUK-~a#s literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/book.svg b/files/opencs/scalable/referenceable-record/book.svg index 8c041a9e7..56c8e6c6f 100644 --- a/files/opencs/scalable/referenceable-record/book.svg +++ b/files/opencs/scalable/referenceable-record/book.svg @@ -23,18 +23,18 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.4142136" - inkscape:cx="-144.10221" - inkscape:cy="10.836112" + inkscape:zoom="8.0000002" + inkscape:cx="52.294682" + inkscape:cy="4.9257181" inkscape:document-units="px" inkscape:current-layer="g3891" showgrid="false" showguides="true" inkscape:guide-bbox="true" inkscape:window-width="1280" - inkscape:window-height="994" + inkscape:window-height="1001" inkscape:window-x="0" - inkscape:window-y="30" + inkscape:window-y="23" inkscape:window-maximized="1" inkscape:snap-page="true" inkscape:snap-bbox="true" @@ -514,7 +514,7 @@ y1="1067.036" x2="37.487514" y2="2532.4438" - gradientTransform="translate(-1.6900304,-354.84909)" /> + gradientTransform="translate(-1.6900304,-2.3597835)" /> + gradientTransform="translate(-1.6900304,-2.3597835)" /> + gradientTransform="translate(-1.6900304,-2.3597835)" /> - diff --git a/files/opencs/scalable/referenceable-record/container.png b/files/opencs/scalable/referenceable-record/container.png new file mode 100644 index 0000000000000000000000000000000000000000..e54c69af89e72514d9fdcd6e77049e4bb4a85572 GIT binary patch literal 929 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D+_~q^pWnWH z`{>c5nVFfhX3cu|@ZqCJkARA2&z{XEVaYDyK4;$Y{RfWk*>`mJo+ESTuV5DNRn(14 z&Z*@Vb!O!EXA|<^mGYL;2$a(ZlGg}U&$k5r@7%cm;r*TW@1A}A^5Waqm*2j<`u6qFhxgAvez<<~>ZfntK7Rl9 z;rsV@-@m{8_VxAGuP?uTxpwpF(`SkHow3AapG0l_x0r#5ep zTEu8pmQu;*=ffIvhoe$1&aRG!HHWFGfYs@cQiMoHmt)FNRTY)qB};lQHuUstT+`BG z5fJAWcksxSGj|SMI(6&VwR89Gox67I)~QQ}?i{=l=osfW$1(8a$(u*7p1phc^6A^h zub;nv|NQmiw@+U_eE00tqc=T0C!XVCVrp)3c4}&7VlL3&;N|Y`=;`X~&she8Y=p< z(eK0;CWgkyk}}?R-{t}Rs#@Y2QIe8al4_M)lnSI6j0_Bobq!2)jm$y}&8>`p$WYtB z$jZRr-A499C>nC}Q!>*kach|WW`7+}gCxj?;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7 V^x5xhq=1STJYD@<);T3K0RW8?x7h#y literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/ingredient.png b/files/opencs/scalable/referenceable-record/ingredient.png new file mode 100644 index 0000000000000000000000000000000000000000..6b36d008d26b94b7c0c1f1c2d6f215f24ca08c94 GIT binary patch literal 1444 zcmZ`&drZ?;6#nsWJ`m#;e8F&RBDz7f^g(Gwq4YruZ7rn;sKFwy8CEH6p_Ga%LP5&= z*>@=hQK5h>h)_@~Ai9Vqx~VY^w>e?rq-@Kkw6)zX*~+9HIotN zyUu?d1VO%33XuhJ(8^xp1tPIaJ`Iw0E}o8uAX9_S`;1kf_7Je*Vxj)~A1|yRGbt=O z1eJt9khB7V9N;s6t9F9FQ4f zi`!vE>WHd-g2KuYY0zRFre-j%q8AS&73nec!&KG8O1nUXsv00RjwFC7Km#~AJ3tbs z5I|?$5LI#xD>h((NWK!qYe!TXV^4QQNu@C&ZA8r=rDcpE(qW1_A{(#LO1t&}hK8#N zauc~gfhf|V0Y=&r3L@YEv<2;mLQMo9|N4BCK#eMB50`fDmlz@iN)%uy>HHUfsWDT; z`bdE~0+3Yn#MYWA((Y)`C{Tt2KZPn(u?{2Y+*e}2oigBnQ4$ahI51kMLGcubLN%&L ziz(Eg`3iKQ8eOD}5VVH3UuP<VoNvF8sG3Ns9il34 zCdthdg*6fQEH}pi{cYEniW`Z*pJofA^%}Ef>|hHZ8CtQc+C*-)(3?i-RRg3Z3%#aI}1^SM8j&IL&(WHFLJ-kvVIFmC!{Z%Mt~?jm|?9WLc( zIdASY*@Hq$BW0$-^|}Vxl#9i zfwms8Chx?3HW1=*JRyzp&(?_$jv)_iwNr!1i&kY2ucQ}JhcM_;~W4gw6 z(OTOGinbJ{*1OGSTVk`wij>6Ua;oT{{$XE#S;)YpM;jC!xW2I?M^-1Nr{v>~o}Qku zoh+tcZg-G6lF2&5d`R+`o)cm~FN3G2gs$VqojRSS&V#yRfd{9b9f zds}G?XGvQ6+&t!bocaFb)#e9`IUf{K6=6k=u^34sV0*#dO`#hat4bLJjP_hwB|rNvQ6{@|41(x|Mg8-lW2FJ1i0zIVXQ?G%zyg;^QGY+NQk8zcw; z4@bh_Xc!`b9ge{vz(Rz=5jZ&fhqS - !lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!Dss^Zy@@{=eG)|JtPgpN{?i`||&{Q~#eY{CBJ7|LwZ} zua^D)aqs`vz5gHd{(n~T_io|;`xE~Ec<}%0zW)z8{y#4Gdq4mGz3%^iU;O`e`v1e; z|Bnj(-pl)czyJULSO0%J`Tuy{zh||7AJzVUwBY}3^IumT9v^aeeWC8n#imCG?S5aj zJ-x>0?+w?#H{Ji<^!Rfp`tQS{zt8*sKgj$0v}xZ${T;K-ch0f=ddcJ5M%%L+tpD7O z{QDs9&y(iA4@>_(p8)hudYNSnkg_TX@(X5QU>38oW6=uPxhYsKaPr4D-TE2({{G#q zmwxo$-y_ogoBsaYz^qpD`*#)d^vi$$UXJ(@7Z*6~)^k4TvPuR!pec+=-tI089jvk* zKn`btM`STDW`2V(BX_y!Y@pyAPZ!4!i_>pUxk@z!NVGoW){sbOU}Rg+#K;!wwfVoP zWx#mQ{&{c%6UuqIPNT3vuaa; z;exzbyO?Ev2v^uYXk_^5D8XiTNaSeYmAHKYp$6@oi!yY9?o=&tjVMV;EJ?LWE=mPb z3`Pcq#<~Wkx<+OphUQjAKxCwCU}R-ra6eKu9z{cLeoAIqC2kGtSe8BpYLEok5S*V@ pQl40p%1~Zju9umYU7Va)kgAtols@~NjTBH3gQu&X%Q~loCIGkaSGE8E literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/light.svg b/files/opencs/scalable/referenceable-record/light.svg index f8f506636..3bd5307f7 100644 --- a/files/opencs/scalable/referenceable-record/light.svg +++ b/files/opencs/scalable/referenceable-record/light.svg @@ -15,7 +15,7 @@ id="svg2" version="1.1" inkscape:version="0.48.4 r9939" - sodipodi:docname="light source.svg"> + sodipodi:docname="light.svg"> + transform="matrix(-0.90444509,0,0,0.90444509,-132.43957,95.466136)"> - diff --git a/files/opencs/scalable/referenceable-record/miscellaneous.png b/files/opencs/scalable/referenceable-record/miscellaneous.png new file mode 100644 index 0000000000000000000000000000000000000000..37862d3b54f114d16ece2cc31673c367f517cd2a GIT binary patch literal 1518 zcmZ{kX*3&H7=~|XB4jMJ?^RXQn#Nj;rDCVH*p4k|NC;7T9Y(0?UJOGUY8gv)YP7Ud zgj%Xv%SakjsnVdaRh6J=&@u6Ie$037cb{|b_rB--_g(Wi=O8R3F9ZM(c5*~}@u+gx za2W4SOi$nD;YgH?n+*WX`H1~6DDMqP^l~^0nrMnEhsp>?FE;?v)d3*q0bA}<4w zj09j63xL@j0A%9Jsh$?R0W93b0nHqTC8B1nFnSh7jid>W%b;t@M2uREFg^$0lxZ@o$_WjC51|M`l@2jStV?6Fuw zI5L5&`tg3m&>s)h1L-Y6F_J-qS=vB3IM>QhnRA0m^-zf2^%8syfv=>oE+ytdisJFG zNdpZ4xlxP_^w#)sf0}SS1`}MWtYVs$9ehLn%$=1ji``?hy>GjWjp-K=#n@){vH*Vl zlmD|U(uq^#n58q*9|jr3ERuP>*S0u zd!(P+NUz9&1;HdIe<)qf*CdOLBjTTWs%lJcvV`AEJ39)}w6EzEm0#`0QzXEV>^p%s zL%lI9;VOjA-09;dsc>-_zO3r`!W3oKTNf0w@$YGEVwgo?rgJnU1=(n^Z7(5UmqpU9 zgQ75hF2C56obS&21c{G3L5UyRy49m^)>BklJ9MCkHm*694*}Jq-A2iy3WO+DBUrHX zRa3mp@5(Sq6}O9U>H?|g=9V{1)6EJNh_KuLb z#VhbEIS>AEzAbV>kF%;$Uk0016@ZH1B1R^zg$4N7?~0z+azE)YpB=XB#;|5?235a* zuRc{Ii+C46Z3=8E+qNBLJQXw-Ym-HkR_uGref?IehAa68P3TGcQdlq}u4O-M#eC=v z%kiCLYyAGg)HC)sbRQ)|oDbLD^w3Gp-QU+xTIgQ8Z*(VzVO2A8rWLz7+(msqT4no2 zR<xoni*|MVO_Dx)$_FmRE}nmjY6u3wR()?l)p;-Y(PMYv8SL9~`;UW$ zxQk3|ozNAB*KVQv{Vsk2QIvi{<_+gzP^o+=2J%MjyWxhD zth{LEFDdvnDX6`W(JZsY3zo^!V#lQj&0snC(B(|WH)xWY^_d=sWs?7YGoR>C-RkAE*r2~HxWgQ z#Zzi)iYh%JWs#Y_?so|jetwj}k}A3&!c9&vu;apsmAx3XCe91HsFv=Jg$qV;l(i4kG(I6YEARN1?kfXbrn38aU{- z3sU@{+<0a!iv~)rl+3Txa7cH}>dVSI22GKaO_9M`AyN6xKhB17CJ37s-lq`+%KOu; z>D1iZX0CnG=k3~O+%c3lG&+eq$d(kBj8vlk`-PRb!FEyqmNQmnj)0NzYvtC1`^&d< zC->wBkiCJaq^a1@6}F@97V1e2tSk0CDr7+MFxJqfK#RToW#~ctg}9l=>ci4KD)g^e zt)H(|00E6J7wfx{7T<=~?=9U>)Wtb5EIJo@v(iwvlo4>Vq{|7ksqx{C=`|)cFkwR1 zziVbFRao+^K3}h#B9VLCD0eDk_?(2eTxq(uE0w$XVQp?b0te%x=|^31r6`$3|K5FR z_+!wA4oVeBUGA*oj112;z4Myt_k~d#IA81cb_PwOmox`tPCt0qaF4SXaS#$|@aS0h zWKPpZ&$E+>y99G)^8DBO+g-71Z$@+nJQD1MfhJ$Zq-D#3Wlm>t*t_8NY^u>COc(Al zk^9tG@r$ELLp+xwiMuoSeIu^>nVd(szrVj)`p2s^^%i7i!sqE}?NEVf|C&oHd%KSn zCfk0NGK~`Or^M6*&BV(1%%rVsJr;86S|ZkG3A&81rS`jdC&}D?{lP*diaB?A|JC=_ ziQlXtiADJohx>>ZIFM*T%85$VHudV&(#FP)*0GMLk_-E+of|PVg7nSho!*DFUPp{P#WbH%)Ewd88NIPU*e6bRyRW=Yp6%^5(rKH2o69K{J9Kr> z0|Y&U6o#IjI&S-eT7m|HpwJ+%D~!!4M*L`}E+tP&-c%V@`uyd~`}qc)qpL5IbSj(%0c` zk#|C5UgG# zsr&l30%!O?i4AQ5Vb!q-J^;qYVDjYz%!n%TPPG8cyh}Un8AA;UiNQ}C%2$t&O*1{% z-_I;=)}p*Ko~-*jgALjhgyYI+f>rE)r644$$(NL{Hbk-bQ+}9!MdE$+=xk|hJ3|Y| z!A9sXHy8u_4C+u3KCaxE)K~T7TU~HjrNFGW6D=Rz7_7q_cF^{n3K{TiF%QIC))u4S zXAEy+-#{Fag&^to1o2+@Vcbi1K3aY{#@^vBTvn!v)`Etsm!soLH(IP2*W;b#2{9c9 z&vpuQ2mTb0V|USN9L47iN^&6v#?YH;ER^cl_`!P_G7|bd)UOBJb9=r_J?4zlg%2dt zZtzQS0COTKDWaTd=*=lQUfP3}TypFh+H_v!kf^EhEXVQ)7v{wyb zo+5!l8*dC%$WJ^YJAhyNlGjYuclkf}&2U9mmsh3|FU_*#H{*RW&KICDPvMtQZc-V` zXsy2LO>3s*hQMCuv^H5H^yll9Eq-;^sgPH~|0c3kC}*`w$pnd{MA3fJph0s>lNKCt*UmFm z5fB!J)!eeKTKGLyU?0D{O1QnW{f^P9{SQZ&qUfx+=Om$Q&dee83`9=F@Au8DcTI%- zx>>?T7)M7V(_|c-Au5*FmR7S`m$$YgRW9}|@F$5)jKuyXN+_SFL9%+x$D<>l6?6rL zfC>wI09+O8L}L^vTR;3`HZ5+C}AW2V3p0rs}eHg(8LDgOcfo~TFw literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/random-item.png b/files/opencs/scalable/referenceable-record/random-item.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1367a83da612c08e365f059b6f3e825d608eac GIT binary patch literal 1612 zcmZ`(X;4#F6uyB3Lc(4G1;dV!-LM20nj#=!sVv!)GFAwyM2aAUK?U+cKtXJ$RH;R@ zGc*Nhg^J?P4m49O6pB<3Dj+*$QG-$$kYxmfo{&yw`lDywyWctIeP_A%+<6z+ks&%H zGZI2bCoD9G3uvW$iR!Qh)s%Gt;ExAH1R!+hGxAnE0c>10HzW|<>ZQ&rnTes?2!zhk z5Rw!lv;i)O0-+o_LN5de`Boxil6k$A!$e3ei5<>o0Rco)Q`5}MOr`7S==k~hH8wW( z_xFRYast7|#wI*Gyt})5XJ;opJzYyn3qEOUYa1CERaI3jEiFw?PwVOFkw_#mnf&0v zgYE6@w6rwfSXfwK7&baOy1BWjudfdtS6A1`$;q6Y96FsoH8r)iwpLhJ=;r1Y5)!ho zurN0_2YI}_yt=x&-oAYs5dj-Q=H}*ESy`ai+S*>Za^>mMrzR#Q^YimtTU&;PhK`Po zB9Z9%^XF75RV)@m10Eh8EEcP?vy(!h;PH4LA0LH6VPIguWHPy2?)v)r;^LySvvYHE zb4yFh>gwvlhYx3FW+o;kyuH0=XJp{uL=v8E_n31MMj;2{tQDrazTus|Sy*+oS~shHr0sPXY}AVYGPwJJFdhl`Dkg`1!< z;aF4(tRPO2cs+n_5jT>D)E$$w4LF$?7DLdqJ6eEYVk({`5@T43WegY=sh}Ryh{MEj zP*^Exal0Uws$Hoo5 zhF#$j4uu4vQi6FX7+RU3G1+j+%9Gy2k#iZ>fG`#o6u|fSJyGC~f@vwn8sm~LKK-ib z^2I$R&U*VT?@6kwtIO#}ga#b9Q(6J~%ONrI8o9A!% zA5*6hzV@u`H%b*2b>xUvS9JWf588SXI%!t%JP)|7$dHRok z`COA#c=;~5OM_f3clwob@|8V_$%qt$FML_tL$m=WY{+ zGB-DBhbv;c@3*wKJS;dFTl(z0Z06D@+_5Hm;-B`7rGdQryciDUI`y13n?mP5`4<0V zhR2R>EQ-S=9<;5J(#}6K)=xcmGc|3||44b?NJn1*34gYlbUH6hLfY8aXD6B47g@zj z?&jZ?3VAoeuj=yYi7AQce0j^8h7k@Y`&sX`dxGgUmVi)a?D~-$U!nNYwf>lHxb70i z>BucL)0Pb*Y6EWU&d~S9l`}(o8>em?B+Sz)w^E2xCk~}6hSJA!tuBp5mTtMei>)ub zpSS*3$l4~Zd@I0by>Hq!HSFrN;yd1NqAje zyeQc>F)JAWxzpV|T<8oJcQ3x1x34=qo=$XkUpifW!9Mvv0qGe@!jv=rAJ8*UJ^}%z t$_l)U6j5$`Rx--X&2<%?Ov_G;&rEjB$U1)Q71InzD2x>ubSqFG{Tq|8Yfk_G literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/repair.png b/files/opencs/scalable/referenceable-record/repair.png new file mode 100644 index 0000000000000000000000000000000000000000..cb631d233766afdc6a058ea57a62d44378babfd4 GIT binary patch literal 1474 zcmZ`%dsNa_9RJzEvU0V`mQJ_MJk6T35T-ezLgb~18NOfT3$c8l1ez}d6af`5!9tLu zDVgRANkGx?m6j)8JzTBYX|399oqW}HPFl9>I%lW-vG4iZ@9TcQ=YAho%$Z5Y#SR|275&Y>QJAA{J^Lw|~A88Aqa!At?JB z2;vk%&?0bgrXh$0hoC>AAqb^_pwH8)Oh?fWw2JTV8;A!1L>~gthe#sfi9RbJc;j$H z9DzU}67hJF7XUDEL{BdQ28+jftq>ONiAH148QBaDKbKpS$1P$P2=fJEzDO#N%1UHs z%am$GT6#*&1+}2GAS5EVLRHqFtpm8!u4(SL*k)|fcWX_3hJkD5p^^TK>{FnOh+`qu z^-4{1wOA%%bF-7_iT(k8{y|4_IHy|;jj~D!otf<8L)^7%7bS>NSuNLfwX_-d8_l|eq<9PlV`pbaAQ93S$s$QnZDTbKhwd=8%N1uDnl!3v zMLaFm(4*BFn_}XRJ2^Q;MTZH*JayeUWsRIulp7Kr5PmE)G%^U(cACu!j|w9nJ)F); zIYJ?yq|<20)PxhUaS6v0lH%ChoI)Y5L?Q&7nUS8E&17Vz#wSK6rPI<_$;>P|Xbp)( zzW-+*Zy*RLfP>vEeZ+zJ0UtX*=>J}QtQgE%ovFFKtEs)SN!xj;%?QxgW@rSnYSlNi z=r48;=!Zx9FL$?e^t2j#+f4)d-eJ?wX#d#lk;$piopP}k(t*uI;ghy0gk! zxvKW8T60c$UM{H+6_*wAOE{dOoE&b3L@qM*8q9+xwMM}%%*y9y6^PhEX+cT3KqM_F zEY8<7)m$GRymfc{_T7oW5wpHW%N6AEgn3||r80q}qF7cb7L^qW#N5ul%gXZ=LJ3bS z7nWC+f{p-5=Ow*B$e0wr0Ep~IKJ4S|O(fuPURY1ep@X|O?n5FF2v=7)9GNvbfc^E= z!uy5 zItEiuFTeYxOxd#PQ4Z!3qN=J&B`@OTGE=jq^=-Nis>K@N!Oc7buJ+5e`Guc-yTiId zj6wQ99Yx{4Q)d4PlxGopn23XfFb5JatkOtf;MZD%4OuT)tj}~)fdHB}&NI;CMqKoE z2Iq{ZvXWmRRu{-hRDyHT;~0OTXDBYvHxf(n2`2>mu@|;(QlL^6OKp*~apeKpOeD+_ zzmsYcG&D8laK3MFOUYMPdh&8ZFr4Z`t(>)?FiWn7*SCpo+gCp+ z`_bAeYJ+9W<9iy%uj^{>Hb)uRgTwkSVq>2$UAJDP-|wNmFudHKF?0V4ZPxtGN;JK$ z+}**W^Y_Wejzp=$q4b42&ygdE3%h9(RSy_!7^$CMlCw9;TwYwi!{vY@(s{qrzP-IQ z+J;U|N3(tYt;v=?r-(4vs;N$!JCQJMxV?_WV*MEnv&IBFZiA7>#$2LdAu3hG1Fh{% zw#}y~ZNx1r+3dix>#4%rjj8n4yr)ZZeBAq~rY&=Vr&ql<*+H5&6OGN5n}fj~b~5py z%=j246&1&z0s$f5u1FWSn+w7{&~+aQ0pR8gN1)(vyJg3l|4B%p$Dc^Z`u~KaI#mit uuw8i}fS$n2jA2lr%*@O^CsLD6#l@si_s|(M)ePDW1VP?-KU^y|n)f%q0Dckx literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/static.png b/files/opencs/scalable/referenceable-record/static.png new file mode 100644 index 0000000000000000000000000000000000000000..934e8e2980b6bcc86d4292799c3df52f58ae156d GIT binary patch literal 1518 zcmZ{kdpHwn9LL{b%&gfmn#*=Haw@FNrRJ8#YI71JqIE$CxoxPmRZOwAO!6otBo*cK zOjeX+l)A{^qE%f53Tc`lY3XJBXpxQSiJ(%tTYM)qrT2w|eg0}#`w*x?s1Hi2I zOYjkZ{UiV;A^~te2f#9R+1(&d?LdFeW;#tvZE1Y(Woco^W^7N_M$aua#E9!!s*P** zqftY`+rMsmn)-r)`MKAV^Oh3833`L6zs7XE867+53*nRAce4CryqkdE6_{C7n;7PClL+D-E2N-R|f` z=(P5-i4npb#P)wwOL`?AaRB9v6&z7oofD}Bo6jh=+l=8YM=5n?W_MKc@@JFo3&Zg- z!ryCa8!bC1hd+5<9F@wQGPz zt_*7Mo!^Y$@i60z*SHn0)hm^XX58#hOJiauqBxj|y3L{LjZy@tZ}z6ix~rh*?DkWa zT}LU_1ee76JLOlbtqD5LzAUqx1bEh=QdfPX_u*5e+{pvfKb3?Yb`0ObB&?RLd7xWZ z2LV*jDrw8NY?_)dweZfIerY9;u=iAW<@w7PXF3b^e+p&Zu({T^wUH$!wr$Jv?K7Qq zL98^cXTiLTE61y5;hx4fpKo{;AMd?X%)-|nphIx_k3Hy4tg!xILwT@YmQ`}X>8kAx zKK%`KW8;PV3y_#3%YM0AmyCQrKs@|#Z(NjF9=5#XdE&^}2tjujfm2+}T=))6kt@!I zx>SVk);EBJhK0o%2mO)sQcd~3jL01AHZfme`ojcz6*<^4+5hlMi8Dp54l*EtgV>T1 zDpp8Q&&v%=I7!!{J4yUmmkCSDPjquK!GebE<~6ChS;)3cfq$*SZtZC}B*{r=>l%&x zkX939Sqw!BNe=b{cBQ#Y_@=cUn7R?w<5CPCPe03e$k8L;ijeNxaH0@xeh^P~7Mb@n zK+%=;EkkxV0_+8Ccn+XN=4nX?Cj9ZhF4~Y`J1|=AGc+zLJ3TjZ{dE&J(6%A4NW9%) zME&Y|NOM+%U8D2K{F*bSwNmMW8zIw;e$8Eu#I~~YmwH}Yy_uIC?r1PWrC>$*kW8Tl z$G5b@rR(^&y9+gWN)ZJn&4psZw%zqET#C_~?Jq0KIe!k7`?>EBj|yXACjdRLto852 zzGrI9*0+`K?MIILR|1=}CQqt1Cl5vm)kk=4l3T2w^SpOqtG^UK@=Bu1pFiJcj&+?ss|6r#0jTz0FO*d&!sCqIeVKyCF{v)h(O z(`DutM7Q0HPd%~=`K|J6%r9cL_fma`l5q~}vn{BIE+5Uz9lNcvcY6prDjHLA^M8XX zmZK_9!%DYE!zG9D4tnz}X}KFZ5__}+-M|`PjZO7NiN*#mJnJax7G3QBKyfpy8lL>R zKU8*4w!9I)o~DQINbEqQ?}NWzw&wd#0e)s>`AKQ9!sOATrUfN#eqX3<&&3L9uwhBJ z-e9%$Z%e{klab7tm~|f6;mIO1&Z#XE(~0u zP+Vc`7q=)Cn*3-?4UYb__f++&9r^mp10KnK0Bgi$$8j1#6)Gpx<{wQY5|-`WM@Z`tE1D}5b`>AC+%5lPjYf6k?hUf z{QqM}PK`;}%lm%=YjgHDt-*XTVQcE%3~p3fEZ}mv#DtW@^ynydEHO1Lu2ku1p%nqY MjRCY;pU9*C0-JS>N&o-= literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/referenceable-record/weapon.png b/files/opencs/scalable/referenceable-record/weapon.png new file mode 100644 index 0000000000000000000000000000000000000000..deb2e50bd181c1b12db3b31b666f96d84d7a36ca GIT binary patch literal 1465 zcmZ`&do+}37=K-66Or21rLnU#wVQ@n6yZ3cH8E?5L8aRogM@}4@kNb)diuLFA+*eM(8b= z5@r#KG(l+22O(l+*#?C9v|?(QBL z8M$-kjz}bW`0ybF0ZeIWsob8GmDSYL1TvS)t*EFN8ygb{1R%V4@#5*zr^(65IXOA~ z{rz2CT>zM#o^EMr!Q=5_vACzF$Ii|U@`AChu8zm!K?(>yH8ln9P#%Pxn3yOkDypok zoSU12$QcFMdSv$HS+8jS`>sO0^}9jqWEkx1k!$PgBi!fsYS-U0 zJd`1a!F-^Swzf983e8SVP6CzVtE;OaLVbO`T;*^$a8*`TCRbr)X=!P4xh}V=TeqU2 zg8v8MHus!mikA*QOgGJ2j~A*373O?rkRPBwK0aO?j88v>Pxad$dz8@G{ummRN~KT? z%nka2)bsQ6P!Dvyu&^*QGXq`2G#~{$=esBBf&I>;x_Y44uGCK`lSI?y*I47FwOLyo zf~LYAS^uHA`H@QF-LHnQ7J(fr>|HNMl$1=LJ+@qwC=1pnK9LNnG>6-%NwFaVA%V%A(ITu%O^CU9^FsVm2DaAw*!cC@fd}-NL&4ZQ zSxrOK-9dWoGu+RD=8?G7H+YI2%tc1gjoL8IhmW3*I9 zrrWUW7a-9%aA`iTxi0#L$t5)nZ7oUm72=3T;@Gw87woKfiR`#*PJ-KbeYcFA)T+B$ zZRPO2Z6E|9-gX0DmkqgF*e8yk7!;~z-m9r$C0w+A6KQawH%?h2MyPl{ZoQP4kA5mp znReycV1^HS7|1$>dD6WBzHei+oZ>AwR%aG%LL_GITeC5mJx!#(Zy2w)s;Hy - - - - - - - - - Date: Sun, 26 May 2013 17:31:29 +0200 Subject: [PATCH 21/38] Rastered status icons. ingredients, light, and book icon without emblem. --- files/opencs/raster/added.png | Bin 0 -> 1223 bytes files/opencs/raster/modified.png | Bin 0 -> 1855 bytes files/opencs/raster/removed.png | Bin 0 -> 1490 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 files/opencs/raster/added.png create mode 100644 files/opencs/raster/modified.png create mode 100644 files/opencs/raster/removed.png diff --git a/files/opencs/raster/added.png b/files/opencs/raster/added.png new file mode 100644 index 0000000000000000000000000000000000000000..456966a9c953555eb33677f2c6ad507b01b58529 GIT binary patch literal 1223 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D(<+r!7#%P+tuAjnTgR~zU^H8nLI9W7sfA6q+Xdq+DLS0^_Q7f&yD{{SB! zUr%KfB~ek)r%#_sNl7UxD|q{Q+Sppz+1q+~yDKRvNk~Zi|Nmc3PEJu#-rB|z=n;2M zS1%tAMJ1s1a+X%+);3o54t8?#axQL8<`!lSj`mJ2jzBNFx;s0$ILOJ%%F4<(Iy;z} znOIp{+SpnH!$DR~Mp{PN$k@=>#K^?d$jsct+``n#+QP!pOiD^pLQ-5`Ur$q0Lql8c)Q2qYxLWn`qZwY9{=#q{*_OiWC~CB)S=)cN`O)YMe@`1q8SmH7C0 z6%^!oczA#ob8~Y`OG|Nba*B$IaBy%434tPjg@r{xKtM=Hh@G9Cjg74;gmninj5tby z{DO7w|GoeB?|t0`H|1vn#Tb*k-CcBc-7Q=VvL>2>6&TkNA4N5OK$N4p$&#d4yc`JapLjb($+eiOJ6f?2P<3F(sRG(O#U?g z+mFI`KbGx%_x+vC^WA$Z?B+9HxR9|;Aos0oSoZR>_paW(o4UO;YJSO$I0Wq@uT64 zCzDl<`f^@AQ_W*%aQTpk`$W$=p(7&p%`P_%?KJ%H`&Yvb$-H|Q=cZyh-=xJQ&yWCe8=nQCkc_FmAZw+ z$+oj&o0DEv?~GZI^PJn>V8yjhx2HPo+!L&I=v|z`q#f^{Gyho1tJHXZ_lA0b9=|_} zGd?89^QkH;$R4`5QP9G!X>zb~K^0T_bGHY7c=T4eEvRBNy~%OHbVo=}LlI|q=wjEC z;S0PrEz&T0CAI$7uXi=((?SBST6u;3U%|yze=%^j@`BKMo>#wq)HDBhXv3y!HR0ps z$)y*V)b4tn>J__n-dQcf^kMyrm-lB!j}VJsDux!5|5;Aviy+ pq&%@Gm7%=6TrV>(yEr+qAXP8FD1G)j8!4b722WQ%mvv4FO#p%Rp2PqE literal 0 HcmV?d00001 diff --git a/files/opencs/raster/modified.png b/files/opencs/raster/modified.png new file mode 100644 index 0000000000000000000000000000000000000000..ca613f9e48f89cd597f9a1296a7b6cd921cb19eb GIT binary patch literal 1855 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 II;Vst04OK`B>(^b literal 0 HcmV?d00001 From 35fb9b669a7cf6a8371e8d19631bd1339bab3884 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Wed, 29 May 2013 06:38:35 -0500 Subject: [PATCH 22/38] Final details implemented Png icons, alignments fixed. --- apps/opencs/CMakeLists.txt | 2 +- apps/opencs/model/world/columnbase.hpp | 3 +- apps/opencs/model/world/columns.hpp | 4 +- apps/opencs/view/doc/viewmanager.cpp | 4 + .../view/world/recordstatusdelegate.cpp | 111 ++++++++++++++++++ .../view/world/recordstatusdelegate.hpp | 45 +++++++ files/opencs/resources.qrc | 3 + 7 files changed, 168 insertions(+), 4 deletions(-) create mode 100644 apps/opencs/view/world/recordstatusdelegate.cpp create mode 100644 apps/opencs/view/world/recordstatusdelegate.hpp diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index 9787719af..d30c92350 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -61,7 +61,7 @@ opencs_units (view/world ) opencs_units_noqt (view/world - dialoguesubview util subviews enumdelegate vartypedelegate scripthighlighter + dialoguesubview util subviews enumdelegate vartypedelegate scripthighlighter recordstatusdelegate ) diff --git a/apps/opencs/model/world/columnbase.hpp b/apps/opencs/model/world/columnbase.hpp index 8cc435f3a..e71e633a4 100644 --- a/apps/opencs/model/world/columnbase.hpp +++ b/apps/opencs/model/world/columnbase.hpp @@ -41,7 +41,8 @@ namespace CSMWorld Display_ArmorType, Display_ClothingType, Display_CreatureType, - Display_WeaponType + Display_WeaponType, + Display_RecordState }; std::string mTitle; diff --git a/apps/opencs/model/world/columns.hpp b/apps/opencs/model/world/columns.hpp index f1d8d4ae6..649ae192f 100644 --- a/apps/opencs/model/world/columns.hpp +++ b/apps/opencs/model/world/columns.hpp @@ -53,7 +53,7 @@ namespace CSMWorld template struct RecordStateColumn : public Column { - RecordStateColumn() : Column ("*", ColumnBase::Display_Integer) {} + RecordStateColumn() : Column ("*", ColumnBase::Display_RecordState) {} virtual QVariant get (const Record& record) const { @@ -775,4 +775,4 @@ namespace CSMWorld }; } -#endif \ No newline at end of file +#endif diff --git a/apps/opencs/view/doc/viewmanager.cpp b/apps/opencs/view/doc/viewmanager.cpp index d044098fe..97dd8b997 100644 --- a/apps/opencs/view/doc/viewmanager.cpp +++ b/apps/opencs/view/doc/viewmanager.cpp @@ -12,6 +12,7 @@ #include "../world/util.hpp" #include "../world/enumdelegate.hpp" #include "../world/vartypedelegate.hpp" +#include "../world/recordstatusdelegate.hpp" #include "view.hpp" @@ -117,6 +118,9 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager) mDelegateFactories->add (CSMWorld::ColumnBase::Display_WeaponType, new CSVWorld::EnumDelegateFactory (sWeaponTypes)); + + mDelegateFactories->add (CSMWorld::ColumnBase::Display_RecordState, + new CSVWorld::RecordStatusDelegateFactory() ); } CSVDoc::ViewManager::~ViewManager() diff --git a/apps/opencs/view/world/recordstatusdelegate.cpp b/apps/opencs/view/world/recordstatusdelegate.cpp new file mode 100644 index 000000000..c9dbff4f5 --- /dev/null +++ b/apps/opencs/view/world/recordstatusdelegate.cpp @@ -0,0 +1,111 @@ +#include "recordstatusdelegate.hpp" +#include +#include +#include +#include + +#include + +CSVWorld::RecordStatusDelegate::RecordStatusDelegate(QUndoStack &undoStack, QObject *parent) + : CommandDelegate (undoStack, parent) +{ + mModifiedIcon = new QIcon (":./modified.png"); + mAddedIcon = new QIcon (":./added.png"); + mDeletedIcon = new QIcon (":./removed.png"); + mIconSize = 16; + + //Offset values are most likely device-dependent. + //Need to replace with device-independent references. + mTextTopOffset = -1; + mTextLeftOffset = 3; + mIconTopOffset = -3; + mIconLeftOffset = 0; + + mStatusDisplay = 0; //icons and text by default +} + +void CSVWorld::RecordStatusDelegate::paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + painter->save(); + + QFont font = QApplication::font(); + font.setPointSize(10); + + QFontMetrics fm(font); + + QString text = ""; + QIcon *icon = 0; + + switch (index.data().toInt()) + { + case 0: // State_BaseOnly + text = "base"; + break; + + case 1: // State_Modified + text = "modified"; + icon = mModifiedIcon; + break; + + case 2: // State_Modified_Only + text = "added"; + icon = mAddedIcon; + break; + + case 3: // State_Deleted + + case 4: // State_Erased + text = "deleted"; + icon = mDeletedIcon; + break; + + default: + break; + } + + QRect textRect = option.rect; + QRect iconRect = option.rect; + + //for icon-only (1), default option.rect centers icon left-to-right + //otherwise, size option.rect to fit the icon, forcing left-alignment with text + iconRect.setTop (iconRect.top() + mIconTopOffset); + iconRect.setBottom (iconRect.top() + mIconSize); + + if (mStatusDisplay == 0 && (icon) ) + { + iconRect.setRight (iconRect.left() + mIconSize); + textRect.setLeft (iconRect.right() + (mIconSize/4) * 3); + textRect.setRight (textRect.left() + fm.width(text)); + } + else + textRect.setLeft (textRect.left() + mTextLeftOffset ); + + textRect.setTop (textRect.top() + ((option.rect.height() - fm.height()) / 2) + mTextTopOffset); + + if (mStatusDisplay == 0 || mStatusDisplay == 1) + { + if (icon) + painter->drawPixmap(iconRect.center(),icon->pixmap(mIconSize, mIconSize)); + } + + // icon + text or text only, or force text if no icon exists for status + if (mStatusDisplay == 0 || mStatusDisplay == 2 || !(icon) ) + { + painter->setFont(font); + painter->drawText(textRect,text); + } + + painter->restore(); + +} + +QSize CSVWorld::RecordStatusDelegate::sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + return QSize(); +} + +CSVWorld::CommandDelegate *CSVWorld::RecordStatusDelegateFactory::makeDelegate (QUndoStack& undoStack, + QObject *parent) const +{ + return new RecordStatusDelegate (undoStack, parent); +} diff --git a/apps/opencs/view/world/recordstatusdelegate.hpp b/apps/opencs/view/world/recordstatusdelegate.hpp new file mode 100644 index 000000000..a2ec34822 --- /dev/null +++ b/apps/opencs/view/world/recordstatusdelegate.hpp @@ -0,0 +1,45 @@ +#ifndef RECORDSTATUSDELEGATE_H +#define RECORDSTATUSDELEGATE_H + +#include "util.hpp" + +class QIcon; + +namespace CSVWorld +{ + class RecordStatusDelegate : public CommandDelegate + { + + QIcon *mModifiedIcon; + QIcon *mAddedIcon; + QIcon *mDeletedIcon; + int mStatusDisplay; + + int mIconSize; + int mIconTopOffset; + int mIconLeftOffset; + int mTextTopOffset; + int mTextLeftOffset; + + public: + explicit RecordStatusDelegate(QUndoStack& undoStack, QObject *parent = 0); + + void paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; + + QSize sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const; + + }; + + class RecordStatusDelegateFactory : public CommandDelegateFactory + { + //std::vector > mValues; + + public: + + virtual CommandDelegate *makeDelegate (QUndoStack& undoStack, QObject *parent) const; + ///< The ownership of the returned CommandDelegate is transferred to the caller. + + }; +} +#endif // RECORDSTATUSDELEGATE_H + diff --git a/files/opencs/resources.qrc b/files/opencs/resources.qrc index ecfab44a2..e2ad0ffd6 100644 --- a/files/opencs/resources.qrc +++ b/files/opencs/resources.qrc @@ -1,5 +1,8 @@ opencs.png + added.png + modified.png + removed.png From 94db7cdcfebbc386e1ba5cdc0c08319b5ff091a8 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Wed, 29 May 2013 12:45:15 -0500 Subject: [PATCH 23/38] Added png's of icons --- files/opencs/added.png | Bin 0 -> 1223 bytes files/opencs/modified.png | Bin 0 -> 1855 bytes files/opencs/removed.png | Bin 0 -> 1490 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 files/opencs/added.png create mode 100644 files/opencs/modified.png create mode 100644 files/opencs/removed.png diff --git a/files/opencs/added.png b/files/opencs/added.png new file mode 100644 index 0000000000000000000000000000000000000000..456966a9c953555eb33677f2c6ad507b01b58529 GIT binary patch literal 1223 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D(<+r!7#%P+tuAjnTgR~zU^H8nLI9W7sfA6q+Xdq+DLS0^_Q7f&yD{{SB! zUr%KfB~ek)r%#_sNl7UxD|q{Q+Sppz+1q+~yDKRvNk~Zi|Nmc3PEJu#-rB|z=n;2M zS1%tAMJ1s1a+X%+);3o54t8?#axQL8<`!lSj`mJ2jzBNFx;s0$ILOJ%%F4<(Iy;z} znOIp{+SpnH!$DR~Mp{PN$k@=>#K^?d$jsct+``n#+QP!pOiD^pLQ-5`Ur$q0Lql8c)Q2qYxLWn`qZwY9{=#q{*_OiWC~CB)S=)cN`O)YMe@`1q8SmH7C0 z6%^!oczA#ob8~Y`OG|Nba*B$IaBy%434tPjg@r{xKtM=Hh@G9Cjg74;gmninj5tby z{DO7w|GoeB?|t0`H|1vn#Tb*k-CcBc-7Q=VvL>2>6&TkNA4N5OK$N4p$&#d4yc`JapLjb($+eiOJ6f?2P<3F(sRG(O#U?g z+mFI`KbGx%_x+vC^WA$Z?B+9HxR9|;Aos0oSoZR>_paW(o4UO;YJSO$I0Wq@uT64 zCzDl<`f^@AQ_W*%aQTpk`$W$=p(7&p%`P_%?KJ%H`&Yvb$-H|Q=cZyh-=xJQ&yWCe8=nQCkc_FmAZw+ z$+oj&o0DEv?~GZI^PJn>V8yjhx2HPo+!L&I=v|z`q#f^{Gyho1tJHXZ_lA0b9=|_} zGd?89^QkH;$R4`5QP9G!X>zb~K^0T_bGHY7c=T4eEvRBNy~%OHbVo=}LlI|q=wjEC z;S0PrEz&T0CAI$7uXi=((?SBST6u;3U%|yze=%^j@`BKMo>#wq)HDBhXv3y!HR0ps z$)y*V)b4tn>J__n-dQcf^kMyrm-lB!j}VJsDux!5|5;Aviy+ pq&%@Gm7%=6TrV>(yEr+qAXP8FD1G)j8!4b722WQ%mvv4FO#p%Rp2PqE literal 0 HcmV?d00001 diff --git a/files/opencs/modified.png b/files/opencs/modified.png new file mode 100644 index 0000000000000000000000000000000000000000..ca613f9e48f89cd597f9a1296a7b6cd921cb19eb GIT binary patch literal 1855 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 II;Vst04OK`B>(^b literal 0 HcmV?d00001 From 1d93cf09bcaff510b56313bbb14d8f31b4e14d5a Mon Sep 17 00:00:00 2001 From: graffy76 Date: Wed, 29 May 2013 21:55:19 -0500 Subject: [PATCH 24/38] Cell formatting and code optimization changes --- .../view/world/recordstatusdelegate.cpp | 36 +++++++------------ .../view/world/recordstatusdelegate.hpp | 25 ++++++++----- 2 files changed, 29 insertions(+), 32 deletions(-) diff --git a/apps/opencs/view/world/recordstatusdelegate.cpp b/apps/opencs/view/world/recordstatusdelegate.cpp index c9dbff4f5..aa9487b70 100644 --- a/apps/opencs/view/world/recordstatusdelegate.cpp +++ b/apps/opencs/view/world/recordstatusdelegate.cpp @@ -1,11 +1,8 @@ #include "recordstatusdelegate.hpp" #include #include -#include #include -#include - CSVWorld::RecordStatusDelegate::RecordStatusDelegate(QUndoStack &undoStack, QObject *parent) : CommandDelegate (undoStack, parent) { @@ -16,23 +13,23 @@ CSVWorld::RecordStatusDelegate::RecordStatusDelegate(QUndoStack &undoStack, QObj //Offset values are most likely device-dependent. //Need to replace with device-independent references. - mTextTopOffset = -1; mTextLeftOffset = 3; mIconTopOffset = -3; - mIconLeftOffset = 0; - mStatusDisplay = 0; //icons and text by default + mStatusDisplay = 0; //icons and text by default. Remove when implemented as a user preference + + mFont = QApplication::font(); + mFont.setPointSize(10); + + mFontMetrics = new QFontMetrics(mFont); + + mTextAlignment.setAlignment (Qt::AlignLeft | Qt::AlignVCenter ); } void CSVWorld::RecordStatusDelegate::paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { painter->save(); - QFont font = QApplication::font(); - font.setPointSize(10); - - QFontMetrics fm(font); - QString text = ""; QIcon *icon = 0; @@ -73,30 +70,23 @@ void CSVWorld::RecordStatusDelegate::paint (QPainter *painter, const QStyleOptio if (mStatusDisplay == 0 && (icon) ) { - iconRect.setRight (iconRect.left() + mIconSize); - textRect.setLeft (iconRect.right() + (mIconSize/4) * 3); - textRect.setRight (textRect.left() + fm.width(text)); + iconRect.setRight (iconRect.left() + mIconSize*2); + textRect.setLeft (iconRect.right() + mTextLeftOffset *2); } else textRect.setLeft (textRect.left() + mTextLeftOffset ); - textRect.setTop (textRect.top() + ((option.rect.height() - fm.height()) / 2) + mTextTopOffset); - - if (mStatusDisplay == 0 || mStatusDisplay == 1) - { - if (icon) + if ( (mStatusDisplay == 0 || mStatusDisplay == 1) && (icon) ) painter->drawPixmap(iconRect.center(),icon->pixmap(mIconSize, mIconSize)); - } // icon + text or text only, or force text if no icon exists for status if (mStatusDisplay == 0 || mStatusDisplay == 2 || !(icon) ) { - painter->setFont(font); - painter->drawText(textRect,text); + painter->setFont(mFont); + painter->drawText(textRect, text, mTextAlignment); } painter->restore(); - } QSize CSVWorld::RecordStatusDelegate::sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const diff --git a/apps/opencs/view/world/recordstatusdelegate.hpp b/apps/opencs/view/world/recordstatusdelegate.hpp index a2ec34822..9ab19d30e 100644 --- a/apps/opencs/view/world/recordstatusdelegate.hpp +++ b/apps/opencs/view/world/recordstatusdelegate.hpp @@ -2,24 +2,31 @@ #define RECORDSTATUSDELEGATE_H #include "util.hpp" +#include +#include class QIcon; +class QFont; +class QFontMetrics; namespace CSVWorld { class RecordStatusDelegate : public CommandDelegate { + QFont mFont; + QFontMetrics *mFontMetrics; - QIcon *mModifiedIcon; - QIcon *mAddedIcon; - QIcon *mDeletedIcon; - int mStatusDisplay; + QTextOption mTextAlignment; - int mIconSize; - int mIconTopOffset; - int mIconLeftOffset; - int mTextTopOffset; - int mTextLeftOffset; + QIcon *mModifiedIcon; + QIcon *mAddedIcon; + QIcon *mDeletedIcon; + + int mStatusDisplay; + + int mIconSize; + int mIconTopOffset; + int mTextLeftOffset; public: explicit RecordStatusDelegate(QUndoStack& undoStack, QObject *parent = 0); From e403773e95f5c0ebd85e5c69b15731376e6b90fa Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Thu, 30 May 2013 13:33:49 +0200 Subject: [PATCH 25/38] Simply removed background from status icons. --- files/opencs/raster/added.png | Bin 1223 -> 840 bytes files/opencs/raster/modified.png | Bin 1855 -> 2022 bytes files/opencs/raster/removed.png | Bin 1490 -> 1311 bytes files/opencs/scalable/status/added.png | Bin 0 -> 840 bytes files/opencs/scalable/status/added.svg | 45 ++++------------------ files/opencs/scalable/status/modified.png | Bin 0 -> 2022 bytes files/opencs/scalable/status/modified.svg | 29 -------------- files/opencs/scalable/status/removed.png | Bin 0 -> 1311 bytes files/opencs/scalable/status/removed.svg | 36 +++-------------- 9 files changed, 13 insertions(+), 97 deletions(-) create mode 100644 files/opencs/scalable/status/added.png create mode 100644 files/opencs/scalable/status/modified.png create mode 100644 files/opencs/scalable/status/removed.png diff --git a/files/opencs/raster/added.png b/files/opencs/raster/added.png index 456966a9c953555eb33677f2c6ad507b01b58529..091e3c61a60c0c0d403f2ae1f900c88ed0cf1521 100644 GIT binary patch delta 816 zcmV-01JC@&3CIRUiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hX4Qo1am@3 zR0s$N2z&@+hyVZp32;bRa{vGh*8l(w*8xH(n|PC!1Sfw2#Ysd#RA_$K;OffNJ9fl0B4CVD zj6-1}RY`wbN`4VnQR8y@p2H~~;}Aofl!)l$1|%vh;X2;M`?!|b$0K}=Z}1b2#Zk%P zJOW-t51*l1*w0&dfS<+D$fi^Pao(?@Ti3O%t*xx!&CN{*2M5>iCcZDuB7~6L#QEOE zCkSh6Yay5Q_4Oc5ncL#@TP(?Cp;-A#LMxzYS^4Pl!n@O9+#K8R*Kfu%! z#uR1}5GKBpXE~OYnUowlRBA^!xpZ0lb%T zUcT_R(N;jyv;vx@70@)TfTn2$G)*OXp>=HGR;iiW+1bg8+1S{yyStkelgu1(J@q#3 zcSH~VC+_0LU@+*Wi~d*k_xJ7X?G=UMD=~lPaR(| z<|}Ca!mpx;0Zt|(@Q1j>{ZL*>$@vBRD2h0gQBsQ4*|-xz2so*#>R4Rjp0}u{a7p|h zJQnu~9;M`F@qAG~JsVHVwZV{959TSt=V7|l6hfFsz;j&q+h{AGX<7kI(+X&s^K4+V z2JvZVI2_vE-p&d>Iy#yhjudQgKg*(go3+M!_$4J!(hl(fURSuyS~>y&PefC7M_gB} uGy6Eem*Ot{6NRI2;a~PB62Qyzy3OAq4O5KW_#Zd`0000!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D(<+r!7#%P+tuAjnTgR~zU^H8nLI9W7sfA6q+Xdq+DLS0^_Q7f&yD{{SB! zUr%KfB~ek)r%#_sNl7UxD|q{Q+Sppz+1q+~yDKRvNk~Zi|Nmc3PEJu#-rB|z=n;2M zS1%tAMJ1s1a+X%+);3o54t8?#axQL8<`!lSj`mJ2jzBNFx;s0$ILOJ%%F4<(Iy;z} znOIp{+SpnH!$DR~Mp{PN$k@=>#K^?d$jsct+``n#+QP!pOiD^pLQ-5`Ur$q0Lql8c)Q2qYxLWn`qZwY9{=#q{*_OiWC~CB)S=)cN`O)YMe@`1q8SmH7C0 z6%^!oczA#ob8~Y`OG|Nba*B$IaBy%434tPjg@r{xKtM=Hh@G9Cjg74;gmninj5tby z{DO7w|GoeB?|t0`H|1vn#Tb*k-CcBc-7Q=VvL>2>6&TkNA4N5OK$N4p$&#d4yc`JapLjb($+eiOJ6f?2P<3F(sRG(O#U?g z+mFI`KbGx%_x+vC^WA$Z?B+9HxR9|;Aos0oSoZR>_paW(o4UO;YJSO$I0Wq@uT64 zCzDl<`f^@AQ_W*%aQTpk`$W$=p(7&p%`P_%?KJ%H`&Yvb$-H|Q=cZyh-=xJQ&yWCe8=nQCkc_FmAZw+ z$+oj&o0DEv?~GZI^PJn>V8yjhx2HPo+!L&I=v|z`q#f^{Gyho1tJHXZ_lA0b9=|_} zGd?89^QkH;$R4`5QP9G!X>zb~K^0T_bGHY7c=T4eEvRBNy~%OHbVo=}LlI|q=wjEC z;S0PrEz&T0CAI$7uXi=((?SBST6u;3U%|yze=%^j@`BKMo>#wq)HDBhXv3y!HR0ps z$)y*V)b4tn>J__n-dQcf^kMyrm-lB!j}VJsDux!5|5;Aviy+ pq&%@Gm7%=6TrV>(yEr+qAXP8FD1G)j8!4b722WQ%mvv4FO#p%Rp2PqE diff --git a/files/opencs/raster/modified.png b/files/opencs/raster/modified.png index ca613f9e48f89cd597f9a1296a7b6cd921cb19eb..0ac732ad9183c74307ee3c0d6401631e1cf962ac 100644 GIT binary patch delta 2008 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 II;Vst04OK`B>(^b diff --git a/files/opencs/scalable/status/added.png b/files/opencs/scalable/status/added.png new file mode 100644 index 0000000000000000000000000000000000000000..091e3c61a60c0c0d403f2ae1f900c88ed0cf1521 GIT binary patch literal 840 zcmV-O1GoH%P)w#0K~!jg?b>^-{Q;b7lB2`ITN`4VnQR8y@p2H~~;}Aof zl!)l$1|%vh;X2;M`?!|b$0K}=Z}1b2#Zk%PJOW-t51*l1*w0&dfS<+D$fi^Pao(?@ zTi3O%t*xx!&CN{*2M5>iCcZDuB7~6L#QEOECkSh6Yay5Q_4Oc5ncL#@TP(?Cp;-A# zLMxzYS^-Vd3TT??gDm-*Nt?yQ!2K6Lz|<7R6lM|-Ccde2#+WVPm2^C-rvYo$#P1z( z8r8UoPelNC zY~fa^ncLaf$%@(7*s#01n-!DH9C1DMHtu&s5B?|a;>KVw=%$PQSN8Y!?d|Oqh2kqQ z=Wz!o7~orcEY<@{Gdek2(0o*q#TmZ959TXq{=%=KhyhL}Bk+f~#QjiSNy+&I{3wbz zlu=TO)!DccLI^mis_Ix=;-0str*KL9A3PTK3Ld58X7PMcKRp{y%(cOgRuASW!slVS z)f7UQN5FGj_}geJplMnGP16c!n)7V42JvZVI2_vE-p&d>Iy#yhjudQgKg*(go3+M! z_$4J!(hl(fURSuyS~>y&PefC7M_gB}Gy6Eem*Ot{6NRI2;a~PB62Qyzy3OAq4O5KW S_#Zd`0000 - - - - - - - - - - - + - zCAcCHS*xf4V-uEySWUDsq9lYr2r)5Wf(G>uW17V@7}$-3tO>!eyVkA9AB~`k*IsS3(9fsP@ywV4Fl9#^Mx%Zy$IrrT2>pdePgiXd61NcA`FhClZk;lL+ z683_YJfH&j08kG69vBB^!e;ci1c(C5fo}t4z}J8YV@x*eT?kzOV~o>&3-EDtH`W8U zQBw+4058nNEJcAjV2{1`?R}kn4wXU`z-m7ZJPT~f`zZx90p)f~XcYDi_`nii7Z7i0 zX`!X11)v1@0#HlXW-B70T&TNz26zs*14vI#kM#8P2x|9Zz{l(u6B^$T1&9C*zz+aP zBodNNrzM?EOCphQLi`X|2}Hu;8;S|pz*PbyfzJSRb#)PqMu|qFbai#Pp`Qj4K&hRx zcnV4TKI-?s14u?10r|%nGmzptG}+>gwv;nCj|k zIy*bv<1U~ch=sBXA!y%2ef*2SjPLt0G&Cf$X=rFjeBT!|op{mC@t*1-Mmd)>7=lz*l3?x%r_F=htH7@)=isRQ1H2BYP`QVaGSR_m2kJ9DN2jg5^A4i4gZ zg&kWqo29wAnHx85%r|5TxQEsc{{lvVe*$mi2|8-8zej*(;3YId`USZI@pzm>B0(~l zB$-U+?o+8$QSbns=W+Vg39mD^DA{3=9lNeSN(H ze+SrS6r_E?ttUswxM51o$HAXiBlJbaotwqVDl| z;2I#YSWJ3*d!IP?GiT07NlA$VKZs_s%b69u=ZdthrhN{06A;hy+PYnFYlPAUV zJO};{Xmenx#r9C7o-bvHpl+-k__bX~4jw%C*uftV>r*49QC z6`}9@w6?ao#~I6G%JM8q3#o}+uxkX^xN+kGrWU3R8#cJxCd(tRW)>oVGozL8*aTQ@ zc?8B4XrS#LM9_+9=`5y;ro6S5Sssy~9gCon8Z>!&4-iczlhoJOFBIpz)Y#bQ+AyW4 zi3T>KpaOVkto4!H5Z1>Ot90$~d%KpEQOzYWO6ix=kvaryFP zNu^Txxy%^wZ}+@q%NDtI?b@7k&z?P-pEiFOC=Epb9<GXpQkf;9J;=50K{OW;uWU zyoiWw-@e_g)kDDd2ti)=xB%7!>M>HO6#f1E?)SHWp8>A`f3tR<26C@djWKDop1p_m zcz%a=slPNhI9R=H+cvgt-O7?BxlYQv2^!D>>_8kXD(>WI+u8Xq&}yjxO~4`)uv_#z zMJ%}0z$bxUVf(6i*KO2klr3rpY&49b-8t6~nn7LNkAOb{{{a32WSqteC`(XBaL1AhXx z0DFN|=&rtL`987$pc=mmd>ysjx0u7uAB99DYmAxV!TGoi{04oSnI^!u6{ZmXJQFHK zcfxgwL;vz5?+X{#&d;Fdte|NY6d-S5msm;Iz!%H!zYAf)#yFq2ng9R*07*qoM6N<$ Eg5avTxBvhE literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/status/modified.svg b/files/opencs/scalable/status/modified.svg index 72458efda..552509a32 100644 --- a/files/opencs/scalable/status/modified.svg +++ b/files/opencs/scalable/status/modified.svg @@ -1096,35 +1096,6 @@ - - - - - - - - - - - pLLP)?J#lKJ(!*lTkefSmXYRG*rV=Aru_F82_c`a>k8`dg z5h3)6q9_88dA{thH?OTI^m|bhtpHc_^%8g`BCqBeJaxpX+WH50843~v5Jk}yU=4T& zr~{|KGvMz~2z5jacw7HYfeG*;#FjUJioXVY0Bixbfn(rD;1^)#JFtph2i^yoYV&8{ zC*U_=>J1?xl`ql|uLF00N5FGHfTzGvMXUoW9=2A14RydC@Q2#^9XL?uZ1~s`k!k=H zUkA2PH{FaJL0BN;aG8&C!XJ^N>b)XK}K+`-Jz)G7VQ~Yc;6A_UlNoAHp%MxfgsOUK+NK_2ZZ!` zy`H@hM5k!p@IfUCew zU{@(GWZ)!87Pc`SkEPXWW#UJ`7r=YKsu&T7baLF%Jeyt=#G>Nc?Y6x<-zGi1p3MO{ zztuN^hnEdeApSna1}TnxAlver8i|w3fS61s(&=>UJ!Q)lp98QUwscazR)_-e_bEFh z+W(MCjKpLzk#4tZir*_rn@Rx5M`Gy^1>zr+dA<@r&Q_;vVlOS7k|dE{uV?3cspq`_ z42VtAgW0#}(cq#W3XUG%0r&8%$W{n@qQK8D^7wTdD!gwNBTG#o>lC|3x~bNfH-!xG zS@$4WhWHAI!nMB=!1DZX+2Tte_NySOJpbCnJ0PZ2ktkdHm!38O5c@d#PDN|}x$ePb z9p)Smxk#Ae*LCJ!n&&+r4h)EMCFNDpGHsW%Xn11^8Vll?YP^9}&}1d$A#Y$w8OO2N zi+!kCuVIvwSy8_W{KW+q^@~8vW-}QK2AQp=s_`aPQJ=L{wt>g!dFLYAD)T^C;!oB4 zS;sF|Qf7^!8m^q6!@7t%gzY2U^JBD-dNZsff8HEZZaca8K?x=Fg79|J!CzY>1Y-Qet^ z`$N);?qkx6?h|iYz5oWq8t|^dEc#P}I_WZ7=j^8jry;ifUqAM+1}1c{GJEsd`WF}% Vg={u)iKhSn002ovPDHLkV1o2`SGE8E literal 0 HcmV?d00001 diff --git a/files/opencs/scalable/status/removed.svg b/files/opencs/scalable/status/removed.svg index e1ed58ad3..9e5a27f82 100644 --- a/files/opencs/scalable/status/removed.svg +++ b/files/opencs/scalable/status/removed.svg @@ -23,11 +23,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="2.8284271" - inkscape:cx="-48.002913" - inkscape:cy="11.790793" + inkscape:zoom="5.6568542" + inkscape:cx="5.8735623" + inkscape:cy="23.288227" inkscape:document-units="px" - inkscape:current-layer="layer1" + inkscape:current-layer="g6138" showgrid="false" showguides="true" inkscape:guide-bbox="true" @@ -913,33 +913,7 @@ inkscape:label="Livello 1"> - - - - - - - - - - + transform="translate(3.5529905,1004.1857)" /> Date: Fri, 31 May 2013 11:50:03 +0200 Subject: [PATCH 26/38] Colored status icons. Hopefully everybody loves watercolors! --- files/opencs/raster/added.png | Bin 840 -> 862 bytes files/opencs/raster/modified.png | Bin 2022 -> 2149 bytes files/opencs/raster/removed.png | Bin 1311 -> 1772 bytes files/opencs/scalable/status/added.svg | 8 ++++---- files/opencs/scalable/status/modified.svg | 8 ++++---- files/opencs/scalable/status/removed.svg | 10 +++++----- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/files/opencs/raster/added.png b/files/opencs/raster/added.png index 091e3c61a60c0c0d403f2ae1f900c88ed0cf1521..aff7e25d460be771eb1c93bf556bedce44a06f0f 100644 GIT binary patch delta 764 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 delta 1934 zcmV;92XXl25ath%ZhvD*L_t(&fz6tKY*bkl$3OSInQ1$1x2@DdnZW{ETKrim1)Egjh|qF`^`dKL{}~V1fqq4`Z6eG#J>8gscg{u)Ef+$RCZMrh$}b z%ZhGEtzc=V(>eZe?j45O&b-nGc#@aC*SYte?>YC}^Xok$B7cNU#ux+mKol@Q8kmvC zz$_B>f|fj>0{8$>4*VV%2WG-%^tc3w0?UDK17*P1fC*zvHtbypT>xW@(|!x^adbD< z1GiCA3RM6v%*8B4fjVH1z4z^XoqZ0KLKVPjKMp(#Y|8s71vCNWc1&m#_73>K5?~h) zZ)s_vrKJU+1b_GfP)pcmDsJnaycn-J&NKa3X^z`%yYWHKn$Ltsr8s88FhyV@1 z4**Fd5|U1*C7n)7B9U-H{18|PM8e`5iV4}kRRSb|&j56FbrFq5iAJMzb#=L+p9T^@ zshzWU3Q7Au>i53`NJT}3jE#+nqp`6usi>%MyKvA7;eY>M?10r|%nGmzptG}+>gwv; znCj|kIy*bv<1U~ch=sBXA!y%2ef*2SjPLt0G&Cf$X=rFjeBT!|op{mC@t*1-Mm_5qsUWJCuK=^X{jCj4@^g$QYo;0)MFk-h~FE<-k%4_8nI1l~y}*rUH$P zjSLPB;(3J~TQ-}exw)AeH*U-~WD2;4)(`&zMuC3$$0G{V@`t)h~`uZ3d8OdG4!^7OVb&IK~DYw&03M?~;?%Y=l zs(wfqYVQ^X5%ivu2Gu{C9zG0*&Zl&-wC|z?ad=N$TqAr_E?ttUswxM51o$HAXiBlJ zbaotwqVDl|;2I#YSWJ3*d!IP?GiT07NlA$VKZs_s%b69u=ZdthrhN{06A;hy+ zPYnFYlPAUVJO};{Xmenx#r9C7o-bvHpl+-k__bX~4jw%C*uft_ zC)TVo&`<=AF>$ctsRObZ$27@TY;Yd z89;XI*dh1t-wzG^>L@B6g2wz|g|%VWy&EJ_QhiCwU31lYK7;{v7@rVSf5xZ5VnBd}%` zB7ifamGIaESZ#R(#uaFw?H)wXifQRAri-S$wU${Pk)R!mppqIid3p~JO@Ahn)YsQ9 z6z9Cu*x2aWFr}!81~#Lh0(fYx&6^!HOA1^*5)2tEw5nM z0=m%{8V4=|a`foYg08W*w^te(8geN?Q&W?iJ9n<&oC60AxbeRQ-V4M6VGAfg8QSB& z4amid7v}_V`SN8+rBeC1%zqg0Z}+@q%NDtI?b@7k&z?P-pEiFOC=Epb9<SFbiWT|h@)w{BeYsbQdJ@lGC1{QD zLEu~1iVu+H=4Ls6{=A5YY~Q}!t<^)o_Xt5=_qYJo1nMzTsTBSF{qFa-fu8}d0DrS~ zp9XTTRE;rdw4S|(_J4SOhjyvIG&nd|y=~hzwr<_Zk|nuL%DV{~&;sm094#vDKLY;% z{sUy3#tSG*P)Bgjf*wN~RA UIG?zh00000Ne4wvM6N<$f?qPK6#xJL diff --git a/files/opencs/raster/removed.png b/files/opencs/raster/removed.png index d4b0a4897eb11d650f2215bdc9fea6cacb45c840..2ca9e094be380f7d6da1f5c34897f03a4146dfff 100644 GIT binary patch delta 1683 zcmV;E25kAC3hWJ#ZGQ%7Nkl9(E6vuyW+Va|&sfs`hO48{B8>gU41?@&O zQVqde=6rqD?6N-&AYH31ubuG$=lnrr#AMDX0nt_5v1&K;$hCZD3y14gF zUtiyQ^WIEb7T%<3I-NQ9|2y}*d(S;*3?T$zhhZ27fGFp~9)I@AwPl3;oM9Ldpi2D| zfN3GbbXk*2M^r0YQ$QgsNGJfqFsc9(SO!FaJn$!Ag@sU#r~@8RzjMG{;9eM8fdQ2G zTA%?)0Z##!fggbDz+}*gmG~I&1kkK(W`Li7aUd5MLI_dv2f4&CU@htiG=v)@L?hP z`$g`^5jTjEE8+SO+aA~i@EULcsBKN9_@ccXv%0$Y-mGP@X>gDWnGDEXsT(+rda%{o zV!$e3i?S78mq>7~vy+EvYm2t>_wTdy_;Jo(xuR_yRJLy5@nFvZu!(O};`e)r_khSL zk!RJ!Re!)rCB7SouTLZxafmMgaSHg=4Pq96ZJ%!hwgK;!67K_%2EIlfP%kT}`1(YG zb6s83o2I8N7l<@+CFVdB0hIVUI*`{8 zh7dv@EIQ`56Tf4WT#398LVrZmdn3S7)kW7Xa4-j3lgi||qu%W35 zXz_N4&)V9ktEmB4p)}S35ksZ17>2O~cno+JI0md}NhUel(Lub-i9v>w1}b;lot)&A zfqwxmj*Wp#H{Jj)0=I+^1-%0Q0)GLQfFnTuLMFqe!NH=4az@-VD;B@;*fA|W2Yd*O zDy>tXLP+J{dEh2+1~@cd5S5Dm{@OJyen0RPau>3M?T80JZA&@i6Mho;#OEFa#Drzh zI$L}i7{MiNkJvw`{*gsOoJQ`wiwZGeS$}LC7~s3voLWD!xxR zAaupZk@yRl43(xGR-r)K@UZ^;E#PNlnRCism6%3e(=G!?0c&J*lx;&pp?@J<$|_~& zPFA77wxJ@{S6t<26A5%sa>mvRGWMOL@RTBdD z(qbKQ&wU+PQa39sElvY3A!ghz2#-(jne+p{k2 z`a*bk{sbNsYQOS&pp|eD-+ztm4vS2S>zRGJyF$2#e;@b~7ta?*i3Ud;cm^2`llV6{ zvdA-JPOFKT21hfpJeUPUOEM`YdV7WF?-!GOeWEp$(zf!*UYzdIc(<(rw3y<+)5x$W zLO5DXSzsr!w(8en(hz&qYKfL)Qrzz8af;uE?DUlElLc+^X^7%V*ngUQ+Vd%==L0}w z9k%i+T$|PVDr@q2gi|-Nxh;?f%T9cndjTMHoAr(gn?RoT?UA_+M+2l8XhI%*mnc#C zaIvM+cHQVsARFD6k^8*+1M6lhD1Z&Z1ePn9O229l1s+zv^;Zq@VQl@szU<+cn6Q)i d*(=x9e_}t^l63U9)C>Rs002ovPDHLkV1n$@5NrSd delta 1218 zcmV;z1U>ug4W9~-ZGQxuNklY}j6o#KkLsL6Wg9IyR1siDNluA@c{#<3{ zC6Hgz#z{&e(JuM;dmx1k3lN4ft&lx&YNXP`V$P78J9B65wd1A|BU!N```q_A=iHBT zt|Jj4^ogP<0+4yW?65blttj++Q53BJSM>D~cqJmQ<{CV8#DA*V`UiL!3K9emMbQ;t z4R{Br1E;_<;O|ffbwmw#TmMdh3GgDsmN$TkzXp5&Yyr1{W8g>N7hvW)u!>&?-Upg$ z^Jm~E;5T6E4Iv_xFVYaN19yN&z;i%=r@&A}tOF|^wpM@*b-*6*huZobI8f(o_}CJW zY5)~q2eyGD;C}@mjYdOs;3;sZ5cRTwRs3}oxd$YG)M_=;)_w?tujjXcuQKt2!9e0T zmVUo)4!oxW7e>PH{FaJL0BN;aG8&C!XJ^N>b)XK}K+`-Jz)G7VQ~Yc;6A_UlNokF6 zPJjn0xB+Y`&@dC<>2z}9D3ayH58`hg(NS3u146(qg{VjsArDIS>stE9W)mq0wP zcn5^^dVjrO@eYVTfzN>(z*{E38t}1B7-=*b636je1KJS%eqWL#S;*FCG%`24A@GrE zjxvC&z)fIRDKBK;BuN&wF&>Yl)oNwpN5B`rd%&s~5r}kh+|oRoUKGTl;@j=Ey*%G0 zJ-wdI0Xe_bH-U$j4N)NeKE?(qj(s58@|zlolYh&Am`o

2&NpWy=d zsejg(H-!xGS@$4WhWHAI!nMB=!1DZX+2Tte_NySOJpbCnJ0PZ2ktkdHm!38O5c@d# zPDN|}x$ePb9p)Smxk#Ae*LCJ!n&&+r4h)EMCFNDpGHsW%Xn11^8Vll?YP^9}&}1d$ zA#Y$w8OO2Ni+!kCuVIvwSy8_W{KW+q^?!>%%w{tg3gNLR#Bg|Rknf0=y~TN z+bZ)wSmICB`&q{?S5jt;txtfj=YgndY=uA+h(A&XU(c;V1rT>aBT>>?yhmU?;qZJ; zd=9{X*Z}VOLO7bcSsQSZfTGCZd1r^(br$lDgyRrqw$~#(%hLk!k6fNF1+XCQ0)J16 zAROXzTRt8&wnKdB-9RaT1(BQB))kZ4w<)_~${-Fg`c82iyC!U9RpwJtnh^g*!q`~+ z&+d7M6U){qX=}e(mNr2E1?lvdbW0b~K5A*-#sea|W_@nty!SP0=tXyp^isM>x}6^b zKLEcHe$n0F?4tWa(u?k6(u?jBZ#!GQ00zVw@UFrv`cs2C=`vgA?575&A-4WsKlZQ& gCUmeed-K}*7Z?|XY&LO;rvLx|07*qoM6N<$f~;dj3jhEB diff --git a/files/opencs/scalable/status/added.svg b/files/opencs/scalable/status/added.svg index 207e1aee3..d83649f50 100644 --- a/files/opencs/scalable/status/added.svg +++ b/files/opencs/scalable/status/added.svg @@ -23,9 +23,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="2.8284271" - inkscape:cx="-7.6178573" - inkscape:cy="-1.6044289" + inkscape:zoom="5.6568542" + inkscape:cx="-3.0608173" + inkscape:cy="3.614868" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -923,7 +923,7 @@ inkscape:connector-curvature="0" transform="matrix(0.01709132,0,0,0.01709132,42.964466,990.51997)" /> Date: Sat, 15 Jun 2013 06:40:18 -0500 Subject: [PATCH 27/38] Fixed / implemented missing features for RecordStatusDelegate Implemented updating editor application from preferences menu, loading settings when editor loads, adding Record Status Display prefernce. Fixed multiple bugs, made changes to CSM(V)Settings classes to make implementing new prefrences easier. Rewrote CSMSettings::UserSettings to retain last-loaded settings. Adjusted icon position in Record Status column Capitalized status text Added delegate to referenceables table --- apps/opencs/CMakeLists.txt | 5 +- .../model/settings/settingcontainer.hpp | 2 - apps/opencs/model/settings/settingsitem.hpp | 8 +- apps/opencs/model/settings/usersettings.cpp | 187 +++++++++++++----- apps/opencs/model/settings/usersettings.hpp | 23 ++- apps/opencs/model/world/refidcollection.cpp | 4 +- apps/opencs/view/doc/subview.cpp | 5 + apps/opencs/view/doc/subview.hpp | 3 +- apps/opencs/view/doc/view.cpp | 20 +- apps/opencs/view/doc/view.hpp | 6 +- apps/opencs/view/doc/viewmanager.cpp | 14 +- apps/opencs/view/doc/viewmanager.hpp | 2 + apps/opencs/view/settings/abstractpage.cpp | 16 +- apps/opencs/view/settings/abstractpage.hpp | 8 +- apps/opencs/view/settings/blankpage.cpp | 5 +- apps/opencs/view/settings/customblock.cpp | 12 +- apps/opencs/view/settings/customblock.hpp | 4 +- apps/opencs/view/settings/editorpage.cpp | 158 +++------------ apps/opencs/view/settings/editorpage.hpp | 28 +-- apps/opencs/view/settings/groupblock.cpp | 14 +- apps/opencs/view/settings/groupblock.hpp | 2 +- apps/opencs/view/settings/proxyblock.cpp | 4 +- apps/opencs/view/settings/proxyblock.hpp | 2 +- apps/opencs/view/settings/samplepage.cpp | 159 +++++++++++++++ apps/opencs/view/settings/samplepage.hpp | 28 +++ apps/opencs/view/settings/toggleblock.cpp | 24 +-- apps/opencs/view/settings/toggleblock.hpp | 4 +- .../view/settings/usersettingsdialog.cpp | 88 +++------ .../view/settings/usersettingsdialog.hpp | 17 +- .../view/world/recordstatusdelegate.cpp | 33 +++- .../view/world/recordstatusdelegate.hpp | 4 +- apps/opencs/view/world/table.cpp | 15 +- apps/opencs/view/world/table.hpp | 3 + apps/opencs/view/world/tablesubview.cpp | 9 +- apps/opencs/view/world/tablesubview.hpp | 4 +- apps/opencs/view/world/util.hpp | 6 + 36 files changed, 579 insertions(+), 347 deletions(-) create mode 100644 apps/opencs/view/settings/samplepage.cpp create mode 100644 apps/opencs/view/settings/samplepage.hpp diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index d30c92350..85b5ba3b6 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -57,11 +57,11 @@ opencs_hdrs_noqt (view/doc opencs_units (view/world - table tablesubview scriptsubview + table tablesubview scriptsubview util ) opencs_units_noqt (view/world - dialoguesubview util subviews enumdelegate vartypedelegate scripthighlighter recordstatusdelegate + dialoguesubview subviews enumdelegate vartypedelegate scripthighlighter recordstatusdelegate ) @@ -78,6 +78,7 @@ opencs_units (view/settings proxyblock abstractwidget usersettingsdialog + samplepage editorpage ) diff --git a/apps/opencs/model/settings/settingcontainer.hpp b/apps/opencs/model/settings/settingcontainer.hpp index eb264248d..60f4eecad 100644 --- a/apps/opencs/model/settings/settingcontainer.hpp +++ b/apps/opencs/model/settings/settingcontainer.hpp @@ -18,8 +18,6 @@ namespace CSMSettings explicit SettingContainer (QObject *parent = 0); explicit SettingContainer (const QString &value, QObject *parent = 0); - virtual QString getName() const {return "";} - void insert (const QString &value); void update (const QString &value, int index = 0); diff --git a/apps/opencs/model/settings/settingsitem.hpp b/apps/opencs/model/settings/settingsitem.hpp index 8be05a4c7..9c5ed02af 100644 --- a/apps/opencs/model/settings/settingsitem.hpp +++ b/apps/opencs/model/settings/settingsitem.hpp @@ -12,7 +12,6 @@ namespace CSMSettings QStringPair *mValuePair; QStringList *mValueList; bool mIsMultiValue; - QString mName; QString mDefaultValue; public: @@ -20,8 +19,10 @@ namespace CSMSettings const QString& defaultValue, QObject *parent = 0) : SettingContainer(defaultValue, parent), mIsMultiValue (isMultiValue), mValueList (0), - mName (name), mValuePair (0), mDefaultValue (defaultValue) - {} + mValuePair (0), mDefaultValue (defaultValue) + { + QObject::setObjectName(name); + } bool updateItem (const QStringList *values); bool updateItem (const QString &value); @@ -33,7 +34,6 @@ namespace CSMSettings inline QStringPair *getValuePair() { return mValuePair; } inline void setValuePair (QStringPair valuePair) { mValuePair = new QStringPair(valuePair); } - inline QString getName () const { return mName; } inline bool isMultivalue () { return mIsMultiValue; } void setDefaultValue (const QString &value); diff --git a/apps/opencs/model/settings/usersettings.cpp b/apps/opencs/model/settings/usersettings.cpp index aabda86b3..faaa2509b 100644 --- a/apps/opencs/model/settings/usersettings.cpp +++ b/apps/opencs/model/settings/usersettings.cpp @@ -7,12 +7,15 @@ #include #include #include +#include #include #include "settingcontainer.hpp" #include + +#include /** * Workaround for problems with whitespaces in paths in older versions of Boost library */ @@ -29,47 +32,67 @@ namespace boost } /* namespace boost */ #endif /* (BOOST_VERSION <= 104600) */ - CSMSettings::UserSettings::UserSettings() { mUserSettingsInstance = this; + + mReadWriteMessage = QObject::tr("
Could not open or create file for writing

\ + Please make sure you have the right permissions and try again.
"); + + mReadOnlyMessage = QObject::tr("
Could not open file for reading

\ + Please make sure you have the right permissions and try again.
"); } CSMSettings::UserSettings::~UserSettings() { } -QFile *CSMSettings::UserSettings::openFile (const QString &filename) +QTextStream *CSMSettings::UserSettings::openFileStream (const QString &filePath, bool isReadOnly) { - QFile *file = new QFile(filename); + QFile *file = new QFile(filePath); + + QIODevice::OpenMode openFlags; - bool success = (file->open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Truncate)) ; + if (isReadOnly) + openFlags = QIODevice::ReadOnly | QIODevice::Text; + else + openFlags = QIODevice::ReadWrite | QIODevice::Text | QIODevice::Truncate; - if (!success) + if (!(file->open(openFlags))) { // File cannot be opened or created QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("Error writing OpenMW configuration file")); + msgBox.setWindowTitle(QObject::tr("OpenCS configuration file I/O error")); msgBox.setIcon(QMessageBox::Critical); msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setText(QObject::tr("
Could not open or create %0 for writing

\ - Please make sure you have the right permissions \ - and try again.
").arg(file->fileName())); + + QString fileMessage = QObject::tr("
File: %0").arg(file->fileName()); + + if (!isReadOnly) + msgBox.setText (mReadWriteMessage + fileMessage); + else + msgBox.setText (mReadOnlyMessage + fileMessage); + msgBox.exec(); delete file; file = 0; } - return file; + QTextStream *stream = 0; + + if (file) + { + stream = new QTextStream(file); + stream->setCodec(QTextCodec::codecForName("UTF-8")); + } + + return stream; + } -bool CSMSettings::UserSettings::writeFile(QFile *file, QMap &settings) +bool CSMSettings::UserSettings::writeFile(QMap &settings) { - if (!file) - return false; - - QTextStream stream(file); - stream.setCodec(QTextCodec::codecForName("UTF-8")); + QTextStream *stream = openFileStream(mPaths.back()); QList keyList = settings.keys(); @@ -77,61 +100,121 @@ bool CSMSettings::UserSettings::writeFile(QFile *file, QMapgetName() << " = " << item->getValue() << '\n'; + *stream << item->objectName() << " = " << item->getValue() << '\n'; } - file->close(); + stream->device()->close(); return true; } -void CSMSettings::UserSettings::getSettings(QTextStream &stream, SectionMap §ions) +const CSMSettings::SectionMap &CSMSettings::UserSettings::getSettings() { - //looks for a square bracket, "'\\[" - //that has one or more "not nothing" in it, "([^]]+)" - //and is closed with a square bracket, "\\]" - - QRegExp sectionRe("^\\[([^]]+)\\]"); + return mSectionSettings; +} - //Find any character(s) that is/are not equal sign(s), "[^=]+" - //followed by an optional whitespace, an equal sign, and another optional whirespace, "\\s*=\\s*" - //and one or more periods, "(.+)" +void CSMSettings::UserSettings::loadFromFile(const QString &filePath) +{ + if (filePath.isEmpty()) + return; - QRegExp keyRe("^([^=]+)\\s*=\\s*(.+)$"); + mSectionSettings.clear(); - CSMSettings::SettingMap *settings = 0; - QString section = "none"; + QTextStream *stream = openFileStream (filePath, true); - while (!stream.atEnd()) + if (stream) { - QString line = stream.readLine().simplified(); + //looks for a square bracket, "'\\[" + //that has one or more "not nothing" in it, "([^]]+)" + //and is closed with a square bracket, "\\]" - if (line.isEmpty() || line.startsWith("#")) - continue; + QRegExp sectionRe("^\\[([^]]+)\\]"); - //if a section is found, push it onto a new QStringList - //and push the QStringList onto - if (sectionRe.exactMatch(line)) - { - //add the previous section's settings to the member map - if (settings) - sections.insert(section, settings); - - //save new section and create a new list - section = sectionRe.cap(1); - settings = new SettingMap; - continue; - } + //Find any character(s) that is/are not equal sign(s), "[^=]+" + //followed by an optional whitespace, an equal sign, and another optional whitespace, "\\s*=\\s*" + //and one or more periods, "(.+)" + + QRegExp keyRe("^([^=]+)\\s*=\\s*(.+)$"); - if (keyRe.indexIn(line) != -1) + CSMSettings::SettingMap *settings = 0; + QString section = "none"; + + while (!stream->atEnd()) { - SettingContainer *sc = new SettingContainer (keyRe.cap(2).simplified()); - (*settings)[keyRe.cap(1).simplified()] = sc; + QString line = stream->readLine().simplified(); + + if (line.isEmpty() || line.startsWith("#")) + continue; + + //if a section is found, push it onto a new QStringList + //and push the QStringList onto + if (sectionRe.exactMatch(line)) + { + //add the previous section's settings to the member map + if (settings) + mSectionSettings.insert(section, settings); + + //save new section and create a new list + section = sectionRe.cap(1); + settings = new SettingMap; + continue; + } + + if (keyRe.indexIn(line) != -1) + { + SettingContainer *sc = new SettingContainer (keyRe.cap(2).simplified()); + sc->setObjectName(keyRe.cap(1).simplified()); + (*settings)[keyRe.cap(1).simplified()] = sc; + } + } + mSectionSettings.insert(section, settings); + } + + stream->device()->close(); + + return; +} + +void CSMSettings::UserSettings::loadSettings (const QString &fileName) +{ + if (mPaths.count() == 0) + { + mPaths.append(QString::fromStdString(mCfgMgr.getGlobalPath().string()) + fileName); + mPaths.append(QString::fromStdString(mCfgMgr.getLocalPath().string()) + fileName); + mPaths.append(QString::fromStdString(mCfgMgr.getUserPath().string()) + fileName); + } + + foreach (const QString &path, mPaths) + { + qDebug() << "Loading config file:" << qPrintable(path); + loadFromFile(path); + } +} + +void CSMSettings::UserSettings::updateSettings (const QString §ionName, const QString &settingName) +{ + SettingMap *settings = mSectionSettings[sectionName]; + + if (!settings) + return; + + SettingContainer *setting = 0; + + if (settingName.isEmpty()) + { + foreach (setting, *settings) + emit signalUpdateEditorSetting (setting->objectName(), setting->getValue()); + } + else + { + setting = (*settings)[settingName]; + + if (setting) + emit signalUpdateEditorSetting (setting->objectName(), setting->getValue()); } - sections.insert(section, settings); } diff --git a/apps/opencs/model/settings/usersettings.hpp b/apps/opencs/model/settings/usersettings.hpp index 343702eda..3a7bbd1eb 100644 --- a/apps/opencs/model/settings/usersettings.hpp +++ b/apps/opencs/model/settings/usersettings.hpp @@ -10,6 +10,10 @@ #include "support.hpp" +#ifndef Q_MOC_RUN +#include +#endif + namespace Files { typedef std::vector PathContainer; struct ConfigurationManager;} @@ -22,6 +26,14 @@ namespace CSMSettings { Q_OBJECT + SectionMap mSectionSettings; + UserSettings *mUserSettingsInstance; + QStringList mPaths; + Files::ConfigurationManager mCfgMgr; + + QString mReadOnlyMessage; + QString mReadWriteMessage; + public: static UserSettings &instance() @@ -31,19 +43,22 @@ namespace CSMSettings { return instance; } - QFile *openFile (const QString &); - bool writeFile(QFile *file, QMap §ions); - void getSettings (QTextStream &stream, SectionMap &settings); + bool writeFile(QMap §ions); + const SectionMap &getSettings (); + void updateSettings (const QString §ionName, const QString &settingName = ""); + void loadSettings (const QString &fileName); private: - UserSettings *mUserSettingsInstance; UserSettings(); ~UserSettings(); UserSettings (UserSettings const &); //not implemented void operator= (UserSettings const &); //not implemented + QTextStream *openFileStream (const QString &filePath, bool isReadOnly = false); + void loadFromFile (const QString &filePath = ""); + signals: void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); diff --git a/apps/opencs/model/world/refidcollection.cpp b/apps/opencs/model/world/refidcollection.cpp index e11fe0fc8..2bb8d07b3 100644 --- a/apps/opencs/model/world/refidcollection.cpp +++ b/apps/opencs/model/world/refidcollection.cpp @@ -39,7 +39,7 @@ CSMWorld::RefIdCollection::RefIdCollection() mColumns.push_back (RefIdColumn ("ID", ColumnBase::Display_String, ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, false, false)); baseColumns.mId = &mColumns.back(); - mColumns.push_back (RefIdColumn ("*", ColumnBase::Display_Integer, + mColumns.push_back (RefIdColumn ("*", ColumnBase::Display_RecordState, ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, false, false)); baseColumns.mModified = &mColumns.back(); mColumns.push_back (RefIdColumn ("Type", ColumnBase::Display_Integer, @@ -537,4 +537,4 @@ void CSMWorld::RefIdCollection::load (ESM::ESMReader& reader, bool base, Univers int CSMWorld::RefIdCollection::getAppendIndex (UniversalId::Type type) const { return mData.getAppendIndex (type); -} \ No newline at end of file +} diff --git a/apps/opencs/view/doc/subview.cpp b/apps/opencs/view/doc/subview.cpp index affada012..731adabb3 100644 --- a/apps/opencs/view/doc/subview.cpp +++ b/apps/opencs/view/doc/subview.cpp @@ -1,5 +1,6 @@ #include "subview.hpp" + CSVDoc::SubView::SubView (const CSMWorld::UniversalId& id) : mUniversalId (id) { /// \todo add a button to the title bar that clones this sub view @@ -15,3 +16,7 @@ CSMWorld::UniversalId CSVDoc::SubView::getUniversalId() const { return mUniversalId; } + +void CSVDoc::SubView::updateEditorSetting (const QString &settingName, const QString &settingValue) +{ +} diff --git a/apps/opencs/view/doc/subview.hpp b/apps/opencs/view/doc/subview.hpp index 985c5eb3c..280a2a487 100644 --- a/apps/opencs/view/doc/subview.hpp +++ b/apps/opencs/view/doc/subview.hpp @@ -35,6 +35,7 @@ namespace CSVDoc CSMWorld::UniversalId getUniversalId() const; virtual void setEditLock (bool locked) = 0; + virtual void updateEditorSetting (const QString &, const QString &); signals: @@ -42,4 +43,4 @@ namespace CSVDoc }; } -#endif \ No newline at end of file +#endif diff --git a/apps/opencs/view/doc/view.cpp b/apps/opencs/view/doc/view.cpp index 2857f4a54..f85a822d8 100644 --- a/apps/opencs/view/doc/view.cpp +++ b/apps/opencs/view/doc/view.cpp @@ -258,11 +258,14 @@ void CSVDoc::View::addSubView (const CSMWorld::UniversalId& id) /// \todo add an user setting to reuse sub views (on a per document basis or on a per top level view basis) SubView *view = mSubViewFactory.makeSubView (id, *mDocument); + view->setObjectName ("subview"); mSubViewWindow.addDockWidget (Qt::TopDockWidgetArea, view); connect (view, SIGNAL (focusId (const CSMWorld::UniversalId&)), this, SLOT (addSubView (const CSMWorld::UniversalId&))); + CSMSettings::UserSettings::instance().updateSettings("Editor", "Record Status Display"); + view->show(); } @@ -366,20 +369,13 @@ void CSVDoc::View::showUserSettings() { CSVSettings::UserSettingsDialog *settingsDialog = new CSVSettings::UserSettingsDialog(this); - connect (&(CSMSettings::UserSettings::instance()), SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)), - this, SLOT (slotUpdateEditorSetting (const QString &, const QString &)) ); - settingsDialog->show(); } -void CSVDoc::View::slotUpdateEditorSetting(const QString &settingName, const QString &settingValue) +void CSVDoc::View::updateEditorSetting (const QString &settingName, const QString &settingValue) { - static QString lastValue = ""; - - if (lastValue != settingValue) - { - //evaluate settingName against tokens to determine which function to call to update Editor application. - - lastValue = settingValue; - } + if (settingName == "Record Status Display") + foreach (QObject *view, mSubViewWindow.children()) + if (view->objectName() == "subview") + dynamic_cast(view)->updateEditorSetting (settingName, settingValue); } diff --git a/apps/opencs/view/doc/view.hpp b/apps/opencs/view/doc/view.hpp index 0552a86cb..2fbe881eb 100644 --- a/apps/opencs/view/doc/view.hpp +++ b/apps/opencs/view/doc/view.hpp @@ -68,6 +68,8 @@ namespace CSVDoc void exitApplication(); + void loadUserSettings(); + public: View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews); @@ -88,6 +90,8 @@ namespace CSVDoc Operations *getOperations() const; + void updateEditorSetting (const QString &, const QString &); + signals: void newDocumentRequest(); @@ -102,8 +106,6 @@ namespace CSVDoc void abortOperation (int type); - void slotUpdateEditorSetting (const QString &settingName, const QString &settingValue); - private slots: void newView(); diff --git a/apps/opencs/view/doc/viewmanager.cpp b/apps/opencs/view/doc/viewmanager.cpp index 97dd8b997..a5ccc9efc 100644 --- a/apps/opencs/view/doc/viewmanager.cpp +++ b/apps/opencs/view/doc/viewmanager.cpp @@ -13,13 +13,13 @@ #include "../world/enumdelegate.hpp" #include "../world/vartypedelegate.hpp" #include "../world/recordstatusdelegate.hpp" +#include "../settings/usersettingsdialog.hpp" #include "view.hpp" #include #include #include -#include void CSVDoc::ViewManager::updateIndices() { @@ -121,6 +121,11 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager) mDelegateFactories->add (CSMWorld::ColumnBase::Display_RecordState, new CSVWorld::RecordStatusDelegateFactory() ); + + connect (&CSMSettings::UserSettings::instance(), SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)), + this, SLOT (slotUpdateEditorSetting (const QString &, const QString &))); + + CSMSettings::UserSettings::instance().loadSettings("opencs.cfg"); } CSVDoc::ViewManager::~ViewManager() @@ -347,3 +352,10 @@ void CSVDoc::ViewManager::exitApplication (CSVDoc::View *view) if (notifySaveOnClose (view)) QApplication::instance()->exit(); } + +void CSVDoc::ViewManager::slotUpdateEditorSetting (const QString &settingName, const QString &settingValue) +{ + if (settingName == "Record Status Display") + foreach (CSVDoc::View *view, mViews) + view->updateEditorSetting (settingName, settingValue); +} diff --git a/apps/opencs/view/doc/viewmanager.hpp b/apps/opencs/view/doc/viewmanager.hpp index 90f23eaa1..2b0890a21 100644 --- a/apps/opencs/view/doc/viewmanager.hpp +++ b/apps/opencs/view/doc/viewmanager.hpp @@ -72,6 +72,8 @@ namespace CSVDoc void progress (int current, int max, int type, int threads, CSMDoc::Document *document); void onExitWarningHandler(int state, CSMDoc::Document* document); + + void slotUpdateEditorSetting (const QString &, const QString &); }; } diff --git a/apps/opencs/view/settings/abstractpage.cpp b/apps/opencs/view/settings/abstractpage.cpp index 512b5abbd..6e34af63b 100644 --- a/apps/opencs/view/settings/abstractpage.cpp +++ b/apps/opencs/view/settings/abstractpage.cpp @@ -13,18 +13,32 @@ CSVSettings::AbstractPage::AbstractPage(QWidget *parent): QWidget(parent) { + QGridLayout *pageLayout = new QGridLayout(this); + setLayout (pageLayout); } CSVSettings::AbstractPage::AbstractPage(const QString &pageName, QWidget *parent): QWidget(parent) { QWidget::setObjectName (pageName); + + QGridLayout *pageLayout = new QGridLayout(this); + setLayout (pageLayout); } CSVSettings::AbstractPage::~AbstractPage() { } - +/* +void CSVSettings::AbstractPage::setupUi() +{ + // Hacks to get the stylesheet look properly + #ifdef Q_OS_MAC + QPlastiqueStyle *style = new QPlastiqueStyle; + //profilesComboBox->setStyle(style); + #endif +} +*/ CSMSettings::SettingList *CSVSettings::AbstractPage::getSettings() { CSMSettings::SettingList *settings = new CSMSettings::SettingList(); diff --git a/apps/opencs/view/settings/abstractpage.hpp b/apps/opencs/view/settings/abstractpage.hpp index 15ac82a62..1665b59d2 100644 --- a/apps/opencs/view/settings/abstractpage.hpp +++ b/apps/opencs/view/settings/abstractpage.hpp @@ -28,7 +28,7 @@ namespace CSVSettings { ~AbstractPage(); - virtual void setupUi()=0; + virtual void setupUi() = 0; virtual void initializeWidgets (const CSMSettings::SettingMap &settings) = 0; @@ -39,7 +39,7 @@ namespace CSVSettings { protected: template - AbstractBlock *buildBlock (T &def) + AbstractBlock *buildBlock (T *def) { S *block = new S (this); int ret = block->build (def); @@ -47,12 +47,12 @@ namespace CSVSettings { if (ret < 0) return 0; - QWidget::layout()->addWidget (block->getGroupBox()); + QGroupBox *box = block->getGroupBox(); + QWidget::layout()->addWidget (box); return block; } - }; } diff --git a/apps/opencs/view/settings/blankpage.cpp b/apps/opencs/view/settings/blankpage.cpp index 57d5c7caa..bf9c3c86e 100644 --- a/apps/opencs/view/settings/blankpage.cpp +++ b/apps/opencs/view/settings/blankpage.cpp @@ -43,10 +43,7 @@ void CSVSettings::BlankPage::initPage() void CSVSettings::BlankPage::setupUi() { QGroupBox *pageBox = new QGroupBox(this); - QLayout* pageLayout = new QVBoxLayout(); - - setLayout(pageLayout); - pageLayout->addWidget(pageBox); + layout()->addWidget(pageBox); } void CSVSettings::BlankPage::initializeWidgets (const CSMSettings::SettingMap &settings) diff --git a/apps/opencs/view/settings/customblock.cpp b/apps/opencs/view/settings/customblock.cpp index f44189569..933abf423 100644 --- a/apps/opencs/view/settings/customblock.cpp +++ b/apps/opencs/view/settings/customblock.cpp @@ -23,7 +23,7 @@ int CSVSettings::CustomBlock::build(GroupBlockDefList &defList, GroupBlockDefLis for (; listIt != defList.end(); ++listIt) { if (!(*listIt)->isProxy) - retVal = buildGroupBlock (*(*listIt)); + retVal = buildGroupBlock (*listIt); else { mGroupList << proxyBlock; @@ -32,7 +32,7 @@ int CSVSettings::CustomBlock::build(GroupBlockDefList &defList, GroupBlockDefLis } if (proxyIt != defaultIt) - retVal = buildProxyBlock (*(*proxyIt), proxyBlock); + retVal = buildProxyBlock (*proxyIt, proxyBlock); return retVal; } @@ -45,7 +45,7 @@ CSVSettings::GroupBox *CSVSettings::CustomBlock::buildGroupBox (Orientation orie return box; } -int CSVSettings::CustomBlock::buildGroupBlock(GroupBlockDef &def) +int CSVSettings::CustomBlock::buildGroupBlock(GroupBlockDef *def) { GroupBlock *block = new GroupBlock (getParent()); @@ -57,9 +57,9 @@ int CSVSettings::CustomBlock::buildGroupBlock(GroupBlockDef &def) return block->build(def); } -int CSVSettings::CustomBlock::buildProxyBlock(GroupBlockDef& def, ProxyBlock *block) +int CSVSettings::CustomBlock::buildProxyBlock(GroupBlockDef *def, ProxyBlock *block) { - if (def.properties.size() != 1) + if (def->properties.size() != 1) return -1; int retVal = block->build(def); @@ -67,7 +67,7 @@ int CSVSettings::CustomBlock::buildProxyBlock(GroupBlockDef& def, ProxyBlock *bl if (retVal != 0) return retVal; - foreach (QStringList *list, *(def.properties.at(0)->proxyList)) + foreach (QStringList *list, *(def->properties.at(0)->proxyList)) { QString proxiedBlockName = list->at(0); diff --git a/apps/opencs/view/settings/customblock.hpp b/apps/opencs/view/settings/customblock.hpp index b2f2a0261..f831a90ba 100644 --- a/apps/opencs/view/settings/customblock.hpp +++ b/apps/opencs/view/settings/customblock.hpp @@ -29,8 +29,8 @@ namespace CSVSettings private: - int buildGroupBlock(GroupBlockDef &def); - int buildProxyBlock(GroupBlockDef &def, ProxyBlock *block); + int buildGroupBlock(GroupBlockDef *def); + int buildProxyBlock(GroupBlockDef *def, ProxyBlock *block); }; } #endif // CUSTOMBLOCK_HPP diff --git a/apps/opencs/view/settings/editorpage.cpp b/apps/opencs/view/settings/editorpage.cpp index ad5a15f6f..7d67312e7 100644 --- a/apps/opencs/view/settings/editorpage.cpp +++ b/apps/opencs/view/settings/editorpage.cpp @@ -1,156 +1,52 @@ #include "editorpage.hpp" - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef Q_OS_MAC -#include -#endif - -#include "../../model/settings/usersettings.hpp" #include "groupblock.hpp" -#include "toggleblock.hpp" +#include "../../model/settings/usersettings.hpp" -CSVSettings::EditorPage::EditorPage(QWidget *parent): - AbstractPage("Editor", parent) +CSVSettings::EditorPage::EditorPage(QWidget* parent) : + AbstractPage(parent) { - // Hacks to get the stylesheet look properly -#ifdef Q_OS_MAC - QPlastiqueStyle *style = new QPlastiqueStyle; - //profilesComboBox->setStyle(style); -#endif - setupUi(); } -void CSVSettings::EditorPage::setupUi() +CSVSettings::EditorPage::EditorPage (const QString &pageName, QWidget* parent) + : AbstractPage (pageName, parent) { - GroupBlockDef undoStack (QString("Undo Stack Size")); - GroupBlockDef topLevelWindowCount (QString("Maximum Top-Level Window Count")); - GroupBlockDef reuseSubwindow (QString("Reuse Subwindows")); - GroupBlockDef customWindowSize (QString ("Custom Window Size")); - GroupBlockDef definedWindowSize (QString ("Pre-Defined Window Size")); - GroupBlockDef windowSizeToggle (QString ("Window Size")); - CustomBlockDef windowSize (QString ("Window Size")); - - //////////////////////////// - //undo stack size property - /////////////////////////// - - SettingsItemDef *undoStackItem = new SettingsItemDef (undoStack.title, "32"); - undoStack.properties << undoStackItem; - undoStackItem->minMax.left = "0"; - undoStackItem->minMax.right = "64"; - - WidgetDef stackWidget (Widget_SpinBox); - stackWidget.minMax = &(undoStackItem->minMax); - stackWidget.widgetWidth = 50; - - undoStackItem->widget = stackWidget; - - ////////////////////////////////////// - //number of top level windows property - ///////////////////////////////////// - - SettingsItemDef *topLevelItem = new SettingsItemDef (topLevelWindowCount.title, "100"); - topLevelWindowCount.properties << topLevelItem; - topLevelItem->minMax.left = "1"; - topLevelItem->minMax.right = "256"; - - WidgetDef topLvlWinWidget (Widget_SpinBox); - topLvlWinWidget.minMax = &(topLevelItem->minMax); - topLvlWinWidget.widgetWidth = 50; - - topLevelItem->widget = topLvlWinWidget; - - /////////////////////////// - //reuse subwindows property - //////////////////////////// - - SettingsItemDef *reuseSubItem = new SettingsItemDef (reuseSubwindow.title, "Reuse Subwindows"); - *(reuseSubItem->valueList) << "None" << "Top-Level" << "Document-Level"; - - WidgetDef reuseSubWidget (Widget_RadioButton); - reuseSubWidget.valueList = (reuseSubItem->valueList); - reuseSubWidget.widgetAlignment = Align_Left; - - reuseSubwindow.properties << reuseSubItem; - reuseSubItem->widget = reuseSubWidget; - - /////////////////////////////// - //custom window size properties - /////////////////////////////// - - //custom width - SettingsItemDef *widthItem = new SettingsItemDef ("Window Width", "640"); - widthItem->widget = WidgetDef (Widget_LineEdit); - widthItem->widget.widgetWidth = 45; - - //custom height - SettingsItemDef *heightItem = new SettingsItemDef ("Window Height", "480"); - heightItem->widget = WidgetDef (Widget_LineEdit); - heightItem->widget.widgetWidth = 45; - heightItem->widget.caption = "x"; - - customWindowSize.properties << widthItem << heightItem; - customWindowSize.widgetOrientation = Orient_Horizontal; - customWindowSize.isVisible = false; - - - //pre-defined - SettingsItemDef *widthByHeightItem = new SettingsItemDef ("Window Size", "640x480"); - WidgetDef widthByHeightWidget = WidgetDef (Widget_ComboBox); - widthByHeightWidget.widgetWidth = 90; - *(widthByHeightItem->valueList) << "640x480" << "800x600" << "1024x768"; - - QStringList *widthProxy = new QStringList; - QStringList *heightProxy = new QStringList; - - (*widthProxy) << "Window Width" << "640" << "800" << "1024"; - (*heightProxy) << "Window Height" << "480" << "600" << "768"; - - *(widthByHeightItem->proxyList) << widthProxy << heightProxy; - - widthByHeightItem->widget = widthByHeightWidget; + setupUi(); +} - definedWindowSize.properties << widthByHeightItem; - definedWindowSize.isProxy = true; - definedWindowSize.isVisible = false; +CSVSettings::GroupBlockDef *CSVSettings::EditorPage::setupRecordStatusDisplay() +{ + GroupBlockDef *statusBlock = new GroupBlockDef(QString("Record Status Display")); - // window size toggle - windowSizeToggle.captions << "Pre-Defined" << "Custom"; - windowSizeToggle.widgetOrientation = Orient_Vertical; - windowSizeToggle.isVisible = false; + SettingsItemDef *statusItem = new SettingsItemDef (statusBlock->title, "Icon and Text"); + *(statusItem->valueList) << QString("Icon and Text") << QString("Icon Only") << QString("Text Only"); - //define a widget for each group in the toggle - for (int i = 0; i < 2; i++) - windowSizeToggle.widgets << new WidgetDef (Widget_RadioButton); + WidgetDef statusWidget (Widget_RadioButton); + statusWidget.valueList = statusItem->valueList; - windowSizeToggle.widgets.at(0)->isDefault = false; + statusItem->widget = statusWidget; - windowSize.blockDefList << &windowSizeToggle << &definedWindowSize << &customWindowSize; - windowSize.defaultValue = "Custom"; + statusBlock->properties << statusItem; - QGridLayout *pageLayout = new QGridLayout(this); + return statusBlock; +} - setLayout (pageLayout); +void CSVSettings::EditorPage::setupUi() +{ - mAbstractBlocks << buildBlock (topLevelWindowCount) - << buildBlock (reuseSubwindow) - << buildBlock (windowSize) - << buildBlock (undoStack); + mAbstractBlocks << buildBlock(setupRecordStatusDisplay()); foreach (AbstractBlock *block, mAbstractBlocks) { connect (block, SIGNAL (signalUpdateSetting (const QString &, const QString &)), this, SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)) ); } + + connect ( this, + SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &)), + &(CSMSettings::UserSettings::instance()), + SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &))); + } void CSVSettings::EditorPage::initializeWidgets (const CSMSettings::SettingMap &settings) diff --git a/apps/opencs/view/settings/editorpage.hpp b/apps/opencs/view/settings/editorpage.hpp index 0c1e80e89..09769bf49 100644 --- a/apps/opencs/view/settings/editorpage.hpp +++ b/apps/opencs/view/settings/editorpage.hpp @@ -1,28 +1,30 @@ -#ifndef EDITORPAGE_H -#define EDITORPAGE_H +#ifndef EDITORPAGE_HPP +#define EDITORPAGE_HPP +#include "support.hpp" #include "abstractpage.hpp" -class QGroupBox; - -namespace CSVSettings { - - class UserSettings; - class AbstractBlock; - +namespace CSVSettings +{ class EditorPage : public AbstractPage { Q_OBJECT public: + explicit EditorPage(QWidget *parent = 0); + explicit EditorPage (const QString &pageName, QWidget* parent = 0); - EditorPage(QWidget *parent = 0); - - void setupUi(); void initializeWidgets (const CSMSettings::SettingMap &settings); + void setupUi(); + + private: + GroupBlockDef *setupRecordStatusDisplay(); signals: void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); + + public slots: }; } -#endif //EDITORPAGE_H + +#endif // EDITORPAGE_HPP diff --git a/apps/opencs/view/settings/groupblock.cpp b/apps/opencs/view/settings/groupblock.cpp index b18f629ba..f23a4ae28 100644 --- a/apps/opencs/view/settings/groupblock.cpp +++ b/apps/opencs/view/settings/groupblock.cpp @@ -9,22 +9,22 @@ CSVSettings::GroupBlock::GroupBlock (bool isVisible, QWidget *parent) : AbstractBlock (isVisible, parent) {} -int CSVSettings::GroupBlock::build (GroupBlockDef &def) +int CSVSettings::GroupBlock::build (GroupBlockDef *def) { - if (def.properties.size() == 0) + if (def->properties.size() == 0) return -1; int retVal = 0; - setVisible (def.isVisible); + setVisible (def->isVisible); - mBox->setLayout(createLayout (def.widgetOrientation, true)); + mBox->setLayout(createLayout (def->widgetOrientation, true)); - setObjectName (def.title); - mBox->setTitle (def.title); + setObjectName (def->title); + mBox->setTitle (def->title); - foreach (SettingsItemDef *itemDef, def.properties) + foreach (SettingsItemDef *itemDef, def->properties) { ItemBlock *block = new ItemBlock (mBox); diff --git a/apps/opencs/view/settings/groupblock.hpp b/apps/opencs/view/settings/groupblock.hpp index a8fd4e3b4..bd16d0b5b 100644 --- a/apps/opencs/view/settings/groupblock.hpp +++ b/apps/opencs/view/settings/groupblock.hpp @@ -16,7 +16,7 @@ namespace CSVSettings GroupBlock (QWidget* parent = 0); GroupBlock (bool isVisible, QWidget *parent = 0); - int build (GroupBlockDef &def); + int build (GroupBlockDef *def); bool updateSettings (const CSMSettings::SettingMap &settings); diff --git a/apps/opencs/view/settings/proxyblock.cpp b/apps/opencs/view/settings/proxyblock.cpp index 71a307084..f47c9dd07 100644 --- a/apps/opencs/view/settings/proxyblock.cpp +++ b/apps/opencs/view/settings/proxyblock.cpp @@ -5,10 +5,10 @@ CSVSettings::ProxyBlock::ProxyBlock (QWidget *parent) : GroupBlock (parent) { } -int CSVSettings::ProxyBlock::build (GroupBlockDef &proxyDef) +int CSVSettings::ProxyBlock::build (GroupBlockDef *proxyDef) { //get the list of pre-defined values for the proxy - mValueList = proxyDef.properties.at(0)->valueList; + mValueList = proxyDef->properties.at(0)->valueList; bool success = GroupBlock::build(proxyDef); diff --git a/apps/opencs/view/settings/proxyblock.hpp b/apps/opencs/view/settings/proxyblock.hpp index f757842ea..73d31fecf 100644 --- a/apps/opencs/view/settings/proxyblock.hpp +++ b/apps/opencs/view/settings/proxyblock.hpp @@ -21,7 +21,7 @@ namespace CSVSettings explicit ProxyBlock (ItemBlock *proxyItemBlock, QWidget *parent = 0); void addSetting (ItemBlock* settingBlock, QStringList *proxyList); - int build (GroupBlockDef &def); + int build (GroupBlockDef *def); CSMSettings::SettingList *getSettings() { return 0; } bool updateSettings (const CSMSettings::SettingMap &settings); diff --git a/apps/opencs/view/settings/samplepage.cpp b/apps/opencs/view/settings/samplepage.cpp new file mode 100644 index 000000000..1ed2f0505 --- /dev/null +++ b/apps/opencs/view/settings/samplepage.cpp @@ -0,0 +1,159 @@ +#include "samplepage.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef Q_OS_MAC +#include +#endif + +#include "../../model/settings/usersettings.hpp" +#include "groupblock.hpp" +#include "toggleblock.hpp" + +CSVSettings::SamplePage::SamplePage(QWidget *parent): + AbstractPage("Editor", parent) +{ + // Hacks to get the stylesheet look properly +#ifdef Q_OS_MAC + QPlastiqueStyle *style = new QPlastiqueStyle; + //profilesComboBox->setStyle(style); +#endif + + setupUi(); +} + +void CSVSettings::SamplePage::setupUi() +{ + GroupBlockDef *undoStack = new GroupBlockDef(QString("Undo Stack Size")); + GroupBlockDef *topLevelWindowCount = new GroupBlockDef(QString("Maximum Top-Level Window Count")); + GroupBlockDef *reuseSubwindow = new GroupBlockDef(QString("Reuse Subwindows")); + GroupBlockDef *customWindowSize = new GroupBlockDef(QString ("Custom Window Size")); + GroupBlockDef *definedWindowSize = new GroupBlockDef(QString ("Pre-Defined Window Size")); + GroupBlockDef *windowSizeToggle = new GroupBlockDef(QString ("Window Size")); + CustomBlockDef *windowSize = new CustomBlockDef(QString ("Window Size")); + + //////////////////////////// + //undo stack size property + /////////////////////////// + + SettingsItemDef *undoStackItem = new SettingsItemDef (undoStack->title, "32"); + undoStack->properties << undoStackItem; + undoStackItem->minMax.left = "0"; + undoStackItem->minMax.right = "64"; + + WidgetDef stackWidget (Widget_SpinBox); + stackWidget.minMax = &(undoStackItem->minMax); + stackWidget.widgetWidth = 50; + + undoStackItem->widget = stackWidget; + + ////////////////////////////////////// + //number of top level windows property + ///////////////////////////////////// + + SettingsItemDef *topLevelItem = new SettingsItemDef (topLevelWindowCount->title, "100"); + topLevelWindowCount->properties << topLevelItem; + topLevelItem->minMax.left = "1"; + topLevelItem->minMax.right = "256"; + + WidgetDef topLvlWinWidget (Widget_SpinBox); + topLvlWinWidget.minMax = &(topLevelItem->minMax); + topLvlWinWidget.widgetWidth = 50; + + topLevelItem->widget = topLvlWinWidget; + + /////////////////////////// + //reuse subwindows property + //////////////////////////// + + SettingsItemDef *reuseSubItem = new SettingsItemDef (reuseSubwindow->title, "Reuse Subwindows"); + *(reuseSubItem->valueList) << "None" << "Top-Level" << "Document-Level"; + + WidgetDef reuseSubWidget (Widget_RadioButton); + reuseSubWidget.valueList = (reuseSubItem->valueList); + reuseSubWidget.widgetAlignment = Align_Left; + + reuseSubwindow->properties << reuseSubItem; + reuseSubItem->widget = reuseSubWidget; + + /////////////////////////////// + //custom window size properties + /////////////////////////////// + + //custom width + SettingsItemDef *widthItem = new SettingsItemDef ("Window Width", "640"); + widthItem->widget = WidgetDef (Widget_LineEdit); + widthItem->widget.widgetWidth = 45; + + //custom height + SettingsItemDef *heightItem = new SettingsItemDef ("Window Height", "480"); + heightItem->widget = WidgetDef (Widget_LineEdit); + heightItem->widget.widgetWidth = 45; + heightItem->widget.caption = "x"; + + customWindowSize->properties << widthItem << heightItem; + customWindowSize->widgetOrientation = Orient_Horizontal; + customWindowSize->isVisible = false; + + + //pre-defined + SettingsItemDef *widthByHeightItem = new SettingsItemDef ("Window Size", "640x480"); + WidgetDef widthByHeightWidget = WidgetDef (Widget_ComboBox); + widthByHeightWidget.widgetWidth = 90; + *(widthByHeightItem->valueList) << "640x480" << "800x600" << "1024x768"; + + QStringList *widthProxy = new QStringList; + QStringList *heightProxy = new QStringList; + + (*widthProxy) << "Window Width" << "640" << "800" << "1024"; + (*heightProxy) << "Window Height" << "480" << "600" << "768"; + + *(widthByHeightItem->proxyList) << widthProxy << heightProxy; + + widthByHeightItem->widget = widthByHeightWidget; + + definedWindowSize->properties << widthByHeightItem; + definedWindowSize->isProxy = true; + definedWindowSize->isVisible = false; + + // window size toggle + windowSizeToggle->captions << "Pre-Defined" << "Custom"; + windowSizeToggle->widgetOrientation = Orient_Vertical; + windowSizeToggle->isVisible = false; + + //define a widget for each group in the toggle + for (int i = 0; i < 2; i++) + windowSizeToggle->widgets << new WidgetDef (Widget_RadioButton); + + windowSizeToggle->widgets.at(0)->isDefault = false; + + windowSize->blockDefList << windowSizeToggle << definedWindowSize << customWindowSize; + windowSize->defaultValue = "Custom"; + + mAbstractBlocks << buildBlock (topLevelWindowCount) + << buildBlock (reuseSubwindow) + << buildBlock (windowSize) + << buildBlock (undoStack); + + foreach (AbstractBlock *block, mAbstractBlocks) + { + connect (block, SIGNAL (signalUpdateSetting (const QString &, const QString &)), + this, SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)) ); + } +} + +void CSVSettings::SamplePage::initializeWidgets (const CSMSettings::SettingMap &settings) +{ + //iterate each item in each blocks in this section + //validate the corresponding setting against the defined valuelist if any. + for (AbstractBlockList::Iterator it_block = mAbstractBlocks.begin(); + it_block != mAbstractBlocks.end(); ++it_block) + (*it_block)->updateSettings (settings); +} diff --git a/apps/opencs/view/settings/samplepage.hpp b/apps/opencs/view/settings/samplepage.hpp new file mode 100644 index 000000000..3a9448bad --- /dev/null +++ b/apps/opencs/view/settings/samplepage.hpp @@ -0,0 +1,28 @@ +#ifndef SAMPLEPAGE_H +#define SAMPLEPAGE_H + +#include "abstractpage.hpp" + +class QGroupBox; + +namespace CSVSettings { + + class UserSettings; + class AbstractBlock; + + class SamplePage : public AbstractPage + { + Q_OBJECT + + public: + + explicit SamplePage(QWidget *parent = 0); + + void setupUi(); + void initializeWidgets (const CSMSettings::SettingMap &settings); + + signals: + void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); + }; +} +#endif //SAMPLEPAGE_H diff --git a/apps/opencs/view/settings/toggleblock.cpp b/apps/opencs/view/settings/toggleblock.cpp index 12a42ca9c..3406a62c4 100644 --- a/apps/opencs/view/settings/toggleblock.cpp +++ b/apps/opencs/view/settings/toggleblock.cpp @@ -7,24 +7,24 @@ CSVSettings::ToggleBlock::ToggleBlock(QWidget *parent) : CustomBlock(parent) {} -int CSVSettings::ToggleBlock::build(CustomBlockDef &def) +int CSVSettings::ToggleBlock::build(CustomBlockDef *def) { - if (def.blockDefList.size()==0) + if (def->blockDefList.size()==0) return -1; - QList::Iterator it = def.blockDefList.begin(); + QList::Iterator it = def->blockDefList.begin(); //first def in the list is the def for the toggle block GroupBlockDef *toggleDef = *it++; - if (toggleDef->captions.size() != def.blockDefList.size()-1 ) + if (toggleDef->captions.size() != def->blockDefList.size()-1 ) return -2; if (toggleDef->widgets.size() == 0) return -3; //create the toogle block UI structure - QLayout *blockLayout = createLayout (def.blockOrientation, true); + QLayout *blockLayout = createLayout (def->blockOrientation, true); GroupBox *propertyBox = buildGroupBox (toggleDef->widgetOrientation); mBox->setLayout(blockLayout); @@ -34,13 +34,13 @@ int CSVSettings::ToggleBlock::build(CustomBlockDef &def) //this manages proxy block construction. //Any settings managed by the proxy setting //must be included in the blocks defined in the list. - CustomBlock::build (def.blockDefList, &it); + CustomBlock::build (def->blockDefList, &it); for (GroupBlockList::iterator it = mGroupList.begin(); it != mGroupList.end(); ++it) propertyBox->layout()->addWidget ((*it)->getGroupBox()); //build togle widgets, linking them to the settings - GroupBox *toggleBox = buildToggleWidgets (*toggleDef, def.defaultValue); + GroupBox *toggleBox = buildToggleWidgets (toggleDef, def->defaultValue); blockLayout->addWidget(toggleBox); blockLayout->addWidget(propertyBox); @@ -49,16 +49,16 @@ int CSVSettings::ToggleBlock::build(CustomBlockDef &def) return 0; } -CSVSettings::GroupBox *CSVSettings::ToggleBlock::buildToggleWidgets (GroupBlockDef &def, QString &defaultToggle) +CSVSettings::GroupBox *CSVSettings::ToggleBlock::buildToggleWidgets (GroupBlockDef *def, QString &defaultToggle) { GroupBox *box = new GroupBox (false, getParent()); - QLayout *layout = createLayout (def.widgetOrientation, true, static_cast(box)); + QLayout *layout = createLayout (def->widgetOrientation, true, static_cast(box)); - for (int i = 0; i < def.widgets.size(); ++i) + for (int i = 0; i < def->widgets.size(); ++i) { - QString caption = def.captions.at(i); - WidgetDef *wDef = def.widgets.at(i); + QString caption = def->captions.at(i); + WidgetDef *wDef = def->widgets.at(i); wDef->caption = caption; wDef->widgetAlignment = Align_Left; diff --git a/apps/opencs/view/settings/toggleblock.hpp b/apps/opencs/view/settings/toggleblock.hpp index 8afe701b8..db617e767 100644 --- a/apps/opencs/view/settings/toggleblock.hpp +++ b/apps/opencs/view/settings/toggleblock.hpp @@ -18,10 +18,10 @@ namespace CSVSettings public: explicit ToggleBlock(QWidget *parent = 0); - int build (CustomBlockDef &def); + int build (CustomBlockDef *def); private: - GroupBox *buildToggleWidgets (GroupBlockDef &def, QString &defaultToggle); + GroupBox *buildToggleWidgets (GroupBlockDef *def, QString &defaultToggle); }; } #endif // TOGGLEBLOCK_HPP diff --git a/apps/opencs/view/settings/usersettingsdialog.cpp b/apps/opencs/view/settings/usersettingsdialog.cpp index 012fc0408..c48e0ee97 100644 --- a/apps/opencs/view/settings/usersettingsdialog.cpp +++ b/apps/opencs/view/settings/usersettingsdialog.cpp @@ -9,26 +9,27 @@ #include #include #include +#include #include "blankpage.hpp" -#include "editorpage.hpp" -#include "../../model/settings/support.hpp" +#include "samplepage.hpp" +#include "../../model/settings/support.hpp" +#include #include "settingwidget.hpp" -#include CSVSettings::UserSettingsDialog::UserSettingsDialog(QMainWindow *parent) : QMainWindow (parent), mStackedWidget (0) { setWindowTitle(QString::fromUtf8 ("User Settings")); buildPages(); - setWidgetStates (loadSettings()); + setWidgetStates (); positionWindow (); connect (mListWidget, SIGNAL (currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, - SLOT (slotChangePage (QListWidgetItem*, QListWidgetItem*))); + SLOT (slotChangePage (QListWidgetItem*, QListWidgetItem*))); } CSVSettings::UserSettingsDialog::~UserSettingsDialog() @@ -40,13 +41,16 @@ void CSVSettings::UserSettingsDialog::closeEvent (QCloseEvent *event) writeSettings(); } -void CSVSettings::UserSettingsDialog::setWidgetStates (CSMSettings::SectionMap settingsMap) +void CSVSettings::UserSettingsDialog::setWidgetStates () { + CSMSettings::UserSettings::instance().loadSettings("opencs.cfg"); + const CSMSettings::SectionMap §ionSettings = CSMSettings::UserSettings::instance().getSettings(); + //iterate the tabWidget's pages (sections) for (int i = 0; i < mStackedWidget->count(); i++) { //get the settings defined for the entire section - CSMSettings::SettingMap *settings = settingsMap [mStackedWidget->widget(i)->objectName()]; + CSMSettings::SettingMap *settings = sectionSettings [mStackedWidget->widget(i)->objectName()]; //if found, initialize the page's widgets if (settings) @@ -65,18 +69,25 @@ void CSVSettings::UserSettingsDialog::buildPages() mListWidget = new QListWidget (centralWidget); mStackedWidget = new QStackedWidget (centralWidget); - QLayout* dialogLayout = new QHBoxLayout(); + QGridLayout* dialogLayout = new QGridLayout(); - dialogLayout->addWidget (mListWidget); - dialogLayout->addWidget (mStackedWidget); + mListWidget->setMinimumWidth(0); + mListWidget->setSizePolicy (QSizePolicy::Preferred, QSizePolicy::Expanding); + + mStackedWidget->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed); + + dialogLayout->addWidget (mListWidget,0,0); + dialogLayout->addWidget (mStackedWidget,0,1, Qt::AlignTop); centralWidget->setLayout (dialogLayout); setCentralWidget (centralWidget); setDockOptions (QMainWindow::AllowNestedDocks); + //uncomment to test with sample editor page. - //createSamplePage(); - createPage("Page1"); + // TODO: Reimplement sample page using createPage function + //createPage("Sample"); + createPage("Editor"); createPage("Page2"); createPage("Page3"); } @@ -85,14 +96,16 @@ void CSVSettings::UserSettingsDialog::createSamplePage() { //add pages to stackedwidget and items to listwidget CSVSettings::AbstractPage *page - = new CSVSettings::EditorPage(this); + = new CSVSettings::SamplePage(this); mStackedWidget->addWidget (page); - new QListWidgetItem (page->objectName(), mListWidget); + connect ( page, + SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &)), + &(CSMSettings::UserSettings::instance()), + SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &))); - connect ( page, SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &)), - &(CSMSettings::UserSettings::instance()), SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &))); + new QListWidgetItem (page->objectName(), mListWidget); } void CSVSettings::UserSettingsDialog::positionWindow () @@ -103,47 +116,6 @@ void CSVSettings::UserSettingsDialog::positionWindow () } -CSMSettings::SectionMap CSVSettings::UserSettingsDialog::loadSettings () -{ - QString userPath = QString::fromStdString(mCfgMgr.getUserPath().string()); - - mPaths.append(QString("opencs.cfg")); - mPaths.append(userPath + QString("opencs.cfg")); - - CSMSettings::SectionMap settingsMap; - - foreach (const QString &path, mPaths) - { - qDebug() << "Loading config file:" << qPrintable(path); - QFile file(path); - - if (file.exists()) - { - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("Error opening OpenCS configuration file")); - msgBox.setIcon(QMessageBox::Critical); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setText(QObject::tr("
Could not open %0 for reading

\ - Please make sure you have the right permissions \ - and try again.
").arg(file.fileName())); - msgBox.exec(); - return settingsMap; - } - - QTextStream stream(&file); - stream.setCodec(QTextCodec::codecForName("UTF-8")); - - CSMSettings::UserSettings::instance().getSettings(stream, settingsMap); - } - - file.close(); - } - - return settingsMap; -} - void CSVSettings::UserSettingsDialog::writeSettings() { QMap settings; @@ -154,7 +126,7 @@ void CSVSettings::UserSettingsDialog::writeSettings() settings [page->objectName()] = page->getSettings(); } - CSMSettings::UserSettings::instance().writeFile(CSMSettings::UserSettings::instance().openFile(mPaths.back()), settings); + CSMSettings::UserSettings::instance().writeFile(settings); } diff --git a/apps/opencs/view/settings/usersettingsdialog.hpp b/apps/opencs/view/settings/usersettingsdialog.hpp index 31d40ca01..5e73fd123 100644 --- a/apps/opencs/view/settings/usersettingsdialog.hpp +++ b/apps/opencs/view/settings/usersettingsdialog.hpp @@ -4,14 +4,13 @@ #include #include #include - -#ifndef Q_MOC_RUN -#include -#endif +#include #include "../../model/settings/usersettings.hpp" #include "../../model/settings/support.hpp" +#include "editorpage.hpp" + class QHBoxLayout; class AbstractWidget; class QStackedWidget; @@ -28,7 +27,6 @@ namespace CSVSettings { QStringList mPaths; QListWidget *mListWidget; QStackedWidget *mStackedWidget; - Files::ConfigurationManager mCfgMgr; public: UserSettingsDialog(QMainWindow *parent = 0); @@ -38,10 +36,9 @@ namespace CSVSettings { void closeEvent (QCloseEvent *event); AbstractPage *getAbstractPage (int index); - void setWidgetStates (CSMSettings::SectionMap settingsMap); + void setWidgetStates (); void buildPages(); void positionWindow (); - CSMSettings::SectionMap loadSettings(); void writeSettings(); void createSamplePage(); @@ -61,6 +58,12 @@ namespace CSVSettings { if (mStackedWidget->sizeHint().height() < 480) mStackedWidget->sizeHint().setHeight(480); + QFontMetrics fm (QApplication::font()); + int textWidth = fm.width(page->objectName()); + + if ((textWidth + 50) > mListWidget->minimumWidth()) + mListWidget->setMinimumWidth(textWidth + 50); + resize (mStackedWidget->sizeHint()); } diff --git a/apps/opencs/view/world/recordstatusdelegate.cpp b/apps/opencs/view/world/recordstatusdelegate.cpp index aa9487b70..3c61c4af4 100644 --- a/apps/opencs/view/world/recordstatusdelegate.cpp +++ b/apps/opencs/view/world/recordstatusdelegate.cpp @@ -2,6 +2,7 @@ #include #include #include +#include "../../model/settings/usersettings.hpp" CSVWorld::RecordStatusDelegate::RecordStatusDelegate(QUndoStack &undoStack, QObject *parent) : CommandDelegate (undoStack, parent) @@ -36,23 +37,23 @@ void CSVWorld::RecordStatusDelegate::paint (QPainter *painter, const QStyleOptio switch (index.data().toInt()) { case 0: // State_BaseOnly - text = "base"; + text = "Base"; break; case 1: // State_Modified - text = "modified"; + text = "Modified"; icon = mModifiedIcon; break; case 2: // State_Modified_Only - text = "added"; + text = "Added"; icon = mAddedIcon; break; case 3: // State_Deleted case 4: // State_Erased - text = "deleted"; + text = "Deleted"; icon = mDeletedIcon; break; @@ -70,14 +71,14 @@ void CSVWorld::RecordStatusDelegate::paint (QPainter *painter, const QStyleOptio if (mStatusDisplay == 0 && (icon) ) { - iconRect.setRight (iconRect.left() + mIconSize*2); - textRect.setLeft (iconRect.right() + mTextLeftOffset *2); + iconRect.setRight (iconRect.left()+ mIconSize*2); + textRect.setLeft (iconRect.right() + mTextLeftOffset *1.25); } else textRect.setLeft (textRect.left() + mTextLeftOffset ); if ( (mStatusDisplay == 0 || mStatusDisplay == 1) && (icon) ) - painter->drawPixmap(iconRect.center(),icon->pixmap(mIconSize, mIconSize)); + painter->drawPixmap(iconRect.center().x()-10,iconRect.center().y()+2, icon->pixmap(mIconSize, mIconSize)); // icon + text or text only, or force text if no icon exists for status if (mStatusDisplay == 0 || mStatusDisplay == 2 || !(icon) ) @@ -99,3 +100,21 @@ CSVWorld::CommandDelegate *CSVWorld::RecordStatusDelegateFactory::makeDelegate ( { return new RecordStatusDelegate (undoStack, parent); } + +void CSVWorld::RecordStatusDelegate::updateEditorSetting (const QString &settingName, const QString &settingValue) +{ + if (settingName == "Record Status Display") + { + if (settingValue == "Icon and Text") + mStatusDisplay = 0; + + else if (settingValue == "Icon Only") + mStatusDisplay = 1; + + else if (settingValue == "Text Only") + mStatusDisplay = 2; + + else + mStatusDisplay = 0; + } +} diff --git a/apps/opencs/view/world/recordstatusdelegate.hpp b/apps/opencs/view/world/recordstatusdelegate.hpp index 9ab19d30e..3f53f2f55 100644 --- a/apps/opencs/view/world/recordstatusdelegate.hpp +++ b/apps/opencs/view/world/recordstatusdelegate.hpp @@ -35,12 +35,12 @@ namespace CSVWorld QSize sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const; + void updateEditorSetting (const QString &settingName, const QString &settingValue); + }; class RecordStatusDelegateFactory : public CommandDelegateFactory { - //std::vector > mValues; - public: virtual CommandDelegate *makeDelegate (QUndoStack& undoStack, QObject *parent) const; diff --git a/apps/opencs/view/world/table.cpp b/apps/opencs/view/world/table.cpp index f9167d259..1ec0dde09 100644 --- a/apps/opencs/view/world/table.cpp +++ b/apps/opencs/view/world/table.cpp @@ -12,6 +12,7 @@ #include "../../model/world/idtableproxymodel.hpp" #include "../../model/world/idtable.hpp" #include "../../model/world/record.hpp" +#include "recordstatusdelegate.hpp" #include "util.hpp" @@ -80,7 +81,7 @@ std::vector CSVWorld::Table::listDeletableSelectedIds() const CSVWorld::Table::Table (const CSMWorld::UniversalId& id, CSMWorld::Data& data, QUndoStack& undoStack, bool createAndDelete) -: mUndoStack (undoStack), mCreateAction (0), mEditLock (false) + : mUndoStack (undoStack), mCreateAction (0), mEditLock (false), mRecordStatusDisplay (0) { mModel = &dynamic_cast (*data.getTableModel (id)); @@ -161,6 +162,7 @@ void CSVWorld::Table::createRecord() mUndoStack.push (new CSMWorld::CreateCommand (*mProxyModel, stream.str())); } + } void CSVWorld::Table::revertRecord() @@ -201,4 +203,13 @@ void CSVWorld::Table::deleteRecord() mUndoStack.endMacro(); } } -} \ No newline at end of file +} + +void CSVWorld::Table::updateEditorSetting (const QString &settingName, const QString &settingValue) +{ + if (settingName == "Record Status Display") + { + dynamic_cast(this->itemDelegateForColumn(1))->updateEditorSetting (settingName, settingValue); + emit dataChanged(mModel->index(0,1), mModel->index(mModel->rowCount()-1, 1)); + } +} diff --git a/apps/opencs/view/world/table.hpp b/apps/opencs/view/world/table.hpp index df0224583..348e800cf 100644 --- a/apps/opencs/view/world/table.hpp +++ b/apps/opencs/view/world/table.hpp @@ -34,6 +34,7 @@ namespace CSVWorld CSMWorld::IdTableProxyModel *mProxyModel; CSMWorld::IdTable *mModel; bool mEditLock; + int mRecordStatusDisplay; private: @@ -52,6 +53,8 @@ namespace CSVWorld CSMWorld::UniversalId getUniversalId (int row) const; + void updateEditorSetting (const QString &settingName, const QString &settingValue); + private slots: void createRecord(); diff --git a/apps/opencs/view/world/tablesubview.cpp b/apps/opencs/view/world/tablesubview.cpp index bb4bb76c6..d139ef74b 100644 --- a/apps/opencs/view/world/tablesubview.cpp +++ b/apps/opencs/view/world/tablesubview.cpp @@ -22,4 +22,11 @@ void CSVWorld::TableSubView::setEditLock (bool locked) void CSVWorld::TableSubView::rowActivated (const QModelIndex& index) { focusId (mTable->getUniversalId (index.row())); -} \ No newline at end of file +} + +void CSVWorld::TableSubView::updateEditorSetting(const QString &settingName, const QString &settingValue) +{ + + if (settingName == "Record Status Display") + mTable->updateEditorSetting(settingName, settingValue); +} diff --git a/apps/opencs/view/world/tablesubview.hpp b/apps/opencs/view/world/tablesubview.hpp index 0e7b8aa30..13db8255a 100644 --- a/apps/opencs/view/world/tablesubview.hpp +++ b/apps/opencs/view/world/tablesubview.hpp @@ -23,8 +23,8 @@ namespace CSVWorld public: TableSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document, bool createAndDelete); - virtual void setEditLock (bool locked); + void updateEditorSetting (const QString &, const QString &); private slots: @@ -32,4 +32,4 @@ namespace CSVWorld }; } -#endif \ No newline at end of file +#endif diff --git a/apps/opencs/view/world/util.hpp b/apps/opencs/view/world/util.hpp index 95dfec6c5..251564e96 100644 --- a/apps/opencs/view/world/util.hpp +++ b/apps/opencs/view/world/util.hpp @@ -82,6 +82,8 @@ namespace CSVWorld ///< \brief Use commands instead of manipulating the model directly class CommandDelegate : public QStyledItemDelegate { + Q_OBJECT + QUndoStack& mUndoStack; bool mEditLock; @@ -105,6 +107,10 @@ namespace CSVWorld void setEditLock (bool locked); bool isEditLocked() const; + + private slots: + + virtual void slotUpdateEditorSetting (const QString &settingName, const QString &settingValue) {} }; } From a5d9d3fd7aac1614e987fe505d12eae394a69b1d Mon Sep 17 00:00:00 2001 From: graffy76 Date: Sat, 15 Jun 2013 07:29:20 -0500 Subject: [PATCH 28/38] Updated status icons from sirherrbatka --- files/opencs/added.png | Bin 1223 -> 840 bytes files/opencs/modified.png | Bin 1855 -> 2022 bytes files/opencs/removed.png | Bin 1490 -> 1311 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/files/opencs/added.png b/files/opencs/added.png index 456966a9c953555eb33677f2c6ad507b01b58529..091e3c61a60c0c0d403f2ae1f900c88ed0cf1521 100644 GIT binary patch delta 816 zcmV-01JC@&3CIRUiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hX4Qo1am@3 zR0s$N2z&@+hyVZp32;bRa{vGh*8l(w*8xH(n|PC!1Sfw2#Ysd#RA_$K;OffNJ9fl0B4CVD zj6-1}RY`wbN`4VnQR8y@p2H~~;}Aofl!)l$1|%vh;X2;M`?!|b$0K}=Z}1b2#Zk%P zJOW-t51*l1*w0&dfS<+D$fi^Pao(?@Ti3O%t*xx!&CN{*2M5>iCcZDuB7~6L#QEOE zCkSh6Yay5Q_4Oc5ncL#@TP(?Cp;-A#LMxzYS^4Pl!n@O9+#K8R*Kfu%! z#uR1}5GKBpXE~OYnUowlRBA^!xpZ0lb%T zUcT_R(N;jyv;vx@70@)TfTn2$G)*OXp>=HGR;iiW+1bg8+1S{yyStkelgu1(J@q#3 zcSH~VC+_0LU@+*Wi~d*k_xJ7X?G=UMD=~lPaR(| z<|}Ca!mpx;0Zt|(@Q1j>{ZL*>$@vBRD2h0gQBsQ4*|-xz2so*#>R4Rjp0}u{a7p|h zJQnu~9;M`F@qAG~JsVHVwZV{959TSt=V7|l6hfFsz;j&q+h{AGX<7kI(+X&s^K4+V z2JvZVI2_vE-p&d>Iy#yhjudQgKg*(go3+M!_$4J!(hl(fURSuyS~>y&PefC7M_gB} uGy6Eem*Ot{6NRI2;a~PB62Qyzy3OAq4O5KW_#Zd`0000!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D(<+r!7#%P+tuAjnTgR~zU^H8nLI9W7sfA6q+Xdq+DLS0^_Q7f&yD{{SB! zUr%KfB~ek)r%#_sNl7UxD|q{Q+Sppz+1q+~yDKRvNk~Zi|Nmc3PEJu#-rB|z=n;2M zS1%tAMJ1s1a+X%+);3o54t8?#axQL8<`!lSj`mJ2jzBNFx;s0$ILOJ%%F4<(Iy;z} znOIp{+SpnH!$DR~Mp{PN$k@=>#K^?d$jsct+``n#+QP!pOiD^pLQ-5`Ur$q0Lql8c)Q2qYxLWn`qZwY9{=#q{*_OiWC~CB)S=)cN`O)YMe@`1q8SmH7C0 z6%^!oczA#ob8~Y`OG|Nba*B$IaBy%434tPjg@r{xKtM=Hh@G9Cjg74;gmninj5tby z{DO7w|GoeB?|t0`H|1vn#Tb*k-CcBc-7Q=VvL>2>6&TkNA4N5OK$N4p$&#d4yc`JapLjb($+eiOJ6f?2P<3F(sRG(O#U?g z+mFI`KbGx%_x+vC^WA$Z?B+9HxR9|;Aos0oSoZR>_paW(o4UO;YJSO$I0Wq@uT64 zCzDl<`f^@AQ_W*%aQTpk`$W$=p(7&p%`P_%?KJ%H`&Yvb$-H|Q=cZyh-=xJQ&yWCe8=nQCkc_FmAZw+ z$+oj&o0DEv?~GZI^PJn>V8yjhx2HPo+!L&I=v|z`q#f^{Gyho1tJHXZ_lA0b9=|_} zGd?89^QkH;$R4`5QP9G!X>zb~K^0T_bGHY7c=T4eEvRBNy~%OHbVo=}LlI|q=wjEC z;S0PrEz&T0CAI$7uXi=((?SBST6u;3U%|yze=%^j@`BKMo>#wq)HDBhXv3y!HR0ps z$)y*V)b4tn>J__n-dQcf^kMyrm-lB!j}VJsDux!5|5;Aviy+ pq&%@Gm7%=6TrV>(yEr+qAXP8FD1G)j8!4b722WQ%mvv4FO#p%Rp2PqE diff --git a/files/opencs/modified.png b/files/opencs/modified.png index ca613f9e48f89cd597f9a1296a7b6cd921cb19eb..0ac732ad9183c74307ee3c0d6401631e1cf962ac 100644 GIT binary patch delta 2008 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 II;Vst04OK`B>(^b From c174f57a2fe69d81283c482792b71f71e2b0be8c Mon Sep 17 00:00:00 2001 From: Marek Kochanowicz Date: Sat, 15 Jun 2013 14:40:36 +0200 Subject: [PATCH 29/38] =?UTF-8?q?Git=20changes=20show=20that=20it=20should?= =?UTF-8?q?=20upload=20all=20the=20files=20this=20time.=20Let's=20hope?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/opencs/raster/actinator.png | Bin 2297 -> 0 bytes files/opencs/raster/added.png | Bin 862 -> 615 bytes files/opencs/raster/base.png | Bin 0 -> 460 bytes files/opencs/raster/ikony/.directory | 5 - files/opencs/raster/ikony/Hand-16.png | Bin 627 -> 0 bytes files/opencs/raster/ikony/Hand-22.png | Bin 824 -> 0 bytes files/opencs/raster/ikony/Hand-64.png | Bin 3036 -> 0 bytes files/opencs/raster/ikony/Journal-16.png | Bin 741 -> 0 bytes files/opencs/raster/ikony/Journal-22.png | Bin 1087 -> 0 bytes files/opencs/raster/ikony/Journal-32.png | Bin 1823 -> 0 bytes files/opencs/raster/ikony/Journal-64.png | Bin 3891 -> 0 bytes files/opencs/raster/ikony/LetterA-16.png | Bin 631 -> 0 bytes files/opencs/raster/ikony/LetterA-22.png | Bin 859 -> 0 bytes files/opencs/raster/ikony/LetterA-32.png | Bin 1414 -> 0 bytes files/opencs/raster/ikony/LetterA-64.png | Bin 3370 -> 0 bytes files/opencs/raster/ikony/Mask-16.png | Bin 822 -> 0 bytes files/opencs/raster/ikony/Mask-22.png | Bin 1200 -> 0 bytes files/opencs/raster/ikony/Mask-32.png | Bin 2122 -> 0 bytes files/opencs/raster/ikony/Mask-64.png | Bin 4461 -> 0 bytes files/opencs/raster/ikony/MusicNote-16.png | Bin 507 -> 0 bytes files/opencs/raster/ikony/MusicNote-22.png | Bin 665 -> 0 bytes files/opencs/raster/ikony/MusicNote-64.png | Bin 2340 -> 0 bytes files/opencs/raster/ikony/MusicNote2-16.png | Bin 1023 -> 0 bytes files/opencs/raster/ikony/MusicNote2-22.png | Bin 1201 -> 0 bytes files/opencs/raster/ikony/MusicNote2-32.png | Bin 1868 -> 0 bytes files/opencs/raster/ikony/MusicNote2-64.png | Bin 3265 -> 0 bytes files/opencs/raster/ikony/SpeechBubble-16.png | Bin 657 -> 0 bytes files/opencs/raster/ikony/SpeechBubble-22.png | Bin 885 -> 0 bytes files/opencs/raster/ikony/SpeechBubble-64.png | Bin 2967 -> 0 bytes .../raster/ikony/SpeechBubbleHand-16.png | Bin 845 -> 0 bytes .../raster/ikony/SpeechBubbleHand-22.png | Bin 1198 -> 0 bytes .../raster/ikony/SpeechBubbleHand-64.png | Bin 4800 -> 0 bytes .../raster/ikony/SpeechBubbleJournal-16.png | Bin 849 -> 0 bytes .../raster/ikony/SpeechBubbleJournal-22.png | Bin 1189 -> 0 bytes .../raster/ikony/SpeechBubbleJournal-64.png | Bin 4541 -> 0 bytes .../raster/ikony/SpeechBubbleLetterA-16.png | Bin 839 -> 0 bytes .../raster/ikony/SpeechBubbleLetterA-22.png | Bin 1164 -> 0 bytes .../raster/ikony/SpeechBubbleLetterA-64.png | Bin 4123 -> 0 bytes .../raster/ikony/SpeechBubbleMask-16.png | Bin 885 -> 0 bytes .../raster/ikony/SpeechBubbleMask-22.png | Bin 1288 -> 0 bytes .../raster/ikony/SpeechBubbleMask-64.png | Bin 4685 -> 0 bytes .../raster/ikony/SpeechBubbleNote-16.png | Bin 810 -> 0 bytes .../raster/ikony/SpeechBubbleNote-22.png | Bin 1152 -> 0 bytes .../raster/ikony/SpeechBubbleNote-64.png | Bin 4646 -> 0 bytes files/opencs/raster/modified.png | Bin 2149 -> 1320 bytes files/opencs/raster/removed.png | Bin 1772 -> 1251 bytes .../referenceable-record/activator.png | Bin 2297 -> 0 bytes .../referenceable-record/apparatus.png | Bin 1864 -> 0 bytes .../scalable/referenceable-record/book.png | Bin 1336 -> 0 bytes .../referenceable-record/container.png | Bin 929 -> 0 bytes .../referenceable-record/ingredient.png | Bin 1444 -> 0 bytes .../scalable/referenceable-record/light.png | Bin 747 -> 0 bytes .../referenceable-record/miscellaneous.png | Bin 1518 -> 0 bytes .../scalable/referenceable-record/potion.png | Bin 2019 -> 0 bytes .../referenceable-record/random-item.png | Bin 1612 -> 0 bytes .../scalable/referenceable-record/repair.png | Bin 1474 -> 0 bytes .../scalable/referenceable-record/static.png | Bin 1518 -> 0 bytes .../scalable/referenceable-record/weapon.png | Bin 1465 -> 0 bytes files/opencs/scalable/status/added.png | Bin 840 -> 0 bytes files/opencs/scalable/status/base.svg | 942 ++++++++++++++++++ files/opencs/scalable/status/modified.png | Bin 2022 -> 0 bytes files/opencs/scalable/status/removed.png | Bin 1311 -> 0 bytes 62 files changed, 942 insertions(+), 5 deletions(-) delete mode 100644 files/opencs/raster/actinator.png create mode 100644 files/opencs/raster/base.png delete mode 100644 files/opencs/raster/ikony/.directory delete mode 100644 files/opencs/raster/ikony/Hand-16.png delete mode 100644 files/opencs/raster/ikony/Hand-22.png delete mode 100644 files/opencs/raster/ikony/Hand-64.png delete mode 100644 files/opencs/raster/ikony/Journal-16.png delete mode 100644 files/opencs/raster/ikony/Journal-22.png delete mode 100644 files/opencs/raster/ikony/Journal-32.png delete mode 100644 files/opencs/raster/ikony/Journal-64.png delete mode 100644 files/opencs/raster/ikony/LetterA-16.png delete mode 100644 files/opencs/raster/ikony/LetterA-22.png delete mode 100644 files/opencs/raster/ikony/LetterA-32.png delete mode 100644 files/opencs/raster/ikony/LetterA-64.png delete mode 100644 files/opencs/raster/ikony/Mask-16.png delete mode 100644 files/opencs/raster/ikony/Mask-22.png delete mode 100644 files/opencs/raster/ikony/Mask-32.png delete mode 100644 files/opencs/raster/ikony/Mask-64.png delete mode 100644 files/opencs/raster/ikony/MusicNote-16.png delete mode 100644 files/opencs/raster/ikony/MusicNote-22.png delete mode 100644 files/opencs/raster/ikony/MusicNote-64.png delete mode 100644 files/opencs/raster/ikony/MusicNote2-16.png delete mode 100644 files/opencs/raster/ikony/MusicNote2-22.png delete mode 100644 files/opencs/raster/ikony/MusicNote2-32.png delete mode 100644 files/opencs/raster/ikony/MusicNote2-64.png delete mode 100644 files/opencs/raster/ikony/SpeechBubble-16.png delete mode 100644 files/opencs/raster/ikony/SpeechBubble-22.png delete mode 100644 files/opencs/raster/ikony/SpeechBubble-64.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleHand-16.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleHand-22.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleHand-64.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleJournal-16.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleJournal-22.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleJournal-64.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleLetterA-16.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleLetterA-22.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleLetterA-64.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleMask-16.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleMask-22.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleMask-64.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleNote-16.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleNote-22.png delete mode 100644 files/opencs/raster/ikony/SpeechBubbleNote-64.png delete mode 100644 files/opencs/scalable/referenceable-record/activator.png delete mode 100644 files/opencs/scalable/referenceable-record/apparatus.png delete mode 100644 files/opencs/scalable/referenceable-record/book.png delete mode 100644 files/opencs/scalable/referenceable-record/container.png delete mode 100644 files/opencs/scalable/referenceable-record/ingredient.png delete mode 100644 files/opencs/scalable/referenceable-record/light.png delete mode 100644 files/opencs/scalable/referenceable-record/miscellaneous.png delete mode 100644 files/opencs/scalable/referenceable-record/potion.png delete mode 100644 files/opencs/scalable/referenceable-record/random-item.png delete mode 100644 files/opencs/scalable/referenceable-record/repair.png delete mode 100644 files/opencs/scalable/referenceable-record/static.png delete mode 100644 files/opencs/scalable/referenceable-record/weapon.png delete mode 100644 files/opencs/scalable/status/added.png create mode 100644 files/opencs/scalable/status/base.svg delete mode 100644 files/opencs/scalable/status/modified.png delete mode 100644 files/opencs/scalable/status/removed.png diff --git a/files/opencs/raster/actinator.png b/files/opencs/raster/actinator.png deleted file mode 100644 index 0446af22cf7d4238e06d7682ab5ec86127b103c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2297 zcmZ{lX*ARi7sr2+b!?S2`22n@r05bxw9> z^a&3Bmx+@u2Id9;@G%8)gk@vqEIv0)41tP1iIu;TIOI)p00=$@0Fguh_{}UuE(3rc z2mq^20HB=-03u$wjn;5xgZ;jl34%$c9T+u5Fu~=8wDV!EKK$z}kN}Mw0O06FAq;FW zly$VLSNgD6cnjljqh$tyiWEP+dLoMS><*1|p{VYgzjG-~6k=+-Tw27pJha7ule}iJ zCjHo-@1Xm~92G#P9X3(>6-s7(vyD7E^(R zY|+H&S)R1roK?+@EQ}5zxj=k?*TJtLS8B4(0LhYFtdwhEGFBDkQ_??mI8^AuH!gID4Sc&3jLI6eP)tANo{PpG~ zaSm&o4Q=0&PfBZ$R67^YrGvI?xmQh7k17<5#{Iyk(x-J43&iRoQPZs6|=c~?~hpWO<)=%C!K4rHq0*w?(Z zOC7`(HWg9=q|J4gPT|rJLH50I$Zb{m>(J6qH** z;dZl6nk-)HhLtzN`6@^G<#C2L5n2$7PHJ~2W*Llvw0!=N3Xu)rCJ08YJdw$~&q&n8!U7?6S7tH0Um~iLog$FC%$~rzyzd zvfo@`qXO`LBSGVy1fHixQF0gKQWA`A32wqu($dlna2G#U{+w+3Gq%HBBl(zo13KOf z-l!a1;>{F0!(a^q%~^@37a&2P)2x5U9HHq{5;3eeD+()`F}UbtW=56ai4&d2AiepB z0wfp*>a=P(j4yAAP{>$tIkrk|l;De4)8qFz(Q@?cc)uh-_?hU{LPXkv(j{s%c6C{L zIR?AjlX|22uF3}(;Pc|wj0|D=?=wHA#-~&t4V8|3CJ3dl%myEZyjlBQ+g`Xb z;3p||IVMz>-}HQ`Lu6ZGDuU~^h_-l8o=9|iTO2|z%dF(v;cE+%hIucUFb$8ron7f$ z5~lHmP`>0ve|NWu@53V#4+Jkpka>lkP8py7A|4y%eg!h9Ua-cl?9l9-do5%mzS^bF z1C8d5eJqpnMK((!5^oJkOpf|*ZhD4Pgktlw2;QqSh?}%JPxWwN-IuMS|CB^n2h7Cp z_RnlIe0#S(-Smh4XGdaiY{)ABwbH{Mde5LDG*b*3jK=LyH9C*t;xzfVQ@FPv-tI1rlDjxq?EYBlwLw^!DnfrR@Cm1rW$W&R2uH zttxR3)!8%fUyoNlrYE|+g0B*SHCvnK(~IZ0>vcJ99R)9Pbk!=LWFw=BT^W2`26E3u z4GTb+=~JG;p}>3kGNR=`U*p);x$u7SzN{B|&UTv!R-76axHpn}NnkM0Q?fX+!N&7}ZvfUC4+I1RD7!v(^TA=g@XDUvE;$?Uv& diff --git a/files/opencs/raster/added.png b/files/opencs/raster/added.png index aff7e25d460be771eb1c93bf556bedce44a06f0f..ddd9c2108e92610ec92b88676e5e4c172e19944d 100644 GIT binary patch delta 566 zcmV-60?GZ}2ImAJiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPN3kf;^ z00}w)@MMxokwzzf0pv+UK~z|U?U%7?+fWpSzvEtNr#OTNLNFAP&7A^yflL{@BtxKm zjTVw6Q>I82O3-A=;PCxvkaM)NN;B0yDDL{i{HRhQDq?M5KvE7oMDp$-6$s*mSC0l~hlfQYmb+yDRo07*qoM6N<$ Ef`*;_F#rGn delta 815 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 diff --git a/files/opencs/raster/ikony/Journal-32.png b/files/opencs/raster/ikony/Journal-32.png deleted file mode 100644 index 6c24494166bb710bf1213dfc1eeaa3d788f04b31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1823 zcmV+)2jKXLP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000J#NklN%XY zlwK%z+R~O%3Z>jHB2b`QLg%FgM-i%(BcabIY=; zGbUs+iys$1?8BCg$+Q3e#5M@@lw=?NX~LJ^^Stl#zVCqnz<8fktGQPbt(kP?g<^9j zhfN(EHnwr-ZROD8;gFpghCGvUsxnGFSwWsFN+rDVNY!N7(^pD4Vch+9Na*@0K{w>XPB#Uu1als0ow5HRA7wb@=K=6&iB1 zxLjz*#ex)!Rl0yq#{s@iZfj*$rsSP~q++Jtl7I@Zh~z+#ip^ z*C!dIn-qVD3bgp9v$L{C)%H_6MUjO@U#(5(jlk4C%r!NZx_?Fzkz0U~ilPyU81f zRp9m5Q1r)y;x+Pi#>lZFT8<+f@Zs`8xQT$j9wgw;M;HDVd^-`a zHA;qRs~jUcf^cV;2r!DYAeCg`=CUPdDV1UDSUCFJ>9d@>Z3^sIEy4Cx5^U?1U~8uY zeeDu#X_H`6s{|X}67)7p(9o3TXW-jBFJp~ShCWhy>f8(OAp$m#XVR!1 z`kjJQt$JeIm4k{%HBO}&aMhU^FmMf7GN1Er&M<;=fAIBM9%hYdLR0{C?IHqB+VvPM z&Ip+Hwp?B)JB8CZ?=EBKbWY*x0trYV6}U!RQvoMZb-1+D5pdKzIlK=}N3F}r&MLbX zzBW8S1*m{4#p!~8<0^PDx98L0ug*unW#XC&IA)8(`TP{o zB}3=joz45;bj~}9S-`%RHJmYN`(RDWHq>xILvSo0sD+v9I@#|;WX{_X}sW^!mn><(3HyxY4`SgI^3h2hk&>2 zMnS+HgI4&eq4!*Dx7XQuAAG!zL2askcuODw$)p8GQw)ND-G*=+N{SPO)3mQhCauU;!0mRI7WXd)YKdfMAd z79rnEMzsD#)a9`Ag6GCcVTlp>D5U}hjghEImtt_O1YJc+-(hJ<;Nh}M(cxT#&Qb~5 zof6bII52CBl-~QXh;Z2D#{lo0;~x-~+`B%z*^-M=OP1-`cYPcMd=2TQVD$2ctkQ7hN*` z%1)hAcz+=g5GhgtlSX~7NTZz0v4mn}K8N}|4t2R4R^)J~&E{a$D`1NWo61xxCNrMC zbn@#^DJIiYp~AD1XNgoyrIX#^Ok`1FW>IWnNtReFHIPjh@$A3n{{gTu5zUmfks$y8 N002ovPDHLkV1f;@SNs3~ diff --git a/files/opencs/raster/ikony/Journal-64.png b/files/opencs/raster/ikony/Journal-64.png deleted file mode 100644 index 9bd90bdf0087db2d8d995c0ddcb9cb14e99bddac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3891 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 diff --git a/files/opencs/raster/ikony/LetterA-16.png b/files/opencs/raster/ikony/LetterA-16.png deleted file mode 100644 index dd060d2df71f1580a4e74a45dec66b29c96382e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 631 zcmV--0*L*IP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005zNkl(mq9$0l)xLkk7XK0d&PKkOp}_{X0^JLjTJpm|_h~3>N^SZi9TB=}-9(Lp`to z0R|m1)7<|{&-MH-=c9)am>34gM;gCX@YlZsb1oE{~No))JFYloX7l+BC7@**# zS0|rf3JSb)3J%%}6dbe`$lGfzP|#8NED4NG=}O!G^0rzifr)AW&}P|Y$2W4R<`3jj z%pS-knLUtAFnu5!XZk>@%lW_fLa+aFPTB{N0~2ll$j@?V=0D_p^fzD&Z8;C!N21Go z{>y|Kq68+~00n35Q}R*9KS8m8%>Y?H{Ym0LSBSMb{+IF6n}iYu;DAar{R9m0^SDwR zNR4!i$q(UK9{*+Sv|hvV2Lp&9@2h`8dX?{gc?ax?1!O2los5U>TVY_7ij~^@m$lJ6 z2oeKH{Fe_jcmWD9c{d%9$w2j}SzOjhI|3vw>#FlYI>6w8l)wH1Su0JjS^)2!PjCA} RWT5~6002ovPDHLkV1i}&4XpqG diff --git a/files/opencs/raster/ikony/LetterA-22.png b/files/opencs/raster/ikony/LetterA-22.png deleted file mode 100644 index 02f35f21cc4ce51977d9161a7fe4f6c4cd27d976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmV-h1El3<6!Gi@s4=T2W6hRh&Qu@R0&N#b3Bic&&`I5~{X1{s!zBg}X z5Tz8-3E_IfJ+<}qkKa!xpGzmHOc2aq#CIX4+=4VCEnwQ1@1a)fzVNR`^bRN zhTKJkET9c}05ZLKB*4P8IybpeV26+dRG~m?%telly6VF-mPij+c|eZ?abUnovsI5) zr2azz3!U}Va5B3LUi}nNFgigQYtUn$4r8UZp$BHXCiRk<93Cyj-vWg`ZtRyPhtgy- z5trF>AYhddEj2cxQ8A9ZtKGh5-T~I1QRN`V4FD0j>p;NtOs)Bz%vPX%iDd8U1Mc1Ox+X_s9#aRp_XRAp*SblQ&CU%k z%=w;A4D5_E=BsEfI)>PSn)NI?7n979K4WGvHVJ4}#*=^k9m99aX9qu6_hgJhaxZaa^GMtj zlY**WR1xu)bxjVr!elAEc&g{Wj8%(~OSV~xkPg3GtW3BeNtCp?mgAkpc`CT!QD7!8 zGIb&)V^VAOkg6OLTKL0asV=6NGRmsbtS6Uem6x{yRLF{3P~URBhyKbY)P}z z4Lo;4w(A=?c3{0sm9002ovPDHLkV1kr>f$#tT diff --git a/files/opencs/raster/ikony/LetterA-32.png b/files/opencs/raster/ikony/LetterA-32.png deleted file mode 100644 index 522bd42547f4c2c26917607a3df29d526e463173..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1414 zcmV;11$p|3P)<|81Vlv~* zl99~6FwVcW_=ky^kHnEIGc!)Mg=JA(bc3y7?dn=5oxLO`3 z={-I7o_o&c{Lb(9J-HyU%1g2AT2XRx4wvw;p5c`6plnC1U_o zn{&?DR;yC9Y+|hYYdY5*AjgzjXJ&F?!h{>F@aDP#6zy?!I9jXoZcUE@@CaKY*Jj=6 zXjnG@M3b!*rDkx?On~UaLQ_6Kmh9xZ09ad`4UV=Nn?E)M`HC#b0-&M*70`CkG1uM# z8rjL}#xnTni#uSGW#i@JEf8?kY|x@A=G2-3h$}Qz8=Y~1h1su$ABOIXgNCA05N0(X zigHx%w86ldUDCM(}m@M~S}aMdgc*hHo&OT$)^j;2ZQb%yOTsDu5_5C5K$L2M?zp z>7BVf?Dx+s4$vPy9QtvD%~z^Z+mK5G+MujjT?=55DX%YvzDvI*kydtO=_3pinCKlD z*r3v+tblca-1fSNM1z#RYSmbxN&@7Y_)_~6v-WmmqC)GpkQb1vq?%IwKWRDmGa5#~Vdj{)tC z{Ds{UeNFu^sr2+rra}-NQ#$b?Cx_Eqe1M2>-^mB??)@H--lhLD)??!$NcPx#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000b`Nklt<|1C43eWv_8`NjZz<*H)u^^!HmLNbh`n8B}q~PHn zw_@p)2PE+P=R`nb_#nNeo@f##UIEFP3(0*Ac=kWfA-tzX0?(f+0KeA&F1#gjihgS?9? zuk*YNo;#KYVN(>uG_7%>NSHVURL>d6ywHfPKRylL)1|oW)FLq1n}X+#=0Wu#b%tr$ z_M3_TYIR$L*HWybZr-tHYuYg>dZ3eyK2n9 zD-Ri=Y|nv^qLJR~NOS0iiy7Khk9|f7eD?W9@Gt+`=nw%d+#eEAMJh1$ybNCXQ4aXp zut6b1=g|4Uu>|A?Tu$q~3!A>*DkVIc`!CDhWLchN`_wO&Bk*JynCwl#D-Y&C`CcZ3 z1a;g0r2@n(zZU*aNx1LoCX`%U1)jiAeZMZVQ`fg^#(pD=Up1P8r%jQ9dIElNkV8wN z!xTUZj-L5vYq0U!7KEH$0--8okmUqZZwdyTn!ht_FsJ)&cy<(m$zJmO5O~G@Y^a`& zgOI9q*nHp+0w~cLS+=jcybkyNgGwLU`=t-x-LXXHf2gcsU0#O*qs29daK9Y z90|Pf+&y5Wj+MO8GP#iL_lo#d2C~lFWd`1Tj{)w~I`hSWEQi?reqetBsMIBOFUPv8 zkHPE2A_&G`OW#N&NF~wecQyXh9q?)|1d~1UybRv`{Y)r!B(sue_xZrC1h8!m|Hnk! z^W6rNUZ6hzuWYEfzVwYmf{?6fziqb>$)DGnfp@18>b{G5f>e#&=L7o^K--+~)74l@ z@(=1Php@!F^o>M-80j6(tzCemQEs+qSe46dq7}<>gw#8xD zzUty?G<@3v6_qbb7aM}!yGM7p7@?n*n}K&DH8B(7eeF6Q*pC3J^InGvux4NrB2Ux0 z`yoAqf`9}|yhZiCMfpT5(!aR#I?v1C-QG=ysxIt%K3QY8`M@p&NTshbWU#Pz1y)l0 z&*;c!@oJT)_`-nxIiHk4bFc_Z_NL(7s2sY#o&sUs?8BB2JKB5gLICUWXTFy$fj4yD z1@46ecI&e$R;l4>i~4encGz$d8fG9TDXfHc>?n26<<)}g3(B~+|y zOR;UAC&c)6-nKUvb34k+z`M4lf|(HMeZg9iO@GgJ0#dbIVW*bh-tQiQ|M4;ix&Bve z?bw8PwNcqT4@?E7o|nP9{v{R4#&GblzBbPXHW45c1|+a-U-oq~mVL7pN~+!DeY^DR ze4@HXvwtDf`wGEiZwlU(uFK5mJx6R+flUOkI`4TPA1lAzfQZg2@Z>d7?-Oq8mtwz9 zF}_XlWUQou;lR64HBjaGo9!4Z{o7U(z+}!>1P`X4t;h2Ib(nsL&RTX{VzSR?+1~%a zB6#e|0h7J#c?RC)wPd(H6$?Jv$ENwfY67Uvx6as^C4o=tS`HP-l&=cuX_^sFSTIS$AyUOtVRq?bJ3kOi27_P^e3yKKT(ay<5ie{yb|+{RU+c(5`-VA zK=`K>l;O(}`f(ZNkcAvBLGYmx1QF1nkBSj+uo%qqejgS=x4#H_wkK#!gY0=3ybJ9d z-J2r7&-b>f=U_xwr2y9CaL>o1rf)U!x@nqS@WMG7OPS{@zrGI&HmB1pZ%Z7G_PcD(VA z`K3g-5JCI`Z>#PH78Ahg{H%R>sHfz|c6i)6n$eRqHa8@rk-*3Jwlna)d-Kh}JJZU| z`NagN3_7dk1B(cdR#(*NC7-U7;$JvGxBMs{hpnt-QmE7!74>1zen?HxjugnAm%%%4 zPk_t%NN`a;7C&-p5do~npYe8v1U~WeWez`Dn5u#@{e_wDWMSsp21)j&;HS~_IgOGs z5n!=1EF*x{*G%@c7uUe!BbxaQx?gU6j>-Y@=W?;WEpBul(CjZ57W}kr@o=vR1sCaU zQ8-~+i?>>nZ8TgQH(oC{sA2&psvp5KHL%lr1^j{y@KTK`CiVj;HObFP*^x0 zjEewKPaE5n5ioSsV{uOt6!Z*_qb@b0kwRghRxS(}oJHFwS1N&~o@d~v(jnFPK}v=T zyvIEsjEewP=RNiqvGl_Ih&V>2&w;nPu~fn7eYzB{rhr|NWZBE$r_yjVl_p44jPJN} z)0hOXMuY~L!MM&lDE{w-&_<80B&w}$J;wq#*6UofPn}!CTzKrxmSX<5;HT17*|l*l zONQfGnT<&ROLXF!=@NK$v|wv%w!R+gi#qakRhqV+qw$!X%b4tC&ol5-X4_I+? zy~edN8>J>J=cT;3ITSm64JCbuc5~JQe(YNd7#dflJfKq3{uRSdY*xIqUREw zsAQ80#@rQ*NC3Ol@in1?u_u?J;(Rk^?#q?VRYJ7Sj%)g z^JSFzwe5?pJ5;(;_7y_C`fd~noZh=mm86k8uWZY}R4RpX%rn``o@d~vY}8{4t?ixG z5DAe)!o1mL)oYSKJwEd|J)v=iTM+?uTOka8ub05m7qT3Ruux5?eS3Tp>x^Jlrh0i*+3-F z0%tPWw3<0k#QOHD=6bbrA-C^P>U~Nl@dW|B>`^rKSPE-$H`k)Y_W>RkB8EZ{=*ynjhEKX)E+vB9%ajeaiMDdEONKWZD-@rf`sq9>kbJ%T#5= z?7m4toNp&@!|M8%9iBngOKa^MdlNvNU!O8l*R9N8rv2H{hb)bLGE3ETD`ZQde=|!a zOER%Ub+Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0007|NklLh<~0J_DVJ{Ue3$m`TfuDIq&-r03_T~Umlls$Rzt_R+*L>P5Gv+>Nwb% zl^8hfku0{jV`rOdV`n{e(txiwdS%ilLWAf&Dx_W%CA(HjQ;zscGzI=*rE|%k+_%J7 zF5qmt*uS3MhP6S*gEpB#ggNqKLSlq_Jc2Oq>SCVVUO3Gg44Lok?2L^wALhyNtU}1vb(-^_n z8H#dxh1U+jrQ{NF6{a72Kv_Y;+-CUwU4qeG3Mak5YqOIX>>ys4l-e(RKviLUJG-!V zqXJI#>0kuc^KhF8IcfuJF-<5F^z(2Itw)|Jb$}08zx5p_U6Nm~ZwpYoKLa{tI?h$7 z&|M`(PfZjCo1$Ts8&N3ehMjalA8-D{7(Rf#6lN!kPxcG(+$Vs3z4&mX2S$k#2P6&{ z#6{SXtb$IQ4-2h@WtZkn=-2*d4zl#J;6twv@~L@U&?y-1U5 zxX%|hfN5EDvfyZk5YNsNTt7yUM^A9t*}^&oFNf5_281?k#)P@%qL|fzdJ1-728k61 zm72wH6B%}tS)na6zA7^{DX5jFEa$2;o~_3DFEolSmlkJHo&W#<07*qoM6N<$f|Imk AQ~&?~ diff --git a/files/opencs/raster/ikony/Mask-22.png b/files/opencs/raster/ikony/Mask-22.png deleted file mode 100644 index e7b2310bad24afbbc1f47bd2e1bea4a9714af9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1200 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 A9{>OV diff --git a/files/opencs/raster/ikony/Mask-64.png b/files/opencs/raster/ikony/Mask-64.png deleted file mode 100644 index 13dfe5f8f7c5501f2014b20be937df9c7fc34573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4461 zcmV-z5t8nSP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000o&Nkl>~C6;^y z3znGoo_&0VX9lJs;2-C)4Kwq5*V=2pYwaxoK;Fhe=@u!^WTODZ7M)YlqiLLuCJaU#QkITIJhMh9}W5m zi@M)Ns&FYH9AtH=-XVEyDMXtH5HGcyLcz;t3UU2ABh>zyin{BCtN_Uv=d>H2_}{~( z3hE6cM48%4=f3F@>r|*K1u@Qrd!k;-O6C^S^>%?8)15(NlihHS@q<6 zld8#iCRIZ-%qzGj-Mr#``lP*na#PJK3bM`4hJ*h!;x5+5|B1yO*V(K%g~9xd zh%qciT&L`pk+uoX`Z>h^73UOD73V1Bo>)f-_ry4cb5E2_Qhk(7V!gyB>Y1!#^2<=8 z9K;AFp&v5?K{n#&Y6X~DU{dvObt3+~w-B%XT!4S7hvMZQX?R(cisv_@P=Cc4^_QIR z^r9o4TV-AY4L z?&MdsVJsmHqr{QJIYP_gfj~92>;Q5`^cz$~&o>ebH zef1L5-zvkCsu>)7-IW~Fo(;i+6Wvi$$>8qy1h)?oCHUX>5Nuz>U@-GJ7kNeaG2}Q3 z$x)0ZM^HcxV{E&hFxC1LX4{{|eAkPZ>wE!=y{@9n{WACG51lSxj>9?3>~aRvJO6@d z)+aH^{1}Q1D;wZHFxZ8h|Jj6y&M}$=cvYRr!9Tx5@a$KD`U?b4&l5a3OYry%!J}UY z>P`{-eUhN|1i@d&+2oAb4K^FOx6(Cx@08>VqRB@4K)4sLgfBS|Npo~E_v%Vqi8%MsS;WJ4&q}l|Kuld%D zJcYlxi(u;lD!@8!&9?>o0P+bdK$Q9npw*rhycfSEw_4iE;cx6D_q#P`s@8#wA!nJzq*xR%ZF5e)!bIs z7VxQLsTKi7m{d{t`fG75w$-VFzw#Bq=28X&m{n~CpF)-(Oj8CF4`&5n;h$cOY4$$9 zsiY&uBsyc=I0tBgzr2Ou%Q*}(n3XNM&(p0=am~}Tr;(@d$z%~LK!o}wQ2c>O6@`Ct zC0cKjb7?ydGUs4q3d%9k;2;JFR-tdVSX3-;4_ff(nx|<`BTwNkeaQ+in?XABv69J2 z6qF*Dw^b*T)1N;NN&LADCPy25e^Lfh16-{1_hV;T0O2(YzlK z*)1BUH}aamU))5nX%-b=xst<6VHU&7Iutp)%^DpZh3{$OfjDLw=kRoaPa^YK0VJ9Q zpzx0_$@H?fW0IVkbairXKZL&pA4t5FB2VFe{es|&nN)yfO7=F}U>!0;oZ#=^i6my8 zN_!h4D2B|%8_^!Fdch}=xvT);>IKNlGOMQWkFO2V%iD)_i%^Pu}*5|#~{=$6yxF?aCjks%sy1- z$W!=4Qi{M%!OzrogA<0DRMD39@wH((H#Q%SvS-)*YLzXm+}_fDerlqJ68!lMtN_y) zq%upIG&bSZNvK%N!-^C!_;TMD0Zk(d)kF-X?5-DGW!H`@P)i1NHQx%vRfoFdIzGvs|?ZRdC24K=l1!; z_oQ6f)5uf!bL$B{FJVB}eB-VzmA?e}5iT73(PixO5y6oqqyheiGJ@pZE=V$%-{9~X zS9?|P{m3kY*#`WjHUrXPM92O**@f%pb!};Br5_+z37Kmj9QvreQnf#@s6G1i@jq7!H>4RKo9>%|ozNwBGRXWCjAedRD6yAScAGKQ@UGw7-9nrI+AJ!EcbCIX;XVws`pUNPaDN|YPllf)H z4s>f0`N{=wq>6{fh^@Dl!Tg!kyVQLO;<;9~a*27g}~h?*mvn#}N868_X`f;GidfVo=7 zSh|`V#cEFro;>YoFj;c1VeUypUeu-wPAWo2be7lPxpB$ zKq6DBafa7Y@X@3g-bPVqe7?}+WGHWd+5P)J_r|>wKHTWKwcvkV$qF!$K>{;J?EteS z;iJd|_*w_PY<#%VM1X=U)60Jz>xuiPLR%G{nw(F^Gn~UyHN9W;PjJw+4J984Ld|?n)j&uQes z;?^O%R)eSB{u5RJefxQBTb(L+85s?4QNSxzr^_k@$cnSLNa61u^-?*>dDF8@-Y+@}kQgCKSvEn4KTihZ+KzS&Gdxw1-@n*^>*}`7 z;dAy@S9t2}7mpCIJ^c{Q-p27u^lohA4o?%jl;oqgFb<*Jom5`EQF}#ZShCsu-w)cM z>VQp?NsheWQTRb|W?WadAYX{DXYo~5dsY2BZEO|~7of186-v`Pp|EdP#JYJv(k&2T zVJ;GQbD9h@^i6vTFClsGvGQ$VfaKYrR)DxL%gU?U+u`<4O(!|>mNqZN1V66eVebM1 zy&_NHE9Ma#noIEghXe=b5FD6Iuzx1Oz8M5_2UtMr;)+1Ccy5f_KOEx~9E6@`~^~#Y`W8DM7SN+z4Kz10NYhe?EA z7iX1wzs?yzUq}^9jA%1X3qwNO;55!h0Kw{|&b9q0^mXtxG_jF44i3m0z=mnOAnU zZ|LXM9a3?v3b33hD-L&M+@a^o61cTX1=ksss?P=tFEdAls(S_URJ&eM* zf=A(lcv*0_ael1NonoCcfWB#Anz2nxkf^qD`Tyd?DxS(i3&m=`tAxkd+aR+<#2HM- zo5Cxud4DDap}ZXQGzn^eckAHxPiBy@O{)n&-#ERkhV`}z7#L-C zU-867*L{BdXalyYcR*&KEn>WF5&X_Ty&N80^S*+9Z0d_aw>k>%W##pjO)-`L!@ReFxZSd6L%^%2c$5o97nA%JZ-RfLz zdOX#|=xF=?dhG(5-b~iVva%#o$o2EOz*BEOFN;A4GgxPDPq#WRVWeLBe47bCKPVoj&2fJoqG6n+@Apyl`W9aTsy;;QX}M{z)VP-R^Ky9F)s?0( z2xKypx;koaJw<(9_37%Qbd{wgVBeYm^n;^(EnGu-S)Iv`Hso5`&3Oc~QyBy>Xj0g5nEZ&8ZWOLV;`R)|^2uLbZC#=_gitxnVQwzULl za{(H53lGaFo=%-=T{=6y2(Wi-lm92IO2q#M{L)3+m6ayu00000NkvXXu0mjfT%xs) diff --git a/files/opencs/raster/ikony/MusicNote-16.png b/files/opencs/raster/ikony/MusicNote-16.png deleted file mode 100644 index f43c6eeefe4e9fa593f3402c93c5908fb99dafbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QK$!8;-MT+OL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fyQQex;Tbd_$UAP|KFZjFK5lO%X9PU-t1rM_JrM)m6b8)RY4Y;rdiI6zBB~l1kmv1cw8-ZoOpEde}`WaH?DebYTbK=olR?Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006ANklp?s2C|_8Q5Y14hvE)93@`4aA~*yudh_I|C%q^h zyp_$%*F0f`GS{td$>BYOB%ger=XvuE0T}9cUG~?$SEFx{P%AB-<1U@|Uf(Do)7EpW zrP`>+J|n3vyz>m6GN0o9$RDgEexYdXv?EfX(FALRt7o zfRk|SWCc#QgemcLeI0kB-(brX7xrv;*R+SIhrc2&m%W9@{SUAh`hu7=?=5`Qzk*ue z6Qa_bx9}Bp8Mn<3h=|3(VcL^1d49{;TDw6p*P!cBWeFAI4Z`BgU~pKP+8a|gx-*LVDb}eFr892jlKVR+DS@iM%aMPr<+W_H1#+x zm5;jz)s1F_ZG`yJkUxd>AGfyZ>m^iS->QPpH zhEDmEv|qF*d~()uI-hFz`S`BJB^&*e-(AT+-#+i!MJye000000NkvXXu0mjfXQ46R diff --git a/files/opencs/raster/ikony/MusicNote-64.png b/files/opencs/raster/ikony/MusicNote-64.png deleted file mode 100644 index 0f8115b9cfdc6ce479661856e80106781694368b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2340 zcmV+<3ETFGP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000P+NklvT+24hrMY%~n4e&V`F_6N_j%vvxi1d^z(Znq8K|5)jh0uS zC-r*>I&VOsZr_YWS<=7U-%S+aZOZbVfNc<7JPL5(G{9@m{Q$?i?m@F{7%X)0vO*9A z05e_4?D2fhif6jNgWc|Fc-%h?hx}hdiT=0XR8`FF9!rsB)~+w8Fc>K z$!~eiqxj9v&!OFM8!|QRGe#=kB{T%l0KnM4{LDAu*hh+g*zqZ}Sg(Rz=^c|wBtH`p zf=B=qFu3MlJaLa*^Y@Dn+HXOd{U+3#UIm>Z{f>|jL<0Z|-Wg_QPVt*;pFpd16zYuU z!9eAYWox$nT!vd?cd;m@6i(saT?^@|qF>j9| z0g%sN?4LdMHCyoJ6TiU{g7xMr&}<%oLhV7&D>6s5@?_6a(;ylESndDvE>*!hTG|n29PpV^S1)qk$n30C@~LfAYu_FZN`e-_6o=-VK=FhDhf*@oSC4 z;5WVnYYcYm$Eh6!EYLbxx_al{T1qy2B1!V0cv%xLyhiLs7^c&9?c=p%2JuR zQXvumxeOM(KRxlUuy`zZ>FP~4xG%1ir+Ca%$&iDtnkv>FhO)%tVdqi&s>BmelyC$x zRa=2LKVepsgp%Yr14g+!IN!D@8UW}#bLgM!R>xKQbaiVOK%|2vs>o}ntGadabmqrb z8e>uv^%@m!FA*zw;A((@%4IP2PaXI&EFRZ;Q0XYmhf9$b;u=_k$ z@Y2*R@c|%7k;7o@pWOEauiCFrZHN~D*$g^=c+cnILk?E^RMq-Fl06yiHNAjTZnJ40d&oZW&{{If!@HA{l7l7^^dIogHJLc%Swq0-!ct0IXnehPT=O zVOV^n_60K9iX#B%{KJhOu+F3S)d^<^fSLy{0XTppPi%V0DEg99SwD^~Ep~Nyu6NKi z<5sFXWK?+0*eGuSH?B&Qr!pA(w)(4K@f8WrgH2KW-~h1GUY&(59dasbrhNL-(3W!r zwpLt&j`FLpx$J#tFTD)Gk`dUDI}CN!e#lkt0=+!@woy^oivZC1jWr?Gc@$r+d5!?6 zdN2T(C{G`8c`{)C8}!tU!eiS$Wg8nj+wbsShfd#BR(!B*1hx>79gWu@Sa}&5lLsJQ zy%*Fn%M`|bL)H6X@vAhaz^d?xAAprE8!FTN9=a+%f&*Qju`TV+bsxi~yb)ewbN@q& z2HP93&ixiN7Y~EiaGG_#x$+9@Jc=(Zhc%_|vd*LU64eQ?$XAOK04a9f{DfW8zo`2-EdKrnl?yo^DV~e{D($JT z_+sTB34jW50w9l}C)#tbvEp}=(Y+AjBb`U_Matt~mY0hUfRS?dl4eoCAG>`GrKm=j{FJ?`_7&*zsC``MgF@rCp;Fv-fql>j{Dxm1BkEO@;g zx1h;7JnvQ)+1Sjs=I0adp?*gIl!^-gxrX8`PCNp8f;XY7_QPcr@1_om4*x zmObIMx!>arFz>&a!R_-)aUR7NDEh!CD-l-$^kjI+O>fs{4D$wlPI6*(K2y3Ew33V|A+N;?c2Sbt$J4p!=9xg=5Y#(f=gsgI zI@>QM_9#A0`Ur`C%Cg5Fp+ubkd=uWlEKhtI0xK`_W_Ut4pCNq|bdtPDjU-hUYrGfp z{v`pxXp({EM3wm*JIN8sc@%Gx_(3hP_bukj3-LQk0)T&*TtIf&sOp(Y%UP%(Q{aUf zoB66e#va8dOWH{Elm92t=in_F0J|e7>Q`Mo5!)LgXPQP1XYr={nF$3MRFZ^bjd_ zJwl3E%4Z1*Ao2^~y?wnjuUjp(GAevYtc*tD>?8a8Pv-V)fc^u1MIuTaW2Dvq0000< KMNUMnLSTY6KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3GC?X<}@U5p+5=B%JBvB7i36a8NN@4Ax2Wyo=l$u>(wiaH>t=;eY z&gsE1ZB6Su9r*bF&N=_@??8z?#YOMMMu>!LKL4jB<_AEiHz);9}$A+Ax0P=^| zU+r#zA^~C>iUkzeQ2CxnK(WAhdVEVs05c({EM!$`abjMeSb$i7SVF@(FcV4xK=_i4 zBGCB$tYH}6ir-DsEPp%TjWAXK01RS@aBJ(sP$)EA{2GtPgKwS=MwkiON+%F2tX9Ml zjFkW&5X*l6)RG6?SGo@m+@Cmy%*L%h<;>L7dKk(r zKrA*ds3cPS>JLF8k*FMw#hL-=L(!;N*kJJ9r_-DC=M>HC(pEb>zD#Ms*YHE7!@puX@9@rngmHDvan3KH)@mGwbdLCTdjsGdjvb4^Q t3!Qbr#)-P%zK?B(j`YUk@c;n)9sqKTm5v4c+!X)-002ovPDHLkV1oQb&B_1( diff --git a/files/opencs/raster/ikony/MusicNote2-22.png b/files/opencs/raster/ikony/MusicNote2-22.png deleted file mode 100644 index 577e5623063d578900639ad1b3e1d3a3c3007558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1201 zcmV;i1Wx;jP)KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3GhubkVPfF1P0YZKKLL(5mEM15790x$a+}(D!4qVRtIOliI{oUWa0Nh1ygVQZb~`5q0s|2Tfg7F}I1F#jani|I zF5k0d1D;b0wpKU~+Bxaqlz`!NaAKBzB4w-#6Q8EGh}nRN$eNG=G}BlI5l2>FfKmWh zhKg!H=^*6EaXJOLt zB9H0SCF0K{6`3nm6lIC3sucj{yb~v4mO{bhV5DJ=T~-U6akiW`fxux?-Yu^8NcODH)LOBkC`FC+oiA6!8~rZ3 zyu%m zX(p%g7+Orw)Ht%7P+Ybq@_ONym{^by=MmKGDt`t5s;X8N3ND8cV>GrPFY!keVqLTU z`qy8t{z5|n;n?6z>)}I}l1xMyY2c)TC7U(gm}6jw$Hb=Qrl+3Ta9}$2kef-IbZBe_ zlk)>#&h+l9^Z9%;0O0j{!*gs>%|RP#cKDtP=B12`j8r|m|D;WsidKtu($-fMKRbEq z#I3TjvWQh`7tUX7e=(RCa0siDoSJkPo6I5<9T*Du1^lB$A`zjp{doWMXz_`qSeFDg zD*cYp=(%ex2O1h09^rp&czC#W_s*sVes`_xb8nmIXghW@6bh|1*MAQHRjcjq0Vw2G P00000NkvXXu0mjfKLZ*U+=)p!fv7f#TG` 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 diff --git a/files/opencs/raster/ikony/SpeechBubble-16.png b/files/opencs/raster/ikony/SpeechBubble-16.png deleted file mode 100644 index 131c5ddc275a7090f2ba6e28acaef9ad17beb63e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00062NkltI>-8%Ju(V}Vpot^AYadC0!!VCc$psArgd-v}3|6jej zg;n$I+o%8Eym|8fwQI-zU%GVYe|~<(SD6H6ga?O&IZ|h_3BZ0fFU~@WHU%}UtjZoU`)6%027aRa&qiTQZz4L zKI^}_n(BOTG=d0iZOvJrct*DQ!i59>vDw_&QTJb2NpU(b@v*@TP*jlbfoZ;Y@zDP{ zb0+-XxN*t<0|z$#-??+u|Ah;u{I4j_|7&4xx(n!RM~tKlOiXEe_pS%~xvj0{4<8?2 z5Kt@%i1UFs3&{5ZCK_R6jVMVO7!Jaj8A00000NkvXXu0mjf)($Pm diff --git a/files/opencs/raster/ikony/SpeechBubble-22.png b/files/opencs/raster/ikony/SpeechBubble-22.png deleted file mode 100644 index 7b8b5a770ed8be3b05258d1030a9f531b7760e1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 885 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 N002ovPDHLkV1iuLpnm`W diff --git a/files/opencs/raster/ikony/SpeechBubbleHand-16.png b/files/opencs/raster/ikony/SpeechBubbleHand-16.png deleted file mode 100644 index aa7a96863b3add616b0adc070387a606642966d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmV-T1G4;yP)N2bPDNB8 zb~7$DE-^4L^m3s900PNLL_t(IPo0u&NK;`H$8Tc$AYx0+urFniFNq(bqCNy#VW6Of zL#O3Lr!95b)TT}|1(%ka^NsmBDHB7J%vNf1vV2)i9Zu)W+0+Cv#DuUfezN-a+`)z- zMReit+B=;` zzHY{xNel741k~Q=qF2s`OvpxlQW#ofA{Y!BD@>mn%_|)9^em;Ml9KN>cx`PCCgTX| zijtsi62Q=&g~ozdDDtDxD9MFhueQSUIWeI^Xh^V*lFOw#bY&V|U7aNZdxH5Kn44a{{v-pcPcx7c8s@~^N$xRV5}knlH7zna7RZoe7sLTwR^$e->;d5 z7Z%2?0;+eNsD6-)Dq%Frvt!VvklHJkKQ6+llU@zPdp$_jtDxVS`;+)WY!5^3Z+l$geC zA81REIk=^!aJP)cVR|*wf4um&ABUMtmP{u86%igX`CkGwN2bPDNB8 zb~7$DE-^4L^m3s900b&YL_t(YOO2IlOw(5whdW>_WQ>%QMIf75vP_4{E-Y&#)65A4 z#BwQ=0Hxeosii<^osA60j278M$Hl=Q5=0^{8v{4R4G@%D3l=Chxu+4vBwW1kWgoW8 z@Z0~K<=?=-(0**rdHTG+_q=a8oGm_%j*gygZf=U8K>r_fCo?7s3eK#Sm0no8RPyyd zdVTg|rBY`0_2pl7adC;Tx3_y+(@8j+>a7>BH32eN0aFqNSxCeuqCDV#IcCfHTm53k7HYe)7aZ zq07tDP$`lqv?4DZs(2Ar3`J1Ig<_;W7doxV3LPIe;=zM%^!2qOG9u&;5+j8>I5_as z8ONWkhb}HoLYtb5>qVdA+Qm$2y3|pCREZGtO{Z~En@UYt=*UPXhKD=Q)6)ds{U3KR zvAo3D`Q{s0v$MliQvzLB7>7DVLZLP18DqwDp*0Vwu}3l6m<^xzyb&c7psno&Sm@y3 zJq!%Ap}P88aJk$lj!Y&su;sJRM~}uJmqbwL)%;YesWRpWEH`uz2@aw>D;l-671Wf4 z_V>5KWNHDQ|Iuv@c}gVH_0akGQKZXbDD;Y6VKqG-9fXQ(3AEB+lWk+)i9do0un9jcH*8ZOvmN}%oSzrgF=T{Rq6SFZTZod#;kPE`F*)u=q3 zY%PD{dK%({ho~um4wObCDJGmYiY>ppyAfSow{Yr|`Y$IZr+xG-fAGHd&n8nV9aAz< zX7fG7hY4t=1WGbZiSV;R^~VBmHdng|T3UJ@ZaiLwb^4eG?WEPH{v^=pX%l_?@^~@6 z*GnmMy=i~32;!suo1le-dU$$zoZGZ7PH0uDER;;t*q8wcQU5iHEuTQ|UkrgVQB1o} z%5S_?i{vE9GgmHGvgHy|D3a#cF(uH^(Jmy$ig33umS)OAFRKMOp-Mz$Wf2k*Vpcpo zJkF7|@WRy@6zJE%ni6PTT@`k}{Z^%q_nwJEzCMdV2l=a?@O>8fA9~Muc(~`k#w;!- z!k4$*#mr9q(rEmRnvyY%5D6!?y=2P)X5GEc#PO7!{e64AuGn(VrZdb|5;5IfGn?;X z_pW!ov+0tphnPr|B_;W52M+9Sw)Kw9=Xg9`0y8u#%pc|U&3OU!U$#Djw~Z_s@&Et; M07*qoM6N<$f^Qcvv;Y7A diff --git a/files/opencs/raster/ikony/SpeechBubbleHand-64.png b/files/opencs/raster/ikony/SpeechBubbleHand-64.png deleted file mode 100644 index 62e4757973bd3093e92dcb29b3b0f344f4e4aa93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4800 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 a!2bbJ-W=X7b**9m0000N2bPDNB8 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 diff --git a/files/opencs/raster/ikony/SpeechBubbleLetterA-16.png b/files/opencs/raster/ikony/SpeechBubbleLetterA-16.png deleted file mode 100644 index d6b486bc6576c9934d419506779babf58ff8c9a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 839 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 LNkvXXu0mjfeXx^x diff --git a/files/opencs/raster/ikony/SpeechBubbleMask-22.png b/files/opencs/raster/ikony/SpeechBubbleMask-22.png deleted file mode 100644 index d0bd2b9cf13769227426e41a9b8394e74d21681a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1288 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 P00000NkvXXu0mjfzLG|? diff --git a/files/opencs/raster/ikony/SpeechBubbleNote-16.png b/files/opencs/raster/ikony/SpeechBubbleNote-16.png deleted file mode 100644 index 0953867493ade4f76de20a589bb2578181ee6dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 810 zcmV+_1J(SAP)N2bPDNB8 zb~7$DE-^4L^m3s900O2-L_t(IPo0u|NK;W5#&2T#L&TPvVgHmL&FLCTQ!=pph!u`> z;YUIyl!j=oreUclN=c?p#mF)?p%g(9QpC#CR;D$tE1loADWVu+LKuX9Sv{R|U}Gjl zbm71~=icA@JnwT}jXWgoi!5tV;h>Qj)ikpP#*+axQ67EEegUot@Vmr0h5z&Ar}`jcz9S3y}k{5JUwr5n#!AB?R%y$?O7?ky9uVsk)k{X8;w2S`4><` z%MDyzoo2%t7|*{#a!?yoA!eMCRAFXjkSSYjAM?$&!3M)~#K*;$xT`r?7OQOv)1EVf zCrDrw4CeWlQ2I9@R;)vW?{%h3;emlpNTmUfIdTJ)X0wsmPB?ml1xCY)3Q(b|>j{IE zevc3%(&3~}tqrcJDFwNS6C4?y-DznlpXcU2KwGcH#h^i)KiCgVc{!eTwlZZ3D}3)k z?yX_UEiGF3iS|FV&4NVYucc|zo~NeXG25e~eJrrzqC%!j;lhFfRFoIP$J?u(44=SO zz-!;$Dl0rT){lmUT6A)Tn{Wo1R* zU0ht^$k|!4)MQ;Edj%O9w=JOcfaKtonUT6iZIi1R`Qwj&`><0ejIXXP{i%$N9{R5W o6!P%cl^T2~aE%1C{a=gx0N2bPDNB8 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 diff --git a/files/opencs/raster/modified.png b/files/opencs/raster/modified.png index d15ad827c370151b4228b856ae66f209482b5612..39bd182ac234e6e93c86ff489dbaa2ddfe495271 100644 GIT binary patch delta 1277 zcmVo^U0Tw@5^IYVk0_-afTe$b+eM^59zRB0=(bqEX06r; zw$VjIVpdIj3eco=3Sh+JE8Yl<29^UJt;_Y;y^nz2eHL)0AkQZSc|HNo=&_ii5Kjc0 zz#~BRmJJKovS9&0wjOid(+B_xm;fB}c~YgfVY~D;Y!{y=Re)o9PTk80BmlX<^wPCO zn5Kbg8kDYoEdrRX=MrLZ7%Krcu-Qs-I@Yh6dt-3@s<~K6P6u{My6-9hbyG|r6Ii&m zWDf2W*G*O_F4mOH23QDWDy7Wuq7nUz2-?sAnAjl<>%f0E@Rq}2tf>9vU9$XXgB;a2 zTp?%9`}FsR_5&XSZ9pH;8$tVkkcfz>lu8CNu+wONvfkxHJvI&)10(}3z${*pe+xK3 zmOqW+CHYj>oLm7s2Xq2K;4*L#XavpyXMtLvMJd&)fR#WMkQjEBlAMS)!;No3D&CA# zycur19yi{MRAv=qGJafg#BjD=407~%J?ER-Y;9`0@!i;bjjrzAf#w~+s|rX5HUisn zCXF?Jf2iKXMDLi00Cy^9&t2w;7k5%ycc~xv0NCLGdVoKGmMd+Y^AG>@xB1MI`J`Bh z!#ayqS}y#@velpR*Xh>lz&k)Ca3y>Q4Il-08u%pBmu4OM@-+h4_uUon+PX_T{=!b` z{=M7*lmQ2UYa$X-;eJ48f(0xBs>Y@zrGK}7Zv!)?O}r!U6Q|CzxMUX>E(Naw>wv>R zP{LR1z=lMVZ~?P{Jyw#_`}JpQc&sQ87x<4yPV?+5RRr66nt|28&p@XP03CD@i7lPl zu(-XW=k!ynDmn1YZ!v>c*PLW=$u5HJJ+(kFaAYVr42i&?38kDs9#HK{Ovq~g=OYY% zW5kOMfKW)VvbWOJ-CGB&0Dc#do=CP)uVTHR6=;88s^_-B0SrTt8}I;J1)8IQ4@*Fw z2Pfd2`B3IW;9XZ)aliH4>&R=&Q6xyve;vvfNzZQ4s?%e6r^xd9KZ z#02yvTttzP2;>&z`EMM+j?U|B`|w)=h2`u!c)UYIszhY(7hnC_6(}sHyy6huJ$At{ zO@nE&8VAYO0XWcdV2N8E(O@=QY@&O~)?Tg~0bfU#2gAP4-v5 zEYiF~-dIy4*qM++lwL6!0TY-HNZGo1GCkifKnOSiECa>^2?NL`V80KZ2mS=)(OKD2 zwr*Z{-7LTn3jqsw4-l=5Kq+>!;*7K#O(YSR1iTGg7_k0LV00`5#sCL&_$q(^ki=~~ zJoLG;fct^n*j>?Xz#Yjx;#I6flyU(}fm1*WcJ+$s^{ZdcZXLDBK#hoW-C`GofPsAu n`a~oY3-Ay>3Ogc>Xukdj24eh7|BsEn00000NkvXXu0mjfwlhGT delta 2113 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 delta 1733 zcmV;$20HoU3G59aiBL{Q4GJ0x0000DNk~Le0000m0000m2nGNE09OL}hmj!~3k}x* z01ejxLMWSfkwzzf25Ct|K~!jg<(f@wR8!|6pi2eqMl@0o z48(PJC28wMfHXoc6l7_fB75 z-+S}kOj{P-q-i>xIrslN_q==0J!cFd1Yw6^7zThS=ffU<_R6(og#Dah7!jaK{S<&{ zA;ff9lS@ZbD_c`QAuLEJ0K+h<025dSM1ef;Ct!tzP>!er9#Ow@z+K>87+Zk>l=xbp z0Z0K)0hfUvfa}0y(214!81MwptZZh0pMY^77Z^eaQSt}5#4%tk@D6YX5WpY6TS`O> zhy<_|0qT{119kzwD_g$-dz5qPgV+*6lm<}Zqre(qA8-#4anlrP;vBG7K}7u~R^lI0 zB6k53fT*jfvD?}m1|q2E*8p#8@vW(pxZTquT9Qfo#JkkQt}9{ld`gL&0K{_*4dUjZ zLt;Zylik)H<&b(*n1=>%gv~y?_{qLLA^Q8pL~pNu6Joc5odx0L`E`ke_~-CpA^Q78 z?#K~0h>|Pe`ViY5*aYwzZ~&-nO{Msvy&bcp$Zs74?&jGNBZ&c#>D;AAU;8^KqnA;zOj*!&Q4$PJ`nFASK>O5*ARvf zLLV$T=C>2V^CciG^|Bd8ybnYgIEh?|ybwZvMAUmDz*6Ml@@Bc>0pg~~*^Ulcl1Y%^ zXugn4h87PHU9yBzJ9e<4sR`s6qtA$?$Q%j{ptsD`!1B0hGThb{TD%)XOESqwM@MM! zc8Jf~+Ni6k0a&3l)&UVirLh=>u>^PwcosMYtY}FlIor`eyv&I~hLZ*=cif$vflN2v04@Tzgb)S20{;Sk0hfRyK>k7|!=}N(qKI-v+%zi|zwy{HEj|Z)2#hMN zQ=mdf<=}bXCU6EgG+z*vivRxFH7$NW@D*|wvV`r32S9C0Iph<568XgE9t6aMWzjlY zd>RM@|^8YjR#+ZVuP7-gv}Zv?6~_yVXTFAh8oYyi4{0CPT0 zX+2zWr!L?{WW~Z%8o~oON*|k%+gWTr#p~gKh#@zPEy(P+)(^tY#Vt&bC6$vzq6J_+wd?} zp-_?d3z-a+rX5zHK-=)J{`@WAXJnak%3hV2Mqbk{14jXCWOS5mLqnl|AzaETW#>*- zp}@AGAx1_=QKCNrepFfuFmt7xR+EhZp94MRK)4jPjshQ3Mi%QL{sUxTYaCS*0{7Bl z9dgfo9a&O0D=aNe11}-Zlt8J7i+Ej?y8&cfON$POD6&4fJqUzHaaZ4AtB~8XF7En5 zczFH<9u;c8@_L|^a1q~sjqMJLOpEK8eY(3sxQKrr_!1Y-7e|Q(M;v$t84i>9H#oA$ zGh|MyiJ1mRGqOCG1w>0SDJFV*h3M}WlYM=nHI>q~^2lDC?$UU-tpc=|;=t3$uqZ+} zT1;7BC$hHc*J9ETd(~=*mSj@g?&)!g--qnz b*VcbxKi86U^taRu00000NkvXXu0mjfXUG~7 diff --git a/files/opencs/scalable/referenceable-record/activator.png b/files/opencs/scalable/referenceable-record/activator.png deleted file mode 100644 index 38306be9e287ff2552bee65d8181e73e770d6b95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2297 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 NpsdiyY739J{{rAiJ1qbJ diff --git a/files/opencs/scalable/referenceable-record/apparatus.png b/files/opencs/scalable/referenceable-record/apparatus.png deleted file mode 100644 index b13982d091fabdfdd498577752844e8342e9c32a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1864 zcmZ{ldpr~R8^^!1VQy>PFv4<(xixl<3-qD^@^p7nQPfZb0I0Y) zlgLt{_Yy8At0$&=XXQmEcH$clrWdBxm-ejqrN-2|K)*t4U%DD zk)nRKo~L~lny{FS46}flu-19L#*F(VS&0wOgc!t+Y4_f;MHsG#4^oAAyGf_Q70Y8TeWd5{a$194nDe&a5mE9s;0 zHFVx2QXGwCP4x@Oc|?a>>!Hf2tnrdB4{qqEH>iGOG8eb2z2>S#qW% zwecIZgJu_ZUSBjYX!s{Vux@8j&hT9?m-nEryAtT5XW z>UPw%?c;RF%;&5hZQ_oo`1pRItJoj*QsfQ3r8v4M=)=&k5>zg{2;Ql#j-k07WU7{) z4rpJ91orcqt&Nmud#j|zs15PimL$nBTXx>!H+4e{v)}-cHJq$V8YC)00+dTo8|M)o z^?(tNc$3-ZUdk!RZqvFWrey9B2sR_C7h=*>%eSD}n z1j}MavkK-R8NV@RmTn1_G<>!FKpX0y`9duZg3z)1_s7n!nlS2P*@JCwLh`$(JU`Sc zjGQjZ>lS_qwTPS^)K!+r=;?tMP=!br1pxQ;xg9s3!-F(VOWp|UMhH<)Xf;R~;wyJS z)nq0a;DUxqolCv+^mXY%e!`a*4|yP0%jVc~N{Xz*r;)x&Z^I7Y;(Qd%&Umju#(2Kl zH@a5kk=9W3VqjqCX3b2&Gm=U)tp6$J^xQ zNe80>tD_BaRbO9MDg`D)_ETtP{P>-gSq=<8wrf%%i! zQ~j6Pak=YI@0x+zs)5XC#F;~tBVoN8hFkEAsO zoSnS8bRU=K2#!wKb)S#vYg32PO^seoWIMLEUo0fYS$NcWXhn4UwT;p*p|0up8{Nwn zG}UR!I8)Vd#&HOS4*(Y}U)d5uSY7+zg817B#T1>I;-ZLOPy%w%ly8sGI2BN54S8P)Gpq=^0 zrPrqbFzD)h0^(bYpS{rVH_;zz2E17Q=4>up{SKHnP+nNst%+CbXt3+>xUM(xGm`Hw zKVG9#Eo}`XvFul#u^5Ey-`%!*boNwixK-2OW(u$s*Xva+QwyYrLqF!Hb1^{yF~Qcf zs9-681=bvAiv7XV!qVIPgtdhHh`i+)?cS diff --git a/files/opencs/scalable/referenceable-record/book.png b/files/opencs/scalable/referenceable-record/book.png deleted file mode 100644 index 3afa9e8aae15c8d494e6e6e338890baffde4cec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1336 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UV>C6dj$D1FjT2AFf_Cwy$!fk$L9(CXhH%*b7CIvZ#mho_5UNW|f{VYxohp%Qg@@0TuhSh&R@ z>h6yffp$jhJZ;8>0Rc%DBDj-vyAL0kab}~B(f=8lN;792m~>R9Z^e!szMCiX9GRh` z{Q3Mp-C*J7-lPx-p57A-(J`4Tmo9z&_4wZ0e0z4iOrJZypU?X|XY%(w??2l-zsG&2 z|9^GC?7J2wCK0X)2`mgONjwZf&l4CJPoF-Wtt>z9@87)2*0VBpb)|n^oq2L)-OQJ> z4Me09Ei)LEnUvX*E4@Juv-7op_j!COdIwkv_8JYQuMiK;`;OM>C;PpTzU~v zy6aC@Nq25;?yTeA-&lS=xI6v9^Xm)4Rwm}<9}SO>Yrp)oDf=Yn{NvrXKXc#U$b0b2 z|MHEy|0JeOoAzMGKUpqru2p_}j6Yo4|Lwp>^Ei2{Z?`r+?lCk-O6Y0qI1s_%(jt(o zz{$_T^q`W}X`#TM*RKP#rhZsgDaga}XMW9}%)2j+UR$*)`puo`o>BE94;&k z4o4gqB2x6$aWnBVG4wTiEoBjGj+)zR;~V$QdD*7P(bE=OPWpS|N5e)56|0yxF;)`{ z8#E4aoGj=%?AWq*ZMC(I*y(e=;ssm&zqstbZM&?32OqoA+_w2WN3zA|wqF-6^sSqB z>ek;o9-B7*s5p>gw)*?+Z?%D8QDHLgbZ!Oa950eFYKu5z*W|bU_B!1w=jv)7&z8Sr z6c8DDbMx+%F9p38|4p+|d~~svVd1`o?@Ee`H|xbR&e?n1Y(Yrc$4@FfkGAkX&fKzG z<({VQ-LR0&i;EPNvK&7Aetwprx&365nK9K(9rs;-SEzBc2swW|{7&@y&zmZX%Va&lI^x4CdTxzpo9?)$n`?@wswb45mSeLS^M<;yX(&aWOi&YkxrN{1a` zVZHw1^Sby4(o#|_%C+tJGkny1L#j{oi0qB>XbP5*`@gBnKtR2HTR^l$d3Ii)hNj`W zVykcy;ro6Ln*^8mTQRJZ$P|0&VicWn=1@5Aqq<4Qf|Lx~XUMwDi2sp%^>Jan7zf+d zL#xy;1jUB(HXm&8ah-Pf;kMgv|1v1-*t^iJ@3F|kRmOq`69Po#xU={1EHO#K zlZw3yt1qs+n^v_Y<=?d@n;v{?shGR3MN3P|DD1%b;Qdh!%$%QFL|{@)uZ=j-n?&6R{5(haC^jA$?ey_{(D*ZL8S5a2?^Gq7sb=g z6+V6Xl&k-K!l^G0878RyFuwQY?~nIK?Jx2yf4))e`4M12p<3b^QIe8al4_M)lnSI6 zj0_Bobq!2)jm$y}&8>`p$Uxh`$jZRL;}}mFiiX_$l+3hB+!`!rZ#f0jAPKS|I6tkV oJh3R1p}f3YFEcN@I61K(RWH9NefB#WDWD<-Pgg&ebxsLQ0QSUK-~a#s diff --git a/files/opencs/scalable/referenceable-record/container.png b/files/opencs/scalable/referenceable-record/container.png deleted file mode 100644 index e54c69af89e72514d9fdcd6e77049e4bb4a85572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 929 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!D+_~q^pWnWH z`{>c5nVFfhX3cu|@ZqCJkARA2&z{XEVaYDyK4;$Y{RfWk*>`mJo+ESTuV5DNRn(14 z&Z*@Vb!O!EXA|<^mGYL;2$a(ZlGg}U&$k5r@7%cm;r*TW@1A}A^5Waqm*2j<`u6qFhxgAvez<<~>ZfntK7Rl9 z;rsV@-@m{8_VxAGuP?uTxpwpF(`SkHow3AapG0l_x0r#5ep zTEu8pmQu;*=ffIvhoe$1&aRG!HHWFGfYs@cQiMoHmt)FNRTY)qB};lQHuUstT+`BG z5fJAWcksxSGj|SMI(6&VwR89Gox67I)~QQ}?i{=l=osfW$1(8a$(u*7p1phc^6A^h zub;nv|NQmiw@+U_eE00tqc=T0C!XVCVrp)3c4}&7VlL3&;N|Y`=;`X~&she8Y=p< z(eK0;CWgkyk}}?R-{t}Rs#@Y2QIe8al4_M)lnSI6j0_Bobq!2)jm$y}&8>`p$WYtB z$jZRr-A499C>nC}Q!>*kach|WW`7+}gCxj?;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7 V^x5xhq=1STJYD@<);T3K0RW8?x7h#y diff --git a/files/opencs/scalable/referenceable-record/ingredient.png b/files/opencs/scalable/referenceable-record/ingredient.png deleted file mode 100644 index 6b36d008d26b94b7c0c1f1c2d6f215f24ca08c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1444 zcmZ`&drZ?;6#nsWJ`m#;e8F&RBDz7f^g(Gwq4YruZ7rn;sKFwy8CEH6p_Ga%LP5&= z*>@=hQK5h>h)_@~Ai9Vqx~VY^w>e?rq-@Kkw6)zX*~+9HIotN zyUu?d1VO%33XuhJ(8^xp1tPIaJ`Iw0E}o8uAX9_S`;1kf_7Je*Vxj)~A1|yRGbt=O z1eJt9khB7V9N;s6t9F9FQ4f zi`!vE>WHd-g2KuYY0zRFre-j%q8AS&73nec!&KG8O1nUXsv00RjwFC7Km#~AJ3tbs z5I|?$5LI#xD>h((NWK!qYe!TXV^4QQNu@C&ZA8r=rDcpE(qW1_A{(#LO1t&}hK8#N zauc~gfhf|V0Y=&r3L@YEv<2;mLQMo9|N4BCK#eMB50`fDmlz@iN)%uy>HHUfsWDT; z`bdE~0+3Yn#MYWA((Y)`C{Tt2KZPn(u?{2Y+*e}2oigBnQ4$ahI51kMLGcubLN%&L ziz(Eg`3iKQ8eOD}5VVH3UuP<VoNvF8sG3Ns9il34 zCdthdg*6fQEH}pi{cYEniW`Z*pJofA^%}Ef>|hHZ8CtQc+C*-)(3?i-RRg3Z3%#aI}1^SM8j&IL&(WHFLJ-kvVIFmC!{Z%Mt~?jm|?9WLc( zIdASY*@Hq$BW0$-^|}Vxl#9i zfwms8Chx?3HW1=*JRyzp&(?_$jv)_iwNr!1i&kY2ucQ}JhcM_;~W4gw6 z(OTOGinbJ{*1OGSTVk`wij>6Ua;oT{{$XE#S;)YpM;jC!xW2I?M^-1Nr{v>~o}Qku zoh+tcZg-G6lF2&5d`R+`o)cm~FN3G2gs$VqojRSS&V#yRfd{9b9f zds}G?XGvQ6+&t!bocaFb)#e9`IUf{K6=6k=u^34sV0*#dO`#hat4bLJjP_hwB|rNvQ6{@|41(x|Mg8-lW2FJ1i0zIVXQ?G%zyg;^QGY+NQk8zcw; z4@bh_Xc!`b9ge{vz(Rz=5jZ&fhqS!lvI6;x#X;^) z4C~IxyacIC_6YK2V5m}KU}$JzVE6?TYIwoGP-?)y@G60U!Dss^Zy@@{=eG)|JtPgpN{?i`||&{Q~#eY{CBJ7|LwZ} zua^D)aqs`vz5gHd{(n~T_io|;`xE~Ec<}%0zW)z8{y#4Gdq4mGz3%^iU;O`e`v1e; z|Bnj(-pl)czyJULSO0%J`Tuy{zh||7AJzVUwBY}3^IumT9v^aeeWC8n#imCG?S5aj zJ-x>0?+w?#H{Ji<^!Rfp`tQS{zt8*sKgj$0v}xZ${T;K-ch0f=ddcJ5M%%L+tpD7O z{QDs9&y(iA4@>_(p8)hudYNSnkg_TX@(X5QU>38oW6=uPxhYsKaPr4D-TE2({{G#q zmwxo$-y_ogoBsaYz^qpD`*#)d^vi$$UXJ(@7Z*6~)^k4TvPuR!pec+=-tI089jvk* zKn`btM`STDW`2V(BX_y!Y@pyAPZ!4!i_>pUxk@z!NVGoW){sbOU}Rg+#K;!wwfVoP zWx#mQ{&{c%6UuqIPNT3vuaa; z;exzbyO?Ev2v^uYXk_^5D8XiTNaSeYmAHKYp$6@oi!yY9?o=&tjVMV;EJ?LWE=mPb z3`Pcq#<~Wkx<+OphUQjAKxCwCU}R-ra6eKu9z{cLeoAIqC2kGtSe8BpYLEok5S*V@ pQl40p%1~Zju9umYU7Va)kgAtols@~NjTBH3gQu&X%Q~loCIGkaSGE8E diff --git a/files/opencs/scalable/referenceable-record/miscellaneous.png b/files/opencs/scalable/referenceable-record/miscellaneous.png deleted file mode 100644 index 37862d3b54f114d16ece2cc31673c367f517cd2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1518 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 diff --git a/files/opencs/scalable/referenceable-record/random-item.png b/files/opencs/scalable/referenceable-record/random-item.png deleted file mode 100644 index 9f1367a83da612c08e365f059b6f3e825d608eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1612 zcmZ`(X;4#F6uyB3Lc(4G1;dV!-LM20nj#=!sVv!)GFAwyM2aAUK?U+cKtXJ$RH;R@ zGc*Nhg^J?P4m49O6pB<3Dj+*$QG-$$kYxmfo{&yw`lDywyWctIeP_A%+<6z+ks&%H zGZI2bCoD9G3uvW$iR!Qh)s%Gt;ExAH1R!+hGxAnE0c>10HzW|<>ZQ&rnTes?2!zhk z5Rw!lv;i)O0-+o_LN5de`Boxil6k$A!$e3ei5<>o0Rco)Q`5}MOr`7S==k~hH8wW( z_xFRYast7|#wI*Gyt})5XJ;opJzYyn3qEOUYa1CERaI3jEiFw?PwVOFkw_#mnf&0v zgYE6@w6rwfSXfwK7&baOy1BWjudfdtS6A1`$;q6Y96FsoH8r)iwpLhJ=;r1Y5)!ho zurN0_2YI}_yt=x&-oAYs5dj-Q=H}*ESy`ai+S*>Za^>mMrzR#Q^YimtTU&;PhK`Po zB9Z9%^XF75RV)@m10Eh8EEcP?vy(!h;PH4LA0LH6VPIguWHPy2?)v)r;^LySvvYHE zb4yFh>gwvlhYx3FW+o;kyuH0=XJp{uL=v8E_n31MMj;2{tQDrazTus|Sy*+oS~shHr0sPXY}AVYGPwJJFdhl`Dkg`1!< z;aF4(tRPO2cs+n_5jT>D)E$$w4LF$?7DLdqJ6eEYVk({`5@T43WegY=sh}Ryh{MEj zP*^Exal0Uws$Hoo5 zhF#$j4uu4vQi6FX7+RU3G1+j+%9Gy2k#iZ>fG`#o6u|fSJyGC~f@vwn8sm~LKK-ib z^2I$R&U*VT?@6kwtIO#}ga#b9Q(6J~%ONrI8o9A!% zA5*6hzV@u`H%b*2b>xUvS9JWf588SXI%!t%JP)|7$dHRok z`COA#c=;~5OM_f3clwob@|8V_$%qt$FML_tL$m=WY{+ zGB-DBhbv;c@3*wKJS;dFTl(z0Z06D@+_5Hm;-B`7rGdQryciDUI`y13n?mP5`4<0V zhR2R>EQ-S=9<;5J(#}6K)=xcmGc|3||44b?NJn1*34gYlbUH6hLfY8aXD6B47g@zj z?&jZ?3VAoeuj=yYi7AQce0j^8h7k@Y`&sX`dxGgUmVi)a?D~-$U!nNYwf>lHxb70i z>BucL)0Pb*Y6EWU&d~S9l`}(o8>em?B+Sz)w^E2xCk~}6hSJA!tuBp5mTtMei>)ub zpSS*3$l4~Zd@I0by>Hq!HSFrN;yd1NqAje zyeQc>F)JAWxzpV|T<8oJcQ3x1x34=qo=$XkUpifW!9Mvv0qGe@!jv=rAJ8*UJ^}%z t$_l)U6j5$`Rx--X&2<%?Ov_G;&rEjB$U1)Q71InzD2x>ubSqFG{Tq|8Yfk_G diff --git a/files/opencs/scalable/referenceable-record/repair.png b/files/opencs/scalable/referenceable-record/repair.png deleted file mode 100644 index cb631d233766afdc6a058ea57a62d44378babfd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1474 zcmZ`%dsNa_9RJzEvU0V`mQJ_MJk6T35T-ezLgb~18NOfT3$c8l1ez}d6af`5!9tLu zDVgRANkGx?m6j)8JzTBYX|399oqW}HPFl9>I%lW-vG4iZ@9TcQ=YAho%$Z5Y#SR|275&Y>QJAA{J^Lw|~A88Aqa!At?JB z2;vk%&?0bgrXh$0hoC>AAqb^_pwH8)Oh?fWw2JTV8;A!1L>~gthe#sfi9RbJc;j$H z9DzU}67hJF7XUDEL{BdQ28+jftq>ONiAH148QBaDKbKpS$1P$P2=fJEzDO#N%1UHs z%am$GT6#*&1+}2GAS5EVLRHqFtpm8!u4(SL*k)|fcWX_3hJkD5p^^TK>{FnOh+`qu z^-4{1wOA%%bF-7_iT(k8{y|4_IHy|;jj~D!otf<8L)^7%7bS>NSuNLfwX_-d8_l|eq<9PlV`pbaAQ93S$s$QnZDTbKhwd=8%N1uDnl!3v zMLaFm(4*BFn_}XRJ2^Q;MTZH*JayeUWsRIulp7Kr5PmE)G%^U(cACu!j|w9nJ)F); zIYJ?yq|<20)PxhUaS6v0lH%ChoI)Y5L?Q&7nUS8E&17Vz#wSK6rPI<_$;>P|Xbp)( zzW-+*Zy*RLfP>vEeZ+zJ0UtX*=>J}QtQgE%ovFFKtEs)SN!xj;%?QxgW@rSnYSlNi z=r48;=!Zx9FL$?e^t2j#+f4)d-eJ?wX#d#lk;$piopP}k(t*uI;ghy0gk! zxvKW8T60c$UM{H+6_*wAOE{dOoE&b3L@qM*8q9+xwMM}%%*y9y6^PhEX+cT3KqM_F zEY8<7)m$GRymfc{_T7oW5wpHW%N6AEgn3||r80q}qF7cb7L^qW#N5ul%gXZ=LJ3bS z7nWC+f{p-5=Ow*B$e0wr0Ep~IKJ4S|O(fuPURY1ep@X|O?n5FF2v=7)9GNvbfc^E= z!uy5 zItEiuFTeYxOxd#PQ4Z!3qN=J&B`@OTGE=jq^=-Nis>K@N!Oc7buJ+5e`Guc-yTiId zj6wQ99Yx{4Q)d4PlxGopn23XfFb5JatkOtf;MZD%4OuT)tj}~)fdHB}&NI;CMqKoE z2Iq{ZvXWmRRu{-hRDyHT;~0OTXDBYvHxf(n2`2>mu@|;(QlL^6OKp*~apeKpOeD+_ zzmsYcG&D8laK3MFOUYMPdh&8ZFr4Z`t(>)?FiWn7*SCpo+gCp+ z`_bAeYJ+9W<9iy%uj^{>Hb)uRgTwkSVq>2$UAJDP-|wNmFudHKF?0V4ZPxtGN;JK$ z+}**W^Y_Wejzp=$q4b42&ygdE3%h9(RSy_!7^$CMlCw9;TwYwi!{vY@(s{qrzP-IQ z+J;U|N3(tYt;v=?r-(4vs;N$!JCQJMxV?_WV*MEnv&IBFZiA7>#$2LdAu3hG1Fh{% zw#}y~ZNx1r+3dix>#4%rjj8n4yr)ZZeBAq~rY&=Vr&ql<*+H5&6OGN5n}fj~b~5py z%=j246&1&z0s$f5u1FWSn+w7{&~+aQ0pR8gN1)(vyJg3l|4B%p$Dc^Z`u~KaI#mit uuw8i}fS$n2jA2lr%*@O^CsLD6#l@si_s|(M)ePDW1VP?-KU^y|n)f%q0Dckx diff --git a/files/opencs/scalable/referenceable-record/static.png b/files/opencs/scalable/referenceable-record/static.png deleted file mode 100644 index 934e8e2980b6bcc86d4292799c3df52f58ae156d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1518 zcmZ{kdpHwn9LL{b%&gfmn#*=Haw@FNrRJ8#YI71JqIE$CxoxPmRZOwAO!6otBo*cK zOjeX+l)A{^qE%f53Tc`lY3XJBXpxQSiJ(%tTYM)qrT2w|eg0}#`w*x?s1Hi2I zOYjkZ{UiV;A^~te2f#9R+1(&d?LdFeW;#tvZE1Y(Woco^W^7N_M$aua#E9!!s*P** zqftY`+rMsmn)-r)`MKAV^Oh3833`L6zs7XE867+53*nRAce4CryqkdE6_{C7n;7PClL+D-E2N-R|f` z=(P5-i4npb#P)wwOL`?AaRB9v6&z7oofD}Bo6jh=+l=8YM=5n?W_MKc@@JFo3&Zg- z!ryCa8!bC1hd+5<9F@wQGPz zt_*7Mo!^Y$@i60z*SHn0)hm^XX58#hOJiauqBxj|y3L{LjZy@tZ}z6ix~rh*?DkWa zT}LU_1ee76JLOlbtqD5LzAUqx1bEh=QdfPX_u*5e+{pvfKb3?Yb`0ObB&?RLd7xWZ z2LV*jDrw8NY?_)dweZfIerY9;u=iAW<@w7PXF3b^e+p&Zu({T^wUH$!wr$Jv?K7Qq zL98^cXTiLTE61y5;hx4fpKo{;AMd?X%)-|nphIx_k3Hy4tg!xILwT@YmQ`}X>8kAx zKK%`KW8;PV3y_#3%YM0AmyCQrKs@|#Z(NjF9=5#XdE&^}2tjujfm2+}T=))6kt@!I zx>SVk);EBJhK0o%2mO)sQcd~3jL01AHZfme`ojcz6*<^4+5hlMi8Dp54l*EtgV>T1 zDpp8Q&&v%=I7!!{J4yUmmkCSDPjquK!GebE<~6ChS;)3cfq$*SZtZC}B*{r=>l%&x zkX939Sqw!BNe=b{cBQ#Y_@=cUn7R?w<5CPCPe03e$k8L;ijeNxaH0@xeh^P~7Mb@n zK+%=;EkkxV0_+8Ccn+XN=4nX?Cj9ZhF4~Y`J1|=AGc+zLJ3TjZ{dE&J(6%A4NW9%) zME&Y|NOM+%U8D2K{F*bSwNmMW8zIw;e$8Eu#I~~YmwH}Yy_uIC?r1PWrC>$*kW8Tl z$G5b@rR(^&y9+gWN)ZJn&4psZw%zqET#C_~?Jq0KIe!k7`?>EBj|yXACjdRLto852 zzGrI9*0+`K?MIILR|1=}CQqt1Cl5vm)kk=4l3T2w^SpOqtG^UK@=Bu1pFiJcj&+?ss|6r#0jTz0FO*d&!sCqIeVKyCF{v)h(O z(`DutM7Q0HPd%~=`K|J6%r9cL_fma`l5q~}vn{BIE+5Uz9lNcvcY6prDjHLA^M8XX zmZK_9!%DYE!zG9D4tnz}X}KFZ5__}+-M|`PjZO7NiN*#mJnJax7G3QBKyfpy8lL>R zKU8*4w!9I)o~DQINbEqQ?}NWzw&wd#0e)s>`AKQ9!sOATrUfN#eqX3<&&3L9uwhBJ z-e9%$Z%e{klab7tm~|f6;mIO1&Z#XE(~0u zP+Vc`7q=)Cn*3-?4UYb__f++&9r^mp10KnK0Bgi$$8j1#6)Gpx<{wQY5|-`WM@Z`tE1D}5b`>AC+%5lPjYf6k?hUf z{QqM}PK`;}%lm%=YjgHDt-*XTVQcE%3~p3fEZ}mv#DtW@^ynydEHO1Lu2ku1p%nqY MjRCY;pU9*C0-JS>N&o-= diff --git a/files/opencs/scalable/referenceable-record/weapon.png b/files/opencs/scalable/referenceable-record/weapon.png deleted file mode 100644 index deb2e50bd181c1b12db3b31b666f96d84d7a36ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1465 zcmZ`&do+}37=K-66Or21rLnU#wVQ@n6yZ3cH8E?5L8aRogM@}4@kNb)diuLFA+*eM(8b= z5@r#KG(l+22O(l+*#?C9v|?(QBL z8M$-kjz}bW`0ybF0ZeIWsob8GmDSYL1TvS)t*EFN8ygb{1R%V4@#5*zr^(65IXOA~ z{rz2CT>zM#o^EMr!Q=5_vACzF$Ii|U@`AChu8zm!K?(>yH8ln9P#%Pxn3yOkDypok zoSU12$QcFMdSv$HS+8jS`>sO0^}9jqWEkx1k!$PgBi!fsYS-U0 zJd`1a!F-^Swzf983e8SVP6CzVtE;OaLVbO`T;*^$a8*`TCRbr)X=!P4xh}V=TeqU2 zg8v8MHus!mikA*QOgGJ2j~A*373O?rkRPBwK0aO?j88v>Pxad$dz8@G{ummRN~KT? z%nka2)bsQ6P!Dvyu&^*QGXq`2G#~{$=esBBf&I>;x_Y44uGCK`lSI?y*I47FwOLyo zf~LYAS^uHA`H@QF-LHnQ7J(fr>|HNMl$1=LJ+@qwC=1pnK9LNnG>6-%NwFaVA%V%A(ITu%O^CU9^FsVm2DaAw*!cC@fd}-NL&4ZQ zSxrOK-9dWoGu+RD=8?G7H+YI2%tc1gjoL8IhmW3*I9 zrrWUW7a-9%aA`iTxi0#L$t5)nZ7oUm72=3T;@Gw87woKfiR`#*PJ-KbeYcFA)T+B$ zZRPO2Z6E|9-gX0DmkqgF*e8yk7!;~z-m9r$C0w+A6KQawH%?h2MyPl{ZoQP4kA5mp znReycV1^HS7|1$>dD6WBzHei+oZ>AwR%aG%LL_GITeC5mJx!#(Zy2w)s;Hyw#0K~!jg?b>^-{Q;b7lB2`ITN`4VnQR8y@p2H~~;}Aof zl!)l$1|%vh;X2;M`?!|b$0K}=Z}1b2#Zk%PJOW-t51*l1*w0&dfS<+D$fi^Pao(?@ zTi3O%t*xx!&CN{*2M5>iCcZDuB7~6L#QEOECkSh6Yay5Q_4Oc5ncL#@TP(?Cp;-A# zLMxzYS^-Vd3TT??gDm-*Nt?yQ!2K6Lz|<7R6lM|-Ccde2#+WVPm2^C-rvYo$#P1z( z8r8UoPelNC zY~fa^ncLaf$%@(7*s#01n-!DH9C1DMHtu&s5B?|a;>KVw=%$PQSN8Y!?d|Oqh2kqQ z=Wz!o7~orcEY<@{Gdek2(0o*q#TmZ959TXq{=%=KhyhL}Bk+f~#QjiSNy+&I{3wbz zlu=TO)!DccLI^mis_Ix=;-0str*KL9A3PTK3Ld58X7PMcKRp{y%(cOgRuASW!slVS z)f7UQN5FGj_}geJplMnGP16c!n)7V42JvZVI2_vE-p&d>Iy#yhjudQgKg*(go3+M! z_$4J!(hl(fURSuyS~>y&PefC7M_gB}Gy6Eem*Ot{6NRI2;a~PB62Qyzy3OAq4O5KW S_#Zd`0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/files/opencs/scalable/status/modified.png b/files/opencs/scalable/status/modified.png deleted file mode 100644 index 0ac732ad9183c74307ee3c0d6401631e1cf962ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2022 zcmV zCAcCHS*xf4V-uEySWUDsq9lYr2r)5Wf(G>uW17V@7}$-3tO>!eyVkA9AB~`k*IsS3(9fsP@ywV4Fl9#^Mx%Zy$IrrT2>pdePgiXd61NcA`FhClZk;lL+ z683_YJfH&j08kG69vBB^!e;ci1c(C5fo}t4z}J8YV@x*eT?kzOV~o>&3-EDtH`W8U zQBw+4058nNEJcAjV2{1`?R}kn4wXU`z-m7ZJPT~f`zZx90p)f~XcYDi_`nii7Z7i0 zX`!X11)v1@0#HlXW-B70T&TNz26zs*14vI#kM#8P2x|9Zz{l(u6B^$T1&9C*zz+aP zBodNNrzM?EOCphQLi`X|2}Hu;8;S|pz*PbyfzJSRb#)PqMu|qFbai#Pp`Qj4K&hRx zcnV4TKI-?s14u?10r|%nGmzptG}+>gwv;nCj|k zIy*bv<1U~ch=sBXA!y%2ef*2SjPLt0G&Cf$X=rFjeBT!|op{mC@t*1-Mmd)>7=lz*l3?x%r_F=htH7@)=isRQ1H2BYP`QVaGSR_m2kJ9DN2jg5^A4i4gZ zg&kWqo29wAnHx85%r|5TxQEsc{{lvVe*$mi2|8-8zej*(;3YId`USZI@pzm>B0(~l zB$-U+?o+8$QSbns=W+Vg39mD^DA{3=9lNeSN(H ze+SrS6r_E?ttUswxM51o$HAXiBlJbaotwqVDl| z;2I#YSWJ3*d!IP?GiT07NlA$VKZs_s%b69u=ZdthrhN{06A;hy+PYnFYlPAUV zJO};{Xmenx#r9C7o-bvHpl+-k__bX~4jw%C*uftV>r*49QC z6`}9@w6?ao#~I6G%JM8q3#o}+uxkX^xN+kGrWU3R8#cJxCd(tRW)>oVGozL8*aTQ@ zc?8B4XrS#LM9_+9=`5y;ro6S5Sssy~9gCon8Z>!&4-iczlhoJOFBIpz)Y#bQ+AyW4 zi3T>KpaOVkto4!H5Z1>Ot90$~d%KpEQOzYWO6ix=kvaryFP zNu^Txxy%^wZ}+@q%NDtI?b@7k&z?P-pEiFOC=Epb9<GXpQkf;9J;=50K{OW;uWU zyoiWw-@e_g)kDDd2ti)=xB%7!>M>HO6#f1E?)SHWp8>A`f3tR<26C@djWKDop1p_m zcz%a=slPNhI9R=H+cvgt-O7?BxlYQv2^!D>>_8kXD(>WI+u8Xq&}yjxO~4`)uv_#z zMJ%}0z$bxUVf(6i*KO2klr3rpY&49b-8t6~nn7LNkAOb{{{a32WSqteC`(XBaL1AhXx z0DFN|=&rtL`987$pc=mmd>ysjx0u7uAB99DYmAxV!TGoi{04oSnI^!u6{ZmXJQFHK zcfxgwL;vz5?+X{#&d;Fdte|NY6d-S5msm;Iz!%H!zYAf)#yFq2ng9R*07*qoM6N<$ Eg5avTxBvhE diff --git a/files/opencs/scalable/status/removed.png b/files/opencs/scalable/status/removed.png deleted file mode 100644 index d4b0a4897eb11d650f2215bdc9fea6cacb45c840..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1311 zcmV+)1>pLLP)?J#lKJ(!*lTkefSmXYRG*rV=Aru_F82_c`a>k8`dg z5h3)6q9_88dA{thH?OTI^m|bhtpHc_^%8g`BCqBeJaxpX+WH50843~v5Jk}yU=4T& zr~{|KGvMz~2z5jacw7HYfeG*;#FjUJioXVY0Bixbfn(rD;1^)#JFtph2i^yoYV&8{ zC*U_=>J1?xl`ql|uLF00N5FGHfTzGvMXUoW9=2A14RydC@Q2#^9XL?uZ1~s`k!k=H zUkA2PH{FaJL0BN;aG8&C!XJ^N>b)XK}K+`-Jz)G7VQ~Yc;6A_UlNoAHp%MxfgsOUK+NK_2ZZ!` zy`H@hM5k!p@IfUCew zU{@(GWZ)!87Pc`SkEPXWW#UJ`7r=YKsu&T7baLF%Jeyt=#G>Nc?Y6x<-zGi1p3MO{ zztuN^hnEdeApSna1}TnxAlver8i|w3fS61s(&=>UJ!Q)lp98QUwscazR)_-e_bEFh z+W(MCjKpLzk#4tZir*_rn@Rx5M`Gy^1>zr+dA<@r&Q_;vVlOS7k|dE{uV?3cspq`_ z42VtAgW0#}(cq#W3XUG%0r&8%$W{n@qQK8D^7wTdD!gwNBTG#o>lC|3x~bNfH-!xG zS@$4WhWHAI!nMB=!1DZX+2Tte_NySOJpbCnJ0PZ2ktkdHm!38O5c@d#PDN|}x$ePb z9p)Smxk#Ae*LCJ!n&&+r4h)EMCFNDpGHsW%Xn11^8Vll?YP^9}&}1d$A#Y$w8OO2N zi+!kCuVIvwSy8_W{KW+q^@~8vW-}QK2AQp=s_`aPQJ=L{wt>g!dFLYAD)T^C;!oB4 zS;sF|Qf7^!8m^q6!@7t%gzY2U^JBD-dNZsff8HEZZaca8K?x=Fg79|J!CzY>1Y-Qet^ z`$N);?qkx6?h|iYz5oWq8t|^dEc#P}I_WZ7=j^8jry;ifUqAM+1}1c{GJEsd`WF}% Vg={u)iKhSn002ovPDHLkV1o2`SGE8E From 101c1472173bf936beaf042500327e7672e628b4 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Thu, 20 Jun 2013 18:06:25 -0500 Subject: [PATCH 30/38] Final changes for record status icon feature, incl. window size user preference 1. Included updated status icons, added base.png 2. Added doxygen comments CSV / CSM Settings classes 3. Implemented Glorf's code for window size preference 4. Minor changes code that searches maps in CSV / CSM Settings classes 5. Removed CSVSettings::SamplePage class 6. Other minor code maintenance / improvements --- apps/opencs/CMakeLists.txt | 1 - apps/opencs/editor.cpp | 12 +- .../model/settings/settingcontainer.hpp | 16 ++- apps/opencs/model/settings/settingsitem.cpp | 15 +- apps/opencs/model/settings/settingsitem.hpp | 17 +++ apps/opencs/model/settings/usersettings.cpp | 78 ++--------- apps/opencs/model/settings/usersettings.hpp | 49 ++++--- apps/opencs/view/doc/view.cpp | 26 +++- apps/opencs/view/doc/view.hpp | 7 + apps/opencs/view/doc/viewmanager.cpp | 8 +- apps/opencs/view/doc/viewmanager.hpp | 1 + apps/opencs/view/settings/abstractblock.cpp | 12 +- apps/opencs/view/settings/abstractblock.hpp | 27 ++-- apps/opencs/view/settings/abstractpage.cpp | 11 +- apps/opencs/view/settings/abstractpage.hpp | 11 ++ apps/opencs/view/settings/abstractwidget.hpp | 23 ++-- apps/opencs/view/settings/blankpage.cpp | 7 +- apps/opencs/view/settings/blankpage.hpp | 5 +- apps/opencs/view/settings/customblock.cpp | 5 +- apps/opencs/view/settings/customblock.hpp | 11 ++ apps/opencs/view/settings/editorpage.cpp | 10 +- apps/opencs/view/settings/editorpage.hpp | 5 +- apps/opencs/view/settings/groupblock.cpp | 4 +- apps/opencs/view/settings/groupblock.hpp | 11 ++ apps/opencs/view/settings/groupbox.hpp | 1 + apps/opencs/view/settings/itemblock.hpp | 10 ++ apps/opencs/view/settings/proxyblock.cpp | 2 +- apps/opencs/view/settings/proxyblock.hpp | 14 +- apps/opencs/view/settings/samplepage.cpp | 10 +- apps/opencs/view/settings/settingwidget.hpp | 8 +- apps/opencs/view/settings/support.hpp | 129 +++++++++++++----- apps/opencs/view/settings/toggleblock.hpp | 2 + .../view/settings/usersettingsdialog.cpp | 85 ++---------- .../view/settings/usersettingsdialog.hpp | 22 ++- apps/opencs/view/settings/windowpage.cpp | 106 ++++++++------ apps/opencs/view/settings/windowpage.hpp | 6 + .../view/world/recordstatusdelegate.cpp | 2 + .../view/world/recordstatusdelegate.hpp | 1 + files/opencs/resources.qrc | 1 + 39 files changed, 420 insertions(+), 351 deletions(-) diff --git a/apps/opencs/CMakeLists.txt b/apps/opencs/CMakeLists.txt index 501958714..866c0f1f2 100644 --- a/apps/opencs/CMakeLists.txt +++ b/apps/opencs/CMakeLists.txt @@ -78,7 +78,6 @@ opencs_units (view/settings proxyblock abstractwidget usersettingsdialog - samplepage editorpage windowpage ) diff --git a/apps/opencs/editor.cpp b/apps/opencs/editor.cpp index 991d59537..082fa376c 100644 --- a/apps/opencs/editor.cpp +++ b/apps/opencs/editor.cpp @@ -62,15 +62,9 @@ void CS::Editor::setupDataFiles() mFileDialog.addFiles(path); } - //Settings setup - QStringList settingFiles; - QString userPath = QString::fromStdString(mCfgMgr.getUserPath().string()); - - settingFiles.append(QString("opencs.cfg")); - settingFiles.append(userPath + QString("opencs.cfg")); - - mUserSettings.setSettingsFiles(settingFiles); - mUserSettings.readSettings(); + //load the settings into the userSettings instance. + const QString settingFileName = "opencs.cfg"; + CSMSettings::UserSettings::instance().loadSettings(settingFileName); } diff --git a/apps/opencs/model/settings/settingcontainer.hpp b/apps/opencs/model/settings/settingcontainer.hpp index 60f4eecad..5af298a57 100644 --- a/apps/opencs/model/settings/settingcontainer.hpp +++ b/apps/opencs/model/settings/settingcontainer.hpp @@ -15,19 +15,31 @@ namespace CSMSettings QStringList *mValues; public: + explicit SettingContainer (QObject *parent = 0); explicit SettingContainer (const QString &value, QObject *parent = 0); + /// add a value to the container + /// multiple values supported void insert (const QString &value); + + /// update an existing value + /// index specifies multiple values void update (const QString &value, int index = 0); + /// return value at specified index QString getValue (int index = -1) const; + + /// retrieve list of all values inline QStringList *getValues() const { return mValues; } + + /// return size of list int count() const; - //test for empty container - //useful for default-constructed containers returned by QMap when invalid key is passed + /// test for empty container + /// useful for default-constructed containers returned by QMap when invalid key is passed inline bool isEmpty() const { return (!mValue && !mValues); } + inline bool isMultiValue() const { return (mValues); } }; } diff --git a/apps/opencs/model/settings/settingsitem.cpp b/apps/opencs/model/settings/settingsitem.cpp index fef9d3e2f..2e6172cb8 100644 --- a/apps/opencs/model/settings/settingsitem.cpp +++ b/apps/opencs/model/settings/settingsitem.cpp @@ -66,21 +66,10 @@ bool CSMSettings::SettingsItem::updateItem(int valueListIndex) bool CSMSettings::SettingsItem::validate (const QString &value) { - bool isValid = true; - //validation required only if a value list or min/max value pair has been provided - if (mValueList->size()>0) - { - for (QStringList::ConstIterator it = mValueList->begin(); it !=mValueList->end(); ++it) - { - isValid = ( value == *it); - - if (isValid) - break; - } - } + bool isValid = (mValueList->find(value) != mValueList->end()); - else if (mValuePair) + if (!isValid && mValuePair) { int numVal = value.toInt(); diff --git a/apps/opencs/model/settings/settingsitem.hpp b/apps/opencs/model/settings/settingsitem.hpp index 9c5ed02af..4139b8545 100644 --- a/apps/opencs/model/settings/settingsitem.hpp +++ b/apps/opencs/model/settings/settingsitem.hpp @@ -7,6 +7,8 @@ namespace CSMSettings { + /// Represents a setting including metadata + /// (valid values, ranges, defaults, and multivalue status class SettingsItem : public SettingContainer { QStringPair *mValuePair; @@ -24,14 +26,24 @@ namespace CSMSettings QObject::setObjectName(name); } + /// updateItem overloads for updating setting value + /// provided a list of values (multi-valued), + /// a specific value + /// or an index value corresponding to the mValueList bool updateItem (const QStringList *values); bool updateItem (const QString &value); bool updateItem (int valueListIndex); + /// retroeve list of valid values for setting inline QStringList *getValueList() { return mValueList; } + + /// write list of valid values for setting inline void setValueList (QStringList *valueList) { mValueList = valueList; } + /// valuePair used for spin boxes (max / min) inline QStringPair *getValuePair() { return mValuePair; } + + /// set value range (spinbox / integer use) inline void setValuePair (QStringPair valuePair) { mValuePair = new QStringPair(valuePair); } inline bool isMultivalue () { return mIsMultiValue; } @@ -40,6 +52,11 @@ namespace CSMSettings QString getDefaultValue () const; private: + + /// Verifies that the supplied value is one of the following: + /// 1. Within the limits of the value pair (min / max) + /// 2. One of the values indicated in the value list + /// TODO: value list logic iterates QList. Should use find() instead. bool validate (const QString &value); }; } diff --git a/apps/opencs/model/settings/usersettings.cpp b/apps/opencs/model/settings/usersettings.cpp index ecdfcd71b..5bd2343cd 100644 --- a/apps/opencs/model/settings/usersettings.cpp +++ b/apps/opencs/model/settings/usersettings.cpp @@ -54,15 +54,7 @@ CSMSettings::UserSettings::~UserSettings() mUserSettingsInstance = 0; } - -//QTextStream *CSMSettings::UserSettings::openFileStream (const QString &filePath, bool isReadOnly) - -CSMSettings::SectionMap CSMSettings::UserSettings::getSettingsMap() const -{ - return mSectionMap; -} - -QFile *CSMSettings::UserSettings::openFile (const QString &filename) const +QTextStream *CSMSettings::UserSettings::openFileStream (const QString &filePath, bool isReadOnly) const { QFile *file = new QFile(filePath); @@ -105,10 +97,7 @@ QFile *CSMSettings::UserSettings::openFile (const QString &filename) const } -bool CSMSettings::UserSettings::writeFile(QMap &settings) - -//bool CSMSettings::UserSettings::writeFile(QFile *file, QMap &settings) const - +bool CSMSettings::UserSettings::writeSettings(QMap &settings) { QTextStream *stream = openFileStream(mPaths.back()); @@ -130,10 +119,7 @@ bool CSMSettings::UserSettings::writeFile(QMapobjectName(), setting->getValue()); - } -} - -void CSMSettings::UserSettings::readSettings() -{ - CSMSettings::SectionMap sectionMap; - - foreach (const QString &path, mSettingsFiles) - { - qDebug() << "Loading config file:" << qPrintable(path); - QFile file(path); - - if (file.exists()) + if (settings->find(settingName)!=settings->end()) { - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("Error opening OpenCS configuration file")); - msgBox.setIcon(QMessageBox::Critical); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setText(QObject::tr("
Could not open %0 for reading

\ - Please make sure you have the right permissions \ - and try again.
").arg(file.fileName())); - msgBox.exec(); - return; - } - - QTextStream stream(&file); - stream.setCodec(QTextCodec::codecForName("UTF-8")); - - - getSettings(stream, mSectionMap); + setting = settings->value(settingName); + emit signalUpdateEditorSetting (setting->objectName(), setting->getValue()); } - - file.close(); } } -void CSMSettings::UserSettings::setSettingsFiles(QStringList files) -{ - mSettingsFiles = files; -} - -QStringList CSMSettings::UserSettings::getSettingsFiles () const -{ - return mSettingsFiles; -} - -QString CSMSettings::UserSettings::getSettingValue(QString section, QString setting) const +QString CSMSettings::UserSettings::getSetting (const QString §ion, const QString &setting) const { - if(mSectionMap.find(section) == mSectionMap.end()) + if(mSectionSettings.find(section) == mSectionSettings.end()) return QString(); - CSMSettings::SettingMap *settings = mSectionMap.value(section); + CSMSettings::SettingMap *settings = mSectionSettings.value(section); if(settings->find(setting) == settings->end()) return QString(); @@ -301,7 +243,7 @@ QString CSMSettings::UserSettings::getSettingValue(QString section, QString sett return settingContainer->getValue(); } -const CSMSettings::UserSettings& CSMSettings::UserSettings::instance() +CSMSettings::UserSettings& CSMSettings::UserSettings::instance() { assert(mUserSettingsInstance); return *mUserSettingsInstance; diff --git a/apps/opencs/model/settings/usersettings.hpp b/apps/opencs/model/settings/usersettings.hpp index f5eb5e80d..213c5a35c 100644 --- a/apps/opencs/model/settings/usersettings.hpp +++ b/apps/opencs/model/settings/usersettings.hpp @@ -27,56 +27,53 @@ namespace CSMSettings { Q_OBJECT SectionMap mSectionSettings; - UserSettings *mUserSettingsInstance; + static UserSettings *mUserSettingsInstance; QStringList mPaths; Files::ConfigurationManager mCfgMgr; - QString mReadOnlyMessage; QString mReadWriteMessage; public: + /// Singleton implementation + static UserSettings& instance(); + UserSettings(); ~UserSettings(); - static const UserSettings& instance(); + UserSettings (UserSettings const &); //not implemented + void operator= (UserSettings const &); //not implemented - void readSettings(); - void setSettingsFiles(QStringList files); + /// Writes settings to the last loaded settings file + bool writeSettings(QMap §ions); -<<<<<<< HEAD - bool writeFile(QMap §ions); - const SectionMap &getSettings (); + /// Called from editor to trigger signal to update the specified setting. + /// If no setting name is specified, all settings found in the specified section are updated. void updateSettings (const QString §ionName, const QString &settingName = ""); + + /// Retrieves the settings file at all three levels (global, local and user). + + /// TODO: Multi-valued settings are not fully implemented. Setting values + /// loaded in later files will always overwrite previously loaded values. void loadSettings (const QString &fileName); - private: + /// Returns the entire map of settings across all sections + const SectionMap &getSettings () const; - UserSettings(); - ~UserSettings(); -======= - QFile *openFile (const QString &) const; - bool writeFile(QFile *file, QMap §ions) const; - void getSettings (QTextStream &stream, SectionMap &settings) const; - QStringList getSettingsFiles () const; - CSMSettings::SectionMap getSettingsMap() const; - QString getSettingValue(QString section, QString setting) const; + /// Retrieves the value as a QString of the specified setting in the specified section + QString getSetting(const QString §ion, const QString &setting) const; private: - static UserSettings *mUserSettingsInstance; - CSMSettings::SectionMap mSectionMap; - QStringList mSettingsFiles; ->>>>>>> df1f1bd5c81d94a1ea2693000ec5dc589b069826 + /// Opens a QTextStream from the provided path as read-only or read-write. + QTextStream *openFileStream (const QString &filePath, bool isReadOnly = false) const; - UserSettings (UserSettings const &); //not implemented - void operator= (UserSettings const &); //not implemented - - QTextStream *openFileStream (const QString &filePath, bool isReadOnly = false); + /// Parses a setting file specified in filePath from the provided text stream. void loadFromFile (const QString &filePath = ""); signals: + void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); }; diff --git a/apps/opencs/view/doc/view.cpp b/apps/opencs/view/doc/view.cpp index 7e5a14c9c..ad88467df 100644 --- a/apps/opencs/view/doc/view.cpp +++ b/apps/opencs/view/doc/view.cpp @@ -180,8 +180,9 @@ CSVDoc::View::View (ViewManager& viewManager, CSMDoc::Document *document, int to : mViewManager (viewManager), mDocument (document), mViewIndex (totalViews-1), mViewTotal (totalViews) { - QString width = CSMSettings::UserSettings::instance().getSettingValue(QString("Window Size"), QString("Width")); - QString height = CSMSettings::UserSettings::instance().getSettingValue(QString("Window Size"), QString("Height")); + QString width = CSMSettings::UserSettings::instance().getSetting(QString("Window Size"), QString("Width")); + QString height = CSMSettings::UserSettings::instance().getSetting(QString("Window Size"), QString("Height")); + if(width==QString() || height==QString()) resize(800, 600); else @@ -378,10 +379,31 @@ void CSVDoc::View::showUserSettings() settingsDialog->show(); } +void CSVDoc::View::resizeViewWidth (int width) +{ + if (width >= 0) + resize (width, geometry().height()); +} + +void CSVDoc::View::resizeViewHeight (int height) +{ + if (height >= 0) + resize (geometry().width(), height); +} + void CSVDoc::View::updateEditorSetting (const QString &settingName, const QString &settingValue) { if (settingName == "Record Status Display") + { foreach (QObject *view, mSubViewWindow.children()) + { if (view->objectName() == "subview") dynamic_cast(view)->updateEditorSetting (settingName, settingValue); + } + } + else if (settingName == "Width") + resizeViewWidth (settingValue.toInt()); + + else if (settingName == "Height") + resizeViewHeight (settingValue.toInt()); } diff --git a/apps/opencs/view/doc/view.hpp b/apps/opencs/view/doc/view.hpp index 2fbe881eb..74504e308 100644 --- a/apps/opencs/view/doc/view.hpp +++ b/apps/opencs/view/doc/view.hpp @@ -70,6 +70,12 @@ namespace CSVDoc void loadUserSettings(); + /// User preference function + void resizeViewWidth (int width); + + /// User preference function + void resizeViewHeight (int height); + public: View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews); @@ -90,6 +96,7 @@ namespace CSVDoc Operations *getOperations() const; + /// Function called by view manager when user preferences are updated void updateEditorSetting (const QString &, const QString &); signals: diff --git a/apps/opencs/view/doc/viewmanager.cpp b/apps/opencs/view/doc/viewmanager.cpp index a5ccc9efc..7e00697c3 100644 --- a/apps/opencs/view/doc/viewmanager.cpp +++ b/apps/opencs/view/doc/viewmanager.cpp @@ -21,6 +21,7 @@ #include #include +#include void CSVDoc::ViewManager::updateIndices() { std::map > documents; @@ -124,8 +125,6 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager) connect (&CSMSettings::UserSettings::instance(), SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)), this, SLOT (slotUpdateEditorSetting (const QString &, const QString &))); - - CSMSettings::UserSettings::instance().loadSettings("opencs.cfg"); } CSVDoc::ViewManager::~ViewManager() @@ -355,7 +354,10 @@ void CSVDoc::ViewManager::exitApplication (CSVDoc::View *view) void CSVDoc::ViewManager::slotUpdateEditorSetting (const QString &settingName, const QString &settingValue) { - if (settingName == "Record Status Display") + if (settingName == "Record Status Display" || + settingName == "Width" || settingName == "Height") + { foreach (CSVDoc::View *view, mViews) view->updateEditorSetting (settingName, settingValue); + } } diff --git a/apps/opencs/view/doc/viewmanager.hpp b/apps/opencs/view/doc/viewmanager.hpp index 2b0890a21..1f4dcd51b 100644 --- a/apps/opencs/view/doc/viewmanager.hpp +++ b/apps/opencs/view/doc/viewmanager.hpp @@ -73,6 +73,7 @@ namespace CSVDoc void onExitWarningHandler(int state, CSMDoc::Document* document); + /// connected to update signal in UserSettings void slotUpdateEditorSetting (const QString &, const QString &); }; diff --git a/apps/opencs/view/settings/abstractblock.cpp b/apps/opencs/view/settings/abstractblock.cpp index 72d360348..65825ce8b 100644 --- a/apps/opencs/view/settings/abstractblock.cpp +++ b/apps/opencs/view/settings/abstractblock.cpp @@ -38,27 +38,27 @@ CSVSettings::AbstractWidget *CSVSettings::AbstractBlock::buildWidget (const QStr { case Widget_RadioButton: - widg = createSettingWidget (def, layout); + widg = new SettingWidget (def, layout, mBox); break; case Widget_SpinBox: - widg = createSettingWidget (def, layout); + widg = new SettingWidget (def, layout, mBox); break; case Widget_CheckBox: - widg = createSettingWidget (def, layout); + widg = new SettingWidget (def, layout, mBox); break; case Widget_LineEdit: - widg = createSettingWidget (def, layout); + widg = new SettingWidget (def, layout, mBox); break; case Widget_ListBox: - widg = createSettingWidget (def, layout); + widg = new SettingWidget (def, layout, mBox); break; case Widget_ComboBox: - widg = createSettingWidget (def, layout); + widg = new SettingWidget (def, layout, mBox); break; default: diff --git a/apps/opencs/view/settings/abstractblock.hpp b/apps/opencs/view/settings/abstractblock.hpp index 42e00b6d7..36108d752 100644 --- a/apps/opencs/view/settings/abstractblock.hpp +++ b/apps/opencs/view/settings/abstractblock.hpp @@ -11,6 +11,7 @@ namespace CSVSettings { + /// Abstract base class for all blocks class AbstractBlock : public QObject { Q_OBJECT @@ -31,40 +32,50 @@ namespace CSVSettings bool isVisible() const; virtual CSMSettings::SettingList *getSettings() = 0; + + /// update settings found in the passed map and are encapsulated by the block virtual bool updateSettings (const CSMSettings::SettingMap &settings) = 0; + + /// update callback function called from update slot + /// used for updating application-level settings in the editor virtual bool updateBySignal (const QString &name, const QString &value, bool &doEmit) { return false; } protected: + /// Creates the layout which for the blocks QGroupBox QLayout *createLayout (Orientation direction, bool isZeroMargin, QWidget* parent = 0); + + /// Creates widgets that exist as direct children of the block AbstractWidget *buildWidget (const QString &widgetName, WidgetDef &wDef, QLayout *layout = 0, bool isConnected = true) const; - template - AbstractWidget *createSettingWidget (WidgetDef &wDef, QLayout *layout) const - { - return new SettingWidget (wDef, layout, mBox); - } - QWidget *getParent() const; public slots: + /// enables / disables block-level widgets based on signals from other widgets + /// used in ToggleBlock void slotSetEnabled (bool value); + + /// receives updates to applicaion-level settings in the Editor void slotUpdateSetting (const QString &settingName, const QString &settingValue); private slots: + /// receives updates to a setting in the block pushed from the application level void slotUpdate (const QString &value); signals: - //signal to functions outside the settings tab widget + /// signal to UserSettings instance void signalUpdateSetting (const QString &propertyName, const QString &propertyValue); + + /// signal to widget for updating widget value void signalUpdateWidget (const QString & value); - //propertyName and propertyValue are for properties for which the updated setting acts as a proxy + /// ProxyBlock use only. + /// Name and value correspond to settings for which the block is a proxy. void signalUpdateProxySetting (const QString &propertyName, const QString &propertyValue); }; } diff --git a/apps/opencs/view/settings/abstractpage.cpp b/apps/opencs/view/settings/abstractpage.cpp index 6e34af63b..e6c605275 100644 --- a/apps/opencs/view/settings/abstractpage.cpp +++ b/apps/opencs/view/settings/abstractpage.cpp @@ -29,16 +29,7 @@ CSVSettings::AbstractPage::AbstractPage(const QString &pageName, QWidget *parent CSVSettings::AbstractPage::~AbstractPage() { } -/* -void CSVSettings::AbstractPage::setupUi() -{ - // Hacks to get the stylesheet look properly - #ifdef Q_OS_MAC - QPlastiqueStyle *style = new QPlastiqueStyle; - //profilesComboBox->setStyle(style); - #endif -} -*/ + CSMSettings::SettingList *CSVSettings::AbstractPage::getSettings() { CSMSettings::SettingList *settings = new CSMSettings::SettingList(); diff --git a/apps/opencs/view/settings/abstractpage.hpp b/apps/opencs/view/settings/abstractpage.hpp index 1665b59d2..77ef4524f 100644 --- a/apps/opencs/view/settings/abstractpage.hpp +++ b/apps/opencs/view/settings/abstractpage.hpp @@ -14,6 +14,11 @@ namespace CSVSettings { typedef QList AbstractBlockList; + /// Abstract base class for all setting pages in the dialog + + /// \todo Scripted implementation of settings should eliminate the need + /// \todo derive page classes. + /// \todo AbstractPage should be replaced with a general page construction class. class AbstractPage: public QWidget { @@ -30,14 +35,20 @@ namespace CSVSettings { virtual void setupUi() = 0; + /// triggers widgiet initialization at the page level. All widgets updated to + /// current setting values virtual void initializeWidgets (const CSMSettings::SettingMap &settings) = 0; + /// retrieve the list of settings local to the page. CSMSettings::SettingList *getSettings(); void setObjectName(); protected: + /// Create a block for the page. + /// Block is constructed using passed definition struct + /// Page level-layout is created and assigned template AbstractBlock *buildBlock (T *def) { diff --git a/apps/opencs/view/settings/abstractwidget.hpp b/apps/opencs/view/settings/abstractwidget.hpp index ef00993fc..325de2bd2 100644 --- a/apps/opencs/view/settings/abstractwidget.hpp +++ b/apps/opencs/view/settings/abstractwidget.hpp @@ -8,6 +8,7 @@ class QLayout; namespace CSVSettings { + /// Abstract base class for widgets which are used in user preferences dialog class AbstractWidget : public QObject { Q_OBJECT @@ -16,45 +17,49 @@ namespace CSVSettings public: + /// Passed layout is assigned the constructed widget. + /// if no layout is passed, one is created. explicit AbstractWidget (QLayout *layout = 0, QWidget* parent = 0) : QObject (parent), mLayout (layout) {} - //retrieve layout for insertion into itemblock + /// retrieve layout for insertion into itemblock QLayout *getLayout(); - //create the derived widget instance + /// create the derived widget instance void build (QWidget* widget, WidgetDef &def, bool noLabel = false); - //reference to the derived widget instance + /// reference to the derived widget instance virtual QWidget *widget() = 0; protected: - //called by inbound signal for type-specific widget udpates + /// Callback called by receiving slot for widget udpates virtual void updateWidget (const QString &value) = 0; - //converts user-defined enum to Qt equivalents + /// Converts user-defined enum to Qt equivalents QFlags getAlignment (Alignment flag); private: - //widget initialization utilities + /// Creates layout and assigns label and widget as appropriate void createLayout (Orientation direction, bool isZeroMargin); + + /// Creates label and widget according to passed definition void buildLabelAndWidget (QWidget *widget, WidgetDef &def, bool noLabel); signals: - //outbound update + /// outbound update signal void signalUpdateItem (const QString &value); public slots: - //inbound updates + /// receives inbound updates void slotUpdateWidget (const QString &value); - //Outbound updates from derived widget signal + /// Overloads for outbound updates from derived widget signal void slotUpdateItem (const QString &value); void slotUpdateItem (bool value); void slotUpdateItem (int value); diff --git a/apps/opencs/view/settings/blankpage.cpp b/apps/opencs/view/settings/blankpage.cpp index bf9c3c86e..837a31bee 100644 --- a/apps/opencs/view/settings/blankpage.cpp +++ b/apps/opencs/view/settings/blankpage.cpp @@ -20,16 +20,11 @@ CSVSettings::BlankPage::BlankPage(QWidget *parent): AbstractPage("Blank", parent) { - initPage(); + } CSVSettings::BlankPage::BlankPage(const QString &title, QWidget *parent): AbstractPage(title, parent) -{ - initPage(); -} - -void CSVSettings::BlankPage::initPage() { // Hacks to get the stylesheet look properly #ifdef Q_OS_MAC diff --git a/apps/opencs/view/settings/blankpage.hpp b/apps/opencs/view/settings/blankpage.hpp index 648d373f3..07049fb71 100644 --- a/apps/opencs/view/settings/blankpage.hpp +++ b/apps/opencs/view/settings/blankpage.hpp @@ -10,6 +10,8 @@ namespace CSVSettings { class UserSettings; class AbstractBlock; + /// Derived page with no widgets + /// Reference use only. class BlankPage : public AbstractPage { @@ -20,9 +22,6 @@ namespace CSVSettings { void setupUi(); void initializeWidgets (const CSMSettings::SettingMap &settings); - - private: - void initPage(); }; } diff --git a/apps/opencs/view/settings/customblock.cpp b/apps/opencs/view/settings/customblock.cpp index 933abf423..a07ee5ac9 100644 --- a/apps/opencs/view/settings/customblock.cpp +++ b/apps/opencs/view/settings/customblock.cpp @@ -59,7 +59,7 @@ int CSVSettings::CustomBlock::buildGroupBlock(GroupBlockDef *def) int CSVSettings::CustomBlock::buildProxyBlock(GroupBlockDef *def, ProxyBlock *block) { - if (def->properties.size() != 1) + if (def->settingItems.size() != 1) return -1; int retVal = block->build(def); @@ -67,7 +67,8 @@ int CSVSettings::CustomBlock::buildProxyBlock(GroupBlockDef *def, ProxyBlock *bl if (retVal != 0) return retVal; - foreach (QStringList *list, *(def->properties.at(0)->proxyList)) + // The first settingItem is the proxy setting, containing the list of settings bound to it. + foreach (QStringList *list, *(def->settingItems.at(0)->proxyList)) { QString proxiedBlockName = list->at(0); diff --git a/apps/opencs/view/settings/customblock.hpp b/apps/opencs/view/settings/customblock.hpp index f831a90ba..54c50f395 100644 --- a/apps/opencs/view/settings/customblock.hpp +++ b/apps/opencs/view/settings/customblock.hpp @@ -8,6 +8,8 @@ namespace CSVSettings class ProxyBlock; + /// Base class for customized user preference setting blocks + /// Special block classes should be derived from CustomBlock class CustomBlock : public AbstractBlock { @@ -19,17 +21,26 @@ namespace CSVSettings explicit CustomBlock (QWidget *parent = 0); + /// Update settings local to the block bool updateSettings (const CSMSettings::SettingMap &settings); + + /// Retrieve settings local to the block CSMSettings::SettingList *getSettings(); + + /// construct the block using the passed definition int build (GroupBlockDefList &defList, GroupBlockDefList::Iterator *it = 0); protected: + /// construct the block groupbox GroupBox *buildGroupBox (Orientation orientation); private: + /// Construction function for creating a standard GroupBlock child int buildGroupBlock(GroupBlockDef *def); + + /// Construction function for creating a standard ProxyBlock child int buildProxyBlock(GroupBlockDef *def, ProxyBlock *block); }; } diff --git a/apps/opencs/view/settings/editorpage.cpp b/apps/opencs/view/settings/editorpage.cpp index 7d67312e7..50b5a6536 100644 --- a/apps/opencs/view/settings/editorpage.cpp +++ b/apps/opencs/view/settings/editorpage.cpp @@ -3,13 +3,7 @@ #include "../../model/settings/usersettings.hpp" CSVSettings::EditorPage::EditorPage(QWidget* parent) : - AbstractPage(parent) -{ - setupUi(); -} - -CSVSettings::EditorPage::EditorPage (const QString &pageName, QWidget* parent) - : AbstractPage (pageName, parent) + AbstractPage("Editor", parent) { setupUi(); } @@ -26,7 +20,7 @@ CSVSettings::GroupBlockDef *CSVSettings::EditorPage::setupRecordStatusDisplay() statusItem->widget = statusWidget; - statusBlock->properties << statusItem; + statusBlock->settingItems << statusItem; return statusBlock; } diff --git a/apps/opencs/view/settings/editorpage.hpp b/apps/opencs/view/settings/editorpage.hpp index 09769bf49..85215edab 100644 --- a/apps/opencs/view/settings/editorpage.hpp +++ b/apps/opencs/view/settings/editorpage.hpp @@ -12,15 +12,18 @@ namespace CSVSettings public: explicit EditorPage(QWidget *parent = 0); - explicit EditorPage (const QString &pageName, QWidget* parent = 0); void initializeWidgets (const CSMSettings::SettingMap &settings); void setupUi(); private: + + /// User preference view of the record status delegate's icon / text setting GroupBlockDef *setupRecordStatusDisplay(); signals: + + /// Signals up for changes to editor application-level settings void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); public slots: diff --git a/apps/opencs/view/settings/groupblock.cpp b/apps/opencs/view/settings/groupblock.cpp index f23a4ae28..85720ad41 100644 --- a/apps/opencs/view/settings/groupblock.cpp +++ b/apps/opencs/view/settings/groupblock.cpp @@ -12,7 +12,7 @@ CSVSettings::GroupBlock::GroupBlock (bool isVisible, QWidget *parent) int CSVSettings::GroupBlock::build (GroupBlockDef *def) { - if (def->properties.size() == 0) + if (def->settingItems.size() == 0) return -1; int retVal = 0; @@ -24,7 +24,7 @@ int CSVSettings::GroupBlock::build (GroupBlockDef *def) setObjectName (def->title); mBox->setTitle (def->title); - foreach (SettingsItemDef *itemDef, def->properties) + foreach (SettingsItemDef *itemDef, def->settingItems) { ItemBlock *block = new ItemBlock (mBox); diff --git a/apps/opencs/view/settings/groupblock.hpp b/apps/opencs/view/settings/groupblock.hpp index bd16d0b5b..5c0754193 100644 --- a/apps/opencs/view/settings/groupblock.hpp +++ b/apps/opencs/view/settings/groupblock.hpp @@ -8,6 +8,8 @@ namespace CSVSettings { class ItemBlock; + /// Base class for group blocks. + /// Derived block classes should use CustomBlock class GroupBlock : public AbstractBlock { ItemBlockList mItemBlockList; @@ -16,15 +18,24 @@ namespace CSVSettings GroupBlock (QWidget* parent = 0); GroupBlock (bool isVisible, QWidget *parent = 0); + /// build the gorup block based on passed definition int build (GroupBlockDef *def); + /// update settings local to the group block bool updateSettings (const CSMSettings::SettingMap &settings); + /// retrieve setting list local to the group block CSMSettings::SettingList *getSettings(); + + /// retrieve item block by name from the passed list or local list ItemBlock *getItemBlock (const QString &name, ItemBlockList *blockList = 0); + + /// retrieve the item block by index from the local list ItemBlock *getItemBlock (int index); protected: + + /// create block layout based on passed definition int buildLayout (GroupBlockDef &def); }; diff --git a/apps/opencs/view/settings/groupbox.hpp b/apps/opencs/view/settings/groupbox.hpp index 43cb2e0c3..9d3a01936 100644 --- a/apps/opencs/view/settings/groupbox.hpp +++ b/apps/opencs/view/settings/groupbox.hpp @@ -5,6 +5,7 @@ namespace CSVSettings { + /// Custom implementation of QGroupBox to be used with block classes class GroupBox : public QGroupBox { static const QString INVISIBLE_BOX_STYLE; diff --git a/apps/opencs/view/settings/itemblock.hpp b/apps/opencs/view/settings/itemblock.hpp index c7714ac64..1a5447e31 100644 --- a/apps/opencs/view/settings/itemblock.hpp +++ b/apps/opencs/view/settings/itemblock.hpp @@ -15,22 +15,32 @@ namespace CSVSettings ItemBlock (QWidget* parent = 0); + /// pure virtual function not implemneted bool updateSettings (const CSMSettings::SettingMap &settings) { return false; } CSMSettings::SettingList *getSettings (); + QString getValue () const; + /// item blocks encapsulate only one setting int getSettingCount(); + + /// update setting value and corresponding widget bool update (const QString &value); + /// virtual construction function int build(SettingsItemDef &iDef); private: + /// custom construction function void buildItemBlock (SettingsItemDef& iDef); void buildItemBlockWidgets (SettingsItemDef& iDef); + + /// update the setting value bool updateItem (const QString &); + /// callback function triggered when update to application level is signalled bool updateBySignal (const QString &name, const QString &value, bool &doEmit); }; } diff --git a/apps/opencs/view/settings/proxyblock.cpp b/apps/opencs/view/settings/proxyblock.cpp index f47c9dd07..e13934fc0 100644 --- a/apps/opencs/view/settings/proxyblock.cpp +++ b/apps/opencs/view/settings/proxyblock.cpp @@ -8,7 +8,7 @@ CSVSettings::ProxyBlock::ProxyBlock (QWidget *parent) int CSVSettings::ProxyBlock::build (GroupBlockDef *proxyDef) { //get the list of pre-defined values for the proxy - mValueList = proxyDef->properties.at(0)->valueList; + mValueList = proxyDef->settingItems.at(0)->valueList; bool success = GroupBlock::build(proxyDef); diff --git a/apps/opencs/view/settings/proxyblock.hpp b/apps/opencs/view/settings/proxyblock.hpp index 73d31fecf..90fb9bc97 100644 --- a/apps/opencs/view/settings/proxyblock.hpp +++ b/apps/opencs/view/settings/proxyblock.hpp @@ -9,8 +9,7 @@ namespace CSVSettings { Q_OBJECT - //NOTE: mProxyItemBlockList and mProxyList - //should be combined into a value pair and stored in one list. + /// TODO: Combine mProxyItemBlockList and mProxyList. ItemBlockList mProxiedItemBlockList; ProxyList mProxyList; QStringList *mValueList; @@ -20,17 +19,28 @@ namespace CSVSettings explicit ProxyBlock (QWidget *parent = 0); explicit ProxyBlock (ItemBlock *proxyItemBlock, QWidget *parent = 0); + /// Add a block that contains a proxied setting to the proxy block. void addSetting (ItemBlock* settingBlock, QStringList *proxyList); + int build (GroupBlockDef *def); CSMSettings::SettingList *getSettings() { return 0; } + + /// Update settings local to the proxy block pushed from application level bool updateSettings (const CSMSettings::SettingMap &settings); + + /// callback function triggered when update to the application level is signaled. bool updateBySignal (const QString &name, const QString &value, bool &doEmit); private: + /// return the item block of a proxied setting ItemBlock *getProxiedItemBlock (const QString &name); + + /// update the proxy setting with data from the proxied settings bool updateByProxiedSettings(const CSMSettings::SettingMap *settings = 0); + + /// update proxied settings with data from the proxy setting bool updateProxiedSettings(); private slots: diff --git a/apps/opencs/view/settings/samplepage.cpp b/apps/opencs/view/settings/samplepage.cpp index 1ed2f0505..35a619390 100644 --- a/apps/opencs/view/settings/samplepage.cpp +++ b/apps/opencs/view/settings/samplepage.cpp @@ -44,7 +44,7 @@ void CSVSettings::SamplePage::setupUi() /////////////////////////// SettingsItemDef *undoStackItem = new SettingsItemDef (undoStack->title, "32"); - undoStack->properties << undoStackItem; + undoStack->settingItems << undoStackItem; undoStackItem->minMax.left = "0"; undoStackItem->minMax.right = "64"; @@ -59,7 +59,7 @@ void CSVSettings::SamplePage::setupUi() ///////////////////////////////////// SettingsItemDef *topLevelItem = new SettingsItemDef (topLevelWindowCount->title, "100"); - topLevelWindowCount->properties << topLevelItem; + topLevelWindowCount->settingItems << topLevelItem; topLevelItem->minMax.left = "1"; topLevelItem->minMax.right = "256"; @@ -80,7 +80,7 @@ void CSVSettings::SamplePage::setupUi() reuseSubWidget.valueList = (reuseSubItem->valueList); reuseSubWidget.widgetAlignment = Align_Left; - reuseSubwindow->properties << reuseSubItem; + reuseSubwindow->settingItems << reuseSubItem; reuseSubItem->widget = reuseSubWidget; /////////////////////////////// @@ -98,7 +98,7 @@ void CSVSettings::SamplePage::setupUi() heightItem->widget.widgetWidth = 45; heightItem->widget.caption = "x"; - customWindowSize->properties << widthItem << heightItem; + customWindowSize->settingItems << widthItem << heightItem; customWindowSize->widgetOrientation = Orient_Horizontal; customWindowSize->isVisible = false; @@ -119,7 +119,7 @@ void CSVSettings::SamplePage::setupUi() widthByHeightItem->widget = widthByHeightWidget; - definedWindowSize->properties << widthByHeightItem; + definedWindowSize->settingItems << widthByHeightItem; definedWindowSize->isProxy = true; definedWindowSize->isVisible = false; diff --git a/apps/opencs/view/settings/settingwidget.hpp b/apps/opencs/view/settings/settingwidget.hpp index b29523a3a..738b268b0 100644 --- a/apps/opencs/view/settings/settingwidget.hpp +++ b/apps/opencs/view/settings/settingwidget.hpp @@ -16,7 +16,8 @@ namespace CSVSettings { - //VALID FOR RADIOBUTTON / CHECKBOX (or other toggle widget with it's own label) + + /// Generic template for radiobuttons / checkboxes template class SettingWidget : public AbstractWidget { @@ -47,6 +48,7 @@ namespace CSVSettings } }; + /// spin box template template <> class SettingWidget : public AbstractWidget { @@ -90,6 +92,7 @@ namespace CSVSettings }; + /// combo box template template <> class SettingWidget : public CSVSettings::AbstractWidget { @@ -142,6 +145,7 @@ namespace CSVSettings }; + /// line edit template template <> class SettingWidget : public CSVSettings::AbstractWidget { @@ -175,6 +179,8 @@ namespace CSVSettings } }; + /// list widget template + /// TODO: Not fully implemented. Only widget supporting multi-valued settings template <> class SettingWidget : public CSVSettings::AbstractWidget { diff --git a/apps/opencs/view/settings/support.hpp b/apps/opencs/view/settings/support.hpp index 7185d2706..1df0dac1e 100644 --- a/apps/opencs/view/settings/support.hpp +++ b/apps/opencs/view/settings/support.hpp @@ -44,21 +44,44 @@ namespace CSVSettings Align_Right = Qt::AlignRight }; - //template for defining the widget of a property. + /// definition struct for widgets struct WidgetDef { - WidgetType type; //type of widget providing input - int labelWidth; //width of caption label - int widgetWidth; //width of input widget - Orientation orientation; //label / widget orientation (horizontal / vertical) - QString inputMask; //input mask (line edit) - QString caption; //label caption. Leave empty for multiple items. See BlockDef::captionList - QString value; //widget value. Leave empty for multiple items. See BlockDef::valueList - CSMSettings::QStringPair *minMax; //Min/Max QString value pair. If empty, assigned to property item value pair. - QStringList *valueList; //value list for list widgets. If left empty, is assigned to property item value list during block build(). - bool isDefault; //isDefault - determined at runtime. - Alignment valueAlignment; //left / center / right-justify text in widget - Alignment widgetAlignment; //left / center / right-justify widget in group box + /// type of widget providing input + WidgetType type; + + /// width of caption label + int labelWidth; + + /// width of input widget + int widgetWidth; + + /// label / widget orientation (horizontal / vertical) + Orientation orientation; + + /// input mask (line edit only) + QString inputMask; + + /// label caption. Leave empty for multiple items. See BlockDef::captionList + QString caption; + + /// widget value. Leave empty for multiple items. See BlockDef::valueList + QString value; + + /// Min/Max QString value pair. If empty, assigned to property item value pair. + CSMSettings::QStringPair *minMax; + + /// value list for list widgets. If left empty, is assigned to property item value list during block build(). + QStringList *valueList; + + /// determined at runtime + bool isDefault; + + /// left / center / right-justify text in widget + Alignment valueAlignment; + + /// left / center / right-justify widget in group box + Alignment widgetAlignment; WidgetDef() : labelWidth (-1), widgetWidth (-1), @@ -79,20 +102,34 @@ namespace CSVSettings }; - //Defines the attributes of the property as it is represented in the config file - //as well as the UI elements (group box and widget) that serve it. - //Only one widget may serve as the input widget for the property. + /// Defines the attributes of the setting as it is represented in the config file + /// as well as the UI elements (group box and widget) that serve it. + /// Only one widget may serve as the input widget for the setting. struct SettingsItemDef { - QString name; //property name - QStringList *valueList; //list of valid values for the property. - //Used to populate option widget captions or list widget item lists (see WidgetDef::caption / value) + /// setting name + QString name; + + /// list of valid values for the setting + QStringList *valueList; + + /// Used to populate option widget captions or list widget item lists (see WidgetDef::caption / value) QString defaultValue; + + /// flag indicating multi-valued setting bool hasMultipleValues; - CSMSettings::QStringPair minMax; //minimum / maximum value pair - WidgetDef widget; //definition of the input widget for this setting - Orientation orientation; //general orientation of the widget / label for this property - ProxyList *proxyList; //list of property and corresponding default values for proxy widget + + /// minimum / maximum value pair + CSMSettings::QStringPair minMax; + + /// definition of the input widget for this setting + WidgetDef widget; + + /// general orientation of the widget / label for this setting + Orientation orientation; + + /// list of settings and corresponding default values for proxy widget + ProxyList *proxyList; SettingsItemDef() : name (""), defaultValue (""), orientation (Orient_Vertical), hasMultipleValues (false) {} @@ -104,18 +141,32 @@ namespace CSVSettings }; - //Hierarchically, this is a "sub-section" of properties within a section, solely for UI organization. - //Does not correlate to config file structure. + /// Generic container block struct GroupBlockDef { - QString title; //title of the block containing the property or properties of this sub-section - QStringList captions; //list of captions for widgets at the block level (not associated with any particular property) - WidgetList widgets; //list of widgets at the block level (not associated with any particular property) - QList properties; //list of the property(ies) which are subordinate to the property block. - Orientation widgetOrientation; //general orientation of widgets in group block - bool isVisible; //determines whether or not box border/title are visible - bool isProxy; //indicates whether or not this block defines a proxy block - QString defaultValue; //generic default value attribute + /// block title + QString title; + + /// list of captions for widgets at the block level (not associated with any particular setting) + QStringList captions; + + /// list of widgets at the block level (not associated with any particular setting) + WidgetList widgets; + + /// list of the settings which are subordinate to the setting block. + QList settingItems; + + /// general orientation of widgets in group block + Orientation widgetOrientation; + + /// determines whether or not box border/title are visible + bool isVisible; + + /// indicates whether or not this block defines a proxy block + bool isProxy; + + /// generic default value attribute + QString defaultValue; GroupBlockDef (): title(""), widgetOrientation (Orient_Vertical), isVisible (true), isProxy (false), defaultValue ("") {} @@ -125,11 +176,19 @@ namespace CSVSettings {} }; + /// used to create unique, complex blocks struct CustomBlockDef { + /// block title QString title; - QString defaultValue; //default value for widgets unique to the custom block - GroupBlockDefList blockDefList; //list of settings groups that comprise the settings within the custom block + + /// default value for widgets unique to the custom block + QString defaultValue; + + /// list of settings groups that comprise the settings within the custom block + GroupBlockDefList blockDefList; + + /// orientation of the widgets within the block Orientation blockOrientation; CustomBlockDef (): title (""), defaultValue (""), blockOrientation (Orient_Horizontal) diff --git a/apps/opencs/view/settings/toggleblock.hpp b/apps/opencs/view/settings/toggleblock.hpp index db617e767..4b6e8e344 100644 --- a/apps/opencs/view/settings/toggleblock.hpp +++ b/apps/opencs/view/settings/toggleblock.hpp @@ -21,6 +21,8 @@ namespace CSVSettings int build (CustomBlockDef *def); private: + /// Constructor for toggle widgets that are specific to toggle block + /// Widgets are not a part of the user preference settings GroupBox *buildToggleWidgets (GroupBlockDef *def, QString &defaultToggle); }; } diff --git a/apps/opencs/view/settings/usersettingsdialog.cpp b/apps/opencs/view/settings/usersettingsdialog.cpp index ac1a5ead7..0f38bf560 100644 --- a/apps/opencs/view/settings/usersettingsdialog.cpp +++ b/apps/opencs/view/settings/usersettingsdialog.cpp @@ -9,19 +9,15 @@ #include #include #include -<<<<<<< HEAD + #include -#include "blankpage.hpp" #include "samplepage.hpp" -======= + #include -#include "blankpage.hpp" #include "editorpage.hpp" #include "windowpage.hpp" -#include "../../model/settings/support.hpp" ->>>>>>> df1f1bd5c81d94a1ea2693000ec5dc589b069826 #include "../../model/settings/support.hpp" #include @@ -32,12 +28,7 @@ CSVSettings::UserSettingsDialog::UserSettingsDialog(QMainWindow *parent) : { setWindowTitle(QString::fromUtf8 ("User Settings")); buildPages(); -<<<<<<< HEAD setWidgetStates (); -======= - setWidgetStates (CSMSettings::UserSettings::instance().getSettingsMap()); ->>>>>>> df1f1bd5c81d94a1ea2693000ec5dc589b069826 - positionWindow (); connect (mListWidget, SIGNAL (currentItemChanged(QListWidgetItem*, QListWidgetItem*)), @@ -63,11 +54,12 @@ void CSVSettings::UserSettingsDialog::setWidgetStates () for (int i = 0; i < mStackedWidget->count(); i++) { //get the settings defined for the entire section - CSMSettings::SettingMap *settings = sectionSettings [mStackedWidget->widget(i)->objectName()]; + //and update widget + QString pageName = mStackedWidget->widget(i)->objectName(); - //if found, initialize the page's widgets - if (settings) + if (sectionSettings.find(pageName) != sectionSettings.end()) { + CSMSettings::SettingMap *settings = sectionSettings.value(pageName); AbstractPage *page = getAbstractPage (i); page->initializeWidgets(*settings); } @@ -97,62 +89,11 @@ void CSVSettings::UserSettingsDialog::buildPages() setCentralWidget (centralWidget); setDockOptions (QMainWindow::AllowNestedDocks); - //uncomment to test with sample editor page. -<<<<<<< HEAD - // TODO: Reimplement sample page using createPage function - //createPage("Sample"); - createPage("Editor"); -======= - //createSamplePage(); - /*createPage("Page1"); ->>>>>>> df1f1bd5c81d94a1ea2693000ec5dc589b069826 - createPage("Page2"); - createPage("Page3");*/ - createWindowPage(); -} - -void CSVSettings::UserSettingsDialog::createSamplePage() -{ - //add pages to stackedwidget and items to listwidget - CSVSettings::AbstractPage *page - = new CSVSettings::SamplePage(this); - - mStackedWidget->addWidget (page); - - connect ( page, - SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &)), - &(CSMSettings::UserSettings::instance()), - SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &))); + createPage(); + createPage(); - new QListWidgetItem (page->objectName(), mListWidget); } -void CSVSettings::UserSettingsDialog::createWindowPage() -{ - //add pages to stackedwidget and items to listwidget - CSVSettings::AbstractPage *page - = new CSVSettings::WindowPage(this); - - mStackedWidget->addWidget (page); - - new QListWidgetItem (page->objectName(), mListWidget); - - connect ( page, SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &)), - &(CSMSettings::UserSettings::instance()), SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &))); -} - -<<<<<<< HEAD -======= -void CSVSettings::UserSettingsDialog::positionWindow () -{ - QRect scr = QApplication::desktop()->screenGeometry(); - - move(scr.center().x() - (width() / 2), scr.center().y() - (height() / 2)); - -} - - ->>>>>>> df1f1bd5c81d94a1ea2693000ec5dc589b069826 void CSVSettings::UserSettingsDialog::writeSettings() { QMap settings; @@ -162,15 +103,7 @@ void CSVSettings::UserSettingsDialog::writeSettings() AbstractPage *page = getAbstractPage (i); settings [page->objectName()] = page->getSettings(); } - -<<<<<<< HEAD - CSMSettings::UserSettings::instance().writeFile(settings); -======= - QStringList paths = CSMSettings::UserSettings::instance().getSettingsFiles(); - - CSMSettings::UserSettings::instance().writeFile(CSMSettings::UserSettings::instance().openFile(paths.back()), settings); ->>>>>>> df1f1bd5c81d94a1ea2693000ec5dc589b069826 - + CSMSettings::UserSettings::instance().writeSettings(settings); } CSVSettings::AbstractPage *CSVSettings::UserSettingsDialog::getAbstractPage (int index) diff --git a/apps/opencs/view/settings/usersettingsdialog.hpp b/apps/opencs/view/settings/usersettingsdialog.hpp index 620bf2f43..a992dbdf8 100644 --- a/apps/opencs/view/settings/usersettingsdialog.hpp +++ b/apps/opencs/view/settings/usersettingsdialog.hpp @@ -33,33 +33,27 @@ namespace CSVSettings { private: + /// Settings are written on close void closeEvent (QCloseEvent *event); + + /// return the setting page by name + /// performs dynamic cast to AbstractPage * AbstractPage *getAbstractPage (int index); void setWidgetStates (); void buildPages(); - void positionWindow (); void writeSettings(); - void createSamplePage(); - - //Pages - void createWindowPage(); + /// Templated function to create a custom user preference page template - void createPage (const QString &title) + void createPage () { - T *page = new T(title, this); + T *page = new T(mStackedWidget); mStackedWidget->addWidget (dynamic_cast(page)); new QListWidgetItem (page->objectName(), mListWidget); //finishing touches - if (mStackedWidget->sizeHint().width() < 640) - mStackedWidget->sizeHint().setWidth(640); - - if (mStackedWidget->sizeHint().height() < 480) - mStackedWidget->sizeHint().setHeight(480); - QFontMetrics fm (QApplication::font()); int textWidth = fm.width(page->objectName()); @@ -70,6 +64,8 @@ namespace CSVSettings { } public slots: + + /// Called when a different page is selected in the left-hand list widget void slotChangePage (QListWidgetItem*, QListWidgetItem*); }; diff --git a/apps/opencs/view/settings/windowpage.cpp b/apps/opencs/view/settings/windowpage.cpp index e8677fa42..fa7ee9b3e 100644 --- a/apps/opencs/view/settings/windowpage.cpp +++ b/apps/opencs/view/settings/windowpage.cpp @@ -16,6 +16,7 @@ #include "../../model/settings/usersettings.hpp" #include "groupblock.hpp" #include "toggleblock.hpp" +#include "../../view/settings/abstractblock.hpp" CSVSettings::WindowPage::WindowPage(QWidget *parent): AbstractPage("Window Size", parent) @@ -29,35 +30,10 @@ CSVSettings::WindowPage::WindowPage(QWidget *parent): setupUi(); } -void CSVSettings::WindowPage::setupUi() +CSVSettings::GroupBlockDef * CSVSettings::WindowPage::buildDefinedWindowSize() { - GroupBlockDef customWindowSize (QString ("Custom Window Size")); - GroupBlockDef definedWindowSize (QString ("Pre-Defined Window Size")); - GroupBlockDef windowSizeToggle (QString ("Window Size")); - CustomBlockDef windowSize (QString ("Window Size")); - - - /////////////////////////////// - //custom window size properties - /////////////////////////////// - - //custom width - SettingsItemDef *widthItem = new SettingsItemDef ("Width", "640"); - widthItem->widget = WidgetDef (Widget_LineEdit); - widthItem->widget.widgetWidth = 45; - - //custom height - SettingsItemDef *heightItem = new SettingsItemDef ("Height", "480"); - heightItem->widget = WidgetDef (Widget_LineEdit); - heightItem->widget.widgetWidth = 45; - heightItem->widget.caption = "x"; - - customWindowSize.properties << widthItem << heightItem; - customWindowSize.widgetOrientation = Orient_Horizontal; - customWindowSize.isVisible = false; + GroupBlockDef *block = new GroupBlockDef ( "Defined Size"); - - //pre-defined SettingsItemDef *widthByHeightItem = new SettingsItemDef ("Window Size", "640x480"); WidgetDef widthByHeightWidget = WidgetDef (Widget_ComboBox); widthByHeightWidget.widgetWidth = 90; @@ -73,27 +49,72 @@ void CSVSettings::WindowPage::setupUi() widthByHeightItem->widget = widthByHeightWidget; - definedWindowSize.properties << widthByHeightItem; - definedWindowSize.isProxy = true; - definedWindowSize.isVisible = false; + block->settingItems << widthByHeightItem; + block->isProxy = true; + block->isVisible = false; + + return block; +} + +CSVSettings::GroupBlockDef *CSVSettings::WindowPage::buildCustomWindowSize() +{ + GroupBlockDef *block = new GroupBlockDef ("Custom Size"); + + //custom width + SettingsItemDef *widthItem = new SettingsItemDef ("Width", "640"); + widthItem->widget = WidgetDef (Widget_LineEdit); + widthItem->widget.widgetWidth = 45; + + //custom height + SettingsItemDef *heightItem = new SettingsItemDef ("Height", "480"); + heightItem->widget = WidgetDef (Widget_LineEdit); + heightItem->widget.widgetWidth = 45; + heightItem->widget.caption = "x"; + + block->settingItems << widthItem << heightItem; + block->widgetOrientation = Orient_Horizontal; + block->isVisible = false; + + return block; +} + +CSVSettings::GroupBlockDef *CSVSettings::WindowPage::buildWindowSizeToggle() +{ + GroupBlockDef *block = new GroupBlockDef ("Window Size"); // window size toggle - windowSizeToggle.captions << "Pre-Defined" << "Custom"; - windowSizeToggle.widgetOrientation = Orient_Vertical; - windowSizeToggle.isVisible = false; + block->captions << "Pre-Defined" << "Custom"; + block->widgetOrientation = Orient_Vertical; + block->isVisible = false; //define a widget for each group in the toggle for (int i = 0; i < 2; i++) - windowSizeToggle.widgets << new WidgetDef (Widget_RadioButton); + block->widgets << new WidgetDef (Widget_RadioButton); - windowSizeToggle.widgets.at(0)->isDefault = false; + block->widgets.at(0)->isDefault = false; - windowSize.blockDefList << &windowSizeToggle << &definedWindowSize << &customWindowSize; - windowSize.defaultValue = "Custom"; + return block; +} + +CSVSettings::CustomBlockDef *CSVSettings::WindowPage::buildWindowSize(GroupBlockDef *toggle_def, + GroupBlockDef *defined_def, + GroupBlockDef *custom_def) +{ + CustomBlockDef *block = new CustomBlockDef(QString ("Window Size")); - QGridLayout *pageLayout = new QGridLayout(this); + block->blockDefList << toggle_def << defined_def << custom_def; + block->defaultValue = "Custom"; - setLayout (pageLayout); + return block; + +} + +void CSVSettings::WindowPage::setupUi() +{ + CustomBlockDef *windowSize = buildWindowSize(buildWindowSizeToggle(), + buildDefinedWindowSize(), + buildCustomWindowSize() + ); mAbstractBlocks << buildBlock (windowSize); @@ -102,8 +123,15 @@ void CSVSettings::WindowPage::setupUi() connect (block, SIGNAL (signalUpdateSetting (const QString &, const QString &)), this, SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)) ); } + + connect ( this, + SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &)), + &(CSMSettings::UserSettings::instance()), + SIGNAL ( signalUpdateEditorSetting (const QString &, const QString &))); + } + void CSVSettings::WindowPage::initializeWidgets (const CSMSettings::SettingMap &settings) { //iterate each item in each blocks in this section diff --git a/apps/opencs/view/settings/windowpage.hpp b/apps/opencs/view/settings/windowpage.hpp index 7978263fc..2f2830625 100644 --- a/apps/opencs/view/settings/windowpage.hpp +++ b/apps/opencs/view/settings/windowpage.hpp @@ -21,6 +21,12 @@ namespace CSVSettings { void setupUi(); void initializeWidgets (const CSMSettings::SettingMap &settings); + /// + GroupBlockDef *buildCustomWindowSize(); + GroupBlockDef *buildDefinedWindowSize(); + GroupBlockDef *buildWindowSizeToggle(); + CustomBlockDef *buildWindowSize (GroupBlockDef *, GroupBlockDef *, GroupBlockDef *); + signals: void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); }; diff --git a/apps/opencs/view/world/recordstatusdelegate.cpp b/apps/opencs/view/world/recordstatusdelegate.cpp index 3c61c4af4..243f509ef 100644 --- a/apps/opencs/view/world/recordstatusdelegate.cpp +++ b/apps/opencs/view/world/recordstatusdelegate.cpp @@ -10,6 +10,7 @@ CSVWorld::RecordStatusDelegate::RecordStatusDelegate(QUndoStack &undoStack, QObj mModifiedIcon = new QIcon (":./modified.png"); mAddedIcon = new QIcon (":./added.png"); mDeletedIcon = new QIcon (":./removed.png"); + mBaseIcon = new QIcon (":./base.png"); mIconSize = 16; //Offset values are most likely device-dependent. @@ -38,6 +39,7 @@ void CSVWorld::RecordStatusDelegate::paint (QPainter *painter, const QStyleOptio { case 0: // State_BaseOnly text = "Base"; + icon = mBaseIcon; break; case 1: // State_Modified diff --git a/apps/opencs/view/world/recordstatusdelegate.hpp b/apps/opencs/view/world/recordstatusdelegate.hpp index 3f53f2f55..b67226ad5 100644 --- a/apps/opencs/view/world/recordstatusdelegate.hpp +++ b/apps/opencs/view/world/recordstatusdelegate.hpp @@ -21,6 +21,7 @@ namespace CSVWorld QIcon *mModifiedIcon; QIcon *mAddedIcon; QIcon *mDeletedIcon; + QIcon *mBaseIcon; int mStatusDisplay; diff --git a/files/opencs/resources.qrc b/files/opencs/resources.qrc index e2ad0ffd6..926bda064 100644 --- a/files/opencs/resources.qrc +++ b/files/opencs/resources.qrc @@ -4,5 +4,6 @@ added.png modified.png removed.png + base.png From f4a2cf64c2e2352f833dc2031bfd9820c43dfd7e Mon Sep 17 00:00:00 2001 From: graffy76 Date: Thu, 20 Jun 2013 18:07:34 -0500 Subject: [PATCH 31/38] Removed CSVSettings::SamplePage class files --- apps/opencs/view/settings/samplepage.cpp | 159 ----------------------- apps/opencs/view/settings/samplepage.hpp | 28 ---- 2 files changed, 187 deletions(-) delete mode 100644 apps/opencs/view/settings/samplepage.cpp delete mode 100644 apps/opencs/view/settings/samplepage.hpp diff --git a/apps/opencs/view/settings/samplepage.cpp b/apps/opencs/view/settings/samplepage.cpp deleted file mode 100644 index 35a619390..000000000 --- a/apps/opencs/view/settings/samplepage.cpp +++ /dev/null @@ -1,159 +0,0 @@ -#include "samplepage.hpp" - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef Q_OS_MAC -#include -#endif - -#include "../../model/settings/usersettings.hpp" -#include "groupblock.hpp" -#include "toggleblock.hpp" - -CSVSettings::SamplePage::SamplePage(QWidget *parent): - AbstractPage("Editor", parent) -{ - // Hacks to get the stylesheet look properly -#ifdef Q_OS_MAC - QPlastiqueStyle *style = new QPlastiqueStyle; - //profilesComboBox->setStyle(style); -#endif - - setupUi(); -} - -void CSVSettings::SamplePage::setupUi() -{ - GroupBlockDef *undoStack = new GroupBlockDef(QString("Undo Stack Size")); - GroupBlockDef *topLevelWindowCount = new GroupBlockDef(QString("Maximum Top-Level Window Count")); - GroupBlockDef *reuseSubwindow = new GroupBlockDef(QString("Reuse Subwindows")); - GroupBlockDef *customWindowSize = new GroupBlockDef(QString ("Custom Window Size")); - GroupBlockDef *definedWindowSize = new GroupBlockDef(QString ("Pre-Defined Window Size")); - GroupBlockDef *windowSizeToggle = new GroupBlockDef(QString ("Window Size")); - CustomBlockDef *windowSize = new CustomBlockDef(QString ("Window Size")); - - //////////////////////////// - //undo stack size property - /////////////////////////// - - SettingsItemDef *undoStackItem = new SettingsItemDef (undoStack->title, "32"); - undoStack->settingItems << undoStackItem; - undoStackItem->minMax.left = "0"; - undoStackItem->minMax.right = "64"; - - WidgetDef stackWidget (Widget_SpinBox); - stackWidget.minMax = &(undoStackItem->minMax); - stackWidget.widgetWidth = 50; - - undoStackItem->widget = stackWidget; - - ////////////////////////////////////// - //number of top level windows property - ///////////////////////////////////// - - SettingsItemDef *topLevelItem = new SettingsItemDef (topLevelWindowCount->title, "100"); - topLevelWindowCount->settingItems << topLevelItem; - topLevelItem->minMax.left = "1"; - topLevelItem->minMax.right = "256"; - - WidgetDef topLvlWinWidget (Widget_SpinBox); - topLvlWinWidget.minMax = &(topLevelItem->minMax); - topLvlWinWidget.widgetWidth = 50; - - topLevelItem->widget = topLvlWinWidget; - - /////////////////////////// - //reuse subwindows property - //////////////////////////// - - SettingsItemDef *reuseSubItem = new SettingsItemDef (reuseSubwindow->title, "Reuse Subwindows"); - *(reuseSubItem->valueList) << "None" << "Top-Level" << "Document-Level"; - - WidgetDef reuseSubWidget (Widget_RadioButton); - reuseSubWidget.valueList = (reuseSubItem->valueList); - reuseSubWidget.widgetAlignment = Align_Left; - - reuseSubwindow->settingItems << reuseSubItem; - reuseSubItem->widget = reuseSubWidget; - - /////////////////////////////// - //custom window size properties - /////////////////////////////// - - //custom width - SettingsItemDef *widthItem = new SettingsItemDef ("Window Width", "640"); - widthItem->widget = WidgetDef (Widget_LineEdit); - widthItem->widget.widgetWidth = 45; - - //custom height - SettingsItemDef *heightItem = new SettingsItemDef ("Window Height", "480"); - heightItem->widget = WidgetDef (Widget_LineEdit); - heightItem->widget.widgetWidth = 45; - heightItem->widget.caption = "x"; - - customWindowSize->settingItems << widthItem << heightItem; - customWindowSize->widgetOrientation = Orient_Horizontal; - customWindowSize->isVisible = false; - - - //pre-defined - SettingsItemDef *widthByHeightItem = new SettingsItemDef ("Window Size", "640x480"); - WidgetDef widthByHeightWidget = WidgetDef (Widget_ComboBox); - widthByHeightWidget.widgetWidth = 90; - *(widthByHeightItem->valueList) << "640x480" << "800x600" << "1024x768"; - - QStringList *widthProxy = new QStringList; - QStringList *heightProxy = new QStringList; - - (*widthProxy) << "Window Width" << "640" << "800" << "1024"; - (*heightProxy) << "Window Height" << "480" << "600" << "768"; - - *(widthByHeightItem->proxyList) << widthProxy << heightProxy; - - widthByHeightItem->widget = widthByHeightWidget; - - definedWindowSize->settingItems << widthByHeightItem; - definedWindowSize->isProxy = true; - definedWindowSize->isVisible = false; - - // window size toggle - windowSizeToggle->captions << "Pre-Defined" << "Custom"; - windowSizeToggle->widgetOrientation = Orient_Vertical; - windowSizeToggle->isVisible = false; - - //define a widget for each group in the toggle - for (int i = 0; i < 2; i++) - windowSizeToggle->widgets << new WidgetDef (Widget_RadioButton); - - windowSizeToggle->widgets.at(0)->isDefault = false; - - windowSize->blockDefList << windowSizeToggle << definedWindowSize << customWindowSize; - windowSize->defaultValue = "Custom"; - - mAbstractBlocks << buildBlock (topLevelWindowCount) - << buildBlock (reuseSubwindow) - << buildBlock (windowSize) - << buildBlock (undoStack); - - foreach (AbstractBlock *block, mAbstractBlocks) - { - connect (block, SIGNAL (signalUpdateSetting (const QString &, const QString &)), - this, SIGNAL (signalUpdateEditorSetting (const QString &, const QString &)) ); - } -} - -void CSVSettings::SamplePage::initializeWidgets (const CSMSettings::SettingMap &settings) -{ - //iterate each item in each blocks in this section - //validate the corresponding setting against the defined valuelist if any. - for (AbstractBlockList::Iterator it_block = mAbstractBlocks.begin(); - it_block != mAbstractBlocks.end(); ++it_block) - (*it_block)->updateSettings (settings); -} diff --git a/apps/opencs/view/settings/samplepage.hpp b/apps/opencs/view/settings/samplepage.hpp deleted file mode 100644 index 3a9448bad..000000000 --- a/apps/opencs/view/settings/samplepage.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef SAMPLEPAGE_H -#define SAMPLEPAGE_H - -#include "abstractpage.hpp" - -class QGroupBox; - -namespace CSVSettings { - - class UserSettings; - class AbstractBlock; - - class SamplePage : public AbstractPage - { - Q_OBJECT - - public: - - explicit SamplePage(QWidget *parent = 0); - - void setupUi(); - void initializeWidgets (const CSMSettings::SettingMap &settings); - - signals: - void signalUpdateEditorSetting (const QString &settingName, const QString &settingValue); - }; -} -#endif //SAMPLEPAGE_H From b3d185e4211d65eb7f70a8ca607ef85ab930aba7 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Thu, 20 Jun 2013 18:08:53 -0500 Subject: [PATCH 32/38] Unsaved changes missed in previous commits --- apps/opencs/model/settings/settingsitem.hpp | 1 - apps/opencs/model/settings/usersettings.hpp | 4 ++-- apps/opencs/view/settings/settingwidget.hpp | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/opencs/model/settings/settingsitem.hpp b/apps/opencs/model/settings/settingsitem.hpp index 4139b8545..c2587e892 100644 --- a/apps/opencs/model/settings/settingsitem.hpp +++ b/apps/opencs/model/settings/settingsitem.hpp @@ -56,7 +56,6 @@ namespace CSMSettings /// Verifies that the supplied value is one of the following: /// 1. Within the limits of the value pair (min / max) /// 2. One of the values indicated in the value list - /// TODO: value list logic iterates QList. Should use find() instead. bool validate (const QString &value); }; } diff --git a/apps/opencs/model/settings/usersettings.hpp b/apps/opencs/model/settings/usersettings.hpp index 213c5a35c..da8408b3e 100644 --- a/apps/opencs/model/settings/usersettings.hpp +++ b/apps/opencs/model/settings/usersettings.hpp @@ -53,8 +53,8 @@ namespace CSMSettings { /// Retrieves the settings file at all three levels (global, local and user). - /// TODO: Multi-valued settings are not fully implemented. Setting values - /// loaded in later files will always overwrite previously loaded values. + /// \todo Multi-valued settings are not fully implemented. Setting values + /// \todo loaded in later files will always overwrite previously loaded values. void loadSettings (const QString &fileName); /// Returns the entire map of settings across all sections diff --git a/apps/opencs/view/settings/settingwidget.hpp b/apps/opencs/view/settings/settingwidget.hpp index 738b268b0..9f4513671 100644 --- a/apps/opencs/view/settings/settingwidget.hpp +++ b/apps/opencs/view/settings/settingwidget.hpp @@ -180,7 +180,7 @@ namespace CSVSettings }; /// list widget template - /// TODO: Not fully implemented. Only widget supporting multi-valued settings + /// \todo Not fully implemented. Only widget supporting multi-valued settings template <> class SettingWidget : public CSVSettings::AbstractWidget { From 75d7d3b7fce9ad0d368525993ff853dccadac6ea Mon Sep 17 00:00:00 2001 From: graffy76 Date: Fri, 21 Jun 2013 12:28:07 -0500 Subject: [PATCH 33/38] Added base.png --- files/opencs/base.png | Bin 0 -> 460 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 files/opencs/base.png diff --git a/files/opencs/base.png b/files/opencs/base.png new file mode 100644 index 0000000000000000000000000000000000000000..4398e2d687b72da2a27ad5b5172d4a746f462be3 GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8!2P z6$mqaNSWjX6qGD+jVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw>;fq~J})5S3) zqV?@`d%wd5GOhNPSMZ+UEZ?Azou;B9VOzkecVLpY!G!9RR}4bN#b)Ivcr}vL*M=NQ zX!l!qW7Qnh{7p}ue795o_noDHNv9$BHs8Yh2i!MYuKke;aFF3xz&fw-I)`!5)MYRC zPBH4JzHGAQ`fG`bZiD%@(}IFTTm>37=~OpFuBf+LaglM+!oFSWE=I{8b@B3?_dJgw zDtpzcUo0jYzJ8g2TV&9xO_E>RZadK yi< Date: Fri, 21 Jun 2013 23:23:43 -0500 Subject: [PATCH 34/38] Fixed broken references and other bugs Removed references to CSVSettings::SamplePage class Removed multiple QDebug references Fixed custom LineEdits (window size user pref) would not accept data --- apps/launcher/settings/gamesettings.cpp | 2 -- apps/launcher/settings/settingsbase.hpp | 2 -- apps/opencs/model/doc/document.cpp | 3 --- apps/opencs/model/settings/settingsitem.cpp | 19 ++++++++++++++++--- apps/opencs/model/settings/usersettings.cpp | 4 ---- apps/opencs/view/doc/view.cpp | 1 - apps/opencs/view/doc/viewmanager.cpp | 1 - apps/opencs/view/settings/proxyblock.cpp | 3 +++ .../view/settings/usersettingsdialog.cpp | 4 ---- apps/opencs/view/settings/windowpage.cpp | 2 ++ .../fileorderlist/model/datafilesmodel.cpp | 3 ++- 11 files changed, 23 insertions(+), 21 deletions(-) diff --git a/apps/launcher/settings/gamesettings.cpp b/apps/launcher/settings/gamesettings.cpp index 1b0a2e9bf..205879bc3 100644 --- a/apps/launcher/settings/gamesettings.cpp +++ b/apps/launcher/settings/gamesettings.cpp @@ -6,8 +6,6 @@ #include #include -#include - #include #include diff --git a/apps/launcher/settings/settingsbase.hpp b/apps/launcher/settings/settingsbase.hpp index 6bf2eff66..ed8ada56c 100644 --- a/apps/launcher/settings/settingsbase.hpp +++ b/apps/launcher/settings/settingsbase.hpp @@ -7,8 +7,6 @@ #include #include -#include - template class SettingsBase { diff --git a/apps/opencs/model/doc/document.cpp b/apps/opencs/model/doc/document.cpp index 7a66487fb..a4e357416 100644 --- a/apps/opencs/model/doc/document.cpp +++ b/apps/opencs/model/doc/document.cpp @@ -1,9 +1,6 @@ - #include "document.hpp" - #include -#include void CSMDoc::Document::load (const std::vector::const_iterator& begin, const std::vector::const_iterator& end, bool lastAsModified) { diff --git a/apps/opencs/model/settings/settingsitem.cpp b/apps/opencs/model/settings/settingsitem.cpp index 2e6172cb8..5d897448a 100644 --- a/apps/opencs/model/settings/settingsitem.cpp +++ b/apps/opencs/model/settings/settingsitem.cpp @@ -1,5 +1,7 @@ #include "settingsitem.hpp" +#include + bool CSMSettings::SettingsItem::updateItem (const QStringList *values) { QStringList::ConstIterator it = values->begin(); @@ -66,10 +68,21 @@ bool CSMSettings::SettingsItem::updateItem(int valueListIndex) bool CSMSettings::SettingsItem::validate (const QString &value) { - //validation required only if a value list or min/max value pair has been provided - bool isValid = (mValueList->find(value) != mValueList->end()); + //if there is no value list or value pair, there is no validation to do + bool isValid = !(!mValueList->isEmpty() || mValuePair); - if (!isValid && mValuePair) + if (!isValid && !mValueList->isEmpty()) + { + for (QStringList::Iterator it = mValueList->begin(); it != mValueList->end(); ++it) + // foreach (QString listItem, *mValueList) + { + isValid = (value == *it); + + if (isValid) + break; + } + } + else if (!isValid && mValuePair) { int numVal = value.toInt(); diff --git a/apps/opencs/model/settings/usersettings.cpp b/apps/opencs/model/settings/usersettings.cpp index 5bd2343cd..2175c7364 100644 --- a/apps/opencs/model/settings/usersettings.cpp +++ b/apps/opencs/model/settings/usersettings.cpp @@ -9,16 +9,12 @@ #include #include - #include #include - #include "settingcontainer.hpp" - #include -#include /** * Workaround for problems with whitespaces in paths in older versions of Boost library */ diff --git a/apps/opencs/view/doc/view.cpp b/apps/opencs/view/doc/view.cpp index ad88467df..e82629ff2 100644 --- a/apps/opencs/view/doc/view.cpp +++ b/apps/opencs/view/doc/view.cpp @@ -8,7 +8,6 @@ #include #include #include -#include #include "../../model/doc/document.hpp" #include "../world/subviews.hpp" diff --git a/apps/opencs/view/doc/viewmanager.cpp b/apps/opencs/view/doc/viewmanager.cpp index 7e00697c3..bf9da68a0 100644 --- a/apps/opencs/view/doc/viewmanager.cpp +++ b/apps/opencs/view/doc/viewmanager.cpp @@ -21,7 +21,6 @@ #include #include -#include void CSVDoc::ViewManager::updateIndices() { std::map > documents; diff --git a/apps/opencs/view/settings/proxyblock.cpp b/apps/opencs/view/settings/proxyblock.cpp index e13934fc0..81cc54fca 100644 --- a/apps/opencs/view/settings/proxyblock.cpp +++ b/apps/opencs/view/settings/proxyblock.cpp @@ -53,6 +53,8 @@ bool CSVSettings::ProxyBlock::updateProxiedSettings() bool success = false; int i = 0; + + //find the value index of the selected value in the proxy setting for (; i < mValueList->size(); ++i) { success = (value == mValueList->at(i)); @@ -64,6 +66,7 @@ bool CSVSettings::ProxyBlock::updateProxiedSettings() if (!success) return false; + // update the containing the proxied item's name foreach (QStringList *list, mProxyList) { if ( list->at(0) == block->objectName()) diff --git a/apps/opencs/view/settings/usersettingsdialog.cpp b/apps/opencs/view/settings/usersettingsdialog.cpp index 0f38bf560..64b9aacff 100644 --- a/apps/opencs/view/settings/usersettingsdialog.cpp +++ b/apps/opencs/view/settings/usersettingsdialog.cpp @@ -12,10 +12,6 @@ #include -#include "samplepage.hpp" - -#include - #include "editorpage.hpp" #include "windowpage.hpp" diff --git a/apps/opencs/view/settings/windowpage.cpp b/apps/opencs/view/settings/windowpage.cpp index fa7ee9b3e..5bf5f2161 100644 --- a/apps/opencs/view/settings/windowpage.cpp +++ b/apps/opencs/view/settings/windowpage.cpp @@ -64,12 +64,14 @@ CSVSettings::GroupBlockDef *CSVSettings::WindowPage::buildCustomWindowSize() SettingsItemDef *widthItem = new SettingsItemDef ("Width", "640"); widthItem->widget = WidgetDef (Widget_LineEdit); widthItem->widget.widgetWidth = 45; + widthItem->widget.inputMask = "9999"; //custom height SettingsItemDef *heightItem = new SettingsItemDef ("Height", "480"); heightItem->widget = WidgetDef (Widget_LineEdit); heightItem->widget.widgetWidth = 45; heightItem->widget.caption = "x"; + heightItem->widget.inputMask = "9999"; block->settingItems << widthItem << heightItem; block->widgetOrientation = Orient_Horizontal; diff --git a/components/fileorderlist/model/datafilesmodel.cpp b/components/fileorderlist/model/datafilesmodel.cpp index 9f2e470b2..02a6766b0 100644 --- a/components/fileorderlist/model/datafilesmodel.cpp +++ b/components/fileorderlist/model/datafilesmodel.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include @@ -12,6 +11,8 @@ #include "datafilesmodel.hpp" +#include + DataFilesModel::DataFilesModel(QObject *parent) : QAbstractTableModel(parent) { From 62e164b2aa918906a830c58a7c74f5ade645c4a2 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Sat, 22 Jun 2013 07:43:28 -0500 Subject: [PATCH 35/38] Fixed load file error if no file is found --- apps/opencs/model/settings/usersettings.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/opencs/model/settings/usersettings.cpp b/apps/opencs/model/settings/usersettings.cpp index 2175c7364..c17f28d4e 100644 --- a/apps/opencs/model/settings/usersettings.cpp +++ b/apps/opencs/model/settings/usersettings.cpp @@ -177,9 +177,9 @@ void CSMSettings::UserSettings::loadFromFile(const QString &filePath) } mSectionSettings.insert(section, settings); - } - stream->device()->close(); + stream->device()->close(); + } return; } From 7175c7cfe0330f88660378aab65a6a30456c9a22 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Sun, 23 Jun 2013 21:17:52 -0500 Subject: [PATCH 36/38] Updated OpenMW project CMakeLists.txt to include opencs.cfg file installation. --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index f86d92aef..ce29e66f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -297,9 +297,12 @@ configure_file(${OpenMW_SOURCE_DIR}/files/transparency-overrides.cfg configure_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg.local "${OpenMW_BINARY_DIR}/openmw.cfg") + configure_file(${OpenMW_SOURCE_DIR}/files/openmw.cfg "${OpenMW_BINARY_DIR}/openmw.cfg.install") +configure_file(${OpenMW_SOURCE_DIR}/files/opencs.cfg + "${OpenMW_BINARY_DIR}/opencs.cfg") if (NOT WIN32 AND NOT APPLE) configure_file(${OpenMW_SOURCE_DIR}/files/openmw.desktop @@ -344,6 +347,7 @@ if(DPKG_PROGRAM) INSTALL(FILES "${OpenMW_BINARY_DIR}/settings-default.cfg" DESTINATION "../etc/openmw/" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ COMPONENT "openmw") INSTALL(FILES "${OpenMW_BINARY_DIR}/transparency-overrides.cfg" DESTINATION "../etc/openmw/" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ COMPONENT "openmw") INSTALL(FILES "${OpenMW_BINARY_DIR}/openmw.cfg.install" DESTINATION "../etc/openmw/" RENAME "openmw.cfg" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ COMPONENT "openmw") + INSTALL(FILES "${OpenMW_BINARY_DIR}/opencs.cfg" DESTINATION "../etc/openmw/" PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ COMPONENT "openmw") #Install resources INSTALL(DIRECTORY "${OpenMW_BINARY_DIR}/resources" DESTINATION "share/games/openmw/" FILE_PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT "Resources") @@ -582,6 +586,7 @@ if (APPLE) install(FILES "${OpenMW_BINARY_DIR}/openmw.cfg.install" RENAME "openmw.cfg" DESTINATION "${INSTALL_SUBDIR}" COMPONENT Runtime) install(FILES "${OpenMW_BINARY_DIR}/settings-default.cfg" DESTINATION "${INSTALL_SUBDIR}" COMPONENT Runtime) install(FILES "${OpenMW_BINARY_DIR}/transparency-overrides.cfg" DESTINATION "${INSTALL_SUBDIR}" COMPONENT Runtime) + install(FILES "${OpenMW_BINARY_DIR}/opencs.cfg" DESTINATION "${INSTALL_SUBDIR}" COMPONENT Runtime) set(CPACK_GENERATOR "DragNDrop") set(CPACK_PACKAGE_VERSION ${OPENMW_VERSION}) @@ -697,6 +702,7 @@ if (NOT WIN32 AND NOT DPKG_PROGRAM AND NOT APPLE) #INSTALL(FILES "${OpenMW_BINARY_DIR}/plugins.cfg" DESTINATION "${SYSCONFDIR}" ) INSTALL(FILES "${OpenMW_BINARY_DIR}/settings-default.cfg" DESTINATION "${SYSCONFDIR}" ) INSTALL(FILES "${OpenMW_BINARY_DIR}/transparency-overrides.cfg" DESTINATION "${SYSCONFDIR}" ) + INSTALL(FILES "${OpenMW_BINARY_DIR}/opencs.cfg" DESTINATION "${SYSCONFDIR}" ) # Install resources INSTALL(DIRECTORY "${OpenMW_BINARY_DIR}/resources" DESTINATION "${DATADIR}" ) From 8f4fd8202e009b8c483d171df1358cedea54f437 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Sun, 23 Jun 2013 21:28:58 -0500 Subject: [PATCH 37/38] Deleted ".directory" text files. Files were hidden files added by dolphin. --- files/opencs.cfg | 5 +++++ files/opencs/raster/.directory | 5 ----- files/opencs/scalable/top-level/.directory | 5 ----- 3 files changed, 5 insertions(+), 10 deletions(-) create mode 100644 files/opencs.cfg delete mode 100644 files/opencs/raster/.directory delete mode 100644 files/opencs/scalable/top-level/.directory diff --git a/files/opencs.cfg b/files/opencs.cfg new file mode 100644 index 000000000..3faac7c8e --- /dev/null +++ b/files/opencs.cfg @@ -0,0 +1,5 @@ +[Editor] +Record Status Display = Icon and Text +[Window Size] +Width = 640 +Height = 480 diff --git a/files/opencs/raster/.directory b/files/opencs/raster/.directory deleted file mode 100644 index 7a78deef5..000000000 --- a/files/opencs/raster/.directory +++ /dev/null @@ -1,5 +0,0 @@ -[Dolphin] -PreviewsShown=true -Timestamp=2013,3,31,10,12,5 -Version=3 -ViewMode=1 diff --git a/files/opencs/scalable/top-level/.directory b/files/opencs/scalable/top-level/.directory deleted file mode 100644 index 464bddbfc..000000000 --- a/files/opencs/scalable/top-level/.directory +++ /dev/null @@ -1,5 +0,0 @@ -[Dolphin] -PreviewsShown=true -Timestamp=2013,4,3,11,19,41 -Version=3 -ViewMode=1 From f0f895ad1022b9ba7b5c27306f8c683d92f4c397 Mon Sep 17 00:00:00 2001 From: graffy76 Date: Tue, 25 Jun 2013 19:32:36 -0500 Subject: [PATCH 38/38] Fixed settings file error message Errors only occur if both global and local settings files are not found. All other file read errors fail silently. --- apps/opencs/model/settings/usersettings.cpp | 108 ++++++++++++-------- apps/opencs/model/settings/usersettings.hpp | 6 +- 2 files changed, 69 insertions(+), 45 deletions(-) diff --git a/apps/opencs/model/settings/usersettings.cpp b/apps/opencs/model/settings/usersettings.cpp index c17f28d4e..508942f58 100644 --- a/apps/opencs/model/settings/usersettings.cpp +++ b/apps/opencs/model/settings/usersettings.cpp @@ -61,57 +61,49 @@ QTextStream *CSMSettings::UserSettings::openFileStream (const QString &filePath, else openFlags = QIODevice::ReadWrite | QIODevice::Text | QIODevice::Truncate; - if (!(file->open(openFlags))) - { - // File cannot be opened or created - QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("OpenCS configuration file I/O error")); - msgBox.setIcon(QMessageBox::Critical); - msgBox.setStandardButtons(QMessageBox::Ok); - - QString fileMessage = QObject::tr("
File: %0").arg(file->fileName()); - - if (!isReadOnly) - msgBox.setText (mReadWriteMessage + fileMessage); - else - msgBox.setText (mReadOnlyMessage + fileMessage); - - msgBox.exec(); - delete file; - file = 0; - } - QTextStream *stream = 0; - if (file) + if (file->open(openFlags)) { stream = new QTextStream(file); stream->setCodec(QTextCodec::codecForName("UTF-8")); } + if (!stream) + { + delete file; + file = 0; + } + return stream; } bool CSMSettings::UserSettings::writeSettings(QMap &settings) { - QTextStream *stream = openFileStream(mPaths.back()); + QTextStream *stream = openFileStream(mUserFilePath); - QList keyList = settings.keys(); + if (!stream) + displayFileErrorMessage(mReadWriteMessage, false); - foreach (QString key, keyList) + if (stream) { - SettingList *sectionSettings = settings[key]; + QList keyList = settings.keys(); - *stream << "[" << key << "]" << '\n'; + foreach (QString key, keyList) + { + SettingList *sectionSettings = settings[key]; - foreach (SettingContainer *item, *sectionSettings) - *stream << item->objectName() << " = " << item->getValue() << '\n'; - } + *stream << "[" << key << "]" << '\n'; - stream->device()->close(); + foreach (SettingContainer *item, *sectionSettings) + *stream << item->objectName() << " = " << item->getValue() << '\n'; + } - return true; + stream->device()->close(); + } + + return (stream); } @@ -120,10 +112,10 @@ const CSMSettings::SectionMap &CSMSettings::UserSettings::getSettings() const return mSectionSettings; } -void CSMSettings::UserSettings::loadFromFile(const QString &filePath) +bool CSMSettings::UserSettings::loadFromFile(const QString &filePath) { if (filePath.isEmpty()) - return; + return false; mSectionSettings.clear(); @@ -181,22 +173,37 @@ void CSMSettings::UserSettings::loadFromFile(const QString &filePath) stream->device()->close(); } - return; + return (stream); } void CSMSettings::UserSettings::loadSettings (const QString &fileName) { - if (mPaths.count() == 0) - { - mPaths.append(QString::fromStdString(mCfgMgr.getGlobalPath().string()) + fileName); - mPaths.append(QString::fromStdString(mCfgMgr.getLocalPath().string()) + fileName); - mPaths.append(QString::fromStdString(mCfgMgr.getUserPath().string()) + fileName); - } + bool globalOk; + bool localOk; - foreach (const QString &path, mPaths) + //global + QString globalFilePath = QString::fromStdString(mCfgMgr.getGlobalPath().string()) + fileName; + globalOk = loadFromFile(globalFilePath); + + + //local + QString localFilePath = QString::fromStdString(mCfgMgr.getLocalPath().string()) + fileName; + localOk = loadFromFile(localFilePath); + + //user + mUserFilePath = QString::fromStdString(mCfgMgr.getUserPath().string()) + fileName; + loadFromFile(mUserFilePath); + + if (!(localOk || globalOk)) { - qDebug() << "Loading config file:" << qPrintable(path); - loadFromFile(path); + QString message = QObject::tr("
Could not open user settings files for reading

\ + Global and local settings files could not be read.\ + You may have incorrect file permissions or the OpenCS installation may be corrupted.
"); + + message += QObject::tr("
Global filepath: ") + globalFilePath; + message += QObject::tr("
Local filepath: ") + localFilePath; + + displayFileErrorMessage ( message, true); } } @@ -245,3 +252,18 @@ CSMSettings::UserSettings& CSMSettings::UserSettings::instance() return *mUserSettingsInstance; } +void CSMSettings::UserSettings::displayFileErrorMessage(const QString &message, bool isReadOnly) +{ + // File cannot be opened or created + QMessageBox msgBox; + msgBox.setWindowTitle(QObject::tr("OpenCS configuration file I/O error")); + msgBox.setIcon(QMessageBox::Critical); + msgBox.setStandardButtons(QMessageBox::Ok); + + if (!isReadOnly) + msgBox.setText (mReadWriteMessage + message); + else + msgBox.setText (message); + + msgBox.exec(); +} diff --git a/apps/opencs/model/settings/usersettings.hpp b/apps/opencs/model/settings/usersettings.hpp index da8408b3e..49b226df9 100644 --- a/apps/opencs/model/settings/usersettings.hpp +++ b/apps/opencs/model/settings/usersettings.hpp @@ -28,7 +28,7 @@ namespace CSMSettings { SectionMap mSectionSettings; static UserSettings *mUserSettingsInstance; - QStringList mPaths; + QString mUserFilePath; Files::ConfigurationManager mCfgMgr; QString mReadOnlyMessage; QString mReadWriteMessage; @@ -70,7 +70,9 @@ namespace CSMSettings { QTextStream *openFileStream (const QString &filePath, bool isReadOnly = false) const; /// Parses a setting file specified in filePath from the provided text stream. - void loadFromFile (const QString &filePath = ""); + bool loadFromFile (const QString &filePath = ""); + + void displayFileErrorMessage(const QString &message, bool isReadOnly); signals: