@@ -127,6 +127,7 @@ void InitUI(bool vanillaOnly, string filter)
127
127
128
128
InitFileTreeView ( vanillaOnly , filter ) ;
129
129
InitCategoryTreeView ( vanillaOnly , filter ) ;
130
+ InitToolStripMenuItems ( ) ;
130
131
}
131
132
132
133
bool LoadObjDataDirectory ( string directory , bool useExistingIndex )
@@ -294,6 +295,41 @@ void InitCategoryTreeView(bool vanillaOnly, string fileFilter)
294
295
tvObjType . ResumeLayout ( true ) ;
295
296
}
296
297
298
+ void InitToolStripMenuItems ( )
299
+ {
300
+ // clear dynamic items
301
+ while ( objectDirectoriesToolStripMenuItem . DropDownItems . Count > 2 )
302
+ {
303
+ objectDirectoriesToolStripMenuItem . DropDownItems . RemoveAt ( 2 ) ;
304
+ }
305
+
306
+ // regenerate them
307
+ List < ToolStripMenuItem > newObjDirs = new ( ) ;
308
+ foreach ( var objDir in model . Settings . ObjDataDirectories )
309
+ {
310
+ var tsmi = new ToolStripMenuItem ( objDir + ( model . Settings . ObjDataDirectory == objDir ? " (Current)" : string . Empty ) ) ;
311
+ tsmi . Click += ( sender , e ) => setObjectDirectoryToolStripMenuItem_ClickCore ( objDir ) ;
312
+ newObjDirs . Add ( tsmi ) ;
313
+ }
314
+ objectDirectoriesToolStripMenuItem . DropDownItems . AddRange ( newObjDirs . ToArray ( ) ) ;
315
+
316
+ // clear dynamic items
317
+ while ( dataDirectoriesToolStripMenuItem . DropDownItems . Count > 2 )
318
+ {
319
+ dataDirectoriesToolStripMenuItem . DropDownItems . RemoveAt ( 2 ) ;
320
+ }
321
+
322
+ // regenerate them
323
+ List < ToolStripMenuItem > newDataDirs = new ( ) ;
324
+ foreach ( var dataDir in model . Settings . DataDirectories )
325
+ {
326
+ var tsmi = new ToolStripMenuItem ( dataDir + ( model . Settings . DataDirectory == dataDir ? " (Current)" : string . Empty ) ) ;
327
+ tsmi . Click += ( sender , e ) => setDataDirectoryToolStripMenuItem_ClickCore ( dataDir ) ;
328
+ newDataDirs . Add ( tsmi ) ;
329
+ }
330
+ dataDirectoriesToolStripMenuItem . DropDownItems . AddRange ( newDataDirs . ToArray ( ) ) ;
331
+ }
332
+
297
333
// note: doesn't work atm
298
334
private void saveChangesToolStripMenuItem_Click ( object sender , EventArgs e )
299
335
{
@@ -333,23 +369,33 @@ private void setObjectDirectoryToolStripMenuItem_Click(object sender, EventArgs
333
369
{
334
370
if ( objectDirBrowser . ShowDialog ( this ) == DialogResult . OK )
335
371
{
336
- if ( LoadObjDataDirectory ( objectDirBrowser . SelectedPath , true ) )
337
- {
338
- InitUI ( cbVanillaObjects . Checked , tbFileFilter . Text ) ;
339
- }
372
+ setObjectDirectoryToolStripMenuItem_ClickCore ( objectDirBrowser . SelectedPath ) ;
373
+ }
374
+ }
375
+
376
+ private void setObjectDirectoryToolStripMenuItem_ClickCore ( string path )
377
+ {
378
+ if ( LoadObjDataDirectory ( path , true ) )
379
+ {
380
+ InitUI ( cbVanillaObjects . Checked , tbFileFilter . Text ) ;
340
381
}
341
382
}
342
383
343
384
private void setDataDirectoryToolStripMenuItem_Click ( object sender , EventArgs e )
344
385
{
345
386
if ( objectDirBrowser . ShowDialog ( this ) == DialogResult . OK )
346
387
{
347
- if ( model . LoadDataDirectory ( objectDirBrowser . SelectedPath ) )
348
- {
349
- pgObject . SelectedObject = model . G1 ;
350
- var images = CreateImages ( model . G1 . G1Elements , model . Palette ) ;
351
- CurrentUIImages = CreateImageControls ( images , model . G1 . G1Elements ) . ToList ( ) ;
352
- }
388
+ setDataDirectoryToolStripMenuItem_ClickCore ( objectDirBrowser . SelectedPath ) ;
389
+ }
390
+ }
391
+
392
+ private void setDataDirectoryToolStripMenuItem_ClickCore ( string path )
393
+ {
394
+ if ( model . LoadDataDirectory ( path ) )
395
+ {
396
+ pgObject . SelectedObject = model . G1 ;
397
+ var images = CreateImages ( model . G1 . G1Elements , model . Palette ) ;
398
+ CurrentUIImages = CreateImageControls ( images , model . G1 . G1Elements ) . ToList ( ) ;
353
399
}
354
400
}
355
401
0 commit comments