Sensitivity logic for main window buttons

pull/12/head
parent 9ced914ce1
commit 5bdef3306e

@ -598,6 +598,23 @@ void on_activate(GtkTreeView *self, main_window *widgets){
main_config.rmb_clicked=0; main_config.rmb_clicked=0;
} }
void on_tree_selection_changed(GtkWidget *self, main_window *widgets){
if (self){};
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore2);
GtkTreeIter iter;
int switch_status=0;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->MainTree)),&model,&iter)){
switch_status=1;
}
gtk_widget_set_sensitive(widgets->ConfigAutostartButton,switch_status);
gtk_widget_set_sensitive(widgets->ConfigAutostopButton,switch_status);
gtk_widget_set_sensitive(widgets->ConfigBlockButton,switch_status);
gtk_widget_set_sensitive(widgets->SystemAutostartButton,switch_status);
gtk_widget_set_sensitive(widgets->SystemLaunchButton,switch_status);
gtk_widget_set_sensitive(widgets->InfoButton,switch_status);
gtk_widget_set_sensitive(widgets->LogButton,switch_status);
}
/**yon_main_window_complete(main_window *widgets) /**yon_main_window_complete(main_window *widgets)
* [EN] * [EN]
* *
@ -654,6 +671,7 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_global_local_save),NULL); g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_global_local_save),NULL);
g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),NULL); g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),NULL);
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->MainTree),"cursor-changed",G_CALLBACK(on_tree_selection_changed),widgets);
g_list_free(list); g_list_free(list);
main_config.ServiceFilter = gtk_tree_model_filter_new(GTK_TREE_MODEL(widgets->liststore2),NULL); main_config.ServiceFilter = gtk_tree_model_filter_new(GTK_TREE_MODEL(widgets->liststore2),NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(main_config.ServiceFilter),(GtkTreeModelFilterVisibleFunc)on_service_filter,NULL,NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(main_config.ServiceFilter),(GtkTreeModelFilterVisibleFunc)on_service_filter,NULL,NULL);

@ -226,6 +226,8 @@ void yon_load_proceed(YON_CONFIG_TYPE type);
void config_init(); void config_init();
void on_tree_selection_changed(GtkWidget *self, main_window *widgets);
void yon_main_window_complete(main_window *widgets); void yon_main_window_complete(main_window *widgets);

@ -183,6 +183,7 @@
<child> <child>
<object class="GtkButton" id="ConfigAutostartButton"> <object class="GtkButton" id="ConfigAutostartButton">
<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="tooltip-text" translatable="yes">Toggle autostart at configuration</property> <property name="tooltip-text" translatable="yes">Toggle autostart at configuration</property>
@ -200,6 +201,7 @@
<child> <child>
<object class="GtkButton" id="ConfigAutostopButton"> <object class="GtkButton" id="ConfigAutostopButton">
<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="tooltip-text" translatable="yes">Toggle autostop at configuration</property> <property name="tooltip-text" translatable="yes">Toggle autostop at configuration</property>
@ -217,6 +219,7 @@
<child> <child>
<object class="GtkButton" id="ConfigBlockButton"> <object class="GtkButton" id="ConfigBlockButton">
<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="tooltip-text" translatable="yes">Toggle service blocking at configuration</property> <property name="tooltip-text" translatable="yes">Toggle service blocking at configuration</property>
@ -234,6 +237,7 @@
<child> <child>
<object class="GtkButton" id="SystemAutostartButton"> <object class="GtkButton" id="SystemAutostartButton">
<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="tooltip-text" translatable="yes">Toggle autostart at system</property> <property name="tooltip-text" translatable="yes">Toggle autostart at system</property>
@ -251,6 +255,7 @@
<child> <child>
<object class="GtkButton" id="SystemLaunchButton"> <object class="GtkButton" id="SystemLaunchButton">
<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="tooltip-text" translatable="yes">Launch service</property> <property name="tooltip-text" translatable="yes">Launch service</property>
@ -268,6 +273,7 @@
<child> <child>
<object class="GtkButton" id="InfoButton"> <object class="GtkButton" id="InfoButton">
<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="tooltip-text" translatable="yes">Check service status</property> <property name="tooltip-text" translatable="yes">Check service status</property>
@ -285,6 +291,7 @@
<child> <child>
<object class="GtkButton" id="LogButton"> <object class="GtkButton" id="LogButton">
<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="tooltip-text" translatable="yes">Check service log</property> <property name="tooltip-text" translatable="yes">Check service log</property>

Loading…
Cancel
Save