diff options
Diffstat (limited to 'ShiftOS.Frontend/Desktop')
| -rw-r--r-- | ShiftOS.Frontend/Desktop/WindowManager.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ShiftOS.Frontend/Desktop/WindowManager.cs b/ShiftOS.Frontend/Desktop/WindowManager.cs index 23769bf..b130b03 100644 --- a/ShiftOS.Frontend/Desktop/WindowManager.cs +++ b/ShiftOS.Frontend/Desktop/WindowManager.cs @@ -75,9 +75,19 @@ namespace ShiftOS.Frontend.Desktop brdr.Text = title; } + public string GetTitle(IShiftOSWindow win) + { + var type = win.GetType(); + var attr = type.GetCustomAttributes(false).FirstOrDefault(x => x is DefaultTitleAttribute) as DefaultTitleAttribute; + if (attr != null) + return Localization.Parse(attr.Title); + return "ShiftOS Window"; + } + public override void SetupDialog(IShiftOSWindow win) { var wb = new WindowBorder(); + wb.Text = GetTitle(win); var ctl = win as GUI.Control; if (ctl.Width < 30) ctl.Width = 30; @@ -127,7 +137,9 @@ namespace ShiftOS.Frontend.Desktop } } + var wb = new WindowBorder(); + wb.Text = GetTitle(win); wb.Width = (win as GUI.Control).Width + LoadedSkin.LeftBorderWidth + LoadedSkin.RightBorderWidth; wb.Height = (win as GUI.Control).Height + LoadedSkin.TitlebarHeight + LoadedSkin.BottomBorderWidth; wb.ParentWindow = win; @@ -256,6 +268,10 @@ namespace ShiftOS.Frontend.Desktop protected override void OnLayout(GameTime gameTime) { + if (IsFocusedControl || ContainsFocusedControl) + { + UIManager.BringToFront(this); + } int titlebarheight = LoadedSkin.TitlebarHeight; int borderleft = LoadedSkin.LeftBorderWidth; int borderright = LoadedSkin.RightBorderWidth; |
