Example #1
0
 public void SetLocale(string locale)
 {
     LocaleManager.LoadLocale(SidebarWindow.sett.path, locale);
     SystemTray.SetLocale();
     foreach (Tile tile in TilesGrid.Children)
     {
         tile.ChangeLocale(locale);
     }
 }
Example #2
0
        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();
        }
Example #3
0
        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();
                }
            }
        }