diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 84da08d7b7fcda12c85caeb5a10b4903770a6f69 (patch) | |
tree | 2a6aea76f2dfffb4cc04bb907c4725af94f70e72 /konq-plugins/microformat | |
download | tdeaddons-84da08d7b7fcda12c85caeb5a10b4903770a6f69.tar.gz tdeaddons-84da08d7b7fcda12c85caeb5a10b4903770a6f69.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/kdeaddons@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'konq-plugins/microformat')
-rw-r--r-- | konq-plugins/microformat/Makefile.am | 19 | ||||
-rw-r--r-- | konq-plugins/microformat/README | 14 | ||||
-rw-r--r-- | konq-plugins/microformat/hcard.png | bin | 0 -> 304 bytes | |||
-rw-r--r-- | konq-plugins/microformat/konqmficon.cpp | 323 | ||||
-rw-r--r-- | konq-plugins/microformat/konqmficon.h | 70 | ||||
-rw-r--r-- | konq-plugins/microformat/mf_konqmficon.desktop | 110 | ||||
-rw-r--r-- | konq-plugins/microformat/mf_konqmficon.rc | 3 | ||||
-rw-r--r-- | konq-plugins/microformat/microformat.png | bin | 0 -> 1046 bytes | |||
-rw-r--r-- | konq-plugins/microformat/microformat.svgz | bin | 0 -> 1258 bytes | |||
-rw-r--r-- | konq-plugins/microformat/pluginbase.cpp | 43 | ||||
-rw-r--r-- | konq-plugins/microformat/pluginbase.h | 38 |
11 files changed, 620 insertions, 0 deletions
diff --git a/konq-plugins/microformat/Makefile.am b/konq-plugins/microformat/Makefile.am new file mode 100644 index 0000000..d96b5c5 --- /dev/null +++ b/konq-plugins/microformat/Makefile.am @@ -0,0 +1,19 @@ +INCLUDES = $(all_includes) +METASOURCES = AUTO + + +# Install this plugin in the KDE modules directory +kde_module_LTLIBRARIES = libmfkonqmficon.la + +libmfkonqmficon_la_SOURCES = konqmficon.cpp pluginbase.cpp +libmfkonqmficon_la_LIBADD = -lkonq $(LIB_KHTML) +libmfkonqmficon_la_LDFLAGS = -module $(KDE_PLUGIN) -avoid-version -no-undefined $(all_libraries) + +konqmficondir = $(kde_datadir)/khtml/kpartplugins +konqmficon_DATA = mf_konqmficon.desktop mf_konqmficon.rc + +mficondir = $(kde_datadir)/microformat/pics +mficon_DATA = microformat.png + +messages: rc.cpp + $(XGETTEXT) *.cpp *.h -o $(podir)/mf_konqplugin.pot diff --git a/konq-plugins/microformat/README b/konq-plugins/microformat/README new file mode 100644 index 0000000..896256f --- /dev/null +++ b/konq-plugins/microformat/README @@ -0,0 +1,14 @@ +Microformats +------------ + +Please see: + +http://developers.technorati.com/wiki/hCard +http://developers.technorati.com/wiki/hCalendar +http://developers.technorati.com/wiki/MicroFormat + + +Also try: +http://tantek.com/microformats/hcard-creator.html +http://theryanking.com/microformats/hcalendar-creator.html + diff --git a/konq-plugins/microformat/hcard.png b/konq-plugins/microformat/hcard.png Binary files differnew file mode 100644 index 0000000..b80213c --- /dev/null +++ b/konq-plugins/microformat/hcard.png diff --git a/konq-plugins/microformat/konqmficon.cpp b/konq-plugins/microformat/konqmficon.cpp new file mode 100644 index 0000000..51fdd97 --- /dev/null +++ b/konq-plugins/microformat/konqmficon.cpp @@ -0,0 +1,323 @@ +/* + Copyright (C) 2004 Teemu Rytilahti <[email protected]> + Copyright (C) 2005 George Staikos <[email protected]> + + 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 "konqmficon.h" + +#include <dcopref.h> +#include <kdebug.h> +#include <kgenericfactory.h> +#include <kiconloader.h> +#include <kparts/statusbarextension.h> +#include <kstandarddirs.h> +#include <kstatusbar.h> +#include <kurllabel.h> + +#include <qcursor.h> +#include <qstylesheet.h> +#include <qtimer.h> +#include <qtooltip.h> + +typedef KGenericFactory<KonqMFIcon> KonqMFIconFactory; +K_EXPORT_COMPONENT_FACTORY(libmfkonqmficon, + KonqMFIconFactory("mfkonqmficon")) + +KonqMFIcon::KonqMFIcon(QObject *parent, const char *name, const QStringList &) +: KParts::Plugin(parent, name), PluginBase(), m_part(0), m_mfIcon(0), m_statusBarEx(0), m_menu(0) { + KGlobal::locale()->insertCatalogue("mf_konqplugin"); + + m_part = dynamic_cast<KHTMLPart*>(parent); + if (!m_part) { + kdDebug() << "couldn't get part" << endl; + return; + } + QTimer::singleShot(0, this, SLOT(waitPartToLoad())); +} + + +void KonqMFIcon::waitPartToLoad() { + connect(m_part, SIGNAL(completed()), this, SLOT(addMFIcon())); + connect(m_part, SIGNAL(completed(bool)), this, SLOT(addMFIcon())); // to make pages with metarefresh to work + connect(m_part, SIGNAL(started(KIO::Job *)), this, SLOT(removeMFIcon())); +} + + +KonqMFIcon::~KonqMFIcon() { + KGlobal::locale()->removeCatalogue("mf_konqplugin"); + delete m_menu; + m_menu = 0L; +} + + +static QString textForNode(DOM::Node node) { + QString rc; + DOM::NodeList nl = node.childNodes(); + for (unsigned int i = 0; i < nl.length(); ++i) { + DOM::Node n = nl.item(i); + if (n.nodeType() == DOM::Node::TEXT_NODE) { + rc += n.nodeValue().string(); + } + } + // FIXME: entries need to be escaped for vcard/vevent + return rc.stripWhiteSpace(); +} + + +static QString extractAddress(DOM::Node node) { + QString rc = ";;"; + QMap<QString,QString> entry; + DOM::NodeList nodes = node.childNodes(); + unsigned int n = nodes.length(); + for (unsigned int i = 0; i < n; ++i) { + DOM::Node node = nodes.item(i); + DOM::NamedNodeMap map = node.attributes(); + for (unsigned int j = 0; j < map.length(); ++j) { + if (map.item(j).nodeName().string() != "class") { + continue; + } + QString a = map.item(j).nodeValue().string(); + if (a == "street-address") { + entry["street-address"] = textForNode(node); + } else if (a == "locality") { + entry["locality"] = textForNode(node); + } else if (a == "region") { + entry["region"] = textForNode(node); + } else if (a == "postal-code") { + entry["postal-code"] = textForNode(node); + } + } + } + + rc += entry["street-address"] + ";" + entry["locality"] + ";" + entry["region"] + ";" + entry["postal-code"] + ";" + entry["country"]; + return rc.stripWhiteSpace(); +} + + +void KonqMFIcon::extractCard(DOM::Node node) { + QString name, value; + DOM::NodeList nodes = node.childNodes(); + unsigned int n = nodes.length(); + value += "BEGIN:VCARD\nVERSION:3.0\n"; + for (unsigned int i = 0; i < n; ++i) { + DOM::Node node = nodes.item(i); + DOM::NamedNodeMap map = node.attributes(); + for (unsigned int j = 0; j < map.length(); ++j) { + if (map.item(j).nodeName().string() != "class") { + continue; + } + QStringList l = QStringList::split(' ', map.item(j).nodeValue().string()); + for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it) { + if (*it == "photo") { + } else if (*it == "adr") { + value += "ADR:" + extractAddress(node) + "\n"; + } else if (*it == "tel") { + value += "TEL;TYPE=VOICE:" + textForNode(node) + "\n"; + } else if (*it == "fn") { + name = textForNode(node); + value += "FN:" + name + "\n"; + } else if (*it == "url") { + DOM::Node at = node.attributes().getNamedItem("href"); + if (!at.isNull()) { + value += "URL:" + at.nodeValue().string().stripWhiteSpace() + "\n"; + } + } else if (*it == "email") { + DOM::Node at = node.attributes().getNamedItem("href"); + if (!at.isNull()) { + QString v = at.nodeValue().string(); + if (v.startsWith("mailto:")) { + v = v.mid(7); + } + value += "EMAIL:" + v.stripWhiteSpace() + "\n"; + } + } else if (*it == "org") { + value += "ORG:" + textForNode(node) + "\n"; + } + } + } + } + + if (!name.isEmpty()) { + value += "END:VCARD\n"; + _cards.append(qMakePair(name, value)); + } +} + + +void KonqMFIcon::extractEvent(DOM::Node node) { + QString name, value = "BEGIN:VCALENDAR\nPRODID:-//Konqueror//EN\nVERSION:2.0\nBEGIN:VEVENT\n"; + DOM::NodeList nodes = node.childNodes(); + unsigned int n = nodes.length(); + for (unsigned int i = 0; i < n; ++i) { + DOM::Node node = nodes.item(i); + DOM::NamedNodeMap map = node.attributes(); + for (unsigned int j = 0; j < map.length(); ++j) { + if (map.item(j).nodeName().string() != "class") { + continue; + } + QStringList l = QStringList::split(' ', map.item(j).nodeValue().string()); + for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it) { + if (*it == "url") { + DOM::Node at = node.attributes().getNamedItem("href"); + if (!at.isNull()) { + value += "URL:" + at.nodeValue().string().stripWhiteSpace() + "\n"; + } + } else if (*it == "dtstart") { + DOM::Node at = node.attributes().getNamedItem("title"); + if (!at.isNull()) { + value += "DTSTART:" + at.nodeValue().string().stripWhiteSpace() + "\n"; + } + } else if (*it == "dtend") { + DOM::Node at = node.attributes().getNamedItem("title"); + if (!at.isNull()) { + value += "DTEND:" + at.nodeValue().string().stripWhiteSpace() + "\n"; + } + } else if (*it == "summary") { + name = textForNode(node); + value += "SUMMARY:" + name + "\n"; + } else if (*it == "location") { + value += "LOCATION:" + textForNode(node) + "\n"; + } + } + } + } + + if (!name.isEmpty()) { + value += "END:VEVENT\nEND:VCALENDAR\n"; + _events.append(qMakePair(name, value)); + } +} + + +bool KonqMFIcon::hasMicroFormat(DOM::NodeList nodes) { + bool ok = false; + unsigned int n = nodes.length(); + for (unsigned int i = 0; i < n; ++i) { + DOM::Node node = nodes.item(i); + DOM::NamedNodeMap map = node.attributes(); + for (unsigned int j = 0; j < map.length(); ++j) { + if (map.item(j).nodeName().string() != "class") { + continue; + } + if (map.item(j).nodeValue().string() == "vevent") { + ok = true; + extractEvent(node); + break; + } + if (map.item(j).nodeValue().string() == "vcard") { + ok = true; + extractCard(node); + break; + } + } + if (hasMicroFormat(node.childNodes())) { + ok = true; + } + } + return ok; +} + + +bool KonqMFIcon::mfFound() { + _events.clear(); + _cards.clear(); + return hasMicroFormat(m_part->document().childNodes()); +} + + +void KonqMFIcon::contextMenu() { + delete m_menu; + m_menu = new KPopupMenu(m_part->widget()); + m_menu->insertTitle(i18n("Microformats")); + connect(m_menu, SIGNAL(activated(int)), this, SLOT(addMF(int))); + int id = 0; + for (QValueList<QPair<QString, QString> >::ConstIterator it = _events.begin(); it != _events.end(); ++it) { + m_menu->insertItem(SmallIcon("bookmark_add"), (*it).first, id); + id++; + } + for (QValueList<QPair<QString, QString> >::ConstIterator it = _cards.begin(); it != _cards.end(); ++it) { + m_menu->insertItem(SmallIcon("bookmark_add"), (*it).first, id); + id++; + } + m_menu->insertSeparator(); + m_menu->insertItem(SmallIcon("bookmark_add"), i18n("Import All Microformats"), this, SLOT(addMFs()), 0, 50000 ); + m_menu->popup(QCursor::pos()); +} + + +void KonqMFIcon::addMFIcon() { + if (!mfFound() || m_mfIcon) { + return; + } + + m_statusBarEx = KParts::StatusBarExtension::childObject(m_part); + if (!m_statusBarEx) { + return; + } + + m_mfIcon = new KURLLabel(m_statusBarEx->statusBar()); + m_mfIcon->setFixedHeight(instance()->iconLoader()->currentSize(KIcon::Small)); + m_mfIcon->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); + m_mfIcon->setUseCursor(false); + //FIXME hackish + m_mfIcon->setPixmap(QPixmap(locate("data", "microformat/pics/microformat.png"))); + + QToolTip::remove(m_mfIcon); + QToolTip::add(m_mfIcon, i18n("This site has a microformat entry", "This site has %n microformat entries", _events.count() + _cards.count())); + + m_statusBarEx->addStatusBarItem(m_mfIcon, 0, true); + + connect(m_mfIcon, SIGNAL(leftClickedURL()), this, SLOT(contextMenu())); +} + + +void KonqMFIcon::removeMFIcon() { + _events.clear(); + _cards.clear(); + if (m_mfIcon) { + m_statusBarEx->removeStatusBarItem(m_mfIcon); + delete m_mfIcon; + m_mfIcon = 0; + } + + // Close the popup if it's open, otherwise we crash + delete m_menu; + m_menu = 0L; +} + + +void KonqMFIcon::addMF(int id) { + if (id < int(_events.count())) { + } else if (id < int(_cards.count())) { + id -= _cards.count() - 1; + addVCardViaDCOP(_cards[id].second); + } +} + + +void KonqMFIcon::addMFs() { + int n = _events.count() + _cards.count(); + for (int i = 0; i < n; ++i) { + addMF(i); + } +} + +#include "konqmficon.moc" diff --git a/konq-plugins/microformat/konqmficon.h b/konq-plugins/microformat/konqmficon.h new file mode 100644 index 0000000..819bb2e --- /dev/null +++ b/konq-plugins/microformat/konqmficon.h @@ -0,0 +1,70 @@ +/* + Copyright (C) 2004 Teemu Rytilahti <[email protected]> + Copyright (C) 2005 George Staikos <[email protected]> + + 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 KONQFEEDICON_H +#define KONQFEEDICON_H + +#include <khtml_part.h> +#include <kparts/plugin.h> +#include <kpopupmenu.h> +#include "pluginbase.h" + +/** +@author Teemu Rytilahti +*/ +class KURLLabel; +class QStringList; + +namespace KParts { + class StatusBarExtension; +} + +class KonqMFIcon : public KParts::Plugin, PluginBase { + Q_OBJECT + public: + KonqMFIcon(QObject *parent, const char *name, const QStringList &); + + ~KonqMFIcon(); + + private: + bool mfFound(); + bool hasMicroFormat(DOM::NodeList nodes); + void extractCard(DOM::Node node); + void extractEvent(DOM::Node node); + + QGuardedPtr<KHTMLPart> m_part; + KURLLabel *m_mfIcon; + KParts::StatusBarExtension *m_statusBarEx; + QGuardedPtr<KPopupMenu> m_menu; + QValueList<QPair<QString, QString> > _events, _cards; + + private slots: + void waitPartToLoad(); + void contextMenu(); + void addMFIcon(); + void removeMFIcon(); + void addMFs(); + void addMF(int id); +}; + +#endif diff --git a/konq-plugins/microformat/mf_konqmficon.desktop b/konq-plugins/microformat/mf_konqmficon.desktop new file mode 100644 index 0000000..27edbc6 --- /dev/null +++ b/konq-plugins/microformat/mf_konqmficon.desktop @@ -0,0 +1,110 @@ +[Desktop Entry] +Name=Konqueror Microformat Plugin +Name[bg]=Приставка за Microformat (Konqueror) +Name[br]=Lugent Microformat Konqueror +Name[ca]=Connector de microformat pel Konqueror +Name[cs]=Microformat modul pro Konqueror +Name[da]=Konqueror mikroformat-plugin +Name[de]=Konqueror-Modul für Microformat +Name[el]=Πρόσθετο Microformat του Konqueror +Name[eo]=Mikroformata kromaĵo por Konkeranto +Name[es]=Complemento Microformato de Konqueror +Name[et]=Konquerori Microformati plugin +Name[eu]=Konqueror-en Microformat-en plugina +Name[fa]=وصلۀ ریزقالب Konqueror +Name[fi]=Konqueror mikromuotoliitännäinen +Name[fr]=Module d'icône de flux pour Konqueror +Name[fy]=Konqueror Microformat-plugin +Name[ga]=Breiseán Micreafhormáid Konqueror +Name[gl]=Plugin de Micro-formato de Konqueror +Name[he]=תוסף Microformat עבור Konqueror +Name[hr]=Konqueror Microformat dodatak +Name[hu]=Konqueror Microformat-bővítőmodul +Name[is]=Konqueror Microformat íforrit +Name[it]=Plugin per il formato microformat di Konqueror +Name[ja]=Konqueror マイクロフォーマット プラグイン +Name[ka]=Konqueror მიკროფორმატის მოდული +Name[kk]=Konqueror Microformat плагин модулі +Name[km]=កម្មវិធីជំនួយទ្រង់ទ្រាយមីក្រូរបស់ Konqueror +Name[lt]=Konqueror mikroformatų priedai +Name[mk]=Приклучок за микроформат на Konqueror +Name[nb]=Mikroformat programtillegg for Konqueror +Name[nds]=Mikroformaat-Moduul för Konqueror +Name[ne]=कन्क्वेर सूक्ष्म ढाँचा प्लगइन +Name[nl]=Konqueror Microformat-plugin +Name[nn]=Programtillegg for mikroformat i Konqueror +Name[pa]=ਕੋਨਕਿਊਰੋਰ ਮਾਈਕਰੋਫਾਰਮਿਟ ਪਲੱਗਇਨ +Name[pl]=Wtyczka Mikroformatu dla Konquerora +Name[pt]='Plugin' de Micro-formato do Konqueror +Name[pt_BR]=Plug-in de fonte de notícias RSS do Konqueror +Name[ru]=Микроформаты для Konqueror +Name[sk]=Modul Konqueror microformat +Name[sl]=Vstavek Konquerorja za Microformat +Name[sr]=Прикључак Konqueror-а за микроформат +Name[sr@Latn]=Priključak Konqueror-a za mikroformat +Name[sv]=Konqueror-insticksprogram för mikroformat +Name[tr]=Konqueror Besleme Simge Eklentisi +Name[uk]=Втулок мікроформату для Konqueror +Name[vi]=Bổ sung định dạng vi Konqueror +Name[zh_CN]=Konqueror 微格式插件 +Name[zh_TW]=Konqueror Microformat 外掛程式 +Icon=akregator +Comment=Displays icon in the statusbar when the page has a microformat +Comment[bg]=Показване на икона в лентата за състоянието, когато страницата има умален формат +Comment[ca]=Mostra la icona a la barra d'estat quan la pàgina té un microformat +Comment[cs]=Zobrazí na panelu ikonku, pokud má stránka mikroformát +Comment[da]=Viser ikon i statusfelt når siden har et mikroformat +Comment[de]=Zeigt das Symbol in der Statusleiste, wenn die Seite ein Microformat hat +Comment[el]=Εμφανίζει το εικονίδιο στη γραμμή κατάστασης όταν η σελίδα έχει microformat +Comment[eo]=Montras piktogramon en la statolistelo kiam la paĝo enhavas mikroformaton +Comment[es]=Muestra el icono en la barra de estado cuando la página tiene un microformato +Comment[et]=Näitab olekuribal kanaliikooni, kui saidil on microformat +Comment[eu]=Orriak mikroformatu bat badu ikono bat bistaratzen du egoera-barran +Comment[fa]=وقتی صفحه دارای ریزقالب باشد، شمایل را در میله وضعیت نمایش میدهد +Comment[fi]=Näyttää syötekuvakkeen tilapalkissa jos sivulla on mikromuoto +Comment[fr]=Affiche une icône dans la barre d'état lorsque la page possède un microformat +Comment[fy]=Toant in piktogram yn de tastânbalke as de side in mikroformaat hat. +Comment[ga]=Taispeánann sé deilbhín sa bharra stádais nuair atá micreafhormáid ag an leathanach +Comment[gl]=Mostra un ícone na barra de estado cando a páxina ten un micro-formato +Comment[hr]=Prikazuje ikonu u traci stanja ako stranica posjeduje mikro-oblikovanje +Comment[hu]=Ikont jelenít meg az állapotsorban, ha az oldalhoz található Microformat-információ +Comment[is]=Sýnir táknmynd í stöðuslá þegar síða inniheldur microformat +Comment[it]=Mostra l'icona nella barra di stato quando la pagina ha un microformat +Comment[ja]=ページにマイクロフォーマットがある場合、ステータスバーにアイコンを表示します +Comment[ka]=სტატუსის ველში ასახავს ხატულას როდესაც გვერდს გააჩნია მიკროფორმატი +Comment[kk]=Бетте микроформат болса, күй-жай жолағында таңбашасын көрсету +Comment[km]=បង្ហាញរូបតំណាងនៅក្នុងរបារស្ថានភាព នៅពេលដែលទំព័រមានទ្រង់ទ្រាយមីក្រូ +Comment[lt]=Rodo ženkliuką būsenos juostoje kai puslapis turi mikroformatą +Comment[mk]=Прикажува икона во статусната лента кога страницата има микроформат +Comment[nb]=Viser ikon for nyhetskilde på statuslinja når nettstedet har etmikroformat +Comment[nds]=Wiest en Lüttbild op den Statusbalken, wenn de Siet en Mikroformaat hett +Comment[ne]=पृष्ठमा सूक्ष्म ढाँचा हुदाँ स्थितिपट्टीमा प्रतिमा प्रदर्शन गर्छ +Comment[nl]=Toont een pictogram in de statusbalk als een pagina een microformaat bevat. +Comment[nn]=Viser eit ikon på statuslinja når sida har eit mikroformat +Comment[pl]=Wyświetla ikonę w pasku stanu, jeśli strona zawiera mikroformat +Comment[pt]=Mostra um ícone na barra de estado quando a página tem um micro-formato +Comment[pt_BR]=Mostra um ícone na barra de status quando a página possui uma fonte de notícias RSS +Comment[ru]=Показать в строке состояния значок поддержки микроформата на странице +Comment[sk]=Zobrazí ikonu v statovom riadku keď strana obsahuje microformat +Comment[sl]=Ko stran vsebuje Microformat se v vrstici stanja prikaže ikona +Comment[sr]=Приказује икону у статусној траци када страна има микроформат +Comment[sr@Latn]=Prikazuje ikonu u statusnoj traci kada strana ima mikroformat +Comment[sv]=Visar en ikon i statusraden när sidan har ett mikroformat +Comment[tr]=Sayfaya özgü bir biçim olduğunda simgeyi durum çubuğunda göster +Comment[uk]=Показує піктограму в рядку стану, коли сторінка має мікроформат +Comment[uz]=Sahifada mikroformat boʻlsa, holat panelida nishonchani koʻrsatish +Comment[uz@cyrillic]=Саҳифада микроформат бўлса, ҳолат панелида нишончани кўрсатиш +Comment[vi]=Hiển thị biểu tượng trên thanh trạng thái khi trang có định dạng vi +Comment[zh_CN]=当页面有微格式时在状态栏显示图标 +Comment[zh_TW]=當網頁有 microformat 時在狀態列顯示圖示 +Type=Service +X-KDE-Library=libakregatorkonqfeedicon +X-KDE-PluginInfo-Author=George Staikos +X-KDE-PluginInfo-Name=konqmficon +X-KDE-PluginInfo-Version=1.0.0 +X-KDE-PluginInfo-Category=Statusbar +X-KDE-PluginInfo-Depends= +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=false +X-KDE-ParentApp=konqueror diff --git a/konq-plugins/microformat/mf_konqmficon.rc b/konq-plugins/microformat/mf_konqmficon.rc new file mode 100644 index 0000000..466b14e --- /dev/null +++ b/konq-plugins/microformat/mf_konqmficon.rc @@ -0,0 +1,3 @@ +<!DOCTYPE kpartgui> +<kpartplugin name="konqmficon" library="libmfkonqmficon" version="1"> +</kpartplugin> diff --git a/konq-plugins/microformat/microformat.png b/konq-plugins/microformat/microformat.png Binary files differnew file mode 100644 index 0000000..0217918 --- /dev/null +++ b/konq-plugins/microformat/microformat.png diff --git a/konq-plugins/microformat/microformat.svgz b/konq-plugins/microformat/microformat.svgz Binary files differnew file mode 100644 index 0000000..5975616 --- /dev/null +++ b/konq-plugins/microformat/microformat.svgz diff --git a/konq-plugins/microformat/pluginbase.cpp b/konq-plugins/microformat/pluginbase.cpp new file mode 100644 index 0000000..9f73dd6 --- /dev/null +++ b/konq-plugins/microformat/pluginbase.cpp @@ -0,0 +1,43 @@ +/* + Copyright (C) 2004 Teemu Rytilahti <[email protected]> + Copyright (C) 2005 George Staikos <[email protected]> + + 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 <kprocess.h> +#include <dcopref.h> +#include <klocale.h> + +#include "pluginbase.h" + +#include <kdebug.h> + +PluginBase::PluginBase() { +} + + +PluginBase::~PluginBase() { +} + + +void PluginBase::addVCardViaDCOP(const QString& card) { + DCOPRef("kaddressbook", "AddressBookServiceIface").send("importVCard", card); +} + diff --git a/konq-plugins/microformat/pluginbase.h b/konq-plugins/microformat/pluginbase.h new file mode 100644 index 0000000..e37ea36 --- /dev/null +++ b/konq-plugins/microformat/pluginbase.h @@ -0,0 +1,38 @@ +/* + Copyright (C) 2004 Teemu Rytilahti <[email protected]> + Copyright (C) 2005 George Staikos <[email protected]> + + 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 PLUGINBASE_H +#define PLUGINBASE_H + +class QString; + +class PluginBase { + public: + PluginBase(); + ~PluginBase(); + + public: + void addVCardViaDCOP(const QString& vcard); +}; + +#endif |