Ticket #9633: osdprogressbar.diff

File osdprogressbar.diff, 4.5 KB (added by Markus Schulz <msc@…>, 13 years ago)

patch

  • mythtv/libs/libmyth/programinfo.cpp

    diff --git a/mythtv/libs/libmyth/programinfo.cpp b/mythtv/libs/libmyth/programinfo.cpp
    index bf89568..7371994 100644
    a b ProgramInfo::ProgramInfo(void) : 
    113113    endts(startts),
    114114    recstartts(startts),
    115115    recendts(startts),
     116    elapsedpercent(0),
    116117
    117118    stars(0.0f),
    118119
    ProgramInfo::ProgramInfo(const ProgramInfo &other) : 
    188189    endts(other.endts),
    189190    recstartts(other.recstartts),
    190191    recendts(other.recendts),
     192    elapsedpercent(other.elapsedpercent),
    191193
    192194    stars(other.stars),
    193195
    ProgramInfo::ProgramInfo( 
    475477    const QDateTime &_endts,
    476478    const QDateTime &_recstartts,
    477479    const QDateTime &_recendts,
     480    uint16_t _elapsedpercent,
    478481
    479482    const QString &_seriesid,
    480483    const QString &_programid,
    ProgramInfo::ProgramInfo( 
    523526    endts(_endts),
    524527    recstartts(_recstartts),
    525528    recendts(_recendts),
     529    elapsedpercent(_elapsedpercent),
    526530
    527531    stars(clamp(_stars, 0.0f, 1.0f)),
    528532
    void ProgramInfo::clone(const ProgramInfo &other, 
    892896    endts = other.endts;
    893897    recstartts = other.recstartts;
    894898    recendts = other.recendts;
     899    elapsedpercent = other.elapsedpercent;
    895900
    896901    stars = other.stars;
    897902
    void ProgramInfo::ToMap(InfoMap &progMap, 
    13281333            progMap["startdate"] = startts.toString("yyyy");
    13291334            progMap["recstartdate"] = startts.toString("yyyy");
    13301335        }
     1336        progMap["elapsedpercent"] = QString("-1");
    13311337    }
    13321338    else // if (IsRecording())
    13331339    {
    void ProgramInfo::ToMap(InfoMap &progMap, 
    13391345        progMap["recstartdate"] = recstartts.toString(shortDateFormat);
    13401346        progMap["recendtime"] = recendts.toString(timeFormat);
    13411347        progMap["recenddate"] = recendts.toString(shortDateFormat);
     1348        progMap["elapsedpercent"] = QString("%1").arg(elapsedpercent);
    13421349    }
    13431350
    13441351    progMap["timedate"] = recstartts.date().toString(dateFormat) + ", " +
    static bool FromProgramQuery( 
    41154122        "    program.airdate, program.stars, program.originalairdate, "
    41164123        "    program.category_type, oldrecstatus.recordid, "
    41174124        "    oldrecstatus.rectype, oldrecstatus.recstatus, "
    4118         "    oldrecstatus.findid "
     4125        "    oldrecstatus.findid, "
     4126        "    CASE WHEN CURRENT_TIMESTAMP < program.starttime THEN 0 "
     4127        "         WHEN CURRENT_TIMESTAMP > program.endtime THEN 1000 "
     4128        "         ELSE 1000.0 * ((CURRENT_TIMESTAMP - program.starttime) / (program.endtime - program.starttime)) "
     4129        "    END as elapsedpercent "
    41194130        "FROM program "
    41204131        "LEFT JOIN channel ON program.chanid = channel.chanid "
    41214132        "LEFT JOIN oldrecorded AS oldrecstatus ON "
    bool LoadFromProgram( 
    41874198                query.value(2).toDateTime(), // endts
    41884199                query.value(1).toDateTime(), // recstartts
    41894200                query.value(2).toDateTime(), // recendts
     4201                query.value(23).toUInt(), //elapsedpercent
    41904202
    41914203                query.value(13).toString(), // seriesid
    41924204                query.value(14).toString(), // programid
  • mythtv/libs/libmyth/programinfo.h

    diff --git a/mythtv/libs/libmyth/programinfo.h b/mythtv/libs/libmyth/programinfo.h
    index b79a319..b518c1e 100644
    a b class MPUBLIC ProgramInfo 
    171171                const QDateTime &endts,
    172172                const QDateTime &recstartts,
    173173                const QDateTime &recendts,
     174                uint16_t elapsedpercent,
    174175
    175176                const QString &seriesid,
    176177                const QString &programid,
    class MPUBLIC ProgramInfo 
    632633    QDateTime endts;
    633634    QDateTime recstartts;
    634635    QDateTime recendts;
     636    uint16_t elapsedpercent;
    635637
    636638    float stars; ///< Rating, range [0..1]
    637639    QDate originalAirDate;
  • mythtv/libs/libmythtv/osd.cpp

    diff --git a/mythtv/libs/libmythtv/osd.cpp b/mythtv/libs/libmythtv/osd.cpp
    index 6e31132..1dc0c9e 100644
    a b void OSD::SetText(const QString &window, QHash<QString,QString> &map, 
    448448            screenshot->SetFilename(screenshotpath);
    449449            screenshot->Load(false);
    450450        }
     451        MythUIProgressBar *bar = dynamic_cast<MythUIProgressBar *> (win->GetChild("elapsedpercent"));
     452        if (bar)
     453        {
     454            int percent = map["elapsedpercent"].toInt();
     455            bar->SetVisible((percent != -1));
     456            bar->SetStart(0);
     457            bar->SetTotal(1000);
     458            bar->SetUsed(percent);
     459        }
    451460    }
    452461
    453462    win->SetVisible(true);