|
|
|
@ -102,12 +102,34 @@ void on_about(){
|
|
|
|
|
|
|
|
|
|
|
|
//functions
|
|
|
|
//functions
|
|
|
|
|
|
|
|
|
|
|
|
void yon_load_proceed(char *command){
|
|
|
|
void on_file_chooser_open(GtkWidget *self, main_window *widgets){
|
|
|
|
if (yon_config_load_register(command))
|
|
|
|
GtkWidget *dialog = gtk_file_chooser_dialog_new(TITLE_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_OPEN,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
|
|
|
yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),"/usr/bin/");
|
|
|
|
else
|
|
|
|
gtk_window_set_icon_name(GTK_WINDOW(dialog),icon_path);
|
|
|
|
yon_ubl_status_box_render(LOAD_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
|
|
|
|
int res = gtk_dialog_run(GTK_DIALOG(dialog));
|
|
|
|
|
|
|
|
if (res==GTK_RESPONSE_ACCEPT){
|
|
|
|
|
|
|
|
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->TargetNameEntry),filename);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
on_close_subwindow(dialog);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_application_chooser_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
char *app = yon_app_chooser_open_with_sections(GRAPHICS_LABEL,"Graphics","",
|
|
|
|
|
|
|
|
TOOLS_LABEL,"Graphics","",
|
|
|
|
|
|
|
|
INTERNET_LABEL,"Network","",
|
|
|
|
|
|
|
|
MULTIMEDIA_LABEL,"AudioVideo","",
|
|
|
|
|
|
|
|
SETTINGS_LABEL,"Settings","",
|
|
|
|
|
|
|
|
EDUCATION_LABEL,"Education","",
|
|
|
|
|
|
|
|
OFFICE_LABEL,"Office","",
|
|
|
|
|
|
|
|
OTHER_LABEL,"Utility","",
|
|
|
|
|
|
|
|
DEVELOPMENT_LABEL,"Development","",
|
|
|
|
|
|
|
|
SYSTEM_LABEL,"System","",NULL);
|
|
|
|
|
|
|
|
if (app){
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->TargetNameEntry),app);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// standard functions
|
|
|
|
// standard functions
|
|
|
|
@ -157,6 +179,10 @@ main_window *setup_window(){
|
|
|
|
|
|
|
|
|
|
|
|
widgets->runButton = yon_gtk_builder_get_widget(builder,"runButton");
|
|
|
|
widgets->runButton = yon_gtk_builder_get_widget(builder,"runButton");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
widgets->HeadOverlay = yon_gtk_builder_get_widget(builder,"overHead");
|
|
|
|
|
|
|
|
widgets->HeadImage = yon_gtk_builder_get_widget(builder,"imgHeadBackground");
|
|
|
|
|
|
|
|
widgets->HeadBox = yon_gtk_builder_get_widget(builder,"boxColor");
|
|
|
|
|
|
|
|
|
|
|
|
widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL);
|
|
|
|
widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL);
|
|
|
|
widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL);
|
|
|
|
widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL);
|
|
|
|
|
|
|
|
|
|
|
|
@ -166,18 +192,6 @@ main_window *setup_window(){
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->DocumentationMenuItem);
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->DocumentationMenuItem);
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->AboutMenuItem);
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->AboutMenuItem);
|
|
|
|
|
|
|
|
|
|
|
|
if (main_config.lock_load_global == 1){
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->LoadGlobalMenuItem,0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (main_config.lock_save_global == 1){
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SaveGlobalMenuItem,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (main_config.lock_save_local == 1){
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SaveLocalMenuItem,0);
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Widget registration for config monitoring | Регистрация виджетов для мониторинга конфига */
|
|
|
|
/* Widget registration for config monitoring | Регистрация виджетов для мониторинга конфига */
|
|
|
|
// yon_window_config_add_custom_parameter(widgets->HeadInfoLabel,"head-text","label",YON_TYPE_STRING);
|
|
|
|
// yon_window_config_add_custom_parameter(widgets->HeadInfoLabel,"head-text","label",YON_TYPE_STRING);
|
|
|
|
|
|
|
|
|
|
|
|
@ -185,7 +199,24 @@ main_window *setup_window(){
|
|
|
|
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
|
|
|
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),WIKI_LINK);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),NULL);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chooseFileButton),"clicked",G_CALLBACK(on_file_chooser_open),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chooseDesktopButton),"clicked",G_CALLBACK(on_application_chooser_open),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->priorityScale);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->prioritySpin);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserPkexecCheck);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserSuCheck);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserSudoCheck);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserCombo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithTerminalCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithTerminalCombo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->commandCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->commandEntry);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->runWithUserCombo),);
|
|
|
|
|
|
|
|
|
|
|
|
gtk_widget_show(widgets->Window);
|
|
|
|
gtk_widget_show(widgets->Window);
|
|
|
|
return widgets;
|
|
|
|
return widgets;
|
|
|
|
@ -270,13 +301,6 @@ int main(int argc, char *argv[]){
|
|
|
|
|
|
|
|
|
|
|
|
main_window *widgets = setup_window();
|
|
|
|
main_window *widgets = setup_window();
|
|
|
|
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);
|
|
|
|
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);
|
|
|
|
|
|
|
|
|
|
|
|
yon_ubl_status_box_setup(widgets->StatusIcon,widgets->StatusBox,widgets->StatusLabel);
|
|
|
|
|
|
|
|
if (getuid()!=0)
|
|
|
|
|
|
|
|
yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
yon_ubl_status_box_render(TITLE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
|
|
|
yon_ubl_setup_sockets(widgets->PlugBox,widgets->LeftBox,widgets->RightBox,main_config.socket_id,main_config.load_socket_id,main_config.save_socket_id);
|
|
|
|
|
|
|
|
yon_window_config_setup(GTK_WINDOW(widgets->Window));
|
|
|
|
yon_window_config_setup(GTK_WINDOW(widgets->Window));
|
|
|
|
yon_window_config_load(config_path);
|
|
|
|
yon_window_config_load(config_path);
|
|
|
|
GtkCssProvider *css=gtk_css_provider_new();
|
|
|
|
GtkCssProvider *css=gtk_css_provider_new();
|
|
|
|
|