public LibraryWindow(SidebarWindow longbar) { InitializeComponent(); this.longbar = longbar; ItemsCount.Text = string.Format((string)Application.Current.TryFindResource("ElementsCount"), "0"); }
private void Window_LocationChanged(object sender, EventArgs e) { int index = SidebarWindow.GetElementIndexByYCoord(panel, this.Top); //берем индекс элемента по координате //Txt.Text = currentIndex.ToString() + "|" + index.ToString(); if (index != currentIndex) //и не равен текущему, то суем сплиттер перед элементом с этим индексом { if (((index == -1 && currentIndex == 0) || (index == 100500 && currentIndex == panel.Children.Count - 1) && panel.Children.Contains(splitter))) { return; } if (index > 0 && index < 100500 && panel.Children.IndexOf(splitter) == index - 1) { return; } if (panel.Children.Contains(splitter)) //если сплиттер уже на панели, { panel.Children.Remove(splitter); //убираем его нафиг } switch (index) { case -1: //если индекс равен -1 panel.Children.Insert(0, splitter); //втыкаем сплиттер в начало break; case 100500: //если индекс равен стопицот panel.Children.Add(splitter); //втыкаем сплиттер в конец break; default: //а иначе panel.Children.Insert(index, splitter); //втыкаем сплиттер перед индексом break; } splitter.Reload(); currentIndex = panel.Children.IndexOf(splitter); } }
public OptionsWindow(SidebarWindow wnd) { InitializeComponent(); SidebarWindow = wnd; SidebarHandle = new WindowInteropHelper(wnd).Handle; }
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(); } } }