@@ -16,7 +16,6 @@ use crate::{
1616 util:: {
1717 networking:: skymap_catalog:: { self , SkymapCatalogEntry , SkymapResolution } ,
1818 popup_manager:: { MountPopupOnceParams , PopupHolder } ,
19- wgui_simple,
2019 } ,
2120 views:: { self , ViewTrait , ViewUpdateParams } ,
2221} ;
@@ -27,6 +26,7 @@ enum Task {
2726 Refresh ,
2827 ShowSkymapResolutionSelector ( SkymapCatalogEntry ) ,
2928 SetSkymap ( SkymapCatalogEntry , SkymapResolution ) ,
29+ SetSkymapBuiltIn ,
3030}
3131
3232pub struct Params < ' a > {
@@ -77,6 +77,10 @@ impl ViewTrait for View {
7777 Task :: SetSkymap ( entry, resolution) => {
7878 self . set_skymap ( entry, resolution, par. general_config , par. config_change_kind ) ?;
7979 }
80+ Task :: SetSkymapBuiltIn => {
81+ par. general_config . skybox_texture = "" . into ( ) ;
82+ * par. config_change_kind = Some ( ConfigChangeKind :: EnvironmentBlend ) ;
83+ }
8084 }
8185 }
8286 }
@@ -205,22 +209,27 @@ impl View {
205209 layout. remove_children ( self . list_parent ) ;
206210 self . cells . clear ( ) ;
207211
208- if entries. is_empty ( ) {
209- wgui_simple:: create_label (
210- layout,
211- self . list_parent ,
212- Translation :: from_translation_key ( "APP_SETTINGS.NO_SKYMAPS_FOUND" ) ,
213- ) ?;
214- return Ok ( ( ) ) ;
212+ let skymaps_root = config_io:: get_skymaps_root ( ) ;
213+
214+ let mut view = views:: skymap_list_cell:: View :: new ( views:: skymap_list_cell:: Params {
215+ id_parent : self . list_parent ,
216+ layout,
217+ entry : None ,
218+ on_click : self . tasks . get_button_click_callback ( Task :: SetSkymapBuiltIn ) ,
219+ } ) ?;
220+ // load preview image
221+ let data = include_bytes ! ( "../../assets/dashboard/builtin-skybox-preview.jpg" ) ;
222+ if let Ok ( glyph_data) = CustomGlyphData :: from_bytes_raster ( & self . globals , "builtin-skybox-preview.jpg" , data) {
223+ view. set_image ( layout, Some ( glyph_data) ) ?;
215224 }
216225
217- let skymaps_root = config_io :: get_skymaps_root ( ) ;
226+ self . cells . push ( Cell { view } ) ;
218227
219228 for entry in & entries {
220229 let mut view = views:: skymap_list_cell:: View :: new ( views:: skymap_list_cell:: Params {
221230 id_parent : self . list_parent ,
222231 layout,
223- entry : entry. clone ( ) ,
232+ entry : Some ( entry. clone ( ) ) ,
224233 on_click : self
225234 . tasks
226235 . get_button_click_callback ( Task :: ShowSkymapResolutionSelector ( entry. clone ( ) ) ) ,
0 commit comments