Ticket #9267: jump_to_random.patch

File jump_to_random.patch, 2.3 KB (added by mythtv@…, 15 years ago)

Jump to Random patch

  • libs/libmythui/mythmainwindow.cpp

     
    10411041    RegisterKey("Global", "PASTE", QT_TRANSLATE_NOOP("MythControls",
    10421042        "Paste text into textedit"), "Ctrl+V");
    10431043
     1044    RegisterKey("Global", "RANDOM", QT_TRANSLATE_NOOP("MythControls",
     1045        "Jump to a random choice"), "R,F12");
     1046
    10441047    RegisterKey("Global", "0", QT_TRANSLATE_NOOP("MythControls","0"), "0");
    10451048    RegisterKey("Global", "1", QT_TRANSLATE_NOOP("MythControls","1"), "1");
    10461049    RegisterKey("Global", "2", QT_TRANSLATE_NOOP("MythControls","2"), "2");
  • libs/libmythui/mythuibuttonlist.h

     
    66#include <QString>
    77#include <QVariant>
    88
     9#include <cstdlib>
     10
    911#include "mythuitype.h"
    1012#include "mythuiimage.h"
    1113#include "mythuitext.h"
     
    157159
    158160    virtual bool MoveDown(MovementUnit unit = MoveItem, uint amount = 0);
    159161    virtual bool MoveUp(MovementUnit unit = MoveItem, uint amount = 0);
     162    bool MoveToRandom();
    160163    bool MoveToNamedPosition(const QString &position_name);
    161164
    162165    void RemoveItem(MythUIButtonListItem *item);
  • libs/libmythui/mythuibuttonlist.cpp

     
    19201920    return true;
    19211921}
    19221922
     1923bool MythUIButtonList::MoveToRandom()
     1924{
     1925    if (!m_initialized)
     1926        Init();
     1927
     1928    if (m_selPosition < 0 || m_itemList.isEmpty() || !m_initialized)
     1929        return false;
     1930
     1931    int newPosition = random() % m_itemList.size();
     1932
     1933    if (m_selPosition == newPosition)
     1934        return false;
     1935
     1936    SetItemCurrent(newPosition);
     1937    return true;
     1938}
     1939
    19231940bool MythUIButtonList::MoveToNamedPosition(const QString &position_name)
    19241941{
    19251942    if (!m_initialized)
     
    21842201        {
    21852202            MoveDown(MoveMax);
    21862203        }
     2204        else if (action == "RANDOM")
     2205        {
     2206            MoveToRandom();
     2207        }
    21872208        else if (action == "SELECT")
    21882209        {
    21892210            MythUIButtonListItem *item = GetItemCurrent();