Added confirmation dialogs

pull/128/head
parent 109293222b
commit 3d04e07156
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -47,19 +47,31 @@ void on_install_activate(GtkWidget *self, main_window *widgets){
g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_install_activate),widgets); g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_install_activate),widgets);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self),!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self))); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self),!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self)));
g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(on_install_activate),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(on_install_activate),widgets);
int is_installed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self));
driver_struct *driver = g_object_get_data(G_OBJECT(self),"driver_struct"); driver_struct *driver = g_object_get_data(G_OBJECT(self),"driver_struct");
char *install_target = NULL; char *install_target = NULL;
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
if (self == driver->ModuleInstalledCheck){ if (self == driver->ModuleInstalledCheck){
install_target = driver->module; install_target = driver->module;
data->title = is_installed?MODULE_REMOVE_PROCESS_LABEL(install_target):MODULE_INSTALL_PROCESS_LABEL(install_target);
} else if (self == driver->PackageInstalledCheck){ } else if (self == driver->PackageInstalledCheck){
install_target = driver->package; install_target = driver->package;
data->title = is_installed?PACKAGE_REMOVE_PROCESS_LABEL(install_target):PACKAGE_INSTALL_PROCESS_LABEL(install_target);
}
if (is_installed){
data->action_text = REMOVE_CONFIRMATION_LABEL(install_target);
} else {
data->action_text = self == driver->ModuleInstalledCheck?yon_char_unite(INSTALL_CONFIRMATION_LABEL(install_target),"\n",INSTALL_ATTENTION_LABEL,NULL):
INSTALL_CONFIRMATION_LABEL(install_target);
} }
char *command = NULL; char *command = NULL;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self))){ if (is_installed){
command = delete_proprietary_command(install_target); command = delete_proprietary_command(install_target);
} else { } else {
command = install_proprietary_command(install_target); command = install_proprietary_command(install_target);
}
if (yon_confirmation_dialog_call(widgets->Window,data)!=GTK_RESPONSE_ACCEPT){
return;
} }
g_mutex_lock(&main_config.progress_mutex); g_mutex_lock(&main_config.progress_mutex);
main_config.progress_active=1; main_config.progress_active=1;
@ -69,7 +81,7 @@ void on_install_activate(GtkWidget *self, main_window *widgets){
vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1); vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1);
g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_install_check),driver); g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_install_check),driver);
yon_install_buttons_set_sensitive(widgets,0); yon_install_buttons_set_sensitive(widgets,0);
yon_terminal_integrated_start(widgets->InstallTerminal,command); yon_terminal_integrated_start_shell(widgets->InstallTerminal,command,NULL,NULL);
// g_signal_connect(G_OBJECT(widgets->InstallTerminal),"contents-changed",G_CALLBACK(on_terminal_check_progress),widgets); // g_signal_connect(G_OBJECT(widgets->InstallTerminal),"contents-changed",G_CALLBACK(on_terminal_check_progress),widgets);
if (!gtk_widget_get_visible(widgets->TerminalPaned)){ if (!gtk_widget_get_visible(widgets->TerminalPaned)){
on_terminal_revealer_open(NULL,widgets); on_terminal_revealer_open(NULL,widgets);

@ -76,7 +76,7 @@ END {\n\
#define get_resolutions_supportable_command "resource:///com/ublinux/csv/resolutions.csv" #define get_resolutions_supportable_command "resource:///com/ublinux/csv/resolutions.csv"
#define install_proprietary_command(target) yon_char_append("pacman --quiet --needed -Sy ",target) #define install_proprietary_command(target) yon_char_append("echo y| pacman --quiet --needed -Sy ",target)
#define delete_proprietary_command(target) yon_char_append("pacman -R --noconfirm ",target) #define delete_proprietary_command(target) yon_char_append("pacman -R --noconfirm ",target)

Loading…
Cancel
Save