Added entry restrictions checking functions

pull/38/head
parent 66bfec1d44
commit fb29d11cdf

@ -5,6 +5,13 @@ template_app_info template_app_information;
static char *__yon_config_mode=NULL; static char *__yon_config_mode=NULL;
char *yon_char_get_localised_from_lib(char *string){
textdomain(template_ui_LocaleName);
char *ret = _(string);
textdomain(template_app_information.app_locale);
return ret;
}
char *yon_ubl_save_mode_get_icon_name(SAVE_MODE_TYPE type){ char *yon_ubl_save_mode_get_icon_name(SAVE_MODE_TYPE type){
switch (type){ switch (type){
case SAVE_MODE_FULL: case SAVE_MODE_FULL:
@ -555,19 +562,42 @@ void yon_on_path_check(GtkEntry *self,GdkEventFocus *event,GtkContainer *status)
} }
char *yon_gtk_entry_check_restricted(GtkEntry *target){
GtkInputPurpose purpose = gtk_entry_get_input_purpose(target);
const char *text = gtk_entry_get_text(target);
char *error=NULL;
switch(purpose){
case GTK_INPUT_PURPOSE_EMAIL:{
if (!strstr(text,"@")){
error = yon_char_get_localised_from_lib(EMAIL_INVALID_LABEL);
}
}
break;
case GTK_INPUT_PURPOSE_URL:{
if (!strstr(text,"/")){
error = yon_char_get_localised_from_lib(PATH_INVALID_LABEL);
}
}
break;
default: break;
}
return error;
}
void yon_entry_set_entry_type(GtkEntry *target,GtkBox *status){ void yon_entry_set_entry_type(GtkEntry *target,GtkBox *status){
GtkInputPurpose purpose = gtk_entry_get_input_purpose(target); GtkInputPurpose purpose = gtk_entry_get_input_purpose(target);
switch(purpose){ switch(purpose){
case GTK_INPUT_PURPOSE_EMAIL: case GTK_INPUT_PURPOSE_EMAIL:
g_signal_connect(G_OBJECT(target),"insert-text",G_CALLBACK(yon_on_digit_only_changed),NULL); yon_gtk_entry_block_restricted_symbols(target);
break; break;
case GTK_INPUT_PURPOSE_DIGITS: case GTK_INPUT_PURPOSE_DIGITS:
g_signal_connect(G_OBJECT(target),"insert-text",G_CALLBACK(yon_on_digit_only_changed),NULL); g_signal_connect(G_OBJECT(target),"insert-text",G_CALLBACK(yon_on_digit_only_changed),NULL);
break; break;
case GTK_INPUT_PURPOSE_URL: case GTK_INPUT_PURPOSE_URL:
yon_gtk_entry_block_restricted_symbols(target);
g_signal_connect(G_OBJECT(target),"insert-text",G_CALLBACK(yon_on_digit_only_changed),NULL);
break; break;
default: break; default: break;

@ -46,6 +46,8 @@ typedef enum SAVE_MODE_TYPE {
SAVE_MODE_HDD_HOME, SAVE_MODE_HDD_HOME,
} SAVE_MODE_TYPE; } SAVE_MODE_TYPE;
char *yon_char_get_localised_from_lib(char *string);
char *yon_ubl_save_mode_get_icon_name(SAVE_MODE_TYPE type); char *yon_ubl_save_mode_get_icon_name(SAVE_MODE_TYPE type);
SAVE_MODE_TYPE yon_ubl_save_mode_get_type(char *type); SAVE_MODE_TYPE yon_ubl_save_mode_get_type(char *type);
@ -265,6 +267,8 @@ void *yon_ubl_settings_window_get(char *id);
void yon_configuration_window_add_boolean_parameter(enum CONFIGURATION_PARAMETER_TYPE type, char *id, char *label); void yon_configuration_window_add_boolean_parameter(enum CONFIGURATION_PARAMETER_TYPE type, char *id, char *label);
void yon_configuration_window_add_combo_box_parameter(enum CONFIGURATION_PARAMETER_TYPE type, char *id, char *label, GCallback func, gpointer data, ...); void yon_configuration_window_add_combo_box_parameter(enum CONFIGURATION_PARAMETER_TYPE type, char *id, char *label, GCallback func, gpointer data, ...);
char *yon_gtk_entry_check_restricted(GtkEntry *target);
typedef struct { typedef struct {
GtkWidget *window; GtkWidget *window;
GtkWidget *WorkZoneBox; GtkWidget *WorkZoneBox;

Loading…
Cancel
Save