Index: programs/mythlcdserver/lcdprocclient.cpp =================================================================== --- programs/mythlcdserver/lcdprocclient.cpp (revision 19631) +++ programs/mythlcdserver/lcdprocclient.cpp (working copy) @@ -30,7 +30,6 @@ #define LCD_TIME_TIME 5000 #define LCD_SCROLLLIST_TIME 2000 -int lcdStartCol = LCD_START_COL; LCDProcClient::LCDProcClient(LCDServer *lparent) : QObject(NULL, "LCDProcClient") @@ -56,11 +55,6 @@ cellWidth = 1; cellHeight = 1; lcdStartCol = LCD_START_COL; - if (lcdWidth < 12) - if (lcdHeight == 1) - lcdStartCol = 0; - else - lcdStartCol = 1; hostname = ""; port = 13666; @@ -622,7 +616,18 @@ if (x < 1 || x > 80) return; else + { lcdWidth = x; + if (lcdWidth < 12) + { + if (lcdHeight == 1) + lcdStartCol = 0; + else + lcdStartCol = 1; + } + else + lcdStartCol = LCD_START_COL; + } } void LCDProcClient::setHeight(unsigned int x) @@ -1193,7 +1198,7 @@ // Write out the app name if (lcdHeight > 1) - outputCenteredText("Menu", app_name, "topWidget", 1); + outputCenteredText("Menu", app_name, "topWidget", 1); QPtrListIterator it(*menuItems); LCDMenuItem *curItem; @@ -1278,9 +1283,9 @@ { switch (curItem->isChecked()) { - case CHECKED: aString += "X "; break; - case UNCHECKED: aString += "O "; break; - case NOTCHECKABLE: aString += " "; break; + case CHECKED: aString += "X"; break; + case UNCHECKED: aString += "O"; break; + case NOTCHECKABLE: break; default: break; } } @@ -1347,13 +1352,26 @@ else aString += " "; - switch (curItem->isChecked()) + if (lcdStartCol == 1) // small display -> don't waste space for additional spaces { - case CHECKED: aString += "X "; break; - case UNCHECKED: aString += "O "; break; - case NOTCHECKABLE: aString += " "; break; - default: break; + switch (curItem->isChecked()) + { + case CHECKED: aString += "X"; break; + case UNCHECKED: aString += "O"; break; + case NOTCHECKABLE: aString += ""; break; + default: break; + } } + else if (lcdStartCol != 0) + { + switch (curItem->isChecked()) + { + case CHECKED: aString += "X "; break; + case UNCHECKED: aString += "O "; break; + case NOTCHECKABLE: aString += " "; break; + default: break; + } + } aString += curItem->ItemName().left(lcdWidth - lcdStartCol) + "\""; sendToServer(aString); @@ -1470,26 +1488,26 @@ if (lcdHeight == 2) { - aString = "widget_set Menu menuWidget1 1 2 \">"; + aString = "widget_set Menu menuWidget1 1 2 \">"; } else { aString = "widget_set Menu menuWidget1 1 1 \""; } - if (lcdWidth < 12) + if (lcdStartCol == 1) // small display -> don't waste space for additional spaces { - switch(curItem->isChecked()) + switch (curItem->isChecked()) { case CHECKED: aString += "X"; break; case UNCHECKED: aString += "O"; break; - case NOTCHECKABLE: aString += ""; break; + case NOTCHECKABLE: break; default: break; } } - else + else if (lcdStartCol != 0) { - switch(curItem->isChecked()) + switch (curItem->isChecked()) { case CHECKED: aString += "X "; break; case UNCHECKED: aString += "O "; break; Index: programs/mythlcdserver/lcdprocclient.h =================================================================== --- programs/mythlcdserver/lcdprocclient.h (revision 19631) +++ programs/mythlcdserver/lcdprocclient.h (working copy) @@ -161,6 +161,7 @@ unsigned int lcdHeight; unsigned int cellWidth; unsigned int cellHeight; + unsigned int lcdStartCol; QString serverVersion; QString protocolVersion;