diff options
Diffstat (limited to 'konqueror/sidebar/web_module')
-rw-r--r-- | konqueror/sidebar/web_module/Makefile.am | 19 | ||||
-rw-r--r-- | konqueror/sidebar/web_module/TODO | 6 | ||||
-rw-r--r-- | konqueror/sidebar/web_module/web_module.cpp | 220 | ||||
-rw-r--r-- | konqueror/sidebar/web_module/web_module.h | 202 | ||||
-rw-r--r-- | konqueror/sidebar/web_module/webmodule_add.desktop | 79 | ||||
-rw-r--r-- | konqueror/sidebar/web_module/websidebar.desktop | 78 | ||||
-rw-r--r-- | konqueror/sidebar/web_module/websidebar.html | 11 |
7 files changed, 615 insertions, 0 deletions
diff --git a/konqueror/sidebar/web_module/Makefile.am b/konqueror/sidebar/web_module/Makefile.am new file mode 100644 index 000000000..64675d351 --- /dev/null +++ b/konqueror/sidebar/web_module/Makefile.am @@ -0,0 +1,19 @@ +INCLUDES = -I$(srcdir)/../ -I$(srcdir)/../../../libkonq $(all_includes) + +kde_module_LTLIBRARIES = konqsidebar_web.la + +METASOURCES = AUTO + +konqsidebar_web_la_SOURCES = web_module.cpp +konqsidebar_web_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +konqsidebar_web_la_LIBADD = $(LIB_KPARTS) $(LIB_KHTML) ../libkonqsidebarplugin.la ../../../libkonq/libkonq.la + +#plugindir=$(kde_datadir)/konqsidebartng/entries +#plugin_DATA=websidebar.desktop + +pluginadddir=$(kde_datadir)/konqsidebartng/add +pluginadd_DATA=webmodule_add.desktop + +htmldir=$(kde_datadir)/konqsidebartng/websidebar +html_DATA=websidebar.html + diff --git a/konqueror/sidebar/web_module/TODO b/konqueror/sidebar/web_module/TODO new file mode 100644 index 000000000..abf3260f9 --- /dev/null +++ b/konqueror/sidebar/web_module/TODO @@ -0,0 +1,6 @@ +- Apparently _content works everywhere in Mozilla. Maybe this should go into +KHTMLPart afterall. That would solve the form post problem too. +- Forms don't work. I don't know if they will for a long time since we can't + really filter them with KHTML. +- Allow setting the useragent (only do this in a clean fashion!!) +- Double check the KHTML extensions for security implications. diff --git a/konqueror/sidebar/web_module/web_module.cpp b/konqueror/sidebar/web_module/web_module.cpp new file mode 100644 index 000000000..ab77c40a0 --- /dev/null +++ b/konqueror/sidebar/web_module/web_module.cpp @@ -0,0 +1,220 @@ +/* This file is part of the KDE project + Copyright (C) 2003, George Staikos <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License version 2 as published by the Free Software Foundation. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "web_module.h" +#include <qfileinfo.h> +#include <qhbox.h> +#include <qspinbox.h> +#include <qtimer.h> + +#include <dom/html_inline.h> +#include <kdebug.h> +#include <kdialog.h> +#include <kglobal.h> +#include <klocale.h> +#include <konq_pixmapprovider.h> +#include <kparts/browserextension.h> +#include <kstandarddirs.h> + + +KonqSideBarWebModule::KonqSideBarWebModule(KInstance *instance, QObject *parent, QWidget *widgetParent, QString &desktopName, const char* name) + : KonqSidebarPlugin(instance, parent, widgetParent, desktopName, name) +{ + _htmlPart = new KHTMLSideBar(universalMode()); + connect(_htmlPart, SIGNAL(reload()), this, SLOT(reload())); + connect(_htmlPart, SIGNAL(completed()), this, SLOT(pageLoaded())); + connect(_htmlPart, + SIGNAL(setWindowCaption(const QString&)), + this, + SLOT(setTitle(const QString&))); + connect(_htmlPart, + SIGNAL(openURLRequest(const QString&, KParts::URLArgs)), + this, + SLOT(urlClicked(const QString&, KParts::URLArgs))); + connect(_htmlPart->browserExtension(), + SIGNAL(openURLRequest(const KURL&, const KParts::URLArgs&)), + this, + SLOT(formClicked(const KURL&, const KParts::URLArgs&))); + connect(_htmlPart, + SIGNAL(setAutoReload()), this, SLOT( setAutoReload() )); + connect(_htmlPart, + SIGNAL(openURLNewWindow(const QString&, KParts::URLArgs)), + this, + SLOT(urlNewWindow(const QString&, KParts::URLArgs))); + connect(_htmlPart, + SIGNAL(submitFormRequest(const char*,const QString&,const QByteArray&,const QString&,const QString&,const QString&)), + this, + SIGNAL(submitFormRequest(const char*,const QString&,const QByteArray&,const QString&,const QString&,const QString&))); + + _desktopName = desktopName; + + KSimpleConfig ksc(_desktopName); + ksc.setGroup("Desktop Entry"); + reloadTimeout = ksc.readNumEntry("Reload", 0); + _url = ksc.readPathEntry("URL"); + _htmlPart->openURL(_url ); + // Must load this delayed + QTimer::singleShot(0, this, SLOT(loadFavicon())); +} + + +KonqSideBarWebModule::~KonqSideBarWebModule() { + delete _htmlPart; + _htmlPart = 0L; +} + + +QWidget *KonqSideBarWebModule::getWidget() { + return _htmlPart->widget(); +} + +void KonqSideBarWebModule::setAutoReload(){ + KDialogBase dlg(0, "", true, i18n("Set Refresh Timeout (0 disables)"), + KDialogBase::Ok|KDialogBase::Cancel); + QHBox *hbox = dlg.makeHBoxMainWidget(); + + QSpinBox *mins = new QSpinBox( 0, 120, 1, hbox ); + mins->setSuffix( i18n(" min") ); + QSpinBox *secs = new QSpinBox( 0, 59, 1, hbox ); + secs->setSuffix( i18n(" sec") ); + + if( reloadTimeout > 0 ) { + int seconds = reloadTimeout / 1000; + secs->setValue( seconds % 60 ); + mins->setValue( ( seconds - secs->value() ) / 60 ); + } + + if( dlg.exec() == QDialog::Accepted ) { + int msec = ( mins->value() * 60 + secs->value() ) * 1000; + reloadTimeout = msec; + KSimpleConfig ksc(_desktopName); + ksc.setGroup("Desktop Entry"); + ksc.writeEntry("Reload", reloadTimeout); + reload(); + } +} + +void *KonqSideBarWebModule::provides(const QString &) { + return 0L; +} + + +void KonqSideBarWebModule::handleURL(const KURL &) { +} + + +void KonqSideBarWebModule::urlNewWindow(const QString& url, KParts::URLArgs args) +{ + emit createNewWindow(KURL(url), args); +} + + +void KonqSideBarWebModule::urlClicked(const QString& url, KParts::URLArgs args) +{ + emit openURLRequest(KURL(url), args); +} + + +void KonqSideBarWebModule::formClicked(const KURL& url, const KParts::URLArgs& args) +{ + _htmlPart->browserExtension()->setURLArgs(args); + _htmlPart->openURL(url); +} + + +void KonqSideBarWebModule::loadFavicon() { + QString icon = KonqPixmapProvider::iconForURL(_url.url()); + if (icon.isEmpty()) { + KonqFavIconMgr::downloadHostIcon(_url); + icon = KonqPixmapProvider::iconForURL(_url.url()); + } + + if (!icon.isEmpty()) { + emit setIcon(icon); + + KSimpleConfig ksc(_desktopName); + ksc.setGroup("Desktop Entry"); + if (icon != ksc.readPathEntry("Icon")) { + ksc.writePathEntry("Icon", icon); + } + } +} + + +void KonqSideBarWebModule::reload() { + _htmlPart->openURL(_url); +} + + +void KonqSideBarWebModule::setTitle(const QString& title) { + if (!title.isEmpty()) { + emit setCaption(title); + + KSimpleConfig ksc(_desktopName); + ksc.setGroup("Desktop Entry"); + if (title != ksc.readPathEntry("Name")) { + ksc.writePathEntry("Name", title); + } + } +} + + +void KonqSideBarWebModule::pageLoaded() { + if( reloadTimeout > 0 ) { + QTimer::singleShot( reloadTimeout, this, SLOT( reload() ) ); + } +} + + +extern "C" { + KDE_EXPORT KonqSidebarPlugin* create_konqsidebar_web(KInstance *instance, QObject *parent, QWidget *widget, QString &desktopName, const char *name) { + return new KonqSideBarWebModule(instance, parent, widget, desktopName, name); + } +} + + +extern "C" { + KDE_EXPORT bool add_konqsidebar_web(QString* fn, QString* param, QMap<QString,QString> *map) { + Q_UNUSED(param); + KGlobal::dirs()->addResourceType("websidebardata", KStandardDirs::kde_default("data") + "konqsidebartng/websidebar"); + KURL url; + url.setProtocol("file"); + QStringList paths = KGlobal::dirs()->resourceDirs("websidebardata"); + for (QStringList::Iterator i = paths.begin(); i != paths.end(); ++i) { + if (QFileInfo(*i + "websidebar.html").exists()) { + url.setPath(*i + "websidebar.html"); + break; + } + } + + if (url.path().isEmpty()) + return false; + map->insert("Type", "Link"); + map->insert("URL", url.url()); + map->insert("Icon", "netscape"); + map->insert("Name", i18n("Web SideBar Plugin")); + map->insert("Open", "true"); + map->insert("X-KDE-KonqSidebarModule","konqsidebar_web"); + fn->setLatin1("websidebarplugin%1.desktop"); + return true; + } +} + + +#include "web_module.moc" + diff --git a/konqueror/sidebar/web_module/web_module.h b/konqueror/sidebar/web_module/web_module.h new file mode 100644 index 000000000..58650b309 --- /dev/null +++ b/konqueror/sidebar/web_module/web_module.h @@ -0,0 +1,202 @@ +/* This file is part of the KDE project + Copyright (C) 2003 George Staikos <[email protected]> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License version 2 as published by the Free Software Foundation. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef web_module_h +#define web_module_h + +#include <assert.h> +#include <khtml_part.h> +#include <kiconloader.h> +#include <klocale.h> +#include <konqsidebarplugin.h> +#include <kpopupmenu.h> +#include <qobject.h> + + +// A wrapper for KHTMLPart to make it behave the way we want it to. +class KHTMLSideBar : public KHTMLPart +{ + Q_OBJECT + public: + KHTMLSideBar(bool universal) : KHTMLPart() { + setStatusMessagesEnabled(false); + setMetaRefreshEnabled(true); + setJavaEnabled(false); + setPluginsEnabled(false); + + setFormNotification(KHTMLPart::Only); + connect(this, + SIGNAL(formSubmitNotification(const char*,const QString&,const QByteArray&,const QString&,const QString&,const QString&)), + this, + SLOT(formProxy(const char*,const QString&,const QByteArray&,const QString&,const QString&,const QString&)) + ); + + + _linkMenu = new KPopupMenu(widget(), + "link context menu"); + if (!universal) { + _linkMenu->insertItem(i18n("&Open Link"), + this, SLOT(loadPage())); + _linkMenu->insertItem(i18n("Open in New &Window"), + this, SLOT(loadNewWindow())); + } else { + _linkMenu->insertItem(i18n("Open in New &Window"), + this, SLOT(loadPage())); + } + _menu = new KPopupMenu(widget(), "context menu"); + _menu->insertItem(SmallIcon("reload"), i18n("&Reload"), + this, SIGNAL(reload())); + _menu->insertItem(SmallIcon("reload"), i18n("Set &Automatic Reload"), this, SIGNAL(setAutoReload())); + + connect(this, + SIGNAL(popupMenu(const QString&,const QPoint&)), + this, + SLOT(showMenu(const QString&, const QPoint&))); + + } + virtual ~KHTMLSideBar() {} + + signals: + void submitFormRequest(const char*,const QString&,const QByteArray&,const QString&,const QString&,const QString&); + void openURLRequest(const QString& url, KParts::URLArgs args); + void openURLNewWindow(const QString& url, KParts::URLArgs args); + void reload(); + void setAutoReload(); + + protected: + virtual void urlSelected( const QString &url, int button, + int state, const QString &_target, + KParts::URLArgs args = KParts::URLArgs()) { + if (button == LeftButton ){ + if (_target.lower() == "_self") { + openURL(url); + } else if (_target.lower() == "_blank") { + emit openURLNewWindow(completeURL(url).url(), args); + } else { // isEmpty goes here too + emit openURLRequest(completeURL(url).url(), args); + } + return; + } + if (button == MidButton) { + emit openURLNewWindow(completeURL(url).url(), + args); + return; + } + // A refresh + if (button == 0 && _target.lower() == "_self") { + openURL(completeURL(url)); + return; + } + KHTMLPart::urlSelected(url,button,state,_target,args); + } + + protected slots: + void loadPage() { + emit openURLRequest(completeURL(_lastUrl).url(), + KParts::URLArgs()); + } + + void loadNewWindow() { + emit openURLNewWindow(completeURL(_lastUrl).url(), + KParts::URLArgs()); + } + + void showMenu(const QString& url, const QPoint& pos) { + if (url.isEmpty()) { + _menu->popup(pos); + } else { + _lastUrl = url; + _linkMenu->popup(pos); + } + } + + void formProxy(const char *action, + const QString& url, + const QByteArray& formData, + const QString& target, + const QString& contentType, + const QString& boundary) { + QString t = target.lower(); + QString u; + + if (QCString(action).lower() != "post") { + // GET + KURL kurl = completeURL(url); + kurl.setQuery(formData.data()); + u = kurl.url(); + } else { + u = completeURL(url).url(); + } + + // Some sites seem to use empty targets to send to the + // main frame. + if (t == "_content") { + emit submitFormRequest(action, u, formData, + target, contentType, boundary); + } else if (t.isEmpty() || t == "_self") { + setFormNotification(KHTMLPart::NoNotification); + submitFormProxy(action, u, formData, target, + contentType, boundary); + setFormNotification(KHTMLPart::Only); + } + } + private: + KPopupMenu *_menu, *_linkMenu; + QString _lastUrl; +}; + + + +class KonqSideBarWebModule : public KonqSidebarPlugin +{ + Q_OBJECT + public: + KonqSideBarWebModule(KInstance *instance, QObject *parent, + QWidget *widgetParent, QString &desktopName, + const char *name); + virtual ~KonqSideBarWebModule(); + + virtual QWidget *getWidget(); + virtual void *provides(const QString &); + + signals: + void submitFormRequest(const char*,const QString&,const QByteArray&,const QString&,const QString&,const QString&); + void openURLRequest(const KURL &url, const KParts::URLArgs &args); + void createNewWindow(const KURL &url, const KParts::URLArgs &args); + protected: + virtual void handleURL(const KURL &url); + + private slots: + void urlClicked(const QString& url, KParts::URLArgs args); + void formClicked(const KURL& url, const KParts::URLArgs& args); + void urlNewWindow(const QString& url, KParts::URLArgs args); + void pageLoaded(); + void loadFavicon(); + void setTitle(const QString&); + void setAutoReload(); + void reload(); + + private: + KHTMLSideBar *_htmlPart; + KURL _url; + int reloadTimeout; + QString _desktopName; +}; + +#endif + diff --git a/konqueror/sidebar/web_module/webmodule_add.desktop b/konqueror/sidebar/web_module/webmodule_add.desktop new file mode 100644 index 000000000..78a9972e2 --- /dev/null +++ b/konqueror/sidebar/web_module/webmodule_add.desktop @@ -0,0 +1,79 @@ +[Desktop Entry] +Type=Link +URL= +Icon=www +Name=Web SideBar Module +Name[af]=Web kantbalk module +Name[ar]=وحدة شريط الشبكة الجانبي +Name[az]=Veb Yan Çubuq Modulu +Name[be]=Модуль cеціўнай бакавой панэлі +Name[bg]=Модул за страничния панел на браузъра +Name[bn]=ওয়েব সাইডবার মডিউল +Name[bs]=Web sidebar modul +Name[ca]=Mòdul web SideBar +Name[cs]=Webový postranní panel +Name[csb]=Moduł bòczny lëstwë WWW +Name[cy]=Modiwl Bar Ochr Gwe +Name[da]=Web-sidebjælke modul +Name[de]=Web-Navigationsbereich +Name[el]=Άρθρωμα πλευρικής μπάρας Ιστού +Name[eo]=TTT-flankzona modulo +Name[es]=Módulo de la barra lateral de web +Name[et]=Veebi külgriba moodul +Name[eu]=Web-eko alboko barraren modulua +Name[fa]=پیمانۀ میله جانبی وب +Name[fi]=Verkkosivupalkkimoduuli +Name[fr]=Module de barre de navigation sur le web +Name[fy]=Web sydbalke module +Name[ga]=Modúl Barra Taoibh Gréasáin +Name[gl]=Módulo da Barra Lateral Web +Name[he]=מודול שורת־צד מקוון +Name[hi]=वेब बाज़ूपट्टी मॉड्यूल +Name[hr]=Modul za web trake +Name[hu]=Webes oldalsáv-modul +Name[is]=Vefhliðarslá +Name[it]=Modulo barra laterale web +Name[ja]=ウェブサイドバーモジュール +Name[ka]=გვერდით Web დაფის მოდული +Name[kk]=Веб бүйір панель модулі +Name[km]=ម៉ូឌុលរបារបណ្ដាញ +Name[ko]=웹 사이드바 모듈 +Name[lt]=Šoninės žiniatinklio juostos modulis +Name[lv]=Tīmekļa sānjoslas modulis +Name[mk]=Модул - Веб-странична лента +Name[mn]=Вэб самбарын модул +Name[ms]=Modul Bar Sisi Web +Name[mt]=Barra tal-ġenb għal-web +Name[nb]=Modul for nett-sidestolpe +Name[nds]=Sietpaneel för de Nettnavigatschoon +Name[ne]=वेब छेउपट्टी मोड्युल +Name[nl]=Webzijbalkmodule +Name[nn]=Modul for nett-sidestolpe +Name[pa]=ਵੈੱਬ ਬਾਹੀ ਮੈਡੀਊਲ +Name[pl]=Moduł paska bocznego WWW +Name[pt]=Módulo da Barra Lateral Web +Name[pt_BR]=Módulo da Barra Lateral Web +Name[ro]=Modul bară laterală web +Name[ru]=Модуль боковой панели Web +Name[rw]=Igice UmurongokuRuahande cy'Urubugamakuru +Name[se]=Neahtta-bálddalasholga moduvla +Name[sk]=Modul bočného Web panelu +Name[sl]=Modul spletne stranske vrstice +Name[sr]=Модул веб бочне траке +Name[sr@Latn]=Modul veb bočne trake +Name[sv]=Webbsidoradsmodul +Name[ta]=வலை பக்கப்பட்டி பகுதி +Name[tg]=Бахши навори канораи вэб +Name[th]=โมดูลแถบด้านข้างสำหรับเว็บ +Name[tr]=Web Yan Çubuk Modülü +Name[tt]=Web YanTirä Modulı +Name[uk]=Модуль бічної панелі Тенет +Name[uz]=Veb yon paneli moduli +Name[uz@cyrillic]=Веб ён панели модули +Name[vi]=Mô đun Thanh bên Trình duyệt +Name[wa]=Module di bår di costé waibe +Name[zh_CN]=Web 侧边栏模块 +Name[zh_TW]=網頁邊列模組 +Open=false +X-KDE-KonqSidebarAddModule=konqsidebar_web +X-KDE-KonqSidebarUniversal=true diff --git a/konqueror/sidebar/web_module/websidebar.desktop b/konqueror/sidebar/web_module/websidebar.desktop new file mode 100644 index 000000000..30413e06a --- /dev/null +++ b/konqueror/sidebar/web_module/websidebar.desktop @@ -0,0 +1,78 @@ +[Desktop Entry] +Type=Link +URL= +Icon=www +Name=Web SideBar Module +Name[af]=Web kantbalk module +Name[ar]=وحدة شريط الشبكة الجانبي +Name[az]=Veb Yan Çubuq Modulu +Name[be]=Модуль cеціўнай бакавой панэлі +Name[bg]=Модул за страничния панел на браузъра +Name[bn]=ওয়েব সাইডবার মডিউল +Name[bs]=Web sidebar modul +Name[ca]=Mòdul web SideBar +Name[cs]=Webový postranní panel +Name[csb]=Moduł bòczny lëstwë WWW +Name[cy]=Modiwl Bar Ochr Gwe +Name[da]=Web-sidebjælke modul +Name[de]=Web-Navigationsbereich +Name[el]=Άρθρωμα πλευρικής μπάρας Ιστού +Name[eo]=TTT-flankzona modulo +Name[es]=Módulo de la barra lateral de web +Name[et]=Veebi külgriba moodul +Name[eu]=Web-eko alboko barraren modulua +Name[fa]=پیمانۀ میله جانبی وب +Name[fi]=Verkkosivupalkkimoduuli +Name[fr]=Module de barre de navigation sur le web +Name[fy]=Web sydbalke module +Name[ga]=Modúl Barra Taoibh Gréasáin +Name[gl]=Módulo da Barra Lateral Web +Name[he]=מודול שורת־צד מקוון +Name[hi]=वेब बाज़ूपट्टी मॉड्यूल +Name[hr]=Modul za web trake +Name[hu]=Webes oldalsáv-modul +Name[is]=Vefhliðarslá +Name[it]=Modulo barra laterale web +Name[ja]=ウェブサイドバーモジュール +Name[ka]=გვერდით Web დაფის მოდული +Name[kk]=Веб бүйір панель модулі +Name[km]=ម៉ូឌុលរបារបណ្ដាញ +Name[ko]=웹 사이드바 모듈 +Name[lt]=Šoninės žiniatinklio juostos modulis +Name[lv]=Tīmekļa sānjoslas modulis +Name[mk]=Модул - Веб-странична лента +Name[mn]=Вэб самбарын модул +Name[ms]=Modul Bar Sisi Web +Name[mt]=Barra tal-ġenb għal-web +Name[nb]=Modul for nett-sidestolpe +Name[nds]=Sietpaneel för de Nettnavigatschoon +Name[ne]=वेब छेउपट्टी मोड्युल +Name[nl]=Webzijbalkmodule +Name[nn]=Modul for nett-sidestolpe +Name[pa]=ਵੈੱਬ ਬਾਹੀ ਮੈਡੀਊਲ +Name[pl]=Moduł paska bocznego WWW +Name[pt]=Módulo da Barra Lateral Web +Name[pt_BR]=Módulo da Barra Lateral Web +Name[ro]=Modul bară laterală web +Name[ru]=Модуль боковой панели Web +Name[rw]=Igice UmurongokuRuahande cy'Urubugamakuru +Name[se]=Neahtta-bálddalasholga moduvla +Name[sk]=Modul bočného Web panelu +Name[sl]=Modul spletne stranske vrstice +Name[sr]=Модул веб бочне траке +Name[sr@Latn]=Modul veb bočne trake +Name[sv]=Webbsidoradsmodul +Name[ta]=வலை பக்கப்பட்டி பகுதி +Name[tg]=Бахши навори канораи вэб +Name[th]=โมดูลแถบด้านข้างสำหรับเว็บ +Name[tr]=Web Yan Çubuk Modülü +Name[tt]=Web YanTirä Modulı +Name[uk]=Модуль бічної панелі Тенет +Name[uz]=Veb yon paneli moduli +Name[uz@cyrillic]=Веб ён панели модули +Name[vi]=Mô đun Thanh bên Trình duyệt +Name[wa]=Module di bår di costé waibe +Name[zh_CN]=Web 侧边栏模块 +Name[zh_TW]=網頁邊列模組 +Open=false +X-KDE-KonqSidebarModule=konqsidebar_web diff --git a/konqueror/sidebar/web_module/websidebar.html b/konqueror/sidebar/web_module/websidebar.html new file mode 100644 index 000000000..111356054 --- /dev/null +++ b/konqueror/sidebar/web_module/websidebar.html @@ -0,0 +1,11 @@ +<html> +<body> +<div align="center" width="80%"> +<font size="+2"> +Web SideBar Extension +</font> +<hr /> +<br /> +Select a URL with the context menu for the icon of this extension. +</body> +</html> |