<?xml version="1.0" ?>
<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
]>
<article lang="&language;">
<articleinfo>
<authorgroup>
<author><firstname>Ben</firstname><surname>Cooksley</surname></author>
<author>&Anne-Marie.Mahfouf;</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<date>2009-02-14</date>
<releaseinfo>&kde; 4.2.1</releaseinfo>

<keywordset>
<keyword>KDE</keyword>
<keyword>System Settings</keyword>
<keyword>Solid</keyword>
<keyword>actions</keyword>
<keyword>devices</keyword>
<keyword>hardware</keyword>
</keywordset>
</articleinfo>

<sect1 id="kcm_solid_actions">
<title><guilabel>Actions for new devices</guilabel></title>
<sect2 id="icons-intro">
<title>Introduction</title>

<para>This module allows you to set up the actions you want to associate when
you plug new devices.</para>
<para>
<screenshot>
<screeninfo>Screenshot of the Device Actions Manager</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="main.png" format="PNG"/>
    </imageobject>
     <textobject>
      <phrase>Screenshot of the Device Actions Manager</phrase>
    </textobject>
  </mediaobject>
</screenshot>
</para>

<para>You will see listed all of the possible actions that are available when
devices are plugged in.
Please note that they will only be available under certain conditions.</para>

<itemizedlist>
<listitem><para><guibutton>Add Action</guibutton>
   This will ask you to supply a name for your new action, then will open that
action for editing.
   If you do not supply all the required details in that dialog, then your
action will be deleted.
</para></listitem>
<listitem><para>
<guibutton>Edit Action</guibutton>
   This will allow you to change the Name, Icon, command to execute 
   and the conditions the action must match to be shown. 
</para></listitem>
<listitem><para>
<guibutton>Revert Modifications / Cannot be deleted / Delete Action</guibutton>
   This will do different actions, depending on if it was supplied with your
system or created by you.
   You can only revert changes to system wide actions, if there are no changes
then these actions cannot be deleted.
   User created actions are completely deleted, including all changes.
</para></listitem>
</itemizedlist>

</sect2>

<sect2 id="add-action">
<title>Add Action</title>

<para>
The <guibutton>Add Action</guibutton> button brings you a dialog to enter the
new action name.
</para>
<para>
<screenshot>
<screeninfo>Screenshot of the Add Action dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add-action.png" format="PNG"/>
    </imageobject>
     <textobject>
      <phrase>Screenshot of the Add Action dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
</para>
<para>
The action name should correctly describe the action. After entering a name and
clicking <guibutton>OK</guibutton>, the Edit Action dialog will show to allow
you to set up the action properties.
</para>
</sect2>

<sect2 id="edit-action">
<title>Edit Action</title>

<para>This dialog allows you to change the settings of the action you
selected.</para>
<para>
<screenshot>
<screeninfo>Screenshot of the Edit Action dialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="edit-action.png" format="PNG"/>
    </imageobject>
     <textobject>
      <phrase>Screenshot of the Edit Action dialog</phrase>
    </textobject>
  </mediaobject>
</screenshot>
</para>
<para>
This includes the icon, the action name, the action command and the various
requirements.
You can change the icon by clicking on it. The requirements are displayed in a
tree, the top item having to be true in order for the action to be shown. Each
item can be either a "Container" or a "Requirement", which is selected when 
that item was added. Only Containers can have items below them. </para>

<para>Containers can be one of two types, which will determine how they match
their conditions. Either all or at least one of the conditions
must match.</para>

<para>Requirements can also be different types. If the device matches them, they
are true, otherwise they are false.</para>
<variablelist>
<varlistentry><term><guibutton>Add Requirement</guibutton></term>
<listitem>
<para>This is only available for containers and allows you to select type of the requirement,
and provide some of its initial details.</para>
</listitem>
</varlistentry>

<varlistentry><term><guibutton>Edit Requirement</guibutton></term>
<listitem>
<para>
This can only be performed when a valid item is selected. It allows you to edit
the various details of that particular item type.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guibutton>Delete Requirement</guibutton></term>
<listitem>
<para>
This is available for all items, except the root item. If a container contains
any requirements, they will also be deleted.                
</para>
</listitem>
</varlistentry>
</variablelist>

</sect2>
<sect2 id="edit-requirement">
<title>Edit Requirement</title>

<para>This dialog allows you to change the various details about a container and
will display different information,
depending on what type of item it is.</para>
<variablelist>
<varlistentry><term><guibutton>Container Type</guibutton></term>
<listitem>
<para>
You can only change one setting, the logic match. This is either "All must
match" or "Any can match". This will be used when determining if the container
is true.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guibutton>Item type</guibutton></term>
<listitem>
<para>
This has many settings, with additional ones available for some
sub-types.</para>
<para>
<variablelist>
<varlistentry><term><guilabel>Restriction type</guilabel></term>
<listitem>
<para>
Only two settings are available: "Is value type" and
"Compare value to". "Is value type" checks to ensure the device is of the
selected device type. "Compare value to" compares a value of the device with
what you specify.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Device Type</guilabel></term>
<listitem>
<para>You can select the device type here. This is used for
limiting the selection of values for comparing values, and direct matches for the
device type selected.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Value Name</guilabel></term>
<listitem>
<para>
This is only visible for "Compare value to". It allows you to
select a device value to check.
</para>
</listitem>
</varlistentry>
<varlistentry><term><guilabel>Equals/Doesn't Equal</guilabel></term>
<listitem>
<para>
This determines what kind of match we are looking
for when comparing the value. The text to check is specified beside it.
</para>
</listitem>
</varlistentry>
</variablelist>

</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
</article>

<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

vim:tabstop=2:shiftwidth=2:expandtab
kate: space-indent on; indent-width 2; tab-width 2; indent-mode none;
-->
