Fixed algorithm for CAPS text key visualization.

Signed-off-by: Ray-V <ray-v@inbox.lv>
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
pull/10/head
Ray-V 4 years ago committed by Michele Calgaro
parent 54fd5c4cb1
commit b1c1fd93a7
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -26,13 +26,21 @@ void VButton::shiftCapsPressed(bool shift, bool caps)
if (isAlpha) if (isAlpha)
{ {
// Alpha button, both shift and caps affect its state // Alpha button, both shift and caps affect its state
if (shift ^ caps) if (caps && shift)
{
TQPushButton::setText(capsShiftText);
}
else if (caps)
{
TQPushButton::setText(capsText);
}
else if (shift)
{ {
TQPushButton::setText(shiftText); TQPushButton::setText(shiftText);
} }
else else
{ {
TQPushButton::setText(lowerText); TQPushButton::setText(normalText);
} }
} }
else else
@ -44,7 +52,7 @@ void VButton::shiftCapsPressed(bool shift, bool caps)
} }
else else
{ {
TQPushButton::setText(lowerText); TQPushButton::setText(normalText);
} }
} }
} }
@ -54,13 +62,25 @@ void VButton::setText(const TQString& text)
// Need to set the pushbutton text to correctly handle those buttons which usually // Need to set the pushbutton text to correctly handle those buttons which usually
// don't change (tab, shift, caps, Fn, ...) // don't change (tab, shift, caps, Fn, ...)
TQPushButton::setText(text); TQPushButton::setText(text);
lowerText = text; normalText = text;
isAlpha = text.length() == 1 && (text.upper() != text); capsText = text.upper();
isAlpha = text.length() == 1 && capsText != normalText;
} }
void VButton::setShiftText(const TQString& text) void VButton::setShiftText(const TQString& text)
{ {
shiftText = text; shiftText = text;
// 'text' is normally uppercase here, so in most cases we need to set capsShiftText
// to text.lower() to handle caps+shift correctly. Special cases like ç and Ç are
// handled by using text.upper()
if (text.lower() != text)
{
capsShiftText = text.lower();
}
else
{
capsShiftText = text.upper();
}
} }
void VButton::setColor(const TQColor &color) void VButton::setColor(const TQColor &color)

@ -30,8 +30,10 @@ protected:
bool inside; bool inside;
bool isAlpha; bool isAlpha;
unsigned int keycode; unsigned int keycode;
TQString lowerText; TQString normalText;
TQString capsText;
TQString shiftText; TQString shiftText;
TQString capsShiftText;
TQRect orig_size; TQRect orig_size;
void timerEvent ( TQTimerEvent * ); void timerEvent ( TQTimerEvent * );

@ -36,7 +36,7 @@ void NumpadVButton::numlockPressed(bool press)
TQPushButton::setText(shiftText); TQPushButton::setText(shiftText);
} }
else{ else{
TQPushButton::setText(lowerText); TQPushButton::setText(normalText);
} }
} }

Loading…
Cancel
Save