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