-
Notifications
You must be signed in to change notification settings - Fork 10
/
status_prefs.py
60 lines (46 loc) · 1.97 KB
/
status_prefs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from gi.repository import PeasGtk
from gi.repository import GObject
from gi.repository import GLib
from gi.repository import Gtk
from gi.repository import Gio
import os
import json
class discord_status_prefs(GObject.Object, PeasGtk.Configurable):
__gtype_name__ = "discord_status_prefs"
object = GObject.property(type=GObject.Object)
def __init__(self):
path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.json")
with open(path) as file:
self.settings = json.load(file)
self.time_style = self.settings["time_style"]
self.show_notifs = self.settings["show_notifs"]
def do_create_configure_widget(self):
path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "discord-status-prefs.ui")
self.builder = Gtk.Builder()
self.builder.add_from_file(path)
self.builder.connect_signals(self)
self.builder.get_object("show_notif_checkbox").set_active(self.settings["show_notifs"])
if self.settings["time_style"] == 0:
self.builder.get_object("elapsed_radio_button").set_active(True)
elif self.settings["time_style"] == 1:
self.builder.get_object("remaining_radio_button").set_active(False)
return self.builder.get_object("discord-status-prefs")
def update_settings(self):
self.settings["time_style"] = self.time_style
self.settings["show_notifs"] = self.show_notifs
path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.json")
with open(path, "w") as file:
json.dump(self.settings, file)
def show_notifs_toggled(self, checkbox):
self.show_notifs = checkbox.get_active()
self.update_settings()
def elapsed_radio_button_toggled(self, toggle_button):
print("elapsed")
if (toggle_button.get_active()):
self.time_style = 0
self.update_settings()
def remaining_radio_button_toggled(self, toggle_button):
print("remaining")
if (toggle_button.get_active()):
self.time_style = 1
self.update_settings()