-
Notifications
You must be signed in to change notification settings - Fork 347
АПИ прикључака
Преводи странице: Plugins-API
###Руковање догађајима
У вашој поткласи PluginInterface класе неке функције ће бити позване из Капзиле. Следи објашњење како ради руковање догађајима.
Ако желите да ваш прикључак прими догађаје од главних Капзилиних објеката, мораћете да региструјете прикључак као руковаоца догађаја за одређени тип догађаја.
#include "mainapplication.h"
#include "pluginproxy.h"
QZ_REGISTER_EVENT_HANDLER(PluginProxy::EventHandlerType)
Ова табела приказује доступност типова догађаја према типовима објеката:
EventHandlerType | Event | WebView | TabBar | QupZilla |
---|---|---|---|---|
MouseDoubleClickHandler | mouseDoubleClick | не | да | не |
MousePressHandler | mousePress | да | да | не |
MouseReleaseHandler | mouseRelease | да | да | не |
MouseMoveHandler | mouseMove | да | да | не |
WheelEventHandler | wheelEvent | да | да | не |
KeyPressHandler | keyPress | да | не | да |
KeyReleaseHandler | keyRelease | да | не | да |
Наравно, можете и само да инсталирате филтере догађаја, али ако вам требају само ови догађаји, користите их јер имају боље перформансе.
###Руковаоци шеме Можете да региструјете ваш прикључак као руковаоца за одређену урл шему.
#include "mainapplication.h"
#include "networkmanager.h"
QZ_REGISTER_SCHEME_HANDLER("scheme", SchemeHandler*)
SchemeHandler* мора да буде поткласа SchemeHandler класе (дефинисане у schemehandler.h).
###Сигнали прикључка Можете да се повежете на сигнале емитоване по стварању/брисању WebPage и MainWindow објеката.
#include "mainapplication.h"
#include "pluginproxy.h"
connect(mApp->pluginProxy(), SIGNAL( .... );
webPageCreated(WebPage page)* - емитован кад је WebPage додељена WebView (може да се деси више пута за један WebView)
webPageDeleted(WebPage page)* - емитован пре брисања WebPage
mainWindowCreated(QupZilla window)* - емитован по стварању новог прозора
mainWindowDeleted(QupZilla window)* - емитован пре брисања прозора
###Додавање бочне траке Морате да имплементирате поткласу SideBarInterface класе (дефинисане у sidebarinterface.h)
#include "sidebar.h"
// позовите ово, пожељно у init()
SideBarManager::addSidebar("ваш-јединствени-ид", SideBarInterface*);
// remove sidebar, пожељно у unload()
SideBarManager::removeSidebar("ваш-јединствени-ид");
Available pages:
- Translating - How to translate
- Customisation - Shipping custom bookmarks/search engines
- Themes - How to develop themes
- Plugins - How to develop plugins
- Spell Check - Information about spell checking
- Changelog - Full changelog
- Bug reports - Read before open issue
- FAQ - Frequently asked questions
- Authors - Contributors list
- Contact - Developers contact