Anchor-annotator 0.3.3__py3-none-any.whl → 0.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {Anchor_annotator-0.3.3.dist-info → Anchor_annotator-0.5.0.dist-info}/METADATA +1 -1
- Anchor_annotator-0.5.0.dist-info/RECORD +22 -0
- anchor/_version.py +2 -2
- anchor/main.py +178 -62
- anchor/models.py +88 -54
- anchor/plot.py +316 -115
- anchor/resources_rc.py +6475 -4801
- anchor/settings.py +195 -95
- anchor/ui_error_dialog.py +15 -16
- anchor/ui_main_window.py +40 -612
- anchor/ui_preferences.py +75 -44
- anchor/undo.py +15 -5
- anchor/widgets.py +98 -132
- anchor/workers.py +29 -1
- Anchor_annotator-0.3.3.dist-info/RECORD +0 -22
- {Anchor_annotator-0.3.3.dist-info → Anchor_annotator-0.5.0.dist-info}/LICENSE +0 -0
- {Anchor_annotator-0.3.3.dist-info → Anchor_annotator-0.5.0.dist-info}/WHEEL +0 -0
- {Anchor_annotator-0.3.3.dist-info → Anchor_annotator-0.5.0.dist-info}/top_level.txt +0 -0
anchor/settings.py
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import dataclasses
|
1
2
|
import pathlib
|
2
3
|
from typing import Any, Optional
|
3
4
|
|
@@ -5,7 +6,29 @@ from montreal_forced_aligner.config import get_temporary_directory
|
|
5
6
|
from PySide6 import QtCore, QtGui
|
6
7
|
|
7
8
|
|
9
|
+
@dataclasses.dataclass
|
10
|
+
class PlotTheme:
|
11
|
+
background_color: QtGui.QColor
|
12
|
+
error_color: QtGui.QColor
|
13
|
+
error_text_color: QtGui.QColor
|
14
|
+
play_line_color: QtGui.QColor
|
15
|
+
selected_range_color: QtGui.QColor
|
16
|
+
selected_interval_color: QtGui.QColor
|
17
|
+
hover_line_color: QtGui.QColor
|
18
|
+
moving_line_color: QtGui.QColor
|
19
|
+
break_line_color: QtGui.QColor
|
20
|
+
wave_line_color: QtGui.QColor
|
21
|
+
text_color: QtGui.QColor
|
22
|
+
selected_text_color: QtGui.QColor
|
23
|
+
axis_color: QtGui.QColor
|
24
|
+
interval_background_color: QtGui.QColor
|
25
|
+
pitch_color: QtGui.QColor
|
26
|
+
spectrogram_color: QtGui.QColor
|
27
|
+
|
28
|
+
|
8
29
|
class AnchorSettings(QtCore.QSettings):
|
30
|
+
themeUpdated = QtCore.Signal()
|
31
|
+
|
9
32
|
DEFAULT_DIRECTORY = "anchor/default_directory"
|
10
33
|
DEFAULT_CORPUS_DIRECTORY = "anchor/default_corpus_directory"
|
11
34
|
DEFAULT_DICTIONARY_DIRECTORY = "anchor/default_dictionary_directory"
|
@@ -46,6 +69,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
46
69
|
|
47
70
|
FONT = "anchor/theme/font"
|
48
71
|
MAIN_TEXT_COLOR = "anchor/theme/text_color"
|
72
|
+
THEME_PRESET = "anchor/theme/theme_preset"
|
49
73
|
SELECTED_TEXT_COLOR = "anchor/theme/selected_text_color"
|
50
74
|
ERROR_COLOR = "anchor/theme/error_color"
|
51
75
|
PRIMARY_BASE_COLOR = "anchor/theme/primary_color/base"
|
@@ -101,6 +125,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
101
125
|
PITCH_PENALTY_FACTOR = "anchor/pitch/penalty_factor"
|
102
126
|
|
103
127
|
TIER_NORMALIZED_VISIBLE = "anchor/tier/normalized_visible"
|
128
|
+
TIER_MAX_SPEAKERS = "anchor/tier/max_speakers"
|
104
129
|
TIER_TRANSCRIPTION_VISIBLE = "anchor/tier/transcription_visible"
|
105
130
|
TIER_ALIGNED_WORDS_VISIBLE = "anchor/tier/aligned_words_visible"
|
106
131
|
TIER_ALIGNED_PHONES_VISIBLE = "anchor/tier/aligned_phones_visible"
|
@@ -131,22 +156,6 @@ class AnchorSettings(QtCore.QSettings):
|
|
131
156
|
AnchorSettings.ACCENT_VERY_DARK_COLOR: "#7A4E03",
|
132
157
|
}
|
133
158
|
|
134
|
-
self.praat_theme = {
|
135
|
-
AnchorSettings.MAIN_TEXT_COLOR: "#000000",
|
136
|
-
AnchorSettings.SELECTED_TEXT_COLOR: "#FFFFFF",
|
137
|
-
AnchorSettings.ERROR_COLOR: "#DC0806",
|
138
|
-
AnchorSettings.PRIMARY_BASE_COLOR: "#FFFFFF",
|
139
|
-
AnchorSettings.PRIMARY_LIGHT_COLOR: "#0078D7",
|
140
|
-
AnchorSettings.PRIMARY_DARK_COLOR: "#A0A0A0",
|
141
|
-
AnchorSettings.PRIMARY_VERY_LIGHT_COLOR: "#F0F0F0",
|
142
|
-
AnchorSettings.PRIMARY_VERY_DARK_COLOR: "#FFFFFF",
|
143
|
-
AnchorSettings.ACCENT_BASE_COLOR: "#000000",
|
144
|
-
AnchorSettings.ACCENT_LIGHT_COLOR: "#FAF205",
|
145
|
-
AnchorSettings.ACCENT_DARK_COLOR: "#000000",
|
146
|
-
AnchorSettings.ACCENT_VERY_LIGHT_COLOR: "#000000",
|
147
|
-
AnchorSettings.ACCENT_VERY_DARK_COLOR: "#000000",
|
148
|
-
}
|
149
|
-
|
150
159
|
self.default_values = {
|
151
160
|
AnchorSettings.DEFAULT_DIRECTORY: str(get_temporary_directory()),
|
152
161
|
AnchorSettings.AUTOSAVE: False,
|
@@ -200,6 +209,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
200
209
|
AnchorSettings.TRANSCRIPTION_VISIBLE: False,
|
201
210
|
AnchorSettings.ALIGNMENT_VISIBLE: False,
|
202
211
|
AnchorSettings.DIARIZATION_VISIBLE: False,
|
212
|
+
AnchorSettings.TIER_MAX_SPEAKERS: 2,
|
203
213
|
AnchorSettings.TIER_NORMALIZED_VISIBLE: False,
|
204
214
|
AnchorSettings.TIER_ALIGNED_WORDS_VISIBLE: True,
|
205
215
|
AnchorSettings.TIER_ALIGNED_PHONES_VISIBLE: True,
|
@@ -207,6 +217,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
207
217
|
AnchorSettings.TIER_TRANSCRIPTION_VISIBLE: True,
|
208
218
|
AnchorSettings.TIER_TRANSCRIBED_WORDS_VISIBLE: True,
|
209
219
|
AnchorSettings.TIER_TRANSCRIBED_PHONES_VISIBLE: True,
|
220
|
+
AnchorSettings.THEME_PRESET: "MFA",
|
210
221
|
}
|
211
222
|
self.default_values.update(self.mfa_theme)
|
212
223
|
self.border_radius = 5
|
@@ -306,30 +317,106 @@ class AnchorSettings(QtCore.QSettings):
|
|
306
317
|
font.setPointSize(int(3 * font.pointSize()))
|
307
318
|
return font
|
308
319
|
|
309
|
-
def
|
310
|
-
for k, v in
|
320
|
+
def set_theme(self, theme):
|
321
|
+
for k, v in theme.items():
|
311
322
|
self.setValue(k, v)
|
323
|
+
self.sync()
|
324
|
+
self.themeUpdated.emit()
|
312
325
|
|
313
|
-
def
|
314
|
-
|
315
|
-
self.setValue(k, v)
|
326
|
+
def set_mfa_theme(self):
|
327
|
+
self.set_theme(self.mfa_theme)
|
316
328
|
|
317
329
|
@property
|
318
|
-
def
|
319
|
-
return
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
330
|
+
def theme_preset(self):
|
331
|
+
return self.value(AnchorSettings.THEME_PRESET)
|
332
|
+
|
333
|
+
@property
|
334
|
+
def plot_theme(self) -> PlotTheme:
|
335
|
+
if self.theme_preset == "Native":
|
336
|
+
dark_mode = (
|
337
|
+
QtGui.QGuiApplication.styleHints().colorScheme() == QtCore.Qt.ColorScheme.Dark
|
338
|
+
)
|
339
|
+
palette = QtGui.QGuiApplication.palette()
|
340
|
+
interval_background_color = palette.color(
|
341
|
+
palette.ColorGroup.Active, palette.ColorRole.Mid
|
342
|
+
)
|
343
|
+
if dark_mode:
|
344
|
+
background_color = palette.color(
|
345
|
+
palette.ColorGroup.Active, palette.ColorRole.Shadow
|
346
|
+
)
|
347
|
+
spectrogram_color = palette.color(
|
348
|
+
palette.ColorGroup.Active, palette.ColorRole.BrightText
|
349
|
+
)
|
350
|
+
else:
|
351
|
+
background_color = palette.color(palette.ColorGroup.Active, palette.ColorRole.Base)
|
352
|
+
spectrogram_color = palette.color(
|
353
|
+
palette.ColorGroup.Active, palette.ColorRole.Shadow
|
354
|
+
)
|
355
|
+
return PlotTheme(
|
356
|
+
**{
|
357
|
+
"background_color": background_color,
|
358
|
+
"error_color": palette.color(
|
359
|
+
palette.ColorGroup.Active, palette.ColorRole.Accent
|
360
|
+
),
|
361
|
+
"error_text_color": palette.color(
|
362
|
+
palette.ColorGroup.Active, palette.ColorRole.Dark
|
363
|
+
),
|
364
|
+
"play_line_color": palette.color(
|
365
|
+
palette.ColorGroup.Active, palette.ColorRole.Accent
|
366
|
+
),
|
367
|
+
"selected_range_color": palette.color(
|
368
|
+
palette.ColorGroup.Active, palette.ColorRole.Highlight
|
369
|
+
),
|
370
|
+
"selected_interval_color": palette.color(
|
371
|
+
palette.ColorGroup.Active, palette.ColorRole.Highlight
|
372
|
+
),
|
373
|
+
"hover_line_color": palette.color(
|
374
|
+
palette.ColorGroup.Active, palette.ColorRole.Accent
|
375
|
+
),
|
376
|
+
"moving_line_color": palette.color(
|
377
|
+
palette.ColorGroup.Active, palette.ColorRole.Accent
|
378
|
+
),
|
379
|
+
"break_line_color": palette.color(
|
380
|
+
palette.ColorGroup.Inactive, palette.ColorRole.ButtonText
|
381
|
+
),
|
382
|
+
"wave_line_color": palette.color(
|
383
|
+
palette.ColorGroup.Active, palette.ColorRole.WindowText
|
384
|
+
),
|
385
|
+
"text_color": palette.color(palette.ColorGroup.Active, palette.ColorRole.Text),
|
386
|
+
"selected_text_color": palette.color(
|
387
|
+
palette.ColorGroup.Active, palette.ColorRole.HighlightedText
|
388
|
+
),
|
389
|
+
"axis_color": palette.color(
|
390
|
+
palette.ColorGroup.Active, palette.ColorRole.Accent
|
391
|
+
),
|
392
|
+
"interval_background_color": interval_background_color,
|
393
|
+
"pitch_color": palette.color(
|
394
|
+
palette.ColorGroup.Active, palette.ColorRole.Highlight
|
395
|
+
),
|
396
|
+
"spectrogram_color": spectrogram_color,
|
397
|
+
}
|
398
|
+
)
|
399
|
+
|
400
|
+
return PlotTheme(
|
401
|
+
**{
|
402
|
+
"background_color": self.value(AnchorSettings.PRIMARY_VERY_DARK_COLOR),
|
403
|
+
"error_color": self.value(AnchorSettings.ERROR_COLOR),
|
404
|
+
"error_text_color": self.value(AnchorSettings.PRIMARY_VERY_DARK_COLOR),
|
405
|
+
"play_line_color": self.value(AnchorSettings.ERROR_COLOR),
|
406
|
+
"selected_range_color": self.value(self.ERROR_COLOR),
|
407
|
+
"selected_interval_color": self.value(AnchorSettings.PRIMARY_BASE_COLOR),
|
408
|
+
"hover_line_color": self.value(self.ERROR_COLOR),
|
409
|
+
"moving_line_color": self.value(AnchorSettings.ERROR_COLOR),
|
410
|
+
"break_line_color": self.value(AnchorSettings.ACCENT_LIGHT_COLOR),
|
411
|
+
"wave_line_color": self.value(AnchorSettings.MAIN_TEXT_COLOR),
|
412
|
+
"text_color": self.value(AnchorSettings.MAIN_TEXT_COLOR),
|
413
|
+
"selected_text_color": self.value(AnchorSettings.MAIN_TEXT_COLOR),
|
414
|
+
"axis_color": self.value(AnchorSettings.ACCENT_LIGHT_COLOR),
|
415
|
+
"interval_background_color": self.value(AnchorSettings.PRIMARY_DARK_COLOR),
|
416
|
+
"pitch_color": self.value(AnchorSettings.PRIMARY_LIGHT_COLOR),
|
417
|
+
"spectrogram_color": self.value(AnchorSettings.ACCENT_LIGHT_COLOR),
|
418
|
+
}
|
419
|
+
)
|
333
420
|
|
334
421
|
@property
|
335
422
|
def error_color(self) -> QtGui.QColor:
|
@@ -383,15 +470,35 @@ class AnchorSettings(QtCore.QSettings):
|
|
383
470
|
def accent_very_dark_color(self) -> QtGui.QColor:
|
384
471
|
return self.value(AnchorSettings.ACCENT_VERY_DARK_COLOR)
|
385
472
|
|
473
|
+
@property
|
474
|
+
def current_theme(self):
|
475
|
+
return {
|
476
|
+
AnchorSettings.MAIN_TEXT_COLOR: self.text_color,
|
477
|
+
AnchorSettings.SELECTED_TEXT_COLOR: self.selected_text_color,
|
478
|
+
AnchorSettings.ERROR_COLOR: self.error_color,
|
479
|
+
AnchorSettings.PRIMARY_BASE_COLOR: self.primary_base_color,
|
480
|
+
AnchorSettings.PRIMARY_LIGHT_COLOR: self.primary_light_color,
|
481
|
+
AnchorSettings.PRIMARY_DARK_COLOR: self.primary_dark_color,
|
482
|
+
AnchorSettings.PRIMARY_VERY_LIGHT_COLOR: self.primary_very_light_color,
|
483
|
+
AnchorSettings.PRIMARY_VERY_DARK_COLOR: self.primary_very_dark_color,
|
484
|
+
AnchorSettings.ACCENT_BASE_COLOR: self.accent_base_color,
|
485
|
+
AnchorSettings.ACCENT_LIGHT_COLOR: self.accent_light_color,
|
486
|
+
AnchorSettings.ACCENT_DARK_COLOR: self.accent_dark_color,
|
487
|
+
AnchorSettings.ACCENT_VERY_LIGHT_COLOR: self.accent_very_light_color,
|
488
|
+
AnchorSettings.ACCENT_VERY_DARK_COLOR: self.accent_very_dark_color,
|
489
|
+
}
|
490
|
+
|
386
491
|
@property
|
387
492
|
def keyboard_style_sheet(self) -> str:
|
493
|
+
if self.theme_preset == "Native":
|
494
|
+
return ""
|
495
|
+
scroll_bar_style = self.scroll_bar_style_sheet
|
388
496
|
border_color = self.accent_base_color.name()
|
389
497
|
background_color = self.primary_light_color.name()
|
390
498
|
|
391
499
|
enabled_color = self.primary_very_dark_color.name()
|
392
500
|
enabled_background_color = self.accent_base_color.name()
|
393
501
|
enabled_border_color = self.primary_very_dark_color.name()
|
394
|
-
scroll_bar_style = self.scroll_bar_style_sheet
|
395
502
|
return f"""
|
396
503
|
QWidget{{
|
397
504
|
font-family: {self.font.family()};
|
@@ -421,6 +528,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
421
528
|
|
422
529
|
@property
|
423
530
|
def search_box_style_sheet(self) -> str:
|
531
|
+
if self.theme_preset == "Native":
|
532
|
+
return ""
|
424
533
|
line_edit_color = self.primary_very_dark_color.name()
|
425
534
|
error_color = self.error_color.name()
|
426
535
|
return f"""
|
@@ -445,6 +554,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
445
554
|
|
446
555
|
@property
|
447
556
|
def combo_box_style_sheet(self) -> str:
|
557
|
+
if self.theme_preset == "Native":
|
558
|
+
return ""
|
448
559
|
enabled_color = self.primary_very_dark_color.name()
|
449
560
|
enabled_background_color = self.accent_base_color.name()
|
450
561
|
|
@@ -464,14 +575,16 @@ class AnchorSettings(QtCore.QSettings):
|
|
464
575
|
|
465
576
|
@property
|
466
577
|
def interval_style_sheet(self):
|
578
|
+
if self.theme_preset == "Native":
|
579
|
+
return ""
|
580
|
+
scroll_bar_height = 10
|
581
|
+
scroll_bar_border_radius = int(scroll_bar_height / 2) - 2
|
467
582
|
text_edit_color = self.text_color.name()
|
468
583
|
|
469
584
|
scroll_bar_background_color = self.primary_dark_color.name()
|
470
585
|
scroll_bar_handle_color = self.accent_light_color.name()
|
471
586
|
scroll_bar_border_color = self.primary_dark_color.name()
|
472
587
|
border_color = self.primary_light_color.name()
|
473
|
-
scroll_bar_height = 10
|
474
|
-
scroll_bar_border_radius = int(scroll_bar_height / 2) - 2
|
475
588
|
|
476
589
|
return f"""
|
477
590
|
QTextEdit {{
|
@@ -494,21 +607,15 @@ class AnchorSettings(QtCore.QSettings):
|
|
494
607
|
margin-bottom: {scroll_bar_height}px;
|
495
608
|
}}
|
496
609
|
QScrollBar:up-arrow:vertical {{
|
497
|
-
image: url(
|
610
|
+
image: url(:/icons/anchor_dark/actions/caret-up.svg);
|
498
611
|
height: {scroll_bar_height}px;
|
499
612
|
width: {scroll_bar_height}px;
|
500
613
|
}}
|
501
|
-
QScrollBar:up-arrow:vertical:pressed {{
|
502
|
-
image: url(:checked/caret-up.svg);
|
503
|
-
}}
|
504
614
|
QScrollBar:down-arrow:vertical {{
|
505
|
-
image: url(
|
615
|
+
image: url(:/icons/anchor_dark/actions/caret-down.svg);
|
506
616
|
height: {scroll_bar_height}px;
|
507
617
|
width: {scroll_bar_height}px;
|
508
618
|
}}
|
509
|
-
QScrollBar:down-arrow:vertical:pressed {{
|
510
|
-
image: url(:checked/caret-down.svg);
|
511
|
-
}}
|
512
619
|
QScrollBar::handle:vertical {{
|
513
620
|
background: {scroll_bar_handle_color};
|
514
621
|
min-height: {scroll_bar_height}px;
|
@@ -537,6 +644,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
537
644
|
|
538
645
|
@property
|
539
646
|
def style_sheet(self):
|
647
|
+
if self.theme_preset == "Native":
|
648
|
+
return ""
|
540
649
|
background_color = self.primary_base_color.name()
|
541
650
|
|
542
651
|
selection_color = self.primary_light_color.name()
|
@@ -615,8 +724,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
615
724
|
QDockWidget {{
|
616
725
|
background-color: {active_background_color};
|
617
726
|
color: {active_color};
|
618
|
-
titlebar-close-icon: url(
|
619
|
-
titlebar-normal-icon: url(
|
727
|
+
titlebar-close-icon: url(:/icons/anchor_dark/actions/process-stop.svg);
|
728
|
+
titlebar-normal-icon: url(:/icons/anchor_dark/actions/folder-open.svg);
|
620
729
|
}}
|
621
730
|
QDockWidget::title {{
|
622
731
|
text-align: center;
|
@@ -663,7 +772,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
663
772
|
border: {self.border_width}px solid {enabled_border_color};
|
664
773
|
}}
|
665
774
|
QCheckBox::indicator:checked {{
|
666
|
-
image: url(
|
775
|
+
image: url(:/icons/anchor_dark/actions/check.svg);
|
667
776
|
}}
|
668
777
|
QTextEdit{{
|
669
778
|
color: {text_edit_color};
|
@@ -719,27 +828,13 @@ class AnchorSettings(QtCore.QSettings):
|
|
719
828
|
border-radius: 0px;
|
720
829
|
}}
|
721
830
|
QTabBar QToolButton::right-arrow {{
|
722
|
-
image: url(:caret-right.svg);
|
723
831
|
height: {self.scroll_bar_height}px;
|
724
832
|
width: {self.scroll_bar_height}px;
|
725
833
|
}}
|
726
|
-
QTabBar QToolButton::right-arrow :pressed {{
|
727
|
-
image: url(:checked/caret-right.svg);
|
728
|
-
}}
|
729
|
-
QTabBar QToolButton::right-arrow :disabled {{
|
730
|
-
image: url(:disabled/caret-right.svg);
|
731
|
-
}}
|
732
834
|
QTabBar QToolButton::left-arrow {{
|
733
|
-
image: url(:caret-left.svg);
|
734
835
|
height: {self.scroll_bar_height}px;
|
735
836
|
width: {self.scroll_bar_height}px;
|
736
837
|
}}
|
737
|
-
QTabBar QToolButton::left-arrow:pressed {{
|
738
|
-
image: url(:checked/caret-left.svg);
|
739
|
-
}}
|
740
|
-
QTabBar QToolButton::left-arrow:disabled {{
|
741
|
-
image: url(:disabled/caret-left.svg);
|
742
|
-
}}
|
743
838
|
QTabBar::tab-bar {{
|
744
839
|
color: {menu_text_color};
|
745
840
|
background-color: {menu_background_color};
|
@@ -855,12 +950,27 @@ class AnchorSettings(QtCore.QSettings):
|
|
855
950
|
margin: 0 -2px; /* expand outside the groove */
|
856
951
|
}}
|
857
952
|
QTableWidget, QTableView, QTreeView, QTreeWidget {{
|
858
|
-
|
953
|
+
border: 4px solid {enabled_color};
|
954
|
+
}}
|
955
|
+
QTableView::item, QTreeWidget::item {{
|
956
|
+
background-color: {table_odd_color};
|
957
|
+
color: {table_text_color};
|
859
958
|
selection-background-color: {selection_color};
|
860
959
|
selection-color: {text_edit_color};
|
861
|
-
|
960
|
+
}}
|
961
|
+
QTableView::item:selected, QTreeWidget::item:selected {{
|
962
|
+
background-color: {selection_color};
|
963
|
+
color: {text_edit_color};
|
964
|
+
}}
|
965
|
+
QTableView::item:alternate, QTreeWidget::item:alternate {{
|
966
|
+
background-color: {table_even_color};
|
862
967
|
color: {table_text_color};
|
863
|
-
|
968
|
+
selection-background-color: {selection_color};
|
969
|
+
selection-color: {text_edit_color};
|
970
|
+
}}
|
971
|
+
QTableView::item:alternate:selected, QTreeWidget::item:alternate:selected {{
|
972
|
+
background-color: {selection_color};
|
973
|
+
color: {text_edit_color};
|
864
974
|
}}
|
865
975
|
QTreeView QLabel, QTreeWidget QLabel{{
|
866
976
|
color: {table_text_color};
|
@@ -869,13 +979,13 @@ class AnchorSettings(QtCore.QSettings):
|
|
869
979
|
alternate-background-color: {table_even_color};
|
870
980
|
selection-background-color: {selection_color};
|
871
981
|
border-image: none;
|
872
|
-
image: url(
|
982
|
+
image: url(:/icons/anchor_light/actions/chevron-right.svg);
|
873
983
|
}}
|
874
984
|
QTreeView::branch:has-children:!closed{{
|
875
985
|
alternate-background-color: {table_even_color};
|
876
986
|
selection-background-color: {selection_color};
|
877
987
|
border-image: none;
|
878
|
-
image: url(
|
988
|
+
image: url(:/icons/anchor_light/actions/chevron-down.svg);
|
879
989
|
}}
|
880
990
|
QScrollArea {{
|
881
991
|
border: 4px solid {enabled_color};
|
@@ -884,12 +994,12 @@ class AnchorSettings(QtCore.QSettings):
|
|
884
994
|
QHeaderView::up-arrow {{
|
885
995
|
subcontrol-origin: padding;
|
886
996
|
subcontrol-position: center right;
|
887
|
-
image: url(
|
997
|
+
image: url(:/icons/anchor_dark/actions/sort-up.svg);
|
888
998
|
height: {self.sort_indicator_size}px;
|
889
999
|
width: {self.sort_indicator_size}px;
|
890
1000
|
}}
|
891
1001
|
QHeaderView::down-arrow {{
|
892
|
-
image: url(
|
1002
|
+
image: url(:/icons/anchor_dark/actions/sort-down.svg);
|
893
1003
|
subcontrol-origin: padding;
|
894
1004
|
subcontrol-position: center right;
|
895
1005
|
height: {self.sort_indicator_size}px;
|
@@ -919,6 +1029,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
919
1029
|
|
920
1030
|
@property
|
921
1031
|
def tool_tip_style_sheet(self):
|
1032
|
+
if self.theme_preset == "Native":
|
1033
|
+
return ""
|
922
1034
|
background_color = self.accent_base_color.name()
|
923
1035
|
text_color = self.primary_very_dark_color.name()
|
924
1036
|
return f"""
|
@@ -930,6 +1042,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
930
1042
|
|
931
1043
|
@property
|
932
1044
|
def menu_style_sheet(self):
|
1045
|
+
if self.theme_preset == "Native":
|
1046
|
+
return ""
|
933
1047
|
menu_background_color = self.accent_base_color.name()
|
934
1048
|
menu_text_color = self.primary_very_dark_color.name()
|
935
1049
|
disabled_text_color = self.primary_dark_color.name()
|
@@ -961,6 +1075,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
961
1075
|
|
962
1076
|
@property
|
963
1077
|
def completer_style_sheet(self):
|
1078
|
+
if self.theme_preset == "Native":
|
1079
|
+
return ""
|
964
1080
|
menu_background_color = self.accent_base_color.name()
|
965
1081
|
menu_text_color = self.primary_very_dark_color.name()
|
966
1082
|
disabled_text_color = self.primary_dark_color.name()
|
@@ -1008,22 +1124,16 @@ class AnchorSettings(QtCore.QSettings):
|
|
1008
1124
|
}}
|
1009
1125
|
|
1010
1126
|
QScrollBar:up-arrow:vertical {{
|
1011
|
-
image: url(
|
1127
|
+
image: url(:/icons/anchor_light/actions/caret-up.svg);
|
1012
1128
|
height: {scroll_bar_height}px;
|
1013
1129
|
width: {scroll_bar_height}px;
|
1014
1130
|
}}
|
1015
|
-
QScrollBar:up-arrow:vertical:pressed {{
|
1016
|
-
image: url(:checked/caret-up.svg);
|
1017
|
-
}}
|
1018
1131
|
|
1019
1132
|
QScrollBar:down-arrow:vertical {{
|
1020
|
-
image: url(
|
1133
|
+
image: url(:/icons/anchor_light/actions/caret-down.svg);
|
1021
1134
|
height: {scroll_bar_height}px;
|
1022
1135
|
width: {scroll_bar_height}px;
|
1023
1136
|
}}
|
1024
|
-
QScrollBar:down-arrow:vertical:pressed {{
|
1025
|
-
image: url(:checked/caret-down.svg);
|
1026
|
-
}}
|
1027
1137
|
|
1028
1138
|
QScrollBar::handle:vertical {{
|
1029
1139
|
background: {scroll_bar_handle_color};
|
@@ -1055,6 +1165,8 @@ class AnchorSettings(QtCore.QSettings):
|
|
1055
1165
|
|
1056
1166
|
@property
|
1057
1167
|
def scroll_bar_style_sheet(self):
|
1168
|
+
if self.theme_preset == "Native":
|
1169
|
+
return ""
|
1058
1170
|
scroll_bar_background_color = self.primary_dark_color.name()
|
1059
1171
|
scroll_bar_handle_color = self.accent_light_color.name()
|
1060
1172
|
scroll_bar_border_color = self.primary_dark_color.name()
|
@@ -1088,40 +1200,28 @@ class AnchorSettings(QtCore.QSettings):
|
|
1088
1200
|
}}
|
1089
1201
|
|
1090
1202
|
QScrollBar:left-arrow:horizontal {{
|
1091
|
-
image: url(
|
1203
|
+
image: url(:/icons/anchor_dark/actions/media-seek-backward.svg);
|
1092
1204
|
height: {self.scroll_bar_height}px;
|
1093
1205
|
width: {self.scroll_bar_height}px;
|
1094
1206
|
}}
|
1095
|
-
QScrollBar:left-arrow:horizontal:pressed {{
|
1096
|
-
image: url(:checked/caret-left.svg);
|
1097
|
-
}}
|
1098
1207
|
|
1099
1208
|
QScrollBar:right-arrow:horizontal {{
|
1100
|
-
image: url(
|
1209
|
+
image: url(:/icons/anchor_dark/actions/media-seek-forward.svg);
|
1101
1210
|
height: {self.scroll_bar_height}px;
|
1102
1211
|
width: {self.scroll_bar_height}px;
|
1103
1212
|
}}
|
1104
|
-
QScrollBar:right-arrow:horizontal:pressed {{
|
1105
|
-
image: url(:checked/caret-right.svg);
|
1106
|
-
}}
|
1107
1213
|
|
1108
1214
|
QScrollBar:up-arrow:vertical {{
|
1109
|
-
image: url(
|
1215
|
+
image: url(:/icons/anchor_dark/actions/caret-up.svg);
|
1110
1216
|
height: {self.scroll_bar_height}px;
|
1111
1217
|
width: {self.scroll_bar_height}px;
|
1112
1218
|
}}
|
1113
|
-
QScrollBar:up-arrow:vertical:pressed {{
|
1114
|
-
image: url(:checked/caret-up.svg);
|
1115
|
-
}}
|
1116
1219
|
|
1117
1220
|
QScrollBar:down-arrow:vertical {{
|
1118
|
-
image: url(
|
1221
|
+
image: url(:/icons/anchor_dark/actions/caret-down.svg);
|
1119
1222
|
height: {self.scroll_bar_height}px;
|
1120
1223
|
width: {self.scroll_bar_height}px;
|
1121
1224
|
}}
|
1122
|
-
QScrollBar:down-arrow:vertical:pressed {{
|
1123
|
-
image: url(:checked/caret-down.svg);
|
1124
|
-
}}
|
1125
1225
|
|
1126
1226
|
QScrollBar::handle:horizontal {{
|
1127
1227
|
background: {scroll_bar_handle_color};
|
anchor/ui_error_dialog.py
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
################################################################################
|
4
4
|
## Form generated from reading UI file 'error_dialog.ui'
|
5
5
|
##
|
6
|
-
## Created by: Qt User Interface Compiler version 6.
|
6
|
+
## Created by: Qt User Interface Compiler version 6.2.2
|
7
7
|
##
|
8
8
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
9
9
|
################################################################################
|
@@ -54,7 +54,6 @@ from PySide6.QtWidgets import (
|
|
54
54
|
QWidget,
|
55
55
|
)
|
56
56
|
|
57
|
-
import anchor.resources_rc
|
58
57
|
from anchor.widgets import ErrorButtonBox
|
59
58
|
|
60
59
|
|
@@ -63,11 +62,6 @@ class Ui_ErrorDialog(object):
|
|
63
62
|
if not ErrorDialog.objectName():
|
64
63
|
ErrorDialog.setObjectName("ErrorDialog")
|
65
64
|
ErrorDialog.resize(400, 300)
|
66
|
-
icon = QIcon()
|
67
|
-
icon.addFile(
|
68
|
-
":/disabled/exclamation-triangle.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off
|
69
|
-
)
|
70
|
-
ErrorDialog.setWindowIcon(icon)
|
71
65
|
ErrorDialog.setModal(True)
|
72
66
|
self.verticalLayout = QVBoxLayout(ErrorDialog)
|
73
67
|
self.verticalLayout.setObjectName("verticalLayout")
|
@@ -75,14 +69,19 @@ class Ui_ErrorDialog(object):
|
|
75
69
|
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
76
70
|
self.horizontalLayout_2 = QHBoxLayout()
|
77
71
|
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
78
|
-
self.
|
79
|
-
self.
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
self.
|
84
|
-
|
85
|
-
self.
|
72
|
+
self.iconLabel = QLabel(ErrorDialog)
|
73
|
+
self.iconLabel.setObjectName("iconLabel")
|
74
|
+
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
75
|
+
sizePolicy.setHorizontalStretch(0)
|
76
|
+
sizePolicy.setVerticalStretch(0)
|
77
|
+
sizePolicy.setHeightForWidth(self.iconLabel.sizePolicy().hasHeightForWidth())
|
78
|
+
self.iconLabel.setSizePolicy(sizePolicy)
|
79
|
+
self.iconLabel.setMinimumSize(QSize(75, 75))
|
80
|
+
self.iconLabel.setMaximumSize(QSize(75, 75))
|
81
|
+
self.iconLabel.setScaledContents(True)
|
82
|
+
self.iconLabel.setMargin(15)
|
83
|
+
|
84
|
+
self.horizontalLayout_2.addWidget(self.iconLabel)
|
86
85
|
|
87
86
|
self.line = QFrame(ErrorDialog)
|
88
87
|
self.line.setObjectName("line")
|
@@ -123,7 +122,7 @@ class Ui_ErrorDialog(object):
|
|
123
122
|
ErrorDialog.setWindowTitle(
|
124
123
|
QCoreApplication.translate("ErrorDialog", "Error encountered", None)
|
125
124
|
)
|
126
|
-
self.
|
125
|
+
self.iconLabel.setText("")
|
127
126
|
self.label_2.setText(
|
128
127
|
QCoreApplication.translate(
|
129
128
|
"ErrorDialog",
|