18
18
# You should have received a copy of the GNU General Public License
19
19
# along with this program. If not, see <http://www.gnu.org/licenses/>.
21
from __future__ import print_function
22
23
from gi.repository import Gio
24
class SettingsProvider:
26
self.client = Gio.Settings("net.launchpad.gm-notify")
25
def create_settings_provider(username):
27
return AccountSettingsProvider(username)
29
return DefaultSettingsProvider()
31
class AccountSettingsProvider:
32
def __init__(self, username):
33
self.client = Gio.Settings("net.launchpad.gm-notify.account", "/net/launchpad/gm-notify/" + username + "/")
28
35
def retrieve_sound_file(self, default_file = None):
29
36
soundfile = self.client.get_string("soundfile")
78
85
def save_preferred_port(self, preferred_port):
79
86
self.client.set_string("preferred-port", str(preferred_port))
b'\\ No newline at end of file'
88
def remove_all_settings(self):
91
class DefaultSettingsProvider:
92
def retrieve_sound_file(self, default_file = None):
95
def retrieve_sound_enabled(self):
98
def retrieve_ports_range(self):
101
def retrieve_preferred_port(self):
104
def retrieve_ignore_inbox(self):
107
def retrieve_mailboxes(self):
110
def retrieve_use_mail_client(self):
113
def save_mailboxes(self, mailboxes):
114
raise NotImplementedError("Saving not supported")
117
def save_ignore_inbox(self, ignore_inbox):
118
raise NotImplementedError("Saving not supported")
121
def save_use_mail_client(self, use_mail_client):
122
raise NotImplementedError("Saving not supported")
125
def save_sound_enabled(self, enabled):
126
raise NotImplementedError("Saving not supported")
129
def save_sound_file(self, sound_file):
130
raise NotImplementedError("Saving not supported")
133
def save_preferred_port(self, preferred_port):
134
print("Ignoring save_preferred_port")
136
def remove_all_settings(self):
137
raise NotImplementedError("Removing not supported")