Skip to content

Commit

Permalink
Port db manager to use QgsStoredQueryManager methods
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Feb 26, 2025
1 parent de909e5 commit d45401c
Showing 1 changed file with 24 additions and 28 deletions.
52 changes: 24 additions & 28 deletions python/plugins/db_manager/dlg_sql_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,15 @@
)
from qgis.PyQt.Qsci import QsciAPIs, QsciScintilla

from qgis.core import QgsProject, QgsApplication, QgsTask, QgsSettings, QgsMapLayerType
from qgis.core import (
Qgis,
QgsProject,
QgsApplication,
QgsTask,
QgsSettings,
QgsMapLayerType,
)
from qgis.gui import QgsGui
from qgis.utils import OverrideCursor

from .db_plugins.plugin import BaseError
Expand Down Expand Up @@ -263,34 +271,25 @@ def getQueryHash(self, name):
def updatePresetsCombobox(self):
self.presetCombo.clear()

names = []
entries = QgsProject.instance().subkeyList("DBManager", "savedQueries")
for entry in entries:
name = QgsProject.instance().readEntry(
"DBManager", "savedQueries/" + entry + "/name"
)[0]
names.append(name)

for name in sorted(names):
self.presetCombo.addItem(name)
queries = QgsGui.storedQueryManager().allQueries()
for query in queries:
self.presetCombo.addItem(query.name, query.definition)

self.presetCombo.setCurrentIndex(-1)

def storePreset(self):
query = self._getSqlQuery()
if query == "":
return
name = str(self.presetName.text())
QgsProject.instance().writeEntry(
"DBManager", "savedQueries/" + self.getQueryHash(name) + "/name", name
)
QgsProject.instance().writeEntry(
"DBManager", "savedQueries/" + self.getQueryHash(name) + "/query", query

QgsGui.storedQueryManager().storeQuery(
name, query, Qgis.QueryStorageBackend.CurrentProject
)
self.updatePresetsCombobox()

index = self.presetCombo.findText(name)
if index == -1:
self.presetCombo.addItem(name)
self.presetCombo.setCurrentIndex(self.presetCombo.count() - 1)
else:
if index != -1:
self.presetCombo.setCurrentIndex(index)

def saveAsFilePreset(self):
Expand Down Expand Up @@ -335,16 +334,13 @@ def loadFilePreset(self):

def deletePreset(self):
name = self.presetCombo.currentText()
QgsProject.instance().removeEntry(
"DBManager", "savedQueries/" + self.getQueryHash(name)
QgsGui.storedQueryManager().removeQuery(
name, Qgis.QueryStorageBackend.CurrentProject
)
self.presetCombo.removeItem(self.presetCombo.findText(name))
self.presetCombo.setCurrentIndex(-1)
self.updatePresetsCombobox()

def loadPreset(self, name):
query = QgsProject.instance().readEntry(
"DBManager", "savedQueries/" + self.getQueryHash(name) + "/query"
)[0]
def loadPreset(self, _):
query = self.presetCombo.currentData()
self.editSql.setText(query)

def loadAsLayerToggled(self, checked):
Expand Down

0 comments on commit d45401c

Please sign in to comment.