<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>KIO.FileUndoManager</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link rel="stylesheet" type="text/css" href="../common/doxygen.css" /> <link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="../common/kde.css" /> </head> <body> <div id="container"> <div id="header"> <div id="header_top"> <div> <div> <img alt ="" src="../common/top-kde.jpg"/> KDE 4.9 PyKDE API Reference </div> </div> </div> <div id="header_bottom"> <div id="location"> <ul> <li>KDE's Python API</li> </ul> </div> <div id="menu"> <ul> <li><a href="../modules.html">Overview</a></li> <li><a href="http://techbase.kde.org/Development/Languages/Python">PyKDE Home</a></li> <li><a href="http://kde.org/family/">Sitemap</a></li> <li><a href="http://kde.org/contact/">Contact Us</a></li> </ul> </div> </div> </div> <div id="body_wrapper"> <div id="body"> <div id="right"> <div class="content"> <div id="main"> <div class="clearer"> </div> <h1>FileUndoManager Class Reference</h1> <code>from PyKDE4.kio import *</code> <p> Inherits: QObject<br /> Namespace: <a href="../kio/KIO.html">KIO</a><br /> <h2>Detailed Description</h2> <p>FileUndoManager: makes it possible to undo kio jobs. This class is a singleton, use self() to access its only instance. </p> <table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="#CommandType">CommandType</a> </td><td class="memItemRight" valign="bottom">{ Copy, Move, Rename, Link, Mkdir, Trash, Put }</td></tr> <tr><td colspan="2"><br><h2>Signals</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#jobRecordingFinished">jobRecordingFinished</a> (<a href="../kio/KIO.FileUndoManager.html#CommandType">KIO.FileUndoManager.CommandType</a> op)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#jobRecordingStarted">jobRecordingStarted</a> (<a href="../kio/KIO.FileUndoManager.html#CommandType">KIO.FileUndoManager.CommandType</a> op)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#undoAvailable">undoAvailable</a> (bool avail)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#undoJobFinished">undoJobFinished</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#undoTextChanged">undoTextChanged</a> (QString text)</td></tr> <tr><td colspan="2"><br><h2>Methods</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#FileUndoManager">__init__</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#currentCommandSerialNumber">currentCommandSerialNumber</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#newCommandSerialNumber">newCommandSerialNumber</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#recordCopyJob">recordCopyJob</a> (self, <a href="../kio/KIO.CopyJob.html">KIO.CopyJob</a> copyJob)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#recordJob">recordJob</a> (self, <a href="../kio/KIO.FileUndoManager.html#CommandType">KIO.FileUndoManager.CommandType</a> op, <a href="../kdecore/KUrl.List.html">KUrl.List</a> src, <a href="../kdecore/KUrl.html">KUrl</a> dst, <a href="../kio/KIO.Job.html">KIO.Job</a> job)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#setUiInterface">setUiInterface</a> (self, <a href="../kio/KIO.FileUndoManager.UiInterface.html">KIO.FileUndoManager.UiInterface</a> ui)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../kio/KIO.FileUndoManager.UiInterface.html">KIO.FileUndoManager.UiInterface</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#uiInterface">uiInterface</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#undo">undo</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#undoAvailable">undoAvailable</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#undoText">undoText</a> (self)</td></tr> <tr><td colspan="2"><br><h2>Static Methods</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../kio/KIO.FileUndoManager.html">KIO.FileUndoManager</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#self">self</a> ()</td></tr> </table> <hr><h2>Signal Documentation</h2><a class="anchor" name="jobRecordingFinished"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> jobRecordingFinished</td> <td>(</td> <td class="paramtype"><a href="../kio/KIO.FileUndoManager.html#CommandType">KIO.FileUndoManager.CommandType</a> </td> <td class="paramname"><em>op</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Emitted when a job that has been recorded by FileUndoManager.recordJob() or FileUndoManager.recordCopyJob has been finished. The command is now available for an undo-operation. <dl class="since" compact><dt><b>Since:</b></dt><dd> 4.2 </dd></dl> </p><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("jobRecordingFinished(KIO::FileUndoManager::CommandType)"), target_slot)</code></dd></dl></div></div><a class="anchor" name="jobRecordingStarted"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> jobRecordingStarted</td> <td>(</td> <td class="paramtype"><a href="../kio/KIO.FileUndoManager.html#CommandType">KIO.FileUndoManager.CommandType</a> </td> <td class="paramname"><em>op</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Emitted when a job recording has been started by FileUndoManager.recordJob() or FileUndoManager.recordCopyJob(). After the job recording has been finished, the signal jobRecordingFinished() will be emitted. <dl class="since" compact><dt><b>Since:</b></dt><dd> 4.2 </dd></dl> </p><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("jobRecordingStarted(KIO::FileUndoManager::CommandType)"), target_slot)</code></dd></dl></div></div><a class="anchor" name="undoAvailable"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> undoAvailable</td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>avail</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p><dl class="return" compact><dt><b>Returns:</b></dt><dd> true if undo is possible. Usually used for enabling/disabling the undo action. </dd></dl> </p><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("undoAvailable(bool)"), target_slot)</code></dd></dl></div></div><a class="anchor" name="undoJobFinished"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> undoJobFinished</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">)</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("undoJobFinished()"), target_slot)</code></dd></dl></div></div><a class="anchor" name="undoTextChanged"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> undoTextChanged</td> <td>(</td> <td class="paramtype">QString </td> <td class="paramname"><em>text</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><dl compact><dt><b>Signal syntax:</b></dt><dd><code>QObject.connect(source, SIGNAL("undoTextChanged(const QString&)"), target_slot)</code></dd></dl></div></div><hr><h2>Method Documentation</h2><a class="anchor" name="FileUndoManager"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"></div></div><a class="anchor" name="currentCommandSerialNumber"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">long currentCommandSerialNumber</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"></div></div><a class="anchor" name="newCommandSerialNumber"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">long newCommandSerialNumber</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>These two functions are useful when wrapping FileUndoManager and adding custom commands. Each command has a unique ID. You can get a new serial number for a custom command with newCommandSerialNumber(), and then when you want to undo, check if the command FileUndoManager would undo is newer or older than your custom command. </p></div></div><a class="anchor" name="recordCopyJob"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> recordCopyJob</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kio/KIO.CopyJob.html">KIO.CopyJob</a> </td> <td class="paramname"><em>copyJob</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Record this CopyJob while it's happening and add a command for it so that the user can undo it. The signal jobRecordingStarted() is emitted. </p></div></div><a class="anchor" name="recordJob"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> recordJob</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kio/KIO.FileUndoManager.html#CommandType">KIO.FileUndoManager.CommandType</a> </td> <td class="paramname"><em>op</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdecore/KUrl.List.html">KUrl.List</a> </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kdecore/KUrl.html">KUrl</a> </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kio/KIO.Job.html">KIO.Job</a> </td> <td class="paramname"><em>job</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Record this job while it's happening and add a command for it so that the user can undo it. The signal jobRecordingStarted() is emitted. </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>op</em> </td><td> the type of job - which is also the type of command that will be created for it <tr><td></td><td valign="top"><em>src</em> </td><td> list of source urls <tr><td></td><td valign="top"><em>dst</em> </td><td> destination url <tr><td></td><td valign="top"><em>job</em> </td><td> the job to record </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="setUiInterface"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> setUiInterface</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../kio/KIO.FileUndoManager.UiInterface.html">KIO.FileUndoManager.UiInterface</a> </td> <td class="paramname"><em>ui</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Set a new UiInterface implementation. This deletes the previous one. </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>ui</em> </td><td> the UiInterface instance, which becomes owned by the undo manager. </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="uiInterface"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../kio/KIO.FileUndoManager.UiInterface.html">KIO.FileUndoManager.UiInterface</a> uiInterface</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p><dl class="return" compact><dt><b>Returns:</b></dt><dd> the UiInterface instance passed to setUiInterface. This is useful for calling setParentWidget on it. Never delete it! </dd></dl> </p></div></div><a class="anchor" name="undo"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"> undo</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Undoes the last command Remember to call uiInterface()->setParentWidget(parentWidget) first, if you have multiple mainwindows. </p></div></div><a class="anchor" name="undoAvailable"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool undoAvailable</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p><dl class="return" compact><dt><b>Returns:</b></dt><dd> true if undo is possible. Usually used for enabling/disabling the undo action. </dd></dl> </p></div></div><a class="anchor" name="undoText"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString undoText</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p><dl class="return" compact><dt><b>Returns:</b></dt><dd> the current text for the undo action. </dd></dl> </p></div></div><hr><h2>Static Method Documentation</h2><a class="anchor" name="self"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname"><a href="../kio/KIO.FileUndoManager.html">KIO.FileUndoManager</a> self</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">)</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p><dl class="return" compact><dt><b>Returns:</b></dt><dd> the FileUndoManager instance </dd></dl> </p></div></div><hr><h2>Enumeration Documentation</h2><a class="anchor" name="CommandType"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr><td class="memname">CommandType</td> </tr> </table> </div> <div class="memdoc"><p>The type of job. </p> <p> Put: <dl class="since" compact><dt><b>Since:</b></dt><dd> 4.7, represents the creation of a file from data in memory. Used when pasting data from clipboard or drag-n-drop. </dd></dl> </p><dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"><tr><td valign="top"><em>Copy</em> </td><td><tr><td valign="top"><em>Move</em> </td><td><tr><td valign="top"><em>Rename</em> </td><td><tr><td valign="top"><em>Link</em> </td><td><tr><td valign="top"><em>Mkdir</em> </td><td><tr><td valign="top"><em>Trash</em> </td><td><tr><td valign="top"><em>Put</em> </td><td></table> </dl> </div></div><p> </div> </div> </div> <div id="left"> <div class="menu_box"> <div class="nav_list"> <ul> <li><a href="../allclasses.html">Full Index</a></li> </ul> </div> <a name="cp-menu" /><div class="menutitle"><div> <h2 id="cp-menu-project">Modules</h2> </div></div> <div class="nav_list"> <ul><li><a href="../akonadi/index.html">akonadi</a></li> <li><a href="../dnssd/index.html">dnssd</a></li> <li><a href="../kdecore/index.html">kdecore</a></li> <li><a href="../kdeui/index.html">kdeui</a></li> <li><a href="../khtml/index.html">khtml</a></li> <li><a href="../kio/index.html">kio</a></li> <li><a href="../knewstuff/index.html">knewstuff</a></li> <li><a href="../kparts/index.html">kparts</a></li> <li><a href="../kutils/index.html">kutils</a></li> <li><a href="../nepomuk/index.html">nepomuk</a></li> <li><a href="../phonon/index.html">phonon</a></li> <li><a href="../plasma/index.html">plasma</a></li> <li><a href="../polkitqt/index.html">polkitqt</a></li> <li><a href="../solid/index.html">solid</a></li> <li><a href="../soprano/index.html">soprano</a></li> </ul></div></div> </div> </div> <div class="clearer"/> </div> <div id="end_body"></div> </div> <div id="footer"><div id="footer_text"> This documentation is maintained by <a href="mailto:simon@simonzone.com">Simon Edwards</a>.<br /> KDE<sup>®</sup> and <a href="../images/kde_gear_black.png">the K Desktop Environment<sup>®</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div></div> </body> </html>