Ticket #422: menu.diff

File menu.diff, 1.6 KB (added by jcaputo1 (at) comcast.net, 14 years ago)

Patch for new menu customization method

  • libs/libmyth/themedmenu.cpp

     
    15281528        n = n.nextSibling();
    15291529    }
    15301530
     1531    // Find and add any custom user buttons
     1532    if (!menumode.isEmpty())
     1533    {
     1534        QDomDocument userButtonDoc;
     1535        QFile userMenuFile( findMenuFile("userMenuItems.xml") );
     1536        if (!userButtonDoc.setContent(&userMenuFile, false, &errorMsg, &errorLine, &errorColumn))
     1537        {
     1538            VERBOSE(VB_IMPORTANT,
     1539                    QString("Error parsing: %1\nat line: %2  column: %3 msg: %4").
     1540                    arg(userMenuFile.name()).arg(errorLine).arg(errorColumn).arg(errorMsg));
     1541        }
     1542        userMenuFile.close();
     1543       
     1544        docElem = userButtonDoc.documentElement();
     1545       
     1546        n = docElem.firstChild();
     1547        while (!n.isNull())
     1548        {
     1549            QDomElement e = n.toElement();
     1550            if (!e.isNull())
     1551            {
     1552                if (e.tagName() == "button" && e.hasAttribute("parentMenu"))
     1553                {
     1554                    QString pms = e.attribute("parentMenu");
     1555                    QStringList pml = QStringList::split( ",", pms, false );
     1556                   
     1557                    if (pml.contains(menumode))
     1558                    {
     1559                        parseThemeButton(e);
     1560                    }
     1561                }
     1562                else if (e.tagName() != "button")
     1563                {
     1564                    VERBOSE(VB_IMPORTANT, QString("ThemedMenuPrivate (userMenus): Unknown "
     1565                                                  "element %1").arg(e.tagName()));
     1566                }
     1567                n = n.nextSibling();
     1568            }
     1569        }
     1570    }
     1571
    15311572    if (buttonList.size() == 0)
    15321573    {
    15331574        VERBOSE(VB_IMPORTANT, QString("ThemedMenuPrivate: No buttons "