Skip to content

Commit dfc8892

Browse files
authored
Load configs separately for each parts; closes #41 (#60)
- try loading each theme parts separately to prevent full loss of existing settings - Add logger and translation in time_chooser module
1 parent f253116 commit dfc8892

2 files changed

Lines changed: 53 additions & 55 deletions

File tree

src/ThemeManager/common.py

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,17 @@ def load_config(self):
129129
self.colorvariants += str(var+",")
130130
self.colvariants.append(var.strip().strip('"').strip("'"))
131131
self.colorvariants = self.colorvariants.strip(",") # removes the last comma, it looks ugly with the comma
132-
133-
# Icon Theme
132+
except:
133+
self.colvariants = []
134+
self.colorvariants = ""
135+
self.systemthemename = ""
136+
self.darkmode_suffix = "Dark"
137+
self.darkermode = False
138+
self.darkermode_suffix = "Darker"
139+
self.theme_name_style = 0
140+
141+
# Icon Theme
142+
try:
134143
self.icon_theme = self.config["system-theme"].getboolean('icon-theme')
135144
self.iconthemename = self.config["system-theme"]['icon-theme-name']
136145
self.icon_darkmode_suffix = self.config["system-theme"]['icon-dark-mode-suffix']
@@ -143,8 +152,16 @@ def load_config(self):
143152
self.icon_colorvariants += str(var+",")
144153
self.icon_colvariants.append(var.strip().strip('"').strip("'"))
145154
self.icon_colorvariants = self.icon_colorvariants.strip(",") # removes the last comma, it looks ugly with the comma
146-
147-
# Cursor Theme
155+
except:
156+
self.icon_theme = True
157+
self.iconthemename = ""
158+
self.icon_darkmode_suffix = "Dark"
159+
self.icon_colvariants = []
160+
self.icon_colorvariants = ""
161+
self.icon_theme_name_style = 0
162+
163+
# Cursor Theme
164+
try:
148165
self.cursor_theme = self.config["system-theme"].getboolean('cursor-theme')
149166
self.cursorthemename = self.config["system-theme"]['cursor-theme-name']
150167

