summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2009-08-19 09:49:15 +0200
committerAnton Khirnov <wyskas@gmail.com>2009-08-19 09:49:15 +0200
commit34cc07dee5c909e0262386edf578ced4d646d784 (patch)
tree3762b6c23328031253197fe54561fc97bad4912b
parentae94ee8e4baefa34ab47e73280c7198ca55a39c5 (diff)
plugin: make settings a var, not a function.
-rw-r--r--nephilim/plugin.py24
-rw-r--r--nephilim/plugins/AlbumCover.py34
-rw-r--r--nephilim/plugins/Filebrowser.py4
-rw-r--r--nephilim/plugins/Library.py4
-rw-r--r--nephilim/plugins/Lyrics.py32
-rw-r--r--nephilim/plugins/Notify.py30
-rw-r--r--nephilim/plugins/Playlist.py8
-rw-r--r--nephilim/plugins/Systray.py10
-rw-r--r--nephilim/settings_wg.py32
9 files changed, 88 insertions, 90 deletions
diff --git a/nephilim/plugin.py b/nephilim/plugin.py
index 9bad75c..fd521f0 100644
--- a/nephilim/plugin.py
+++ b/nephilim/plugin.py
@@ -27,12 +27,12 @@ class Plugin(QtCore.QObject):
name = None
logger = None
mpclient = None
+ settings = None
# public, read-only
loaded = None
_dock_widget = None
- _settings = None
_parent = None
o = None
@@ -44,17 +44,17 @@ class Plugin(QtCore.QObject):
self.mpclient = mpclient
self._parent = parent
self.loaded = False
- self._settings = QtCore.QSettings()
+ self.settings = QtCore.QSettings()
self.logger = logging.getLogger(self.name)
#init settings
self.logger.debug('Initializing default settings.')
- self._settings.beginGroup(name)
+ self.settings.beginGroup(name)
for key in self.DEFAULTS:
- if not self._settings.contains(key):
- self._settings.setValue(key, QVariant(self.DEFAULTS[key]))
- self._settings.endGroup()
+ if not self.settings.contains(key):
+ self.settings.setValue(key, QVariant(self.DEFAULTS[key]))
+ self.settings.endGroup()
def info(self):
return ''
@@ -62,8 +62,6 @@ class Plugin(QtCore.QObject):
return self._parent
def set_status(self, status):
self._parent.setStatus(status)
- def settings(self):
- return self._settings
def load(self):
self.logger.info('loading')
@@ -82,7 +80,7 @@ class Plugin(QtCore.QObject):
if dock_widget:
QtGui.QApplication.instance().main_win.remove_dock(dock_widget)
self._dock_widget = None
- self._settingsWidget = None
+ self.settingsWidget = None
self.disconnect(self.mpclient, QtCore.SIGNAL('connect_changed'), self.set_enabled)
self.loaded = False
def set_enabled(self, val):
@@ -99,17 +97,17 @@ class Plugin(QtCore.QObject):
class SettingsWidget(QtGui.QWidget):
""" plugins should subclass this"""
plugin = None
- _settings = None
+ settings = None
def __init__(self, plugin):
QtGui.QWidget.__init__(self)
self.plugin = plugin
- self._settings = QtCore.QSettings()
+ self.settings = QtCore.QSettings()
def settings(self):
- return self._settings
+ return self.settings
- def save_settings(self):
+ def savesettings(self):
""" reimplement this"""
pass
diff --git a/nephilim/plugins/AlbumCover.py b/nephilim/plugins/AlbumCover.py
index 2a80fc0..8321944 100644
--- a/nephilim/plugins/AlbumCover.py
+++ b/nephilim/plugins/AlbumCover.py
@@ -103,7 +103,7 @@ class wgAlbumCover(QtGui.QLabel):
self.plugin.emit(QtCore.SIGNAL('cover_changed'), self.cover)
self.logger.info('Cover set.')
- if (write and self.plugin.settings().value(self.plugin.name + '/store').toBool()
+ if (write and self.plugin.settings.value(self.plugin.name + '/store').toBool()
and self._cover_filepath):
if self.cover.save(self._cover_filepath, 'png'):
self.logger.info('Cover saved.')
@@ -134,13 +134,13 @@ class wgAlbumCover(QtGui.QLabel):
self.logger.info("autorefreshing cover")
# generate filenames
- (self._cover_dirname, self._cover_filepath) = generate_metadata_path(song, self.plugin.settings().value(self.plugin.name + '/coverdir').toString(),
- self.plugin.settings().value(self.plugin.name + '/covername').toString())
+ (self._cover_dirname, self._cover_filepath) = generate_metadata_path(song, self.plugin.settings.value(self.plugin.name + '/coverdir').toString(),
+ self.plugin.settings.value(self.plugin.name + '/covername').toString())
write = False
if not QtCore.QFile.exists(self._cover_filepath):
for i in (0, 1):
- src = self.plugin.settings().value(self.plugin.name + '/method%i'%i).toInt()[0]
+ src = self.plugin.settings.value(self.plugin.name + '/method%i'%i).toInt()[0]
if src == AC_FETCH_LOCAL_DIR and self._cover_dirname:
cover = self._fetch_local(song)
elif src == AC_FETCH_AMAZON:
@@ -274,7 +274,7 @@ class AlbumCover(Plugin):
def __init__(self, plugin):
Plugin.SettingsWidget.__init__(self, plugin)
- self.settings().beginGroup(self.plugin.name)
+ self.settings.beginGroup(self.plugin.name)
# fetching methods comboboxes
self.methods = [QtGui.QComboBox(), QtGui.QComboBox()]
@@ -282,23 +282,23 @@ class AlbumCover(Plugin):
method.addItem('No method.')
method.addItem('Local dir')
method.addItem('Amazon')
- method.setCurrentIndex(self.settings().value('method' + str(i)).toInt()[0])
+ method.setCurrentIndex(self.settings.value('method' + str(i)).toInt()[0])
# store covers groupbox
self.store = QtGui.QGroupBox('Store covers.')
self.store.setToolTip('Should %s store its own copy of covers?'%APPNAME)
self.store.setCheckable(True)
- self.store.setChecked(self.settings().value('store').toBool())
+ self.store.setChecked(self.settings.value('store').toBool())
self.store.setLayout(QtGui.QGridLayout())
# paths to covers
- self.coverdir = QtGui.QLineEdit(self.settings().value('coverdir').toString())
+ self.coverdir = QtGui.QLineEdit(self.settings.value('coverdir').toString())
self.coverdir.setToolTip('Where should %s store covers.\n'
'$musicdir will be expanded to path to MPD music library (as set by user)\n'
'$songdir will be expanded to path to the song (relative to $musicdir\n'
'other tags same as in covername'
%APPNAME)
- self.covername = QtGui.QLineEdit(self.settings().value('covername').toString())
+ self.covername = QtGui.QLineEdit(self.settings.value('covername').toString())
self.covername.setToolTip('Filename for %s cover files.\n'
'All tags supported by MPD will be expanded to their\n'
'values for current song, e.g. $title, $track, $artist,\n'
@@ -313,16 +313,16 @@ class AlbumCover(Plugin):
self._add_widget(self.methods[1], 'Method 1', 'Method to try if the first one fails.')
self.layout().addWidget(self.store)
- self.settings().endGroup()
+ self.settings.endGroup()
def save_settings(self):
- self.settings().beginGroup(self.plugin.name)
- self.settings().setValue('method0', QVariant(self.methods[0].currentIndex()))
- self.settings().setValue('method1', QVariant(self.methods[1].currentIndex()))
- self.settings().setValue('coverdir', QVariant(self.coverdir.text()))
- self.settings().setValue('covername', QVariant(self.covername.text()))
- self.settings().setValue('store', QVariant(self.store.isChecked()))
- self.settings().endGroup()
+ self.settings.beginGroup(self.plugin.name)
+ self.settings.setValue('method0', QVariant(self.methods[0].currentIndex()))
+ self.settings.setValue('method1', QVariant(self.methods[1].currentIndex()))
+ self.settings.setValue('coverdir', QVariant(self.coverdir.text()))
+ self.settings.setValue('covername', QVariant(self.covername.text()))
+ self.settings.setValue('store', QVariant(self.store.isChecked()))
+ self.settings.endGroup()
self.plugin.o.refresh()
def get_settings_widget(self):
diff --git a/nephilim/plugins/Filebrowser.py b/nephilim/plugins/Filebrowser.py
index 4c28eee..a566489 100644
--- a/nephilim/plugins/Filebrowser.py
+++ b/nephilim/plugins/Filebrowser.py
@@ -92,9 +92,9 @@ class wgFilebrowser(QtGui.QWidget):
path_base = os.path.basename(filepath)
try:
if os.path.isdir(filepath):
- shutil.copytree(filepath, '%s/%s'%(self.plugin.settings().value('MPD/music_dir').toString(), path_base))
+ shutil.copytree(filepath, '%s/%s'%(self.plugin.settings.value('MPD/music_dir').toString(), path_base))
else:
- shutil.copy(filepath, unicode(self.plugin.settings().value('MPD/music_dir').toString()))
+ shutil.copy(filepath, unicode(self.plugin.settings.value('MPD/music_dir').toString()))
target_paths.append(path_base)
except (OSError, IOError), e:
self.logger.error('Error copying to collection: %s.'%e)
diff --git a/nephilim/plugins/Library.py b/nephilim/plugins/Library.py
index 91865bc..0eb5fd4 100644
--- a/nephilim/plugins/Library.py
+++ b/nephilim/plugins/Library.py
@@ -53,7 +53,7 @@ class Library(Plugin):
self.modes = QtGui.QComboBox()
self.modes.setEditable(True)
- for mode in self.settings().value(self.plugin.name + '/modes').toStringList():
+ for mode in self.settings.value(self.plugin.name + '/modes').toStringList():
self.modes.addItem(mode)
self._add_widget(self.modes, 'Modes', 'How should the songs in library be grouped.\n'
'Should be written in form tag1/tag2/...,\n'
@@ -63,7 +63,7 @@ class Library(Plugin):
modes = []
for i in range(0, self.modes.count()):
modes.append(self.modes.itemText(i))
- self.settings().setValue(self.plugin.name + '/modes', QVariant(modes))
+ self.settings.setValue(self.plugin.name + '/modes', QVariant(modes))
self.plugin.o.refresh_modes()
def get_settings_widget(self):
diff --git a/nephilim/plugins/Lyrics.py b/nephilim/plugins/Lyrics.py
index 33ea369..9239d24 100644
--- a/nephilim/plugins/Lyrics.py
+++ b/nephilim/plugins/Lyrics.py
@@ -128,7 +128,7 @@ class Lyrics(Plugin):
def __new_lyrics_fetched(self, song, lyrics):
self.logger.info('Got new lyrics.')
self.__results += 1
- if lyrics and self.settings().value(self.name + '/store').toBool():
+ if lyrics and self.settings.value(self.name + '/store').toBool():
self.save_lyrics_file(lyrics)
return self.o.set_lyrics(song, lyrics)
elif self.__results >= len(self.__fetchers) and not self.o.lyrics_loaded:
@@ -271,24 +271,24 @@ class Lyrics(Plugin):
def __init__(self, plugin):
Plugin.SettingsWidget.__init__(self, plugin)
- self.settings().beginGroup(self.plugin.name)
+ self.settings.beginGroup(self.plugin.name)
# store lyrics groupbox
self.store = QtGui.QGroupBox('Store lyrics.')
self.store.setToolTip('Should %s store its own copy of lyrics?'%misc.APPNAME)
self.store.setCheckable(True)
- self.store.setChecked(self.settings().value('store').toBool())
+ self.store.setChecked(self.settings.value('store').toBool())
self.store.setLayout(QtGui.QGridLayout())
# paths to lyrics
- self.lyricdir = QtGui.QLineEdit(self.settings().value('lyricdir').toString())
+ self.lyricdir = QtGui.QLineEdit(self.settings.value('lyricdir').toString())
self.lyricdir.setToolTip('Where should %s store lyrics.\n'
'$musicdir will be expanded to path to MPD music library (as set by user)\n'
'$songdir will be expanded to path to the song (relative to $musicdir\n'
'other tags same as in lyricname'
%misc.APPNAME)
- self.lyricname = QtGui.QLineEdit(self.settings().value('lyricname').toString())
+ self.lyricname = QtGui.QLineEdit(self.settings.value('lyricname').toString())
self.lyricname.setToolTip('Filename for %s lyricsfiles.\n'
'All tags supported by MPD will be expanded to their\n'
'values for current song, e.g. $title, $track, $artist,\n'
@@ -301,20 +301,20 @@ class Lyrics(Plugin):
self.setLayout(QtGui.QVBoxLayout())
self.layout().addWidget(self.store)
- self.settings().endGroup()
+ self.settings.endGroup()
def save_settings(self):
- self.settings().beginGroup(self.plugin.name)
- self.settings().setValue('lyricdir', QVariant(self.lyricdir.text()))
- self.settings().setValue('lyricname', QVariant(self.lyricname.text()))
- self.settings().setValue('store', QVariant(self.store.isChecked()))
- self.settings().endGroup()
+ self.settings.beginGroup(self.plugin.name)
+ self.settings.setValue('lyricdir', QVariant(self.lyricdir.text()))
+ self.settings.setValue('lyricname', QVariant(self.lyricname.text()))
+ self.settings.setValue('store', QVariant(self.store.isChecked()))
+ self.settings.endGroup()
self.plugin.refresh()
#### public ####
def _load(self):
for site in self.__available_sites:
- if site in self.settings().value('%s/sites'%self.name).toStringList():
+ if site in self.settings.value('%s/sites'%self.name).toStringList():
self.__fetchers[site] = self.__available_sites[site](self)
self.o = LyricsWidget(self)
for fetcher in self.__fetchers:
@@ -342,8 +342,8 @@ class Lyrics(Plugin):
return self.o.set_lyrics(None, None)
(self.__lyrics_dir, self.__lyrics_path) = misc.generate_metadata_path(song,
- self.settings().value(self.name + '/lyricdir').toString(),
- self.settings().value(self.name + '/lyricname').toString())
+ self.settings.value(self.name + '/lyricdir').toString(),
+ self.settings.value(self.name + '/lyricname').toString())
try:
self.logger.info('Trying to read lyrics from file %s.'%self.__lyrics_path)
file = open(self.__lyrics_path, 'r')
@@ -378,8 +378,8 @@ class Lyrics(Plugin):
if not song:
path = self.__lyrics_path
else:
- path = misc.generate_metadata_path(song, self.settings().value(self.name + '/lyricdir').toString(),
- self.settings().value(self.name + '/lyricname').toString())
+ path = misc.generate_metadata_path(song, self.settings.value(self.name + '/lyricdir').toString(),
+ self.settings.value(self.name + '/lyricname').toString())
try:
os.remove(path)
diff --git a/nephilim/plugins/Notify.py b/nephilim/plugins/Notify.py
index a686555..e2204fa 100644
--- a/nephilim/plugins/Notify.py
+++ b/nephilim/plugins/Notify.py
@@ -126,22 +126,22 @@ class Notify(Plugin):
song = self.mpclient.current_song()
if not song:
return
- self.settings().beginGroup(self.name)
- self.o.show(expand_tags(self.settings().value('songformat').toString(), (song,)), self.settings().value('timer').toInt()[0],
+ self.settings.beginGroup(self.name)
+ self.o.show(expand_tags(self.settings.value('songformat').toString(), (song,)), self.settings.value('timer').toInt()[0],
NOTIFY_PRIORITY_SONG)
- self.settings().endGroup()
+ self.settings.endGroup()
def onConnected(self):
- self.o.show('%s loaded'%APPNAME, self.settings().value(self.name + '/timer').toInt()[0])
+ self.o.show('%s loaded'%APPNAME, self.settings.value(self.name + '/timer').toInt()[0])
def onDisconnect(self):
- self.o.show('Disconnected!', self.settings().value(self.name + '/timer').toInt()[0])
+ self.o.show('Disconnected!', self.settings.value(self.name + '/timer').toInt()[0])
def onStateChange(self, new_state):
- self.o.show(new_state, self.settings().value(self.name + '/timer').toInt()[0])
+ self.o.show(new_state, self.settings.value(self.name + '/timer').toInt()[0])
def onVolumeChange(self, new_vol):
- self.o.show('Volume: %i%%'%(new_vol), self.settings().value(self.name + '/timer').toInt()[0], priority = NOTIFY_PRIORITY_VOLUME)
+ self.o.show('Volume: %i%%'%(new_vol), self.settings.value(self.name + '/timer').toInt()[0], priority = NOTIFY_PRIORITY_VOLUME)
class SettingsWidgetNotify(Plugin.SettingsWidget):
format = None
@@ -149,11 +149,11 @@ class Notify(Plugin):
def __init__(self, plugin):
Plugin.SettingsWidget.__init__(self, plugin)
- self.settings().beginGroup(self.plugin.name)
+ self.settings.beginGroup(self.plugin.name)
- self.format = QtGui.QLineEdit(self.settings().value('songformat').toString())
+ self.format = QtGui.QLineEdit(self.settings.value('songformat').toString())
- self.timer = QtGui.QLineEdit(self.settings().value('timer').toString())
+ self.timer = QtGui.QLineEdit(self.settings.value('timer').toString())
self.timer.setValidator(QtGui.QIntValidator(self.timer))
self.setLayout(QtGui.QVBoxLayout())
@@ -161,13 +161,13 @@ class Notify(Plugin):
'will be expanded to their values for current song,\n'
'e.g. $track, $title, $artist, $album, $length, $date, etc.')
self._add_widget(self.timer, 'Duration', 'How long should notifications be displayed in ms.')
- self.settings().endGroup()
+ self.settings.endGroup()
def save_settings(self):
- self.settings().beginGroup(self.plugin.name)
- self.settings().setValue('songformat', QVariant(self.format.text()))
- self.settings().setValue('timer', QVariant(self.timer.text().toInt()[0]))
- self.settings().endGroup()
+ self.settings.beginGroup(self.plugin.name)
+ self.settings.setValue('songformat', QVariant(self.format.text()))
+ self.settings.setValue('timer', QVariant(self.timer.text().toInt()[0]))
+ self.settings.endGroup()
self.plugin.onSongChange()
def get_settings_widget(self):
diff --git a/nephilim/plugins/Playlist.py b/nephilim/plugins/Playlist.py
index da10677..085fa84 100644
--- a/nephilim/plugins/Playlist.py
+++ b/nephilim/plugins/Playlist.py
@@ -63,10 +63,10 @@ class PlaylistWidget(QtGui.QWidget):
self.setSelectionMode(QtGui.QTreeWidget.ExtendedSelection)
self.setAlternatingRowColors(True)
self.setRootIsDecorated(False)
- columns = self.plugin.settings().value(self.plugin.name + '/columns').toStringList()
+ columns = self.plugin.settings.value(self.plugin.name + '/columns').toStringList()
self.setColumnCount(len(columns))
self.setHeaderLabels(columns)
- self.header().restoreState(self.plugin.settings().value(self.plugin.name + '/header_state').toByteArray())
+ self.header().restoreState(self.plugin.settings.value(self.plugin.name + '/header_state').toByteArray())
self.connect(self, QtCore.SIGNAL('itemActivated(QTreeWidgetItem*, int)'), self._song_activated)
self.connect(self.header(), QtCore.SIGNAL('geometriesChanged()'), self._save_state)
@@ -74,13 +74,13 @@ class PlaylistWidget(QtGui.QWidget):
self.connect(self.plugin.mpclient, QtCore.SIGNAL('disconnected'), self.fill)
def _save_state(self):
- self.plugin.settings().setValue(self.plugin.name + '/header_state', QVariant(self.header().saveState()))
+ self.plugin.settings.setValue(self.plugin.name + '/header_state', QVariant(self.header().saveState()))
def _song_activated(self, item):
self.plugin.mpclient.play(item.data(0, QtCore.Qt.UserRole).toPyObject().id())
def fill(self):
- columns = self.plugin.settings().value(self.plugin.name + '/columns').toStringList()
+ columns = self.plugin.settings.value(self.plugin.name + '/columns').toStringList()
self.clear()
for song in self.plugin.mpclient.playlist():
item = QtGui.QTreeWidgetItem()
diff --git a/nephilim/plugins/Systray.py b/nephilim/plugins/Systray.py
index 23f7210..558fc24 100644
--- a/nephilim/plugins/Systray.py
+++ b/nephilim/plugins/Systray.py
@@ -29,7 +29,7 @@ class Systray(Plugin):
DEFAULTS = {'format': '$track - $title by $artist on $album ($length)'}
def _load(self):
- self.format = self.settings().value(self.name + '/format').toString()
+ self.format = self.settings.value(self.name + '/format').toString()
class SystrayWheelEventObject(QtCore.QObject):
"""This class listens for systray-wheel events"""
def eventFilter(self, object, event):
@@ -98,15 +98,15 @@ class Systray(Plugin):
def __init__(self, plugin):
Plugin.SettingsWidget.__init__(self, plugin)
- self.format = QtGui.QLineEdit(self.settings().value(self.plugin.name + '/format').toString())
+ self.format = QtGui.QLineEdit(self.settings.value(self.plugin.name + '/format').toString())
self.setLayout(QtGui.QVBoxLayout())
self._add_widget(self.format, 'Tooltip format')
def save_settings(self):
- self.settings().beginGroup(self.plugin.name)
- self.settings().setValue('format', QVariant(self.format.text()))
- self.settings().endGroup()
+ self.settings.beginGroup(self.plugin.name)
+ self.settings.setValue('format', QVariant(self.format.text()))
+ self.settings.endGroup()
def get_settings_widget(self):
return self.SettingsWidgetSystray(self)
diff --git a/nephilim/settings_wg.py b/nephilim/settings_wg.py
index 81d4006..d8c1177 100644
--- a/nephilim/settings_wg.py
+++ b/nephilim/settings_wg.py
@@ -48,13 +48,13 @@ class SettingsWidget(QtGui.QWidget):
plugin.Plugin.SettingsWidget.__init__(self, None)
self.mpclient = mpclient
- self.settings().beginGroup('MPD')
- self.host_txt = QtGui.QLineEdit(self.settings().value('host', QVariant('localhost')).toString())
- self.port_txt = QtGui.QLineEdit(self.settings().value('port', QVariant('6600')).toString())
- self.pass_txt = QtGui.QLineEdit(self.settings().value('password').toString())
+ self.settings.beginGroup('MPD')
+ self.host_txt = QtGui.QLineEdit(self.settings.value('host', QVariant('localhost')).toString())
+ self.port_txt = QtGui.QLineEdit(self.settings.value('port', QVariant('6600')).toString())
+ self.pass_txt = QtGui.QLineEdit(self.settings.value('password').toString())
self.pass_txt.setEchoMode(QtGui.QLineEdit.Password)
- self.lib_txt = QtGui.QLineEdit(self.settings().value('music_dir', QVariant(os.path.expanduser('~/music/'))).toString())
- self.settings().endGroup()
+ self.lib_txt = QtGui.QLineEdit(self.settings.value('music_dir', QVariant(os.path.expanduser('~/music/'))).toString())
+ self.settings.endGroup()
self.update = QtGui.QPushButton('Update MPD database')
self.connect(self.update, QtCore.SIGNAL('clicked()'), self.update_db)
@@ -97,19 +97,19 @@ class SettingsWidget(QtGui.QWidget):
def save_settings(self):
reconnect = False
- self.settings().beginGroup('MPD')
- if self.host_txt.text() != self.settings().value('host').toString():
- self.settings().setValue('host', QVariant(self.host_txt.text()))
+ self.settings.beginGroup('MPD')
+ if self.host_txt.text() != self.settings.value('host').toString():
+ self.settings.setValue('host', QVariant(self.host_txt.text()))
reconnect = True
- if self.port_txt.text() != self.settings().value('port').toString():
- self.settings().setValue('port', QVariant(self.port_txt.text()))
+ if self.port_txt.text() != self.settings.value('port').toString():
+ self.settings.setValue('port', QVariant(self.port_txt.text()))
reconnect = True
- if self.pass_txt.text() != self.settings().value('password').toString():
- self.settings().setValue('password', QVariant(self.pass_txt.text()))
+ if self.pass_txt.text() != self.settings.value('password').toString():
+ self.settings.setValue('password', QVariant(self.pass_txt.text()))
if self.pass_txt.text():
self.mpclient.password(self.pass_txt.text())
- self.settings().setValue('music_dir', QVariant(self.lib_txt.text()))
- self.settings().endGroup()
+ self.settings.setValue('music_dir', QVariant(self.lib_txt.text()))
+ self.settings.endGroup()
if reconnect:
self.mpclient.disconnect_mpd()
@@ -171,7 +171,7 @@ class SettingsWidget(QtGui.QWidget):
def save_clicked(self):
for wg in self.settings_wg:
- wg.save_settings()
+ wg.save_settings
def close_clicked(self):
self.close()