diff --git a/src/recoder/app_state.py b/src/recoder/app_state.py
index 80a86cf..4e507d1 100644
--- a/src/recoder/app_state.py
+++ b/src/recoder/app_state.py
@@ -41,7 +41,16 @@ class UIStateManager:
if handler:
handler()
+ def _update_title(self, folder_name=None):
+ w = self.window
+ base = "Recoder"
+ if folder_name:
+ w.folder_label.set_text(f"{base} — {folder_name}")
+ else:
+ w.folder_label.set_text(base)
+
def _handle_idle(self):
+ self._update_title(None)
w = self.window
w.clear_listbox()
w.file_rows.clear()
@@ -58,6 +67,7 @@ class UIStateManager:
def _handle_files_loaded(self):
w = self.window
+ self._update_title(w.current_folder_name)
w.drop_hint.set_visible(False)
w.progress_bar.set_visible(False)
w.btn_transcode.set_visible(True)
@@ -100,6 +110,7 @@ class UIStateManager:
def _handle_error(self):
w = self.window
+ self._update_title(w.current_folder_name)
w.drop_hint.set_visible(False)
w.progress_bar.set_visible(False)
w.btn_transcode.set_visible(False)
diff --git a/src/recoder/recoder_window.py b/src/recoder/recoder_window.py
index 25b0d69..abcdd6b 100644
--- a/src/recoder/recoder_window.py
+++ b/src/recoder/recoder_window.py
@@ -27,11 +27,13 @@ class RecoderWindow(Adw.ApplicationWindow):
btn_transcode = Gtk.Template.Child()
btn_cancel = Gtk.Template.Child()
progress_bar = Gtk.Template.Child()
+ folder_label = Gtk.Template.Child()
def __init__(self, application):
super().__init__(application=application)
self.file_items_to_process = []
+ self.current_folder_name = None
self.transcoder = None
self.file_rows = {}
self.is_paused = False
@@ -56,6 +58,19 @@ class RecoderWindow(Adw.ApplicationWindow):
Notify.init("Recoder")
def process_drop_value(self, value):
+
+ # value could be a list of Gio.File or a single Gio.File
+ # Assuming it's a list:
+ folder_file = None
+ if isinstance(value, list) and len(value) > 0:
+ folder_file = value[0]
+ elif hasattr(value, 'get_path'):
+ folder_file = value
+
+ if folder_file:
+ # Set the current folder name for UI
+ self.current_folder_name = folder_file.get_basename()
+
file_items = extract_video_files(value)
if not file_items:
return False
diff --git a/src/resources/recoder_window.ui b/src/resources/recoder_window.ui
index 0d60a61..114bde1 100644
--- a/src/resources/recoder_window.ui
+++ b/src/resources/recoder_window.ui
@@ -18,6 +18,13 @@
False
+
+
+