00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "packages_p.h"
00021
00022 #include <KConfigGroup>
00023 #include <KDesktopFile>
00024 #include <KLocale>
00025
00026 namespace Plasma
00027 {
00028
00029 PlasmoidPackage::PlasmoidPackage(QObject *parent)
00030 : Plasma::PackageStructure(parent, QString("Plasmoid"))
00031 {
00032 addDirectoryDefinition("images", "images", i18n("Images"));
00033 QStringList mimetypes;
00034 mimetypes << "image/svg+xml" << "image/png" << "image/jpeg";
00035 setMimetypes("images", mimetypes);
00036
00037 addDirectoryDefinition("config", "config/", i18n("Configuration Definitions"));
00038 mimetypes.clear();
00039 mimetypes << "text/xml";
00040 setMimetypes("config", mimetypes);
00041 setMimetypes("configui", mimetypes);
00042
00043 addDirectoryDefinition("ui", "ui", i18n("Executable Scripts"));
00044 setMimetypes("ui", mimetypes);
00045
00046 addDirectoryDefinition("scripts", "code", i18n("Executable Scripts"));
00047 mimetypes.clear();
00048 mimetypes << "text/*";
00049 setMimetypes("scripts", mimetypes);
00050
00051 addFileDefinition("mainconfiggui", "ui/config.ui", i18n("Main Config UI File"));
00052 addFileDefinition("mainconfigxml", "config/main.xml", i18n("Configuration XML file"));
00053 addFileDefinition("mainscript", "code/main", i18n("Main Script File"));
00054 setRequired("mainscript", true);
00055 }
00056
00057 void PlasmoidPackage::pathChanged()
00058 {
00059 KDesktopFile config(path() + "/metadata.desktop");
00060 KConfigGroup cg = config.desktopGroup();
00061 QString mainScript = cg.readEntry("X-Plasma-MainScript", QString());
00062 if (!mainScript.isEmpty()) {
00063 addFileDefinition("mainscript", mainScript, i18n("Main Script File"));
00064 setRequired("mainscript", true);
00065 }
00066 }
00067
00068 ThemePackage::ThemePackage(QObject *parent)
00069 : Plasma::PackageStructure(parent, QString("Plasma Theme"))
00070 {
00071 addDirectoryDefinition("dialogs", "dialogs/", i18n("Images for dialogs"));
00072 addFileDefinition("dialogs/background", "dialogs/background.svg",
00073 i18n("Generic dialog background"));
00074 addFileDefinition("dialogs/shutdowndialog", "dialogs/shutdowndialog.svg",
00075 i18n("Theme for the logout dialog"));
00076
00077 addDirectoryDefinition("wallpapers", "wallpapers/", "Wallpapers");
00078
00079 addDirectoryDefinition("widgets", "widgets/", i18n("Images for widgets"));
00080 addFileDefinition("widgets/background", "widgets/background.svg",
00081 i18n("Background image for plasmoids"));
00082 addFileDefinition("widgets/clock", "widgets/clock.svg",
00083 i18n("Analog clock face"));
00084 addFileDefinition("widgets/panel-background", "widgets/panel-background.svg",
00085 i18n("Background image for panels"));
00086 addFileDefinition("widgets/plot-background", "widgets/plot-background.svg",
00087 i18n("Background for graphing widgets"));
00088 addFileDefinition("widgets/tooltip", "widgets/tooltip.svg",
00089 i18n("Background image for tooltips"));
00090
00091 addDirectoryDefinition("opaque/dialogs", "opaque/dialogs/", i18n("Opaque images for dialogs"));
00092 addFileDefinition("opaque/dialogs/background", "opaque/dialogs/background.svg",
00093 i18n("Opaque generic dialog background"));
00094 addFileDefinition("opaque/dialogs/shutdowndialog", "opaque/dialogs/shutdowndialog.svg",
00095 i18n("Opaque theme for the logout dialog"));
00096
00097 addDirectoryDefinition("opaque/widgets", "opaque/widgets/", i18n("Opaque images for widgets"));
00098 addFileDefinition("opaque/widgets/panel-background", "opaque/widgets/panel-background.svg",
00099 i18n("Opaque background image for panels"));
00100 addFileDefinition("opaque/widgets/tooltip", "opaque/widgets/tooltip.svg",
00101 i18n("Opaque background image for tooltips"));
00102
00103 addDirectoryDefinition("locolor/dialogs", "locolor/dialogs/", i18n("Low color images for dialogs"));
00104 addFileDefinition("locolor/dialogs/background", "locolor/dialogs/background.svg",
00105 i18n("Low color generic dialog background"));
00106 addFileDefinition("locolor/dialogs/shutdowndialog", "locolor/dialogs/shutdowndialog.svg",
00107 i18n("Low color theme for the logout dialog"));
00108
00109 addDirectoryDefinition("locolor/widgets", "locolor/widgets/", i18n("Images for widgets"));
00110 addFileDefinition("locolor/widgets/background", "locolor/widgets/background.svg",
00111 i18n("Low color background image for plasmoids"));
00112 addFileDefinition("locolor/widgets/clock", "locolor/widgets/clock.svg",
00113 i18n("Low color analog clock face"));
00114 addFileDefinition("locolor/widgets/panel-background", "locolor/widgets/panel-background.svg",
00115 i18n("Low color background image for panels"));
00116 addFileDefinition("locolor/widgets/plot-background", "locolor/widgets/plot-background.svg",
00117 i18n("Low color background for graphing widgets"));
00118 addFileDefinition("locolor/widgets/tooltip", "locolor/widgets/tooltip.svg",
00119 i18n("Low color background image for tooltips"));
00120
00121 addFileDefinition("colors", "colors", i18n("KColorScheme configuration file"));
00122
00123 QStringList mimetypes;
00124 mimetypes << "image/svg+xml";
00125 setDefaultMimetypes(mimetypes);
00126 }
00127
00128 }
00129
00130 #include "packages_p.moc"
00131