Sistematično poimenovanje Projektor besedil oz. Projektor. Besedo pesem dopolnil z 'ali drugo besedilo' oz. jo nadomeščal z besedilo, kjer je bilo možno ali pa se celo v celoti izognil temu poimenovanju. #8
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# Projektor pesmi (Song Projector)
|
# Projekcija besedil (Lyrics Projector)
|
||||||
|
|
||||||
A Tkinter-based song projector application with optional Flask web interface for remote control.
|
A Tkinter-based song projector application with optional Flask web interface for remote control.
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ A Tkinter-based song projector application with optional Flask web interface for
|
|||||||
## Project Structure
|
## Project Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
Projekcija/
|
projekcija/
|
||||||
├── projector.py # Main Tkinter application
|
├── projector.py # Main Tkinter application
|
||||||
├── nastavitve.py # Settings defaults and initialization
|
├── nastavitve.py # Settings defaults and initialization
|
||||||
├── add_song.py # Utility to import songs into database
|
├── add_song.py # Utility to import songs into database
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ class SongProjector:
|
|||||||
self.next_page()
|
self.next_page()
|
||||||
|
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
# Nalaganje in obdelava pesmi
|
# Nalaganje in obdelava besedila
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
def load_song(self):
|
def load_song(self):
|
||||||
if not self.song_number:
|
if not self.song_number:
|
||||||
@@ -436,7 +436,7 @@ class SongProjector:
|
|||||||
self.song_info_label.config(text="")
|
self.song_info_label.config(text="")
|
||||||
|
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
# Iskanje pesmi
|
# Iskanje po naslovu
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
def search_song(self, event=None):
|
def search_song(self, event=None):
|
||||||
self.clear_screen()
|
self.clear_screen()
|
||||||
|
|||||||
10
startup.bat
10
startup.bat
@@ -1,12 +1,12 @@
|
|||||||
@echo off
|
@echo off
|
||||||
cls
|
cls
|
||||||
|
|
||||||
set "TARGET=%USERPROFILE%\OneDrive\Namizje\Projekcije cerkev"
|
set "TARGET=%USERPROFILE%\Projekcija"
|
||||||
set "BACKUP_DIR=%TARGET%\backup"
|
set "BACKUP_DIR=%TARGET%\backup"
|
||||||
|
|
||||||
:: Najprej preveri ali obstaja mapa Projekcije cerkev na USB (D:)
|
:: Najprej preveri ali obstaja mapa Projekcija na USB (D:)
|
||||||
IF EXIST "D:\Projekcije cerkev" (
|
IF EXIST "D:\Projekcija" (
|
||||||
echo Mapa 'Projekcije cerkev' na USB pogonu obstaja.
|
echo Mapa 'Projekcija' na USB pogonu obstaja.
|
||||||
|
|
||||||
:: 1. Ustvari backup obstoječe baze na namizju, če obstaja
|
:: 1. Ustvari backup obstoječe baze na namizju, če obstaja
|
||||||
IF EXIST "%TARGET%\songs.db" (
|
IF EXIST "%TARGET%\songs.db" (
|
||||||
@@ -38,7 +38,7 @@ IF EXIST "D:\Projekcije cerkev" (
|
|||||||
|
|
||||||
echo Kopiram nove datoteke z USB na namizje...
|
echo Kopiram nove datoteke z USB na namizje...
|
||||||
:: Kopiranje z robocopy (/E - vse podmape, /XO - samo novejše datoteke, da ne povozimo backupa če ni treba)
|
:: Kopiranje z robocopy (/E - vse podmape, /XO - samo novejše datoteke, da ne povozimo backupa če ni treba)
|
||||||
robocopy "D:\Projekcije cerkev" "%TARGET%" /E
|
robocopy "D:\Projekcija" "%TARGET%" /E
|
||||||
|
|
||||||
echo Zagon projector.py ...
|
echo Zagon projector.py ...
|
||||||
pushd "%TARGET%"
|
pushd "%TARGET%"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Ciljna mapa na Linuxu (v uporabnikovem home-u)
|
# Ciljna mapa na Linuxu (v uporabnikovem home-u)
|
||||||
TARGET="$HOME/Projekcije cerkev"
|
TARGET="$HOME/Projekcija"
|
||||||
BACKUP_DIR="$TARGET/backup"
|
BACKUP_DIR="$TARGET/backup"
|
||||||
|
|
||||||
# Iskanje vira na vseh priklopljenih medijih (USB ključek)
|
# Iskanje vira na vseh priklopljenih medijih (USB ključek)
|
||||||
SOURCE=$(find /media/$USER -maxdepth 2 -type d -name "Projekcije cerkev" 2>/dev/null | head -n 1)
|
SOURCE=$(find /media/$USER -maxdepth 2 -type d -name "Projekcija" 2>/dev/null | head -n 1)
|
||||||
|
|
||||||
if [ -n "$SOURCE" ]; then
|
if [ -n "$SOURCE" ]; then
|
||||||
echo "Najden ključek: $SOURCE"
|
echo "Najden ključek: $SOURCE"
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ def get_state():
|
|||||||
can_prev = _projector_app.current_page_index > 0
|
can_prev = _projector_app.current_page_index > 0
|
||||||
can_next = _projector_app.current_page_index + 1 < len(_projector_app.pages)
|
can_next = _projector_app.current_page_index + 1 < len(_projector_app.pages)
|
||||||
else:
|
else:
|
||||||
current_text = "Pripravljeno. Vpiši številko pesmi."
|
current_text = "Pripravljeno. Vpiši številko pesmi ali drugega besedila."
|
||||||
|
|
||||||
return jsonify({
|
return jsonify({
|
||||||
'current_text': current_text,
|
'current_text': current_text,
|
||||||
@@ -133,7 +133,7 @@ def toggle_caps():
|
|||||||
|
|
||||||
@app.route('/api/search_songs', methods=['POST'])
|
@app.route('/api/search_songs', methods=['POST'])
|
||||||
def search_songs():
|
def search_songs():
|
||||||
"""Iskanje pesmi po naslovu"""
|
"""Iskanje besedil po naslovu"""
|
||||||
if _projector_app is None:
|
if _projector_app is None:
|
||||||
return jsonify({'results': []})
|
return jsonify({'results': []})
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ async function updateState(force = false) {
|
|||||||
|
|
||||||
lastStateSignature = signature;
|
lastStateSignature = signature;
|
||||||
|
|
||||||
displayArea.textContent = data.current_text || 'Pripravljeno. Vpiši številko pesmi.';
|
displayArea.textContent = data.current_text || 'Pripravljeno. Vpiši številko pesmi ali drugega besedila.';
|
||||||
lastPageInfo = data.page_info || '';
|
lastPageInfo = data.page_info || '';
|
||||||
updatePageInfoDisplay();
|
updatePageInfoDisplay();
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ async function loadSong() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iskanje pesmi
|
// Iskanje besedil po naslovu
|
||||||
async function searchSongs() {
|
async function searchSongs() {
|
||||||
const query = searchInput.value.trim();
|
const query = searchInput.value.trim();
|
||||||
if (!query) {
|
if (!query) {
|
||||||
@@ -237,11 +237,11 @@ async function openEditor() {
|
|||||||
editModal.style.display = 'block';
|
editModal.style.display = 'block';
|
||||||
menuDropdown.classList.remove('show');
|
menuDropdown.classList.remove('show');
|
||||||
} else {
|
} else {
|
||||||
alert(data.message || 'Za urejanje najprej naložite skladbo.');
|
alert(data.message || 'Za urejanje najprej naložite besedilo.');
|
||||||
menuDropdown.classList.remove('show');
|
menuDropdown.classList.remove('show');
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Napaka pri pridobivanju podatkov pesmi:', error);
|
console.error('Napaka pri pridobivanju podatkov:', error);
|
||||||
alert('Napaka pri povezavi s strežnikom.');
|
alert('Napaka pri povezavi s strežnikom.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -281,7 +281,7 @@ async function saveSongEdit() {
|
|||||||
alert('Napaka pri shranjevanju: ' + data.message);
|
alert('Napaka pri shranjevanju: ' + data.message);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Napaka pri shranjevanju pesmi:', error);
|
console.error('Napaka pri shranjevanju besedila:', error);
|
||||||
alert('Napaka pri povezavi s strežnikom.');
|
alert('Napaka pri povezavi s strežnikom.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
|
||||||
<title>Projektor pesmi</title>
|
<title>Projekcija besedil</title>
|
||||||
<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
|
<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<div class="status-bar">
|
<div class="status-bar">
|
||||||
<span id="page-info" class="page-info"></span>
|
<span id="page-info" class="page-info"></span>
|
||||||
<div class="search-container">
|
<div class="search-container">
|
||||||
<input type="text" id="search-input" placeholder="Išči pesem..." autocomplete="off">
|
<input type="text" id="search-input" placeholder="Išči po naslovu ..." autocomplete="off">
|
||||||
<div id="search-results" class="search-results"></div>
|
<div id="search-results" class="search-results"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="menu-container">
|
<div class="menu-container">
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div id="display-area" class="lyrics-display">
|
<div id="display-area" class="lyrics-display">
|
||||||
<span class="status-message">Pripravljeno. Vpiši številko pesmi.</span>
|
<span class="status-message">Pripravljeno. Vpiši številko pesmi ali drugega besedila.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user