Improvements, WIP

pull/1/head
parent 34e0b34d91
commit 027f18f98d

@ -36,9 +36,21 @@ double yon_size_long_convert_automatic(unsigned long bytes, char *size){
// standard functions
void on_keyboard_accept();
void on_keyboard_accept(){
void on_keyboard_accept(GtkWidget *self,main_window *widgets);
void on_keyboard_accept(GtkWidget *self,main_window *widgets){
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LayoutsFilter));
on_subwindow_close(self);
}
void on_layout_toggle(GtkCellRendererToggle*, gchar* path, ubinstall_keyboard_window *window);
void on_layout_toggle(GtkCellRendererToggle*, gchar* path, ubinstall_keyboard_window *window){
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->LayoutsTree));
GtkTreeIter iter;
if (gtk_tree_model_get_iter_from_string(model,&iter,path)){
int status=0;
gtk_tree_model_get(model,&iter,3,&status,-1);
gtk_tree_store_set(GTK_TREE_STORE(model),&iter,3,!status,-1);
}
}
ubinstall_keyboard_window *yon_ubinstall_keyboard_new(){
@ -50,9 +62,9 @@ ubinstall_keyboard_window *yon_ubinstall_keyboard_new(){
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton");
window->LayoutsTree=yon_gtk_builder_get_widget(builder,"LayoutsTree");
window->ActiveToggle = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ActiveToggle"));
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
// g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(),NULL);
return window;
}
@ -61,12 +73,10 @@ void on_keyboard_clicked (GtkWidget *, main_window *widgets);
void on_keyboard_clicked (GtkWidget *, main_window *widgets){
ubinstall_keyboard_window *window = yon_ubinstall_keyboard_new();
yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->MainWindow),KEYBOARD_TITLE_LABEL,icon_path,"keyboard-window");
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
gtk_tree_view_set_model(GTK_TREE_VIEW(window->LayoutsTree),GTK_TREE_MODEL(widgets->LayoutList));
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_keyboard_accept),dict);
g_signal_connect(G_OBJECT(window->ActiveToggle),"toggled",G_CALLBACK(on_layout_toggle),window);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_keyboard_accept),widgets);
gtk_widget_show(window->MainWindow);
}
@ -261,6 +271,7 @@ void *yon_installation_start(){
void *yon_installation_progress_update(void *data);
void *yon_installation_progress_update(void *data){
sleep(1);
main_window *widgets = (main_window*)data;
FILE *file = fopen(progress_path,"r");
char *current = g_malloc0(4096);
@ -304,7 +315,7 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){
gtk_widget_set_sensitive(widgets->BackButton,0);
g_thread_join(main_config.config_save_thread);
if (!main_config.install_thread)
main_config.install_thread = g_thread_new("InstallThread",(GThreadFunc)on_config_save,NULL);
main_config.install_thread = g_thread_new("InstallThread",(GThreadFunc)yon_installation_start,NULL);
if (!main_config.install_thread)
main_config.progress_thread = g_thread_new("ProgressThread",(GThreadFunc)yon_installation_progress_update,widgets);
@ -380,6 +391,21 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
yon_ubl_status_highlight_incorrect(widgets->LanguagesCombo);
return;
}
char *region = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
char *zone = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguagesFilter);
char *languages = "";
char *lang_code=NULL;
for_iter(model,&iter){
gtk_tree_model_get(model,&iter,1,&lang_code,-1);
yon_char_unite(languages,",",lang_code,NULL);
}
char *language = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo));
yon_config_register(locale_parameter,locale_parameter_command,languages);
yon_config_register(lang_parameter,lang_parameter_command,language);
yon_config_register(zone_parameter,zone_parameter_command,yon_char_unite(region,"/",zone,NULL));
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1);
}break;
case YON_PAGE_KEYBOARD: { //keyboard
@ -392,6 +418,23 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->LayoutTree));
}
}
char *layouts_list="";
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->DefaultLayoutRadio))){
GtkTreeModel *layouts_model=NULL;
GtkTreeIter iter;
char *cur_layout=NULL;
for_iter(layouts_model,&iter){
gtk_tree_model_get(layouts_model,&iter,0,&cur_layout,-1);
layouts_list = yon_char_unite(layouts_list,",",cur_layout,NULL);
}
} else {
yon_config_remove_by_key(xkblayout_parameter);
}
char *model = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo))?(char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo)):"";
// char *layout_switch;
yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,model);
yon_config_register(locale_parameter,locale_parameter_command,layouts_list);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1);
} break;
default:{ // all other pages
@ -470,7 +513,47 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
config_str parameters = yon_config_get_all(&size);
main_config.config_save_thread = g_thread_new("savethread",(GThreadFunc)on_config_save,save_config_command(yon_char_parsed_to_string(parameters,size," ")));
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION);
}
}break;
case YON_PAGE_USERS:{
if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)))){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->UserNameEntry);
return;
} else if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->LoginEntry)))){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->UserNameEntry);
return;
} else if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->PasswordCombo))==1&&yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->PasswordEntry)))){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->UserNameEntry);
return;
} else if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->AdminPasswordCombo))==1&&yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->AdminPasswordEntry)))){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->UserNameEntry);
return;
} else if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)))){
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->UserNameEntry);
return;
}
char *username = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry));
char *login = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry));
char *password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry));
char *root_password = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry));
char *hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry));
char *autologin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutologinCheck))?"yes":"no";
yon_config_register(user_name_parameter,user_name_parameter_command,login);
yon_config_register(user_gecos_parameter,user_gecos_parameter_command,username);
yon_config_register(user_password_parameter,user_password_parameter_command,password);
yon_config_register(root_password_parameter,root_password_parameter_command,root_password);
yon_config_register(autologin_parameter,autologin_parameter_command,autologin);
yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,hostname);
yon_config_register(hostname_parameter,hostname_parameter_command,root_password);
}break;
}
} break;
case -1: { // Previous
@ -502,15 +585,16 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
}
}
void on_region_changed(GtkComboBox *self, main_window *widgets);
void on_region_changed(GtkComboBox *self, main_window *widgets){
char *active = (char*)gtk_combo_box_get_active_id(self);
void on_region_changed(GtkComboBoxText *self, main_window *widgets);
void on_region_changed(GtkComboBoxText *self, main_window *widgets){
char *active = (char*)gtk_combo_box_text_get_active_text(self);
active = yon_char_append("/usr/share/zoneinfo/",active);
int size;
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo));
if (yon_file_is_directory(active)){
config_str parsed = yon_file_ls(active,&size);
for (int i=0;i<size;i++){
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo),_(parsed[i]));
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo),parsed[i],_(parsed[i]));
}
}
}
@ -692,6 +776,7 @@ main_window *yon_main_window_complete(){
widgets->LanguagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList"));
widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter"));
widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter"));
widgets->LayoutList = GTK_TREE_STORE(gtk_builder_get_object(builder,"LayoutList"));
widgets->AdditionalSoftwareList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionalSoftwareList"));
widgets->PartitionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PartitionsList"));
@ -713,9 +798,12 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->SectionsToggle),"toggled",G_CALLBACK(on_toggle_block),NULL);
g_signal_connect(G_OBJECT(widgets->InstallationToggle),"toggled",G_CALLBACK(on_toggle_block),NULL);
g_signal_connect(G_OBJECT(widgets->InstallationNearSysDevicesTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets);
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->AdditionalSoftwareCell),"toggled",G_CALLBACK(on_additional_software_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->ManualLayoutRadio),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),gtk_widget_get_parent(gtk_widget_get_parent(widgets->AddButton)));
// g_signal_connect(G_OBJECT(widgets->InstallationToggle),"toggled",G_CALLBACK(on_toggle_block),widgets);
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0);
@ -763,7 +851,7 @@ main_window *yon_main_window_complete(){
if (!strstr(parsed[i],".")&&strcmp(parsed[i],"posix")&&strcmp(parsed[i],"right")){
char *path = yon_char_append(zone_path,parsed[i]);
if (yon_file_is_directory(path)){
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->RegionCombo),path,_(parsed[i]));
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->RegionCombo),parsed[i],_(parsed[i]));
}
free(path);
}
@ -778,7 +866,7 @@ main_window *yon_main_window_complete(){
if (layout_size){
char *layout_id = yon_char_new(layout[0]);
gtk_tree_store_append(widgets->LayoutList,&iter,NULL);
gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,0,-1);
gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1);
yon_char_parsed_free(layout,layout_size);
layout = yon_config_load(get_layouts_local_command(layout_id),&layout_size);
for (int j=0;j<layout_size;j++){
@ -830,6 +918,14 @@ main_window *yon_main_window_complete(){
gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,1,1,module_parsed[0],3,module_parsed[1],-1); //2,module_parsed[2]
}
}
config_str models = yon_config_load(get_models_command,&size);
for (int i=0;i<size;i+=2){
models[i] = yon_char_divide_search(models[i],"\n",-1);
models[i+1] = yon_char_divide_search(models[i+1],"\n",-1);
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1]));
}
return widgets;
}

