Fix: improve notification display formatting and add global exception handling
- add truncateString utility for long notification titles - improve notification table alignment - remove unnecessary heading spacing in notification preferences - add application-level exception handling in UserInterface::run() Fixes #1777
This commit is contained in:
@@ -21,4 +21,28 @@ namespace util
|
||||
{
|
||||
std::cout << "\x1B[2J\x1B[H" << std::flush;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: truncateString
|
||||
Description:
|
||||
Truncates a string if its length exceeds the given maximum length.
|
||||
The truncated string ends with "..." to indicate omitted characters.
|
||||
Parameters:
|
||||
- text: const std::string&, input string to truncate
|
||||
- maxLength: size_t, maximum allowed length of the returned string
|
||||
Returns:
|
||||
- std::string: Original string if within limit, otherwise truncated string with "..."
|
||||
*/
|
||||
inline std::string truncateString(const std::string& text, size_t maxLength)
|
||||
{
|
||||
if (text.length() <= maxLength)
|
||||
{
|
||||
return text;
|
||||
}
|
||||
if (maxLength <= 3)
|
||||
{
|
||||
return std::string(maxLength, '.');
|
||||
}
|
||||
return text.substr(0, maxLength - 3) + "...";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user