Ticket #1760: 1760-v1.patch

File 1760-v1.patch, 12.7 KB (added by danielk, 18 years ago)

Updated patch

  • mythgallery/glsingleview.cpp

     
    4242#define LOC QString("GLXDialog: ")
    4343#define LOC_ERR QString("GLXDialog, Error: ")
    4444
    45 GLSDialog::GLSDialog(const ThumbList& itemList, int pos, int slideShow,
     45GLSDialog::GLSDialog(const ThumbList& itemList,
     46                     int pos, int slideShow, int sortOrder,
    4647                     MythMainWindow *parent, const char *name)
    4748    : MythDialog(parent, name)
    4849{
    4950    QBoxLayout *l = new QVBoxLayout(this);
    50     m_view = new GLSingleView(itemList, pos, slideShow, this);
     51    m_view = new GLSingleView(itemList, pos, slideShow, sortOrder, this);
    5152    l->addWidget(m_view);
    5253
    5354    setFocusProxy(m_view);
     
    6364    e->accept();
    6465}
    6566
    66 GLSingleView::GLSingleView(ThumbList itemList, int pos, int slideShow, 
    67                            QWidget *parent)
     67GLSingleView::GLSingleView(ThumbList itemList, int pos, int slideShow,
     68                           int sortorder, QWidget *parent)
    6869    : QGLWidget(parent)
    6970{
    7071    m_pos      = pos;
     
    9495        {
    9596            if (recurse)
    9697            {
    97                 GalleryUtil::loadDirectory(m_itemList, item->path,
     98                GalleryUtil::loadDirectory(m_itemList, item->path, sortorder,
    9899                                           recurse, NULL, NULL);
    99100            }
    100101            m_itemList.remove(item);
  • mythgallery/galleryutil.h

     
    3131
    3232    static QString getCaption(const QString &filePath);
    3333
    34     static bool loadDirectory(ThumbList& itemList,
    35                               const QString& dir, bool recurse,
     34    static bool loadDirectory(ThumbList& itemList, const QString& dir,
     35                              int sortorder, bool recurse,
    3636                              ThumbDict *itemDict, ThumbGenerator* thumbGen);
    3737
    3838    static bool CopyMove(const QFileInfo &src, QFileInfo &dst, bool move)
  • mythgallery/glsingleview.h

     
    3737{
    3838public:
    3939   
    40     GLSDialog(const ThumbList& itemList, int pos, int slideShow,
     40    GLSDialog(const ThumbList& itemList,
     41              int pos, int slideShow, int sortOrder,
    4142              MythMainWindow *parent, const char *name=0);
    4243
    4344protected:
     
    5556
    5657public:
    5758
    58     GLSingleView(ThumbList itemList, int pos, int slideShow, QWidget *parent);
     59    GLSingleView(ThumbList itemList, int pos, int slideShow, int sordorder,
     60                 QWidget *parent);
    5961    ~GLSingleView();
    6062
    6163    void cleanUp();
  • mythgallery/singleview.cpp

     
    3535#include "galleryutil.h"
    3636
    3737SingleView::SingleView(ThumbList itemList, int pos, int slideShow,
    38                        MythMainWindow *parent, const char *name )
     38                       int sortorder, MythMainWindow *parent, const char *name)
    3939    : MythDialog(parent, name)
    4040{
    4141    m_itemList  = itemList;
     
    5353        ThumbItem* next = m_itemList.next();
    5454        if (item->isDir) {
    5555            if (recurse)
    56                 GalleryUtil::loadDirectory(m_itemList, item->path, recurse, NULL, NULL);
     56                GalleryUtil::loadDirectory(m_itemList, item->path, sortorder,
     57                                           recurse, NULL, NULL);
    5758            m_itemList.remove(item);
    5859        }
    5960        item = next;
  • mythgallery/gallerysettings.cpp

     
    3030    return gc;
    3131};
    3232
     33static HostComboBox *MythGallerySortOrder()
     34{
     35    HostComboBox *gc = new HostComboBox("GallerySortOrder");
     36    gc->setLabel(QObject::tr("Sort order when browsing"));
     37    gc->addSelection("Name (A-Z alpha)", QString::number(QDir::Name | QDir::DirsFirst | QDir::IgnoreCase));
     38    gc->addSelection("Reverse Name (Z-A alpha)", QString::number(QDir::Name | QDir::DirsFirst | QDir::IgnoreCase | QDir::Reversed));
     39    gc->addSelection("Mod Time (earliest first)", QString::number(QDir::Time | QDir::DirsFirst | QDir::IgnoreCase | QDir::Reversed));
     40    gc->addSelection("Reverse Mod Time (most recent first)", QString::number(QDir::Time | QDir::DirsFirst | QDir::IgnoreCase));
     41    gc->setHelpText(QObject::tr("This is the sort order for the displayed "
     42                    "picture thumbnails."));
     43    return gc;
     44};
     45
    3346static HostLineEdit *MythGalleryMoviePlayerCmd()
    3447{
    3548    HostLineEdit *gc = new HostLineEdit("GalleryMoviePlayerCmd");
     
    161174
    162175        addChild(MythGalleryDir());
    163176        addChild(MythGalleryThumbnailLocation());
     177        addChild(MythGallerySortOrder());
    164178        addChild(MythGalleryImportDirs());
    165179        addChild(MythGalleryMoviePlayerCmd());
    166180
  • mythgallery/singleview.h

     
    3232   
    3333public:
    3434
    35     SingleView(ThumbList itemList, int pos, int slideShow,
     35    SingleView(ThumbList itemList, int pos, int slideShow, int sortorder,
    3636               MythMainWindow *parent, const char *name=0);
    3737    ~SingleView();
    3838
  • mythgallery/iconview.cpp

     
    9191    return false;
    9292}
    9393
    94 IconView::IconView(const QString& galleryDir, MythMediaDevice *initialDevice,
    95                    MythMainWindow* parent, const char* name )
    96     : MythDialog(parent, name)
     94IconView::IconView(const QString &galleryDir, MythMediaDevice *initialDevice,
     95                   const int sortorder, MythMainWindow *parent,
     96                   const char *name)
     97    : MythDialog(parent, name),
     98      m_galleryDir(galleryDir), m_sortorder(sortorder)
    9799{
    98     m_galleryDir = galleryDir;   
    99 
    100100    m_inMenu     = false;
    101101    m_inSubMenu  = false;
    102102    m_itemList.setAutoDelete(true);
     
    531531
    532532                        if (QGLFormat::hasOpenGL())
    533533                        {
    534                             GLSDialog gv(m_itemList, pos, slideShow,
     534                            GLSDialog gv(m_itemList, pos,
     535                                         slideShow, m_sortorder,
    535536                                         gContext->GetMainWindow());
    536537                            gv.exec();
    537538                        }
     
    546547                    else
    547548#endif
    548549                    {
    549                         SingleView sv(m_itemList, pos, slideShow,
     550                        SingleView sv(m_itemList, pos, slideShow, m_sortorder,
    550551                                      gContext->GetMainWindow());
    551552                        sv.exec();
    552553                    }                         
     
    874875    m_lastRow = 0;
    875876    m_lastCol = 0;
    876877
    877     m_isGallery = GalleryUtil::loadDirectory(m_itemList, dir, false, &m_itemDict, m_thumbGen);;
     878    m_isGallery = GalleryUtil::loadDirectory(m_itemList, dir, m_sortorder,
     879                                             false, &m_itemDict, m_thumbGen);
    878880    m_lastRow = QMAX((int)ceilf((float)m_itemList.count()/(float)m_nCols)-1,0);
    879881    m_lastCol = QMAX(m_itemList.count()-m_lastRow*m_nCols-1,0);
    880882
     
    11821184    int useOpenGL = gContext->GetNumSetting("SlideshowUseOpenGL");
    11831185    if (useOpenGL) {
    11841186        if (QGLFormat::hasOpenGL()) {
    1185             GLSDialog gv(m_itemList, pos, 1, gContext->GetMainWindow());
     1187            GLSDialog gv(m_itemList, pos, 1, m_sortorder,
     1188                         gContext->GetMainWindow());
    11861189            gv.exec();
    11871190        }
    11881191        else {
     
    11941197    else
    11951198#endif
    11961199    {
    1197         SingleView sv(m_itemList, pos, 1, gContext->GetMainWindow());
     1200        SingleView sv(m_itemList, pos, 1, m_sortorder,
     1201                      gContext->GetMainWindow());
    11981202        sv.exec();
    11991203    }                         
    12001204}
     
    12131217    int useOpenGL = gContext->GetNumSetting("SlideshowUseOpenGL");
    12141218    if (useOpenGL) {
    12151219        if (QGLFormat::hasOpenGL()) {
    1216             GLSDialog gv(m_itemList, pos, 2, gContext->GetMainWindow());
     1220            GLSDialog gv(m_itemList, pos, 2, m_sortorder,
     1221                         gContext->GetMainWindow());
    12171222            gv.exec();
    12181223        }
    12191224        else {
     
    12251230    else
    12261231#endif
    12271232    {
    1228         SingleView sv(m_itemList, pos, 2, gContext->GetMainWindow());
     1233        SingleView sv(m_itemList, pos, 2, m_sortorder,
     1234                      gContext->GetMainWindow());
    12291235        sv.exec();
    12301236    }                         
    12311237}
     
    14511457        return;
    14521458
    14531459    d.setNameFilter(MEDIA_FILENAMES);
    1454     d.setSorting(QDir::Name | QDir::DirsFirst | QDir::IgnoreCase);
     1460    d.setSorting(m_sortorder);
    14551461    d.setFilter(QDir::Files | QDir::Dirs | QDir::NoSymLinks  | QDir::Readable);
    14561462    d.setMatchAllDirs(true);
    14571463    const QFileInfoList *list = d.entryInfoList();
  • mythgallery/main.cpp

     
    2525void runGallery(void)
    2626{
    2727    gContext->addCurrentLocation("mythgallery");
     28    int sortorder = gContext->GetNumSetting("GallerySortOrder");
    2829    QString startdir = gContext->GetSetting("GalleryDir");
    2930    QDir dir(startdir);
    3031    if (!dir.exists() || !dir.isReadable()) {
     
    3637    }
    3738    else
    3839    {
    39         IconView icv(startdir, NULL, gContext->GetMainWindow(), "IconView");
     40        IconView icv(startdir, NULL, sortorder,
     41                     gContext->GetMainWindow(), "IconView");
    4042        icv.exec();
    4143    }
    4244    gContext->removeCurrentLocation();
     
    4446
    4547void handleMedia(MythMediaDevice *dev)
    4648{
     49    int sortorder = gContext->GetNumSetting("GallerySortOrder");
    4750    QString galleryDir = gContext->GetSetting("GalleryDir");
    4851    QDir dir(galleryDir);
    4952    if (!dir.exists() || !dir.isReadable())
     
    5659    }
    5760    else
    5861    {
    59         IconView icv(galleryDir, dev, gContext->GetMainWindow(), "IconView");
     62        IconView icv(galleryDir, dev, sortorder,
     63                     gContext->GetMainWindow(), "IconView");
    6064        icv.exec();
    6165    }
    6266}
  • mythgallery/iconview.h

     
    6565{
    6666    Q_OBJECT
    6767  public:
    68     IconView(const QString& galleryDir, MythMediaDevice *initialDevice,
    69              MythMainWindow* parent, const char* name = 0);
     68    IconView(const QString &galleryDir, MythMediaDevice *initialDevice,
     69             int sortorder, MythMainWindow *parent, const char *name = 0);
    7070    ~IconView();
    7171
    7272  protected:
     
    122122    QDict<ThumbItem>    m_itemDict;
    123123    QStringList         m_itemMarked;
    124124    QString             m_galleryDir;
     125    int                 m_sortorder;
    125126
    126127    XMLParse           *m_theme;
    127128    QRect               m_menuRect;
  • mythgallery/galleryutil.cpp

     
    137137    return rotateAngle;
    138138}
    139139
    140 bool GalleryUtil::loadDirectory(ThumbList& itemList,
    141                                 const QString& dir, bool recurse,
     140bool GalleryUtil::loadDirectory(ThumbList& itemList, const QString& dir,
     141                                int sortorder, bool recurse,
    142142                                ThumbDict *itemDict, ThumbGenerator* thumbGen)
    143143{
    144144    QString blah = dir;
     
    157157        thumbGen->getThumbcacheDir(currDir);
    158158
    159159    d.setNameFilter(MEDIA_FILENAMES);
    160     d.setSorting(QDir::Name | QDir::DirsFirst | QDir::IgnoreCase);
     160    d.setSorting(sortorder);
    161161
    162162    d.setMatchAllDirs(true);
    163163    const QFileInfoList *list = d.entryInfoList();
     
    188188
    189189        if (fi->isDir() && recurse)
    190190        {
    191             GalleryUtil::loadDirectory(itemList,
    192                                        QDir::cleanDirPath(fi->absFilePath()), true,
    193                                       itemDict, thumbGen);
     191            GalleryUtil::loadDirectory(
     192                itemList, QDir::cleanDirPath(fi->absFilePath()),
     193                sortorder, true, itemDict, thumbGen);
    194194        }
    195195        else
    196196        {