KDECore
loader_p.h
Go to the documentation of this file.
00001 // -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; -*- 00002 /* 00003 * 00004 * Copyright (C) 2003 Zack Rusin <zack@kde.org> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00019 * 02110-1301 USA 00020 */ 00021 #ifndef SONNET_LOADER_P_H 00022 #define SONNET_LOADER_P_H 00023 00024 #include <kdecore_export.h> 00025 #include <ksharedptr.h> 00026 00027 #include <QtCore/QObject> 00028 #include <QtCore/QStringList> 00029 #include <QtCore/QString> 00030 00031 class KService; 00032 namespace Sonnet 00033 { 00034 class Settings; 00035 class SpellerPlugin; 00036 00045 class KDECORE_EXPORT Loader : public QObject 00046 { 00047 Q_OBJECT 00048 public: 00057 static Loader *openLoader(); 00058 00059 public: 00060 Loader(); 00061 ~Loader(); 00062 00077 SpellerPlugin *createSpeller( 00078 const QString& language = QString(), 00079 const QString& client = QString()) const; 00080 00084 QStringList clients() const; 00085 00089 QStringList languages() const; 00090 00094 QStringList languageNames() const; 00095 00101 QString languageNameForCode(const QString &langCode) const; 00102 00106 Settings *settings() const; 00107 Q_SIGNALS: 00112 void configurationChanged(); 00113 00114 protected: 00115 friend class Settings; 00116 void changed(); 00117 private: 00118 void loadPlugins(); 00119 void loadPlugin(const KSharedPtr<KService>&); 00120 private: 00121 class Private; 00122 Private *const d; 00123 }; 00124 } 00125 00126 #endif // SONNET_LOADER_P_H
KDE 4.6 API Reference