Ticket #1760: mythgallery.diff

File mythgallery.diff, 3.9 KB (added by ho_9@…, 19 years ago)

diff for enhancement to add sort order

  • gallerysettings.cpp

    diff -u mythgallery/gallerysettings.cpp mythgallery_mods/gallerysettings.cpp
    old new  
    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
  • iconview.cpp

    diff -u mythgallery/iconview.cpp mythgallery_mods/iconview.cpp
    old new  
    9292}
    9393
    9494IconView::IconView(const QString& galleryDir, MythMediaDevice *initialDevice,
    95                    MythMainWindow* parent, const char* name )
     95                   const int& sortorder, MythMainWindow* parent,
     96                   const char* name )
    9697    : MythDialog(parent, name)
    9798{
    98     m_galleryDir = galleryDir;   
     99    m_galleryDir = galleryDir;
     100    m_sortorder  = sortorder;
    99101
    100102    m_inMenu     = false;
    101103    m_inSubMenu  = false;
     
    14501452        return;
    14511453
    14521454    d.setNameFilter(MEDIA_FILENAMES);
    1453     d.setSorting(QDir::Name | QDir::DirsFirst | QDir::IgnoreCase);
     1455    d.setSorting(m_sortorder);
    14541456    d.setFilter(QDir::Files | QDir::Dirs | QDir::NoSymLinks  | QDir::Readable);
    14551457    d.setMatchAllDirs(true);
    14561458    const QFileInfoList *list = d.entryInfoList();
  • iconview.h

    diff -u mythgallery/iconview.h mythgallery_mods/iconview.h
    old new  
    6666    Q_OBJECT
    6767  public:
    6868    IconView(const QString& galleryDir, MythMediaDevice *initialDevice,
    69              MythMainWindow* parent, const char* name = 0);
     69             const int& sortorder, MythMainWindow* parent,
     70             const char* name = 0);
    7071    ~IconView();
    7172
    7273  protected:
     
    122123    QDict<ThumbItem>    m_itemDict;
    123124    QStringList         m_itemMarked;
    124125    QString             m_galleryDir;
     126    int                 m_sortorder;
    125127
    126128    XMLParse           *m_theme;
    127129    QRect               m_menuRect;
  • main.cpp

    diff -u mythgallery/main.cpp mythgallery_mods/main.cpp
    old new  
    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, gContext->GetMainWindow(), "IconView");
    4041        icv.exec();
    4142    }
    4243    gContext->removeCurrentLocation();