From 53023616a3eb941fdf337c664ef5cbb9b25083cf Mon Sep 17 00:00:00 2001
From: Edi316 <61267443+Edi316@users.noreply.github.com>
Date: Sat, 21 Mar 2026 21:05:36 +0100
Subject: [PATCH] Song search field improvement (#848)
* StaticSearchBar Visible
* Update TextSearchBarTitle
* Update TextSearchBarTitle
* Update TR_SCREENSONG_SEARCH
* Update TextSearchBarTitle
* Update TextSearchBarTitle
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
* Update SearchBar
---
Output/Languages/en.xml | 2 +-
.../Vocaluxe 2024/Screens/ScreenSong.xml | 12 ++++-----
Vocaluxe/Screens/CScreenSong.cs | 25 ++++++++++++++++---
3 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/Output/Languages/en.xml b/Output/Languages/en.xml
index e3fd4cbe..b0cf6250 100644
--- a/Output/Languages/en.xml
+++ b/Output/Languages/en.xml
@@ -155,7 +155,7 @@
Player selection
Show player selection
Skip player selection
- Search:
+ Search song
No language
No Year
No Genre
diff --git a/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml b/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml
index 484f4c5a..dc50dded 100644
--- a/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml
+++ b/Output/Themes/Vocaluxe 2024/Screens/ScreenSong.xml
@@ -218,14 +218,14 @@
- 150
- 918
+ 355
+ 923
0
- 40.5
+ 30.5
0
-
-
- Right
+
+
+ Center
Center
Outline
diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs
index 15a6c58b..117970d1 100644
--- a/Vocaluxe/Screens/CScreenSong.cs
+++ b/Vocaluxe/Screens/CScreenSong.cs
@@ -517,6 +517,24 @@ namespace Vocaluxe.Screens
{
base.HandleMouse(mouseEvent);
+ bool overSearchBar = _Statics[_StaticSearchBar].Visible && CHelper.IsInBounds(_Statics[_StaticSearchBar].Rect, mouseEvent) && !_Sso.Selection.PartyMode;
+ _Texts[_TextSearchBarTitle].Selected = overSearchBar;
+
+ if (mouseEvent.LB && overSearchBar)
+ {
+ if (_SearchActive)
+ {
+ _SearchActive = false;
+ _SearchText = String.Empty;
+ _ApplyNewSearchFilter(_SearchText);
+ }
+ else if (!_Sso.Selection.PartyMode)
+ {
+ _SearchActive = true;
+ }
+ return true;
+ }
+
if (_DragAndDropCover.Visible)
{
_DragAndDropCover.X += mouseEvent.X - _OldMousePosX;
@@ -849,20 +867,18 @@ namespace Vocaluxe.Screens
_Texts[_TextSearchBar].Text += '|';
_Texts[_TextSearchBar].Visible = true;
- _Texts[_TextSearchBarTitle].Visible = true;
+ _Texts[_TextSearchBarTitle].Visible = false;
_Texts[_TextHelpBar].Visible = false;
_Texts[_TextHelpBarSearch].Visible = true;
_Texts[_TextHelpBarParty].Visible = false;
- _Statics[_StaticSearchBar].Visible = true;
}
else
{
_Texts[_TextSearchBar].Visible = false;
- _Texts[_TextSearchBarTitle].Visible = false;
+ _Texts[_TextSearchBarTitle].Visible = !_Sso.Selection.PartyMode;
_Texts[_TextHelpBar].Visible = !_Sso.Selection.PartyMode;
_Texts[_TextHelpBarSearch].Visible = false;
_Texts[_TextHelpBarParty].Visible = _Sso.Selection.PartyMode;
- _Statics[_StaticSearchBar].Visible = false;
}
_UpdatePartyModeOptions();
@@ -1423,6 +1439,7 @@ namespace Vocaluxe.Screens
_Texts[_TextOptionsPlayerSelect].Visible = false;
_Texts[_TextOptionsPlaylist].Visible = false;
_Statics[_StaticOptionsBG].Visible = false;
+ _Statics[_StaticSearchBar].Visible = !_Sso.Selection.PartyMode;
_Buttons[_ButtonOpenOptions].Visible = true;
if (view == ESongOptionsView.None)