/[EmuXPortal]/branches/mono/EmuXPortal/Form1.cs
ViewVC logotype

Diff of /branches/mono/EmuXPortal/Form1.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 248 by william, Tue Aug 5 09:20:39 2014 UTC revision 249 by william, Tue Aug 5 09:53:04 2014 UTC
# Line 29  namespace EmuXPortal Line 29  namespace EmuXPortal
29          PlatformControl CurrentPlatformControl = null;          PlatformControl CurrentPlatformControl = null;
30          GameControl CurrentGameControl = null;          GameControl CurrentGameControl = null;
31    
32            
33            protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
34            {
35                if (!msg.HWnd.Equals(this.Handle) && (keyData == Keys.Left || keyData == Keys.Right || keyData == Keys.Up || keyData == Keys.Down || keyData == Keys.Tab))
36                    return true;
37                return base.ProcessCmdKey(ref msg, keyData);
38            }
39          #region unhandled exception support          #region unhandled exception support
40          static void Application_Unhandled_ThreadException(object sender, ThreadExceptionEventArgs e)          static void Application_Unhandled_ThreadException(object sender, ThreadExceptionEventArgs e)
41          {          {
# Line 134  namespace EmuXPortal Line 141  namespace EmuXPortal
141              Cursor.Show();              Cursor.Show();
142  #endif  #endif
143          }          }
144          void platform_ctrl_LostFocus(object sender, EventArgs e)          //void platform_ctrl_LostFocus(object sender, EventArgs e)
145          {          //{
146              PlatformControl c = sender as PlatformControl;          //    PlatformControl c = sender as PlatformControl;
147              c.BorderStyle = BorderStyle.None;          //    c.BorderStyle = BorderStyle.None;
148          }          //}
   
         void platform_ctrl_GotFocus(object sender, EventArgs e)  
         {  
             PlatformControl c = sender as PlatformControl;  
             c.BorderStyle = BorderStyle.FixedSingle;  
             CurrentPlatformControl = c;  
         }  
         void game_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)  
         {  
             GameControl c = sender as GameControl;  
   
             int changeAmount = 0;  
             int currentPosition = 0;  
             if (e.KeyCode == Keys.F && (e.Modifiers & Keys.Control) == Keys.Control)  
             {  
                 IRomConfig config = c.Tag as IRomConfig;  
                 if (config == null)  
                 {  
                     gLog.Error.WriteLine("Unable to add/remove from/to favorites (config is null): {0} [{1}]", config.RomTitle, config.RomFile);  
                 }  
                 else  
                 {  
                     var isFavorite = RomFavorite.IsFavorite(config);  
                     if (isFavorite)  
                     {  
                         // add to favorites  
                         gLog.Debug.WriteLine("Removing from favorites: {0} [{1}]", config.RomTitle, config.RomFile);  
                         if (!RomFavorite.RemoveFavorite(config))  
                         {  
                             gLog.Error.WriteLine("Failed to remove from favorites: {0} [{1}]", config.RomTitle, config.RomFile);  
                         }  
                         else  
                         {  
                             gLog.Info.WriteLine("Removed from favorites: {0} [{1}]", config.RomTitle, config.RomFile);  
                             if (config.Config.PlatformNameShort == "Favorites")  
                             {  
                                 var parent = c.Parent;  
                                 if (parent != null)  
                                 {  
                                     parent.Controls.Remove(c);  
                                     if (parent.Controls.Count > 0)  
                                     {  
                                         var next_ctrl = parent.Controls[0];  
                                         if (next_ctrl != null)  
                                         {  
                                             next_ctrl.Select();  
                                         }  
                                     }  
                                 }  
                             }                        
                         }  
                     }  
                     else  
                     {  
                         // add to favorites  
                         gLog.Debug.WriteLine("Adding to favorites: {0} [{1}]", config.RomTitle, config.RomFile);  
                         if (!RomFavorite.AddFavorite(config))  
                         {  
                             gLog.Error.WriteLine("Failed to add to favorites: {0} [{1}]", config.RomTitle, config.RomFile);  
                         }  
                         else  
                         {  
                             gLog.Info.WriteLine("Added to favorites: {0} [{1}]", config.RomTitle, config.RomFile);  
                         }  
                     }  
                     gLog.Debug.WriteLine("Updateing favorites");  
                     if (!RomFavorite.UpdateFavorites())  
                     {  
                         gLog.Error.WriteLine("Failed to update favorites");  
                     }  
                     else  
                     {  
                         gLog.Info.WriteLine("Updated favorites");  
                     }  
                 }  
                 return; // stop processing other keys  
   
             }  
             if (e.KeyCode == Keys.Home)  
             {  
                 rom_flow.SuspendLayout();  
                 rom_flow.Controls[0].Select();  
                 rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);  
                 rom_flow.ResumeLayout(false);  
             }  
             if (e.KeyCode == Keys.End)  
             {  
                 rom_flow.SuspendLayout();  
                 rom_flow.Controls[rom_flow.Controls.Count - 1].Select();  
                 rom_flow.ScrollControlIntoView(rom_flow.Controls[rom_flow.Controls.Count - 1]);  
                 rom_flow.ResumeLayout(false);  
             }  
             if (e.KeyCode == Keys.PageUp)  
             {  
                 rom_flow.SuspendLayout();  
                 changeAmount = rom_flow.VerticalScroll.LargeChange;  
                 currentPosition = rom_flow.VerticalScroll.Value;  
                 if ((currentPosition - changeAmount) > rom_flow.VerticalScroll.Minimum)  
                 {  
                     try  
                     {  
                         rom_flow.VerticalScroll.Value -= changeAmount;  
                     }  
                     catch  
                     {  
                         rom_flow.Controls[0].Select();  
                         rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);  
                         rom_flow.PerformLayout();  
                         return;  
                     }  
                 }  
                 else  
                 {  
                     rom_flow.Controls[0].Select();  
                     rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);  
                 }  
                 GameControl s = game_ctrl_get_last_visible();  
                 s.Select();  
                 rom_flow.ScrollControlIntoView(s);  
                 rom_flow.ResumeLayout(false);  
             }  
             if (e.KeyCode == Keys.PageDown)  
             {  
                 rom_flow.SuspendLayout();  
                 changeAmount = rom_flow.VerticalScroll.LargeChange;  
                 currentPosition = rom_flow.VerticalScroll.Value;  
                 if ((currentPosition - changeAmount) < rom_flow.VerticalScroll.Maximum)  
                 {  
                     try  
                     {  
                         rom_flow.VerticalScroll.Value += changeAmount;  
                     }  
                     catch  
                     {  
                         rom_flow.Controls[0].Select();  
                         rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);  
                         rom_flow.PerformLayout();  
                         return;  
                     }  
                 }  
                 else  
                 {  
                     rom_flow.VerticalScroll.Value = rom_flow.VerticalScroll.Maximum;  
                 }  
                 GameControl s = game_ctrl_get_last_visible();  
                 s.Select();  
                 rom_flow.ScrollControlIntoView(s);  
                 rom_flow.ResumeLayout(false);  
             }  
   
             if (e.KeyCode == Keys.Enter)  
             {  
                 IRomConfig config = c.Tag as IRomConfig;  
   
                 Process p = new Process();  
   
                 p.StartInfo.FileName = config.Config.GameExe == "" ? config.Config.EmuPath : config.Config.GameExe;  
                 p.StartInfo.Arguments = config.Config.GameExeArgs == "" ? EmuConfigLoader.GetEMUOptions(config) : config.Config.GameExeArgs;  
                 p.Start();  
149    
150                  // minimize EmuXPortal          //void platform_ctrl_GotFocus(object sender, EventArgs e)
151                  this.WindowState = FormWindowState.Minimized;          //{
152                  // wait for exit of game          //    PlatformControl c = sender as PlatformControl;
153                  p.WaitForExit();          //    c.BorderStyle = BorderStyle.FixedSingle;
154                  // maximize EmuXPortal          //    CurrentPlatformControl = c;
155                  this.WindowState = FormWindowState.Maximized;          //}
156              }          //void game_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
157              if (e.KeyCode == Keys.Back)          //{
158              {              //GameControl c = sender as GameControl;
                 rom_flow.Visible = false;  
                 platform_flow.Visible = true;  
             }  
