Documentation/Source/eric6.Preferences.ConfigurationDialog.html

changeset 3673
e26d7d0c1088
child 4213
0bbb56fc9e65
diff -r f0cb7579c0b4 -r e26d7d0c1088 Documentation/Source/eric6.Preferences.ConfigurationDialog.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.Preferences.ConfigurationDialog.html	Sat Jul 05 12:29:15 2014 +0200
@@ -0,0 +1,594 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.Preferences.ConfigurationDialog</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.Preferences.ConfigurationDialog</h1>
+<p>
+Module implementing a dialog for the configuration of eric6.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#ConfigurationDialog">ConfigurationDialog</a></td>
+<td>Class for the dialog variant.</td>
+</tr><tr>
+<td><a href="#ConfigurationPageItem">ConfigurationPageItem</a></td>
+<td>Class implementing a QTreeWidgetItem holding the configuration page data.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget">ConfigurationWidget</a></td>
+<td>Class implementing a dialog for the configuration of eric6.</td>
+</tr><tr>
+<td><a href="#ConfigurationWindow">ConfigurationWindow</a></td>
+<td>Main window class for the standalone dialog.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="ConfigurationDialog" ID="ConfigurationDialog"></a>
+<h2>ConfigurationDialog</h2>
+<p>
+    Class for the dialog variant.
+</p><h3>Signals</h3>
+<dl>
+<dt>masterPasswordChanged(str, str)</dt>
+<dd>
+emitted after the master
+        password has been changed with the old and the new password
+</dd><dt>preferencesChanged()</dt>
+<dd>
+emitted after settings have been changed
+</dd>
+</dl>
+<h3>Derived from</h3>
+QDialog
+<h3>Class Attributes</h3>
+<table>
+<tr><td>DefaultMode</td></tr><tr><td>HelpBrowserMode</td></tr><tr><td>TrayStarterMode</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#ConfigurationDialog.__init__">ConfigurationDialog</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#ConfigurationDialog.__masterPasswordChanged">__masterPasswordChanged</a></td>
+<td>Private slot to handle the change of the master password.</td>
+</tr><tr>
+<td><a href="#ConfigurationDialog.__preferencesChanged">__preferencesChanged</a></td>
+<td>Private slot to handle a change of the preferences.</td>
+</tr><tr>
+<td><a href="#ConfigurationDialog.accept">accept</a></td>
+<td>Public method to accept the dialog.</td>
+</tr><tr>
+<td><a href="#ConfigurationDialog.getConfigurationPageName">getConfigurationPageName</a></td>
+<td>Public method to get the page name of the current page.</td>
+</tr><tr>
+<td><a href="#ConfigurationDialog.setPreferences">setPreferences</a></td>
+<td>Public method called to store the selected values into the preferences storage.</td>
+</tr><tr>
+<td><a href="#ConfigurationDialog.showConfigurationPageByName">showConfigurationPageByName</a></td>
+<td>Public slot to show a named configuration page.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="ConfigurationDialog.__init__" ID="ConfigurationDialog.__init__"></a>
+<h4>ConfigurationDialog (Constructor)</h4>
+<b>ConfigurationDialog</b>(<i>parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationWidget.DefaultMode</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+The parent widget of this dialog. (QWidget)
+</dd><dt><i>name</i></dt>
+<dd>
+The name of this dialog. string
+</dd><dt><i>modal</i></dt>
+<dd>
+Flag indicating a modal dialog. (boolean)
+</dd><dt><i>fromEric=</i></dt>
+<dd>
+flag indicating a dialog generation from within the
+            eric6 ide (boolean)
+</dd><dt><i>displayMode=</i></dt>
+<dd>
+mode of the configuration dialog
+            (DefaultMode, HelpBrowserMode, TrayStarterMode)
+</dd>
+</dl><a NAME="ConfigurationDialog.__masterPasswordChanged" ID="ConfigurationDialog.__masterPasswordChanged"></a>
+<h4>ConfigurationDialog.__masterPasswordChanged</h4>
+<b>__masterPasswordChanged</b>(<i>oldPassword, newPassword</i>)
+<p>
+        Private slot to handle the change of the master password.
+</p><dl>
+<dt><i>oldPassword</i></dt>
+<dd>
+current master password (string)
+</dd><dt><i>newPassword</i></dt>
+<dd>
+new master password (string)
+</dd>
+</dl><a NAME="ConfigurationDialog.__preferencesChanged" ID="ConfigurationDialog.__preferencesChanged"></a>
+<h4>ConfigurationDialog.__preferencesChanged</h4>
+<b>__preferencesChanged</b>(<i></i>)
+<p>
+        Private slot to handle a change of the preferences.
+</p><a NAME="ConfigurationDialog.accept" ID="ConfigurationDialog.accept"></a>
+<h4>ConfigurationDialog.accept</h4>
+<b>accept</b>(<i></i>)
+<p>
+        Public method to accept the dialog.
+</p><a NAME="ConfigurationDialog.getConfigurationPageName" ID="ConfigurationDialog.getConfigurationPageName"></a>
+<h4>ConfigurationDialog.getConfigurationPageName</h4>
+<b>getConfigurationPageName</b>(<i></i>)
+<p>
+        Public method to get the page name of the current page.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+page name of the current page (string)
+</dd>
+</dl><a NAME="ConfigurationDialog.setPreferences" ID="ConfigurationDialog.setPreferences"></a>
+<h4>ConfigurationDialog.setPreferences</h4>
+<b>setPreferences</b>(<i></i>)
+<p>
+        Public method called to store the selected values into the preferences
+        storage.
+</p><a NAME="ConfigurationDialog.showConfigurationPageByName" ID="ConfigurationDialog.showConfigurationPageByName"></a>
+<h4>ConfigurationDialog.showConfigurationPageByName</h4>
+<b>showConfigurationPageByName</b>(<i>pageName</i>)
+<p>
+        Public slot to show a named configuration page.
+</p><dl>
+<dt><i>pageName</i></dt>
+<dd>
+name of the configuration page to show (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="ConfigurationPageItem" ID="ConfigurationPageItem"></a>
+<h2>ConfigurationPageItem</h2>
+<p>
+    Class implementing a QTreeWidgetItem holding the configuration page data.
+</p>
+<h3>Derived from</h3>
+QTreeWidgetItem
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#ConfigurationPageItem.__init__">ConfigurationPageItem</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#ConfigurationPageItem.getPageName">getPageName</a></td>
+<td>Public method to get the name of the associated configuration page.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="ConfigurationPageItem.__init__" ID="ConfigurationPageItem.__init__"></a>
+<h4>ConfigurationPageItem (Constructor)</h4>
+<b>ConfigurationPageItem</b>(<i>parent, text, pageName, iconFile</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+parent widget of the item (QTreeWidget or
+            QTreeWidgetItem)
+</dd><dt><i>text</i></dt>
+<dd>
+text to be displayed (string)
+</dd><dt><i>pageName</i></dt>
+<dd>
+name of the configuration page (string)
+</dd><dt><i>iconFile</i></dt>
+<dd>
+file name of the icon to be shown (string)
+</dd>
+</dl><a NAME="ConfigurationPageItem.getPageName" ID="ConfigurationPageItem.getPageName"></a>
+<h4>ConfigurationPageItem.getPageName</h4>
+<b>getPageName</b>(<i></i>)
+<p>
+        Public method to get the name of the associated configuration page.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+name of the configuration page (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="ConfigurationWidget" ID="ConfigurationWidget"></a>
+<h2>ConfigurationWidget</h2>
+<p>
+    Class implementing a dialog for the configuration of eric6.
+</p><h3>Signals</h3>
+<dl>
+<dt>accepted()</dt>
+<dd>
+emitted to indicate acceptance of the changes
+</dd><dt>masterPasswordChanged(str, str)</dt>
+<dd>
+emitted after the master
+        password has been changed with the old and the new password
+</dd><dt>preferencesChanged()</dt>
+<dd>
+emitted after settings have been changed
+</dd><dt>rejected()</dt>
+<dd>
+emitted to indicate rejection of the changes
+</dd>
+</dl>
+<h3>Derived from</h3>
+QWidget
+<h3>Class Attributes</h3>
+<table>
+<tr><td>DefaultMode</td></tr><tr><td>HelpBrowserMode</td></tr><tr><td>TrayStarterMode</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#ConfigurationWidget.__init__">ConfigurationWidget</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__filterChildItems">__filterChildItems</a></td>
+<td>Private method to filter child items based on a filter string.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__filterTextChanged">__filterTextChanged</a></td>
+<td>Private slot to handle a change of the filter.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__importConfigurationPage">__importConfigurationPage</a></td>
+<td>Private method to import a configuration page module.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__initLexers">__initLexers</a></td>
+<td>Private method to initialize the dictionary of preferences lexers.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__initPage">__initPage</a></td>
+<td>Private method to initialize a configuration page.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__setupUi">__setupUi</a></td>
+<td>Private method to perform the general setup of the configuration widget.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.__showConfigurationPage">__showConfigurationPage</a></td>
+<td>Private slot to show a selected configuration page.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.accept">accept</a></td>
+<td>Public slot to accept the buttonBox accept signal.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.calledFromEric">calledFromEric</a></td>
+<td>Public method to check, if invoked from within eric.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.getConfigurationPageName">getConfigurationPageName</a></td>
+<td>Public method to get the page name of the current page.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.getLexers">getLexers</a></td>
+<td>Public method to get a reference to the lexers dictionary.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.getPage">getPage</a></td>
+<td>Public method to get a reference to the named page.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.on_applyButton_clicked">on_applyButton_clicked</a></td>
+<td>Private slot called to apply the settings of the current page.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
+<td>Private slot called by a button of the button box clicked.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.on_resetButton_clicked">on_resetButton_clicked</a></td>
+<td>Private slot called to reset the settings of the current page.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.setPreferences">setPreferences</a></td>
+<td>Public method called to store the selected values into the preferences storage.</td>
+</tr><tr>
+<td><a href="#ConfigurationWidget.showConfigurationPageByName">showConfigurationPageByName</a></td>
+<td>Public slot to show a named configuration page.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="ConfigurationWidget.__init__" ID="ConfigurationWidget.__init__"></a>
+<h4>ConfigurationWidget (Constructor)</h4>
+<b>ConfigurationWidget</b>(<i>parent=None, fromEric=True, displayMode=DefaultMode</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+The parent widget of this dialog. (QWidget)
+</dd><dt><i>fromEric=</i></dt>
+<dd>
+flag indicating a dialog generation from within the
+            eric6 ide (boolean)
+</dd><dt><i>displayMode=</i></dt>
+<dd>
+mode of the configuration dialog
+            (DefaultMode, HelpBrowserMode, TrayStarterMode)
+</dd>
+</dl><dl>
+<dt>Raises <b>RuntimeError</b>:</dt>
+<dd>
+raised to indicate an invalid dialog mode
+</dd>
+</dl><a NAME="ConfigurationWidget.__filterChildItems" ID="ConfigurationWidget.__filterChildItems"></a>
+<h4>ConfigurationWidget.__filterChildItems</h4>
+<b>__filterChildItems</b>(<i>parent, filter</i>)
+<p>
+        Private method to filter child items based on a filter string.
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent item (QTreeWidgetItem)
+</dd><dt><i>filter</i></dt>
+<dd>
+filter string (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating a visible child item (boolean)
+</dd>
+</dl><a NAME="ConfigurationWidget.__filterTextChanged" ID="ConfigurationWidget.__filterTextChanged"></a>
+<h4>ConfigurationWidget.__filterTextChanged</h4>
+<b>__filterTextChanged</b>(<i>filter</i>)
+<p>
+        Private slot to handle a change of the filter.
+</p><dl>
+<dt><i>filter</i></dt>
+<dd>
+text of the filter line edit (string)
+</dd>
+</dl><a NAME="ConfigurationWidget.__importConfigurationPage" ID="ConfigurationWidget.__importConfigurationPage"></a>
+<h4>ConfigurationWidget.__importConfigurationPage</h4>
+<b>__importConfigurationPage</b>(<i>name</i>)
+<p>
+        Private method to import a configuration page module.
+</p><dl>
+<dt><i>name</i></dt>
+<dd>
+name of the configuration page module (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the configuration page module
+</dd>
+</dl><a NAME="ConfigurationWidget.__initLexers" ID="ConfigurationWidget.__initLexers"></a>
+<h4>ConfigurationWidget.__initLexers</h4>
+<b>__initLexers</b>(<i></i>)
+<p>
+        Private method to initialize the dictionary of preferences lexers.
+</p><a NAME="ConfigurationWidget.__initPage" ID="ConfigurationWidget.__initPage"></a>
+<h4>ConfigurationWidget.__initPage</h4>
+<b>__initPage</b>(<i>pageData</i>)
+<p>
+        Private method to initialize a configuration page.
+</p><dl>
+<dt><i>pageData</i></dt>
+<dd>
+data structure for the page to initialize
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the initialized page
+</dd>
+</dl><a NAME="ConfigurationWidget.__setupUi" ID="ConfigurationWidget.__setupUi"></a>
+<h4>ConfigurationWidget.__setupUi</h4>
+<b>__setupUi</b>(<i></i>)
+<p>
+        Private method to perform the general setup of the configuration
+        widget.
+</p><a NAME="ConfigurationWidget.__showConfigurationPage" ID="ConfigurationWidget.__showConfigurationPage"></a>
+<h4>ConfigurationWidget.__showConfigurationPage</h4>
+<b>__showConfigurationPage</b>(<i>itm, column</i>)
+<p>
+        Private slot to show a selected configuration page.
+</p><dl>
+<dt><i>itm</i></dt>
+<dd>
+reference to the selected item (QTreeWidgetItem)
+</dd><dt><i>column</i></dt>
+<dd>
+column that was selected (integer) (ignored)
+</dd>
+</dl><a NAME="ConfigurationWidget.accept" ID="ConfigurationWidget.accept"></a>
+<h4>ConfigurationWidget.accept</h4>
+<b>accept</b>(<i></i>)
+<p>
+        Public slot to accept the buttonBox accept signal.
+</p><a NAME="ConfigurationWidget.calledFromEric" ID="ConfigurationWidget.calledFromEric"></a>
+<h4>ConfigurationWidget.calledFromEric</h4>
+<b>calledFromEric</b>(<i></i>)
+<p>
+        Public method to check, if invoked from within eric.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating invocation from within eric (boolean)
+</dd>
+</dl><a NAME="ConfigurationWidget.getConfigurationPageName" ID="ConfigurationWidget.getConfigurationPageName"></a>
+<h4>ConfigurationWidget.getConfigurationPageName</h4>
+<b>getConfigurationPageName</b>(<i></i>)
+<p>
+        Public method to get the page name of the current page.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+page name of the current page (string)
+</dd>
+</dl><a NAME="ConfigurationWidget.getLexers" ID="ConfigurationWidget.getLexers"></a>
+<h4>ConfigurationWidget.getLexers</h4>
+<b>getLexers</b>(<i></i>)
+<p>
+        Public method to get a reference to the lexers dictionary.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the lexers dictionary
+</dd>
+</dl><a NAME="ConfigurationWidget.getPage" ID="ConfigurationWidget.getPage"></a>
+<h4>ConfigurationWidget.getPage</h4>
+<b>getPage</b>(<i>pageName</i>)
+<p>
+        Public method to get a reference to the named page.
+</p><dl>
+<dt><i>pageName</i></dt>
+<dd>
+name of the configuration page (string)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the page or None, indicating page was
+            not loaded yet
+</dd>
+</dl><a NAME="ConfigurationWidget.on_applyButton_clicked" ID="ConfigurationWidget.on_applyButton_clicked"></a>
+<h4>ConfigurationWidget.on_applyButton_clicked</h4>
+<b>on_applyButton_clicked</b>(<i></i>)
+<p>
+        Private slot called to apply the settings of the current page.
+</p><a NAME="ConfigurationWidget.on_buttonBox_clicked" ID="ConfigurationWidget.on_buttonBox_clicked"></a>
+<h4>ConfigurationWidget.on_buttonBox_clicked</h4>
+<b>on_buttonBox_clicked</b>(<i>button</i>)
+<p>
+        Private slot called by a button of the button box clicked.
+</p><dl>
+<dt><i>button</i></dt>
+<dd>
+button that was clicked (QAbstractButton)
+</dd>
+</dl><a NAME="ConfigurationWidget.on_resetButton_clicked" ID="ConfigurationWidget.on_resetButton_clicked"></a>
+<h4>ConfigurationWidget.on_resetButton_clicked</h4>
+<b>on_resetButton_clicked</b>(<i></i>)
+<p>
+        Private slot called to reset the settings of the current page.
+</p><a NAME="ConfigurationWidget.setPreferences" ID="ConfigurationWidget.setPreferences"></a>
+<h4>ConfigurationWidget.setPreferences</h4>
+<b>setPreferences</b>(<i></i>)
+<p>
+        Public method called to store the selected values into the preferences
+        storage.
+</p><a NAME="ConfigurationWidget.showConfigurationPageByName" ID="ConfigurationWidget.showConfigurationPageByName"></a>
+<h4>ConfigurationWidget.showConfigurationPageByName</h4>
+<b>showConfigurationPageByName</b>(<i>pageName, setCurrent=True</i>)
+<p>
+        Public slot to show a named configuration page.
+</p><dl>
+<dt><i>pageName</i></dt>
+<dd>
+name of the configuration page to show (string)
+</dd><dt><i>setCurrent</i></dt>
+<dd>
+flag indicating to set the current item (boolean)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
+<a NAME="ConfigurationWindow" ID="ConfigurationWindow"></a>
+<h2>ConfigurationWindow</h2>
+<p>
+    Main window class for the standalone dialog.
+</p>
+<h3>Derived from</h3>
+E5MainWindow
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#ConfigurationWindow.__init__">ConfigurationWindow</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#ConfigurationWindow.accept">accept</a></td>
+<td>Public slot called by the Ok button.</td>
+</tr><tr>
+<td><a href="#ConfigurationWindow.showConfigurationPageByName">showConfigurationPageByName</a></td>
+<td>Public slot to show a named configuration page.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="ConfigurationWindow.__init__" ID="ConfigurationWindow.__init__"></a>
+<h4>ConfigurationWindow (Constructor)</h4>
+<b>ConfigurationWindow</b>(<i>parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="ConfigurationWindow.accept" ID="ConfigurationWindow.accept"></a>
+<h4>ConfigurationWindow.accept</h4>
+<b>accept</b>(<i></i>)
+<p>
+        Public slot called by the Ok button.
+</p><a NAME="ConfigurationWindow.showConfigurationPageByName" ID="ConfigurationWindow.showConfigurationPageByName"></a>
+<h4>ConfigurationWindow.showConfigurationPageByName</h4>
+<b>showConfigurationPageByName</b>(<i>pageName</i>)
+<p>
+        Public slot to show a named configuration page.
+</p><dl>
+<dt><i>pageName</i></dt>
+<dd>
+name of the configuration page to show (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file

eric ide

mercurial