Esempio n. 1
0
void ImageView::UpdateLCD(const ThumbItem *item)
{
    LCD *lcd = LCD::Get();
    if (!lcd)
        return;

    if (!item)
    {
        lcd->setFunctionLEDs(FUNC_PHOTO, false);
        lcd->switchToTime();
        return;
    }
    lcd->setFunctionLEDs(FUNC_PHOTO, true);

    QString name = item->GetName();
    QString desc = QString::number(m_pos + 1) + " / " +
        QString::number(m_itemList.size());

    QList<LCDTextItem> textItems;
    textItems.append(LCDTextItem(
                         1, ALIGN_CENTERED, name, "Generic", true));
    textItems.append(LCDTextItem(
                         2, ALIGN_CENTERED, desc, "Generic", false));

    lcd->switchToGeneric(textItems);
}
Esempio n. 2
0
void LCDServer::switchToGeneric(const QStringList &tokens, QTcpSocket *socket)
{
    if (debug_level > 0)
        LOG(VB_GENERAL, LOG_INFO, "LCDServer: SWITCH_TO_GENERIC");

    QString flat = tokens.join(" ");

    if ((tokens.count() - 1) % 5 != 0)
    {
        LOG(VB_GENERAL, LOG_ERR,
            "LCDServer: bad no. of args SWITCH_TO_GENERIC command: " + flat);
        sendMessage(socket, "HUH?");
        return;
    }

    QList<LCDTextItem> items;

    for (int x = 1; x < tokens.count(); x += 5)
    {
        bool bOK;
        int row = tokens[x].toInt(&bOK);
        if (!bOK)
        {
            LOG(VB_GENERAL, LOG_ERR,
                "LCDServer: bad row no. in SWITCH_TO_GENERIC "
                    "command: " + tokens[x]);
            sendMessage(socket, "HUH?");
            return;
        }

        TEXT_ALIGNMENT align;
        if (tokens[x + 1] == "ALIGN_LEFT")
            align = ALIGN_LEFT;
        else if (tokens[x + 1] == "ALIGN_RIGHT")
            align = ALIGN_RIGHT;
        else if (tokens[x + 1] == "ALIGN_CENTERED")
            align = ALIGN_CENTERED;
        else
        {
            LOG(VB_GENERAL, LOG_ERR,
                "LCDServer: bad align in SWITCH_TO_GENERIC command: " + 
                tokens[x + 1]);
            sendMessage(socket, "HUH?");
            return;
        }

        QString text = tokens[x + 2];
        QString screen = tokens[x + 3];
        bool scrollable;
        if (tokens[x + 4] == "TRUE")
            scrollable = true;
        else if (tokens[x + 4] == "FALSE")
            scrollable = false;
        else
        {
            LOG(VB_GENERAL, LOG_ERR,
                "LCDServer: bad scrollable bool in SWITCH_TO_GENERIC "
                "command: " + tokens[x + 4]);
            sendMessage(socket, "HUH?");
            return;
        }

        items.append(LCDTextItem(row, align, text, screen, scrollable));
    }

    if (m_lcd)
        m_lcd->switchToGeneric(&items);

    sendMessage(socket, "OK");
}