Add fallback light icon
This commit is contained in:
parent
730d0e324c
commit
922cd87fe0
@ -22,6 +22,7 @@ class Config:
|
||||
config_dir_path = Path(QtCore.QStandardPaths.writableLocation(QtCore.QStandardPaths.ConfigLocation))
|
||||
config_path = config_dir_path / "fime" / "fime.conf"
|
||||
if config_path.exists():
|
||||
print(f'Reading config file "{config_path}"')
|
||||
with open(config_path) as f:
|
||||
config_text = f.read()
|
||||
config_text = "[DEFAULT]\n" + config_text
|
||||
@ -39,3 +40,7 @@ class Config:
|
||||
def jira_token(self):
|
||||
return dequotify(self._configparser["DEFAULT"]["jira_token"])
|
||||
|
||||
@property
|
||||
def tray_theme(self):
|
||||
val = dequotify(self._configparser.get("DEFAULT", "tray_theme", fallback="dark"))
|
||||
return val if val in ["light", "dark"] else "dark"
|
||||
|
@ -176,6 +176,46 @@ ty:1;stroke:none\
|
||||
s=\x22ColorScheme-T\
|
||||
ext\x22/>\x0a </g>\x0a</\
|
||||
svg>\x0a\
|
||||
\x00\x00\x02`\
|
||||
<\
|
||||
svg xmlns=\x22http:\
|
||||
//www.w3.org/200\
|
||||
0/svg\x22 viewBox=\x22\
|
||||
0 0 32 32\x22>\x0a <d\
|
||||
efs\x0a id=\x22def\
|
||||
s3051\x22>\x0a <sty\
|
||||
le\x0a type=\x22\
|
||||
text/css\x22\x0a \
|
||||
id=\x22current-col\
|
||||
or-scheme\x22>\x0a \
|
||||
.ColorScheme-T\
|
||||
ext {\x0a co\
|
||||
lor:#dcd9d6;\x0a \
|
||||
}\x0a </sty\
|
||||
le>\x0a </defs>\x0a \
|
||||
<path\x0a style\
|
||||
=\x22fill:currentCo\
|
||||
lor;fill-opacity\
|
||||
:1;stroke:none\x22 \
|
||||
\x0a d=\x22M 16 4 \
|
||||
A 12 12 0 0 0 4 \
|
||||
16 A 12 12 0 0 0\
|
||||
16 28 A 12 12 0\
|
||||
0 0 28 16 A 12 \
|
||||
12 0 0 0 16 4 z \
|
||||
M 16 5 A 11 11 0\
|
||||
0 1 27 16 A 11 \
|
||||
11 0 0 1 16 27 A\
|
||||
11 11 0 0 1 5 1\
|
||||
6 A 11 11 0 0 1 \
|
||||
16 5 z M 15 7 L \
|
||||
15 17 L 24 17 L \
|
||||
24 16 L 16 16 L \
|
||||
16 7 L 15 7 z \x22\x0a\
|
||||
id=\x22path78\x22\
|
||||
\x0a class=\x22Co\
|
||||
lorScheme-Text\x22\x0a\
|
||||
/>\x0a</svg>\x0a\
|
||||
\x00\x00\x01L\
|
||||
<\
|
||||
svg viewBox=\x220 0\
|
||||
@ -282,6 +322,11 @@ qt_resource_name = b"\
|
||||
\x09\xc6\x14\xa7\
|
||||
\x00l\
|
||||
\x00i\x00s\x00t\x00-\x00a\x00d\x00d\x00.\x00s\x00v\x00g\
|
||||
\x00\x19\
|
||||
\x0b9\x06g\
|
||||
\x00a\
|
||||
\x00p\x00p\x00o\x00i\x00n\x00t\x00m\x00e\x00n\x00t\x00-\x00n\x00e\x00w\x00-\x00l\
|
||||
\x00i\x00g\x00h\x00t\x00.\x00s\x00v\x00g\
|
||||
\x00\x0b\
|
||||
\x0c+\x12G\
|
||||
\x00g\
|
||||
@ -299,9 +344,9 @@ qt_resource_name = b"\
|
||||
qt_resource_struct = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x08\x00\x00\x00\x02\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x85\
|
||||
\x00\x00\x01<\x00\x00\x00\x00\x00\x01\x00\x00\x0e\xe9\
|
||||
\x00\x00\x01}.b\xfd-\
|
||||
\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x01}.a\xe4+\
|
||||
@ -309,11 +354,13 @@ qt_resource_struct = b"\
|
||||
\x00\x00\x01}.\x1a\xb9\xf9\
|
||||
\x00\x00\x00\x88\x00\x00\x00\x00\x00\x01\x00\x00\x06\x95\
|
||||
\x00\x00\x01}.b $\
|
||||
\x00\x00\x00\xe4\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x1e\
|
||||
\x00\x00\x01\x1c\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x82\
|
||||
\x00\x00\x01}.a\xce_\
|
||||
\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x07\xe4\
|
||||
\x00\x00\x01}.b\xe1.\
|
||||
\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x09\xce\
|
||||
\x00\x00\x01}/\x83\xea~\
|
||||
\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x0c2\
|
||||
\x00\x00\x01}.b\x05\xfc\
|
||||
\x00\x00\x00d\x00\x00\x00\x00\x00\x01\x00\x00\x05E\
|
||||
\x00\x00\x01}.b1)\
|
||||
|
18
src/fime/icons/appointment-new-light.svg
Normal file
18
src/fime/icons/appointment-new-light.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
||||
<defs
|
||||
id="defs3051">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#dcd9d6;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 16 4 A 12 12 0 0 0 4 16 A 12 12 0 0 0 16 28 A 12 12 0 0 0 28 16 A 12 12 0 0 0 16 4 z M 16 5 A 11 11 0 0 1 27 16 A 11 11 0 0 1 16 27 A 11 11 0 0 1 5 16 A 11 11 0 0 1 16 5 z M 15 7 L 15 17 L 24 17 L 24 16 L 16 16 L 16 7 L 15 7 z "
|
||||
id="path78"
|
||||
class="ColorScheme-Text"
|
||||
/>
|
||||
</svg>
|
After Width: | Height: | Size: 608 B |
@ -2,6 +2,7 @@
|
||||
<RCC version="1.0">
|
||||
<qresource prefix="icons">
|
||||
<file>appointment-new.svg</file>
|
||||
<file>appointment-new-light.svg</file>
|
||||
<file>arrow-left.svg</file>
|
||||
<file>arrow-right.svg</file>
|
||||
<file>dialog-cancel.svg</file>
|
||||
|
@ -1,3 +1,5 @@
|
||||
from fime.config import Config
|
||||
|
||||
try:
|
||||
from PySide6 import QtGui, QtWidgets
|
||||
except ImportError:
|
||||
@ -8,12 +10,12 @@ from fime.util import get_icon
|
||||
|
||||
|
||||
class ImportTask(QtWidgets.QDialog):
|
||||
def __init__(self, parent, *args, **kwargs):
|
||||
def __init__(self, config: Config, parent, *args, **kwargs):
|
||||
super().__init__(parent, *args, **kwargs)
|
||||
self.setWindowTitle("New Tasks")
|
||||
|
||||
self.line_edit = QtWidgets.QLineEdit()
|
||||
completer = TaskCompleter()
|
||||
completer = TaskCompleter(config)
|
||||
self.line_edit.setCompleter(completer)
|
||||
self.line_edit.textChanged.connect(completer.update_picker)
|
||||
|
||||
|
@ -4,6 +4,8 @@ import signal
|
||||
import sys
|
||||
from functools import partial
|
||||
|
||||
from fime.config import Config
|
||||
|
||||
try:
|
||||
from PySide6 import QtCore, QtWidgets
|
||||
PYSIDE_6 = True
|
||||
@ -31,11 +33,15 @@ class App:
|
||||
self.log = Log(data)
|
||||
self._active_task = self.log.last_log() or "Nothing"
|
||||
|
||||
self.config = Config()
|
||||
if self.config.tray_theme == "light":
|
||||
icon = get_icon("appointment-new-light")
|
||||
else:
|
||||
icon = get_icon("appointment-new")
|
||||
|
||||
self.menu = QtWidgets.QMenu(None)
|
||||
|
||||
self.import_task = ImportTask(None)
|
||||
self.import_task = ImportTask(self.config, None)
|
||||
self.import_task.accepted.connect(self.new_task_imported)
|
||||
|
||||
self.taskEdit = TaskEdit(None)
|
||||
|
@ -15,12 +15,12 @@ from fime.config import Config
|
||||
|
||||
|
||||
class TaskCompleter(QtWidgets.QCompleter):
|
||||
def __init__(self, parent=None, *args, **kwargs):
|
||||
def __init__(self, config: Config, parent=None, *args, **kwargs):
|
||||
super().__init__([], parent, *args, **kwargs)
|
||||
self.setFilterMode(QtCore.Qt.MatchFlag.MatchContains)
|
||||
self.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.session = FuturesSession()
|
||||
self.config = Config()
|
||||
self.config = config
|
||||
self.picker_url = os.path.join(self.config.jira_url, "rest/api/2/issue/picker")
|
||||
self.search_url = os.path.join(self.config.jira_url, "rest/api/2/search")
|
||||
self.text = ""
|
||||
|
@ -13,5 +13,6 @@ def get_screen_height(qobject):
|
||||
|
||||
|
||||
def get_icon(icon_name):
|
||||
theme_name = icon_name.replace("-light", "") # respect system theme
|
||||
fallback = QtGui.QIcon(f":/icons/{icon_name}").pixmap(256, 256)
|
||||
return QtGui.QIcon.fromTheme(icon_name, fallback)
|
||||
return QtGui.QIcon.fromTheme(theme_name, fallback)
|
||||
|
Loading…
Reference in New Issue
Block a user