User slide remake

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

@ -65,6 +65,9 @@ set(DEPENDFILES
../ubinstall-gtk-documentation.glade ../ubinstall-gtk-documentation.glade
../ubinstall-gtk-log-view.glade ../ubinstall-gtk-log-view.glade
../ubinstall-gtk-warning.glade ../ubinstall-gtk-warning.glade
../ubinstall-gtk-user.glade
../ubinstall-gtk-menu.glade
../ubinstall-gtk-menu-item.glade
../gresource.xml ../gresource.xml
../ubinstall-gtk.css ../ubinstall-gtk.css
../modules.csv ../modules.csv

@ -1,2 +1 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"

@ -391,16 +391,16 @@
// if (!strcmp(user_name,"root")){ // if (!strcmp(user_name,"root")){
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UserRootOnlyCheck),1); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UserRootOnlyCheck),1);
// } else { // } else {
// gtk_entry_set_text(GTK_ENTRY(widgets->UserLoginEntry),user_name); // gtk_entry_set_text(GTK_ENTRY(widgets->UserRootLoginEntry),user_name);
// } // }
// } else { // } else {
// gtk_entry_set_text(GTK_ENTRY(widgets->UserLoginEntry),""); // gtk_entry_set_text(GTK_ENTRY(widgets->UserRootLoginEntry),"");
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck),0); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck),0);
// } // }
// if (!yon_char_is_empty(user_gecos)){ // if (!yon_char_is_empty(user_gecos)){
// gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),_(user_gecos)); // gtk_entry_set_text(GTK_ENTRY(widgets->UserRootNameEntry),_(user_gecos));
// } else { // } else {
// gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),""); // gtk_entry_set_text(GTK_ENTRY(widgets->UserRootNameEntry),"");
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck),0); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck),0);
// } // }
// int def_size=0; // int def_size=0;
@ -412,13 +412,13 @@
// } // }
// } // }
// if ((def_size>0&&!strcmp(default_password[0],user_password))||yon_char_is_empty(user_password)){ // if ((def_size>0&&!strcmp(default_password[0],user_password))||yon_char_is_empty(user_password)){
// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserPasswordCombo),0); // gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),0);
// gtk_entry_set_text(GTK_ENTRY(widgets->UserPasswordEntry),""); // gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),"");
// gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck),0); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->PasswordSensitiveCheck),0);
// //
// } else if (!yon_char_is_empty(user_password)){ // } else if (!yon_char_is_empty(user_password)){
// gtk_entry_set_text(GTK_ENTRY(widgets->UserPasswordEntry),user_password); // gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),user_password);
// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserPasswordCombo),1); // gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),1);
// } // }
// if ((def_size>0&&!strcmp(default_password[0],user_password))||yon_char_is_empty(user_password)){ // if ((def_size>0&&!strcmp(default_password[0],user_password))||yon_char_is_empty(user_password)){
// gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo),0); // gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo),0);

