Moved some functions from FileActions to File to make the code more OO
This commit is contained in:
parent
4529529a7f
commit
4a1ec42656
2 changed files with 19 additions and 22 deletions
|
@ -37,7 +37,7 @@ class BitEditor:
|
|||
|
||||
self.widget.setLayout(self.widget_layout)
|
||||
|
||||
self.app.gui.main_window.openFileTabs.addTab( # add a tab for the file in the top files list
|
||||
self.tab_index = self.app.gui.main_window.openFileTabs.addTab( # add a tab for the file in the top files list
|
||||
self.widget,
|
||||
self.file.name
|
||||
)
|
||||
|
|
39
file.py
39
file.py
|
@ -20,28 +20,13 @@ class FileActions:
|
|||
if not file_path in self.app.open_files: # dont open file twice
|
||||
self.app.open_files[file_path] = File(self.app, file_path, file_path.split("/")[-1])
|
||||
|
||||
def save_file(self, path):
|
||||
oz_string = self.app.open_files[path].bit_editor.input.toPlainText()
|
||||
data = self.app.utils.oz_string_to_bstring(oz_string)
|
||||
|
||||
file = open(path, "wb")
|
||||
file.write(data)
|
||||
file.close()
|
||||
|
||||
self.app.open_files[path].bit_editor.not_saved = False
|
||||
|
||||
def save_current_file(self):
|
||||
current_tab = self.app.gui.main_window.openFileTabs.currentWidget()
|
||||
current_file_path = current_tab.objectName()
|
||||
|
||||
self.save_file(current_file_path)
|
||||
|
||||
def close_file(self, path, tab_index):
|
||||
self.app.gui.main_window.openFileTabs.removeTab(tab_index)
|
||||
del self.app.open_files[path]
|
||||
self.app.open_files[current_file_path].save()
|
||||
|
||||
def close_current_file(self):
|
||||
tab_index = self.app.gui.main_window.openFileTabs.currentIndex()
|
||||
current_file_path = self.app.gui.main_window.openFileTabs.currentWidget().objectName()
|
||||
|
||||
if self.app.open_files[current_file_path].bit_editor.not_saved:
|
||||
|
@ -49,18 +34,16 @@ class FileActions:
|
|||
|
||||
match save_or_not:
|
||||
case "save":
|
||||
self.save_file(current_file_path)
|
||||
self.app.open_files[current_file_path].save()
|
||||
|
||||
case "cancel":
|
||||
return
|
||||
|
||||
self.close_file(current_file_path, tab_index)
|
||||
self.app.open_files[current_file_path].close()
|
||||
|
||||
def save_all_files(self):
|
||||
for file_path in self.app.open_files:
|
||||
file = self.app.open_files[file_path]
|
||||
|
||||
self.save_file(file.path)
|
||||
self.app.open_files[file_path].save()
|
||||
|
||||
|
||||
class File:
|
||||
|
@ -77,3 +60,17 @@ class File:
|
|||
self.content = file_content
|
||||
|
||||
self.bit_editor = BitEditor(self.app, self)
|
||||
|
||||
def close(self):
|
||||
self.app.gui.main_window.openFileTabs.removeTab(self.bit_editor.tab_index)
|
||||
del self.app.open_files[self.path]
|
||||
|
||||
def save(self):
|
||||
oz_string = self.app.open_files[self.path].bit_editor.input.toPlainText()
|
||||
data = self.app.utils.oz_string_to_bstring(oz_string)
|
||||
|
||||
file = open(self.path, "wb")
|
||||
file.write(data)
|
||||
file.close()
|
||||
|
||||
self.app.open_files[self.path].bit_editor.not_saved = False
|
||||
|
|
Loading…
Reference in a new issue