urlutils.cpp 983 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "urlutils.h"
  2. #include <QtCore>
  3. QString UrlUtils::toLocalFile(QUrl url) {
  4. // return url.toLocalFile(); // This will work soon...
  5. QString retval = url.toString(); // normally you don't do this.
  6. // strip off file://
  7. static QRegExp rx("^\\w{4,5}://(.*)$");
  8. int pos = rx.indexIn(retval);
  9. if (pos != -1) retval = rx.cap(1);
  10. // check for drive letters, strip off leading /
  11. static QRegExp rx2("^/([a-zA-Z]:/.*$)");
  12. pos = rx2.indexIn(retval);
  13. if (pos != -1) retval = rx2.cap(1);
  14. return retval;
  15. }
  16. QString UrlUtils::baseName(QUrl url) {
  17. QString path = toLocalFile(url);
  18. return baseName(path);
  19. }
  20. QString UrlUtils::baseName(QString path) {
  21. QFileInfo fi(path);
  22. return baseName(fi);
  23. }
  24. QString UrlUtils::baseName(QFileInfo fi) {
  25. return fi.completeBaseName();
  26. /* QString retval = fi.fileName();
  27. int idx = retval.lastIndexOf('.');
  28. if (idx != -1) return retval.left(idx);
  29. else return retval; */
  30. }