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)
|
self.layout.addWidget(splitter)
|
||||||
|
|
||||||
def get_file(self) -> str:
|
def get_file(self) -> str:
|
||||||
self.file_view.get_file()
|
return self.file_view.get_file()
|
||||||
|
|
||||||
def destruct(self):
|
def destruct(self):
|
||||||
self.file_view.destruct()
|
self.file_view.destruct()
|
||||||
|
|||||||
13
main.py
13
main.py
@@ -99,10 +99,17 @@ class MainWindow(QMainWindow):
|
|||||||
dialog.exec()
|
dialog.exec()
|
||||||
|
|
||||||
def _open_file_dialog(self) -> None:
|
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)
|
dialog = QFileDialog(self)
|
||||||
(selected_file, _filter) = dialog.getOpenFileName(caption=self.tr("Open File"))
|
(selected_file, _filter) = dialog.getOpenFileName(
|
||||||
self.tabs.create_tab(selected_file)
|
caption=self.tr("Open File"),
|
||||||
self._remember_recent_file(selected_file)
|
directory=directory
|
||||||
|
)
|
||||||
|
if selected_file:
|
||||||
|
self.tabs.create_tab(selected_file)
|
||||||
|
self._remember_recent_file(selected_file)
|
||||||
|
|
||||||
def _open_file(self, file: str) -> None:
|
def _open_file(self, file: str) -> None:
|
||||||
self.tabs.create_tab(file)
|
self.tabs.create_tab(file)
|
||||||
|
|||||||
13
tabs.py
13
tabs.py
@@ -1,5 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
from typing import Mapping
|
from typing import Mapping, Optional
|
||||||
|
|
||||||
from PyQt6.QtWidgets import *
|
from PyQt6.QtWidgets import *
|
||||||
from PyQt6.QtCore import *
|
from PyQt6.QtCore import *
|
||||||
@@ -13,7 +13,6 @@ from settings import Settings
|
|||||||
|
|
||||||
|
|
||||||
class Tabs(QWidget):
|
class Tabs(QWidget):
|
||||||
tabs_by_index = {}
|
|
||||||
tabs_by_filename = {}
|
tabs_by_filename = {}
|
||||||
|
|
||||||
def __init__(self, settings: Settings):
|
def __init__(self, settings: Settings):
|
||||||
@@ -69,3 +68,13 @@ class Tabs(QWidget):
|
|||||||
def destruct(self):
|
def destruct(self):
|
||||||
while self.tabs.count() > 0:
|
while self.tabs.count() > 0:
|
||||||
self._close_tab(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