├── bulinotes ├── bulinotes │ ├── pktk │ │ ├── modules │ │ │ ├── __init__.py │ │ │ └── listutils.py │ │ ├── resources │ │ │ ├── svg │ │ │ │ ├── dark │ │ │ │ │ ├── README.md │ │ │ │ │ ├── white │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 32dp │ │ │ │ │ │ ├── play.svg │ │ │ │ │ │ ├── sign_plus.svg │ │ │ │ │ │ ├── file.svg │ │ │ │ │ │ ├── bookmark.svg │ │ │ │ │ │ ├── pause.svg │ │ │ │ │ │ ├── list_tree.svg │ │ │ │ │ │ ├── color_black.svg │ │ │ │ │ │ ├── color_ngray.svg │ │ │ │ │ │ ├── color_white.svg │ │ │ │ │ │ ├── sign_minus.svg │ │ │ │ │ │ ├── sign_divide.svg │ │ │ │ │ │ ├── author.svg │ │ │ │ │ │ ├── copy.svg │ │ │ │ │ │ ├── goup.svg │ │ │ │ │ │ ├── move_down.svg │ │ │ │ │ │ ├── delete.svg │ │ │ │ │ │ ├── file_copy.svg │ │ │ │ │ │ ├── goback.svg │ │ │ │ │ │ ├── move_up.svg │ │ │ │ │ │ ├── folder_open.svg │ │ │ │ │ │ ├── move_down_last.svg │ │ │ │ │ │ ├── bookmark_add.svg │ │ │ │ │ │ ├── dashboard_full.svg │ │ │ │ │ │ └── image.svg │ │ │ │ │ └── 32dp-disabled │ │ │ │ │ │ ├── sign_plus.svg │ │ │ │ │ │ ├── play.svg │ │ │ │ │ │ ├── file.svg │ │ │ │ │ │ ├── bookmark.svg │ │ │ │ │ │ ├── sign_minus.svg │ │ │ │ │ │ ├── list_tree.svg │ │ │ │ │ │ ├── pause.svg │ │ │ │ │ │ ├── color_black.svg │ │ │ │ │ │ ├── color_ngray.svg │ │ │ │ │ │ ├── color_white.svg │ │ │ │ │ │ ├── sign_divide.svg │ │ │ │ │ │ ├── move_down.svg │ │ │ │ │ │ ├── move_up.svg │ │ │ │ │ │ ├── copy.svg │ │ │ │ │ │ ├── goback.svg │ │ │ │ │ │ ├── goup.svg │ │ │ │ │ │ ├── delete.svg │ │ │ │ │ │ ├── file_copy.svg │ │ │ │ │ │ ├── folder_open.svg │ │ │ │ │ │ ├── move_down_last.svg │ │ │ │ │ │ └── move_up_first.svg │ │ │ │ ├── light │ │ │ │ │ ├── README.md │ │ │ │ │ ├── white │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 32dp │ │ │ │ │ │ ├── sign_plus.svg │ │ │ │ │ │ ├── play.svg │ │ │ │ │ │ ├── bookmark.svg │ │ │ │ │ │ ├── file.svg │ │ │ │ │ │ ├── color_black.svg │ │ │ │ │ │ ├── color_ngray.svg │ │ │ │ │ │ ├── color_white.svg │ │ │ │ │ │ ├── list_tree.svg │ │ │ │ │ │ ├── pause.svg │ │ │ │ │ │ ├── sign_minus.svg │ │ │ │ │ │ ├── sign_divide.svg │ │ │ │ │ │ ├── move_up.svg │ │ │ │ │ │ ├── author.svg │ │ │ │ │ │ ├── move_down.svg │ │ │ │ │ │ ├── copy.svg │ │ │ │ │ │ ├── goup.svg │ │ │ │ │ │ ├── delete.svg │ │ │ │ │ │ ├── file_copy.svg │ │ │ │ │ │ ├── goback.svg │ │ │ │ │ │ ├── move_down_last.svg │ │ │ │ │ │ ├── move_up_first.svg │ │ │ │ │ │ └── folder_open.svg │ │ │ │ │ └── 32dp-disabled │ │ │ │ │ │ ├── sign_plus.svg │ │ │ │ │ │ ├── play.svg │ │ │ │ │ │ ├── file.svg │ │ │ │ │ │ ├── bookmark.svg │ │ │ │ │ │ ├── sign_minus.svg │ │ │ │ │ │ ├── list_tree.svg │ │ │ │ │ │ ├── pause.svg │ │ │ │ │ │ ├── color_black.svg │ │ │ │ │ │ ├── color_ngray.svg │ │ │ │ │ │ ├── color_white.svg │ │ │ │ │ │ ├── sign_divide.svg │ │ │ │ │ │ ├── move_down.svg │ │ │ │ │ │ ├── move_up.svg │ │ │ │ │ │ ├── copy.svg │ │ │ │ │ │ ├── goup.svg │ │ │ │ │ │ ├── delete.svg │ │ │ │ │ │ ├── file_copy.svg │ │ │ │ │ │ ├── goback.svg │ │ │ │ │ │ ├── move_up_first.svg │ │ │ │ │ │ └── folder_open.svg │ │ │ │ ├── build_rcc.sh │ │ │ │ └── build_qrc.py │ │ │ ├── darktheme_icons.rcc │ │ │ └── lighttheme_icons.rcc │ │ ├── __init__.py │ │ ├── README.md │ │ ├── widgets │ │ │ └── wseparator.py │ │ └── pktk.py │ ├── bn │ │ └── resources │ │ │ └── png │ │ │ └── buli-powered-big.png │ ├── __init__.py │ └── Manual.html └── bulinotes.desktop ├── screenshots ├── r0-1-0a_edit_note-text.jpg ├── r0-1-0a_edit_note-brushes.jpg ├── r0-1-0a_edit_note-handwritten.jpg ├── r0-4-0b_docker-embeddedfonts.jpg ├── r0-1-0a_fullscreen_example-text.jpg ├── r0-2-0a_edit_note-linked_layers.jpg ├── r0-3-0a_note-multilayer-modif.webm ├── r0-4-0b_edit_note-embeddedfonts.jpg ├── r0-1-0a_fullscreen_example-brushes.jpg ├── r0-2-0a_edit_note-text-new_styles.jpg ├── r0-1-0a_edit_note-handwritten-color.jpg ├── r0-2-0a_edit_note-add_linked_layers.jpg ├── r0-3-0a_copy-html-paste-libreoffice.jpg ├── r0-1-0a_edit_note-handwritten-brushes.jpg ├── r0-1-0a_fullscreen_example-handwritten.jpg ├── r0-3-0a_colorpicker-full_with_ctxmenu.png ├── r0-2-0a_fullscreen_example-linked_layers.jpg ├── r0-2-0a_edit_note-handwritten-brush_opacity.jpg ├── r0-2-0a_fullscreen_example-brushes_properties.jpg └── r0-2-0a_fullscreen_example-linked_layers-notfound.jpg └── releases-notes ├── RELEASE-1.0.2.md ├── RELEASE-0.1.0a.md ├── RELEASE-1.0.1.md ├── RELEASE-1.0.0.md └── RELEASE-0.4.0b.md /bulinotes/bulinotes/pktk/modules/__init__.py: -------------------------------------------------------------------------------- 1 | # module as package 2 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/README.md: -------------------------------------------------------------------------------- 1 | # Dark 2 | 3 | Icons to be used on a dark theme *(ie: white icons)* 4 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/README.md: -------------------------------------------------------------------------------- 1 | # Light 2 | 3 | Icons to be used on a light theme *(ie: black icons)* 4 | -------------------------------------------------------------------------------- /screenshots/r0-1-0a_edit_note-text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_edit_note-text.jpg -------------------------------------------------------------------------------- /screenshots/r0-1-0a_edit_note-brushes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_edit_note-brushes.jpg -------------------------------------------------------------------------------- /screenshots/r0-1-0a_edit_note-handwritten.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_edit_note-handwritten.jpg -------------------------------------------------------------------------------- /screenshots/r0-4-0b_docker-embeddedfonts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-4-0b_docker-embeddedfonts.jpg -------------------------------------------------------------------------------- /screenshots/r0-1-0a_fullscreen_example-text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_fullscreen_example-text.jpg -------------------------------------------------------------------------------- /screenshots/r0-2-0a_edit_note-linked_layers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_edit_note-linked_layers.jpg -------------------------------------------------------------------------------- /screenshots/r0-3-0a_note-multilayer-modif.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-3-0a_note-multilayer-modif.webm -------------------------------------------------------------------------------- /screenshots/r0-4-0b_edit_note-embeddedfonts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-4-0b_edit_note-embeddedfonts.jpg -------------------------------------------------------------------------------- /screenshots/r0-1-0a_fullscreen_example-brushes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_fullscreen_example-brushes.jpg -------------------------------------------------------------------------------- /screenshots/r0-2-0a_edit_note-text-new_styles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_edit_note-text-new_styles.jpg -------------------------------------------------------------------------------- /screenshots/r0-1-0a_edit_note-handwritten-color.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_edit_note-handwritten-color.jpg -------------------------------------------------------------------------------- /screenshots/r0-2-0a_edit_note-add_linked_layers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_edit_note-add_linked_layers.jpg -------------------------------------------------------------------------------- /screenshots/r0-3-0a_copy-html-paste-libreoffice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-3-0a_copy-html-paste-libreoffice.jpg -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/darktheme_icons.rcc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/bulinotes/bulinotes/pktk/resources/darktheme_icons.rcc -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/lighttheme_icons.rcc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/bulinotes/bulinotes/pktk/resources/lighttheme_icons.rcc -------------------------------------------------------------------------------- /screenshots/r0-1-0a_edit_note-handwritten-brushes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_edit_note-handwritten-brushes.jpg -------------------------------------------------------------------------------- /screenshots/r0-1-0a_fullscreen_example-handwritten.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-1-0a_fullscreen_example-handwritten.jpg -------------------------------------------------------------------------------- /screenshots/r0-3-0a_colorpicker-full_with_ctxmenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-3-0a_colorpicker-full_with_ctxmenu.png -------------------------------------------------------------------------------- /bulinotes/bulinotes/bn/resources/png/buli-powered-big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/bulinotes/bulinotes/bn/resources/png/buli-powered-big.png -------------------------------------------------------------------------------- /screenshots/r0-2-0a_fullscreen_example-linked_layers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_fullscreen_example-linked_layers.jpg -------------------------------------------------------------------------------- /screenshots/r0-2-0a_edit_note-handwritten-brush_opacity.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_edit_note-handwritten-brush_opacity.jpg -------------------------------------------------------------------------------- /screenshots/r0-2-0a_fullscreen_example-brushes_properties.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_fullscreen_example-brushes_properties.jpg -------------------------------------------------------------------------------- /screenshots/r0-2-0a_fullscreen_example-linked_layers-notfound.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Grum999/BuliNotes/HEAD/screenshots/r0-2-0a_fullscreen_example-linked_layers-notfound.jpg -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/white/README.md: -------------------------------------------------------------------------------- 1 | # White 2 | 3 | Some white icons whatever theme is a dark or light theme 4 | - Currently used for WToolBoxTitleBar widget 5 | 6 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/white/README.md: -------------------------------------------------------------------------------- 1 | # White 2 | 3 | Some white icons whatever theme is a dark or light theme 4 | - Currently used for WToolBoxTitleBar widget 5 | 6 | -------------------------------------------------------------------------------- /releases-notes/RELEASE-1.0.2.md: -------------------------------------------------------------------------------- 1 | # Buli Notes :: Release 1.0.2 [2023-05-09] 2 | 3 | # Krita 5.2.0 Compatibility 4 | 5 | Krita 5.2.0 use PyQt 5.15 and Python 3.10, and there's some incompatibilities to fix. 6 | Bug fix #9 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /bulinotes/bulinotes.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Service 3 | ServiceTypes=Krita/PythonPlugin 4 | X-KDE-Library=bulinotes 5 | X-Python-2-Compatible=false 6 | X-Krita-Manual=Manual.html 7 | Name=Buli Notes 8 | Comment=A plugin to easily take notes on a Krita document -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/build_rcc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Create qrc files 4 | ./build_qrc.py 5 | 6 | # Build rcc files 7 | /usr/lib/qt5/bin/rcc --format-version 1 --no-compress --binary -o ./../darktheme_icons.rcc dark_icons.qrc 8 | /usr/lib/qt5/bin/rcc --format-version 1 --no-compress --binary -o ./../lighttheme_icons.rcc light_icons.qrc 9 | -------------------------------------------------------------------------------- /releases-notes/RELEASE-0.1.0a.md: -------------------------------------------------------------------------------- 1 | # Buli Notes :: Release 0.1.0a [2021-03-16] 2 | 3 | First release :-) 4 | 5 | 6 | ## Implement basic functionalities 7 | 8 | Are implemented: 9 | - The user interface interface 10 | - Note editor 11 | -- Text note 12 | -- Handwritten note 13 | -- Brushes note 14 | - Note Post-It 15 | - The *About* dialog box :-) 16 | -------------------------------------------------------------------------------- /releases-notes/RELEASE-1.0.1.md: -------------------------------------------------------------------------------- 1 | # Buli Notes :: Release 1.0.1 [2022-10-03] 2 | 3 | 4 | # Bug 5 | 6 | ## Fix Note Editor - *Drawing note export/import raise a Python exception* 7 | 8 | [Bug fix #3](https://github.com/Grum999/BuliNotes/issues/3) 9 | 10 | When trying to export/import hand drawing note content, a python exception is raised. 11 | 12 | It has ben fixed now. 13 | 14 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/__init__.py: -------------------------------------------------------------------------------- 1 | from krita import DockWidgetFactory, DockWidgetFactoryBase 2 | from .bulinotes import * 3 | 4 | 5 | instance = Krita.instance() 6 | bnDocker = DockWidgetFactory(f'{EXTENSION_ID}_current', 7 | DockWidgetFactoryBase.DockRight, 8 | BuliNotesDocker) 9 | instance.addDockWidgetFactory(bnDocker) 10 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/Manual.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Buli Notes 6 | 7 | 8 |

