|
|
|
|
@ -233,9 +233,19 @@ int yon_ubl_connect_config(_template_config *config){
|
|
|
|
|
return replaces;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gboolean on_window_delete (GtkWidget *, GdkEvent *,template_main_window *widgets){
|
|
|
|
|
gboolean on_window_delete (GtkWidget *self, GdkEvent *,template_main_window *){
|
|
|
|
|
template_saving_window *window = yon_exit_window_new();
|
|
|
|
|
if (window){
|
|
|
|
|
GCallback delete_callback = g_object_get_data(G_OBJECT(self),"exit_data_callback");
|
|
|
|
|
if (delete_callback){
|
|
|
|
|
((void(*)(template_saving_window*))delete_callback)(window);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter)){
|
|
|
|
|
gtk_widget_destroy(window->Window);
|
|
|
|
|
free(window);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
@ -246,6 +256,11 @@ void yon_window_remove_exit_config_check(template_main_window *widgets){
|
|
|
|
|
g_signal_handlers_disconnect_by_func(G_OBJECT(widgets->Window),G_CALLBACK(on_window_delete),widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_window_set_exit_config_check(template_main_window *widgets, GCallback data_callback_function){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->Window),"delete-event",G_CALLBACK(on_window_delete),widgets->Window);
|
|
|
|
|
g_object_set_data(G_OBJECT(widgets->Window),"exit_data_callback",data_callback_function);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template_main_window *setup_window(){
|
|
|
|
|
/* Widgets getting | Получение виджетов */
|
|
|
|
|
template_main_window *widgets = malloc(sizeof(template_main_window));
|
|
|
|
|
@ -318,7 +333,7 @@ template_main_window *setup_window(){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),template_app_information.wiki_link);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),template_app_information.app_version);
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->Window),"delete-event",G_CALLBACK(on_window_delete),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->Window),"delete-event",G_CALLBACK(on_window_delete),NULL);
|
|
|
|
|
|
|
|
|
|
if (yon_char_is_empty(__yon_config_mode)){
|
|
|
|
|
int size;
|
|
|
|
|
|