@@ -182,44 +182,7 @@ private void openProjectToolStripMenuItem_Click(object sender, EventArgs e)
182
182
183
183
if ( ofd . ShowDialog ( ) == DialogResult . OK )
184
184
{
185
- IReClassImport import = null ;
186
- switch ( Path . GetExtension ( ofd . SafeFileName ) )
187
- {
188
- case ReClassNetFile . FileExtension :
189
- import = new ReClassNetFile ( ) ;
190
- break ;
191
- case ReClassQtFile . FileExtension :
192
- import = new ReClassQtFile ( ) ;
193
- break ;
194
- case ReClassFile . FileExtension :
195
- import = new ReClassFile ( ) ;
196
- break ;
197
- case ReClass2007File . FileExtension :
198
- import = new ReClass2007File ( ) ;
199
- break ;
200
- default :
201
- Program . Logger . Log ( LogLevel . Error , $ "The file '{ ofd . SafeFileName } ' has an unknown type.") ;
202
- break ;
203
- }
204
- if ( import != null )
205
- {
206
- var schema = import . Load ( ofd . FileName , Program . Logger ) ;
207
- if ( schema != null )
208
- {
209
- // If we have our filetype save the path to skip the Save As dialog.
210
- if ( import is ReClassNetFile )
211
- {
212
- projectPath = ofd . FileName ;
213
- }
214
-
215
- var classes = schema . BuildNodes ( Program . Logger ) ;
216
-
217
- ClassManager . Clear ( ) ;
218
- classes . ForEach ( c => ClassManager . AddClass ( c ) ) ;
219
-
220
- memoryViewControl . ClassNode = classes . FirstOrDefault ( ) ;
221
- }
222
- }
185
+ LoadFileFromPath ( ofd . SafeFileName ) ;
223
186
}
224
187
}
225
188
}
@@ -408,6 +371,35 @@ private void memoryTypeToolStripButton_Click(object sender, EventArgs e)
408
371
409
372
#endregion
410
373
374
+ private void MainForm_DragEnter ( object sender , DragEventArgs e )
375
+ {
376
+ if ( e . Data . GetDataPresent ( DataFormats . FileDrop ) )
377
+ {
378
+ var files = e . Data . GetData ( DataFormats . FileDrop ) as string [ ] ;
379
+ if ( files != null && files . Any ( ) )
380
+ {
381
+ switch ( Path . GetExtension ( files . First ( ) ) )
382
+ {
383
+ case ReClassNetFile . FileExtension :
384
+ case ReClassQtFile . FileExtension :
385
+ case ReClassFile . FileExtension :
386
+ case ReClass2007File . FileExtension :
387
+ e . Effect = DragDropEffects . Copy ;
388
+ break ;
389
+ }
390
+ }
391
+ }
392
+ }
393
+
394
+ private void MainForm_DragDrop ( object sender , DragEventArgs e )
395
+ {
396
+ var files = e . Data . GetData ( DataFormats . FileDrop ) as string [ ] ;
397
+ if ( files != null && files . Any ( ) )
398
+ {
399
+ LoadFileFromPath ( files . First ( ) ) ;
400
+ }
401
+ }
402
+
411
403
private void processUpdateTimer_Tick ( object sender , EventArgs e )
412
404
{
413
405
if ( updateProcessInformationsTask == null || updateProcessInformationsTask . IsCompleted )
@@ -514,5 +506,47 @@ private void AskAddOrInsertBytes(string title, Action<int> callback)
514
506
}
515
507
}
516
508
}
509
+
510
+ private void LoadFileFromPath ( string filePath )
511
+ {
512
+ IReClassImport import = null ;
513
+ switch ( Path . GetExtension ( filePath ) )
514
+ {
515
+ case ReClassNetFile . FileExtension :
516
+ import = new ReClassNetFile ( ) ;
517
+ break ;
518
+ case ReClassQtFile . FileExtension :
519
+ import = new ReClassQtFile ( ) ;
520
+ break ;
521
+ case ReClassFile . FileExtension :
522
+ import = new ReClassFile ( ) ;
523
+ break ;
524
+ case ReClass2007File . FileExtension :
525
+ import = new ReClass2007File ( ) ;
526
+ break ;
527
+ default :
528
+ Program . Logger . Log ( LogLevel . Error , $ "The file '{ filePath } ' has an unknown type.") ;
529
+ break ;
530
+ }
531
+ if ( import != null )
532
+ {
533
+ var schema = import . Load ( filePath , Program . Logger ) ;
534
+ if ( schema != null )
535
+ {
536
+ // If we have our filetype save the path to skip the Save As dialog.
537
+ if ( import is ReClassNetFile )
538
+ {
539
+ projectPath = filePath ;
540
+ }
541
+
542
+ var classes = schema . BuildNodes ( Program . Logger ) ;
543
+
544
+ ClassManager . Clear ( ) ;
545
+ classes . ForEach ( c => ClassManager . AddClass ( c ) ) ;
546
+
547
+ memoryViewControl . ClassNode = classes . FirstOrDefault ( ) ;
548
+ }
549
+ }
550
+ }
517
551
}
518
552
}
0 commit comments