open file dialog in folder of currently open file
This commit is contained in:
@@ -27,7 +27,7 @@ class FullTabWidget(QWidget):
|
||||
self.layout.addWidget(splitter)
|
||||
|
||||
def get_file(self) -> str:
|
||||
self.file_view.get_file()
|
||||
return self.file_view.get_file()
|
||||
|
||||
def destruct(self):
|
||||
self.file_view.destruct()
|
||||
|
||||
9
main.py
9
main.py
@@ -99,8 +99,15 @@ class MainWindow(QMainWindow):
|
||||
dialog.exec()
|
||||
|
||||
def _open_file_dialog(self) -> None:
|
||||
current_file = self.tabs.current_file()
|
||||
directory = os.path.dirname(current_file) if current_file else ''
|
||||
|
||||
dialog = QFileDialog(self)
|
||||
(selected_file, _filter) = dialog.getOpenFileName(caption=self.tr("Open File"))
|
||||
(selected_file, _filter) = dialog.getOpenFileName(
|
||||
caption=self.tr("Open File"),
|
||||
directory=directory
|
||||
)
|
||||
if selected_file:
|
||||
self.tabs.create_tab(selected_file)
|
||||
self._remember_recent_file(selected_file)
|
||||
|
||||
|
||||
13
tabs.py
13
tabs.py
@@ -1,5 +1,5 @@
|
||||
import os
|
||||
from typing import Mapping
|
||||
from typing import Mapping, Optional
|
||||
|
||||
from PyQt6.QtWidgets import *
|
||||
from PyQt6.QtCore import *
|
||||
@@ -13,7 +13,6 @@ from settings import Settings
|
||||
|
||||
|
||||
class Tabs(QWidget):
|
||||
tabs_by_index = {}
|
||||
tabs_by_filename = {}
|
||||
|
||||
def __init__(self, settings: Settings):
|
||||
@@ -69,3 +68,13 @@ class Tabs(QWidget):
|
||||
def destruct(self):
|
||||
while self.tabs.count() > 0:
|
||||
self._close_tab(0)
|
||||
|
||||
def _current_tab(self) -> int:
|
||||
return self.tabs.currentIndex()
|
||||
|
||||
def current_file(self) -> Optional[str]:
|
||||
if self.tabs.currentIndex() < 0:
|
||||
return None
|
||||
|
||||
full_tab: FullTabWidget = self.tabs.widget(self.tabs.currentIndex())
|
||||
return full_tab.get_file()
|
||||
|
||||
Reference in New Issue
Block a user