Esempio n. 1
0
def on_combo_setting_changed(combo: Gtk.ComboBoxText,
                             items: 'OrderedDict[str, str]') -> None:
    current_value = list(items)[combo.get_active()]
    section = combo.get_section_name()
    option = combo.get_name()

    config.new(section, option, current_value)
Esempio n. 2
0
    def on_auto_effect_changed(self, combo: Gtk.ComboBoxText) -> None:
        name = combo.get_name()
        effect = list(auto_effect_dict)[combo.get_active()]

        config.new('auto_effect', name, effect)

        serial_message = 'la'
        serial_message += config.parser.get("auto_effect", name)
        self.application.send_serial(serial_message)
        sleep(1.5)
Esempio n. 3
0
def update_comboboxtext_choices(cb: Gtk.ComboBoxText, choices: List[str], default=None, set_to=None):
    """Update the choices of the combo box while keeping the current selection,
    if possible."""
    logger.debug('Updating comboboxtext choices.')
    prevselected = cb.get_active_text()
    logger.debug('Previously selected: {}'.format(prevselected))
    if set_to is not None:
        logger.debug('Set_to is not None, but {}'.format(set_to))
        prevselected = set_to
    cb.remove_all()
    defaultindex = None
    logger.debug('Adding choices:')
    active_index = None
    for i, k in enumerate(choices):
        cb.append_text(k)
        if k == prevselected:
            active_index = i
        if k == default:
            defaultindex = i
        logger.debug(
            '  #{:d}: '.format(i) + k + ['', ' (active) '][active_index == i] + ['', ' (default) '][defaultindex == i])
    if defaultindex is None:
        defaultindex = 0
    if active_index is None:
        logger.debug('Setting to default, cannot activate original.')
        active_index = defaultindex
    cb.set_active(active_index)
    logger.debug('Activated index {:d}: {}'.format(active_index, cb.get_active_text()))
Esempio n. 4
0
 def on_change_clipping_method(self, widget: Gtk.ComboBoxText):
     METHODS = {
         'Cohen Sutherland': LineClippingMethod.COHEN_SUTHERLAND,
         'Liang Barsky': LineClippingMethod.LIANG_BARSKY,
     }
     self.clipping_method = METHODS[widget.get_active_text()]
     self.window.queue_draw()
Esempio n. 5
0
    def on_effects_changed(self, combo: Gtk.ComboBoxText) -> None:
        self.primary_effect.set_sensitive(True)
        self.secondary_effect.set_sensitive(True)
        self.primary_color.set_sensitive(True)
        self.secondary_color.set_sensitive(True)
        name = combo.get_name()

        if name == "primary_effect":
            effect = list(primary_effects_dict)[combo.get_active()]

            if effect in extra_effect_block_list:
                self.extra_effect.set_active(0)
                self.extra_effect.set_sensitive(False)
            else:
                self.extra_effect.set_sensitive(True)
        elif name == "secondary_effect":
            effect = list(secondary_effects_dict)[combo.get_active()]
        else:
            effect = list(extra_effects_dict)[combo.get_active()]

        if self.primary_effect.get_active() == 0:
            self.secondary_effect.set_active(0)
            self.secondary_effect.set_sensitive(False)

        if self.extra_effect.get_active(
        ) == 0 or self.primary_effect.get_active() == 0:
            current_effect_list = [
                list(primary_effects_dict)[self.primary_effect.get_active()],
                list(extra_effects_dict)[self.extra_effect.get_active()],
            ]

            if any((effect in primary_color_effect_block_list)
                   for effect in current_effect_list):
                self.primary_color.set_sensitive(False)

            if any((effect in secondary_color_effect_block_list)
                   for effect in current_effect_list):
                self.secondary_color.set_sensitive(False)

        config.new('effects', name, effect)

        serial_message = 'le'
        serial_message += config.parser.get("effects", "extra_effect")
        serial_message += config.parser.get("effects", "secondary_effect")
        serial_message += config.parser.get("effects", "primary_effect")
        self.application.send_serial(serial_message)
Esempio n. 6
0
 def on_prefix_changed(self, prefixselector: Gtk.ComboBoxText):
     prefix = prefixselector.get_active_text()
     try:
         self.on_lastfsn_changed(self.instrument.services['filesequence'],
                                 prefix,
                                 self.instrument.services['filesequence'].get_lastfsn(prefix))
     except KeyError:
         pass
