Add menu to view bar settings, and add build button
This commit is contained in:
+4
-8
@@ -132,14 +132,10 @@ class nwState(Enum):
|
|||||||
|
|
||||||
class nwView(Enum):
|
class nwView(Enum):
|
||||||
|
|
||||||
EDITOR = 0
|
EDITOR = 0
|
||||||
PROJECT = 1
|
PROJECT = 1
|
||||||
NOVEL = 2
|
NOVEL = 2
|
||||||
OUTLINE = 3
|
OUTLINE = 3
|
||||||
DETAILS = 4
|
|
||||||
STATS = 5
|
|
||||||
SET_PROJ = 6
|
|
||||||
SET_MAIN = 7
|
|
||||||
|
|
||||||
# END Enum nwView
|
# END Enum nwView
|
||||||
|
|
||||||
|
|||||||
@@ -462,7 +462,7 @@ class GuiIcons:
|
|||||||
"proj_folder", "proj_note", "proj_nwx", "proj_scene", "proj_stats", "proj_title",
|
"proj_folder", "proj_note", "proj_nwx", "proj_scene", "proj_stats", "proj_title",
|
||||||
"search_cancel", "search_case", "search_loop", "search_preserve", "search_project",
|
"search_cancel", "search_case", "search_loop", "search_preserve", "search_project",
|
||||||
"search_regex", "search_word", "status_idle", "status_lang", "status_lines",
|
"search_regex", "search_word", "status_idle", "status_lang", "status_lines",
|
||||||
"status_stats", "status_time", "view_editor", "view_novel", "view_outline",
|
"status_stats", "status_time", "view_build", "view_editor", "view_novel", "view_outline",
|
||||||
|
|
||||||
# General Button Icons
|
# General Button Icons
|
||||||
"add", "backward", "check", "clear", "close", "cross", "delete", "done", "down", "edit",
|
"add", "backward", "check", "clear", "close", "cross", "delete", "done", "down", "edit",
|
||||||
|
|||||||
@@ -27,7 +27,9 @@ import logging
|
|||||||
import novelwriter
|
import novelwriter
|
||||||
|
|
||||||
from PyQt5.QtCore import Qt, QSize, pyqtSignal
|
from PyQt5.QtCore import Qt, QSize, pyqtSignal
|
||||||
from PyQt5.QtWidgets import QToolBar, QWidget, QSizePolicy, QAction
|
from PyQt5.QtWidgets import (
|
||||||
|
QToolBar, QWidget, QSizePolicy, QAction, QMenu, QToolButton
|
||||||
|
)
|
||||||
|
|
||||||
from novelwriter.enum import nwView
|
from novelwriter.enum import nwView
|
||||||
|
|
||||||
@@ -49,7 +51,7 @@ class GuiViewsBar(QToolBar):
|
|||||||
|
|
||||||
# Style
|
# Style
|
||||||
iPx = self.mainConf.pxInt(22)
|
iPx = self.mainConf.pxInt(22)
|
||||||
mPx = self.mainConf.pxInt(58)
|
mPx = self.mainConf.pxInt(60)
|
||||||
|
|
||||||
lblFont = self.theTheme.guiFont
|
lblFont = self.theTheme.guiFont
|
||||||
lblFont.setPointSizeF(0.65*self.theTheme.fontPointSize)
|
lblFont.setPointSizeF(0.65*self.theTheme.fontPointSize)
|
||||||
@@ -77,26 +79,45 @@ class GuiViewsBar(QToolBar):
|
|||||||
self.aOutline.setIcon(self.theTheme.getIcon("view_outline"))
|
self.aOutline.setIcon(self.theTheme.getIcon("view_outline"))
|
||||||
self.aOutline.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.OUTLINE))
|
self.aOutline.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.OUTLINE))
|
||||||
|
|
||||||
|
self.aBuild = QAction(self.tr("Build"))
|
||||||
|
self.aBuild.setIcon(self.theTheme.getIcon("view_build"))
|
||||||
|
self.aBuild.triggered.connect(lambda: self.theParent.showBuildProjectDialog())
|
||||||
|
|
||||||
self.aDetails = QAction(self.tr("Details"))
|
self.aDetails = QAction(self.tr("Details"))
|
||||||
self.aDetails.setIcon(self.theTheme.getIcon("proj_details"))
|
self.aDetails.setIcon(self.theTheme.getIcon("proj_details"))
|
||||||
self.aDetails.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.DETAILS))
|
self.aDetails.triggered.connect(lambda: self.theParent.showProjectDetailsDialog())
|
||||||
|
|
||||||
self.aStats = QAction(self.tr("Stats"))
|
self.aStats = QAction(self.tr("Stats"))
|
||||||
self.aStats.setIcon(self.theTheme.getIcon("proj_stats"))
|
self.aStats.setIcon(self.theTheme.getIcon("proj_stats"))
|
||||||
self.aStats.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.STATS))
|
self.aStats.triggered.connect(lambda: self.theParent.showWritingStatsDialog())
|
||||||
|
|
||||||
self.aSettings = QAction(self.tr("Settings"))
|
# Settings Menu
|
||||||
self.aSettings.setIcon(self.theTheme.getIcon("settings"))
|
self.mSettings = QMenu()
|
||||||
self.aSettings.triggered.connect(lambda: self.viewChangeRequested.emit(nwView.SET_PROJ))
|
|
||||||
|
self.aPrjSettings = QAction(self.tr("Project Settings"))
|
||||||
|
self.aPrjSettings.triggered.connect(lambda: self.theParent.showProjectSettingsDialog())
|
||||||
|
self.mSettings.addAction(self.aPrjSettings)
|
||||||
|
|
||||||
|
self.aPreferences = QAction(self.tr("Preferences"))
|
||||||
|
self.aPreferences.triggered.connect(lambda: self.theParent.showPreferencesDialog())
|
||||||
|
self.mSettings.addAction(self.aPreferences)
|
||||||
|
|
||||||
|
self.tbSettings = QToolButton(self)
|
||||||
|
self.tbSettings.setIcon(self.theTheme.getIcon("settings"))
|
||||||
|
self.tbSettings.setText(self.tr("Settings"))
|
||||||
|
self.tbSettings.setMenu(self.mSettings)
|
||||||
|
self.tbSettings.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
|
||||||
|
self.tbSettings.setPopupMode(QToolButton.InstantPopup)
|
||||||
|
|
||||||
# Assemble
|
# Assemble
|
||||||
self.addAction(self.aProject)
|
self.addAction(self.aProject)
|
||||||
self.addAction(self.aNovel)
|
self.addAction(self.aNovel)
|
||||||
self.addAction(self.aOutline)
|
self.addAction(self.aOutline)
|
||||||
|
self.addAction(self.aBuild)
|
||||||
self.addWidget(stretch)
|
self.addWidget(stretch)
|
||||||
self.addAction(self.aDetails)
|
self.addAction(self.aDetails)
|
||||||
self.addAction(self.aStats)
|
self.addAction(self.aStats)
|
||||||
self.addAction(self.aSettings)
|
self.addWidget(self.tbSettings)
|
||||||
|
|
||||||
logger.debug("GuiViewsBar initialisation complete")
|
logger.debug("GuiViewsBar initialisation complete")
|
||||||
|
|
||||||
|
|||||||
@@ -1496,15 +1496,6 @@ class GuiMain(QMainWindow):
|
|||||||
elif view == nwView.OUTLINE:
|
elif view == nwView.OUTLINE:
|
||||||
self.mainStack.setCurrentWidget(self.splitOutline)
|
self.mainStack.setCurrentWidget(self.splitOutline)
|
||||||
|
|
||||||
elif view == nwView.DETAILS:
|
|
||||||
self.showProjectDetailsDialog()
|
|
||||||
|
|
||||||
elif view == nwView.STATS:
|
|
||||||
self.showWritingStatsDialog()
|
|
||||||
|
|
||||||
elif view == nwView.SET_PROJ:
|
|
||||||
self.showProjectSettingsDialog()
|
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
|
|||||||
Reference in New Issue
Block a user