fb2utils.cpp 926 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "fb2utils.h"
  2. #include <QApplication>
  3. #include <QDir>
  4. #include <QFile>
  5. #include <QFileInfo>
  6. #include <QTextStream>
  7. static QIcon loadIcon(const QString &name)
  8. {
  9. QIcon icon;
  10. icon.addFile(QString(":/24x24/%1.png").arg(name), QSize(24,24));
  11. icon.addFile(QString(":/16x16/%1.png").arg(name), QSize(16,16));
  12. return icon;
  13. }
  14. FbIcon::FbIcon(const QString &name)
  15. : QIcon(fromTheme(name, loadIcon(name)))
  16. {
  17. }
  18. QString jScript(const QString &filename)
  19. {
  20. QString filepath = ":/js/" + filename;
  21. // TODO: throw an exception instead of
  22. // returning an empty string
  23. QFile file( filepath );
  24. if (!file.open(QFile::ReadOnly)) return QString();
  25. QTextStream in( &file );
  26. // Input should be UTF-8
  27. in.setCodec( "UTF-8" );
  28. // This will automatically switch reading from
  29. // UTF-8 to UTF-16 if a BOM is detected
  30. in.setAutoDetectUnicode( true );
  31. return in.readAll();
  32. }