WIP pacman packages slide

pull/94/head
parent 8f6936eb08
commit 0a427060ac
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -68,26 +68,7 @@ int yon_software_save(main_window *widgets){
return 1;
}
int yon_startup_save(main_window *widgets){
int yon_pacman_software_save(main_window *){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->StartupList);
int size = 0;
config_str modules = NULL;
for_iter(model,&iter){
char *target;
int status;
gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
if (status){
yon_char_parsed_add_or_create_if_exists(modules,&size,target);
}
}
if (size){
// char *final = yon_char_parsed_to_string(modules,size,",");
// yon_config_register(modules_extra_parameter,modules_extra_parameter_command,final);
} else {
// yon_config_remove_by_key(modules_extra_parameter);
}
return 1;
}

@ -11,7 +11,8 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_OS_COMPONENTS: return main_config.configure_mode? YON_PAGE_KERNEL : YON_PAGE_INSTALLATION_BEGIN; break;
case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_KERNEL; break;
case YON_PAGE_KERNEL: return YON_PAGE_KERNEL_ADDON; break;
case YON_PAGE_KERNEL_ADDON: return YON_PAGE_SOFTWARE; break;
case YON_PAGE_KERNEL_ADDON: return YON_PAGE_PACMAN_SOFTWARE; break;
case YON_PAGE_PACMAN_SOFTWARE: return YON_PAGE_SOFTWARE;
case YON_PAGE_SOFTWARE: return YON_PAGE_REGION; break;
case YON_PAGE_REGION: return YON_PAGE_KEYBOARD; break;
case YON_PAGE_KEYBOARD: return YON_PAGE_USERS; break;
@ -42,7 +43,8 @@ enum YON_PAGES yon_page_get_prev(enum YON_PAGES page){
case YON_PAGE_INSTALLATION_BEGIN: return YON_PAGE_SECTIONS; break;
case YON_PAGE_KERNEL: return YON_PAGE_SECTIONS; break;
case YON_PAGE_KERNEL_ADDON: return YON_PAGE_KERNEL; break;
case YON_PAGE_SOFTWARE: return YON_PAGE_KERNEL_ADDON; break;
case YON_PAGE_PACMAN_SOFTWARE: return YON_PAGE_KERNEL_ADDON; break;
case YON_PAGE_SOFTWARE: return YON_PAGE_PACMAN_SOFTWARE; break;
case YON_PAGE_REGION: return YON_PAGE_SOFTWARE; break;
case YON_PAGE_KEYBOARD: return YON_PAGE_REGION; break;
case YON_PAGE_USERS: return YON_PAGE_KEYBOARD; break;
@ -118,6 +120,9 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
case YON_PAGE_SOFTWARE:
return yon_software_save(widgets);
break;
case YON_PAGE_PACMAN_SOFTWARE:
return yon_pacman_software_save(widgets);
break;
case YON_PAGE_REGION:
return yon_region_save(widgets);
break;
@ -168,6 +173,74 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){
return 1;
}
void yon_switch_page_render(main_window *widgets){
enum YON_PAGES page = yon_page_get_current(GTK_NOTEBOOK(widgets->Notebook));
switch(page){
case YON_PAGE_WELCOME:
page = 0;
break;
case YON_PAGE_LICENCE:
page = 1;
break;
case YON_PAGE_SECTIONS:
case YON_PAGE_OS_COMPONENTS:
case YON_PAGE_INSTALL_COMMON:
case YON_PAGE_INSTALL_SAME_PARTITION:
case YON_PAGE_INSTALL_SEPARATE:
case YON_PAGE_INSTALL_ADVANCED:
case YON_PAGE_INSTALL_RECOVERY:
case YON_PAGE_INSTALLATION_BEGIN:
case YON_PAGE_KERNEL:
case YON_PAGE_KERNEL_ADDON:
case YON_PAGE_SOFTWARE:
case YON_PAGE_PACMAN_SOFTWARE:
case YON_PAGE_RECOVERY_GRUB_INSTALL:
case YON_PAGE_RECOVERY_GRUB_UPDATE:
case YON_PAGE_RECOVERY_OS_ONLY:
case YON_PAGE_RECOVERY_USRDATA_ONLY:
page = 2;
break;
case YON_PAGE_REGION:
page = 3;
break;
case YON_PAGE_KEYBOARD:
page = 4;
break;
case YON_PAGE_USERS:
page = 5;
break;
case YON_PAGE_BOOTLOADER:
case YON_PAGE_STARTUP:
case YON_PAGE_NETWORK:
page = 6;
break;
case YON_PAGE_INSTALLATION:
page = 7;
break;
case YON_PAGE_COMPLETED:
case YON_PAGE_COMPLETION:
case YON_PAGE_INSTALL_ERROR:
case YON_PAGE_CONFIGURE_END:
case YON_PAGE_CONFIGURE_SAVE:
page=8;
break;
}
if (widgets){};
GtkContainer *parent = GTK_CONTAINER(gtk_widget_get_parent(widgets->UsersToggle));
GList *list = gtk_container_get_children(parent);
for (guint i=0;i<g_list_length(list);i++){
if (i!=(guint)page){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(list,i)),0);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(list,i)),1);
}
}
g_list_free(list);
}
void yon_configuration_mode_check(main_window *widgets){
enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook));
if (page==YON_PAGE_WELCOME){

@ -132,4 +132,33 @@ void on_startup_service_edit(GtkWidget *, main_window *widgets){
gtk_widget_show(window->Window);
}
}
}
int yon_startup_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,1,&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;
}

