Etk_Bool _state_AspectSpinner_value_changed_cb(Etk_Range *range, double value, void *data) { printf("Value Changed Signal on AspectMinSpinner EMITTED\n"); edje_edit_state_aspect_min_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(ETK_RANGE(UI_AspectMinSpinner))); edje_edit_state_aspect_max_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(ETK_RANGE(UI_AspectMaxSpinner))); return ETK_TRUE; }
Etk_Bool _gradient_RelSpinners_value_changed_cb(Etk_Range *range, double value, void *data) { printf("Value Changed Signal on Gradient RelSpinner EMITTED (value: %f)\n",etk_range_value_get(range)); if (!etk_string_length_get(Cur.state) || !etk_string_length_get(Cur.part)) return ETK_TRUE; switch ((int)(long)data) { case REL1X_SPINNER: edje_edit_state_gradient_rel1_relative_x_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL1Y_SPINNER: edje_edit_state_gradient_rel1_relative_y_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL2X_SPINNER: edje_edit_state_gradient_rel2_relative_x_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL2Y_SPINNER: edje_edit_state_gradient_rel2_relative_y_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL1XO_SPINNER: edje_edit_state_gradient_rel1_offset_x_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL1YO_SPINNER: edje_edit_state_gradient_rel1_offset_y_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL2XO_SPINNER: edje_edit_state_gradient_rel2_offset_x_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; case REL2YO_SPINNER: edje_edit_state_gradient_rel2_offset_y_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(range)); break; } canvas_redraw(); return ETK_TRUE; }
Etk_Bool _image_border_spinners_value_changed_cb(Etk_Range *range, double value, void *data) { printf("Value Changed signal on BorderSpinner EMITTED (value: %f)\n",etk_range_value_get(range)); if (!etk_string_length_get(Cur.state)) return ETK_TRUE; if (!etk_string_length_get(Cur.part)) return ETK_TRUE; edje_edit_state_image_border_set(edje_o, Cur.part->string, Cur.state->string, (int)etk_range_value_get(ETK_RANGE(UI_BorderLeftSpinner)), (int)etk_range_value_get(ETK_RANGE(UI_BorderRightSpinner)), (int)etk_range_value_get(ETK_RANGE(UI_BorderTopSpinner)), (int)etk_range_value_get(ETK_RANGE(UI_BorderBottomSpinner))); canvas_redraw(); return ETK_TRUE; }
Etk_Bool _state_MinMaxSpinner_value_changed_cb(Etk_Range *range, double value, void *data) { printf("Active Item Changed Signal on MinMaxSpinners EMITTED\n"); edje_edit_state_min_w_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(ETK_RANGE(UI_StateMinWSpinner))); edje_edit_state_min_h_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(ETK_RANGE(UI_StateMinHSpinner))); edje_edit_state_max_w_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(ETK_RANGE(UI_StateMaxWSpinner))); edje_edit_state_max_h_set(edje_o, Cur.part->string, Cur.state->string, etk_range_value_get(ETK_RANGE(UI_StateMaxHSpinner))); canvas_redraw(); return ETK_TRUE; }
/* Updates the text of the spinner from its value */ static void _etk_spinner_update_text_from_value(Etk_Spinner *spinner) { char text[MAX_TEXT_LEN]; if (!spinner || !spinner->editable_object) return; snprintf(text, MAX_TEXT_LEN, spinner->value_format, etk_range_value_get(ETK_RANGE(spinner))); etk_editable_text_set(spinner->editable_object, text); }
/* Called when the step-increment of the spinner is changed: * We correct the value if the "snap-to-ticks" setting is on */ static void _etk_spinner_step_increment_changed_cb(Etk_Object *object, const char *property_name, void *data) { Etk_Spinner *spinner; double value; if (!(spinner = ETK_SPINNER(object))) return; if (spinner->snap_to_ticks) { value = etk_range_value_get(ETK_RANGE(spinner)); value = _etk_spinner_value_snap(spinner, value); etk_range_value_set(ETK_RANGE(spinner), value); } }
/** * @brief Sets whether or not the value of the spinner should be automatically * corrected to the nearest step-increment * @param spinner a spinner * @param snap_to_ticks ETK_TRUE if you want the value to be corrected, ETK_FALSE otherwise */ void etk_spinner_snap_to_ticks_set(Etk_Spinner *spinner, Etk_Bool snap_to_ticks) { if (!spinner || spinner->snap_to_ticks == snap_to_ticks) return; spinner->snap_to_ticks = snap_to_ticks; if (snap_to_ticks) { double new_value; new_value = _etk_spinner_value_snap(spinner, etk_range_value_get(ETK_RANGE(spinner))); etk_range_value_set(ETK_RANGE(spinner), new_value); } etk_object_notify(ETK_OBJECT(spinner), "snap-to-ticks"); }
void emphasis_configgui_save(Emphasis_Config_Gui *configgui) { Emphasis_Config *config; char *key = NULL, *value = NULL; int reconnect = 0; config = config_load(); if((key = config->hostname)) { value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->hostname))); if(strcmp(key,value)) { reconnect = 1; } free(config->hostname); } config->hostname = value; if((key = config->password)) { value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->password))); if(!reconnect && strcmp(key,value)) { reconnect = 1; } free(config->password); } config->password = value; if(!reconnect && config->port != etk_range_value_get(ETK_RANGE(configgui->port))) { reconnect = 1; } config->port = etk_range_value_get(ETK_RANGE(configgui->port)); config->crossfade = etk_range_value_get(ETK_RANGE(configgui->xfade)); config->stop_on_exit = etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(configgui->stop)); config->keep_aspect = etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(configgui->aspect)); if(configgui->data) { etk_image_keep_aspect_set (ETK_IMAGE(((Emphasis_Gui*)configgui->data)->player->small.cover), config->keep_aspect); etk_image_keep_aspect_set (ETK_IMAGE(((Emphasis_Gui*)configgui->data)->player->full.cover), config->keep_aspect); } mpc_set_crossfade(config->crossfade); config_save(config); config_free(config); if(reconnect) { Emphasis_Gui *gui = configgui->data; emphasis_player_cover_set(gui->player, NULL); emphasis_player_progress_set(gui->player, 0.0, 0.001); mpc_disconnect(); } }