Kaynağa Gözat

Fix window title with restored session

Johannes Hofmann 7 yıl önce
ebeveyn
işleme
247770609a
1 değiştirilmiş dosya ile 12 ekleme ve 8 silme
  1. 12
    8
      src/main.rs

+ 12
- 8
src/main.rs Dosyayı Görüntüle

@@ -218,6 +218,16 @@ fn run() -> Result<(), Box<Error>> {
218 218
     let mut sources = TileSources::new(config.tile_sources())
219 219
         .ok_or_else(|| "no tile sources provided.")?;
220 220
 
221
+    let last_session = if config.open_last_session() {
222
+        config::read_last_session().ok()
223
+    } else {
224
+        None
225
+    };
226
+
227
+    if let Some(tile_source) = last_session.as_ref().and_then(|s| s.tile_source.as_ref()) {
228
+        sources.switch_to_name(tile_source);
229
+    }
230
+
221 231
     let mut events_loop = glutin::EventsLoop::new();
222 232
     let builder = glutin::WindowBuilder::new()
223 233
         .with_title(format!("DeltaMap - {}", sources.current_name()));
@@ -241,14 +251,8 @@ fn run() -> Result<(), Box<Error>> {
241 251
         )
242 252
     };
243 253
 
244
-    if config.open_last_session() {
245
-        if let Ok(session) = config::read_last_session().as_ref() {
246
-            map.restore_session(session);
247
-
248
-            if let Some(ref tile_source) = session.tile_source {
249
-                sources.switch_to_name(tile_source);
250
-            }
251
-        }
254
+    if let Some(ref session) = last_session {
255
+        map.restore_session(session);
252 256
     }
253 257
 
254 258
     let mut input_state = InputState {