|
|
|
|
@ -341,23 +341,28 @@ void on_system_autostart_clicked(GtkCellRenderer *self, char *path, main_window
|
|
|
|
|
|
|
|
|
|
gboolean yon_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets){
|
|
|
|
|
gboolean autostart,autostop,masked,type,loaded,inactive;
|
|
|
|
|
gtk_tree_model_get(model,iter,0,&autostart,1,&autostop,2,&masked,7,&type,8,&loaded,9,&inactive,-1);
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_tree_model_get(model,iter,0,&autostart,1,&autostop,2,&masked,5,&name,7,&type,8,&loaded,9,&inactive,-1);
|
|
|
|
|
GtkWidget *combo=NULL;
|
|
|
|
|
GtkWidget *loaded_check=NULL;
|
|
|
|
|
GtkWidget *active_check=NULL;
|
|
|
|
|
GtkWidget *name_entry = NULL;
|
|
|
|
|
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
|
|
|
|
if (page == 0){
|
|
|
|
|
combo = widgets->SystemFiltersCombo;
|
|
|
|
|
loaded_check = widgets->SystemUnloadedShowCheck;
|
|
|
|
|
active_check = widgets->SystemInactiveShowCheck;
|
|
|
|
|
name_entry = widgets->SystemSearchEntry;
|
|
|
|
|
} else if (page == 1){
|
|
|
|
|
combo = widgets->UserFiltersCombo;
|
|
|
|
|
loaded_check = widgets->UserUnloadedShowCheck;
|
|
|
|
|
active_check = widgets->UserInactiveShowCheck;
|
|
|
|
|
name_entry = widgets->UserSearchEntry;
|
|
|
|
|
}
|
|
|
|
|
int type_filter=1;
|
|
|
|
|
int active_filter=0;
|
|
|
|
|
int loaded_filter=0;
|
|
|
|
|
int type_filter = 1;
|
|
|
|
|
int active_filter = 0;
|
|
|
|
|
int loaded_filter = 0;
|
|
|
|
|
int name_filter = 1;
|
|
|
|
|
|
|
|
|
|
int filter_active = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
|
|
|
|
|
if (filter_active>0){
|
|
|
|
|
@ -383,7 +388,10 @@ gboolean yon_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets
|
|
|
|
|
loaded_filter=1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (type_filter&&(active_filter||inactive)&&(loaded_filter||loaded)){
|
|
|
|
|
char *name_text = (char*)gtk_entry_get_text(GTK_ENTRY(name_entry));
|
|
|
|
|
if (name&&!yon_char_is_empty(name_text)&&!strstr(name,name_text))
|
|
|
|
|
name_filter=0;
|
|
|
|
|
if (type_filter&&(active_filter||inactive)&&(loaded_filter||loaded)&&name_filter){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
|