KDE 4.5 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

ReadOnlyPart Class Reference

from PyKDE4.kparts import *

Inherits: KParts.Part → QObject
Subclasses: KParts.ReadWritePart
Namespace: KParts

Detailed Description

Base class for any "viewer" part.

This class takes care of network transparency for you, in the simplest way (downloading to a temporary file, then letting the part load from the temporary file). To use the built-in network transparency, you only need to implement openFile(), not openUrl().

To implement network transparency differently (e.g. for progressive loading, like a web browser does for instance), or to prevent network transparency (but why would you do that?), you can override openUrl().

KParts Application can use the signals to show feedback while the URL is being loaded.

ReadOnlyPart handles the window caption by setting it to the current URL (set in openUrl(), and each time the part is activated). If you want another caption, set it in openFile() and (if the part might ever be used with a part manager) in guiActivateEvent()


Signals

 canceled (QString errMsg)
 completed ()
 completed (bool pendingAction)
 started (KIO.Job a0)

Methods

 __init__ (self, QObject parent=0)
 __init__ (self, KParts.ReadOnlyPart a0)
 abortLoad (self)
KParts.OpenUrlArguments arguments (self)
KParts.BrowserExtension browserExtension (self)
bool closeStream (self)
bool closeUrl (self)
 guiActivateEvent (self, KParts.GUIActivateEvent event)
bool isLocalFileTemporary (self)
bool isProgressInfoEnabled (self)
QString localFilePath (self)
bool openFile (self)
bool openStream (self, QString mimeType, KUrl url)
bool openUrl (self, KUrl url)
 setArguments (self, KParts.OpenUrlArguments arguments)
 setLocalFilePath (self, QString localFilePath)
 setLocalFileTemporary (self, bool temp)
 setProgressInfoEnabled (self, bool show)
 setUrl (self, KUrl url)
 showProgressInfo (self, bool show)
KUrl url (self)
bool writeStream (self, QByteArray data)

Signal Documentation

canceled ( QString  errMsg
)

Emit this if loading is canceled by the user or by an error.

Parameters:
errMsg  the error message, empty if the user canceled the loading voluntarily.

Signal syntax:
QObject.connect(source, SIGNAL("canceled(const QString&)"), target_slot)
completed (   )

Same as the above signal except it indicates whether there is a pending action to be executed on a delay timer. An example of this is the meta-refresh tags on web pages used to reload/redirect after a certain period of time. This signal is useful if you want to give the user the ability to cancel such pending actions.

pendingAction true if a pending action exists, false otherwise.

Signal syntax:
QObject.connect(source, SIGNAL("completed()"), target_slot)
completed ( bool  pendingAction
)

Same as the above signal except it indicates whether there is a pending action to be executed on a delay timer. An example of this is the meta-refresh tags on web pages used to reload/redirect after a certain period of time. This signal is useful if you want to give the user the ability to cancel such pending actions.

pendingAction true if a pending action exists, false otherwise.

Signal syntax:
QObject.connect(source, SIGNAL("completed(bool)"), target_slot)
started ( KIO.Job  a0
)

The part emits this when starting data. If using a KIO.Job, it sets the job in the signal, so that progress information can be shown. Otherwise, job is 0.

Signal syntax:
QObject.connect(source, SIGNAL("started(KIO::Job*)"), target_slot)

Method Documentation

__init__ (  self,
QObject  parent=0
)

Constructor See also Part for the setXXX methods to call.

__init__ (  self,
KParts.ReadOnlyPart  a0
)
abortLoad (   self )

Internal:

KParts.OpenUrlArguments arguments (   self )

Returns:
the arguments that were used to open this URL.

KParts.BrowserExtension browserExtension (   self )

This convenience method returns the browserExtension for this part, or 0 if there isn't any.

bool closeStream (   self )

Terminate the sending of data to the part. With some data types (text, html...) closeStream might never actually be called, in the case of continuous streams, for instance plain text or HTML data.

bool closeUrl (   self )

Called when closing the current url (e.g. document), for instance when switching to another url (note that openUrl() calls it automatically in this case). If the current URL is not fully loaded yet, aborts loading. Deletes the temporary file used when the url is remote.

Returns:
always true, but the return value exists for reimplementations

guiActivateEvent (  self,
KParts.GUIActivateEvent  event
)

Reimplemented from Part, so that the window caption is set to the current url (decoded) when the part is activated This is the usual behavior in 99% of the apps Reimplement if you don't like it - test for event->activated() !

Technical note : this is done with GUIActivateEvent and not with PartActivateEvent because it's handled by the mainwindow (which gets the even after the PartActivateEvent events have been sent)

bool isLocalFileTemporary (   self )

Internal:

bool isProgressInfoEnabled (   self )

Returns whether the part shows the progress info dialog used by internal KIO job.

QString localFilePath (   self )

Returns the local file path associated with this part.

bool openFile (   self )
Abstract method:
This method is abstract and can be overridden but not called directly.

If the part uses the standard implementation of openUrl(), it must reimplement this, to open the local file. Otherwise simply define it to { return false; }

bool openStream (  self,
QString  mimeType,
KUrl  url
)

Initiate sending data to this part. This is an alternative to openUrl, which allows the user of the part to load the data itself, and send it progressively to the part.

Parameters:
mimeType  the type of data that is going to be sent to this part.
url  the URL representing this data. Although not directly used, every ReadOnlyPart has a URL (see url()), so this simply sets it.

Returns:
true if the part supports progressive loading and accepts data, false otherwise.

bool openUrl (  self,
KUrl  url
)

Only reimplement openUrl if you don't want the network transparency support to download from the url into a temporary file (when the url isn't local). Otherwise, reimplement openFile() only .

If you reimplement it, don't forget to set the caption, usually with emit setWindowCaption( url.prettyUrl() );

setArguments (  self,
KParts.OpenUrlArguments  arguments
)

Sets the arguments to use for the next openUrl call.

setLocalFilePath (  self,
QString  localFilePath
)

Sets the local file path associated with this part.

setLocalFileTemporary (  self,
bool  temp
)

Internal:

setProgressInfoEnabled (  self,
bool  show
)

Call this to turn off the progress info dialog used by the internal KIO job. Use this if you provide another way of displaying progress info (e.g. a statusbar), using the signals emitted by this class, and/or those emitted by the Job given by started.

setUrl (  self,
KUrl  url
)

Sets the url associated with this part.

showProgressInfo (  self,
bool  show
)
KUrl url (   self )

Returns the URL currently opened in this part.

Returns:
The current URL.

bool writeStream (  self,
QByteArray  data
)

Send some data to the part. openStream must have been called previously, and must have returned true.

Returns:
true if the data was accepted by the part. If false is returned, the application should stop sending data, and doesn't have to call closeStream.

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal