Исправил загрузку данных в интерфейс

pull/24/head
Igor Belitskiy 2 years ago
parent ff4c7f506f
commit a35b15be33

@ -11,6 +11,7 @@ void wrapper_filters_user_show() {
}
void wrapper_filters_group_show() {
filters_set_name("group");
filters_show(NULL, glade_path);
}
void wrapper_filters_project_show() {
@ -20,46 +21,52 @@ void wrapper_filters_project_show() {
void wrapper_add_user_show() {
set_temp_menu("user", "add");
set_vector(&all_config->v_user);
temp_show(NULL, glade_path);
}
void wrapper_edit_user_show() {
int index = wrapper_select_tree_view(&cfg_custom_gui.user);
set_temp_menu("user", "edit");
temp_show(NULL, glade_path);
set_vector(&all_config->v_user);
set_edit_gui_data_base(all_config, index);
}
void wrapper_add_group_show() {
set_temp_menu("group", "add");
set_vector(&all_config->v_group);
temp_show(NULL, glade_path);
}
void wrapper_edit_group_show() {
int index = wrapper_select_tree_view(&cfg_custom_gui.group);
set_temp_menu("group", "edit");
set_vector(&all_config->v_group);
temp_show(NULL, glade_path);
set_edit_gui_data_base(all_config, index);
}
void wrapper_add_project_show() {
set_temp_menu("project", "add");
set_vector(&all_config->v_project);
temp_show(NULL, glade_path);
}
void wrapper_edit_project_show() {
int index = wrapper_select_tree_view(&cfg_custom_gui.project);
set_temp_menu("project", "edit");
temp_show(NULL, glade_path);
set_vector(&all_config->v_project);
set_edit_gui_data_base(all_config, index);
}
int fill_tree_view_project(config_all* all_config, char* disk, hotebook* widget , char* str_fill, int flag_gui_add) {
int fill_tree_view_project(config_all* all_config,hotebook* widget , char* str_fill, int flag_gui_add) {
GtkTreeModel *model = GTK_TREE_MODEL(widget->liststore);
if (flag_gui_add == 0) {
g_object_ref(widget->liststore);
gtk_list_store_clear(widget->liststore);
}
int flag_searhc = 0;
for (int i = 0; i < all_config->v_u_g_p.pfVectorTotal(&all_config->v_u_g_p); i++) {
config_u_g_p* _config = (config_u_g_p*)all_config->v_u_g_p.pfVectorGet(&all_config->v_u_g_p, i);
if (strcmp(_config->type_arr, str_fill) == 0 && strstr(_config->UNIX_file, disk)) {
for (int i = 0; i < all_config->v_project.pfVectorTotal(&all_config->v_project); i++) {
config_u_g_p* _config = (config_u_g_p*)all_config->v_project.pfVectorGet(&all_config->v_project, i);
if (strcmp(_config->type_arr, str_fill) == 0) {
GtkTreeIter iter;
flag_searhc++;
gtk_list_store_append(widget->liststore,&iter);
@ -67,7 +74,7 @@ int fill_tree_view_project(config_all* all_config, char* disk, hotebook* widget
char* deferring_file = wrapper_str_time(_config->deferring_file);
gtk_list_store_set(widget->liststore,&iter,
0,fill_tree_view_id(_config->id),
1,_config->actors,
1,format_actors(&_config->actors),
2,_config->quota,
3,_config->size_memory,
4,philos_format_cfg_str_size_memory("", _config->soft_restriction_size,_config->soft_restriction_size_pow),
@ -94,8 +101,15 @@ int fill_tree_view_user_group(config_all* all_config, char* disk, hotebook* widg
gtk_list_store_clear(widget->liststore);
}
int flag_searhc = 0;
for (int i = 0; i < all_config->v_u_g_p.pfVectorTotal(&all_config->v_u_g_p); i++) {
config_u_g_p* _config = (config_u_g_p*)all_config->v_u_g_p.pfVectorGet(&all_config->v_u_g_p, i);
vector* vec_temp = NULL;
if (strcmp(str_fill, "usrquota")==0) {
vec_temp = &all_config->v_user;
}
else {
vec_temp = &all_config->v_group;
}
for (int i = 0; i < vec_temp->pfVectorTotal(vec_temp); i++) {
config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, i);
if (strcmp(_config->type_arr, str_fill) == 0 && strstr(_config->UNIX_file, disk)) {
GtkTreeIter iter;
flag_searhc++;
@ -103,7 +117,7 @@ int fill_tree_view_user_group(config_all* all_config, char* disk, hotebook* widg
char* deferring_size = wrapper_str_time(_config->deferring_size);
char* deferring_file = wrapper_str_time(_config->deferring_file);
gtk_list_store_set(widget->liststore,&iter,
0,_config->actors,
0,format_actors(&_config->actors),
1,_config->quota,
2,_config->size_memory,
3,philos_format_cfg_str_size_memory("", _config->soft_restriction_size,_config->soft_restriction_size_pow),
@ -141,20 +155,27 @@ void entry_groups_disk() {
}
void entry_project_disk() {
char* activ_text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cfg_custom_gui.group.comboBox));
activ_text= yon_char_divide_search(activ_text, " ", -1);
int find = fill_tree_view_project(all_config, activ_text, &cfg_custom_gui.project,"prjquota", 0);
int find = fill_tree_view_project(all_config, &cfg_custom_gui.project,"prjquota", 0);
if (find == 0) {
g_object_ref(cfg_custom_gui.project.liststore);
gtk_list_store_clear(cfg_custom_gui.project.liststore);
}
}
void tree_view_select_user(GtkWidget* self) {
tree_view_select(NULL,&all_config->v_user , &cfg_custom_gui.user);
}
void tree_view_select_group(GtkWidget* sel) {
tree_view_select(NULL,&all_config->v_group ,&cfg_custom_gui.group);
}
void tree_view_select_project(GtkWidget* self) {
tree_view_select(NULL,&all_config->v_project , &cfg_custom_gui.project);
}
void tree_view_select(GtkWidget* self, hotebook* widgets) {
tree_view_edit(all_config, widgets);
void tree_view_select(GtkWidget* self, vector* vec_temp, hotebook* widgets) {
if (self) {}
tree_view_edit(all_config, vec_temp, widgets);
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->tree_view));
@ -233,12 +254,14 @@ void load_system_cfg() {
all_config->flag_load = 0;
load_template_load_cfg(all_config, CMD_LOAD_SYSTEM);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL, BACKGROUND_IMAGE_SUCCESS_TYPE);
entry_project_disk();
}
void load_global_cfg() {
all_config->flag_load = 1;
load_template_load_cfg(all_config, CMD_LOAD_GLOBAL);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
entry_project_disk();
}
void control_event(main_window* _config_main_gui, custom_window* _config_custom_gui) {
@ -252,18 +275,17 @@ void control_event(main_window* _config_main_gui, custom_window* _config_custom_
g_signal_connect(G_OBJECT(_config_custom_gui->group.btnAdd),"clicked",G_CALLBACK(wrapper_add_group_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->group.btnEdit),"clicked",G_CALLBACK(wrapper_edit_group_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->project.btnAdd),"clicked",G_CALLBACK(wrapper_add_project_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->user.btnEdit),"clicked",G_CALLBACK(wrapper_edit_project_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->project.btnEdit),"clicked",G_CALLBACK(wrapper_edit_project_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->user.btnFilter),"clicked",G_CALLBACK(wrapper_filters_user_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->group.btnFilter),"clicked",G_CALLBACK(wrapper_filters_group_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->project.btnFilter),"clicked",G_CALLBACK(wrapper_filters_project_show), glade_path);
g_signal_connect(G_OBJECT(_config_custom_gui->user.comboBox),"changed",G_CALLBACK(entry_user_disk), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->group.comboBox),"changed",G_CALLBACK(entry_groups_disk), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->project.comboBox),"changed",G_CALLBACK(entry_project_disk), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->user.tree_view), "cursor-changed", G_CALLBACK(tree_view_select), &_config_custom_gui->user);
g_signal_connect(G_OBJECT(_config_custom_gui->group.tree_view), "cursor-changed", G_CALLBACK(tree_view_select), &_config_custom_gui->group);
g_signal_connect(G_OBJECT(_config_custom_gui->project.tree_view), "cursor-changed", G_CALLBACK(tree_view_select), &_config_custom_gui->project);
g_signal_connect(G_OBJECT(_config_custom_gui->user.tree_view), "cursor-changed", G_CALLBACK(tree_view_select_user), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->group.tree_view), "cursor-changed", G_CALLBACK(tree_view_select_group), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->project.tree_view), "cursor-changed", G_CALLBACK(tree_view_select_project), NULL);
}
/*

@ -12,7 +12,7 @@ void wrapper_all_save();
void wrapper_global_save();
void wrapper_system_save();
int fill_tree_view_user_group(config_all* all_config, char* disk, hotebook* widget,char* str_fill , int flag_gui_add);
int fill_tree_view_project(config_all* all_config, char* disk, hotebook* widget, char* str_fill , int flag_gui_add);
int fill_tree_view_project(config_all* all_config, hotebook* widget, char* str_fill , int flag_gui_add);
void entry_user_disk();
void entry_groups_disk();
void entry_project_disk();
@ -25,5 +25,5 @@ void wrapper_edit_project_show();
void wrapper_filters_user_show();
void wrapper_filters_group_show();
void wrapper_filters_project_show();
void tree_view_select(GtkWidget* self, hotebook* widgets);
void tree_view_select(GtkWidget* self, vector* vec_temp, hotebook* widgets);

@ -6,8 +6,12 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) {
char** cfg = yon_config_load(cmd, &size);
philos_array_string_remove_char(&cfg, "\n", size);
int size_loaded_keys = 0;
load_free_vector(_all_config);
vector_init(&_all_config->v_u_g_p);
load_free_vector(_all_config, &_all_config->v_user);
load_free_vector(_all_config, &_all_config->v_group);
load_free_vector(_all_config, &_all_config->v_project);
vector_init(&_all_config->v_user);
vector_init(&_all_config->v_group);
vector_init(&_all_config->v_project);
vector_init(&_all_config->v_disk_status);
for (int index = 0; index < size; index++) {
char* str_key_value = yon_char_new(cfg[index]);
@ -26,7 +30,16 @@ void load_template_load_cfg(config_all* _all_config, char* cmd) {
_config->loaded_keys = yon_char_new(str_key);
load_pars_keys(_config, yon_char_new(str_key), index);
load_pars_values(_config, yon_char_new(str_value), index);
_all_config->v_u_g_p.pfVectorAdd(&_all_config->v_u_g_p,_config);
if (strstr(str_key, "prjquota")) {
_all_config->v_project.pfVectorAdd(&_all_config->v_project,_config);
}
else if (strstr(str_key, "usrquota")) {
_all_config->v_user.pfVectorAdd(&_all_config->v_user,_config);
}
else if (strstr(str_key, "grpquota")){
_all_config->v_group.pfVectorAdd(&_all_config->v_group,_config);
}
}
}
@ -54,9 +67,8 @@ void load_pars_keys_u_g(config_u_g_p* _config, char* str_key, int index) {
int size_comma = 0;
char** arr_user = philos_str_split(arr_keys[size_point-1], &size_comma, ",");
_config->UNIX_file = yon_char_new(arr_keys[1]);
for (int i = 1; i < size_comma; i++) {
_config->actors = yon_char_new(arr_user[i]);
_config->actors.pfVectorAdd(&_config->actors,yon_char_new(arr_user[i]));
}
}
else {
@ -88,7 +100,7 @@ void load_pars_keys_p(config_u_g_p* _config, char* str_key, int index) {
else {
_config->id = atoi(arr_user[0]);
}
_config->actors = yon_char_new(arr_keys[size_comma-1]);
_config->actors.pfVectorAdd(&_config->actors,yon_char_new(arr_keys[size_comma-1]));
}
else {
if (strstr(str_key, "AUTO")) {
@ -151,9 +163,14 @@ void load_pars_values(config_u_g_p* _config, char* str_value, int index) {
}
}
void load_free_vector(config_all* _all_config) {
void load_free_vector(config_all* _all_config, vector* vec_config) {
if (_all_config->flag_not_data == 1) {
_all_config->v_u_g_p.pfVectorFree(&_all_config->v_u_g_p);
for (int i = 0; i < vec_config->pfVectorTotal(vec_config); i++) {
config_u_g_p* _config = (config_u_g_p*)vec_config->pfVectorGet(vec_config, i);
model_clear_cfg(_config);
}
vec_config->pfVectorFree(vec_config);
}
}
@ -172,4 +189,5 @@ char* wrapper_str_time(size_t seconds) {
}
return t.str_time;
}
}

@ -9,7 +9,7 @@ void load_pars_keys(config_u_g_p* _config, char* str_key, int index);
void load_pars_keys_u_g(config_u_g_p* _config, char* str_key, int index);
void load_pars_keys_p(config_u_g_p* _config, char* str_key, int index);
void load_pars_values(config_u_g_p* _config, char* str_value, int index);
void load_free_vector(config_all* _all_config);
void load_free_vector(config_all* _all_config,vector* vec_config);
void load_pars_values_status(disk_status* _config, char* key, char* value);
char* wrapper_str_time(size_t seconds);

@ -7,7 +7,7 @@ void model_clear_cfg(config_u_g_p* _config) {
free(_config->device);
free(_config->UNIX_file);
free(_config->files);
free(_config->actors);
vectorFree(&_config->actors);
free(_config->loaded_keys);
}
@ -22,7 +22,6 @@ void model_null_str_writing(config_u_g_p* _config) {
_config->device = yon_char_new(empty_str);
_config->UNIX_file = yon_char_new(empty_str);
_config->files = yon_char_new(empty_str);
_config->actors = yon_char_new(empty_str);
_config->loaded_keys = yon_char_new(empty_str);
_config->type_arr = yon_char_new(empty_str);
_config->id = -3;
@ -38,6 +37,27 @@ void model_null_str_writing(config_u_g_p* _config) {
_config->soft_restriction_file_pow = -3;
_config->severe_limitation_size_pow = -3;
_config->severe_limitation_file_pow = -3;
vector_init(&_config->actors);
}
char* format_actors(vector* vec_actors) {
char* str_all = yon_char_new("");
char split_simvol[2] = {0};
split_simvol[0] = 0;
split_simvol[1] = 0;
char* str_actors = NULL;
for (int i = 0; i < vec_actors->pfVectorTotal(vec_actors); i++) {
str_actors = (char*)vec_actors->pfVectorGet(vec_actors, i);
if (str_actors) {
str_actors = yon_char_unite(str_all,split_simvol, str_actors, NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
free(str_actors);
}
}
if (strlen(str_all) < 5) {
return yon_char_new("-");
}
return str_all;
}

@ -11,7 +11,8 @@ typedef struct{
char* size_memory;
char* UNIX_file;
char* files;
char* actors;
vector actors;
size_t actors_size;
char* loaded_keys;
int status_set;
@ -39,7 +40,9 @@ typedef struct{
typedef struct {
vector v_general;
vector v_u_g_p;
vector v_user;
vector v_group;
vector v_project;
vector v_disk_status;
int flag_set_data;
int flag_save;
@ -64,5 +67,6 @@ typedef struct{
void model_null_str_writing(config_u_g_p* _config);
void model_clear_cfg(config_u_g_p* _config);
void model_array_size_memory();
char* format_actors(vector* vec_actors);
#endif

@ -132,7 +132,7 @@ void philos_free_int_array_n2(int ***array, int size) {
}
}
config_str philos_list_group(int* size) {
config_str philos_list_user(int* size) {
char* str_uid_min = "UID_MIN";
char* str_uid_max = "UID_MAX";
unsigned short uid_min = philos_read_uid_min_max(file_source_login_min_max, str_uid_min);
@ -200,7 +200,7 @@ unsigned short philos_read_uid_min_max(char* filename, char* search) {
}
config_str philos_list_user(int* size) {
config_str philos_list_group(int* size) {
char* str_uid_min = "UID_MIN";
char* str_uid_max = "UID_MAX";
unsigned short uid_min = philos_read_uid_min_max(file_source_login_min_max, str_uid_min);
@ -523,28 +523,14 @@ void philos_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *co
}
}
}
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd) {
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
size_t value_spin = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
size_t resurs = get_resurs_total(cmd);
if (value_spin>0) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),1);
}
else if (active == 0) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), 0);
}
if (flag_cpu == 0) {
philos_set_spin_adjustment(check, spin, combo, resurs);
if (value_spin>resurs) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), resurs);
}
}
else {
philos_set_spin_adjustment(check, spin, NULL, resurs);
}
if (combo) {
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
gtk_widget_set_sensitive(combo, active);
}
}
size_t get_resurs_total(char* cmd) {
@ -864,3 +850,5 @@ char* fill_tree_view_id(int id) {
}
}

@ -69,7 +69,8 @@ typedef struct {
GtkWidget* quotegroupFilesSoftLimitSpin;
GtkWidget* quotegroupFilesHardLimitCheck;
GtkWidget* quotegroupFilesHardLimitSpin;
GtkWidget* lblSetNameDevice;
GtkWidget* boxProjectAddEditboxProjectId;
} temp_set_window;
@ -131,7 +132,7 @@ int** remove_element_int_array_n3(int** array, int* size, int item_to_delete);
char* philos_get_size_bite(GtkWidget* chk_button, GtkWidget* spin, GtkWidget* combo_box_text);
void philos_fill_combo_box_text(GtkWidget *cbt, config_str list_data, int size);
void philos_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value);
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo);
size_t get_resurs_total(char* cmd);
float get_size_pow_memory(size_t size_memory, int size);
void philos_set_active_widgets_device_io(GtkWidget* combo_to_l2,GtkWidget *check, GtkWidget *spin, GtkWidget *combo);

@ -2,7 +2,7 @@
#define SAVE_H
#include "save.h"
/*
char* template_format_save(config_all* _all_config, char* source_set_cmd) {
char* cmd = yon_char_new("");
for (int i = 0; i < _all_config->v_u_g_p.pfVectorTotal(&_all_config->v_u_g_p); i++) {
@ -123,17 +123,17 @@ char* save_str_users(config_u_g_p* config, int index) {
split_simvol[0] = 0;
split_simvol[1] = 0;
if (strstr(config->type_arr, "prjquota")) {
for (int i=0; config->actors[i]; i++) {
cmd = yon_char_unite(":", split_simvol, config->actors[i], NULL);
split_simvol[0] = ',';
split_simvol[1] = '\0';
}
//for (int i=0; config->actors[i]; i++) {
// cmd = yon_char_unite(":", split_simvol, config->actors[i], NULL);
// split_simvol[0] = ',';
// split_simvol[1] = '\0';
//}
}
else {
}
}
/*
char* save_format_status_cmd(config_u_g_p* config, int index) {
if (config->status_set == 1) {
return NULL;
@ -146,7 +146,7 @@ char* save_format_status_cmd(config_u_g_p* config, int index) {
}
return yon_char_new("disable");
}
*/
int save_check_save(config_all* _all_config) {
if (_all_config->flag_set_data == 1 || _all_config->flag_save>0) {
return 0;
@ -169,5 +169,5 @@ void save_remove_array(config_all* _all_config) {
}
}
}
*/
#endif

@ -1750,7 +1750,7 @@ void yon_ubl_browser_window_open(char *link, char *browser_window_name){
if (!user)
user=getlogin();
char *command=yon_char_unite("sudo -u ",user," xdg-open ", link,NULL);
yon_launch_app(command);
yon_launch(command);
}
#endif

@ -3,7 +3,7 @@
// https://aticleworld.com/implement-vector-in-c/
#define VECTOR_INIT_CAPACITY 6
#define VECTOR_INIT_CAPACITY 7
#define UNDEFINE -1
#define SUCCESS 0
//Store and track the stored data
@ -27,4 +27,11 @@ struct sVector
int (*pfVectorDelete)(vector *, int);
int (*pfVectorFree)(vector *);
};
void vector_init(vector *v);
void vector_init(vector *v);
int vectorFree(vector *v);
int vectorDelete(vector *v, int index);
void *vectorGet(vector *v, int index);
int vectorSet(vector *v, int index, void *item);
int vectorPushBack(vector *v, void *item);
int vectorResize(vector *v, int capacity);
int vectorTotal(vector *v);

@ -187,10 +187,10 @@ main_window *setup_window(main_window* widgets, custom_window* custom_widgets){
gtk_widget_show(widgets->Window);
return widgets;
}
int tree_view_edit(config_all* _all_config, hotebook* widgets) {
int tree_view_edit(config_all* _all_config, vector* vec_temp, hotebook* widgets) {
int index = wrapper_select_tree_view(widgets);
if (index < 0) {
config_u_g_p* _config = (config_u_g_p*)_all_config->v_u_g_p.pfVectorGet(&_all_config->v_u_g_p, index);
config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, index);
set_time_spin(widgets,_config->deferring_file, _config->deferring_size);
}
}
@ -198,10 +198,8 @@ int tree_view_edit(config_all* _all_config, hotebook* widgets) {
custom_window *setup_window_custom(custom_window* custom_widgets, GtkBuilder *builder) {
custom_widgets->user.comboBox = yon_gtk_builder_get_widget(builder,"usersDeviceCombo");
custom_widgets->group.comboBox = yon_gtk_builder_get_widget(builder,"groupsDeviceCombo");
custom_widgets->project.comboBox = yon_gtk_builder_get_widget(builder,"ProjectDeviceCombo");
device_fill_disk(custom_widgets->user.comboBox);
device_fill_disk(custom_widgets->group.comboBox);
device_fill_disk(custom_widgets->project.comboBox);
custom_widgets->user.btnAdd = yon_gtk_builder_get_widget(builder,"btnAddUsers");
custom_widgets->user.btnEdit = yon_gtk_builder_get_widget(builder,"btnEditUsers");
custom_widgets->user.btnDel = yon_gtk_builder_get_widget(builder,"btnDelUsers");

@ -124,6 +124,6 @@ custom_window *setup_window_custom(custom_window* custom_widgets, GtkBuilder *bu
void on_link(GtkWidget *self, char* uri, gpointer user_data);
void config_init(config_settings_gui* main_config);
int wrapper_select_tree_view(hotebook* widgets);
int tree_view_edit(config_all* _all_config, hotebook* widgets);
int tree_view_edit(config_all* _all_config, vector* vec_temp, hotebook* widgets);
void set_time_spin(hotebook* widgets, size_t seconds_file, size_t seconds_size);
#endif

@ -15,12 +15,12 @@ table_u_g *setup_table_u_g(){
table_widgets->liststoreUsersGroups = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststoreUsersGroups"));
int size = 0;
if (strcmp(flag_u_g, "group")==0) {
char** array_user = philos_list_group(&size);
table_u_g_fill_tree_view(array_user, size);
char** array_groups = philos_list_group(&size);
table_u_g_fill_tree_view(array_groups, size);
}
else if (strcmp(flag_u_g, "user") == 0) {
char** array_groups = philos_list_user(&size);
table_u_g_fill_tree_view(array_groups, size);
char** array_user = philos_list_user(&size);
table_u_g_fill_tree_view(array_user, size);
}
table_u_g_event();
}

@ -29,4 +29,5 @@ void table_u_g_event();
void table_u_g_fill_tree_view(char** array, int size);
void table_u_g_set_flag(char* _flag_u_g);
void table_u_g_set_glade_path(char* _glade_path);
void table_u_g_show(GtkWidget *self, char* glade_path);
void table_u_g_show(GtkWidget *self, char* glade_path);
void set_vector(vector* _vec_temp);

@ -1,15 +1,20 @@
#include "view_temp_u_g_p.h"
temp_set_window *temp_widgets = NULL;
char* path_project = NULL;
char* flag_temp_u_g_p;
char* set_add_edit;
char* _glade_path = NULL;
vector* vec_temp = NULL;
temp_set_window *get_widget_temp() {
return temp_widgets;
}
void set_vector(vector* _vec_temp) {
vec_temp = _vec_temp;
}
temp_set_window *temp_setup_window_base(char* __glade_path) {
_glade_path = __glade_path;
if (temp_widgets == NULL) {
@ -19,9 +24,9 @@ temp_set_window *temp_setup_window_base(char* __glade_path) {
temp_widgets->btnSaveTempSave = yon_gtk_builder_get_widget(builder,"quotegroupSaveButton");
temp_widgets->btnTempCancel = yon_gtk_builder_get_widget(builder,"quotegroupCancelButton");
temp_setup_window_custom(temp_widgets, builder);
temp_event(temp_widgets);
temp_init_windows();
temp_localization(temp_widgets);
temp_event(temp_widgets);
}
return temp_widgets;
}
@ -37,6 +42,7 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
temp_widgets->entryProjectName = yon_gtk_builder_get_widget(builder, "entryProjectName");
temp_widgets->boxProjectAddEdit = yon_gtk_builder_get_widget(builder, "boxProjectAddEdit");
temp_widgets->boxProject = yon_gtk_builder_get_widget(builder, "boxProject");
temp_widgets->boxProjectAddEditboxProjectId = yon_gtk_builder_get_widget(builder, "boxProjectAddEditboxProjectId");
temp_widgets->lblOpenUserGroup = yon_gtk_builder_get_widget(builder, "lblOpenUserGroup");
temp_widgets->lblHeadQuotasEditWindow = yon_gtk_builder_get_widget(builder, "lblHeadQuotasEditWindow");
@ -50,13 +56,17 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
temp_widgets->quotegroupFilesSoftLimitSpin = yon_gtk_builder_get_widget(builder, "quotegroupFilesSoftLimitSpin");
temp_widgets->quotegroupFilesHardLimitCheck = yon_gtk_builder_get_widget(builder, "quotegroupFilesHardLimitCheck");
temp_widgets->quotegroupFilesHardLimitSpin = yon_gtk_builder_get_widget(builder, "quotegroupFilesHardLimitSpin");
temp_widgets->entryProjectId = yon_gtk_builder_get_widget(builder, "entryProjectId");
temp_widgets->lblSetNameDevice = yon_gtk_builder_get_widget(builder, "lblSetNameDevice");
temp_widgets->lblCatalogProjectEdit = yon_gtk_builder_get_widget(builder, "lblCatalogProjectEdit");
temp_widgets->lblProjectIdValueEdit = yon_gtk_builder_get_widget(builder, "lblProjectIdValueEdit");
table_u_g_set_flag(flag_temp_u_g_p);
table_u_g_set_glade_path(_glade_path);
if (strcmp(flag_temp_u_g_p,"project")==0) {
gtk_widget_hide(temp_widgets->lblSetUGP);
gtk_widget_hide(temp_widgets->lblSetUGPData);
gtk_widget_hide(temp_widgets->btnOpenUserGroup);
if (strcmp(set_add_edit, "add")==0) {
gtk_widget_hide(temp_widgets->btnOpenUserGroup);
gtk_widget_hide(temp_widgets->lblCatalogProjectEdit);
gtk_widget_hide(temp_widgets->lblProjectIdValueEdit);
gtk_label_set_label(GTK_LABEL(temp_widgets->lblHeadQuotasEditWindow), _("Settings disk quotas - Addition"));
@ -71,6 +81,7 @@ temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuil
}
}
else {
gtk_widget_hide(temp_widgets->boxProjectAddEditboxProjectId);
if (strcmp(flag_temp_u_g_p, "user")==0) {
gtk_label_set_label(GTK_LABEL(temp_widgets->lblOpenUserGroup), _("Users"));
}
@ -105,10 +116,12 @@ void temp_show(GtkWidget *self, char* _glade_path) {
if (temp_widgets != NULL) {
gtk_widget_show(temp_widgets->Window);
temp_init_windows();
event_toggled_all();
}
else {
temp_setup_window_base(_glade_path);
gtk_widget_show(temp_widgets->Window);
event_toggled_all();
}
}
@ -122,6 +135,14 @@ void temp_init_windows() {
void temp_event(temp_set_window* temp_widgets) {
g_signal_connect(G_OBJECT(temp_widgets->btnTempCancel),"clicked",G_CALLBACK(temp_on_destroy_subwindow),NULL);
g_signal_connect(G_OBJECT(temp_widgets->Window), "destroy", G_CALLBACK(temp_destroy), NULL);
g_signal_connect(G_OBJECT(temp_widgets->quotegroupSizeSoftLimitCheck), "toggled", G_CALLBACK(event_toggled_all), NULL);
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->btnSaveTempSave),"clicked",G_CALLBACK(temp_on_destroy_subwindow),NULL);
if (strcmp(flag_temp_u_g_p,"project")==0) {
g_signal_connect(G_OBJECT(temp_widgets->btnOpenUserGroup),"clicked",G_CALLBACK(wrapper_show_file_manager),NULL);
}
@ -130,6 +151,22 @@ void temp_event(temp_set_window* temp_widgets) {
}
}
void event_toggled_all() {
philos_set_active_widgets(temp_widgets->quotegroupSizeSoftLimitCheck,
temp_widgets->quotegroupSizeSoftLimitSpin,
temp_widgets->quotegroupSizeSoftLimitCombo);
philos_set_active_widgets(temp_widgets->quotegroupSizeHardLimitCheck,
temp_widgets->quotegroupSizeHardLimitSpin,
temp_widgets->quotegroupSizeHardLimitCombo
);
philos_set_active_widgets(temp_widgets->quotegroupFilesSoftLimitCheck,
temp_widgets->quotegroupFilesSoftLimitSpin,
NULL
);
philos_set_active_widgets(temp_widgets->quotegroupFilesHardLimitCheck,
temp_widgets->quotegroupFilesHardLimitSpin,
NULL);
}
void wrapper_show_file_manager() {
GtkBuilder *builder = gtk_builder_new_from_resource(_glade_path);
@ -165,14 +202,15 @@ void destroy_file_manager(GtkWidget *self) {
}
void btn_ok_file_manager(GtkWidget *self) {
path_project = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(temp_widgets->wndChooseFileWallpaper));
char* path_project = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(temp_widgets->wndChooseFileWallpaper));
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryCatalogProject), path_project);
destroy_file_manager(self);
}
void set_edit_gui_data_base(config_all* all_config, int index) {
config_u_g_p* _config = (config_u_g_p*)all_config->v_u_g_p.pfVectorGet(&all_config->v_u_g_p, index);
config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, index);
if (_config && index >= 0) {
set_widget(temp_widgets->quotegroupSizeSoftLimitCheck,
temp_widgets->quotegroupSizeSoftLimitSpin,
@ -198,8 +236,20 @@ void set_edit_gui_data_base(config_all* all_config, int index) {
_config->severe_limitation_file,
0
);
if (strcmp(flag_temp_u_g_p,"project") == 0) {
if (strcmp(set_add_edit, "add")==0) {
}
else {
gtk_entry_set_text(GTK_ENTRY(temp_widgets->entryProjectId), fill_tree_view_id(_config->id));
gtk_label_set_label(GTK_LABEL(temp_widgets->lblCatalogProjectEdit), _config->UNIX_file);
gtk_label_set_label(GTK_LABEL(temp_widgets->lblProjectIdValueEdit), format_actors(&_config->actors));
}
}
else {
}
}
}
void set_time_spin(hotebook* widgets, size_t seconds_file, size_t seconds_size) {
me_time t_file = time_convert(seconds_file);
@ -244,20 +294,76 @@ void set_widget(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, int value_s
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
}
}
}
void get_edit_gui_data_base(config_all* all_config, int index) {
config_u_g_p* _config = (config_u_g_p*)all_config->v_u_g_p.pfVectorGet(&all_config->v_u_g_p, index);
config_u_g_p* _config = (config_u_g_p*)vec_temp->pfVectorGet(vec_temp, index);
if (_config && index >= 0) {
_config = get_temp_gui_data_base(_config);
vec_temp->pfVectorSet(vec_temp, index, _config);
}
}
void get_add_gui_data_base(config_all* all_config) {
config_u_g_p* _config = malloc(sizeof(config_u_g_p));
if (_config) {
_config = get_temp_gui_data_base(_config);
vec_temp->pfVectorAdd(vec_temp, _config);
}
}
config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config) {
set_widget_config(temp_widgets->quotegroupSizeSoftLimitCheck,
temp_widgets->quotegroupSizeSoftLimitSpin,
temp_widgets->quotegroupSizeSoftLimitCombo,
&_config->soft_restriction_size,
&_config->soft_restriction_size_pow
);
set_widget_config(temp_widgets->quotegroupSizeHardLimitCheck,
temp_widgets->quotegroupSizeHardLimitSpin,
temp_widgets->quotegroupSizeHardLimitCombo,
&_config->severe_limitation_size,
&_config->severe_limitation_size_pow
);
set_widget_config(temp_widgets->quotegroupFilesSoftLimitCheck,
temp_widgets->quotegroupFilesSoftLimitSpin,
NULL,
&_config->soft_restriction_file,
NULL
);
set_widget_config(temp_widgets->quotegroupFilesHardLimitCheck,
temp_widgets->quotegroupFilesHardLimitSpin,
NULL,
&_config->severe_limitation_file,
NULL
);
if (strcmp(flag_temp_u_g_p,"project") == 0) {
}
else {
}
all_config->pfVectorSet(_config, index);
return _config;
}
void set_widget_config(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, size_t* value, int* mem_size) {
gboolean active = active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
if (active) {
(*value) = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
if (combo) {
if ((*value) != 0) {
(*mem_size) = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
}
else {
(*mem_size) = -3;
}
}
}
else {
(*value) = 0;
if (combo) {
(*mem_size) = -3;
}
}
}

@ -28,5 +28,10 @@ void destroy_file_manager(GtkWidget *self);
void show_file_manger(temp_set_window* temp_widgets, GtkBuilder *builder);
temp_set_window *temp_setup_window_custom(temp_set_window* temp_widgets, GtkBuilder *builder);
void wrapper_show_file_manager();
void event_toggled_all();
void set_widget_config(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, size_t* value, int* mem_size);
void set_edit_gui_data_base(config_all* all_config, int index);
config_u_g_p* get_temp_gui_data_base(config_u_g_p* _config);
void get_add_gui_data_base(config_all* all_config);
void get_edit_gui_data_base(config_all* all_config, int index);
void set_widget(GtkWidget* check, GtkWidget* spin, GtkWidget* combo, int value_spin, int pow_mem_size);

Binary file not shown.

@ -189,142 +189,142 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child>
</object>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment10">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment11">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment12">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment13">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment14">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment15">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment16">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment17">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment18">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment19">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment2">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment20">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment21">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment22">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment23">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment24">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment25">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment26">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment27">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment28">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment3">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment4">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment5">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment6">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment7">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment8">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment9">
<property name="upper">100</property>
<property name="upper">1000000</property>
<property name="step-increment">1</property>
<property name="page-increment">10</property>
</object>
@ -401,6 +401,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkLabel" id="lblQuotasStatus1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">5</property>
<property name="margin-start">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="label" translatable="yes">Quota use status:</property>
@ -435,6 +437,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -529,17 +534,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<object class="GtkBox" id="boxProject">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -651,107 +656,55 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkBox" id="boxProjectAddEditboxProjectId">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="lblProjectId">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLabel" id="lblProjectId">
<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="label" translatable="yes">Project ID</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="GtkCheckButton" id="chbAuto">
<property name="label" translatable="yes">Auto</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">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="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entryProjectId">
<property name="visible">True</property>
<property name="can-focus">True</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="completion">entrycompletion2</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="btnGenerateProject">
<property name="label" translatable="yes">Generate</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblProjectIdValueEdit">
<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="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<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="label" translatable="yes">Project ID</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="GtkCheckButton" id="chbAuto">
<property name="label" translatable="yes">Auto</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">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="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
@ -760,15 +713,70 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</packing>
</child>
<child>
<placeholder/>
<object class="GtkEntry" id="entryProjectId">
<property name="visible">True</property>
<property name="can-focus">True</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="completion">entrycompletion2</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="btnGenerateProject">
<property name="label" translatable="yes">Generate</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblProjectIdValueEdit">
<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="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">5</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<object class="GtkBox" id="boxProjectAddEdit">
<property name="visible">True</property>
@ -813,12 +821,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
<property name="position">7</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
@ -4061,63 +4066,17 @@ limitation
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<object class="GtkComboBoxText">
<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="spacing">5</property>
<child>
<object class="GtkLabel" id="usersProjectLabel">
<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="label" translatable="yes">Device:</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="ProjectDeviceCombo">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText">
<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>
<items>
<item translatable="yes">Off</item>
<item translatable="yes">Not set</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<items>
<item translatable="yes">Off</item>
<item translatable="yes">Not set</item>
</items>
</object>
<packing>
<property name="expand">False</property>

Loading…
Cancel
Save