Добавил вывод сообщений при пустых значениях

pull/24/head
Igor Belitskiy 2 years ago
parent 0d0118132e
commit ddc77b45de

@ -27,7 +27,6 @@ void destroy_show_warning(GtkWidget *self) {
temp_widgets->WarrningWindow = NULL;
temp_widgets->CancelWarrningButton = NULL;
temp_widgets->lblWarningText = NULL;
block_btn_save();
}
void show_warning() {
GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path);
@ -49,6 +48,17 @@ void show_warning() {
g_signal_connect(G_OBJECT(temp_widgets->CancelWarrningButton),"clicked",G_CALLBACK(destroy_show_warning),temp_widgets->WarrningWindow);
}
void show_warning_no_fill(char* text_mess) {
GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path);
temp_widgets->WarrningWindow = yon_gtk_builder_get_widget(builder,"WarrningWindow");
temp_widgets->lblWarningText = yon_gtk_builder_get_widget(builder,"lblWarningText");
temp_widgets->CancelWarrningButton = yon_gtk_builder_get_widget(builder,"CancelWarrningButton");
gtk_label_set_label(GTK_LABEL(temp_widgets->lblWarningText), text_mess);
gtk_widget_show(temp_widgets->WarrningWindow);
g_signal_connect(G_OBJECT(temp_widgets->WarrningWindow), "destroy", G_CALLBACK(destroy_show_warning), temp_widgets->WarrningWindow);
g_signal_connect(G_OBJECT(temp_widgets->CancelWarrningButton),"clicked",G_CALLBACK(destroy_show_warning),temp_widgets->WarrningWindow);
}
void set_disk(char* _disk) {
disk = yon_char_new(_disk);
}
@ -99,7 +109,6 @@ void temp_check_path() {
}
}
}
block_btn_save();
}
temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuilder *builder) {
@ -144,7 +153,6 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
}
void temp_select_disk() {
block_btn_save();
char* str_disk = NULL;
if (strcmp(set_add_edit, "add")==0) {
str_disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(temp_widgets->UserDeviceCombo));
@ -242,14 +250,12 @@ void temp_show(GtkWidget *self, char* _glade_path) {
set_activ_project_id();
temp_init_windows();
event_toggled_all();
block_btn_save();
}
else {
temp_setup_window_base(_glade_path);
gtk_widget_show(temp_widgets->Window);
set_activ_project_id();
event_toggled_all();
block_btn_save();
}
}
@ -272,20 +278,12 @@ void temp_event(temp_set_window* temp_widgets) {
g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeHardLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesSoftLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesHardLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeSoftLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeHardLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesSoftLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupFilesHardLimitSpin), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeSoftLimitCombo), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeHardLimitCombo), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->UserDeviceCombo), "changed", G_CALLBACK(temp_select_disk), NULL);
if (strstr(flag_temp_u_g_p,"prjquota")) {
g_signal_connect(G_OBJECT(temp_widgets->btnReviewProject),"clicked",G_CALLBACK(wrapper_show_file_manager),NULL);
g_signal_connect(G_OBJECT(temp_widgets->btnGenerateProject),"clicked",G_CALLBACK(generate_id),NULL);
g_signal_connect(G_OBJECT(temp_widgets->chbAuto),"toggled",G_CALLBACK(set_activ_project_id),NULL);
g_signal_connect(G_OBJECT(temp_widgets->entryCatalogProject), "changed", G_CALLBACK(temp_check_path), NULL);
g_signal_connect(G_OBJECT(temp_widgets->entryProjectId), "changed", G_CALLBACK(block_btn_save), NULL);
g_signal_connect(G_OBJECT(temp_widgets->entryProjectName), "changed", G_CALLBACK(block_btn_save), NULL);
}
else {
g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(wrapper_table_u_g_show),NULL);
@ -294,6 +292,7 @@ void temp_event(temp_set_window* temp_widgets) {
void temp_on_destroy_subwindow(GtkWidget *self) {
if (self) {
if (wrapper_check_save()) {
if (strcmp(set_add_edit, "add")==0) {
get_add_gui_data_base(_all_config_temp);
}
@ -302,6 +301,10 @@ void temp_on_destroy_subwindow(GtkWidget *self) {
}
gtk_widget_destroy(gtk_widget_get_toplevel(self));
temp_widgets = NULL;
}
else {
}
}
}
@ -320,7 +323,6 @@ void event_toggled_all() {
philos_set_active_widgets(temp_widgets->quotegroupFilesHardLimitCheck,
temp_widgets->quotegroupFilesHardLimitSpin,
NULL);
block_btn_save();
}
void block_btn_save() {
@ -375,7 +377,6 @@ void destroy_file_manager(GtkWidget *self) {
temp_widgets->wndChooseFileWallpaper = NULL;
temp_widgets->btnFilemangerOk = NULL;
temp_widgets->btnFilemangerExit = NULL;
block_btn_save();
}
void btn_ok_file_manager(GtkWidget *self) {
@ -510,12 +511,9 @@ void save(GtkWidget *self) {
temp_vec_actors = get_actors_table(temp_vec_actors);
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryUser), format_actors(temp_vec_actors));
table_u_g_on_hide_subwindow(self);
block_btn_save();
}
else {
table_u_g_on_hide_subwindow(self);
block_btn_save();
}
}
@ -534,12 +532,14 @@ int check_save() {
menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(temp_widgets->UserDeviceCombo));
}
if (!active1 && !active2 && !active3 && !active4) {
show_warning_no_fill(_("The volume and files fields must have at least one value"));
return 0;
}
if (menu_id == -1 || ((!strcmp(value1, "0") || !strcmp(value1, "")) && active1)
|| ((!strcmp(value2, "0") || !strcmp(value2, "")) && active2)
|| ((!strcmp(value3, "0") || !strcmp(value3, "")) && active3)
|| ((!strcmp(value4, "0") || !strcmp(value4, "")) && active4)) {
show_warning_no_fill(_("The volume and files fields must have at least one value"));
return 0;
}
return 1;
@ -551,16 +551,23 @@ int check_save_project() {
if (strcmp(set_add_edit, "add")==0) {
char* file_dir = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryCatalogProject));
char* project_id = (char*)gtk_entry_get_text(GTK_ENTRY(temp_widgets->entryProjectId));
if (!strlen(file_dir) && (!strlen(project_id) && !active1) && !strlen(project_name)) {
return 0;
if (!strlen(file_dir) || (!strlen(project_id) && !active1) || !strlen(project_name)) {
if (!strlen(project_id) && !active1) {
show_warning_no_fill(_("Project Id mandatory field"));
}
else if (!strlen(file_dir)) {
show_warning_no_fill(_("The path does not match the specified disk"));
}
else if (!strlen(project_name)) {
show_warning_no_fill(_("Project name mandatory field"));
}
else if (!strlen(project_id) && !active1) {
return 0;
}
return 1;
}
else {
if (strlen(project_name)<=1) {
show_warning_no_fill(_("Project name required field"));
return 0;
}
return 1;
@ -589,6 +596,7 @@ int wrapper_check_save() {
if (check_save()) {
return 1;
}
show_warning_no_fill(_("The list of users is empty"));
return 0;
}
}
@ -732,6 +740,5 @@ void set_activ_project_id() {
}
gtk_widget_set_sensitive(temp_widgets->entryProjectId, !active);
gtk_widget_set_sensitive(temp_widgets->btnGenerateProject, !active);
block_btn_save();
}

@ -43,3 +43,4 @@ int wrapper_check_save();
void block_btn_save();
int table_check_save();
void temp_settings();
void show_warning_no_fill(char* text_mess);

@ -416,4 +416,21 @@ msgstr ""
msgid "Withdraw all groups"
msgstr ""
msgid "The list of users is empty"
msgstr ""
msgid "Project name required field"
msgstr ""
msgid "Project Id mandatory field"
msgstr ""
msgid "The volume and files fields must have at least one value"
msgstr ""
msgid "The path does not match the specified disk"
msgstr ""
msgid "Project name mandatory field"
msgstr ""

@ -423,3 +423,21 @@ msgstr "Настройка квот - Добавление"
msgid "Settings quotas - Editing"
msgstr "Настройка квот - Редактирование"
msgid "The list of users is empty"
msgstr "Список пользователей пуст"
msgid "Project name required field"
msgstr "Имя проекта обязательное поле"
msgid "Project Id mandatory field"
msgstr "Id проекта обязательное поле"
msgid "The volume and files fields must have at least one value"
msgstr "Поля объем и файлы должно быть указано хотя бы одно значение"
msgid "The path does not match the specified disk"
msgstr "Путь не соответствует указанному диску"
msgid "Project name mandatory field"
msgstr "Имя проекта обязательное поле"
Loading…
Cancel
Save