diff --git a/BandObjectLib/Properties/AssemblyInfo.cs b/BandObjectLib/Properties/AssemblyInfo.cs index 63a0a26..746c757 100644 --- a/BandObjectLib/Properties/AssemblyInfo.cs +++ b/BandObjectLib/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ [assembly: AssemblyCopyright("Copyright (C) 2007-2021")] [assembly: AssemblyTrademark("indiff")] [assembly: AssemblyCulture("")] -[assembly: AssemblyFileVersion("1.5.5.0")] +[assembly: AssemblyFileVersion("1.5.5.2")] // // Version information for an assembly consists of the following four values: // @@ -42,7 +42,7 @@ // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.5.5.0")] +[assembly: AssemblyVersion("1.5.5.2")] // // In order to sign your assembly you must specify a key to use. Refer to the diff --git a/Installer/Installer.wxs b/Installer/Installer.wxs index ce23a0a..97aaf46 100644 --- a/Installer/Installer.wxs +++ b/Installer/Installer.wxs @@ -23,13 +23,13 @@ - - + + - + + + + + + + + + diff --git a/Installer/QTTabBar.ico b/Installer/QTTabBar.ico new file mode 100644 index 0000000..19edae9 Binary files /dev/null and b/Installer/QTTabBar.ico differ diff --git a/QTPluginLib/Properties/AssemblyInfo.cs b/QTPluginLib/Properties/AssemblyInfo.cs index 368fd6f..67d9e6e 100644 --- a/QTPluginLib/Properties/AssemblyInfo.cs +++ b/QTPluginLib/Properties/AssemblyInfo.cs @@ -29,7 +29,7 @@ [assembly: AssemblyCopyright("Copyright (C) 2007-2021")] [assembly: AssemblyTrademark("indiff")] [assembly: AssemblyCulture("")] -[assembly: AssemblyFileVersion("1.5.5.0")] +[assembly: AssemblyFileVersion("1.5.5.2")] // ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントには // 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、 @@ -48,4 +48,4 @@ // // すべての値を指定するか、下のように '*' を使ってリビジョンおよびビルド番号を // 既定値にすることができます: -[assembly: AssemblyVersion("1.5.5.0")] +[assembly: AssemblyVersion("1.5.5.2")] diff --git a/QTTabBar/Config.cs b/QTTabBar/Config.cs index 8d3d6a4..1f12898 100644 --- a/QTTabBar/Config.cs +++ b/QTTabBar/Config.cs @@ -663,6 +663,7 @@ public _Mouse() { {MouseChord.Ctrl | MouseChord.Middle, BindAction.TearOffCurrent} }; LinkActions = new Dictionary { + {MouseChord.None, BindAction.ItemsOpenInNewTabNoSel}, {MouseChord.Middle, BindAction.ItemOpenInNewTab}, {MouseChord.Ctrl | MouseChord.Middle, BindAction.ItemOpenInNewWindow} }; @@ -744,18 +745,25 @@ public class _Lang { public int BuiltInLangSelectedIndex { get; set; } public _Lang() { UseLangFile = false; - BuiltInLang = "English"; LangFile = ""; PluginLangFiles = new string[0]; // WorkingConfig.lang.BuiltInLangSelectedIndex; - // modify by qwop at http://q.cnblogs.com/q/14857/ + // modify by qwop at http://q.cnblogs.com/q/14857/ // en-US if (System.Globalization.CultureInfo.InstalledUICulture.Name.Equals("zh-CN")) { - BuiltInLangSelectedIndex = 1; - // Console.WriteLine(System.Globalization.CultureInfo.InstalledUICulture.NativeName); + // BuiltInLangSelectedIndex = 1; + // BuiltInLang = "简体中文"; + + BuiltInLangSelectedIndex = 2; + BuiltInLang = "German"; + } else if (System.Globalization.CultureInfo.InstalledUICulture.Name.Equals("de-DE")) + { + BuiltInLangSelectedIndex = 2; + BuiltInLang = "German"; } else { BuiltInLangSelectedIndex = 0; + BuiltInLang = "English"; } // BuiltInLangSelectedIndex = 0;// English version diff --git a/QTTabBar/OptionsDialog/Options12_Plugins.xaml.cs b/QTTabBar/OptionsDialog/Options12_Plugins.xaml.cs index 606c210..7491abe 100644 --- a/QTTabBar/OptionsDialog/Options12_Plugins.xaml.cs +++ b/QTTabBar/OptionsDialog/Options12_Plugins.xaml.cs @@ -1,190 +1,190 @@ -// This file is part of QTTabBar, a shell extension for Microsoft -// Windows Explorer. -// Copyright (C) 2007-2010 Quizo, Paul Accisano -// -// QTTabBar is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// QTTabBar is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with QTTabBar. If not, see . - -using System; -using System.IO; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Input; -using System.Windows.Interop; -using System.Windows.Media; -using OpenFileDialog = System.Windows.Forms.OpenFileDialog; -using Image = System.Drawing.Image; -namespace QTTabBarLib { - internal partial class Options12_Plugins : OptionsDialogTab { - private ObservableCollection CurrentPlugins; - - public Options12_Plugins() { - InitializeComponent(); - } - - public override void InitializeConfig() { - CurrentPlugins = new ObservableCollection(); - foreach(PluginAssembly assembly in PluginManager.PluginAssemblies) { - CreatePluginEntry(assembly, false); - } - lstPluginView.ItemsSource = CurrentPlugins; - } - - public override void ResetConfig() { - // Should we do anything here? - } +// This file is part of QTTabBar, a shell extension for Microsoft +// Windows Explorer. +// Copyright (C) 2007-2010 Quizo, Paul Accisano +// +// QTTabBar is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// QTTabBar is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with QTTabBar. If not, see . + +using System; +using System.IO; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Linq; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Interop; +using System.Windows.Media; +using OpenFileDialog = System.Windows.Forms.OpenFileDialog; +using Image = System.Drawing.Image; +namespace QTTabBarLib { + internal partial class Options12_Plugins : OptionsDialogTab { + private ObservableCollection CurrentPlugins; + + public Options12_Plugins() { + InitializeComponent(); + } + + public override void InitializeConfig() { + CurrentPlugins = new ObservableCollection(); + foreach(PluginAssembly assembly in PluginManager.PluginAssemblies) { + CreatePluginEntry(assembly, false); + } + lstPluginView.ItemsSource = CurrentPlugins; + } + + public override void ResetConfig() { + // Should we do anything here? + } /// /// 提交配置信息 - /// - public override void CommitConfig() { - HashSet paths = new HashSet(); - HashSet toDispose = new HashSet(); - - // Don't dispose the assemblies here. That will be done by the plugin manager - // when the plugins are unloaded. - for(int i = 0; i < CurrentPlugins.Count; ++i) { - if(CurrentPlugins[i].UninstallOnClose) { - CurrentPlugins[i].Enabled = false; - CurrentPlugins.RemoveAt(i--); - } - } - - List enabled = new List(); - foreach(PluginEntry entry in CurrentPlugins) { - paths.Add(entry.PluginAssembly.Path); - if(entry.DisableOnClose) { - entry.Enabled = false; - } - else if(entry.EnableOnClose) { - entry.Enabled = true; - } - else if(entry.InstallOnClose) { - entry.Enabled = true; - toDispose.Add(entry.PluginAssembly); - // Newly installed PluginAssemblies are loaded by the options dialog. - // They will also be loaded by the PluginManager, so we have to - // dispose of the ones we loaded here. - } - entry.EnableOnClose = entry.DisableOnClose = entry.InstallOnClose = false; - - if(entry.Enabled) enabled.Add(entry.PluginID); - } - WorkingConfig.plugin.Enabled = enabled.ToArray(); - foreach(PluginAssembly asm in toDispose) { - asm.Dispose(); - } - PluginManager.SavePluginAssemblyPaths(paths.ToList()); - - // Entries are invalid now, some assemblies may have been Disposed. - CurrentPlugins = new ObservableCollection(); - } - - private void btnPluginOptions_Click(object sender, RoutedEventArgs e) { - PluginEntry entry = (PluginEntry)((Button)sender).DataContext; - string pid = entry.PluginID; - // Unfortunately, we can't call Plugin.OnOption on plugins that are - // loaded in a non-static context. - InstanceManager.InvokeMain(tabbar => { - Plugin p; - if(!tabbar.pluginServer.TryGetPlugin(pid, out p) || p.Instance == null) return; - try { - p.Instance.OnOption(); - } - catch(Exception ex) { - PluginManager.HandlePluginException(ex, new WindowInteropHelper(Window.GetWindow(this)).Handle, - entry.Name, "Open plugin option."); - } - }); - } + /// + public override void CommitConfig() { + HashSet paths = new HashSet(); + HashSet toDispose = new HashSet(); + + // Don't dispose the assemblies here. That will be done by the plugin manager + // when the plugins are unloaded. + for(int i = 0; i < CurrentPlugins.Count; ++i) { + if(CurrentPlugins[i].UninstallOnClose) { + CurrentPlugins[i].Enabled = false; + CurrentPlugins.RemoveAt(i--); + } + } + + List enabled = new List(); + foreach(PluginEntry entry in CurrentPlugins) { + paths.Add(entry.PluginAssembly.Path); + if(entry.DisableOnClose) { + entry.Enabled = false; + } + else if(entry.EnableOnClose) { + entry.Enabled = true; + } + else if(entry.InstallOnClose) { + entry.Enabled = true; + toDispose.Add(entry.PluginAssembly); + // Newly installed PluginAssemblies are loaded by the options dialog. + // They will also be loaded by the PluginManager, so we have to + // dispose of the ones we loaded here. + } + entry.EnableOnClose = entry.DisableOnClose = entry.InstallOnClose = false; + + if(entry.Enabled) enabled.Add(entry.PluginID); + } + WorkingConfig.plugin.Enabled = enabled.ToArray(); + foreach(PluginAssembly asm in toDispose) { + asm.Dispose(); + } + PluginManager.SavePluginAssemblyPaths(paths.ToList()); + + // Entries are invalid now, some assemblies may have been Disposed. + CurrentPlugins = new ObservableCollection(); + } + + private void btnPluginOptions_Click(object sender, RoutedEventArgs e) { + PluginEntry entry = (PluginEntry)((Button)sender).DataContext; + string pid = entry.PluginID; + // Unfortunately, we can't call Plugin.OnOption on plugins that are + // loaded in a non-static context. + InstanceManager.InvokeMain(tabbar => { + Plugin p; + if(!tabbar.pluginServer.TryGetPlugin(pid, out p) || p.Instance == null) return; + try { + p.Instance.OnOption(); + } + catch(Exception ex) { + PluginManager.HandlePluginException(ex, new WindowInteropHelper(Window.GetWindow(this)).Handle, + entry.Name, "Open plugin option."); + } + }); + } /// /// 启用禁用插件 /// /// - /// - private void btnPluginEnableDisable_Click(object sender, RoutedEventArgs e) { - PluginEntry entry = (PluginEntry)((Button)sender).DataContext; - if(entry.DisableOnClose) { - entry.DisableOnClose = false; - } - else if(entry.EnableOnClose) { - entry.EnableOnClose = false; - } - else if(entry.Enabled) { - entry.DisableOnClose = true; - } - else { - entry.EnableOnClose = true; - } - } - + /// + private void btnPluginEnableDisable_Click(object sender, RoutedEventArgs e) { + PluginEntry entry = (PluginEntry)((Button)sender).DataContext; + if(entry.DisableOnClose) { + entry.DisableOnClose = false; + } + else if(entry.EnableOnClose) { + entry.EnableOnClose = false; + } + else if(entry.Enabled) { + entry.DisableOnClose = true; + } + else { + entry.EnableOnClose = true; + } + } + /// /// 删除插件 /// /// - /// - private void btnPluginRemove_Click(object sender, RoutedEventArgs e) { - PluginEntry entry = (PluginEntry)((Button)sender).DataContext; - PluginAssembly pluginAssembly = entry.PluginAssembly; - if(pluginAssembly.PluginInformations.Count > 1) { - string plugins = pluginAssembly.PluginInformations.Select(info => info.Name).StringJoin(", "); - if(MessageBox.Show( - QTUtility.TextResourcesDic["Options_Page12_Plugins"][8] + - Environment.NewLine + Environment.NewLine + plugins + Environment.NewLine + Environment.NewLine + - QTUtility.TextResourcesDic["Options_Page12_Plugins"][9], - QTUtility.TextResourcesDic["OptionsDialog"][3], - MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK) { - return; - } - } - for(int i = 0; i < CurrentPlugins.Count; i++) { - PluginEntry otherEntry = CurrentPlugins[i]; - if(otherEntry.PluginAssembly == entry.PluginAssembly) { - if(otherEntry.InstallOnClose) { - CurrentPlugins.RemoveAt(i); - --i; - } - else { - otherEntry.UninstallOnClose = true; - } - } - } - if(entry.InstallOnClose) { - entry.PluginAssembly.Dispose(); - } - } - - private void btnBrowsePlugin_Click(object sender, RoutedEventArgs e) { - using(OpenFileDialog ofd = new OpenFileDialog()) { - ofd.Filter = QTUtility.TextResourcesDic["FileFilters"][2] + "|*.dll"; - ofd.RestoreDirectory = true; - ofd.Multiselect = true; - - if(System.Windows.Forms.DialogResult.OK != ofd.ShowDialog()) return; - bool fFirst = true; - foreach(string path in ofd.FileNames) { - PluginAssembly pa = new PluginAssembly(path); - if(!pa.PluginInfosExist) continue; - CreatePluginEntry(pa, true); - if(!fFirst) continue; - fFirst = false; - lstPluginView.SelectedItem = CurrentPlugins[CurrentPlugins.Count - 1]; - lstPluginView.ScrollIntoView(lstPluginView.SelectedItem); - } - } + /// + private void btnPluginRemove_Click(object sender, RoutedEventArgs e) { + PluginEntry entry = (PluginEntry)((Button)sender).DataContext; + PluginAssembly pluginAssembly = entry.PluginAssembly; + if(pluginAssembly.PluginInformations.Count > 1) { + string plugins = pluginAssembly.PluginInformations.Select(info => info.Name).StringJoin(", "); + if(MessageBox.Show( + QTUtility.TextResourcesDic["Options_Page12_Plugins"][8] + + Environment.NewLine + Environment.NewLine + plugins + Environment.NewLine + Environment.NewLine + + QTUtility.TextResourcesDic["Options_Page12_Plugins"][9], + QTUtility.TextResourcesDic["OptionsDialog"][3], + MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK) { + return; + } + } + for(int i = 0; i < CurrentPlugins.Count; i++) { + PluginEntry otherEntry = CurrentPlugins[i]; + if(otherEntry.PluginAssembly == entry.PluginAssembly) { + if(otherEntry.InstallOnClose) { + CurrentPlugins.RemoveAt(i); + --i; + } + else { + otherEntry.UninstallOnClose = true; + } + } + } + if(entry.InstallOnClose) { + entry.PluginAssembly.Dispose(); + } + } + + private void btnBrowsePlugin_Click(object sender, RoutedEventArgs e) { + using(OpenFileDialog ofd = new OpenFileDialog()) { + ofd.Filter = QTUtility.TextResourcesDic["FileFilters"][2] + "|*.dll"; + ofd.RestoreDirectory = true; + ofd.Multiselect = true; + + if(System.Windows.Forms.DialogResult.OK != ofd.ShowDialog()) return; + bool fFirst = true; + foreach(string path in ofd.FileNames) { + PluginAssembly pa = new PluginAssembly(path); + if(!pa.PluginInfosExist) continue; + CreatePluginEntry(pa, true); + if(!fFirst) continue; + fFirst = false; + lstPluginView.SelectedItem = CurrentPlugins[CurrentPlugins.Count - 1]; + lstPluginView.ScrollIntoView(lstPluginView.SelectedItem); + } + } } /// @@ -215,140 +215,140 @@ private void btnDisablePlugin_Click(object sender, RoutedEventArgs e) entry.EnableOnClose = false; entry.DisableOnClose = true; } - } - - private void txtUndo_MouseUp(object sender, MouseButtonEventArgs e) { - PluginEntry entry = (PluginEntry)((TextBlock)sender).DataContext; - if(entry.UninstallOnClose) { - foreach(var other in CurrentPlugins) { - if(entry.PluginAssembly == other.PluginAssembly) { - other.UninstallOnClose = false; - } - } - } - else if(entry.InstallOnClose) { - entry.IsSelected = true; - btnPluginRemove_Click(sender, null); - } - else if(entry.DisableOnClose) { - entry.DisableOnClose = false; - } - else if(entry.EnableOnClose) { - entry.EnableOnClose = false; - } - } - - private void CreatePluginEntry(PluginAssembly pa, bool fAddedByUser) { - if(!pa.PluginInfosExist || CurrentPlugins.Any(pe => pe.Path == pa.Path)) { - return; - } - foreach(PluginInformation pi in pa.PluginInformations) { - if (null != pi && null != pi.Path) { - // Check the file exists by qwop ? - if (!File.Exists(pi.Path)) { - continue; - } - // Check the file exists by qwop ? - PluginEntry entry = new PluginEntry(this, pi, pa) { InstallOnClose = fAddedByUser }; - int i = 0; - while (i < CurrentPlugins.Count && string.Compare(CurrentPlugins[i].Title, entry.Title, true) <= 0) ++i; - CurrentPlugins.Insert(i, entry); - } - } - } - - #region ---------- Binding Classes ---------- - // INotifyPropertyChanged is implemented automatically by Notify Property Weaver! - #pragma warning disable 0067 // "The event 'PropertyChanged' is never used" - // ReSharper disable MemberCanBePrivate.Local - // ReSharper disable UnusedMember.Local - // ReSharper disable UnusedAutoPropertyAccessor.Local - - private class PluginEntry : INotifyPropertyChanged { - public event PropertyChangedEventHandler PropertyChanged; - private Options12_Plugins parent; - private PluginInformation PluginInfo; - public PluginAssembly PluginAssembly { get; private set; } - - public Image Icon { get { return PluginInfo.ImageLarge ?? Resources_Image.imgPlugin24; } } - public string Name { get { return PluginInfo.Name; } } - public string Title { get { - return Name + " " + PluginInfo.Version; - } } - public string Author { get { return PluginInfo.Author; } } - public string Desc { get { return PluginInfo.Description; } } - public bool IsSelected { get; set; } - public double IconOpacity { get { return Enabled ? 1.0 : 0.5; } } - public bool DisableOnClose { get; set; } - public bool EnableOnClose { get; set; } - public bool InstallOnClose { get; set; } - public bool UninstallOnClose { get; set; } - public bool Enabled { get { return PluginInfo.Enabled; } set { PluginInfo.Enabled = value; } } - public string PluginID { get { return PluginInfo.PluginID; } } - public string Path { get { return PluginInfo.Path; } } - public Visibility StatusVisibility { get { - return DisableOnClose || EnableOnClose || InstallOnClose || UninstallOnClose - ? Visibility.Visible - : Visibility.Collapsed; - }} - public int StatusTextIdx { get { - if(UninstallOnClose) return 4; - if(InstallOnClose) return 5; - if(EnableOnClose) return 6; - if(DisableOnClose) return 7; - return int.MaxValue; - }} - public Visibility MainBodyVisibility { get { - return UninstallOnClose ? Visibility.Collapsed : Visibility.Visible; - }} - public Color BackgroundColor { get { - if(StatusVisibility == Visibility.Visible) return Color.FromArgb(0x10, 0x60, 0xA0, 0xFF); - if(!Enabled) return Color.FromArgb(0x10, 0x00, 0x00, 0x00); - return Colors.Transparent; - }} - public Color StatusColor { get { - if(EnableOnClose || InstallOnClose) return Color.FromRgb(0x20, 0x80, 0x20); - if(DisableOnClose || UninstallOnClose) return Color.FromRgb(0x80, 0x80, 0x80); - return Colors.Transparent; - }} - public bool ShowEnableButton { get { - if(DisableOnClose) return true; - if(EnableOnClose) return false; - return !Enabled; - }} - public bool ShowDisabledTitle { get { return !(Enabled || InstallOnClose); } } - public bool ShowDisableButton { get { return !ShowEnableButton; } } - - private bool cachedHasOptions; - private bool optionsQueried; - - public bool HasOptions { - get { - if(!Enabled) return false; - if(optionsQueried) return cachedHasOptions; - Plugin p; - if(PluginManager.TryGetStaticPluginInstance(PluginID, out p)) { - try { - cachedHasOptions = p.Instance.HasOption; - optionsQueried = true; - return cachedHasOptions; - } - catch(Exception ex) { - PluginManager.HandlePluginException(ex, new WindowInteropHelper(Window.GetWindow(parent)).Handle, Name, - "Checking if the plugin has options."); - } - } - return false; - } - } - - public PluginEntry(Options12_Plugins parent, PluginInformation pluginInfo, PluginAssembly pluginAssembly) { - this.parent = parent; - PluginInfo = pluginInfo; - PluginAssembly = pluginAssembly; - } - } - - #endregion - } -} + } + + private void txtUndo_MouseUp(object sender, MouseButtonEventArgs e) { + PluginEntry entry = (PluginEntry)((TextBlock)sender).DataContext; + if(entry.UninstallOnClose) { + foreach(var other in CurrentPlugins) { + if(entry.PluginAssembly == other.PluginAssembly) { + other.UninstallOnClose = false; + } + } + } + else if(entry.InstallOnClose) { + entry.IsSelected = true; + btnPluginRemove_Click(sender, null); + } + else if(entry.DisableOnClose) { + entry.DisableOnClose = false; + } + else if(entry.EnableOnClose) { + entry.EnableOnClose = false; + } + } + + private void CreatePluginEntry(PluginAssembly pa, bool fAddedByUser) { + if(!pa.PluginInfosExist || CurrentPlugins.Any(pe => pe.Path == pa.Path)) { + return; + } + foreach(PluginInformation pi in pa.PluginInformations) { + if (null != pi && null != pi.Path) { + // Check the file exists by qwop ? + if (!File.Exists(pi.Path)) { + continue; + } + // Check the file exists by qwop ? + PluginEntry entry = new PluginEntry(this, pi, pa) { InstallOnClose = fAddedByUser }; + int i = 0; + while (i < CurrentPlugins.Count && string.Compare(CurrentPlugins[i].Title, entry.Title, true) <= 0) ++i; + CurrentPlugins.Insert(i, entry); + } + } + } + + #region ---------- Binding Classes ---------- + // INotifyPropertyChanged is implemented automatically by Notify Property Weaver! + #pragma warning disable 0067 // "The event 'PropertyChanged' is never used" + // ReSharper disable MemberCanBePrivate.Local + // ReSharper disable UnusedMember.Local + // ReSharper disable UnusedAutoPropertyAccessor.Local + + private class PluginEntry : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + private Options12_Plugins parent; + private PluginInformation PluginInfo; + public PluginAssembly PluginAssembly { get; private set; } + + public Image Icon { get { return PluginInfo.ImageLarge ?? Resources_Image.imgPlugin24; } } + public string Name { get { return PluginInfo.Name; } } + public string Title { get { + return Name + " " + PluginInfo.Version; + } } + public string Author { get { return PluginInfo.Author; } } + public string Desc { get { return PluginInfo.Description; } } + public bool IsSelected { get; set; } + public double IconOpacity { get { return Enabled ? 1.0 : 0.5; } } + public bool DisableOnClose { get; set; } + public bool EnableOnClose { get; set; } + public bool InstallOnClose { get; set; } + public bool UninstallOnClose { get; set; } + public bool Enabled { get { return PluginInfo.Enabled; } set { PluginInfo.Enabled = value; } } + public string PluginID { get { return PluginInfo.PluginID; } } + public string Path { get { return PluginInfo.Path; } } + public Visibility StatusVisibility { get { + return DisableOnClose || EnableOnClose || InstallOnClose || UninstallOnClose + ? Visibility.Visible + : Visibility.Collapsed; + }} + public int StatusTextIdx { get { + if(UninstallOnClose) return 4; + if(InstallOnClose) return 5; + if(EnableOnClose) return 6; + if(DisableOnClose) return 7; + return int.MaxValue; + }} + public Visibility MainBodyVisibility { get { + return UninstallOnClose ? Visibility.Collapsed : Visibility.Visible; + }} + public Color BackgroundColor { get { + if(StatusVisibility == Visibility.Visible) return Color.FromArgb(0x10, 0x60, 0xA0, 0xFF); + if(!Enabled) return Color.FromArgb(0x10, 0x00, 0x00, 0x00); + return Colors.Transparent; + }} + public Color StatusColor { get { + if(EnableOnClose || InstallOnClose) return Color.FromRgb(0x20, 0x80, 0x20); + if(DisableOnClose || UninstallOnClose) return Color.FromRgb(0x80, 0x80, 0x80); + return Colors.Transparent; + }} + public bool ShowEnableButton { get { + if(DisableOnClose) return true; + if(EnableOnClose) return false; + return !Enabled; + }} + public bool ShowDisabledTitle { get { return !(Enabled || InstallOnClose); } } + public bool ShowDisableButton { get { return !ShowEnableButton; } } + + private bool cachedHasOptions; + private bool optionsQueried; + + public bool HasOptions { + get { + if(!Enabled) return false; + if(optionsQueried) return cachedHasOptions; + Plugin p; + if(PluginManager.TryGetStaticPluginInstance(PluginID, out p)) { + try { + cachedHasOptions = p.Instance.HasOption; + optionsQueried = true; + return cachedHasOptions; + } + catch(Exception ex) { + PluginManager.HandlePluginException(ex, new WindowInteropHelper(Window.GetWindow(parent)).Handle, Name, + "Checking if the plugin has options."); + } + } + return false; + } + } + + public PluginEntry(Options12_Plugins parent, PluginInformation pluginInfo, PluginAssembly pluginAssembly) { + this.parent = parent; + PluginInfo = pluginInfo; + PluginAssembly = pluginAssembly; + } + } + + #endregion + } +} diff --git a/QTTabBar/OptionsDialog/Options13_Language.xaml b/QTTabBar/OptionsDialog/Options13_Language.xaml index 884d321..59de1c0 100644 --- a/QTTabBar/OptionsDialog/Options13_Language.xaml +++ b/QTTabBar/OptionsDialog/Options13_Language.xaml @@ -89,9 +89,10 @@ SelectedIndex="{Binding Path=BuiltInLangSelectedIndex}" Width="150"> - + - diff --git a/QTTabBar/Properties/AssemblyInfo.cs b/QTTabBar/Properties/AssemblyInfo.cs index 634f3ec..d219576 100644 --- a/QTTabBar/Properties/AssemblyInfo.cs +++ b/QTTabBar/Properties/AssemblyInfo.cs @@ -55,8 +55,8 @@ // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.5.5.0")] -[assembly: AssemblyFileVersion("1.5.5.0")] // edit this +[assembly: AssemblyVersion("1.5.5.2")] +[assembly: AssemblyFileVersion("1.5.5.2")] // edit this // // In order to sign your assembly you must specify a key to use. Refer to the // Microsoft .NET Framework documentation for more information on assembly signing. diff --git a/QTTabBar/QTTabBar.csproj b/QTTabBar/QTTabBar.csproj index c9bb190..88328a4 100644 --- a/QTTabBar/QTTabBar.csproj +++ b/QTTabBar/QTTabBar.csproj @@ -167,11 +167,17 @@ True Resources.resx + + True + True + Resources_String_de_DE.resx + True True Resource_String_zh_CN.resx + EditableHeader.xaml @@ -398,6 +404,10 @@ Resources_String.Designer.cs Designer + + PublicResXFileCodeGenerator + Resources_String_de_DE.Designer.cs + ResXFileCodeGenerator Resource_String_zh_CN.Designer.cs diff --git a/QTTabBar/QTTabBarClass.cs b/QTTabBar/QTTabBarClass.cs index b1e104b..64110e2 100644 --- a/QTTabBar/QTTabBarClass.cs +++ b/QTTabBar/QTTabBarClass.cs @@ -3498,7 +3498,15 @@ private void HideToolTipForDD() { } } + [System.Runtime.InteropServices.DllImport("user32.dll")] + private static extern bool SetProcessDPIAware(); + private void InitializeComponent() { + // DPI indiff + if (Environment.OSVersion.Version.Major >= 6 ) + SetProcessDPIAware(); + + components = new Container(); buttonNavHistoryMenu = new ToolStripDropDownButton(); tabControl1 = new QTabControl(); diff --git a/QTTabBar/QTUtility.cs b/QTTabBar/QTUtility.cs index 319d622..64af760 100644 --- a/QTTabBar/QTUtility.cs +++ b/QTTabBar/QTUtility.cs @@ -718,6 +718,23 @@ public static void ValidateMinMax(ref int value, int min, int max) { value = ValidateMinMax(value, min, max); } + // жǷΪģʽ Environment.OSVersion.Version.Major + public static bool InNightMode + { + get + { + if (Environment.OSVersion.Version.Major > 9) + { + using (RegistryKey rk = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize")) + { + if (rk != null) + return QTUtility2.GetValueSafe(rk, "AppsUseLightTheme", 1) == 0; + } + } + return false; + } + } + public static int ValidateMinMax(int value, int min, int max) { int a = Math.Min(min, max); int b = Math.Max(min, max); @@ -755,6 +772,7 @@ public static void ValidateTextResources(ref Dictionary dict) { case 0: keyValuePairs = Resources_String.ResourceManager.GetResourceStrings(); break; case 1: keyValuePairs = Resource_String_zh_CN.ResourceManager.GetResourceStrings(); break; + case 2: keyValuePairs = Resources_String_de_DE.ResourceManager.GetResourceStrings(); break; } // Ϊգ ȡĬϵӦ diff --git a/QTTabBar/QTUtility2.cs b/QTTabBar/QTUtility2.cs index 7c407cf..dd9f891 100644 --- a/QTTabBar/QTUtility2.cs +++ b/QTTabBar/QTUtility2.cs @@ -489,6 +489,13 @@ public static IntPtr ReadRegHandle(string valName, RegistryKey rk) { } } + public static T GetValueSafe(RegistryKey rk, string valName, T defaultVal) + { + object obj1 = rk.GetValue(valName, (object) defaultVal); + return obj1 != null && obj1 is T ? (T) obj1 : defaultVal; + } + + public static string SanitizePathString(string path) { if(path == null) { return null; @@ -550,6 +557,7 @@ internal static string GetStringClipboard() } return ""; } + // ַָͨ public static string StringJoin(this IEnumerable list, string separator) { StringBuilder sb = new StringBuilder(); bool first = true; @@ -560,7 +568,7 @@ public static string StringJoin(this IEnumerable list, string separator) { } return sb.ToString(); } - + // ַָͨ public static string StringJoin(this IEnumerable list, string separator) { StringBuilder sb = new StringBuilder(); bool first = true; @@ -689,5 +697,7 @@ public static void WriteRegHandle(string valName, RegistryKey rk, IntPtr hwnd) { rk.SetValue(valName, (long)hwnd, RegistryValueKind.QWord); } } + + } } diff --git a/QTTabBar/QTabControl.cs b/QTTabBar/QTabControl.cs index 9cba669..e81b9e4 100644 --- a/QTTabBar/QTabControl.cs +++ b/QTTabBar/QTabControl.cs @@ -121,14 +121,29 @@ public QTabControl() { sfTypoGraphic = StringFormat.GenericTypographic; sfTypoGraphic.FormatFlags |= StringFormatFlags.NoWrap; sfTypoGraphic.Trimming = StringTrimming.EllipsisCharacter; - colorSet = new Color[] { - Config.Skin.TabTextActiveColor, - Config.Skin.TabTextInactiveColor, - Config.Skin.TabTextHotColor, - Config.Skin.TabShadActiveColor, - Config.Skin.TabShadInactiveColor, - Config.Skin.TabShadHotColor - }; + if (QTUtility.InNightMode) + { + this.colorSet = new Color[] + { + ShellColors.NightModeTextColor, + ShellColors.NightModeDisabledColor, + Config.Skin.TabTextHotColor, + ShellColors.NightModeTextShadow, + Config.Skin.TabShadInactiveColor, + ShellColors.NightModeColor + }; + } + else { + colorSet = new Color[] + { + Config.Skin.TabTextActiveColor, + Config.Skin.TabTextInactiveColor, + Config.Skin.TabTextHotColor, + Config.Skin.TabShadActiveColor, + Config.Skin.TabShadInactiveColor, + Config.Skin.TabShadHotColor + }; + } brshActive = new SolidBrush(colorSet[0]); brshInactv = new SolidBrush(colorSet[1]); timerSuppressDoubleClick = new Timer(components); diff --git a/QTTabBar/Resource_String_zh_CN.Designer.cs b/QTTabBar/Resource_String_zh_CN.Designer.cs index 1235a1f..e0d77cd 100644 --- a/QTTabBar/Resource_String_zh_CN.Designer.cs +++ b/QTTabBar/Resource_String_zh_CN.Designer.cs @@ -19,7 +19,7 @@ namespace QTTabBarLib { // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resource_String_zh_CN { @@ -259,7 +259,7 @@ internal static string Options_Page12_Plugins { } /// - /// 查找类似 改变语言。;主体语言;使用内置的语言:;使用语言文件:;插件语言文件;语言文件编辑器;显示语言编辑器...;原;翻译;其原始值重置所有条目?;保存文件时发生错误。;简体中文 的本地化字符串。 + /// 查找类似 改变语言。;主体语言;使用内置的语言:;使用语言文件:;插件语言文件;语言文件编辑器;显示语言编辑器...;原;翻译;其原始值重置所有条目?;保存文件时发生错误。;简体中文;英文;德语 的本地化字符串。 /// internal static string Options_Page13_Language { get { diff --git a/QTTabBar/Resource_String_zh_CN.resx b/QTTabBar/Resource_String_zh_CN.resx index 1e1c737..fc189b4 100644 --- a/QTTabBar/Resource_String_zh_CN.resx +++ b/QTTabBar/Resource_String_zh_CN.resx @@ -187,7 +187,7 @@ 管理第三方插件。;安装插件;(禁用);{0};{0}已被删除。;将要安装这个插件,当你按确定或应用。;将启用这个插件,当你按确定或应用。;这个插件将被禁止,当你按确定或应用。;卸载这个插件也将解除安装以下插件:;继续吗?;一键启用;一键禁用 - 改变语言。;主体语言;使用内置的语言:;使用语言文件:;插件语言文件;语言文件编辑器;显示语言编辑器...;原;翻译;其原始值重置所有条目?;保存文件时发生错误。;简体中文 + 改变语言。;主体语言;使用内置的语言:;使用语言文件:;插件语言文件;语言文件编辑器;显示语言编辑器...;原;翻译;其原始值重置所有条目?;保存文件时发生错误。;简体中文;英文;德语 查看相关人员以及版本信息.;源代码 {0};主要开发人员:;其他开发人员:;图标和图形设计:;如果您发现QTTabBar有用,请考虑做一个小的捐赠。;汉化修改:;编译:{0} diff --git a/QTTabBar/Resources_String.Designer.cs b/QTTabBar/Resources_String.Designer.cs index 768bd21..0200541 100644 --- a/QTTabBar/Resources_String.Designer.cs +++ b/QTTabBar/Resources_String.Designer.cs @@ -19,7 +19,7 @@ namespace QTTabBarLib { // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class Resources_String { @@ -259,7 +259,7 @@ public static string Options_Page12_Plugins { } /// - /// 查找类似 Change the language.;Main language;Use built-in language:;Use language file:;Plugin language files;Language File Editor;Show Language Editor...;Original;Translated;Reset all entries to their original value?;Error saving file.;简体中文 的本地化字符串。 + /// 查找类似 Change the language.;Main language;Use built-in language:;Use language file:;Plugin language files;Language File Editor;Show Language Editor...;Original;Translated;Reset all entries to their original value?;Error saving file.;简体中文;English;German 的本地化字符串。 /// public static string Options_Page13_Language { get { diff --git a/QTTabBar/Resources_String.resx b/QTTabBar/Resources_String.resx index ad80774..f1d1a98 100644 --- a/QTTabBar/Resources_String.resx +++ b/QTTabBar/Resources_String.resx @@ -187,7 +187,7 @@ Manage third-party plugins.;Install a Plugin;(Disabled);by {0};{0} has been removed.;This plugin will be installed when you press OK or Apply.;This plugin will be enabled when you press OK or Apply.;This plugin will be disabled when you press OK or Apply.;Uninstalling this plugin will also uninstall the following plugins:;Proceed?;Enable;Disable - Change the language.;Main language;Use built-in language:;Use language file:;Plugin language files;Language File Editor;Show Language Editor...;Original;Translated;Reset all entries to their original value?;Error saving file.;简体中文 + Change the language.;Main language;Use built-in language:;Use language file:;Plugin language files;Language File Editor;Show Language Editor...;Original;Translated;Reset all entries to their original value?;Error saving file.;简体中文;English;German View credits and version information.;Original code by {0};Lead Developer:;Other Developers:;Icons and graphics:;If you find QTTabBar useful, please consider making a small donation.;汉化修改:;Build by: {0} diff --git a/QTTabBar/Resources_String_de_DE.Designer.cs b/QTTabBar/Resources_String_de_DE.Designer.cs new file mode 100644 index 0000000..c992584 --- /dev/null +++ b/QTTabBar/Resources_String_de_DE.Designer.cs @@ -0,0 +1,398 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace QTTabBarLib { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources_String_de_DE { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources_String_de_DE() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("QTTabBarLib.Resources_String_de_DE", typeof(Resources_String_de_DE).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 使用此强类型资源类,为所有资源查找 + /// 重写当前线程的 CurrentUICulture 属性。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 查找类似 Trennzeichen;Zurückgehen;Vorwärtsgehen;Gruppen;Kürzlich geschlossen;Anwendungen;Neues Fenster;Dies klonen;Sperren;Kopierwerkzeug;Oberste;Schließen;Alles außer dem aktuellen schließen;Fenster schließen;Links schließen;Rechts schließen;Eine Ebene höher;Neu laden;Suchen;Deckkraft;Suchfeld;Optionen 的本地化字符串。 + /// + public static string ButtonBar_BtnName { + get { + return ResourceManager.GetString("ButtonBar_BtnName", resourceCulture); + } + } + + /// + /// 查找类似 Pfad;Name;Aktueller Ordnerpfad;Aktueller Ordnername;MD5; Elemente;Pfade aller geöffneten Registerkarten 的本地化字符串。 + /// + public static string ButtonBar_Misc { + get { + return ResourceManager.GetString("ButtonBar_Misc", resourceCulture); + } + } + + /// + /// 查找类似 Liste;Details;Kacheln;Standard 的本地化字符串。 + /// + public static string Desktop { + get { + return ResourceManager.GetString("Desktop", resourceCulture); + } + } + + /// + /// 查找类似 OK;Abbrechen;&Übernehmen;&Standard;Zurücksetzen &Seite;&Alles Zurücksetzen;Zurücksetzen;Hinzufügen;Hinzufügen...;Entfernen;Optionen;Aktivieren;Deaktivieren;Rückgängig;Laden...;Speichern... 的本地化字符串。 + /// + public static string DialogButtons { + get { + return ResourceManager.GetString("DialogButtons", resourceCulture); + } + } + + /// + /// 查找类似 Kopieren nach:;Verschieben nach:;Verknüpfung erstellen in: 的本地化字符串。 + /// + public static string DragDropToolTip { + get { + return ResourceManager.GetString("DragDropToolTip", resourceCulture); + } + } + + /// + /// 查找类似 Operation fehlgeschlagen.\r\nBitte stellen Sie sicher, dass die Datei oder das Ziel der Verknüpfung existiert:\r\n\r\n{0};Fehler - QTTabBar;Warnung: Die QTTabBar konnte nicht automatisch aktiviert werden. Um sie manuell zu aktivieren, drücken Sie die Alt-Taste, lassen Sie sie los und wählen Sie QTTabBar aus dem Menü Ansicht/Symbolleisten.;Konnte nicht aktiviert werden;Fehler;QTTabBar-Hook-Bibliothek konnte nicht geladen werden.;QTTabBar-Hook-Bibliothek konnte nicht initialisiert werden.;Einige Funktionen s [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string ErrorDialogs { + get { + return ResourceManager.GetString("ErrorDialogs", resourceCulture); + } + } + + /// + /// 查找类似 Bilddateien;Sprachdateien;Plugin-Dateien 的本地化字符串。 + /// + public static string FileFilters { + get { + return ResourceManager.GetString("FileFilters", resourceCulture); + } + } + + /// + /// 查找类似 Pfad;Hash;Schließen;Löschen;Aktualisieren;Immer im Vordergrund;Ergebnis anzeigen;Löschen beim Schließen;Vollständiger Pfad;(Jetzt berechnen...) 的本地化字符串。 + /// + public static string FileHashComputer { + get { + return ResourceManager.GetString("FileHashComputer", resourceCulture); + } + } + + /// + /// 查找类似 Alle;Links;Oben;Rechts;Unten 的本地化字符串。 + /// + public static string MarginDropDown { + get { + return ResourceManager.GetString("MarginDropDown", resourceCulture); + } + } + + /// + /// 查找类似 Desktop Suche;Bilddatei ist ungültig.\r\n\r\nBitte geben Sie eine 432 x 40 px große Bilddatei an.;Suchergebnisse in;Verknüpfung;Wählen Sie Ihre Datei;Wählen Sie Ihren Ordner;Experimentell;Dummy 的本地化字符串。 + /// + public static string Misc_Strings { + get { + return ResourceManager.GetString("Misc_Strings", resourceCulture); + } + } + + /// + /// 查找类似 Ändern Sie das Verhalten von Explorer-Fenstern; Einzelfenstermodus; Erfassen neuer Explorer-Fenster als neue Registerkarten; Neue Explorer-Fenster nicht erfassen; Standardspeicherort für neue Fenster und Registerkarten; Sitzungsspeicherung; Starten Sie jedes Mal eine neue Sitzung; Wiederherstellen aller Registerkarten aus der vorherigen Sitzung; Wiederherstellen nur der gesperrten Registerkarten aus der vorherigen Sitzung; Wenn die Schließen-Schaltfläche angeklickt wird; Schließen Sie das Fenster; Schließen [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string Options_Page01_Window { + get { + return ResourceManager.GetString("Options_Page01_Window", resourceCulture); + } + } + + /// + /// 查找类似 Ändern Sie die Optionen für die Registerkarten. Neue Registerkarten öffnen:;Wenn die aktuelle Registerkarte geschlossen wird, wechseln Sie zu der Registerkarte: ;Sofort zu neuen Tabs wechseln;Vorhandene Tabs wiederverwenden;Mehrdeutige Tabs umbenennen;Beim Ziehen über einen Tab zu diesem wechseln;Menü Unterordner-Inhalt anzeigen;Tab-Symbole;Ordnersymbole auf Tabs anzeigen;Menü Unterordner-Inhalt anzeigen, wenn auf das Symbol geklickt wird;Laufwerksbuchstabe auf dem Symbol anzeigen;Schließen-Schaltfläche;Sch [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string Options_Page02_Tabs { + get { + return ResourceManager.GetString("Options_Page02_Tabs", resourceCulture); + } + } + + /// + /// 查找类似 Aktivieren oder Deaktivieren von Tweaks für die Listenansicht des Explorers. Tweaks, die mit beiden Listenansichten verwendet werden können; Anzeige von Spaltenüberschriften in allen Ansichtsmodi (Windows Vista/7); Verwendung der Standard-Dateisystemansicht für Bibliotheksordner (Windows 7); Abwählen der Dateierweiterung beim Umbenennen von Dateien (Windows XP); Auswahl mit F2 beim Umbenennen umschalten; Umdrehen beim Verschieben der Auswahl mit den Pfeiltasten; Rücktaste geht eine Ebene nach oben (Windows [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string Options_Page03_Tweaks { + get { + return ResourceManager.GetString("Options_Page03_Tweaks", resourceCulture); + } + } + + /// + /// 查找类似 Ändern Sie das Verhalten von Unterordner- und Vorschau-Tooltips;Unterordner-Inhalte;Unterordner-Inhalte aktivieren;Nur bei gedrückter Umschalttaste;Dateien anzeigen;Vorschau-Tooltips anzeigen, wenn Sie mit der Maus über Menüpunkte fahren;Vorschau-Tooltips;Vorschau-Tooltips aktivieren;Nur bei gedrückter Umschalttaste;Dateiinformationen unter Bildern anzeigen;Maximale Breite x Höhe:;Schriftart:;Textdateitypen;Bild- und Videodateitypen 的本地化字符串。 + /// + public static string Options_Page04_Tooltips { + get { + return ResourceManager.GetString("Options_Page04_Tooltips", resourceCulture); + } + } + + /// + /// 查找类似 Allgemeine Einstellungen für das Verhalten von QTTabBar;Taskleisten-Integration;Registerkartenvorschau in der Taskleiste anzeigen;Verlauf;Verlauf geschlossener Registerkarten behalten;Jetzt löschen;Verlauf geöffneter Dateien behalten;Netzwerk;Netzwerk-Timeout (geben Sie 0 für die Systemvorgabe ein):;Regelmäßig nach Updates suchen;Jetzt prüfen;Exportieren;Einstellungen exportieren...;Dateiverlauf löschen?;Registerkartenverlauf löschen? 的本地化字符串。 + /// + public static string Options_Page05_General { + get { + return ResourceManager.GetString("Options_Page05_General", resourceCulture); + } + } + + /// + /// 查找类似 Ändern Sie das Aussehen von Registerkarten oder der Registerkartenleiste. Registerkartenbild;Benutzerdefiniertes Registerkartenbild verwenden:;Größenränder:;Überlappungsbereich:;Inhaltsränder:;Transparente Bereiche testen;Registerkartengröße;Höhe:;Minimale Breite:;Maximale Breite:;Größenmodus:;Volle Breite;Gleiche Größe;Registerkartentext;Textfarben:;Schattenfarben:;Aktive Farbe;Inaktive Farbe;Mouseover-Farbe;Textschrift:;Ausrichtung:;Links;Zentriert;Symbolleistenhintergrund;Bild;Volltonfarbe;Bild für jede [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string Options_Page06_Appearance { + get { + return ResourceManager.GetString("Options_Page06_Appearance", resourceCulture); + } + } + + /// + /// 查找类似 Weisen Sie verschiedenen Mausaktionen Befehle zu;Um eine Mausbindung hinzuzufügen, führen Sie eine Mausaktion auf dem Plus-Symbol links neben dem entsprechenden Zieltyp aus. Um eine Bindung zu entfernen, markieren Sie sie in der Liste und drücken Sie die Entf-Taste.;Weitere Mausoptionen;Mausrad rollt das Fenster unter der Maus;Mausakkord;Aktion;Überall;Tabulator;Tab-Leisten-Hintergrund;Ordner-Link;Datei oder Ordner;Explorer-Hintergrund;Linksklick;Rechtsklick;Mittelklick;Doppelklick;X1-Klick;X2-Klick;Diese [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string Options_Page07_Mouse { + get { + return ResourceManager.GetString("Options_Page07_Mouse", resourceCulture); + } + } + + /// + /// 查找类似 Tastenkombinationen ändern;Wählen Sie eine Aktion aus der Liste aus und drücken Sie die Tastenkombination, die Sie damit verbinden möchten. Drücken Sie Escape, um die Bindung zu löschen.;Andere Tastaturoptionen;Tabulatorwechsel-Fenster anzeigen, wenn Strg + Tab gedrückt wird;Aktion;Tastendruck;Diese Taste ist bereits zugewiesen an:;Soll sie neu zugewiesen werden?;Tastenkonflikt 的本地化字符串。 + /// + public static string Options_Page08_Keys { + get { + return ResourceManager.GetString("Options_Page08_Keys", resourceCulture); + } + } + + /// + /// 查找类似 Erstellen und Verwalten von Registerkartengruppen;Um einer Gruppe ein Tastenkürzel zuzuweisen, wählen Sie sie aus und drücken Sie die entsprechende Tastengeste. Drücken Sie Escape, um die Bindung zu löschen.;Neue Gruppe erstellen;Ordner;Start;Tastenkürzel;Neue Gruppe;Gruppe "{0}" öffnen 的本地化字符串。 + /// + public static string Options_Page09_Groups { + get { + return ResourceManager.GetString("Options_Page09_Groups", resourceCulture); + } + } + + /// + /// 查找类似 Erstellen Sie Verknüpfungen zu häufig verwendeten Dateien oder Anwendungen.;Um einer Anwendung eine Verknüpfung zuzuweisen, wählen Sie sie aus und drücken Sie die entsprechende Tastenkombination. Drücken Sie Escape, um die Verknüpfung zu löschen.;Neuen Ordner erstellen;Pfad:;Argumente:;Arbeitsverzeichnis:;Anwendung;Verknüpfungstaste;Die folgenden Schlüsselwörter werden zur Laufzeit durch Pfadangaben in doppelten Anführungszeichen ersetzt.;Ausgewählte Dateien.;Ausgewählte Ordner.;Ausgewählte Dateien und Ord [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string Options_Page10_Apps { + get { + return ResourceManager.GetString("Options_Page10_Apps", resourceCulture); + } + } + + /// + /// 查找类似 Anpassen der Schaltflächenleiste;Schaltflächen;Optionen für die Schaltflächenleiste;Große Symbole;Beschriftungen auf Schaltflächen anzeigen;Reihenfolge der Dropdown-Schaltflächenmenüs festlegen;Größe des Suchfelds festlegen;Benutzerdefinierte Schaltflächen-Icons 的本地化字符串。 + /// + public static string Options_Page11_ButtonBar { + get { + return ResourceManager.GetString("Options_Page11_ButtonBar", resourceCulture); + } + } + + /// + /// 查找类似 Plugins von Drittanbietern verwalten.;Plugin installieren;(Deaktiviert);von {0};{0} wurde entfernt.;Dieses Plugin wird installiert, wenn Sie auf OK oder Übernehmen drücken.;Dieses Plugin wird aktiviert, wenn Sie auf OK oder Übernehmen drücken.;Dieses Plugin wird deaktiviert, wenn Sie auf OK oder Übernehmen drücken.;Die Deinstallation dieses Plugins deinstalliert auch die folgenden Plugins:;Fortfahren?;Aktivieren;Deaktivieren 的本地化字符串。 + /// + public static string Options_Page12_Plugins { + get { + return ResourceManager.GetString("Options_Page12_Plugins", resourceCulture); + } + } + + /// + /// 查找类似 Sprache ändern;Hauptsprache;Eingebaute Sprache verwenden:;Sprachdatei verwenden:;Plugin-Sprachdateien;Sprachdatei-Editor;Spracheditor anzeigen...;Original;Übersetzt;Alle Einträge auf ihren ursprünglichen Wert zurücksetzen?;Fehler beim Speichern der Datei.;简体中文;English;German 的本地化字符串。 + /// + public static string Options_Page13_Language { + get { + return ResourceManager.GetString("Options_Page13_Language", resourceCulture); + } + } + + /// + /// 查找类似 Credits und Versionsinformationen anzeigen:;Originalcode von {0};Hauptentwickler:;Andere Entwickler:;Symbole und Grafiken:;Wenn Sie QTTabBar nützlich finden, ziehen Sie bitte eine kleine Spende in Betracht.;汉化修改:;Build by: {0} 的本地化字符串。 + /// + public static string Options_Page14_About { + get { + return ResourceManager.GetString("Options_Page14_About", resourceCulture); + } + } + + /// + /// 查找类似 QTTabBar Einstellungen;Alle Einstellungen auf dieser Seite auf ihre Standardwerte zurücksetzen?;Alle Einstellungen auf ihre Standardwerte zurücksetzen? Dies wirkt sich nicht auf Gruppen, Anwendungen oder Plugins aus.;Bestätigung 的本地化字符串。 + /// + public static string OptionsDialog { + get { + return ResourceManager.GetString("OptionsDialog", resourceCulture); + } + } + + /// + /// 查找类似 https://github.com/indiff/qttabbar/blob/master/QTTabBar/Resources/wechat_pay.jpg 的本地化字符串。 + /// + public static string PayPalURL { + get { + return ResourceManager.GetString("PayPalURL", resourceCulture); + } + } + + /// + /// 查找类似 Zurück;Vorwärts;Zurück zum Anfang;Vorwärts zum Ende;Nächste Registerkarte auswählen;Vorherige Registerkarte auswählen;Erste Registerkarte auswählen;Letzte Registerkarte auswählen;Zur zuletzt aktivierten Registerkarte wechseln;Neue Registerkarte öffnen;Neues Fenster öffnen;Registerkarten aus anderen Fenstern zusammenführen;Aktuelle Registerkarte schließen;Alle außer der aktuellen schließen;Links schließen;Rechts schließen;Fenster schließen;Schließen rückgängig machen;Aktuelle Registerkarte klonen;Aktuellen O [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string ShortcutKeys_ActionNames { + get { + return ResourceManager.GetString("ShortcutKeys_ActionNames", resourceCulture); + } + } + + /// + /// 查找类似 QTTabBar;{0} (Plugin) 的本地化字符串。 + /// + public static string ShortcutKeys_Groups { + get { + return ResourceManager.GetString("ShortcutKeys_Groups", resourceCulture); + } + } + + /// + /// 查找类似 https://github.com/indiff/qttabbar 的本地化字符串。 + /// + public static string SiteURL { + get { + return ResourceManager.GetString("SiteURL", resourceCulture); + } + } + + /// + /// 查找类似 Schließen;Rechts schließen;Links schließen;Alles außer diesem schließen;Zu Gruppe hinzufügen;Neue Gruppe erstellen;Sperren;Dies klonen;Neues Fenster;Pfad kopieren;Eigenschaften;Tab-Historie;Gruppen;Geschlossen rückgängig machen;Zuletzt aktiviert;Kürzlich geöffnete Dateien;Ordner durchsuchen;Alles außer dem aktuellen schließen;Fenster schließen;Optionen;Entsperren;Zum Anwendungsmenü hinzufügen : ;Einträge;Abbrechen;Entwicklungszweig;Diesen Eintrag aus dem Menü entfernen;O&pen, der den Ordner enthält;Tab-Labe [字符串的其余部分被截断]"; 的本地化字符串。 + /// + public static string TabBar_Menu { + get { + return ResourceManager.GetString("TabBar_Menu", resourceCulture); + } + } + + /// + /// 查找类似 QTTabBar konnte nicht geöffnet werden + /// + /// "{0}". 的本地化字符串。 + /// + public static string TabBar_Message { + get { + return ResourceManager.GetString("TabBar_Message", resourceCulture); + } + } + + /// + /// 查找类似 Neue Gruppe erstellen;Gruppenname:;Alle Registerkarten hinzufügen 的本地化字符串。 + /// + public static string TabBar_NewGroup { + get { + return ResourceManager.GetString("TabBar_NewGroup", resourceCulture); + } + } + + /// + /// 查找类似 Fenster;Registerkarten;Tweaks;Tooltips;Allgemein;Aussehen;Maus;Tasten;Gruppen;Anwendungen;Tastenleiste;Plugins;Sprache;Über 的本地化字符串。 + /// + public static string TabBar_Option_Genre { + get { + return ResourceManager.GetString("TabBar_Option_Genre", resourceCulture); + } + } + + /// + /// 查找类似 Taskleiste;Desktop;Elemente sperren;Titelhintergrund zeichnen;Menü mit einem Klick;Tastenkombinationen für Anwendungen aktivieren 的本地化字符串。 + /// + public static string TaskBar_Menu { + get { + return ResourceManager.GetString("TaskBar_Menu", resourceCulture); + } + } + + /// + /// 查找类似 Gruppen;Geschlossen rückgängig machen;Anwendungen;Zuletzt geöffnete Dateien 的本地化字符串。 + /// + public static string TaskBar_Titles { + get { + return ResourceManager.GetString("TaskBar_Titles", resourceCulture); + } + } + + /// + /// 查找类似 1 Fenster;{0} Fenster 的本地化字符串。 + /// + public static string TrayIcon { + get { + return ResourceManager.GetString("TrayIcon", resourceCulture); + } + } + + /// + /// 查找类似 Eine neue Version von QTTabBar wurde veröffentlicht:;Drücken Sie OK, um zur Website zu gelangen.;Ihre Version von QTTabBar ist auf dem neuesten Stand.;Neue Entwicklungsversion gefunden:;Versionsdatei nicht gefunden (404).;Unbekannter Netzwerkfehler.;Server nicht gefunden.;Server hat falsche Zeichenfolgen zurückgegeben. 的本地化字符串。 + /// + public static string UpdateCheck { + get { + return ResourceManager.GetString("UpdateCheck", resourceCulture); + } + } + } +} diff --git a/QTTabBar/Resources_String_de_DE.resx b/QTTabBar/Resources_String_de_DE.resx index 783161c..cceff4d 100644 --- a/QTTabBar/Resources_String_de_DE.resx +++ b/QTTabBar/Resources_String_de_DE.resx @@ -1,233 +1,233 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Trennzeichen;Zurückgehen;Vorwärtsgehen;Gruppen;Kürzlich geschlossen;Anwendungen;Neues Fenster;Dies klonen;Sperren;Kopierwerkzeug;Oberste;Schließen;Alles außer dem aktuellen schließen;Fenster schließen;Links schließen;Rechts schließen;Eine Ebene höher;Neu laden;Suchen;Deckkraft;Suchfeld;Optionen - - - Pfad;Name;Aktueller Ordnerpfad;Aktueller Ordnername;MD5; Elemente;Pfade aller geöffneten Registerkarten - - - Liste;Details;Kacheln;Standard - - - OK;Abbrechen;&Übernehmen;&Standard;Zurücksetzen &Seite;&Alles Zurücksetzen;Zurücksetzen;Hinzufügen;Hinzufügen...;Entfernen;Optionen;Aktivieren;Deaktivieren;Rückgängig;Laden...;Speichern... - - - Kopieren nach:;Verschieben nach:;Verknüpfung erstellen in: - - - Operation fehlgeschlagen.\r\nBitte stellen Sie sicher, dass die Datei oder das Ziel der Verknüpfung existiert:\r\n\r\n{0};Fehler - QTTabBar;Warnung: Die QTTabBar konnte nicht automatisch aktiviert werden. Um sie manuell zu aktivieren, drücken Sie die Alt-Taste, lassen Sie sie los und wählen Sie QTTabBar aus dem Menü Ansicht/Symbolleisten.;Konnte nicht aktiviert werden;Fehler;QTTabBar-Hook-Bibliothek konnte nicht geladen werden.;QTTabBar-Hook-Bibliothek konnte nicht initialisiert werden.;Einige Funktionen sind möglicherweise nicht funktionsfähig. Um dies zu beheben, müssen Sie möglicherweise die Anwendung neu installieren.;Hooking des Desktops fehlgeschlagen. Bitte aktivieren Sie das QT Tab Desktop-Tool erneut.;Der Vorgang ist fehlgeschlagen.\r\nBitte stellen Sie sicher, dass der Ordner existiert oder dass Sie die Berechtigung haben, darauf zuzugreifen:\r\n\r\n\t{0} - - - Bilddateien;Sprachdateien;Plugin-Dateien - - - Pfad;Hash;Schließen;Löschen;Aktualisieren;Immer im Vordergrund;Ergebnis anzeigen;Löschen beim Schließen;Vollständiger Pfad;(Jetzt berechnen...) - - - Alle;Links;Oben;Rechts;Unten - - - Desktop Suche;Bilddatei ist ungültig.\r\n\r\nBitte geben Sie eine 432 x 40 px große Bilddatei an.;Suchergebnisse in;Verknüpfung;Wählen Sie Ihre Datei;Wählen Sie Ihren Ordner;Experimentell;Dummy - - - QTTabBar Einstellungen;Alle Einstellungen auf dieser Seite auf ihre Standardwerte zurücksetzen?;Alle Einstellungen auf ihre Standardwerte zurücksetzen? Dies wirkt sich nicht auf Gruppen, Anwendungen oder Plugins aus.;Bestätigung - - - Ändern Sie das Verhalten von Explorer-Fenstern; Einzelfenstermodus; Erfassen neuer Explorer-Fenster als neue Registerkarten; Neue Explorer-Fenster nicht erfassen; Standardspeicherort für neue Fenster und Registerkarten; Sitzungsspeicherung; Starten Sie jedes Mal eine neue Sitzung; Wiederherstellen aller Registerkarten aus der vorherigen Sitzung; Wiederherstellen nur der gesperrten Registerkarten aus der vorherigen Sitzung; Wenn die Schließen-Schaltfläche angeklickt wird; Schließen Sie das Fenster; Schließen Sie die aktuelle Registerkarte; Schließen Sie alle nicht gesperrten Registerkarten; Senden Sie das Fenster in den Systemtray; Schließen; Minimieren; Blaue Plus-Schaltfläche - - - Ändern Sie die Optionen für die Registerkarten. Neue Registerkarten öffnen:;Wenn die aktuelle Registerkarte geschlossen wird, wechseln Sie zu der Registerkarte: ;Sofort zu neuen Tabs wechseln;Vorhandene Tabs wiederverwenden;Mehrdeutige Tabs umbenennen;Beim Ziehen über einen Tab zu diesem wechseln;Menü Unterordner-Inhalt anzeigen;Tab-Symbole;Ordnersymbole auf Tabs anzeigen;Menü Unterordner-Inhalt anzeigen, wenn auf das Symbol geklickt wird;Laufwerksbuchstabe auf dem Symbol anzeigen;Schließen-Schaltfläche;Schließen-Schaltfläche auf Tabs anzeigen;Nur bei gedrückter Alt-Taste;Nur bei Mausbewegung; Registerkartenleiste;Navigationsschaltflächen auf der Registerkartenleiste anzeigen;Links;Rechts;Mehrere Reihen von Registerkarten zulassen;Die Reihe mit der aktiven Registerkarte immer unten anordnen;Links von der aktuellen Registerkarte;Rechts von der aktuellen Registerkarte;Ganz links;Ganz rechts;Registerkarte nach links;Registerkarte nach rechts;Ganz links;Ganz rechts;Zuletzt aktivierte Registerkarte;Verhalten - - - Aktivieren oder Deaktivieren von Tweaks für die Listenansicht des Explorers. Tweaks, die mit beiden Listenansichten verwendet werden können; Anzeige von Spaltenüberschriften in allen Ansichtsmodi (Windows Vista/7); Verwendung der Standard-Dateisystemansicht für Bibliotheksordner (Windows 7); Abwählen der Dateierweiterung beim Umbenennen von Dateien (Windows XP); Auswahl mit F2 beim Umbenennen umschalten; Umdrehen beim Verschieben der Auswahl mit den Pfeiltasten; Rücktaste geht eine Ebene nach oben (Windows Vista/7);Scrollen mit Mausrad bei gedrückter Umschalttaste scrollt horizontal;Tweaks, die nur mit der älteren Listenansicht verwendet werden können;Aktivieren der älteren Listenansicht-Steuerung (Windows 7);Vollständige Zeilenauswahl in der Detailansicht;Gitterlinien in der Detailansicht anzeigen;Alternative Zeilenfarben in der Detailansicht;Vordergrundfarbe: ;Hintergrundfarbe: - - - Ändern Sie das Verhalten von Unterordner- und Vorschau-Tooltips;Unterordner-Inhalte;Unterordner-Inhalte aktivieren;Nur bei gedrückter Umschalttaste;Dateien anzeigen;Vorschau-Tooltips anzeigen, wenn Sie mit der Maus über Menüpunkte fahren;Vorschau-Tooltips;Vorschau-Tooltips aktivieren;Nur bei gedrückter Umschalttaste;Dateiinformationen unter Bildern anzeigen;Maximale Breite x Höhe:;Schriftart:;Textdateitypen;Bild- und Videodateitypen - - - Allgemeine Einstellungen für das Verhalten von QTTabBar;Taskleisten-Integration;Registerkartenvorschau in der Taskleiste anzeigen;Verlauf;Verlauf geschlossener Registerkarten behalten;Jetzt löschen;Verlauf geöffneter Dateien behalten;Netzwerk;Netzwerk-Timeout (geben Sie 0 für die Systemvorgabe ein):;Regelmäßig nach Updates suchen;Jetzt prüfen;Exportieren;Einstellungen exportieren...;Dateiverlauf löschen?;Registerkartenverlauf löschen? - - - Ändern Sie das Aussehen von Registerkarten oder der Registerkartenleiste. Registerkartenbild;Benutzerdefiniertes Registerkartenbild verwenden:;Größenränder:;Überlappungsbereich:;Inhaltsränder:;Transparente Bereiche testen;Registerkartengröße;Höhe:;Minimale Breite:;Maximale Breite:;Größenmodus:;Volle Breite;Gleiche Größe;Registerkartentext;Textfarben:;Schattenfarben:;Aktive Farbe;Inaktive Farbe;Mouseover-Farbe;Textschrift:;Ausrichtung:;Links;Zentriert;Symbolleistenhintergrund;Bild;Volltonfarbe;Bild für jede Leiste einzeln;Dehnungsmodus:;Größenränder:;Skin-Datei;Skin importieren. ..;Skin exportieren...;Strecken;Echte Größe;Kacheln - - - Weisen Sie verschiedenen Mausaktionen Befehle zu;Um eine Mausbindung hinzuzufügen, führen Sie eine Mausaktion auf dem Plus-Symbol links neben dem entsprechenden Zieltyp aus. Um eine Bindung zu entfernen, markieren Sie sie in der Liste und drücken Sie die Entf-Taste.;Weitere Mausoptionen;Mausrad rollt das Fenster unter der Maus;Mausakkord;Aktion;Überall;Tabulator;Tab-Leisten-Hintergrund;Ordner-Link;Datei oder Ordner;Explorer-Hintergrund;Linksklick;Rechtsklick;Mittelklick;Doppelklick;X1-Klick;X2-Klick;Diese Maustaste kann für dieses Ziel nicht verwendet werden.;Die gültigen Maustasten für dieses Ziel sind:;Ungültige Taste - - - Tastenkombinationen ändern;Wählen Sie eine Aktion aus der Liste aus und drücken Sie die Tastenkombination, die Sie damit verbinden möchten. Drücken Sie Escape, um die Bindung zu löschen.;Andere Tastaturoptionen;Tabulatorwechsel-Fenster anzeigen, wenn Strg + Tab gedrückt wird;Aktion;Tastendruck;Diese Taste ist bereits zugewiesen an:;Soll sie neu zugewiesen werden?;Tastenkonflikt - - - Erstellen und Verwalten von Registerkartengruppen;Um einer Gruppe ein Tastenkürzel zuzuweisen, wählen Sie sie aus und drücken Sie die entsprechende Tastengeste. Drücken Sie Escape, um die Bindung zu löschen.;Neue Gruppe erstellen;Ordner;Start;Tastenkürzel;Neue Gruppe;Gruppe "{0}" öffnen - - - Erstellen Sie Verknüpfungen zu häufig verwendeten Dateien oder Anwendungen.;Um einer Anwendung eine Verknüpfung zuzuweisen, wählen Sie sie aus und drücken Sie die entsprechende Tastenkombination. Drücken Sie Escape, um die Verknüpfung zu löschen.;Neuen Ordner erstellen;Pfad:;Argumente:;Arbeitsverzeichnis:;Anwendung;Verknüpfungstaste;Die folgenden Schlüsselwörter werden zur Laufzeit durch Pfadangaben in doppelten Anführungszeichen ersetzt.;Ausgewählte Dateien.;Ausgewählte Ordner.;Ausgewählte Dateien und Ordner.;Aktueller Ordner.;Aktueller Ordner, wenn keine Auswahl, sonst ausgewählter Ordner.;Neuer Ordner;Diesen Ordner und seinen Inhalt entfernen?;Anwendung "{0}" starten - - - Anpassen der Schaltflächenleiste;Schaltflächen;Optionen für die Schaltflächenleiste;Große Symbole;Beschriftungen auf Schaltflächen anzeigen;Reihenfolge der Dropdown-Schaltflächenmenüs festlegen;Größe des Suchfelds festlegen;Benutzerdefinierte Schaltflächen-Icons - - - Plugins von Drittanbietern verwalten.;Plugin installieren;(Deaktiviert);von {0};{0} wurde entfernt.;Dieses Plugin wird installiert, wenn Sie auf OK oder Übernehmen drücken.;Dieses Plugin wird aktiviert, wenn Sie auf OK oder Übernehmen drücken.;Dieses Plugin wird deaktiviert, wenn Sie auf OK oder Übernehmen drücken.;Die Deinstallation dieses Plugins deinstalliert auch die folgenden Plugins:;Fortfahren?;Aktivieren;Deaktivieren - - - Sprache ändern;Hauptsprache;Eingebaute Sprache verwenden:;Sprachdatei verwenden:;Plugin-Sprachdateien;Sprachdatei-Editor;Spracheditor anzeigen...;Original;Übersetzt;Alle Einträge auf ihren ursprünglichen Wert zurücksetzen?;Fehler beim Speichern der Datei.;简体中文 - - - Credits und Versionsinformationen anzeigen:;Originalcode von {0};Hauptentwickler:;Andere Entwickler:;Symbole und Grafiken:;Wenn Sie QTTabBar nützlich finden, ziehen Sie bitte eine kleine Spende in Betracht.;汉化修改:;Build by: {0} - - - https://github.com/indiff/qttabbar/blob/master/QTTabBar/Resources/wechat_pay.jpg - - - Zurück;Vorwärts;Zurück zum Anfang;Vorwärts zum Ende;Nächste Registerkarte auswählen;Vorherige Registerkarte auswählen;Erste Registerkarte auswählen;Letzte Registerkarte auswählen;Zur zuletzt aktivierten Registerkarte wechseln;Neue Registerkarte öffnen;Neues Fenster öffnen;Registerkarten aus anderen Fenstern zusammenführen;Aktuelle Registerkarte schließen;Alle außer der aktuellen schließen;Links schließen;Rechts schließen;Fenster schließen;Schließen rückgängig machen;Aktuelle Registerkarte klonen;Aktuellen Ordner in neuem Fenster öffnen;Aktuelle sperren / entsperren; Alle sperren / entsperren;Ordner durchsuchen;Neue Gruppe erstellen;Optionsdialog öffnen;Menü der Symbolleiste anzeigen;Menü der aktuellen Registerkarte anzeigen;Menü der Gruppe anzeigen (Buttonleiste);Menü des letzten Ordners anzeigen (Buttonleiste);Menü der Benutzeranwendung anzeigen (Buttonleiste);Menü der letzten Dateien anzeigen (Buttonleiste);Neue leere Datei erstellen;Neuen Ordner erstellen;Pfad der ausgewählten Dateien kopieren;Name der ausgewählten Dateien kopieren;Pfad des aktuellen Ordners kopieren; Aktuellen Ordnernamen kopieren;MD5 der ausgewählten Dateien prüfen;Fenster ganz nach oben bringen;Transparenz +;Transparenz -;Dateiliste fokussieren;Suchleiste (Explorer) fokussieren;Suchfeld (Buttonleiste) fokussieren;Unterordner-Inhalt-Menü für ausgewählten Ordner anzeigen;Fenster an Taskleiste senden;Tab-Leiste fokussieren;Tabs nach Namen sortieren;Tabs nach Pfad sortieren;Tabs nach letzter Aktivierung sortieren;Nichts;Eine Ebene höher;Aktualisieren;Einfügen;Maximieren; Minimieren;In neuer Registerkarte öffnen;In neuer Registerkarte ohne Aktivierung öffnen;In neuem Fenster öffnen;Ausschneiden;Kopieren;Löschen;Eigenschaften;Pfad kopieren;Name kopieren;Prüfsumme anzeigen;Registerkarte schließen; Registerkarte links schließen;Registerkarte rechts schließen;Eine Ebene höher;Sperren;Kontextmenü anzeigen;In neuem Fenster öffnen;Klonen;Pfad kopieren;Eigenschaften;Inhalt-Menü für Unterverzeichnisse anzeigen;Alles außer diesem schließen;CMD öffnen;Ausgewählte Ordner in neuer Registerkarte ohne Aktivierung öffnen - - - QTTabBar;{0} (Plugin) - - - https://github.com/indiff/qttabbar - - - Schließen;Rechts schließen;Links schließen;Alles außer diesem schließen;Zu Gruppe hinzufügen;Neue Gruppe erstellen;Sperren;Dies klonen;Neues Fenster;Pfad kopieren;Eigenschaften;Tab-Historie;Gruppen;Geschlossen rückgängig machen;Zuletzt aktiviert;Kürzlich geöffnete Dateien;Ordner durchsuchen;Alles außer dem aktuellen schließen;Fenster schließen;Optionen;Entsperren;Zum Anwendungsmenü hinzufügen : ;Einträge;Abbrechen;Entwicklungszweig;Diesen Eintrag aus dem Menü entfernen;O&pen, der den Ordner enthält;Tab-Label;Tab-Reihenfolge;Name;Pfad;Aktiv;Symbolleisten sperren;Tabs anderer Fenster zusammenführen;Invertieren;CMD öffnen - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Trennzeichen;Zurückgehen;Vorwärtsgehen;Gruppen;Kürzlich geschlossen;Anwendungen;Neues Fenster;Dies klonen;Sperren;Kopierwerkzeug;Oberste;Schließen;Alles außer dem aktuellen schließen;Fenster schließen;Links schließen;Rechts schließen;Eine Ebene höher;Neu laden;Suchen;Deckkraft;Suchfeld;Optionen + + + Pfad;Name;Aktueller Ordnerpfad;Aktueller Ordnername;MD5; Elemente;Pfade aller geöffneten Registerkarten + + + Liste;Details;Kacheln;Standard + + + OK;Abbrechen;&Übernehmen;&Standard;Zurücksetzen &Seite;&Alles Zurücksetzen;Zurücksetzen;Hinzufügen;Hinzufügen...;Entfernen;Optionen;Aktivieren;Deaktivieren;Rückgängig;Laden...;Speichern... + + + Kopieren nach:;Verschieben nach:;Verknüpfung erstellen in: + + + Operation fehlgeschlagen.\r\nBitte stellen Sie sicher, dass die Datei oder das Ziel der Verknüpfung existiert:\r\n\r\n{0};Fehler - QTTabBar;Warnung: Die QTTabBar konnte nicht automatisch aktiviert werden. Um sie manuell zu aktivieren, drücken Sie die Alt-Taste, lassen Sie sie los und wählen Sie QTTabBar aus dem Menü Ansicht/Symbolleisten.;Konnte nicht aktiviert werden;Fehler;QTTabBar-Hook-Bibliothek konnte nicht geladen werden.;QTTabBar-Hook-Bibliothek konnte nicht initialisiert werden.;Einige Funktionen sind möglicherweise nicht funktionsfähig. Um dies zu beheben, müssen Sie möglicherweise die Anwendung neu installieren.;Hooking des Desktops fehlgeschlagen. Bitte aktivieren Sie das QT Tab Desktop-Tool erneut.;Der Vorgang ist fehlgeschlagen.\r\nBitte stellen Sie sicher, dass der Ordner existiert oder dass Sie die Berechtigung haben, darauf zuzugreifen:\r\n\r\n\t{0} + + + Bilddateien;Sprachdateien;Plugin-Dateien + + + Pfad;Hash;Schließen;Löschen;Aktualisieren;Immer im Vordergrund;Ergebnis anzeigen;Löschen beim Schließen;Vollständiger Pfad;(Jetzt berechnen...) + + + Alle;Links;Oben;Rechts;Unten + + + Desktop Suche;Bilddatei ist ungültig.\r\n\r\nBitte geben Sie eine 432 x 40 px große Bilddatei an.;Suchergebnisse in;Verknüpfung;Wählen Sie Ihre Datei;Wählen Sie Ihren Ordner;Experimentell;Dummy + + + QTTabBar Einstellungen;Alle Einstellungen auf dieser Seite auf ihre Standardwerte zurücksetzen?;Alle Einstellungen auf ihre Standardwerte zurücksetzen? Dies wirkt sich nicht auf Gruppen, Anwendungen oder Plugins aus.;Bestätigung + + + Ändern Sie das Verhalten von Explorer-Fenstern; Einzelfenstermodus; Erfassen neuer Explorer-Fenster als neue Registerkarten; Neue Explorer-Fenster nicht erfassen; Standardspeicherort für neue Fenster und Registerkarten; Sitzungsspeicherung; Starten Sie jedes Mal eine neue Sitzung; Wiederherstellen aller Registerkarten aus der vorherigen Sitzung; Wiederherstellen nur der gesperrten Registerkarten aus der vorherigen Sitzung; Wenn die Schließen-Schaltfläche angeklickt wird; Schließen Sie das Fenster; Schließen Sie die aktuelle Registerkarte; Schließen Sie alle nicht gesperrten Registerkarten; Senden Sie das Fenster in den Systemtray; Schließen; Minimieren; Blaue Plus-Schaltfläche + + + Ändern Sie die Optionen für die Registerkarten. Neue Registerkarten öffnen:;Wenn die aktuelle Registerkarte geschlossen wird, wechseln Sie zu der Registerkarte: ;Sofort zu neuen Tabs wechseln;Vorhandene Tabs wiederverwenden;Mehrdeutige Tabs umbenennen;Beim Ziehen über einen Tab zu diesem wechseln;Menü Unterordner-Inhalt anzeigen;Tab-Symbole;Ordnersymbole auf Tabs anzeigen;Menü Unterordner-Inhalt anzeigen, wenn auf das Symbol geklickt wird;Laufwerksbuchstabe auf dem Symbol anzeigen;Schließen-Schaltfläche;Schließen-Schaltfläche auf Tabs anzeigen;Nur bei gedrückter Alt-Taste;Nur bei Mausbewegung; Registerkartenleiste;Navigationsschaltflächen auf der Registerkartenleiste anzeigen;Links;Rechts;Mehrere Reihen von Registerkarten zulassen;Die Reihe mit der aktiven Registerkarte immer unten anordnen;Links von der aktuellen Registerkarte;Rechts von der aktuellen Registerkarte;Ganz links;Ganz rechts;Registerkarte nach links;Registerkarte nach rechts;Ganz links;Ganz rechts;Zuletzt aktivierte Registerkarte;Verhalten + + + Aktivieren oder Deaktivieren von Tweaks für die Listenansicht des Explorers. Tweaks, die mit beiden Listenansichten verwendet werden können; Anzeige von Spaltenüberschriften in allen Ansichtsmodi (Windows Vista/7); Verwendung der Standard-Dateisystemansicht für Bibliotheksordner (Windows 7); Abwählen der Dateierweiterung beim Umbenennen von Dateien (Windows XP); Auswahl mit F2 beim Umbenennen umschalten; Umdrehen beim Verschieben der Auswahl mit den Pfeiltasten; Rücktaste geht eine Ebene nach oben (Windows Vista/7);Scrollen mit Mausrad bei gedrückter Umschalttaste scrollt horizontal;Tweaks, die nur mit der älteren Listenansicht verwendet werden können;Aktivieren der älteren Listenansicht-Steuerung (Windows 7);Vollständige Zeilenauswahl in der Detailansicht;Gitterlinien in der Detailansicht anzeigen;Alternative Zeilenfarben in der Detailansicht;Vordergrundfarbe: ;Hintergrundfarbe: + + + Ändern Sie das Verhalten von Unterordner- und Vorschau-Tooltips;Unterordner-Inhalte;Unterordner-Inhalte aktivieren;Nur bei gedrückter Umschalttaste;Dateien anzeigen;Vorschau-Tooltips anzeigen, wenn Sie mit der Maus über Menüpunkte fahren;Vorschau-Tooltips;Vorschau-Tooltips aktivieren;Nur bei gedrückter Umschalttaste;Dateiinformationen unter Bildern anzeigen;Maximale Breite x Höhe:;Schriftart:;Textdateitypen;Bild- und Videodateitypen + + + Allgemeine Einstellungen für das Verhalten von QTTabBar;Taskleisten-Integration;Registerkartenvorschau in der Taskleiste anzeigen;Verlauf;Verlauf geschlossener Registerkarten behalten;Jetzt löschen;Verlauf geöffneter Dateien behalten;Netzwerk;Netzwerk-Timeout (geben Sie 0 für die Systemvorgabe ein):;Regelmäßig nach Updates suchen;Jetzt prüfen;Exportieren;Einstellungen exportieren...;Dateiverlauf löschen?;Registerkartenverlauf löschen? + + + Ändern Sie das Aussehen von Registerkarten oder der Registerkartenleiste. Registerkartenbild;Benutzerdefiniertes Registerkartenbild verwenden:;Größenränder:;Überlappungsbereich:;Inhaltsränder:;Transparente Bereiche testen;Registerkartengröße;Höhe:;Minimale Breite:;Maximale Breite:;Größenmodus:;Volle Breite;Gleiche Größe;Registerkartentext;Textfarben:;Schattenfarben:;Aktive Farbe;Inaktive Farbe;Mouseover-Farbe;Textschrift:;Ausrichtung:;Links;Zentriert;Symbolleistenhintergrund;Bild;Volltonfarbe;Bild für jede Leiste einzeln;Dehnungsmodus:;Größenränder:;Skin-Datei;Skin importieren. ..;Skin exportieren...;Strecken;Echte Größe;Kacheln + + + Weisen Sie verschiedenen Mausaktionen Befehle zu;Um eine Mausbindung hinzuzufügen, führen Sie eine Mausaktion auf dem Plus-Symbol links neben dem entsprechenden Zieltyp aus. Um eine Bindung zu entfernen, markieren Sie sie in der Liste und drücken Sie die Entf-Taste.;Weitere Mausoptionen;Mausrad rollt das Fenster unter der Maus;Mausakkord;Aktion;Überall;Tabulator;Tab-Leisten-Hintergrund;Ordner-Link;Datei oder Ordner;Explorer-Hintergrund;Linksklick;Rechtsklick;Mittelklick;Doppelklick;X1-Klick;X2-Klick;Diese Maustaste kann für dieses Ziel nicht verwendet werden.;Die gültigen Maustasten für dieses Ziel sind:;Ungültige Taste + + + Tastenkombinationen ändern;Wählen Sie eine Aktion aus der Liste aus und drücken Sie die Tastenkombination, die Sie damit verbinden möchten. Drücken Sie Escape, um die Bindung zu löschen.;Andere Tastaturoptionen;Tabulatorwechsel-Fenster anzeigen, wenn Strg + Tab gedrückt wird;Aktion;Tastendruck;Diese Taste ist bereits zugewiesen an:;Soll sie neu zugewiesen werden?;Tastenkonflikt + + + Erstellen und Verwalten von Registerkartengruppen;Um einer Gruppe ein Tastenkürzel zuzuweisen, wählen Sie sie aus und drücken Sie die entsprechende Tastengeste. Drücken Sie Escape, um die Bindung zu löschen.;Neue Gruppe erstellen;Ordner;Start;Tastenkürzel;Neue Gruppe;Gruppe "{0}" öffnen + + + Erstellen Sie Verknüpfungen zu häufig verwendeten Dateien oder Anwendungen.;Um einer Anwendung eine Verknüpfung zuzuweisen, wählen Sie sie aus und drücken Sie die entsprechende Tastenkombination. Drücken Sie Escape, um die Verknüpfung zu löschen.;Neuen Ordner erstellen;Pfad:;Argumente:;Arbeitsverzeichnis:;Anwendung;Verknüpfungstaste;Die folgenden Schlüsselwörter werden zur Laufzeit durch Pfadangaben in doppelten Anführungszeichen ersetzt.;Ausgewählte Dateien.;Ausgewählte Ordner.;Ausgewählte Dateien und Ordner.;Aktueller Ordner.;Aktueller Ordner, wenn keine Auswahl, sonst ausgewählter Ordner.;Neuer Ordner;Diesen Ordner und seinen Inhalt entfernen?;Anwendung "{0}" starten + + + Anpassen der Schaltflächenleiste;Schaltflächen;Optionen für die Schaltflächenleiste;Große Symbole;Beschriftungen auf Schaltflächen anzeigen;Reihenfolge der Dropdown-Schaltflächenmenüs festlegen;Größe des Suchfelds festlegen;Benutzerdefinierte Schaltflächen-Icons + + + Plugins von Drittanbietern verwalten.;Plugin installieren;(Deaktiviert);von {0};{0} wurde entfernt.;Dieses Plugin wird installiert, wenn Sie auf OK oder Übernehmen drücken.;Dieses Plugin wird aktiviert, wenn Sie auf OK oder Übernehmen drücken.;Dieses Plugin wird deaktiviert, wenn Sie auf OK oder Übernehmen drücken.;Die Deinstallation dieses Plugins deinstalliert auch die folgenden Plugins:;Fortfahren?;Aktivieren;Deaktivieren + + + Sprache ändern;Hauptsprache;Eingebaute Sprache verwenden:;Sprachdatei verwenden:;Plugin-Sprachdateien;Sprachdatei-Editor;Spracheditor anzeigen...;Original;Übersetzt;Alle Einträge auf ihren ursprünglichen Wert zurücksetzen?;Fehler beim Speichern der Datei.;简体中文;English;German + + + Credits und Versionsinformationen anzeigen:;Originalcode von {0};Hauptentwickler:;Andere Entwickler:;Symbole und Grafiken:;Wenn Sie QTTabBar nützlich finden, ziehen Sie bitte eine kleine Spende in Betracht.;汉化修改:;Build by: {0} + + + https://github.com/indiff/qttabbar/blob/master/QTTabBar/Resources/wechat_pay.jpg + + + Zurück;Vorwärts;Zurück zum Anfang;Vorwärts zum Ende;Nächste Registerkarte auswählen;Vorherige Registerkarte auswählen;Erste Registerkarte auswählen;Letzte Registerkarte auswählen;Zur zuletzt aktivierten Registerkarte wechseln;Neue Registerkarte öffnen;Neues Fenster öffnen;Registerkarten aus anderen Fenstern zusammenführen;Aktuelle Registerkarte schließen;Alle außer der aktuellen schließen;Links schließen;Rechts schließen;Fenster schließen;Schließen rückgängig machen;Aktuelle Registerkarte klonen;Aktuellen Ordner in neuem Fenster öffnen;Aktuelle sperren / entsperren; Alle sperren / entsperren;Ordner durchsuchen;Neue Gruppe erstellen;Optionsdialog öffnen;Menü der Symbolleiste anzeigen;Menü der aktuellen Registerkarte anzeigen;Menü der Gruppe anzeigen (Buttonleiste);Menü des letzten Ordners anzeigen (Buttonleiste);Menü der Benutzeranwendung anzeigen (Buttonleiste);Menü der letzten Dateien anzeigen (Buttonleiste);Neue leere Datei erstellen;Neuen Ordner erstellen;Pfad der ausgewählten Dateien kopieren;Name der ausgewählten Dateien kopieren;Pfad des aktuellen Ordners kopieren; Aktuellen Ordnernamen kopieren;MD5 der ausgewählten Dateien prüfen;Fenster ganz nach oben bringen;Transparenz +;Transparenz -;Dateiliste fokussieren;Suchleiste (Explorer) fokussieren;Suchfeld (Buttonleiste) fokussieren;Unterordner-Inhalt-Menü für ausgewählten Ordner anzeigen;Fenster an Taskleiste senden;Tab-Leiste fokussieren;Tabs nach Namen sortieren;Tabs nach Pfad sortieren;Tabs nach letzter Aktivierung sortieren;Nichts;Eine Ebene höher;Aktualisieren;Einfügen;Maximieren; Minimieren;In neuer Registerkarte öffnen;In neuer Registerkarte ohne Aktivierung öffnen;In neuem Fenster öffnen;Ausschneiden;Kopieren;Löschen;Eigenschaften;Pfad kopieren;Name kopieren;Prüfsumme anzeigen;Registerkarte schließen; Registerkarte links schließen;Registerkarte rechts schließen;Eine Ebene höher;Sperren;Kontextmenü anzeigen;In neuem Fenster öffnen;Klonen;Pfad kopieren;Eigenschaften;Inhalt-Menü für Unterverzeichnisse anzeigen;Alles außer diesem schließen;CMD öffnen;Ausgewählte Ordner in neuer Registerkarte ohne Aktivierung öffnen + + + QTTabBar;{0} (Plugin) + + + https://github.com/indiff/qttabbar + + + Schließen;Rechts schließen;Links schließen;Alles außer diesem schließen;Zu Gruppe hinzufügen;Neue Gruppe erstellen;Sperren;Dies klonen;Neues Fenster;Pfad kopieren;Eigenschaften;Tab-Historie;Gruppen;Geschlossen rückgängig machen;Zuletzt aktiviert;Kürzlich geöffnete Dateien;Ordner durchsuchen;Alles außer dem aktuellen schließen;Fenster schließen;Optionen;Entsperren;Zum Anwendungsmenü hinzufügen : ;Einträge;Abbrechen;Entwicklungszweig;Diesen Eintrag aus dem Menü entfernen;O&pen, der den Ordner enthält;Tab-Label;Tab-Reihenfolge;Name;Pfad;Aktiv;Symbolleisten sperren;Tabs anderer Fenster zusammenführen;Invertieren;CMD öffnen + + QTTabBar konnte nicht geöffnet werden - "{0}". - - - Neue Gruppe erstellen;Gruppenname:;Alle Registerkarten hinzufügen - - - Fenster;Registerkarten;Tweaks;Tooltips;Allgemein;Aussehen;Maus;Tasten;Gruppen;Anwendungen;Tastenleiste;Plugins;Sprache;Über - - - Taskleiste;Desktop;Elemente sperren;Titelhintergrund zeichnen;Menü mit einem Klick;Tastenkombinationen für Anwendungen aktivieren - - - Gruppen;Geschlossen rückgängig machen;Anwendungen;Zuletzt geöffnete Dateien - - - 1 Fenster;{0} Fenster - - - Eine neue Version von QTTabBar wurde veröffentlicht:;Drücken Sie OK, um zur Website zu gelangen.;Ihre Version von QTTabBar ist auf dem neuesten Stand.;Neue Entwicklungsversion gefunden:;Versionsdatei nicht gefunden (404).;Unbekannter Netzwerkfehler.;Server nicht gefunden.;Server hat falsche Zeichenfolgen zurückgegeben. - + "{0}". + + + Neue Gruppe erstellen;Gruppenname:;Alle Registerkarten hinzufügen + + + Fenster;Registerkarten;Tweaks;Tooltips;Allgemein;Aussehen;Maus;Tasten;Gruppen;Anwendungen;Tastenleiste;Plugins;Sprache;Über + + + Taskleiste;Desktop;Elemente sperren;Titelhintergrund zeichnen;Menü mit einem Klick;Tastenkombinationen für Anwendungen aktivieren + + + Gruppen;Geschlossen rückgängig machen;Anwendungen;Zuletzt geöffnete Dateien + + + 1 Fenster;{0} Fenster + + + Eine neue Version von QTTabBar wurde veröffentlicht:;Drücken Sie OK, um zur Website zu gelangen.;Ihre Version von QTTabBar ist auf dem neuesten Stand.;Neue Entwicklungsversion gefunden:;Versionsdatei nicht gefunden (404).;Unbekannter Netzwerkfehler.;Server nicht gefunden.;Server hat falsche Zeichenfolgen zurückgegeben. + \ No newline at end of file diff --git a/QTTabBar/ShellColors.cs b/QTTabBar/ShellColors.cs new file mode 100644 index 0000000..95ffb8f --- /dev/null +++ b/QTTabBar/ShellColors.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; + +namespace QTTabBarLib +{ + internal static class ShellColors + { + public static Color LightModeColor = Color.White; + + public static Color ControlMainColor = Color.FromArgb(41, 128, 204); + + public static Color NightModeColor = Color.Black; + + public static Color NightModeTreeViewBackColor = Color.FromArgb(25, 25, 25); + + public static Color NightModeLightColor = Color.FromArgb(43, 43, 43); + + public static Color NightModeTextColor = Color.White; + + public static Color NightModeBorderColor = Color.FromArgb(83, 83, 83); + + public static Color NightModeDisabledColor = Color.FromArgb(140, 140, 140); + + public static Color NightModeTabColor = Color.FromArgb(217, 217, 217); + + public static Color NightModeTextShadow = Color.Gray; + + public static Color NightModeViewBackColor = Color.FromArgb(32, 32, 32); + + public static Color NightModeViewSelectionColor = Color.FromArgb(98, 98, 98); + + public static Color NightModeViewSelectionColorInactive = Color.FromArgb(51, 51, 51); + + public static Color NightModeViewSelectedAndFocusedColor = Color.FromArgb(119, 119, 119); + + public static Color NightModeViewSelectedAndHiliteColor = Color.FromArgb(119, 119, 119); + + public static Color NightModeViewSelectedAndHiliteColorInactive = Color.FromArgb(119, 119, 119); + + public static Color NightModeViewHiliteColor = Color.FromArgb(77, 77, 77); + + public static Color NightModeViewHeaderHiliteColor = Color.FromArgb(67, 67, 67); + + public static Color FaceColor17666 = !QTUtility.InNightMode ? ShellColors.LightModeColor : ShellColors.NightModeColor; + + public static Color NightModeOptionColor = Color.FromArgb(44, 44, 44); + } +} diff --git a/TODOS.txt b/TODOS.txt new file mode 100644 index 0000000..01a72fc --- /dev/null +++ b/TODOS.txt @@ -0,0 +1,14 @@ +希望可以加个标签组导入导出的功能 +如果标签组能单独成一排(类似收藏夹)那就更好了 + + +希望能实现原QTTabBar以下功能: +1、Ctrl+左键单击“导航窗格”如盘符等,可以在新标签打开 +2、Ctrl+左键双击“文件夹”,可以在新标签打开 + + + +快速访问的几个文件夹(包括下面的图片、文档、下载等)目前似乎是没有中键或者ctrl+点击打开新标签的功能,不知道是不是可以加上,这几个真的是特别常用,谢谢! + + +现在可以在主视图的任意文件夹中键新建打开指定标签,我记得以前的qttabbar在地址栏按中键可以打开指定标签,比如在“D:\Software”中的“D:\”上面按中键可以打开一个D盘根目录的新标签,试了下好像没有这个功能,还是设置里面有这一项我没有发现呢? \ No newline at end of file