Ignore:
Timestamp:
May 16, 2014, 9:51:55 AM (11 years ago)
Author:
Silvan Scherrer
Message:

SMPlayer: update trunk to latest 0.8.7

Location:
smplayer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • smplayer/trunk

  • smplayer/trunk/src/helper.cpp

    r142 r165  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
     2    Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    2525#include <QTextCodec>
    2626#include <QWidget>
     27//#include <QDebug>
    2728#include "config.h"
     29#include "extensions.h"
    2830
    2931#ifdef Q_OS_WIN
     
    9799                WCHAR shortName[max_path];
    98100
    99                 QString nativePath = QDir::convertSeparators(long_path);
     101                QString nativePath = QDir::toNativeSeparators(long_path);
    100102                int ret = GetShortPathNameW((LPCWSTR) nativePath.utf16(), shortName, max_path);
    101103                if (ret != ERROR_INVALID_PARAMETER && ret < MAX_PATH)
     
    149151        QDir dir(directory);
    150152        QStringList l = dir.entryList();
    151         bool valid = FALSE;
     153        bool valid = false;
    152154        for (int n=0; n < l.count(); n++) {
    153155                //qDebug("  * entry %d: '%s'", n, l[n].toUtf8().data());
    154                 if (l[n].toLower() == "video_ts") valid = TRUE;
     156                if (l[n].toLower() == "video_ts") valid = true;
    155157        }
    156158
     
    253255        return files_to_add;
    254256}
     257
     258QStringList Helper::filesInDirectory(const QString & initial_file, const QStringList & filter) {
     259        qDebug("Helper::filesInDirectory: initial_file: %s", initial_file.toUtf8().constData());
     260        //qDebug() << "Helper::filesInDirectory: filter:" << filter;
     261
     262        QFileInfo fi(initial_file);
     263        QString current_file = fi.fileName();
     264        QString path = fi.absolutePath();
     265
     266        QDir d(path);
     267        QStringList all_files = d.entryList(filter, QDir::Files);
     268
     269        QStringList r;
     270        for (int n = 0; n < all_files.count(); n++) {
     271                if (all_files[n] != current_file) {
     272                        QString s = path +"/" + all_files[n];
     273                        r << s;
     274                }
     275        }
     276
     277        //qDebug() << "Helper::filesInDirectory: result:" << r;
     278
     279        return r;
     280}
     281
     282QStringList Helper::filesForPlaylist(const QString & initial_file, Preferences::AutoAddToPlaylistFilter filter) {
     283        QStringList res;
     284
     285        if (filter == Preferences::ConsecutiveFiles) {
     286                res = searchForConsecutiveFiles(initial_file);
     287        } else {
     288                Extensions e;
     289                QStringList exts;
     290                switch (filter) {
     291                        case Preferences::VideoFiles: exts = e.video().forDirFilter(); break;
     292                        case Preferences::AudioFiles: exts = e.audio().forDirFilter(); break;
     293                        case Preferences::MultimediaFiles: exts = e.multimedia().forDirFilter(); break;
     294                        default: ;
     295                }
     296                if (!exts.isEmpty()) res = Helper::filesInDirectory(initial_file, exts);
     297        }
     298
     299        return res;
     300}
     301
     302#ifdef Q_OS_WIN
     303// Check for Windows shortcuts
     304QStringList Helper::resolveSymlinks(const QStringList & files) {
     305        QStringList list = files;
     306        for (int n=0; n < list.count(); n++) {
     307                QFileInfo fi(list[n]);
     308                if (fi.isSymLink()) {
     309                        list[n] = fi.symLinkTarget();
     310                }
     311        }
     312        return list;
     313}
     314#endif
Note: See TracChangeset for help on using the changeset viewer.