Chech button were replaced with combobox for more variants

pull/1/head
parent c8eef9549d
commit f86ea445fe

@ -113,16 +113,18 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
void yon_config_local_load(GtkWidget *self, main_window *widgets){ void yon_config_local_load(GtkWidget *self, main_window *widgets){
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),""); gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),"");
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),""); gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->IDRandomCheck),0); gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
yon_load_proceed(YON_CONFIG_LOCAL); yon_load_proceed(YON_CONFIG_LOCAL);
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),yon_config_get_by_key(hostname_parameter)); gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),yon_config_get_by_key(hostname_parameter));
char *id = yon_config_get_by_key(id_parameter); char *id = yon_config_get_by_key(id_parameter);
if (strcmp(id,"Random")) if (!strcmp(id,"Random"))
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),id); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),1);
else if (!strcmp(id,"hardware"))
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),2);
else else
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->IDRandomCheck),1); gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),id);
GtkTreeIter iter; GtkTreeIter iter;
char *code; char *code;
@ -148,16 +150,18 @@ void yon_config_local_load(GtkWidget *self, main_window *widgets){
void yon_config_global_load(GtkWidget *self, main_window *widgets){ void yon_config_global_load(GtkWidget *self, main_window *widgets){
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),""); gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),"");
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),""); gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->IDRandomCheck),0); gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),"");
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ConsoleFontCombo),0);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
yon_load_proceed(YON_CONFIG_GLOBAL); yon_load_proceed(YON_CONFIG_GLOBAL);
gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),yon_config_get_by_key(hostname_parameter)); gtk_entry_set_text(GTK_ENTRY(widgets->HostnameEntry),yon_config_get_by_key(hostname_parameter));
char *id = yon_config_get_by_key(id_parameter); char *id = yon_config_get_by_key(id_parameter);
if (strcmp(id,"Random")) if (!strcmp(id,"Random"))
gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),id); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),1);
else if (!strcmp(id,"hardware"))
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->IDCombo),2);
else else
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->IDRandomCheck),1); gtk_entry_set_text(GTK_ENTRY(widgets->IDEntry),id);
GtkTreeIter iter; GtkTreeIter iter;
char *code; char *code;
@ -205,11 +209,23 @@ void on_hostname_changed(GtkEntry *self, main_window *widgets){
} }
} }
void on_id_random_toggled(GtkToggleButton *self, main_window *widgets){ void on_id_combo_toggled(GtkComboBox *self, main_window *widgets){
int id = gtk_combo_box_get_active(self);
if (id==2||id==1){
if (yon_config_get_by_key(id_parameter)){ if (yon_config_get_by_key(id_parameter)){
yon_config_set(id_parameter,gtk_toggle_button_get_active(self)? "Random":""); yon_config_set(id_parameter, id == 1 ? "Random" : "hardware");
} else { } else {
yon_config_register(id_parameter,"config",gtk_toggle_button_get_active(self)? "Random":""); yon_config_register(id_parameter,"config", id == 1 ? "Random":"hardware");
}
}
if (id<3){
gtk_widget_set_sensitive(widgets->IDEntry,0);
gtk_widget_set_sensitive(widgets->IDCopyButton,0);
}
else {
gtk_widget_set_sensitive(widgets->IDCopyButton,1);
gtk_widget_set_sensitive(widgets->IDEntry,1);
} }
} }
@ -312,7 +328,7 @@ main_window *setup_window(){
widgets->LeftBox = yon_gtk_builder_get_widget(builder,"HeaderLeftBox"); widgets->LeftBox = yon_gtk_builder_get_widget(builder,"HeaderLeftBox");
widgets->HostnameEntry = yon_gtk_builder_get_widget(builder,"HostnameEntry"); widgets->HostnameEntry = yon_gtk_builder_get_widget(builder,"HostnameEntry");
widgets->IDRandomCheck = yon_gtk_builder_get_widget(builder,"IDCheck"); widgets->IDCombo = yon_gtk_builder_get_widget(builder,"IDCombo");
widgets->IDEntry = yon_gtk_builder_get_widget(builder,"IDEntry"); widgets->IDEntry = yon_gtk_builder_get_widget(builder,"IDEntry");
widgets->IDCopyButton = yon_gtk_builder_get_widget(builder,"IDCopyButton"); widgets->IDCopyButton = yon_gtk_builder_get_widget(builder,"IDCopyButton");
widgets->ConsoleFontCombo = yon_gtk_builder_get_widget(builder,"ConsoleFontCombo"); widgets->ConsoleFontCombo = yon_gtk_builder_get_widget(builder,"ConsoleFontCombo");
@ -358,13 +374,13 @@ main_window *setup_window(){
g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(yon_config_local_save),widgets); g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(yon_config_local_save),widgets);
g_signal_connect(G_OBJECT(widgets->HostnameEntry),"changed",G_CALLBACK(on_hostname_changed),widgets); g_signal_connect(G_OBJECT(widgets->HostnameEntry),"changed",G_CALLBACK(on_hostname_changed),widgets);
g_signal_connect(G_OBJECT(widgets->IDRandomCheck),"toggled",G_CALLBACK(on_id_random_toggled),widgets); g_signal_connect(G_OBJECT(widgets->IDCombo),"changed",G_CALLBACK(on_id_combo_toggled),widgets);
g_signal_connect(G_OBJECT(widgets->IDEntry),"changed",G_CALLBACK(on_id_changed),widgets); g_signal_connect(G_OBJECT(widgets->IDEntry),"changed",G_CALLBACK(on_id_changed),widgets);
g_signal_connect(G_OBJECT(widgets->IDCopyButton),"clicked",G_CALLBACK(on_id_copy),widgets); g_signal_connect(G_OBJECT(widgets->IDCopyButton),"clicked",G_CALLBACK(on_id_copy),widgets);
g_signal_connect(G_OBJECT(widgets->ConsoleFontCombo),"changed",G_CALLBACK(on_console_font_changed),widgets); g_signal_connect(G_OBJECT(widgets->ConsoleFontCombo),"changed",G_CALLBACK(on_console_font_changed),widgets);
g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_language_changed),widgets); g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_language_changed),widgets);
g_signal_connect(G_OBJECT(widgets->IDRandomCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->IDCopyButton); // g_signal_connect(G_OBJECT(widgets->IDRandomCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->IDCopyButton);
g_signal_connect(G_OBJECT(widgets->IDRandomCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->IDEntry); // g_signal_connect(G_OBJECT(widgets->IDRandomCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->IDEntry);
int size; int size;
config_str locales = yon_config_load(get_locales_command,&size); config_str locales = yon_config_load(get_locales_command,&size);
GtkTreeIter iter; GtkTreeIter iter;

@ -87,7 +87,7 @@ typedef struct {
GtkWidget *AboutMenuItem; GtkWidget *AboutMenuItem;
// Custom // Custom
GtkWidget *HostnameEntry; GtkWidget *HostnameEntry;
GtkWidget *IDRandomCheck; GtkWidget *IDCombo;
GtkWidget *IDEntry; GtkWidget *IDEntry;
GtkWidget *IDCopyButton; GtkWidget *IDCopyButton;
GtkWidget *ConsoleFontCombo; GtkWidget *ConsoleFontCombo;

@ -41,6 +41,8 @@
#define ID_LABEL _("Work station ID:") #define ID_LABEL _("Work station ID:")
#define SYSTEM_LABEL _("System") #define SYSTEM_LABEL _("System")
#define RANDOM_LABEL _("Random") #define RANDOM_LABEL _("Random")
#define HARDWARE_LABEL _("Hardware")
#define MANUAL_LABEL _("Manual")
#define CONSOLE_LABEL _("Console") #define CONSOLE_LABEL _("Console")
#define FONT_LABEL _("Console font:") #define FONT_LABEL _("Console font:")
#define LOCALE_LABEL _("Locale") #define LOCALE_LABEL _("Locale")

@ -495,7 +495,6 @@ translated and supported by community.</property>
</object> </object>
<object class="GtkWindow" id="MainWindow"> <object class="GtkWindow" id="MainWindow">
<property name="width-request">800</property> <property name="width-request">800</property>
<property name="height-request">600</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="default-width">800</property> <property name="default-width">800</property>
<property name="default-height">600</property> <property name="default-height">600</property>
@ -691,12 +690,16 @@ translated and supported by community.</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkCheckButton" id="IDCheck"> <object class="GtkComboBoxText" id="IDCombo">
<property name="label" translatable="yes">Random</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">False</property>
<property name="receives-default">False</property> <property name="active">0</property>
<property name="draw-indicator">True</property> <items>
<item translatable="yes">Default</item>
<item translatable="yes">Random</item>
<item translatable="yes">Hardware</item>
<item translatable="yes">Manual</item>
</items>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>

@ -190,26 +190,34 @@ msgid "Random"
msgstr "" msgstr ""
#: source/ubl-strings.h:44 #: source/ubl-strings.h:44
msgid "Console" msgid "Hardware"
msgstr "" msgstr ""
#: source/ubl-strings.h:45 #: source/ubl-strings.h:45
msgid "Console font:" msgid "Manual"
msgstr "" msgstr ""
#: source/ubl-strings.h:46 #: source/ubl-strings.h:46
msgid "Locale" msgid "Console"
msgstr "" msgstr ""
#: source/ubl-strings.h:47 #: source/ubl-strings.h:47
msgid "Language:" msgid "Console font:"
msgstr ""
#: source/ubl-strings.h:48
msgid "Locale"
msgstr "" msgstr ""
#: source/ubl-strings.h:49 #: source/ubl-strings.h:49
msgid "Default" msgid "Language:"
msgstr "" msgstr ""
#: source/ubl-strings.h:51 #: source/ubl-strings.h:51
msgid "Default"
msgstr ""
#: source/ubl-strings.h:53
msgid "Machine ID has been copied" msgid "Machine ID has been copied"
msgstr "" msgstr ""

@ -194,26 +194,34 @@ msgid "Random"
msgstr "Случайный" msgstr "Случайный"
#: source/ubl-strings.h:44 #: source/ubl-strings.h:44
msgid "Hardware"
msgstr "Системный"
#: source/ubl-strings.h:45
msgid "Manual"
msgstr "Вручную"
#: source/ubl-strings.h:46
msgid "Console" msgid "Console"
msgstr "Консоль" msgstr "Консоль"
#: source/ubl-strings.h:45 #: source/ubl-strings.h:47
msgid "Console font:" msgid "Console font:"
msgstr "Шрифт в консоли" msgstr "Шрифт в консоли"
#: source/ubl-strings.h:46 #: source/ubl-strings.h:48
msgid "Locale" msgid "Locale"
msgstr "Локаль" msgstr "Локаль"
#: source/ubl-strings.h:47 #: source/ubl-strings.h:49
msgid "Language:" msgid "Language:"
msgstr "Язык" msgstr "Язык"
#: source/ubl-strings.h:49 #: source/ubl-strings.h:51
msgid "Default" msgid "Default"
msgstr "По умолчанию" msgstr "По умолчанию"
#: source/ubl-strings.h:51 #: source/ubl-strings.h:53
msgid "Machine ID has been copied" msgid "Machine ID has been copied"
msgstr "ID рабочей станции скопирован" msgstr "ID рабочей станции скопирован"

Loading…
Cancel
Save