Application autoload page

pull/196/head
parent 830841d703
commit daa7b17df5

@ -0,0 +1,4 @@
GROUP;APPLICATION;DESCRIPTION
Plank dock-panel;plank.desktop;Universal macOS-style dock-panel
Conky monitor;conky.desktop;System monitor
Hostalive;check-hostalive.desktop;Check the internet is alive
1 GROUP APPLICATION DESCRIPTION
2 Plank dock-panel plank.desktop Universal macOS-style dock-panel
3 Conky monitor conky.desktop System monitor
4 Hostalive check-hostalive.desktop Check the internet is alive

@ -46,5 +46,6 @@
<file>filesystems-format-list.csv</file> <file>filesystems-format-list.csv</file>
<file>groups-list.csv</file> <file>groups-list.csv</file>
<file>vfs-list.csv</file> <file>vfs-list.csv</file>
<file>applications-list.csv</file>
</gresource> </gresource>
</gresources> </gresources>

@ -67,6 +67,7 @@ set(DEPENDFILES
../filesystems-format-list.csv ../filesystems-format-list.csv
../groups-list.csv ../groups-list.csv
../vfs-list.csv ../vfs-list.csv
../applications-list.csv
../icons-builtin/install_type_custom_normal.png ../icons-builtin/install_type_custom_normal.png
../icons-builtin/install_type_data_only_normal.png ../icons-builtin/install_type_data_only_normal.png
../icons-builtin/install_type_fast_normal.png ../icons-builtin/install_type_fast_normal.png
@ -136,6 +137,7 @@ set(SOURCE_FILES
ubinstall-gtk-kernel.c ubinstall-gtk-kernel.c
ubinstall-gtk-language.c ubinstall-gtk-language.c
ubinstall-gtk-config-hub.c ubinstall-gtk-config-hub.c
ubinstall-gtk-startup-apps.c
ubinstall-gtk.h ubinstall-gtk.h
ubl-strings.h ubl-strings.h
) )

@ -54,7 +54,6 @@ int yon_os_components_save(main_window *widgets){
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
GList *iter; GList *iter;
int size; int size;
int overall_num=0;
config_str modules = NULL; config_str modules = NULL;
for(iter = list;iter;iter=iter->next){ for(iter = list;iter;iter=iter->next){
os_row *row = g_object_get_data(iter->data,"kernel_row"); os_row *row = g_object_get_data(iter->data,"kernel_row");
@ -63,12 +62,9 @@ int yon_os_components_save(main_window *widgets){
if (status){ if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target); yon_char_parsed_add_or_create_if_exists(modules,&size,target);
} }
overall_num++;
} }
g_list_free(list); g_list_free(list);
if (size&&size==overall_num){ if (size){
yon_config_register(modules_parameter,modules_parameter_command,"auto");
} else if (size){
char *final = yon_char_parsed_to_string(modules,size,","); char *final = yon_char_parsed_to_string(modules,size,",");
yon_config_register(modules_parameter,modules_parameter_command,final); yon_config_register(modules_parameter,modules_parameter_command,final);
} else { } else {

@ -178,6 +178,7 @@ void yon_configuration_hub_init(main_window *widgets){
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubPersonalListBox),KEYBOARD_TAB_LABEL,"com.ublinux.ubl-settings-keyboard",YON_PAGE_KEYBOARD); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubPersonalListBox),KEYBOARD_TAB_LABEL,"com.ublinux.ubl-settings-keyboard",YON_PAGE_KEYBOARD);
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),USERS_TAB_LABEL,"com.ublinux.ubl-settings-usergroups",YON_PAGE_USERS); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),USERS_TAB_LABEL,"com.ublinux.ubl-settings-usergroups",YON_PAGE_USERS);
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),STARTUP_LABEL,"com.ublinux.ubl-settings-info",YON_PAGE_STARTUP); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),STARTUP_LABEL,"com.ublinux.ubl-settings-info",YON_PAGE_STARTUP);
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),STARTUP_APP_LABEL,"com.ublinux.ubl-settings-info",YON_PAGE_APP_STARTUP);
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),BOOTLOADER_LABEL,"com.ublinux.ubl-settings-bootloader",YON_PAGE_BOOTLOADER); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),BOOTLOADER_LABEL,"com.ublinux.ubl-settings-bootloader",YON_PAGE_BOOTLOADER);
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),NETWORK_LABEL,"com.ublinux.ubl-settings-multiseat",YON_PAGE_NETWORK); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),NETWORK_LABEL,"com.ublinux.ubl-settings-multiseat",YON_PAGE_NETWORK);
yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubPackagesListBox),KERNEL_LABEL,kernel_icon_path,YON_PAGE_KERNEL); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubPackagesListBox),KERNEL_LABEL,kernel_icon_path,YON_PAGE_KERNEL);

