Skip to content

Commit 24ae91a

Browse files
committed
Set dontconnect temporary, completely avoiding saving
1 parent df66277 commit 24ae91a

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/bitmessageqt/settings.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -490,11 +490,11 @@ def accept(self):
490490

491491
if self.net_restart_needed:
492492
self.net_restart_needed = False
493-
self.config.set('bitmessagesettings', 'dontconnect', 'true')
493+
self.config.setTemp('bitmessagesettings', 'dontconnect', 'true')
494494
self.timer.singleShot(
495495
5000, lambda:
496-
self.config.remove_option(
497-
'bitmessagesettings', 'dontconnect')
496+
self.config.setTemp(
497+
'bitmessagesettings', 'dontconnect', 'false')
498498
)
499499

500500
self.parent.updateStartOnLogon()

src/bmconfigparser.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ class BMConfigParser(ConfigParser.SafeConfigParser):
4646
"""Singleton class inherited from ConfigParser.SafeConfigParser
4747
with additional methods specific to bitmessage config."""
4848

49+
_temp = {}
50+
4951
def set(self, section, option, value=None):
5052
if self._optcre is self.OPTCRE or value:
5153
if not isinstance(value, basestring):
@@ -59,6 +61,10 @@ def get(self, section, option, raw=False, variables=None):
5961
if section == "bitmessagesettings" and option == "timeformat":
6062
return ConfigParser.ConfigParser.get(
6163
self, section, option, raw, variables)
64+
try:
65+
return self._temp[section][option]
66+
except KeyError:
67+
pass
6268
return ConfigParser.ConfigParser.get(
6369
self, section, option, True, variables)
6470
except ConfigParser.InterpolationError:
@@ -70,6 +76,13 @@ def get(self, section, option, raw=False, variables=None):
7076
except (KeyError, ValueError, AttributeError):
7177
raise e
7278

79+
def setTemp(self, section, option, value=None):
80+
"""Temporary set option to value, not saving."""
81+
try:
82+
self._temp[section][option] = value
83+
except KeyError:
84+
self._temp[section] = {option: value}
85+
7386
def safeGetBoolean(self, section, field):
7487
try:
7588
return self.getboolean(section, field)

0 commit comments

Comments
 (0)