From 80cca7cd7988964fefab214c8a2b9379c901c253 Mon Sep 17 00:00:00 2001 From: Daniel Dybing Date: Wed, 21 Jan 2026 14:11:48 +0100 Subject: [PATCH] feat: add black/new background buttons and standard styling --- src/main.py | 2 +- src/teletext/ui.py | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/main.py b/src/main.py index efb698c..cddfe2e 100644 --- a/src/main.py +++ b/src/main.py @@ -26,7 +26,7 @@ def main(): app = QApplication(sys.argv) app.setApplicationName("TeletextEditor") app.setOrganizationName("DanielDybing") - app.setDesktopFileName("TeletextEditor") # Helps Linux DEs group windows + app.setDesktopFileName("no.ddybing.TeletextEditor") # Helps Linux DEs group windows # Debug Image Formats supported_formats = [str(fmt, 'utf-8') for fmt in QImageReader.supportedImageFormats()] diff --git a/src/teletext/ui.py b/src/teletext/ui.py index 9a13f76..e324fa1 100644 --- a/src/teletext/ui.py +++ b/src/teletext/ui.py @@ -192,6 +192,7 @@ class MainWindow(QMainWindow): color_layout.addWidget(self.chk_graphics) colors = [ + ("Black", 0x00, "#000000"), ("Red", 0x01, "#FF0000"), ("Green", 0x02, "#00FF00"), ("Yellow", 0x03, "#FFFF00"), @@ -203,7 +204,20 @@ class MainWindow(QMainWindow): for name, code, hex_color in colors: btn = QPushButton(name) - btn.setStyleSheet(f"background-color: {hex_color}; font-weight: bold; color: black;") + btn.setFixedSize(60, 30) # Fixed size for uniformity + + # Common style + style = f"background-color: {hex_color}; font-weight: bold; border: 1px solid #555; border-radius: 3px;" + + if name == "Black": + style += " color: white;" + elif name in ["Blue", "Red", "Magenta"]: # Darker backgrounds + style += " color: white;" + else: + style += " color: black;" + + btn.setStyleSheet(style) + # Use separate method to handle graphics check btn.clicked.connect(lambda checked, c=code: self.insert_color(c)) color_layout.addWidget(btn) @@ -216,6 +230,27 @@ class MainWindow(QMainWindow): color_layout.addStretch() center_layout.addLayout(color_layout) + # Background Controls + bg_layout = QHBoxLayout() + bg_label = QLabel("Background:") + bg_layout.addWidget(bg_label) + + # New Background (0x1D) + btn_new_bg = QPushButton("New BG") + btn_new_bg.setToolTip("Sets the current foreground color as the new background color (0x1D)") + btn_new_bg.clicked.connect(lambda: self.insert_char(0x1D)) + bg_layout.addWidget(btn_new_bg) + + # Black Background (0x1C) + btn_black_bg = QPushButton("Black BG") + btn_black_bg.setToolTip("Resets the background color to Black (0x1C)") + btn_black_bg.setStyleSheet("background-color: black; color: white;") + btn_black_bg.clicked.connect(lambda: self.insert_char(0x1C)) + bg_layout.addWidget(btn_black_bg) + + bg_layout.addStretch() + center_layout.addLayout(bg_layout) + # Canvas self.canvas = TeletextCanvas() self.canvas.cursorChanged.connect(self.on_cursor_changed)