Ticket #6706: mythgame.plot.screenshotbrowser.diff

File mythgame.plot.screenshotbrowser.diff, 31.1 KB (added by robert.mcnamara@…, 15 years ago)

Patch described above. Adds plot and screenshot browsing.

  • mythgame/theme/default/game-ui.xml

     
    7676        <font>infofont</font>
    7777    </textarea>
    7878
     79    <textarea name="plot">
     80        <area>38,565,500,35</area>
     81        <font>infofont</font>
     82    </textarea>
     83
    7984    <imagetype name="gameimage">
    8085        <area>600,420,180,150</area>
    8186    </imagetype>
     
    99104    <!-- Labels -->
    100105
    101106    <textarea name="gamename_label" from="basetextarea">
    102         <area>250,110,250,40</area>
     107        <area>25,110,250,40</area>
    103108        <value>Game Name:</value>
    104109        <align>right,top</align>
    105110    </textarea>
    106111
    107112    <textarea name="genre_label" from="basetextarea">
    108         <area>250,155,250,40</area>
     113        <area>25,155,250,40</area>
    109114        <value>Genre:</value>
    110115        <align>right,top</align>
    111116    </textarea>
    112117
    113118    <textarea name="year_label" from="basetextarea">
    114         <area>250,200,250,40</area>
     119        <area>25,200,250,40</area>
    115120        <value>Year:</value>
    116121        <align>right,top</align>
    117122    </textarea>
    118123
    119124    <textarea name="country_label" from="basetextarea">
    120         <area>250,245,250,40</area>
     125        <area>25,245,250,40</area>
    121126        <value>Country:</value>
    122127        <align>right,top</align>
    123128    </textarea>
    124129
    125130    <textarea name="publisher_label" from="basetextarea">
    126         <area>250,290,250,40</area>
     131        <area>25,290,250,40</area>
    127132        <value>Publisher:</value>
    128133        <align>right,top</align>
    129134    </textarea>
    130135
     136    <textarea name="plot_label" from="basetextarea">
     137        <area>25,335,250,40</area>
     138        <value>Plot:</value>
     139        <align>right,top</align>
     140    </textarea>
     141
    131142    <textarea name="favorite_label" from="basetextarea">
    132         <area>250,335,250,40</area>
     143        <area>25,385,250,40</area>
    133144        <value>Favorite:</value>
    134145        <align>right,top</align>
    135146    </textarea>
    136147
     148    <textarea name="screenshot_label" from="basetextarea">
     149        <area>25,430,250,40</area>
     150        <value>Screenshot:</value>
     151        <align>right,top</align>
     152    </textarea>
     153
    137154    <textarea name="fanart_label" from="basetextarea">
    138         <area>250,380,250,40</area>
     155        <area>25,475,250,40</area>
    139156        <value>Fanart:</value>
    140157        <align>right,top</align>
    141158    </textarea>
    142159
    143160    <textarea name="boxart_label" from="basetextarea">
    144         <area>250,425,250,40</area>
     161        <area>25,520,250,40</area>
    145162        <value>Boxart:</value>
    146163        <align>right,top</align>
    147164    </textarea>
     
    149166    <!-- Widgets -->
    150167
    151168    <textedit name="gamename_edit" from="basetextedit">
    152         <position>510,100</position>
     169        <position>285,100</position>
    153170    </textedit>
    154171
    155172    <textedit name="genre_edit" from="basetextedit">
    156         <position>510,145</position>
     173        <position>285,145</position>
    157174    </textedit>
    158175
    159176    <textedit name="year_edit" from="basetextedit">
    160         <position>510,190</position>
     177        <position>285,190</position>
    161178    </textedit>
    162179
    163180    <textedit name="country_edit" from="basetextedit">
    164         <position>510,235</position>
     181        <position>285,235</position>
    165182    </textedit>
    166183
    167184    <textedit name="publisher_edit" from="basetextedit">
    168         <position>510,280</position>
     185        <position>285,280</position>
    169186    </textedit>
    170187
     188    <textedit name="plot_edit" from="basetextedit">
     189        <position>285,325</position>
     190    </textedit>
     191
    171192    <checkbox name="favorite_check" from="basecheckbox">
    172         <position>510,330</position>
     193        <position>285,380</position>
    173194    </checkbox>
    174195
     196    <button name="screenshot_button" from="basesearchbutton">
     197        <position>285,420</position>
     198    </button>
     199
     200    <textarea name="screenshot_text" from="basetextarea">
     201        <area>325,425,250,40</area>
     202        <value>/path/to/the/thing.jpg</value>
     203    </textarea>
     204
    175205    <button name="fanart_button" from="basesearchbutton">
    176         <position>510,370</position>
     206        <position>285,465</position>
    177207    </button>
    178208
    179209    <textarea name="fanart_text" from="basetextarea">
    180         <area>550,375,250,40</area>
     210        <area>325,470,250,40</area>
    181211        <value>/path/to/the/thing.jpg</value>
    182212    </textarea>
    183213
    184214    <button name="boxart_button" from="basesearchbutton">
    185         <position>510,415</position>
     215        <position>285,510</position>
    186216    </button>
    187217
    188218    <textarea name="boxart_text" from="basetextarea">
    189         <area>550,420,250,40</area>
     219        <area>325,515,250,40</area>
    190220        <value>/path/to/the/thing.jpg</value>
    191221    </textarea>
    192222
    193223    <button name="done_button" from="basebutton">
    194         <position>510,565</position>
     224        <position>285,565</position>
    195225        <value>Done</value>
    196226    </button>
    197227
     
    303333        <area>190,420,400,40</area>
    304334    </textarea>
    305335
     336    <textarea name="plot" from="basetextarea">
     337        <area>40,470,640,40</area>
     338        <value>No Plot.</value>
     339        <align>left</align>
     340    </textarea>
     341
    306342    <imagetype name="boxart">
    307343        <area>600,300,180,150</area>
    308344        <preserveaspect>true</preserveaspect>
  • mythgame/theme/default-wide/game-ui.xml

     
    7676        <font>infofont</font>
    7777    </textarea>
    7878
     79    <textarea name="plot">
     80        <area>236,665,580,35</area>
     81        <font>infofont</font>
     82    </textarea>
     83
    7984    <imagetype name="boxart">
    8085        <area>610,500,180,150</area>
    8186        <preserveaspect>true</preserveaspect>
     
    200205        <area>190,520,400,40</area>
    201206    </textarea>
    202207
     208    <textarea name="plot" from="basetextarea">
     209        <area>190,560,400,40</area>
     210    </textarea>
     211
    203212    <imagetype name="boxart">
    204213        <area>800,200,415,320</area>
    205214        <preserveaspect>true</preserveaspect>
     
    258267        <align>right,top</align>
    259268    </textarea>
    260269
    261     <textarea name="favorite_label" from="basetextarea">
     270    <textarea name="plot_label" from="basetextarea">
    262271        <area>250,335,250,40</area>
     272        <value>Plot:</value>
     273        <align>right,top</align>
     274    </textarea>
     275
     276    <textarea name="fav_label" from="basetextarea">
     277        <area>250,400,250,40</area>
    263278        <value>Favorite:</value>
    264279        <align>right,top</align>
    265280    </textarea>
    266281
     282    <textarea name="screenshot_label" from="basetextarea">
     283        <area>250,445,250,40</area>
     284        <value>Screenshot:</value>
     285        <align>right,top</align>
     286    </textarea>
     287
    267288    <textarea name="fanart_label" from="basetextarea">
    268         <area>250,380,250,40</area>
     289        <area>250,490,250,40</area>
    269290        <value>Fanart:</value>
    270291        <align>right,top</align>
    271292    </textarea>
    272293
    273294    <textarea name="boxart_label" from="basetextarea">
    274         <area>250,425,250,40</area>
     295        <area>250,535,250,40</area>
    275296        <value>Boxart:</value>
    276297        <align>right,top</align>
    277298    </textarea>
     
    298319        <position>510,280</position>
    299320    </textedit>
    300321
     322    <textedit name="plot_edit" from="basetextedit">
     323        <position>510,325</position>
     324    </textedit>
     325
    301326    <checkbox name="favorite_check" from="basecheckbox">
    302         <position>510,330</position>
     327        <position>510,400</position>
    303328    </checkbox>
    304329
     330    <button name="screenshot_button" from="basesearchbutton">
     331        <position>510,445</position>
     332    </button>
     333
     334    <textarea name="screenshot_text" from="basetextarea">
     335        <area>550,440,750,40</area>
     336        <value>/path/to/the/thing.jpg</value>
     337    </textarea>
     338
    305339    <button name="fanart_button" from="basesearchbutton">
    306         <position>510,370</position>
     340        <position>510,480</position>
    307341    </button>
    308342
    309343    <textarea name="fanart_text" from="basetextarea">
    310         <area>550,375,750,40</area>
     344        <area>550,485,750,40</area>
    311345        <value>/path/to/the/thing.jpg</value>
    312346    </textarea>
    313347
    314348    <button name="boxart_button" from="basesearchbutton">
    315         <position>510,415</position>
     349        <position>510,525</position>
    316350    </button>
    317351
    318352    <textarea name="boxart_text" from="basetextarea">
    319         <area>550,420,750,40</area>
     353        <area>550,530,750,40</area>
    320354        <value>/path/to/the/thing.jpg</value>
    321355    </textarea>
    322356
    323357    <button name="done_button" from="basebutton">
    324         <position>510,565</position>
     358        <position>510,615</position>
    325359        <value>Done</value>
    326360    </button>
    327361
  • mythgame/mythgame/romedit.cpp

     
    1818EditRomInfoDialog::EditRomInfoDialog(MythScreenStack *parent,
    1919        QString name, RomInfo *romInfo) : MythScreenType(parent, name),
    2020    m_id(""), m_retObject(0), m_gamenameEdit(0), m_genreEdit(0),
    21     m_yearEdit(0), m_countryEdit(0), m_publisherEdit(0), m_favoriteCheck(0),
    22     m_fanartButton(0), m_fanartText(0), m_boxartButton(0), m_boxartText(0),
    23     m_doneButton(0)
     21    m_yearEdit(0), m_countryEdit(0), m_plotEdit(0), m_publisherEdit(0),
     22    m_favoriteCheck(0), m_screenshotButton(0), m_fanartButton(0),
     23    m_fanartText(0), m_boxartButton(0), m_boxartText(0), m_doneButton(0)
    2424{
    2525    m_workingRomInfo = new RomInfo(*romInfo);
    2626}
     
    4040    UIUtilE::Assign(this, m_genreEdit, "genre_edit", &err);
    4141    UIUtilE::Assign(this, m_yearEdit, "year_edit", &err);
    4242    UIUtilE::Assign(this, m_countryEdit, "country_edit", &err);
     43    UIUtilE::Assign(this, m_plotEdit, "plot_edit", &err);
    4344    UIUtilE::Assign(this, m_publisherEdit, "publisher_edit", &err);
    4445
    4546    UIUtilE::Assign(this, m_favoriteCheck, "favorite_check", &err);
    4647
     48    UIUtilE::Assign(this, m_screenshotButton, "screenshot_button", &err);
     49    UIUtilE::Assign(this, m_screenshotText, "screenshot_text", &err);
    4750    UIUtilE::Assign(this, m_fanartButton, "fanart_button", &err);
    4851    UIUtilE::Assign(this, m_fanartText, "fanart_text", &err);
    4952    UIUtilE::Assign(this, m_boxartButton, "boxart_button", &err);
     
    6669    connect(m_genreEdit, SIGNAL(valueChanged()), SLOT(SetGenre()));
    6770    connect(m_yearEdit, SIGNAL(valueChanged()), SLOT(SetYear()));
    6871    connect(m_countryEdit, SIGNAL(valueChanged()), SLOT(SetCountry()));
     72    connect(m_plotEdit, SIGNAL(valueChanged()), SLOT(SetPlot()));
    6973    connect(m_publisherEdit, SIGNAL(valueChanged()), SLOT(SetPublisher()));
    7074
    7175    connect(m_favoriteCheck, SIGNAL(valueChanged()), SLOT(ToggleFavorite()));
    7276
     77    connect(m_screenshotButton, SIGNAL(Clicked()), SLOT(FindScreenshot()));
    7378    connect(m_fanartButton, SIGNAL(Clicked()), SLOT(FindFanart()));
    7479    connect(m_boxartButton, SIGNAL(Clicked()), SLOT(FindBoxart()));
    7580
     
    112117            delete fb;
    113118    }
    114119
     120    const QString CEID_SCREENSHOTFILE = "screenshotfile";
    115121    const QString CEID_FANARTFILE = "fanartfile";
    116122    const QString CEID_BOXARTFILE = "boxartfile";
    117123}
     
    130136
    131137        if (resultid == CEID_FANARTFILE)
    132138            SetFanart(dce->GetResultText());
     139        else if (resultid == CEID_SCREENSHOTFILE)
     140            SetScreenshot(dce->GetResultText());
    133141        else if (resultid == CEID_BOXARTFILE)
    134142            SetBoxart(dce->GetResultText());
    135143    }
     
    141149    m_genreEdit->SetText(m_workingRomInfo->Genre());
    142150    m_yearEdit->SetText(m_workingRomInfo->Year());
    143151    m_countryEdit->SetText(m_workingRomInfo->Country());
     152    m_plotEdit->SetText(m_workingRomInfo->Plot());
    144153    m_publisherEdit->SetText(m_workingRomInfo->Publisher());
    145154
    146155    if (m_workingRomInfo->Favorite())
    147156        m_favoriteCheck->SetCheckState(MythUIStateType::Full);
    148157 
     158    m_screenshotText->SetText(m_workingRomInfo->Screenshot());
    149159    m_fanartText->SetText(m_workingRomInfo->Fanart());
    150160    m_boxartText->SetText(m_workingRomInfo->Boxart());
    151161}
     
    191201    m_workingRomInfo->setCountry(m_countryEdit->GetText());
    192202}
    193203
     204void EditRomInfoDialog::SetPlot()
     205{
     206    m_workingRomInfo->setPlot(m_plotEdit->GetText());
     207}
     208
    194209void EditRomInfoDialog::SetPublisher()
    195210{
    196211    m_workingRomInfo->setPublisher(m_publisherEdit->GetText());
     
    201216    m_workingRomInfo->setFavorite();
    202217}
    203218
     219void EditRomInfoDialog::FindScreenshot()
     220{
     221    FindImagePopup(gContext->GetSetting("mythgame.screenshotDir"),
     222            GetConfDir() + "/MythGame/Screenshots",
     223            *this, CEID_SCREENSHOTFILE);
     224}
     225
    204226void EditRomInfoDialog::FindFanart()
    205227{
    206228    FindImagePopup(gContext->GetSetting("mythgame.fanartDir"),
     
    215237            *this, CEID_BOXARTFILE);
    216238}
    217239
     240void EditRomInfoDialog::SetScreenshot(QString file)
     241{
     242    if (file.isEmpty())
     243        return;
     244
     245    m_workingRomInfo->setScreenshot(file);
     246    m_screenshotText->SetText(file);
     247}
     248
    218249void EditRomInfoDialog::SetFanart(QString file)
    219250{
    220251    if (file.isEmpty())
  • mythgame/mythgame/gamehandler.cpp

     
    114114
    115115    MSqlQuery query(MSqlQuery::InitCon());
    116116    query.prepare("SELECT crc, category, year, country, name, "
    117                   "description, publisher, platform, version, "
     117                  "description, plot, publisher, platform, version, "
    118118                  "binfile FROM romdb WHERE platform = :GAMETYPE;");
    119119                             
    120120    query.bindValue(":GAMETYPE",GameType);
     
    149149
    150150void GameHandler::GetMetadata(GameHandler *handler, QString rom, QString* Genre, QString* Year,
    151151                              QString* Country, QString* CRC32, QString* GameName,
    152                               QString *Publisher, QString *Version, QString* Fanart,
    153                               QString* Boxart)
     152                              QString *Plot, QString *Publisher, QString *Version,
     153                              QString* Fanart, QString* Boxart)
    154154{
    155155    QString key;
    156156    QString tmpcrc;
     
    164164    *Country = QObject::tr("Unknown");
    165165    *GameName = QObject::tr("Unknown");
    166166    *Genre = QObject::tr("Unknown");
     167    *Plot = QObject::tr("Unknown");
    167168    *Publisher = QObject::tr("Unknown");
    168169    *Version = QObject::tr("0");
    169170    *Fanart = QObject::tr("");
     
    412413    QString thequery;
    413414    QString queryvalues;
    414415    QString Year;
     416    QString Plot;
    415417    QString Publisher;
    416418    QString Version;
    417419    QString Fanart;
     
    428430            if (indepth)
    429431            {
    430432                GetMetadata(handler, iter.data().RomFullPath(), &Genre, &Year, &Country, &CRC32, &GameName,
    431                             &Publisher, &Version, &Fanart, &Boxart);
     433                            &Plot, &Publisher, &Version, &Fanart, &Boxart);
    432434            }
    433435            else
    434436            {
     
    437439                CRC32 = "";
    438440                Year = QObject::tr("19xx");
    439441                GameName = QObject::tr("Unknown");
     442                Plot = QObject::tr("Unknown");
    440443                Publisher = QObject::tr("Unknown");
    441444                Version = QObject::tr("0");
    442445                Fanart = QObject::tr("");
     
    452455            VERBOSE(VB_GENERAL, QString("file %1 - genre %2 ").arg(iter.data().Rom()).arg(Genre));
    453456            query.prepare("INSERT INTO gamemetadata "
    454457                          "(system, romname, gamename, genre, year, gametype, "
    455                           "rompath, country, crc_value, diskcount, display, "
     458                          "rompath, country, crc_value, diskcount, display, plot, "
    456459                          "publisher, version, fanart, boxart) "
    457460                          "VALUES (:SYSTEM, :ROMNAME, :GAMENAME, :GENRE, :YEAR, "
    458                           ":GAMETYPE, :ROMPATH, :COUNTRY, :CRC32, '1', '1', :PUBLISHER, :VERSION, "
     461                          ":GAMETYPE, :ROMPATH, :COUNTRY, :CRC32, '1', '1', :PLOT, :PUBLISHER, :VERSION, "
    459462                          ":FANART, BOXART)");
    460463
    461464
     
    469472            query.bindValue(":ROMPATH",iter.data().RomPath());
    470473            query.bindValue(":COUNTRY",Country);
    471474            query.bindValue(":CRC32", CRC32);
     475            query.bindValue(":PLOT", Plot);
    472476            query.bindValue(":PUBLISHER", Publisher);
    473477            query.bindValue(":VERSION", Version);
    474478            query.bindValue(":FANART", Fanart);
  • mythgame/mythgame/gameui.cpp

     
    5353    UIUtilE::Assign(this, m_gameYear, "yearname", &err);
    5454    UIUtilE::Assign(this, m_gameGenre, "genrename", &err);
    5555    UIUtilE::Assign(this, m_gameFavourite, "showfavorite", &err);
     56    UIUtilE::Assign(this, m_gamePlot, "plot", &err);
    5657    UIUtilE::Assign(this, m_gameImage, "gameimage", &err);
    5758    UIUtilE::Assign(this, m_fanartImage, "fanart", &err);
    5859    UIUtilE::Assign(this, m_boxImage, "boxart", &err);
     
    294295    m_gameSystem->SetText(rom->System());
    295296    m_gameYear->SetText(rom->Year());
    296297    m_gameGenre->SetText(rom->Genre());
     298    m_gamePlot->SetText(rom->Plot());
    297299
    298300    if (rom->Favorite())
    299301        m_gameFavourite->SetText("Yes");
    300302    else
    301303        m_gameFavourite->SetText("No");
    302304
    303     m_gameImage->SetFilename(rom->ImagePath());
     305    m_gameImage->SetFilename(rom->Screenshot());
    304306    m_fanartImage->SetFilename(rom->Fanart());
    305307    m_boxImage->SetFilename(rom->Boxart());
    306308}
     
    310312    m_gameSystem->SetText("");
    311313    m_gameYear->SetText("");
    312314    m_gameGenre->SetText("");
     315    m_gamePlot->SetText("");
    313316    m_gameFavourite->SetText("");
    314317
    315318    if (m_gameImage->IsVisible())
     
    553556            filter += conj + "trim(genre)=:GENRE";
    554557            conj = " and ";
    555558        }
     559        if (!romInfo->Plot().isEmpty())
     560        {
     561            filter += conj + "plot=:PLOT";
     562            conj = " and ";
     563        }
    556564        if (!romInfo->Publisher().isEmpty())
    557565        {
    558566            filter += conj + "publisher=:PUBLISHER";
    559567            conj = " and ";
    560568        }
    561 
    562569        if (!romInfo->Gamename().isEmpty())
    563570        {
    564571            filter += conj + "trim(gamename)=:GAMENAME";
     
    650657            query.bindValue(":YEAR", romInfo->Year());
    651658        if (!romInfo->Genre().isEmpty())
    652659            query.bindValue(":GENRE", romInfo->Genre());
     660        if (!romInfo->Plot().isEmpty())
     661            query.bindValue(":PLOT", romInfo->Plot());
    653662        if (!romInfo->Publisher().isEmpty())
    654663            query.bindValue(":PUBLISHER", romInfo->Publisher());
    655664        if (!romInfo->Gamename().isEmpty())
  • mythgame/mythgame/romedit.h

     
    2525    void SetGenre();
    2626    void SetYear();
    2727    void SetCountry();
     28    void SetPlot();
    2829    void SetPublisher();
    2930    void ToggleFavorite();
     31    void FindScreenshot();
    3032    void FindFanart();
    3133    void FindBoxart();
    3234    void SaveAndExit();
    3335
    3436  private:
    3537    void fillWidgets();
     38    void SetScreenshot(QString file);
    3639    void SetFanart(QString file);
    3740    void SetBoxart(QString file);
    3841
     
    4548    MythUITextEdit      *m_genreEdit;
    4649    MythUITextEdit      *m_yearEdit;
    4750    MythUITextEdit      *m_countryEdit;
     51    MythUITextEdit      *m_plotEdit;
    4852    MythUITextEdit      *m_publisherEdit;
    4953    MythUICheckBox      *m_favoriteCheck;
     54    MythUIButton        *m_screenshotButton;
     55    MythUIText          *m_screenshotText;
    5056    MythUIButton        *m_fanartButton;
    5157    MythUIText          *m_fanartText;
    5258    MythUIButton        *m_boxartButton;
  • mythgame/mythgame/rominfo.cpp

     
    1919void RomInfo::UpdateDatabase()
    2020{
    2121    MSqlQuery query(MSqlQuery::InitCon());
    22     query.prepare("SELECT gamename,genre,year,country,publisher,favorite,"
    23                   "fanart,boxart "
     22    query.prepare("SELECT gamename,genre,year,country,plot,publisher, "
     23                  "favorite,screenshot,fanart,boxart "
    2424                  "FROM gamemetadata "
    2525                  "WHERE gametype = :GAMETYPE "
    2626                  "AND romname = :ROMNAME");
     
    4141    QString t_genre     = query.value(1).toString();
    4242    QString t_year      = query.value(2).toString();
    4343    QString t_country   = query.value(3).toString();
    44     QString t_publisher = query.value(4).toString();
    45     bool    t_favourite = query.value(5).toBool();
    46     QString t_fanart = query.value(6).toString();
    47     QString t_boxart = query.value(7).toString();
     44    QString t_plot      = query.value(4).toString();
     45    QString t_publisher = query.value(5).toString();
     46    bool    t_favourite = query.value(6).toBool();
     47    QString t_screenshot = query.value(7).toString();
     48    QString t_fanart = query.value(8).toString();
     49    QString t_boxart = query.value(9).toString();
    4850
    4951    if ((t_gamename  != Gamename())  || (t_genre     != Genre())   ||
    5052        (t_year      != Year())      || (t_country   != Country()) ||
    51         (t_publisher != Publisher()) || (t_favourite != Favorite()) ||
     53        (t_plot      != Plot())      || (t_publisher != Publisher()) ||
     54        (t_favourite != Favorite())  || (t_screenshot != Screenshot()) ||
    5255        (t_fanart    != Fanart())    || (t_boxart    != Boxart()))
    5356    {
    5457        query.prepare("UPDATE gamemetadata "
     
    5760                      "    genre = :GENRE,"
    5861                      "    year = :YEAR,"
    5962                      "    country = :COUNTRY,"
     63                      "    plot = :PLOT,"
    6064                      "    publisher = :PUBLISHER,"
    6165                      "    favorite = :FAVORITE,"
     66                      "    screenshot = :SCREENSHOT,"
    6267                      "    fanart = :FANART,"
    6368                      "    boxart = :BOXART "
    6469                      "WHERE gametype = :GAMETYPE AND "
     
    6772        query.bindValue(":GENRE", Genre());
    6873        query.bindValue(":YEAR", Year());
    6974        query.bindValue(":COUNTRY", Country());
     75        query.bindValue(":PLOT", Plot());
    7076        query.bindValue(":PUBLISHER", Publisher());
    7177        query.bindValue(":FAVORITE", Favorite());
     78        query.bindValue(":SCREENSHOT", Screenshot());
    7279        query.bindValue(":FANART", Fanart());
    7380        query.bindValue(":BOXART", Boxart());
    7481        query.bindValue(":GAMETYPE", GameType());
     
    155162        favorite = data.toInt();
    156163    else if (field == "rompath")
    157164        rompath = data;
     165    else if (field == "screenshot")
     166        screenshot = data;
    158167    else if (field == "fanart")
    159168        fanart = data;
    160169    else if (field == "boxart")
    161170        boxart = data;
    162171    else if (field == "country")
    163172        country = data;
     173    else if (field == "plot")
     174        plot = data;
    164175    else if (field == "publisher")
    165176        publisher = data;
    166177    else if (field == "crc_value")
     
    225236    }
    226237
    227238    QString thequery = "SELECT system,gamename,genre,year,romname,favorite,"
    228                        "rompath,country,crc_value,diskcount,gametype,publisher,"
    229                        "version,fanart,boxart FROM gamemetadata WHERE gamename = :GAMENAME "
     239                       "rompath,country,crc_value,diskcount,gametype,plot,publisher,"
     240                       "version,screenshot,fanart,boxart FROM gamemetadata "
     241                       "WHERE gamename = :GAMENAME "
    230242                       + systemtype + " ORDER BY diskcount DESC";
    231243
    232244    query.prepare(thequery);
     
    247259        setCRC_VALUE(query.value(8).toString());
    248260        setDiskCount(query.value(9).toInt());
    249261        setGameType(query.value(10).toString());
    250         setPublisher(query.value(11).toString());
    251         setVersion(query.value(12).toString());
    252         setFanart(query.value(13).toString());
    253         setBoxart(query.value(14).toString());
     262        setPlot(query.value(11).toString());
     263        setPublisher(query.value(12).toString());
     264        setVersion(query.value(13).toString());
     265        setScreenshot(query.value(14).toString());
     266        setFanart(query.value(15).toString());
     267        setBoxart(query.value(16).toString());
    254268    }
    255269
    256270    query.prepare("SELECT screenshots FROM gameplayers "
  • mythgame/mythgame/gamehandler.h

     
    6767    void GetMetadata(GameHandler *handler, QString rom,
    6868                             QString* Genre, QString* Year, QString* Country,
    6969                             QString* CRC32, QString* GameName,
    70                              QString* Publisher, QString* Version,
     70                             QString* Plot, QString* Publisher, QString* Version,
    7171                             QString* Fanart, QString* Boxart);
    7272
    7373    void promptForRemoval(QString filename, QString RomPath );
  • mythgame/mythgame/gameui.h

     
    5959    MythUIText       *m_gameSystem;
    6060    MythUIText       *m_gameYear;
    6161    MythUIText       *m_gameGenre;
     62    MythUIText       *m_gamePlot;
    6263    MythUIText       *m_gameFavourite;
    6364    MythUIImage      *m_gameImage;
    6465    MythUIImage      *m_fanartImage;
  • mythgame/mythgame/rominfo.h

     
    1212            QString lgenre = "", QString lyear = "", bool lfavorite = FALSE,
    1313            QString lrompath = "", QString lcountry ="", QString lcrc_value = "",
    1414            int ldiskcount = 0, QString lgametype = "", int lromcount = 0,
    15             QString lallsystems = "", QString lpublisher = "", QString lversion = "",
    16             QString lfanart = "", QString lboxart = "")
     15            QString lallsystems = "", QString lplot = "", QString lpublisher = "",
     16            QString lversion = "", QString lscreenshot = "", QString lfanart = "",
     17            QString lboxart = "")
    1718            {
    1819                romname = lromname;
    1920                system = lsystem;
     
    2223                year = lyear;
    2324                favorite = lfavorite;
    2425                rompath = lrompath;
     26                screenshot = lscreenshot;
    2527                fanart = lfanart;
    2628                boxart = lboxart;
    2729                country = lcountry;
     
    3032                gametype = lgametype;
    3133                romcount = lromcount;
    3234                allsystems = lallsystems;
     35                plot = lplot;
    3336                publisher = lpublisher;
    3437                version = lversion;
    3538            }
     
    4447                year = lhs.year;
    4548                favorite = lhs.favorite;
    4649                rompath = lhs.rompath;
     50                screenshot = lhs.screenshot;
    4751                fanart = lhs.fanart;
    4852                boxart = lhs.boxart;
    4953                country = lhs.country;
     
    5256                gametype = lhs.gametype;
    5357                romcount = lhs.romcount;
    5458                allsystems = lhs.allsystems;
     59                plot = lhs.plot;
    5560                publisher = lhs.publisher;
    5661                version = lhs.version;
    5762            }
     
    6368    QString Rompath() const { return rompath; }
    6469    void setRompath(const QString &lrompath) { rompath = lrompath; }
    6570
     71    QString Screenshot() const { return screenshot; }
     72    void setScreenshot(const QString &lscreenshot) { screenshot = lscreenshot; }
     73
    6674    QString Fanart() const { return fanart; }
    6775    void setFanart(const QString &lfanart) { fanart = lfanart; }
    6876
     
    102110    QString ImagePath() const { return imagepath; }
    103111    void setImagePath(const QString &limagepath) { imagepath = limagepath; }
    104112
     113    QString Plot() const { return plot; }
     114    void setPlot(const QString &lplot) { plot = lplot; }
     115
    105116    QString Publisher() const { return publisher; }
    106117    void setPublisher(const QString &lpublisher) { publisher = lpublisher; }
    107118
     
    130141    QString crc_value;
    131142    QString gametype;
    132143    QString allsystems;
     144    QString plot;
    133145    QString publisher;
    134146    QString version;
    135147    int romcount;
     
    137149    QString year;
    138150    bool favorite;
    139151    QString rompath;
     152    QString screenshot;
    140153    QString fanart;
    141154    QString boxart;
    142155};
  • mythgame/mythgame/gamedetails.cpp

     
    7575    handleText("year", m_romInfo->Year());
    7676    handleText("country", m_romInfo->Country());
    7777    handleText("publisher", m_romInfo->Publisher());
     78    handleText("plot", m_romInfo->Plot());
    7879    handleText("allsystems", m_romInfo->AllSystems());
    7980    handleImage("fanart", m_romInfo->Fanart());
    8081    handleImage("boxart", m_romInfo->Boxart());
    81     handleImage("gameimage", m_romInfo->ImagePath());
     82    handleImage("gameimage", m_romInfo->Screenshot());
    8283
    8384    return true;
    8485}
  • mythgame/mythgame/dbcheck.cpp

     
    1212
    1313#include "gamesettings.h"
    1414
    15 const QString currentDatabaseVersion = "1015";
     15const QString currentDatabaseVersion = "1016";
    1616
    1717static bool UpdateDBVersionNumber(const QString &newnumber)
    1818{
     
    397397            return false;
    398398    }
    399399
     400    if (dbver == "1015")
     401    {
     402        const QString updates[] = {
     403
     404"ALTER TABLE gamemetadata ADD screenshot VARCHAR(255) NOT NULL AFTER rompath,"
     405"ADD plot TEXT NOT NULL AFTER fanart;",
     406""
     407};
     408
     409        if (!performActualUpdate(updates, "1016", dbver))
     410            return false;
     411    }
     412
    400413    return true;
    401414}
  • mythgame/mythgame/gamedetails.h

     
    3636    MythUIText  *m_genre;
    3737    MythUIText  *m_year;
    3838    MythUIText  *m_country;
     39    MythUIText  *m_plot;
    3940    MythUIText  *m_publisher;
    4041    MythUIText  *m_allSystems;
    4142    MythUIImage *m_fanartImage;
  • mythgame/mythgame/gamesettings.cpp

     
    8686    return gc;
    8787}
    8888
     89HostLineEdit *GetScreenshotDir()
     90{
     91    HostLineEdit *gc = new HostLineEdit("mythgame.screenshotdir");
     92    gc->setLabel(QObject::tr("Directory where Game Screenshot is stored"));
     93    gc->setValue(GetConfDir() + "/MythGame/Screenshots");
     94    gc->setHelpText(QObject::tr("This directory will be the default browse "
     95                    "location when assigning screenshots."));
     96    return gc;
     97}
     98
    8999HostLineEdit *GetFanartDir()
    90100{
    91101    HostLineEdit *gc = new HostLineEdit("mythgame.fanartdir");
     
    116126    general->addChild(GameRemovalPrompt());
    117127    general->addChild(GameShowFileNames());
    118128    general->addChild(GameTreeView());
     129    general->addChild(GetScreenshotDir());
    119130    general->addChild(GetFanartDir());
    120131    general->addChild(GetBoxartDir());
    121132    addChild(general);