diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 14908fb..fd1d92b 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -88,6 +88,7 @@ endif() set(SOURCE_FILES ubl-settings-video.c ubl-settings-video-driver.c + ubl-settings-video-install.c ubl-settings-video.h ubl-strings.h ) diff --git a/source/ubl-settings-video-install.c b/source/ubl-settings-video-install.c new file mode 100644 index 0000000..fdb4b4e --- /dev/null +++ b/source/ubl-settings-video-install.c @@ -0,0 +1,68 @@ +#include "ubl-settings-video.h" + + +void on_terminal_revealer_open(GtkWidget *, main_window *widgets){ + int opened = gtk_widget_get_visible(widgets->TerminalPaned); + switch (opened){ + case 0: { // opens + gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),LESS_LABEL); + + g_object_ref(widgets->MenusTab); + gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(widgets->MenusTab)),widgets->MenusTab); + gtk_paned_add1(GTK_PANED(widgets->TerminalPaned),widgets->MenusTab); + + int pos; + if (yon_window_config_get_parameter("settings","paned_pos",&pos,YON_TYPE_INT)) { + gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),pos); + } + + gtk_widget_show(widgets->TerminalPaned); + gtk_widget_show(widgets->MenusTab); + + + + } break; + case 1: { //closes + gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),MORE_LABEL); + + int pos = gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned)); + yon_window_config_add_instant_parameter("paned_pos","settings",&pos,YON_TYPE_INT); + + GValue val = G_VALUE_INIT; + g_object_get_property(G_OBJECT(widgets->TerminalPaned),"max-position",&val); + gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),g_value_get_int(&val)); + g_value_unset(&val); + + g_object_ref(widgets->MenusTab); + gtk_container_remove(GTK_CONTAINER(widgets->TerminalPaned),widgets->MenusTab); + gtk_box_pack_start(GTK_BOX(gtk_widget_get_parent(widgets->TerminalPaned)),widgets->MenusTab,1,1,0); + + gtk_box_reorder_child(GTK_BOX(gtk_widget_get_parent(widgets->MenusTab)),widgets->MenusTab,0); + gtk_widget_hide(widgets->TerminalPaned); + } break; + } +} + + + +// void on_terminal_destroy(GtkWidget *, main_window *widgets){ +// gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),0); +// gtk_widget_destroy(widgets->TerminalRevealer); +// GtkTreeModel *model; +// GtkTreeIter iter; +// if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree)),&model,&iter)){ +// char *module, *package; +// gtk_tree_model_get(model, &iter, 7,&module, 8,&package,-1); +// if (!yon_char_is_empty(module)){ +// if (!system(yon_get_is_installed_command(module))){ +// gtk_list_store_set(main_config.list,&iter,9,1,-1); +// } +// } else { +// if (!system(yon_get_is_installed_command(package))){ +// gtk_list_store_set(main_config.list,&iter,10,1,-1); +// } +// } +// } +// yon_proprietary_get_thread(NULL,widgets); +// yon_ubl_status_box_render(yon_char_unite(PROPRIETARY_OPETAION_DONE_LABEL,". ",PROPRIETARY_LOADING_LABEL,NULL),BACKGROUND_IMAGE_SUCCESS_TYPE); +// } \ No newline at end of file diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 8544c80..eacd583 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -13,28 +13,6 @@ void on_terminal_more(GtkWidget *, main_window *widgets){ gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalMoreRevieler),active); } -void on_terminal_destroy(GtkWidget *, main_window *widgets){ - gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),0); - gtk_widget_destroy(widgets->TerminalRevealer); - GtkTreeModel *model; - GtkTreeIter iter; - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree)),&model,&iter)){ - char *module, *package; - gtk_tree_model_get(model, &iter, 7,&module, 8,&package,-1); - if (!yon_char_is_empty(module)){ - if (!system(yon_get_is_installed_command(module))){ - gtk_list_store_set(main_config.list,&iter,9,1,-1); - } - } else { - if (!system(yon_get_is_installed_command(package))){ - gtk_list_store_set(main_config.list,&iter,10,1,-1); - } - } - } - yon_proprietary_get_thread(NULL,widgets); - yon_ubl_status_box_render(yon_char_unite(PROPRIETARY_OPETAION_DONE_LABEL,". ",PROPRIETARY_LOADING_LABEL,NULL),BACKGROUND_IMAGE_SUCCESS_TYPE); -} - gboolean on_command_execute_success(GtkWidget *self,gint status,main_window *widgets){ @@ -142,20 +120,20 @@ void yon_terminal_start(main_window *widgets, char *usr_command){ g_idle_add((GSourceFunc)on_terminal_check_progress,widgets); } -void on_driver_pack_selection_change(GtkWidget *, main_window *widgets){ - GtkTreeIter iter; - 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_widget_set_sensitive(widgets->InfoButton,1); - int installed=0; - gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)),&iter,0,&installed,-1); - if (installed==1){ - } - } else { - gtk_widget_set_sensitive(widgets->InfoButton,0); - } -} +// void on_driver_pack_selection_change(GtkWidget *, main_window *widgets){ +// GtkTreeIter iter; +// 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_widget_set_sensitive(widgets->InfoButton,1); +// int installed=0; +// gtk_tree_model_get(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)),&iter,0,&installed,-1); +// if (installed==1){ +// } +// } else { +// gtk_widget_set_sensitive(widgets->InfoButton,0); +// } +// } gpointer yon_driver_info_launch(void *command){ if (!system((char*)command)){ @@ -166,98 +144,98 @@ gpointer yon_driver_info_launch(void *command){ 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); - g_thread_new("info_thread",yon_driver_info_launch,(void*)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)){ +// 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); +// g_thread_new("info_thread",yon_driver_info_launch,(void*)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)){ - gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(main_config.list),&iter,path); - model=GTK_TREE_MODEL(main_config.list); - } else { - GtkTreeIter itar; - gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model),&itar,path); - gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model),&iter,&itar); - } - char *package; - int installed; - gtk_tree_model_get(GTK_TREE_MODEL(model),&iter,1,&installed,8,&package,-1); - if (!installed){ - dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); - data->action_text=yon_char_unite(INSTALL_CONFIRMATION_LABEL(package),"\n",INSTALL_ATTENTION_LABEL,NULL); - if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ - if (!yon_char_is_empty(package)){ - char *command = install_proprietary_command(package); - yon_terminal_start(widgets,command); - yon_ubl_status_box_render(PACKAGE_INSTALL_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); - } - } - free(data); - } else { - dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); - data->action_text=REMOVE_CONFIRMATION_LABEL(package); - if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ - if (!yon_char_is_empty(package)){ - char *command = delete_proprietary_command(package); - yon_terminal_start(widgets,command); - yon_ubl_status_box_render(PACKAGE_REMOVE_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); - } - } - free(data); - } -} - -void on_module_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)){ - gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(main_config.list),&iter,path); - } else { - GtkTreeIter itar; - gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model),&itar,path); - gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model),&iter,&itar); - } - char *package; - int installed; - gtk_tree_model_get(GTK_TREE_MODEL(main_config.list),&iter,1,&installed,7,&package,-1); - if (!installed){ - dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); - data->action_text=INSTALL_CONFIRMATION_LABEL(package); - if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ - if (!yon_char_is_empty(package)){ - char *command = install_proprietary_command(package); - yon_terminal_start(widgets,command); - yon_ubl_status_box_render(MODULE_INSTALL_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); - } - } - free(data); - } else { - dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); - data->action_text=REMOVE_CONFIRMATION_LABEL(package); - if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ - if (!yon_char_is_empty(package)){ - char *command = delete_proprietary_command(package); - yon_terminal_start(widgets,command); - yon_ubl_status_box_render(MODULE_REMOVE_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); - } - } - free(data); - } -} +// gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(main_config.list),&iter,path); +// model=GTK_TREE_MODEL(main_config.list); +// } else { +// GtkTreeIter itar; +// gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model),&itar,path); +// gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model),&iter,&itar); +// } +// char *package; +// int installed; +// gtk_tree_model_get(GTK_TREE_MODEL(model),&iter,1,&installed,8,&package,-1); +// if (!installed){ +// dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); +// data->action_text=yon_char_unite(INSTALL_CONFIRMATION_LABEL(package),"\n",INSTALL_ATTENTION_LABEL,NULL); +// if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ +// if (!yon_char_is_empty(package)){ +// char *command = install_proprietary_command(package); +// yon_terminal_start(widgets,command); +// yon_ubl_status_box_render(PACKAGE_INSTALL_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); +// } +// } +// free(data); +// } else { +// dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); +// data->action_text=REMOVE_CONFIRMATION_LABEL(package); +// if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ +// if (!yon_char_is_empty(package)){ +// char *command = delete_proprietary_command(package); +// yon_terminal_start(widgets,command); +// yon_ubl_status_box_render(PACKAGE_REMOVE_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); +// } +// } +// free(data); +// } +// } + +// void on_module_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)){ +// gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(main_config.list),&iter,path); +// } else { +// GtkTreeIter itar; +// gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model),&itar,path); +// gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model),&iter,&itar); +// } +// char *package; +// int installed; +// gtk_tree_model_get(GTK_TREE_MODEL(main_config.list),&iter,1,&installed,7,&package,-1); +// if (!installed){ +// dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); +// data->action_text=INSTALL_CONFIRMATION_LABEL(package); +// if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ +// if (!yon_char_is_empty(package)){ +// char *command = install_proprietary_command(package); +// yon_terminal_start(widgets,command); +// yon_ubl_status_box_render(MODULE_INSTALL_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); +// } +// } +// free(data); +// } else { +// dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); +// data->action_text=REMOVE_CONFIRMATION_LABEL(package); +// if (yon_confirmation_dialog_call(widgets->Window,data)==GTK_RESPONSE_ACCEPT){ +// if (!yon_char_is_empty(package)){ +// char *command = delete_proprietary_command(package); +// yon_terminal_start(widgets,command); +// yon_ubl_status_box_render(MODULE_REMOVE_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE); +// } +// } +// free(data); +// } +// } gboolean yon_filter_func(GtkTreeModel* model,GtkTreeIter* iter,main_window *widgets){ const char *target = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->KernelsCombo)); @@ -267,25 +245,25 @@ gboolean yon_filter_func(GtkTreeModel* model,GtkTreeIter* iter,main_window *widg return 0; } -void on_kernel_filter_changed(GtkWidget *self, main_window *widgets){ - int active = gtk_combo_box_get_active(GTK_COMBO_BOX(self)); - if (active){ - if (!GTK_IS_TREE_MODEL_FILTER(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)))){ - GtkTreeModel *model = gtk_tree_model_filter_new(GTK_TREE_MODEL(main_config.list),NULL); - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),model); - gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(model),(GtkTreeModelFilterVisibleFunc)yon_filter_func,widgets,NULL); - } - gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)))); - - } else { - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)); - if (GTK_IS_TREE_MODEL_FILTER(model)) { - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL); - g_object_unref(model); - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); - } - } -} +// void on_kernel_filter_changed(GtkWidget *self, main_window *widgets){ +// int active = gtk_combo_box_get_active(GTK_COMBO_BOX(self)); +// if (active){ +// if (!GTK_IS_TREE_MODEL_FILTER(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)))){ +// GtkTreeModel *model = gtk_tree_model_filter_new(GTK_TREE_MODEL(main_config.list),NULL); +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),model); +// gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(model),(GtkTreeModelFilterVisibleFunc)yon_filter_func,widgets,NULL); +// } +// gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)))); + +// } else { +// GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)); +// if (GTK_IS_TREE_MODEL_FILTER(model)) { +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL); +// g_object_unref(model); +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); +// } +// } +// } void on_port_chosen_changed(GtkWidget *, monitor_edit_window *window){ dictionary *dict=NULL; @@ -1096,11 +1074,11 @@ void yon_drivers_resize(main_window *widgets){ } } -gboolean yon_proprietary_set(main_window *widgets){ - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); - gtk_widget_set_sensitive(widgets->LoadDriversButton,1); - return G_SOURCE_REMOVE; -} +// gboolean yon_proprietary_set(main_window *widgets){ +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); +// gtk_widget_set_sensitive(widgets->LoadDriversButton,1); +// return G_SOURCE_REMOVE; +// } gboolean yon_proprietary_append(driver_struct *){ @@ -1118,18 +1096,18 @@ gboolean yon_proprietary_append_kernels(struct proprietary_kernel_append_struct return G_SOURCE_REMOVE; } -gboolean yon_proprietary_disconnect(main_window *widgets){ - g_object_ref(main_config.list); - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL); - return G_SOURCE_REMOVE; -} +// gboolean yon_proprietary_disconnect(main_window *widgets){ +// g_object_ref(main_config.list); +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL); +// return G_SOURCE_REMOVE; +// } -gboolean yon_proprietary_connect(main_window *widgets){ - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); - gtk_spinner_stop(GTK_SPINNER(widgets->DriversLoadingSpinner)); - gtk_widget_hide(widgets->DriversLoadingSpinner); - return G_SOURCE_REMOVE; -} +// gboolean yon_proprietary_connect(main_window *widgets){ +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); +// gtk_spinner_stop(GTK_SPINNER(widgets->DriversLoadingSpinner)); +// gtk_widget_hide(widgets->DriversLoadingSpinner); +// return G_SOURCE_REMOVE; +// } void yon_proprietary_local_get(main_window *widgets){ g_idle_add((GSourceFunc)yon_proprietary_clear,widgets); @@ -1202,11 +1180,11 @@ void yon_proprietary_local_get(main_window *widgets){ yon_drivers_resize(widgets); } -void yon_proprietary_get_thread(GtkWidget *,main_window *widgets){ - yon_ubl_status_box_render(PROPRIETARY_LOADING_LABEL,BACKGROUND_IMAGE_INFO_TYPE); - gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL); - yon_proprietary_local_get(widgets); -} +// void yon_proprietary_get_thread(GtkWidget *,main_window *widgets){ +// yon_ubl_status_box_render(PROPRIETARY_LOADING_LABEL,BACKGROUND_IMAGE_INFO_TYPE); +// gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),NULL); +// yon_proprietary_local_get(widgets); +// } void yon_monitor_view_dictionary_destroy(void *window){ monitor_data *monitor=(monitor_data*)window; @@ -1497,14 +1475,11 @@ template_main_window *yon_main_window_complete(main_window *widgets){ widgets->PrimusrunButton = yon_gtk_builder_get_widget(builder,"PrimusrunButton"); widgets->FrameGapCombo = yon_gtk_builder_get_widget(builder,"FrameGapCombo"); - widgets->DriversTree = yon_gtk_builder_get_widget(builder, "DriversTree"); widgets->InfoButton = yon_gtk_builder_get_widget(builder, "InfoButton"); widgets->TerminalOverlay = yon_gtk_builder_get_widget(builder, "TerminalOverlay"); widgets->MenusTab = yon_gtk_builder_get_widget(builder, "MenusTab"); widgets->LoadDriversButton = yon_gtk_builder_get_widget(builder,"LoadDriversButton"); - widgets->DriversTree = yon_gtk_builder_get_widget(builder,"DriversTree"); - widgets->TopTree = yon_gtk_builder_get_widget(builder,"TopTree"); widgets->KernelsCombo = yon_gtk_builder_get_widget(builder,"KernelsCombo"); widgets->InstalledBox = yon_gtk_builder_get_widget(builder,"InstalledBox"); @@ -1515,6 +1490,12 @@ template_main_window *yon_main_window_complete(main_window *widgets){ widgets->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel"); widgets->DevicesLabel = yon_gtk_builder_get_widget(builder,"DevicesLabel"); + widgets->MoreButton = yon_gtk_builder_get_widget(builder,"MoreButton"); + widgets->TerminalPaned = yon_gtk_builder_get_widget(builder,"TerminalPaned"); + widgets->TerminalMoreRevieler = yon_gtk_builder_get_widget(builder,"TerminalMoreRevieler"); + widgets->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + widgets->InstallTerminal = yon_gtk_builder_get_widget(builder,"InstallTerminal"); + widgets->DriverModulesTab = GTK_WIDGET(gtk_builder_get_object(builder, "DriverModulesTab")); widgets->DriversTab = GTK_WIDGET(gtk_builder_get_object(builder, "DriversTab")); // widgets->MainTabLabel = GTK_WIDGET(gtk_builder_get_object(builder, "MainTabLabel")); @@ -1530,23 +1511,13 @@ template_main_window *yon_main_window_complete(main_window *widgets){ widgets->DriversLoadingOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "DriversLoadingOverlay")); widgets->DriversLoadingSpinner = GTK_WIDGET(gtk_builder_get_object(builder, "DriversLoadingSpinner")); - widgets->PackageRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "PackageRenderer")); - widgets->ModuleRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "ModuleRenderer")); widgets->DriversList = yon_gtk_builder_get_widget(builder, "DriversList"); - main_config.list = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore6")); - main_config.list2 = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore1")); - gtk_overlay_add_overlay(GTK_OVERLAY(widgets->DriversLoadingOverlay),widgets->DriversLoadingSpinner); g_signal_connect(G_OBJECT(widgets->LoadDriversButton), "clicked", G_CALLBACK(yon_proprietary_get_thread), widgets); - if (!getuid()){ - 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); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); @@ -1564,6 +1535,7 @@ template_main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->FrameGapCombo),"changed",G_CALLBACK(on_gapfix_changed),widgets); g_signal_connect(G_OBJECT(widgets->OptirunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets); g_signal_connect(G_OBJECT(widgets->PrimusrunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets); + g_signal_connect(G_OBJECT(widgets->MoreButton),"clicked",G_CALLBACK(on_terminal_revealer_open),widgets); { int size; config_str default_driver = yon_config_load(yon_config_parameter_prepare_command(VGADRV_AUTO_command,"default",NULL,NULL),&size); @@ -1688,8 +1660,6 @@ template_main_window *yon_main_window_complete(main_window *widgets){ gtk_combo_box_text_prepend_text(GTK_COMBO_BOX_TEXT(widgets->PrimusrunCombo),final); } - yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->DriversTree)); - yon_adapter_window_setup(widgets); } yon_save_window_set_postsave_function(on_save_done,widgets); diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 83c22ad..3c87738 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -145,10 +145,6 @@ typedef struct GtkWidget *PrimusrunButton; GtkWidget *FrameGapCombo; - GtkWidget *DriversTree; - GtkWidget *TopTree; - GtkCellRenderer *ModuleRenderer; - GtkCellRenderer *PackageRenderer; GtkWidget *KernelsCombo; GtkWidget *InfoButton; @@ -167,7 +163,6 @@ typedef struct GtkWidget *TerminalOverlay; GtkWidget *TerminalBox; - GtkWidget *TerminalRevealer; GtkWidget *TerminalInfoLabel; GtkWidget *TerminalMoreButton; GtkWidget *TerminalCancelButton; @@ -185,6 +180,12 @@ typedef struct GtkWidget *DescriptionLabel; GtkWidget *DevicesLabel; + GtkWidget *MoreButton; + GtkWidget *CancelButton; + GtkWidget *TerminalPaned; + GtkWidget *TerminalRevealer; + GtkWidget *InstallTerminal; + GtkWidget *MenusTab; GtkWidget *terminal; @@ -202,8 +203,6 @@ typedef struct monitor_config monitors; proprietary_config proprietary; dictionary *supported_resolutions; - GtkListStore *list; - GtkListStore *list2; char *failsafenVidia; char *failsafeATI; int descreteOnly; @@ -227,6 +226,8 @@ typedef struct } config; +extern config main_config; + typedef struct { GtkWidget *MainBox; GtkWidget *ModuleInstalledCheck; @@ -411,5 +412,6 @@ driver_struct *yon_driver_struct_new(); void yon_driver_struct_update(driver_struct *driver); void yon_drivers_resize(main_window *); void on_link_activate(GtkWidget *, char*, driver_struct *driver); +void on_terminal_revealer_open(GtkWidget *, main_window *widgets); #endif \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 18bc46c..bed3be1 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -81,6 +81,7 @@ #define ADD_LABEL _("Add monitor configuration") #define SWITCH_LABEL _("Switch monitor") #define MORE_LABEL _("More") +#define LESS_LABEL _("Less") #define PORT_EDIT_LABEL(target) yon_char_unite(_("Configuration: Monitor"),"(",target,")",NULL) #define HELP_TITLE_LABEL _("Would you like to read documentation in the Web?") diff --git a/ubl-settings-video.glade b/ubl-settings-video.glade index ae8da20..3f75550 100644 --- a/ubl-settings-video.glade +++ b/ubl-settings-video.glade @@ -1,7 +1,8 @@ - + + True @@ -21,6 +22,77 @@ start 64 + + True + False + 0 + in + + + True + False + 12 + + + True + False + + + True + False + vertical + + + True + True + UTF-8 + True + True + False + + + False + True + 0 + + + + + True + True + 0 + + + + + True + False + False + vertical + True + False + 1 + 2 + + + False + True + 1 + + + + + + + + + + + + 300 + 1 + 10 + True False @@ -1296,6 +1368,128 @@ 0 + + + True + vertical + 250 + True + True + + + + + + True + True + 1 + + + + + True + True + False + True + + + True + False + 0 + in + + + True + False + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + True + True + False + center + + + True + True + 0 + + + + + Cancel + True + True + True + + + False + True + 1 + + + + + More + True + True + True + True + + + False + True + 2 + + + + + False + True + 1 + + + + + + + + + True + False + + + + + + + + + False + True + 2 + + @@ -1346,145 +1540,4 @@ - - True - False - vertical - - - True - True - liststore1 - - - - - - fixed - 160 - Installed - - - - - - - - False - True - 0 - - - - - True - True - external - - - True - True - liststore6 - 1 - both - True - 4 - - - - - - fixed - 80 - Module - - - - 9 - 9 - 0 - - - - - - - 80 - Package - descending - 0 - - - - 10 - 10 - 1 - - - - - - - Kernel - - - - 2 - - - - - - - Driver - - - - 3 - - - - - - - Description - - - word - 150 - - - 4 - - - - - - - autosize - Supported Devices - - - word - 220 - - - 5 - - - - - - - - - - True - True - 1 - - -