[mainwindow] store toolbar location, forbid a floating tb
This commit is contained in:
parent
1e0b89c576
commit
ca2a7897ba
@ -4,6 +4,7 @@ from PyQt5.QtGui import QKeySequence, QIcon
|
|||||||
from PyQt5.QtCore import QSize, QSettings, Qt
|
from PyQt5.QtCore import QSize, QSettings, Qt
|
||||||
|
|
||||||
from nixview.util.file_handler import FileHandler, NodeType
|
from nixview.util.file_handler import FileHandler, NodeType
|
||||||
|
import nixview.info as info
|
||||||
import nixview.constants as cnst
|
import nixview.constants as cnst
|
||||||
import nixview.communicator as comm
|
import nixview.communicator as comm
|
||||||
from nixview.ui.centralwidget import CentralWidget
|
from nixview.ui.centralwidget import CentralWidget
|
||||||
@ -97,6 +98,7 @@ class NixView(QMainWindow):
|
|||||||
self._toolbar = QToolBar("My main toolbar")
|
self._toolbar = QToolBar("My main toolbar")
|
||||||
#self._toolbar.setStyleSheet("QToolButton:!hover {background-color:none}")
|
#self._toolbar.setStyleSheet("QToolButton:!hover {background-color:none}")
|
||||||
self._toolbar.setAllowedAreas(Qt.LeftToolBarArea | Qt.TopToolBarArea)
|
self._toolbar.setAllowedAreas(Qt.LeftToolBarArea | Qt.TopToolBarArea)
|
||||||
|
self._toolbar.setFloatable(False)
|
||||||
self._toolbar.setIconSize(QSize(32, 32))
|
self._toolbar.setIconSize(QSize(32, 32))
|
||||||
|
|
||||||
self._toolbar.addAction(self._file_open_action)
|
self._toolbar.addAction(self._file_open_action)
|
||||||
@ -112,7 +114,18 @@ class NixView(QMainWindow):
|
|||||||
self._toolbar.addSeparator()
|
self._toolbar.addSeparator()
|
||||||
self._toolbar.addAction(self._quit_action)
|
self._toolbar.addAction(self._quit_action)
|
||||||
|
|
||||||
self.addToolBar(Qt.LeftToolBarArea, self._toolbar)
|
settings = QSettings(info.ORGANIZATION, info.NAME)
|
||||||
|
tb_orientation = settings.value("app/toolbar_area", "left")
|
||||||
|
self.addToolBar(Qt.LeftToolBarArea if tb_orientation == "left" else Qt.TopToolBarArea, self._toolbar)
|
||||||
|
self._toolbar.topLevelChanged.connect(self.tb_changed)
|
||||||
|
del settings
|
||||||
|
|
||||||
|
def tb_changed(self, sig):
|
||||||
|
if not sig:
|
||||||
|
settings = QSettings(info.ORGANIZATION, info.NAME)
|
||||||
|
value = "left" if self.toolBarArea(self._toolbar) == Qt.LeftToolBarArea else "top"
|
||||||
|
settings.setValue("app/toolbar_area", value)
|
||||||
|
del settings
|
||||||
|
|
||||||
def create_menu(self):
|
def create_menu(self):
|
||||||
menu = self.menuBar()
|
menu = self.menuBar()
|
||||||
@ -132,7 +145,7 @@ class NixView(QMainWindow):
|
|||||||
self.setMenuBar(menu)
|
self.setMenuBar(menu)
|
||||||
|
|
||||||
def _update_recent_files(self, filename):
|
def _update_recent_files(self, filename):
|
||||||
settings = QSettings(cnst.organization, cnst.application)
|
settings = QSettings(info.ORGANIZATION, info.NAME)
|
||||||
recent_file_max_count = settings.value(cnst.settings_recent_file_max_count_key, 10, type=int)
|
recent_file_max_count = settings.value(cnst.settings_recent_file_max_count_key, 10, type=int)
|
||||||
filenames = settings.value(cnst.settings_recent_files_key, [])
|
filenames = settings.value(cnst.settings_recent_files_key, [])
|
||||||
new_filenames = [filename]
|
new_filenames = [filename]
|
||||||
@ -168,7 +181,7 @@ class NixView(QMainWindow):
|
|||||||
|
|
||||||
def on_quit(self, s):
|
def on_quit(self, s):
|
||||||
self._file_handler.close()
|
self._file_handler.close()
|
||||||
sys.exit()
|
self.close()
|
||||||
|
|
||||||
def on_item_plot(self, s):
|
def on_item_plot(self, s):
|
||||||
if self._current_item is not None:
|
if self._current_item is not None:
|
||||||
|
Loading…
Reference in New Issue
Block a user