|
|
|
|
@ -101,7 +101,7 @@ void on_driver_pack_install(GtkWidget *self,main_window *widgets){
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree));
|
|
|
|
|
if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
|
gtk_tree_model_get(list_s,&iter,1,&name,-1);
|
|
|
|
|
yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name));
|
|
|
|
|
yon_terminal_start(widgets,install_proprietary_command(name));
|
|
|
|
|
} else {
|
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
@ -114,7 +114,7 @@ void on_driver_pack_delete(GtkWidget *self,main_window *widgets){
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree));
|
|
|
|
|
if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
|
gtk_tree_model_get(list_s,&iter,1,&name,-1);
|
|
|
|
|
yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name));
|
|
|
|
|
yon_terminal_start(widgets,delete_proprietary_command(name));
|
|
|
|
|
} else {
|
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
@ -130,16 +130,9 @@ void on_driver_pack_selection_change(GtkWidget *self, main_window *widgets){
|
|
|
|
|
int installed=0;
|
|
|
|
|
gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)),&iter,0,&installed,-1);
|
|
|
|
|
if (installed==1){
|
|
|
|
|
// gtk_widget_set_sensitive(widgets->InstallButton,0);
|
|
|
|
|
// gtk_widget_set_sensitive(widgets->DeleteButton,1);
|
|
|
|
|
} else {
|
|
|
|
|
// gtk_widget_set_sensitive(widgets->InstallButton,1);
|
|
|
|
|
// gtk_widget_set_sensitive(widgets->DeleteButton,0);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
gtk_widget_set_sensitive(widgets->InfoButton,0);
|
|
|
|
|
// gtk_widget_set_sensitive(widgets->InstallButton,0);
|
|
|
|
|
// gtk_widget_set_sensitive(widgets->DeleteButton,0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -149,32 +142,56 @@ void on_driver_pack_info(GtkWidget *self, main_window *widgets){
|
|
|
|
|
pthread_t tid;
|
|
|
|
|
pthread_attr_init(&attr);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
char *name;
|
|
|
|
|
char *module, *package;
|
|
|
|
|
GtkTreeModel *list_s=GTK_TREE_MODEL(main_config.list);
|
|
|
|
|
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree));
|
|
|
|
|
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
|
gtk_tree_model_get(list_s,&iter,1,&name,-1);
|
|
|
|
|
pthread_create(&tid,&attr,(void*)yon_launch,yon_char_append(get_info_proprietary_command,name));
|
|
|
|
|
gtk_tree_model_get(list_s,&iter,7,&module,8,&package,-1);
|
|
|
|
|
char *command = get_info_proprietary_command(yon_char_is_empty(module)?package:module);
|
|
|
|
|
pthread_create(&tid,&attr,(void*)yon_launch,command);
|
|
|
|
|
yon_ubl_status_box_render(INFO_PROCESS_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
|
|
|
|
|
} else {
|
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_pack_install_activate(){
|
|
|
|
|
|
|
|
|
|
void on_pack_install_activate(GtkCellRendererToggle* self,gchar* path,main_window *widgets){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(main_config.list),&iter,path);
|
|
|
|
|
char *package;
|
|
|
|
|
int installed;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.list),&iter,1,&installed,8,&package,-1);
|
|
|
|
|
if (!installed){
|
|
|
|
|
if (!yon_char_is_empty(package)){
|
|
|
|
|
char *command = install_proprietary_command(package);
|
|
|
|
|
yon_terminal_start(widgets,command);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (!yon_char_is_empty(package)){
|
|
|
|
|
char *command = delete_proprietary_command(package);
|
|
|
|
|
yon_terminal_start(widgets,command);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_module_install_activate(){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_pack_remove_activate(){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_module_remove_activate(){
|
|
|
|
|
void on_module_install_activate(GtkCellRendererToggle* self,gchar* path,main_window *widgets){
|
|
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(main_config.list),&iter,path);
|
|
|
|
|
char *package;
|
|
|
|
|
int installed;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.list),&iter,0,&installed,7,&package,-1);
|
|
|
|
|
if (!installed){
|
|
|
|
|
if (!yon_char_is_empty(package)){
|
|
|
|
|
char *command = install_proprietary_command(package);
|
|
|
|
|
yon_terminal_start(widgets,command);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (!yon_char_is_empty(package)){
|
|
|
|
|
char *command = delete_proprietary_command(package);
|
|
|
|
|
yon_terminal_start(widgets,command);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_port_chosen_changed(GtkWidget *self, monitor_edit_window *window){
|
|
|
|
|
@ -902,14 +919,21 @@ void yon_monitor_view_update(){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_proprietary_local_get(){
|
|
|
|
|
void yon_proprietary_local_get(main_window *widgets){
|
|
|
|
|
gtk_list_store_clear(main_config.list);
|
|
|
|
|
gtk_list_store_clear(main_config.list2);
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KernelsCombo));
|
|
|
|
|
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->KernelsCombo),ALL_INSTALLED_KERNELS_LABEL);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KernelsCombo),0);
|
|
|
|
|
int kernels_size;
|
|
|
|
|
config_str kernels_installed=yon_config_load(yon_debug_output("%s\n",yon_get_kernels_installed),&kernels_size);
|
|
|
|
|
if (!kernels_size){
|
|
|
|
|
yon_ubl_status_box_render(KERNELS_SUPPORTED_UNFOUND_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i=0;i<kernels_size;i++){
|
|
|
|
|
yon_char_remove_last_symbol(kernels_installed[i],'\n');
|
|
|
|
|
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->KernelsCombo),kernels_installed[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
@ -935,11 +959,16 @@ void yon_proprietary_local_get(){
|
|
|
|
|
textdomain(template_ui_LocaleName);
|
|
|
|
|
yon_ubl_status_box_render(SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
|
|
|
|
|
textdomain(LocaleName);
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list));
|
|
|
|
|
g_thread_exit (NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_proprietary_get_thread(){
|
|
|
|
|
void yon_proprietary_get_thread(GtkWidget *self,main_window *widgets){
|
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_LOADING_LABEL,BACKGROUND_IMAGE_INFO_TYPE);
|
|
|
|
|
GThread *thread = g_thread_new("drivers_loading",(GThreadFunc)(yon_proprietary_local_get),NULL);
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL);
|
|
|
|
|
GThread *thread = g_thread_new("drivers_loading",(GThreadFunc)(yon_proprietary_local_get),widgets);
|
|
|
|
|
|
|
|
|
|
// yon_proprietary_local_get(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_monitor_view_dictionary_destroy(void *window){
|
|
|
|
|
@ -1156,7 +1185,7 @@ void yon_set_sensitive_from_combo_box(GtkComboBox *toggle, GtkWidget *target){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_database_update(void *self,void *widgets){
|
|
|
|
|
yon_terminal_window_launch(GTK_WINDOW(((main_window*)widgets)->Window),install_proprietary_command);
|
|
|
|
|
yon_terminal_window_launch(GTK_WINDOW(((main_window*)widgets)->Window),install_proprietary_command(""));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** void yon_setup_widgets(main_window *widgets)
|
|
|
|
|
@ -1197,6 +1226,7 @@ template_main_window *yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->LoadDriversButton = yon_gtk_builder_get_widget(builder,"LoadDriversButton");
|
|
|
|
|
|
|
|
|
|
widgets->DriversTree = yon_gtk_builder_get_widget(builder,"DriversTree");
|
|
|
|
|
widgets->KernelsCombo = yon_gtk_builder_get_widget(builder,"KernelsCombo");
|
|
|
|
|
|
|
|
|
|
widgets->DriverModulesTab = GTK_WIDGET(gtk_builder_get_object(builder, "DriverModulesTab"));
|
|
|
|
|
widgets->DriversTab = GTK_WIDGET(gtk_builder_get_object(builder, "DriversTab"));
|
|
|
|
|
@ -1211,13 +1241,16 @@ template_main_window *yon_main_window_complete(main_window *widgets){
|
|
|
|
|
widgets->InformationLabel = GTK_WIDGET(gtk_builder_get_object(builder, "InformationLabel"));
|
|
|
|
|
widgets->InformationLabel2 = GTK_WIDGET(gtk_builder_get_object(builder, "InformationLabel2"));
|
|
|
|
|
|
|
|
|
|
widgets->PackageRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "PackageRenderer"));
|
|
|
|
|
widgets->ModuleRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "ModuleRenderer"));
|
|
|
|
|
|
|
|
|
|
main_config.list = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore6"));
|
|
|
|
|
main_config.list2 = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore1"));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->LoadDriversButton), "clicked", G_CALLBACK(yon_proprietary_get_thread), widgets);
|
|
|
|
|
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->DeleteButton), "clicked", G_CALLBACK(on_driver_pack_delete), widgets);
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->InstallButton), "clicked", G_CALLBACK(on_driver_pack_install), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->PackageRenderer), "toggled", G_CALLBACK(on_pack_install_activate), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->ModuleRenderer), "toggled", G_CALLBACK(on_module_install_activate), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InfoButton), "clicked", G_CALLBACK(on_driver_pack_info), widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->DriversTree), "cursor-changed", G_CALLBACK(on_driver_pack_selection_change), widgets);
|
|
|
|
|
|
|
|
|
|
@ -1292,7 +1325,7 @@ int main(int argc, char *argv[]){
|
|
|
|
|
yon_confirmation_dialog_call(widgets->HeadOverlay,data);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
yon_proprietary_get_thread();
|
|
|
|
|
yon_proprietary_get_thread(NULL,(main_window*)widgets);
|
|
|
|
|
// on_config_fill_interface(&widgets);
|
|
|
|
|
yon_monitor_set_resolutions();
|
|
|
|
|
gtk_main();
|
|
|
|
|
|