Добавлены блокировки кнопок

pull/2/head
Igor Belitskiy 2 years ago
parent 39a03cc26a
commit fd89c260e3

@ -275,20 +275,19 @@ void main_cbx_2_event() {
void tree_view_select(GtkWidget *self, main_window *widgets) { void tree_view_select(GtkWidget *self, main_window *widgets) {
GtkTreeIter iter; GtkTreeIter iter;
char *name; GtkTreeModel *model = GTK_TREE_MODEL(main_config.list);
GtkTreeModel *list_s=GTK_TREE_MODEL(main_config.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->treeViewMain)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->treeViewMain));
if (gtk_tree_selection_get_selected(selection, &list_s, &iter)){ if(gtk_tree_selection_get_selected(selection, &model, &iter)) {
int installed=0; gtk_widget_set_sensitive(widgets->btnAdd,1);
gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->treeViewMain)),&iter,0,&installed,-1); gtk_widget_set_sensitive(widgets->btnDelQuotas,1);
if (installed==1){ gtk_widget_set_sensitive(widgets->btnEdit,1);
gtk_widget_set_sensitive(widgets->btnAdd,0); }
gtk_widget_set_sensitive(widgets->btnDelQuotas,1); else {
} else { gtk_widget_set_sensitive(widgets->btnAdd,1);
gtk_widget_set_sensitive(widgets->btnAdd,1); gtk_widget_set_sensitive(widgets->btnDelQuotas,0);
gtk_widget_set_sensitive(widgets->btnDelQuotas,0); gtk_widget_set_sensitive(widgets->btnEdit,0);
}
} }
} }
void tree_view_add(int index) { void tree_view_add(int index) {
@ -341,7 +340,7 @@ int tree_view_edit() {
5,main_config.cpu_limit[index], 5,main_config.cpu_limit[index],
6,main_config.i_o_limit_read[index], 6,main_config.i_o_limit_read[index],
7,main_config.i_o_limit_write[index],-1); 7,main_config.i_o_limit_write[index],-1);
return 0; return 1;
} }
else { else {
return 0; return 0;
@ -386,7 +385,7 @@ void main_event(main_window *widgets) {
g_signal_connect(G_OBJECT(widgets->cbtMainInfo),"changed",G_CALLBACK(main_update_information), NULL); g_signal_connect(G_OBJECT(widgets->cbtMainInfo),"changed",G_CALLBACK(main_update_information), NULL);
g_signal_connect(G_OBJECT(widgets->cbtMainInfoLevel2),"changed",G_CALLBACK(main_cbx_2_event), NULL); g_signal_connect(G_OBJECT(widgets->cbtMainInfoLevel2),"changed",G_CALLBACK(main_cbx_2_event), NULL);
g_signal_connect(G_OBJECT(widgets->btnDelQuotas), "clicked", G_CALLBACK(tree_view_del_line), widgets); g_signal_connect(G_OBJECT(widgets->btnDelQuotas), "clicked", G_CALLBACK(tree_view_del_line), widgets);
//g_signal_connect(G_OBJECT(widgets->treeViewMain), "cursor-changed", G_CALLBACK(tree_view_select), widgets); g_signal_connect(G_OBJECT(widgets->treeViewMain), "cursor-changed", G_CALLBACK(tree_view_select), widgets);
/* /*
g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(),NULL); g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(),NULL);
g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(),NULL); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(),NULL);
@ -438,10 +437,8 @@ void tree_view_del_line() {
if(gtk_tree_selection_get_selected(selection, &model, &iter)) { if(gtk_tree_selection_get_selected(selection, &model, &iter)) {
char* str_iter = gtk_tree_model_get_string_from_iter(model, &iter); char* str_iter = gtk_tree_model_get_string_from_iter(model, &iter);
index = atoi(str_iter); index = atoi(str_iter);
printf("%d\n",main_config.size_tree_view);
main_config.type_quota = yon_char_parsed_shrink(main_config.type_quota, &main_config.size_tree_view,index); main_config.type_quota = yon_char_parsed_shrink(main_config.type_quota, &main_config.size_tree_view,index);
main_config.size_tree_view++; main_config.size_tree_view++;
printf("%d\n",main_config.size_tree_view);
main_config.quota_volume = yon_char_parsed_shrink(main_config.quota_volume, &main_config.size_tree_view,index); main_config.quota_volume = yon_char_parsed_shrink(main_config.quota_volume, &main_config.size_tree_view,index);
main_config.size_tree_view++; main_config.size_tree_view++;
main_config.soft_raw_limit = yon_char_parsed_shrink(main_config.soft_raw_limit, &main_config.size_tree_view,index); main_config.soft_raw_limit = yon_char_parsed_shrink(main_config.soft_raw_limit, &main_config.size_tree_view,index);
@ -467,7 +464,6 @@ void tree_view_del_line() {
} }
void main_fill_tree_view_after_remove() { void main_fill_tree_view_after_remove() {
printf("%d\n",main_config.size_tree_view);
for (int index= 0; index < main_config.size_tree_view; index++) { for (int index= 0; index < main_config.size_tree_view; index++) {
GtkTreeIter iter; GtkTreeIter iter;
gtk_list_store_append(main_config.list,&iter); gtk_list_store_append(main_config.list,&iter);
@ -565,10 +561,7 @@ int main(int argc, char *argv[]){
exit(0); exit(0);
} }
} }
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
main_window *widgets = setup_window(); main_window *widgets = setup_window();
main_update_information(); main_update_information();
filters_init_flag(); filters_init_flag();
@ -576,6 +569,7 @@ int main(int argc, char *argv[]){
add_setup_window(glade_path); add_setup_window(glade_path);
edit_setup_window(glade_path); edit_setup_window(glade_path);
main_localization(widgets); main_localization(widgets);
tree_view_select(NULL, widgets);
event_all(widgets); event_all(widgets);
main_event(widgets); main_event(widgets);

@ -391,6 +391,28 @@ config_str philos_list_user(int* size) {
endpwent(); endpwent();
return str_users; return str_users;
} }
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);
unsigned short uid_max = philos_read_uid_min_max(file_source_login_min_max, str_uid_max);
config_str str_users = malloc(1);
while (1) {
errno = 0; // so we can distinguish errors from no more entries
struct passwd* entry = getpwent();
if (!entry) {
if (errno) {
return str_users;
}
break;
}
if ((entry->pw_uid >= uid_min && entry->pw_uid < uid_max) || entry->pw_uid == 0) {
str_users = yon_char_parsed_append(str_users, size, entry->pw_name);
}
}
endpwent();
return str_users;
}
unsigned short philos_read_uid_min_max(char* filename, char* search) { unsigned short philos_read_uid_min_max(char* filename, char* search) {
int uid = 0; int uid = 0;

@ -149,6 +149,7 @@ config_str yon_char_parsed_append(config_str parsed, int *size, char *string);
// parsing functions // parsing functions
config_str philos_list_user(int* size); config_str philos_list_user(int* size);
config_str philos_list_group(int* size);
unsigned short philos_read_uid_min_max(char* filename, char* search); unsigned short philos_read_uid_min_max(char* filename, char* search);
apps *yon_apps_scan_and_parse_desktops(int *sizef); apps *yon_apps_scan_and_parse_desktops(int *sizef);

@ -3510,6 +3510,7 @@ limit
<property name="vadjustment">adjustment2</property> <property name="vadjustment">adjustment2</property>
<property name="vscroll-policy">natural</property> <property name="vscroll-policy">natural</property>
<property name="encoding">UTF-8</property> <property name="encoding">UTF-8</property>
<property name="scrollback-lines">1024</property>
<property name="scroll-on-keystroke">True</property> <property name="scroll-on-keystroke">True</property>
<property name="scroll-on-output">False</property> <property name="scroll-on-output">False</property>
</object> </object>

Loading…
Cancel
Save