@ -6,6 +6,85 @@ int cur_slide=0;
// //functions
void on_os_components_toggled(GtkWidget*, char *path, main_window *widgets){
GtkTreeIter iter;
int status;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->OSSoftwareList),&iter,0,&status,-1);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,!status,-1);
}
void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
char *name, *type, *description;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->PacmanSoftwareAllList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareAllList),&iter,1,&name,2,&type,3,&description,-1);
gtk_list_store_remove(widgets->PacmanSoftwareAllList,&iter);
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,-1);
}
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){
GtkTreeIter iter;
char *name, *type, *description;
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,path);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,1,&name,2,&type,3,&description,-1);
gtk_list_store_remove(widgets->PacmanSoftwareChosenList,&iter);
gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,name,2,type,3,description,-1);
}
gboolean yon_pacman_fill(struct pacman_struct *pacman){
main_window *widgets = pacman->widgets;
config_str loaded = pacman->packages;
int size = pacman->packages_size;
for (int i=0;i<size;i++){
yon_char_remove_last_symbol(loaded[i],'\n');
int parsed_size;
config_str parsed = yon_char_parse(loaded[i],&parsed_size,";");
GtkTreeIter iter;
gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter);
gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,parsed[0],2,parsed[1],3,parsed[2],-1);
yon_char_parsed_free(parsed,parsed_size);
}
yon_char_parsed_free(loaded,size);
gtk_widget_set_sensitive(widgets->PacmanSoftwareSearchEntry,1);
gtk_widget_set_sensitive(widgets->PacmanSoftwareChosenPackagesTree,1);
gtk_widget_set_sensitive(widgets->PacmanSoftwareStatusButton,1);
g_object_ref(G_OBJECT(widgets->MainSpinner));
gtk_container_remove(GTK_CONTAINER(widgets->PacmanLoadingOverlay),widgets->MainSpinner);
return G_SOURCE_REMOVE;
}
void *yon_pacman_load(struct pacman_struct *pacman){
const char *find_package = pacman->find_package;
char *command = get_local_module_info_command(find_package);
pacman->packages = yon_config_load(yon_debug_output("%s\n",command),&pacman->packages_size);
g_idle_add((GSourceFunc)yon_pacman_fill,pacman);
return NULL;
}
void on_pacman_icon_press(GtkEntry *self,GtkEntryIconPosition icon_pos,GdkEvent* ,main_window *widgets){
if(icon_pos != GTK_ENTRY_ICON_SECONDARY) return;
gtk_list_store_clear(widgets->PacmanSoftwareAllList);
const char *find_package = gtk_entry_get_text(self);
struct pacman_struct *pacman = new (struct pacman_struct);
pacman->widgets=widgets;
pacman->find_package=find_package;
gtk_widget_set_sensitive(widgets->PacmanSoftwareSearchEntry,0);
gtk_widget_set_sensitive(widgets->PacmanSoftwareChosenPackagesTree,0);
gtk_widget_set_sensitive(widgets->PacmanSoftwareStatusButton,0);
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->PacmanLoadingOverlay),widgets->MainSpinner);
g_thread_new("pacman_modules_get_thread",(GThreadFunc)yon_pacman_load,pacman);
}
void on_toggle_button_switch_on(GtkWidget *, GtkToggleButton *toggle){
gtk_toggle_button_set_active(toggle,1);
}
@ -49,29 +128,29 @@ double yon_size_long_convert_automatic(unsigned long bytes, char *size){
// * [RU]
// * Функция инициализации всех параметров конфигурации
// */
// void config_init(){
// main_config.always_open_documentation=0;
// main_config.socket_id=-1;
// main_config.save_socket_id=-1;
// main_config.load_socket_id=-1;
// main_config.lock_help=0;
// main_config.lock_help=0;
// main_config.lock_load_global=0;
// main_config.lock_save_global=0;
// main_config.lock_save_local=0;
// main_config.debug_mode=0;
// main_config.slider_thread=0;
// main_config.install_thread=0;
// main_config.progress_thread=0;
// main_config.install_complete=0;
// main_config.save_done=0;
// main_config.save_configured=0;
// main_config.configure_mode=0;
// main_config.load_mode=-1;
// main_config.log_progress_buzy=0;
// main_config.log_end=0;
// main_config.exit_accepted=0;
// }
void config_init(){
main_config.always_open_documentation=0;
main_config.socket_id=-1;
main_config.save_socket_id=-1;
main_config.load_socket_id=-1;
main_config.lock_help=0;
main_config.lock_help=0;
main_config.lock_load_global=0;
main_config.lock_save_global=0;
main_config.lock_save_local=0;
main_config.debug_mode=0;
main_config.slider_thread=0;
main_config.install_thread=0;
main_config.progress_thread=0;
main_config.install_complete=0;
main_config.save_done=0;
main_config.save_configured=0;
main_config.configure_mode=0;
main_config.load_mode=-1;
main_config.log_progress_buzy=0;
main_config.log_end=0;
main_config.exit_accepted=0;
}
// void on_root_get_root(char *argline){
// yon_launch(argline);
@ -102,73 +181,6 @@ double yon_size_long_convert_automatic(unsigned long bytes, char *size){
// return 1;
// }
void yon_switch_page_render(main_window *widgets){
enum YON_PAGES page = yon_page_get_current(GTK_NOTEBOOK(widgets->Notebook));
switch(page){
case YON_PAGE_WELCOME:
page = 0;
break;
case YON_PAGE_LICENCE:
page = 1;
break;
case YON_PAGE_SECTIONS:
case YON_PAGE_OS_COMPONENTS:
case YON_PAGE_INSTALL_COMMON:
case YON_PAGE_INSTALL_SAME_PARTITION:
case YON_PAGE_INSTALL_SEPARATE:
case YON_PAGE_INSTALL_ADVANCED:
case YON_PAGE_INSTALL_RECOVERY:
case YON_PAGE_INSTALLATION_BEGIN:
case YON_PAGE_KERNEL:
case YON_PAGE_KERNEL_ADDON:
case YON_PAGE_SOFTWARE:
case YON_PAGE_RECOVERY_GRUB_INSTALL:
case YON_PAGE_RECOVERY_GRUB_UPDATE:
case YON_PAGE_RECOVERY_OS_ONLY:
case YON_PAGE_RECOVERY_USRDATA_ONLY:
page = 2;
break;
case YON_PAGE_REGION:
page = 3;
break;
case YON_PAGE_KEYBOARD:
page = 4;
break;
case YON_PAGE_USERS:
page = 5;
break;
case YON_PAGE_BOOTLOADER:
case YON_PAGE_STARTUP:
case YON_PAGE_NETWORK:
page = 6;
break;
case YON_PAGE_INSTALLATION:
page = 7;
break;
case YON_PAGE_COMPLETED:
case YON_PAGE_COMPLETION:
case YON_PAGE_INSTALL_ERROR:
case YON_PAGE_CONFIGURE_END:
case YON_PAGE_CONFIGURE_SAVE:
page=8;
break;
}
if (widgets){};
GtkContainer *parent = GTK_CONTAINER(gtk_widget_get_parent(widgets->UsersToggle));
GList *list = gtk_container_get_children(parent);
for (guint i=0;i<g_list_length(list);i++){
if (i!=(guint)page){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(list,i)),0);
} else {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(list,i)),1);
}
}
g_list_free(list);
}
// gboolean on_image_slide(void *data){
// main_window *widgets = (main_window*)data;
// int size;
@ -274,6 +286,7 @@ main_window *yon_main_window_complete(){
widgets->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook");
widgets->MainSpinner=yon_gtk_builder_get_widget(builder,"MainSpinner");
widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL);
widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL);
@ -449,6 +462,21 @@ main_window *yon_main_window_complete(){
widgets->OSSoftwareTree = yon_gtk_builder_get_widget(builder,"OSSoftwareTree");
widgets->OSSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"OSSoftwareList"));
widgets->OSSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"OSSoftwareCell"));
widgets->PacmanSoftwareSearchEntry = yon_gtk_builder_get_widget(builder,"PacmanSoftwareSearchEntry");
widgets->PacmanSoftwareStatusImage = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusImage");
widgets->PacmanSoftwareStatusLabel = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusLabel");
widgets->PacmanSoftwareStatusButton = yon_gtk_builder_get_widget(builder,"PacmanSoftwareStatusButton");
widgets->PacmanLoadingOverlay = yon_gtk_builder_get_widget(builder,"PacmanLoadingOverlay");
widgets->PacmanSoftwareAllPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareAllPackagesTree");
widgets->PacmanSoftwareAllList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareAllList"));
widgets->PacmanSoftwareAllCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareAllCell"));
widgets->PacmanSoftwareChosenPackagesTree = yon_gtk_builder_get_widget(builder,"PacmanSoftwareChosenPackagesTree");
widgets->PacmanSoftwareChosenList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareChosenList"));
widgets->PacmanSoftwareChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareChosenCell"));
widgets->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree");
widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton");
@ -557,6 +585,10 @@ main_window *yon_main_window_complete(){
// g_signal_connect(G_OBJECT(widgets->HostnameSensitiveCheck),"toggled",G_CALLBACK(on_autohostname_sensitiveness_check),widgets);
// g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(on_autohostname_check),widgets);
// g_signal_connect(G_OBJECT(widgets->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets);
g_signal_connect(G_OBJECT(widgets->OSSoftwareCell),"toggled",G_CALLBACK(on_os_components_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareAllCell),"toggled",G_CALLBACK(on_pacman_software_all_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareChosenCell),"toggled",G_CALLBACK(on_pacman_software_chosen_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->PacmanSoftwareSearchEntry),"icon-press",G_CALLBACK(on_pacman_icon_press),widgets);
{
@ -711,7 +743,23 @@ main_window *yon_main_window_complete(){
}
yon_char_parsed_free(parsed,size);
}
{
int base_size;
config_str base = yon_file_ls(system_base_modules_path,&base_size);
for (int i=0;i<base_size;i++){
yon_char_remove_last_symbol(base[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,base[i],-1);
}
int modules_size;
config_str modules = yon_file_ls(system_modules_path,&modules_size);
for (int i=0;i<modules_size;i++){
yon_char_remove_last_symbol(modules[i],'\n');
gtk_list_store_append(widgets->OSSoftwareList,&iter);
gtk_list_store_set(widgets->OSSoftwareList,&iter,0,0,1,modules[i],-1);
}
}
parsed = yon_resource_open_file(additional_software_path,&size);
for (int i=1;i<size;i++){
int module_size;
@ -744,7 +792,7 @@ main_window *yon_main_window_complete(){
int main(int argc, char *argv[]){
setlocale(LC_ALL, "");
textdomain (LocaleName);
config_init();
config_str unfound = NULL;
int size=0;
yon_ubl_connect_config((_template_config*)&main_config);

@ -52,6 +52,8 @@
#define zone_path "/usr/share/zoneinfo/"
#define system_base_modules_path "/memory/data/from/0/ublinux/base"
#define system_modules_path "/memory/data/from/0/ublinux/modules"
#define additional_software_path "resource:///com/ublinux/csv/modules.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"
@ -73,6 +75,8 @@
"/com/ublinux/images/slide-12.png", \
NULL
#define get_local_module_info_command(target) yon_char_unite("pacman --color never -Sp $(pacman -Ssq '",target,"') --print-format '%n;%v;%d' | grep -v \"^::\"",NULL);
#define get_menus_entry_command "/usr/lib/ublinux/scripts/grub-functions exec_get_all_menuentry"
#define encrypt_domain_password_command(target) yon_char_unite("echo '",target,"' | base64",NULL)
@ -160,7 +164,9 @@ NULL
#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL)
#define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL)
#define KERNEL_BOOT_parameter "AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']"
#define KERNEL_BOOT_parameter_command "ubconfig --source global geet autoinstall AUTOINSTALL[ubconfig set [boot] KERNEL_BOOT]"
#define KERNEL_BOOT_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL[ubconfig set [boot] KERNEL_BOOT]"
#define SERVICES_ENABLE_parameter "AUTOINSTALL['ubconfig set [boot] SERVICES_ENABLE]"
#define SERVICES_ENABLE_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] SERVICES_ENABLE]"
#define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ",parameters, "; nice ubinstall2 --debug autoinstall", NULL)
@ -270,6 +276,7 @@ enum YON_PAGES {
YON_PAGE_KERNEL,
YON_PAGE_KERNEL_ADDON,
YON_PAGE_SOFTWARE,
YON_PAGE_PACMAN_SOFTWARE,
YON_PAGE_REGION,
YON_PAGE_KEYBOARD,
YON_PAGE_USERS,
@ -357,6 +364,7 @@ typedef struct {
GtkWidget *StartScenarioButton;
GtkWidget *SourceButton;
GtkWidget *SkipInstallationButton;
GtkWidget *MainSpinner;
GtkWidget *StatusBox;
GtkWidget *WelcomeToggle;
@ -514,6 +522,21 @@ typedef struct {
GtkWidget *OSSoftwareTree;
GtkListStore *OSSoftwareList;
GtkCellRenderer *OSSoftwareCell;
GtkWidget *PacmanSoftwareSearchEntry;
GtkWidget *PacmanSoftwareStatusImage;
GtkWidget *PacmanSoftwareStatusLabel;
GtkWidget *PacmanSoftwareStatusButton;
GtkWidget *PacmanLoadingOverlay;
GtkWidget *PacmanSoftwareAllPackagesTree;
GtkListStore *PacmanSoftwareAllList;
GtkCellRenderer *PacmanSoftwareAllCell;
GtkWidget *PacmanSoftwareChosenPackagesTree;
GtkListStore *PacmanSoftwareChosenList;
GtkCellRenderer *PacmanSoftwareChosenCell;
GtkWidget *StartupServicesTree;
GtkWidget *StartupServicesAddButton;
@ -729,6 +752,13 @@ typedef struct {
GtkWidget *AcceptButton;
} startup_service_window;
struct pacman_struct{
main_window *widgets;
const char *find_package;
int packages_size;
config_str packages;
};
void config_init();
main_window *yon_main_window_complete();
ubinstall_language_window *yon_ubinstall_language_new();
@ -869,4 +899,11 @@ void on_startup_edit_accept(GtkWidget *, main_window *widgets);
void on_startup_add_accept(GtkWidget *, main_window *widgets);
void yon_startup_services_setup(main_window *widgets);
void on_startup_services_remove(GtkWidget *self,main_window *widgets);
void on_startup_services_selection_changed(GtkWidget *,main_window *widgets);
void on_startup_services_selection_changed(GtkWidget *,main_window *widgets);
void on_os_components_toggled(GtkWidget*, char *path, main_window *widgets);
void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets);
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets);
int yon_pacman_software_save(main_window *widgets);
void on_pacman_icon_press(GtkEntry *self,GtkEntryIconPosition icon_pos,GdkEvent* event,main_window *widgets);
gboolean yon_pacman_fill(struct pacman_struct *pacman);
void *yon_pacman_load(struct pacman_struct *pacman);

@ -88,7 +88,36 @@
<object class="GtkTreeModelFilter" id="LayoutsFilter">
<property name="child-model">LayoutList</property>
</object>
<object class="GtkListStore" id="OSSorfwareList">
<object class="GtkSpinner" id="MainSpinner">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">True</property>
</object>
<object class="GtkListStore" id="OSSoftwareList">
<columns>
<!-- column-name Chosen -->
<column type="gboolean"/>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Type -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="PacmanSoftwareAllList">
<columns>
<!-- column-name Chosen -->
<column type="gboolean"/>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Type -->
<column type="gchararray"/>
<!-- column-name Description -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="PacmanSoftwareChosenList">
<columns>
<!-- column-name Chosen -->
<column type="gboolean"/>
@ -224,6 +253,11 @@
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.increase-symbolic</property>
</object>
<object class="GtkImage" id="image26">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.sync-symbolic</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -1356,15 +1390,16 @@ and help you install UBLinux on your computer</property>
<object class="GtkTreeView" id="OSSoftwareTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">OSSorfwareList</property>
<property name="model">OSSoftwareList</property>
<property name="search-column">0</property>
<property name="enable-grid-lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="AdditionalSoftwareCell1"/>
<object class="GtkCellRendererToggle" id="OSSoftwareCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
@ -2024,9 +2059,6 @@ and help you install UBLinux on your computer</property>
<property name="can-focus">True</property>
<property name="model">AdditionalSoftwareList</property>
<property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
@ -2106,6 +2138,343 @@ and help you install UBLinux on your computer</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Choose additional components</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="foreground" value="#33722f2e7a06"/>
<attribute name="size" value="15360"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="top-padding">5</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Package name:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="PacmanSoftwareSearchEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="secondary-icon-name">com.ublinux.libublsettingsui-gtk3.zoom-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="PacmanSoftwareStatusButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image26</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="PacmanSoftwareStatusLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Accessed</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkImage" id="PacmanSoftwareStatusImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Repository status:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkOverlay" id="PacmanLoadingOverlay">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="PacmanSoftwareAllPackagesTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">PacmanSoftwareAllList</property>
<property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="PacmanSoftwareAllCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Module name</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Type</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Selecting additional software to install from the repository via the Internet</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label-xalign">0.019999999552965164</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkAlignment">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="top-padding">5</property>
<property name="bottom-padding">5</property>
<property name="left-padding">5</property>
<property name="right-padding">5</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="PacmanSoftwareChosenPackagesTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">PacmanSoftwareChosenList</property>
<property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<child>
<object class="GtkCellRendererToggle" id="PacmanSoftwareChosenCell"/>
<attributes>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Module name</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Type</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Description</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Selecting additional software to install from the repository via the Internet</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="position">8</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Pacman software</property>
</object>
<packing>
<property name="position">8</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -2407,7 +2776,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">8</property>
<property name="position">9</property>
</packing>
</child>
<child type="tab">
@ -2417,7 +2786,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Region</property>
</object>
<packing>
<property name="position">8</property>
<property name="position">9</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -2805,7 +3174,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">9</property>
<property name="position">10</property>
</packing>
</child>
<child type="tab">
@ -2815,7 +3184,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Keyboard</property>
</object>
<packing>
<property name="position">9</property>
<property name="position">10</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3158,7 +3527,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">10</property>
<property name="position">11</property>
</packing>
</child>
<child type="tab">
@ -3168,7 +3537,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Users</property>
</object>
<packing>
<property name="position">10</property>
<property name="position">11</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3349,7 +3718,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">11</property>
<property name="position">12</property>
</packing>
</child>
<child type="tab">
@ -3359,7 +3728,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Startup configuration</property>
</object>
<packing>
<property name="position">11</property>
<property name="position">12</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -3708,7 +4077,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">12</property>
<property name="position">13</property>
</packing>
</child>
<child type="tab">
@ -3718,7 +4087,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Bootloader</property>
</object>
<packing>
<property name="position">12</property>
<property name="position">13</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4050,7 +4419,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">13</property>
<property name="position">14</property>
</packing>
</child>
<child type="tab">
@ -4060,7 +4429,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Network</property>
</object>
<packing>
<property name="position">13</property>
<property name="position">14</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4100,7 +4469,7 @@ and help you install UBLinux on your computer</property>
</child>
</object>
<packing>
<property name="position">14</property>
<property name="position">15</property>
</packing>
</child>
<child type="tab">
@ -4110,7 +4479,7 @@ and help you install UBLinux on your computer</property>
<property name="label" translatable="yes">Installation process</property>
</object>
<packing>
<property name="position">14</property>
<property name="position">15</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4187,7 +4556,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">15</property>
<property name="position">16</property>
</packing>
</child>
<child type="tab">
@ -4197,7 +4566,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Completion</property>
</object>
<packing>
<property name="position">15</property>
<property name="position">16</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4272,7 +4641,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">16</property>
<property name="position">17</property>
</packing>
</child>
<child type="tab">
@ -4282,7 +4651,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Completed</property>
</object>
<packing>
<property name="position">16</property>
<property name="position">17</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4357,7 +4726,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">17</property>
<property name="position">18</property>
</packing>
</child>
<child type="tab">
@ -4367,7 +4736,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Configuration error</property>
</object>
<packing>
<property name="position">17</property>
<property name="position">18</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4442,7 +4811,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">18</property>
<property name="position">19</property>
</packing>
</child>
<child type="tab">
@ -4452,7 +4821,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Configuration end</property>
</object>
<packing>
<property name="position">18</property>
<property name="position">19</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4527,7 +4896,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">19</property>
<property name="position">20</property>
</packing>
</child>
<child type="tab">
@ -4537,7 +4906,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Configuration saved</property>
</object>
<packing>
<property name="position">19</property>
<property name="position">20</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -4981,7 +5350,7 @@ or continue working in the UBLinux Live environment.</property>
</child>
</object>
<packing>
<property name="position">20</property>
<property name="position">21</property>
</packing>
</child>
<child type="tab">
@ -4991,7 +5360,7 @@ or continue working in the UBLinux Live environment.</property>
<property name="label" translatable="yes">Common Installation</property>
</object>
<packing>
<property name="position">20</property>
<property name="position">21</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -5660,7 +6029,7 @@ installed.</property>
</child>
</object>
<packing>
<property name="position">21</property>
<property name="position">22</property>
</packing>
</child>
<child type="tab">
@ -5670,7 +6039,7 @@ installed.</property>
<property name="label" translatable="yes">Installation next to system</property>
</object>
<packing>
<property name="position">21</property>
<property name="position">22</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -6297,7 +6666,7 @@ installed.</property>
</child>
</object>
<packing>
<property name="position">22</property>
<property name="position">23</property>
</packing>
</child>
<child type="tab">
@ -6307,7 +6676,7 @@ installed.</property>
<property name="label" translatable="yes">Installation on same partition</property>
</object>
<packing>
<property name="position">22</property>
<property name="position">23</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -7158,7 +7527,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">23</property>
<property name="position">24</property>
</packing>
</child>
<child type="tab">
@ -7168,7 +7537,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">Advanced section</property>
</object>
<packing>
<property name="position">23</property>
<property name="position">24</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -7634,7 +8003,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">24</property>
<property name="position">25</property>
</packing>
</child>
<child type="tab">
@ -7644,7 +8013,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">Recovery section</property>
</object>
<packing>
<property name="position">24</property>
<property name="position">25</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -8015,7 +8384,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">25</property>
<property name="position">26</property>
</packing>
</child>
<child type="tab">
@ -8025,7 +8394,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">GRUB install</property>
</object>
<packing>
<property name="position">25</property>
<property name="position">26</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -8383,7 +8752,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">26</property>
<property name="position">27</property>
</packing>
</child>
<child type="tab">
@ -8393,7 +8762,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">GRUB update</property>
</object>
<packing>
<property name="position">26</property>
<property name="position">27</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -9110,7 +9479,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">27</property>
<property name="position">28</property>
</packing>
</child>
<child type="tab">
@ -9120,7 +9489,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">OS only</property>
</object>
<packing>
<property name="position">27</property>
<property name="position">28</property>
<property name="tab-fill">False</property>
</packing>
</child>
@ -9841,7 +10210,7 @@ separately into the selected partition.</property>
</child>
</object>
<packing>
<property name="position">28</property>
<property name="position">29</property>
</packing>
</child>
<child type="tab">
@ -9851,7 +10220,7 @@ separately into the selected partition.</property>
<property name="label" translatable="yes">User data only</property>
</object>
<packing>
<property name="position">28</property>
<property name="position">29</property>
<property name="tab-fill">False</property>
</packing>
</child>

Loading…
Cancel
Save