Replace icon
This commit is contained in:
parent
17560af249
commit
989680845b
7 changed files with 68 additions and 289 deletions
|
|
@ -1,3 +1,8 @@
|
||||||
|
# 0.5.1
|
||||||
|
|
||||||
|
* Try to address Noto Sans font issue that works for both numbers and checkbox/bullets.
|
||||||
|
* Update icon
|
||||||
|
|
||||||
# 0.5
|
# 0.5
|
||||||
|
|
||||||
* More Italian translations, thank you @mdaleo404
|
* More Italian translations, thank you @mdaleo404
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ report from within the app, or optionally to check for new versions to upgrade t
|
||||||
|
|
||||||
* Data is encrypted at rest
|
* Data is encrypted at rest
|
||||||
* Encryption key is prompted for and never stored, unless user chooses to via Settings
|
* Encryption key is prompted for and never stored, unless user chooses to via Settings
|
||||||
* All changes are version controlled, with ability to view/diff versions and revert
|
* All changes are version controlled, with ability to view/diff versions, revert or delete revisions
|
||||||
* Automatic rendering of basic Markdown syntax
|
* Automatic rendering of basic Markdown syntax
|
||||||
* Tabs are supported - right-click on a date from the calendar to open it in a new tab.
|
* Tabs are supported - right-click on a date from the calendar to open it in a new tab.
|
||||||
* Images are supported
|
* Images are supported
|
||||||
|
|
@ -66,8 +66,8 @@ report from within the app, or optionally to check for new versions to upgrade t
|
||||||
* Automatically generate checkboxes when typing 'TODO'
|
* Automatically generate checkboxes when typing 'TODO'
|
||||||
* It is possible to automatically move unchecked checkboxes from the last 7 days to the next weekday.
|
* It is possible to automatically move unchecked checkboxes from the last 7 days to the next weekday.
|
||||||
* English, French and Italian locales provided
|
* English, French and Italian locales provided
|
||||||
* Ability to set reminder alarms in the app against the current line of text (which will be flashed as the reminder)
|
* Ability to set reminder alarms (which will be flashed as the reminder)
|
||||||
* Ability to log time per day for different projects/activities and run timesheet reports
|
* Ability to log time per day for different projects/activities, pomodoro-style log timer and timesheet reports
|
||||||
|
|
||||||
|
|
||||||
## How to install
|
## How to install
|
||||||
|
|
|
||||||
|
|
@ -1,145 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-labelledby="title desc">
|
|
||||||
<title id="title">Bouquin</title>
|
|
||||||
<desc id="desc">
|
|
||||||
A notebook with a centered B-shaped right edge, a shield and keyhole as the upper hole of a B,
|
|
||||||
and a green-blue neon version control fork as the lower hole, on a lighter toolbar-friendly background.
|
|
||||||
</desc>
|
|
||||||
|
|
||||||
<defs>
|
|
||||||
<!-- Lighter background gradient for toolbar use -->
|
|
||||||
<linearGradient id="bgGrad" x1="0" y1="0" x2="0" y2="1">
|
|
||||||
<stop offset="0%" stop-color="#e5f2ff"/> <!-- very light blue -->
|
|
||||||
<stop offset="100%" stop-color="#cbd5f5"/> <!-- soft indigo-ish -->
|
|
||||||
</linearGradient>
|
|
||||||
|
|
||||||
<!-- Shield gradient -->
|
|
||||||
<linearGradient id="shieldGrad" x1="0" y1="0" x2="0" y2="1">
|
|
||||||
<stop offset="0%" stop-color="#22c55e"/>
|
|
||||||
<stop offset="100%" stop-color="#14b8a6"/>
|
|
||||||
</linearGradient>
|
|
||||||
|
|
||||||
<!-- Version control neon stroke gradient (used for all segments) -->
|
|
||||||
<linearGradient id="vcGradAll" x1="0" y1="0" x2="1" y2="1">
|
|
||||||
<stop offset="0%" stop-color="#6ee7b7"/> <!-- mint green -->
|
|
||||||
<stop offset="35%" stop-color="#22c55e"/> <!-- bright green -->
|
|
||||||
<stop offset="75%" stop-color="#38bdf8"/> <!-- teal-blue -->
|
|
||||||
<stop offset="100%" stop-color="#0ea5e9"/> <!-- blue neon -->
|
|
||||||
</linearGradient>
|
|
||||||
|
|
||||||
<!-- Soft glow for version control lines -->
|
|
||||||
<filter id="vcGlow" x="-50%" y="-50%" width="200%" height="200%">
|
|
||||||
<feGaussianBlur stdDeviation="3" result="blur"/>
|
|
||||||
<feColorMatrix
|
|
||||||
in="blur"
|
|
||||||
type="matrix"
|
|
||||||
values="
|
|
||||||
0 0 0 0 0.30
|
|
||||||
0 0 0 0 0.90
|
|
||||||
0 0 0 0 0.85
|
|
||||||
0 0 0 0.85 0" />
|
|
||||||
</filter>
|
|
||||||
</defs>
|
|
||||||
|
|
||||||
<!-- Background rounded square (now light) -->
|
|
||||||
<rect x="32" y="32" width="448" height="448" rx="96" ry="96"
|
|
||||||
fill="url(#bgGrad)" stroke="#94a3b8" stroke-width="2"/>
|
|
||||||
|
|
||||||
<!-- Notebook body with centered, deeper B-like indent on the right edge -->
|
|
||||||
<path
|
|
||||||
d="
|
|
||||||
M 148 96
|
|
||||||
H 360
|
|
||||||
Q 384 96 384 120
|
|
||||||
V 224
|
|
||||||
Q 304 256 384 288
|
|
||||||
V 392
|
|
||||||
Q 384 416 360 416
|
|
||||||
H 148
|
|
||||||
Q 128 416 128 396
|
|
||||||
V 116
|
|
||||||
Q 128 96 148 96
|
|
||||||
Z
|
|
||||||
"
|
|
||||||
fill="#202738"
|
|
||||||
stroke="#3a4254"
|
|
||||||
stroke-width="4"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- Notebook spine -->
|
|
||||||
<rect x="128" y="96" width="20" height="320" rx="12" ry="12" fill="#3ddc97"/>
|
|
||||||
|
|
||||||
<!-- Shield + keyhole (upper "hole" of the B) -->
|
|
||||||
<g transform="translate(0,-56)">
|
|
||||||
<!-- Shield -->
|
|
||||||
<path d="M 256 180 L 296 196 L 296 244 C 296 269 281 296 256 308 C 231 296 216 269 216 244 L 216 196 Z"
|
|
||||||
fill="url(#shieldGrad)" stroke="#0f172a" stroke-width="4"/>
|
|
||||||
|
|
||||||
<!-- Keyhole -->
|
|
||||||
<circle cx="256" cy="216" r="10" fill="#020617"/>
|
|
||||||
<rect x="248" y="226" width="16" height="26" rx="8" ry="8" fill="#020617"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<!-- Version control graph: lower "hole" of the B with green-blue neon -->
|
|
||||||
<!-- Glow layer behind -->
|
|
||||||
<g transform="translate(0,-66)"
|
|
||||||
stroke="#22c55e" stroke-width="4" fill="#22c55e" opacity="0.6"
|
|
||||||
filter="url(#vcGlow)">
|
|
||||||
<!-- Short stem under shield -->
|
|
||||||
<path d="M 256 318 L 256 332" fill="none" stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Root node -->
|
|
||||||
<circle cx="256" cy="332" r="7"/>
|
|
||||||
|
|
||||||
<!-- Left branch (shorter) -->
|
|
||||||
<path d="M 256 332 L 236 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 236 360 L 236 395" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Center branch (longest) -->
|
|
||||||
<path d="M 256 332 L 256 422" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Right branch (medium) -->
|
|
||||||
<path d="M 256 332 L 276 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 276 360 L 276 410" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Leaf nodes -->
|
|
||||||
<circle cx="236" cy="395" r="8"/>
|
|
||||||
<circle cx="256" cy="422" r="8"/>
|
|
||||||
<circle cx="276" cy="410" r="8"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<!-- Main neon gradient strokes on top -->
|
|
||||||
<g transform="translate(0,-66)"
|
|
||||||
stroke="url(#vcGradAll)" stroke-width="4.5" fill="#bbf7d0" opacity="1">
|
|
||||||
<!-- Short stem under shield -->
|
|
||||||
<path d="M 256 318 L 256 332" fill="none" stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Root node -->
|
|
||||||
<circle cx="256" cy="332" r="7"/>
|
|
||||||
|
|
||||||
<!-- Left branch (shorter) -->
|
|
||||||
<path d="M 256 332 L 236 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 236 360 L 236 395" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Center branch (longest) -->
|
|
||||||
<path d="M 256 332 L 256 422" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Right branch (medium) -->
|
|
||||||
<path d="M 256 332 L 276 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 276 360 L 276 410" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Leaf nodes -->
|
|
||||||
<circle cx="236" cy="395" r="8"/>
|
|
||||||
<circle cx="256" cy="422" r="8"/>
|
|
||||||
<circle cx="276" cy="410" r="8"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 4.8 KiB |
|
|
@ -1,145 +1,64 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-labelledby="title desc">
|
<svg
|
||||||
<title id="title">Bouquin</title>
|
width="512"
|
||||||
<desc id="desc">
|
height="512"
|
||||||
A notebook with a centered B-shaped right edge, a shield and keyhole as the upper hole of a B,
|
viewBox="0 0 512 512"
|
||||||
and a green-blue neon version control fork as the lower hole, with one shorter branch like a git fork.
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
</desc>
|
>
|
||||||
|
<!-- Rounded square background tile -->
|
||||||
<defs>
|
<rect
|
||||||
<!-- Background gradient -->
|
x="0"
|
||||||
<linearGradient id="bgGrad" x1="0" y1="0" x2="0" y2="1">
|
y="0"
|
||||||
<stop offset="0%" stop-color="#101622"/>
|
width="512"
|
||||||
<stop offset="100%" stop-color="#151b2b"/>
|
height="512"
|
||||||
</linearGradient>
|
rx="112"
|
||||||
|
ry="112"
|
||||||
<!-- Shield gradient -->
|
fill="#0F172A"
|
||||||
<linearGradient id="shieldGrad" x1="0" y1="0" x2="0" y2="1">
|
|
||||||
<stop offset="0%" stop-color="#22c55e"/>
|
|
||||||
<stop offset="100%" stop-color="#14b8a6"/>
|
|
||||||
</linearGradient>
|
|
||||||
|
|
||||||
<!-- Version control neon stroke gradient (used for all segments) -->
|
|
||||||
<linearGradient id="vcGradAll" x1="0" y1="0" x2="1" y2="1">
|
|
||||||
<stop offset="0%" stop-color="#6ee7b7"/> <!-- mint green -->
|
|
||||||
<stop offset="35%" stop-color="#22c55e"/> <!-- bright green -->
|
|
||||||
<stop offset="75%" stop-color="#38bdf8"/> <!-- teal-blue -->
|
|
||||||
<stop offset="100%" stop-color="#0ea5e9"/> <!-- blue neon -->
|
|
||||||
</linearGradient>
|
|
||||||
|
|
||||||
<!-- Soft glow for version control lines -->
|
|
||||||
<filter id="vcGlow" x="-50%" y="-50%" width="200%" height="200%">
|
|
||||||
<feGaussianBlur stdDeviation="3" result="blur"/>
|
|
||||||
<feColorMatrix
|
|
||||||
in="blur"
|
|
||||||
type="matrix"
|
|
||||||
values="
|
|
||||||
0 0 0 0 0.30
|
|
||||||
0 0 0 0 0.90
|
|
||||||
0 0 0 0 0.85
|
|
||||||
0 0 0 0.85 0" />
|
|
||||||
</filter>
|
|
||||||
</defs>
|
|
||||||
|
|
||||||
<!-- Background rounded square -->
|
|
||||||
<rect x="32" y="32" width="448" height="448" rx="96" ry="96" fill="url(#bgGrad)"/>
|
|
||||||
|
|
||||||
<!-- Notebook body with centered, deeper B-like indent on the right edge -->
|
|
||||||
<path
|
|
||||||
d="
|
|
||||||
M 148 96
|
|
||||||
H 360
|
|
||||||
Q 384 96 384 120
|
|
||||||
V 224
|
|
||||||
Q 304 256 384 288
|
|
||||||
V 392
|
|
||||||
Q 384 416 360 416
|
|
||||||
H 148
|
|
||||||
Q 128 416 128 396
|
|
||||||
V 116
|
|
||||||
Q 128 96 148 96
|
|
||||||
Z
|
|
||||||
"
|
|
||||||
fill="#202738"
|
|
||||||
stroke="#3a4254"
|
|
||||||
stroke-width="4"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- Notebook spine -->
|
<!-- Book cover -->
|
||||||
<rect x="128" y="96" width="20" height="320" rx="12" ry="12" fill="#3ddc97"/>
|
<rect
|
||||||
|
x="116"
|
||||||
|
y="92"
|
||||||
|
width="280"
|
||||||
|
height="360"
|
||||||
|
rx="48"
|
||||||
|
ry="48"
|
||||||
|
fill="#FACC15"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- Shield + keyhole (upper "hole" of the B) -->
|
<!-- Book spine -->
|
||||||
<g transform="translate(0,-56)">
|
<rect
|
||||||
<!-- Shield -->
|
x="116"
|
||||||
<path d="M 256 180 L 296 196 L 296 244 C 296 269 281 296 256 308 C 231 296 216 269 216 244 L 216 196 Z"
|
y="92"
|
||||||
fill="url(#shieldGrad)" stroke="#0f172a" stroke-width="4"/>
|
width="64"
|
||||||
|
height="360"
|
||||||
|
rx="40"
|
||||||
|
ry="40"
|
||||||
|
fill="#F59E0B"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- Keyhole -->
|
<!-- Folded page corner (top-right triangle) -->
|
||||||
<circle cx="256" cy="216" r="10" fill="#020617"/>
|
<path
|
||||||
<rect x="248" y="226" width="16" height="26" rx="8" ry="8" fill="#020617"/>
|
d="M396 92 L356 92 L396 132 Z"
|
||||||
</g>
|
fill="#FEF9C3"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- Version control graph: lower "hole" of the B with green-blue neon -->
|
<!-- Keyhole: circular top -->
|
||||||
<!-- Glow layer behind -->
|
<circle
|
||||||
<g transform="translate(0,-66)"
|
cx="256"
|
||||||
stroke="#22c55e" stroke-width="4" fill="#22c55e" opacity="0.6"
|
cy="260"
|
||||||
filter="url(#vcGlow)">
|
r="34"
|
||||||
<!-- Short stem under shield -->
|
fill="#0F172A"
|
||||||
<path d="M 256 318 L 256 332" fill="none" stroke-linecap="round"/>
|
/>
|
||||||
|
|
||||||
<!-- Root node -->
|
<!-- Keyhole: stem -->
|
||||||
<circle cx="256" cy="332" r="7"/>
|
<rect
|
||||||
|
x="238"
|
||||||
<!-- Left branch (shorter) -->
|
y="290"
|
||||||
<path d="M 256 332 L 236 360" fill="none"
|
width="36"
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
height="90"
|
||||||
<path d="M 236 360 L 236 395" fill="none"
|
rx="12"
|
||||||
stroke-linecap="round"/>
|
ry="12"
|
||||||
|
fill="#0F172A"
|
||||||
<!-- Center branch (longest) -->
|
/>
|
||||||
<path d="M 256 332 L 256 422" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Right branch (medium) -->
|
|
||||||
<path d="M 256 332 L 276 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 276 360 L 276 410" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Leaf nodes -->
|
|
||||||
<circle cx="236" cy="395" r="8"/>
|
|
||||||
<circle cx="256" cy="422" r="8"/>
|
|
||||||
<circle cx="276" cy="410" r="8"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<!-- Main neon gradient strokes on top -->
|
|
||||||
<g transform="translate(0,-66)"
|
|
||||||
stroke="url(#vcGradAll)" stroke-width="4.5" fill="#bbf7d0" opacity="1">
|
|
||||||
<!-- Short stem under shield -->
|
|
||||||
<path d="M 256 318 L 256 332" fill="none" stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Root node -->
|
|
||||||
<circle cx="256" cy="332" r="7"/>
|
|
||||||
|
|
||||||
<!-- Left branch (shorter) -->
|
|
||||||
<path d="M 256 332 L 236 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 236 360 L 236 395" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Center branch (longest) -->
|
|
||||||
<path d="M 256 332 L 256 422" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Right branch (medium) -->
|
|
||||||
<path d="M 256 332 L 276 360" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
<path d="M 276 360 L 276 410" fill="none"
|
|
||||||
stroke-linecap="round"/>
|
|
||||||
|
|
||||||
<!-- Leaf nodes -->
|
|
||||||
<circle cx="236" cy="395" r="8"/>
|
|
||||||
<circle cx="256" cy="422" r="8"/>
|
|
||||||
<circle cx="276" cy="410" r="8"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 887 B |
|
|
@ -17,7 +17,7 @@ def main():
|
||||||
app.setOrganizationName(APP_ORG)
|
app.setOrganizationName(APP_ORG)
|
||||||
# Icon
|
# Icon
|
||||||
BASE_DIR = Path(__file__).resolve().parent
|
BASE_DIR = Path(__file__).resolve().parent
|
||||||
ICON_PATH = BASE_DIR / "icons" / "bouquin-light.svg"
|
ICON_PATH = BASE_DIR / "icons" / "bouquin.svg"
|
||||||
icon = QIcon(str(ICON_PATH))
|
icon = QIcon(str(ICON_PATH))
|
||||||
app.setWindowIcon(icon)
|
app.setWindowIcon(icon)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ class VersionChecker:
|
||||||
"""
|
"""
|
||||||
Render the SVG logo to a high-DPI-aware QPixmap so it stays crisp.
|
Render the SVG logo to a high-DPI-aware QPixmap so it stays crisp.
|
||||||
"""
|
"""
|
||||||
svg_path = Path(__file__).resolve().parent / "icons" / "bouquin-light.svg"
|
svg_path = Path(__file__).resolve().parent / "icons" / "bouquin.svg"
|
||||||
|
|
||||||
# Logical size (what Qt layouts see)
|
# Logical size (what Qt layouts see)
|
||||||
dpr = QGuiApplication.primaryScreen().devicePixelRatio()
|
dpr = QGuiApplication.primaryScreen().devicePixelRatio()
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ pyproject-appimage = "^4.2"
|
||||||
[tool.pyproject-appimage]
|
[tool.pyproject-appimage]
|
||||||
script = "bouquin"
|
script = "bouquin"
|
||||||
output = "Bouquin.AppImage"
|
output = "Bouquin.AppImage"
|
||||||
icon = "bouquin/icons/bouquin-light.svg"
|
icon = "bouquin/icons/bouquin.svg"
|
||||||
rename-icon = "bouquin.png"
|
rename-icon = "bouquin.png"
|
||||||
desktop-entry = "bouquin.desktop"
|
desktop-entry = "bouquin.desktop"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue