Исправил блокировки

pull/24/head
Igor Belitskiy 2 years ago
parent 1f728a671b
commit dce6b32d10

@ -5,6 +5,10 @@ custom_window cfg_custom_gui;
config_settings_gui main_config;
config_all all_config;
int index_selected = -1;
int note_selected = -1;
// 0 user
// 1 group
// 3 project
void wrapper_filters_user_show() {
filters_get_tree_view(cfg_custom_gui.user.tree_view);
@ -134,16 +138,15 @@ void block_button_add_edit_del(hotebook* obj_note) {
flag_block = 1;
}
gtk_widget_set_sensitive(obj_note->btnAdd, flag_block);
gtk_widget_set_sensitive(obj_note->btnEdit, flag_block);
gtk_widget_set_sensitive(obj_note->btnDel, flag_block);
if (index_selected!=-1 || flag_block == 0) {
gtk_widget_set_sensitive(obj_note->boxSpins, flag_block);
gtk_widget_set_sensitive(obj_note->btnEdit, flag_block);
if (index_selected==-1) {
gtk_widget_set_sensitive(obj_note->boxSpins, 0);
}
}
void entry_user_disk(GtkWidget *self, int* flag_update) {
block_button_add_edit_del(&cfg_custom_gui.user);
if (flag_update) {
all_config.flag_set_data = 1;
all_config.flag_save = 3;
@ -159,8 +162,10 @@ void entry_user_disk(GtkWidget *self, int* flag_update) {
}
wrapper_fill_tree_view_generate(&all_config, &cfg_custom_gui);
}
void entry_groups_disk(GtkWidget *self,int* flag_update) {
block_button_add_edit_del(&cfg_custom_gui.group);
if (flag_update) {
all_config.flag_set_data = 1;
all_config.flag_save = 3;
@ -176,6 +181,17 @@ void entry_groups_disk(GtkWidget *self,int* flag_update) {
}
wrapper_fill_tree_view_generate(&all_config, &cfg_custom_gui);
}
void wrapper_entry_groups_disk(GtkWidget *self) {
block_button_add_edit_del(&cfg_custom_gui.group);
entry_groups_disk(0,0);
}
void wrapper_entry_user_disk(GtkWidget *self) {
block_button_add_edit_del(&cfg_custom_gui.user);
entry_user_disk(0,0);
}
void entry_project_disk(GtkWidget *self,int* flag_update) {
if (flag_update) {
all_config.flag_set_data = 1;
@ -191,6 +207,7 @@ void entry_project_disk(GtkWidget *self,int* flag_update) {
}
void tree_view_select_user(GtkWidget* self) {
note_selected = 0;
block_tree_view(&cfg_custom_gui.user,tree_view_select_user);
block_spin_time(&cfg_custom_gui.user, wrapper_get_spin_time_gui_user);
tree_view_select(NULL,&all_config.v_user , &cfg_custom_gui.user);
@ -198,6 +215,7 @@ void tree_view_select_user(GtkWidget* self) {
unlock_tree_view(&cfg_custom_gui.user,tree_view_select_user);
}
void tree_view_select_group(GtkWidget* sel) {
note_selected = 1;
block_tree_view(&cfg_custom_gui.group,tree_view_select_group);
block_spin_time(&cfg_custom_gui.group, wrapper_get_spin_time_gui_group);
tree_view_select(NULL,&all_config.v_group ,&cfg_custom_gui.group);
@ -205,6 +223,7 @@ void tree_view_select_group(GtkWidget* sel) {
unlock_tree_view(&cfg_custom_gui.group,tree_view_select_group);
}
void tree_view_select_project(GtkWidget* self) {
note_selected = 2;
block_tree_view(&cfg_custom_gui.project,tree_view_select_project);
block_spin_time(&cfg_custom_gui.project, wrapper_get_spin_time_gui_project);
tree_view_select(NULL,&all_config.v_project , &cfg_custom_gui.project);
@ -238,33 +257,50 @@ void tree_view_select(GtkWidget* self, vector* vec_temp, hotebook* widgets) {
else {
gtk_widget_set_sensitive(widgets->btnDel, 0);
gtk_widget_set_sensitive(widgets->btnEdit, 0);
if (index_selected != -1) {
gtk_widget_set_sensitive(widgets->boxSpins, 0);
}
if (widgets->note_selected == note_selected && index_selected>= 0) {
gtk_widget_set_sensitive(widgets->btnAdd, 1);
gtk_widget_set_sensitive(widgets->btnDel, 1);
gtk_widget_set_sensitive(widgets->btnEdit, 1);
gtk_widget_set_sensitive(widgets->boxSpins, 1);
}
else {
gtk_widget_set_sensitive(widgets->btnDel, 0);
gtk_widget_set_sensitive(widgets->btnEdit, 0);
gtk_widget_set_sensitive(widgets->boxSpins, 0);
}
}
void wrapper_get_spin_time_gui_user() {
if (note_selected == 0) {
block_spin_time(&cfg_custom_gui.user, wrapper_get_spin_time_gui_user);
get_spin_time_gui(&all_config.v_user, &cfg_custom_gui.user);
entry_user_disk(0, 0);
unlock_spin_time(&cfg_custom_gui.user, wrapper_get_spin_time_gui_user);
}
}
void wrapper_get_spin_time_gui_group() {
if (note_selected == 1) {
block_spin_time(&cfg_custom_gui.group, wrapper_get_spin_time_gui_group);
get_spin_time_gui(&all_config.v_group, &cfg_custom_gui.group);
entry_groups_disk(0, 0);
unlock_spin_time(&cfg_custom_gui.group, wrapper_get_spin_time_gui_group);
}
}
void wrapper_get_spin_time_gui_project() {
if (note_selected == 2) {
block_spin_time(&cfg_custom_gui.project, wrapper_get_spin_time_gui_project);
get_spin_time_gui(&all_config.v_project, &cfg_custom_gui.project);
entry_project_disk(0, 0);
unlock_spin_time(&cfg_custom_gui.project, wrapper_get_spin_time_gui_project);
}
}
void get_spin_time_gui(vector* vec_u_g_p, hotebook* widgets) {
if (index_selected != -1) {
@ -301,6 +337,7 @@ void template_remove(vector* vec_temp, hotebook* widgets) {
}
void user_remove() {
if (note_selected == 0) {
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(cfg_custom_gui.user.liststore);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cfg_custom_gui.user.tree_view));
@ -309,8 +346,10 @@ void user_remove() {
}
template_remove(&all_config.v_user, &cfg_custom_gui.user);
}
}
void group_remove() {
if (note_selected == 1) {
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(cfg_custom_gui.group.liststore);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cfg_custom_gui.group.tree_view));
@ -319,8 +358,10 @@ void group_remove() {
}
template_remove(&all_config.v_group ,&cfg_custom_gui.group);
}
}
void project_remove() {
if (note_selected == 2) {
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(cfg_custom_gui.project.liststore);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(cfg_custom_gui.project.tree_view));
@ -329,6 +370,7 @@ void project_remove() {
}
template_remove(&all_config.v_project , &cfg_custom_gui.project);
}
}
int tree_view_edit(config_all* _all_config, vector* vec_temp, hotebook* widgets) {
int index = wrapper_select_tree_view(widgets);
if (index >= 0) {
@ -346,7 +388,6 @@ int wrapper_select_tree_view(hotebook* widgets) {
char* str_iter = gtk_tree_model_get_string_from_iter(model, &iter);
index = atoi(str_iter);
index_selected = index;
gtk_widget_set_sensitive(widgets->boxSpins, 1);
}
else {
}
@ -421,8 +462,8 @@ void control_event(main_window* _config_main_gui, custom_window* _config_custom_
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->user.comboBox),"changed",G_CALLBACK(wrapper_entry_user_disk), NULL);
g_signal_connect(G_OBJECT(_config_custom_gui->group.comboBox),"changed",G_CALLBACK(wrapper_entry_groups_disk), NULL);
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);
@ -619,9 +660,8 @@ int main(int argc, char *argv[]){
filters_set_name("prjquota");
filters_init_flag();
control_event(widgets, &cfg_custom_gui);
block_button_add_edit_del(&cfg_custom_gui.user);
block_button_add_edit_del(&cfg_custom_gui.group);
tree_view_select(NULL,&all_config.v_project , &cfg_custom_gui.project);
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);
yon_ubl_status_box_setup(widgets->StatusIcon,widgets->StatusBox,widgets->StatusLabel);
@ -638,6 +678,7 @@ int main(int argc, char *argv[]){
load_system_cfg();
}
}
yon_ubl_setup_sockets(widgets->PlugBox,widgets->LeftBox,widgets->RightBox,main_config.socket_id,main_config.load_socket_id,main_config.save_socket_id);
yon_window_config_setup(GTK_WINDOW(widgets->Window));
yon_window_config_load(config_path);
@ -646,5 +687,8 @@ int main(int argc, char *argv[]){
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
GTK_STYLE_PROVIDER(css),
-1);
block_button_add_edit_del(&cfg_custom_gui.user);
block_button_add_edit_del(&cfg_custom_gui.group);
tree_view_select(NULL,&all_config.v_project , &cfg_custom_gui.project);
gtk_main();
}

@ -77,6 +77,7 @@ typedef struct {
typedef struct {
char* name;
int note_selected;
GtkListStore *liststore;
GtkWidget* tree_view;
GtkWidget* btnAdd;

@ -208,6 +208,10 @@ custom_window *setup_window_custom(custom_window* custom_widgets, GtkBuilder *bu
custom_widgets->group.name = yon_char_new("grpquota");
custom_widgets->project.name = yon_char_new("grpquota");
custom_widgets->user.note_selected = 0;
custom_widgets->group.note_selected = 1;
custom_widgets->project.note_selected = 2;
custom_widgets->user.boxSpins = yon_gtk_builder_get_widget(builder,"boxGeneralUsersEnableCheck");
custom_widgets->group.boxSpins = yon_gtk_builder_get_widget(builder,"boxGeneralGroupEnableCheck");
custom_widgets->project.boxSpins = yon_gtk_builder_get_widget(builder,"boxGeneralProjectEnableCheck");

@ -623,6 +623,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
@ -693,6 +694,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</child>
<child>
<object class="GtkBox" id="boxProjectAddEditboxProjectId">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox" id="boxProjectSize">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
@ -734,6 +739,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<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="GtkEntry" id="entryProjectId">
<property name="visible">True</property>
@ -749,44 +761,46 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btnGenerateProject">
<property name="label" translatable="yes">Generate</property>
<object class="GtkLabel" id="lblProjectIdValueEdit">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">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">3</property>
<property name="pack-type">end</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lblProjectIdValueEdit">
<object class="GtkButton" id="btnGenerateProject">
<property name="label" translatable="yes">Generate</property>
<property name="visible">True</property>
<property name="can-focus">False</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>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="pack-type">end</property>
<property name="position">6</property>
</packing>
</child>
</object>
@ -814,6 +828,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="label" translatable="yes">Project Name:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1380,6 +1395,28 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
</object>
</child>
</object>
<object class="GtkSizeGroup">
<property name="mode">both</property>
<widgets>
<widget name="quotegroupSizeSoftLimitSpin"/>
<widget name="quotegroupFilesSoftLimitSpin"/>
</widgets>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="btnReviewProject"/>
<widget name="btnGenerateProject"/>
</widgets>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="lblQuotasStatus1"/>
<widget name="lblSetUGP"/>
<widget name="lblCatalogProject"/>
<widget name="boxProjectSize"/>
<widget name="lblProjectName"/>
</widgets>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can-focus">False</property>

Loading…
Cancel
Save