summaryrefslogtreecommitdiffstats
path: root/kontact/plugins/akregator
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /kontact/plugins/akregator
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
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
Diffstat (limited to 'kontact/plugins/akregator')
-rw-r--r--kontact/plugins/akregator/Makefile.am14
-rw-r--r--kontact/plugins/akregator/akregator_plugin.cpp156
-rw-r--r--kontact/plugins/akregator/akregator_plugin.h81
-rw-r--r--kontact/plugins/akregator/akregatorplugin.desktop87
-rw-r--r--kontact/plugins/akregator/akregatorplugin3.2.desktop112
5 files changed, 450 insertions, 0 deletions
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 <smt@vfemail.net>
+
+ 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 <qwidget.h>
+
+#include <dcopclient.h>
+#include <dcopref.h>
+#include <kaboutdata.h>
+#include <kaction.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <kdebug.h>
+#include <kgenericfactory.h>
+#include <kiconloader.h>
+#include <kmessagebox.h>
+#include <kparts/componentfactory.h>
+
+#include <core.h>
+#include <plugin.h>
+
+#include <akregator_options.h>
+#include <akregator_part.h>
+#include "akregator_plugin.h"
+namespace Akregator {
+
+typedef KGenericFactory<Akregator::Plugin, Kontact::Core > 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<Akregator::UniqueAppHandler>(), 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<Akregator::Part*>( part() );
+ myPart->readProperties( config );
+ }
+}
+
+void Plugin::saveProperties( KConfig *config )
+{
+ if ( part() ) {
+ Akregator::Part *myPart = static_cast<Akregator::Part*>( 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 <smt@vfemail.net>
+
+ 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 <klocale.h>
+#include <kparts/part.h>
+
+#include <kparts/part.h>
+#include <plugin.h>
+#include "akregator_partiface_stub.h"
+#include <uniqueapphandler.h>
+
+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]=种子
+