|
|
|
|
@ -123,7 +123,7 @@ void on_application_chooser_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_user_changed(GtkWidget *self, main_window *widgets){
|
|
|
|
|
GtkAdjustment *adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->prioritySpin));
|
|
|
|
|
GtkAdjustment *adj = gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale));
|
|
|
|
|
if (gtk_combo_box_get_active(GTK_COMBO_BOX(self))==0){
|
|
|
|
|
gtk_adjustment_set_lower(adj,-20);
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->highestPriorityLabel),PRIORITY_ROOT_LABEL);
|
|
|
|
|
@ -151,7 +151,7 @@ void on_user_activate(GtkToggleButton *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_user_switching(GtkToggleButton *self, main_window *widgets){
|
|
|
|
|
GtkAdjustment *adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->prioritySpin));
|
|
|
|
|
GtkAdjustment *adj = gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale));
|
|
|
|
|
if (gtk_toggle_button_get_active(self)){
|
|
|
|
|
if (!gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->runWithUserCombo))){
|
|
|
|
|
gtk_adjustment_set_lower(adj,-20);
|
|
|
|
|
@ -180,7 +180,7 @@ void on_setup_command(GtkWidget *self, main_window *widgets){
|
|
|
|
|
int su_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSuCheck));
|
|
|
|
|
int sudo_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSudoCheck));
|
|
|
|
|
int priority_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->priorityCheck));
|
|
|
|
|
char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->prioritySpin)))) : "";
|
|
|
|
|
char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale))))) : "";
|
|
|
|
|
int size;
|
|
|
|
|
char *command = yon_char_unite(get_run_command_command, " -o",
|
|
|
|
|
terminal_check ? yon_char_append(" --terminal=", terminal->name_simple) : "",
|
|
|
|
|
@ -219,7 +219,7 @@ void on_command_run(GtkWidget *self, main_window *widgets){
|
|
|
|
|
int su_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSuCheck));
|
|
|
|
|
int sudo_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->runWithUserSudoCheck));
|
|
|
|
|
int priority_check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->priorityCheck));
|
|
|
|
|
char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->prioritySpin)))) : "";
|
|
|
|
|
char *priority = priority_check ? yon_char_append(" --priority=",yon_char_from_long(gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale))))) : "";
|
|
|
|
|
int size;
|
|
|
|
|
char *command = yon_char_unite(get_run_command_command,
|
|
|
|
|
terminal_check ? yon_char_append(" --terminal=", terminal->name_simple) : "",
|
|
|
|
|
@ -254,6 +254,22 @@ void config_init(){
|
|
|
|
|
main_config.lock_save_local=0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_adjustment_changed(GtkAdjustment *self, main_window *widgets){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->prioritySpinEntry),yon_char_from_long(gtk_adjustment_get_value(self)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_adjustment_increase(GtkWidget *self, main_window *widgets) {
|
|
|
|
|
long current = gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)));
|
|
|
|
|
current ++;
|
|
|
|
|
gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)),current);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_adjustment_decrease(GtkWidget *self, main_window *widgets) {
|
|
|
|
|
long current = gtk_adjustment_get_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)));
|
|
|
|
|
current --;
|
|
|
|
|
gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale)),current);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
main_window *setup_window(){
|
|
|
|
|
/* Widgets getting | Получение виджетов */
|
|
|
|
|
main_window *widgets = malloc(sizeof(main_window));
|
|
|
|
|
@ -279,7 +295,9 @@ main_window *setup_window(){
|
|
|
|
|
|
|
|
|
|
widgets->priorityCheck = yon_gtk_builder_get_widget(builder,"priorityCheck");
|
|
|
|
|
widgets->priorityScale = yon_gtk_builder_get_widget(builder,"priorityScale");
|
|
|
|
|
widgets->prioritySpin = yon_gtk_builder_get_widget(builder,"prioritySpin");
|
|
|
|
|
widgets->prioritySpinEntry = yon_gtk_builder_get_widget(builder,"prioritySpinEntry");
|
|
|
|
|
widgets->prioritySpinIncreaseButton = yon_gtk_builder_get_widget(builder,"prioritySpinIncreaseButton");
|
|
|
|
|
widgets->prioritySpinDecreaseButton = yon_gtk_builder_get_widget(builder,"prioritySpinDecreaseButton");
|
|
|
|
|
widgets->highestPriorityLabel = yon_gtk_builder_get_widget(builder,"highestPriorityLabel");
|
|
|
|
|
|
|
|
|
|
widgets->commandCheck = yon_gtk_builder_get_widget(builder,"commandCheck");
|
|
|
|
|
@ -311,7 +329,7 @@ main_window *setup_window(){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->chooseDesktopButton),"clicked",G_CALLBACK(on_application_chooser_open),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->priorityScale);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->prioritySpin);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),gtk_widget_get_parent(widgets->prioritySpinEntry));
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserPkexecCheck);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runWithUserCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->runWithUserSuCheck);
|
|
|
|
|
@ -339,8 +357,12 @@ main_window *setup_window(){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityCheck),"toggled",G_CALLBACK(on_setup_command),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->priorityScale),"value-changed",G_CALLBACK(on_setup_command),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runButton),"clicked",G_CALLBACK(on_command_run),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->prioritySpinIncreaseButton),"clicked",G_CALLBACK(on_adjustment_increase),widgets);
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->prioritySpinDecreaseButton),"clicked",G_CALLBACK(on_adjustment_decrease),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(gtk_range_get_adjustment(GTK_RANGE(widgets->priorityScale))),"value-changed",G_CALLBACK(on_adjustment_changed),widgets);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->runButton),"clicked",G_CALLBACK(on_command_run),widgets);
|
|
|
|
|
int size;
|
|
|
|
|
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->runWithUserCombo),"root");
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->runWithUserCombo),0);
|
|
|
|
|
|