@ -62,6 +62,10 @@
"/com/ublinux/images/slide-12.png", \
NULL
#define get_models_command "sed '/<\\/modelList>/q' /usr/share/X11/xkb/rules/base.xml | grep -E '^ {8,8}<name>|^ {8,8}<description>'|sed -e 's/ *<name>//g' -e 's,</name>,,g' -e 's/ *<description>//g' -e 's,</description>,,g'"
#define check_is_password_hash(password) system(yon_char_unite("/lib/ublinux/functions is_hash_password '", password,"'",NULL))
#define get_layouts_command "xkbcli list --load-exotic | awk \"layout && /description:/ {match(\\$0,/: *(.*)/,matches);description=matches[1];printf \\\"%s|%s\\n\\\",layout,description;layout=\\\"\\\"} /layout:/ {match(\\$0, /: *'([^']+)'/,matches);l=matches[1];if (layouts[l]) next;layout=layouts[l]=l}\" | sort -u"
#define get_layouts_local_command(layout) yon_char_unite("xkbcli list --load-exotic | awk -v layout=\"",layout,"\" \"BEGIN {layout_pattern = sprintf(\\\"^ *- *layout: *'%s'\\\",layout);matched=0} matched && /variant:/ {match(\\$0, /: *'([^']+)'/, matches);variant = matches[1]} matched && /description:/ {match(\\$0, /: *(.+)/, matches);description = matches[1]} matched && /^ *-/{matched=0; if (variant) printf \\\"%s|%s\\n\\\",variant,description} \\$0 ~ layout_pattern {matched=1;variant=\\\"\\\";description=\\\"\\\";next}\" | sort -u",NULL)
#define get_devices_command "lsblk --noheadings --nodeps -Jo PATH,SIZE,MODEL,VENDOR,SERIAL --exclude 7,253"
@ -71,6 +75,33 @@ NULL
#define AUTOINSTALL_DEVICE "AUTOINSTALL[device]"
#define AUTOSTART_PARTS "AUTOINSTALL[part]"
#define user_name_parameter "AUTOINSTALL[user_name]"
#define user_name_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_name]"
#define user_gecos_parameter "AUTOINSTALL[user_gecos]"
#define user_gecos_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_gecos]"
#define user_password_parameter "AUTOINSTALL[user_password]"
#define user_password_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_password]"
#define root_password_parameter "AUTOINSTALL[root_password]"
#define root_password_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[root_password]"
#define autologin_parameter "AUTOINSTALL[autologin]"
#define autologin_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[autologin]"
#define xkbmodel_parameter "AUTOINSTALL[xkbmodel]"
#define xkbmodel_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkbmodel]"
#define xkblayout_parameter "AUTOINSTALL[xkblayout]"
#define xkblayout_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkblayout]"
#define xkbvariant_parameter "AUTOINSTALL[xkbvariant]"
#define xkbvariant_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkbvariant]"
#define xkboptions_parameter "AUTOINSTALL[xkboptions]"
#define xkboptions_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[xkboptions]"
#define hostname_parameter "AUTOINSTALL[hostname]"
#define hostname_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[hostname]"
#define zone_parameter "AUTOINSTALL[hostname]"
#define zone_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[hostname]"
#define lang_parameter "AUTOINSTALL[hostname]"
#define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[hostname]"
#define locale_parameter "AUTOINSTALL[hostname]"
#define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[hostname]"
#define save_config_command(parameters) yon_char_append("pkexec ubconfig set [autoinstall] ",parameters)
#define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get autoinstall AUTOINSTALL[type_install]"
@ -81,6 +112,8 @@ NULL
#define progress_path "/tmp/ubinstall/ubinstall_progress.log"
#define password_limits_path "/etc/security/pwquiality.conf"
typedef char* string;
string version_application;
@ -114,6 +147,8 @@ typedef struct {
int lock_load_global;
int always_open_documentation;
int password_min_length;
int debug_mode;
guint slider_thread;
@ -206,6 +241,7 @@ typedef struct {
GtkWidget *AdditionalSoftwareTree;
GtkTreeModel *LanguagesFilter;
GtkTreeModel *LayoutsFilter;
GdkPixbuf *regions_original;
GdkPixbuf *keyboard_original;
@ -231,6 +267,7 @@ typedef struct{
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *LayoutsTree;
GtkCellRenderer *ActiveToggle;
} ubinstall_keyboard_window;
typedef struct{
@ -246,8 +283,24 @@ typedef struct{
GtkCellRenderer *ToggleRenderer;
} ubinstall_language_window;
typedef struct{
GtkWidget *CreateGroupWindow;
GtkWidget *StatusBox;
GtkWidget *UserCancelButton;
GtkWidget *UserOkButton;
GtkWidget *PasswordEntry;
GtkWidget *RepeatPasswordEntry;
GtkWidget *PasswordHashEntry;
GtkWidget *HashBox;
GtkWidget *PasswordBox;
GtkWidget *NoEncriptionCheck;
} password_window;
void config_init();
main_window *yon_main_window_complete();
ubinstall_language_window *yon_ubinstall_language_new();
void NewFunction(ubinstall_language_window *window, GtkBuilder *builder);
ubinstall_keyboard_window *yon_ubinstall_keyboard_new();
password_window *yon_password_new();
void on_password_accept(GtkWidget *self, dictionary *dict);

@ -74,4 +74,9 @@
#define ZONE_EMPTY_LABEL _("Zone were not fullified")
#define LANGUAGES_EMPTY_LABEL _("Languages list is empty")
#define LOCALE_EMPTY_LABEL _("System locale hasn't been chosen")
#define LAYOUTS_CHOSEN_BUT_EMPTY_LABEL _("Manual layouts has been chosen but empty")
#define LAYOUTS_CHOSEN_BUT_EMPTY_LABEL _("Manual layouts has been chosen but empty")
#define PASSWORD_TITLE_LABEL _("Password input")
#define PASSWORD_MISMATCH_LABEL _("Password mismatch")
#define EMPTY_IMPORTANT_LABEL _("Empty important field")
#define PASSWORD_SHORT_LABEL(min_size_char) yon_char_unite(_("Password must be at least")," ", min_size_char," ",_("characters"))

@ -57,7 +57,7 @@
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">column</property>
<child>
<object class="GtkCellRendererToggle"/>
<object class="GtkCellRendererToggle" id="ActiveToggle"/>
<attributes>
<attribute name="visible">2</attribute>
<attribute name="active">3</attribute>

@ -54,6 +54,9 @@
<column type="gboolean"/>
</columns>
</object>
<object class="GtkTreeModelFilter" id="LayoutsFilter">
<property name="child-model">LayoutList</property>
</object>
<object class="GtkListStore" id="PartitionsList">
<columns>
<!-- column-name gchararray1 -->
@ -93,16 +96,6 @@
<property name="can-focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image21">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image22">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -368,6 +361,7 @@ agreement</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="tab-pos">left</property>
<property name="show-tabs">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -1590,13 +1584,6 @@ and help you install UBLinux on your computer</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default (Regular 105-key)</item>
<item translatable="yes">Regular 86-key</item>
<item translatable="yes">Regular 101-key</item>
<item translatable="yes">Regular 102-key</item>
<item translatable="yes">Regular 104-key</item>
<item translatable="yes">Regular 104-key (L-shaped Enter)</item>
<item translatable="yes">Regular 105-key</item>
<item translatable="yes">Dell 101 keys</item>
</items>
</object>
<packing>
@ -1635,7 +1622,7 @@ and help you install UBLinux on your computer</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Default (L_Alt + L_Shift)</item>
<item id="grp:lalt_lshift_toggle,grp_led:scroll,compose:rwin" translatable="yes">Default (L_Alt + L_Shift)</item>
<item translatable="yes">Left Alt</item>
<item translatable="yes">Right Alt</item>
<item translatable="yes">Caps Lock</item>
@ -1709,6 +1696,7 @@ and help you install UBLinux on your computer</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="spacing">5</property>
<child>
@ -1720,6 +1708,7 @@ and help you install UBLinux on your computer</property>
<object class="GtkTreeView" id="LayoutTree">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">LayoutsFilter</property>
<property name="search-column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
@ -1978,7 +1967,6 @@ and help you install UBLinux on your computer</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Set a password</item>
<item translatable="yes">Do no set a password</item>
</items>
</object>
<packing>
@ -1994,6 +1982,7 @@ and help you install UBLinux on your computer</property>
<property name="visibility">False</property>
<property name="invisible-char">●</property>
<property name="placeholder-text" translatable="yes">******</property>
<property name="input-purpose">password</property>
</object>
<packing>
<property name="expand">True</property>
@ -2001,19 +1990,6 @@ and help you install UBLinux on your computer</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="PasswordButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="image">image22</property>
</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>
@ -2073,7 +2049,6 @@ and help you install UBLinux on your computer</property>
<items>
<item translatable="yes">Default</item>
<item translatable="yes">Set a password</item>
<item translatable="yes">Do not set a password</item>
</items>
</object>
<packing>
@ -2089,6 +2064,7 @@ and help you install UBLinux on your computer</property>
<property name="visibility">False</property>
<property name="invisible-char">●</property>
<property name="placeholder-text" translatable="yes">******</property>
<property name="input-purpose">password</property>
</object>
<packing>
<property name="expand">True</property>
@ -2096,19 +2072,6 @@ and help you install UBLinux on your computer</property>
<property name="position">2</property>
</packing>
</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>
</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>
@ -5431,7 +5394,6 @@ separately into the selected partition.</property>
<object class="GtkLabel" id="InstallationLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>
@ -5491,7 +5453,6 @@ separately into the selected partition.</property>
<object class="GtkLabel" id="PackageInstallationLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>

Loading…
Cancel
Save