+ fileName = FileOperator::shortenPath(name);
+ emit updateProgress(this, 0);
+}
+
+
+void FileManipulatorThread::setText(int value) {
+ if (progressBar->value() + value > progressBar->maximum()) {
+ std::cout << "WARNING, EXCEEDING MAXIMUM BY " << value << std::endl;
+ }
+
+ time_t now = time(0);
+ if (lastTimeUpdate < now) {
+ lastTimeUpdate = now;
+
+ time_t elapsed = now - startTime;
+ time_t remaining = (time_t) ((float) elapsed / barValue * (barSize - barValue));
+ struct tm *ts = gmtime(&remaining);
+
+ if (remaining < 60) {
+ strftime(timeBuf, sizeof(timeBuf), "%Ss", ts);
+ } else if (remaining < 3600) {
+ strftime(timeBuf, sizeof(timeBuf), "%M:%S", ts);
+ } else {
+ strftime(timeBuf, sizeof(timeBuf), "%H:%M:%S", ts);
+ }
+ }
+
+ progressBar->setFormat(barText.arg(fileName) + "\n%p% ETA " + timeBuf);
+ progressBar->setValue(progressBar->value() + value);
+}
+
+
+DeleteThread::DeleteThread(const QFileInfoList &files) : FileManipulatorThread(files) {
+ barText = tr("deleting %1");