159    
160              if ((e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z) ||              //int changeAmount = 0;
161                  (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9))              //int currentPosition = 0;
162              {              //if (e.KeyCode == Keys.F && (e.Modifiers & Keys.Control) == Keys.Control)
163                  rom_flow.SuspendLayout();              //{
164                  char t = (char)e.KeyCode;              //    IRomConfig config = c.Tag as IRomConfig;
165                  GameControl ctrl = (rom_flow.GetNextControl(CurrentGameControl, true) as GameControl);              //    if (config == null)
166                  if (ctrl == null) { ctrl = (rom_flow.GetNextControl(rom_flow.Controls[0], true) as GameControl); }              //    {
167                  bool found = false;              //        gLog.Error.WriteLine("Unable to add/remove from/to favorites (config is null): {0} [{1}]", config.RomTitle, config.RomFile);
168                  GameControl pc = CurrentGameControl;              //    }
169                  bool wrapped = false;              //    else
170                  bool not_found = true;              //    {
171                  while (!found)              //        var isFavorite = RomFavorite.IsFavorite(config);
172                  {              //        if (isFavorite)
173                      if (wrapped)              //        {
174                      {              //            // add to favorites
175                          foreach (Control ctl in rom_flow.Controls)              //            gLog.Debug.WriteLine("Removing from favorites: {0} [{1}]", config.RomTitle, config.RomFile);
176                          {              //            if (!RomFavorite.RemoveFavorite(config))
177                              GameControl p_ctl = ctl as GameControl; if (p_ctl.GameName.ToLower().StartsWith(t.ToString().ToLower())) { not_found = false; }              //            {
178                          }              //                gLog.Error.WriteLine("Failed to remove from favorites: {0} [{1}]", config.RomTitle, config.RomFile);
179                          if (not_found) { found = true; }              //            }
180                      }              //            else
181                      ctrl = (rom_flow.GetNextControl(pc, true) as GameControl);              //            {
182                      if (ctrl == null)              //                gLog.Info.WriteLine("Removed from favorites: {0} [{1}]", config.RomTitle, config.RomFile);
183                      {              //                if (config.Config.PlatformNameShort == "Favorites")
184                          ctrl = rom_flow.Controls[0] as GameControl;              //                {
185                          wrapped = true;              //                    var parent = c.Parent;
186                      }              //                    if (parent != null)
187                      if (ctrl.GameName.ToLower().StartsWith(t.ToString().ToLower()))              //                    {
188                      {              //                        parent.Controls.Remove(c);
189                          rom_flow.ScrollControlIntoView(ctrl);              //                        if (parent.Controls.Count > 0)
190                          ctrl.Select();              //                        {
191                          found = true;              //                            var next_ctrl = parent.Controls[0];
192                      }              //                            if (next_ctrl != null)
193                      pc = ctrl;              //                            {
194                  }              //                                next_ctrl.Select();
195                  rom_flow.ResumeLayout(false);              //                            }
196              }              //                        }
197          }              //                    }
198          void platform_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)              //                }                      
199          {              //            }
200              PlatformControl c = sender as PlatformControl;              //        }
201              int changeAmount = 0;              //        else
202              int currentPosition = 0;              //        {
203              if (e.KeyCode == Keys.Home)              //            // add to favorites
204              {              //            gLog.Debug.WriteLine("Adding to favorites: {0} [{1}]", config.RomTitle, config.RomFile);
205                  platform_flow.SuspendLayout();              //            if (!RomFavorite.AddFavorite(config))
206                  platform_flow.Controls[0].Select();              //            {
207                  platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);              //                gLog.Error.WriteLine("Failed to add to favorites: {0} [{1}]", config.RomTitle, config.RomFile);
208                  platform_flow.ResumeLayout(false);              //            }
209              }              //            else
210              if (e.KeyCode == Keys.End)              //            {
211              {              //                gLog.Info.WriteLine("Added to favorites: {0} [{1}]", config.RomTitle, config.RomFile);
212                  platform_flow.SuspendLayout();              //            }
213                  platform_flow.Controls[platform_flow.Controls.Count -1].Select();              //        }
214                  platform_flow.ScrollControlIntoView(platform_flow.Controls[platform_flow.Controls.Count - 1]);              //        gLog.Debug.WriteLine("Updateing favorites");
215                  platform_flow.ResumeLayout(false);              //        if (!RomFavorite.UpdateFavorites())
216              }              //        {
217              if (e.KeyCode == Keys.PageUp)              //            gLog.Error.WriteLine("Failed to update favorites");
218              {              //        }
219                  platform_flow.SuspendLayout();              //        else
220                  changeAmount = platform_flow.VerticalScroll.LargeChange;              //        {
221                  currentPosition = platform_flow.VerticalScroll.Value;              //            gLog.Info.WriteLine("Updated favorites");
222                  if ((currentPosition - changeAmount) > platform_flow.VerticalScroll.Minimum)              //        }
223                  {              //    }
224                      platform_flow.VerticalScroll.Value -= changeAmount;              //    return; // stop processing other keys
225                  }  
226                  else              //}
227                  {              //if (e.KeyCode == Keys.Home)
228                      platform_flow.VerticalScroll.Value = platform_flow.VerticalScroll.Minimum;              //{
229                  }              //    rom_flow.SuspendLayout();
230                  PlatformControl s = platform_ctrl_get_last_visible();              //    rom_flow.Controls[0].Select();
231                  s.Select();              //    rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);
232                  platform_flow.ScrollControlIntoView(s);              //    rom_flow.ResumeLayout(false);
233                  platform_flow.ResumeLayout(false);              //}
234              }              //if (e.KeyCode == Keys.End)
235              if (e.KeyCode == Keys.PageDown)              //{
236              {              //    rom_flow.SuspendLayout();
237                  platform_flow.SuspendLayout();              //    rom_flow.Controls[rom_flow.Controls.Count - 1].Select();
238                  changeAmount = platform_flow.VerticalScroll.LargeChange;              //    rom_flow.ScrollControlIntoView(rom_flow.Controls[rom_flow.Controls.Count - 1]);
239                  currentPosition = platform_flow.VerticalScroll.Value;              //    rom_flow.ResumeLayout(false);
240                  if ((currentPosition - changeAmount) < platform_flow.VerticalScroll.Maximum)              //}
241                  {              //if (e.KeyCode == Keys.PageUp)
242                      try              //{
243                      {              //    rom_flow.SuspendLayout();
244                          platform_flow.VerticalScroll.Value += changeAmount;              //    changeAmount = rom_flow.VerticalScroll.LargeChange;
245                      }              //    currentPosition = rom_flow.VerticalScroll.Value;
246                      catch              //    if ((currentPosition - changeAmount) > rom_flow.VerticalScroll.Minimum)
247                      {              //    {
248                          platform_flow.Controls[0].Select();              //        try
249                          platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);              //        {
250                          rom_flow.PerformLayout();              //            rom_flow.VerticalScroll.Value -= changeAmount;
251                          return;              //        }
252                      }              //        catch
253                  }              //        {
254                  else              //            rom_flow.Controls[0].Select();
255                  {              //            rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);
256                      platform_flow.Controls[0].Select();              //            rom_flow.PerformLayout();
257                      platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);              //            return;
258                  }              //        }
259                  PlatformControl s = platform_ctrl_get_last_visible();              //    }
260                  s.Select();              //    else
261                  platform_flow.ScrollControlIntoView(s);              //    {
262                  platform_flow.ResumeLayout(false);              //        rom_flow.Controls[0].Select();
263              }              //        rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);
264              if (e.KeyCode == Keys.Enter)              //    }
265              {              //    GameControl s = game_ctrl_get_last_visible();
266                  // load this platform              //    s.Select();
267                  platform_flow.Visible = false;              //    rom_flow.ScrollControlIntoView(s);
268                  CurrentSelectedRom = c.Tag as IEmuConfig;              //    rom_flow.ResumeLayout(false);
269                  rom_flow.Visible = true;              //}
270                  rom_flow.BringToFront();              //if (e.KeyCode == Keys.PageDown)
271              }              //{
272              if (e.KeyCode == Keys.Back)              //    rom_flow.SuspendLayout();
273              {              //    changeAmount = rom_flow.VerticalScroll.LargeChange;
274                  this.Close();              //    currentPosition = rom_flow.VerticalScroll.Value;
275              }              //    if ((currentPosition - changeAmount) < rom_flow.VerticalScroll.Maximum)
276              if ((e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z) ||              //    {
277                  (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9))              //        try
278              {              //        {
279                  platform_flow.SuspendLayout();              //            rom_flow.VerticalScroll.Value += changeAmount;
280                  char t = (char)e.KeyCode;              //        }
281                  PlatformControl ctrl = (platform_flow.GetNextControl(CurrentPlatformControl, true) as PlatformControl);              //        catch
282                  if (ctrl == null) { ctrl = (platform_flow.GetNextControl(platform_flow.Controls[0], true) as PlatformControl); }              //        {
283                  bool found = false;              //            rom_flow.Controls[0].Select();
284                  PlatformControl pc = CurrentPlatformControl;              //            rom_flow.ScrollControlIntoView(rom_flow.Controls[0]);
285                  bool wrapped = false;              //            rom_flow.PerformLayout();
286                  bool not_found = true;              //            return;
287                  while (!found)              //        }
288                  {              //    }
289                      if (wrapped)              //    else
290                      {              //    {
291                          foreach (Control ctl in platform_flow.Controls)              //        rom_flow.VerticalScroll.Value = rom_flow.VerticalScroll.Maximum;
292                          {              //    }
293                              PlatformControl p_ctl = ctl as PlatformControl; if (p_ctl.PlatformName.ToLower().StartsWith(t.ToString().ToLower())) { not_found = false; }              //    GameControl s = game_ctrl_get_last_visible();
294                          }              //    s.Select();
295                          if (not_found) { found = true; }              //    rom_flow.ScrollControlIntoView(s);
296                      }              //    rom_flow.ResumeLayout(false);
297                      ctrl = (platform_flow.GetNextControl(pc, true) as PlatformControl);              //}
298                      if (ctrl == null)  
299                      {              //if (e.KeyCode == Keys.Enter)
300                          ctrl = platform_flow.Controls[0] as PlatformControl;              //{
301                          wrapped = true;              //    IRomConfig config = c.Tag as IRomConfig;
302                      }  
303                      if (ctrl.PlatformName.ToLower().StartsWith(t.ToString().ToLower()))              //    Process p = new Process();
304                      {  
305                          platform_flow.ScrollControlIntoView(ctrl);              //    p.StartInfo.FileName = config.Config.GameExe == "" ? config.Config.EmuPath : config.Config.GameExe;
306                          ctrl.Select();              //    p.StartInfo.Arguments = config.Config.GameExeArgs == "" ? EmuConfigLoader.GetEMUOptions(config) : config.Config.GameExeArgs;
307                          found = true;              //    p.Start();
308                      }  
309                      pc = ctrl;              //    // minimize EmuXPortal
310                  }              //    this.WindowState = FormWindowState.Minimized;
311                  platform_flow.ResumeLayout(false);              //    // wait for exit of game
312              }              //    p.WaitForExit();
313          }              //    // maximize EmuXPortal
314                //    this.WindowState = FormWindowState.Maximized;
315                //}
316                //if (e.KeyCode == Keys.Back)
317                //{
318                //    rom_flow.Visible = false;
319                //    platform_flow.Visible = true;
320                //}
321    
322                //if ((e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z) ||
323                //    (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9))
324                //{
325                //    rom_flow.SuspendLayout();
326                //    char t = (char)e.KeyCode;
327                //    GameControl ctrl = (rom_flow.GetNextControl(CurrentGameControl, true) as GameControl);
328                //    if (ctrl == null) { ctrl = (rom_flow.GetNextControl(rom_flow.Controls[0], true) as GameControl); }
329                //    bool found = false;
330                //    GameControl pc = CurrentGameControl;
331                //    bool wrapped = false;
332                //    bool not_found = true;
333                //    while (!found)
334                //    {
335                //        if (wrapped)
336                //        {
337                //            foreach (Control ctl in rom_flow.Controls)
338                //            {
339                //                GameControl p_ctl = ctl as GameControl; if (p_ctl.GameName.ToLower().StartsWith(t.ToString().ToLower())) { not_found = false; }
340                //            }
341                //            if (not_found) { found = true; }
342                //        }
343                //        ctrl = (rom_flow.GetNextControl(pc, true) as GameControl);
344                //        if (ctrl == null)
345                //        {
346                //            ctrl = rom_flow.Controls[0] as GameControl;
347                //            wrapped = true;
348                //        }
349                //        if (ctrl.GameName.ToLower().StartsWith(t.ToString().ToLower()))
350                //        {
351                //            rom_flow.ScrollControlIntoView(ctrl);
352                //            ctrl.Select();
353                //            found = true;
354                //        }
355                //        pc = ctrl;
356                //    }
357                //    rom_flow.ResumeLayout(false);
358                //}
359            //}
360            //void platform_ctrl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
361            //{
362                //PlatformControl c = sender as PlatformControl;
363                //int changeAmount = 0;
364                //int currentPosition = 0;
365                //if (e.KeyCode == Keys.Home)
366                //{
367                //    platform_flow.SuspendLayout();
368                //    platform_flow.Controls[0].Select();
369                //    platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);
370                //    platform_flow.ResumeLayout(false);
371                //}
372                //if (e.KeyCode == Keys.End)
373                //{
374                //    platform_flow.SuspendLayout();
375                //    platform_flow.Controls[platform_flow.Controls.Count -1].Select();
376                //    platform_flow.ScrollControlIntoView(platform_flow.Controls[platform_flow.Controls.Count - 1]);
377                //    platform_flow.ResumeLayout(false);
378                //}
379                //if (e.KeyCode == Keys.PageUp)
380                //{
381                //    platform_flow.SuspendLayout();
382                //    changeAmount = platform_flow.VerticalScroll.LargeChange;
383                //    currentPosition = platform_flow.VerticalScroll.Value;
384                //    if ((currentPosition - changeAmount) > platform_flow.VerticalScroll.Minimum)
385                //    {
386                //        platform_flow.VerticalScroll.Value -= changeAmount;
387                //    }
388                //    else
389                //    {
390                //        platform_flow.VerticalScroll.Value = platform_flow.VerticalScroll.Minimum;
391                //    }
392                //    PlatformControl s = platform_ctrl_get_last_visible();
393                //    s.Select();
394                //    platform_flow.ScrollControlIntoView(s);
395                //    platform_flow.ResumeLayout(false);
396                //}
397                //if (e.KeyCode == Keys.PageDown)
398                //{
399                //    platform_flow.SuspendLayout();
400                //    changeAmount = platform_flow.VerticalScroll.LargeChange;
401                //    currentPosition = platform_flow.VerticalScroll.Value;
402                //    if ((currentPosition - changeAmount) < platform_flow.VerticalScroll.Maximum)
403                //    {
404                //        try
405                //        {
406                //            platform_flow.VerticalScroll.Value += changeAmount;
407                //        }
408                //        catch
409                //        {
410                //            platform_flow.Controls[0].Select();
411                //            platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);
412                //            rom_flow.PerformLayout();
413                //            return;
414                //        }
415                //    }
416                //    else
417                //    {
418                //        platform_flow.Controls[0].Select();
419                //        platform_flow.ScrollControlIntoView(platform_flow.Controls[0]);
420                //    }
421                //    PlatformControl s = platform_ctrl_get_last_visible();
422                //    s.Select();
423                //    platform_flow.ScrollControlIntoView(s);
424                //    platform_flow.ResumeLayout(false);
425                //}
426                //if (e.KeyCode == Keys.Enter)
427                //{
428                //    // load this platform
429                //    platform_flow.Visible = false;
430                //    CurrentSelectedRom = c.Tag as IEmuConfig;
431                //    rom_flow.Visible = true;
432                //    rom_flow.BringToFront();
433                //}
434                //if (e.KeyCode == Keys.Back)
435                //{
436                //    this.Close();
437                //}
438                //if ((e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z) ||
439                //    (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9))
440                //{
441                //    platform_flow.SuspendLayout();
442                //    char t = (char)e.KeyCode;
443                //    PlatformControl ctrl = (platform_flow.GetNextControl(CurrentPlatformControl, true) as PlatformControl);
444                //    if (ctrl == null) { ctrl = (platform_flow.GetNextControl(platform_flow.Controls[0], true) as PlatformControl); }
445                //    bool found = false;
446                //    PlatformControl pc = CurrentPlatformControl;
447                //    bool wrapped = false;
448                //    bool not_found = true;
449                //    while (!found)
450                //    {
451                //        if (wrapped)
452                //        {
453                //            foreach (Control ctl in platform_flow.Controls)
454                //            {
455                //                PlatformControl p_ctl = ctl as PlatformControl; if (p_ctl.PlatformName.ToLower().StartsWith(t.ToString().ToLower())) { not_found = false; }
456                //            }
457                //            if (not_found) { found = true; }
458                //        }
459                //        ctrl = (platform_flow.GetNextControl(pc, true) as PlatformControl);
460                //        if (ctrl == null)
461                //        {
462                //            ctrl = platform_flow.Controls[0] as PlatformControl;
463                //            wrapped = true;
464                //        }
465                //        if (ctrl.PlatformName.ToLower().StartsWith(t.ToString().ToLower()))
466                //        {
467                //            platform_flow.ScrollControlIntoView(ctrl);
468                //            ctrl.Select();
469                //            found = true;
470                //        }
471                //        pc = ctrl;
472                //    }
473                //    platform_flow.ResumeLayout(false);
474                //}
475            //}
476    
477          private void platform_flow_VisibleChanged(object sender, EventArgs e)          private void platform_flow_VisibleChanged(object sender, EventArgs e)
478          {          {
# Line 487  namespace EmuXPortal Line 494  namespace EmuXPortal
494              gameWorker.RunWorkerAsync(t);              gameWorker.RunWorkerAsync(t);
495          }          }
496    
497          void game_ctrl_LostFocus(object sender, EventArgs e)          //void game_ctrl_LostFocus(object sender, EventArgs e)
498          {          //{
499              GameControl c = sender as GameControl;          //    GameControl c = sender as GameControl;
500              c.BorderStyle = BorderStyle.None;          //    c.BorderStyle = BorderStyle.None;
501          }          //}
502    
503          void game_ctrl_GotFocus(object sender, EventArgs e)          //void game_ctrl_GotFocus(object sender, EventArgs e)
504          {          //{
505              GameControl c = sender as GameControl;          //    GameControl c = sender as GameControl;
506              c.BorderStyle = BorderStyle.FixedSingle;          //    c.BorderStyle = BorderStyle.FixedSingle;
507              CurrentGameControl = c;          //    CurrentGameControl = c;
508          }          //}
509    
510          private GameControl game_ctrl_get_last_visible()          //private GameControl game_ctrl_get_last_visible()
511          {          //{
512              GameControl s = new GameControl();          //    GameControl s = new GameControl();
513              foreach (GameControl c in rom_flow.Controls)          //    foreach (GameControl c in rom_flow.Controls)
514              {          //    {
515                  if (c.Bounds.IntersectsWith(rom_flow.Bounds))          //        if (c.Bounds.IntersectsWith(rom_flow.Bounds))
516                      s = c;          //            s = c;
517              }          //    }
518              return s;          //    return s;
519          }          //}
520          private PlatformControl platform_ctrl_get_last_visible()          //private PlatformControl platform_ctrl_get_last_visible()
521          {          //{
522              PlatformControl s = new PlatformControl();          //    PlatformControl s = new PlatformControl();
523              foreach (PlatformControl c in platform_flow.Controls)          //    foreach (PlatformControl c in platform_flow.Controls)
524              {          //    {
525                  if (c.Bounds.IntersectsWith(platform_flow.Bounds))          //        if (c.Bounds.IntersectsWith(platform_flow.Bounds))
526                      s = c;          //            s = c;
527              }          //    }
528              return s;          //    return s;
529          }          //}
530                
531    
532          #region Background Workers          #region Background Workers
# Line 638  namespace EmuXPortal Line 645  namespace EmuXPortal
645                  {                  {
646                      game_ctrl.GameName = config.RomTitle;                      game_ctrl.GameName = config.RomTitle;
647                  }                        }      
648                  game_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(game_ctrl_PreviewKeyDown);                  //game_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(game_ctrl_PreviewKeyDown);
649                  game_ctrl.GotFocus += new EventHandler(game_ctrl_GotFocus);                  //game_ctrl.GotFocus += new EventHandler(game_ctrl_GotFocus);
650                  game_ctrl.LostFocus += new EventHandler(game_ctrl_LostFocus);                  //game_ctrl.LostFocus += new EventHandler(game_ctrl_LostFocus);
651                  if (rom_flow.InvokeRequired) { rom_flow.Invoke((MethodInvoker)delegate() { rom_flow.Controls.Add(game_ctrl); }); }                  if (rom_flow.InvokeRequired) { rom_flow.Invoke((MethodInvoker)delegate() { rom_flow.Controls.Add(game_ctrl); }); }
652                  else { rom_flow.Controls.Add(game_ctrl); }                  else { rom_flow.Controls.Add(game_ctrl); }
653                  count++;                  count++;
# Line 658  namespace EmuXPortal Line 665  namespace EmuXPortal
665              if (rom_flow.Controls.Count == 0)              if (rom_flow.Controls.Count == 0)
666              {              {
667                  GameControl game_ctrl = new GameControl();                  GameControl game_ctrl = new GameControl();
668                  game_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(game_ctrl_PreviewKeyDown);                  //game_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(game_ctrl_PreviewKeyDown);
669                  game_ctrl.GotFocus += new EventHandler(game_ctrl_GotFocus);                  //game_ctrl.GotFocus += new EventHandler(game_ctrl_GotFocus);
670                  game_ctrl.LostFocus += new EventHandler(game_ctrl_LostFocus);                  //game_ctrl.LostFocus += new EventHandler(game_ctrl_LostFocus);
671                  game_ctrl.Font = GetFormFont();                  game_ctrl.Font = GetFormFont();
672                  game_ctrl.Dock = DockStyle.Top;                  game_ctrl.Dock = DockStyle.Top;
673                  game_ctrl.Width = this.Width - 10;                  game_ctrl.Width = this.Width - 10;
674                  game_ctrl.GameName = "You haven't favorited any games, select a game and then press CTRL+F to favorite it";                  game_ctrl.GameName = "You haven't favorited any games, select a game and then press CTRL+F to favorite it";
675                  rom_flow.Controls.Add(game_ctrl);                  rom_flow.Controls.Add(game_ctrl);
676              }              }
677              rom_flow.Controls[0].Select();              //rom_flow.Controls[0].Select();
678              t.Stop();              t.Stop();
679              gLog.Profiler.WriteLine("RomParser took: {0}s to parse roms", (int)t.Elapsed.TotalSeconds);              gLog.Profiler.WriteLine("RomParser took: {0}s to parse roms", (int)t.Elapsed.TotalSeconds);
680          }          }
# Line 716  namespace EmuXPortal Line 723  namespace EmuXPortal
723                      throw ex;                      throw ex;
724                  }                  }
725                  platform_ctrl.PlatformName = config.ToString();                  platform_ctrl.PlatformName = config.ToString();
726                  platform_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(platform_ctrl_PreviewKeyDown);                  //platform_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(platform_ctrl_PreviewKeyDown);
727                  platform_ctrl.GotFocus += new EventHandler(platform_ctrl_GotFocus);                  //platform_ctrl.GotFocus += new EventHandler(platform_ctrl_GotFocus);
728                  platform_ctrl.LostFocus += new EventHandler(platform_ctrl_LostFocus);                  //platform_ctrl.LostFocus += new EventHandler(platform_ctrl_LostFocus);
729                  if (platform_flow.InvokeRequired) { platform_flow.Invoke((MethodInvoker)delegate() { platform_flow.Controls.Add(platform_ctrl); }); }                  if (platform_flow.InvokeRequired) { platform_flow.Invoke((MethodInvoker)delegate() { platform_flow.Controls.Add(platform_ctrl); }); }
730                  else { platform_flow.Controls.Add(platform_ctrl); }                                    else { platform_flow.Controls.Add(platform_ctrl); }                  
731                  count++;                  count++;
# Line 736  namespace EmuXPortal Line 743  namespace EmuXPortal
743              if (platform_flow.Controls.Count == 0)              if (platform_flow.Controls.Count == 0)
744              {              {
745                  PlatformControl platform_ctrl = new PlatformControl();                  PlatformControl platform_ctrl = new PlatformControl();
746                  platform_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(platform_ctrl_PreviewKeyDown);                  //platform_ctrl.PreviewKeyDown += new PreviewKeyDownEventHandler(platform_ctrl_PreviewKeyDown);
747                  platform_ctrl.GotFocus += new EventHandler(platform_ctrl_GotFocus);                  //platform_ctrl.GotFocus += new EventHandler(platform_ctrl_GotFocus);
748                  platform_ctrl.LostFocus += new EventHandler(platform_ctrl_LostFocus);                  //platform_ctrl.LostFocus += new EventHandler(platform_ctrl_LostFocus);
749                  platform_ctrl.Font = GetFormFont();                  platform_ctrl.Font = GetFormFont();
750                  platform_ctrl.Dock = DockStyle.Top;                  platform_ctrl.Dock = DockStyle.Top;
751                  platform_ctrl.Width = this.Width - 10;                  platform_ctrl.Width = this.Width - 10;
752                  platform_ctrl.PlatformName = string.Format("You don't have any roms in your rompath: '{0}'",Config.RomPath);                  platform_ctrl.PlatformName = string.Format("You don't have any roms in your rompath: '{0}'",Config.RomPath);
753                  platform_flow.Controls.Add(platform_ctrl);                  platform_flow.Controls.Add(platform_ctrl);
754              }              }
755              platform_flow.Controls[0].Select();              //platform_flow.Controls[0].Select();
756              gLog.Profiler.WriteLine("PlatformParser took: {0}s to parse platforms", (int)t.Elapsed.TotalSeconds);              gLog.Profiler.WriteLine("PlatformParser took: {0}s to parse platforms", (int)t.Elapsed.TotalSeconds);
757    
758    

Legend:
Removed from v.248  
changed lines
  Added in v.249

  ViewVC Help
Powered by ViewVC 1.1.22