@ -1,80 +1,104 @@
#include "ubinstall-gtk.h" #include "ubinstall-gtk.h"
int yon_users_save(main_window *widgets){ int yon_users_save(main_window *widgets){
if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck))){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo))){
yon_config_remove_by_key(user_gecos_parameter); const char *root_password = gtk_entry_get_text(GTK_ENTRY(widgets->UserRootPasswordEntry));
} else { if (yon_char_is_empty(root_password)){
char *username = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)); yon_ubl_status_box_spawn(GTK_CONTAINER(main_config.status_box),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
if (username){}; yon_ubl_status_highlight_incorrect(widgets->UserRootPasswordEntry);
yon_config_register(user_gecos_parameter,user_gecos_parameter_command,username); return 0;
} }
yon_config_register(root_password_parameter,root_password_parameter_command,(char*)root_password);
if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserLoginEntry)))||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LoginSensitiveCheck))){
yon_config_remove_by_key(user_name_parameter);
} else { } else {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserRootOnlyCheck))){ yon_config_remove_by_key(root_password_parameter);
yon_config_register(user_name_parameter,user_name_parameter_command,"root");
} else {
char *login = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserLoginEntry));
if (login){};
yon_config_register(user_name_parameter,user_name_parameter_command,login);
}
} }
int autologin = gtk_switch_get_active(GTK_SWITCH(widgets->UserAutologinSwitch));
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->UserPasswordCombo))==1){ if (autologin){
if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserPasswordEntry)))){ yon_config_register(autologin_parameter,autologin_parameter_command,"yes");
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->UserPasswordEntry);
return 0;
} else { } else {
char *password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserPasswordEntry)); yon_config_register(autologin_parameter,autologin_parameter_command,"no");
if (password){}; }
yon_config_register(user_password_parameter,user_password_parameter_command,password); GList *users = gtk_container_get_children(GTK_CONTAINER(widgets->UserAddBox));
GList *iter;
for (iter=users;iter;iter=iter->next){
yon_user_struct *user = g_object_get_data(G_OBJECT(iter->data),"yon_user_struct");
if (user){
if (!yon_user_save(user)){
yon_ubl_status_box_spawn(GTK_CONTAINER(main_config.status_box),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
return 0;
}
} }
} else {
yon_config_remove_by_key(user_password_parameter);
} }
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo))==1){ yon_debug_output("%s\n",yon_config_get_all_info());
if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)))){ return 1;
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); }
yon_ubl_status_highlight_incorrect(widgets->AdminPasswordEntry);
return 0;
} else {
char *root_password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry));
if (root_password){};
yon_config_register(root_password_parameter,root_password_parameter_command,root_password);
int yon_user_save(yon_user_struct *user){
char *name = (char *)gtk_entry_get_text(GTK_ENTRY(user->UsernameEntry));
char *login = (char *)gtk_entry_get_text(GTK_ENTRY(user->LoginEntry));
char *password = NULL;
if (yon_char_is_empty(login)){
yon_ubl_status_box_spawn(GTK_CONTAINER(main_config.status_box),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(user->LoginEntry);
return 0;
}
if (gtk_combo_box_get_active(GTK_COMBO_BOX(user->PasswordCombo))){
password = (char *)gtk_entry_get_text(GTK_ENTRY(user->PasswordEntry));
if (yon_char_is_empty(password)){
yon_ubl_status_highlight_incorrect(user->PasswordEntry);
return 0;
} }
} else {
yon_config_remove_by_key(root_password_parameter);
} }
char *parameter = yon_char_unite(yon_char_return_if_exist(name,""),":::::",yon_char_return_if_exist(password,""),NULL);
yon_config_register(USERADD_parameter(login),USERADD_parameter_command(login),parameter);
free(parameter);
return 1;
}
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->HostnameSensitiveCheck))){ void on_user_add(GtkWidget *,main_window *widgets){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoHostnameCheck))){ yon_user_struct *user = yon_user_struct_new();
yon_config_register(hostname_parameter,hostname_parameter_command,"auto"); gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
} else { }
if (!yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)))){
char *hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry));
if (hostname){};
yon_config_register(hostname_parameter,hostname_parameter_command,hostname);
} else { void on_user_remove_clicked(GtkWidget *,yon_user_struct *user){
yon_config_remove_by_key(hostname_parameter); gtk_widget_destroy(user->MainBox);
free(user);
}
} void yon_password_root_new(GtkWidget *, main_window *widgets){
} yon_password_window *window = yon_password_open(GTK_ENTRY(widgets->UserRootPasswordEntry));
} else { gtk_widget_hide(gtk_widget_get_parent(window->EncryptionCombo));
yon_config_remove_by_key(hostname_parameter); gtk_widget_show(window->Window);
} }
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinSensitiveCheck))){ void yon_password_new(GtkWidget *, yon_user_struct *user){
char *autologin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserAutologinSwitch))?"yes":"no"; yon_password_window *window = yon_password_open(GTK_ENTRY(user->PasswordEntry));
yon_config_register(autologin_parameter,autologin_parameter_command,autologin); gtk_widget_hide(gtk_widget_get_parent(window->EncryptionCombo));
} else { gtk_widget_show(window->Window);
yon_config_remove_by_key(autologin_parameter); }
}
return 1; yon_user_struct *yon_user_struct_new(){
yon_user_struct *user = new(yon_user_struct);
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_user);
user->MainBox = yon_gtk_builder_get_widget(builder,"MainBox");
user->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton");
user->UsernameEntry = yon_gtk_builder_get_widget(builder,"UsernameEntry");
user->LoginEntry = yon_gtk_builder_get_widget(builder,"LoginEntry");
user->PasswordCombo = yon_gtk_builder_get_widget(builder,"PasswordCombo");
user->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
user->PasswordButton = yon_gtk_builder_get_widget(builder,"PasswordButton");
g_object_set_data(G_OBJECT(user->MainBox),"yon_user_struct",user);
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(user->PasswordEntry));
g_signal_connect(G_OBJECT(user->PasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),user->PasswordEntry);
g_signal_connect(G_OBJECT(user->PasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),user->PasswordButton);
g_signal_connect(G_OBJECT(user->PasswordButton),"clicked",G_CALLBACK(yon_password_new),user);
g_signal_connect(G_OBJECT(user->RemoveButton),"clicked",G_CALLBACK(on_user_remove_clicked),user);
return user;
} }

