|
|
|
|
@ -1190,6 +1190,27 @@ rmb_menu_window *yon_rmb_menu_setup(GtkWidget *target_widget, int (show_function
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_on_text_insert_only_digits(GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer user_data){
|
|
|
|
|
gchar *new_text = g_new(gchar, length + 1);
|
|
|
|
|
gint i, j = 0;
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < length; i++) {
|
|
|
|
|
if (g_ascii_isdigit(text[i])) {
|
|
|
|
|
new_text[j] = text[i];
|
|
|
|
|
j++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (j < length) {
|
|
|
|
|
g_signal_handlers_block_by_func(editable, G_CALLBACK(yon_on_text_insert_only_digits), user_data);
|
|
|
|
|
gtk_editable_insert_text(editable, new_text, j, position);
|
|
|
|
|
g_signal_handlers_unblock_by_func(editable, G_CALLBACK(yon_on_text_insert_only_digits), user_data);
|
|
|
|
|
g_signal_stop_emission_by_name(editable, "insert-text");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
g_free(new_text);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GtkEntry section
|
|
|
|
|
// struct entry_pattern_data {
|
|
|
|
|
// GtkEntry *entry;
|
|
|
|
|
@ -1420,6 +1441,7 @@ config_str yon_resource_open_file(const char *path, int *size){
|
|
|
|
|
gsize sz;
|
|
|
|
|
GFile *file = g_file_new_for_uri(path);
|
|
|
|
|
g_file_load_contents(file,NULL,&modules,&sz,NULL,NULL);
|
|
|
|
|
g_object_unref(G_OBJECT(file));
|
|
|
|
|
parsed = yon_char_parse(modules,size,"\n");
|
|
|
|
|
return parsed;
|
|
|
|
|
}
|
|
|
|
|
|