diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 832a632..7a88efa 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -146,23 +146,32 @@ void on_driver_pack_selection_change(GtkWidget *, main_window *widgets){ } } +gpointer yon_driver_info_launch(void *command){ + if (!system((char*)command)){ + yon_ubl_status_box_render_thread(yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + } else { + yon_ubl_status_box_render_thread(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + } + return NULL; +} + void on_driver_pack_info(GtkWidget *, main_window *widgets){ GtkTreeIter iter; 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)){ + yon_ubl_status_box_render(yon_char_get_localised_from_lib(INFO_PROCESS_LABEL),BACKGROUND_IMAGE_INFO_TYPE); 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); - yon_launch_app_with_arguments(command,""); - yon_ubl_status_box_render(yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_INFO_TYPE); + g_thread_new("info_thread",yon_driver_info_launch,(void*)command); + // yon_launch_app_with_arguments(command,""); } else { yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); } } void on_pack_install_activate(GtkCellRendererToggle* ,gchar* path,main_window *widgets){ - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)); GtkTreeIter iter; if (!GTK_IS_TREE_MODEL_FILTER(model)){ diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 66d480f..f4825e0 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -395,4 +395,5 @@ void on_gapfix_changed(GtkWidget*self, main_window *widgets); gboolean yon_proprietary_disconnect(main_window *widgets); gboolean yon_proprietary_connect(main_window *widgets); void on_app_chooser_open(GtkWidget *self, main_window *widgets); +gpointer yon_driver_info_launch(void *command); #endif \ No newline at end of file diff --git a/ubl-settings-video.glade b/ubl-settings-video.glade index b305a87..32ac9d5 100644 --- a/ubl-settings-video.glade +++ b/ubl-settings-video.glade @@ -17,98 +17,6 @@ start 64 - - True - False - False - - - True - False - Load from global configuration - True - - - - - - True - False - Load from local configuration - True - - - - - - True - False - False - - - True - False - Save to global an local configuration - True - - - - - - True - False - Save to global configuration - True - - - - - - True - False - Save to local configuration - True - - - - - - True - False - False - - - True - False - Documentation - True - - - - - - True - False - About - True - - - - True False