From 2890b19e31b57054466d1abb968ae41d2bf9ddcb Mon Sep 17 00:00:00 2001 From: Asaq Date: Sat, 2 Jan 2021 15:23:51 +0300 Subject: [PATCH] Linkbar release 1.6.9 --- README.md | 5 +- components/ColorPicker/ColorPicker.pas | 2 +- components/ColorPicker/ColorUtils.pas | 2 +- components/HotKey/HotKey.pas | 2 +- .../Jumplist/JumpLists.Api.Deprecated.pas | 2 +- components/Jumplist/JumpLists.Api_2.pas | 2 +- components/Jumplist/Jumplists.Form.pas | 8 +- components/Jumplist/Jumplists.Theme.pas | 2 +- components/L10n/Linkbar.L10n.pas | 2 +- components/NewBar/Linkbar.Newbar.pas | 2 +- components/NewBar/MyHint.pas | 2 +- components/RenameDialog/RenameDialog.pas | 2 +- components/SpinEdit/NewSpin.pas | 2 +- exe/Locales/de-DE.ini | 51 +- exe/Locales/el-GR.ini | 47 +- exe/Locales/en-US.ini | 52 +- exe/Locales/es-ES.ini | 71 +- exe/Locales/fr-FR.ini | 47 +- exe/Locales/id-ID.ini | 51 +- exe/Locales/it-IT.ini | 69 +- exe/Locales/ja-JP.ini | 53 +- exe/Locales/ko-KR.ini | 49 +- exe/Locales/pl-PL.ini | 47 +- exe/Locales/pt-BR.ini | 71 +- exe/Locales/ru-RU.ini | 50 +- exe/Locales/zh-CN.ini | 67 +- exe/README.txt | 55 +- src/AccessBar.pas | 2 +- src/DDForms.pas | 2 +- src/ExplorerMenu.pas | 2 +- src/LBToolbar.pas | 2 +- src/Linkbar.Common.pas | 2 +- src/Linkbar.Consts.pas | 2 +- src/Linkbar.ExceptionDialog.dfm | 106 + src/Linkbar.ExceptionDialog.pas | 752 ++++++ src/Linkbar.Graphics.pas | 2 +- src/Linkbar.Hint.pas | 2 +- src/Linkbar.OS.pas | 2 +- src/Linkbar.Settings.pas | 2 +- src/Linkbar.SettingsForm.dfm | 70 +- src/Linkbar.SettingsForm.pas | 98 +- src/Linkbar.Shell.pas | 2 +- src/Linkbar.Taskbar.pas | 2 +- src/Linkbar.Theme.pas | 2 +- src/Linkbar.Undoc.pas | 2 +- src/Linkbar.dpr | 11 +- src/Linkbar.dproj | 2125 ++++++++--------- src/mUnit.dfm | 6 +- src/mUnit.pas | 12 +- 49 files changed, 2557 insertions(+), 1466 deletions(-) create mode 100644 src/Linkbar.ExceptionDialog.dfm create mode 100644 src/Linkbar.ExceptionDialog.pas diff --git a/README.md b/README.md index 3b81e7d..9dd3b9f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ -![Delphi](https://img.shields.io/badge/Delphi-XE3-red.svg) +![Delphi](https://img.shields.io/badge/Delphi-10.3_CE-red.svg) ![Windows](https://img.shields.io/badge/Windows-Vista--10-blue.svg) ![License](https://img.shields.io/badge/license-MIT-brightgreen.svg) -[![Join the chat at https://gitter.im/Linkbar/linkbar](https://badges.gitter.im/Linkbar/linkbar.svg)](https://gitter.im/Linkbar/linkbar?utm_source=share-link&utm_medium=link&utm_campaign=share-link) What is Linkbar ? @@ -20,7 +19,7 @@ See [README.txt](https://github.com/ATGH15102AFMLD/Linkbar/blob/master/exe/READM Build ------------------------------- -Build with Embarcadero Delphi XE3 or higher +Build with Embarcadero Delphi 10.3 Community Edition or higher Download ------------------------------- diff --git a/components/ColorPicker/ColorPicker.pas b/components/ColorPicker/ColorPicker.pas index f8e9ba7..f84fb6c 100644 --- a/components/ColorPicker/ColorPicker.pas +++ b/components/ColorPicker/ColorPicker.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit ColorPicker; diff --git a/components/ColorPicker/ColorUtils.pas b/components/ColorPicker/ColorUtils.pas index c76e6d2..c95e037 100644 --- a/components/ColorPicker/ColorUtils.pas +++ b/components/ColorPicker/ColorUtils.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit ColorUtils; diff --git a/components/HotKey/HotKey.pas b/components/HotKey/HotKey.pas index 7b62949..4835639 100644 --- a/components/HotKey/HotKey.pas +++ b/components/HotKey/HotKey.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit HotKey; diff --git a/components/Jumplist/JumpLists.Api.Deprecated.pas b/components/Jumplist/JumpLists.Api.Deprecated.pas index ce57e82..420b917 100644 --- a/components/Jumplist/JumpLists.Api.Deprecated.pas +++ b/components/Jumplist/JumpLists.Api.Deprecated.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} // Port JumpLists.h and JumpLists.cpp from the Classic Shell 3.6.8 http://www.classicshell.net diff --git a/components/Jumplist/JumpLists.Api_2.pas b/components/Jumplist/JumpLists.Api_2.pas index b2d9ab7..11b7ad6 100644 --- a/components/Jumplist/JumpLists.Api_2.pas +++ b/components/Jumplist/JumpLists.Api_2.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} // Port JumpLists.h and JumpLists.cpp from the Classic Shell 4.3.1 http://www.classicshell.net diff --git a/components/Jumplist/Jumplists.Form.pas b/components/Jumplist/Jumplists.Form.pas index f18372c..3617e3e 100644 --- a/components/Jumplist/Jumplists.Form.pas +++ b/components/Jumplist/Jumplists.Form.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Jumplists.Form; @@ -1944,7 +1944,7 @@ procedure TFormJumpList.JumpListPopupMenuPopup(const X, Y: Integer); begin // Unpin mi := FPopupMenu.CreateMenuItem; - mi.Caption := L10NFind('JumpList.Unpin', '&Unpin from this list'); + mi.Caption := L10NFind('Jumplist.Unpin', '&Unpin from this list'); mi.OnClick := OnJumpListUnPin; FPopupMenu.Items.Add(mi); end; @@ -1952,12 +1952,12 @@ procedure TFormJumpList.JumpListPopupMenuPopup(const X, Y: Integer); begin // Pin mi := FPopupMenu.CreateMenuItem; - mi.Caption := L10NFind('JumpList.Pin', 'P&in to this list'); + mi.Caption := L10NFind('Jumplist.Pin', 'P&in to this list'); mi.OnClick := OnJumpListPin; FPopupMenu.Items.Add(mi); // Remove mi := FPopupMenu.CreateMenuItem; - mi.Caption := L10NFind('JumpList.Remove', 'Remove &from this list'); + mi.Caption := L10NFind('Jumplist.Remove', 'Remove &from this list'); mi.OnClick := OnJumpListRemove; FPopupMenu.Items.Add(mi); end; diff --git a/components/Jumplist/Jumplists.Theme.pas b/components/Jumplist/Jumplists.Theme.pas index 03379fa..b77d6ed 100644 --- a/components/Jumplist/Jumplists.Theme.pas +++ b/components/Jumplist/Jumplists.Theme.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Jumplists.Theme; diff --git a/components/L10n/Linkbar.L10n.pas b/components/L10n/Linkbar.L10n.pas index 437d1c9..ed31b34 100644 --- a/components/L10n/Linkbar.L10n.pas +++ b/components/L10n/Linkbar.L10n.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.L10n; diff --git a/components/NewBar/Linkbar.Newbar.pas b/components/NewBar/Linkbar.Newbar.pas index b2eea22..2e12bbb 100644 --- a/components/NewBar/Linkbar.Newbar.pas +++ b/components/NewBar/Linkbar.Newbar.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Newbar; diff --git a/components/NewBar/MyHint.pas b/components/NewBar/MyHint.pas index aa76448..078e2d1 100644 --- a/components/NewBar/MyHint.pas +++ b/components/NewBar/MyHint.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit MyHint; diff --git a/components/RenameDialog/RenameDialog.pas b/components/RenameDialog/RenameDialog.pas index 9d6e2fb..da22916 100644 --- a/components/RenameDialog/RenameDialog.pas +++ b/components/RenameDialog/RenameDialog.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit RenameDialog; diff --git a/components/SpinEdit/NewSpin.pas b/components/SpinEdit/NewSpin.pas index e4c2ecc..229fd7a 100644 --- a/components/SpinEdit/NewSpin.pas +++ b/components/SpinEdit/NewSpin.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit NewSpin; diff --git a/exe/Locales/de-DE.ini b/exe/Locales/de-DE.ini index c45dc8c..08411a9 100644 --- a/exe/Locales/de-DE.ini +++ b/exe/Locales/de-DE.ini @@ -12,14 +12,15 @@ New.Create = Erstellen Menu.New = Neu Menu.Shortcut = Verknüpfung Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Offene Arbeitsverzeichnis -Menu.Create = Erstellen Linkbar... Menu.Delete = Löschen Sie das Linkbar... Menu.Lock = Linkbar fixieren Menu.Sort = Alphabetisch sortieren Menu.Properties = &Einstellungen Menu.Close = Schließen Menu.CloseAll = Schließen Sie alle +Jumplist.NewLinkbar = Erstellen Linkbar Jumplist.Recent = Zuletzt verwendet Jumplist.Frequent = Häufig Jumplist.Tasks = Aufgaben @@ -37,26 +38,50 @@ Delete.Text = Arbeitsverzeichnis: %s Delete.Verification = Löschen Arbeitsverzeichnis Message.FileNotFound = Datei existiert nicht Message.DeleteShortcut = Verknüpfung löschen? -Properties.View = Ansicht -Properties.Appearance = Konfigurieren Sie Aussehen -Properties.Position = Position auf dem Bildschirm: +Message.CloseAll = Alle linkbars schließen? Properties.Left = Links Properties.Top = Oben Properties.Right = Rechts Properties.Bottom = Unten -Properties.IconSize = Symbolgröße: -Properties.BgColor = Hintergrundfarbe: -Properties.Margins = Ränder (horizontal / vertikal): +Properties.Center = Center +Properties.PagePanel = Panel +Properties.PageItems = Artikel +Properties.PageAutoHide = Automatische Ausblenden +Properties.PageAdditional = Zusätzlich +Properties.PageAbout = Über +Properties.Appearance = Konfigurieren Sie Aussehen +Properties.Position = Position auf dem Bildschirm: Properties.Order = Reihenfolge der Verknüpfungen: Properties.LtR = Links nach rechts Properties.UtD = Oben nach unten +Properties.ItemsAlign = Ausrichten (einzelne Reihe): +Properties.BgColor = Hintergrundfarbe: +Properties.ShowTooltips = Tooltips anzeigen +Properties.ForWindows = Stil +Properties.Style1 = Verwenden Sie Stil wie Taskleiste mit kombinierten Tasten +Properties.AeroGlass = AeroGlass-Unterstützung aktivieren (separat installiert) +Properties.Transparency = Transparenz: +Properties.Opaque = Undurchsichtig +Properties.Transparent = Transparent +Properties.Glass = Glas +Properties.Theme = Farbe: +Properties.Accent = Akzent +Properties.Light = Hell +Properties.Dark = Dunkel +Properties.Shortcuts = Verknüpfungen +Properties.IconSize = Symbolgröße: +Properties.Margins = Ränder (horizontal / vertikal): Properties.TextPos = Textpositionierung: Properties.Without = Ohne Text Properties.TextWidth = Textbreite / Einzug: Properties.TextColor = Textfarbe: Properties.GlowSize = Glühengröße: Properties.AlwaysOnTop = Linkbar immer im Vordergrund halten -Properties.PageAutoHide = Automatische Ausblenden +Properties.Separators = Trennzeichen +Properties.Width = Breite: +Properties.Style = Stil: +Properties.Line = Linie +Properties.Spacer = Abstandshalter Properties.AutoHide = Konfigurieren Sie das automatische Ausblenden Properties.Hide = Ausblenden: Properties.Automatically = Automatisch @@ -72,15 +97,5 @@ Properties.Additional = Ansicht Properties.Jumplists = Sprunglisten Properties.JumplistRecentMaxItems = Anzahl der zuletzt verwendeten, in Sprunglisten anzuzeigenden Elemente: Properties.No = Nein -Properties.ForW7 = Für Windows 7: -Properties.Style1 = Verwenden Sie Stil wie Taskleiste mit kombinierten Tasten -Properties.ForW8 = Für Windows 8/8.1: -Properties.AeroGlass = AeroGlass-Unterstützung aktivieren (separat installiert) -Properties.ForW10 = Für Windows 10 -Properties.Look = Stil: -Properties.Opaque = Undurchsichtig -Properties.Transparent = Transparent -Properties.Glass = Glas -Properties.About = Über Properties.Version = Version: %s Properties.SystemInfo = Systeminformationen: \ No newline at end of file diff --git a/exe/Locales/el-GR.ini b/exe/Locales/el-GR.ini index 05f48c9..493d291 100644 --- a/exe/Locales/el-GR.ini +++ b/exe/Locales/el-GR.ini @@ -12,14 +12,15 @@ New.Create = &Δημιουργία Menu.New = Δημιουργία Menu.Shortcut = Συντόμευση Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Άνοιγμα φακέλου εργασίας -Menu.Create = Δημιουργία γραμμής σύνδεσης... Menu.Delete = Διαγραφή της γραμμής σύνδεσης... Menu.Lock = Κλείδωμα της γραμμής σύνδεσης Menu.Sort = Ταξινόμηση αλφαβητικά Menu.Properties = Ρυ&θμίσεις Menu.Close = Κλείσιμο Menu.CloseAll = Κλείσιμο όλων +Jumplist.NewLinkbar = Δημιουργία γραμμής σύνδεσης Jumplist.Recent = Πρόσφατα Jumplist.Frequent = Στοιχεία που επιλέγονται συχνότερα Jumplist.Tasks = Εργασίες @@ -37,26 +38,50 @@ Delete.Text = Κατάλογος εργασίας: %s Delete.Verification = Διαγραφή καταλόγου εργασίας Message.FileNotFound = Το αρχείο δεν υπάρχει Message.DeleteShortcut = Διαγραφή σύνδεσης; -Properties.View = Προβολή -Properties.Appearance = Ρύθμιση εμφάνισης -Properties.Position = Θέση στην οθόνη: +Message.CloseAll = Κλείσιμο όλων των linkbars; Properties.Left = Αριστερά Properties.Top = Πάνω Properties.Right = Δεξιά Properties.Bottom = Κάτω -Properties.IconSize = Μέγεθος εικονιδίου: -Properties.BgColor = Χρώμα φόντου: -Properties.Margins = Περιθώρια (οριζόντια / κάθετα): +Properties.Center = Κέντρο +Properties.PagePanel = Πίνακας +Properties.PageItems = Είδη +Properties.PageAutoHide = Αυτόματη απόκρυψη +Properties.PageAdditional = Πρόσθετος +Properties.PageAbout = Περί +Properties.Appearance = Ρύθμιση εμφάνισης +Properties.Position = Θέση στην οθόνη: Properties.Order = Σειρά των συντομεύσεων: Properties.LtR = Αριστερά προς δεξιά Properties.UtD = Πάνω προς κάτω +Properties.ItemsAlign = Στοίχιση (μονή σειρά): +Properties.BgColor = Χρώμα φόντου: +Properties.ShowTooltips = Εμφάνιση συμβουλών εργαλείων +Properties.ForWindows = Στυλ +Properties.Style1 = Χρήση στυλ, όπως της γραμμής εργασιών με συνδυασμό κουμπιών +Properties.AeroGlass = Ενεργ/ση υποστήριξης AeroGlass (εγκαθίσταται χωριστά) +Properties.Transparency = Διαφάνεια: +Properties.Opaque = Αδιαφανής +Properties.Transparent = Διαφανής +Properties.Glass = Ποτήρι +Properties.Theme = Χρώμα: +Properties.Accent = Προφορά +Properties.Light = Φως +Properties.Dark = Σκοτάδι +Properties.Shortcuts = Συντομεύσεις +Properties.IconSize = Μέγεθος εικονιδίου: +Properties.Margins = Περιθώρια (οριζόντια / κάθετα): Properties.TextPos = Θέση κειμένου: Properties.Without = Χωρίς κείμενο Properties.TextWidth = Πλάτος/Εσοχή κειμένου: Properties.TextColor = Χρώμα κειμένου: Properties.GlowSize = Μέγεθος λάμψης: Properties.AlwaysOnTop = Πάντα στην κορυφή η γραμμή σύνδεσης -Properties.PageAutoHide = Αυτόματη απόκρυψη +Properties.Separators = Διαχωριστές +Properties.Width = Πλάτος: +Properties.Style = Στυλ: +Properties.Line = Γραμμή +Properties.Spacer = Αραιώνων Properties.AutoHide = Ρύθμιση αυτόματης απόκρυψης Properties.Hide = Απόκρυψη: Properties.Automatically = Αυτόματα @@ -65,16 +90,12 @@ Properties.MouseHover = Παραμονή του δείκτη Properties.MouseLC = Αριστερό κλικ ποντικιού Properties.MouseRC = Δεξί κλικ ποντικιού Properties.Delay = Καθυστέρηση (ms): +Properties.CornerTransWidth = Πλάτος διαφάνειας γωνιών: Properties.HotKey = Συνδυασμός κλειδιών: Properties.AutoHideTransparency = Διαφανές όταν είναι κρυμμένο Properties.Additional = Πρόσθετα Properties.Jumplists = Λίστες συντομεύσεων Properties.JumplistRecentMaxItems = Αριθμόϛ πρόσφατων στοιχείων για εμφάνιση στη Λίστα συντομεύσεων: Properties.No = Οχι -Properties.ForW7 = Για Windows 7 -Properties.Style1 = Χρήση στυλ, όπως της γραμμής εργασιών με συνδυασμό κουμπιών -Properties.ForW8 = Για Windows 8/8.1 -Properties.AeroGlass = Ενεργ/ση υποστήριξης AeroGlass (εγκαθίσταται χωριστά) -Properties.About = Περί Properties.Version = Έκδοση: %s Properties.SystemInfo = Πληροφορίες συστήματος: \ No newline at end of file diff --git a/exe/Locales/en-US.ini b/exe/Locales/en-US.ini index 578b9a7..53f9566 100644 --- a/exe/Locales/en-US.ini +++ b/exe/Locales/en-US.ini @@ -12,8 +12,8 @@ New.Create = Create Menu.New = New Menu.Shortcut = Shortcut Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Open working directory -Menu.Create = Linkbar Menu.Delete = Delete the linkbar... Menu.Lock = Lock the linkbar Menu.Sort = Sort alphabetically @@ -38,26 +38,50 @@ Delete.Text = Working directory: %s Delete.Verification = Delete working directory Message.FileNotFound = File does not exists Message.DeleteShortcut = Delete shortcut? -Properties.View = Panel -Properties.Appearance = Configure appearance -Properties.Position = Position on screen: +Message.CloseAll = Close all linkbars? Properties.Left = Left Properties.Top = Top Properties.Right = Right Properties.Bottom = Bottom -Properties.IconSize = Icon size: -Properties.BgColor = Background color: -Properties.Margins = Margins (horizontal/vertical): +Properties.Center = Center +Properties.PagePanel = Panel +Properties.PageItems = Items +Properties.PageAutoHide = AutoHide +Properties.PageAdditional = Additional +Properties.PageAbout = About +Properties.Appearance = Configure appearance +Properties.Position = Position on screen: Properties.Order = Order of shortcuts: Properties.LtR = Left to right Properties.UtD = Up to down +Properties.ItemsAlign = Align (single row): +Properties.BgColor = Background color: +Properties.ShowTooltips = Show tooltips +Properties.ForWindows = Style +Properties.Style1 = Use style like taskbar with combined buttons +Properties.AeroGlass = Enable AeroGlass support (installed separately) +Properties.Transparency = Transparency: +Properties.Opaque = Opaque +Properties.Transparent = Transparent +Properties.Glass = Glass +Properties.Theme = Choose your color: +Properties.Accent = Accent +Properties.Light = Light +Properties.Dark = Dark +Properties.Shortcuts = Shortcuts +Properties.IconSize = Icon size: +Properties.Margins = Margins (horizontal/vertical): Properties.TextPos = Text position: Properties.Without = Without text Properties.TextWidth = Text width/indent: Properties.TextColor = Text color: Properties.GlowSize = Glow size: Properties.AlwaysOnTop = Keep the Linkbar on top of other windows -Properties.PageAutoHide = AutoHide +Properties.Separators = Separators +Properties.Width = Width: +Properties.Style = Style: +Properties.Line = Line +Properties.Spacer = Spacer Properties.AutoHide = Configure auto-hide Properties.Hide = Hide: Properties.Automatically = Automatically @@ -73,15 +97,5 @@ Properties.Additional = Additional Properties.Jumplists = Jump Lists Properties.JumplistRecentMaxItems = Number of recent items to display in Jump Lists: Properties.No = No -Properties.ForW7 = For Windows 7 -Properties.Style1 = Use style like taskbar with combined buttons -Properties.ForW8 = For Windows 8/8.1 -Properties.AeroGlass = Enable AeroGlass support (installed separately) -Properties.ForW10 = For Windows 10 -Properties.Look = Look: -Properties.Opaque = Opaque -Properties.Transparent = Transparent -Properties.Glass = Glass -Properties.About = About Properties.Version = Version: %s -Properties.SystemInfo = System info: +Properties.SystemInfo = System info: \ No newline at end of file diff --git a/exe/Locales/es-ES.ini b/exe/Locales/es-ES.ini index 28b70f3..3d125e0 100644 --- a/exe/Locales/es-ES.ini +++ b/exe/Locales/es-ES.ini @@ -12,24 +12,25 @@ New.Create = Crear Menu.New = Nuevo Menu.Shortcut = Acceso directo Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Abrir el directorio del trabajo -Menu.Create = Crear la barra de vínculos... Menu.Delete = Borrar la barra de vínculos... Menu.Lock = Bloquear la barra de vínculos Menu.Sort = Ordenar por nombre Menu.Properties = Con&figuración Menu.Close = Cerrar Menu.CloseAll = Cerrar todo -JumpList.Recent = Reciente -JumpList.Frequent = Frecuente -JumpList.Tasks = Tareas -JumpList.Pinned = Anclado +Jumplist.NewLinkbar = Crear la barra de vínculos +Jumplist.Recent = Reciente +Jumplist.Frequent = Frecuente +Jumplist.Tasks = Tareas +Jumplist.Pinned = Anclado Jumplist.Open = &Abrir -JumpList.Pin = &Anclar a esta lista -JumpList.Unpin = &Desanclar de esta lista -JumpList.Remove = &Quitar de esta lista -JumpList.PinTip = Anclar a esta lista -JumpList.UnpinTip = Desanclar de esta lista +Jumplist.Pin = &Anclar a esta lista +Jumplist.Unpin = &Desanclar de esta lista +Jumplist.Remove = &Quitar de esta lista +Jumplist.PinTip = Anclar a esta lista +Jumplist.UnpinTip = Desanclar de esta lista Rename.Caption = Renombrar Color.Caption = Color Delete.Title = Está eliminando la barra "%s" @@ -37,26 +38,50 @@ Delete.Text = El directorio del trabajo: %s Delete.Verification = Eliminar el directorio del trabajo Message.FileNotFound = El archivo no existe Message.DeleteShortcut = ¿Eliminar el acceso directo? -Properties.View = Ver -Properties.Appearance = Personalización -Properties.Position = Ubicación en pantalla: +Message.CloseAll = ¿Cerrar todo linkbars? Properties.Left = Izquierda Properties.Top = Superior Properties.Right = Derecha Properties.Bottom = Inferior -Properties.IconSize = El tamaño del ícono: -Properties.BgColor = El color del fondo: -Properties.Margins = Márgenes (horizontales/verticales): +Properties.Center = Centrar +Properties.PagePanel = Panel +Properties.PageItems = Elementos +Properties.PageAutoHide = AutoOcultación +Properties.PageAdditional = Adicional +Properties.PageAbout = Acerca de Linkbar +Properties.Appearance = Personalización +Properties.Position = Ubicación en pantalla: Properties.Order = El orden de accesos directos: Properties.LtR = De izquierda hacia derecha Properties.UtD = De arriba hacia abajo +Properties.ItemsAlign = Alinear (una sola fila): +Properties.BgColor = El color del fondo: +Properties.ShowTooltips = Mostrar información sobre herramientas +Properties.ForWindows = Estilo +Properties.Style1 = Usar el estilo de la barra de tareas con botones combinados +Properties.AeroGlass = Activar el soporte de AeroGlass (se instala por separado) +Properties.Transparency = Transparencia: +Properties.Opaque = Opaco +Properties.Transparent = Transparente +Properties.Glass = Cristal +Properties.Theme = Color: +Properties.Accent = Acento +Properties.Light = Claro +Properties.Dark = Oscuro +Properties.Shortcuts = Atajos +Properties.IconSize = El tamaño del ícono: +Properties.Margins = Márgenes (horizontales/verticales): Properties.TextPos = La posición del texto: Properties.Without = Without text Properties.TextWidth = Ancho / sangría del texto: Properties.TextColor = Color del texto: Properties.GlowSize = Tamaño de brillo: Properties.AlwaysOnTop = Poner la barra de vínculos sobre otras ventanas -Properties.PageAutoHide = AutoOcultación +Properties.Separators = Separadores +Properties.Width = Anchura: +Properties.Style = Estilo: +Properties.Line = Línea +Properties.Spacer = Espaciador Properties.AutoHide = Configurar AutoOcultación Properties.Hide = Ocultar: Properties.Automatically = Automaticamente @@ -68,19 +93,9 @@ Properties.Delay = Retraso, ms: Properties.CornerTransWidth = El ancho de los rincones transparentes: Properties.HotKey = Tecla de acceso directo: Properties.AutoHideTransparency = Transparente cuando esté oculta -Properties.Additional = Adicional +Properties.Additional = Adicional Properties.Jumplists = La Jump Lists Properties.JumplistRecentMaxItems = Número de elementos recientes para mostrar en Jump Lists: Properties.No = No -Properties.ForW7 = Para Windows 7 -Properties.Style1 = Usar el estilo de la barra de tareas con botones combinados -Properties.ForW8 = Para Windows 8/8.1 -Properties.AeroGlass = Activar el soporte de AeroGlass (se instala por separado) -Properties.ForW10 = Para Windows 10 -Properties.Look = Ver: -Properties.Opaque = Opaco -Properties.Transparent = Transparente -Properties.Glass = Cristal -Properties.About = Acerca de Linkbar Properties.Version = Versión: %s Properties.SystemInfo = Información del sistema: \ No newline at end of file diff --git a/exe/Locales/fr-FR.ini b/exe/Locales/fr-FR.ini index 891fb80..e4b2233 100644 --- a/exe/Locales/fr-FR.ini +++ b/exe/Locales/fr-FR.ini @@ -12,14 +12,15 @@ New.Create = Créer Menu.New = Nouveau Menu.Shortcut = Raccourci Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Ouvrir le répertoire de travail -Menu.Create = Créer une linkbar... Menu.Delete = Supprimer la linkbar... Menu.Lock = Verrouiller la linkbar Menu.Sort = Classer par ordre alphabétique Menu.Properties = &Paramètres Menu.Close = Fermer Menu.CloseAll = Fermer tout +Jumplist.NewLinkbar = Créer une linkbar... Jumplist.Recent = Récent Jumplist.Frequent = Fréquent Jumplist.Tasks = Tâches @@ -37,26 +38,50 @@ Delete.Text = Le répertoire de travail: %s Delete.Verification = Supprimer le répertoire de travail Message.FileNotFound = Fichier n’existe pas Message.DeleteShortcut = Supprimer le raccourci? -Properties.View = Vue -Properties.Appearance = Configurer l’apparence -Properties.Position = Position sur l’écran: +Message.CloseAll = Fermer tout linkbars? Properties.Left = À gauche Properties.Top = En haut Properties.Right = À droite Properties.Bottom = En bas -Properties.IconSize = Taille des icônes: -Properties.BgColor = Couleur de fond: -Properties.Margins = Marges (horizontales/verticales): +Properties.Center = Centre +Properties.PagePanel = Panneau +Properties.PageItems = Articles +Properties.PageAutoHide = Masquage automatique +Properties.PageAdditional = Additionnel +Properties.PageAbout = À propos +Properties.Appearance = Configurer l’apparence +Properties.Position = Position sur l’écran: Properties.Order = Ordre des raccourcis: Properties.LtR = De gauche à droit Properties.UtD = De haute en bas +Properties.ItemsAlign = Aligner (une seule ligne): +Properties.BgColor = Couleur de fond: +Properties.ShowTooltips = Afficher les infobulles +Properties.ForWindows = Style +Properties.Style1 = Utilizer le style comme la barre des tâches avec les boutons combinés +Properties.AeroGlass = Activer le support d’AeroGlass (installer séparément) +Properties.Transparency = Transparence: +Properties.Opaque = Opaque +Properties.Transparent = Transparent +Properties.Glass = Verre +Properties.Theme = Couleur: +Properties.Accent = Accent +Properties.Light = Clair +Properties.Dark = Sombre +Properties.Shortcuts = Raccourcis +Properties.IconSize = Taille des icônes: +Properties.Margins = Marges (horizontales/verticales): Properties.TextPos = Position du texte: Properties.Without = Sans texte Properties.TextWidth = Largeur du texte/le retrait: Properties.TextColor = Couleur de texte: Properties.GlowSize = Taille glow: Properties.AlwaysOnTop = Conserver la Linkbar au-dessus des autres fenêtres -Properties.PageAutoHide = Masquage automatique +Properties.Separators = Séparateurs +Properties.Width = Largeur: +Properties.Style = Style: +Properties.Line = Ligne +Properties.Spacer = Entretoise Properties.AutoHide = Configurer le masquage automatique Properties.Hide = Masquer: Properties.Automatically = Automatiquement @@ -65,16 +90,12 @@ Properties.MouseHover = Passant la souris Properties.MouseLC = Clic-gauche Properties.MouseRC = Clic-droit Properties.Delay = Retard (ms): +Properties.CornerTransWidth = Largeur de transparence des coins: Properties.HotKey = Combinaison de clés: Properties.AutoHideTransparency = Transparente quand masquée Properties.Additional = En outre Properties.Jumplists = Les listes de raccourcis Properties.JumplistRecentMaxItems = Nombre d’éléments récents à afficher dans les Listes de raccourcis: Properties.No = Non -Properties.ForW7 = Pour Windows 7 -Properties.Style1 = Utilizer le style comme la barre des tâches avec les boutons combinés -Properties.ForW8 = Pour Windows 8/8.1 -Properties.AeroGlass = Activer le support d’AeroGlass (installer séparément) -Properties.About = À propos Properties.Version = Version: %s Properties.SystemInfo = Informations système: \ No newline at end of file diff --git a/exe/Locales/id-ID.ini b/exe/Locales/id-ID.ini index 6668122..99aba1a 100644 --- a/exe/Locales/id-ID.ini +++ b/exe/Locales/id-ID.ini @@ -12,14 +12,15 @@ New.Create = Buat Menu.New = Baru Menu.Shortcut = Pintasan Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Buka direktori kerja -Menu.Create = Buat linkbar... Menu.Delete = Hapus linkbar... Menu.Lock = Kunci linkbar Menu.Sort = Urutkan secara alfabetis Menu.Properties = &Setelan Menu.Close = Tutup Menu.CloseAll = Tutup semua +Jumplist.NewLinkbar = Buat linkbar Jumplist.Recent = Terkini Jumplist.Frequent = Sering Jumplist.Tasks = Tugas @@ -37,26 +38,50 @@ Delete.Text = Direktori kerja: %s Delete.Verification = Hapus direktori kerja Message.FileNotFound = Berkas tidak ditemukan Message.DeleteShortcut = Hapus pintasan? -Properties.View = Lihat -Properties.Appearance = Konfigurasi tampilan -Properties.Position = Posisi di layar: +Message.CloseAll = Tutup semua linkbars? Properties.Left = Kiri Properties.Top = Atas Properties.Right = Kanan Properties.Bottom = Bawah -Properties.IconSize = Ukuran ikon: -Properties.BgColor = Warna latar belakang: -Properties.Margins = Marjin (horizontal/vertikal): +Properties.Center = Pusat +Properties.PagePanel = Panel +Properties.PageItems = Item +Properties.PageAutoHide = Sembunyikan +Properties.PageAdditional = Tambahan +Properties.PageAbout = Tentang +Properties.Appearance = Konfigurasi tampilan +Properties.Position = Posisi di layar: Properties.Order = Urutan pintasan: Properties.LtR = Kiri ke kanan Properties.UtD = Atas ke bawah +Properties.ItemsAlign = Sejajarkan (baris tunggal): +Properties.BgColor = Warna latar belakang: +Properties.ShowTooltips = Tampilkan keterangan alat +Properties.ForWindows = Gaya +Properties.Style1 = Gunakan gaya seperti taskbar dengan kombinasi tombol-tombol +Properties.AeroGlass = Aktifkan dukungan AeroGlass (diinstalasi terpisah) +Properties.Transparency = Transparansi: +Properties.Opaque = Buram +Properties.Transparent = Transparan +Properties.Glass = Kaca +Properties.Theme = Warna: +Properties.Accent = Aksen +Properties.Light = Cahaya +Properties.Dark = Gelap +Properties.Shortcuts = Pintasan +Properties.IconSize = Ukuran ikon: +Properties.Margins = Marjin (horizontal/vertikal): Properties.TextPos = Posisi teks: Properties.Without = Tanpa teks Properties.TextWidth = Lebar teks / inden: Properties.TextColor = Warna teks: Properties.GlowSize = Ukuran pendar: Properties.AlwaysOnTop = Jaga Linkbar di atas semua jendela -Properties.PageAutoHide = Sembunyikan +Properties.Separators = Pemisah +Properties.Width = Lebar: +Properties.Style = Gaya: +Properties.Line = Garis +Properties.Spacer = Pengatur jarak Properties.AutoHide = Konfigurasi sembunyikan otomatis Properties.Hide = Sembunyikan: Properties.Automatically = Otomatis @@ -72,15 +97,5 @@ Properties.Additional = Tambahan Properties.Jumplists = Daftar singkat Properties.JumplistRecentMaxItems = Jumlah item terkini yg tampil di daftar singkat: Properties.No = No -Properties.ForW7 = Untuk Windows 7 -Properties.Style1 = Gunakan gaya seperti taskbar dengan kombinasi tombol-tombol -Properties.ForW8 = Untuk Windows 8/8.1 -Properties.AeroGlass = Aktifkan dukungan AeroGlass (diinstalasi terpisah) -Properties.ForW10 = Untuk Windows 10 -Properties.Look = Tampilan: -Properties.Opaque = Buram -Properties.Transparent = Transparan -Properties.Glass = Kaca -Properties.About = Tentang Properties.Version = Versi: %s Properties.SystemInfo = System info: \ No newline at end of file diff --git a/exe/Locales/it-IT.ini b/exe/Locales/it-IT.ini index ddaf5a3..de82b03 100644 --- a/exe/Locales/it-IT.ini +++ b/exe/Locales/it-IT.ini @@ -12,24 +12,25 @@ New.Create = Crea Menu.New = Nuovo Menu.Shortcut = Collegamento Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Apri cartella di lavoro -Menu.Create = Crea Linkbar... Menu.Delete = Elimina Linkbar... Menu.Lock = Blocca Linkbar Menu.Sort = Ordina alfabeticamente Menu.Properties = &Impostazioni Menu.Close = Chiudi Menu.CloseAll = Chiudi tutto -JumpList.Recent = Recenti -JumpList.Frequent = Frequente -JumpList.Tasks = Attività -JumpList.Pinned = Bloccato +Jumplist.NewLinkbar = Crea Linkbar +Jumplist.Recent = Recenti +Jumplist.Frequent = Frequente +Jumplist.Tasks = Attività +Jumplist.Pinned = Bloccato Jumplist.Open = &Apri -JumpList.Pin = Agg&iungi all'elenco -JumpList.Unpin = Rim&uovi dall'elenco -JumpList.Remove = &Rimuovi da questo elenco -JumpList.PinTip = Aggiungi all'elenco -JumpList.UnpinTip = Rimuovi dall'elenco +Jumplist.Pin = Agg&iungi all'elenco +Jumplist.Unpin = Rim&uovi dall'elenco +Jumplist.Remove = &Rimuovi da questo elenco +Jumplist.PinTip = Aggiungi all'elenco +Jumplist.UnpinTip = Rimuovi dall'elenco Rename.Caption = Rinomina Color.Caption = Colore Delete.Title = Rimuovere la Linkbar "%s" @@ -37,26 +38,50 @@ Delete.Text = Cartella di lavoro: %s Delete.Verification = Cancella cartella di lavoro Message.FileNotFound = Il file non esiste Message.DeleteShortcut = Cancellare scorciatoia? -Properties.View = Aspetto -Properties.Appearance = Configura aspetto -Properties.Position = Posizione sullo schermo: +Message.CloseAll = Chiudere tutto linkbars? Properties.Left = Sinistra Properties.Top = In alto Properties.Right = Destra Properties.Bottom = In basso -Properties.IconSize = Dimensione icona: -Properties.BgColor = Colore sfondo: -Properties.Margins = Margini (orizzontale/verticale): +Properties.Center = Centro +Properties.PagePanel = Pannello +Properties.PageItems = Elementi +Properties.PageAutoHide = Nascondi automaticamente +Properties.PageAdditional = Aggiuntivo +Properties.PageAbout = Info su +Properties.Appearance = Configura aspetto +Properties.Position = Posizione sullo schermo: Properties.Order = Ordine scorciatoie: Properties.LtR = Da sinistra a destra Properties.UtD = Da alto in basso +Properties.ItemsAlign = Allinea (riga singola): +Properties.BgColor = Colore sfondo: +Properties.ShowTooltips = Mostra suggerimenti +Properties.ForWindows = Stile +Properties.Style1 = Usa stile tipo taskbar con pulsanti combinati +Properties.AeroGlass = Abilita supporto AeroGlass (installato separatamente) +Properties.Transparency = Trasparenza: +Properties.Opaque = Opaco +Properties.Transparent = Trasparente +Properties.Glass = Bicchiere +Properties.Theme = Colore: +Properties.Accent = Accento +Properties.Light = Chiaro +Properties.Dark = Scuro +Properties.Shortcuts = Scorciatoie +Properties.IconSize = Dimensione icona: +Properties.Margins = Margini (orizzontale/verticale): Properties.TextPos = Posizione testo: Properties.Without = Senza testo Properties.TextWidth = Testo larghezza/indentazione: Properties.TextColor = Colore testo: Properties.GlowSize = Dimensione bagliore (glow): Properties.AlwaysOnTop = Mantieni la Linkbar in primo piano -Properties.PageAutoHide = Nascondi automaticamente +Properties.Separators = Separatori +Properties.Width = Larghezza: +Properties.Style = Stile: +Properties.Line = Linea +Properties.Spacer = Distanziatore Properties.AutoHide = Configura auto-nascondi Properties.Hide = Nascondi: Properties.Automatically = Automaticamente @@ -72,15 +97,5 @@ Properties.Additional = Aggiuntivo Properties.Jumplists = Liste rapide Properties.JumplistRecentMaxItems = Numero di oggetti recenti da mostrare nelle liste rapide: Properties.No = No -Properties.ForW7 = Per Windows 7 -Properties.Style1 = Usa stile tipo taskbar con pulsanti combinati -Properties.ForW8 = Per Windows 8/8.1 -Properties.AeroGlass = Abilita supporto AeroGlass (installato separatamente) -Properties.ForW10 = Per Windows 10 -Properties.Look = Aspetto: -Properties.Opaque = Opaco -Properties.Transparent = Trasparente -Properties.Glass = Vetro -Properties.About = Info su Properties.Version = Versione: %s Properties.SystemInfo = Info sistema: \ No newline at end of file diff --git a/exe/Locales/ja-JP.ini b/exe/Locales/ja-JP.ini index 4606bf4..ffcbccf 100644 --- a/exe/Locales/ja-JP.ini +++ b/exe/Locales/ja-JP.ini @@ -4,22 +4,23 @@ Button.Ok = OK Button.Apply = 適用 Button.Cancel = キャンセル New.Caption = 新規 リンクバー -New.ToWhom = リンクバーを作成する範囲: +New.ToWhom = リンクバーを作成する範囲: New.ForAll = このコンピューターを使用する全員(すべてのユーザー) New.ForMe = 現ユーザーのみ (%s) New.Folder = フォルダの選択: New.Create = 作成 Menu.New = 新規作成 Menu.Shortcut = ショートカット -Menu.Separator = Separator +Menu.Separator = セパレーター +Menu.Linkbar = Linkbar Menu.Open = 作業ディレクトリを開く -Menu.Create = リンクバーを作成... Menu.Delete = リンクバーを削除... Menu.Lock = リンクバーを固定 Menu.Sort = アルファベット順にソート Menu.Properties = 設定(&S) Menu.Close = 閉じる Menu.CloseAll = すべて閉じる +Jumplist.NewLinkbar = リンクバーを作成 Jumplist.Recent = 最近使ったもの Jumplist.Frequent = よく使うもの Jumplist.Tasks = タスク @@ -33,30 +34,54 @@ Jumplist.UnpinTip = いつも表示するものから外す Rename.Caption = 名称変更 Color.Caption = 色 Delete.Title = 削除するツールバー 「%s」 -Delete.Text = 作業ディレクトリ: %s +Delete.Text = 作業ディレクトリ:%s Delete.Verification = 作業ディレクトリを削除します Message.FileNotFound = ファイルが存在しません Message.DeleteShortcut = リンクを削除しますか? -Properties.View = 外観設定 -Properties.Appearance = 外観設定 -Properties.Position = スクリーン上の位置: +Message.CloseAll = すべてのlinkbarsを閉じますか? Properties.Left = 左 Properties.Top = 上 Properties.Right = 右 Properties.Bottom = 下 -Properties.IconSize = アイコンサイズ: -Properties.BgColor = 背景色: -Properties.Margins = 選択幅 (横幅/縦幅): +Properties.Center = センター +Properties.PagePanel = パネル +Properties.PageItems = アイテム +Properties.PageAutoHide = 自動非表示 +Properties.PageAdditional = 追加 +Properties.PageAbout = ソフトについて +Properties.Appearance = 外観設定 +Properties.Position = スクリーン上の位置: Properties.Order = ショートカットの順番: Properties.LtR = 左から右へ Properties.UtD = 上から下へ +Properties.ItemsAlign = 整列(単一行): +Properties.BgColor = 背景色: +Properties.ShowTooltips = ツールチップを表示する +Properties.ForWindows = スタイル +Properties.Style1 = 標準のタスクバーと同一のスタイルを利用 +Properties.AeroGlass = AeroGlassをサポート (別途インストール) +Properties.Transparency = 透明性: +Properties.Opaque = 不透明 +Properties.Transparent = トランスペアレント +Properties.Glass = ガラス +Properties.Theme = 色: +Properties.Accent = アクセント +Properties.Light = 白 +Properties.Dark = 黒 +Properties.Shortcuts = ショートカット +Properties.IconSize = アイコンサイズ: +Properties.Margins = 選択幅 (横幅/縦幅): Properties.TextPos = 文字位置: Properties.Without = 文字非表示 Properties.TextWidth = 文字幅/字下げ: Properties.TextColor = テキストの色: Properties.GlowSize = グローサイズ: Properties.AlwaysOnTop = リンクバーをほかのウィンドウの手前に表示する -Properties.PageAutoHide = 自動非表示 +Properties.Separators = セパレーター +Properties.Width = 幅: +Properties.Style = スタイル: +Properties.Line = ライン +Properties.Spacer = スペーサー Properties.AutoHide = 自動非表示設定 Properties.Hide = 非表示: Properties.Automatically = 自動 @@ -65,16 +90,12 @@ Properties.MouseHover = マウス オーバー Properties.MouseLC = マウス 左クリック Properties.MouseRC = マウス 右クリック Properties.Delay = 遅延 (ミリ秒): +Properties.CornerTransWidth = コーナーの透明幅: Properties.HotKey = キーの組み合わせ: Properties.AutoHideTransparency = 非表示時に透明化 Properties.Additional = 拡張設定 Properties.Jumplists = ジャンプリスト Properties.JumplistRecentMaxItems = ジャンプリストに表示する最近使った項目の数: Properties.No = いいえ -Properties.ForW7 = Windows 7 -Properties.Style1 = 標準のタスクバーと同一のスタイルを利用 -Properties.ForW8 = Windows 8/8.1の場合 -Properties.AeroGlass = AeroGlassをサポート (別途インストール) -Properties.About = ソフトについて Properties.Version = バージョン: %s Properties.SystemInfo = システム情報: \ No newline at end of file diff --git a/exe/Locales/ko-KR.ini b/exe/Locales/ko-KR.ini index 5ddb81d..c591c7e 100644 --- a/exe/Locales/ko-KR.ini +++ b/exe/Locales/ko-KR.ini @@ -11,15 +11,16 @@ New.Folder = 폴더 선택: New.Create = 생성 Menu.New = 새로 만들기 Menu.Shortcut = 바로 가기 -Menu.Separator = Separator +Menu.Separator = 대상 폴더 열기 +Menu.Linkbar = Linkbar Menu.Open = 대상 폴더 열기 -Menu.Create = 툴바 새로 만들기... Menu.Delete = 툴바 삭제... Menu.Lock = 툴바 잠금 Menu.Sort = 알파벳순으로 정렬 Menu.Properties = 설정(&S) Menu.Close = 종료 Menu.CloseAll = 모두 종료 +Jumplist.NewLinkbar = 툴바 새로 만들기 Jumplist.Recent = 최근 항목 Jumplist.Frequent = 자주 사용하는 항목 Jumplist.Tasks = 작업 @@ -37,26 +38,50 @@ Delete.Text = 대상 폴더: %s Delete.Verification = 작업 디렉토리 삭제 Message.FileNotFound = 파일이 존재하지 않습니다. Message.DeleteShortcut = 바로 가기 삭제? -Properties.View = 보기 -Properties.Appearance = 모양 구성 -Properties.Position = 화면상의 위치: +Message.CloseAll = 모든 linkbars를 닫으시겠습니까? Properties.Left = 왼쪽 Properties.Top = 위 Properties.Right = 오른쪽 Properties.Bottom = 아래 -Properties.IconSize = 아이콘 크기: -Properties.BgColor = 배경색: -Properties.Margins = 여백(가로/세로): +Properties.Center = 센터 +Properties.PagePanel = 패널 +Properties.PageItems = 아이템 +Properties.PageAutoHide = 자동 숨김 +Properties.PageAdditional = 추가 +Properties.PageAbout = 정보 +Properties.Appearance = 모양 구성 +Properties.Position = 화면상의 위치: Properties.Order = 바로 가기 순서: Properties.LtR = 왼쪽에서 오른쪽으로 Properties.UtD = 위에서 아래로 +Properties.ItemsAlign = 정렬 (단일 행) : +Properties.BgColor = 배경색: +Properties.ShowTooltips = 툴팁 표시 +Properties.ForWindows = 스타일 +Properties.Style1 = 작업 표시 줄과 같은 스타일 사용 +Properties.AeroGlass = AeroGlass 지원 사용 (별도 설치) +Properties.Transparency = 투명도: +Properties.Opaque = 불투명체 +Properties.Transparent = 투명한 +Properties.Glass = 유리 +Properties.Theme = 색깔: +Properties.Accent = 악센트 +Properties.Light = 밝게 +Properties.Dark = 어둡게 +Properties.Shortcuts = 단축키 +Properties.IconSize = 아이콘 크기: +Properties.Margins = 여백(가로/세로): Properties.TextPos = 텍스트 위치: Properties.Without = 텍스트 표시하지 않음 Properties.TextWidth = 텍스트 너비 / 들여 쓰기: Properties.TextColor = 텍스트 색: Properties.GlowSize = 글로우 크기: Properties.AlwaysOnTop = 툴바 표시 줄을 항상 위로 유지 -Properties.PageAutoHide = 자동 숨김 +Properties.Separators = 분리기 +Properties.Width = 폭: +Properties.Style = 스타일: +Properties.Line = 선 +Properties.Spacer = 스페이서 Properties.AutoHide = 자동 숨기기 설정 Properties.Hide = 툴바 숨김: Properties.Automatically = 자동으로 @@ -65,16 +90,12 @@ Properties.MouseHover = 툴바를 마우스에 가져갔을 때 Properties.MouseLC = 툴바를 마우스로 클릭할 때 Properties.MouseRC = 툴바를 마우스로 우클릭할 때 Properties.Delay = 지연 시간: +Properties.CornerTransWidth = 모서리 투명도 너비 : Properties.HotKey = 단축키: Properties.AutoHideTransparency = 숨겨진 상태시 투명화 Properties.Additional = 추가 기능 Properties.Jumplists = 점프 목록은 Properties.JumplistRecentMaxItems = 점프 목록에 표시할 최근 항목 수: Properties.No = 아니 -Properties.ForW7 = 윈도우 7 -Properties.Style1 = 작업 표시 줄과 같은 스타일 사용 -Properties.ForW8 = 윈도우 8/8.1 -Properties.AeroGlass = AeroGlass 지원 사용 (별도 설치) -Properties.About = 정보 Properties.Version = 번역: %s Properties.SystemInfo = 시스템 정보: \ No newline at end of file diff --git a/exe/Locales/pl-PL.ini b/exe/Locales/pl-PL.ini index acbe604..b5905c3 100644 --- a/exe/Locales/pl-PL.ini +++ b/exe/Locales/pl-PL.ini @@ -12,14 +12,15 @@ New.Create = Utwórz Menu.New = Nowy Menu.Shortcut = Skrót Menu.Separator = Separator +Menu.Linkbar = Linkbar Menu.Open = Otwórz katalog roboczy -Menu.Create = Utwórz pasek łączy... Menu.Delete = Usuń pasek łączy... Menu.Lock = Zablokuj pasek łączy Menu.Sort = Sortuj alfabetycznie Menu.Properties = &Ustawienia Menu.Close = Zamknij Menu.CloseAll = Zamknij wszystkie +Jumplist.NewLinkbar = Utwórz pasek łączy Jumplist.Recent = Najnowsze Jumplist.Frequent = Częste Jumplist.Tasks = Zadania @@ -37,26 +38,50 @@ Delete.Text = Katalog roboczy: %s Delete.Verification = Usuń katalog roboczy Message.FileNotFound = Plik nie istnieje Message.DeleteShortcut = Usunąć skrót? -Properties.View = Widok -Properties.Appearance = Konfiguracja wyglądu -Properties.Position = Pozycja na ekranie: +Message.CloseAll = Zamknąć wszystkie linkbars? Properties.Left = Z lewej Properties.Top = Na górze Properties.Right = Z prawej Properties.Bottom = Na dole -Properties.IconSize = Rozmiar ikon: -Properties.BgColor = Kolor tła: -Properties.Margins = Marginesy (poziomy/pionowy): +Properties.Center = Środek +Properties.PagePanel = Płyta +Properties.PageItems = Przedmiotów +Properties.PageAutoHide = Automatycznego ukrywania +Properties.PageAdditional = Dodatkowy +Properties.PageAbout = O Linkbar +Properties.Appearance = Konfiguracja wyglądu +Properties.Position = Pozycja na ekranie: Properties.Order = Kolejność skrótów: Properties.LtR = Od lewej do prawej Properties.UtD = Do dołu +Properties.ItemsAlign = Wyrównaj (jeden wiersz): +Properties.BgColor = Kolor tła: +Properties.ShowTooltips = Pokaż podpowiedzi +Properties.ForWindows = Styl +Properties.Style1 = Użyj stylu jak w pasku zadań z połączonymi przyciskami +Properties.AeroGlass = Włącz wsparcie dla AeroGlass (zainstalowane oddzielnie) +Properties.Transparency = Przezroczystość: +Properties.Opaque = Nieprzezroczysty +Properties.Transparent = Przezroczysty +Properties.Glass = Szkło +Properties.Theme = Kolor: +Properties.Accent = Akcent +Properties.Light = Jasny +Properties.Dark = Ciemny +Properties.Shortcuts = Skróty +Properties.IconSize = Rozmiar ikon: +Properties.Margins = Marginesy (poziomy/pionowy): Properties.TextPos = Pozycja tekstu: Properties.Without = Bez tekstu Properties.TextWidth = Tekst szerokość/wcięcie: Properties.TextColor = Kolor tekstu: Properties.GlowSize = Rozmiar poświaty: Properties.AlwaysOnTop = Trzymaj pasek łączy na wierzchu -Properties.PageAutoHide = Automatycznego ukrywania +Properties.Separators = Separatory +Properties.Width = Szerokość: +Properties.Style = Styl: +Properties.Line = Linia +Properties.Spacer = Odstępnik Properties.AutoHide = Konfiguracja automatycznego ukrywania Properties.Hide = Ukryj: Properties.Automatically = Automatycznie @@ -65,16 +90,12 @@ Properties.MouseHover = Przesunięcie myszy Properties.MouseLC = Lewy klik myszy Properties.MouseRC = Prawy klik myszy Properties.Delay = Opóźnienie, ms: +Properties.CornerTransWidth = Szerokość przezroczystości narożników: Properties.HotKey = Skrót klawiszowy: Properties.AutoHideTransparency = Przezroczysty, kiedy ukryty Properties.Additional = Dodatkowo Properties.Jumplists = Listy szybkiego dostępu Properties.JumplistRecentMaxItems = Liczba niedawno używanych elementów do wyświetlenia na listach szybkiego dostępu: Properties.No = Nie -Properties.ForW7 = Dla Windows 7 -Properties.Style1 = Użyj stylu jak w pasku zadań z połączonymi przyciskami -Properties.ForW8 = Dla Windows 8/8.1 -Properties.AeroGlass = Włącz wsparcie dla AeroGlass (zainstalowane oddzielnie) -Properties.About = O Linkbar Properties.Version = Wersja: %s Properties.SystemInfo = Informacje o systemie: \ No newline at end of file diff --git a/exe/Locales/pt-BR.ini b/exe/Locales/pt-BR.ini index ed47dee..4605488 100644 --- a/exe/Locales/pt-BR.ini +++ b/exe/Locales/pt-BR.ini @@ -11,25 +11,26 @@ New.Folder = Escolha uma pasta: New.Create = Criar Menu.New = Novo Menu.Shortcut = Atalho -Menu.Separator = Separator +Menu.Separator = Separador +Menu.Linkbar = Linkbar Menu.Open = Abrir o diretório de trabalho -Menu.Create = Cria a barra de links ... Menu.Delete = Apagar a barra de links ... Menu.Lock = Bloquear linkbar Menu.Sort = Ordenar por nome Menu.Properties = Con&figuração Menu.Close = Fechar Menu.CloseAll = Fechar tudo -JumpList.Recent = Recentes -JumpList.Frequent = Frequente -JumpList.Tasks = Tarefas -JumpList.Pinned = Fixo +Jumplist.NewLinkbar = Cria a barra de links +Jumplist.Recent = Recentes +Jumplist.Frequent = Frequente +Jumplist.Tasks = Tarefas +Jumplist.Pinned = Fixo Jumplist.Open = &Abrir -JumpList.Pin = In&cluir nesta lista -JumpList.Unpin = &Tirar desta lista -JumpList.Remove = Remover desta &lista -JumpList.PinTip = Incluir nesta lista -JumpList.UnpinTip = Tirar desta lista +Jumplist.Pin = In&cluir nesta lista +Jumplist.Unpin = &Tirar desta lista +Jumplist.Remove = Remover desta &lista +Jumplist.PinTip = Incluir nesta lista +Jumplist.UnpinTip = Tirar desta lista Rename.Caption = Renomear Color.Caption = Cor Delete.Title = Você está removendo a barra "%s" @@ -37,26 +38,50 @@ Delete.Text = O diretório de trabalho: %s Delete.Verification = Apagar o diretório de trabalho Message.FileNotFound = O arquivo não existe Message.DeleteShortcut = Apagar o atalho? -Properties.View = Ver -Properties.Appearance = Personalização -Properties.Position = Localização na tela: +Message.CloseAll = Fechar todos os linkbars? Properties.Left = Esquerda Properties.Top = Superior Properties.Right = direito Properties.Bottom = Inferior -Properties.IconSize = O tamanho do ícone: -Properties.BgColor = A cor do fundo: -Properties.Margins = Margens (horizontal/vertical): +Properties.Center = Centro +Properties.PagePanel = Painel +Properties.PageItems = Itens +Properties.PageAutoHide = Auto ocultar +Properties.PageAdditional = Adicional +Properties.PageAbout = Sobre Linkbar +Properties.Appearance = Personalização +Properties.Position = Localização na tela: Properties.Order = A ordem dos atalhos: Properties.LtR = Da esquerda para a direita Properties.UtD = De cima para baixo +Properties.ItemsAlign = Alinhar (linha única): +Properties.BgColor = A cor do fundo: +Properties.ShowTooltips = Mostrar dicas +Properties.ForWindows = Estilo +Properties.Style1 = Use o estilo da barra de tarefas com botões combinados +Properties.AeroGlass = Ativar o suporte do AeroGlass (instala-se separadamente) +Properties.Transparency = Transparência: +Properties.Opaque = Opaco +Properties.Transparent = Transparente +Properties.Glass = Glass +Properties.Theme = Cor: +Properties.Accent = Sotaque +Properties.Light = Claro +Properties.Dark = Escuro +Properties.Shortcuts = Atalhos +Properties.IconSize = O tamanho do ícone: +Properties.Margins = Margens (horizontal/vertical): Properties.TextPos = A posição do texto: Properties.Without = Sem texto Properties.TextWidth = Largura/recuo do texto: Properties.TextColor = Cor do texto: Properties.GlowSize = Tamanho do brilho: Properties.AlwaysOnTop = Colocar a barra de links sobre outras janelas -Properties.PageAutoHide = Auto ocultar +Properties.Separators = Separadores +Properties.Width = Largura: +Properties.Style = Estilo: +Properties.Line = Linha +Properties.Spacer = Espaçador Properties.AutoHide = Configurar Auto ocultar Properties.Hide = Ocultar: Properties.Automatically = Automaticamente @@ -72,15 +97,5 @@ Properties.Additional = Adicional Properties.Jumplists = As listas de atalhos Properties.JumplistRecentMaxItems = Número de itens recentes a serem exibidos nas Listas de Atalhos: Properties.No = Não -Properties.ForW7 = Para o Windows 7 -Properties.Style1 = Use o estilo da barra de tarefas com botões combinados -Properties.ForW8 = Para o Windows 8/8.1 -Properties.AeroGlass = Ativar o suporte do AeroGlass (instala-se separadamente) -Properties.ForW10 = Para o Windows 10 -Properties.Look = Ver: -Properties.Opaque = Opaco -Properties.Transparent = Transparente -Properties.Glass = Glass -Properties.About = Sobre Linkbar Properties.Version = Versão: %s Properties.SystemInfo = Informações do sistema: \ No newline at end of file diff --git a/exe/Locales/ru-RU.ini b/exe/Locales/ru-RU.ini index 5c45339..7dfde05 100644 --- a/exe/Locales/ru-RU.ini +++ b/exe/Locales/ru-RU.ini @@ -12,8 +12,8 @@ New.Create = Создать Menu.New = Создать Menu.Shortcut = Ярлык Menu.Separator = Разделитель +Menu.Linkbar = Панельку Menu.Open = Открыть рабочий каталог -Menu.Create = Панельку Menu.Delete = Удалить панельку... Menu.Lock = Закрепить панельку Menu.Sort = Сортировать по алфавиту @@ -38,26 +38,50 @@ Delete.Text = Рабочий каталог: %s Delete.Verification = Удалить рабочий каталог Message.FileNotFound = Файл не существует Message.DeleteShortcut = Удалить ярлык? -Properties.View = Вид -Properties.Appearance = Настройте внешний вид -Properties.Position = Положение на экране: +Message.CloseAll = Закрыть все панели? Properties.Left = Слева Properties.Top = Сверху Properties.Right = Cправа Properties.Bottom = Cнизу -Properties.IconSize = Размер значков: -Properties.BgColor = Цвет фона: -Properties.Margins = Поля (горизонтальные/вертикальные): +Properties.Center = По центру +Properties.PagePanel = Панель +Properties.PageItems = Значки +Properties.PageAutoHide = Автоскрытие +Properties.PageAdditional = Дополнительно +Properties.PageAbout = О программе +Properties.Appearance = Настройте внешний вид +Properties.Position = Положение на экране: Properties.Order = Порядок ярлыков: Properties.LtR = Слева направо Properties.UtD = Сверху вниз +Properties.ItemsAlign = Выравнивание (одна строка): +Properties.BgColor = Цвет фона: +Properties.ShowTooltips = Показывать всплывающие подсказки +Properties.ForWindows = Стиль +Properties.Style1 = Использовать стиль панели задач с группировкой +Properties.AeroGlass = Включить поддержку AeroGlass (устанавливается отдельно) +Properties.Transparency = Прозрачность: +Properties.Opaque = Непрозрачная +Properties.Transparent = Прозрачная +Properties.Glass = Стекло +Properties.Theme = Цвет: +Properties.Accent = Акцент +Properties.Light = Светлая +Properties.Dark = Темная +Properties.Shortcuts = Ярлыки +Properties.IconSize = Размер значков: +Properties.Margins = Поля (горизонтальные/вертикальные): Properties.TextPos = Положение текста: Properties.Without = Без текста Properties.TextWidth = Ширина/отступ текста: Properties.TextColor = Цвет текста: Properties.GlowSize = Размер тени: Properties.AlwaysOnTop = Отображать панельку поверх остальных окон -Properties.PageAutoHide = Автоскрытие +Properties.Separators = Разделители +Properties.Width = Ширина: +Properties.Style = Стиль: +Properties.Line = Полоса +Properties.Spacer = Пусто Properties.AutoHide = Настройте автоскрытие Properties.Hide = Скрывать: Properties.Automatically = Автоматически @@ -73,15 +97,5 @@ Properties.Additional = Дополнительно Properties.Jumplists = Списки переходов Properties.JumplistRecentMaxItems = Отображать в списке перехода недавно использовавшиеся элементы в количестве: Properties.No = Нет -Properties.ForW7 = Для Windows 7 -Properties.Style1 = Использовать стиль панели задач с группировкой -Properties.ForW8 = Для Windows 8/8.1 -Properties.AeroGlass = Включить поддержку AeroGlass (устанавливается отдельно) -Properties.ForW10 = Для Windows 10 -Properties.Look = Вид: -Properties.Opaque = Непрозрачная -Properties.Transparent = Прозрачная -Properties.Glass = Стекло -Properties.About = О программе Properties.Version = Версия: %s Properties.SystemInfo = Информация о системе: \ No newline at end of file diff --git a/exe/Locales/zh-CN.ini b/exe/Locales/zh-CN.ini index 5f5d1c7..6453c2d 100644 --- a/exe/Locales/zh-CN.ini +++ b/exe/Locales/zh-CN.ini @@ -11,25 +11,26 @@ New.Folder = 选择文件夹: New.Create = 新建 Menu.New = 新建 Menu.Shortcut = 快捷方式 -Menu.Separator = Separator +Menu.Separator = 分隔器 +Menu.Linkbar = Linkbar Menu.Open = 打开工作目录 -Menu.Create = 新建 Linkbar... Menu.Delete = 删除 Linkbar... Menu.Lock = 锁定 Linkbar Menu.Sort = 按 A-Z 顺序排列 Menu.Properties = 设置(&S) Menu.Close = 关闭 Menu.CloseAll = 关闭所有 -JumpList.Recent = 最近 -JumpList.Frequent = 常用 -JumpList.Tasks = 任务 -JumpList.Pinned = 已固定 +Jumplist.NewLinkbar = 新建 Linkbar +Jumplist.Recent = 最近 +Jumplist.Frequent = 常用 +Jumplist.Tasks = 任务 +Jumplist.Pinned = 已固定 Jumplist.Open = 打开 -JumpList.Pin = 锁定到此列表 -JumpList.Unpin = 从此列表解锁 -JumpList.Remove = 从列表中删除 -JumpList.PinTip = 锁定到此列表 -JumpList.UnpinTip = 从此列表解锁 +Jumplist.Pin = 锁定到此列表 +Jumplist.Unpin = 从此列表解锁 +Jumplist.Remove = 从列表中删除 +Jumplist.PinTip = 锁定到此列表 +Jumplist.UnpinTip = 从此列表解锁 Rename.Caption = 重命名 Color.Caption = 颜色 Delete.Title = 已移除 Linkbar "%s" @@ -37,26 +38,50 @@ Delete.Text = 工作目录路径 %s Delete.Verification = 删除工作目录 Message.FileNotFound = 文件不存在 Message.DeleteShortcut = 是否删除快捷方式? -Properties.View = 视图设置 -Properties.Appearance = 外观配置 -Properties.Position = 屏幕位置: +Message.CloseAll = 关闭所有linkbars吗? Properties.Left = 左边 Properties.Top = 顶部 Properties.Right = 右边 Properties.Bottom = 底部 -Properties.IconSize = 图标大小: -Properties.BgColor = 背景颜色: -Properties.Margins = 边框大小(水平宽度/垂直长度): +Properties.Center = 中央 +Properties.PagePanel = 面板 +Properties.PageItems = 物品 +Properties.PageAutoHide = 自动隐藏 +Properties.PageAdditional = 额外 +Properties.PageAbout = 关于 +Properties.Appearance = 外观配置 +Properties.Position = 屏幕位置: Properties.Order = 快捷方式排序: Properties.LtR = 从左到右 Properties.UtD = 从上往下 +Properties.ItemsAlign = 对齐(单行): +Properties.BgColor = 背景颜色: +Properties.ShowTooltips = 显示工具提示 +Properties.ForWindows = 风格 +Properties.Style1 = 使用纽扣式风格任务栏 +Properties.AeroGlass = 开启毛玻璃特效支持(需另行安装) +Properties.Transparency = 透明度: +Properties.Opaque = 不透明 +Properties.Transparent = 透明 +Properties.Glass = 玻璃 +Properties.Theme = 颜色: +Properties.Accent = 口音 +Properties.Light = 浅色 +Properties.Dark = 深色 +Properties.Shortcuts = 捷径 +Properties.IconSize = 图标大小: +Properties.Margins = 边框大小(水平宽度/垂直长度): Properties.TextPos = 字体位置: Properties.Without = 不显示文字 Properties.TextWidth = 字体间距/缩进: Properties.TextColor = 字体颜色: Properties.GlowSize = 发光大小: Properties.AlwaysOnTop = Linkbar 保持在其他窗口的前端 -Properties.PageAutoHide = 自动隐藏 +Properties.Separators = 分离器 +Properties.Width = 宽度: +Properties.Style = 风格: +Properties.Line = 线 +Properties.Spacer = 垫片 Properties.AutoHide = 配置自动隐藏 Properties.Hide = 隐藏: Properties.Automatically = 自动 @@ -65,16 +90,12 @@ Properties.MouseHover = 鼠标靠近 Properties.MouseLC = 鼠标左键 Properties.MouseRC = 鼠标右键 Properties.Delay = 延迟,毫秒: +Properties.CornerTransWidth = 角透明宽度: Properties.HotKey = 键盘快捷键: Properties.AutoHideTransparency = 隐藏时透明显示 Properties.Additional = 附加设置 Properties.Jumplists = 跳转列表 Properties.JumplistRecentMaxItems = 要显示在跳转列表中的最近使用的项目数: Properties.No = 没有 -Properties.ForW7 = 针对 Windows 7 -Properties.Style1 = 使用纽扣式风格任务栏 -Properties.ForW8 = 针对 Windows 8/8.1 -Properties.AeroGlass = 开启毛玻璃特效支持(需另行安装) -Properties.About = 关于 Properties.Version = 版本号:%s Properties.SystemInfo = 系统信息: \ No newline at end of file diff --git a/exe/README.txt b/exe/README.txt index a8ef6fe..cc18476 100644 --- a/exe/README.txt +++ b/exe/README.txt @@ -8,7 +8,7 @@ Note: 1) Linkbar support Windows Vista and above 2) Linkbar work with .lnk, .url and .website files -Version: 1.6.9 beta 5 +Version: 1.6.9 License type: Freeware OS: Windows Vista/7/8/8.1/10 Languages: English (default), Brazilian, Сhinese-Simplified, French, Indonesian, Italian, German, Greek, Japanese, Korean, Polish, Russian, Spanish, localization support @@ -58,53 +58,36 @@ Email: linkbar@yandex.ru (use English or Russian) == TODO: -add: Localization updates +add: Per monitor HiDPI +del: Separator bar sizes based on DPI add: For Windows 10 support dark mode for dialogs add: For Windows 10 support high contrast theme for panel and Jumplist add: Drag&Drop in Jumplists +add: Shield for shortcut with flag "Run as Administrator" (Properties - Shortcut - Advanced) =============================================================================== -== Version 1.6.9 beta 5 (Aug, 2020): - -add: Option "Tooltips show" -add: Jumplist window aligned to top of an item -add: Linkbar Jumplist -add: Command line option "-ca" to close all open panels - -=============================================================================== - -== Version 1.6.9 beta 4 (May, 2020): - -add: Separators -add: Settings reorganized -fix: Exception while Drag&Drop when style services disabled - -=============================================================================== - -== Version 1.6.9 beta 3 (Apr, 2020): - -fix: Windows 7/8/8.1 startup exception "Access violation at address 00000000 in module. Read of address 00000000." - -=============================================================================== - -== Version 1.6.9 beta 2 (Apr, 2020): - -add: For Windows 10 support dark mode for tooltips and context menus -add: For Windows 10 improve drawing buttons and Jumplist -fix: Missing 32-bit version -fix: Cannot open context menu (e.g. Windows 10 Calculator) - -=============================================================================== - -== Version 1.6.9 beta 1 (Apr, 2020): +== Version 1.6.9 general release (Jan, 2021): add: Brazilian Portuguese localization (Feijionico) add: Indonesian localization (EkoPrasetiyo) add: Italian localization (BrezzaTM) +add: Localization updates +add: Separators add: Option "Items align" +add: Option "Tooltips show" add: For Windows 10 option "Color Mode" -add: For Windows 10 improve Jumplist drawing +add: For Windows 10 support dark mode for tooltips and context menus +add: For Windows 10 improve drawing buttons and Jumplist +add: Linkbar Jumplist +add: Jumplist window aligned to top of an item +add: Settings reorganized +add: Command line option "-ca" to close all open panels +fix: Access violation when opening Settings (https://github.com/ATGH15102AFMLD/Linkbar/issues/14) +fix: Windows 7/8/8.1 startup exception "Access violation at address 00000000 in module. Read of address 00000000." +fix: Linkbar opening on wrong screen in multi-monitor setup +fix: Exception while Drag&Drop when system style services disabled +fix: Cannot open context menu (e.g. Windows 10 Calculator) =============================================================================== diff --git a/src/AccessBar.pas b/src/AccessBar.pas index 9f47e24..b5ae45e 100644 --- a/src/AccessBar.pas +++ b/src/AccessBar.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit AccessBar; diff --git a/src/DDForms.pas b/src/DDForms.pas index 8ac8359..47a1161 100644 --- a/src/DDForms.pas +++ b/src/DDForms.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit DDForms; diff --git a/src/ExplorerMenu.pas b/src/ExplorerMenu.pas index 16e108a..1e41131 100644 --- a/src/ExplorerMenu.pas +++ b/src/ExplorerMenu.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit ExplorerMenu; diff --git a/src/LBToolbar.pas b/src/LBToolbar.pas index bc43fca..32ab2c2 100644 --- a/src/LBToolbar.pas +++ b/src/LBToolbar.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit LBToolbar; diff --git a/src/Linkbar.Common.pas b/src/Linkbar.Common.pas index e68db20..8edeb54 100644 --- a/src/Linkbar.Common.pas +++ b/src/Linkbar.Common.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Common; diff --git a/src/Linkbar.Consts.pas b/src/Linkbar.Consts.pas index 8047729..a87825a 100644 --- a/src/Linkbar.Consts.pas +++ b/src/Linkbar.Consts.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Consts; diff --git a/src/Linkbar.ExceptionDialog.dfm b/src/Linkbar.ExceptionDialog.dfm new file mode 100644 index 0000000..2a32957 --- /dev/null +++ b/src/Linkbar.ExceptionDialog.dfm @@ -0,0 +1,106 @@ +object ExceptionDialog: TExceptionDialog + Left = 310 + Top = 255 + BorderIcons = [biSystemMenu] + Caption = 'ExceptionDialog' + ClientHeight = 283 + ClientWidth = 483 + Color = clBtnFace + Constraints.MinWidth = 200 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + KeyPreview = True + OldCreateOrder = False + Position = poScreenCenter + ShowHint = True + OnCreate = FormCreate + OnDestroy = FormDestroy + OnKeyDown = FormKeyDown + OnPaint = FormPaint + OnResize = FormResize + OnShow = FormShow + DesignSize = ( + 483 + 283) + PixelsPerInch = 96 + TextHeight = 13 + object BevelDetails: TBevel + Left = 3 + Top = 119 + Width = 473 + Height = 9 + Anchors = [akLeft, akTop, akRight] + Shape = bsTopLine + end + object SaveBtn: TButton + Left = 403 + Top = 60 + Width = 75 + Height = 25 + Hint = 'Save bug report' + Anchors = [akTop, akRight] + Caption = '&Save' + TabOrder = 0 + OnClick = SaveBtnClick + end + object TextMemo: TMemo + Left = 56 + Top = 8 + Width = 332 + Height = 105 + Hint = 'Use Ctrl+C to copy the report to the clipboard' + Anchors = [akLeft, akTop, akRight] + BorderStyle = bsNone + Ctl3D = True + ParentColor = True + ParentCtl3D = False + ReadOnly = True + TabOrder = 1 + WantReturns = False + end + object OkBtn: TButton + Left = 403 + Top = 4 + Width = 75 + Height = 25 + Anchors = [akTop, akRight] + Caption = '&OK' + Default = True + ModalResult = 1 + TabOrder = 2 + end + object DetailsBtn: TButton + Left = 403 + Top = 88 + Width = 75 + Height = 25 + Hint = 'Show or hide additional information|' + Anchors = [akTop, akRight] + Caption = '&Details' + Enabled = False + TabOrder = 3 + OnClick = DetailsBtnClick + end + object DetailsMemo: TMemo + Left = 4 + Top = 129 + Width = 472 + Height = 147 + Anchors = [akLeft, akTop, akRight, akBottom] + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Courier New' + Font.Style = [] + ParentColor = True + ParentFont = False + ReadOnly = True + ScrollBars = ssBoth + TabOrder = 4 + WantReturns = False + WordWrap = False + end +end diff --git a/src/Linkbar.ExceptionDialog.pas b/src/Linkbar.ExceptionDialog.pas new file mode 100644 index 0000000..e8ffe43 --- /dev/null +++ b/src/Linkbar.ExceptionDialog.pas @@ -0,0 +1,752 @@ +{*******************************************************} +{ Linkbar - Windows desktop toolbar } +{ Copyright (c) 2010-2021 Asaq } +{*******************************************************} + +{**************************************************************************************************} +{ } +{ Project JEDI Code Library (JCL) } +{ } +{ The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); } +{ you may not use this file except in compliance with the License. You may obtain a copy of the } +{ License at http://www.mozilla.org/MPL/ } +{ } +{ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF } +{ ANY KIND, either express or implied. See the License for the specific language governing rights } +{ and limitations under the License. } +{ } +{ The Original Code is ExceptDlg.pas. } +{ } +{ The Initial Developer of the Original Code is Petr Vones. } +{ Portions created by Petr Vones are Copyright (C) of Petr Vones. } +{ } +{**************************************************************************************************} + + +unit Linkbar.ExceptionDialog; + +interface + +uses + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, AppEvnts, + JclSysUtils, JclUnitVersioning, JclUnitVersioningProviders, JclDebug; + + +const + UM_CREATEDETAILS = WM_USER + $100; + +type + TExceptionDialog = class(TForm) + SaveBtn: TButton; + TextMemo: TMemo; + OkBtn: TButton; + DetailsBtn: TButton; + BevelDetails: TBevel; + DetailsMemo: TMemo; + procedure SaveBtnClick(Sender: TObject); + procedure FormPaint(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure DetailsBtnClick(Sender: TObject); + procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure FormDestroy(Sender: TObject); + procedure FormResize(Sender: TObject); + private + private + FDetailsVisible: Boolean; + FThreadID: DWORD; + FLastActiveControl: TWinControl; + FNonDetailsHeight: Integer; + FFullHeight: Integer; + procedure SaveToLogFile(const FileName: TFileName); + function GetReportAsText: string; + procedure SetDetailsVisible(const Value: Boolean); + procedure UMCreateDetails(var Message: TMessage); message UM_CREATEDETAILS; + protected + procedure AfterCreateDetails; dynamic; + procedure BeforeCreateDetails; dynamic; + procedure CreateDetails; dynamic; + procedure CreateReport; + function ReportMaxColumns: Integer; virtual; + function ReportNewBlockDelimiterChar: Char; virtual; + procedure NextDetailBlock; + procedure UpdateTextMemoScrollbars; + public + procedure CopyReportToClipboard; + class procedure ExceptionHandler(Sender: TObject; E: Exception); + class procedure ExceptionThreadHandler(Thread: TJclDebugThread); + class procedure ShowException(E: TObject; Thread: TJclDebugThread); + property DetailsVisible: Boolean read FDetailsVisible + write SetDetailsVisible; + property ReportAsText: string read GetReportAsText; + end; + + TExceptionDialogClass = class of TExceptionDialog; + +var + ExceptionDialogClass: TExceptionDialogClass = TExceptionDialog; + +implementation + +{$R *.dfm} + +uses + ClipBrd, Math, + JclBase, JclFileUtils, JclHookExcept, JclPeImage, JclStrings, JclSysInfo, JclWin32; + +resourcestring + RsAppError = '%s - application error'; + RsExceptionClass = 'Exception class: %s'; + RsExceptionMessage = 'Exception message: %s'; + RsExceptionAddr = 'Exception address: %p'; + RsStackList = 'Stack list, generated %s'; + RsModulesList = 'List of loaded modules:'; + RsOSVersion = 'System : %s %s, Version: %d.%d, Build: %x, "%s"'; + RsProcessor = 'Processor: %s, %s, %d MHz'; + RsMemory = 'Memory: %d; free %d'; + RsScreenRes = 'Display : %dx%d pixels, %d bpp'; + RsActiveControl = 'Active Controls hierarchy:'; + RsThread = 'Thread: %s'; + RsMissingVersionInfo = '(no module version info)'; + RsExceptionStack = 'Exception stack'; + RsMainThreadID = 'Main thread ID = %d'; + RsExceptionThreadID = 'Exception thread ID = %d'; + RsMainThreadCallStack = 'Call stack for main thread'; + RsThreadCallStack = 'Call stack for thread %d %s "%s"'; + RsExceptionThreadCallStack = 'Call stack for exception thread %s'; + RsErrorMessage = 'There was an error during the execution of this program.' + NativeLineBreak + + 'The application might become unstable and even useless.' + NativeLineBreak + + 'It''s recommended that you save your work and close this application.' + NativeLineBreak + NativeLineBreak; + RsDetailsIntro = 'Exception log with detailed tech info. Generated on %s.' + NativeLineBreak + + 'You may send it to the application vendor, helping him to understand what had happened.' + NativeLineBreak + + ' Application title: %s' + NativeLineBreak + + ' Application file: %s'; + RsUnitVersioningIntro = 'Unit versioning information:'; + +var + ExceptionDialog: TExceptionDialog; + +//============================================================================ +// Helper routines +//============================================================================ + +// SortModulesListByAddressCompare +// sorts module by address +function SortModulesListByAddressCompare(List: TStringList; + Index1, Index2: Integer): Integer; +var + Addr1, Addr2: TJclAddr; +begin + Addr1 := TJclAddr(List.Objects[Index1]); + Addr2 := TJclAddr(List.Objects[Index2]); + if Addr1 > Addr2 then + Result := 1 + else if Addr1 < Addr2 then + Result := -1 + else + Result := 0; +end; + +//============================================================================ +// TApplication.HandleException method code hooking for exceptions from DLLs +//============================================================================ + +// We need to catch the last line of TApplication.HandleException method: +// [...] +// end else +// SysUtils.ShowException(ExceptObject, ExceptAddr); +// end; + +procedure HookShowException(ExceptObject: TObject; ExceptAddr: Pointer); +begin + if JclValidateModuleAddress(ExceptAddr) + and (ExceptObject.InstanceSize >= Exception.InstanceSize) then + TExceptionDialog.ExceptionHandler(nil, Exception(ExceptObject)) + else + SysUtils.ShowException(ExceptObject, ExceptAddr); +end; + +//---------------------------------------------------------------------------- + +function HookTApplicationHandleException: Boolean; +const + CallOffset = $86; // Until D2007 + CallOffsetDebug = $94; // Until D2007 + CallOffsetWin32 = $7A; // D2009 and newer + CallOffsetWin64 = $95; // DXE2 for Win64 +type + PCALLInstruction = ^TCALLInstruction; + TCALLInstruction = packed record + Call: Byte; + Address: Integer; + end; +var + TApplicationHandleExceptionAddr, SysUtilsShowExceptionAddr: Pointer; + CALLInstruction: TCALLInstruction; + CallAddress: Pointer; + WrittenBytes: Cardinal; + + function CheckAddressForOffset(Offset: Cardinal): Boolean; + begin + try + CallAddress := Pointer(TJclAddr(TApplicationHandleExceptionAddr) + Offset); + CALLInstruction.Call := $E8; + Result := PCALLInstruction(CallAddress)^.Call = CALLInstruction.Call; + if Result then + begin + if IsCompiledWithPackages then + Result := PeMapImgResolvePackageThunk(Pointer(SizeInt(CallAddress) + Integer(PCALLInstruction(CallAddress)^.Address) + SizeOf(CALLInstruction))) = SysUtilsShowExceptionAddr + else + Result := PCALLInstruction(CallAddress)^.Address = SizeInt(SysUtilsShowExceptionAddr) - SizeInt(CallAddress) - SizeOf(CALLInstruction); + end; + except + Result := False; + end; + end; + +begin + TApplicationHandleExceptionAddr := PeMapImgResolvePackageThunk(@TApplication.HandleException); + SysUtilsShowExceptionAddr := PeMapImgResolvePackageThunk(@SysUtils.ShowException); + if Assigned(TApplicationHandleExceptionAddr) and Assigned(SysUtilsShowExceptionAddr) then + begin + Result := CheckAddressForOffset(CallOffset) or CheckAddressForOffset(CallOffsetDebug) or + CheckAddressForOffset(CallOffsetWin32) or CheckAddressForOffset(CallOffsetWin64); + if Result then + begin + CALLInstruction.Address := SizeInt(@HookShowException) - SizeInt(CallAddress) - SizeOf(CALLInstruction); + Result := WriteProtectedMemory(CallAddress, @CallInstruction, SizeOf(CallInstruction), WrittenBytes); + end; + end + else + Result := False; +end; + +//============================================================================ +// Exception dialog +//============================================================================ + +var + ExceptionShowing: Boolean; + +//=== { TExceptionDialog } =============================================== + +procedure TExceptionDialog.AfterCreateDetails; +begin + SaveBtn.Enabled := True; +end; + +//---------------------------------------------------------------------------- + +procedure TExceptionDialog.BeforeCreateDetails; +begin + SaveBtn.Enabled := False; +end; + +//---------------------------------------------------------------------------- + +function TExceptionDialog.ReportMaxColumns: Integer; +begin + Result := 78; +end; + + + +//---------------------------------------------------------------------------- + +procedure TExceptionDialog.SaveBtnClick(Sender: TObject); +begin + with TSaveDialog.Create(Self) do + try + DefaultExt := '.log'; + FileName := ExtractFileName(Application.ExeName) + '-exception-' + FormatDateTime('yyyy-mm-dd', Date) + '.log'; + Filter := 'Log Files (*.log)|*.log|All files (*.*)|*.*'; + Title := 'Save log as...'; + Options := [ofHideReadOnly,ofPathMustExist,ofNoReadOnlyReturn,ofEnableSizing,ofDontAddToRecent]; + if Execute then + SaveToLogFile(FileName); + finally + Free; + end; +end; + +//---------------------------------------------------------------------------- + +procedure TExceptionDialog.CopyReportToClipboard; +begin + ClipBoard.AsText := ReportAsText; +end; + +//---------------------------------------------------------------------------- + +procedure TExceptionDialog.CreateDetails; +begin + Screen.Cursor := crHourGlass; + DetailsMemo.Lines.BeginUpdate; + try + CreateReport; + DetailsMemo.SelStart := 0; + SendMessage(DetailsMemo.Handle, EM_SCROLLCARET, 0, 0); + AfterCreateDetails; + finally + DetailsMemo.Lines.EndUpdate; + OkBtn.Enabled := True; + DetailsBtn.Enabled := True; + OkBtn.SetFocus; + Screen.Cursor := crDefault; + end; +end; + +//---------------------------------------------------------------------------- + +procedure TExceptionDialog.CreateReport; +var + SL: TStringList; + I: Integer; + ModuleName: TFileName; + NtHeaders32: PImageNtHeaders32; + NtHeaders64: PImageNtHeaders64; + ModuleBase: TJclAddr; + ImageBaseStr: string; + C: TWinControl; + CpuInfo: TCpuInfo; + ProcessorDetails: string; + StackList: TJclStackInfoList; + PETarget: TJclPeTarget; + UnitVersioning: TUnitVersioning; + UnitVersioningModule: TUnitVersioningModule; + UnitVersion: TUnitVersion; + ModuleIndex, UnitIndex: Integer; +begin + DetailsMemo.Lines.Add(Format(LoadResString(PResStringRec(@RsMainThreadID)), [MainThreadID])); + DetailsMemo.Lines.Add(Format(LoadResString(PResStringRec(@RsExceptionThreadID)), [MainThreadID])); + NextDetailBlock; + + SL := TStringList.Create; + try + // Except stack list + StackList := JclGetExceptStackList(FThreadID); + if Assigned(StackList) then + begin + DetailsMemo.Lines.Add(RsExceptionStack); + DetailsMemo.Lines.Add(Format(LoadResString(PResStringRec(@RsStackList)), [DateTimeToStr(StackList.TimeStamp)])); + StackList.AddToStrings(DetailsMemo.Lines, True, False, True, False); + NextDetailBlock; + end; + + // Main thread + StackList := JclCreateThreadStackTraceFromID(False, MainThreadID); + if Assigned(StackList) then + begin + DetailsMemo.Lines.Add(LoadResString(PResStringRec(@RsMainThreadCallStack))); + DetailsMemo.Lines.Add(Format(LoadResString(PResStringRec(@RsStackList)), [DateTimeToStr(StackList.TimeStamp)])); + StackList.AddToStrings(DetailsMemo.Lines, True, False, True, False); + NextDetailBlock; + end; + // Exception thread + if MainThreadID <> FThreadID then + begin + StackList := JclCreateThreadStackTraceFromID(False, FThreadID); + if Assigned(StackList) then + begin + DetailsMemo.Lines.Add(Format(LoadResString(PResStringRec(@RsExceptionThreadCallStack)), [FThreadID])); + DetailsMemo.Lines.Add(Format(LoadResString(PResStringRec(@RsStackList)), [DateTimeToStr(StackList.TimeStamp)])); + StackList.AddToStrings(DetailsMemo.Lines, True, False, True, False); + NextDetailBlock; + end; + end; + + // System and OS information + DetailsMemo.Lines.Add(Format(RsOSVersion, [GetWindowsVersionString, NtProductTypeString, + Win32MajorVersion, Win32MinorVersion, Win32BuildNumber, Win32CSDVersion])); + GetCpuInfo(CpuInfo); + ProcessorDetails := Format(RsProcessor, [CpuInfo.Manufacturer, CpuInfo.CpuName, + RoundFrequency(CpuInfo.FrequencyInfo.NormFreq)]); + if not CpuInfo.IsFDIVOK then + ProcessorDetails := ProcessorDetails + ' [FDIV Bug]'; + if CpuInfo.ExMMX then + ProcessorDetails := ProcessorDetails + ' MMXex'; + if CpuInfo.MMX then + ProcessorDetails := ProcessorDetails + ' MMX'; + if sse in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE'; + if sse2 in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE2'; + if sse3 in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE3'; + if ssse3 in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSSE3'; + if sse41 in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE41'; + if sse42 in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE42'; + if sse4A in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE4A'; + if sse5 in CpuInfo.SSE then + ProcessorDetails := ProcessorDetails + ' SSE5'; + if CpuInfo.Ex3DNow then + ProcessorDetails := ProcessorDetails + ' 3DNow!ex'; + if CpuInfo._3DNow then + ProcessorDetails := ProcessorDetails + ' 3DNow!'; + if CpuInfo.Is64Bits then + ProcessorDetails := ProcessorDetails + ' 64 bits'; + if CpuInfo.DEPCapable then + ProcessorDetails := ProcessorDetails + ' DEP'; + DetailsMemo.Lines.Add(ProcessorDetails); + DetailsMemo.Lines.Add(Format(RsMemory, [GetTotalPhysicalMemory div 1024 div 1024, + GetFreePhysicalMemory div 1024 div 1024])); + DetailsMemo.Lines.Add(Format(RsScreenRes, [Screen.Width, Screen.Height, GetBPP])); + NextDetailBlock; + + // Modules list + if LoadedModulesList(SL, GetCurrentProcessId) then + begin + UnitVersioning := GetUnitVersioning; + UnitVersioning.RegisterProvider(TJclDefaultUnitVersioningProvider); + DetailsMemo.Lines.Add(RsModulesList); + SL.CustomSort(SortModulesListByAddressCompare); + for I := 0 to SL.Count - 1 do + begin + ModuleName := SL[I]; + ModuleBase := TJclAddr(SL.Objects[I]); + DetailsMemo.Lines.Add(Format('[' + HexDigitFmt + '] %s', [ModuleBase, ModuleName])); + PETarget := PeMapImgTarget(Pointer(ModuleBase)); + NtHeaders32 := nil; + NtHeaders64 := nil; + if PETarget = taWin32 then + NtHeaders32 := PeMapImgNtHeaders32(Pointer(ModuleBase)) + else + if PETarget = taWin64 then + NtHeaders64 := PeMapImgNtHeaders64(Pointer(ModuleBase)); + if (NtHeaders32 <> nil) and (NtHeaders32^.OptionalHeader.ImageBase <> ModuleBase) then + ImageBaseStr := Format('<' + HexDigitFmt32 + '> ', [NtHeaders32^.OptionalHeader.ImageBase]) + else + if (NtHeaders64 <> nil) and (NtHeaders64^.OptionalHeader.ImageBase <> ModuleBase) then + ImageBaseStr := Format('<' + HexDigitFmt64 + '> ', [NtHeaders64^.OptionalHeader.ImageBase]) + else + ImageBaseStr := StrRepeat(' ', 11); + if VersionResourceAvailable(ModuleName) then + with TJclFileVersionInfo.Create(ModuleName) do + try + DetailsMemo.Lines.Add(ImageBaseStr + BinFileVersion + ' - ' + FileVersion); + if FileDescription <> '' then + DetailsMemo.Lines.Add(StrRepeat(' ', 11) + FileDescription); + finally + Free; + end + else + DetailsMemo.Lines.Add(ImageBaseStr + RsMissingVersionInfo); + for ModuleIndex := 0 to UnitVersioning.ModuleCount - 1 do + begin + UnitVersioningModule := UnitVersioning.Modules[ModuleIndex]; + if UnitVersioningModule.Instance = ModuleBase then + begin + if UnitVersioningModule.Count > 0 then + DetailsMemo.Lines.Add(StrRepeat(' ', 11) + LoadResString(PResStringRec(@RsUnitVersioningIntro))); + for UnitIndex := 0 to UnitVersioningModule.Count - 1 do + begin + UnitVersion := UnitVersioningModule.Items[UnitIndex]; + DetailsMemo.Lines.Add(Format('%s%s %s %s %s', [StrRepeat(' ', 13), UnitVersion.LogPath, UnitVersion.RCSfile, UnitVersion.Revision, UnitVersion.Date])); + end; + end; + end; + end; + NextDetailBlock; + end; + + // Active controls + if (FLastActiveControl <> nil) then + begin + DetailsMemo.Lines.Add(RsActiveControl); + C := FLastActiveControl; + while C <> nil do + begin + DetailsMemo.Lines.Add(Format('%s "%s"', [C.ClassName, C.Name])); + C := C.Parent; + end; + NextDetailBlock; + end; + finally + SL.Free; + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.DetailsBtnClick(Sender: TObject); +begin + DetailsVisible := not DetailsVisible; +end; + +//-------------------------------------------------------------------------------------------------- + +class procedure TExceptionDialog.ExceptionHandler(Sender: TObject; E: Exception); +begin + if Assigned(E) then + if ExceptionShowing then + Application.ShowException(E) + else + begin + ExceptionShowing := True; + try + if IsIgnoredException(E.ClassType) then + Application.ShowException(E) + else + ShowException(E, nil); + finally + ExceptionShowing := False; + end; + end; +end; + +//-------------------------------------------------------------------------------------------------- + +class procedure TExceptionDialog.ExceptionThreadHandler(Thread: TJclDebugThread); +var + E: Exception; +begin + E := Exception(Thread.SyncException); + if Assigned(E) then + if ExceptionShowing then + Application.ShowException(E) + else + begin + ExceptionShowing := True; + try + if IsIgnoredException(E.ClassType) then + Application.ShowException(E) + else + ShowException(E, Thread); + finally + ExceptionShowing := False; + end; + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.FormCreate(Sender: TObject); +begin + FFullHeight := ClientHeight; + DetailsVisible := False; + Caption := Format(RsAppError, [Application.Title]); +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.FormDestroy(Sender: TObject); +begin + +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); +begin + if (Key = Ord('C')) and (ssCtrl in Shift) then + begin + CopyReportToClipboard; + MessageBeep(MB_OK); + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.FormPaint(Sender: TObject); +begin + DrawIcon(Canvas.Handle, TextMemo.Left - GetSystemMetrics(SM_CXICON) - 15, + TextMemo.Top, LoadIcon(0, IDI_ERROR)); +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.FormResize(Sender: TObject); +begin + UpdateTextMemoScrollbars; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.FormShow(Sender: TObject); +begin + BeforeCreateDetails; + MessageBeep(MB_ICONERROR); + if (GetCurrentThreadId = MainThreadID) and (GetWindowThreadProcessId(Handle, nil) = MainThreadID) then + PostMessage(Handle, UM_CREATEDETAILS, 0, 0) + else + CreateReport; +end; + +//-------------------------------------------------------------------------------------------------- + +function TExceptionDialog.GetReportAsText: string; +begin + Result := StrEnsureSuffix(NativeCrLf, TextMemo.Text) + NativeCrLf + DetailsMemo.Text; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.NextDetailBlock; +begin + DetailsMemo.Lines.Add(StrRepeat(ReportNewBlockDelimiterChar, ReportMaxColumns)); +end; + +//-------------------------------------------------------------------------------------------------- + +function TExceptionDialog.ReportNewBlockDelimiterChar: Char; +begin + Result := '-'; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.SaveToLogFile(const FileName: TFileName); +var + SimpleLog: TJclSimpleLog; +begin + SimpleLog := TJclSimpleLog.Create(FileName); + try + SimpleLog.WriteStamp(ReportMaxColumns); + SimpleLog.Write(ReportAsText); + SimpleLog.CloseLog; + finally + SimpleLog.Free; + end; +end; +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.SetDetailsVisible(const Value: Boolean); +const + DirectionChars: array [0..1] of Char = ( '<', '>' ); +var + DetailsCaption: string; +begin + FDetailsVisible := Value; + DetailsCaption := Trim(StrRemoveChars(DetailsBtn.Caption, DirectionChars)); + if Value then + begin + Constraints.MinHeight := FNonDetailsHeight + 100; + Constraints.MaxHeight := Screen.Height; + DetailsCaption := '<< ' + DetailsCaption; + ClientHeight := FFullHeight; + DetailsMemo.Height := FFullHeight - DetailsMemo.Top - 3; + end + else + begin + FFullHeight := ClientHeight; + DetailsCaption := DetailsCaption + ' >>'; + if FNonDetailsHeight = 0 then + begin + ClientHeight := BevelDetails.Top; + FNonDetailsHeight := Height; + end + else + Height := FNonDetailsHeight; + Constraints.MinHeight := FNonDetailsHeight; + Constraints.MaxHeight := FNonDetailsHeight + end; + DetailsBtn.Caption := DetailsCaption; + DetailsMemo.Enabled := Value; +end; + +//-------------------------------------------------------------------------------------------------- + +class procedure TExceptionDialog.ShowException(E: TObject; Thread: TJclDebugThread); +begin + if ExceptionDialog = nil then + ExceptionDialog := ExceptionDialogClass.Create(Application); + try + with ExceptionDialog do + begin + if Assigned(Thread) then + FThreadID := Thread.ThreadID + else + FThreadID := MainThreadID; + FLastActiveControl := Screen.ActiveControl; + if E is Exception then + TextMemo.Text := RsErrorMessage + AdjustLineBreaks(StrEnsureSuffix('.', Exception(E).Message)) + else + TextMemo.Text := RsErrorMessage + AdjustLineBreaks(StrEnsureSuffix('.', E.ClassName)); + UpdateTextMemoScrollbars; + NextDetailBlock; + //Arioch: some header for possible saving to txt-file/e-mail/clipboard/NTEvent... + DetailsMemo.Lines.Add(Format(RsDetailsIntro, [DateTimeToStr(Now), Application.Title, Application.ExeName])); + NextDetailBlock; + DetailsMemo.Lines.Add(Format(RsExceptionClass, [E.ClassName])); + if E is Exception then + DetailsMemo.Lines.Add(Format(RsExceptionMessage, [StrEnsureSuffix('.', Exception(E).Message)])); + if Thread = nil then + DetailsMemo.Lines.Add(Format(RsExceptionAddr, [ExceptAddr])) + else + DetailsMemo.Lines.Add(Format(RsThread, [Thread.ThreadInfo])); + NextDetailBlock; + ShowModal; + end; + finally + FreeAndNil(ExceptionDialog); + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.UMCreateDetails(var Message: TMessage); +begin + Update; + CreateDetails; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure TExceptionDialog.UpdateTextMemoScrollbars; +begin + Canvas.Font := TextMemo.Font; + if TextMemo.Lines.Count * Canvas.TextHeight('Wg') > TextMemo.ClientHeight then + TextMemo.ScrollBars := ssVertical + else + TextMemo.ScrollBars := ssNone; +end; + +//================================================================================================== +// Exception handler initialization code +//================================================================================================== + +var + AppEvents: TApplicationEvents = nil; + +procedure InitializeHandler; +begin + if AppEvents = nil then + begin + AppEvents := TApplicationEvents.Create(nil); + AppEvents.OnException := TExceptionDialog.ExceptionHandler; + JclStackTrackingOptions := JclStackTrackingOptions + [stTraceAllExceptions]; + JclStackTrackingOptions := JclStackTrackingOptions + [stDelayedTrace]; + JclDebugThreadList.OnSyncException := TExceptionDialog.ExceptionThreadHandler; + JclStartExceptionTracking; + JclStackTrackingOptions := JclStackTrackingOptions + [stDisableIfDebuggerAttached]; + + end; +end; + +//-------------------------------------------------------------------------------------------------- + +procedure UnInitializeHandler; +begin + if AppEvents <> nil then + begin + FreeAndNil(AppEvents); + JclDebugThreadList.OnSyncException := nil; + JclUnhookExceptions; + JclStopExceptionTracking; + end; +end; + +//-------------------------------------------------------------------------------------------------- + +initialization + InitializeHandler; + +finalization + UnInitializeHandler; + +end. diff --git a/src/Linkbar.Graphics.pas b/src/Linkbar.Graphics.pas index f6b24cc..5b3490e 100644 --- a/src/Linkbar.Graphics.pas +++ b/src/Linkbar.Graphics.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} // Using raw bitmap reduces the size of the executable file diff --git a/src/Linkbar.Hint.pas b/src/Linkbar.Hint.pas index 8c721a6..3da612a 100644 --- a/src/Linkbar.Hint.pas +++ b/src/Linkbar.Hint.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Hint; diff --git a/src/Linkbar.OS.pas b/src/Linkbar.OS.pas index 3f3ae19..f02d63a 100644 --- a/src/Linkbar.OS.pas +++ b/src/Linkbar.OS.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} diff --git a/src/Linkbar.Settings.pas b/src/Linkbar.Settings.pas index 84af1cb..0547f0b 100644 --- a/src/Linkbar.Settings.pas +++ b/src/Linkbar.Settings.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Settings; diff --git a/src/Linkbar.SettingsForm.dfm b/src/Linkbar.SettingsForm.dfm index 307bdb3..d4ab8da 100644 --- a/src/Linkbar.SettingsForm.dfm +++ b/src/Linkbar.SettingsForm.dfm @@ -26,15 +26,16 @@ object FrmProperties: TFrmProperties PixelsPerInch = 96 TextHeight = 14 object pgc1: TPageControl - Left = 8 - Top = 8 + Left = 4 + Top = 4 Width = 401 Height = 449 - ActivePage = TabSheetItems + ActivePage = tsPanel Align = alCustom Anchors = [akLeft, akTop, akRight] + MultiLine = True TabOrder = 0 - object TabSheetPanel: TTabSheet + object tsPanel: TTabSheet Caption = 'Panel' ImageIndex = 4 DesignSize = ( @@ -326,9 +327,13 @@ object FrmProperties: TFrmProperties end end end - object TabSheetItems: TTabSheet + object tsItems: TTabSheet Caption = 'Items' ImageIndex = 5 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 DesignSize = ( 393 420) @@ -361,11 +366,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 51 - Height = 22 + Height = 14 Align = alLeft Caption = 'Icon size:' Layout = tlCenter - ExplicitHeight = 14 end object nseIconSize: TnSpinEdit Left = 210 @@ -393,11 +397,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 153 - Height = 22 + Height = 14 Align = alLeft Caption = 'Margins (horizontal/vertical):' Layout = tlCenter - ExplicitHeight = 14 end object bvlSpacer2: TBevel Left = 289 @@ -482,11 +485,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 105 - Height = 22 + Height = 14 Align = alLeft Caption = 'Text width/indent:' Layout = tlCenter - ExplicitHeight = 14 end object bvlSpacer3: TBevel Left = 289 @@ -531,7 +533,7 @@ object FrmProperties: TFrmProperties BevelOuter = bvNone ShowCaption = False TabOrder = 4 - object chbUseTextColor: TCheckBox + object chbTextColor: TCheckBox Left = 0 Top = 0 Width = 187 @@ -565,15 +567,14 @@ object FrmProperties: TFrmProperties BevelOuter = bvNone ShowCaption = False TabOrder = 5 - object lblGlowSize: TLabel + object lblTextGlowSize: TLabel Left = 0 Top = 0 Width = 54 - Height = 22 + Height = 14 Align = alLeft Caption = 'Glow size:' Layout = tlCenter - ExplicitHeight = 14 end object nseGlowSize: TnSpinEdit Left = 210 @@ -601,11 +602,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 37 - Height = 22 + Height = 14 Align = alLeft Caption = 'Width:' Layout = tlCenter - ExplicitHeight = 14 end object nseSeparatorWidth: TnSpinEdit Left = 210 @@ -649,7 +649,7 @@ object FrmProperties: TFrmProperties TabOrder = 0 OnChange = Changed Items.Strings = ( - 'Bar' + 'Line' 'Spacer') end end @@ -674,9 +674,13 @@ object FrmProperties: TFrmProperties end end end - object TabSheetAutoHide: TTabSheet + object tsAutoHide: TTabSheet Caption = 'Autohide' ImageIndex = 4 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 DesignSize = ( 393 420) @@ -701,12 +705,11 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 105 - Height = 22 + Height = 14 Align = alLeft Caption = 'Keyboard shortcut:' Transparent = True Layout = tlCenter - ExplicitHeight = 14 end end object pnlDummy21: TPanel @@ -722,11 +725,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 28 - Height = 21 + Height = 14 Align = alLeft Caption = 'Hide:' Layout = tlCenter - ExplicitHeight = 14 end object chbAutoHide: TCheckBox Left = 210 @@ -752,11 +754,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 104 - Height = 22 + Height = 14 Align = alLeft Caption = 'Corner gaps width:' Layout = tlCenter - ExplicitHeight = 14 end object Bevel2: TBevel Left = 289 @@ -843,11 +844,10 @@ object FrmProperties: TFrmProperties Left = 0 Top = 0 Width = 56 - Height = 22 + Height = 14 Align = alLeft Caption = 'Delay, ms:' Layout = tlCenter - ExplicitHeight = 14 end object nseAutoShowDelay: TnSpinEdit Left = 210 @@ -877,6 +877,10 @@ object FrmProperties: TFrmProperties object tsAdditionally: TTabSheet Caption = 'Additional' ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 DesignSize = ( 393 420) @@ -933,14 +937,12 @@ object FrmProperties: TFrmProperties object lblJumplistRecentMax: TLabel Left = 0 Top = 0 - Width = 293 - Height = 33 + Width = 58 + Height = 14 Align = alClient Caption = 'Max items:' Layout = tlCenter WordWrap = True - ExplicitWidth = 58 - ExplicitHeight = 14 end object Bevel1: TBevel Left = 293 @@ -979,6 +981,10 @@ object FrmProperties: TFrmProperties object tsAbout: TTabSheet Caption = 'About' ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 DesignSize = ( 393 420) @@ -1005,7 +1011,7 @@ object FrmProperties: TFrmProperties Height = 14 Caption = 'web:' end - object Label2: TLabel + object lblSystemInfo: TLabel Left = 8 Top = 132 Width = 68 diff --git a/src/Linkbar.SettingsForm.pas b/src/Linkbar.SettingsForm.pas index 92cb1a2..80d2e9a 100644 --- a/src/Linkbar.SettingsForm.pas +++ b/src/Linkbar.SettingsForm.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.SettingsForm; @@ -32,7 +32,7 @@ TFrmProperties = class(TForm) linkEmail: TLinkLabel; linkWeb: TLinkLabel; lblWeb: TLabel; - Label2: TLabel; + lblSystemInfo: TLabel; chbAutoHideTransparency: TCheckBox; cbbScreenPosition: TComboBox; pnlDummy1: TPanel; @@ -68,11 +68,11 @@ TFrmProperties = class(TForm) pnlDummy8: TPanel; edtBkgndColor: TEdit; chbUseBkgndColor: TCheckBox; - chbUseTextColor: TCheckBox; + chbTextColor: TCheckBox; bvlSpacer2: TBevel; bvlSpacer3: TBevel; pnlDummy9: TPanel; - lblGlowSize: TLabel; + lblTextGlowSize: TLabel; nseGlowSize: TnSpinEdit; clbTextColor: TColorBox; pnlLightStyle: TPanel; @@ -108,10 +108,10 @@ TFrmProperties = class(TForm) pnlDummy5: TPanel; lblItemsAlign: TLabel; cbbItemsAlign: TComboBox; - TabSheetPanel: TTabSheet; - TabSheetItems: TTabSheet; + tsPanel: TTabSheet; + tsItems: TTabSheet; lblShortcuts: TLabel; - TabSheetAutoHide: TTabSheet; + tsAutoHide: TTabSheet; lblSeperators: TLabel; pnlSeparator1: TPanel; lblSeparatorWidth: TLabel; @@ -348,14 +348,14 @@ constructor TFrmProperties.Create(AOwner: TLinkbarWcl); InitSpinEdit(nseJumplistRecentMax, JUMPLIST_RECENTMAX_MIN, JUMPLIST_RECENTMAX_MAX); - pgc1.Height := TabSheetPanel.Top + pnlSeparator2.BoundsRect.Bottom + VO2 + TabSheetPanel.Left; + pgc1.Height := tsPanel.Top + pnlSeparator2.BoundsRect.Bottom + VO2 + tsPanel.Left; btnOk.Top := pgc1.BoundsRect.Bottom + ScaleDimension(8); btnCancel.Top := btnOk.Top; btnApply.Top := btnOk.Top; // Calc Client Width & Height - ClientWidth := maxlabelwidth + ctrlwidth + (pnlDummy1.Left + TabSheetPanel.Left + pgc1.Left) * 2; + ClientWidth := maxlabelwidth + ctrlwidth + (pnlDummy1.Left + tsPanel.Left + pgc1.Left) * 2; //if IsWindows7 then y1 := 5 else y1 := 8; y1 := 5; ClientHeight := btnOk.BoundsRect.Bottom + ScaleDimension(y1); @@ -385,7 +385,7 @@ constructor TFrmProperties.Create(AOwner: TLinkbarWcl); nseAutoShowDelay.Value := FLinkbar.AutoShowDelay; chbLightStyle.Checked := FLinkbar.IsLightStyle; chbUseBkgndColor.Checked := FLinkbar.UseBkgndColor; - chbUseTextColor.Checked := FLinkbar.UseTextColor; + chbTextColor.Checked := FLinkbar.UseTextColor; cbbJumplistShowMode.ItemIndex := Ord(FLinkbar.JumplistShowMode); nseJumplistRecentMax.Value := FLinkbar.JumplistRecentMax; chbStayOnTop.Checked := FLinkbar.StayOnTop; @@ -417,30 +417,51 @@ constructor TFrmProperties.Create(AOwner: TLinkbarWcl); procedure TFrmProperties.L10n; begin - // Tabs - //L10nControl(TabSheetPanel, 'Properties.View'); - //L10nControl(TabSheetItems, 'Properties.PageItems'); - L10nControl(TabSheetAutoHide, 'Properties.PageAutoHide'); - L10nControl(tsAdditionally, 'Properties.Additional'); - L10nControl(tsAbout, 'Properties.About'); - // View + // Pages + L10nControl(tsPanel, 'Properties.PagePanel'); + L10nControl(tsItems, 'Properties.PageItems'); + L10nControl(tsAutoHide, 'Properties.PageAutoHide'); + L10nControl(tsAdditionally, 'Properties.PageAdditional'); + L10nControl(tsAbout, 'Properties.PageAbout'); + + // Panel L10nControl(lblSection1, 'Properties.Appearance'); L10nControl(lblScreenEdge, 'Properties.Position'); L10nControl(cbbScreenPosition, ['Properties.Left', 'Properties.Top', 'Properties.Right', 'Properties.Bottom']); - L10nControl(lblIconSize, 'Properties.IconSize'); - L10nControl(chbUseBkgndColor, 'Properties.BgColor'); - L10nControl(lblMargin, 'Properties.Margins'); L10nControl(lblOrder, 'Properties.Order'); - //L10nControl(lblItemsAlign, 'Properties.ItemsAlign'); - //L10nControl(cbbItemsAlign, ['Properties.Left', 'Properties.Center']); - //L10nControl(chbTooltipShow, 'Properties.TooltipShow'); L10nControl(cbbItemOrder, ['Properties.LtR', 'Properties.UtD']); + L10nControl(lblItemsAlign, 'Properties.ItemsAlign'); + L10nControl(cbbItemsAlign, ['Properties.Left', 'Properties.Center']); + L10nControl(chbUseBkgndColor, 'Properties.BgColor'); + L10nControl(chbStayOnTop, 'Properties.AlwaysOnTop'); + + // Windows specific + L10nControl(lblSectionWindows, 'Properties.ForWindows'); + // Windows 7 + L10nControl(chbLightStyle, 'Properties.Style1'); + // Windows 8 + L10nControl(chbAeroGlass, 'Properties.AeroGlass'); + // Windows 10 + L10nControl(lblColorMode, 'Properties.Theme'); + L10nControl(cbbColorMode, ['Properties.Light', 'Properties.Dark', 'Properties.Accent']); + L10nControl(lblTransparencyMode, 'Properties.Transparency'); + L10nControl(cbbTransparencyMode, ['Properties.Opaque', 'Properties.Transparent', 'Properties.Glass']); + + // Items + L10nControl(lblShortcuts, 'Properties.Shortcuts'); + L10nControl(lblIconSize, 'Properties.IconSize'); + L10nControl(lblMargin, 'Properties.Margins'); L10nControl(lblTextPosition, 'Properties.TextPos'); L10nControl(cbbTextLayout, ['Properties.Without' , 'Properties.Left', 'Properties.Top', 'Properties.Right', 'Properties.Bottom']); L10nControl(lblTextWidthIdent, 'Properties.TextWidth'); - L10nControl(chbUseTextColor, 'Properties.TextColor'); - L10nControl(lblGlowSize, 'Properties.GlowSize'); - L10nControl(chbStayOnTop, 'Properties.AlwaysOnTop'); + L10nControl(chbTextColor, 'Properties.TextColor'); + L10nControl(lblTextGlowSize, 'Properties.GlowSize'); + L10nControl(chbTooltipShow, 'Properties.ShowTooltips'); + L10nControl(lblSeperators, 'Properties.Separators'); + L10nControl(lblSeparatorWidth, 'Properties.Width'); + L10nControl(lblSeparatorStyle, 'Properties.Style'); + L10nControl(cbbSeparatorStyle, ['Properties.Line', 'Properties.Spacer']); + // Autohide L10nControl(lblSection3, 'Properties.AutoHide'); L10nControl(lbl2, 'Properties.Hide'); @@ -451,29 +472,18 @@ procedure TFrmProperties.L10n; L10nControl(lblCornerGapWidth, 'Properties.CornerTransWidth'); L10nControl(lblHotKey, 'Properties.HotKey'); L10nControl(chbAutoHideTransparency, 'Properties.AutoHideTransparency'); + // Additional L10nControl(lblSectionJumplist, 'Properties.Jumplists'); L10nControl(lblJumplistShowMode, 'Properties.Show'); L10nControl(cbbJumplistShowMode, ['Properties.No', 'Properties.MouseRC']); L10nControl(lblJumplistRecentMax, 'Properties.JumplistRecentMaxItems'); - {if IsWindows10 - then L10nControl(lblSectionWindows, 'Properties.ForW10') - else if IsWindows7 - then L10nControl(lblSectionWindows, 'Properties.ForW7') - else if IsWindows8And8Dot1 - then L10nControl(lblSectionWindows, 'Properties.ForW8');} - - L10nControl(chbLightStyle, 'Properties.Style1'); - L10nControl(chbAeroGlass, 'Properties.AeroGlass'); - //L10nControl(lblColorMode, 'Properties.ColorMode'); - //L10nControl(cbbColorMode, ['Properties.Light', 'Properties.Dark', 'Properties.Accent', 'Properties.Custom']); - //L10nControl(lblTransparency, 'Properties.Transparency'); - //L10nControl(cbbTransparency, ['Properties.Opaque', 'Properties.Transparent', 'Properties.Glass']); // About L10nControl(lblVer, 'Properties.Version'); L10nControl(lblLocalizer, 'Properties.Localizer'); - L10nControl(Label2, 'Properties.SystemInfo'); + L10nControl(lblSystemInfo, 'Properties.SystemInfo'); + // Buttons L10nControl(btnOk, 'Button.Ok'); L10nControl(btnCancel, 'Button.Cancel'); @@ -566,10 +576,10 @@ procedure TFrmProperties.Changed(Sender: TObject); lblTextWidthIdent.Enabled := enabled; nseTextWidth.Enabled := enabled; nseTextOffset.Enabled := enabled; - lblGlowSize.Enabled := enabled; + lblTextGlowSize.Enabled := enabled; nseGlowSize.Enabled := enabled; - chbUseTextColor.Enabled := enabled; - clbTextColor.Enabled := enabled and chbUseTextColor.Checked; + chbTextColor.Enabled := enabled; + clbTextColor.Enabled := enabled and chbTextColor.Checked; // Check Hotkey //if ((Sender = edtHotKey) and (FLinkbar.HotkeyInfo <> edtHotKey.HotkeyInfo)) @@ -608,7 +618,7 @@ procedure TFrmProperties.DialogButtonClick(Sender: TObject); FLinkbar.BackgroundColor := FBackgroundColor; FLinkbar.TextColor := FTextColor; FLinkbar.UseBkgndColor := chbUseBkgndColor.Checked; - FLinkbar.UseTextColor := chbUseTextColor.Checked; + FLinkbar.UseTextColor := chbTextColor.Checked; FLinkbar.GlowSize := nseGlowSize.Value; diff --git a/src/Linkbar.Shell.pas b/src/Linkbar.Shell.pas index ce833af..a261904 100644 --- a/src/Linkbar.Shell.pas +++ b/src/Linkbar.Shell.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Shell; diff --git a/src/Linkbar.Taskbar.pas b/src/Linkbar.Taskbar.pas index 93c2f42..7fad029 100644 --- a/src/Linkbar.Taskbar.pas +++ b/src/Linkbar.Taskbar.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Taskbar; diff --git a/src/Linkbar.Theme.pas b/src/Linkbar.Theme.pas index 76a4004..ba961f1 100644 --- a/src/Linkbar.Theme.pas +++ b/src/Linkbar.Theme.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Theme; diff --git a/src/Linkbar.Undoc.pas b/src/Linkbar.Undoc.pas index df71bf0..5c1bbb2 100644 --- a/src/Linkbar.Undoc.pas +++ b/src/Linkbar.Undoc.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit Linkbar.Undoc; diff --git a/src/Linkbar.dpr b/src/Linkbar.dpr index 3f82774..200bbf6 100644 --- a/src/Linkbar.dpr +++ b/src/Linkbar.dpr @@ -1,3 +1,9 @@ +{$IFDEF DEBUG} +// JCL_DEBUG_EXPERT_GENERATEJDBG OFF +// JCL_DEBUG_EXPERT_INSERTJDBG OFF +// JCL_DEBUG_EXPERT_DELETEMAPFILE OFF +{$ENDIF} + program Linkbar; {$i linkbar.inc} @@ -15,6 +21,9 @@ uses Linkbar.Consts, Linkbar.OS, mUnit in 'mUnit.pas', +{$IFDEF DEBUG} + Linkbar.ExceptionDialog, +{$ENDIF} Linkbar.Newbar, Linkbar.Shell, Linkbar.L10n, @@ -42,8 +51,6 @@ var dn, cmd: string; begin {$IFDEF DEBUG} ReportMemoryLeaksOnShutdown := True; - //AllocConsole; - //DebugWriteln('Debug output enabled.'); {$ENDIF} { Check supported OS } diff --git a/src/Linkbar.dproj b/src/Linkbar.dproj index 4250ca8..8949b37 100644 --- a/src/Linkbar.dproj +++ b/src/Linkbar.dproj @@ -1,1063 +1,1062 @@ - - - {EA4CA9D4-F6DB-4C7E-8829-04CBFEC5C941} - Linkbar.dpr - True - Debug - Application - VCL - DCC32 - 18.8 - Win64 - 3 - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - ..\ico\linkbar.ico - false - 9 - false - linkbar.exe.manifest - CompanyName=linkbar@yandex.ru;FileDescription=Windows desktop toolbar;FileVersion=1.6.9.0;InternalName=Linkbar;LegalCopyright=linkbar@yandex.ru;LegalTrademarks=;OriginalFilename=Linkbar.exe;ProductName=Linkbar;ProductVersion=1.6.9;Comments=Powered by VCL Delphi XE3;PrivateBuild=Beta 5 - 1033 - true - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) - 6 - 00400000 - vcl;rtl;vclx;vclie;VclSmp;dss;vclactnband;vclshlctrls;TntUnicodeVcl_R70;$(DCC_UsePackage) - ..\exe - ..\Components\GdiPlus;..\Components\DirWatch;..\Components\SpinEdit;..\Components\JumpList;..\Components\RenameDialog;..\Components\ColorPicker;..\components\NewBar;..\Components\L10n;..\Components\Hotkey;$(DCC_UnitSearchPath) - false - true - false - ..\out\linkbar32 - false - false - Linkbar - true - - - ..\exe\Linkbar.exe - Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - ..\exe\Linkbar.exe - ..\out\linkbar64 - Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - false - false - RELEASE;$(DCC_Define) - 0 - - - - Debug - - - true - Debug - - - true - true - true - DEBUG;$(DCC_Define) - false - true - - - - Debug - - - false - false - Debug - - - - MainSource - - - -
FrmProperties
-
- - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - - Delphi.Personality.12 - VCLApplication - - - - Linkbar.dpr - - - /soff - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - True - True - 1 - 0 - 0 - 2204 - False - False - False - False - False - 1049 - 1251 - - - - - 1.0.0.2204 - - - - - - 1.0.0.0 - - - - - True - True - - - - - - .\ - true - - - - - Linkbar.exe - true - - - - - .\ - true - - - - - Linkbar.exe - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - False - - 12 - - - - - False - - False - copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform).exe - True - - - - False - - False - copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform).exe - False - - - - False - - False - copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform)D.exe - True - - - - False - - False - copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform)D.exe - True - -
+ + + {EA4CA9D4-F6DB-4C7E-8829-04CBFEC5C941} + Linkbar.dpr + True + Debug + Application + VCL + DCC32 + 18.8 + Win64 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + ..\ico\linkbar.ico + false + 9 + false + linkbar.exe.manifest + CompanyName=linkbar@yandex.ru;FileDescription=Windows desktop toolbar;FileVersion=1.6.9.0;InternalName=Linkbar;LegalCopyright=linkbar@yandex.ru;LegalTrademarks=;OriginalFilename=Linkbar.exe;ProductName=Linkbar;ProductVersion=1.6.9;Comments=Powered by Delphi 10.3 Community Edition + 1033 + true + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) + 6 + 00400000 + vcl;rtl;vclx;vclie;VclSmp;dss;vclactnband;vclshlctrls;TntUnicodeVcl_R70;$(DCC_UsePackage) + ..\exe + ..\Components\GdiPlus;..\Components\DirWatch;..\Components\SpinEdit;..\Components\JumpList;..\Components\RenameDialog;..\Components\ColorPicker;..\components\NewBar;..\Components\L10n;..\Components\Hotkey;$(DCC_UnitSearchPath) + false + true + false + ..\out\linkbar32 + false + false + Linkbar + + + ..\exe\Linkbar.exe + Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + ..\exe\Linkbar.exe + ..\out\linkbar64 + Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + false + false + RELEASE;$(DCC_Define) + 0 + + + + Debug + + + true + Debug + + + true + true + true + DEBUG;$(DCC_Define) + false + true + + + + Debug + + + false + false + Debug + + + + MainSource + + + +
FrmProperties
+
+ + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + + Delphi.Personality.12 + VCLApplication + + + + Linkbar.dpr + + + /soff + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + True + True + 1 + 0 + 0 + 2204 + False + False + False + False + False + 1049 + 1251 + + + + + 1.0.0.2204 + + + + + + 1.0.0.0 + + + + + True + True + + + + + + .\ + true + + + + + Linkbar.exe + true + + + + + .\ + true + + + + + Linkbar.exe + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + False + + 12 + + + + + False + + False + copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform).exe + True + + + + False + + False + copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform).exe + False + + + + False + + False + copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform)D.exe + True + + + + False + + False + copy $(OUTPUTPATH) $(OUTPUTDIR)$(OUTPUTNAME)$(Platform)D.exe + True + +
diff --git a/src/mUnit.dfm b/src/mUnit.dfm index bc93d30..dc89de6 100644 --- a/src/mUnit.dfm +++ b/src/mUnit.dfm @@ -39,10 +39,10 @@ object LinkbarWcl: TLinkbarWcl GroupIndex = 3 OnClick = imNewSeparatorClick end - object imAddBar: TMenuItem + object imNewLinkbar: TMenuItem Caption = 'Linkbar' GroupIndex = 3 - OnClick = imAddBarClick + OnClick = imNewLinkbarClick end end object N2: TMenuItem @@ -88,7 +88,7 @@ object LinkbarWcl: TLinkbarWcl Tag = 20 Caption = 'Close' GroupIndex = 3 - ShortCut = 32884 + ShortCut = 32883 OnClick = imCloseClick end object imCloseAll: TMenuItem diff --git a/src/mUnit.pas b/src/mUnit.pas index ae319ef..7d76ded 100644 --- a/src/mUnit.pas +++ b/src/mUnit.pas @@ -1,6 +1,6 @@ {*******************************************************} { Linkbar - Windows desktop toolbar } -{ Copyright (c) 2010-2018 Asaq } +{ Copyright (c) 2010-2021 Asaq } {*******************************************************} unit mUnit; @@ -22,7 +22,7 @@ TLinkbarWcl = class(TLinkbarCustomFrom) pMenu: TPopupMenu; imClose: TMenuItem; imProperties: TMenuItem; - imAddBar: TMenuItem; + imNewLinkbar: TMenuItem; imRemoveBar: TMenuItem; N1: TMenuItem; N2: TMenuItem; @@ -47,7 +47,7 @@ TLinkbarWcl = class(TLinkbarCustomFrom) procedure imPropertiesClick(Sender: TObject); procedure imRemoveBarClick(Sender: TObject); procedure imCloseClick(Sender: TObject); - procedure imAddBarClick(Sender: TObject); + procedure imNewLinkbarClick(Sender: TObject); procedure imNewShortcutClick(Sender: TObject); procedure tmrUpdateTimer(Sender: TObject); procedure imCloseAllClick(Sender: TObject); @@ -306,7 +306,7 @@ function EnumWindowProcClose(wnd: HWND; lParam: LPARAM): BOOL; stdcall; class procedure TLinkbarWcl.CloseAll; begin - if MessageDlg('Close all linkbars?',//L10NFind('Message.CloseAll', 'Close all linkbars?'), + if MessageDlg(L10NFind('Message.CloseAll', 'Close all linkbars?'), mtConfirmation, [mbOK, mbCancel], 0, mbCancel) = mrOk then begin EnumWindows(@EnumWindowProcStopDirWatch, 0); @@ -1001,8 +1001,8 @@ procedure TLinkbarWcl.L10n; L10nControl(imNew, 'Menu.New'); L10nControl(imNewShortcut, 'Menu.Shortcut'); L10nControl(imNewSeparator, 'Menu.Separator'); + L10nControl(imNewLinkbar, 'Menu.Linkbar'); L10nControl(imOpenWorkdir, 'Menu.Open'); - L10nControl(imAddBar, 'Menu.Create'); L10nControl(imRemoveBar, 'Menu.Delete'); L10nControl(imLockBar, 'Menu.Lock'); L10nControl(imSortAlphabet, 'Menu.Sort'); @@ -2363,7 +2363,7 @@ procedure TLinkbarWcl.imLockBarClick(Sender: TObject); TSettingsFile.Write(FSettingsFileName, INI_LOCK_BAR, FLockLinkbar); end; -procedure TLinkbarWcl.imAddBarClick(Sender: TObject); +procedure TLinkbarWcl.imNewLinkbarClick(Sender: TObject); var cmd: string; begin cmd := LBCreateCommandParam(CLK_NEW, '');