@ -463,7 +463,12 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){
yon_char_parsed_free(fs_types,size); yon_char_parsed_free(fs_types,size);
char *parameter = config(part_fs_type_parameter); char *parameter = config(part_fs_type_parameter);
if (!yon_char_is_empty(parameter)){ if (!yon_char_is_empty(parameter)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(fs_type_combo),parameter); if (!gtk_combo_box_set_active_id(GTK_COMBO_BOX(fs_type_combo),parameter)){
if(gtk_combo_box_get_has_entry(GTK_COMBO_BOX(fs_type_combo))){
gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(fs_type_combo))),parameter);
}
}
} else { } else {
gtk_combo_box_set_active(GTK_COMBO_BOX(fs_type_combo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(fs_type_combo),0);
} }

@ -18,7 +18,7 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_REGION: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_REGION: return YON_PAGE_CONFIG_HUB; break;
case YON_PAGE_LANGUAGE: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_LANGUAGE: return YON_PAGE_CONFIG_HUB; break;
case YON_PAGE_KEYBOARD: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_KEYBOARD: return YON_PAGE_CONFIG_HUB; break;
case YON_PAGE_USERS: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_USERS: return YON_PAGE_CONFIG_HUB; break;
case YON_PAGE_STARTUP: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_STARTUP: return YON_PAGE_CONFIG_HUB; break;
case YON_PAGE_APP_STARTUP: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_APP_STARTUP: return YON_PAGE_CONFIG_HUB; break;
case YON_PAGE_BOOTLOADER: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_BOOTLOADER: return YON_PAGE_CONFIG_HUB; break;

