WIP map status box

pull/207/head
parent 58ab5be0e5
commit 6aa9232f5b

@ -41,8 +41,32 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){
#ifdef TIMEZONEMAP_INCLUDE #ifdef TIMEZONEMAP_INCLUDE
void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_window *); void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_window *);
void yon_map_status_hide(main_window *widgets){
gtk_widget_hide(widgets->TimeZoneMapOverlayBox);
}
void yon_map_status_hide_timeout(main_window *widgets){
g_idle_add_once((GSourceOnceFunc)yon_map_status_hide,widgets);
}
void yon_map_status_show(main_window *widgets, char *icon_name, char *title, char *title_info){
gtk_widget_show(widgets->TimeZoneMapOverlayBox);
gtk_label_set_text(GTK_LABEL(widgets->TimeZoneMapOverlayTitleLabel),title);
gtk_label_set_text(GTK_LABEL(widgets->TimeZoneMapOverlayInfoLabel),title_info);
if (!yon_char_is_empty(icon_name)){
gtk_widget_show(widgets->TimeZoneMapOverlayImage);
GtkIconInfo *info = gtk_icon_theme_lookup_icon_for_scale(gtk_icon_theme_get_default(), icon_path, 48,1,GTK_ICON_LOOKUP_FORCE_SIZE);
gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->TimeZoneMapOverlayImage),gtk_icon_info_load_icon(info,NULL));
} else {
gtk_widget_hide(widgets->TimeZoneMapOverlayImage);
}
g_timeout_add_seconds_once(5,(GSourceOnceFunc)yon_map_status_hide_timeout,widgets);
}
void on_zone_changed(GtkWidget *, main_window *widgets){ void on_zone_changed(GtkWidget *, main_window *widgets){
g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets); // g_signal_handlers_block_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);
const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo));
const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo));
@ -51,7 +75,7 @@ void on_zone_changed(GtkWidget *, main_window *widgets){
cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone); cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone);
free(timezone); free(timezone);
} }
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets); // g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets);
} }
void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_window *widgets){ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_window *widgets){
@ -75,10 +99,10 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind
} }
} }
yon_map_status_show(widgets,NULL,MAP_TITLE_LABEL,MAP_INFO_LABEL);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ZoneCombo),G_CALLBACK(on_zone_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ZoneCombo),G_CALLBACK(on_zone_changed),widgets);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionEntry),G_CALLBACK(on_region_entry_changed),widgets);
} }
#endif #endif

@ -588,6 +588,11 @@ void yon_main_window_create(main_window *widgets){
widgets->RegionEntry = yon_gtk_builder_get_widget(builder,"RegionEntry"); widgets->RegionEntry = yon_gtk_builder_get_widget(builder,"RegionEntry");
widgets->RegionTimezoneCompletionList = GTK_LIST_STORE(gtk_builder_get_object(builder,"RegionTimezoneCompletionList")); widgets->RegionTimezoneCompletionList = GTK_LIST_STORE(gtk_builder_get_object(builder,"RegionTimezoneCompletionList"));
widgets->RegionTimezoneCompletionFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"RegionTimezoneCompletionFilter")); widgets->RegionTimezoneCompletionFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"RegionTimezoneCompletionFilter"));
widgets->RegionMapOverlay = yon_gtk_builder_get_widget(builder,"RegionMapOverlay");
widgets->TimeZoneMapOverlayBox = yon_gtk_builder_get_widget(builder,"TimeZoneMapOverlayBox");
widgets->TimeZoneMapOverlayImage = yon_gtk_builder_get_widget(builder,"TimeZoneMapOverlayImage");
widgets->TimeZoneMapOverlayTitleLabel = yon_gtk_builder_get_widget(builder,"TimeZoneMapOverlayTitleLabel");
widgets->TimeZoneMapOverlayInfoLabel = yon_gtk_builder_get_widget(builder,"TimeZoneMapOverlayInfoLabel");
widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry"); widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry");
widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry"); widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry");
@ -918,14 +923,16 @@ void yon_main_window_create(main_window *widgets){
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL);
gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(widgets->LanguagesTree),(GtkTreeViewSearchEqualFunc)on_languages_search_func,widgets,NULL); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(widgets->LanguagesTree),(GtkTreeViewSearchEqualFunc)on_languages_search_func,widgets,NULL);
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->RegionMapOverlay),widgets->TimeZoneMapOverlayBox);
gtk_widget_hide(widgets->TimeZoneMapOverlayBox);
{ {
widgets->EnableRDPMenuItem = gtk_menu_item_new(); widgets->EnableRDPMenuItem = gtk_menu_item_new();
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(ENABLE_RDP_LABEL); GtkWidget *Label = gtk_label_new(ENABLE_RDP_LABEL);
GtkWidget *Check = gtk_check_button_new(); GtkWidget *Check = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(widgets->EnableRDPMenuItem),Box); gtk_container_add(GTK_CONTAINER(widgets->EnableRDPMenuItem),Box);
g_signal_connect(G_OBJECT(widgets->EnableRDPMenuItem),"activate",G_CALLBACK(on_rdp_toggled),widgets); g_signal_connect(G_OBJECT(widgets->EnableRDPMenuItem),"activate",G_CALLBACK(on_rdp_toggled),widgets);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->EnableRDPMenuItem),"menuitemmiddle"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->EnableRDPMenuItem),"menuitemmiddle");
@ -937,8 +944,8 @@ void yon_main_window_create(main_window *widgets){
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(ENABLE_VNC_LABEL); GtkWidget *Label = gtk_label_new(ENABLE_VNC_LABEL);
GtkWidget *Check = gtk_check_button_new(); GtkWidget *Check = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(widgets->EnableVNCMenuItem),Box); gtk_container_add(GTK_CONTAINER(widgets->EnableVNCMenuItem),Box);
g_signal_connect(G_OBJECT(widgets->EnableVNCMenuItem),"activate",G_CALLBACK(on_vnc_toggled),widgets); g_signal_connect(G_OBJECT(widgets->EnableVNCMenuItem),"activate",G_CALLBACK(on_vnc_toggled),widgets);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->EnableVNCMenuItem),"menuitemmiddle"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->EnableVNCMenuItem),"menuitemmiddle");
@ -950,8 +957,8 @@ void yon_main_window_create(main_window *widgets){
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL); GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL);
GtkWidget *Check = gtk_check_button_new(); GtkWidget *Check = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(widgets->ConfigurationModeMenuItem),Box); gtk_container_add(GTK_CONTAINER(widgets->ConfigurationModeMenuItem),Box);
g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"activate",G_CALLBACK(on_configuration_mode_switch),widgets); g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"activate",G_CALLBACK(on_configuration_mode_switch),widgets);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->ConfigurationModeMenuItem),"menuitemmiddle"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->ConfigurationModeMenuItem),"menuitemmiddle");

