1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
#include "../src/extensions.h"
#include "../src/version.h"
#include <QString>
#include <stdio.h>
void print_stringlist(const QStringList & l, int spaces) {
QString sp;
sp.fill(QChar(' '), spaces);
foreach(QString v, l) {
QString s = sp + v;
printf("%s\n", s.toLatin1().constData());
}
}
void print_string(const QString & s, int spaces = 4) {
print_stringlist(QStringList() << s, spaces);
}
void print_key(const QString & key, const QString & value, int spaces = 4) {
print_stringlist(QStringList() << QString("<key>%1</key>").arg(key) << QString("<string>%1</string>").arg(value), spaces);
}
void print_list(const QString & name, const QStringList & list, const QString & icon_name, int spaces = 4) {
print_stringlist(QStringList()
<< "<dict>", spaces);
print_stringlist(QStringList()
<< "<key>CFBundleTypeIconFile</key>"
<< QString("<string>%1</string>").arg(icon_name)
<< "<key>CFBundleTypeName</key>"
<< QString("<string>%1</string>").arg(name)
<< "<key>CFBundleTypeRole</key>"
<< "<string>Viewer</string>"
<< "<key>LSTypeIsPackage</key>"
<< "<false/>"
<< "<key>NSPersistentStoreTypeKey</key>"
<< "<string>XML</string>"
<< "<key>CFBundleTypeExtensions</key>"
<< "<array>", spaces + 4);
foreach (QString v, list) {
print_string( QString("<string>%1</string>").arg(v), spaces + 8);
}
print_string("</array>", spaces + 4);
print_string("</dict>", spaces);
}
int main( int argc, char ** argv )
{
Q_UNUSED(argc);
Q_UNUSED(argv);
printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
"<plist version=\"1.0\">\n"
"<dict>\n");
print_key("CFBundleDevelopmentRegion", "English");
printf(" <key>CFBundleDocumentTypes</key>\n <array>\n");
Extensions e;
print_list("Video file", e.video(), "smplayer-document.icns");
print_list("Audio file", e.audio(), "smplayer-document.icns");
printf(" </array>\n");
print_key("CFBundleExecutable", "smplayer");
print_key("CFBundleHomepage", "https://www.smplayer.info");
print_key("CFBundleIconFile", "smplayer.icns");
print_key("CFBundleIdentifier", "info.smplayer.SMPlayer");
print_key("CFBundleInfoDictionaryVersion", "6.0");
print_key("CFBundleName", "SMPlayer");
print_key("CFBundlePackageType", "APPL");
print_key("CFBundleShortVersionString", Version::stable());
printf("</dict>\n</plist>\n");
return 0;
}
|