package and repo search implemented

pull/4/head
parent b6edfe8dad
commit 0878b85054

@ -131,13 +131,37 @@ void on_save(){
}
if (origin_flagged)
remove_command = remove_flagged ? yon_char_unite(remove_command,remove_flagged,NULL) : NULL;
add_command = add_flagged ? yon_char_unite(add_command, add_flagged,NULL) : NULL;
add_command = add_flagged ? yon_char_unite(add_command, add_flagged,NULL) : add_command;
printf("%s\n%s\n",remove_command,add_command);
if (remove_command) system(remove_command);
if (add_command) system(add_command);
}
}
void on_search(GtkCellEditable *self, main_window *widgets){
GtkTreeIter iter, childIter;
char *name=NULL;
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.tree_store),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.tree_store),&iter)){
gtk_tree_model_get(GTK_TREE_MODEL(main_config.tree_store),&iter,1,&name,-1);
if (strstr(name,gtk_entry_get_text(GTK_ENTRY(widgets->Finder)))) {
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter);
return;
}
gtk_tree_view_expand_row(GTK_TREE_VIEW(widgets->RepoTree),gtk_tree_model_get_path(GTK_TREE_MODEL(main_config.tree_store),&iter),1);
int child_valid = gtk_tree_model_iter_children(GTK_TREE_MODEL(main_config.tree_store),&childIter,&iter);
for (;child_valid;child_valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.tree_store),&childIter)){
gtk_tree_model_get(GTK_TREE_MODEL(main_config.tree_store),&childIter,1,&name,-1);
if (strstr(name,gtk_entry_get_text(GTK_ENTRY(widgets->Finder)))) {
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&childIter);
return;
}
}
gtk_tree_view_expand_row(GTK_TREE_VIEW(widgets->RepoTree),gtk_tree_model_get_path(GTK_TREE_MODEL(main_config.tree_store),&iter),0);
}
}
void on_tree_selection_changed(GtkWidget *self,main_window *widgets){
GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store);
GtkTreeIter iter;
@ -483,6 +507,7 @@ main_window *setup_window(){
widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); // yon_gtk_builder_get_widget(builder,"DocumentationMenuItem");
widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); // yon_gtk_builder_get_widget(builder,"AboutMenuItem");
gtk_window_set_title(GTK_WINDOW(widgets->Window),TITLE_LABEL);
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->DocumentationMenuItem);
@ -516,6 +541,7 @@ main_window *setup_window(){
g_signal_connect(G_OBJECT(widgets->ConfigureButton),"clicked",G_CALLBACK(on_repo_configure),widgets);
g_signal_connect(G_OBJECT(widgets->SaveButton),"clicked",G_CALLBACK(on_save),widgets);
g_signal_connect(G_OBJECT(widgets->RepoTree),"cursor-changed",G_CALLBACK(on_tree_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->Finder),"changed",G_CALLBACK(on_search),widgets);
/* Localisation | Локализация */
gtk_widget_show(widgets->Window);
@ -605,10 +631,7 @@ int main(int argc, char *argv[]){
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);
yon_ubl_status_box_setup(widgets->StatusIcon,widgets->StatusBox,widgets->StatusLabel);
if (getuid()!=0)
yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
else
yon_ubl_status_box_render(TITLE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_status_box_render(TITLE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
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);

Loading…
Cancel
Save