Save project search toggle state
This commit is contained in:
+16
-10
@@ -183,17 +183,19 @@ class Config:
|
||||
# State
|
||||
self.showViewerPanel = True # The panel for the viewer is visible
|
||||
self.showEditToolBar = False # The document editor toolbar visibility
|
||||
self.useShortcodes = False # Use shortcodes for basic formatting
|
||||
self.viewComments = True # Comments are shown in the viewer
|
||||
self.viewSynopsis = True # Synopsis is shown in the viewer
|
||||
|
||||
# Search Bar Switches
|
||||
self.searchCase = False
|
||||
self.searchWord = False
|
||||
self.searchRegEx = False
|
||||
self.searchLoop = False
|
||||
self.searchNextFile = False
|
||||
self.searchMatchCap = False
|
||||
# Search Box States
|
||||
self.searchCase = False
|
||||
self.searchWord = False
|
||||
self.searchRegEx = False
|
||||
self.searchLoop = False
|
||||
self.searchNextFile = False
|
||||
self.searchMatchCap = False
|
||||
self.searchProjCase = False
|
||||
self.searchProjWord = False
|
||||
self.searchProjRegEx = False
|
||||
|
||||
# System and App Information
|
||||
# ==========================
|
||||
@@ -619,7 +621,6 @@ class Config:
|
||||
sec = "State"
|
||||
self.showViewerPanel = conf.rdBool(sec, "showviewerpanel", self.showViewerPanel)
|
||||
self.showEditToolBar = conf.rdBool(sec, "showedittoolbar", self.showEditToolBar)
|
||||
self.useShortcodes = conf.rdBool(sec, "useshortcodes", self.useShortcodes)
|
||||
self.viewComments = conf.rdBool(sec, "viewcomments", self.viewComments)
|
||||
self.viewSynopsis = conf.rdBool(sec, "viewsynopsis", self.viewSynopsis)
|
||||
self.searchCase = conf.rdBool(sec, "searchcase", self.searchCase)
|
||||
@@ -628,6 +629,9 @@ class Config:
|
||||
self.searchLoop = conf.rdBool(sec, "searchloop", self.searchLoop)
|
||||
self.searchNextFile = conf.rdBool(sec, "searchnextfile", self.searchNextFile)
|
||||
self.searchMatchCap = conf.rdBool(sec, "searchmatchcap", self.searchMatchCap)
|
||||
self.searchProjCase = conf.rdBool(sec, "searchprojcase", self.searchProjCase)
|
||||
self.searchProjWord = conf.rdBool(sec, "searchprojword", self.searchProjWord)
|
||||
self.searchProjRegEx = conf.rdBool(sec, "searchprojregex", self.searchProjRegEx)
|
||||
|
||||
# Check Values
|
||||
# ============
|
||||
@@ -725,7 +729,6 @@ class Config:
|
||||
conf["State"] = {
|
||||
"showviewerpanel": str(self.showViewerPanel),
|
||||
"showedittoolbar": str(self.showEditToolBar),
|
||||
"useshortcodes": str(self.useShortcodes),
|
||||
"viewcomments": str(self.viewComments),
|
||||
"viewsynopsis": str(self.viewSynopsis),
|
||||
"searchcase": str(self.searchCase),
|
||||
@@ -734,6 +737,9 @@ class Config:
|
||||
"searchloop": str(self.searchLoop),
|
||||
"searchnextfile": str(self.searchNextFile),
|
||||
"searchmatchcap": str(self.searchMatchCap),
|
||||
"searchprojcase": str(self.searchProjCase),
|
||||
"searchprojword": str(self.searchProjWord),
|
||||
"searchprojregex": str(self.searchProjRegEx),
|
||||
}
|
||||
|
||||
# Write config file
|
||||
|
||||
@@ -68,12 +68,18 @@ class GuiProjectSearch(QWidget):
|
||||
|
||||
self.toggleCase = self.searchOpt.addAction(self.tr("Case Sensitive"))
|
||||
self.toggleCase.setCheckable(True)
|
||||
self.toggleCase.setChecked(CONFIG.searchProjCase)
|
||||
self.toggleCase.toggled.connect(self._toggleCase)
|
||||
|
||||
self.toggleWord = self.searchOpt.addAction(self.tr("Whole Words Only"))
|
||||
self.toggleWord.setCheckable(True)
|
||||
self.toggleWord.setChecked(CONFIG.searchProjWord)
|
||||
self.toggleWord.toggled.connect(self._toggleWord)
|
||||
|
||||
self.toggleRegEx = self.searchOpt.addAction(self.tr("RegEx Mode"))
|
||||
self.toggleRegEx.setCheckable(True)
|
||||
self.toggleRegEx.setChecked(CONFIG.searchProjRegEx)
|
||||
self.toggleRegEx.toggled.connect(self._toggleRegEx)
|
||||
|
||||
# Search Box
|
||||
self.searchText = QLineEdit(self)
|
||||
@@ -206,6 +212,24 @@ class GuiProjectSearch(QWidget):
|
||||
)
|
||||
return
|
||||
|
||||
@pyqtSlot(bool)
|
||||
def _toggleCase(self, state: bool) -> None:
|
||||
"""Enable/disable case sensitive mode."""
|
||||
CONFIG.searchProjCase = state
|
||||
return
|
||||
|
||||
@pyqtSlot(bool)
|
||||
def _toggleWord(self, state: bool) -> None:
|
||||
"""Enable/disable whole word search mode."""
|
||||
CONFIG.searchProjWord = state
|
||||
return
|
||||
|
||||
@pyqtSlot(bool)
|
||||
def _toggleRegEx(self, state: bool) -> None:
|
||||
"""Enable/disable regular expression search mode."""
|
||||
CONFIG.searchProjRegEx = state
|
||||
return
|
||||
|
||||
##
|
||||
# Internal Functions
|
||||
##
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[Meta]
|
||||
timestamp = 2024-02-09 12:05:00
|
||||
timestamp = 2024-03-25 11:57:35
|
||||
|
||||
[Main]
|
||||
theme = default
|
||||
@@ -69,7 +69,6 @@ useridletime = 300
|
||||
[State]
|
||||
showviewerpanel = True
|
||||
showedittoolbar = False
|
||||
useshortcodes = False
|
||||
viewcomments = True
|
||||
viewsynopsis = True
|
||||
searchcase = False
|
||||
@@ -78,4 +77,7 @@ searchregex = False
|
||||
searchloop = False
|
||||
searchnextfile = False
|
||||
searchmatchcap = False
|
||||
searchprojcase = False
|
||||
searchprojword = False
|
||||
searchprojregex = False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user