Esempio n. 7
0
 def go_to_surah(self, box: Gtk.ComboBoxText) -> None:
     text = box.get_child().get_text()
     if len(text) < 3:
         return
     try:
         glob.surah_number = int(text.split('.')[0])
         self.update('surah-number')
     except:
         return
Esempio n. 8
0
    def on_theme_changed(self, combo: Gtk.ComboBoxText) -> None:
        theme = list(config.gtk_themes)[combo.get_active()]

        if theme == 'dark':
            self.gtk_settings_class.props.gtk_application_prefer_dark_theme = True
        else:
            self.gtk_settings_class.props.gtk_application_prefer_dark_theme = False

        config.new('general', 'theme', theme)
Esempio n. 9
0
 def on_motorselector_changed(self, combobox: Gtk.ComboBoxText):
     if self.widget.get_visible():
         self.motorname = combobox.get_active_text()
         self.required_devices = ['Motor_' + self.motorname]
         self.on_mainwidget_map(self.widget)  # for re-connecting the signal handlers
         self.builder.get_object('currentpos_label').set_text(
             '%.3f' % self.instrument.motors[self.motorname].where())
         self.adjust_limits()
     return False
Esempio n. 10
0
 def on_filterlevel_changed(self, cb: Gtk.ComboBoxText):
     try:
         self.filterlevel = int(cb.get_active_id())
     except TypeError:
         return
     model = self.builder.get_object('logstore')
     assert isinstance(model, Gtk.ListStore)
     for row in model:
         row[7] = row[2] >= self.filterlevel
     self.update_shown_count()
Esempio n. 11
0
 def on_peak_selector_changed(self, psel: Gtk.ComboBoxText):
     calibrant = self.builder.get_object('calibrant_selector').get_active_text()
     if calibrant is None:
         return
     peak = psel.get_active_text()
     if peak is None:
         return
     self.builder.get_object('calval_adjustment').set_value(
         self.instrument.config['calibrants'][calibrant][peak]['val'])
     self.builder.get_object('calerr_adjustment').set_value(
         self.instrument.config['calibrants'][calibrant][peak]['err'])
     logger.debug('Set from calibrant.')
Esempio n. 12
0
def apply_resolution(widget: Gtk.ComboBoxText):
    """
    @brief      Apply selected resolution from the combobox.

    @param      widget     Gtk.ComboBoxText

    @return     None
    """
    # apply resolution for all displays in the xfce settings
    res_str = widget.get_active_text()
    cmd = XfceCommand("-c", "displays", "-p", "/ActiveProfile")
    cmd_res = cmd.execute()

    print("Walking through active display profiles")
    for cr in cmd_res:
        print(f"Profile: {cr}")
        cmd_2 = XfceCommand("-c", "displays", "-p", f"/{cr}", "-l")
        cmd_res_2 = cmd_2.execute()

        print("Walking through profile keys")
        for cr2 in cmd_res_2:
            if "Resolution" in cr2:
                print(f"Found resolution in {cr2}")
                cmd_3 = XfceCommand(
                    "-c",
                    "displays",
                    "-p",
                    cr2,
                    "-s",
                    res_str,
                )
                cmd_3.execute()

    # also use xrandr to change current resolution
    xrandr_cmd = ShellCommand("xrandr", "-s", res_str)
    xrandr_cmd.execute()
Esempio n. 13
0
 def _combobox_changed_cb(self, combobox: Gtk.ComboBoxText,
                          param_name: str):
     self._params[param_name] = combobox.get_active_text()
Esempio n. 14
0
 def _on_stress_stressor_comboboxtext_changed(self, combobox: Gtk.ComboBoxText) -> None:
     sensitive = "benchmark" not in combobox.get_active_id()
     self._stress_workers_comboboxtext.set_sensitive(sensitive)
     self._stress_timeout_comboboxtext.set_sensitive(sensitive)
Esempio n. 15
0
 def update_language(self, combo: Gtk.ComboBoxText) -> None:
     language = list(config.translations)[combo.get_active()]
     config.new('general', 'language', language)
     Gtk.Container.foreach(self, refresh_widget_text)
     Gtk.Container.foreach(self.parent_window, refresh_widget_text)
Esempio n. 16
0
 def view_switched(self, combo: Gtk.ComboBoxText) -> None:
     self.choices['View'] = combo.get_active_text()
Esempio n. 17
0
 def on_calibrant_selector_changed(self, csel: Gtk.ComboBoxText):
     update_comboboxtext_choices(
         self.builder.get_object('peak_selector'),
         sorted(self.instrument.config['calibrants'][csel.get_active_text()]))