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 3 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)
{
// 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);
}
else
{
TQPushButton::setText(lowerText);
TQPushButton::setText(normalText);
}
}
else
@ -44,7 +52,7 @@ void VButton::shiftCapsPressed(bool shift, bool caps)
}
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
// don't change (tab, shift, caps, Fn, ...)
TQPushButton::setText(text);
lowerText = text;
isAlpha = text.length() == 1 && (text.upper() != text);
normalText = text;
capsText = text.upper();
isAlpha = text.length() == 1 && capsText != normalText;
}
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)

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

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

Loading…
Cancel
Save