This commit is contained in:
Ignacio Serantes
2026-03-25 22:02:13 +01:00
parent 56ef674d4a
commit dfddfd17b3
10 changed files with 430 additions and 53 deletions

View File

@@ -29,7 +29,7 @@ if FORCE_X11:
# --- CONFIGURATION ---
PROG_NAME = "Bagheera Image Viewer"
PROG_ID = "bagheeraview"
PROG_VERSION = "0.9.12"
PROG_VERSION = "0.9.13"
PROG_AUTHOR = "Ignacio Serantes"
# --- CACHE SETTINGS ---
@@ -49,6 +49,8 @@ CACHE_PATH = os.path.join(CONFIG_DIR, "thumbnails_lmdb")
HISTORY_FILE = "history.json"
HISTORY_PATH = os.path.join(CONFIG_DIR, HISTORY_FILE)
LAYOUTS_DIR = os.path.join(CONFIG_DIR, "layouts") # Layouts saving directory
FAVORITES_FILE = "favorites.json"
FAVORITES_PATH = os.path.join(CONFIG_DIR, FAVORITES_FILE)
def save_app_config():
@@ -463,6 +465,17 @@ _UI_TEXTS = {
"MENU_CLEAN_CACHE": "Clean up invalid cache entries",
"MENU_SHOW_TAGS": "Show Tags",
"MENU_SHOW_INFO": "Show Information",
"MENU_SHOW_FAVORITES": "Show Favorites",
"FAVORITES_TAB": "Favorites",
"FAVORITES_SEARCH_PLACEHOLDER": "Search favorites...",
"FAVORITES_TABLE_HEADER": ["Comment", "Query", "Shortcut"],
"ADD_FAVORITE_TOOLTIP": "Add current search to favorites",
"EDIT_COMMENT_TITLE": "Edit Comment",
"EDIT_COMMENT_TEXT": "Comment for '{}':",
"EDIT_SHORTCUT_TITLE": "Assign Shortcut",
"EDIT_SHORTCUT_TEXT": "Press keys for '{}':",
"MOVE_UP": "Move Up",
"MOVE_DOWN": "Move Down",
"MENU_SHOW_FILTER": "Show Filter",
"MENU_SHOW_LAYOUTS": "Show Layouts",
"MENU_SHOW_HISTORY": "Show History",
@@ -606,12 +619,26 @@ _UI_TEXTS = {
"MEDIAPIPE_DOWNLOAD_ERROR_TEXT": "Failed to download the MediaPipe model: {}",
"MENU_FILMSTRIP_POSITION": "Filmstrip Position",
"FILMSTRIP_BOTTOM": "Bottom",
"VIEWER_MENU_COMPARE": "Comparison Mode",
"FILMSTRIP_LEFT": "Left",
"FILMSTRIP_TOP": "Top",
"FILMSTRIP_RIGHT": "Right",
"FILMSTRIP_POS_CHANGED_INFO": "The new filmstrip position will be applied to "
"newly opened viewers.",
"MENU_SHOW_SHORTCUTS": "Configure Keyboard Shortcuts...",
"VIEWER_MENU_MANIPULATE": "Manipulate",
"VIEWER_MENU_ZOOM": "Zoom",
"SAVE_CROP_TITLE": "Save Cropped Image",
"COMPARE_LINKED": " [Linked]",
"COMPARE_UNLINKED": " [Unlinked]",
"CROP_INDICATOR": " [CROP]",
"OPEN_WITH_OTHER": "Open with other application...",
"COLLAPSE_EXPAND_GROUP": "Collapse/Expand Group",
"MENU_TOGGLE_MAIN_WINDOW": "Show/Hide Main Window",
"LOADING_DATA": "Loading data...",
"SETTINGS_PLACEHOLDER_TAGS": "tag1, tag2, tag3/subtag",
"THUMBNAILS_GENERATE_PROGRESS": "Generating {}px thumbnails: {}/{}",
"THUMBNAILS_REGENERATE_PROGRESS": "Regenerating thumbnail: {}/{}",
"SHORTCUTS_TITLE": "Keyboard Shortcuts",
"SHORTCUTS_ACTION": "Action",
"SHORTCUTS_KEY": "Shortcut",
@@ -620,6 +647,7 @@ _UI_TEXTS = {
"SHORTCUT_EDIT_LABEL": "Enter new shortcut for '{}'",
"SHORTCUT_CONFLICT_TITLE": "Shortcut Conflict",
"SHORTCUT_CONFLICT_TEXT": "The shortcut '{}' is already assigned to '{}'.",
"SHORTCUT_OVERRIDE_QUESTION": "Do you want to override it?",
"SHORTCUT_SEARCH_PLACEHOLDER": "Search shortcuts...",
"CACHE_CLEANING": "Cleaning cache...",
"CACHE_CLEANED": "Cache cleaned. Removed {} invalid entries.",
@@ -647,7 +675,7 @@ _UI_TEXTS = {
"RENAME_ERROR_EXISTS": "File '{}' already exists.",
"FILE_RENAMED": "File renamed to {}",
"ERROR_RENAME": "Could not rename file: {}",
"MAIN_DOCK_TITLE": "Main dock",
"MAIN_DOCK_TITLE": "",
"LAYOUTS_TAB": "Layouts",
"LAYOUTS_TABLE_HEADER": ["Name", "Last Modified"],
"SAVE_LAYOUT_TITLE": "Save Layout",
@@ -901,6 +929,17 @@ _UI_TEXTS = {
"MENU_CLEAN_CACHE": "Limpiar entradas de caché inválidas",
"MENU_SHOW_TAGS": "Mostrar Etiquetas",
"MENU_SHOW_INFO": "Mostrar Información",
"MENU_SHOW_FAVORITES": "Mostrar Favoritos",
"FAVORITES_TAB": "Favoritos",
"FAVORITES_SEARCH_PLACEHOLDER": "Buscar favoritos...",
"FAVORITES_TABLE_HEADER": ["Comentario", "Consulta", "Atajo"],
"ADD_FAVORITE_TOOLTIP": "Añadir búsqueda actual a favoritos",
"EDIT_COMMENT_TITLE": "Editar Comentario",
"EDIT_COMMENT_TEXT": "Comentario para '{}':",
"EDIT_SHORTCUT_TITLE": "Asignar Atajo",
"EDIT_SHORTCUT_TEXT": "Pulsa las teclas para '{}':",
"MOVE_UP": "Subir",
"MOVE_DOWN": "Bajar",
"MENU_SHOW_FILTER": "Mostrar Filtro",
"MENU_SHOW_LAYOUTS": "Mostrar Diseños",
"MENU_SHOW_HISTORY": "Mostrar Historial",
@@ -1056,6 +1095,7 @@ _UI_TEXTS = {
"MEDIAPIPE_DOWNLOAD_ERROR_TEXT": "Fallo al descargar el modelo de MediaPipe: "
"{}",
"MENU_VIEWER_SETTINGS": "Opciones del Visor",
"VIEWER_MENU_COMPARE": "Modo Comparación",
"MENU_FILMSTRIP_POSITION": "Posición de la Tira de Imágenes",
"FILMSTRIP_BOTTOM": "Abajo",
"FILMSTRIP_LEFT": "Izquierda",
@@ -1063,6 +1103,17 @@ _UI_TEXTS = {
"FILMSTRIP_RIGHT": "Derecha",
"FILMSTRIP_POS_CHANGED_INFO": "La nueva posición de la tira de imágenes se "
"aplicará a los nuevos visores que se abran.",
"SAVE_CROP_TITLE": "Guardar Imagen Recortada",
"COMPARE_LINKED": " [Vinculado]",
"COMPARE_UNLINKED": " [Desvinculado]",
"CROP_INDICATOR": " [RECORTE]",
"OPEN_WITH_OTHER": "Abrir con otra aplicación...",
"COLLAPSE_EXPAND_GROUP": "Contraer/Expandir Grupo",
"MENU_TOGGLE_MAIN_WINDOW": "Mostrar/Ocultar ventana principal",
"LOADING_DATA": "Cargando datos...",
"SETTINGS_PLACEHOLDER_TAGS": "etiqueta1, etiqueta2, carpeta/etiqueta",
"THUMBNAILS_GENERATE_PROGRESS": "Generando miniaturas de {}px: {}/{}",
"THUMBNAILS_REGENERATE_PROGRESS": "Regenerando miniatura: {}/{}",
"MENU_SHOW_SHORTCUTS": "Configurar Atajos de Teclado...",
"SHORTCUTS_TITLE": "Atajos de Teclado",
"SHORTCUTS_ACTION": "Acción",
@@ -1072,6 +1123,7 @@ _UI_TEXTS = {
"SHORTCUT_EDIT_LABEL": "Nuevo atajo para '{}'",
"SHORTCUT_CONFLICT_TITLE": "Conflicto de Atajos",
"SHORTCUT_CONFLICT_TEXT": "El atajo '{}' ya está asignado a '{}'.",
"SHORTCUT_OVERRIDE_QUESTION": "¿Deseas sobrescribirlo?",
"SHORTCUT_SEARCH_PLACEHOLDER": "Buscar atajos...",
"CACHE_CLEANING": "Limpiando caché...",
"CACHE_CLEANED": "Caché limpiada. Se eliminaron {} entradas inválidas.",
@@ -1349,6 +1401,17 @@ _UI_TEXTS = {
"MENU_CLEAN_CACHE": "Limpar entradas de caché inválidas",
"MENU_SHOW_TAGS": "Amosar Etiquetas",
"MENU_SHOW_INFO": "Amosar Información",
"MENU_SHOW_FAVORITES": "Amosar Favoritos",
"FAVORITES_TAB": "Favoritos",
"FAVORITES_SEARCH_PLACEHOLDER": "Buscar favoritos...",
"FAVORITES_TABLE_HEADER": ["Comentario", "Consulta", "Atallo"],
"ADD_FAVORITE_TOOLTIP": "Engadir busca actual a favoritos",
"EDIT_COMMENT_TITLE": "Editar Comentario",
"EDIT_COMMENT_TEXT": "Comentario para '{}':",
"EDIT_SHORTCUT_TITLE": "Asignar Atallo",
"EDIT_SHORTCUT_TEXT": "Preme as teclas para '{}':",
"MOVE_UP": "Subir",
"MOVE_DOWN": "Baixar",
"MENU_SHOW_FILTER": "Amosar Filtro",
"MENU_SHOW_LAYOUTS": "Amosar Deseños",
"MENU_SHOW_HISTORY": "Amosar Historial",
@@ -1504,6 +1567,7 @@ _UI_TEXTS = {
"MEDIAPIPE_DOWNLOAD_ERROR_TEXT": "Fallo ao descargar o modelo de MediaPipe: {}",
"MENU_VIEWER_SETTINGS": "Opcións do Visor",
"MENU_FILMSTRIP_POSITION": "Posición da Tira de Imaxes",
"VIEWER_MENU_COMPARE": "Modo Comparación",
"FILMSTRIP_BOTTOM": "Abaixo",
"FILMSTRIP_LEFT": "Esquerda",
"FILMSTRIP_TOP": "Arriba",
@@ -1511,6 +1575,17 @@ _UI_TEXTS = {
"FILMSTRIP_POS_CHANGED_INFO": "A nova posición da tira de imaxes aplicarase "
"aos novos visores que se abran.",
"MENU_SHOW_SHORTCUTS": "Configurar Atallos de Teclado...",
"COMPARE_LINKED": " [Vencellado]",
"COMPARE_UNLINKED": " [Desvencellado]",
"CROP_INDICATOR": " [RECORTE]",
"OPEN_WITH_OTHER": "Abrir con outra aplicación...",
"COLLAPSE_EXPAND_GROUP": "Contraer/Expandir Grupo",
"MENU_TOGGLE_MAIN_WINDOW": "Amosar/Ocultar xanela principal",
"LOADING_DATA": "Cargando datos...",
"SETTINGS_PLACEHOLDER_TAGS": "etiqueta1, etiqueta2, cartafol/etiqueta",
"THUMBNAILS_GENERATE_PROGRESS": "Xerando miniaturas de {}px: {}/{}",
"THUMBNAILS_REGENERATE_PROGRESS": "Rexerando miniatura: {}/{}",
"SAVE_CROP_TITLE": "Gardar Imaxe Recortada",
"SHORTCUTS_TITLE": "Atallos de Teclado",
"SHORTCUTS_ACTION": "Acción",
"SHORTCUTS_KEY": "Atallo",
@@ -1519,6 +1594,7 @@ _UI_TEXTS = {
"SHORTCUT_EDIT_LABEL": "Novo Atallo para '{}'",
"SHORTCUT_CONFLICT_TITLE": "Conflito de Atallos",
"SHORTCUT_CONFLICT_TEXT": "O atallo '{}' xa está asignado a '{}'.",
"SHORTCUT_OVERRIDE_QUESTION": "Desexas sobrescribilo?",
"SHORTCUT_SEARCH_PLACEHOLDER": "Buscar atallos...",
"CACHE_CLEANING": "Limpando caché...",
"CACHE_CLEANED": "Caché limpada. Elimináronse {} entradas inválidas.",