-rw-r--r-- | microkde/kresources/factory.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/microkde/kresources/factory.cpp b/microkde/kresources/factory.cpp index 5fbfa68..4843ce0 100644 --- a/microkde/kresources/factory.cpp +++ b/microkde/kresources/factory.cpp | |||
@@ -77,128 +77,141 @@ Factory::Factory( const QString& resourceFamily) : | |||
77 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { | 77 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { |
78 | QVariant type = (*it)->property( "X-KDE-ResourceType" ); | 78 | QVariant type = (*it)->property( "X-KDE-ResourceType" ); |
79 | if ( !type.toString().isEmpty() ) | 79 | if ( !type.toString().isEmpty() ) |
80 | mTypeMap.insert( type.toString(), *it ); | 80 | mTypeMap.insert( type.toString(), *it ); |
81 | } | 81 | } |
82 | */ | 82 | */ |
83 | 83 | ||
84 | //US new | 84 | //US new |
85 | PluginInfo* info = new PluginInfo; | 85 | PluginInfo* info = new PluginInfo; |
86 | info->library = "microkabc_file"; | 86 | info->library = "microkabc_file"; |
87 | info->nameLabel = i18n( "file" ); | 87 | info->nameLabel = i18n( "file" ); |
88 | info->descriptionLabel = i18n( "One file" ); | 88 | info->descriptionLabel = i18n( "One file" ); |
89 | mTypeMap.insert( "file", info ); | 89 | mTypeMap.insert( "file", info ); |
90 | 90 | ||
91 | info = new PluginInfo; | 91 | info = new PluginInfo; |
92 | info->library = "microkabc_dir"; | 92 | info->library = "microkabc_dir"; |
93 | info->nameLabel = i18n( "dir" ); | 93 | info->nameLabel = i18n( "dir" ); |
94 | info->descriptionLabel = i18n( "A directory with many files" ); | 94 | info->descriptionLabel = i18n( "A directory with many files" ); |
95 | mTypeMap.insert( "dir", info ); | 95 | mTypeMap.insert( "dir", info ); |
96 | 96 | ||
97 | info = new PluginInfo; | 97 | info = new PluginInfo; |
98 | info->library = "microkabc_ldap"; | 98 | info->library = "microkabc_ldap"; |
99 | info->nameLabel = i18n( "ldap" ); | 99 | info->nameLabel = i18n( "ldap" ); |
100 | info->descriptionLabel = i18n( "Connect to a directory server" ); | 100 | info->descriptionLabel = i18n( "Connect to a directory server" ); |
101 | mTypeMap.insert( "ldap", info ); | 101 | mTypeMap.insert( "ldap", info ); |
102 | 102 | ||
103 | //US add opie plugin only, if the library exists. | 103 | //US add opie plugin only, if the library exists. |
104 | /*US | 104 | /*US |
105 | QString libname = "microkabc_opie"; | 105 | QString libname = "microkabc_opie"; |
106 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | 106 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); |
107 | if ( !path.isEmpty() ) | 107 | if ( !path.isEmpty() ) |
108 | { | 108 | { |
109 | info = new PluginInfo; | 109 | info = new PluginInfo; |
110 | info->library = libname; | 110 | info->library = libname; |
111 | info->nameLabel = i18n( "opie" ); | 111 | info->nameLabel = i18n( "opie" ); |
112 | info->descriptionLabel = i18n( "Opie PIM Addressbook." ); | 112 | info->descriptionLabel = i18n( "Opie PIM Addressbook." ); |
113 | mTypeMap.insert( "opie", info ); | 113 | mTypeMap.insert( "opie", info ); |
114 | } | 114 | } |
115 | */ | 115 | */ |
116 | //US add qtopia plugin only, if the library exists. | 116 | //US add qtopia plugin only, if the library exists. |
117 | QString libname = "microkabc_qtopia"; | 117 | QString libname = "microkabc_qtopia"; |
118 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | 118 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); |
119 | if ( !path.isEmpty() ) | 119 | if ( !path.isEmpty() ) |
120 | { | 120 | { |
121 | info = new PluginInfo; | 121 | info = new PluginInfo; |
122 | info->library = libname; | 122 | info->library = libname; |
123 | info->nameLabel = i18n( "qtopia" ); | 123 | info->nameLabel = i18n( "qtopia" ); |
124 | info->descriptionLabel = i18n( "Qtopia PIM Addressbook." ); | 124 | info->descriptionLabel = i18n( "Qtopia PIM Addressbook." ); |
125 | mTypeMap.insert( "qtopia", info ); | 125 | mTypeMap.insert( "qtopia", info ); |
126 | } | 126 | } |
127 | 127 | ||
128 | //US add sharp plugin only, if the library exists. | 128 | //US add sharp plugin only, if the library exists. |
129 | libname = "microkabc_sharpdtm"; | 129 | libname = "microkabc_sharpdtm"; |
130 | path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | 130 | path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); |
131 | if ( !path.isEmpty() ) | 131 | if ( !path.isEmpty() ) |
132 | { | 132 | { |
133 | info = new PluginInfo; | 133 | info = new PluginInfo; |
134 | info->library = libname; | 134 | info->library = libname; |
135 | info->nameLabel = i18n( "sharp" ); | 135 | info->nameLabel = i18n( "sharp" ); |
136 | info->descriptionLabel = i18n( "Sharp DTM Addressbook." ); | 136 | info->descriptionLabel = i18n( "Sharp DTM Addressbook." ); |
137 | mTypeMap.insert( "sharp", info ); | 137 | mTypeMap.insert( "sharp", info ); |
138 | } | 138 | } |
139 | 139 | ||
140 | 140 | ||
141 | //LR add ol plugin only, if the library exists. | ||
142 | libname = "microkabc_olaccess"; | ||
143 | path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | ||
144 | if ( !path.isEmpty() ) | ||
145 | { | ||
146 | info = new PluginInfo; | ||
147 | info->library = libname; | ||
148 | info->nameLabel = i18n( "sharp" ); | ||
149 | info->descriptionLabel = i18n( "Outlook Addressbook." ); | ||
150 | mTypeMap.insert( "olaccess", info ); | ||
151 | } | ||
152 | |||
153 | |||
141 | } | 154 | } |
142 | 155 | ||
143 | Factory::~Factory() | 156 | Factory::~Factory() |
144 | { | 157 | { |
145 | } | 158 | } |
146 | 159 | ||
147 | QStringList Factory::typeNames() const | 160 | QStringList Factory::typeNames() const |
148 | { | 161 | { |
149 | //US method QMap::keys() not available yet. SO collect the data manually | 162 | //US method QMap::keys() not available yet. SO collect the data manually |
150 | //US return mTypeMap.keys(); | 163 | //US return mTypeMap.keys(); |
151 | 164 | ||
152 | QStringList result; | 165 | QStringList result; |
153 | 166 | ||
154 | QMap<QString, PluginInfo*>::ConstIterator it; | 167 | QMap<QString, PluginInfo*>::ConstIterator it; |
155 | for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) { | 168 | for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) { |
156 | result << it.key().latin1(); | 169 | result << it.key().latin1(); |
157 | // qDebug("Factory::typeNames() : %s ", it.key().latin1()); | 170 | // qDebug("Factory::typeNames() : %s ", it.key().latin1()); |
158 | 171 | ||
159 | } | 172 | } |
160 | return result; | 173 | return result; |
161 | } | 174 | } |
162 | 175 | ||
163 | ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent ) | 176 | ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent ) |
164 | { | 177 | { |
165 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) | 178 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) |
166 | return 0; | 179 | return 0; |
167 | 180 | ||
168 | //US KService::Ptr ptr = mTypeMap[ type ]; | 181 | //US KService::Ptr ptr = mTypeMap[ type ]; |
169 | //US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); | 182 | //US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); |
170 | PluginInfo* pi = mTypeMap[ type ]; | 183 | PluginInfo* pi = mTypeMap[ type ]; |
171 | KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); | 184 | KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); |
172 | if ( !factory ) { | 185 | if ( !factory ) { |
173 | qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1()); | 186 | qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1()); |
174 | kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl; | 187 | kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl; |
175 | return 0; | 188 | return 0; |
176 | } | 189 | } |
177 | 190 | ||
178 | PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); | 191 | PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); |
179 | 192 | ||
180 | if ( !pluginFactory ) { | 193 | if ( !pluginFactory ) { |
181 | qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1()); | 194 | qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1()); |
182 | kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl; | 195 | kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl; |
183 | return 0; | 196 | return 0; |
184 | } | 197 | } |
185 | 198 | ||
186 | ConfigWidget *wdg = pluginFactory->configWidget( parent ); | 199 | ConfigWidget *wdg = pluginFactory->configWidget( parent ); |
187 | if ( !wdg ) { | 200 | if ( !wdg ) { |
188 | //US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; | 201 | //US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; |
189 | qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); | 202 | qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); |
190 | return 0; | 203 | return 0; |
191 | } | 204 | } |
192 | return wdg; | 205 | return wdg; |
193 | 206 | ||
194 | } | 207 | } |
195 | 208 | ||
196 | QString Factory::typeName( const QString &type ) const | 209 | QString Factory::typeName( const QString &type ) const |
197 | { | 210 | { |
198 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) | 211 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) |
199 | return QString(); | 212 | return QString(); |
200 | 213 | ||
201 | 214 | ||
202 | //US KService::Ptr ptr = mTypeMap[ type ]; | 215 | //US KService::Ptr ptr = mTypeMap[ type ]; |
203 | //US return ptr->name(); | 216 | //US return ptr->name(); |
204 | PluginInfo* pi = mTypeMap[ type ]; | 217 | PluginInfo* pi = mTypeMap[ type ]; |