Source code for pyqtx.xsettings
# -*- coding: utf-8 -*-
import urllib
from pyqtx.Qt import Qt, QtCore
[docs]class Srv(object):
def __init__(self, name=None, ki=None, url=None):
self.name = name
self.ki = ki
self.url = url
def __repr__(self):
return "<Src url=%s>"
@property
def host(self):
return urllib.parse.urlparse(self.url).netloc
[docs]class XSettings( QtCore.QSettings ):
CURR_SERVER_KI = "current/server_ki"
def __init__( self, parent=None ):
QtCore.QSettings.__init__( self, parent )
#self.qsettings = QtCore.QSettings()
self.server_auth = False
[docs] def current_server( self ):
return self.qsettings.value( "server.server" )
@property
def cache_enabled(self):
#return False
return bool(self.qsettings.value("cache-enabled", True))
[docs] def set_cache_enabled(self, state):
self.qsettings.setValue("cache-enabled", state)
self.qsettings.sync()
##==============================
## Window Save/Restore
[docs] def save_window( self, window ):
name = window.objectName()
if len(name) == 0:
return
self.qsettings.setValue( "window/%s/geometry" % name, QtCore.QVariant( window.saveGeometry() ) )
[docs] def restore_window( self, window ):
name = str(window.objectName())
if len(name) == 0:
return
window.restoreGeometry( self.qsettings.value( "window/%s/geometry" % name ) )
[docs] def save_splitter(self, splitter):
wname = str(splitter.objectName())
if not wname:
print ("Splitter has no name", splitter)
self.qsettings.setValue("splitter/%s" % wname, splitter.saveState())
[docs] def restore_splitter(self, splitter):
wname = str(splitter.objectName())
if not wname :
print ("Splitter has no name")
return
v = self.qsettings.value("splitter/%s" % wname)
if v:
splitter.restoreState(v)