krita
kis_factory.cc00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <config.h>
00021 #include LCMS_HEADER
00022
00023 #include <qstringlist.h>
00024 #include <qdir.h>
00025
00026 #include <kdebug.h>
00027 #include <kinstance.h>
00028 #include <kglobal.h>
00029 #include <klocale.h>
00030 #include <kstandarddirs.h>
00031 #include <kiconloader.h>
00032
00033 #include "kis_aboutdata.h"
00034 #include "kis_resourceserver.h"
00035 #include "kis_paintop_registry.h"
00036 #include "kis_filter_registry.h"
00037 #include "kis_tool_registry.h"
00038 #include "kis_doc.h"
00039 #include "kis_brush.h"
00040 #include "kis_imagepipe_brush.h"
00041 #include "kis_gradient.h"
00042 #include "kis_pattern.h"
00043 #include "kis_palette.h"
00044 #include <kogradientmanager.h>
00045
00046 #include "kis_factory.h"
00047
00048 KAboutData* KisFactory::s_aboutData = 0;
00049 KInstance* KisFactory::s_instance = 0;
00050
00051
00052
00053 KisFactory::KisFactory( QObject* parent, const char* name )
00054 : KoFactory( parent, name )
00055 {
00056 s_aboutData = newKritaAboutData();
00057
00058 (void)instance();
00059
00060
00061 KisToolRegistry::instance();
00062 KisPaintOpRegistry::instance();
00063 KisFilterRegistry::instance();
00064 KisResourceServerRegistry::instance();
00065
00066
00067
00068 }
00069
00070 KisFactory::~KisFactory()
00071 {
00072 delete s_aboutData;
00073 s_aboutData = 0L;
00074 delete s_instance;
00075 s_instance = 0L;
00076 }
00077
00081 KParts::Part* KisFactory::createPartObject( QWidget *parentWidget,
00082 const char *widgetName, QObject* parent,
00083 const char* name, const char* classname, const QStringList & )
00084 {
00085 bool bWantKoDocument = ( strcmp( classname, "KoDocument" ) == 0 );
00086
00087 KisDoc *doc = new KisDoc( parentWidget,
00088 widgetName, parent, name, !bWantKoDocument );
00089 Q_CHECK_PTR(doc);
00090
00091 if ( !bWantKoDocument )
00092 doc->setReadWrite( false );
00093
00094 return doc;
00095 }
00096
00097
00098 KAboutData* KisFactory::aboutData()
00099 {
00100 return s_aboutData;
00101 }
00102
00103 KInstance* KisFactory::instance()
00104 {
00105 QString homedir = getenv("HOME");
00106
00107 if ( !s_instance )
00108 {
00109 s_instance = new KInstance(s_aboutData);
00110 Q_CHECK_PTR(s_instance);
00111
00112 s_instance->dirs()->addResourceType("krita_template", KStandardDirs::kde_default("data") + "krita/templates");
00113
00114
00115 s_instance->dirs()->addResourceType("kis", KStandardDirs::kde_default("data") + "krita/");
00116
00117 s_instance->dirs()->addResourceType("kis_pics", KStandardDirs::kde_default("data") + "krita/pics/");
00118
00119 s_instance->dirs()->addResourceType("kis_images", KStandardDirs::kde_default("data") + "krita/images/");
00120
00121 s_instance->dirs()->addResourceType("toolbars", KStandardDirs::kde_default("data") + "koffice/toolbar/");
00122
00123
00124
00125 s_instance->dirs()->addResourceType("kis_brushes", KStandardDirs::kde_default("data") + "krita/brushes/");
00126 s_instance->dirs()->addResourceDir("kis_brushes", "/usr/share/create/brushes/gimp");
00127 s_instance->dirs()->addResourceDir("kis_brushes", QDir::homeDirPath() + QString("/.create/brushes/gimp"));
00128
00129 s_instance->dirs()->addResourceType("kis_patterns", KStandardDirs::kde_default("data") + "krita/patterns/");
00130 s_instance->dirs()->addResourceDir("kis_patterns", "/usr/share/create/patterns/gimp");
00131 s_instance->dirs()->addResourceDir("kis_patterns", QDir::homeDirPath() + QString("/.create/patterns/gimp"));
00132
00133 s_instance->dirs()->addResourceType("kis_gradients", KStandardDirs::kde_default("data") + "krita/gradients/");
00134 s_instance->dirs()->addResourceDir("kis_gradients", "/usr/share/create/gradients/gimp");
00135 s_instance->dirs()->addResourceDir("kis_gradients", QDir::homeDirPath() + QString("/.create/gradients/gimp"));
00136
00137 s_instance->dirs()->addResourceType("kis_profiles", KStandardDirs::kde_default("data") + "krita/profiles/");
00138 s_instance->dirs()->addResourceDir("kis_profiles", "/usr/share/color/icc");
00139 s_instance->dirs()->addResourceDir("kis_profiles", QDir::homeDirPath() + QString("/.icc"));
00140 s_instance->dirs()->addResourceDir("kis_profiles", QDir::homeDirPath() + QString("/.color/icc"));
00141
00142 s_instance->dirs()->addResourceType("kis_palettes", KStandardDirs::kde_default("data") + "krita/palettes/");
00143 s_instance->dirs()->addResourceDir("kis_palettes", "/usr/share/create/swatches");
00144 s_instance->dirs()->addResourceDir("kis_palettes", QDir::homeDirPath() + QString("/.create/swatches"));
00145
00146
00147 s_instance->iconLoader()->addAppDir("koffice");
00148 }
00149
00150 return s_instance;
00151 }
00152
00153 #include "kis_factory.moc"
|