From 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kontact/plugins/akregator/Makefile.am | 14 ++ kontact/plugins/akregator/akregator_plugin.cpp | 156 +++++++++++++++++++++ kontact/plugins/akregator/akregator_plugin.h | 81 +++++++++++ kontact/plugins/akregator/akregatorplugin.desktop | 87 ++++++++++++ .../plugins/akregator/akregatorplugin3.2.desktop | 112 +++++++++++++++ 5 files changed, 450 insertions(+) create mode 100644 kontact/plugins/akregator/Makefile.am create mode 100644 kontact/plugins/akregator/akregator_plugin.cpp create mode 100644 kontact/plugins/akregator/akregator_plugin.h create mode 100644 kontact/plugins/akregator/akregatorplugin.desktop create mode 100644 kontact/plugins/akregator/akregatorplugin3.2.desktop (limited to 'kontact/plugins/akregator') diff --git a/kontact/plugins/akregator/Makefile.am b/kontact/plugins/akregator/Makefile.am new file mode 100644 index 000000000..d97f14341 --- /dev/null +++ b/kontact/plugins/akregator/Makefile.am @@ -0,0 +1,14 @@ +INCLUDES = -I$(top_srcdir)/kontact/interfaces -I$(top_srcdir)/akregator/src -I$(top_srcdir) $(all_includes) + +kde_module_LTLIBRARIES = libkontact_akregator.la +libkontact_akregator_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) +libkontact_akregator_la_LIBADD = $(top_builddir)/kontact/interfaces/libkpinterfaces.la $(LIB_KPARTS) +libkontact_akregator_la_SOURCES = akregator_plugin.cpp akregator_partiface.stub + +METASOURCES = AUTO + +akregator_partiface_DIR = $(top_srcdir)/akregator/src + +servicedir = $(kde_servicesdir)/kontact +service_DATA = akregatorplugin.desktop akregatorplugin3.2.desktop + diff --git a/kontact/plugins/akregator/akregator_plugin.cpp b/kontact/plugins/akregator/akregator_plugin.cpp new file mode 100644 index 000000000..d57cea7f6 --- /dev/null +++ b/kontact/plugins/akregator/akregator_plugin.cpp @@ -0,0 +1,156 @@ +/* + This file is part of Akregator. + + Copyright (C) 2004 Sashmit Bhaduri + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include "akregator_plugin.h" +namespace Akregator { + +typedef KGenericFactory PluginFactory; +K_EXPORT_COMPONENT_FACTORY( libkontact_akregator, + PluginFactory( "kontact_akregator" ) ) + +Plugin::Plugin( Kontact::Core *core, const char *, const QStringList& ) + : Kontact::Plugin( core, core, "akregator" ), m_stub(0) +{ + + setInstance( PluginFactory::instance() ); + + insertNewAction( new KAction( i18n( "New Feed..." ), "bookmark_add", CTRL+SHIFT+Key_F, this, SLOT( addFeed() ), actionCollection(), "feed_new" ) ); + + m_uniqueAppWatcher = new Kontact::UniqueAppWatcher( + new Kontact::UniqueAppHandlerFactory(), this ); +} + +Plugin::~Plugin() +{ +} + +bool Plugin::isRunningStandalone() +{ + return m_uniqueAppWatcher->isRunningStandalone(); +} + +QStringList Plugin::invisibleToolbarActions() const +{ + return QStringList( "file_new_contact" ); +} + + +Akregator::AkregatorPartIface_stub *Plugin::interface() +{ + if ( !m_stub ) { + part(); + } + + Q_ASSERT( m_stub ); + return m_stub; +} + + +MyBasePart* Plugin::createPart() +{ + MyBasePart* p = loadPart(); + + connect(p, SIGNAL(showPart()), this, SLOT(showPart())); + m_stub = new Akregator::AkregatorPartIface_stub( dcopClient(), "akregator", + "AkregatorIface" ); + m_stub->openStandardFeedList(); + return p; +} + + +void Plugin::showPart() +{ + core()->selectPlugin(this); +} + +void Plugin::addFeed() +{ + interface()->addFeed(); +} + +QStringList Plugin::configModules() const +{ + QStringList modules; + modules << "PIM/akregator.desktop"; + return modules; +} + +void Plugin::readProperties( KConfig *config ) +{ + if ( part() ) { + Akregator::Part *myPart = static_cast( part() ); + myPart->readProperties( config ); + } +} + +void Plugin::saveProperties( KConfig *config ) +{ + if ( part() ) { + Akregator::Part *myPart = static_cast( part() ); + myPart->saveProperties( config ); + } +} + +void UniqueAppHandler::loadCommandLineOptions() +{ + KCmdLineArgs::addCmdLineOptions( akregator_options ); +} + +int UniqueAppHandler::newInstance() +{ + kdDebug(5602) << k_funcinfo << endl; + // Ensure part is loaded + (void)plugin()->part(); + DCOPRef akr( "akregator", "AkregatorIface" ); +// DCOPReply reply = kAB.call( "handleCommandLine" ); + // if ( reply.isValid() ) { + // bool handled = reply; + // kdDebug(5602) << k_funcinfo << "handled=" << handled << endl; + // if ( !handled ) // no args -> simply bring kaddressbook plugin to front + return Kontact::UniqueAppHandler::newInstance(); + // } + // return 0; +} + +} // namespace Akregator +#include "akregator_plugin.moc" diff --git a/kontact/plugins/akregator/akregator_plugin.h b/kontact/plugins/akregator/akregator_plugin.h new file mode 100644 index 000000000..af1a905f9 --- /dev/null +++ b/kontact/plugins/akregator/akregator_plugin.h @@ -0,0 +1,81 @@ +/* + This file is part of Akregator. + + Copyright (C) 2004 Sashmit Bhaduri + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ + +#ifndef AKREGATOR_PLUGIN_H +#define AKREGATOR_PLUGIN_H + +#include +#include + +#include +#include +#include "akregator_partiface_stub.h" +#include + +class KAboutData; + +namespace Akregator { + +typedef KParts::ReadOnlyPart MyBasePart; + +class UniqueAppHandler : public Kontact::UniqueAppHandler +{ + public: + UniqueAppHandler( Kontact::Plugin* plugin ) : Kontact::UniqueAppHandler( plugin ) {} + virtual void loadCommandLineOptions(); + virtual int newInstance(); +}; + + +class Plugin : public Kontact::Plugin +{ + Q_OBJECT + + public: + Plugin( Kontact::Core *core, const char *name, + const QStringList & ); + ~Plugin(); + + int weight() const { return 700; } + + AkregatorPartIface_stub *interface(); + + virtual QStringList configModules() const; + virtual QStringList invisibleToolbarActions() const; + virtual bool isRunningStandalone(); + virtual void readProperties( KConfig *config ); + virtual void saveProperties( KConfig *config ); + + private slots: + void showPart(); + void addFeed(); + + protected: + MyBasePart *createPart(); + AkregatorPartIface_stub *m_stub; + Kontact::UniqueAppWatcher *m_uniqueAppWatcher; +}; + +} // namespace Akregator +#endif diff --git a/kontact/plugins/akregator/akregatorplugin.desktop b/kontact/plugins/akregator/akregatorplugin.desktop new file mode 100644 index 000000000..015ae80a1 --- /dev/null +++ b/kontact/plugins/akregator/akregatorplugin.desktop @@ -0,0 +1,87 @@ +[Desktop Entry] +Type=Service +Icon=akregator +ServiceTypes=Kontact/Plugin,KPluginInfo + +X-KDE-Library=libkontact_akregator +X-KDE-KontactPluginVersion=6 +X-KDE-KontactPartLibraryName=libakregatorpart +X-KDE-KontactPartLoadOnStart=false + +X-KDE-PluginInfo-Name=kontact_akregator +X-KDE-PluginInfo-Version=1.0b2 +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=true + +Comment=Feed Reader Component (Akregator Plugin) +Comment[bg]=Приставка за Akregator +Comment[ca]=Component lector d'enllaços (endollable de l'Akregator) +Comment[da]=Feed-læserkomponent (Akregator-plugin) +Comment[de]=News-Leser (Akregator-Modul) +Comment[el]=Συστατικό ανάγνωσης ροών (Πρόσθετο του Akregator) +Comment[es]=Componente de lectura de fuentes (complemento de Akregator) +Comment[et]=Uudistevoogude plugin (Akregator) +Comment[fr]=Composant du lecteur de flux (Module pour Akregator) +Comment[is]=Fréttastraumalestur (Akregator íforrit) +Comment[it]=Componente lettore fonti (plugin Akregator) +Comment[ja]=フィードリーダーコンポーネント (Akregator プラグイン) +Comment[km]=មមាសភាគ​កម្មវិធី​អាន​មតិព័ត៌មាន (កម្មវិធី​ជំនួយ Akregator​) +Comment[nds]=Stroomleser-Komponent (Akregator-Moduul) +Comment[nl]=Component om feeds te lezen (Akregator-plugin) +Comment[pl]=Składnik do czytania kanałów RSS (wtyczka Akregator) +Comment[ru]=Просмотр лент новостей (модуль Akregator) +Comment[sk]=Komponent na čítanie kanálov (Modul pre Akregator) +Comment[sr]=Компонента читања довода (прикључак Akregator-а) +Comment[sr@Latn]=Komponenta čitanja dovoda (priključak Akregator-a) +Comment[sv]=Komponent för läsning av kanaler (Akregator-insticksprogram) +Comment[tr]=Kaynak Okuyucu Bileşeni (Akregator Eklentisi) +Comment[zh_CN]=新闻源阅读器组件(Akregator 插件) +Comment[zh_TW]=Feed 閱讀器組件(Akregator 外掛程式) +Name=Feeds +Name[af]=Strome +Name[bg]=Новини +Name[ca]=Enllaços +Name[cs]=Kanály +Name[da]=Kilder +Name[de]=Nachrichten +Name[el]=Ροές +Name[eo]=Fluoj +Name[es]=Orígenes +Name[et]=Uudisevood +Name[eu]=Iturriak +Name[fa]=خوراندنها +Name[fi]=Syötteet +Name[fr]=Flux +Name[fy]=Nijsoanfier +Name[ga]=Fothaí +Name[gl]=Fontes +Name[he]=ערוצים +Name[hu]=Hírforrások +Name[is]=Fréttastraumar +Name[it]=Fonti +Name[ja]=フィード +Name[ka]=კვება +Name[kk]=Ақпарлар +Name[km]=មតិព័ត៌មាន +Name[lt]=Kanalai +Name[ms]=Suapan +Name[nb]=Kanaler +Name[nds]=Narichtenströöm +Name[ne]=फिड +Name[nn]=Kanalar +Name[pl]=Kanały +Name[pt]=Fontes +Name[pt_BR]=Fontes de Notícias +Name[ru]=Ленты новостей +Name[sk]=Kanály +Name[sl]=Viri +Name[sr]=Доводи +Name[sr@Latn]=Dovodi +Name[sv]=Kanaler +Name[ta]=உள்ளீடுகள் +Name[tr]=Haberler +Name[uk]=Подачі +Name[uz]=Yangiliklar tasmalari +Name[uz@cyrillic]=Янгиликлар тасмалари +Name[zh_CN]=种子 + diff --git a/kontact/plugins/akregator/akregatorplugin3.2.desktop b/kontact/plugins/akregator/akregatorplugin3.2.desktop new file mode 100644 index 000000000..7bd29ffbc --- /dev/null +++ b/kontact/plugins/akregator/akregatorplugin3.2.desktop @@ -0,0 +1,112 @@ +[Desktop Entry] +Type=Service +Icon=akregator +ServiceTypes=Kontact/Plugin,KPluginInfo + +X-KDE-Library=libkontact_akregator +X-KDE-KontactPluginVersion=3 +X-KDE-KontactPartLibraryName=libakregatorpart + +X-KDE-PluginInfo-Name=kontact_akregator +X-KDE-PluginInfo-Version=1.0b2 +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=true + +Comment=Akregator Plugin +Comment[af]=Akregator inprop module +Comment[bg]=Приставка за Akregator +Comment[br]=Lugant Akregator +Comment[ca]=Endollable Akregator +Comment[cs]=Modul Akregatoru +Comment[de]=Akregator-Modul +Comment[el]=Πρόσθετο του Akregator +Comment[eo]=Akregator-kromaĵo +Comment[es]=Extensión de Akregator +Comment[et]=Akregatori plugin +Comment[eu]=Akregator plugin-a +Comment[fa]=وصلۀ Akregator +Comment[fi]=Akregator-liitännäinen +Comment[fr]=Module pour Akregator +Comment[fy]=Akregatorplugin +Comment[ga]=Breiseán Akregator +Comment[gl]=Extensión para Akregator +Comment[he]=תוסף עבור Akregator +Comment[hu]=Akregator bővítőmodul +Comment[is]=Akregator íforrit +Comment[it]=Plugin aKregator +Comment[ja]=Akregator プラグイン +Comment[ka]=Akregator-ის მოდული +Comment[kk]=Akregator модулі +Comment[km]=កម្មវិធី​ជំនួយ Akregator +Comment[lt]=Akregator priedas +Comment[mk]=Приклучок за Akregator +Comment[ms]=Plugin Akregator +Comment[nb]=Akgregator-programtillegg +Comment[nds]=Akregator-Moduul +Comment[ne]=एक्रिगेटर प्लगइन +Comment[nl]=Akregatorplugin +Comment[nn]=Akregator-programtillegg +Comment[pl]=Wtyczka Akregatora +Comment[pt]='Plugin' Akregator +Comment[pt_BR]=Plug-in do Akregator +Comment[ru]=Модуль Akregator +Comment[sk]=Modul Akregator +Comment[sl]=Vstavek Akregator +Comment[sr]=Прикључак Akregator-а +Comment[sr@Latn]=Priključak Akregator-a +Comment[sv]=Akregator-insticksprogram +Comment[ta]=Akregator சொருகுப்பொருள் +Comment[tr]=Akregator Eklentisi +Comment[uk]=Втулок Akregator +Comment[uz]=Akregator plagini +Comment[uz@cyrillic]=Akregator плагини +Comment[zh_CN]=Akregator 插件 +Comment[zh_TW]=Akregator 外掛程式 +Name=Feeds +Name[af]=Strome +Name[bg]=Новини +Name[ca]=Enllaços +Name[cs]=Kanály +Name[da]=Kilder +Name[de]=Nachrichten +Name[el]=Ροές +Name[eo]=Fluoj +Name[es]=Orígenes +Name[et]=Uudisevood +Name[eu]=Iturriak +Name[fa]=خوراندنها +Name[fi]=Syötteet +Name[fr]=Flux +Name[fy]=Nijsoanfier +Name[ga]=Fothaí +Name[gl]=Fontes +Name[he]=ערוצים +Name[hu]=Hírforrások +Name[is]=Fréttastraumar +Name[it]=Fonti +Name[ja]=フィード +Name[ka]=კვება +Name[kk]=Ақпарлар +Name[km]=មតិព័ត៌មាន +Name[lt]=Kanalai +Name[ms]=Suapan +Name[nb]=Kanaler +Name[nds]=Narichtenströöm +Name[ne]=फिड +Name[nn]=Kanalar +Name[pl]=Kanały +Name[pt]=Fontes +Name[pt_BR]=Fontes de Notícias +Name[ru]=Ленты новостей +Name[sk]=Kanály +Name[sl]=Viri +Name[sr]=Доводи +Name[sr@Latn]=Dovodi +Name[sv]=Kanaler +Name[ta]=உள்ளீடுகள் +Name[tr]=Haberler +Name[uk]=Подачі +Name[uz]=Yangiliklar tasmalari +Name[uz@cyrillic]=Янгиликлар тасмалари +Name[zh_CN]=种子 + -- cgit v1.2.1