Frequency saving done

pull/13/head
parent 7c2c4322fa
commit b644effe5a

@ -61,6 +61,11 @@
#define ACCEPT_LABEL _("Accept")
#define DONT_USE_LABEL _("Don't use")
#define PROPRIETARY_LOADING_LABEL _("Driver list is currently loading...")
#define PROPRIETARY_LOADING_FAILED_LABEL _("Driver list is failed to load.")
#define PROPRIETARY_DELETING_IN_PROGRESS_LABEL _("Deleting driver...")
#define PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL _("Installing driver...")
#define PROPRIETARY_OPETAION_DONE_LABEL _("Driver operation is done.")
#define PROPRIETARY_NOTHING_SELECTED_LABEL _("Nothing was selected.")
#define INFORMATION_LABEL _("Information")
#define DRIVERS_LABEL _("Drivers")

@ -33,7 +33,7 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
config->position_port=NULL;
config->port=NULL;
config->resolution=NULL;
config->frequency=NULL;
config->frequency=0;
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);
@ -52,6 +52,8 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
config->position_port = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationPositionPortCombo));
}
if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationFrequencyCombo))>0)
config->frequency=gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationFrequencyCombo));
if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo))!=0) {
config->resolution =yon_char_divide_search((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationResolutionCombo)),";",-1);
int rotation = gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationRotationCombo));
@ -87,6 +89,11 @@ void on_terminal_destroy(GtkWidget *self, widgets_dict *widgets){
gtk_widget_destroy(widgets->TerminalRevealer);
yon_proprieary_get();
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_OPETAION_DONE_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer user_data)
@ -162,48 +169,91 @@ void yon_terminal_start(widgets_dict *widgets, char *usr_command){
}
void on_driver_pack_install(GtkWidget *self,widgets_dict *widgets){
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
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);
if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(install_proprietary_command,name));
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_NOTHING_SELECTED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_driver_install(GtkWidget *self,widgets_dict *widgets){
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
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);
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(install_proprietary_command,name));
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_NOTHING_SELECTED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_driver_pack_delete(GtkWidget *self,widgets_dict *widgets){
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_DELETING_IN_PROGRESS_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
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);
if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(delete_proprietary_command,name));
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_NOTHING_SELECTED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_driver_delete(GtkWidget *self,widgets_dict *widgets){
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_DELETING_IN_PROGRESS_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
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);
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(delete_proprietary_command,name));
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_NOTHING_SELECTED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_driver_pack_info(GtkWidget *self, widgets_dict *widgets){
@ -215,9 +265,16 @@ void on_driver_pack_info(GtkWidget *self, widgets_dict *widgets){
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);
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1);
pthread_create(&tid,&attr,(void*)yon_launch_app,yon_char_get_augumented(get_info_proprietary_command,name));
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_NOTHING_SELECTED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_driver_info(GtkWidget *self,widgets_dict *widgets){
@ -229,10 +286,16 @@ void on_driver_info(GtkWidget *self,widgets_dict *widgets){
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);
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1);
pthread_create(&tid,&attr,(void*)yon_launch_app,yon_char_get_augumented(get_info_proprietary_command,name));
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_NOTHING_SELECTED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
void on_port_chosen_changed(GtkWidget *self, monitor_edit_window *window){
@ -311,11 +374,11 @@ char *yon_configuration_get_save_command(char *command){
str = yon_char_unite(str, " FAILSAFENVIDIA=\"\" FAILSAFEATI=\"\" VGADRV_AUTO=YES", NULL);
}
if (strcmp(videoconfig.optirun, dntus)!=0&&strcmp(videoconfig.optirun, "")!=0)
if (videoconfig.optirun&&strcmp(videoconfig.optirun, dntus)!=0&&strcmp(videoconfig.optirun, "")!=0)
str = yon_char_get_augumented(str, yon_char_unite(" OPTIRUN=","\"",videoconfig.optirun,"\"",NULL));
else
str = yon_char_get_augumented(str, yon_char_unite(" OPTIRUN=\"\"",NULL));
if (strcmp(videoconfig.primusrun, dntus)!=0&&strcmp(videoconfig.primusrun, "")!=0)
if (videoconfig.primusrun&&strcmp(videoconfig.primusrun, dntus)!=0&&strcmp(videoconfig.primusrun, "")!=0)
str = yon_char_get_augumented(str, yon_char_unite(" PRIMUSRUN=","\"", videoconfig.primusrun,"\"",NULL));
else
str = yon_char_get_augumented(str, yon_char_unite(" PRIMUSRUN=\"\"",NULL));
@ -431,8 +494,12 @@ void on_configuration_save_global(GtkWidget *self, widgets_dict *widgets)
void yon_update_config(widgets_dict *widgets)
{
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->mainExtraLaunchOptirunCheck))==1)
videoconfig.optirun = yon_char_new( (char *)gtk_entry_get_text(GTK_ENTRY(widgets->mainExtraLaunchOptirunEntry)));
else videoconfig.optirun = NULL;
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->mainExtraLaunchPrismusunCheck))==1)
videoconfig.primusrun = yon_char_new( (char *)gtk_entry_get_text(GTK_ENTRY(widgets->mainExtraLaunchPrismusunEntry)));
else videoconfig.primusrun = NULL;
videoconfig.failsafenVidia = yon_char_new( gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo)));
videoconfig.failsafeATI = yon_char_new( gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo)));
}
@ -704,9 +771,14 @@ void yon_monitor_view_update(){
gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoNameLabel),yon_char_get_augumented(MONITOR_LABEL,""));
monitorconfig *params=yon_dictionary_get_data(yon_dictionary_get_data(dict,monitor_window*)->config,monitorconfig*);
gtk_widget_set_sensitive(yon_dictionary_get_data(dict,monitor_window*)->templateMonitorImage,params->enable);
if (config->resolution)
gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoResolutionLabel),config->resolution);
else if (params->stringparameters){
if (config->resolution){
char *freq="";
if (config->frequency>0){
if (config->frequency==1) freq ="60";
else if (config->frequency==2) freq="75";
}
gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoResolutionLabel),yon_char_unite(config->resolution,":",freq,NULL));
}else if (params->stringparameters){
int size=0;
config_str rtn=yon_char_parse(params->stringparameters,&size,",");
char *res=yon_char_divide_search(yon_char_new(yon_char_parsed_get_resolution(rtn,size))," ",-1);
@ -857,15 +929,15 @@ char *yon_monitor_make_string(monitorconfig* config)
char *frequency="";
if (config->frequency)
if (first==1){
frequency=config->frequency;
first=0;
}else{
frequency=yon_char_get_augumented(",",config->frequency);
if (config->frequency){
if (config->frequency==1) frequency="x60";
else if (config->frequency==2) frequency="x75";
}
if (strcmp(resolution,"")!=0)
resolution=yon_char_get_augumented(resolution,frequency);
char *stringparameters=yon_char_unite("",main,resolution,frequency,enable,position,rotation,dpms,cvt,reduced,gtf,NULL);
char *stringparameters=yon_char_unite("",main,resolution,enable,position,rotation,dpms,cvt,reduced,gtf,NULL);
config->stringparameters=yon_char_new(stringparameters);
}
@ -954,11 +1026,19 @@ dictionary *yon_proprieary_get(){
}
}
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
if (videoconfig.proprietary){
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render="";
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
} else {
videoconfig.status_render.strings_size=0;
videoconfig.status_render.text_strings_to_render=NULL;
videoconfig.status_render.text_to_render=PROPRIETARY_LOADING_FAILED_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
}
}
@ -966,6 +1046,7 @@ dictionary *yon_proprieary_get(){
* [EN]
*/
void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
if(videoconfig.proprietary){
dictionary *dict=NULL;
gtk_list_store_clear(list);
for_dictionaries(dict,videoconfig.proprietary){
@ -977,6 +1058,7 @@ void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
if (strstr(dict->key," installed"))
gtk_list_store_set(list,&iter,0,1,-1);
}
}
}
char *yon_char_remove_brackets(char* source){
@ -1102,7 +1184,7 @@ monitor_config yon_monitor_config_new(char *port){
monitor->position_port=NULL;
monitor->resolution=NULL;
monitor->resolutionCapabilities=NULL;
monitor->frequency=NULL;
monitor->frequency=0;
monitor->rotation=0;
monitor->stringparameters=NULL;
monitor->dpms=0;
@ -1171,6 +1253,7 @@ void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_
}
}
char *yon_char_parsed_get_resolution(config_str parsed_string, int size){
char *left=NULL, *right=NULL, *freq=NULL;
for (int i=0;i<size;i++){
@ -1502,7 +1585,6 @@ void yon_setup_widgets(widgets_dict *widgets)
videoconfig.status_render.icon=widgets->mainStatusIcon;
videoconfig.status_render.label=widgets->mainStatusLabel;
videoconfig.status_render.box=widgets->mainStatusBox;
if (videoconfig.lock)
if (videoconfig.lock_load_global==1)
gtk_widget_set_sensitive(widgets->mainHeaderLoadGlobalMenuItem,0);
if (videoconfig.lock_save_global==1)

@ -139,7 +139,7 @@ typedef struct
char *port;
char *resolution;
config_str resolutionCapabilities;
char *frequency;
int frequency;
int rotation;
char *stringparameters;
int dpms;

Loading…
Cancel
Save