Password encrypt button changes

pull/247/head
parent f726a0531e
commit 1dae1c72ee

@ -23,9 +23,28 @@ void on_additional_settings_clicked(GtkWidget *, GtkEntry *){
}
void on_passwords_encrypt(){
int pid = fork();
if (!pid){
exit(system(encrypt_passwords_command));
gboolean on_encrypt_update(dictionary *dict){
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
ubl_settings_usergroups_additional_settings_window *window = yon_dictionary_get_data(dict->first->next,ubl_settings_usergroups_additional_settings_window*);
gtk_widget_destroy(window->Window);
yon_load_proceed((YON_CONFIG_TYPE)main_config.load_mode);
yon_interface_update(widgets);
return G_SOURCE_REMOVE;
}
void *yon_passwords_encrypt(dictionary *dict){
int exitstatus = system(encrypt_passwords_command);
if (!exitstatus){
yon_ubl_status_box_render_thread(yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
g_idle_add((GSourceFunc)on_encrypt_update,dict);
} else {
yon_ubl_status_box_render_thread(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
}
g_thread_exit(NULL);
}
void on_passwords_encrypt(GtkWidget*,dictionary *dict){
g_thread_new("encrypt_all_passwords_thread",(GThreadFunc)yon_passwords_encrypt,dict);
}

@ -105,6 +105,19 @@ void on_password_accept(GtkWidget *self, dictionary *dict){
on_subwindow_close(self);
}
void on_password_hash_sensitiveness(GtkWidget *,ubl_settings_usergroups_password_window *window){
if (!yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)))||!yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)))){
gtk_widget_set_sensitive(window->HashBox,0);
gtk_widget_set_sensitive(window->PasswordBox,1);
} else if (!yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)))) {
gtk_widget_set_sensitive(window->HashBox,1);
gtk_widget_set_sensitive(window->PasswordBox,0);
} else {
gtk_widget_set_sensitive(window->HashBox,1);
gtk_widget_set_sensitive(window->PasswordBox,1);
}
}
ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_new(){
ubl_settings_usergroups_password_window *window = malloc(sizeof(ubl_settings_usergroups_password_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_password);
@ -123,6 +136,9 @@ ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_ne
yon_window_config_custom_window_setup(GTK_WINDOW(window->CreateGroupWindow),"PasswordWindow");
g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->PasswordEntry),"icon-press",G_CALLBACK(on_password_show_hide),NULL);
g_signal_connect(G_OBJECT(window->PasswordEntry),"changed",G_CALLBACK(on_password_hash_sensitiveness),window);
g_signal_connect(G_OBJECT(window->RepeatPasswordEntry),"changed",G_CALLBACK(on_password_hash_sensitiveness),window);
g_signal_connect(G_OBJECT(window->PasswordHashEntry),"changed",G_CALLBACK(on_password_hash_sensitiveness),window);
g_signal_connect(G_OBJECT(window->RepeatPasswordEntry),"icon-press",G_CALLBACK(on_password_show_hide),NULL);
g_signal_connect(G_OBJECT(window->PasswordHashEntry),"icon-press",G_CALLBACK(on_password_show_hide),NULL);
gtk_window_set_title(GTK_WINDOW(window->CreateGroupWindow),PASSWORD_TITLE_LABEL);
@ -130,7 +146,6 @@ ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_ne
return window;
}
int yon_check_password_blocked(char *password){
if (!yon_char_is_empty(password)){
if (!strcmp(password,"!*")){

@ -717,12 +717,7 @@ ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_
yon_dictionary_add_or_create_if_exists_with_data(root_dict,"entry",window->RootPasswordEntry);
g_signal_connect(G_OBJECT(window->DefaultPasswordButton),"clicked",G_CALLBACK(on_password_change),default_dict);
g_signal_connect(G_OBJECT(window->RootPasswordButton),"clicked",G_CALLBACK(on_password_change),root_dict);
dialog_confirmation_data *data=malloc(sizeof(dialog_confirmation_data));
data->function=on_passwords_encrypt;
data->action_text = ENCRYPT_SURE_LABEL;
data->data=NULL;
g_signal_connect(G_OBJECT(window->EncryptAllPasswordsButton),"clicked",G_CALLBACK(yon_confirmation_dialog_call),data);
g_signal_connect(G_OBJECT(window->PasswordHashCombo),"changed",G_CALLBACK(on_hash_changed),window);
g_signal_connect(G_OBJECT(window->DefaultUserNameEntry),"changed",G_CALLBACK(on_additional_settings_changed),window);
@ -741,6 +736,16 @@ return window;
void on_ubl_settings_usergroups_additional_settings_open(GtkWidget *, main_window *widgets){
ubl_settings_usergroups_additional_settings_window *window = yon_ubl_settings_usergroups_additional_settings_new();
dictionary *encrypt_data = NULL;
yon_dictionary_add_or_create_if_exists_with_data(encrypt_data,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(encrypt_data,"window",window);
dialog_confirmation_data *data=yon_confirmation_dialog_data_new();
data->function=on_passwords_encrypt;
data->action_text = ENCRYPT_SURE_LABEL;
data->data=encrypt_data;
g_signal_connect(G_OBJECT(window->EncryptAllPasswordsButton),"clicked",G_CALLBACK(yon_confirmation_dialog_call),data);
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
gtk_widget_show(window->Window);

@ -226,7 +226,7 @@ void on_config_local_load(GtkWidget *, main_window *widgets){
textdomain(template_ui_LocaleName);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
textdomain(LocaleName);
main_config.load_mode=1;
main_config.load_mode=YON_CONFIG_LOCAL;
yon_interface_update(widgets);
}
@ -235,7 +235,7 @@ void on_config_global_load(GtkWidget *, main_window *widgets){
textdomain(template_ui_LocaleName);
yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
textdomain(LocaleName);
main_config.load_mode=0;
main_config.load_mode=YON_CONFIG_GLOBAL;
yon_interface_update(widgets);
}
@ -244,7 +244,7 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){
textdomain(template_ui_LocaleName);
yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
textdomain(LocaleName);
main_config.load_mode=3;
main_config.load_mode=YON_CONFIG_CUSTOM;
yon_interface_update(widgets);
}
@ -395,7 +395,7 @@ void yon_hide_passwords(template_saving_window *window){
free(yon_char_divide(new_value,1));
newv=new_value;
} else if (!yon_char_is_empty(new_value)&&new_value[0]=='$') {
if (main_config.load_mode==1){
if (main_config.load_mode==YON_CONFIG_LOCAL){
newv=new_value;
} else {
newv="*******";
@ -404,7 +404,7 @@ void yon_hide_passwords(template_saving_window *window){
newv="*******";
}
if (!yon_char_is_empty(old_value)){
if (main_config.load_mode==1){
if (main_config.load_mode==YON_CONFIG_LOCAL){
old = yon_char_new("<s>*******</s>");
} else {
@ -421,7 +421,7 @@ void yon_hide_passwords(template_saving_window *window){
free(yon_char_divide(new_value,1));
newv=new_value;
} else if (!yon_char_is_empty(new_value)&&new_value[0]=='$') {
if (main_config.load_mode==1){
if (main_config.load_mode==YON_CONFIG_LOCAL){
newv=new_value;
} else {
newv="*******";
@ -430,7 +430,7 @@ void yon_hide_passwords(template_saving_window *window){
newv="*******";
}
if (!yon_char_is_empty(old_value)){
if (main_config.load_mode==1){
if (main_config.load_mode==YON_CONFIG_LOCAL){
old = yon_char_new("<s>*******</s>");
} else {
old = yon_char_unite("<s>",old_value,"</s>",NULL);
@ -451,7 +451,7 @@ void on_save_done(main_window *widgets, config_str output, int size){
}
yon_char_parsed_free(output,size);
on_config_update(NULL,widgets);
if (main_config.load_mode==1){
if (main_config.load_mode==YON_CONFIG_LOCAL){
yon_accept_changes();
yon_samba_sync_proceed();
}
@ -593,62 +593,159 @@ void on_delete_confirmation_delete_check(GtkCellRenderer *, char *path, yon_conf
}
void yon_delete_confirmation_save(GtkWidget *self, dictionary *dict){
GtkTreeIter iter,itar;
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
yon_confirmation_window *window = yon_dictionary_get_data(dict->first->next,yon_confirmation_window*);
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){
char *name;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1);
int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar);
for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
char *name_check;
int status,delete;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1);
if (!strcmp(name,name_check)&&delete){
// char *user = config(USERADD(name));
// int size;
// config_str parsed = yon_char_parse(user,&size,":");
// if (size>3&&(strcmp(parsed[3],name)&&strcmp(parsed[2],parsed[3]))){
// yon_ubl_status_box_spawn_infinite(window->)
// }
gtk_list_store_remove(widgets->UsersList,&iter);
yon_config_remove_by_key(USERADD(name));
yon_config_remove_by_key(USERSHADOW(name));
yon_config_register(USERADD_SYNC(name),USERADD_SYNC_command(name),"");
yon_config_remove_by_key(USERADD_SYNC(name));
yon_config_remove_by_key(USERSHADOW_SYNC(name));
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
if (status){
if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){
yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name);
}
char *yon_user_get_group_string(char *user){
char *cur_user = config(USERADD(user));
int size;
config_str parsed = yon_char_parse(cur_user,&size,":");
if (size>2&&!yon_char_is_empty(parsed[2])){
char *current_group = parsed[2];
size_t digits=0;
for (guint k=0;k<strlen(current_group);k++){
if (g_ascii_isdigit(current_group[k])){
digits++;
}
}
char *final_group_name=NULL;
if (digits&&digits==strlen(current_group)){
for (int i=0;i<main_config.groups_size;i++){
int group_size=0;
config_str groups_parsed = yon_char_parse(main_config.groups[i],&group_size,":");
if (group_size>2&&!strcmp(groups_parsed[2],current_group)){
final_group_name=yon_char_new(groups_parsed[0]);
if (group_size) yon_char_parsed_free(groups_parsed,group_size);
break;
}
if (group_size) yon_char_parsed_free(groups_parsed,group_size);
}
} else {
final_group_name=yon_char_new(current_group);
}
return final_group_name;
} else {
return user;
}
return NULL;
}
char *yon_user_check_groups(GtkListStore *list, char *target){
char *final="";
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(list);
for_iter(model,&iter){
char *name;
if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter)){
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1);
int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar);
for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
char *name_check;
int status,delete;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1);
if (!strcmp(name,name_check)&&delete){
gtk_list_store_remove(widgets->UsersList,&iter);
yon_config_remove_by_key(USERADD(name));
yon_config_remove_by_key(USERSHADOW(name));
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
if (status){
if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){
yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name);
}
}
char *group;
gtk_tree_model_get(model,&iter,1,&name,6,&group,-1);
if (!strcmp(group,target)&&strcmp(name,target)){
char *temp = yon_char_unite(final,!yon_char_is_empty(final)?",":"",name,NULL);
if (!yon_char_is_empty(final)) free(final);
final = temp;
}
}
return !yon_char_is_empty(final)?final:NULL;
}
void yon_delete_confirmation_save(GtkWidget *self, dictionary *dict){
// GtkTreeIter iter,itar;
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
yon_confirmation_window *window = yon_dictionary_get_data(dict->first->next,yon_confirmation_window*);
// int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
// for (;valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){
// char *name;
// gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1);
// int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar);
// for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
// char *name_check;
// int status,delete;
// gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1);
// if (!strcmp(name,name_check)&&delete){
// gtk_list_store_remove(widgets->UsersList,&iter);
// yon_config_remove_by_key(USERADD(name));
// yon_config_remove_by_key(USERSHADOW(name));
// yon_config_register(USERADD_SYNC(name),USERADD_SYNC_command(name),"");
// yon_config_remove_by_key(USERADD_SYNC(name));
// yon_config_remove_by_key(USERSHADOW_SYNC(name));
// gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
// if (status){
// if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){
// yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name);
// }
// }
// }
// }
// }
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(window->list);
char *single_target = NULL;
int founds = 0;
char *depends = NULL;
for_iter(model,&iter){
int selected;
char *target;
char *group;
gtk_tree_model_get(model,&iter,0,&selected,1,&target,6,&group,-1);
if (selected){
if ((!strcmp(target,group))){
depends = yon_user_check_groups(window->list,target);
if (!yon_char_is_empty(depends)) {
single_target = target;
founds++;
}
}
}
}
if (founds==1){
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text = CONFIRMATION_GROUP_DEPENDS_SINGLE_LABEL(single_target,depends);
if(yon_confirmation_dialog_call(window->Window,data)!=GTK_RESPONSE_ACCEPT){
return;
}
} else if (founds >1){
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
data->action_text = CONFIRMATION_GROUP_DEPENDS_MULTIPLE_LABEL;
if (yon_confirmation_dialog_call(window->Window,data)!=GTK_RESPONSE_ACCEPT){
return;
}
}
for_iter(model,&iter){
int selected;
char *target;
gtk_tree_model_get(model,&iter,0,&selected,1,&target,-1);
if (selected){
yon_config_remove_by_key(USERADD(target));
yon_config_remove_by_key(USERSHADOW(target));
yon_config_remove_by_key(USERADD_SYNC(target));
yon_config_remove_by_key(USERSHADOW_SYNC(target));
}
}
yon_interface_update(widgets);
// char *name;
// if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter)){
// gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1);
// int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar);
// for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
// char *name_check;
// int status,delete;
// gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1);
// if (!strcmp(name,name_check)&&delete){
// gtk_list_store_remove(widgets->UsersList,&iter);
// yon_config_remove_by_key(USERADD(name));
// yon_config_remove_by_key(USERSHADOW(name));
// gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
// if (status){
// if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){
// yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name);
// }
// }
// }
// }
// }
on_subwindow_close(self);
}
@ -737,8 +834,8 @@ void yon_delete_confirmation_open(main_window *widgets){
}
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){
char *name,*username,*parameters,*homedir=NULL;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,6,&parameters,-1);
char *name,*username,*parameters,*homedir=NULL, *group=NULL;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,4,&group,6,&parameters,-1);
int size;
config_str home = yon_config_load(get_home_command(name),&size);
if (size>0&&!yon_char_is_empty(home[0])){
@ -751,7 +848,9 @@ void yon_delete_confirmation_open(main_window *widgets){
int status=0;
if (homedir) status=1;
gtk_list_store_append(window->list,&itar);
gtk_list_store_set(window->list,&itar,0,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1?1:0,1,name,2,homedir,3,0,4,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1&&status?1:0,5,username,-1);
group = yon_user_get_group_string(name);
gtk_list_store_set(window->list,&itar,0,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1?1:0,1,name,2,homedir,3,0,4,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1&&status?1:0,5,username,6,group,-1);
free(name);
free(username);
free(parameters);
@ -1736,7 +1835,7 @@ void on_main_delete(GtkWidget *, main_window *widgets){
}
void on_config_update(GtkWidget *, main_window *widgets){
if (main_config.load_mode==0){
if (main_config.load_mode==YON_CONFIG_GLOBAL){
on_config_global_load(NULL,widgets);
} else {
on_config_local_load(NULL,widgets);
@ -1767,7 +1866,7 @@ void config_init(){
main_config.lock_save_local=0;
main_config.groups_size=0;
main_config.users_size=0;
main_config.load_mode=1;
main_config.load_mode=YON_CONFIG_LOCAL;
main_config.hash_default_id=-1;
main_config.save_config=0;
main_config.groups = yon_file_open(groups_path,&main_config.groups_size);

@ -566,4 +566,9 @@ void on_useradd_sync_changed(ubl_settings_usergroups_additional_settings_window
void yon_gtk_login_block_symbols(GtkEntry *target);
void on_login_insert_custom_restricted_check(GtkEditable *editable, const gchar *text, gint length, gint *position);
void on_group_delete_toggled(GtkWidget *,gchar* path,yon_confirmation_window *window);
char *yon_user_check_groups(GtkListStore *list, char *target);
char *yon_user_get_group_string(char *user);
void on_password_hash_sensitiveness(GtkWidget *,ubl_settings_usergroups_password_window *window);
gboolean on_encrypt_update(dictionary *dict);
void *yon_passwords_encrypt(dictionary *dict);
#endif

@ -270,3 +270,6 @@
#define SHUTDOWN_MAXIMUM_UID_LABEL _("Maximum UID")
#define SHUTDOWN_MINIMUM_GID_LABEL _("Minimum GID")
#define SHUTDOWN_MAXIMUM_GID_LABEL _("Maximum GID")
#define CONFIRMATION_GROUP_DEPENDS_SINGLE_LABEL(target,depends) yon_char_unite(_("User")," \"",target,"\" ",_("is included into main group of users")," \"",depends,"\", ",_("which will be deleted"),".\n",_("After reboot users")," ",depends," ",_("main group will be set to default group"),".",NULL)
#define CONFIRMATION_GROUP_DEPENDS_MULTIPLE_LABEL _("Some of users, chosen for deletion, are included as main group for other users. This users will get default main group after reboot")

@ -15,17 +15,19 @@
</object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name gboolean1 -->
<!-- column-name Chosen -->
<column type="gboolean"/>
<!-- column-name gchararray1 -->
<!-- column-name User -->
<column type="gchararray"/>
<!-- column-name gchararray2 -->
<!-- column-name HomeDir -->
<column type="gchararray"/>
<!-- column-name gboolean2 -->
<!-- column-name DeleteHome -->
<column type="gboolean"/>
<!-- column-name gboolean3 -->
<!-- column-name DeleteHomeSensitivity -->
<column type="gboolean"/>
<!-- column-name gchararray3 -->
<!-- column-name UserName -->
<column type="gchararray"/>
<!-- column-name MainGroup -->
<column type="gchararray"/>
</columns>
</object>

@ -94,7 +94,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">0</property>
</packing>
</child>
<child>
@ -136,47 +136,47 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</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" id="HashBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkSeparator">
<object class="GtkCheckButton" id="NoEncriptionCheck">
<property name="label" translatable="yes">Do not encrypt password</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="NoEncriptionCheck">
<property name="label" translatable="yes">Do not encrypt password</property>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">3</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" id="HashBox">
<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>

Loading…
Cancel
Save