From dc04a96bddcaeff21340e192164c8ad418e7ac88 Mon Sep 17 00:00:00 2001 From: PointStar Date: Mon, 11 May 2026 17:10:32 +0300 Subject: [PATCH] fix(ux): owner-anchor dialogs + sidebar reopen + Klear pane title MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three related polish fixes: 1. Modal dialogs (File-to-Case / Compose-from-Case / Settings) used to open without an Owner, so they would sink behind other windows and the user perceived Outlook as "frozen". AttachOwnerToOutlook now sets WindowInteropHelper.Owner to the foreground HWND (Win32 GetForegroundWindow with MainWindowHandle as fallback) before ShowDialog. Also sets WindowStartupLocation=CenterOwner and pumps SetForegroundWindow + Activate on Loaded. 2. Sidebar pane title was "פרטי תיק (EspoCRM)" — renamed to "Klear · פרטי תיק" to match the new branding. 3. New ribbon button "פרטי תיק" (Marcus-Law group, between Klear and הגדרות) re-opens the sidebar after the user clicks its X. Implementation: - SidebarController.ShowForActiveExplorer() toggles existing pane Visible back on, or attaches one if missing. - ExplorerBinding.Pane is now public on the binding for this reuse. - AddInHost.ShowSidebar() forwards to the controller. - ExplorerRibbon.OnShowSidebar wires the ribbon callback. imageMso = ReadingPaneShow. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/OutlookAddin/Ribbon/ExplorerRibbon.cs | 5 ++ src/OutlookAddin/Ribbon/ExplorerRibbon.xml | 7 +++ src/OutlookAddin/Services/AddInHost.cs | 61 +++++++++++++++++++ .../Services/SidebarController.cs | 34 +++++++++-- 4 files changed, 103 insertions(+), 4 deletions(-) diff --git a/src/OutlookAddin/Ribbon/ExplorerRibbon.cs b/src/OutlookAddin/Ribbon/ExplorerRibbon.cs index e841d31..4d744ee 100644 --- a/src/OutlookAddin/Ribbon/ExplorerRibbon.cs +++ b/src/OutlookAddin/Ribbon/ExplorerRibbon.cs @@ -86,6 +86,11 @@ namespace OutlookAddin.Ribbon Globals.ThisAddIn.AddInHost.LaunchSettings(); } + public void OnShowSidebar(IRibbonControl control) + { + Globals.ThisAddIn.AddInHost.ShowSidebar(); + } + public bool OnGetComposeFromCaseVisible(IRibbonControl control) { // Show only on outgoing (compose) mail inspectors. diff --git a/src/OutlookAddin/Ribbon/ExplorerRibbon.xml b/src/OutlookAddin/Ribbon/ExplorerRibbon.xml index 9829fd3..afa6780 100644 --- a/src/OutlookAddin/Ribbon/ExplorerRibbon.xml +++ b/src/OutlookAddin/Ribbon/ExplorerRibbon.xml @@ -12,6 +12,13 @@ imageMso="MoveToFolder" onAction="OnFileToEspoCrm" getEnabled="OnGetFileToEspoCrmEnabled" /> +