[Feature] Drag menu to custom location (#249), version 1.1.0.7

This commit is contained in:
Markus Hofknecht 2021-11-24 19:01:59 +01:00
parent 79f0bbe740
commit 7a0bfef122
23 changed files with 369 additions and 172 deletions

View file

@ -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)
{

View file

@ -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")]

View file

@ -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()]

View file

@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия: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.
// </auto-generated>
//------------------------------------------------------------------------------
@ -13,12 +13,12 @@ namespace SystemTrayMenu.Resources {
/// <summary>
/// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Этот класс создан автоматически классом 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 {
}
/// <summary>
/// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
@ -47,8 +47,8 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Перезаписывает свойство CurrentUICulture текущего потока для всех
/// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
@ -61,7 +61,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на About.
/// Sucht eine lokalisierte Zeichenfolge, die About ähnelt.
/// </summary>
internal static string About {
get {
@ -70,7 +70,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Activated.
/// Sucht eine lokalisierte Zeichenfolge, die Activated ähnelt.
/// </summary>
internal static string Activated {
get {
@ -79,7 +79,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Add folder.
/// Sucht eine lokalisierte Zeichenfolge, die Add folder ähnelt.
/// </summary>
internal static string Add_folder {
get {
@ -88,7 +88,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Add folders to main menu.
/// Sucht eine lokalisierte Zeichenfolge, die Add folders to main menu ähnelt.
/// </summary>
internal static string Add_folders_to_main_menu {
get {
@ -97,7 +97,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Add sample &apos;Start Menu&apos; folder.
/// Sucht eine lokalisierte Zeichenfolge, die Add sample &apos;Start Menu&apos; folder ähnelt.
/// </summary>
internal static string Add_sample__Start_Menu__folder {
get {
@ -106,7 +106,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Advanced.
/// Sucht eine lokalisierte Zeichenfolge, die Advanced ähnelt.
/// </summary>
internal static string Advanced {
get {
@ -115,16 +115,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Appear at mouse location.
/// </summary>
internal static string Appear_at_mouse_location {
get {
return ResourceManager.GetString("Appear at mouse location", resourceCulture);
}
}
/// <summary>
/// Ищет локализованную строку, похожую на Appearance.
/// Sucht eine lokalisierte Zeichenfolge, die Appearance ähnelt.
/// </summary>
internal static string Appearance {
get {
@ -133,7 +124,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Arrow.
/// Sucht eine lokalisierte Zeichenfolge, die Arrow ähnelt.
/// </summary>
internal static string Arrow {
get {
@ -142,7 +133,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Arrow when clicking.
/// Sucht eine lokalisierte Zeichenfolge, die Arrow when clicking ähnelt.
/// </summary>
internal static string Arrow_when_clicking {
get {
@ -151,7 +142,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Arrow while mouse hovers.
/// Sucht eine lokalisierte Zeichenfolge, die Arrow while mouse hovers ähnelt.
/// </summary>
internal static string Arrow_while_mouse_hovers {
get {
@ -160,7 +151,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Autostart.
/// Sucht eine lokalisierte Zeichenfolge, die Autostart ähnelt.
/// </summary>
internal static string Autostart {
get {
@ -169,7 +160,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Background.
/// Sucht eine lokalisierte Zeichenfolge, die Background ähnelt.
/// </summary>
internal static string Background {
get {
@ -178,7 +169,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Background of arrow when clicking.
/// Sucht eine lokalisierte Zeichenfolge, die Background of arrow when clicking ähnelt.
/// </summary>
internal static string Background_of_arrow_when_clicking {
get {
@ -187,7 +178,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Background of arrow while mouse hovers.
/// Sucht eine lokalisierte Zeichenfolge, die Background of arrow while mouse hovers ähnelt.
/// </summary>
internal static string Background_of_arrow_while_mouse_hovers {
get {
@ -196,7 +187,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Border of menu.
/// Sucht eine lokalisierte Zeichenfolge, die Border of menu ähnelt.
/// </summary>
internal static string Border_of_menu {
get {
@ -205,7 +196,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Border of opened folder.
/// Sucht eine lokalisierte Zeichenfolge, die Border of opened folder ähnelt.
/// </summary>
internal static string Border_of_opened_folder {
get {
@ -214,7 +205,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Border of selected item.
/// Sucht eine lokalisierte Zeichenfolge, die Border of selected item ähnelt.
/// </summary>
internal static string Border_of_selected_item {
get {
@ -223,7 +214,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Bottom left.
/// Sucht eine lokalisierte Zeichenfolge, die Bottom left ähnelt.
/// </summary>
internal static string Bottom_left {
get {
@ -232,7 +223,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Bottom right.
/// Sucht eine lokalisierte Zeichenfolge, die Bottom right ähnelt.
/// </summary>
internal static string Bottom_right {
get {
@ -241,7 +232,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Cancel.
/// Sucht eine lokalisierte Zeichenfolge, die Cancel ähnelt.
/// </summary>
internal static string buttonCancel {
get {
@ -250,7 +241,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Details.
/// Sucht eine lokalisierte Zeichenfolge, die Details ähnelt.
/// </summary>
internal static string buttonDetails {
get {
@ -259,7 +250,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на OK.
/// Sucht eine lokalisierte Zeichenfolge, die OK ähnelt.
/// </summary>
internal static string buttonOk {
get {
@ -268,7 +259,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на System Info.
/// Sucht eine lokalisierte Zeichenfolge, die System Info ähnelt.
/// </summary>
internal static string buttonSystemInfo {
get {
@ -277,7 +268,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Cache main menu.
/// Sucht eine lokalisierte Zeichenfolge, die Cache main menu ähnelt.
/// </summary>
internal static string Cache_main_menu {
get {
@ -286,7 +277,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Change folder.
/// Sucht eine lokalisierte Zeichenfolge, die Change folder ähnelt.
/// </summary>
internal static string Change_folder {
get {
@ -295,7 +286,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Change to relative folder.
/// Sucht eine lokalisierte Zeichenfolge, die Change to relative folder ähnelt.
/// </summary>
internal static string Change_to_relative_folder {
get {
@ -304,7 +295,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Clear cache if more than this number of items.
/// Sucht eine lokalisierte Zeichenfolge, die Clear cache if more than this number of items ähnelt.
/// </summary>
internal static string Clear_cache_if_more_than_this_number_of_items {
get {
@ -313,7 +304,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Click.
/// Sucht eine lokalisierte Zeichenfolge, die Click ähnelt.
/// </summary>
internal static string Click {
get {
@ -322,7 +313,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Colors Dark Mode.
/// Sucht eine lokalisierte Zeichenfolge, die Colors Dark Mode ähnelt.
/// </summary>
internal static string Colors_Dark_Mode {
get {
@ -331,7 +322,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Colors Light Mode.
/// Sucht eine lokalisierte Zeichenfolge, die Colors Light Mode ähnelt.
/// </summary>
internal static string Colors_Light_Mode {
get {
@ -340,7 +331,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Couldnt register the hot key..
/// Sucht eine lokalisierte Zeichenfolge, die Couldnt register the hot key. ähnelt.
/// </summary>
internal static string Could_not_register_the_hot_key_ {
get {
@ -349,7 +340,16 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Customize.
/// Sucht eine lokalisierte Zeichenfolge, die Custom (drag it to the appropriate place) ähnelt.
/// </summary>
internal static string Custom__drag_it_to_the_appropriate_place_ {
get {
return ResourceManager.GetString("Custom (drag it to the appropriate place)", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Customize ähnelt.
/// </summary>
internal static string Customize {
get {
@ -358,7 +358,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Dark Mode always active.
/// Sucht eine lokalisierte Zeichenfolge, die Dark Mode always active ähnelt.
/// </summary>
internal static string Dark_Mode_always_active {
get {
@ -367,7 +367,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Deactivated.
/// Sucht eine lokalisierte Zeichenfolge, die Deactivated ähnelt.
/// </summary>
internal static string Deactivated {
get {
@ -376,7 +376,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Default.
/// Sucht eine lokalisierte Zeichenfolge, die Default ähnelt.
/// </summary>
internal static string Default {
get {
@ -385,7 +385,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Exit.
/// Sucht eine lokalisierte Zeichenfolge, die Exit ähnelt.
/// </summary>
internal static string Exit {
get {
@ -394,7 +394,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Expert.
/// Sucht eine lokalisierte Zeichenfolge, die Expert ähnelt.
/// </summary>
internal static string Expert {
get {
@ -403,7 +403,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Folder.
/// Sucht eine lokalisierte Zeichenfolge, die Folder ähnelt.
/// </summary>
internal static string Folder {
get {
@ -412,7 +412,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Folder empty.
/// Sucht eine lokalisierte Zeichenfolge, die Folder empty ähnelt.
/// </summary>
internal static string Folder_empty {
get {
@ -421,7 +421,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Folder inaccessible.
/// Sucht eine lokalisierte Zeichenfolge, die Folder inaccessible ähnelt.
/// </summary>
internal static string Folder_inaccessible {
get {
@ -430,7 +430,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Folder paths.
/// Sucht eine lokalisierte Zeichenfolge, die Folder paths ähnelt.
/// </summary>
internal static string Folder_paths {
get {
@ -439,7 +439,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Folders.
/// Sucht eine lokalisierte Zeichenfolge, die Folders ähnelt.
/// </summary>
internal static string Folders {
get {
@ -448,7 +448,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на General.
/// Sucht eine lokalisierte Zeichenfolge, die General ähnelt.
/// </summary>
internal static string General {
get {
@ -457,7 +457,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Help / FAQ.
/// Sucht eine lokalisierte Zeichenfolge, die Help / FAQ ähnelt.
/// </summary>
internal static string HelpFAQ {
get {
@ -466,7 +466,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Hotkey.
/// Sucht eine lokalisierte Zeichenfolge, die Hotkey ähnelt.
/// </summary>
internal static string Hotkey {
get {
@ -475,7 +475,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Icons.
/// Sucht eine lokalisierte Zeichenfolge, die Icons ähnelt.
/// </summary>
internal static string Icons {
get {
@ -484,7 +484,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на If an item was clicked.
/// Sucht eine lokalisierte Zeichenfolge, die If an item was clicked ähnelt.
/// </summary>
internal static string If_an_item_was_clicked {
get {
@ -493,7 +493,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
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 {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
internal static string If_the_focus_is_lost_and_the_Enter_key_was_pressed {
get {
@ -511,7 +511,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Language.
/// Sucht eine lokalisierte Zeichenfolge, die Language ähnelt.
/// </summary>
internal static string Language {
get {
@ -520,7 +520,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Launch on startup.
/// Sucht eine lokalisierte Zeichenfolge, die Launch on startup ähnelt.
/// </summary>
internal static string Launch_on_startup {
get {
@ -529,7 +529,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на loading.
/// Sucht eine lokalisierte Zeichenfolge, die loading ähnelt.
/// </summary>
internal static string loading {
get {
@ -538,7 +538,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Log File.
/// Sucht eine lokalisierte Zeichenfolge, die Log File ähnelt.
/// </summary>
internal static string Log_File {
get {
@ -547,7 +547,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Main menu appears at.
/// Sucht eine lokalisierte Zeichenfolge, die Main menu appears at ähnelt.
/// </summary>
internal static string Main_menu_appears_at {
get {
@ -556,7 +556,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Menu.
/// Sucht eine lokalisierte Zeichenfolge, die Menu ähnelt.
/// </summary>
internal static string Menu {
get {
@ -565,7 +565,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
internal static string MessageRootFolderEmpty {
get {
@ -574,7 +574,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
internal static string MessageRootFolderNoAccess {
get {
@ -583,7 +583,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
internal static string Milliseconds_until_a_menu_opens_when_the_mouse_is_on_it {
get {
@ -592,7 +592,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
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 {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
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 {
}
/// <summary>
/// Ищет локализованную строку, похожую на Mouse location (Above Taskbar icon).
/// Sucht eine lokalisierte Zeichenfolge, die Mouse location ähnelt.
/// </summary>
internal static string Mouse_location {
get {
return ResourceManager.GetString("Mouse location", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Mouse location (Above Taskbar icon) ähnelt.
/// </summary>
internal static string Mouse_location__Above_Taskbar_icon_ {
get {
@ -620,7 +629,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Only Files.
/// Sucht eine lokalisierte Zeichenfolge, die Only Files ähnelt.
/// </summary>
internal static string Only_Files {
get {
@ -629,7 +638,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Open Folder.
/// Sucht eine lokalisierte Zeichenfolge, die Open Folder ähnelt.
/// </summary>
internal static string Open_Folder {
get {
@ -638,7 +647,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Open the assembly location.
/// Sucht eine lokalisierte Zeichenfolge, die Open the assembly location ähnelt.
/// </summary>
internal static string Open_the_assembly_location {
get {
@ -647,7 +656,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Opened folder.
/// Sucht eine lokalisierte Zeichenfolge, die Opened folder ähnelt.
/// </summary>
internal static string Opened_folder {
get {
@ -656,7 +665,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Pixels maximum menu height.
/// Sucht eine lokalisierte Zeichenfolge, die Pixels maximum menu height ähnelt.
/// </summary>
internal static string Pixels_maximum_menu_height {
get {
@ -665,7 +674,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Pixels maximum menu width.
/// Sucht eine lokalisierte Zeichenfolge, die Pixels maximum menu width ähnelt.
/// </summary>
internal static string Pixels_maximum_menu_width {
get {
@ -674,7 +683,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Problem with Shortcut.
/// Sucht eine lokalisierte Zeichenfolge, die Problem with Shortcut ähnelt.
/// </summary>
internal static string Problem_with_Shortcut {
get {
@ -683,7 +692,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Recursive.
/// Sucht eine lokalisierte Zeichenfolge, die Recursive ähnelt.
/// </summary>
internal static string Recursive {
get {
@ -692,7 +701,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Remove folder.
/// Sucht eine lokalisierte Zeichenfolge, die Remove folder ähnelt.
/// </summary>
internal static string Remove_folder {
get {
@ -701,7 +710,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Restart.
/// Sucht eine lokalisierte Zeichenfolge, die Restart ähnelt.
/// </summary>
internal static string Restart {
get {
@ -710,7 +719,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Round corners.
/// Sucht eine lokalisierte Zeichenfolge, die Round corners ähnelt.
/// </summary>
internal static string Round_corners {
get {
@ -719,7 +728,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Row height in percentage.
/// Sucht eine lokalisierte Zeichenfolge, die Row height in percentage ähnelt.
/// </summary>
internal static string Row_height_in_percentage {
get {
@ -728,7 +737,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Scrollbar.
/// Sucht eine lokalisierte Zeichenfolge, die Scrollbar ähnelt.
/// </summary>
internal static string Scrollbar {
get {
@ -737,7 +746,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Search field.
/// Sucht eine lokalisierte Zeichenfolge, die Search field ähnelt.
/// </summary>
internal static string Search_field {
get {
@ -746,7 +755,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Select Folder.
/// Sucht eine lokalisierte Zeichenfolge, die Select Folder ähnelt.
/// </summary>
internal static string Select_Folder {
get {
@ -755,7 +764,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Selected item.
/// Sucht eine lokalisierte Zeichenfolge, die Selected item ähnelt.
/// </summary>
internal static string Selected_item {
get {
@ -764,7 +773,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Set as SystemTrayMenu folder.
/// Sucht eine lokalisierte Zeichenfolge, die Set as SystemTrayMenu folder ähnelt.
/// </summary>
internal static string Set_as_SystemTrayMenu_folder {
get {
@ -773,7 +782,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Set by context menu .
/// Sucht eine lokalisierte Zeichenfolge, die Set by context menu ähnelt.
/// </summary>
internal static string Set_by_context_menu_ {
get {
@ -782,7 +791,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Settings.
/// Sucht eine lokalisierte Zeichenfolge, die Settings ähnelt.
/// </summary>
internal static string Settings {
get {
@ -791,7 +800,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Show in Taskbar.
/// Sucht eine lokalisierte Zeichenfolge, die Show in Taskbar ähnelt.
/// </summary>
internal static string Show_in_Taskbar {
get {
@ -800,7 +809,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
internal static string Single_click_to_start_item {
get {
@ -809,7 +818,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Size.
/// Sucht eine lokalisierte Zeichenfolge, die Size ähnelt.
/// </summary>
internal static string Size {
get {
@ -818,7 +827,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Slider.
/// Sucht eine lokalisierte Zeichenfolge, die Slider ähnelt.
/// </summary>
internal static string Slider {
get {
@ -827,7 +836,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Slider while dragging.
/// Sucht eine lokalisierte Zeichenfolge, die Slider while dragging ähnelt.
/// </summary>
internal static string Slider_while_dragging {
get {
@ -836,7 +845,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Slider while mouse hovers 1.
/// Sucht eine lokalisierte Zeichenfolge, die Slider while mouse hovers 1 ähnelt.
/// </summary>
internal static string Slider_while_mouse_hovers_1 {
get {
@ -845,7 +854,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Slider while mouse hovers 2.
/// Sucht eine lokalisierte Zeichenfolge, die Slider while mouse hovers 2 ähnelt.
/// </summary>
internal static string Slider_while_mouse_hovers_2 {
get {
@ -854,7 +863,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Stays open.
/// Sucht eine lokalisierte Zeichenfolge, die Stays open ähnelt.
/// </summary>
internal static string Stays_open {
get {
@ -863,7 +872,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Store config at the assembly location.
/// Sucht eine lokalisierte Zeichenfolge, die Store config at the assembly location ähnelt.
/// </summary>
internal static string Store_config_at_the_assembly_location {
get {
@ -872,7 +881,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на SystemTrayMenu.
/// Sucht eine lokalisierte Zeichenfolge, die SystemTrayMenu ähnelt.
/// </summary>
internal static string SystemTrayMenu {
get {
@ -881,7 +890,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Task Manger.
/// Sucht eine lokalisierte Zeichenfolge, die Task Manger ähnelt.
/// </summary>
internal static string Task_Manger {
get {
@ -890,7 +899,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
internal static string TextFirstStart {
get {
@ -899,7 +908,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на 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.
/// </summary>
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 {
}
/// <summary>
/// Ищет локализованную строку, похожую на Time until a menu opens.
/// Sucht eine lokalisierte Zeichenfolge, die Time until a menu opens ähnelt.
/// </summary>
internal static string Time_until_a_menu_opens {
get {
@ -918,7 +927,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Title.
/// Sucht eine lokalisierte Zeichenfolge, die Title ähnelt.
/// </summary>
internal static string Title {
get {
@ -927,7 +936,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Update the position every time the menu opens.
/// Sucht eine lokalisierte Zeichenfolge, die Update the position every time the menu opens ähnelt.
/// </summary>
internal static string Update_the_position_every_time_the_menu_opens {
get {
@ -936,7 +945,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на USB.
/// Sucht eine lokalisierte Zeichenfolge, die USB ähnelt.
/// </summary>
internal static string USB {
get {
@ -945,7 +954,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Use icon from folder.
/// Sucht eine lokalisierte Zeichenfolge, die Use icon from folder ähnelt.
/// </summary>
internal static string Use_icon_from_folder {
get {
@ -954,7 +963,7 @@ namespace SystemTrayMenu.Resources {
}
/// <summary>
/// Ищет локализованную строку, похожую на Warning.
/// Sucht eine lokalisierte Zeichenfolge, die Warning ähnelt.
/// </summary>
internal static string Warning {
get {

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Pokročilý</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Objevte se na místě myši</value>
<data name="Mouse location" xml:space="preserve">
<value>Umístění myši</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Změnit složku</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Aktualizujte pozici při každém otevření nabídky</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Vlastní (přetáhněte jej na příslušné místo)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Erweitert</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Erscheint an der Mausposition</value>
<data name="Mouse location" xml:space="preserve">
<value>Mausposition</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Ordner ändern</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Aktualisieren Sie die Position jedes Mal, wenn das Menü geöffnet wird</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Benutzerdefiniert (an die entsprechende Stelle ziehen)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Avanzado</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Aparecen en la ubicación del mouse</value>
<data name="Mouse location" xml:space="preserve">
<value>Ubicación del mouse</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Cambiar carpeta</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Actualizar la posición cada vez que se abre el menú</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Personalizado (arrástrelo al lugar apropiado)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Avancée</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Apparaître à l'emplacement de la souris</value>
<data name="Mouse location" xml:space="preserve">
<value>Emplacement de la souris</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Changer de dossier</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Mettre à jour la position à chaque ouverture du menu</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Personnalisé (faites-le glisser à l'endroit approprié)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Avanzate</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Appaiono nella posizione del mouse</value>
<data name="Mouse location" xml:space="preserve">
<value>Posizione del mouse</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Cambia cartella</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Aggiorna la posizione ogni volta che si apre il menu</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Personalizzato (trascinalo nella posizione appropriata)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>上級</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>マウスの位置に表示</value>
<data name="Mouse location" xml:space="preserve">
<value>マウスの位置</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>フォルダを変更</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>メニューが開くたびに位置を更新します</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>カスタム(適切な場所にドラッグ)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>많은</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>마우스 위치에 표시</value>
<data name="Mouse location" xml:space="preserve">
<value>마우스 위치</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>폴더 변경</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>메뉴가 열릴 때마다 위치 업데이트</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>사용자 지정(적절한 위치로 드래그)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Geavanceerd</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Verschijnt op de muis locatie</value>
<data name="Mouse location" xml:space="preserve">
<value>Muis locatie</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Verander Map</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Update de positie elke keer dat het menu wordt geopend</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Aangepast (sleep het naar de juiste plaats)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Avançado</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Aparecer na posição do mouse</value>
<data name="Mouse location" xml:space="preserve">
<value>Posição do mouse</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Mudar Pasta</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Atualize a posição sempre que o menu for aberto</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Personalizado (arraste-o para o local apropriado)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Advanced</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Appear at mouse location</value>
<data name="Mouse location" xml:space="preserve">
<value>Mouse location</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Change folder</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Update the position every time the menu opens</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Custom (drag it to the appropriate place)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Вид и поведение</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Показывать в месте нахождения мыши</value>
<data name="Mouse location" xml:space="preserve">
<value>Положение мыши</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Изменить папку</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Обновлять позицию каждый раз, когда открывается меню</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Пользовательский (перетащите в соответствующее место)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Gelişmiş</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Fare konumunda görün</value>
<data name="Mouse location" xml:space="preserve">
<value>Fare konumu</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Klasörü değiştir</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Menü her açıldığında konumu güncelleyin</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Özel (uygun yere sürükleyin)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>Nâng cao</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>Xuất hiện tại vị trí chuột</value>
<data name="Mouse location" xml:space="preserve">
<value>Vị trí chuột</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>Thay đổi thư mục</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>Cập nhật vị trí mỗi khi menu mở ra</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>Tùy chỉnh (kéo nó đến vị trí thích hợp)</value>
</data>
</root>

View file

@ -201,8 +201,8 @@
<data name="Advanced" xml:space="preserve">
<value>先进的</value>
</data>
<data name="Appear at mouse location" xml:space="preserve">
<value>出现在鼠标位置</value>
<data name="Mouse location" xml:space="preserve">
<value>鼠标位置</value>
</data>
<data name="Change folder" xml:space="preserve">
<value>更改文件夹</value>
@ -417,4 +417,7 @@
<data name="Update the position every time the menu opens" xml:space="preserve">
<value>每次打开菜单时更新位置</value>
</data>
<data name="Custom (drag it to the appropriate place)" xml:space="preserve">
<value>自定义(拖动到合适的地方)</value>
</data>
</root>

View file

@ -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";

View file

@ -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
//

View file

@ -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;
}
}
}

View file

@ -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;
}
}

View file

@ -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;
}