master #59

Merged
asmeron merged 2 commits from YanTheKaller/libublsettingsui-gtk3:master into master 2 days ago

@ -516,7 +516,15 @@ char *yon_custom_config_init(GtkFileChooserAction type){
GtkFileFilter *filter = gtk_file_filter_new(); GtkFileFilter *filter = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter,"*.ini"); gtk_file_filter_add_pattern(filter,"*.ini");
gtk_file_filter_set_name(filter, "*.ini"); gtk_file_filter_set_name(filter, "*.ini");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog->MainFileChooser),filter); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter);
GtkFileFilter *filter_json = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter_json,"*.json");
gtk_file_filter_set_name(filter_json, "*.json");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter_json);
GtkFileFilter *filter_yaml = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter_yaml,"*.yaml");
gtk_file_filter_set_name(filter_yaml, "*.yaml");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter_yaml);
if (type==GTK_FILE_CHOOSER_ACTION_SAVE){ if (type==GTK_FILE_CHOOSER_ACTION_SAVE){
// yon_file_chooser_set_button_label(yon_char_get_localised_from_lib(LOAD_CONFIG_LABEL)); // yon_file_chooser_set_button_label(yon_char_get_localised_from_lib(LOAD_CONFIG_LABEL));
@ -530,7 +538,7 @@ char *yon_custom_config_init(GtkFileChooserAction type){
char *command_creation = ubconfig_file_create(file); char *command_creation = ubconfig_file_create(file);
struct passwd *user = getpwnam(yon_ubl_root_user_get()); struct passwd *user = getpwnam(yon_ubl_root_user_get());
int a = system(command_creation); int a = system(command_creation);
chown(file,user->pw_uid,user->pw_gid); if (chown(file,user->pw_uid,user->pw_gid)){};
free(command_creation); free(command_creation);
if (access(file,0)!=F_OK){ if (access(file,0)!=F_OK){
yon_ubl_status_box_render(CUSTOM_CONFIG_CREATION_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(CUSTOM_CONFIG_CREATION_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
@ -666,3 +674,23 @@ template_saving_window *yon_exit_window_new(){
gtk_tree_view_remove_column(GTK_TREE_VIEW(window->ParametersTree),gtk_tree_view_get_column(GTK_TREE_VIEW(window->ParametersTree),0)); gtk_tree_view_remove_column(GTK_TREE_VIEW(window->ParametersTree),gtk_tree_view_get_column(GTK_TREE_VIEW(window->ParametersTree),0));
return window; return window;
} }
GtkWidget *yon_config_save_window_new(){
GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
gtk_window_set_icon_name(GTK_WINDOW(dialog),template_app_information.app_tech_name);
gtk_window_set_title(GTK_WINDOW(dialog),template_app_information.app_title);
gtk_widget_show(dialog);
GtkFileFilter *filter = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter,"*.ini");
gtk_file_filter_set_name(filter, "*.ini");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter);
GtkFileFilter *filter_json = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter_json,"*.json");
gtk_file_filter_set_name(filter_json, "*.json");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter_json);
GtkFileFilter *filter_yaml = gtk_file_filter_new();
gtk_file_filter_add_pattern(filter_yaml,"*.yaml");
gtk_file_filter_set_name(filter_yaml, "*.yaml");
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter_yaml);
return dialog;
}

@ -484,6 +484,9 @@ typedef struct {
const char *old_password; const char *old_password;
} yon_password_window; } yon_password_window;
GtkWidget *yon_config_save_window_new();
/// @brief /// @brief
/// @param window окно с паролем /// @param window окно с паролем
/// @param hashes массив с названиями типов хэша /// @param hashes массив с названиями типов хэша

Loading…
Cancel
Save