Skip to content

Commit 1cf7612

Browse files
authored
Save indicator for tabs
Save indic
2 parents bb10be6 + b087be7 commit 1cf7612

3 files changed

Lines changed: 27 additions & 2 deletions

File tree

auratext/Core/AuraText.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ def __init__(self, window: Window, indentType="spaces"):
8888
self.autocomplete_engine = PythonAutocompleteEngine(self)
8989
self.autocomplete_engine.refresh()
9090

91+
# trigger save indicator
92+
self.modificationChanged.connect(self.saveIndicTrigger)
93+
9194
# Autocompletion
9295
self.setAutoCompletionSource(QsciScintilla.AutoCompletionSource.AcsAPIs)
9396
self.setAutoCompletionThreshold(1)
@@ -241,6 +244,27 @@ def keyPressEvent(self, event: QKeyEvent):
241244
def show_autocompletion(self):
242245
self.autocomplete_engine.trigger(force=True)
243246

247+
def saveIndicTrigger(self, modified):
248+
window_inst = self.window()
249+
# Find the parent container instead of self
250+
container = self.parentWidget()
251+
index = window_inst.tab_widget.indexOf(container)
252+
253+
if index == -1:
254+
return # Safety check: Tab not found
255+
256+
current_title = window_inst.tab_widget.tabText(index)
257+
258+
if modified:
259+
# Add the star if it's not already there
260+
if not current_title.endswith(" *"):
261+
window_inst.tab_widget.setTabText(index, f"{current_title} *")
262+
else:
263+
# Remove the star if it is there
264+
if current_title.endswith(" *"):
265+
window_inst.tab_widget.setTabText(index, current_title[:-2])
266+
267+
244268
def show_context_menu(self, point):
245269
self.context_menu.popup(self.mapToGlobal(point))
246270

auratext/Core/Modules.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from PyQt6.QtCore import QRegularExpression
12
import base64
23
import os
34
import random
@@ -338,7 +339,7 @@ def save_document(self, force_dialog=False):
338339
suggested_name = os.path.basename(existing_path) if existing_path else os.path.basename(current_tab_name)
339340
if not suggested_name:
340341
suggested_name = "untitled.py"
341-
filename, ok = QFileDialog.getSaveFileName(None, "Select file", "", "Python Files (*.py);;All Files (*)", initialFile=suggested_name)
342+
filename, ok = QFileDialog.getSaveFileName(None, "Select file", suggested_name, "Python Files (*.py);;All Files (*)")
342343
if not ok:
343344
return
344345
name = filename
@@ -353,6 +354,7 @@ def save_document(self, force_dialog=False):
353354
title = os.path.basename(file.name) + " ~ Aura Text"
354355
self.tab_widget.setTabText(active_tab_index, os.path.basename(file.name))
355356
self.setWindowTitle(title)
357+
self.current_editor.setModified(False)
356358
if hasattr(self, "tab_file_paths"):
357359
self.tab_file_paths[active_tab_index] = name
358360
if hasattr(self, "update_run_button_visibility"):

auratext/Core/window.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1446,7 +1446,6 @@ def closeEvent(self, event):
14461446

14471447
def gitClone(self):
14481448
messagebox = QMessageBox()
1449-
global path
14501449
try:
14511450
from git import Repo, GitCommandError
14521451

0 commit comments

Comments
 (0)