Buli Notes

9 | 10 |

Buli Notes allows to take some notes on a Krita document and keep them embedded to Krita document

11 | 12 |

Go to Buli Notes Github page to get more information.

13 | 14 | -------------------------------------------------------------------------------- /releases-notes/RELEASE-1.0.0.md: -------------------------------------------------------------------------------- 1 | # Buli Notes :: Release 1.0.0 [2022-10-01] 2 | 3 | 4 | # Bug 5 | 6 | ## Fix ***Crash when multiples windows are opened*** 7 | 8 | [Bug fix #1](https://github.com/Grum999/BuliNotes/issues/1) 9 | 10 | When A new window is created, BuliNotes generates a python exception. 11 | 12 | This has been fixed. 13 | 14 | 15 | ## Fix ***Exception on startup*** 16 | 17 | [Bug fix #2](https://github.com/Grum999/BuliNotes/issues/2) 18 | 19 | On macOs, at startup, an exception is raised due to python version. 20 | 21 | This has been fixed. 22 | 23 | ## Fix ***unhashable type: 'Resource'*** 24 | 25 | When no brush can be found, the fallback is to get the first available brush found in brushes preset. 26 | A technical bug was returning the brush resource instead of expected name of resource. 27 | 28 | 29 | # Code review 30 | - PEP8 recommendation 31 | - SPDX license headers 32 | 33 | 34 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/__init__.py: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # PyKritaToolKit 3 | # Copyright (C) 2019-2022 - Grum999 4 | # ----------------------------------------------------------------------------- 5 | # SPDX-License-Identifier: GPL-3.0-or-later 6 | # 7 | # https://spdx.org/licenses/GPL-3.0-or-later.html 8 | # ----------------------------------------------------------------------------- 9 | # A Krita plugin framework 10 | # ----------------------------------------------------------------------------- 11 | 12 | import sys 13 | import os.path 14 | 15 | from .pktk import (PkTk, EInvalidType, EInvalidValue, EInvalidStatus) 16 | 17 | pluginsPath = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) 18 | if pluginsPath not in sys.path: 19 | # now, pktk modules for plugin can be imported as: 20 | # import .pktk.modules.xxxxx 21 | # import .pktk.widgets.xxxxx 22 | sys.path.append(pluginsPath) 23 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/README.md: -------------------------------------------------------------------------------- 1 | # PyKrita ToolKit 2 | 3 | For detailled information and documentation, please refer to repository https://github.com/Grum999/PkTk 4 | 5 | 6 | 7 | # License 8 | 9 | ## *PkTk* is released under the GNU General Public License (version 3 or any later version). 10 | 11 | *PkTk* is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. 12 | 13 | *PkTk* is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 | 15 | You should receive a copy of the GNU General Public License along with *PkTk*. If not, see . 16 | 17 | 18 | Long story short: you're free to download, modify as well as redistribute *PkTk* as long as this ability is preserved and you give contributors proper credit. This is the same license under which Krita is released, ensuring compatibility between the two. 19 | -------------------------------------------------------------------------------- /releases-notes/RELEASE-0.4.0b.md: -------------------------------------------------------------------------------- 1 | # Buli Notes :: Release 0.4.0b [2021-10-24] 2 | 3 | 4 | ## Embedded fonts 5 | 6 | In note editor, it's possible to embed fonts used in document. 7 | 8 | Interface provides: 9 | - List of used fonts 10 | - Status of fonts 11 | - Embbeded 12 | - Embbedable 13 | - Not available (note is used in document, but not available on current system and hasn't been embedded) 14 | - Selected font informations (license, file, ...) 15 | 16 | ![Linked layers note](https://github.com/Grum999/BuliNotes/raw/main/screenshots/r0-4-0b_edit_note-embeddedfonts.jpg) 17 | 18 | 19 | When a note contains embedded font(s): 20 | - A *f* symbol is indicated in notes list 21 | - Tooltip indicates number of embedded fonts 22 | 23 | ![Linked layers note](https://github.com/Grum999/BuliNotes/raw/main/screenshots/r0-4-0b_docker-embeddedfonts.jpg) 24 | 25 | 26 | ## Fix ***Basic-5 Size*** brush 27 | 28 | From Krita 5.0.0-beta1, brushes have been renamed (no more underscore) 29 | - Default font **b)_Basic-5_Size** has been replaced by **b) Basic-5 Size** 30 | - Also, as a brush can be unavailable in current environment, manage fallback when trying to retrieve brush preset information of an unknown/unavailable brush 31 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/widgets/wseparator.py: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # PyKritaToolKit 3 | # Copyright (C) 2019-2022 - Grum999 4 | # ----------------------------------------------------------------------------- 5 | # SPDX-License-Identifier: GPL-3.0-or-later 6 | # 7 | # https://spdx.org/licenses/GPL-3.0-or-later.html 8 | # ----------------------------------------------------------------------------- 9 | # A Krita plugin framework 10 | # ----------------------------------------------------------------------------- 11 | 12 | # ----------------------------------------------------------------------------- 13 | # The wseparator module provides vertical and horizontal separator widgets 14 | # 15 | # Main class from this module 16 | # 17 | # - WVLine: 18 | # Widget 19 | # A vertical separator widget 20 | # 21 | # - WHLine: 22 | # Widget 23 | # A horinzontal separator widget 24 | # 25 | # ----------------------------------------------------------------------------- 26 | 27 | 28 | from PyQt5.Qt import * 29 | 30 | 31 | class WVLine(QFrame): 32 | """A vertical line widget that can be used as a separator""" 33 | 34 | def __init__(self, parent=None): 35 | super(WVLine, self).__init__(parent) 36 | self.setFrameShape(self.VLine | self.Sunken) 37 | 38 | 39 | class WHLine(QFrame): 40 | """A horizontal line widget that can be used as a separator""" 41 | 42 | def __init__(self, parent=None): 43 | super(WHLine, self).__init__(parent) 44 | self.setFrameShape(self.HLine | self.Sunken) 45 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/pktk.py: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # PyKritaToolKit 3 | # Copyright (C) 2019-2022 - Grum999 4 | # ----------------------------------------------------------------------------- 5 | # SPDX-License-Identifier: GPL-3.0-or-later 6 | # 7 | # https://spdx.org/licenses/GPL-3.0-or-later.html 8 | # ----------------------------------------------------------------------------- 9 | # A Krita plugin framework 10 | # ----------------------------------------------------------------------------- 11 | 12 | import os 13 | 14 | 15 | class EInvalidType(Exception): 16 | """An invalid type has been provided""" 17 | pass 18 | 19 | 20 | class EInvalidValue(Exception): 21 | """An invalid value has been provided""" 22 | pass 23 | 24 | 25 | class EInvalidStatus(Exception): 26 | """An invalid status has been detected""" 27 | pass 28 | 29 | 30 | class PkTk: 31 | __libraries = {} 32 | __packageName = '' 33 | 34 | PATH = os.path.dirname(__file__) 35 | PATH_RESOURCES = os.path.join(os.path.dirname(__file__), 'resources') 36 | 37 | @staticmethod 38 | def getPath(name=None): 39 | """Return path for library""" 40 | 41 | if isinstance(name, str): 42 | return os.path.join(os.path.realpath(os.path.dirname(__file__)), name) 43 | elif isinstance(name, list): 44 | return os.path.join(os.path.realpath(os.path.dirname(__file__)), *name) 45 | else: 46 | return os.path.realpath(os.path.dirname(__file__)) 47 | 48 | @staticmethod 49 | def setPackageName(package=None): 50 | """Define current package name for PkTk""" 51 | if not isinstance(package, str): 52 | PkTk.__packageName = '' 53 | else: 54 | PkTk.__packageName = package 55 | 56 | @staticmethod 57 | def packageName(): 58 | """Return current package name for PkTk""" 59 | return PkTk.__packageName 60 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/sign_plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/sign_plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/sign_plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/sign_plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 51 | 58 | 59 | 63 | 64 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 51 | 58 | 59 | 63 | 64 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/list_tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 51 | 58 | 59 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/color_black.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/color_ngray.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/color_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/color_black.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/color_ngray.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/color_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/list_tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 51 | 58 | 59 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/sign_minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/sign_minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/modules/listutils.py: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # PyKritaToolKit 3 | # Copyright (C) 2019-2022 - Grum999 4 | # ----------------------------------------------------------------------------- 5 | # SPDX-License-Identifier: GPL-3.0-or-later 6 | # 7 | # https://spdx.org/licenses/GPL-3.0-or-later.html 8 | # ----------------------------------------------------------------------------- 9 | # A Krita plugin framework 10 | # ----------------------------------------------------------------------------- 11 | 12 | # ----------------------------------------------------------------------------- 13 | # The imgutils module provides miscellaneous list functions 14 | # 15 | # ----------------------------------------------------------------------------- 16 | 17 | 18 | def flatten(items): 19 | """Return a flatten list whatever the number of nested level the list have 20 | 21 | f=flatten([1,2,[3,4],[5,[6,7],[8,[9,10]]]]) 22 | 23 | f: [1,2,3,4,5,6,7,8,9,10] 24 | """ 25 | returned = [] 26 | for item in items: 27 | if isinstance(item, (list, tuple)): 28 | returned.extend(flatten(item)) 29 | else: 30 | returned.append(item) 31 | return returned 32 | 33 | 34 | def rotate(items, shiftValue=1): 35 | """Rotate list 36 | 37 | - Positive `shiftValue` will rotate to right 38 | - Negative `shiftValue` will rotate to left 39 | 40 | 41 | l=[1,2,3,4] 42 | 43 | x=rotate(l, 1) 44 | x: [4,1,2,3] 45 | 46 | x=rotate(l, -1) 47 | x: [2,3,4,1] 48 | 49 | """ 50 | shiftValue = shiftValue % len(items) 51 | if shiftValue == 0: 52 | # no rotation... 53 | return items 54 | # do rotation 55 | return items[-shiftValue:] + items[:-shiftValue] 56 | 57 | 58 | def unique(items): 59 | """Return list of items with duplicate removed 60 | 61 | Initial order list is preserved 62 | Note: works with non-hashable object 63 | """ 64 | # a faster method could be return list(set(items)) 65 | # but it doesn't work with non-hashable object (like a QColor for example) 66 | returned = [] 67 | for item in items: 68 | if item not in returned: 69 | returned.append(item) 70 | return returned 71 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/sign_minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/sign_minus.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/list_tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/list_tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/color_black.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 51 | 53 | 60 | 61 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/color_ngray.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 51 | 53 | 60 | 61 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/color_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 51 | 53 | 60 | 61 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/sign_divide.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/color_black.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 51 | 53 | 60 | 61 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/color_ngray.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 51 | 53 | 60 | 61 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/color_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 27 | 51 | 53 | 60 | 61 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/sign_divide.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/sign_divide.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/build_qrc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Build .qrc files from SVG files 4 | 5 | 6 | import os.path 7 | import re 8 | 9 | CURRENT_PATH=os.path.realpath(os.path.dirname(__file__)) 10 | 11 | CONFIG={ 12 | 'LINKS':{ 13 | '32dp': 'pktk/images/normal', 14 | '32dp-disabled': 'pktk/images/disabled', 15 | 'white/32dp': 'pktk/images-white/normal', 16 | 'white/32dp-disabled': 'pktk/images-white/disabled' 17 | }, 18 | 19 | 'TARGETS':{ 20 | 'FILES': { 21 | 'dark': 'dark_icons.qrc', 22 | 'light': 'light_icons.qrc' 23 | }, 24 | 'PATH': CURRENT_PATH 25 | } 26 | } 27 | 28 | 29 | def main(): 30 | """main process""" 31 | 32 | for fileKey in CONFIG['TARGETS']['FILES']: 33 | fileContent=[''] 34 | 35 | 36 | for srcLink in CONFIG['LINKS']: 37 | fileContent.append(f''' ''') 38 | 39 | directoryToProcess=os.path.join(CURRENT_PATH, fileKey, srcLink) 40 | 41 | directoryContent=os.listdir(directoryToProcess) 42 | 43 | fileList=[] 44 | 45 | for fileName in directoryContent: 46 | fullPathFileName=os.path.join(directoryToProcess, fileName) 47 | 48 | if os.path.isfile(fullPathFileName): 49 | fName=re.search("(.*)\.svg$", fileName) 50 | 51 | if fName: 52 | fileList.append(fileName) 53 | 54 | for fileName in sorted(fileList): 55 | fName=re.search("(.*)\.svg$", fileName) 56 | fileContent.append(f' {fileKey}/{srcLink}/{fileName}') 57 | 58 | fileContent.append(f' ') 59 | 60 | fileContent.append('') 61 | 62 | targetFileName=os.path.join(CONFIG['TARGETS']['PATH'], CONFIG['TARGETS']['FILES'][fileKey]) 63 | print(targetFileName) 64 | with open(targetFileName, 'w') as fHandle: 65 | fHandle.write("\n".join(fileContent)) 66 | 67 | 68 | 69 | if __name__ == "__main__": 70 | main() 71 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/author.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/sign_divide.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 49 | 52 | 53 | 55 | 62 | 63 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/move_up.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/goup.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/move_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/author.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/move_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/file_copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/goback.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/move_up.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/move_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/folder_open.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/move_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/goup.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/move_up.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/move_down_last.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 52 | 54 | 61 | 62 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/move_up.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/file_copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/goback.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/move_down_last.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 52 | 54 | 61 | 62 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/move_up_first.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 52 | 54 | 61 | 62 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/goback.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/goup.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/bookmark_add.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 52 | 53 | 55 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/dashboard_full.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/goup.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp/folder_open.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/file_copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/folder_open.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/move_down_last.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 52 | 54 | 61 | 62 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp-disabled/move_up_first.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 52 | 54 | 61 | 62 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/file_copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 50 | 52 | 59 | 60 | 65 | 66 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/goback.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 52 | 54 | 61 | 62 | 67 | 68 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/move_up_first.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 52 | 54 | 61 | 62 | 66 | 67 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/dark/32dp/image.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 51 | 58 | 59 | 64 | 65 | -------------------------------------------------------------------------------- /bulinotes/bulinotes/pktk/resources/svg/light/32dp-disabled/folder_open.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 51 | 53 | 60 | 61 | 66 | 67 | --------------------------------------------------------------------------------