\section{KProps\-Dlg\-Plugin Class Reference}
\label{classKPropsDlgPlugin}\index{KPropsDlgPlugin@{KPropsDlgPlugin}}
A Plugin in the Properties dialog This is an abstract class.  


{\tt \#include $<$kpropertiesdialog.h$>$}

Inheritance diagram for KProps\-Dlg\-Plugin:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=214pt]{classKPropsDlgPlugin__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for KProps\-Dlg\-Plugin:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=309pt]{classKPropsDlgPlugin__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{CompactItemize}
\item 
void {\bf set\-Dirty} ()\label{classKPropsDlgPlugin_i0}

\end{CompactItemize}
\subsection*{Signals}
\begin{CompactItemize}
\item 
void {\bf changed} ()
\begin{CompactList}\small\item\em Emit this signal when the user changed anything in the plugin's tabs. \item\end{CompactList}\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf KProps\-Dlg\-Plugin} ({\bf KProperties\-Dialog} $\ast$\_\-props)
\begin{CompactList}\small\item\em Constructor To insert tabs into the properties dialog, use the add methods provided by {\bf KDialog\-Base} (the properties dialog is a {\bf KDialog\-Base}). \item\end{CompactList}\item 
virtual void {\bf apply\-Changes} ()
\begin{CompactList}\small\item\em Applies all changes to the file. \item\end{CompactList}\item 
void {\bf set\-Dirty} (bool b)\label{classKPropsDlgPlugin_a3}

\item 
bool {\bf is\-Dirty} () const \label{classKPropsDlgPlugin_a4}

\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
bool {\bf is\-Desktop\-File} ({\bf KFile\-Item} $\ast$\_\-item)
\begin{CompactList}\small\item\em Convenience method for most ::supports methods. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
virtual void {\bf virtual\_\-hook} (int id, void $\ast$data)\label{classKPropsDlgPlugin_b0}

\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
{\bf KProperties\-Dialog} $\ast$ {\bf properties}
\begin{CompactList}\small\item\em Pointer to the dialog. \item\end{CompactList}\item 
int {\bf font\-Height}\label{classKPropsDlgPlugin_p1}

\end{CompactItemize}


\subsection{Detailed Description}
A Plugin in the Properties dialog This is an abstract class. 

You must inherit from this class to build a new kind of page. A plugin in itself is just a library containing code, not a dialog's page. It's up to the plugin to insert pages into the parent dialog.

To make a plugin available, define a service that implements the KProps\-Dlg/Plugin servicetype, as well as the mimetypes for which the plugin should be created. For instance, Service\-Types=KProps\-Dlg/Plugin,text/html,application/x-mymimetype.

You can also include X-KDE-Protocol=file if you want that plugin to be loaded only for local files, for instance. 



Definition at line 334 of file kpropertiesdialog.h.

\subsection{Constructor \& Destructor Documentation}
\index{KPropsDlgPlugin@{KProps\-Dlg\-Plugin}!KPropsDlgPlugin@{KPropsDlgPlugin}}
\index{KPropsDlgPlugin@{KPropsDlgPlugin}!KPropsDlgPlugin@{KProps\-Dlg\-Plugin}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}KProps\-Dlg\-Plugin::KProps\-Dlg\-Plugin ({\bf KProperties\-Dialog} $\ast$ {\em \_\-props})}\label{classKPropsDlgPlugin_a0}


Constructor To insert tabs into the properties dialog, use the add methods provided by {\bf KDialog\-Base} (the properties dialog is a {\bf KDialog\-Base}). 



Definition at line 535 of file kpropertiesdialog.cpp.

References KProperties\-Dialog::dialog(), and properties.

\subsection{Member Function Documentation}
\index{KPropsDlgPlugin@{KProps\-Dlg\-Plugin}!applyChanges@{applyChanges}}
\index{applyChanges@{applyChanges}!KPropsDlgPlugin@{KProps\-Dlg\-Plugin}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void KProps\-Dlg\-Plugin::apply\-Changes ()\hspace{0.3cm}{\tt  [virtual]}}\label{classKPropsDlgPlugin_a2}


Applies all changes to the file. 

This function is called when the user presses 'Ok'. The last plugin inserted is called first. 

