Fix refresh button styling and orders page clear (×) buttons.

Apply Primary gradient to «Обновить с сервера» after text is set, restore compact clear buttons on FOrders, and skip focus cues on icon-only controls.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Magomed 2026-07-14 14:50:20 +03:00
parent a9fd467b5d
commit 36d4374db6
6 changed files with 28 additions and 4 deletions

View File

@ -347,6 +347,7 @@
this.btnClearGoodSearch.Name = "btnClearGoodSearch"; this.btnClearGoodSearch.Name = "btnClearGoodSearch";
this.btnClearGoodSearch.Size = new System.Drawing.Size(34, 32); this.btnClearGoodSearch.Size = new System.Drawing.Size(34, 32);
this.btnClearGoodSearch.TabIndex = 26; this.btnClearGoodSearch.TabIndex = 26;
this.btnClearGoodSearch.Text = "×";
this.btnClearGoodSearch.Click += new System.EventHandler(this.btnClearGoodSearch_Click); this.btnClearGoodSearch.Click += new System.EventHandler(this.btnClearGoodSearch_Click);
// //
// btnClearOrderNumberFilter // btnClearOrderNumberFilter
@ -357,6 +358,7 @@
this.btnClearOrderNumberFilter.Name = "btnClearOrderNumberFilter"; this.btnClearOrderNumberFilter.Name = "btnClearOrderNumberFilter";
this.btnClearOrderNumberFilter.Size = new System.Drawing.Size(34, 32); this.btnClearOrderNumberFilter.Size = new System.Drawing.Size(34, 32);
this.btnClearOrderNumberFilter.TabIndex = 28; this.btnClearOrderNumberFilter.TabIndex = 28;
this.btnClearOrderNumberFilter.Text = "×";
this.btnClearOrderNumberFilter.Click += new System.EventHandler(this.btnClearOrderNumberFilter_Click); this.btnClearOrderNumberFilter.Click += new System.EventHandler(this.btnClearOrderNumberFilter_Click);
// //
// txtOrderNumberFilter // txtOrderNumberFilter

View File

@ -44,6 +44,8 @@ namespace Электронная_Фармация.UserControls
InitOrderToolbar(); InitOrderToolbar();
loadConsignees(); loadConsignees();
ApplyToolbarLayout(); ApplyToolbarLayout();
ModernButtonStyles.ApplyClear(btnClearGoodSearch);
ModernButtonStyles.ApplyClear(btnClearOrderNumberFilter);
panelToolbar.Resize += (_, __) => ApplyToolbarLayout(); panelToolbar.Resize += (_, __) => ApplyToolbarLayout();
} }
@ -136,6 +138,9 @@ namespace Электронная_Фармация.UserControls
btnAddComment.SetBounds(x, row2Y, commentWidth, buttonHeight); btnAddComment.SetBounds(x, row2Y, commentWidth, buttonHeight);
ModernButtonStyles.FitToText(btnAddComment, buttonHeight); ModernButtonStyles.FitToText(btnAddComment, buttonHeight);
ModernButtonStyles.ApplyClear(btnClearGoodSearch);
ModernButtonStyles.ApplyClear(btnClearOrderNumberFilter);
btnClearSuppliers.Visible = false; btnClearSuppliers.Visible = false;
panelToolbar.Height = row2Y + buttonHeight + pad + 8; panelToolbar.Height = row2Y + buttonHeight + pad + 8;

View File

@ -7,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using Elfisa.UI.Controls;
using Электроннаяармация.Classes; using Электроннаяармация.Classes;
using System.Data.SQLite; using System.Data.SQLite;
@ -165,6 +166,7 @@ order by i.InvoiceDate asc
button1.Visible = true; button1.Visible = true;
button1.Text = "Обновить с сервера"; button1.Text = "Обновить с сервера";
button1.Width = 180; button1.Width = 180;
ModernButtonStyles.ApplyAuto(button1);
button1.Click += async (_, __) => await SyncFromServerAsync(); button1.Click += async (_, __) => await SyncFromServerAsync();
loadConsignees(); loadConsignees();

View File

@ -91,6 +91,8 @@ namespace Электронная_Фармация.UserControls
private void OnLoad(object sender, EventArgs e) private void OnLoad(object sender, EventArgs e)
{ {
UiThemeHelper.ApplyToControlTree(this); UiThemeHelper.ApplyToControlTree(this);
_header.Tag = "toolbar";
ModernButtonStyles.ApplyAuto(_btnRefresh);
Reload(); Reload();
} }

View File

@ -388,7 +388,7 @@ namespace Elfisa.UI.Controls
} }
} }
if (_focused && Enabled && ShowFocusCues && !_headerNavMode && !_topNavMode && !_sidebarMode) if (_focused && Enabled && ShowFocusCues && !_headerNavMode && !_topNavMode && !_sidebarMode && !_compactIconMode)
{ {
var focusBounds = Rectangle.Inflate(flatBounds, -2, -2); var focusBounds = Rectangle.Inflate(flatBounds, -2, -2);
using (var pen = new Pen(theme.InputBorderFocus, 2f)) using (var pen = new Pen(theme.InputBorderFocus, 2f))

View File

@ -122,9 +122,20 @@ namespace Elfisa.UI.Controls
private static bool IsClearButton(ModernButton button, string text) private static bool IsClearButton(ModernButton button, string text)
{ {
return text == "×" if (text == "×" || text.Equals("X", StringComparison.OrdinalIgnoreCase))
|| text.Equals("X", StringComparison.OrdinalIgnoreCase) {
|| (button.Width <= 40 && button.Height <= 40 && text.Length <= 2); return true;
}
var name = button.Name ?? string.Empty;
if (name.IndexOf("Clear", StringComparison.OrdinalIgnoreCase) >= 0
&& button.Width <= 48
&& button.Height <= 44)
{
return true;
}
return button.Width <= 44 && button.Height <= 44 && text.Length <= 2;
} }
private static bool IsDangerAction(string text) private static bool IsDangerAction(string text)
@ -147,8 +158,10 @@ namespace Elfisa.UI.Controls
|| lower.Contains("выполн") || lower.Contains("выполн")
|| lower.Contains("коммент") || lower.Contains("коммент")
|| lower.Contains("подтвер") || lower.Contains("подтвер")
|| lower.Contains("обнов")
|| lower.Contains("send") || lower.Contains("send")
|| lower.Contains("save") || lower.Contains("save")
|| lower.Contains("refresh")
|| lower == "ок"; || lower == "ок";
} }
} }