@ -500,7 +500,12 @@ typedef struct
// GtkWidget *LanguageCombo; // GtkWidget *LanguageCombo;
GtkWidget *RegionMapBox; GtkWidget *RegionMapBox;
GtkWidget *RegionMapOverlay;
GtkWidget *RegionMapTarget; GtkWidget *RegionMapTarget;
GtkWidget *TimeZoneMapOverlayBox;
GtkWidget *TimeZoneMapOverlayImage;
GtkWidget *TimeZoneMapOverlayTitleLabel;
GtkWidget *TimeZoneMapOverlayInfoLabel;
GtkWidget *RegionSensitiveSwitch; GtkWidget *RegionSensitiveSwitch;
GtkWidget *RegionCombo; GtkWidget *RegionCombo;
GtkWidget *ZoneCombo; GtkWidget *ZoneCombo;
@ -1484,3 +1489,6 @@ char *yon_bootloader_get_os_name(char *parameter);
gboolean on_region_refilter(GtkTreeModel* model, GtkTreeIter* iter, main_window *widgets); gboolean on_region_refilter(GtkTreeModel* model, GtkTreeIter* iter, main_window *widgets);
void on_region_entry_changed(GtkWidget *, main_window *widgets); void on_region_entry_changed(GtkWidget *, main_window *widgets);
char *yon_size_get_name_from_letter(char letter); char *yon_size_get_name_from_letter(char letter);
void yon_map_status_hide(main_window *widgets);
void yon_map_status_hide_timeout(main_window *widgets);
void yon_map_status_show(main_window *widgets, char *icon_name, char *title, char *title_info);

@ -290,6 +290,8 @@ NULL)
#define REBOOT_LABEL _("Reboot") #define REBOOT_LABEL _("Reboot")
#define SHUTDOWN_LABEL _("Shudown") #define SHUTDOWN_LABEL _("Shudown")
#define FINISH_ACTION_LABEL _("After successful installation:") #define FINISH_ACTION_LABEL _("After successful installation:")
#define MAP_TITLE_LABEL _("Feasf")
#define MAP_INFO_LABEL _("Geasfa")
// #define _LABEL _("Select your language:") // #define _LABEL _("Select your language:")
// #define _LABEL _("Selecting additional system kernel components") // #define _LABEL _("Selecting additional system kernel components")

@ -372,3 +372,14 @@ button {
.yellowBox > trough > progress{ .yellowBox > trough > progress{
background-color: #f3f0ac; background-color: #f3f0ac;
} }
.timezoneoverlay * {
color:@theme_bg_color;
background-color: @theme_fg_color;
}
.timezoneoverlay {
background-color: @theme_fg_color;
opacity:0.7;
border-radius:10px;
}

@ -320,6 +320,72 @@
</columns> </columns>
</object> </object>
<object class="GtkSizeGroup" id="TagsSizeGroup"/> <object class="GtkSizeGroup" id="TagsSizeGroup"/>
<object class="GtkBox" id="TimeZoneMapOverlayBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="width-request">175</property>
<property name="height-request">100</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkImage" id="TimeZoneMapOverlayImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">48</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="TimeZoneMapOverlayTitleLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="TimeZoneMapOverlayInfoLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<style>
<class name="timezoneoverlay"/>
</style>
</object>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -3698,99 +3764,77 @@ agreement</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child>
<object class="GtkSwitch" id="RegionSensitiveSwitch">
<property name="visible">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="can-focus">True</property>
<property name="label" translatable="yes">Region:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</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="GtkBox"> <object class="GtkSwitch" id="RegionSensitiveSwitch">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">True</property>
<property name="margin-end">15</property>
<property name="spacing">5</property>
<child>
<object class="GtkComboBoxText" id="RegionCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkBox"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">True</property>
<property name="margin-start">15</property> <property name="label" translatable="yes">Region:</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel">
<property name="can-focus">False</property>
<property name="label" translatable="yes">Zone:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="ZoneCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkComboBoxText" id="RegionCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Zone:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="ZoneCombo">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -3802,7 +3846,7 @@ agreement</property>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">3</property> <property name="position">4</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -3821,13 +3865,22 @@ agreement</property>
<property name="shadow-type">none</property> <property name="shadow-type">none</property>
<property name="ratio">35.299999237060547</property> <property name="ratio">35.299999237060547</property>
<child> <child>
<object class="GtkBox" id="RegionMapBox"> <object class="GtkOverlay" id="RegionMapOverlay">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child> <child>
<placeholder/> <object class="GtkBox" id="RegionMapBox">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child> </child>
</object> </object>
</child> </child>

Loading…
Cancel
Save