Browse Source

Fix compilation on Win32

Fixes to last commit(hide unwanted files)
adaptive-webui-19844
Christophe Dumez 14 years ago
parent
commit
759fe77e7f
  1. 23
      src/qtlibtorrent/qtorrenthandle.cpp
  2. 8
      src/torrentfilesmodel.h

23
src/qtlibtorrent/qtorrenthandle.cpp

@ -511,17 +511,27 @@ void QTorrentHandle::prioritize_files(const vector<int> &files) const {
if(prev_priorities[i] > 0 && files[i] == 0) { if(prev_priorities[i] > 0 && files[i] == 0) {
QString old_path = filepath_at(i); QString old_path = filepath_at(i);
QString old_name = filename_at(i); QString old_name = filename_at(i);
QDir parent_path(misc::branchPath(old_path)); QString parent_path = misc::branchPath(old_path);
if(parent_path.dirName() != ".unwanted") { if(parent_path.isEmpty() || QDir(parent_path).dirName() != ".unwanted") {
bool created = parent_path.mkdir(".unwanted"); QString unwanted_abspath = QDir::cleanPath(save_path()+"/"+parent_path+"/.unwanted");
qDebug() << "Unwanted path is" << unwanted_abspath;
bool created = QDir().mkpath(unwanted_abspath);
#ifdef Q_WS_WIN #ifdef Q_WS_WIN
qDebug() << "unwanted folder was created:" << created;
if(created) {
// Hide the folder on Windows // Hide the folder on Windows
DWORD dwAttrs = GetFileAttributes(parent_path.absolutePath().toLocal8Bit().data()); qDebug() << "Hiding folder (Windows)";
SetFileAttributes(parent_path.absolutePath().toLocal8Bit().data(), dwAttrs|FILE_ATTRIBUTE_HIDDEN); wstring win_path = unwanted_abspath.replace("/","\\").toStdWString();
DWORD dwAttrs = GetFileAttributesW(win_path.c_str());
bool ret = SetFileAttributesW(win_path.c_str(), dwAttrs|FILE_ATTRIBUTE_HIDDEN);
Q_ASSERT(ret != 0); Q_UNUSED(ret);
}
#else #else
Q_UNUSED(created); Q_UNUSED(created);
#endif #endif
rename_file(i, parent_path.filePath(".unwanted/"+old_name)); if(!parent_path.isEmpty() && !parent_path.endsWith("/"))
parent_path += "/";
rename_file(i, parent_path+".unwanted/"+old_name);
} }
} }
// Move wanted files back to their original folder // Move wanted files back to their original folder
@ -607,6 +617,7 @@ void QTorrentHandle::prioritize_first_last_piece(bool b) const {
} }
void QTorrentHandle::rename_file(int index, QString name) const { void QTorrentHandle::rename_file(int index, QString name) const {
qDebug() << Q_FUNC_INFO << index << name;
torrent_handle::rename_file(index, std::string(name.toUtf8().constData())); torrent_handle::rename_file(index, std::string(name.toUtf8().constData()));
} }

8
src/torrentfilesmodel.h

@ -169,6 +169,7 @@ public:
} }
void setProgress(qulonglong done) { void setProgress(qulonglong done) {
if(getPriority() == 0) return;
total_done = done; total_done = done;
qulonglong size = getSize(); qulonglong size = getSize();
Q_ASSERT(total_done <= size); Q_ASSERT(total_done <= size);
@ -188,6 +189,8 @@ public:
} }
float getProgress() const { float getProgress() const {
if(getPriority() == 0)
return 0.;
qulonglong size = getSize(); qulonglong size = getSize();
if(size > 0) if(size > 0)
return total_done/(float)getSize(); return total_done/(float)getSize();
@ -216,6 +219,11 @@ public:
const int old_prio = getPriority(); const int old_prio = getPriority();
if(old_prio == new_prio) return; if(old_prio == new_prio) return;
qDebug("setPriority(%s, %d)", qPrintable(getName()), new_prio); qDebug("setPriority(%s, %d)", qPrintable(getName()), new_prio);
// Reset progress if priority is 0
if(new_prio == 0) {
setProgress(0);
}
itemData.replace(COL_PRIO, new_prio); itemData.replace(COL_PRIO, new_prio);
// Update parent // Update parent

Loading…
Cancel
Save