public void SetLocale(string locale) { LocaleManager.LoadLocale(SidebarWindow.sett.path, locale); SystemTray.SetLocale(); foreach (Tile tile in TilesGrid.Children) { tile.ChangeLocale(locale); } }
private void LongBar_SourceInitialized(object sender, EventArgs e) { Handle = new WindowInteropHelper(this).Handle; ReadSettings(); ThemesManager.LoadTheme(Sidebar.SidebarWindow.sett.path, sett.theme); object enableGlass = ThemesManager.GetThemeParameter(Sidebar.SidebarWindow.sett.path, sett.theme, "boolean", "EnableGlass"); if (enableGlass != null && !Convert.ToBoolean(enableGlass)) { sett.enableGlass = false; } object useSystemColor = ThemesManager.GetThemeParameter(Sidebar.SidebarWindow.sett.path, sett.theme, "boolean", "UseSystemGlassColor"); if (useSystemColor != null && Convert.ToBoolean(useSystemColor)) { Bg.Fill = new SolidColorBrush(DwmManager.ColorizationColor); DwmManager.ColorizationColorChanged += new EventHandler(SideBar_DwmColorChanged); } LocaleManager.LoadLocale(Sidebar.SidebarWindow.sett.path, sett.locale); this.Width = sett.width; SystemTray.AddIcon(this); // Force set sidebar window style to tool window, bypassing the restriction placed on AllowTransparency NativeMethods.SetWindowLong(Handle, GetWindowLongMessage.GWL_EXSTYLE, 128); SetSide(sett.side); this.MaxWidth = SystemParameters.PrimaryScreenWidth / 2; this.MinWidth = 31; DwmManager.ExcludeFromFlip3D(Handle); DwmManager.ExcludeFromPeek(Handle); SystemTray.SidebarVisibilityChanged += new SystemTray.SidebarVisibilityChangedEventHandler(SystemTray_SidebarvisibleChanged); GetTiles(); }
private void App_Startup(object sender, StartupEventArgs e) { Microsoft.Win32.SystemEvents.DisplaySettingsChanged += new EventHandler(SystemEvents_DisplaySettingsChanged); SystemTray.IsRunning = false; if (Utils.PriorProcess() != null) { SystemTray.IsRunning = true; } SidebarWindow.ReadSettings(); LocaleManager.LoadLocale(SidebarWindow.sett.path, SidebarWindow.sett.locale); if (SystemTray.IsRunning && e.Args.Length == 0) { MessageBox.Show((string)Application.Current.TryFindResource("AlreadyRunning"), "LongBar", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Warning); this.Shutdown(); } if (e.Args.Length > 0) { switch (e.Args[0]) { case @"/regext": try { RegistryKey key; key = Registry.ClassesRoot; key = key.CreateSubKey(".tile", RegistryKeyPermissionCheck.ReadWriteSubTree); key.SetValue(null, "LongBar.Tile", RegistryValueKind.String); key = Registry.ClassesRoot; key = key.CreateSubKey("LongBar.Tile", RegistryKeyPermissionCheck.ReadWriteSubTree); key.SetValue(null, "LongBar Tile", RegistryValueKind.String); key = key.CreateSubKey("DefaultIcon", RegistryKeyPermissionCheck.ReadWriteSubTree); key.SetValue(null, path + @"\Slate.dll,0", RegistryValueKind.ExpandString); key = Registry.ClassesRoot; key = key.OpenSubKey("LongBar.Tile", RegistryKeyPermissionCheck.ReadWriteSubTree); key = key.CreateSubKey("shell", RegistryKeyPermissionCheck.ReadWriteSubTree); key = key.CreateSubKey("Install", RegistryKeyPermissionCheck.ReadWriteSubTree); key = key.CreateSubKey("command", RegistryKeyPermissionCheck.ReadWriteSubTree); key.SetValue(null, path + @"\" + Assembly.GetExecutingAssembly().GetName().Name + @".exe %1", RegistryValueKind.String); key.Close(); } catch { } break; case @"/unregext": try { RegistryKey key; key = Registry.ClassesRoot.OpenSubKey(".tile", RegistryKeyPermissionCheck.ReadWriteSubTree); if (key != null) { Registry.ClassesRoot.DeleteSubKeyTree(".tile"); } key = Registry.ClassesRoot.OpenSubKey("LongBar.Tile", RegistryKeyPermissionCheck.ReadWriteSubTree); if (key != null) { Registry.ClassesRoot.DeleteSubKeyTree("LongBar.Tile"); } key.Close(); } catch { } break; case "/debug": if (e.Args.Length > 1 && e.Args[1].EndsWith(".dll") && File.Exists(e.Args[1])) { SidebarWindow.sett.debug = true; SidebarWindow.sett.tileToDebug = e.Args[1]; } break; default: foreach (string file in e.Args) { try { string longFile = Path.GetFullPath(file); if (File.Exists(longFile) && Path.GetExtension(longFile) == ".tile") { FileInfo info = new FileInfo(longFile); TaskDialogs.TileInstallDialog.ShowDialog(null, info.Name, longFile); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } break; } if (SystemTray.IsRunning) { this.Shutdown(); } } }