Fucntions edits for new design

pull/4/head
parent 30b1ced97d
commit ac897539db

@ -134,8 +134,8 @@ void on_repo_add_new(GtkWidget *self, dictionary *dict){
if (!name||strcmp(name,"")!=0){ if (!name||strcmp(name,"")!=0){
on_close_subwindow(self); on_close_subwindow(self);
GtkTreeIter *iter = yon_repo_append(widgets, name, YON_REPO_LINE_REPO_TYPE); GtkTreeIter *iter = yon_repo_append(widgets, name, YON_REPO_LINE_REPO_TYPE);
gtk_tree_store_set(main_config.tree_store,iter,2,window->BranchesListStore,-1); gtk_tree_store_set(main_config.tree_store,iter,2,window->BranchesListStore,3,window->path,-1);
gtk_tree_model_foreach(GTK_TREE_MODEL(window->BranchesListStore),yon_add_branches,dict); // gtk_tree_model_foreach(GTK_TREE_MODEL(window->BranchesListStore),yon_add_branches,dict);
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else { } else {
yon_ubl_status_box_render(EMPTY_NAME_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(EMPTY_NAME_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
@ -156,17 +156,13 @@ void on_branch_add(GtkCellRendererText *self, char*path,char *new_text, repo_cre
} }
} }
void on_choose_repo_folder(main_window *widgets){ void on_choose_repo_folder(repo_create_window *window){
GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); GtkWidget *chooser = gtk_file_chooser_dialog_new(ADD_PACKAGE_REPO_LABEL,NULL,GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
int res = gtk_dialog_run(GTK_DIALOG(chooser)); int res = gtk_dialog_run(GTK_DIALOG(chooser));
if (res==GTK_RESPONSE_ACCEPT){ if (res==GTK_RESPONSE_ACCEPT){
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser));
while (1){ window->path=filename;
char *ret = yon_char_divide_search(filename,"/",-1);
if (strcmp(ret,filename)==0) break;
}
yon_repo_append(widgets,filename,YON_REPO_LINE_FILE_TYPE);
} }
on_close_subwindow(chooser); on_close_subwindow(chooser);
} }
@ -193,7 +189,7 @@ void on_repo_new (GtkWidget *self, main_window *widgets){
g_object_set_property(G_OBJECT(window->BranchCell),"placeholder-text",val); g_object_set_property(G_OBJECT(window->BranchCell),"placeholder-text",val);
g_signal_connect(G_OBJECT(window->BranchCell),"edited",G_CALLBACK(on_branch_add),window); g_signal_connect(G_OBJECT(window->BranchCell),"edited",G_CALLBACK(on_branch_add),window);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_repo_add_new),dict); g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_repo_add_new),dict);
g_signal_connect(G_OBJECT(window->repoChooseFolderButton),"clicked",G_CALLBACK(on_choose_repo_folder),widgets); g_signal_connect(G_OBJECT(window->repoChooseFolderButton),"clicked",G_CALLBACK(on_choose_repo_folder),window);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
} }
@ -236,9 +232,11 @@ void on_repo_configure(GtkWidget *self, main_window *widgets){
void on_repo_configure_done(GtkWidget *self, dictionary *dict){ void on_repo_configure_done(GtkWidget *self, dictionary *dict){
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
repo_create_window *window = yon_dictionary_get_data(dict->first->next,repo_create_window*); repo_create_window *window = yon_dictionary_get_data(dict->first->next,repo_create_window*);
GtkTreeIter iter; GtkTreeIter iter, parentIter;
GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store); GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){
if (gtk_tree_model_iter_parent(GTK_TREE_MODEL(main_config.tree_store),&parentIter,&iter))
iter=parentIter;
char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry)); char *name = (char*)gtk_entry_get_text(GTK_ENTRY(window->NameEntry));
gtk_tree_store_set(main_config.tree_store,&iter,1,name,-1); gtk_tree_store_set(main_config.tree_store,&iter,1,name,-1);
} }
@ -265,60 +263,41 @@ GtkTreeIter *yon_repo_append(main_window *widgets, char *name, YON_REPO_LINE_TYP
GtkTreeIter iter,parentIter; GtkTreeIter iter,parentIter;
GdkPixbuf *icon = NULL; GdkPixbuf *icon = NULL;
GtkIconTheme *theme = gtk_icon_theme_get_default(); GtkIconTheme *theme = gtk_icon_theme_get_default();
char *name_short = yon_char_new(name);
while(1){
yon_char_divide_search(name_short,"/",-1);
if (!strstr(name_short,"/")) break;
}
GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store); GtkTreeModel *model = GTK_TREE_MODEL(main_config.tree_store);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&parentIter)){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&parentIter)){
if (type==YON_REPO_LINE_REPO_TYPE){ if (type==YON_REPO_LINE_REPO_TYPE){
icon = gtk_icon_theme_load_icon_for_scale(theme,"folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL); icon = gtk_icon_theme_load_icon_for_scale(theme,"folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
gtk_tree_store_append(main_config.tree_store,&iter,NULL); gtk_tree_store_append(main_config.tree_store,&iter,NULL);
gtk_tree_store_set(main_config.tree_store,&iter,0, icon, 1, name,-1); gtk_tree_store_set(main_config.tree_store,&iter,0, "folder-symbolic", 1, name_short,3,name,-1);
retIter = gtk_tree_iter_copy(&iter);
}
else if (type==YON_REPO_LINE_BRANCH_TYPE){
icon = NULL;
if (gtk_tree_model_iter_parent(model,&iter,&parentIter)){
GtkTreeIter branch;
if (!gtk_tree_model_iter_parent(model,&branch,&iter)){
gtk_tree_store_append(main_config.tree_store,&iter,&parentIter);
gtk_tree_store_set(main_config.tree_store,&iter,0, icon, 1, name,-1);
retIter = gtk_tree_iter_copy(&iter);
} else {
gtk_tree_store_append(main_config.tree_store,&iter,&branch);
gtk_tree_store_set(main_config.tree_store,&iter,0, icon, 1, name,-1);
retIter = gtk_tree_iter_copy(&iter);
}
} else {
gtk_tree_store_append(main_config.tree_store,&iter,&parentIter);
gtk_tree_store_set(main_config.tree_store,&iter,0, icon, 1, name,-1);
retIter = gtk_tree_iter_copy(&iter); retIter = gtk_tree_iter_copy(&iter);
} }
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
else if (type==YON_REPO_LINE_FILE_TYPE){ else if (type==YON_REPO_LINE_FILE_TYPE){
icon = gtk_icon_theme_load_icon_for_scale(theme,"network-server-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
if (gtk_tree_model_iter_parent(model,&iter,&parentIter)){
GtkTreeIter branch; GtkTreeIter branch;
if (gtk_tree_model_iter_parent(model,&branch,&iter)){ icon = gtk_icon_theme_load_icon_for_scale(theme,"follder-documents-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
if (gtk_tree_model_iter_parent(model,&branch,&parentIter)){
GtkTreeIter repo; GtkTreeIter repo;
if (!gtk_tree_model_iter_parent(model,&repo,&branch)){ gtk_tree_store_append(main_config.tree_store,&iter,&branch);
gtk_tree_store_append(main_config.tree_store,&branch,&iter); gtk_tree_store_set(main_config.tree_store,&iter,0, "com.ublinux.ubl-settings-repomanager.document-symbolic", 1, name_short,3,name,-1);
gtk_tree_store_set(main_config.tree_store,&branch,0, icon, 1, name,-1);
retIter = gtk_tree_iter_copy(&branch); retIter = gtk_tree_iter_copy(&branch);
}
} else { } else {
gtk_tree_store_append(main_config.tree_store,&iter,&parentIter); gtk_tree_store_append(main_config.tree_store,&iter,&parentIter);
gtk_tree_store_set(main_config.tree_store,&iter,0, icon, 1, name,-1); gtk_tree_store_set(main_config.tree_store,&iter,0, "com.ublinux.ubl-settings-repomanager.document-symbolic", 1, name_short,3,name,-1);
retIter = gtk_tree_iter_copy(&iter); retIter = gtk_tree_iter_copy(&iter);
} }
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else yon_ubl_status_box_render(CHOOSE_BRANCH_PACK_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter); gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter);
} }
else if (type==YON_REPO_LINE_REPO_TYPE){ else if (type==YON_REPO_LINE_REPO_TYPE){
icon = gtk_icon_theme_load_icon_for_scale(theme,"folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL); icon = gtk_icon_theme_load_icon_for_scale(theme,"folder-symbolic",16,1,GTK_ICON_LOOKUP_FORCE_SIZE,NULL);
gtk_tree_store_append(main_config.tree_store,&iter,NULL); gtk_tree_store_append(main_config.tree_store,&iter,NULL);
gtk_tree_store_set(main_config.tree_store,&iter,0, icon, 1, name,-1); gtk_tree_store_set(main_config.tree_store,&iter,0, "folder-symbolic", 1, name_short,3,name,-1);
retIter = gtk_tree_iter_copy(&iter); retIter = gtk_tree_iter_copy(&iter);
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter); gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&iter);
} else { } else {
@ -333,14 +312,11 @@ void yon_repo_remove_package(main_window *widgets){
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->RepoTree)),&model,&iter)){
GtkTreeIter iterparent; GtkTreeIter iterparent;
if (gtk_tree_model_iter_parent(model,&iterparent,&iter)){ if (gtk_tree_model_iter_parent(model,&iterparent,&iter)){
GtkTreeIter parentparent;
if (gtk_tree_model_iter_parent(model,&parentparent,&iterparent)){
gtk_tree_store_remove(main_config.tree_store,&iter); gtk_tree_store_remove(main_config.tree_store,&iter);
yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(OPERATION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
}else yon_ubl_status_box_render(CHOOSE_PACK_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); }else yon_ubl_status_box_render(CHOOSE_PACK_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
}
void yon_repo_remove(main_window *widgets){ void yon_repo_remove(main_window *widgets){
GtkTreeIter iter; GtkTreeIter iter;
@ -375,10 +351,6 @@ void yon_add_file(main_window *widgets){
if (res==GTK_RESPONSE_ACCEPT){ if (res==GTK_RESPONSE_ACCEPT){
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser));
while (1){
char *ret = yon_char_divide_search(filename,"/",-1);
if (strcmp(ret,filename)==0) break;
}
yon_repo_append(widgets,filename,YON_REPO_LINE_FILE_TYPE); yon_repo_append(widgets,filename,YON_REPO_LINE_FILE_TYPE);
} }
on_close_subwindow(chooser); on_close_subwindow(chooser);
@ -472,7 +444,8 @@ main_window *setup_window(){
widgets->ComponentsInfoLabel = yon_gtk_builder_get_widget(builder,"ComponentsInfoLabel"); widgets->ComponentsInfoLabel = yon_gtk_builder_get_widget(builder,"ComponentsInfoLabel");
widgets->SignatureLabel = yon_gtk_builder_get_widget(builder,"SignatureLabel"); widgets->SignatureLabel = yon_gtk_builder_get_widget(builder,"SignatureLabel");
widgets->SignatureInfoLabel = yon_gtk_builder_get_widget(builder,"SignatureInfoLabel"); widgets->SignatureInfoLabel = yon_gtk_builder_get_widget(builder,"SignatureInfoLabel");
widgets->Finder = yon_gtk_builder_get_widget(builder,"SignatureInfoLabel"); widgets->Finder = yon_gtk_builder_get_widget(builder,"RepoFinder");
widgets->SaveButton = yon_gtk_builder_get_widget(builder,"mainSaveButton");
main_config.tree_store = GTK_TREE_STORE(gtk_builder_get_object(builder,"RepoStore")); main_config.tree_store = GTK_TREE_STORE(gtk_builder_get_object(builder,"RepoStore"));
if (main_config.lock_load_global == 1){ if (main_config.lock_load_global == 1){
@ -503,7 +476,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->ConfigureButton),"clicked",G_CALLBACK(on_repo_configure),widgets);
/* Localisation | Локализация */ /* Localisation | Локализация */
gtk_widget_show_all(widgets->Window); gtk_widget_show(widgets->Window);
return widgets; return widgets;

@ -5,7 +5,6 @@
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
#include <stdlib.h> #include <stdlib.h>
#include <libintl.h>
#include <getopt.h> #include <getopt.h>
#include <libintl.h> #include <libintl.h>
#include "ubl-cmake.h" #include "ubl-cmake.h"
@ -113,6 +112,7 @@ typedef struct {
GtkWidget *SignatureLabel; GtkWidget *SignatureLabel;
GtkWidget *SignatureInfoLabel; GtkWidget *SignatureInfoLabel;
GtkWidget *Finder; GtkWidget *Finder;
GtkWidget *SaveButton;
} main_window; } main_window;
typedef struct { typedef struct {
@ -125,6 +125,7 @@ typedef struct {
GtkWidget *repoChooseFolderButton; GtkWidget *repoChooseFolderButton;
GtkListStore *BranchesListStore; GtkListStore *BranchesListStore;
char *path;
} repo_create_window; } repo_create_window;
typedef struct { typedef struct {

Loading…
Cancel
Save