Ticket #6159: MVnewmeta.3.diff

File MVnewmeta.3.diff, 38.8 KB (added by robert.mcnamara@…, 15 years ago)

A couple small fixes, otherwise same as above.

  • mythvideo/theme/default/video-ui.xml

     
    858858    <window name="edit_metadata">
    859859
    860860        <textarea name="title" from="basetextarea">
    861             <area>10,50,760,50</area>
     861            <area>10,30,760,50</area>
    862862            <value>Edit Video Information</value>
    863863            <align>hcenter,vcenter</align>
    864864            <font>baselarge</font>
     
    867867        <!-- Labels  -->
    868868
    869869        <textarea name="title_text" from="basetextarea">
    870             <area>50,135,250,40</area>
     870            <area>50,90,250,40</area>
    871871            <value>Name:</value>
    872872            <align>right,top</align>
    873873        </textarea>
    874874
    875875        <textarea name="category_text" from="title_text">
    876             <position>50,197</position>
     876            <position>50,152</position>
    877877            <value>Category:</value>
    878878        </textarea>
    879879
    880880        <textarea name="level_text" from="title_text">
    881             <position>50,247</position>
     881            <position>50,202</position>
    882882            <value>Parental Control:</value>
    883883        </textarea>
    884884
    885885        <textarea name="child_text" from="title_text">
    886             <position>50,292</position>
     886            <position>50,247</position>
    887887            <value>File to Always Play Next:</value>
    888888        </textarea>
    889889
    890890        <textarea name="browse_text" from="title_text">
    891             <position>50,337</position>
     891            <position>50,292</position>
    892892            <value>Include while Browsing:</value>
    893893        </textarea>
    894894
    895895        <textarea name="coverart_text_label" from="title_text">
    896             <position>50,375</position>
     896            <position>50,328</position>
    897897            <value>Cover Art:</value>
    898898        </textarea>
    899899
     900        <textarea name="screenshot_text_label" from="title_text">
     901            <position>50,357</position>
     902            <value>Screenshot:</value>
     903        </textarea>
     904
     905        <textarea name="banner_text_label" from="title_text">
     906            <position>50,386</position>
     907            <value>Banner:</value>
     908        </textarea>
     909
     910        <textarea name="fanart_text_label" from="title_text">
     911            <position>50,415</position>
     912            <value>Fanart:</value>
     913        </textarea>
     914
    900915        <textarea name="trailer_text_label" from="title_text">
    901             <position>50,405</position>
     916            <position>50,447</position>
    902917            <value>Trailer:</value>
    903918        </textarea>
    904919
    905920        <textarea name="player_text" from="title_text">
    906             <position>50,445</position>
     921            <position>50,487</position>
    907922            <value>Unique Player Command:</value>
    908923        </textarea>
    909924
    910925        <!-- Widgets -->
    911926
    912927        <textedit name="title_edit" from="basetextedit">
    913             <position>310,125</position>
     928            <position>310,80</position>
    914929        </textedit>
    915930
    916931        <buttonlist name="category_select" from="baseselector">
    917             <position>310,190</position>
     932            <position>310,145</position>
    918933        </buttonlist>
    919934
    920935        <buttonlist name="level_select" from="baseselector">
    921             <position>310,240</position>
     936            <position>310,195</position>
    922937        </buttonlist>
    923938
    924939        <buttonlist name="child_select" from="baseselector">
    925             <position>310,285</position>
     940            <position>310,240</position>
    926941        </buttonlist>
    927942
    928943        <checkbox name="browse_check" from="basecheckbox">
    929             <position>310,335</position>
     944            <position>310,290</position>
    930945        </checkbox>
    931946
    932947        <button name="coverart_button">
    933             <area>310,370,32,32</area>
     948            <area>310,323,32,32</area>
    934949            <statetype name="buttonstate">
    935950                <state name="active">
    936951                    <imagetype name="background">
     
    952967        </button>
    953968
    954969        <textarea name="coverart_text" from="basetextarea">
    955             <area>350,375,250,40</area>
     970            <area>350,328,250,40</area>
    956971            <value>/path/to/the/thing.jpg</value>
    957972        </textarea>
    958973
     974        <button name="screenshot_button">
     975            <area>310,352,32,32</area>
     976            <statetype name="buttonstate">
     977                <state name="active">
     978                    <imagetype name="background">
     979                        <filename>blankbutton_off.png</filename>
     980                    </imagetype>
     981                </state>
     982                <state name="selected" from="active">
     983                    <imagetype name="background">
     984                        <filename>blankbutton_on.png</filename>
     985                    </imagetype>
     986                </state>
     987                <state name="disabled" from="active" />
     988                <state name="pushed" from="active">
     989                    <imagetype name="background">
     990                        <filename>blankbutton_pushed.png</filename>
     991                    </imagetype>
     992                </state>
     993            </statetype>
     994        </button>
     995
     996        <textarea name="screenshot_text" from="basetextarea">
     997            <area>350,357,250,40</area>
     998            <value>/path/to/the/thing.jpg</value>
     999        </textarea>
     1000
     1001        <button name="banner_button">
     1002            <area>310,381,32,32</area>
     1003            <statetype name="buttonstate">
     1004                <state name="active">
     1005                    <imagetype name="background">
     1006                        <filename>blankbutton_off.png</filename>
     1007                    </imagetype>
     1008                </state>
     1009                <state name="selected" from="active">
     1010                    <imagetype name="background">
     1011                        <filename>blankbutton_on.png</filename>
     1012                    </imagetype>
     1013                </state>
     1014                <state name="disabled" from="active" />
     1015                <state name="pushed" from="active">
     1016                    <imagetype name="background">
     1017                        <filename>blankbutton_pushed.png</filename>
     1018                    </imagetype>
     1019                </state>
     1020            </statetype>
     1021        </button>
     1022
     1023        <textarea name="banner_text" from="basetextarea">
     1024            <area>350,386,250,40</area>
     1025            <value>/path/to/the/thing.jpg</value>
     1026        </textarea>
     1027
     1028        <button name="fanart_button">
     1029            <area>310,412,32,32</area>
     1030            <statetype name="buttonstate">
     1031                <state name="active">
     1032                    <imagetype name="background">
     1033                        <filename>blankbutton_off.png</filename>
     1034                    </imagetype>
     1035                </state>
     1036                <state name="selected" from="active">
     1037                    <imagetype name="background">
     1038                        <filename>blankbutton_on.png</filename>
     1039                    </imagetype>
     1040                </state>
     1041                <state name="disabled" from="active" />
     1042                <state name="pushed" from="active">
     1043                    <imagetype name="background">
     1044                        <filename>blankbutton_pushed.png</filename>
     1045                    </imagetype>
     1046                </state>
     1047            </statetype>
     1048        </button>
     1049
     1050        <textarea name="fanart_text" from="basetextarea">
     1051            <area>350,415,250,40</area>
     1052            <value>/path/to/the/thing.jpg</value>
     1053        </textarea>
     1054
    9591055        <button name="trailer_button">
    960             <area>310,400,32,32</area>
     1056            <area>310,442,32,32</area>
    9611057            <statetype name="buttonstate">
    9621058                <state name="active">
    9631059                    <imagetype name="background">
     
    9791075        </button>
    9801076
    9811077        <textarea name="trailer_text" from="basetextarea">
    982             <area>350,405,250,40</area>
     1078            <area>350,447,250,40</area>
    9831079            <value>/path/to/the/thing.jpg</value>
    9841080        </textarea>
    9851081
    9861082
    9871083        <textedit name="player_edit" from="basetextedit">
    988             <position>310,435</position>
     1084            <position>310,477</position>
    9891085        </textedit>
    9901086
    9911087        <button name="done_button" from="basebutton">
    992             <position>310,505</position>
     1088            <position>310,537</position>
    9931089        </button>
    9941090
    9951091    </window>
  • mythvideo/theme/default-wide/video-ui.xml

     
    843853    <window name="edit_metadata">
    844854
    845855        <textarea name="title" from="basetextarea">
    846             <area>10,50,760,50</area>
     856            <area>10,50,1260,50</area>
    847857            <value>Edit Video Information</value>
    848858            <align>hcenter,vcenter</align>
    849859            <font>baselarge</font>
     
    852862        <!-- Labels  -->
    853863
    854864        <textarea name="title_text" from="basetextarea">
    855             <area>50,135,250,40</area>
     865            <area>250,110,250,40</area>
    856866            <value>Name:</value>
    857867            <align>right,top</align>
    858868        </textarea>
    859869
    860870        <textarea name="category_text" from="title_text">
    861             <position>50,197</position>
     871            <position>250,172</position>
    862872            <value>Category:</value>
    863873        </textarea>
    864874
    865875        <textarea name="level_text" from="title_text">
    866             <position>50,247</position>
     876            <position>250,222</position>
    867877            <value>Parental Control:</value>
    868878        </textarea>
    869879
    870880        <textarea name="child_text" from="title_text">
    871             <position>50,292</position>
     881            <position>250,267</position>
    872882            <value>File to Always Play Next:</value>
    873883        </textarea>
    874884
    875885        <textarea name="browse_text" from="title_text">
    876             <position>50,337</position>
     886            <position>250,312</position>
    877887            <value>Include while Browsing:</value>
    878888        </textarea>
    879889
    880890        <textarea name="coverart_text_label" from="title_text">
    881             <position>50,375</position>
     891            <position>250,348</position>
    882892            <value>Cover Art:</value>
    883893        </textarea>
    884894
     895        <textarea name="screenshot_text_label" from="title_text">
     896            <position>250,377</position>
     897            <value>Screenshot:</value>
     898        </textarea>
     899
     900        <textarea name="banner_text_label" from="title_text">
     901            <position>250,406</position>
     902            <value>Banner:</value>
     903        </textarea>
     904
     905        <textarea name="fanart_text_label" from="title_text">
     906            <position>250,435</position>
     907            <value>Fanart:</value>
     908        </textarea>
     909
    885910        <textarea name="trailer_text_label" from="title_text">
    886             <position>50,405</position>
     911            <position>250,464</position>
    887912            <value>Trailer:</value>
    888913        </textarea>
    889914
    890915        <textarea name="player_text" from="title_text">
    891             <position>50,445</position>
     916            <position>250,510</position>
    892917            <value>Unique Player Command:</value>
    893918        </textarea>
    894919
    895920        <!-- Widgets -->
    896921
    897922        <textedit name="title_edit" from="basetextedit">
    898             <position>310,125</position>
     923            <position>510,100</position>
    899924        </textedit>
    900925
    901926        <buttonlist name="category_select" from="baseselector">
    902             <position>310,190</position>
     927            <position>510,165</position>
    903928        </buttonlist>
    904929
    905930        <buttonlist name="level_select" from="baseselector">
    906             <position>310,240</position>
     931            <position>510,215</position>
    907932        </buttonlist>
    908933
    909934        <buttonlist name="child_select" from="baseselector">
    910             <position>310,285</position>
     935            <position>510,260</position>
    911936        </buttonlist>
    912937
    913938        <checkbox name="browse_check" from="basecheckbox">
    914             <position>310,335</position>
     939            <position>510,310</position>
    915940        </checkbox>
    916941
    917942        <button name="coverart_button">
    918             <area>310,370,32,32</area>
     943            <area>510,343,32,32</area>
    919944            <statetype name="buttonstate">
    920945                <state name="active">
    921946                    <imagetype name="background">
     
    937962        </button>
    938963
    939964        <textarea name="coverart_text" from="basetextarea">
    940             <area>350,375,250,40</area>
     965            <area>550,348,250,40</area>
    941966            <value>/path/to/the/thing.jpg</value>
    942967        </textarea>
    943968
     969        <button name="screenshot_button">
     970            <area>510,372,32,32</area>
     971            <statetype name="buttonstate">
     972                <state name="active">
     973                    <imagetype name="background">
     974                        <filename>blankbutton_off.png</filename>
     975                    </imagetype>
     976                </state>
     977                <state name="selected" from="active">
     978                    <imagetype name="background">
     979                        <filename>blankbutton_on.png</filename>
     980                    </imagetype>
     981                </state>
     982                <state name="disabled" from="active" />
     983                <state name="pushed" from="active">
     984                    <imagetype name="background">
     985                        <filename>blankbutton_pushed.png</filename>
     986                    </imagetype>
     987                </state>
     988            </statetype>
     989        </button>
     990
     991        <textarea name="screenshot_text" from="basetextarea">
     992            <area>550,377,250,40</area>
     993            <value>/path/to/the/thing.jpg</value>
     994        </textarea>
     995
     996        <button name="banner_button">
     997            <area>510,401,32,32</area>
     998            <statetype name="buttonstate">
     999                <state name="active">
     1000                    <imagetype name="background">
     1001                        <filename>blankbutton_off.png</filename>
     1002                    </imagetype>
     1003                </state>
     1004                <state name="selected" from="active">
     1005                    <imagetype name="background">
     1006                        <filename>blankbutton_on.png</filename>
     1007                    </imagetype>
     1008                </state>
     1009                <state name="disabled" from="active" />
     1010                <state name="pushed" from="active">
     1011                    <imagetype name="background">
     1012                        <filename>blankbutton_pushed.png</filename>
     1013                    </imagetype>
     1014                </state>
     1015            </statetype>
     1016        </button>
     1017
     1018        <textarea name="banner_text" from="basetextarea">
     1019            <area>550,406,250,40</area>
     1020            <value>/path/to/the/thing.jpg</value>
     1021        </textarea>
     1022
     1023        <button name="fanart_button">
     1024            <area>510,430,32,32</area>
     1025            <statetype name="buttonstate">
     1026                <state name="active">
     1027                    <imagetype name="background">
     1028                        <filename>blankbutton_off.png</filename>
     1029                    </imagetype>
     1030                </state>
     1031                <state name="selected" from="active">
     1032                    <imagetype name="background">
     1033                        <filename>blankbutton_on.png</filename>
     1034                    </imagetype>
     1035                </state>
     1036                <state name="disabled" from="active" />
     1037                <state name="pushed" from="active">
     1038                    <imagetype name="background">
     1039                        <filename>blankbutton_pushed.png</filename>
     1040                    </imagetype>
     1041                </state>
     1042            </statetype>
     1043        </button>
     1044
     1045        <textarea name="fanart_text" from="basetextarea">
     1046            <area>550,435,250,40</area>
     1047            <value>/path/to/the/thing.jpg</value>
     1048        </textarea>
     1049
    9441050        <button name="trailer_button">
    945             <area>310,400,32,32</area>
     1051            <area>510,460,32,32</area>
    9461052            <statetype name="buttonstate">
    9471053                <state name="active">
    9481054                    <imagetype name="background">
     
    9641070        </button>
    9651071
    9661072        <textarea name="trailer_text" from="basetextarea">
    967             <area>350,405,250,40</area>
     1073            <area>550,465,250,40</area>
    9681074            <value>/path/to/the/thing.jpg</value>
    9691075        </textarea>
    9701076
    9711077        <textedit name="player_edit" from="basetextedit">
    972             <position>310,435</position>
     1078            <position>510,495</position>
    9731079        </textedit>
    9741080
    9751081        <button name="done_button" from="basebutton">
    976             <position>310,505</position>
     1082            <position>510,565</position>
    9771083        </button>
    9781084
    9791085    </window>
  • mythvideo/mythvideo/videodlg.h

     
    111111    virtual void loadData();
    112112    void fetchVideos();
    113113    QString GetCoverImage(MythGenericTree *node);
     114    QString GetScreenshot(MythGenericTree *node);
     115    QString GetBanner(MythGenericTree *node);
     116    QString GetFanart(MythGenericTree *node);
    114117
    115118    Metadata *GetMetadata(MythUIButtonListItem *item);
    116119
     
    183186    MythUIText       *m_crumbText;
    184187
    185188    MythUIImage      *m_coverImage;
     189    MythUIImage      *m_screenshot;
     190    MythUIImage      *m_banner;
     191    MythUIImage      *m_fanart;
    186192
    187193    MythUIStateType  *m_parentalLevelState;
    188194    MythUIStateType  *m_videoLevelState;
  • mythvideo/mythvideo/metadatalistmanager.cpp

     
    113113    const QString BaseMetadataQuery(
    114114        "SELECT title, director, plot, rating, year, userrating,"
    115115        "length, filename, showlevel, coverfile, inetref, childid,"
    116         "browse, playcommand, category, intid, trailer FROM videometadata");
     116        "browse, playcommand, category, intid, trailer, screenshot,"
     117        "banner, fanart FROM videometadata");
    117118
    118119    query.prepare(BaseMetadataQuery);
    119120
  • mythvideo/mythvideo/metadata.cpp

     
    8888
    8989  public:
    9090    MetadataImp(const QString &filename, const QString &trailer, const QString &coverfile,
     91             const QString &screenshot, const QString &banner, const QString &fanart,
    9192             const QString &title, int year,
    9293             const QString &inetref, const QString &director,
    9394             const QString &plot, float userrating,
     
    103104        m_rating(rating), m_playcommand(playcommand), m_category(category),
    104105        m_genres(genres), m_countries(countries), m_cast(cast),
    105106        m_filename(filename), m_trailer(trailer), m_coverfile(coverfile),
    106         m_categoryID(categoryID), m_childID(childID), m_year(year),
    107         m_length(length), m_showlevel(showlevel), m_browse(browse), m_id(id),
     107        m_screenshot(screenshot), m_banner(banner), m_fanart(fanart),
     108        m_categoryID(categoryID), m_childID(childID),
     109        m_year(year), m_length(length), m_showlevel(showlevel), m_browse(browse), m_id(id),
    108110        m_userrating(userrating)
    109111    {
    110112        VideoCategory::getCategory().get(m_categoryID, m_category);
     
    137139            m_filename = rhs.m_filename;
    138140            m_trailer = rhs.m_trailer;
    139141            m_coverfile = rhs.m_coverfile;
     142            m_screenshot = rhs.m_screenshot;
     143            m_banner = rhs.m_banner;
     144            m_fanart = rhs.m_fanart;
    140145
    141146            m_categoryID = rhs.m_categoryID;
    142147            m_childID = rhs.m_childID;
     
    216221    const QString &getCoverFile() const { return m_coverfile; }
    217222    void setCoverFile(const QString &coverFile) { m_coverfile = coverFile; }
    218223
     224    const QString &getScreenshot() const { return m_screenshot; }
     225    void setScreenshot(const QString &screenshot) { m_screenshot = screenshot; }
     226
     227    const QString &getBanner() const { return m_banner; }
     228    void setBanner(const QString &banner) { m_banner = banner; }
     229
     230    const QString &getFanart() const { return m_fanart; }
     231    void setFanart(const QString &fanart) { m_fanart = fanart; }
     232
    219233    int getCategoryID() const
    220234    {
    221235        return m_categoryID;
     
    281295    QString m_filename;
    282296    QString m_trailer;
    283297    QString m_coverfile;
     298    QString m_screenshot;
     299    QString m_banner;
     300    QString m_fanart;
    284301
    285302    int m_categoryID;
    286303    int m_childID;
     
    383400void MetadataImp::Reset()
    384401{
    385402    MetadataImp tmp(m_filename, VIDEO_TRAILER_DEFAULT, VIDEO_COVERFILE_DEFAULT,
    386                     Metadata::FilenameToTitle(m_filename), VIDEO_YEAR_DEFAULT,
     403                    VIDEO_SCREENSHOT_DEFAULT, VIDEO_BANNER_DEFAULT, VIDEO_FANART_DEFAULT,
     404                    Metadata::FilenameToTitle(m_filename), VIDEO_YEAR_DEFAULT,
    387405                    VIDEO_INETREF_DEFAULT, VIDEO_DIRECTOR_DEFAULT,
    388406                    VIDEO_PLOT_DEFAULT, 0.0, VIDEO_RATING_DEFAULT, 0, m_id,
    389407                    ParentalLevel::plLowest, 0, -1, true, "", "",
     
    475493    m_categoryID = query.value(14).toInt();
    476494    m_id = query.value(15).toInt();
    477495    m_trailer = query.value(16).toString();
     496    m_screenshot = query.value(17).toString();
     497    m_banner = query.value(18).toString();
     498    m_fanart = query.value(19).toString();
    478499
    479500    VideoCategory::getCategory().get(m_categoryID, m_category);
    480501
     
    500521        m_rating = VIDEO_RATING_DEFAULT;
    501522    if (m_coverfile.isEmpty())
    502523        m_coverfile = VIDEO_COVERFILE_DEFAULT;
     524    if (m_screenshot.isEmpty())
     525        m_screenshot = VIDEO_SCREENSHOT_DEFAULT;
     526    if (m_banner.isEmpty())
     527        m_banner = VIDEO_BANNER_DEFAULT;
     528    if (m_fanart.isEmpty())
     529        m_fanart = VIDEO_FANART_DEFAULT;
    503530    if (m_trailer.isEmpty())
    504531        m_trailer = VIDEO_TRAILER_DEFAULT;
    505532    if (m_inetref.isEmpty())
     
    519546
    520547        query.prepare("INSERT INTO videometadata (title,director,plot,"
    521548                      "rating,year,userrating,length,filename,showlevel,"
    522                       "coverfile,inetref,browse,trailer) VALUES (:TITLE, :DIRECTOR, "
    523                       ":PLOT, :RATING, :YEAR, :USERRATING, :LENGTH, "
    524                       ":FILENAME, :SHOWLEVEL, :COVERFILE, :INETREF, :BROWSE, :TRAILER)");
     549                      "coverfile,inetref,browse,trailer,screenshot,banner,"
     550                      "fanart) VALUES (:TITLE, :DIRECTOR, :PLOT, :RATING, "
     551                      ":YEAR, :USERRATING, :LENGTH, :FILENAME, :SHOWLEVEL, "
     552                      ":COVERFILE, :INETREF, :BROWSE, :TRAILER, :SCREENSHOT, "
     553                      ":BANNER, :FANART)");
    525554
    526555    }
    527556    else
     
    531560                      "year = :YEAR, userrating = :USERRATING, "
    532561                      "length = :LENGTH, filename = :FILENAME, trailer = :TRAILER, "
    533562                      "showlevel = :SHOWLEVEL, coverfile = :COVERFILE, "
     563                      "screenshot = :SCREENSHOT, banner = :BANNER, fanart = :FANART, "
    534564                      "inetref = :INETREF, browse = :BROWSE, "
    535565                      "playcommand = :PLAYCOMMAND, childid = :CHILDID, "
    536566                      "category = :CATEGORY WHERE intid = :INTID");
     
    552582    query.bindValue(":TRAILER", m_trailer);
    553583    query.bindValue(":SHOWLEVEL", m_showlevel);
    554584    query.bindValue(":COVERFILE", m_coverfile);
     585    query.bindValue(":SCREENSHOT", m_screenshot);
     586    query.bindValue(":BANNER", m_banner);
     587    query.bindValue(":FANART", m_fanart);
    555588    query.bindValue(":INETREF", m_inetref);
    556589    query.bindValue(":BROWSE", m_browse);
    557590
     
    783816    return ret;
    784817}
    785818
    786 Metadata::Metadata(const QString &filename, const QString &trailer, const QString &coverfile,
     819Metadata::Metadata(const QString &filename, const QString &trailer,
     820             const QString &coverfile, const QString &screenshot,
     821             const QString &banner, const QString &fanart,
    787822             const QString &title, int year,
    788823             const QString &inetref, const QString &director,
    789824             const QString &plot, float userrating,
     
    795830             const country_list &countries,
    796831             const cast_list &cast)
    797832{
    798     m_imp = new MetadataImp(filename, trailer, coverfile, title, year, inetref, director,
    799                             plot, userrating, rating, length, id, showlevel,
    800                             categoryID, childID, browse, playcommand, category,
     833    m_imp = new MetadataImp(filename, trailer, coverfile, screenshot, banner,
     834                            fanart, title, year, inetref, director, plot,
     835                            userrating, rating, length, id, showlevel,
     836                            categoryID, childID, browse, playcommand, category,
    801837                            genres, countries, cast);
    802838}
    803839
     
    10111047    m_imp->setCoverFile(coverFile);
    10121048}
    10131049
     1050const QString &Metadata::Screenshot() const
     1051{
     1052    return m_imp->getScreenshot();
     1053}
     1054                           
     1055void Metadata::setScreenshot(const QString &screenshot)
     1056{
     1057    m_imp->setScreenshot(screenshot);
     1058}
     1059
     1060const QString &Metadata::Banner() const
     1061{
     1062    return m_imp->getBanner();
     1063}
     1064
     1065void Metadata::setBanner(const QString &banner)
     1066{
     1067    m_imp->setBanner(banner);
     1068}   
     1069
     1070const QString &Metadata::Fanart() const
     1071{
     1072    return m_imp->getFanart();
     1073}
     1074
     1075void Metadata::setFanart(const QString &fanart)
     1076{
     1077    m_imp->setFanart(fanart);
     1078}   
     1079
    10141080const QString &Metadata::Category() const
    10151081{
    10161082    return m_imp->getCategory();
  • mythvideo/mythvideo/globalsettings.cpp

     
    247270    return gc;
    248271}
    249272
     273HostLineEdit *VideoScreenshotDirectory()
     274{
     275    HostLineEdit *gc = new HostLineEdit("VideoScreenshotDir");
     276    gc->setLabel(QObject::tr("Directory that holds movie screenshots"));
     277    gc->setValue(GetConfDir() + "/MythVideo/Screenshots");
     278    gc->setHelpText(QObject::tr("This directory must exist, and the user "
     279                    "running MythVideo needs to have read/write permission "
     280                    "to the directory."));
     281    return gc;
     282}
     283
     284HostLineEdit *VideoBannerDirectory()
     285{
     286    HostLineEdit *gc = new HostLineEdit("VideoBannerDir");
     287    gc->setLabel(QObject::tr("Directory that holds movie/TV Banners"));
     288    gc->setValue(GetConfDir() + "/MythVideo/Banners");
     289    gc->setHelpText(QObject::tr("This directory must exist, and the user "
     290                    "running MythVideo needs to have read/write permission "
     291                    "to the directory."));
     292    return gc;
     293}
     294
     295HostLineEdit *VideoFanartDirectory()
     296{
     297    HostLineEdit *gc = new HostLineEdit("VideoFanartDir");
     298    gc->setLabel(QObject::tr("Directory that holds movie fanart"));
     299    gc->setValue(GetConfDir() + "/MythVideo/Fanart");
     300    gc->setHelpText(QObject::tr("This directory must exist, and the user "
     301                    "running MythVideo needs to have read/write permission "
     302                    "to the directory."));
     303    return gc;
     304}
     305
    250306HostLineEdit *TrailerDirectory()
    251307{
    252308    HostLineEdit *gc = new HostLineEdit("mythvideo.TrailersDir");
     
    682737    VConfigPage page1(pages, false);
    683738    page1->addChild(VideoStartupDirectory());
    684739    page1->addChild(VideoArtworkDirectory());
     740    page1->addChild(VideoScreenshotDirectory());
     741    page1->addChild(VideoBannerDirectory());
     742    page1->addChild(VideoFanartDirectory());
    685743    page1->addChild(VideoDefaultView());
    686744
    687745    VConfigPage page2(pages, false);
  • mythvideo/mythvideo/globals.cpp

     
    1616const QString VIDEO_INETREF_DEFAULT = "00000000";
    1717const QString VIDEO_COVERFILE_DEFAULT = QObject::tr("No Cover");
    1818const QString VIDEO_TRAILER_DEFAULT;
     19const QString VIDEO_SCREENSHOT_DEFAULT;
     20const QString VIDEO_BANNER_DEFAULT;
     21const QString VIDEO_FANART_DEFAULT;
    1922const QString VIDEO_RATING_DEFAULT = QObject::tr("NR");
    2023const QString VIDEO_PLOT_DEFAULT = QObject::tr("None");
    2124const QString VIDEO_CAST_DEFAULT = VIDEO_CAST_UNKNOWN;
  • mythvideo/mythvideo/dbcheck.cpp

     
    3838    const QString lastMythDVDDBVersion = "1002";
    3939    const QString lastMythVideoVersion = "1010";
    4040
    41     const QString currentDatabaseVersion = "1021";
     41    const QString currentDatabaseVersion = "1022";
    4242
    4343    const QString OldMythVideoVersionName = "VideoDBSchemaVer";
    4444    const QString OldMythDVDVersionName = "DVDDBSchemaVer";
     
    816816
    817817            UpdateDBVersionNumber(MythVideoVersionName, "1021");
    818818        }
     819
     820        if (dbver == "1021")
     821        {
     822            QStringList updates;
     823            updates += "ALTER TABLE videometadata ADD `screenshot` TEXT;";
     824            updates += "ALTER TABLE videometadata ADD `banner` TEXT;";
     825            updates += "ALTER TABLE videometadata ADD `fanart` TEXT;";             
     826            performActualUpdate(updates, "1022", dbver, MythVideoVersionName);
     827        }
    819828    }
    820829}
    821830
  • mythvideo/mythvideo/videoutils.cpp

     
    7070            coverfile == VIDEO_COVERFILE_DEFAULT_OLD;
    7171}
    7272
     73bool IsDefaultScreenshot(const QString &screenshot)
     74{
     75    return screenshot == VIDEO_SCREENSHOT_DEFAULT;
     76}
     77
     78bool IsDefaultBanner(const QString &banner)
     79{
     80    return banner == VIDEO_SCREENSHOT_DEFAULT;
     81}
     82
     83bool IsDefaultFanart(const QString &fanart)
     84{
     85    return fanart == VIDEO_FANART_DEFAULT;
     86}
     87
    7388QString GetDisplayUserRating(float userrating)
    7489{
    7590    return QString::number(userrating, 'f', 1);
  • mythvideo/mythvideo/editmetadata.h

     
    6060    MythUICheckBox      *m_browseCheck;
    6161    MythUIButton        *m_coverartButton;
    6262    MythUIText          *m_coverartText;
     63    MythUIButton        *m_screenshotButton;
     64    MythUIText          *m_screenshotText;
     65    MythUIButton        *m_bannerButton;
     66    MythUIText          *m_bannerText;
     67    MythUIButton        *m_fanartButton;
     68    MythUIText          *m_fanartText;
    6369    MythUIButton        *m_trailerButton;
    6470    MythUIText          *m_trailerText;
    6571    MythUIButton        *m_doneButton;
  • mythvideo/mythvideo/videodlg.cpp

     
    783783
    784784            tmp["coverfile"] = coverfile;
    785785
     786            const QString screenshotfile = metadata->Screenshot();
     787            if (!IsDefaultScreenshot(screenshotfile))
     788                tmp["screenshot"] = screenshotfile;
     789
     790            tmp["screenshotfile"] = screenshotfile;
     791
     792            const QString bannerfile = metadata->Banner();
     793            if (!IsDefaultBanner(bannerfile))
     794                tmp["banner"] = bannerfile;
     795
     796            tmp["bannerfile"] = bannerfile;
     797
     798            const QString fanartfile = metadata->Fanart();
     799            if (!IsDefaultFanart(fanartfile))
     800                tmp["fanart"] = fanartfile;
     801
     802            tmp["fanartfile"] = fanartfile;
     803
    786804            tmp["video_player"] = VideoPlayerCommand::PlayerFor(metadata)
    787805                    .GetCommandDisplayName();
    788806            tmp["player"] = metadata->PlayCommand();
     
    836854        helper h(tmp, dest);
    837855
    838856        h.handleImage("coverimage");
     857        h.handleImage("screenshot");
     858        h.handleImage("banner");
     859        h.handleImage("fanart");
    839860
    840861        h.handleText("coverfile");
     862        h.handleText("screenshotfile");
     863        h.handleText("bannerfile");
     864        h.handleText("fanartfile");
    841865        h.handleText("video_player");
    842866        h.handleText("player");
    843867        h.handleText("filename");
     
    11621186    MythScreenType(lparent, lname), m_menuPopup(0), m_busyPopup(0),
    11631187    m_videoButtonList(0), m_videoButtonTree(0), m_titleText(0),
    11641188    m_novideoText(0), m_positionText(0), m_crumbText(0), m_coverImage(0),
    1165     m_parentalLevelState(0)
     1189    m_screenshot(0), m_banner(0), m_fanart(0), m_parentalLevelState(0)
    11661190{
    11671191    m_d = new VideoDialogPrivate(video_list, type);
    11681192
     
    12401264    UIUtilW::Assign(this, m_crumbText, "breadcrumbs");
    12411265
    12421266    UIUtilW::Assign(this, m_coverImage, "coverimage");
     1267    UIUtilW::Assign(this, m_screenshot, "screenshot");   
     1268    UIUtilW::Assign(this, m_banner, "banner");
     1269    UIUtilW::Assign(this, m_fanart, "fanart");
    12431270
    12441271    UIUtilW::Assign(this, m_parentalLevelState, "parentallevel");
    12451272
     
    14841511    return icon_file;
    14851512}
    14861513
     1514QString VideoDialog::GetScreenshot(MythGenericTree *node)
     1515{
     1516    int nodeInt = node->getInt();
     1517
     1518    QString icon_file;
     1519
     1520    if (nodeInt  == kSubFolder || nodeInt == kUpFolder)  // subdirectory
     1521    {
     1522        icon_file = VIDEO_SCREENSHOT_DEFAULT;
     1523    }
     1524    else
     1525    {
     1526        const Metadata *metadata = GetMetadataPtrFromNode(node);
     1527
     1528        if (metadata)
     1529            icon_file = metadata->Screenshot();
     1530    }
     1531
     1532    if (IsDefaultScreenshot(icon_file))
     1533        icon_file.clear();
     1534
     1535    return icon_file;
     1536}
     1537
     1538QString VideoDialog::GetBanner(MythGenericTree *node)
     1539{
     1540    int nodeInt = node->getInt();
     1541
     1542    QString icon_file;
     1543
     1544    if (nodeInt  == kSubFolder || nodeInt == kUpFolder)  // subdirectory
     1545    {
     1546        icon_file = VIDEO_BANNER_DEFAULT;
     1547    }
     1548    else
     1549    {
     1550        const Metadata *metadata = GetMetadataPtrFromNode(node);
     1551
     1552        if (metadata)
     1553            icon_file = metadata->Banner();
     1554    }
     1555
     1556    if (IsDefaultBanner(icon_file))
     1557        icon_file.clear();
     1558
     1559    return icon_file;
     1560}
     1561
     1562QString VideoDialog::GetFanart(MythGenericTree *node)
     1563{
     1564    int nodeInt = node->getInt();
     1565
     1566    QString icon_file;
     1567
     1568    if (nodeInt  == kSubFolder || nodeInt == kUpFolder)  // subdirectory
     1569    {
     1570        icon_file = VIDEO_FANART_DEFAULT;
     1571    }
     1572    else
     1573    {
     1574        const Metadata *metadata = GetMetadataPtrFromNode(node);
     1575
     1576        if (metadata)
     1577            icon_file = metadata->Fanart();
     1578    }
     1579
     1580    if (IsDefaultFanart(icon_file))
     1581        icon_file.clear();
     1582
     1583    return icon_file;
     1584}
     1585
    14871586bool VideoDialog::keyPressEvent(QKeyEvent *levent)
    14881587{
    14891588    if (GetFocusWidget()->keyPressEvent(levent))
  • mythvideo/mythvideo/videoscan.cpp

     
    216216            if (!p->second)
    217217            {
    218218                Metadata newFile(p->first, VIDEO_TRAILER_DEFAULT,
    219                                  VIDEO_COVERFILE_DEFAULT,
     219                                 VIDEO_COVERFILE_DEFAULT,
     220                                 VIDEO_SCREENSHOT_DEFAULT,
     221                                 VIDEO_BANNER_DEFAULT,
     222                                 VIDEO_FANART_DEFAULT,
    220223                                 Metadata::FilenameToTitle(p->first),
    221224                                 VIDEO_YEAR_DEFAULT,
    222225                                 VIDEO_INETREF_DEFAULT, VIDEO_DIRECTOR_DEFAULT,
  • mythvideo/mythvideo/metadata.h

     
    5151    Metadata(const QString &filename = QString(),
    5252             const QString &trailer = QString(),
    5353             const QString &coverfile = QString(),
     54             const QString &screenshot = QString(),
     55             const QString &banner = QString(),
     56             const QString &fanart = QString(),
    5457             const QString &title = QString(),
    5558             int year = VIDEO_YEAR_DEFAULT,
    5659             const QString &inetref = QString(),
     
    130133    const QString &CoverFile() const;
    131134    void setCoverFile(const QString &coverFile);
    132135
     136    const QString &Screenshot() const;
     137    void setScreenshot(const QString &screenshot);
     138
     139    const QString &Banner() const;
     140    void setBanner(const QString &banner);
     141
     142    const QString &Fanart() const;
     143    void setFanart(const QString &fanart);
     144
    133145    const QString &Category() const;
    134146
    135147    const genre_list &Genres() const;
  • mythvideo/mythvideo/editmetadata.cpp

     
    2323    m_origMetadata(source_metadata), m_titleEdit(0), m_playerEdit(0),
    2424    m_categoryList(0), m_levelList(0), m_childList(0), m_browseCheck(0),
    2525    m_coverartButton(0), m_coverartText(0),
     26    m_screenshotButton(0), m_screenshotText(0),
     27    m_bannerButton(0), m_bannerText(0),
     28    m_fanartButton(0), m_fanartText(0),
    2629    m_trailerButton(0), m_trailerText(0),
    2730    m_doneButton(0), cachedChildSelection(0),
    2831    m_metaCache(cache)
     
    4548    UIUtilE::Assign(this, m_playerEdit, "player_edit", &err);
    4649
    4750    UIUtilE::Assign(this, m_coverartText, "coverart_text", &err);
     51    UIUtilE::Assign(this, m_screenshotText, "screenshot_text", &err);
     52    UIUtilE::Assign(this, m_bannerText, "banner_text", &err);
     53    UIUtilE::Assign(this, m_fanartText, "fanart_text", &err);
    4854    UIUtilE::Assign(this, m_trailerText, "trailer_text", &err);
    4955
    5056    UIUtilE::Assign(this, m_categoryList, "category_select", &err);
     
    216222    if (m_workingMetadata->Browse())
    217223        m_browseCheck->SetCheckState(MythUIStateType::Full);
    218224    m_coverartText->SetText(m_workingMetadata->CoverFile());
     225    m_screenshotText->SetText(m_workingMetadata->Screenshot());
     226    m_bannerText->SetText(m_workingMetadata->Banner());
     227    m_fanartText->SetText(m_workingMetadata->Fanart());
    219228    m_trailerText->SetText(m_workingMetadata->GetTrailer());
    220229    m_playerEdit->SetText(m_workingMetadata->PlayCommand());
    221230}
  • mythvideo/mythvideo/globals.h

     
    1414extern const QString VIDEO_INETREF_DEFAULT;
    1515extern const QString VIDEO_COVERFILE_DEFAULT;
    1616extern const QString VIDEO_TRAILER_DEFAULT;
     17extern const QString VIDEO_SCREENSHOT_DEFAULT;
     18extern const QString VIDEO_BANNER_DEFAULT;
     19extern const QString VIDEO_FANART_DEFAULT;
    1720extern const QString VIDEO_RATING_DEFAULT;
    1821extern const QString VIDEO_PLOT_DEFAULT;
    1922extern const QString VIDEO_CAST_DEFAULT;
  • mythvideo/mythvideo/videoutils.h

     
    2222QStringList GetVideoDirs();
    2323
    2424bool IsDefaultCoverFile(const QString &coverfile);
     25bool IsDefaultScreenshot(const QString &screenshot);
     26bool IsDefaultBanner(const QString &banner);
     27bool IsDefaultFanart(const QString &fanart);
    2528
    2629class Metadata;
    2730