@ -0,0 +1,218 @@
#include "ubinstall-gtk.h"
void on_srartup_apps_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
int status;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,0,&status,-1);
gtk_list_store_set(widgets->StartupAppsList,&iter,0,!status,-1);
}
void on_startup_apps_selection_changed(GtkWidget *,main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupAppsTree)),&model,&iter)){
int status;
gtk_tree_model_get(model,&iter,4,&status,-1);
if (status){
gtk_widget_set_sensitive(widgets->StartupAppsEditButton,1);
gtk_widget_set_sensitive(widgets->StartupAppsRemoveButton,1);
return;
}
}
gtk_widget_set_sensitive(widgets->StartupAppsEditButton,0);
gtk_widget_set_sensitive(widgets->StartupAppsRemoveButton,0);
}
void on_startup_apps_remove(GtkWidget *self,main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupAppsTree)),&model,&iter)){
char *unit;
int deletable;
gtk_tree_model_get(model,&iter,2,&unit,4,&deletable,-1);
if (!deletable) return;
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text = SERVICE_REMOVE_CONFIRMATION_LABEL(unit);
data->title = SERVICE_REMOVE_TITLE_LABEL;
if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){
gtk_list_store_remove(widgets->StartupList,&iter);
}
}
}
void yon_startup_apps_setup(main_window *widgets){
GtkTreeIter iter;
if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->StartupAppsList),&iter)){
int size;
config_str apps = yon_resource_open_file(apps_list_path,&size);
for (int i=1;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(apps[i],&parsed_size,";");
if (parsed_size&&!yon_char_is_empty(parsed[0])){
gtk_list_store_append(widgets->StartupAppsList,&iter);
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(parsed[2],""),-1);
}
}
}
char *startup = config(SERVICES_ENABLE_parameter);
if (!yon_char_is_empty(startup)){
if (!strcmp(startup,"auto")){
for_iter(GTK_TREE_MODEL(widgets->StartupAppsList),&iter){
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,-1);
}
} else {
int parsed_size;
config_str parsed = yon_char_parse(startup,&parsed_size,",");
for_iter(GTK_TREE_MODEL(widgets->StartupAppsList),&iter){
char *target;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,2,&target,-1);
if (strstr(target,",")){
int target_size;
config_str target_parsed = yon_char_parse(target,&target_size,",");
int found =0;
for (int i=0;i<target_size;i++){
int pos = yon_char_parsed_check_exist(parsed,parsed_size,target_parsed[i]);
if (pos>-1){
found++;
parsed = yon_char_parsed_rip(parsed,&parsed_size,pos);
}
}
if (found == target_size){
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,-1);
} else {
gtk_list_store_set(widgets->StartupAppsList,&iter,0,0,-1);
}
yon_char_parsed_free(target_parsed,target_size);
} else {
int pos = yon_char_parsed_check_exist(parsed,parsed_size,target);
if (pos>-1){
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,-1);
parsed = yon_char_parsed_rip(parsed,&parsed_size,pos);
} else {
gtk_list_store_set(widgets->StartupAppsList,&iter,0,0,-1);
}
}
}
if (parsed_size&&parsed){
for (int i=0;i<parsed_size;i++){
gtk_list_store_append(widgets->StartupAppsList,&iter);
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,2,parsed[i],-1);
}
}
yon_char_parsed_free(parsed,parsed_size);
}
}
}
void on_startup_app_add_accept(GtkWidget *self, main_window *widgets){
startup_app_window *window = g_object_get_data(G_OBJECT(self),"startup_app_window");
const char *unit = gtk_entry_get_text(GTK_ENTRY(window->UnitEntry));
const char *app = gtk_entry_get_text(GTK_ENTRY(window->ServiceEntry));
const char *description = gtk_entry_get_text(GTK_ENTRY(window->DescriptionEntry));
if (yon_char_is_empty(app)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->ServiceEntry);
return;
}
GtkTreeIter iter;
gtk_list_store_append(widgets->StartupAppsList,&iter);
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,1,unit,2,app,3,description,4,1,-1);
on_subwindow_close(self);
}
void on_startup_app_edit_accept(GtkWidget *self, main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),&model,&iter)){
startup_app_window *window = g_object_get_data(G_OBJECT(self),"startup_app_window");
const char *unit = gtk_entry_get_text(GTK_ENTRY(window->UnitEntry));
const char *app = gtk_entry_get_text(GTK_ENTRY(window->ServiceEntry));
const char *description = gtk_entry_get_text(GTK_ENTRY(window->DescriptionEntry));
if (yon_char_is_empty(app)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->ServiceEntry);
return;
}
gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,1,unit,2,app,3,description,4,1,-1);
}
on_subwindow_close(self);
}
startup_app_window *yon_startup_app_window_new(){
startup_app_window *window = new(startup_app_window);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_service);
window->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
window->UnitEntry = yon_gtk_builder_get_widget(builder,"UnitEntry");
window->ServiceEntry = yon_gtk_builder_get_widget(builder,"ServiceEntry");
window->DescriptionEntry = yon_gtk_builder_get_widget(builder,"DescriptionEntry");
window->AppLabel = yon_gtk_builder_get_widget(builder,"AppLabel");
window->GroupLabel = yon_gtk_builder_get_widget(builder,"GroupLabel");
window->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel");
gtk_label_set_text(GTK_LABEL(window->AppLabel),APP_LABEL);
gtk_label_set_text(GTK_LABEL(window->AppLabel),GROUP_LABEL);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_object_set_data(G_OBJECT(window->AcceptButton),"startup_app_window",window);
return window;
}
void on_startup_app_add(GtkWidget *, main_window *widgets){
startup_app_window *window = yon_startup_app_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),SERVICE_ADD_TITLE_LABEL,icon_path,"app_add_window");
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_startup_app_add_accept),widgets);
gtk_widget_show(window->Window);
}
void on_startup_app_edit(GtkWidget *, main_window *widgets){
GtkTreeIter iter;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),NULL,&iter)){
char *app, *unit, *description;
int status;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,1,&unit,2,&app,3,&description,4,&status,-1);
if (status){
startup_app_window *window = yon_startup_app_window_new();
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),SERVICE_EDIT_TITLE_LABEL,icon_path,"app_add_window");
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_startup_app_edit_accept),widgets);
gtk_entry_set_text(GTK_ENTRY(window->UnitEntry),unit);
gtk_entry_set_text(GTK_ENTRY(window->ServiceEntry),app);
gtk_entry_set_text(GTK_ENTRY(window->DescriptionEntry),description);
gtk_widget_show(window->Window);
}
}
}
int yon_startup_app_save(main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->StartupList);
int size = 0;
int list_size=0;
config_str modules = NULL;
for_iter(model,&iter){
list_size++;
char *target;
int status;
gtk_tree_model_get(model,&iter,0,&status,2,&target,-1);
if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target);
}
}
if (size){
if (list_size==size){
yon_config_register(SERVICES_ENABLE_parameter,SERVICES_ENABLE_parameter_command,"auto");
} else {
char *final = yon_char_parsed_to_string(modules,size,",");
yon_config_register(SERVICES_ENABLE_parameter,SERVICES_ENABLE_parameter_command,final);
}
yon_char_parsed_free(modules,size);
} else {
yon_config_remove_by_key(SERVICES_ENABLE_parameter);
}
return 1;
}