@ -398,19 +398,14 @@ main_window *yon_main_window_complete(){
widgets->OptionsSensitiveCheck = yon_gtk_builder_get_widget(builder,"OptionsSensitiveCheck"); widgets->OptionsSensitiveCheck = yon_gtk_builder_get_widget(builder,"OptionsSensitiveCheck");
widgets->LayoutSensitiveCheck = yon_gtk_builder_get_widget(builder,"LayoutSensitiveCheck"); widgets->LayoutSensitiveCheck = yon_gtk_builder_get_widget(builder,"LayoutSensitiveCheck");
widgets->UserNameEntry=yon_gtk_builder_get_widget(builder,"UserNameEntry"); widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry");
widgets->UserLoginEntry=yon_gtk_builder_get_widget(builder,"UserLoginEntry"); widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry");
widgets->UserPasswordCombo=yon_gtk_builder_get_widget(builder,"UserPasswordCombo"); widgets->UserRootPasswordCombo=yon_gtk_builder_get_widget(builder,"UserRootPasswordCombo");
widgets->UserPasswordEntry=yon_gtk_builder_get_widget(builder,"UserPasswordEntry"); widgets->UserRootPasswordEntry=yon_gtk_builder_get_widget(builder,"UserRootPasswordEntry");
widgets->UserPasswordButton=yon_gtk_builder_get_widget(builder,"UserPasswordButton"); widgets->UserRootPasswordButton=yon_gtk_builder_get_widget(builder,"UserRootPasswordButton");
widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch"); widgets->UserAutologinSwitch=yon_gtk_builder_get_widget(builder,"UserAutologinSwitch");
widgets->AdminPasswordCombo=yon_gtk_builder_get_widget(builder,"AdminPasswordCombo"); widgets->UserAddBox=yon_gtk_builder_get_widget(builder,"UserAddBox");
widgets->AdminPasswordEntry=yon_gtk_builder_get_widget(builder,"AdminPasswordEntry"); widgets->UserAddButton=yon_gtk_builder_get_widget(builder,"UserAddButton");
widgets->AdminPasswordButton=yon_gtk_builder_get_widget(builder,"AdminPasswordButton");
widgets->UsernameSensitiveCheck = yon_gtk_builder_get_widget(builder,"UsernameSensitiveCheck");
widgets->LoginSensitiveCheck = yon_gtk_builder_get_widget(builder,"LoginSensitiveCheck");
widgets->UserRootOnlyCheck = yon_gtk_builder_get_widget(builder,"UserRootOnlyCheck");
widgets->AutologinSensitiveCheck = yon_gtk_builder_get_widget(builder,"AutologinSensitiveCheck");
widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry"); widgets->HotnameEntry=yon_gtk_builder_get_widget(builder,"HotnameEntry");
widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton"); widgets->mainSettingsButton=yon_gtk_builder_get_widget(builder,"mainSettingsButton");
@ -464,6 +459,8 @@ main_window *yon_main_window_complete(){
widgets->HostnameSensitiveCheck = yon_gtk_builder_get_widget(builder,"HostnameSensitiveCheck"); widgets->HostnameSensitiveCheck = yon_gtk_builder_get_widget(builder,"HostnameSensitiveCheck");
widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck"); widgets->AutoHostnameCheck=yon_gtk_builder_get_widget(builder,"AutoHostnameCheck");
widgets->network_connections = NULL; widgets->network_connections = NULL;
main_config.status_box = widgets->StatusBox;
} }
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"); GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
@ -513,6 +510,12 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets);
g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets);
g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_changed),widgets); g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordEntry);
g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordButton);
g_signal_connect(G_OBJECT(widgets->UserAddButton),"clicked",G_CALLBACK(on_user_add),widgets);
g_signal_connect(G_OBJECT(widgets->UserRootPasswordButton),"clicked",G_CALLBACK(yon_password_root_new),widgets);
g_signal_connect(G_OBJECT(widgets->BootloadDefaulOSButton),"clicked",G_CALLBACK(yon_menu_window_open),widgets);
// gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),3); // gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter),3);
// g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets); // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets);
@ -529,9 +532,16 @@ main_window *yon_main_window_complete(){
// g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(on_autohostname_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->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets);
{
yon_user_struct *user = yon_user_struct_new();
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
}
{ {
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserPasswordEntry)); yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry));
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->AdminPasswordEntry));
if (main_config.lock_load_global == 1){ if (main_config.lock_load_global == 1){
gtk_widget_set_sensitive(widgets->LoadGlobalConfigurationMenuItem,0); gtk_widget_set_sensitive(widgets->LoadGlobalConfigurationMenuItem,0);

@ -26,6 +26,9 @@
#define glade_path_ubinstall_language "/com/ublinux/ui/ubinstall-gtk-language.glade" #define glade_path_ubinstall_language "/com/ublinux/ui/ubinstall-gtk-language.glade"
#define glade_path_network_info "/com/ublinux/ui/ubinstall-gtk-network-box.glade" #define glade_path_network_info "/com/ublinux/ui/ubinstall-gtk-network-box.glade"
#define glade_path_log_view "/com/ublinux/ui/ubinstall-gtk-log-view.glade" #define glade_path_log_view "/com/ublinux/ui/ubinstall-gtk-log-view.glade"
#define glade_path_user "/com/ublinux/ui/ubinstall-gtk-user.glade"
#define glade_path_menu_window "/com/ublinux/ui/ubinstall-gtk-menu.glade"
#define glade_path_menu_item "/com/ublinux/ui/ubinstall-gtk-menu-item.glade"
#define CssPath "/com/ublinux/css/ubinstall-gtk.css" #define CssPath "/com/ublinux/css/ubinstall-gtk.css"
#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
@ -65,6 +68,8 @@
"/com/ublinux/images/slide-12.png", \ "/com/ublinux/images/slide-12.png", \
NULL 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) #define encrypt_domain_password_command(target) yon_char_unite("echo '",target,"' | base64",NULL)
#define get_ntp_default_command "ubconfig --default get [network] NTPSERVERS_DEFAULT" #define get_ntp_default_command "ubconfig --default get [network] NTPSERVERS_DEFAULT"
@ -146,6 +151,9 @@ NULL
#define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[ubconfig set [network] DOMAIN]" #define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[ubconfig set [network] DOMAIN]"
#define DOMAIN_admanger_parameter "AOUTINSTALL[ubconfig set [network] DOMAIN[admanger]]" #define DOMAIN_admanger_parameter "AOUTINSTALL[ubconfig set [network] DOMAIN[admanger]]"
#define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[ubconfig set [network] DOMAIN[admanger]]" #define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[ubconfig set [network] DOMAIN[admanger]]"
#define USERADD_parameter_all "AUTOINSTALL['ubconfig set [users] USERADD[*]']"
#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 save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ",parameters, "; nice ubinstall2 --debug autoinstall", NULL) #define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ",parameters, "; nice ubinstall2 --debug autoinstall", NULL)
@ -302,6 +310,7 @@ typedef struct {
int arg_size; int arg_size;
config_str arg_target; config_str arg_target;
GtkWidget *status_box;
} config; } config;
extern config main_config; extern config main_config;
@ -371,15 +380,15 @@ typedef struct {
GtkWidget *InstallationWindowsRadio; GtkWidget *InstallationWindowsRadio;
GtkWidget *InstallationOptionsRadio; GtkWidget *InstallationOptionsRadio;
GtkWidget *UserNameEntry; GtkWidget *UserRootNameEntry;
GtkWidget *UserLoginEntry; GtkWidget *UserRootLoginEntry;
GtkWidget *UserPasswordCombo; GtkWidget *UserRootPasswordCombo;
GtkWidget *UserPasswordEntry; GtkWidget *UserRootPasswordEntry;
GtkWidget *UserPasswordButton; GtkWidget *UserRootPasswordButton;
GtkWidget *UserAutologinSwitch; GtkWidget *UserAutologinSwitch;
GtkWidget *AdminPasswordCombo; GtkWidget *UserAddBox;
GtkWidget *AdminPasswordEntry; GtkWidget *UserAddButton;
GtkWidget *AdminPasswordButton;
GtkWidget *HotnameEntry; GtkWidget *HotnameEntry;
GtkWidget *AutoHostnameCheck; GtkWidget *AutoHostnameCheck;
GtkWidget *CancelInstallButton; GtkWidget *CancelInstallButton;
@ -388,11 +397,13 @@ typedef struct {
GtkWidget *mainSettingsButton; GtkWidget *mainSettingsButton;
GtkWidget *menu1; GtkWidget *menu1;
GtkWidget *menu2; GtkWidget *menu2;
GtkWidget *RegionImage; GtkWidget *RegionImage;
GtkWidget *RegionBox; GtkWidget *RegionBox;
GtkWidget *RegionAspect; GtkWidget *RegionAspect;
GtkWidget *KeyboardImage; GtkWidget *KeyboardImage;
GtkWidget *KeyboardBox; GtkWidget *KeyboardBox;
GtkWidget *Notebook; GtkWidget *Notebook;
GtkWidget *LicenceLabel; GtkWidget *LicenceLabel;
GtkWidget *SlidesImage; GtkWidget *SlidesImage;
@ -584,7 +595,7 @@ typedef struct{
GtkWidget *StatusBox; GtkWidget *StatusBox;
GtkWidget *UserCancelButton; GtkWidget *UserCancelButton;
GtkWidget *UserOkButton; GtkWidget *UserOkButton;
GtkWidget *UserPasswordEntry; GtkWidget *UserRootPasswordEntry;
GtkWidget *RepeatPasswordEntry; GtkWidget *RepeatPasswordEntry;
GtkWidget *PasswordHashEntry; GtkWidget *PasswordHashEntry;
GtkWidget *HashBox; GtkWidget *HashBox;
@ -624,13 +635,53 @@ typedef struct {
GtkWidget *DNSEntry; GtkWidget *DNSEntry;
} network_info; } network_info;
typedef struct {
GtkWidget *MainBox;
GtkWidget *RemoveButton;
GtkWidget *UsernameEntry;
GtkWidget *LoginEntry;
GtkWidget *PasswordCombo;
GtkWidget *PasswordEntry;
GtkWidget *PasswordButton;
} yon_user_struct;
typedef struct {
GtkWidget *MenuWindow;
GtkWidget *BackButton;
GtkWidget *ItemsRevealer;
GtkWidget *ItemsListBox;
GtkWidget *ChildrenRevealer;
GtkWidget *ChildrenListBox;
int seat_grab;
dictionary *menu_items;
char *cur_selection;
int button_pos_x;
int button_pos_y;
} yon_menu_window;
typedef struct {
GtkWidget *MenuItemBox;
GtkWidget *MenuButton;
GtkWidget *MenuTextLabel;
GtkWidget *NextIconButton;
char *target;
main_window *widgets;
yon_menu_window *window;
dictionary *children;
} yon_menu_item;
void config_init(); void config_init();
main_window *yon_main_window_complete(); main_window *yon_main_window_complete();
ubinstall_language_window *yon_ubinstall_language_new(); ubinstall_language_window *yon_ubinstall_language_new();
void NewFunction(ubinstall_language_window *window, GtkBuilder *builder); void NewFunction(ubinstall_language_window *window, GtkBuilder *builder);
ubinstall_keyboard_window *yon_ubinstall_keyboard_new(); ubinstall_keyboard_window *yon_ubinstall_keyboard_new();
password_window *yon_password_new();
void on_password_accept(GtkWidget *self, dictionary *dict); void on_password_accept(GtkWidget *self, dictionary *dict);
@ -732,3 +783,18 @@ void on_configuration_mode_switch(GtkWidget *self,main_window *widgets);
void *_yon_installation_start(main_window *widgets); void *_yon_installation_start(main_window *widgets);
int yon_installation_start(main_window *widgets); int yon_installation_start(main_window *widgets);
enum INSTALL_TYPE yon_ubl_get_install_mode(); enum INSTALL_TYPE yon_ubl_get_install_mode();
int yon_user_save(yon_user_struct *user);
void on_user_add(GtkWidget *,main_window *widgets);
yon_user_struct *yon_user_struct_new();
void on_user_remove_clicked(GtkWidget *,yon_user_struct *user);
void yon_password_new(GtkWidget *, yon_user_struct *user);
void yon_password_root_new(GtkWidget *, main_window *widgets);
yon_menu_item *yon_menu_item_new();
yon_menu_window *yon_menu_window_new();
void on_menu_window_size_reallocated(GtkWidget *self,GtkAllocation *,yon_menu_window *window);
void on_children_clean(GtkWidget*, yon_menu_window *window);
gboolean yon_on_revealer_switched (yon_menu_window *window);
gboolean on_menu_clicked(GtkWidget *, GdkEventButton *event, yon_menu_window *window);
yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets);
void on_submenu_open(GtkWidget *,yon_menu_item *item);
void on_menu_chosen(GtkWidget *, yon_menu_item *item);

@ -186,3 +186,5 @@
#define DEFAULT_BOOTLOAD_MENU_ITEM_LABEL _("Default (Use last succeeded)") #define DEFAULT_BOOTLOAD_MENU_ITEM_LABEL _("Default (Use last succeeded)")
#define ENCRYPT_ERROR_LABEL _("Password encryption error") #define ENCRYPT_ERROR_LABEL _("Password encryption error")
#define DEFAULT_MENU_ITEM_LABEL _("Default (Use last succeeded)")

@ -0,0 +1,219 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="ubinstall-gtk">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubinstall-gtk.css -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.trash-symbolic</property>
</object>
<object class="GtkImage" id="image22">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.edit-symbolic</property>
</object>
<object class="GtkBox" id="MainBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</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="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">Account 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="UsernameEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">Administrator</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="RemoveButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image1</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</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="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">Login:</property>
<property name="xalign">0</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="LoginEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">superadmin</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<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">Password:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="PasswordCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Set a password</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="PasswordEntry">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="visibility">False</property>
<property name="invisible-char">●</property>
<property name="placeholder-text" translatable="yes">ublinux</property>
<property name="input-purpose">password</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="PasswordButton">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image22</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="bggrey"/>
</style>
</object>
</interface>

@ -206,11 +206,6 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.edit-symbolic</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.edit-symbolic</property>
</object> </object>
<object class="GtkImage" id="image22">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.edit-symbolic</property>
</object>
<object class="GtkImage" id="image3"> <object class="GtkImage" id="image3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -2518,33 +2513,15 @@ and help you install UBLinux on your computer</property>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkBox"> <object class="GtkSwitch" id="UserAutologinSwitch">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkSwitch" id="UserRootOnlySwitch">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
@ -2552,7 +2529,7 @@ and help you install UBLinux on your computer</property>
<object class="GtkLabel"> <object class="GtkLabel">
<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">Root only</property> <property name="label" translatable="yes">Automatic login without password prompt</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -2564,9 +2541,20 @@ and help you install UBLinux on your computer</property>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-end">10</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -2574,22 +2562,22 @@ and help you install UBLinux on your computer</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkSeparator"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
</object> <property name="orientation">vertical</property>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child> <child>
<object class="GtkRevealer" id="UserRootOnlyRevealer"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="transition-type">slide-up</property> <property name="margin-left">5</property>
<property name="reveal-child">True</property> <property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -2602,27 +2590,27 @@ and help you install UBLinux on your computer</property>
<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="GtkEntry" id="UserNameEntry"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="can-focus">False</property>
<property name="can-focus">True</property> <property name="label" translatable="yes">Account name:</property>
<property name="placeholder-text" translatable="yes">Administrator</property>
<signal name="changed" handler="on_toggle_button_switch_on" object="UsernameSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel"> <object class="GtkEntry" id="UserRootNameEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="sensitive">False</property>
<property name="label" translatable="yes">Account name:</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">root</property>
<property name="placeholder-text" translatable="yes">Administrator</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">3</property> <property name="position">3</property>
</packing> </packing>
@ -2653,12 +2641,12 @@ and help you install UBLinux on your computer</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry" id="UserLoginEntry"> <object class="GtkEntry" id="UserRootLoginEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">root</property>
<property name="placeholder-text" translatable="yes">superadmin</property> <property name="placeholder-text" translatable="yes">superadmin</property>
<signal name="changed" handler="on_toggle_button_switch_on" object="LoginSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
@ -2682,7 +2670,7 @@ and help you install UBLinux on your computer</property>
<object class="GtkLabel"> <object class="GtkLabel">
<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">Password:</property> <property name="label" translatable="yes">Administrator password (root):</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -2692,16 +2680,14 @@ and help you install UBLinux on your computer</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkComboBoxText" id="UserPasswordCombo"> <object class="GtkComboBoxText" id="UserRootPasswordCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="can-focus">False</property>
<property name="can-focus">True</property>
<property name="active">0</property> <property name="active">0</property>
<items> <items>
<item translatable="yes">Default</item> <item translatable="yes">Default</item>
<item translatable="yes">Set a password</item> <item translatable="yes">Set a password</item>
</items> </items>
<signal name="changed" handler="on_toggle_button_switch_on" object="PasswordSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -2710,10 +2696,10 @@ and help you install UBLinux on your computer</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry" id="UserPasswordEntry"> <object class="GtkEntry" id="UserRootPasswordEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">False</property>
<property name="visibility">False</property> <property name="visibility">False</property>
<property name="invisible-char">●</property> <property name="invisible-char">●</property>
<property name="placeholder-text" translatable="yes">ublinux</property> <property name="placeholder-text" translatable="yes">ublinux</property>
@ -2726,11 +2712,12 @@ and help you install UBLinux on your computer</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="UserPasswordButton"> <object class="GtkButton" id="UserRootPasswordButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image22</property> <property name="image">image21</property>
<style> <style>
<class name="thin"/> <class name="thin"/>
</style> </style>
@ -2745,23 +2732,15 @@ and help you install UBLinux on your computer</property>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</object> </object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -2775,22 +2754,6 @@ and help you install UBLinux on your computer</property>
<class name="bggrey"/> <class name="bggrey"/>
</style> </style>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkSwitch" id="UserAutologinSwitch">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
@ -2798,53 +2761,14 @@ and help you install UBLinux on your computer</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel"> <object class="GtkBox" id="UserAddBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Automatic login without password prompt</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkLabel"> <placeholder/>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Administrator password (root):</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child> </child>
<child>
<object class="GtkComboBoxText" id="AdminPasswordCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Set a password</item>
</items>
<signal name="changed" handler="on_toggle_button_switch_on" object="RootPasswordSensitiveCheck" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -2853,42 +2777,27 @@ and help you install UBLinux on your computer</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry" id="AdminPasswordEntry"> <object class="GtkButton" id="UserAddButton">
<property name="label" translatable="yes">+</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="visibility">False</property> <property name="receives-default">True</property>
<property name="invisible-char">●</property>
<property name="placeholder-text" translatable="yes">ublinux</property>
<property name="input-purpose">password</property>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkButton" id="AdminPasswordButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image21</property>
<style>
<class name="thin"/>
</style>
</object> </object>
<packing> </child>
<property name="expand">False</property> </object>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child> </child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">5</property> <property name="position">6</property>
</packing> </packing>
</child> </child>
</object> </object>

Loading…
Cancel
Save