A bunch of changes
This commit is contained in:
87
settings.py
87
settings.py
@@ -25,7 +25,8 @@ from constants import (
|
||||
APP_CONFIG, AVAILABLE_FACE_ENGINES, DEFAULT_FACE_BOX_COLOR,
|
||||
DEFAULT_PET_BOX_COLOR, DEFAULT_OBJECT_BOX_COLOR, DEFAULT_LANDMARK_BOX_COLOR,
|
||||
FACES_MENU_MAX_ITEMS_DEFAULT, MEDIAPIPE_FACE_MODEL_PATH, MEDIAPIPE_FACE_MODEL_URL,
|
||||
AVAILABLE_PET_ENGINES, MEDIAPIPE_OBJECT_MODEL_PATH, MEDIAPIPE_OBJECT_MODEL_URL,
|
||||
AVAILABLE_PET_ENGINES, DEFAULT_BODY_BOX_COLOR,
|
||||
MEDIAPIPE_OBJECT_MODEL_PATH, MEDIAPIPE_OBJECT_MODEL_URL,
|
||||
SCANNER_SETTINGS_DEFAULTS, SEARCH_CMD, TAGS_MENU_MAX_ITEMS_DEFAULT,
|
||||
THUMBNAILS_FILENAME_LINES_DEFAULT,
|
||||
THUMBNAILS_REFRESH_INTERVAL_DEFAULT, THUMBNAILS_BG_COLOR_DEFAULT,
|
||||
@@ -81,6 +82,7 @@ class SettingsDialog(QDialog):
|
||||
|
||||
self.current_face_color = DEFAULT_FACE_BOX_COLOR
|
||||
self.current_pet_color = DEFAULT_PET_BOX_COLOR
|
||||
self.current_body_color = DEFAULT_BODY_BOX_COLOR
|
||||
self.current_object_color = DEFAULT_OBJECT_BOX_COLOR
|
||||
self.current_landmark_color = DEFAULT_LANDMARK_BOX_COLOR
|
||||
self.current_thumbs_bg_color = THUMBNAILS_BG_COLOR_DEFAULT
|
||||
@@ -293,9 +295,9 @@ class SettingsDialog(QDialog):
|
||||
search_engine_layout = QHBoxLayout()
|
||||
search_engine_label = QLabel(UITexts.SETTINGS_SCANNER_SEARCH_ENGINE_LABEL)
|
||||
self.search_engine_combo = QComboBox()
|
||||
self.search_engine_combo.addItem(UITexts.SEARCH_ENGINE_NATIVE, "Native")
|
||||
self.search_engine_combo.addItem(UITexts.SEARCH_ENGINE_NATIVE, "Bagheera")
|
||||
if SEARCH_CMD:
|
||||
self.search_engine_combo.addItem(UITexts.SEARCH_ENGINE_BALOO, "baloosearch")
|
||||
self.search_engine_combo.addItem(UITexts.SEARCH_ENGINE_BALOO, "Baloo")
|
||||
|
||||
search_engine_layout.addWidget(search_engine_label)
|
||||
search_engine_layout.addWidget(self.search_engine_combo)
|
||||
@@ -462,6 +464,53 @@ class SettingsDialog(QDialog):
|
||||
self.pet_history_spin.setToolTip(UITexts.SETTINGS_PET_HISTORY_TOOLTIP)
|
||||
faces_layout.addLayout(pet_history_layout)
|
||||
|
||||
# --- Body Section ---
|
||||
faces_layout.addSpacing(10)
|
||||
body_header = QLabel("Body")
|
||||
body_header.setFont(QFont("Sans", 10, QFont.Bold))
|
||||
faces_layout.addWidget(body_header)
|
||||
|
||||
body_tags_layout = QHBoxLayout()
|
||||
body_tags_label = QLabel(UITexts.SETTINGS_BODY_TAGS_LABEL)
|
||||
self.body_tags_edit = QLineEdit()
|
||||
self.body_tags_edit.setPlaceholderText("tag1, tag2, tag3/subtag")
|
||||
self.body_tags_edit.setClearButtonEnabled(True)
|
||||
body_tags_layout.addWidget(body_tags_label)
|
||||
body_tags_layout.addWidget(self.body_tags_edit)
|
||||
body_tags_label.setToolTip(UITexts.SETTINGS_BODY_TAGS_TOOLTIP)
|
||||
self.body_tags_edit.setToolTip(UITexts.SETTINGS_BODY_TAGS_TOOLTIP)
|
||||
faces_layout.addLayout(body_tags_layout)
|
||||
|
||||
# body_engine_layout = QHBoxLayout()
|
||||
# body_engine_label = QLabel(UITexts.SETTINGS_BODY_ENGINE_LABEL)
|
||||
# self.body_engine_combo = QComboBox()
|
||||
# self.body_engine_combo.addItems(AVAILABLE_BODY_ENGINES)
|
||||
# body_engine_layout.addWidget(body_engine_label)
|
||||
# body_engine_layout.addWidget(self.body_engine_combo, 1)
|
||||
# body_engine_label.setToolTip(UITexts.SETTINGS_BODY_ENGINE_TOOLTIP)
|
||||
# self.body_engine_combo.setToolTip(UITexts.SETTINGS_BODY_ENGINE_TOOLTIP)
|
||||
# faces_layout.addLayout(body_engine_layout)
|
||||
|
||||
body_color_layout = QHBoxLayout()
|
||||
body_color_label = QLabel(UITexts.SETTINGS_BODY_COLOR_LABEL)
|
||||
self.body_color_btn = QPushButton()
|
||||
self.body_color_btn.clicked.connect(self.choose_body_color)
|
||||
body_color_layout.addWidget(body_color_label)
|
||||
body_color_layout.addWidget(self.body_color_btn)
|
||||
body_color_label.setToolTip(UITexts.SETTINGS_BODY_COLOR_TOOLTIP)
|
||||
self.body_color_btn.setToolTip(UITexts.SETTINGS_BODY_COLOR_TOOLTIP)
|
||||
faces_layout.addLayout(body_color_layout)
|
||||
|
||||
body_history_layout = QHBoxLayout()
|
||||
self.body_history_spin = QSpinBox()
|
||||
self.body_history_spin.setRange(5, 100)
|
||||
body_hist_label = QLabel(UITexts.SETTINGS_BODY_HISTORY_COUNT_LABEL)
|
||||
body_history_layout.addWidget(body_hist_label)
|
||||
body_history_layout.addWidget(self.body_history_spin)
|
||||
body_hist_label.setToolTip(UITexts.SETTINGS_BODY_HISTORY_TOOLTIP)
|
||||
self.body_history_spin.setToolTip(UITexts.SETTINGS_BODY_HISTORY_TOOLTIP)
|
||||
faces_layout.addLayout(body_history_layout)
|
||||
|
||||
# --- Object Section ---
|
||||
faces_layout.addSpacing(10)
|
||||
object_header = QLabel("Object")
|
||||
@@ -593,7 +642,7 @@ class SettingsDialog(QDialog):
|
||||
# Add tabs in the new order
|
||||
tabs.addTab(thumbs_tab, UITexts.SETTINGS_GROUP_THUMBNAILS)
|
||||
tabs.addTab(viewer_tab, UITexts.SETTINGS_GROUP_VIEWER)
|
||||
tabs.addTab(faces_tab, UITexts.SETTINGS_GROUP_FACES)
|
||||
tabs.addTab(faces_tab, UITexts.SETTINGS_GROUP_AREAS)
|
||||
tabs.addTab(scanner_tab, UITexts.SETTINGS_GROUP_SCANNER)
|
||||
|
||||
# --- Button Box ---
|
||||
@@ -625,16 +674,19 @@ class SettingsDialog(QDialog):
|
||||
person_tags = APP_CONFIG.get(
|
||||
"person_tags", SCANNER_SETTINGS_DEFAULTS["person_tags"])
|
||||
pet_tags = APP_CONFIG.get("pet_tags", "")
|
||||
body_tags = APP_CONFIG.get("body_tags", "")
|
||||
object_tags = APP_CONFIG.get("object_tags", "")
|
||||
landmark_tags = APP_CONFIG.get("landmark_tags", "")
|
||||
|
||||
face_detection_engine = APP_CONFIG.get("face_detection_engine")
|
||||
pet_detection_engine = APP_CONFIG.get("pet_detection_engine")
|
||||
body_detection_engine = APP_CONFIG.get("body_detection_engine")
|
||||
object_detection_engine = APP_CONFIG.get("object_detection_engine")
|
||||
landmark_detection_engine = APP_CONFIG.get("landmark_detection_engine")
|
||||
|
||||
face_color = APP_CONFIG.get("face_box_color", DEFAULT_FACE_BOX_COLOR)
|
||||
pet_color = APP_CONFIG.get("pet_box_color", DEFAULT_PET_BOX_COLOR)
|
||||
body_color = APP_CONFIG.get("body_box_color", DEFAULT_BODY_BOX_COLOR)
|
||||
object_color = APP_CONFIG.get("object_box_color", DEFAULT_OBJECT_BOX_COLOR)
|
||||
landmark_color = APP_CONFIG.get("landmark_box_color",
|
||||
DEFAULT_LANDMARK_BOX_COLOR)
|
||||
@@ -645,6 +697,8 @@ class SettingsDialog(QDialog):
|
||||
"faces_menu_max_items", FACES_MENU_MAX_ITEMS_DEFAULT)
|
||||
pet_history_count = APP_CONFIG.get(
|
||||
"pets_menu_max_items", FACES_MENU_MAX_ITEMS_DEFAULT)
|
||||
body_history_count = APP_CONFIG.get(
|
||||
"body_menu_max_items", FACES_MENU_MAX_ITEMS_DEFAULT)
|
||||
object_history_count = APP_CONFIG.get(
|
||||
"object_menu_max_items", FACES_MENU_MAX_ITEMS_DEFAULT)
|
||||
landmark_history_count = APP_CONFIG.get(
|
||||
@@ -695,11 +749,13 @@ class SettingsDialog(QDialog):
|
||||
|
||||
self.person_tags_edit.setText(person_tags)
|
||||
self.pet_tags_edit.setText(pet_tags)
|
||||
self.body_tags_edit.setText(body_tags)
|
||||
self.object_tags_edit.setText(object_tags)
|
||||
self.landmark_tags_edit.setText(landmark_tags)
|
||||
|
||||
self.set_button_color(face_color)
|
||||
self.set_pet_button_color(pet_color)
|
||||
self.set_body_button_color(body_color)
|
||||
self.set_object_button_color(object_color)
|
||||
self.set_landmark_button_color(landmark_color)
|
||||
|
||||
@@ -709,6 +765,8 @@ class SettingsDialog(QDialog):
|
||||
if self.pet_engine_combo and pet_detection_engine in AVAILABLE_PET_ENGINES:
|
||||
self.pet_engine_combo.setCurrentText(pet_detection_engine)
|
||||
|
||||
if body_detection_engine and hasattr(self, "body_detection_engine_combo"):
|
||||
self.body_engine_combo.setCurrentText(body_detection_engine)
|
||||
if object_detection_engine and hasattr(self, "object_engine_combo"):
|
||||
self.object_engine_combo.setCurrentText(object_detection_engine)
|
||||
if landmark_detection_engine and hasattr(self, "landmark_engine_combo"):
|
||||
@@ -717,6 +775,7 @@ class SettingsDialog(QDialog):
|
||||
self.mru_tags_spin.setValue(mru_tags_count)
|
||||
self.face_history_spin.setValue(face_history_count)
|
||||
self.pet_history_spin.setValue(pet_history_count)
|
||||
self.body_history_spin.setValue(body_history_count)
|
||||
self.object_history_spin.setValue(object_history_count)
|
||||
self.landmark_history_spin.setValue(landmark_history_count)
|
||||
|
||||
@@ -771,6 +830,18 @@ class SettingsDialog(QDialog):
|
||||
if color.isValid():
|
||||
self.set_pet_button_color(color.name())
|
||||
|
||||
def set_body_button_color(self, color_str):
|
||||
"""Sets the background color of the body button and stores the value."""
|
||||
self.body_color_btn.setStyleSheet(
|
||||
f"background-color: {color_str}; border: 1px solid gray;")
|
||||
self.current_body_color = color_str
|
||||
|
||||
def choose_body_color(self):
|
||||
"""Opens a color picker dialog for body box."""
|
||||
color = QColorDialog.getColor(QColor(self.current_body_color), self)
|
||||
if color.isValid():
|
||||
self.set_body_button_color(color.name())
|
||||
|
||||
def set_object_button_color(self, color_str):
|
||||
"""Sets the background color of the object button."""
|
||||
self.object_color_btn.setStyleSheet(
|
||||
@@ -942,15 +1013,18 @@ class SettingsDialog(QDialog):
|
||||
APP_CONFIG["scan_full_on_start"] = self.scan_full_on_start_checkbox.isChecked()
|
||||
APP_CONFIG["person_tags"] = self.person_tags_edit.text()
|
||||
APP_CONFIG["pet_tags"] = self.pet_tags_edit.text()
|
||||
APP_CONFIG["body_tags"] = self.body_tags_edit.text()
|
||||
APP_CONFIG["object_tags"] = self.object_tags_edit.text()
|
||||
APP_CONFIG["landmark_tags"] = self.landmark_tags_edit.text()
|
||||
APP_CONFIG["face_box_color"] = self.current_face_color
|
||||
APP_CONFIG["pet_box_color"] = self.current_pet_color
|
||||
APP_CONFIG["body_box_color"] = self.current_body_color
|
||||
APP_CONFIG["object_box_color"] = self.current_object_color
|
||||
APP_CONFIG["landmark_box_color"] = self.current_landmark_color
|
||||
APP_CONFIG["tags_menu_max_items"] = self.mru_tags_spin.value()
|
||||
APP_CONFIG["faces_menu_max_items"] = self.face_history_spin.value()
|
||||
APP_CONFIG["pets_menu_max_items"] = self.pet_history_spin.value()
|
||||
APP_CONFIG["body_menu_max_items"] = self.body_history_spin.value()
|
||||
APP_CONFIG["object_menu_max_items"] = self.object_history_spin.value()
|
||||
APP_CONFIG["landmark_menu_max_items"] = self.landmark_history_spin.value()
|
||||
|
||||
@@ -975,9 +1049,10 @@ class SettingsDialog(QDialog):
|
||||
APP_CONFIG["viewer_wheel_speed"] = self.viewer_wheel_spin.value()
|
||||
APP_CONFIG["viewer_auto_resize_window"] = \
|
||||
self.viewer_auto_resize_check.isChecked()
|
||||
if self.face_engine_combo:
|
||||
APP_CONFIG["face_detection_engine"] = self.face_engine_combo.currentText()
|
||||
APP_CONFIG["face_detection_engine"] = self.face_engine_combo.currentText()
|
||||
APP_CONFIG["pet_detection_engine"] = self.pet_engine_combo.currentText()
|
||||
if hasattr(self, "object_engine_combo"):
|
||||
APP_CONFIG["body_detection_engine"] = self.body_engine_combo.currentText()
|
||||
if hasattr(self, "object_engine_combo"):
|
||||
APP_CONFIG["object_detection_engine"] = \
|
||||
self.object_engine_combo.currentText()
|
||||
|
||||
Reference in New Issue
Block a user