@ -405,6 +405,7 @@ void on_exit_accepted(main_window *widgets){
main_config.exit_accepted=1; main_config.exit_accepted=1;
while(gtk_events_pending()) gtk_main_iteration(); while(gtk_events_pending()) gtk_main_iteration();
gtk_widget_destroy(widgets->MainWindow); gtk_widget_destroy(widgets->MainWindow);
gtk_main_quit();
} }
gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){
@ -822,6 +823,13 @@ void yon_main_window_create(main_window *widgets){
widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton"); widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton");
widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell")); widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell"));
widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList")); widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList"));
widgets->StartupAppsTree = yon_gtk_builder_get_widget(builder,"StartupAppsTree");
widgets->StartupAppsAddButton = yon_gtk_builder_get_widget(builder,"StartupAppsAddButton");
widgets->StartupAppsEditButton = yon_gtk_builder_get_widget(builder,"StartupAppsEditButton");
widgets->StartupAppsRemoveButton = yon_gtk_builder_get_widget(builder,"StartupAppsRemoveButton");
widgets->StartupAppsChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupAppsChosenCell"));
widgets->StartupAppsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupAppsList"));
// widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage"); // widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage");
widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch"); widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch");
@ -942,7 +950,11 @@ void yon_main_window_create(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets);
g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets);
g_signal_connect(G_OBJECT(widgets->StartupAppsTree),"cursor-changed",G_CALLBACK(on_startup_apps_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->StartupAppsAddButton),"clicked",G_CALLBACK(on_startup_app_add),widgets);
g_signal_connect(G_OBJECT(widgets->StartupAppsEditButton),"clicked",G_CALLBACK(on_startup_app_edit),widgets);
g_signal_connect(G_OBJECT(widgets->StartupAppsRemoveButton),"clicked",G_CALLBACK(on_startup_apps_remove),widgets);
g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry);

