@ -18,7 +18,9 @@ void on_subwindow_close(GtkWidget *self)
void on_monitor_config_save ( GtkWidget * self , monitor_edit_window * window ) {
void on_monitor_config_save ( GtkWidget * self , monitor_edit_window * window ) {
monitorconfig * config = yon_dictionary_get_data ( window - > config , monitorconfig * ) ;
monitorconfig * config = yon_dictionary_get_data ( window - > config , monitorconfig * ) ;
if ( gtk_combo_box_get_active ( GTK_COMBO_BOX ( window - > templateMonitorConfigurationPortCombo ) ) = = 0 ) {
if ( gtk_combo_box_get_active ( GTK_COMBO_BOX ( window - > templateMonitorConfigurationPortCombo ) ) = = 0 ) {
_yon_ubl_status_box_render ( videoconfig . status_render . box , videoconfig . status_render . icon , videoconfig . status_render . label , MONITOR_PORT_ERROR_LABEL , BACKGROUND_IMAGE_FAIL_TYPE ) ;
videoconfig . status_render . text_to_render = MONITOR_PORT_ERROR_LABEL ;
videoconfig . status_render . type = BACKGROUND_IMAGE_FAIL_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
return ;
return ;
}
}
config - > main = 0 ;
config - > main = 0 ;
@ -32,7 +34,9 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
config - > port = NULL ;
config - > port = NULL ;
config - > resolution = NULL ;
config - > resolution = NULL ;
config - > frequency = NULL ;
config - > frequency = NULL ;
_yon_ubl_status_box_render ( videoconfig . status_render . box , videoconfig . status_render . icon , videoconfig . status_render . label , MONITOR_PORT_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = MONITOR_PORT_SUCCESS_LABEL ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
config - > port = ( char * ) gtk_combo_box_text_get_active_text ( GTK_COMBO_BOX_TEXT ( window - > templateMonitorConfigurationPortCombo ) ) ;
config - > port = ( char * ) gtk_combo_box_text_get_active_text ( GTK_COMBO_BOX_TEXT ( window - > templateMonitorConfigurationPortCombo ) ) ;
window - > config - > key = yon_char_new ( config - > port ) ;
window - > config - > key = yon_char_new ( config - > port ) ;
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > templateMonitorConfigurationParameterLineCheck ) ) = = 0 ) {
if ( gtk_toggle_button_get_active ( GTK_TOGGLE_BUTTON ( window - > templateMonitorConfigurationParameterLineCheck ) ) = = 0 ) {
@ -68,73 +72,85 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
on_subwindow_close ( self ) ;
on_subwindow_close ( self ) ;
}
}
// void on_save_window_configuration(GtkWidget *self, MonitorSettings *monitor){
void on_driver_pack_install ( GtkWidget * self , widgets_dict * widgets ) {
// char *port=NULL;
GtkTreeIter iter ;
// port=gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationPortCombo));
char * name ;
// if (!monitor->curconfig){
GtkTreeModel * list_s = GTK_TREE_MODEL ( videoconfig . list ) ;
// monitorconfig *confi = new(monitorconfig);
GtkTreeSelection * selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > proprietaryTreeView ) ) ;
// if (!videoconfig.monitors) videoconfig.monitors=yon_dictionary_create_with_data(port,confi);
gtk_tree_selection_get_selected ( selection , & list_s , & iter ) ;
// else videoconfig.monitors=yon_dictionary_create_with_data_connected(videoconfig.monitors,port,confi);
gtk_tree_model_get ( list_s , & iter , 1 , & name , - 1 ) ;
// monitor->curconfig=videoconfig.monitors;
pthread_t tid ;
// }
pthread_create ( & tid , NULL , ( void * ) yon_launch_with_output , ( void * ) yon_char_get_augumented ( install_proprietary_command , name ) ) ;
// char *freq=NULL;
// char *res=NULL;
// char *rot=NULL;
// char *entr=NULL;
// char *def=NULL;
// def=_("Default settings");
// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(monitor->templateMonitorConfigurationMainRadio))==1)
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->main=1;
// if (strcmp((freq=yon_char_new((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationFrequencyCombo)))),def)!=0)
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency=freq;
// else yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency=NULL;
// if (strcmp((res=yon_char_new((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationResolutionCombo)))),def)!=0)
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution=res;
// else yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution=NULL;
// if (strcmp((rot=yon_char_new((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationRotationCombo)))),def)!=0)
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation=rot;
// else yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation=NULL;
// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(monitor->templateMonitorConfigurationParameterLineCheck))){
// entr=yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(monitor->templateMonitorConfigurationParameterLineEntry)));
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->stringparameters=entr;
// } else {
// char *str=NULL;
// str = "";
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency!=NULL)
// str=yon_char_get_augumented(str,yon_char_get_augumented(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency,","));
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution!=NULL)
// str=yon_char_get_augumented(str,yon_char_get_augumented(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution,","));
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation!=NULL)
// if (strcmp(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation,_("Right"))==0)
// str=yon_char_get_augumented(str,"rotation:right,");
// else if (strcmp(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation,_("Left"))==0)
// str=yon_char_get_augumented(str,"rotation:left,");
// else if (strcmp(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation,_("Invert"))==0)
// str=yon_char_get_augumented(str,"rotation:invert,");
// else
// str=yon_char_get_augumented(str,"rotation:normal,");
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->main!=0)
}
// str=yon_char_get_augumented(str,"primary,");
// if (strcmp(str,"")!=0)
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->stringparameters=str;
// }
void on_driver_install ( GtkWidget * self , widgets_dict * widgets ) {
// dictionary *dict=NULL;
// // for_dictionaries (dict,videoconfig.videoconfig){
GtkTreeIter iter ;
// // MonitorSettings *monitorsett=yon_dictionary_get_data(dict,MonitorSettings*);
char * name ;
// // if (monitorsett->curconfig==monitor->curconfig){
GtkTreeModel * list_s = GTK_TREE_MODEL ( videoconfig . list ) ;
// // yon_parse_monitor(monitorsett->curconfig,yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->stringparameters);
GtkTreeSelection * selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > driversTreeView ) ) ;
// // gtk_label_set_text(GTK_LABEL(monitorsett->templateMonitorInfoResolutionLabel),yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution);
gtk_tree_selection_get_selected ( selection , & list_s , & iter ) ;
// // if (yon_dictionary_get_data(monitorsett->curconfig,monitorconfig*)->main==0)
gtk_tree_model_get ( list_s , & iter , 1 , & name , - 1 ) ;
// // gtk_label_set_text(GTK_LABEL(monitorsett->templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", ((monitorconfig *)monitorsett->curconfig->data)->port));
pthread_t tid ;
// // if (yon_dictionary_get_data(monitorsett->curconfig,monitorconfig*)->main==1)
pthread_create ( & tid , NULL , ( void * ) yon_launch_with_output , ( void * ) yon_char_get_augumented ( install_proprietary_command , name ) ) ;
// // gtk_label_set_text(GTK_LABEL(monitorsett->templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", yon_char_get_augumented(((monitorconfig *)monitorsett->curconfig->data)->port,"*")));
}
// // }
// // }
void on_driver_pack_delete ( GtkWidget * self , widgets_dict * widgets ) {
// on_subwindow_close(self);
// };
GtkTreeIter iter ;
char * name ;
GtkTreeModel * list_s = GTK_TREE_MODEL ( videoconfig . list ) ;
GtkTreeSelection * selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > proprietaryTreeView ) ) ;
gtk_tree_selection_get_selected ( selection , & list_s , & iter ) ;
gtk_tree_model_get ( list_s , & iter , 1 , & name , - 1 ) ;
pthread_t tid ;
pthread_create ( & tid , NULL , ( void * ) yon_launch_with_output , ( void * ) yon_char_get_augumented ( delete_proprietary_command , name ) ) ;
}
void on_driver_delete ( GtkWidget * self , widgets_dict * widgets ) {
GtkTreeIter iter ;
char * name ;
GtkTreeModel * list_s = GTK_TREE_MODEL ( videoconfig . list ) ;
GtkTreeSelection * selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > driversTreeView ) ) ;
gtk_tree_selection_get_selected ( selection , & list_s , & iter ) ;
gtk_tree_model_get ( list_s , & iter , 1 , & name , - 1 ) ;
pthread_t tid ;
pthread_create ( & tid , NULL , ( void * ) yon_launch_with_output , ( void * ) yon_char_get_augumented ( delete_proprietary_command , name ) ) ;
}
void on_driver_pack_info ( GtkWidget * self , widgets_dict * widgets ) {
pthread_attr_t attr ;
pthread_t tid ;
pthread_attr_init ( & attr ) ;
GtkTreeIter iter ;
char * name ;
GtkTreeModel * list_s = GTK_TREE_MODEL ( videoconfig . list ) ;
GtkTreeSelection * selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > proprietaryTreeView ) ) ;
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_app , yon_char_get_augumented ( get_info_proprietary_command , name ) ) ;
}
void on_driver_info ( GtkWidget * self , widgets_dict * widgets ) {
pthread_attr_t attr ;
pthread_t tid ;
pthread_attr_init ( & attr ) ;
GtkTreeIter iter ;
char * name ;
GtkTreeModel * list_s = GTK_TREE_MODEL ( videoconfig . list ) ;
GtkTreeSelection * selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > driversTreeView ) ) ;
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_app , yon_char_get_augumented ( get_info_proprietary_command , name ) ) ;
}
void on_port_chosen_changed ( GtkWidget * self , monitor_edit_window * window ) {
void on_port_chosen_changed ( GtkWidget * self , monitor_edit_window * window ) {
monitorconfig * config = yon_dictionary_get_data ( window - > config , monitorconfig * ) ;
monitorconfig * config = yon_dictionary_get_data ( window - > config , monitorconfig * ) ;
@ -286,7 +302,10 @@ void on_configuration_save_local(GtkWidget *self, widgets_dict *widgets)
if ( str ) {
if ( str ) {
printf ( str ) ;
printf ( str ) ;
yon_config_save ( str ) ;
yon_config_save ( str ) ;
yon_ubl_status_box_render ( widgets - > mainStatusBox , widgets - > mainStatusIcon , widgets - > mainStatusLabel , _ ( " Local configuration saving succseeded. " ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = LOCAL_SAVE_SUCCESS ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
}
}
// else
// else
// yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local configuration saving failed."), BACKGROUND_IMAGE_FAIL_TYPE);
// yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local configuration saving failed."), BACKGROUND_IMAGE_FAIL_TYPE);
@ -296,12 +315,16 @@ void on_configuration_save_local_global(GtkWidget *self, widgets_dict *widgets)
{
{
on_configuration_save_global ( self , widgets ) ;
on_configuration_save_global ( self , widgets ) ;
on_configuration_save_local ( self , widgets ) ;
on_configuration_save_local ( self , widgets ) ;
yon_ubl_status_box_render ( widgets - > mainStatusBox , widgets - > mainStatusIcon , widgets - > mainStatusLabel , _ ( " Local and global configuration saving succseeded. " ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = GLOBAL_LOCAL_SAVE_SUCCESS ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
}
}
void on_configuration_save_global ( GtkWidget * self , widgets_dict * widgets )
void on_configuration_save_global ( GtkWidget * self , widgets_dict * widgets )
{
{
yon_ubl_status_box_render ( widgets - > mainStatusBox , widgets - > mainStatusIcon , widgets - > mainStatusLabel , _ ( " Global configuration saving succseeded. " ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = GLOBAL_SAVE_SUCCESS ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
yon_update_config ( widgets ) ;
yon_update_config ( widgets ) ;
char * str = NULL ;
char * str = NULL ;
if ( videoconfig . failsafenVidia )
if ( videoconfig . failsafenVidia )
@ -326,7 +349,9 @@ void yon_update_config(widgets_dict *widgets)
void on_configuration_load_local ( GtkWidget * self , widgets_dict * widgets )
void on_configuration_load_local ( GtkWidget * self , widgets_dict * widgets )
{
{
yon_ubl_status_box_render ( widgets - > mainStatusBox , widgets - > mainStatusIcon , widgets - > mainStatusLabel , _ ( " Local configuration loading succseeded. " ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = LOCAL_LOAD_SUCCESS ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
char * command = load_drivers_local_command ;
char * command = load_drivers_local_command ;
dictionary * dct ;
dictionary * dct ;
for_dictionaries ( dct , videoconfig . monitors )
for_dictionaries ( dct , videoconfig . monitors )
@ -342,7 +367,9 @@ void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets)
void on_configuration_load_global ( GtkWidget * self , widgets_dict * widgets )
void on_configuration_load_global ( GtkWidget * self , widgets_dict * widgets )
{
{
yon_ubl_status_box_render ( widgets - > mainStatusBox , widgets - > mainStatusIcon , widgets - > mainStatusLabel , _ ( " Global configuration loading succseeded. " ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = GLOBAL_LOAD_SUCCESS ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
char * command = load_drivers_global_command ;
char * command = load_drivers_global_command ;
dictionary * dct ;
dictionary * dct ;
for_dictionaries ( dct , videoconfig . monitors )
for_dictionaries ( dct , videoconfig . monitors )
@ -531,6 +558,34 @@ void yon_monitor_window_update(monitor_edit_window *window){
}
}
void yon_popen ( thread_input * input ) {
* ( FILE * * ) input - > data = popen ( input - > command , " r " ) ;
}
void yon_launch_with_output ( char * command ) {
pthread_t tid ;
FILE * output = NULL ;
FILE * * output_file = & output ;
thread_input input ;
input . command = command ;
input . data = output_file ;
pthread_create ( & tid , NULL , ( void * ) yon_popen , & input ) ;
char * * output_strings = NULL ;
output_strings = malloc ( sizeof ( char ) ) ;
int i = 0 ;
char str [ 1000 ] ;
memset ( str , 0 , 1000 ) ;
while ( 1 ) {
if ( output ) {
if ( fgets ( str , 1000 , output ) ) {
videoconfig . status_render . text_to_render = str ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
_yon_ubl_status_box_render ( & videoconfig . status_render ) ;
}
}
}
}
/**void yon_monitor_view_draw_all(GtkWidget *cnt)
/**void yon_monitor_view_draw_all(GtkWidget *cnt)
* [ EN ]
* [ EN ]
*/
*/
@ -999,76 +1054,6 @@ void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_
}
}
}
}
// MonitorSettings *yon_setup_monitor_settings()
// {
// int monitors_n = videoconfig.portssize;
// MonitorSettings *monitors = NULL;
// monitors = malloc(sizeof(MonitorSettings) * (monitors_n+1));
// // videoconfig.videoconfig=videoconfig.videoconfig->first;
// int i=0;
// if (videoconfig.monitors){
// for (i = 0; i < monitors_n; i++)
// {
// GtkBuilder *builder = gtk_builder_new_from_file(glade_path);
// monitors[i].templateMonitorscreenOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorscreenOverlay"));
// monitors[i].templateMonitorInfoBox = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoBox"));
// monitors[i].templateMonitorInfoNameLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoNameLabel"));
// monitors[i].templateMonitorImage = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorImage"));
// monitors[i].templateMonitorInfoResolutionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoResolutionLabel"));
// monitors[i].templateMonitorInfoConfigureButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoConfigureButton"));
// monitors[i].templateMonitorDeleteButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorDeleteButton"));
// monitors[i].templateMonitorSwitchButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorSwitchButton"));
// monitors[i].curconfig = yon_dictionary_get_nth(videoconfig.monitors, i);
// printf("%d\n", i);
// if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==0)
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", ((monitorconfig *)monitors[i].curconfig->data)->port));
// if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==1)
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->port,"*")));
// char *res = yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->resolution, "");
// if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->enable==1)
// gtk_widget_set_sensitive(monitors[i].templateMonitorImage,1);
// if (!res)
// res = _("Default settings");
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoResolutionLabel), res);
// gtk_overlay_add_overlay(GTK_OVERLAY(monitors[i].templateMonitorscreenOverlay), monitors[i].templateMonitorInfoBox);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorInfoConfigureButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorDeleteButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorSwitchButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// if (i==0)
// videoconfig.videoconfig = yon_dictionary_create_with_data(((monitorconfig *)monitors[i].curconfig->data)->port,&monitors[i]);
// else
// videoconfig.videoconfig = yon_dictionary_create_with_data_connected(videoconfig.videoconfig,((monitorconfig *)monitors[i].curconfig->data)->port,&monitors[i]);
// if (videoconfig.monitors->next)
// videoconfig.monitors = videoconfig.monitors->next;
// }
// }
// GtkBuilder *builder = gtk_builder_new_from_file(glade_path);
// monitors[i].templateMonitorscreenOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorscreenOverlay"));
// monitors[i].templateMonitorInfoBox = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoBox"));
// monitors[i].templateMonitorInfoNameLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoNameLabel"));
// monitors[i].templateMonitorImage = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorImage"));
// monitors[i].templateMonitorInfoResolutionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoResolutionLabel"));
// monitors[i].templateMonitorInfoConfigureButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoConfigureButton"));
// monitors[i].templateMonitorDeleteButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorDeleteButton"));
// monitors[i].templateMonitorSwitchButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorSwitchButton"));
// monitors[i].templateMonitorInfoAddButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoAddButton"));
// gtk_widget_show(monitors[i].templateMonitorInfoAddButton);
// gtk_widget_hide(monitors[i].templateMonitorSwitchButton);
// gtk_widget_hide(monitors[i].templateMonitorDeleteButton);
// gtk_widget_hide(monitors[i].templateMonitorInfoConfigureButton);
// monitors[i].curconfig = NULL;
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), "");
// gtk_widget_set_sensitive(monitors[i].templateMonitorImage,0);
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoResolutionLabel), "");
// gtk_overlay_add_overlay(GTK_OVERLAY(monitors[i].templateMonitorscreenOverlay), monitors[i].templateMonitorInfoBox);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorInfoAddButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// if (i==0)
// videoconfig.videoconfig = yon_dictionary_create_with_data("TEMPLATE",&monitors[i]);
// else
// videoconfig.videoconfig = yon_dictionary_create_with_data_connected(videoconfig.videoconfig,"TEMPLATE",&monitors[i]);
// return monitors;
// }
int yon_char_get_if_resolution ( char * parsed_string ) {
int yon_char_get_if_resolution ( char * parsed_string ) {
char * left = NULL , * right = NULL ;
char * left = NULL , * right = NULL ;
right = yon_char_new ( parsed_string ) ;
right = yon_char_new ( parsed_string ) ;
@ -1230,8 +1215,42 @@ void yon_setup_widgets(widgets_dict *widgets)
widgets - > templateMonitorConfigurationDoNotSwitchOffLabel = yon_gtk_builder_get_widget ( widgets - > builder , " templateMonitorConfigurationDoNotSwitchOffLabel " ) ;
widgets - > templateMonitorConfigurationDoNotSwitchOffLabel = yon_gtk_builder_get_widget ( widgets - > builder , " templateMonitorConfigurationDoNotSwitchOffLabel " ) ;
widgets - > templateMonitorConfigurationDoNotSwitchOffCheck = yon_gtk_builder_get_widget ( widgets - > builder , " templateMonitorConfigurationDoNotSwitchOffCheck " ) ;
widgets - > templateMonitorConfigurationDoNotSwitchOffCheck = yon_gtk_builder_get_widget ( widgets - > builder , " templateMonitorConfigurationDoNotSwitchOffCheck " ) ;
widgets - > proprietaryTreeView = yon_gtk_builder_get_widget ( widgets - > builder , " proprietaryTreeView " ) ;
widgets - > proprietaryInfoButton = yon_gtk_builder_get_widget ( widgets - > builder , " proprietaryInfoButton " ) ;
widgets - > proprietaryDeleteButton = yon_gtk_builder_get_widget ( widgets - > builder , " proprietaryDeleteButton " ) ;
widgets - > proprietaryInstallButton = yon_gtk_builder_get_widget ( widgets - > builder , " proprietaryInstallButton " ) ;
widgets - > proprietaryTreeSelection = GTK_TREE_SELECTION ( gtk_builder_get_object ( widgets - > builder , " proprietaryTreeSelection " ) ) ;
widgets - > driversTreeView = yon_gtk_builder_get_widget ( widgets - > builder , " driversTreeView " ) ;
widgets - > driversInfoButton = yon_gtk_builder_get_widget ( widgets - > builder , " driversInfoButton " ) ;
widgets - > driversDeleteButton = yon_gtk_builder_get_widget ( widgets - > builder , " driversDeleteButton " ) ;
widgets - > driversInstallButton = yon_gtk_builder_get_widget ( widgets - > builder , " driversInstallButton " ) ;
widgets - > driversTreeSelection = GTK_TREE_SELECTION ( gtk_builder_get_object ( widgets - > builder , " driversTreeSelection " ) ) ;
widgets - > proprietartInstalledColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " proprietartInstalledColumn " ) ) ;
widgets - > ProprietaryPackageColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " ProprietaryPackageColumn " ) ) ;
widgets - > ProprietaryDriverColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " ProprietaryDriverColumn " ) ) ;
widgets - > ProprietaryDescriptionColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " ProprietaryDescriptionColumn " ) ) ;
widgets - > ProprietarySupportedColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " ProprietarySupportedColumn " ) ) ;
widgets - > driverInstalledColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " driverInstalledColumn " ) ) ;
widgets - > driverPackageColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " driverPackageColumn " ) ) ;
widgets - > driverDriverColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " driverDriverColumn " ) ) ;
widgets - > driverDescriptionColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " driverDescriptionColumn " ) ) ;
widgets - > driverSupportedColumn = GTK_TREE_VIEW_COLUMN ( gtk_builder_get_object ( widgets - > builder , " driverSupportedColumn " ) ) ;
videoconfig . list = GTK_LIST_STORE ( gtk_builder_get_object ( widgets - > builder , " liststore6 " ) ) ;
videoconfig . list = GTK_LIST_STORE ( gtk_builder_get_object ( widgets - > builder , " liststore6 " ) ) ;
gtk_tree_view_set_model ( GTK_TREE_VIEW ( widgets - > proprietaryTreeView ) , GTK_TREE_MODEL ( videoconfig . list ) ) ;
g_signal_connect ( G_OBJECT ( widgets - > proprietaryDeleteButton ) , " clicked " , G_CALLBACK ( on_driver_pack_delete ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > proprietaryInstallButton ) , " clicked " , G_CALLBACK ( on_driver_pack_install ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > proprietaryInfoButton ) , " clicked " , G_CALLBACK ( on_driver_pack_info ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > driversDeleteButton ) , " clicked " , G_CALLBACK ( on_driver_delete ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > driversInstallButton ) , " clicked " , G_CALLBACK ( on_driver_install ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > driversInfoButton ) , " clicked " , G_CALLBACK ( on_driver_info ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > mainDriverAutomaticallyChooseCheck ) , " toggled " , G_CALLBACK ( on_auto_choose_drivers ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > mainDriverAutomaticallyChooseCheck ) , " toggled " , G_CALLBACK ( on_auto_choose_drivers ) , widgets ) ;
// g_signal_connect(G_OBJECT(widgets->mainHybridGraphicsDiscreteCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets);
// g_signal_connect(G_OBJECT(widgets->mainHybridGraphicsDiscreteCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets);
g_signal_connect ( G_OBJECT ( widgets - > mainExtraLaunchOptirunCheck ) , " toggled " , G_CALLBACK ( on_sensitive_change ) , widgets - > mainExtraLaunchOptirunEntry ) ;
g_signal_connect ( G_OBJECT ( widgets - > mainExtraLaunchOptirunCheck ) , " toggled " , G_CALLBACK ( on_sensitive_change ) , widgets - > mainExtraLaunchOptirunEntry ) ;
@ -1239,6 +1258,7 @@ void yon_setup_widgets(widgets_dict *widgets)
g_signal_connect ( G_OBJECT ( widgets - > mainExtraLaunchOptirunCheck ) , " toggled " , G_CALLBACK ( on_sensitive_change ) , widgets - > extraOptirunChooseAppsButton ) ;
g_signal_connect ( G_OBJECT ( widgets - > mainExtraLaunchOptirunCheck ) , " toggled " , G_CALLBACK ( on_sensitive_change ) , widgets - > extraOptirunChooseAppsButton ) ;
g_signal_connect ( G_OBJECT ( widgets - > mainExtraLaunchPrismusunCheck ) , " toggled " , G_CALLBACK ( on_sensitive_change ) , widgets - > extraPrimusunChooseAppsButton ) ;
g_signal_connect ( G_OBJECT ( widgets - > mainExtraLaunchPrismusunCheck ) , " toggled " , G_CALLBACK ( on_sensitive_change ) , widgets - > extraPrimusunChooseAppsButton ) ;
g_signal_connect ( G_OBJECT ( widgets - > MainWindow ) , " destroy " , G_CALLBACK ( gtk_main_quit ) , NULL ) ;
g_signal_connect ( G_OBJECT ( widgets - > MainWindow ) , " destroy " , G_CALLBACK ( gtk_main_quit ) , NULL ) ;
// g_signal_connect(G_OBJECT(widgets->extraOptirunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets);
// g_signal_connect(G_OBJECT(widgets->extraOptirunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets);
// g_signal_connect(G_OBJECT(widgets->extraPrimusunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets);
// g_signal_connect(G_OBJECT(widgets->extraPrimusunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets);
@ -1286,6 +1306,12 @@ void yon_setup_widgets(widgets_dict *widgets)
gtk_menu_item_set_label ( GTK_MENU_ITEM ( widgets - > mainHeaderSaveLocalMenuItem ) , _ ( " Save to local configuration " ) ) ;
gtk_menu_item_set_label ( GTK_MENU_ITEM ( widgets - > mainHeaderSaveLocalMenuItem ) , _ ( " Save to local configuration " ) ) ;
gtk_menu_item_set_label ( GTK_MENU_ITEM ( widgets - > mainHeaderSettingsDocumentationMenuItem ) , _ ( " Documentation " ) ) ;
gtk_menu_item_set_label ( GTK_MENU_ITEM ( widgets - > mainHeaderSettingsDocumentationMenuItem ) , _ ( " Documentation " ) ) ;
gtk_menu_item_set_label ( GTK_MENU_ITEM ( widgets - > mainHeaderSettingsAboutMenuItem ) , _ ( " About " ) ) ;
gtk_menu_item_set_label ( GTK_MENU_ITEM ( widgets - > mainHeaderSettingsAboutMenuItem ) , _ ( " About " ) ) ;
gtk_tree_view_column_set_title ( GTK_TREE_VIEW_COLUMN ( widgets - > ProprietaryDriverColumn ) , _ ( " Installed " ) ) ;
gtk_tree_view_column_set_title ( GTK_TREE_VIEW_COLUMN ( widgets - > ProprietaryDriverColumn ) , _ ( " Package " ) ) ;
gtk_tree_view_column_set_title ( GTK_TREE_VIEW_COLUMN ( widgets - > ProprietaryDriverColumn ) , _ ( " Supported Devices " ) ) ;
gtk_tree_view_column_set_title ( GTK_TREE_VIEW_COLUMN ( widgets - > ProprietaryDriverColumn ) , _ ( " Driver " ) ) ;
gtk_tree_view_column_set_title ( GTK_TREE_VIEW_COLUMN ( widgets - > ProprietaryDescriptionColumn ) , _ ( " Description " ) ) ;
// gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchThroughButton),_("Change"));
// gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchThroughButton),_("Change"));
yon_ubl_header_setup ( widgets - > mainHeadOverlay , widgets - > headBox , widgets - > mainHeadBackgroundImage , banner_path ) ;
yon_ubl_header_setup ( widgets - > mainHeadOverlay , widgets - > headBox , widgets - > mainHeadBackgroundImage , banner_path ) ;
// gtk_overlay_add_overlay(GTK_OVERLAY(widgets->mainHeadOverlay),widgets->headBox);
// gtk_overlay_add_overlay(GTK_OVERLAY(widgets->mainHeadOverlay),widgets->headBox);
@ -1317,7 +1343,9 @@ int main(int argc, char *argv[])
yon_gtk_list_store_fill_with_proprietaries ( videoconfig . list ) ;
yon_gtk_list_store_fill_with_proprietaries ( videoconfig . list ) ;
gtk_widget_show ( widgets . MainWindow ) ;
gtk_widget_show ( widgets . MainWindow ) ;
// yon_fill_ui(&widgets);
// yon_fill_ui(&widgets);
yon_ubl_status_box_render ( widgets . mainStatusBox , widgets . mainStatusIcon , widgets . mainStatusLabel , _ ( " Configuration has been loaded " ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
videoconfig . status_render . text_to_render = LOCAL_LOAD_SUCCESS ;
videoconfig . status_render . type = BACKGROUND_IMAGE_SUCCESS_TYPE ;
yon_ubl_status_box_render ( & videoconfig . status_render ) ;
on_config_fill_interface ( & widgets ) ;
on_config_fill_interface ( & widgets ) ;
yon_monitor_set_resolutions ( ) ;
yon_monitor_set_resolutions ( ) ;
GtkCssProvider * css = gtk_css_provider_new ( ) ;
GtkCssProvider * css = gtk_css_provider_new ( ) ;