Reimplemented in {\bf KFile\-Share\-Props\-Plugin} {\rm (p.\,\pageref{classKFileSharePropsPlugin_a2})}, {\bf KFile\-Meta\-Props\-Plugin} {\rm (p.\,\pageref{classKFileMetaPropsPlugin_a2})}, {\bf KFile\-Props\-Plugin} {\rm (p.\,\pageref{classKFilePropsPlugin_a2})}, {\bf KFile\-Permissions\-Props\-Plugin} {\rm (p.\,\pageref{classKFilePermissionsPropsPlugin_a2})}, {\bf KExec\-Props\-Plugin} {\rm (p.\,\pageref{classKExecPropsPlugin_a2})}, {\bf KURLProps\-Plugin} {\rm (p.\,\pageref{classKURLPropsPlugin_a2})}, {\bf KApplication\-Props\-Plugin} {\rm (p.\,\pageref{classKApplicationPropsPlugin_a2})}, {\bf KBinding\-Props\-Plugin} {\rm (p.\,\pageref{classKBindingPropsPlugin_a2})}, and {\bf KDevice\-Props\-Plugin} {\rm (p.\,\pageref{classKDevicePropsPlugin_a2})}.

Definition at line 586 of file kpropertiesdialog.cpp.

Referenced by KProperties\-Dialog::slot\-Ok().\index{KPropsDlgPlugin@{KProps\-Dlg\-Plugin}!isDesktopFile@{isDesktopFile}}
\index{isDesktopFile@{isDesktopFile}!KPropsDlgPlugin@{KProps\-Dlg\-Plugin}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool KProps\-Dlg\-Plugin::is\-Desktop\-File ({\bf KFile\-Item} $\ast$ {\em \_\-item})\hspace{0.3cm}{\tt  [static]}}\label{classKPropsDlgPlugin_e0}


Convenience method for most ::supports methods. 

\begin{Desc}
\item[Returns:]true if the file is a local, regular, readable, desktop file \end{Desc}


Definition at line 549 of file kpropertiesdialog.cpp.

References QFile::encode\-Name(), QString::from\-Latin1(), KFile\-Item::is\-Local\-File(), KFile\-Item::mimetype(), KFile\-Item::mode(), KURL::path(), and KFile\-Item::url().

Referenced by KFile\-Props\-Plugin::KFile\-Props\-Plugin().\index{KPropsDlgPlugin@{KProps\-Dlg\-Plugin}!changed@{changed}}
\index{changed@{changed}!KPropsDlgPlugin@{KProps\-Dlg\-Plugin}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void KProps\-Dlg\-Plugin::changed ()\hspace{0.3cm}{\tt  [signal]}}\label{classKPropsDlgPlugin_l0}


Emit this signal when the user changed anything in the plugin's tabs. 

The hosting Properties\-Dialog will call {\bf apply\-Changes}{\rm (p.\,\pageref{classKPropsDlgPlugin_a2})} only if the Props\-Plugin has emitted this signal before. 

Referenced by KApplication\-Props\-Plugin::KApplication\-Props\-Plugin(), KBinding\-Props\-Plugin::KBinding\-Props\-Plugin(), KExec\-Props\-Plugin::KExec\-Props\-Plugin(), KFile\-Permissions\-Props\-Plugin::KFile\-Permissions\-Props\-Plugin(), KFile\-Props\-Plugin::KFile\-Props\-Plugin(), and KURLProps\-Plugin::KURLProps\-Plugin().

\subsection{Member Data Documentation}
\index{KPropsDlgPlugin@{KProps\-Dlg\-Plugin}!properties@{properties}}
\index{properties@{properties}!KPropsDlgPlugin@{KProps\-Dlg\-Plugin}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf KProperties\-Dialog}$\ast$ {\bf KProps\-Dlg\-Plugin::properties}\hspace{0.3cm}{\tt  [protected]}}\label{classKPropsDlgPlugin_p0}


Pointer to the dialog. 



Definition at line 377 of file kpropertiesdialog.h.

Referenced by KDevice\-Props\-Plugin::apply\-Changes(), KBinding\-Props\-Plugin::apply\-Changes(), KApplication\-Props\-Plugin::apply\-Changes(), KURLProps\-Plugin::apply\-Changes(), KExec\-Props\-Plugin::apply\-Changes(), KFile\-Permissions\-Props\-Plugin::apply\-Changes(), KFile\-Props\-Plugin::apply\-Changes(), KFile\-Share\-Props\-Plugin::apply\-Changes(), KApplication\-Props\-Plugin::KApplication\-Props\-Plugin(), KBinding\-Props\-Plugin::KBinding\-Props\-Plugin(), KExec\-Props\-Plugin::KExec\-Props\-Plugin(), KFile\-Meta\-Props\-Plugin::KFile\-Meta\-Props\-Plugin(), KFile\-Permissions\-Props\-Plugin::KFile\-Permissions\-Props\-Plugin(), KFile\-Props\-Plugin::KFile\-Props\-Plugin(), KProps\-Dlg\-Plugin(), KURLProps\-Plugin::KURLProps\-Plugin(), and KFile\-Props\-Plugin::post\-Apply\-Changes().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
kpropertiesdialog.h\item 
kpropertiesdialog.cpp\end{CompactItemize}
