construct a filename. Add number if already exists.
| 895 | |
| 896 | // construct a filename. Add number if already exists. |
| 897 | QString saveFileName_(const QUrl &url) |
| 898 | { |
| 899 | QString path = url.path(); |
| 900 | QString basename = QFileInfo(path).fileName(); |
| 901 | |
| 902 | if (basename.isEmpty()) |
| 903 | basename = "download"; |
| 904 | |
| 905 | if (QFile::exists(basename)) { |
| 906 | // already exists, don't overwrite |
| 907 | int i = 0; |
| 908 | basename += '.'; |
| 909 | while (QFile::exists(basename + QString::number(i))) |
| 910 | ++i; |
| 911 | |
| 912 | basename += QString::number(i); |
| 913 | } |
| 914 | |
| 915 | return basename; |
| 916 | } |
| 917 | |
| 918 | // static |
| 919 | void File::download(const std::string& url, const std::string& download_folder) |