@@ -155,8 +172,14 @@ def load_config(self):
155172
self.cursor_colorvariants += str(var+",")
156173
self.cursor_colvariants.append(var.strip().strip('"').strip("'"))
157174
self.cursor_colorvariants = self.cursor_colorvariants.strip(",") # removes the last comma, it looks ugly with the comma
158-
159-
# Plank Theme
175+
except:
176+
self.cursor_theme = False
177+
self.cursorthemename = ""
178+
self.cursor_colvariants = []
179+
self.cursor_colorvariants = ""
180+
181+
# Plank Theme
182+
try:
160183
self.plank_theme = self.config["system-theme"].getboolean('plank-theme')
161184
self.plankthemename = self.config["system-theme"]['plank-theme-name']
162185
self.plank_darkmode_suffix = self.config["system-theme"]['plank-dark-mode-suffix']
@@ -169,60 +192,40 @@ def load_config(self):
169192
self.plank_colorvariants += str(var+",")
170193
self.plank_colvariants.append(var.strip().strip('"').strip("'"))
171194
self.plank_colorvariants = self.plank_colorvariants.strip(",") # removes the last comma, it looks ugly with the comma
172-
173-
# Use system time to determine state
174-
self.use_systemtime = self.config['time-settings'].getboolean('use-system-time')
175-
self.day_start_time = datetime.datetime.strptime(self.config['time-settings']['day-start-time'], '%H:%M:%S')
176-
self.night_start_time = datetime.datetime.strptime(self.config['time-settings']['night-start-time'], '%H:%M:%S')
177-
self.d2n_start_time = datetime.datetime.strptime(self.config['time-settings']['d2n-start-time'], '%H:%M:%S')
178-
self.n2d_start_time = datetime.datetime.strptime(self.config['time-settings']['n2d-start-time'], '%H:%M:%S')
179-
180-
theme_interval = self.config["time-settings"]['theme-interval']
181-
self.theme_interval_HH = int(theme_interval.split(':')[0])
182-
self.theme_interval_MM = int(theme_interval.split(':')[1])
183-
self.theme_interval_SS = int(theme_interval.split(':')[2])
184-
self.theme_interval_in_sec = self.theme_interval_HH*3600 + self.theme_interval_MM*60 + self.theme_interval_SS
185195
except:
186-
self.colvariants = []
187-
self.colorvariants = ""
188-
self.systemthemename = ""
189-
self.darkmode_suffix = "Dark"
190-
self.darkermode = False
191-
self.darkermode_suffix = "Darker"
192-
self.theme_name_style = 0
193-
194-
self.icon_theme = True
195-
self.iconthemename = ""
196-
self.icon_darkmode_suffix = "Dark"
197-
self.icon_colvariants = []
198-
self.icon_colorvariants = ""
199-
self.icon_theme_name_style = 0
200-
201-
self.cursor_theme = False
202-
self.cursorthemename = ""
203-
self.cursor_colvariants = []
204-
self.cursor_colorvariants = ""
205-
206196
self.plank_theme = False
207197
self.plankthemename = ""
208198
self.plank_darkmode_suffix = "Dark"
209199
self.plank_colvariants = []
210200
self.plank_colorvariants = ""
211201
self.plank_theme_name_style = 0
212-
202+
203+
# Use system time to determine state
204+
try:
205+
self.use_systemtime = self.config['time-settings'].getboolean('use-system-time')
206+
self.day_start_time = datetime.datetime.strptime(self.config['time-settings']['day-start-time'], '%H:%M:%S')
207+
self.night_start_time = datetime.datetime.strptime(self.config['time-settings']['night-start-time'], '%H:%M:%S')
208+
self.d2n_start_time = datetime.datetime.strptime(self.config['time-settings']['d2n-start-time'], '%H:%M:%S')
209+
self.n2d_start_time = datetime.datetime.strptime(self.config['time-settings']['n2d-start-time'], '%H:%M:%S')
210+
except:
213211
self.use_systemtime = True
214212
self.day_start_time = datetime.datetime.strptime('06:30:00', '%H:%M:%S')
215213
self.night_start_time = datetime.datetime.strptime('18:30:00', '%H:%M:%S')
216214
self.d2n_start_time = datetime.datetime.strptime('17:30:00', '%H:%M:%S')
217215
self.n2d_start_time = datetime.datetime.strptime('05:30:00', '%H:%M:%S')
218-
216+
217+
# Time interval to change themes
218+
try:
219+
theme_interval = self.config["time-settings"]['theme-interval']
220+
self.theme_interval_HH = int(theme_interval.split(':')[0])
221+
self.theme_interval_MM = int(theme_interval.split(':')[1])
222+
self.theme_interval_SS = int(theme_interval.split(':')[2])
223+
self.theme_interval_in_sec = self.theme_interval_HH*3600 + self.theme_interval_MM*60 + self.theme_interval_SS
224+
except:
219225
self.theme_interval_HH = 1
220226
self.theme_interval_MM = 0
221227
self.theme_interval_SS = 0
222228

223-
224-
225-
226229

227230
def save_config(self):
228231
if os.path.exists(CONFIG_FILE):

src/ThemeManager/time_chooser.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@
3030
gi.require_version("Gtk", "3.0")
3131
from gi.repository import Gtk, GLib
3232

33-
# from ThemeManager.common import APP, LOCALE_DIR
33+
from ThemeManager.common import APP, LOCALE_DIR
3434

35-
# # i18n
36-
# locale.bindtextdomain(APP, LOCALE_DIR)
37-
# gettext.bindtextdomain(APP, LOCALE_DIR)
38-
# gettext.textdomain(APP)
35+
# i18n
36+
locale.bindtextdomain(APP, LOCALE_DIR)
37+
gettext.bindtextdomain(APP, LOCALE_DIR)
38+
gettext.textdomain(APP)
3939
_ = gettext.gettext
4040

4141
# logger
42-
# module_logger = logging.getLogger('ThemeManager.time_chooser')
42+
module_logger = logging.getLogger('ThemeManager.time_chooser')
4343

4444

4545
class TimeChooserButton(Gtk.Button):
@@ -66,11 +66,6 @@ def on_button_clicked(self, *args):
6666

6767
if response == Gtk.ResponseType.OK:
6868
self.set_time(dialog.get_time())
69-
# print("The OK button was clicked")
70-
# print(dialog.get_time())
71-
# self.emit("time-changed", self.time.hour, self.time.minute, self.time.second)
72-
# elif response == Gtk.ResponseType.CANCEL:
73-
# print("The Cancel button was clicked")
7469

7570
dialog.destroy()
7671

0 commit comments

Comments
 (0)