diff options
Diffstat (limited to 'kate/helloworld')
-rw-r--r-- | kate/helloworld/Makefile.am | 18 | ||||
-rw-r--r-- | kate/helloworld/katehelloworld.desktop | 119 | ||||
-rw-r--r-- | kate/helloworld/plugin_katehelloworld.cpp | 66 | ||||
-rw-r--r-- | kate/helloworld/plugin_katehelloworld.h | 30 | ||||
-rw-r--r-- | kate/helloworld/ui.rc | 8 |
5 files changed, 241 insertions, 0 deletions
diff --git a/kate/helloworld/Makefile.am b/kate/helloworld/Makefile.am new file mode 100644 index 0000000..b3fca29 --- /dev/null +++ b/kate/helloworld/Makefile.am @@ -0,0 +1,18 @@ +INCLUDES = $(all_includes) +METASOURCES = AUTO + +# Install this plugin in the KDE modules directory +kde_module_LTLIBRARIES = katehelloworldplugin.la + +katehelloworldplugin_la_SOURCES = plugin_katehelloworld.cpp +katehelloworldplugin_la_LIBADD = -lkateinterfaces +katehelloworldplugin_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries) + +pluginsdir = $(kde_datadir)/kate/plugins/katehelloworld +plugins_DATA = ui.rc + +kde_services_DATA = katehelloworld.desktop + +messages: rc.cpp + $(XGETTEXT) *.cpp -o $(podir)/katehelloworld.pot + diff --git a/kate/helloworld/katehelloworld.desktop b/kate/helloworld/katehelloworld.desktop new file mode 100644 index 0000000..e8d2bf7 --- /dev/null +++ b/kate/helloworld/katehelloworld.desktop @@ -0,0 +1,119 @@ +[Desktop Entry] +Type=Service +ServiceTypes=Kate/Plugin +X-KDE-Library=katehelloworldplugin +X-Kate-Version=2.5 +Name=My First Kate Plugin +Name[br]=Ma lugent Kate kentañ +Name[ca]=El meu primer connector per a Kate +Name[cs]=Můj první modul pro Kate +Name[cy]=F'ategyn cyntaf Kate +Name[da]=Mit første Kate-plugin +Name[de]=Mein erstes Kate-Modul +Name[el]=Το πρώτο μου πρόσθετο για το Kate +Name[eo]=Mia unua kromaĵo por Kodredaktilo +Name[es]=Mi primer complemento de Kate +Name[et]=Kate näidisplugin +Name[eu]=Nire lehen Kate plugina +Name[fa]=اولین وصلۀ Kate من +Name[fi]=Minun ensimmäinen Kate-sovelma +Name[fr]=Mon premier module Kate +Name[fy]=Myn earste Kate-plugin +Name[ga]=Mo Chéad Bhreiseán Kate +Name[gl]=O Meu Primeiro plugin para Kate +Name[he]=התוסף הראשון שלי ל־Kate +Name[hr]=Moj prvi dodatak za Kate +Name[hu]=Az első Kate-bővítőmodulom +Name[is]=Fyrsta Kate viðbótin mín +Name[it]=Il mio primo plugin di Kate +Name[ja]=はじめての Kate プラグイン +Name[ka]=ჩემი პირველი Kate მოდული +Name[kk]=Менің алғашқы Kate плагин модулім +Name[km]=កម្មវិធីជំនួយរបស់ Kate ដំបូងរបស់ខ្ញុំ +Name[lt]=Mano pirmas Kate priedas +Name[mk]=Мојот прв приклучок за Кате +Name[ms]=Plugin Kate Pertama Saya +Name[nb]=Mitt første programtillegg til Kate +Name[nds]=Mien eerst Kate-Moduul +Name[ne]=मेरो पहिलो केट प्लगइन +Name[nl]=Mijn eerste Kate-plugin +Name[nn]=Mitt første programtillegg til Kate +Name[pa]=ਮੇਰੀ ਪਹਿਲੀ ਕੇਟ ਪਲੱਗਇਨ +Name[pl]=Moja pierwsza wtyczka do Kate +Name[pt]=O Meu Primeiro 'Plugin' para o Kate +Name[pt_BR]=Meu Primeiro Plugin para o Kate +Name[ru]=Простой модуль для Kate +Name[sk]=Môj prvý modul pre Kate +Name[sl]=Moj prvi vstavek za Kate +Name[sr]=Мој први прикључак за Kate +Name[sr@Latn]=Moj prvi priključak za Kate +Name[sv]=Mitt första insticksprogram för Kate +Name[ta]=என் முதல் கேட் சொருகுப்பொருள் +Name[tr]=İlk Kate Eklentim +Name[uk]=Мій перший втулок до Kate +Name[vi]=Bổ sung Kate đầu tiên của tôi +Name[zh_CN]=我的第一个 Kate 插件 +Name[zh_TW]=我的第一個 Kate 的外掛程式 +Comment=Your short description about the plugin goes here +Comment[af]=Jou kort beskrywing aangaande die inplak gaan hier +Comment[ar]=اكتب وصف قصير عن هذا الملحق هنا +Comment[az]=Əlavə haqqında qisaca izahat burada yer almalıdır +Comment[bg]=Описание на вашата първа приставка за Kate +Comment[bs]=Ovdje treba biti vaše malo objašnjenje o dodatku +Comment[ca]=La vostra descripció referent al connector va aquí +Comment[cs]=Zde by měl být krátký popis modulu +Comment[cy]=Mae eich disgrifiad byr am yr ategyn yn mynd yma +Comment[da]=Her er plads til din korte beskrivelse af hvad dette plugin gør +Comment[de]=Hier sollte eine kurze Beschreibung Ihres Moduls stehen +Comment[el]=Η σύντομη περιγραφή του προσθέτου σας πηγαίνει εδώ +Comment[eo]=Jen estu la mallonga priskribo pri la kromaĵo +Comment[es]=Aquí deberá incluir una breve descripción de su complemento +Comment[et]=Näidisplugina lühikirjeldus +Comment[eu]=Hemen duzu pluginari buruzko deskribapen laburra +Comment[fa]=توصیف کوتاه شما دربارۀ وصلهای که در اینجا میآید +Comment[fi]=Tässä pitäisi olla pieni kuvaus sovelmasta +Comment[fo]=Her kann tú skriva ein lýsing av ístingurin. +Comment[fr]=La description brève de votre module se place ici +Comment[fy]=Set hjir in lytse omskriuwing fan jo plugin +Comment[ga]=Cuir do chur síos gearr ar an mbreiseán anseo +Comment[gl]=Aqui deberá colocar unha descrición do plugin +Comment[he]=כאן אמור להיות התיאור הקצר שלך אודות התוסף +Comment[hi]=प्लगइन के बारे में आपका संक्षिप्त वर्णन यहाँ जाएगा +Comment[hr]=Mjesto za kratak opis vašeg dodatka +Comment[hu]=Ez a bővítőmodul leírása +Comment[is]=Hér ætti að vera smá lýsing á viðbótinni +Comment[it]=Inserisci qui la descrizione del tuo plugin +Comment[ja]=プラグインの簡単な説明をここに書きます +Comment[ka]=მოდულის მოკლე აღწერა იქნება აქ +Comment[kk]=Бұл плагин модульдің қысқаша сипаттамасының орны +Comment[km]=សេចក្ដីអធិប្បាយដ៏ខ្លីរបស់អ្នកអំពីកម្មវិធីជំនួយទៅទីនេះ +Comment[lt]=Čia turėtų būti trumpas priedo aprašymas +Comment[mk]=Тука доаѓа вашиот краток опис за приклучокот +Comment[ms]=Huraian ringkas anda tentang plugin anda di sini +Comment[nb]=Her skriver du en kort beskrivelse av programtillegget +Comment[nds]=Dien korte Beschrieven vun Dien Moduul kummt hierhen +Comment[ne]=प्लगइनका बारेको तपाईँको छोटो वर्णन यहाँ जान्छ +Comment[nl]=Plaats hier een kleine omschrijving van uw plugin +Comment[nn]=Her skildrar du kort programtillegget +Comment[nso]=Thlaloso ya gago ye kopana kaga plugin e tsamaya mo +Comment[pl]=Tu powinien być Twój krótki opis wtyczki +Comment[pt]=Aqui deverá colocar uma descrição do 'plugin' +Comment[pt_BR]=Uma pequena descrição maior sobre o que um plugin faz +Comment[ro]=Aici trebuie să fie descrierea modulului dumneavoastră +Comment[ru]=А здесь должно быть описание модуля +Comment[sk]=Tu by mal byť popis o module +Comment[sl]=Vaš kratek opis o vstavku je tukaj +Comment[sr]=Ваш кратак опис прикључка иде овде +Comment[sr@Latn]=Vaš kratak opis priključka ide ovde +Comment[sv]=Kort beskrivning av vad insticksprogrammet gör +Comment[ta]= உங்கள் சொருகு பொருளைப் பற்றிய சிறு விவரிப்பு இங்கே போகும் +Comment[tg]=Дар инҷо бояд тасвири модул бошад +Comment[th]=นี่เป็นรายละเอียดสั้น ๆ เกี่ยวกับปลั๊กอินที่ควรมี +Comment[tr]=Eklentinizin küçük bir açıklamasını buraya yazın +Comment[uk]=Тут повинен бути ваш короткий опис втулку +Comment[uz]=Plagin haqida qisqacha maʼlumot +Comment[uz@cyrillic]=Плагин ҳақида қисқача маълумот +Comment[vi]=Mô tả ngắn về bổ sung nằm ở đây +Comment[xh]=Inkcazelo yakho emfutshane malunga ne plagi yangaphakathi ihamba apha +Comment[zh_CN]=这里应该提供插件的简短描述 +Comment[zh_TW]=您對於這個外掛程式的一些描述放在這裡 diff --git a/kate/helloworld/plugin_katehelloworld.cpp b/kate/helloworld/plugin_katehelloworld.cpp new file mode 100644 index 0000000..7499c08 --- /dev/null +++ b/kate/helloworld/plugin_katehelloworld.cpp @@ -0,0 +1,66 @@ + +#include "plugin_katehelloworld.h" +#include "plugin_katehelloworld.moc" + +#include <kaction.h> +#include <klocale.h> +#include <kgenericfactory.h> + +K_EXPORT_COMPONENT_FACTORY( katehelloworldplugin, KGenericFactory<KatePluginHelloWorld>( "katehelloworld" ) ) + +class PluginView : public KXMLGUIClient +{ + friend class KatePluginHelloWorld; + + public: + Kate::MainWindow *win; +}; + +KatePluginHelloWorld::KatePluginHelloWorld( QObject* parent, const char* name, const QStringList& ) + : Kate::Plugin ( (Kate::Application*)parent, name ) +{ +} + +KatePluginHelloWorld::~KatePluginHelloWorld() +{ +} + +void KatePluginHelloWorld::addView(Kate::MainWindow *win) +{ + // TODO: doesn't this have to be deleted? + PluginView *view = new PluginView (); + + (void) new KAction ( i18n("Insert Hello World"), 0, this, + SLOT( slotInsertHello() ), view->actionCollection(), + "edit_insert_helloworld" ); + + view->setInstance (new KInstance("kate")); + view->setXMLFile("plugins/katehelloworld/ui.rc"); + win->guiFactory()->addClient (view); + view->win = win; + + m_views.append (view); +} + +void KatePluginHelloWorld::removeView(Kate::MainWindow *win) +{ + for (uint z=0; z < m_views.count(); z++) + if (m_views.at(z)->win == win) + { + PluginView *view = m_views.at(z); + m_views.remove (view); + win->guiFactory()->removeClient (view); + delete view; + } +} + +void KatePluginHelloWorld::slotInsertHello() +{ + if (!application()->activeMainWindow()) + return; + + Kate::View *kv = application()->activeMainWindow()->viewManager()->activeView(); + + if (kv) + kv->insertText ("Hello World"); +} diff --git a/kate/helloworld/plugin_katehelloworld.h b/kate/helloworld/plugin_katehelloworld.h new file mode 100644 index 0000000..84b3e86 --- /dev/null +++ b/kate/helloworld/plugin_katehelloworld.h @@ -0,0 +1,30 @@ +#ifndef _PLUGIN_KATE_HELLOWORLD_H_ +#define _PLUGIN_KATE_HELLOWORLD_H_ + +#include <kate/application.h> +#include <kate/documentmanager.h> +#include <kate/document.h> +#include <kate/mainwindow.h> +#include <kate/plugin.h> +#include <kate/view.h> +#include <kate/viewmanager.h> + +class KatePluginHelloWorld : public Kate::Plugin, Kate::PluginViewInterface +{ + Q_OBJECT + + public: + KatePluginHelloWorld( QObject* parent = 0, const char* name = 0, const QStringList& = QStringList() ); + virtual ~KatePluginHelloWorld(); + + void addView (Kate::MainWindow *win); + void removeView (Kate::MainWindow *win); + + public slots: + void slotInsertHello(); + + private: + QPtrList<class PluginView> m_views; +}; + +#endif diff --git a/kate/helloworld/ui.rc b/kate/helloworld/ui.rc new file mode 100644 index 0000000..36b11a0 --- /dev/null +++ b/kate/helloworld/ui.rc @@ -0,0 +1,8 @@ +<!DOCTYPE kpartgui> +<kpartplugin name="katehelloworld" library="libkatehelloworldplugin" version="2"> +<MenuBar> + <Menu name="tools"><text>&Tools</text> + <Action name="edit_insert_helloworld" /> + </Menu> +</MenuBar> +</kpartplugin> |