diff --git a/Business/Menus.cs b/Business/Menus.cs index 3118bd2..149b646 100644 --- a/Business/Menus.cs +++ b/Business/Menus.cs @@ -835,6 +835,15 @@ namespace SystemTrayMenu.Business menu.CmdKeyProcessed += keyboardInput.CmdKeyProcessed; menu.SearchTextChanging += Menu_SearchTextChanging; menu.SearchTextChanged += Menu_SearchTextChanged; + menu.UserDragsMenu += Menu_UserDragsMenu; + void Menu_UserDragsMenu() + { + if (menus[1] != null) + { + HideOldMenu(menus[1]); + } + } + menu.Deactivate += Deactivate; void Deactivate(object sender, EventArgs e) { diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 92487da..dff28ce 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -39,5 +39,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.0.6")] -[assembly: AssemblyFileVersion("1.1.0.6")] +[assembly: AssemblyVersion("1.1.0.7")] +[assembly: AssemblyFileVersion("1.1.0.7")] diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs index 9e2f550..f4882ce 100644 --- a/Properties/Settings.Designer.cs +++ b/Properties/Settings.Designer.cs @@ -363,6 +363,54 @@ namespace SystemTrayMenu.Properties } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Configuration.SettingsProviderAttribute(typeof(CustomSettingsProvider))] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool UseCustomLocation + { + get + { + return ((bool)(this["UseCustomLocation"])); + } + set + { + this["UseCustomLocation"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Configuration.SettingsProviderAttribute(typeof(CustomSettingsProvider))] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int CustomLocationX + { + get + { + return ((int)(this["CustomLocationX"])); + } + set + { + this["CustomLocationX"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Configuration.SettingsProviderAttribute(typeof(CustomSettingsProvider))] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int CustomLocationY + { + get + { + return ((int)(this["CustomLocationY"])); + } + set + { + this["CustomLocationY"] = value; + } + } + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.SettingsProviderAttribute(typeof(CustomSettingsProvider))] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] diff --git a/Resources/lang.Designer.cs b/Resources/lang.Designer.cs index 02ffcfe..daa0015 100644 --- a/Resources/lang.Designer.cs +++ b/Resources/lang.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// Этот код создан программой. -// Исполняемая версия:4.0.30319.42000 +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 // -// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае -// повторной генерации кода. +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. // //------------------------------------------------------------------------------ @@ -13,12 +13,12 @@ namespace SystemTrayMenu.Resources { /// - /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. /// - // Этот класс создан автоматически классом StronglyTypedResourceBuilder - // с помощью такого средства, как ResGen или Visual Studio. - // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen - // с параметром /str или перестройте свой проект VS. + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -33,7 +33,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { @@ -47,8 +47,8 @@ namespace SystemTrayMenu.Resources { } /// - /// Перезаписывает свойство CurrentUICulture текущего потока для всех - /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { @@ -61,7 +61,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на About. + /// Sucht eine lokalisierte Zeichenfolge, die About ähnelt. /// internal static string About { get { @@ -70,7 +70,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Activated. + /// Sucht eine lokalisierte Zeichenfolge, die Activated ähnelt. /// internal static string Activated { get { @@ -79,7 +79,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Add folder. + /// Sucht eine lokalisierte Zeichenfolge, die Add folder ähnelt. /// internal static string Add_folder { get { @@ -88,7 +88,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Add folders to main menu. + /// Sucht eine lokalisierte Zeichenfolge, die Add folders to main menu ähnelt. /// internal static string Add_folders_to_main_menu { get { @@ -97,7 +97,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Add sample 'Start Menu' folder. + /// Sucht eine lokalisierte Zeichenfolge, die Add sample 'Start Menu' folder ähnelt. /// internal static string Add_sample__Start_Menu__folder { get { @@ -106,7 +106,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Advanced. + /// Sucht eine lokalisierte Zeichenfolge, die Advanced ähnelt. /// internal static string Advanced { get { @@ -115,16 +115,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Appear at mouse location. - /// - internal static string Appear_at_mouse_location { - get { - return ResourceManager.GetString("Appear at mouse location", resourceCulture); - } - } - - /// - /// Ищет локализованную строку, похожую на Appearance. + /// Sucht eine lokalisierte Zeichenfolge, die Appearance ähnelt. /// internal static string Appearance { get { @@ -133,7 +124,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Arrow. + /// Sucht eine lokalisierte Zeichenfolge, die Arrow ähnelt. /// internal static string Arrow { get { @@ -142,7 +133,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Arrow when clicking. + /// Sucht eine lokalisierte Zeichenfolge, die Arrow when clicking ähnelt. /// internal static string Arrow_when_clicking { get { @@ -151,7 +142,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Arrow while mouse hovers. + /// Sucht eine lokalisierte Zeichenfolge, die Arrow while mouse hovers ähnelt. /// internal static string Arrow_while_mouse_hovers { get { @@ -160,7 +151,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Autostart. + /// Sucht eine lokalisierte Zeichenfolge, die Autostart ähnelt. /// internal static string Autostart { get { @@ -169,7 +160,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Background. + /// Sucht eine lokalisierte Zeichenfolge, die Background ähnelt. /// internal static string Background { get { @@ -178,7 +169,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Background of arrow when clicking. + /// Sucht eine lokalisierte Zeichenfolge, die Background of arrow when clicking ähnelt. /// internal static string Background_of_arrow_when_clicking { get { @@ -187,7 +178,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Background of arrow while mouse hovers. + /// Sucht eine lokalisierte Zeichenfolge, die Background of arrow while mouse hovers ähnelt. /// internal static string Background_of_arrow_while_mouse_hovers { get { @@ -196,7 +187,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Border of menu. + /// Sucht eine lokalisierte Zeichenfolge, die Border of menu ähnelt. /// internal static string Border_of_menu { get { @@ -205,7 +196,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Border of opened folder. + /// Sucht eine lokalisierte Zeichenfolge, die Border of opened folder ähnelt. /// internal static string Border_of_opened_folder { get { @@ -214,7 +205,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Border of selected item. + /// Sucht eine lokalisierte Zeichenfolge, die Border of selected item ähnelt. /// internal static string Border_of_selected_item { get { @@ -223,7 +214,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Bottom left. + /// Sucht eine lokalisierte Zeichenfolge, die Bottom left ähnelt. /// internal static string Bottom_left { get { @@ -232,7 +223,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Bottom right. + /// Sucht eine lokalisierte Zeichenfolge, die Bottom right ähnelt. /// internal static string Bottom_right { get { @@ -241,7 +232,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Cancel. + /// Sucht eine lokalisierte Zeichenfolge, die Cancel ähnelt. /// internal static string buttonCancel { get { @@ -250,7 +241,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Details. + /// Sucht eine lokalisierte Zeichenfolge, die Details ähnelt. /// internal static string buttonDetails { get { @@ -259,7 +250,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на OK. + /// Sucht eine lokalisierte Zeichenfolge, die OK ähnelt. /// internal static string buttonOk { get { @@ -268,7 +259,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на System Info. + /// Sucht eine lokalisierte Zeichenfolge, die System Info ähnelt. /// internal static string buttonSystemInfo { get { @@ -277,7 +268,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Cache main menu. + /// Sucht eine lokalisierte Zeichenfolge, die Cache main menu ähnelt. /// internal static string Cache_main_menu { get { @@ -286,7 +277,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Change folder. + /// Sucht eine lokalisierte Zeichenfolge, die Change folder ähnelt. /// internal static string Change_folder { get { @@ -295,7 +286,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Change to relative folder. + /// Sucht eine lokalisierte Zeichenfolge, die Change to relative folder ähnelt. /// internal static string Change_to_relative_folder { get { @@ -304,7 +295,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Clear cache if more than this number of items. + /// Sucht eine lokalisierte Zeichenfolge, die Clear cache if more than this number of items ähnelt. /// internal static string Clear_cache_if_more_than_this_number_of_items { get { @@ -313,7 +304,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Click. + /// Sucht eine lokalisierte Zeichenfolge, die Click ähnelt. /// internal static string Click { get { @@ -322,7 +313,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Colors Dark Mode. + /// Sucht eine lokalisierte Zeichenfolge, die Colors Dark Mode ähnelt. /// internal static string Colors_Dark_Mode { get { @@ -331,7 +322,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Colors Light Mode. + /// Sucht eine lokalisierte Zeichenfolge, die Colors Light Mode ähnelt. /// internal static string Colors_Light_Mode { get { @@ -340,7 +331,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Couldn’t register the hot key.. + /// Sucht eine lokalisierte Zeichenfolge, die Couldn’t register the hot key. ähnelt. /// internal static string Could_not_register_the_hot_key_ { get { @@ -349,7 +340,16 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Customize. + /// Sucht eine lokalisierte Zeichenfolge, die Custom (drag it to the appropriate place) ähnelt. + /// + internal static string Custom__drag_it_to_the_appropriate_place_ { + get { + return ResourceManager.GetString("Custom (drag it to the appropriate place)", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Customize ähnelt. /// internal static string Customize { get { @@ -358,7 +358,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Dark Mode always active. + /// Sucht eine lokalisierte Zeichenfolge, die Dark Mode always active ähnelt. /// internal static string Dark_Mode_always_active { get { @@ -367,7 +367,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Deactivated. + /// Sucht eine lokalisierte Zeichenfolge, die Deactivated ähnelt. /// internal static string Deactivated { get { @@ -376,7 +376,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Default. + /// Sucht eine lokalisierte Zeichenfolge, die Default ähnelt. /// internal static string Default { get { @@ -385,7 +385,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Exit. + /// Sucht eine lokalisierte Zeichenfolge, die Exit ähnelt. /// internal static string Exit { get { @@ -394,7 +394,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Expert. + /// Sucht eine lokalisierte Zeichenfolge, die Expert ähnelt. /// internal static string Expert { get { @@ -403,7 +403,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Folder. + /// Sucht eine lokalisierte Zeichenfolge, die Folder ähnelt. /// internal static string Folder { get { @@ -412,7 +412,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Folder empty. + /// Sucht eine lokalisierte Zeichenfolge, die Folder empty ähnelt. /// internal static string Folder_empty { get { @@ -421,7 +421,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Folder inaccessible. + /// Sucht eine lokalisierte Zeichenfolge, die Folder inaccessible ähnelt. /// internal static string Folder_inaccessible { get { @@ -430,7 +430,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Folder paths. + /// Sucht eine lokalisierte Zeichenfolge, die Folder paths ähnelt. /// internal static string Folder_paths { get { @@ -439,7 +439,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Folders. + /// Sucht eine lokalisierte Zeichenfolge, die Folders ähnelt. /// internal static string Folders { get { @@ -448,7 +448,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на General. + /// Sucht eine lokalisierte Zeichenfolge, die General ähnelt. /// internal static string General { get { @@ -457,7 +457,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Help / FAQ. + /// Sucht eine lokalisierte Zeichenfolge, die Help / FAQ ähnelt. /// internal static string HelpFAQ { get { @@ -466,7 +466,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Hotkey. + /// Sucht eine lokalisierte Zeichenfolge, die Hotkey ähnelt. /// internal static string Hotkey { get { @@ -475,7 +475,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Icons. + /// Sucht eine lokalisierte Zeichenfolge, die Icons ähnelt. /// internal static string Icons { get { @@ -484,7 +484,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на If an item was clicked. + /// Sucht eine lokalisierte Zeichenfolge, die If an item was clicked ähnelt. /// internal static string If_an_item_was_clicked { get { @@ -493,7 +493,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на If the focus is lost and if the mouse is still on the menu. + /// Sucht eine lokalisierte Zeichenfolge, die If the focus is lost and if the mouse is still on the menu ähnelt. /// internal static string If_the_focus_is_lost_and_if_the_mouse_is_still_on_the_menu { get { @@ -502,7 +502,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на If the focus is lost and the Enter key was pressed. + /// Sucht eine lokalisierte Zeichenfolge, die If the focus is lost and the Enter key was pressed ähnelt. /// internal static string If_the_focus_is_lost_and_the_Enter_key_was_pressed { get { @@ -511,7 +511,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Language. + /// Sucht eine lokalisierte Zeichenfolge, die Language ähnelt. /// internal static string Language { get { @@ -520,7 +520,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Launch on startup. + /// Sucht eine lokalisierte Zeichenfolge, die Launch on startup ähnelt. /// internal static string Launch_on_startup { get { @@ -529,7 +529,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на loading. + /// Sucht eine lokalisierte Zeichenfolge, die loading ähnelt. /// internal static string loading { get { @@ -538,7 +538,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Log File. + /// Sucht eine lokalisierte Zeichenfolge, die Log File ähnelt. /// internal static string Log_File { get { @@ -547,7 +547,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Main menu appears at. + /// Sucht eine lokalisierte Zeichenfolge, die Main menu appears at ähnelt. /// internal static string Main_menu_appears_at { get { @@ -556,7 +556,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Menu. + /// Sucht eine lokalisierte Zeichenfolge, die Menu ähnelt. /// internal static string Menu { get { @@ -565,7 +565,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Your root folder for the SystemTrayMenu does not exist or is empty! Put some files, folders or shortcuts into the folder or change the root folder.. + /// Sucht eine lokalisierte Zeichenfolge, die Your root folder for the SystemTrayMenu does not exist or is empty! Put some files, folders or shortcuts into the folder or change the root folder. ähnelt. /// internal static string MessageRootFolderEmpty { get { @@ -574,7 +574,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на You have no access to the root folder for the SystemTrayMenu. Grant access to the folder or change the root folder.. + /// Sucht eine lokalisierte Zeichenfolge, die You have no access to the root folder for the SystemTrayMenu. Grant access to the folder or change the root folder. ähnelt. /// internal static string MessageRootFolderNoAccess { get { @@ -583,7 +583,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Milliseconds until a menu opens when the mouse is on it. + /// Sucht eine lokalisierte Zeichenfolge, die Milliseconds until a menu opens when the mouse is on it ähnelt. /// internal static string Milliseconds_until_a_menu_opens_when_the_mouse_is_on_it { get { @@ -592,7 +592,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Milliseconds until the menu closes if in this case the menu is not reactivated. + /// Sucht eine lokalisierte Zeichenfolge, die Milliseconds until the menu closes if in this case the menu is not reactivated ähnelt. /// internal static string Milliseconds_until_the_menu_closes_if_in_this_case_the_menu_is_not_reactivated { get { @@ -601,7 +601,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Milliseconds until the menu closes if in this case the mouse then leaves the menu. + /// Sucht eine lokalisierte Zeichenfolge, die Milliseconds until the menu closes if in this case the mouse then leaves the menu ähnelt. /// internal static string Milliseconds_until_the_menu_closes_if_in_this_case_the_mouse_then_leaves_the_menu { get { @@ -611,7 +611,16 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Mouse location (Above Taskbar icon). + /// Sucht eine lokalisierte Zeichenfolge, die Mouse location ähnelt. + /// + internal static string Mouse_location { + get { + return ResourceManager.GetString("Mouse location", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Mouse location (Above Taskbar icon) ähnelt. /// internal static string Mouse_location__Above_Taskbar_icon_ { get { @@ -620,7 +629,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Only Files. + /// Sucht eine lokalisierte Zeichenfolge, die Only Files ähnelt. /// internal static string Only_Files { get { @@ -629,7 +638,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Open Folder. + /// Sucht eine lokalisierte Zeichenfolge, die Open Folder ähnelt. /// internal static string Open_Folder { get { @@ -638,7 +647,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Open the assembly location. + /// Sucht eine lokalisierte Zeichenfolge, die Open the assembly location ähnelt. /// internal static string Open_the_assembly_location { get { @@ -647,7 +656,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Opened folder. + /// Sucht eine lokalisierte Zeichenfolge, die Opened folder ähnelt. /// internal static string Opened_folder { get { @@ -656,7 +665,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Pixels maximum menu height. + /// Sucht eine lokalisierte Zeichenfolge, die Pixels maximum menu height ähnelt. /// internal static string Pixels_maximum_menu_height { get { @@ -665,7 +674,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Pixels maximum menu width. + /// Sucht eine lokalisierte Zeichenfolge, die Pixels maximum menu width ähnelt. /// internal static string Pixels_maximum_menu_width { get { @@ -674,7 +683,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Problem with Shortcut. + /// Sucht eine lokalisierte Zeichenfolge, die Problem with Shortcut ähnelt. /// internal static string Problem_with_Shortcut { get { @@ -683,7 +692,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Recursive. + /// Sucht eine lokalisierte Zeichenfolge, die Recursive ähnelt. /// internal static string Recursive { get { @@ -692,7 +701,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Remove folder. + /// Sucht eine lokalisierte Zeichenfolge, die Remove folder ähnelt. /// internal static string Remove_folder { get { @@ -701,7 +710,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Restart. + /// Sucht eine lokalisierte Zeichenfolge, die Restart ähnelt. /// internal static string Restart { get { @@ -710,7 +719,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Round corners. + /// Sucht eine lokalisierte Zeichenfolge, die Round corners ähnelt. /// internal static string Round_corners { get { @@ -719,7 +728,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Row height in percentage. + /// Sucht eine lokalisierte Zeichenfolge, die Row height in percentage ähnelt. /// internal static string Row_height_in_percentage { get { @@ -728,7 +737,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Scrollbar. + /// Sucht eine lokalisierte Zeichenfolge, die Scrollbar ähnelt. /// internal static string Scrollbar { get { @@ -737,7 +746,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Search field. + /// Sucht eine lokalisierte Zeichenfolge, die Search field ähnelt. /// internal static string Search_field { get { @@ -746,7 +755,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Select Folder. + /// Sucht eine lokalisierte Zeichenfolge, die Select Folder ähnelt. /// internal static string Select_Folder { get { @@ -755,7 +764,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Selected item. + /// Sucht eine lokalisierte Zeichenfolge, die Selected item ähnelt. /// internal static string Selected_item { get { @@ -764,7 +773,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Set as SystemTrayMenu folder. + /// Sucht eine lokalisierte Zeichenfolge, die Set as SystemTrayMenu folder ähnelt. /// internal static string Set_as_SystemTrayMenu_folder { get { @@ -773,7 +782,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Set by context menu . + /// Sucht eine lokalisierte Zeichenfolge, die Set by context menu ähnelt. /// internal static string Set_by_context_menu_ { get { @@ -782,7 +791,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Settings. + /// Sucht eine lokalisierte Zeichenfolge, die Settings ähnelt. /// internal static string Settings { get { @@ -791,7 +800,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Show in Taskbar. + /// Sucht eine lokalisierte Zeichenfolge, die Show in Taskbar ähnelt. /// internal static string Show_in_Taskbar { get { @@ -800,7 +809,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Single click to open an item instead of double click. + /// Sucht eine lokalisierte Zeichenfolge, die Single click to open an item instead of double click ähnelt. /// internal static string Single_click_to_start_item { get { @@ -809,7 +818,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Size. + /// Sucht eine lokalisierte Zeichenfolge, die Size ähnelt. /// internal static string Size { get { @@ -818,7 +827,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Slider. + /// Sucht eine lokalisierte Zeichenfolge, die Slider ähnelt. /// internal static string Slider { get { @@ -827,7 +836,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Slider while dragging. + /// Sucht eine lokalisierte Zeichenfolge, die Slider while dragging ähnelt. /// internal static string Slider_while_dragging { get { @@ -836,7 +845,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Slider while mouse hovers 1. + /// Sucht eine lokalisierte Zeichenfolge, die Slider while mouse hovers 1 ähnelt. /// internal static string Slider_while_mouse_hovers_1 { get { @@ -845,7 +854,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Slider while mouse hovers 2. + /// Sucht eine lokalisierte Zeichenfolge, die Slider while mouse hovers 2 ähnelt. /// internal static string Slider_while_mouse_hovers_2 { get { @@ -854,7 +863,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Stays open. + /// Sucht eine lokalisierte Zeichenfolge, die Stays open ähnelt. /// internal static string Stays_open { get { @@ -863,7 +872,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Store config at the assembly location. + /// Sucht eine lokalisierte Zeichenfolge, die Store config at the assembly location ähnelt. /// internal static string Store_config_at_the_assembly_location { get { @@ -872,7 +881,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на SystemTrayMenu. + /// Sucht eine lokalisierte Zeichenfolge, die SystemTrayMenu ähnelt. /// internal static string SystemTrayMenu { get { @@ -881,7 +890,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Task Manger. + /// Sucht eine lokalisierte Zeichenfolge, die Task Manger ähnelt. /// internal static string Task_Manger { get { @@ -890,7 +899,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Read the FAQ and then choose a root directory for the SystemTrayMenu.. + /// Sucht eine lokalisierte Zeichenfolge, die Read the FAQ and then choose a root directory for the SystemTrayMenu. ähnelt. /// internal static string TextFirstStart { get { @@ -899,7 +908,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на The item that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly.. + /// Sucht eine lokalisierte Zeichenfolge, die The item that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly. ähnelt. /// internal static string The_item_that_this_shortcut_refers_to_has_been_changed_or_moved__so_this_shortcut_will_no_longer_work_properly_ { get { @@ -909,7 +918,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Time until a menu opens. + /// Sucht eine lokalisierte Zeichenfolge, die Time until a menu opens ähnelt. /// internal static string Time_until_a_menu_opens { get { @@ -918,7 +927,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Title. + /// Sucht eine lokalisierte Zeichenfolge, die Title ähnelt. /// internal static string Title { get { @@ -927,7 +936,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Update the position every time the menu opens. + /// Sucht eine lokalisierte Zeichenfolge, die Update the position every time the menu opens ähnelt. /// internal static string Update_the_position_every_time_the_menu_opens { get { @@ -936,7 +945,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на USB. + /// Sucht eine lokalisierte Zeichenfolge, die USB ähnelt. /// internal static string USB { get { @@ -945,7 +954,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Use icon from folder. + /// Sucht eine lokalisierte Zeichenfolge, die Use icon from folder ähnelt. /// internal static string Use_icon_from_folder { get { @@ -954,7 +963,7 @@ namespace SystemTrayMenu.Resources { } /// - /// Ищет локализованную строку, похожую на Warning. + /// Sucht eine lokalisierte Zeichenfolge, die Warning ähnelt. /// internal static string Warning { get { diff --git a/Resources/lang.cs-CZ.resx b/Resources/lang.cs-CZ.resx index 3bec32b..c6b74a2 100644 --- a/Resources/lang.cs-CZ.resx +++ b/Resources/lang.cs-CZ.resx @@ -201,8 +201,8 @@ Pokročilý - - Objevte se na místě myši + + Umístění myši Změnit složku @@ -417,4 +417,7 @@ Aktualizujte pozici při každém otevření nabídky + + Vlastní (přetáhněte jej na příslušné místo) + \ No newline at end of file diff --git a/Resources/lang.de-DE.resx b/Resources/lang.de-DE.resx index b294819..72cedb2 100644 --- a/Resources/lang.de-DE.resx +++ b/Resources/lang.de-DE.resx @@ -201,8 +201,8 @@ Erweitert - - Erscheint an der Mausposition + + Mausposition Ordner ändern @@ -417,4 +417,7 @@ Aktualisieren Sie die Position jedes Mal, wenn das Menü geöffnet wird + + Benutzerdefiniert (an die entsprechende Stelle ziehen) + \ No newline at end of file diff --git a/Resources/lang.es-ES.resx b/Resources/lang.es-ES.resx index b9d8ef4..93bbe47 100644 --- a/Resources/lang.es-ES.resx +++ b/Resources/lang.es-ES.resx @@ -201,8 +201,8 @@ Avanzado - - Aparecen en la ubicación del mouse + + Ubicación del mouse Cambiar carpeta @@ -417,4 +417,7 @@ Actualizar la posición cada vez que se abre el menú + + Personalizado (arrástrelo al lugar apropiado) + \ No newline at end of file diff --git a/Resources/lang.fr-FR.resx b/Resources/lang.fr-FR.resx index 0abd942..7706558 100644 --- a/Resources/lang.fr-FR.resx +++ b/Resources/lang.fr-FR.resx @@ -201,8 +201,8 @@ Avancée - - Apparaître à l'emplacement de la souris + + Emplacement de la souris Changer de dossier @@ -417,4 +417,7 @@ Mettre à jour la position à chaque ouverture du menu + + Personnalisé (faites-le glisser à l'endroit approprié) + \ No newline at end of file diff --git a/Resources/lang.it-IT.resx b/Resources/lang.it-IT.resx index f29c56e..b2cd486 100644 --- a/Resources/lang.it-IT.resx +++ b/Resources/lang.it-IT.resx @@ -201,8 +201,8 @@ Avanzate - - Appaiono nella posizione del mouse + + Posizione del mouse Cambia cartella @@ -417,4 +417,7 @@ Aggiorna la posizione ogni volta che si apre il menu + + Personalizzato (trascinalo nella posizione appropriata) + \ No newline at end of file diff --git a/Resources/lang.ja-JP.resx b/Resources/lang.ja-JP.resx index 677b68d..68071dd 100644 --- a/Resources/lang.ja-JP.resx +++ b/Resources/lang.ja-JP.resx @@ -201,8 +201,8 @@ 上級 - - マウスの位置に表示 + + マウスの位置 フォルダを変更 @@ -417,4 +417,7 @@ メニューが開くたびに位置を更新します + + カスタム(適切な場所にドラッグ) + \ No newline at end of file diff --git a/Resources/lang.ko-KR.resx b/Resources/lang.ko-KR.resx index 1109782..7f7963d 100644 --- a/Resources/lang.ko-KR.resx +++ b/Resources/lang.ko-KR.resx @@ -201,8 +201,8 @@ 많은 - - 마우스 위치에 표시 + + 마우스 위치 폴더 변경 @@ -417,4 +417,7 @@ 메뉴가 열릴 때마다 위치 업데이트 + + 사용자 지정(적절한 위치로 드래그) + \ No newline at end of file diff --git a/Resources/lang.nl-NL.resx b/Resources/lang.nl-NL.resx index 1827fa2..a5825de 100644 --- a/Resources/lang.nl-NL.resx +++ b/Resources/lang.nl-NL.resx @@ -201,8 +201,8 @@ Geavanceerd - - Verschijnt op de muis locatie + + Muis locatie Verander Map @@ -417,4 +417,7 @@ Update de positie elke keer dat het menu wordt geopend + + Aangepast (sleep het naar de juiste plaats) + \ No newline at end of file diff --git a/Resources/lang.pt-BR.resx b/Resources/lang.pt-BR.resx index aec82ed..f08ad05 100644 --- a/Resources/lang.pt-BR.resx +++ b/Resources/lang.pt-BR.resx @@ -201,8 +201,8 @@ Avançado - - Aparecer na posição do mouse + + Posição do mouse Mudar Pasta @@ -417,4 +417,7 @@ Atualize a posição sempre que o menu for aberto + + Personalizado (arraste-o para o local apropriado) + \ No newline at end of file diff --git a/Resources/lang.resx b/Resources/lang.resx index 3e58e9f..62f5e2c 100644 --- a/Resources/lang.resx +++ b/Resources/lang.resx @@ -201,8 +201,8 @@ Advanced - - Appear at mouse location + + Mouse location Change folder @@ -417,4 +417,7 @@ Update the position every time the menu opens + + Custom (drag it to the appropriate place) + \ No newline at end of file diff --git a/Resources/lang.ru-RU.resx b/Resources/lang.ru-RU.resx index 81a1ec8..14b2dac 100644 --- a/Resources/lang.ru-RU.resx +++ b/Resources/lang.ru-RU.resx @@ -201,8 +201,8 @@ Вид и поведение - - Показывать в месте нахождения мыши + + Положение мыши Изменить папку @@ -417,4 +417,7 @@ Обновлять позицию каждый раз, когда открывается меню + + Пользовательский (перетащите в соответствующее место) + \ No newline at end of file diff --git a/Resources/lang.tr-TR.resx b/Resources/lang.tr-TR.resx index 08235e8..c484680 100644 --- a/Resources/lang.tr-TR.resx +++ b/Resources/lang.tr-TR.resx @@ -201,8 +201,8 @@ Gelişmiş - - Fare konumunda görün + + Fare konumu Klasörü değiştir @@ -417,4 +417,7 @@ Menü her açıldığında konumu güncelleyin + + Özel (uygun yere sürükleyin) + \ No newline at end of file diff --git a/Resources/lang.vi-VN.resx b/Resources/lang.vi-VN.resx index 9c65331..55484c7 100644 --- a/Resources/lang.vi-VN.resx +++ b/Resources/lang.vi-VN.resx @@ -201,8 +201,8 @@ Nâng cao - - Xuất hiện tại vị trí chuột + + Vị trí chuột Thay đổi thư mục @@ -417,4 +417,7 @@ Cập nhật vị trí mỗi khi menu mở ra + + Tùy chỉnh (kéo nó đến vị trí thích hợp) + \ No newline at end of file diff --git a/Resources/lang.zh-CN.resx b/Resources/lang.zh-CN.resx index 3f5c6fa..a577582 100644 --- a/Resources/lang.zh-CN.resx +++ b/Resources/lang.zh-CN.resx @@ -201,8 +201,8 @@ 先进的 - - 出现在鼠标位置 + + 鼠标位置 更改文件夹 @@ -417,4 +417,7 @@ 每次打开菜单时更新位置 + + 自定义(拖动到合适的地方) + \ No newline at end of file diff --git a/UserInterface/Menu.ControlsTheDesignerRemoves.cs b/UserInterface/Menu.ControlsTheDesignerRemoves.cs index 000f245..544848d 100644 --- a/UserInterface/Menu.ControlsTheDesignerRemoves.cs +++ b/UserInterface/Menu.ControlsTheDesignerRemoves.cs @@ -47,6 +47,9 @@ namespace SystemTrayMenu.UserInterface labelTitle.Text = "SystemTrayMenu"; labelTitle.TextAlign = ContentAlignment.MiddleCenter; labelTitle.MouseWheel += new MouseEventHandler(DgvMouseWheel); + labelTitle.MouseDown += Menu_MouseDown; + labelTitle.MouseUp += Menu_MouseUp; + labelTitle.MouseMove += Menu_MouseMove; // ColumnIcon ColumnIcon.DataPropertyName = "ColumnIcon"; diff --git a/UserInterface/Menu.Designer.cs b/UserInterface/Menu.Designer.cs index c67eb34..3777390 100644 --- a/UserInterface/Menu.Designer.cs +++ b/UserInterface/Menu.Designer.cs @@ -262,6 +262,9 @@ this.tableLayoutPanelTitle.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanelTitle.Size = new System.Drawing.Size(129, 22); this.tableLayoutPanelTitle.TabIndex = 5; + this.tableLayoutPanelTitle.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Menu_MouseDown); + this.tableLayoutPanelTitle.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Menu_MouseMove); + this.tableLayoutPanelTitle.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Menu_MouseUp); // // pictureBoxOpenFolder // diff --git a/UserInterface/Menu.cs b/UserInterface/Menu.cs index 72d8ad2..93d8022 100644 --- a/UserInterface/Menu.cs +++ b/UserInterface/Menu.cs @@ -21,6 +21,8 @@ namespace SystemTrayMenu.UserInterface private bool isShowing; private bool directionToRight; private int rotationAngle; + private bool mouseDown; + private Point lastLocation; internal Menu() { @@ -191,6 +193,8 @@ namespace SystemTrayMenu.UserInterface internal event EventHandler SearchTextChanged; + internal event EventHandlerEmpty UserDragsMenu; + internal enum MenuType { Main, @@ -371,11 +375,32 @@ namespace SystemTrayMenu.UserInterface AdjustDataGridViewHeight(menuPredecessor, bounds.Height); AdjustDataGridViewWidth(); + bool useCustomLocation = Properties.Settings.Default.UseCustomLocation || lastLocation.X > 0; + if (menuPredecessor != null) { // Ignore start as we use predecessor startLocation = StartLocation.Predecessor; } + else if (useCustomLocation && + Properties.Settings.Default.CustomLocationX > 0 && + Properties.Settings.Default.CustomLocationY > 0) + { + // Do not adjust location again because Cursor.Postion changed + if (Tag != null) + { + return; + } + + // Use this menu as predecessor and overwrite location with CustomLocation + menuPredecessor = this; + Tag = new RowData(); + Location = new Point( + Properties.Settings.Default.CustomLocationX, + Properties.Settings.Default.CustomLocationY); + directionToRight = true; + startLocation = StartLocation.Predecessor; + } else if (Properties.Settings.Default.AppearAtMouseLocation) { // Do not adjust location again because Cursor.Postion changed @@ -946,5 +971,32 @@ namespace SystemTrayMenu.UserInterface timerUpdateIcons.Stop(); } } + + private void Menu_MouseDown(object sender, MouseEventArgs e) + { + mouseDown = true; + lastLocation = e.Location; + UserDragsMenu.Invoke(); + } + + private void Menu_MouseMove(object sender, MouseEventArgs e) + { + if (mouseDown) + { + Location = new Point( + Location.X - lastLocation.X + e.X, + Location.Y - lastLocation.Y + e.Y); + + Properties.Settings.Default.CustomLocationX = Location.X; + Properties.Settings.Default.CustomLocationY = Location.Y; + + Update(); + } + } + + private void Menu_MouseUp(object sender, MouseEventArgs e) + { + mouseDown = false; + } } } \ No newline at end of file diff --git a/UserInterface/SettingsForm.Designer.cs b/UserInterface/SettingsForm.Designer.cs index dbd4ec9..e970dd4 100644 --- a/UserInterface/SettingsForm.Designer.cs +++ b/UserInterface/SettingsForm.Designer.cs @@ -101,9 +101,10 @@ namespace SystemTrayMenu.UserInterface this.buttonAdvancedDefault = new System.Windows.Forms.Button(); this.groupBoxMenuAppearAt = new System.Windows.Forms.GroupBox(); this.tableLayoutPanelMenuAppearAt = new System.Windows.Forms.TableLayoutPanel(); + this.radioButtonUseCustomLocation = new System.Windows.Forms.RadioButton(); this.radioButtonAppearAtTheBottomLeft = new System.Windows.Forms.RadioButton(); - this.checkBoxRefreshLocationEachTime = new System.Windows.Forms.CheckBox(); this.radioButtonAppearAtTheBottomRight = new System.Windows.Forms.RadioButton(); + this.checkBoxRefreshLocationEachTime = new System.Windows.Forms.CheckBox(); this.radioButtonAppearAtMouseLocation = new System.Windows.Forms.RadioButton(); this.tabPageExpert = new System.Windows.Forms.TabPage(); this.tableLayoutPanelExpert = new System.Windows.Forms.TableLayoutPanel(); @@ -1427,7 +1428,7 @@ namespace SystemTrayMenu.UserInterface // this.buttonAdvancedDefault.AutoSize = true; this.buttonAdvancedDefault.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.buttonAdvancedDefault.Location = new System.Drawing.Point(9, 362); + this.buttonAdvancedDefault.Location = new System.Drawing.Point(9, 387); this.buttonAdvancedDefault.Margin = new System.Windows.Forms.Padding(9, 9, 3, 9); this.buttonAdvancedDefault.MinimumSize = new System.Drawing.Size(75, 25); this.buttonAdvancedDefault.Name = "buttonAdvancedDefault"; @@ -1447,7 +1448,7 @@ namespace SystemTrayMenu.UserInterface this.groupBoxMenuAppearAt.MaximumSize = new System.Drawing.Size(400, 0); this.groupBoxMenuAppearAt.MinimumSize = new System.Drawing.Size(400, 0); this.groupBoxMenuAppearAt.Name = "groupBoxMenuAppearAt"; - this.groupBoxMenuAppearAt.Size = new System.Drawing.Size(400, 122); + this.groupBoxMenuAppearAt.Size = new System.Drawing.Size(400, 147); this.groupBoxMenuAppearAt.TabIndex = 1; this.groupBoxMenuAppearAt.TabStop = false; this.groupBoxMenuAppearAt.Text = "groupBoxMenuAppearAt"; @@ -1458,21 +1459,35 @@ namespace SystemTrayMenu.UserInterface this.tableLayoutPanelMenuAppearAt.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.tableLayoutPanelMenuAppearAt.ColumnCount = 1; this.tableLayoutPanelMenuAppearAt.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanelMenuAppearAt.Controls.Add(this.radioButtonUseCustomLocation, 0, 2); this.tableLayoutPanelMenuAppearAt.Controls.Add(this.radioButtonAppearAtTheBottomLeft, 0, 1); - this.tableLayoutPanelMenuAppearAt.Controls.Add(this.checkBoxRefreshLocationEachTime, 0, 3); this.tableLayoutPanelMenuAppearAt.Controls.Add(this.radioButtonAppearAtTheBottomRight, 0, 0); - this.tableLayoutPanelMenuAppearAt.Controls.Add(this.radioButtonAppearAtMouseLocation, 0, 2); + this.tableLayoutPanelMenuAppearAt.Controls.Add(this.checkBoxRefreshLocationEachTime, 0, 4); + this.tableLayoutPanelMenuAppearAt.Controls.Add(this.radioButtonAppearAtMouseLocation, 0, 3); this.tableLayoutPanelMenuAppearAt.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanelMenuAppearAt.Location = new System.Drawing.Point(3, 19); this.tableLayoutPanelMenuAppearAt.Name = "tableLayoutPanelMenuAppearAt"; - this.tableLayoutPanelMenuAppearAt.RowCount = 4; + this.tableLayoutPanelMenuAppearAt.RowCount = 5; this.tableLayoutPanelMenuAppearAt.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanelMenuAppearAt.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanelMenuAppearAt.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanelMenuAppearAt.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanelMenuAppearAt.Size = new System.Drawing.Size(394, 100); + this.tableLayoutPanelMenuAppearAt.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanelMenuAppearAt.Size = new System.Drawing.Size(394, 125); this.tableLayoutPanelMenuAppearAt.TabIndex = 1; // + // radioButtonUseCustomLocation + // + this.radioButtonUseCustomLocation.AutoSize = true; + this.radioButtonUseCustomLocation.Dock = System.Windows.Forms.DockStyle.Fill; + this.radioButtonUseCustomLocation.Location = new System.Drawing.Point(3, 53); + this.radioButtonUseCustomLocation.Name = "radioButtonUseCustomLocation"; + this.radioButtonUseCustomLocation.Size = new System.Drawing.Size(388, 19); + this.radioButtonUseCustomLocation.TabIndex = 2; + this.radioButtonUseCustomLocation.TabStop = true; + this.radioButtonUseCustomLocation.Text = "radioButtonUseCustomLocation"; + this.radioButtonUseCustomLocation.UseVisualStyleBackColor = true; + // // radioButtonAppearAtTheBottomLeft // this.radioButtonAppearAtTheBottomLeft.AutoSize = true; @@ -1485,17 +1500,6 @@ namespace SystemTrayMenu.UserInterface this.radioButtonAppearAtTheBottomLeft.Text = "radioButtonradioButtonAppearAtTheBottomLeft"; this.radioButtonAppearAtTheBottomLeft.UseVisualStyleBackColor = true; // - // checkBoxRefreshLocationEachTime - // - this.checkBoxRefreshLocationEachTime.AutoSize = true; - this.checkBoxRefreshLocationEachTime.Dock = System.Windows.Forms.DockStyle.Fill; - this.checkBoxRefreshLocationEachTime.Location = new System.Drawing.Point(3, 78); - this.checkBoxRefreshLocationEachTime.Name = "checkBoxRefreshLocationEachTime"; - this.checkBoxRefreshLocationEachTime.Size = new System.Drawing.Size(388, 19); - this.checkBoxRefreshLocationEachTime.TabIndex = 0; - this.checkBoxRefreshLocationEachTime.Text = "checkBoxRefreshLocationEachTime"; - this.checkBoxRefreshLocationEachTime.UseVisualStyleBackColor = true; - // // radioButtonAppearAtTheBottomRight // this.radioButtonAppearAtTheBottomRight.AutoSize = true; @@ -1508,11 +1512,22 @@ namespace SystemTrayMenu.UserInterface this.radioButtonAppearAtTheBottomRight.Text = "radioButtonAppearAtTheBottomRight"; this.radioButtonAppearAtTheBottomRight.UseVisualStyleBackColor = true; // + // checkBoxRefreshLocationEachTime + // + this.checkBoxRefreshLocationEachTime.AutoSize = true; + this.checkBoxRefreshLocationEachTime.Dock = System.Windows.Forms.DockStyle.Fill; + this.checkBoxRefreshLocationEachTime.Location = new System.Drawing.Point(3, 103); + this.checkBoxRefreshLocationEachTime.Name = "checkBoxRefreshLocationEachTime"; + this.checkBoxRefreshLocationEachTime.Size = new System.Drawing.Size(388, 19); + this.checkBoxRefreshLocationEachTime.TabIndex = 0; + this.checkBoxRefreshLocationEachTime.Text = "checkBoxRefreshLocationEachTime"; + this.checkBoxRefreshLocationEachTime.UseVisualStyleBackColor = true; + // // radioButtonAppearAtMouseLocation // this.radioButtonAppearAtMouseLocation.AutoSize = true; this.radioButtonAppearAtMouseLocation.Dock = System.Windows.Forms.DockStyle.Fill; - this.radioButtonAppearAtMouseLocation.Location = new System.Drawing.Point(3, 53); + this.radioButtonAppearAtMouseLocation.Location = new System.Drawing.Point(3, 78); this.radioButtonAppearAtMouseLocation.Name = "radioButtonAppearAtMouseLocation"; this.radioButtonAppearAtMouseLocation.Size = new System.Drawing.Size(388, 19); this.radioButtonAppearAtMouseLocation.TabIndex = 3; @@ -4798,5 +4813,6 @@ namespace SystemTrayMenu.UserInterface private System.Windows.Forms.CheckBox checkBoxRefreshLocationEachTime; private System.Windows.Forms.RadioButton radioButtonAppearAtTheBottomRight; private System.Windows.Forms.RadioButton radioButtonAppearAtMouseLocation; + private System.Windows.Forms.RadioButton radioButtonUseCustomLocation; } } \ No newline at end of file diff --git a/UserInterface/SettingsForm.cs b/UserInterface/SettingsForm.cs index 5e624f0..7e4a38f 100644 --- a/UserInterface/SettingsForm.cs +++ b/UserInterface/SettingsForm.cs @@ -152,7 +152,8 @@ namespace SystemTrayMenu.UserInterface groupBoxMenuAppearAt.Text = Translator.GetText("Main menu appears at"); radioButtonAppearAtTheBottomLeft.Text = Translator.GetText("Bottom left"); radioButtonAppearAtTheBottomRight.Text = Translator.GetText("Bottom right"); - radioButtonAppearAtMouseLocation.Text = Translator.GetText("Appear at mouse location"); + radioButtonUseCustomLocation.Text = Translator.GetText("Custom (drag it to the appropriate place)"); + radioButtonAppearAtMouseLocation.Text = Translator.GetText("Mouse location"); checkBoxRefreshLocationEachTime.Text = Translator.GetText("Update the position every time the menu opens"); buttonAdvancedDefault.Text = Translator.GetText("Default"); groupBoxStaysOpen.Text = Translator.GetText("Stays open"); @@ -365,7 +366,11 @@ namespace SystemTrayMenu.UserInterface numericUpDownMenuHeight.Increment = 10; numericUpDownMenuHeight.Value = Settings.Default.MaximumMenuHeight; - if (Settings.Default.AppearAtMouseLocation) + if (Settings.Default.UseCustomLocation) + { + radioButtonUseCustomLocation.Checked = true; + } + else if (Settings.Default.AppearAtMouseLocation) { radioButtonAppearAtMouseLocation.Checked = true; } @@ -741,18 +746,27 @@ namespace SystemTrayMenu.UserInterface Settings.Default.MaximumMenuWidth = (int)numericUpDownMenuWidth.Value; Settings.Default.MaximumMenuHeight = (int)numericUpDownMenuHeight.Value; - if (radioButtonAppearAtMouseLocation.Checked) + if (radioButtonUseCustomLocation.Checked) { + Settings.Default.UseCustomLocation = true; + Settings.Default.AppearAtMouseLocation = false; + Settings.Default.AppearAtTheBottomLeft = false; + } + else if (radioButtonAppearAtMouseLocation.Checked) + { + Settings.Default.UseCustomLocation = false; Settings.Default.AppearAtMouseLocation = true; Settings.Default.AppearAtTheBottomLeft = false; } else if (radioButtonAppearAtTheBottomLeft.Checked) { + Settings.Default.UseCustomLocation = false; Settings.Default.AppearAtMouseLocation = false; Settings.Default.AppearAtTheBottomLeft = true; } else { + Settings.Default.UseCustomLocation = false; Settings.Default.AppearAtMouseLocation = false; Settings.Default.AppearAtTheBottomLeft = false; } @@ -1009,6 +1023,7 @@ namespace SystemTrayMenu.UserInterface checkBoxShowInTaskbar.Checked = false; radioButtonAppearAtTheBottomRight.Checked = true; radioButtonAppearAtTheBottomLeft.Checked = false; + radioButtonUseCustomLocation.Checked = false; radioButtonAppearAtMouseLocation.Checked = false; checkBoxRefreshLocationEachTime.Checked = false; }