@ -77,6 +77,7 @@
#define kernel_list_path "resource:///com/ublinux/csv/kernel-list.csv" #define kernel_list_path "resource:///com/ublinux/csv/kernel-list.csv"
#define kernel_list_addon_path "resource:///com/ublinux/csv/kernel-list-addon.csv" #define kernel_list_addon_path "resource:///com/ublinux/csv/kernel-list-addon.csv"
#define services_list_path "resource:///com/ublinux/csv/services-list.csv" #define services_list_path "resource:///com/ublinux/csv/services-list.csv"
#define apps_list_path "resource:///com/ublinux/csv/applications-list.csv"
#define network_path "resource:///com/ublinux/csv/network-list.csv" #define network_path "resource:///com/ublinux/csv/network-list.csv"
#define fs_types_path "resource:///com/ublinux/csv/filesystems-format-list.csv" #define fs_types_path "resource:///com/ublinux/csv/filesystems-format-list.csv"
#define vfs_list_path "resource:///com/ublinux/csv/vfs-list.csv" #define vfs_list_path "resource:///com/ublinux/csv/vfs-list.csv"
@ -682,6 +683,12 @@ typedef struct {
GtkWidget *StartupServicesRemoveButton; GtkWidget *StartupServicesRemoveButton;
GtkCellRenderer *StartupChosenCell; GtkCellRenderer *StartupChosenCell;
GtkListStore *StartupList; GtkListStore *StartupList;
GtkWidget *StartupAppsTree;
GtkWidget *StartupAppsAddButton;
GtkWidget *StartupAppsEditButton;
GtkWidget *StartupAppsRemoveButton;
GtkCellRenderer *StartupAppsChosenCell;
GtkListStore *StartupAppsList;
// GtkWidget *BootloaderImage; // GtkWidget *BootloaderImage;
GtkWidget *BootloadTimerSwitch; GtkWidget *BootloadTimerSwitch;
@ -962,6 +969,19 @@ typedef struct {
GtkWidget *AcceptButton; GtkWidget *AcceptButton;
} startup_service_window; } startup_service_window;
typedef struct {
GtkWidget *Window;
GtkWidget *StatusBox;
GtkWidget *UnitEntry;
GtkWidget *ServiceEntry;
GtkWidget *DescriptionEntry;
GtkWidget *CancelButton;
GtkWidget *AcceptButton;
GtkWidget *AppLabel;
GtkWidget *GroupLabel;
GtkWidget *DescriptionLabel;
} startup_app_window;
struct pacman_struct{ struct pacman_struct{
main_window *widgets; main_window *widgets;
const char *find_package; const char *find_package;
@ -1403,4 +1423,15 @@ gboolean yon_software_insert(struct row_data *row_input);
int yon_configuration_hub_save(main_window *widgets); int yon_configuration_hub_save(main_window *widgets);
int yon_packages_tab_save(main_window *widgets); int yon_packages_tab_save(main_window *widgets);
gboolean on_install_slider_slide_proceed(main_window *widgets); gboolean on_install_slider_slide_proceed(main_window *widgets);
gboolean on_install_slider_slide(main_window *widgets); gboolean on_install_slider_slide(main_window *widgets);
void on_srartup_apps_toggled(GtkWidget *, char *path, main_window *widgets);
void on_startup_apps_selection_changed(GtkWidget *,main_window *widgets);
void on_startup_apps_remove(GtkWidget *self,main_window *widgets);
void yon_startup_apps_setup(main_window *widgets);
void on_startup_app_add_accept(GtkWidget *self, main_window *widgets);
void on_startup_app_edit_accept(GtkWidget *self, main_window *widgets);
startup_app_window *yon_startup_app_window_new();
void on_startup_app_add(GtkWidget *, main_window *widgets);
void on_startup_app_edit(GtkWidget *, main_window *widgets);
int yon_startup_app_save(main_window *widgets);

@ -275,11 +275,19 @@ NULL)
#define PACMAN_SOFTWARE_LABEL _("Installing Packages") #define PACMAN_SOFTWARE_LABEL _("Installing Packages")
#define REGION_ICON_LABEL _("Location") #define REGION_ICON_LABEL _("Location")
#define STARTUP_LABEL _("Startup services") #define STARTUP_LABEL _("Startup services")
#define STARTUP_APP_LABEL _("Autorun of services")
#define BOOTLOADER_LABEL _("Boot load") #define BOOTLOADER_LABEL _("Boot load")
#define NETWORK_LABEL _("Network") #define NETWORK_LABEL _("Network")
#define ENABLE_VNC_LABEL _("Enable VNC server") #define ENABLE_VNC_LABEL _("Enable VNC server")
#define ENABLE_RDP_LABEL _("Enable RDP server") #define ENABLE_RDP_LABEL _("Enable RDP server")
#define APP_TITLE_LABEL _("Autorun of application")
#define APP_TITLE_INFO_LABEL _("Configuring autorun application")
#define APP_LABEL _("Application:")
#define GROUP_LABEL _("Group:")
#define APP_TABLE_LABEL _("Application")
#define GROUP_TABLE_LABEL _("Group")
// #define _LABEL _("<i><b>Package:</b></i>") // #define _LABEL _("<i><b>Package:</b></i>")
// #define _LABEL _("<i><b>Module:</b></i>") // #define _LABEL _("<i><b>Module:</b></i>")
// #define _LABEL _("New section at") // #define _LABEL _("New section at")

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk"> <interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css --> <!-- interface-css-provider-path ubinstall-gtk.css -->
@ -54,7 +54,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkLabel" id="label3"> <object class="GtkLabel" id="AppLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Unit:</property> <property name="label" translatable="yes">Unit:</property>
@ -90,7 +90,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkLabel" id="label2"> <object class="GtkLabel" id="GroupLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Service:</property> <property name="label" translatable="yes">Service:</property>
@ -126,7 +126,7 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkLabel" id="label1"> <object class="GtkLabel" id="DescriptionLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Description:</property> <property name="label" translatable="yes">Description:</property>
@ -211,9 +211,9 @@
</object> </object>
<object class="GtkSizeGroup"> <object class="GtkSizeGroup">
<widgets> <widgets>
<widget name="label1"/> <widget name="DescriptionLabel"/>
<widget name="label2"/> <widget name="GroupLabel"/>
<widget name="label3"/> <widget name="AppLabel"/>
</widgets> </widgets>
</object> </object>
</interface> </interface>

Loading…
Cancel
Save