void Rails::setupRoute(bool bitFlag, const Common::Point &srcPos, const Common::Point &destPos) { // Reset the nodes in as being inactive for (uint i = 0; i < _nodes.size(); ++i) _nodes[i]._active = false; // Set the two extra walk nodes to the start and destination positions setNodePosition(_nodes.size() - 2, srcPos); setNodePosition(_nodes.size() - 1, destPos); // Start constructing route node list _routeLength = 0x3FFF; _routeIndexes.clear(); // Recursively form a route from the destination walk node back to the player's position setupRouteNode(&_tempRoute[0], _nodes.size() - 1, bitFlag ? 0xC000 : 0x8000, 0); _next = 0; if (_routeIndexes.size() > 0) { Common::Point currPos = srcPos; for (int routeCtr = size() - 1; (routeCtr >= 0) && !_next; --routeCtr) { int idx = _routeIndexes[routeCtr]; const Common::Point &pt = _nodes[idx]._walkPos; _next = scanPath(currPos, pt); currPos = pt; } } }
void MadsPlayer::setDest(int destX, int destY, int facing) { resetActionList(); setTicksAmount(); _moving = true; _destFacing = facing; _madsVm->scene()->getSceneResources().setRouteNode(_madsVm->scene()->getSceneResources()._nodes.size() - 2, _playerPos, _madsVm->scene()->_depthSurface); _madsVm->scene()->getSceneResources().setRouteNode(_madsVm->scene()->getSceneResources()._nodes.size() - 1, Common::Point(destX, destY), _madsVm->scene()->_depthSurface); bool v = _madsVm->scene()->getDepthHighBit(Common::Point(destX, destY)); setupRoute(v); _next = 0; if (_routeCount > 0) { Common::Point srcPos = _playerPos; for (int routeCtr = _routeCount - 1; (routeCtr >= 0) && (_next == 0); --routeCtr) { int idx = _routeIndexes[routeCtr]; const Common::Point &pt = _madsVm->scene()->getSceneResources()._nodes[idx].pt; _next = scanPath(_madsVm->scene()->_depthSurface, srcPos, pt); srcPos = pt; } } }
QFileInfoList scanPath( const QDir& dir ) { QFileInfoList il; if ( dir.exists() ) { QStringList filter; filter << "*.avi" << "*.mpg" << "*.mpeg" << "*.mov" << "*.mp4" << "*.flv" << "*.mkv" << "*.wmv"; qDebug() << "Scanning:" << dir.absolutePath(); il << dir.entryInfoList( filter, QDir::Files | QDir::NoDotAndDotDot ); foreach ( const QFileInfo& f, il ) qDebug() << "\tAdded:" << f.absoluteFilePath(); QFileInfoList dirs = dir.entryInfoList( QDir::Dirs | QDir::NoDotAndDotDot ); foreach ( const QFileInfo& d, dirs ) { il << scanPath( d.absoluteFilePath() ); }
void UBFeaturesComputingThread::scanFS(const QUrl & currentPath, const QString & currVirtualPath, const QSet<QUrl> &pFavoriteSet) { // Q_ASSERT(QFileInfo(currentPath.toLocalFile()).exists()); // if(QFileInfo(currentPath.toLocalFile()).exists()) // return; QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(currentPath.toLocalFile()); QFileInfoList::iterator fileInfo; for ( fileInfo = fileInfoList.begin(); fileInfo != fileInfoList.end(); fileInfo += 1) { if (abort) { return; } QString fullFileName = fileInfo->absoluteFilePath(); UBFeatureElementType featureType = UBFeaturesController::fileTypeFromUrl(fullFileName); QString fileName = fileInfo->fileName(); QImage icon = UBFeaturesController::getIcon(fullFileName, featureType); if ( fullFileName.contains(".thumbnail.")) continue; UBFeature testFeature(currVirtualPath + "/" + fileName, icon, fileName, QUrl::fromLocalFile(fullFileName), featureType); emit sendFeature(testFeature); emit featureSent(); emit scanPath(fullFileName); if ( pFavoriteSet.find(QUrl::fromLocalFile(fullFileName)) != pFavoriteSet.end()) { //TODO send favoritePath from the controller or make favoritePath public and static emit sendFeature(UBFeature( UBFeaturesController::favoritePath + "/" + fileName, icon, fileName, QUrl::fromLocalFile(fullFileName), featureType)); } if (featureType == FEATURE_FOLDER) { scanFS(QUrl::fromLocalFile(fullFileName), currVirtualPath + "/" + fileName, pFavoriteSet); } } }
UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name) : UBDockPaletteWidget(parent) , imageGatherer(NULL) { setObjectName(name); mName = "FeaturesWidget"; mVisibleState = true; SET_STYLE_SHEET(); mIconToLeft = QPixmap(":images/library_open.png"); mIconToRight = QPixmap(":images/library_close.png"); setAcceptDrops(true); //Main UBFeature functionality controller = new UBFeaturesController(this); //Main layout including all the widgets in palette layout = new QVBoxLayout(this); //Path icon view on the top of the palette pathListView = new UBFeaturesListView(this, objNamePathList); controller->assignPathListView(pathListView); centralWidget = new UBFeaturesCentralWidget(this); controller->assignFeaturesListView(centralWidget->listView()); centralWidget->setSliderPosition(UBSettings::settings()->featureSliderPosition->get().toInt()); //Bottom actionbar for DnD, quick search etc mActionBar = new UBFeaturesActionBar(controller, this); //Filling main layout layout->addWidget(pathListView); layout->addWidget(centralWidget); layout->addWidget(mActionBar); connect(centralWidget->listView(), SIGNAL(clicked(const QModelIndex &)), this, SLOT(currentSelected(const QModelIndex &))); connect(this, SIGNAL(sendFileNameList(QStringList)), centralWidget, SIGNAL(sendFileNameList(QStringList))); connect(mActionBar, SIGNAL(searchElement(const QString &)), this, SLOT( searchStarted(const QString &))); connect(mActionBar, SIGNAL(newFolderToCreate()), this, SLOT(createNewFolder())); connect(mActionBar, SIGNAL(deleteElements(const UBFeaturesMimeData *)), this, SLOT(deleteElements(const UBFeaturesMimeData *))); connect(mActionBar, SIGNAL(deleteSelectedElements()), this, SLOT(deleteSelectedElements())); connect(mActionBar, SIGNAL(addToFavorite(const UBFeaturesMimeData *)), this, SLOT(addToFavorite(const UBFeaturesMimeData *))); connect(mActionBar, SIGNAL(removeFromFavorite(const UBFeaturesMimeData *)), this, SLOT(removeFromFavorite(const UBFeaturesMimeData *))); connect(mActionBar, SIGNAL(addElementsToFavorite() ), this, SLOT ( addElementsToFavorite()) ); connect(mActionBar, SIGNAL(removeElementsFromFavorite()), this, SLOT (removeElementsFromFavorite())); connect(mActionBar, SIGNAL(rescanModel()), this, SLOT(rescanModel())); connect(pathListView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(currentSelected(const QModelIndex &))); connect(UBApplication::boardController, SIGNAL(displayMetadata(QMap<QString,QString>)), this, SLOT(onDisplayMetadata( QMap<QString,QString>))); connect(UBDownloadManager::downloadManager(), SIGNAL( addDownloadedFileToLibrary( bool, QUrl, QString, QByteArray, QString)) , this, SLOT(onAddDownloadedFileToLibrary(bool, QUrl, QString,QByteArray, QString))); connect(centralWidget, SIGNAL(lockMainWidget(bool)), this, SLOT(lockIt(bool))); connect(centralWidget, SIGNAL(createNewFolderSignal(QString)), controller, SLOT(addNewFolder(QString))); connect(controller, SIGNAL(scanStarted()), centralWidget, SLOT(scanStarted())); connect(controller, SIGNAL(scanFinished()), centralWidget, SLOT(scanFinished())); connect(controller, SIGNAL(scanStarted()), mActionBar, SLOT(lockIt())); connect(controller, SIGNAL(scanFinished()), mActionBar, SLOT(unlockIt())); connect(controller, SIGNAL(maxFilesCountEvaluated(int)), centralWidget, SIGNAL(maxFilesCountEvaluated(int))); connect(controller, SIGNAL(featureAddedFromThread()), centralWidget, SIGNAL(increaseStatusBarValue())); connect(controller, SIGNAL(scanCategory(QString)), centralWidget, SIGNAL(scanCategory(QString))); connect(controller, SIGNAL(scanPath(QString)), centralWidget, SIGNAL(scanPath(QString))); }