|
|
@@ -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 {
|