static DownloadManager *downloadManagerInstance = 0;
-DownloadManager::DownloadManager(QObject *parent) :
+DownloadManager::DownloadManager(QWidget *parent) :
QObject(parent),
downloadModel(new DownloadModel(this, this))
{ }
#ifdef APP_DEMO
if (video->duration() >= 60*4) {
- QMessageBox msgBox;
+ QMessageBox msgBox(dynamic_cast<QWidget*>(parent())->window());
msgBox.setIconPixmap(QPixmap(":/images/app.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation));
- msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::APP_NAME));
+ msgBox.setText(tr("This is just the demo version of %1.").arg(Constants::NAME));
msgBox.setInformativeText(
tr("It can only download videos shorter than %1 minutes so you can test the download functionality.")
.arg(4));
msgBox.setModal(true);
+ // make it a "sheet" on the Mac
+ msgBox.setWindowModality(Qt::WindowModal);
- QPushButton *quitButton = msgBox.addButton(tr("Continue"), QMessageBox::RejectRole);
+ msgBox.addButton(tr("Continue"), QMessageBox::RejectRole);
QPushButton *buyButton = msgBox.addButton(tr("Get the full version"), QMessageBox::ActionRole);
msgBox.exec();
if (msgBox.clickedButton() == buyButton) {
- QDesktopServices::openUrl(QString(Constants::WEBSITE) + "#download");
+ QDesktopServices::openUrl(QUrl(QString(Constants::WEBSITE) + "#download"));
}
return;
QString path = currentDownloadFolder();
// TODO ensure all chars are filename compatible
- QString basename = video->title().simplified();
+ QString basename = video->title();
basename.replace('(', '[');
basename.replace(')', ']');
- basename.replace('/', '-');
- basename.replace('\\', '-');
+ basename.replace('/', ' ');
+ basename.replace('\\', ' ');
+ basename.replace('<', ' ');
+ basename.replace('>', ' ');
+ basename.replace(':', ' ');
+ basename.replace('"', ' ');
+ basename.replace('|', ' ');
+ basename.replace('?', ' ');
+ basename.replace('*', ' ');
+ basename = basename.simplified();
+
QString filename = path + "/" + basename + ".mp4";
Video *videoCopy = video->clone();
if (!moviesDir.exists()) {
// fallback to Desktop
path = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
+
+ QDir desktopDir(path);
+ if (!desktopDir.exists()) {
+ // fallback to Home
+ path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
+ }
}
return path;
}