GtkCodeThemer/src/core/mixins/signals/main_signals_mixin.py

38 lines
1.8 KiB
Python

# Python imports
# Lib imports
# Application imports
from utils.style_properties import StyleProperties
from .widget_signals.list_signals_mixin import ListSignalsMixin
from .widget_signals.tggle_and_check_box_signals_mixin import TggleAndCheckBoxSignals
from .widget_signals.sourceview_signals_mixin import SourceviewSignalsMixin
from .widget_signals.dialog_signals_mixin import DialogSignalsMixin
class MainSignalsMixin(ListSignalsMixin, TggleAndCheckBoxSignals, SourceviewSignalsMixin, DialogSignalsMixin):
def on_style_changed(self, data):
if self.selected_style_id not in self.all_styles_dict:
self.all_styles_dict[self.selected_style_id] = StyleProperties()
color_scale = 255.0/65535.0
if data == self.br_color_btn:
color = data.get_color()
self.all_styles_dict[self.selected_style_id].background = ('#%02x%02x%02x' % (color.red * color_scale, color.green * color_scale, color.blue * color_scale))
elif data == self.fr_color_btn:
color = data.get_color()
self.all_styles_dict[self.selected_style_id].foreground = ('#%02x%02x%02x' % (color.red * color_scale, color.green * color_scale, color.blue * color_scale))
elif data == self.bold_tggle_btn:
self.all_styles_dict[self.selected_style_id].bold = data.get_active()
elif data == self.italic_tggle_btn:
self.all_styles_dict[self.selected_style_id].italic = data.get_active()
elif data == self.underline_tggle_btn:
self.all_styles_dict[self.selected_style_id].underline = data.get_active()
elif data == self.strikethrough_tggle_btn:
self.all_styles_dict[self.selected_style_id].strikethrough = data.get_active()
self.update_sample_view()