Added warning window before exiting installer

pull/60/head
parent d43cec3edb
commit 4bca9c7d7b

@ -2185,36 +2185,39 @@ void on_gparted_open(){
yon_launch_app_with_arguments(open_gparted_command,NULL);
}
// gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets);
// void on_exit_accepted(GtkWidget *,main_window *widgets);
// void on_exit_accepted(GtkWidget *,main_window *widgets){
// if (main_config.install_thread){
// pthread_cancel((pthread_t)main_config.install_thread);
// }
// main_config.exit_accepted=1;
// g_signal_emit_by_name(G_OBJECT(widgets->MainWindow),"destroy",widgets->MainWindow,NULL);
// }
// gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){
// if (!main_config.exit_accepted){
// if (widgets){};
// confirmation_window *window = malloc(sizeof(confirmation_window));
// GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_confirmation);
// window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
// window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
// window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
// g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_exit_accepted),widgets);
// g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
// gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow));
// gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
// gtk_window_set_icon_name(GTK_WINDOW(window->Window),icon_path);
// gtk_widget_show(window->Window);
// return 1;
// }
// return 0;
// }
gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets);
void on_exit_accepted(GtkWidget *,main_window *widgets);
void on_exit_accepted(GtkWidget *,main_window *widgets){
if (main_config.install_thread){
pthread_cancel((pthread_t)main_config.install_thread);
}
main_config.exit_accepted=1;
g_signal_emit_by_name(G_OBJECT(widgets->MainWindow),"delete-event",widgets->MainWindow,NULL);
gtk_widget_destroy(widgets->MainWindow);
}
gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){
if (!main_config.exit_accepted){
if (widgets){};
confirmation_window *window = malloc(sizeof(confirmation_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_confirmation);
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_exit_accepted),widgets);
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow));
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
gtk_window_set_icon_name(GTK_WINDOW(window->Window),icon_path);
gtk_widget_show(window->Window);
return 1;
}
return 0;
}
/**yon_main_window_complete(main_window *widgets)
* [EN]
@ -2389,7 +2392,7 @@ main_window *yon_main_window_complete(){
widgets->SameFSTypeSensitiveCheck = yon_gtk_builder_get_widget(builder,"SameFSTypeSensitiveCheck");
widgets->SameLabelSensitiveCheck = yon_gtk_builder_get_widget(builder,"SameLabelSensitiveCheck");
// g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets);
g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets);
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->DocumentationMenuItem),"menuitemmiddle");
gtk_style_context_remove_class(gtk_widget_get_style_context(widgets->DocumentationMenuItem),"menuitemtop");

@ -182,3 +182,7 @@
#define REMOVE_LAYOUT_LABEL _("Remove layout")
#define CONFIGURATION_LABEL _("System configuration...")
#define WARNING_TITLE_LABEL _("Warning")
#define WARNING_TEXT_LABEL _("Are you sure want to exit and\ninterrupt installation process?")

@ -1,13 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.accept-symbolic</property>
</object>
<object class="GtkApplicationWindow" id="MainWindow">
<property name="width-request">450</property>
<property name="height-request">250</property>
<property name="width-request">350</property>
<property name="height-request">150</property>
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="default-width">450</property>
<property name="modal">True</property>
<property name="default-width">300</property>
<property name="icon-name">dialog-question-symbolic</property>
<child>
<object class="GtkBox">
@ -52,8 +64,10 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="margin-end">15</property>
<property name="label" translatable="yes">Are you sure want to exit and
interrupt installation process?</property>
<property name="xalign">0</property>
<style>
<class name="fgnb"/>
</style>
@ -133,14 +147,4 @@ interrupt installation process?</property>
</object>
</child>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-symbolic</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.accept-symbolic</property>
</object>
</interface>

@ -628,6 +628,15 @@ msgstr ""
msgid "Remove layout"
msgstr ""
msgid "Warning"
msgstr ""
msgid "Accept"
msgstr ""
msgid "Are you sure want to exit and\ninterrupt installation process?"
msgstr ""
msgid "English, U.S.A.; Russian, Russia"
msgstr ""

@ -641,6 +641,15 @@ msgstr "Добавить раскладки"
msgid "Remove layout"
msgstr "Удалить раскладку"
msgid "Warning"
msgstr "Внимание"
msgid "Accept"
msgstr "Принять"
msgid "Are you sure want to exit and\ninterrupt installation process?"
msgstr "Вы уверены, что хотите закрыть программу и\nпрервать процесс установки?"
#: source/ubl-strings.h:140
msgid "Read installation log"
msgstr "Открыть лог установки"

Loading…
Cancel
Save