Merge pull request 'Fixed app choosing' (#106) from YanTheKaller/ubl-settings-video:master into master

Reviewed-on: #106
pull/110/head^2^2 v2.20
Dmitry Razumov 7 months ago
commit 6a815caf67

@ -2,8 +2,8 @@
config main_config; config main_config;
void on_terminal_done(GtkWidget *terminal, int , main_window *){ void on_terminal_done(GtkWidget *, int , main_window *widgets){
gtk_widget_destroy(terminal); gtk_widget_destroy(widgets->TerminalRevealer);
} }
void on_terminal_more(GtkWidget *, main_window *widgets){ void on_terminal_more(GtkWidget *, main_window *widgets){
@ -32,22 +32,22 @@ void on_terminal_destroy(GtkWidget *, main_window *widgets){
} }
} }
yon_proprietary_get_thread(NULL,widgets); yon_proprietary_get_thread(NULL,widgets);
yon_ubl_status_box_render(PROPRIETARY_OPETAION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); 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 *){ gboolean on_command_execute_success(GtkWidget *self,gint status,main_window *widgets){
g_mutex_lock(&main_config.progress_mutex); g_mutex_lock(&main_config.progress_mutex);
main_config.progress_active=0; main_config.progress_active=0;
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
if (!status){ if (!status){
yon_ubl_status_box_render(yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(yon_char_unite(yon_char_get_localised_from_lib(SUCCESS_LABEL),". ",PROPRIETARY_LOADING_LABEL,NULL),BACKGROUND_IMAGE_SUCCESS_TYPE);
} else { } else {
yon_ubl_status_box_render(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(yon_char_get_localised_from_lib(FAIL_LABEL),BACKGROUND_IMAGE_FAIL_TYPE);
} }
on_terminal_done(self,0,NULL); on_terminal_done(self,0,widgets);
return G_SOURCE_REMOVE; return G_SOURCE_REMOVE;
} }
@ -71,17 +71,17 @@ gboolean on_terminal_check_progress(main_window *widgets){
if (last_match) { if (last_match) {
yon_char_remove_last_symbol(last_match,'%'); yon_char_remove_last_symbol(last_match,'%');
percentage = atof(last_match); percentage = g_ascii_strtod(last_match,NULL);
yon_debug_output("%s\n", text); yon_debug_output("%s\n", text);
yon_debug_output("%s\n", last_match); yon_debug_output("%s\n", last_match);
g_free(text);
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel), percentage / 100); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel), percentage / 100);
g_free(last_match); g_free(last_match);
} }
g_free(text);
g_match_info_unref(match); g_match_info_unref(match);
g_mutex_lock(&main_config.progress_mutex); g_mutex_lock(&main_config.progress_mutex);
if (percentage==100||!main_config.progress_active){ if (percentage>99||!main_config.progress_active){
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0);
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
return G_SOURCE_REMOVE; return G_SOURCE_REMOVE;
@ -125,6 +125,7 @@ void yon_terminal_start(main_window *widgets, char *usr_command){
vte_terminal_set_scroll_on_output(VTE_TERMINAL(widgets->terminal), TRUE); vte_terminal_set_scroll_on_output(VTE_TERMINAL(widgets->terminal), TRUE);
vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(widgets->terminal), TRUE); vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(widgets->terminal), TRUE);
gtk_widget_show_all(widgets->TerminalRevealer); gtk_widget_show_all(widgets->TerminalRevealer);
gtk_widget_realize(widgets->terminal);
g_mutex_lock(&main_config.progress_mutex); g_mutex_lock(&main_config.progress_mutex);
main_config.progress_active=1; main_config.progress_active=1;
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
@ -146,23 +147,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){ void on_driver_pack_info(GtkWidget *, main_window *widgets){
GtkTreeIter iter; GtkTreeIter iter;
char *module, *package; char *module, *package;
GtkTreeModel *list_s=GTK_TREE_MODEL(main_config.list); GtkTreeModel *list_s=GTK_TREE_MODEL(main_config.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->DriversTree));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ 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); 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); char *command = get_info_proprietary_command(yon_char_is_empty(module)?package:module);
yon_launch_app_with_arguments(command,""); g_thread_new("info_thread",yon_driver_info_launch,(void*)command);
yon_ubl_status_box_render(yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_INFO_TYPE); // yon_launch_app_with_arguments(command,"");
} else { } else {
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
void on_pack_install_activate(GtkCellRendererToggle* ,gchar* path,main_window *widgets){ void on_pack_install_activate(GtkCellRendererToggle* ,gchar* path,main_window *widgets){
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree)); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->DriversTree));
GtkTreeIter iter; GtkTreeIter iter;
if (!GTK_IS_TREE_MODEL_FILTER(model)){ if (!GTK_IS_TREE_MODEL_FILTER(model)){
@ -184,6 +194,7 @@ void on_pack_install_activate(GtkCellRendererToggle* ,gchar* path,main_window *w
if (!yon_char_is_empty(package)){ if (!yon_char_is_empty(package)){
char *command = install_proprietary_command(package); char *command = install_proprietary_command(package);
yon_terminal_start(widgets,command); yon_terminal_start(widgets,command);
yon_ubl_status_box_render(PACKAGE_INSTALL_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE);
} }
} }
free(data); free(data);
@ -194,6 +205,7 @@ void on_pack_install_activate(GtkCellRendererToggle* ,gchar* path,main_window *w
if (!yon_char_is_empty(package)){ if (!yon_char_is_empty(package)){
char *command = delete_proprietary_command(package); char *command = delete_proprietary_command(package);
yon_terminal_start(widgets,command); yon_terminal_start(widgets,command);
yon_ubl_status_box_render(PACKAGE_REMOVE_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE);
} }
} }
free(data); free(data);
@ -220,6 +232,7 @@ void on_module_install_activate(GtkCellRendererToggle* ,gchar* path,main_window
if (!yon_char_is_empty(package)){ if (!yon_char_is_empty(package)){
char *command = install_proprietary_command(package); char *command = install_proprietary_command(package);
yon_terminal_start(widgets,command); yon_terminal_start(widgets,command);
yon_ubl_status_box_render(MODULE_INSTALL_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE);
} }
} }
free(data); free(data);
@ -230,6 +243,7 @@ void on_module_install_activate(GtkCellRendererToggle* ,gchar* path,main_window
if (!yon_char_is_empty(package)){ if (!yon_char_is_empty(package)){
char *command = delete_proprietary_command(package); char *command = delete_proprietary_command(package);
yon_terminal_start(widgets,command); yon_terminal_start(widgets,command);
yon_ubl_status_box_render(MODULE_REMOVE_PROCESS_LABEL(package),BACKGROUND_IMAGE_INFO_TYPE);
} }
} }
free(data); free(data);
@ -1001,8 +1015,11 @@ void yon_monitor_view_update(){
} }
gboolean yon_proprietary_clear(main_window *widgets){ gboolean yon_proprietary_clear(main_window *widgets){
gtk_widget_set_sensitive(widgets->LoadDriversButton,0);
gtk_list_store_clear(main_config.list); gtk_list_store_clear(main_config.list);
gtk_list_store_clear(main_config.list2); gtk_list_store_clear(main_config.list2);
gtk_spinner_start(GTK_SPINNER(widgets->DriversLoadingSpinner));
gtk_widget_show(widgets->DriversLoadingSpinner);
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KernelsCombo)); 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_text_append_text(GTK_COMBO_BOX_TEXT(widgets->KernelsCombo),ALL_INSTALLED_KERNELS_LABEL);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KernelsCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KernelsCombo),0);
@ -1033,11 +1050,12 @@ gboolean yon_proprietary_disconnect(main_window *widgets){
gboolean yon_proprietary_connect(main_window *widgets){ gboolean yon_proprietary_connect(main_window *widgets){
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->DriversTree),GTK_TREE_MODEL(main_config.list)); 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; return G_SOURCE_REMOVE;
} }
void *yon_proprietary_local_get(main_window *widgets){ void *yon_proprietary_local_get(main_window *widgets){
gtk_widget_set_sensitive(widgets->LoadDriversButton,0);
g_idle_add((GSourceFunc)yon_proprietary_clear,widgets); g_idle_add((GSourceFunc)yon_proprietary_clear,widgets);
int kernels_size; int kernels_size;
config_str kernels_installed=yon_config_load(yon_debug_output("%s\n",yon_get_kernels_installed),&kernels_size); config_str kernels_installed=yon_config_load(yon_debug_output("%s\n",yon_get_kernels_installed),&kernels_size);
@ -1079,8 +1097,13 @@ void *yon_proprietary_local_get(main_window *widgets){
} }
} }
yon_debug_output("%s\n","Driver end"); yon_debug_output("%s\n","Driver end");
if (dr_desc==size-1) {
g_idle_add((GSourceFunc)yon_proprietary_connect,widgets);
}
} }
if (!size){
g_idle_add((GSourceFunc)yon_proprietary_connect,widgets); g_idle_add((GSourceFunc)yon_proprietary_connect,widgets);
}
char *status_text = yon_char_unite(yon_char_get_localised_from_lib(SUCCESS_LABEL),". ", !getuid()? main_config.load_mode==1?yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL):yon_char_get_localised_from_lib(GLOBAL_LOAD_SUCCESS_LABEL):yon_char_get_localised_from_lib(ROOT_WARNING_LABEL),NULL); char *status_text = yon_char_unite(yon_char_get_localised_from_lib(SUCCESS_LABEL),". ", !getuid()? main_config.load_mode==1?yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL):yon_char_get_localised_from_lib(GLOBAL_LOAD_SUCCESS_LABEL):yon_char_get_localised_from_lib(ROOT_WARNING_LABEL),NULL);
yon_ubl_status_box_render_thread(status_text,!getuid()?BACKGROUND_IMAGE_SUCCESS_TYPE:BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render_thread(status_text,!getuid()?BACKGROUND_IMAGE_SUCCESS_TYPE:BACKGROUND_IMAGE_FAIL_TYPE);
free(status_text); free(status_text);
@ -1178,9 +1201,17 @@ void yon_monitor_set_resolutions(){
void on_app_chooser_open(GtkWidget *self, main_window *widgets){ void on_app_chooser_open(GtkWidget *self, main_window *widgets){
yon_app_chooser_window *window = yon_app_chooser_window_new(1); yon_app_chooser_window *window = yon_app_chooser_window_new(1);
const char *prev_selection = gtk_entry_get_text(GTK_ENTRY(self==widgets->OptirunButton?widgets->OptirunEntry:widgets->PrimusrunEntry));
if (!yon_char_is_empty(prev_selection)){
int size;
config_str parsed = yon_char_parse((char*)prev_selection,&size,",");
yon_app_chooser_window_select(window,parsed,size);
yon_char_parsed_free(parsed,size);
}
int size; int size;
config_str parsed = yon_app_chooser_window_run(window,&size); config_str parsed = yon_app_chooser_window_run(window,&size);
if (parsed&&size){
char *string = yon_char_parsed_to_string(parsed,size,","); char *string = yon_char_parsed_to_string(parsed,size,",");
if (self==widgets->OptirunButton){ if (self==widgets->OptirunButton){
gtk_entry_set_text(GTK_ENTRY(widgets->OptirunEntry),string); gtk_entry_set_text(GTK_ENTRY(widgets->OptirunEntry),string);
@ -1188,6 +1219,7 @@ void on_app_chooser_open(GtkWidget *self, main_window *widgets){
gtk_entry_set_text(GTK_ENTRY(widgets->PrimusrunEntry),string); gtk_entry_set_text(GTK_ENTRY(widgets->PrimusrunEntry),string);
} }
} }
}
void yon_adapter_window_setup(main_window *widgets){ void yon_adapter_window_setup(main_window *widgets){
int size=0; int size=0;
@ -1398,6 +1430,8 @@ template_main_window *yon_main_window_complete(main_window *widgets){
widgets->InformationCompanyLogoImage2 = GTK_WIDGET(gtk_builder_get_object(builder, "InformationCompanyLogoImage2")); widgets->InformationCompanyLogoImage2 = GTK_WIDGET(gtk_builder_get_object(builder, "InformationCompanyLogoImage2"));
widgets->InformationLabel = GTK_WIDGET(gtk_builder_get_object(builder, "InformationLabel")); widgets->InformationLabel = GTK_WIDGET(gtk_builder_get_object(builder, "InformationLabel"));
widgets->InformationLabel2 = GTK_WIDGET(gtk_builder_get_object(builder, "InformationLabel2")); widgets->InformationLabel2 = GTK_WIDGET(gtk_builder_get_object(builder, "InformationLabel2"));
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->PackageRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "PackageRenderer"));
widgets->ModuleRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "ModuleRenderer")); widgets->ModuleRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "ModuleRenderer"));
@ -1405,6 +1439,8 @@ template_main_window *yon_main_window_complete(main_window *widgets){
main_config.list = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore6")); main_config.list = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore6"));
main_config.list2 = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore1")); 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); g_signal_connect(G_OBJECT(widgets->LoadDriversButton), "clicked", G_CALLBACK(yon_proprietary_get_thread), widgets);
if (!getuid()){ if (!getuid()){
@ -1423,7 +1459,9 @@ template_main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),NULL); g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),NULL);
g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),NULL); g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),NULL);
g_signal_connect(G_OBJECT(widgets->OptirunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->OptirunEntry); g_signal_connect(G_OBJECT(widgets->OptirunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->OptirunEntry);
g_signal_connect(G_OBJECT(widgets->OptirunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->OptirunButton);
g_signal_connect(G_OBJECT(widgets->PrimusrunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->PrimusrunEntry); g_signal_connect(G_OBJECT(widgets->PrimusrunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->PrimusrunEntry);
g_signal_connect(G_OBJECT(widgets->PrimusrunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->PrimusrunButton);
g_signal_connect(G_OBJECT(widgets->KernelsCombo),"changed",G_CALLBACK(on_kernel_filter_changed),widgets); g_signal_connect(G_OBJECT(widgets->KernelsCombo),"changed",G_CALLBACK(on_kernel_filter_changed),widgets);
g_signal_connect(G_OBJECT(widgets->FrameGapCombo),"changed",G_CALLBACK(on_gapfix_changed),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->OptirunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets);

@ -198,6 +198,8 @@ typedef struct
GtkWidget *TerminalMoreButton; GtkWidget *TerminalMoreButton;
GtkWidget *TerminalScroll; GtkWidget *TerminalScroll;
GtkWidget *TerminalMoreRevieler; GtkWidget *TerminalMoreRevieler;
GtkWidget *DriversLoadingOverlay;
GtkWidget *DriversLoadingSpinner;
GtkWidget *MenusTab; GtkWidget *MenusTab;
GtkWidget *terminal; GtkWidget *terminal;
@ -395,4 +397,5 @@ void on_gapfix_changed(GtkWidget*self, main_window *widgets);
gboolean yon_proprietary_disconnect(main_window *widgets); gboolean yon_proprietary_disconnect(main_window *widgets);
gboolean yon_proprietary_connect(main_window *widgets); gboolean yon_proprietary_connect(main_window *widgets);
void on_app_chooser_open(GtkWidget *self, main_window *widgets); void on_app_chooser_open(GtkWidget *self, main_window *widgets);
gpointer yon_driver_info_launch(void *command);
#endif #endif

@ -59,8 +59,12 @@
#define INSTALLED_LOW_LABEL _("installed") #define INSTALLED_LOW_LABEL _("installed")
#define PACKAGE_LABEL _("Package") #define PACKAGE_LABEL _("Package")
#define SUPPORTED_LABEL _("Supported Devices") #define SUPPORTED_LABEL _("Supported Devices")
#define DELETING_PROCESS_LABEL _("Driver deleting has started")
#define INSTALLING_PROCESS_LABEL _("Driver installing has started") #define MODULE_INSTALL_PROCESS_LABEL(target) yon_char_unite(_("Install module driver")," ",target,"...",NULL)
#define MODULE_REMOVE_PROCESS_LABEL(target) yon_char_unite(_("Remove module driver")," ",target,"...",NULL)
#define PACKAGE_INSTALL_PROCESS_LABEL(target) yon_char_unite(_("Install package driver")," ",target,"...",NULL)
#define PACKAGE_REMOVE_PROCESS_LABEL(target) yon_char_unite(_("Remove package driver")," ",target,"...",NULL)
#define INFO_PROCESS_LABEL _("Opening driver information") #define INFO_PROCESS_LABEL _("Opening driver information")
#define CANCEL_LABEL _("Cancel") #define CANCEL_LABEL _("Cancel")
#define ACCEPT_LABEL _("Accept") #define ACCEPT_LABEL _("Accept")
@ -105,12 +109,12 @@
#define MONITOR_PORT_ERROR_LABEL _("Error: Port must be chosen to save") #define MONITOR_PORT_ERROR_LABEL _("Error: Port must be chosen to save")
#define MONITOR_PORT_SUCCESS_LABEL _("Monitor configuration succeedeed") #define MONITOR_PORT_SUCCESS_LABEL _("Monitor configuration succeedeed")
#define GLOBAL_LOAD_SUCCESS _("Global configuration loading succseeded.") // #define GLOBAL_LOAD_SUCCESS _("Global configuration loading succseeded.")
#define LOCAL_LOAD_SUCCESS _("Local configuration loading succseeded.") // #define LOCAL_LOAD_SUCCESS _("Local configuration loading succseeded.")
#define GLOBAL_LOCAL_SAVE_SUCCESS _("Local and global configuration saving succseeded.") // #define GLOBAL_LOCAL_SAVE_SUCCESS _("Local and global configuration saving succseeded.")
#define GLOBAL_SAVE_SUCCESS _("Global configuration saving succseeded.") // #define GLOBAL_SAVE_SUCCESS _("Global configuration saving succseeded.")
#define LOCAL_SAVE_SUCCESS _("Local configuration saving succseeded.") // #define LOCAL_SAVE_SUCCESS _("Local configuration saving succseeded.")
#define YES_LABEL _("Yes") #define YES_LABEL _("Yes")
#define NO_LABEL _("No") #define NO_LABEL _("No")

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-video"> <interface domain="ubl-settings-video">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-video.css --> <!-- interface-css-provider-path ubl-settings-video.css -->
@ -62,6 +62,20 @@
</packing> </packing>
</child> </child>
</object> </object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="EnableCheck1">
<property name="label" translatable="yes">Manual port</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="draw-indicator">True</property>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
@ -112,6 +126,16 @@
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkEntry" id="PortEntry">
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child> <child>
<object class="GtkCheckButton" id="MainCheck"> <object class="GtkCheckButton" id="MainCheck">
<property name="label" translatable="yes">Main display</property> <property name="label" translatable="yes">Main display</property>
@ -123,7 +147,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
</object> </object>

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-video"> <interface domain="ubl-settings-video">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-video.css --> <!-- interface-css-provider-path ubl-settings-video.css -->
<object class="GtkSpinner" id="DriversLoadingSpinner">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<object class="GtkImage" id="InformationCompanyLogoImage"> <object class="GtkImage" id="InformationCompanyLogoImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -17,98 +21,6 @@
<property name="valign">start</property> <property name="valign">start</property>
<property name="pixel-size">64</property> <property name="pixel-size">64</property>
</object> </object>
<object class="GtkMenu" id="LoadConfigurationMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="reserve-toggle-size">False</property>
<child>
<object class="GtkMenuItem" id="mainHeaderLoadGlobalMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load from global configuration</property>
<property name="use-underline">True</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="mainHeaderLoadLocalMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Load from local configuration</property>
<property name="use-underline">True</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object>
<object class="GtkMenu" id="SaveConfigurationMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="reserve-toggle-size">False</property>
<child>
<object class="GtkMenuItem" id="mainHeaderSaveGlobalLocalMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to global an local configuration</property>
<property name="use-underline">True</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="mainHeaderSaveGlobalMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to global configuration</property>
<property name="use-underline">True</property>
<style>
<class name="menuitemmiddle"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="mainHeaderSaveLocalMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Save to local configuration</property>
<property name="use-underline">True</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object>
<object class="GtkMenu" id="SettingsMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="reserve-toggle-size">False</property>
<child>
<object class="GtkMenuItem" id="mainHeaderSettingsDocumentationMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Documentation</property>
<property name="use-underline">True</property>
<style>
<class name="menuitemtop"/>
</style>
</object>
</child>
<child>
<object class="GtkMenuItem" id="mainHeaderSettingsAboutMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">About</property>
<property name="use-underline">True</property>
<style>
<class name="menuitembottom"/>
</style>
</object>
</child>
</object>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -708,6 +620,7 @@
<child> <child>
<object class="GtkButton" id="OptirunButton"> <object class="GtkButton" id="OptirunButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image1</property> <property name="image">image1</property>
@ -774,6 +687,7 @@
<child> <child>
<object class="GtkButton" id="PrimusrunButton"> <object class="GtkButton" id="PrimusrunButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="image">image2</property> <property name="image">image2</property>
@ -979,6 +893,10 @@
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkOverlay" id="DriversLoadingOverlay">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -989,9 +907,6 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">liststore1</property> <property name="model">liststore1</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="sizing">fixed</property> <property name="sizing">fixed</property>
@ -1023,9 +938,6 @@
<property name="enable-grid-lines">both</property> <property name="enable-grid-lines">both</property>
<property name="enable-tree-lines">True</property> <property name="enable-tree-lines">True</property>
<property name="tooltip-column">4</property> <property name="tooltip-column">4</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="sizing">fixed</property> <property name="sizing">fixed</property>
@ -1121,6 +1033,11 @@
</packing> </packing>
</child> </child>
</object> </object>
<packing>
<property name="index">-1</property>
</packing>
</child>
</object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>

@ -297,12 +297,20 @@ msgstr ""
msgid "Supported Devices" msgid "Supported Devices"
msgstr "" msgstr ""
#: source/ubl-strings.h:61 #: source/ubl-strings.h:62
msgid "Driver deleting has started" msgid "Install module driver"
msgstr ""
#: source/ubl-strings.h:62
msgid "Remove module driver"
msgstr ""
#: source/ubl-strings.h:62
msgid "Install package driver"
msgstr "" msgstr ""
#: source/ubl-strings.h:62 #: source/ubl-strings.h:62
msgid "Driver installing has started" msgid "Remove package driver"
msgstr "" msgstr ""
#: source/ubl-strings.h:63 #: source/ubl-strings.h:63

@ -299,13 +299,21 @@ msgstr "Пакет"
msgid "Supported Devices" msgid "Supported Devices"
msgstr "Устройства" msgstr "Устройства"
#: source/ubl-strings.h:61 #: source/ubl-strings.h:62
msgid "Driver deleting has started" msgid "Install module driver"
msgstr "Началось удаление драйвера" msgstr "Установка драйвера, модуль"
#: source/ubl-strings.h:62
msgid "Remove module driver"
msgstr "Удаление драйвера, модуль"
#: source/ubl-strings.h:62
msgid "Install package driver"
msgstr "Установка драйвера, пакет"
#: source/ubl-strings.h:62 #: source/ubl-strings.h:62
msgid "Driver installing has started" msgid "Remove package driver"
msgstr "Началась установка драйвера" msgstr "Удаление драйвера, пакет"
#: source/ubl-strings.h:63 #: source/ubl-strings.h:63
msgid "Opening driver information" msgid "Opening driver information"
@ -819,11 +827,11 @@ msgstr "Операция завершена с ошибкой"
#: source/ubl-strings.h:205 #: source/ubl-strings.h:205
msgid "Are you sure want to install driver " msgid "Are you sure want to install driver "
msgstr "Вы уверены что хотите установить драйвер " msgstr "Вы уверены, что хотите установить драйвер "
#: source/ubl-strings.h:206 #: source/ubl-strings.h:206
msgid "Are you sure want to remove driver " msgid "Are you sure want to remove driver "
msgstr "Вы уверены что хотите удалить драйвер " msgstr "Вы уверены, что хотите удалить драйвер "
#: source/ubl-strings.h:207 #: source/ubl-strings.h:207
msgid "Attention!" msgid "Attention!"

Loading…
Cancel
Save