<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY krecipes "<application>Krecipes</application>">
  <!ENTITY kappname "&krecipes;"><!-- replace kapp here, do *not* replace kappname-->
  <!ENTITY package "extragear/utils"><!-- kdebase, kdeadmin, etc -->
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE"><!-- change language only here -->
  
  
  <!-- Do not define any other entities; instead, use the entities
       from kde-genent.entities and $LANG/user.entities. -->
]>

<!-- The language must NOT be changed here. -->

<book lang="&language;">

<!-- This header contains all of the meta-information for the document such
as Authors, publish date, the abstract, and Keywords -->

<bookinfo>
<title>The <emphasis>&krecipes;</emphasis> Handbook</title>

<authorgroup>
<author>
<firstname>Colleen</firstname>
<surname>Beamer</surname>
<affiliation>
<address><email>colleen.beamer&#064;gmail.com</email></address>
</affiliation>
</author>
<author>
<firstname>Jason</firstname>
<surname>Kivlighn</surname>
<affiliation>
<address><email>jkivlighn&#064;gmail.com</email></address>
</affiliation>
</author>
</authorgroup>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

<copyright>
<year>2004-2005</year>
<holder>Colleen Beamer and Jason Kivlighn</holder>
</copyright>
<!-- Translators: put here the copyright notice of the translation -->
<!-- Put here the FDL notice.  Read the explanation in fdl-notice.docbook 
     and in the FDL itself on how to use it. -->
<legalnotice>&FDLNotice;</legalnotice>

<!-- Date and version information of the documentation
Don't forget to include this last date and this last revision number, we
need them for translation coordination !
Please respect the format of the date (YYYY-MM-DD) and of the version
(V.MM.LL), it could be used by automation scripts.
Do NOT change these in the translation. -->

<date>2005-11-29</date>
<releaseinfo>0.9</releaseinfo>

<!-- Abstract about this handbook -->

<abstract>
<para>
<emphasis>&krecipes;</emphasis> is an application to manage recipes.
</para>
</abstract>

<!-- This is a set of Keywords for indexing by search engines.
Please at least include KDE, the KDE package it is in, the name
 of your application, and a few relevant keywords. -->

<keywordset>
<keyword>KDE</keyword>
<keyword>kdeextragear</keyword>
<keyword>Krecipes</keyword>
<keyword>cookbook</keyword>
<keyword>recipes</keyword>
</keywordset>

</bookinfo>

<!-- The contents of the documentation begin here.  Label
each chapter so with the id attribute. This is necessary for two reasons: it
allows you to easily reference the chapter from other chapters of your
document, and if there is no ID, the name of the generated HTML files will vary
from time to time making it hard to manage for maintainers and for the CVS
system. Any chapter labelled (OPTIONAL) may be left out at the author's
discretion. Other chapters should not be left out in order to maintain a
consistent documentation style across all KDE apps. -->

<chapter id="introduction">
<title>Introduction</title>

<!-- The introduction chapter contains a brief introduction for the
application that explains what it does and where to report
problems. Basically a long version of the abstract.  Don't include a
revision history. (see installation appendix comment) -->

<para>
<emphasis>&krecipes;</emphasis> is a program that lets you to manage your recipes, create shopping lists, choose a recipe based on available ingredients and plan your menu/diet in advance.
</para>
</chapter>

<chapter id="using-krecipes">
<title>Using <emphasis>&krecipes;</emphasis></title>

<!-- This chapter should tell the user how to use your app. You should use as
many sections (Chapter, Sect1, Sect3, etc...) as is necessary to fully document
your application. -->

<!-- Note that all graphics should be in .png format. Use no gifs because of
patent issues. -->

<sect1 id="getting-familiar">
<title>Getting Familiar</title>

<para>
When <emphasis>&krecipes;</emphasis> starts, the window displays the following components &mdash;
</para>

<itemizedlist>
<listitem><para>A menubar containing selections for <guimenu>File</guimenu>, <guimenu>Edit</guimenu>, <guimenu>Tools</guimenu>, <guimenu>Settings</guimenu>, and <guimenu>Help</guimenu></para></listitem>
<listitem><para>A toolbar with icons for <guiicon>New</guiicon>, <guiicon>Save</guiicon>, and <guiicon>Print</guiicon></para></listitem>
<listitem><para>A left-hand pane containing icons depicting and buttons for access to the various components of <emphasis>&krecipes;</emphasis></para></listitem>
<listitem><para>A right-hand pane, which is the main <emphasis>&krecipes;</emphasis> window, that by default contains a recipe category list</para></listitem>
</itemizedlist>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the main &krecipes; window.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="krecipes-main.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Main <emphasis>&krecipes;</emphasis> Screen</para></caption>
	</mediaobject>
</screenshot>
</para>

</sect1>

<sect1 id="find-edit">
<title>Finding and Editing Recipes</title>

<para>
By default, <emphasis>&krecipes;</emphasis> starts with the <quote>Find/Edit Recipes</quote> component selected in the left pane of the window.
</para>

<note><para>This section describes the method of finding recipes in the <quote>Find/Edit Recipes</quote> component.  For more specific details on <emphasis>Editing</emphasis> recipes, see the section <link linkend="edit-recipe">Editing Saved Recipes</link></para>
</note>

<para>With the <guibutton>Find/Edit Recipes</guibutton> component button selected, the main <emphasis>&krecipes;</emphasis> window displays the following &mdash;</para>
 
<itemizedlist><listitem><para>A title showing the name of the component selected</para></listitem>
<listitem><para><emphasis><guilabel>Basic</guilabel></emphasis> (the default) and <emphasis><guilabel>Advanced</guilabel></emphasis> tabs</para></listitem>
<listitem><para>A textbox to <userinput>enter search criteria</userinput></para></listitem>
<listitem><para>A drop-down menu for selecting the recipe category to search, or which can be used to select a single category of recipes to display</para></listitem>
<listitem><para>A list of all recipe categories</para></listitem>
<listitem><para>Buttons for <guibutton>Open</guibutton>, <guibutton>Edit</guibutton> and <guibutton>Delete</guibutton> for performing the corresponding action on a recipe</para></listitem>
</itemizedlist>

<tip><para>For more information on the basic search functionality, click the <guiicon><inlinemediaobject><imageobject><imagedata fileref="krectip.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> icon in the bottom, right-hand corner of the pane containing the component list.</para></tip>

<para> With the <emphasis><guilabel>Basic</guilabel></emphasis> tab active and the list of recipe categories displayed, when a category is selected, it will automatically expand to show your recipes and/or subcategories if there are any.  From this list, you may select a recipe to open, edit or delete (see the section <link linkend="edit-recipe">Editing Saved Recipes</link> for more information).  Additionally, if you <action>hover the mouse pointer</action> over any recipe title, a <interface>dialog box</interface> will appear showing the recipe title and the date that it was <emphasis>created</emphasis>, <emphasis>modified</emphasis> and <emphasis>last accessed</emphasis>.</para>

<sect2 id="right-click-menu">
<title>The "Right-Click" Menu</title>

<para><emphasis>&krecipes;</emphasis> allows a multitude of ways to perform various actions on your recipes.  These actions are described in their corresponding sections in this Handbook.  However, in addition to the various key combinations and/or menu selections, <action>right-clicking</action> on a recipe in the Basic search pane will bring up a menu from which the following actions can be selected &mdash;</para>

<itemizedlist>
<listitem><para>Open &ndash; Opens the selected recipe.</para></listitem>
<listitem><para>Edit &ndash; Open the selected recipe for editing.</para></listitem>
<listitem><para>Export &ndash; Exports the selected recipe.  See the section <link linkend="export-recipe">Exporting Recipes to Other Formats</link> for a complete description of this function.</para></listitem>
<listitem><para>Remove From Category &ndash; Removes the recipe from its current category and places it in the <emphasis>Uncategorized</emphasis> group.  From the <emphasis>Uncategorized</emphasis> group, the recipe can be selected for editing to re-categorize it.  See the section <link linkend="edit-recipe">Editing Saved Recipes</link> for more information.</para></listitem>
<listitem><para>Delete &ndash; Deletes the recipe from the database.</para></listitem>
<listitem><para>Add to Shopping List &ndash; Adds the selected recipe to your shopping list.  See the section <link linkend="shopping-list">The Shopping List</link> for information regarding the use of the Shopping List.</para></listitem>
<listitem><para>Copy to Clipboard &ndash; Makes a copy of the recipe and places in on the clipboard so that it can be pasted into another application for example, an e-mail.  The format of the copy is dependent on what is selected as a preference.  For a complete description of the <quote>Copy to Clipboard</quote> functionality, see the section <link linkend="copy-clipboard">Copying to the Clipboard</link>.</para></listitem>
</itemizedlist>

</sect2>

<sect2 id="advanced-tab">
<title>The Advanced Tab</title>
<para>
The purpose of the <emphasis><guilabel>Advanced</guilabel></emphasis> tab is to provide advanced search capability.  Queries for recipes can be made based on nine search criteria, alone or in combination &mdash; 
</para>

<itemizedlist>

<listitem><para>Title</para></listitem>

<listitem><para>Ingredients</para></listitem>

<listitem><para>Categories</para></listitem>

<listitem><para>Authors</para></listitem>

<listitem><para>Yield</para></listitem>

<listitem><para>Preparation Time</para></listitem>

<listitem><para>Instructions</para></listitem>

<listitem><para>Meta Data</para></listitem>

<listitem><para>Ratings</para></listitem>

</itemizedlist>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the available components in the &krecipes; Advanced Search tab.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="adv-search-parts.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The <emphasis>&krecipes;</emphasis> Advanced Search Components</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>When the <emphasis><guilabel>Advanced</guilabel></emphasis> tab is selected, the components will be collapsed and show &gt;&gt; beside the label of the component.  To expand a section, simply click on the label of the component.  Conversely, with the component expanded,  &lt;&lt; will show beside the label and clicking on the label will collapse the section.</para>

<note><para>A section can be collaped simply to get it out of the way when it is not needed for a search.  However, if you enter search criteria in any one of the search components, you can close the component and the search criteria will still be considered in the search.</para></note>


<para>For all search components in the <emphasis><guilabel>Advanced</guilabel></emphasis> tab, click the <guibutton>Search</guibutton> button to initiate the search once all desired search criteria have been selected.  Clicking the <guibutton>Clear</guibutton> button will clear the search selections and the search results.</para>

<note><para>Only recipes meeting ALL criteria will display!  No matter which parameters are used for the recipe search, should no recipes meeting the specified criteria be found, the message <quote>&mdash; No matching recipes found &mdash;</quote> will display in the recipe list area.</para></note>

<para>The various components are used as follows &mdash;</para>

<sect3 id="using-adv-title">
<title>The Title Search</title>

<para>Enter words that appear as part of the recipe title, for example, <emphasis>Chicken Rice</emphasis>.  Using these words, recipes that contain the words <quote>Chicken</quote>, or <quote>Rice</quote>, or <emphasis>both</emphasis> in the title will appear in your results.  However, if you click the tickbox beside the <emphasis><guilabel>Require All Words</guilabel></emphasis> label, only those recipes that have both <quote>Chicken</quote> <emphasis>AND</emphasis> <quote>Rice</quote> in the title will be found.</para>

</sect3>

<sect3 id="using-adv-ingredients">
<title>The Ingredients Search</title>

<para>In the <emphasis><guilabel>Ingredients</guilabel></emphasis> component of the <emphasis><guilabel>Advanced</guilabel></emphasis> tab, single or multi-word ingredients can be searched for. Single word ingredients are entered in the text box with a space between each ingredient.  Multi-word ingredients are enclosed in quotes, for example, "ice cream".</para>

<para>Searches may also be done using wild cards &ndash; <quote>*</quote> to replace any number of characters, or <quote>?</quote> to replace a single character.  For an explanation on the use of wildcards, see the section <link linkend="using-wildcards">Using Wildcards in Searches</link>.</para>

<note><para>Although the ingredient that you are searching for might appear in the title of the recipe listed in the search results, it is the ingredient that has caused a particular recipe to show in the list, NOT the fact that the ingredient name might appear in the title.</para></note>

<para>Recipes can be searched for based on various criteria &mdash;</para>

<itemizedlist>

<listitem><para><emphasis><guilabel>Uses all:</guilabel></emphasis> &ndash; If the search terms are entered in this text box, it is being stated that the recipe(s) <emphasis>MUST</emphasis> contain all ingredients listed and therefore, only those recipes that contain <emphasis>ALL</emphasis> ingredients will be returned as results of the search.</para></listitem>

<listitem><para><emphasis><guilabel>Uses any of:</guilabel></emphasis> &ndash; If the search terms are entered in this text box, it is being stated that the recipe(s) <emphasis>MAY</emphasis> contain any of the ingredients specified.  The search results will return recipes that contain <emphasis>ANY OR ALL</emphasis> of the ingredients.</para></listitem>

<listitem><para><emphasis><guilabel>Without:</guilabel></emphasis> &ndash; If the search terms are entered in this text box, it is being specified that the recipes returned as results of the search <emphasis>MUST NOT</emphasis> contain <emphasis>ANY</emphasis> of the listed ingredients.</para></listitem>

</itemizedlist>

</sect3>

<sect3 id="using-adv-categories">
<title>The Categories Search</title>

<para>As in the <emphasis><guilabel>Ingredients</guilabel></emphasis> component of the <emphasis><guilabel>Advanced</guilabel></emphasis> tab, search parameters in the <emphasis><guilabel>Categories</guilabel></emphasis> component are entered with a space between each parameter, or enclosed in quotes for multi-word parameters.  You can also use wildcards for searching categories.  See the section, <link linkend="using-wildcards">Using Wildcards in Searches</link> for an explanation on the use of wildcards.</para>

<para>Searching for recipes in <emphasis><guilabel>Categories</guilabel></emphasis> is done by specifying the criteria on which you wish to base the search as follows &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>In all:</guilabel></emphasis> &ndash; indicates that the recipes returned in the search should be in all the categories listed. This search might be used if you are looking for a recipe that appears in the <emphasis>Dessert</emphasis> category and also, in the <emphasis>Cakes</emphasis> category.</para></listitem>
<listitem><para><emphasis><guilabel>In any of:</guilabel></emphasis> &ndash; is specifying that recipes returned in the search may be from <emphasis>ANY</emphasis> of the categories, but a recipe may not necessarily be found in all categories listed.</para></listitem>
<listitem><para><emphasis><guilabel>Not in:</guilabel></emphasis> &ndash; is indicating that the recipes returned in the search <emphasis>MUST NOT</emphasis> be from the categories listed.</para></listitem>
</itemizedlist>

<para>The use of the <emphasis><guilabel>Categories</guilabel></emphasis> search is most useful when combined with other search parameters.</para>

<para>In the following screenshot, it is being specified that recipes should be searched for in the <emphasis>Chicken</emphasis> and <emphasis>Main Dishes</emphasis> categories.</para> 

<para>
<screenshot>
<screeninfo>Here's a screenshot of a completed search in &krecipes; specifying a category only.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="adv-cat-search.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Advanced Search &ndash; Category Only Specified</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>In this screenshot, recipes are still being searched for in the <emphasis>Chicken</emphasis> and <emphasis>Main Dishes</emphasis> categories.  However, recipes that contain some form of the word <quote>tomato</quote> (note the use of the wildcard) are being excluded.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of a completed search in <emphasis>&krecipes;</emphasis> specifying a category and and additional criteria.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="adv-srch-multi.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Advanced Search - Ingredient and Category Specified</para></caption>
	</mediaobject>
</screenshot>
</para>

</sect3>

<sect3 id="using-adv-authors">
<title>The Authors Search</title>

<para>Are you looking for a recipe given to you by a certain person or input into <emphasis>&krecipes;</emphasis> from a specific magazine?  The <emphasis><guilabel>Authors</guilabel></emphasis> component of the <emphasis><guilabel>Advanced</guilabel></emphasis> tab allows you to find that recipe!</para>

<para>As with the searches previously described, you can search using wildcards.  For a description of using wildcards, see the section <link linkend="using-wildcards">Using Wildcards in Searches</link>.  Names are entered with a space between if, for instance, you are searching for a recipe by only a first name.  Whole names, or for situations where you have entered a magazine name as the recipe source (Author), the name is entered enclosed in quotes, for example, <quote><emphasis>Jason Kivlighn</emphasis></quote>, or <quote><emphasis>Vegetarian Times</emphasis></quote>.</para>

<para>Searches can be performed in the following ways &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>By any of:</guilabel></emphasis> &ndash; This search would be used if the recipes desired are by <emphasis>ANY</emphasis> of the authors listed in the text box.</para></listitem>
<listitem><para><emphasis><guilabel>By all:</guilabel></emphasis> &ndash; This search would be used in situations where recipes have <quote>co-authors</quote>.  An example of this would be:  <emphasis><quote>Canadian Living Cooks</quote></emphasis>  <emphasis><quote>Elizabeth Baird</quote></emphasis>.  This would return only recipes where <emphasis>Canadian Living Cooks</emphasis> and <emphasis>Elizabeth Baird</emphasis> are both listed as the recipe source/author.</para></listitem>
<listitem><para><emphasis><guilabel>Not by:</guilabel></emphasis> &ndash; This search would be used when you want to exclude certain authors from your search.</para></listitem>
</itemizedlist>

</sect3>

<sect3 id="using-adv-yield">
<title>The Yield Search</title>

<para>The <emphasis><guilabel>Yield</guilabel></emphasis> component in the <emphasis><guilabel>Advanced</guilabel></emphasis> tab is slightly different from the searches described thus far in that it must be <emphasis>Enabled</emphasis> in order to have it utilized in the search criteria.</para>

<para>To enable <emphasis><guilabel>Yield</guilabel></emphasis> as a criteria for your search, click the tick box beside the <emphasis><guilabel>Enabled</guilabel></emphasis> label.  Once you have designated this to be part of your search, you can define the yield by selecting from the drop-down menu as follows &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>Yields at least:</guilabel></emphasis> &ndash; This would be specified if you want the recipe(s) to be able to provide a minimum number of portions.  The recipe(s) returned COULD yield <emphasis>MORE</emphasis> than this number, but it cannot yield less.</para></listitem>
<listitem><para><emphasis><guilabel>Yields at most:</guilabel></emphasis> &ndash; This would be specified if you want recipe(s) that are returned in the search to yield <emphasis>NO MORE THAN</emphasis> a specified number of portions.</para></listitem>
<listitem><para><emphasis><guilabel>Yields about:</guilabel></emphasis> &ndash; This would be used to approximate the number of portions you want in the recipe(s). The recipes(s) returned could yield <emphasis>SLIGHTLY MORE</emphasis> or <emphasis>SLIGHTLY LESS</emphasis> than a specified number of portions.</para></listitem>
</itemizedlist>

<para>After defining the type of search that is desired, the spinbox next to the drop-down menu is used to increment (or decrement) the actual <emphasis>yield amount</emphasis> that goes along with the defined parameters.</para>

<note><para>When inputting recipes, a <emphasis>yield type</emphasis>, for example, <emphasis>servings</emphasis> or <emphasis>dozen</emphasis> is allowed.  Keep in mind that when including <emphasis>Yield</emphasis> as a search parameter, using a yield of 2 in a search will return results for 2 dozen, 2 servings, 2 loaves, but will <emphasis>NOT</emphasis> return results for 24 cookies, 24 squares, etc., even though these are technically 2 dozen.</para></note>

</sect3>

<sect3 id="using-adv-preptime">
<title>The Preparation Time Search</title>

<para>The <emphasis><guilabel>Preparation Time</guilabel></emphasis> component in the <emphasis><guilabel>Advanced</guilabel></emphasis> tab is used in the same manner as the <emphasis><guilabel>Yield</guilabel></emphasis> component.  It must be <emphasis>Enabled</emphasis> in order to have it utilized in the search criteria.</para>

<para>To enable <emphasis><guilabel>Preparation Time</guilabel></emphasis> as a criteria for your search, click the tick box beside the <emphasis><guilabel>Enabled</guilabel></emphasis> label.  Once you have designated this to be part of your search, you can define the time criteria by selecting from the drop-down menu as follows &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>Ready in at most:</guilabel></emphasis> &ndash; This would be utilized if you want the recipe(s) to be ready within a specified time frame.  The recipe(s) returned COULD be ready in <emphasis>LESS THAN</emphasis> or <emphasis>EXACTLY</emphasis> the time specified, but cannot be ready in greater than the time chosen for preparation.</para></listitem>
<listitem><para><emphasis><guilabel>Ready in about:</guilabel></emphasis> &ndash; This choice allows some flexibility and would be used to approximate the time needed to prepare the recipe.  The recipe(s) that are returned in the search can be ready in <emphasis>SLIGHTLY MORE</emphasis>, <emphasis>EXACTLY</emphasis>, or <emphasis>SLIGHTLY LESS</emphasis> than the time specified for preparation.</para></listitem>

</itemizedlist>

<para>After defining the type of search that is desired, the spinbox next to the drop-down menu is used to increment (or decrement) the actual <emphasis>time</emphasis> parameter.  Select the digits before the <emphasis>&#058;</emphasis> symbol to increment the hour portion of the time and then select the digits after the <emphasis>&#058;</emphasis> symbol to increment the minute portion of the time.  The hour and minute parameters can be used alone or in combination.</para>
</sect3>

<sect3 id="using-adv-instructions">
<title>The Instructions Search</title>

<para>Are you interested in finding a recipe that contains certain instructions or is prepared a certain way?  The <emphasis><guilabel>Instructions</guilabel></emphasis> component in the <emphasis><guilabel>Advanced</guilabel></emphasis> tab allows you to search the recipe instructions for specific terms that might include a preparation method, such as <quote><emphasis>Bake at 350</emphasis></quote>, or a suggested garnish.  However, these are just examples of how this component might be used.  Any term(s) that might appear in the <emphasis>Instructions</emphasis> of a recipe can be used.</para>

<para>To utilize the <emphasis><guilabel>Instructions</guilabel></emphasis> search, simply type the keyword or keywords in the text box beside the <emphasis><guilabel>Keywords:</guilabel></emphasis> label.  Enter keywords separated by spaces, or multi-word instructions enclosed in quotes.  Wild cards can also be used.  For instructions on the use of wildcards, see the section <link linkend="using-wildcards">Using Wildcards in Searches</link>.</para>

<para>Should you require that the search contain all the keywords listed, click the tick box beside the <emphasis><guilabel>Require All Words</guilabel></emphasis> label.</para>

</sect3>

<sect3 id="using-adv-meta">
<title>The Meta Data Search</title>

<para>By definition, <emphasis>Meta Data</emphasis> is <quote>data about data</quote>, or expressed another way, is <quote>information that describes another set of data</quote>.  The <emphasis><guilabel>Meta Data</guilabel></emphasis> component in the <emphasis><guilabel>Advanced</guilabel></emphasis> tab allows you to search your recipes based on information about them, as follows &mdash;</para> 

<itemizedlist>
<listitem><para><emphasis><guilabel>Created:</guilabel></emphasis> &ndash; This is the date that the recipe was created on.</para></listitem>
<listitem><para><emphasis><guilabel>Modified:</guilabel></emphasis> &ndash; This is the date that the last revision was made to the recipe.</para></listitem>
<listitem><para><emphasis><guilabel>Last accessed:</guilabel></emphasis> &ndash; This is the date that the recipe was last opened or <quote>used</quote>.</para></listitem>
</itemizedlist>

<para>For each of the <emphasis>Meta Data</emphasis> descriptions, the date may be entered as an exact date if this is known or desired, or as a <quote>date range</quote>.  Dates are interpreted in the format that has been set within the &kde; environment.  For example, if the date format has been set to display as DD-MM-YYYY, you may enter the date directly into the text box in the format of "DD-MM-YY".  When entering the date, the two initial digits of the year may be entered, but are not absolutely necessary.  However, it is imperative that you use the exact separator <abbrev>i.e.</abbrev> the dash (&ndash;), in the example, as set in the date format in &kde;.  You may also use the drop-down arrow beside the box in which you want to enter the date to reveal a calendar.</para>

<caution><para>If you choose to enter the date directly into the text box and are using a <emphasis>date range</emphasis> as opposed to an exact date, ensure that the dates for the start and end of the range are entered in the same format.  For example, if you enter the starting date for the range in the format of "DD-MM-YY" and the ending date for the range in the format of "DD/MM/YY", either no recipes will be found or the results returned will include only those recipes that fit the criteria for the starting date, if this date agrees with the format as set in &kde;.</para></caution>

<sect4 id="use-calendar">
<title>Using the Calendar Interface</title>

<para>The calendar allows you to easily navigate though months and years to select any date.</para>

<para>When the calendar is revealed, the current month is shown and the current day is highlighted.  Below the calendar is a text box, which shows the date and beside this a drop-down menu that displays the specific week of the year.</para>

<para>One way to select a date would be to use the drop-down menu to select a particular week in the year, for example <guimenuitem>Week 26</guimenuitem>.  Doing this will change the date in the text box and will also position the highlighted date in the calendar to the beginning of Week 26. Note that <emphasis>Monday</emphasis> is used as the starting day for the week.  To use a date from this week either, click the highlighted date in the calendar, or select another date from the week and the date will be transferred to the <emphasis>Meta Data</emphasis> text box where the calendar was utilized.</para>

<para>Below the text box that is displaying the date at the beginning of the chosen week of the year (or the current week if no choice has been made), there is a list of additional choices for date selection.  Specifically, these are: &ndash; <emphasis>Today</emphasis>, <emphasis>Yesterday</emphasis>, <emphasis>Last Week</emphasis>, and <emphasis>Last Month</emphasis>.  Clicking on one of these selections, will result in this date being shown in the <emphasis>Meta Data</emphasis> text box being used. It should be noted here that each of the choices is relevant to today's date.  For instance, if today's date is the 15th, clicking the <guibutton>Today</guibutton> would place today's date in the <emphasis>Meta Data</emphasis> text box being used.  Clicking <guibutton>Yesterday</guibutton> would, of course, place yesterday's date in the box.  <guibutton>Last Week</guibutton> would place the date that is one week ago today in the box.  <guibutton>Last Month</guibutton> would place last month's date that corresponds to today's date in the box, in the example from above, the 15th of the previous month.</para>

<para>Additionally, the calendar itself can be utilized to navigate to a specific date.  When the arrow beside the text box in which you want to display the date is clicked, thus revealing the calendar, there are a number of ways to select a date &mdash;</para>

<itemizedlist>
<listitem><para>Click on the month displayed &ndash; This will reveal a list from which you can select a desired month.</para></listitem>
<listitem><para>Click on the year displayed &ndash; This is reveal a text box that displays the current year, but in which another year can be entered.</para></listitem>
</itemizedlist>

<para>To the left and right of the month and year heading on the calendar, there are arrows that can be used to navigate through various months and years.  Clicking on the <guiicon><inlinemediaobject><imageobject><imagedata  fileref="1leftarrow.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> icon will reveal the previous month's calendar.  Conversely, clicking the <guiicon><inlinemediaobject><imageobject><imagedata fileref="1rightarrow.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> icon will advance the calendar to the next month.</para>

<para>Navigating between years is done in the same manner, but the <guiicon><inlinemediaobject><imageobject><imagedata fileref="2leftarrow.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> is used to navigate to previous years and the <guiicon><inlinemediaobject><imageobject><imagedata fileref="2rightarrow.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> is used to navigate to following years.  In each case, once a date is selected, it will be transferred to the text box at the point where the calendar was selected.</para>

</sect4>
</sect3>

<sect3 id="using-adv-ratings">
<title>The Ratings Search</title>
<para>When a Rating search is selected, it can be done in two ways &mdash;</para>

<orderedlist>
<listitem><para>By average:</para></listitem>
<listitem><para>By criteria:</para></listitem>
</orderedlist>

<sect4 id="avg-rating-srch">
<title>Searching by Average Rating</title>
<para>If you choose to search by average rating, select the <emphasis>Radio Button</emphasis> beside the <emphasis><emphasis><guilabel>By average:</guilabel></emphasis></emphasis> label.  Then, enter a numerical value in the text box that precedes the label <emphasis><emphasis><guilabel>stars</guilabel></emphasis></emphasis>.  This value is the average of the number of stars assigned to each parameter under which the recipe was rated and can be a fixed value or a range, for example <emphasis>3-4</emphasis> stars.  Fractional amounts are also permitted, for example, 3.5.</para>

<para>Once you have entered your search parameters, click the <guibutton>Search</guibutton> button and the recipes that meet the search criteria will display under the <emphasis><emphasis><guilabel>Title</guilabel></emphasis></emphasis> label on the right.  Should no recipes meet the criteria, <emphasis>--- No matching recipes found ---</emphasis> will display.</para>
</sect4>

<sect4 id="rating-criteria-srch">
<title>Searching by Rating Criteria</title>
<para>To search by rating criteria, select the <emphasis>Radio Button</emphasis> beside the <emphasis><guilabel>By criteria:</guilabel></emphasis> label.  First, select the criteria that you want to use for your rating from the drop down menu.  In the text box next to this, enter the value of the number of stars for which you want recipes displayed, for example, 4.  Entry is permitted in the following formats &mdash;</para>

<itemizedlist>
<listitem><para>whole numbers, e.g. 3</para></listitem>
<listitem><para>numbers that include fractional amounts, e.g. 3.5</para></listitem>
<listitem><para>whole number ranges, e.g. 3-4</para></listitem>
<listitem><para>ranges that include fractional amounts, e.g. 3.5-4</para></listitem>
</itemizedlist>

<para>Note that, if you enter a fractional amount, for instance, 3.5, it will display in the format that you have chosen for your preferences when transferred to the listbox &ndash; <abbrev>i.e.</abbrev>3.5 will display as 3.5 if you have chosen numbers to display in decimal format, or 3&#189; if you have chosen numbers to display as fractions.  See the section <link linkend="custom-formatting">Customizing Formatting</link> for an explanation of setting formatting preferences.</para>

<para>Additionally, if no range is specified, the search will find recipes that have an assigned star rating in a range of &#177;&#189; of the value entered, 3&#189; to 4&#189; stars in the example.</para>

<para>Once you have chosen the parameters by which you want to search, click the <guibutton>+</guibutton> beside the text box in which you entered the number of stars to have the criteria added to the list.  More than one criteria may be utilized in the search.    Once you have entered your search parameters, click the <guibutton>Search</guibutton> button and the recipes that meet the search criteria will display under the <emphasis><guilabel>Title</guilabel></emphasis> label on the right.  Should no recipes meet the criteria, <emphasis>--- No matching recipes found ---</emphasis> will display.</para>
</sect4>

</sect3>
</sect2>

<sect2 id="using-wildcards">
<title>Using Wildcards in Searches</title>

<para><emphasis>Wildcards</emphasis> are a single character used to replace either multiple or single characters in a text string.  Wildcards supported in <emphasis>&krecipes;</emphasis> are the <quote>*</quote> and <quote>?</quote> characters.  The  <quote>*</quote> character is used to replace any number of characters in a string, while the <quote>?</quote> is used to replace a single character.  Both can be used to replace any alpha-numeric character, including a space.</para>

<para><emphasis>Examples of Wildcard Searches</emphasis></para>

<informaltable>
<tgroup cols="2">
<thead><row><entry>Wildcard Search</entry><entry>Possible Results Returned</entry></row></thead>
<tbody>
<row>
<entry>chick*</entry><entry><itemizedlist><listitem><para>chicken broth</para></listitem><listitem><para>chicken breast</para></listitem><listitem><para>chicken</para></listitem></itemizedlist></entry>
</row>

<row><entry>can*cherries</entry><entry><itemizedlist><listitem><para>canned cherries</para></listitem><listitem><para>candied red cherries</para></listitem><listitem><para>candied green cherries</para></listitem></itemizedlist></entry></row>

<row><entry>egg?</entry><entry><itemizedlist><listitem><para>egg</para></listitem><listitem><para>eggs</para></listitem></itemizedlist></entry></row>
</tbody>
</tgroup>
</informaltable>


</sect2>

</sect1>

<sect1 id="enter-edit-recipes">
<title>Entering and Editing Recipes</title>

<sect2 id="add-recipe">
<title>Adding a New Recipe</title>

<para>To add a new recipe, click on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="filenew.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> icon that appears in the first position on the <emphasis>&krecipes;</emphasis> toolbar.  The <quote>Edit Recipe</quote> screen will display.
</para>

<para>The <quote>Edit Recipe</quote> screen has four tabs.  Each permits entry of a different aspect of the recipe.  These tabs are &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>Recipe</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Ingredients</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Instructions</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Ratings</guilabel></emphasis></para></listitem>

</itemizedlist>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the recipe entry screen showing the 4 tabs.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="enter-recipe-tabs.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Recipe Entry Interface</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>It should also be noted that in the left-hand pane of the window, a button shows at the bottom of the component list that initially displays <quote>Write the recipe title here</quote>.  This will change to the name of the recipe once it has been entered.</para> 

</sect2>

<sect2 id="recipe-description">
<title>The Recipe Description</title>

<sect3 id="recipe-name">
<title>Adding the Recipe Name</title>
<para>The title of the recipe is entered in the textbox containing the prompt <quote>Write the recipe title here</quote>.</para>
</sect3>

<sect3 id="recipe-author">
<title>Adding the Recipe Author/Contributor</title>

<para>To enter an author for the recipe, click on the <guibutton>+</guibutton> that appears to the right of the <quote>Authors</quote> box.</para>

<para>A window will appear where the author or contributor of the recipe can be selected from the drop-down menu.  Once selected, transfer the name to the list box below by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="down.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button that appears to the right of the drop-down menu.</para>

<tip><itemizedlist><listitem><para>An author's name can be typed directly into the textbox and transferred to the list box as described above.  As you start entering characters, if there are authors that match the text string typed, the menu will display a list of existing choices from which you can choose to transfer the author's name to the list box, as described above.</para>

<para>However, in the situation where the author does not exist in your list, no choices will be listed and when you click the <guiicon><inlinemediaobject><imageobject><imagedata fileref="down.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button to transfer the author to the listbox, an alert box will appear with the message <quote>A new author "<emphasis>Name of New Author</emphasis>" was  successfully added to the list of authors</quote>.  Also see <link linkend="authors-component">The Authors Component.</link> for information on adding an author to the list.</para></listitem>

<listitem><para>An author may also be removed from the list by clicking the <guiicon><inlinemediaobject><imageobject><imagedata fileref="up.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button.</para></listitem>
</itemizedlist>
</tip>

<para>Click on the <guibutton>OK</guibutton> button to accept.  The window will close and the name of the selected author will appear under the heading.</para>

<para>To cancel selection of an author, click on the <guibutton>Cancel</guibutton> button.</para>

</sect3>

<sect3 id="recipe-category">
<title>Selecting the Recipe Category</title>

<para>Next, the recipe category is selected by clicking on the <guibutton>+</guibutton> beside the category box.</para>

<para>To select a category, click on the checkbox beside the category name and click the <guibutton>OK</guibutton> button to accept the selection or, the <guibutton>Cancel</guibutton> button to cancel the selection.  Either way, the window will close.</para>

<tip><para>It is also possible to add a category here.  Simply click on the <guibutton>New Category...</guibutton> button.  Add a new category in the same manner as described in the section entitled <link linkend="categories-component">The Categories Component</link>.</para></tip>

</sect3>

<sect3 id="set-yield">
<title>Setting the The Yield Amount and Type</title>

<para>Setting the the amount that the recipe will yield is performed by entering a value in the textbox beneath the <emphasis><emphasis><guilabel>Amount</guilabel></emphasis></emphasis> label.  It is possible to enter a numerical range for this number, for example, 3-4.  When entering a range, if an incorrect value or format is entered, the entry will turn red indicating that a correction is necessary.</para>

<para>The second part of entering a yield is to enter the <emphasis>type</emphasis>.  This is done by entering text in the text box beneath the <emphasis><emphasis><guilabel>Type</guilabel></emphasis></emphasis> label.  The text entered can be anything you choose that is appropriate for the recipe yield type, for example, <emphasis>servings</emphasis>, <emphasis>dozen</emphasis>, or <emphasis>squares</emphasis>.</para>

</sect3>

<sect3 id="prep-time">
<title>Specifying Preparation Time</title>

<para>The time it takes to prepare a recipe is done utilizing a spinbox.</para>

<para>However, the time must be specified in two steps &mdash;</para>

<orderedlist>
<listitem><para>Select the digits prior to the <emphasis>&#058;</emphasis> symbol that specify the hours and increment the time until the desired number is reached.</para></listitem>

<listitem><para>Select the digits after to the <emphasis>&#058;</emphasis> symbol that specify the minutes and increment the time until the desired number is reached.</para></listitem>
</orderedlist>

</sect3>

<sect3 id="photo-change">
<title>Changing the Default Photo</title>

<para>In the <emphasis><guilabel>Recipe</guilabel></emphasis> tab, the displayed photo can also be changed by clicking on the <guibutton>...</guibutton> button and selecting a photo for insertion.  Alternatively, a  photo may be inserted by dragging a graphic from any other application, for example a web page, and dropping it onto the photo in the Recipe tab while in edit mode.</para>

<note><para>The change in the graphic applies <emphasis>only to the current recipe</emphasis>.</para></note>

<tip><itemizedlist><listitem><para>To revert to the original, <emphasis>&krecipes;</emphasis> graphic, click on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="clear_left.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button.  This can be done before the recipe is saved or after saving it.</para></listitem>
<listitem><para>To display NO photo in the recipe, refer to the section <link linkend="displayed-items">Selecting Items to Display</link> for further instructions.</para></listitem>
</itemizedlist>
</tip>

<para>
<screenshot>
<screeninfo>Here's a screenshot of a completed recipe description in the Recipe tab of the &krecipes; recipe entry interface.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="recipe-description-tab.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>New Recipe Entry &ndash; The Completed Recipe Tab</para></caption>
	</mediaobject>
</screenshot>
</para>

</sect3>
</sect2>

<sect2 id="ingredients-tab">
<title>Entering Recipe Ingredients</title>

<para>To enter the recipe ingredients, click on the <emphasis><guilabel>Ingredients</guilabel></emphasis> tab.  By default, the radio button beside the label <emphasis><guilabel>Ingredient:</guilabel></emphasis> is selected.  However, <emphasis>&krecipes;</emphasis> also allows the entry of a <emphasis><guilabel>Header:</guilabel></emphasis> by selecting the radio button beside this label.</para>

<para>Ideally, the header should be created first, for example <quote>Cake</quote> or <quote>Frosting</quote>.  To do this, ensure that the <emphasis><guilabel>Header:</guilabel></emphasis> radio button is selected. Enter the desired name for the header in the textbox then, press the <keycap>Enter</keycap> key, or click the <guibutton>Add ingredient</guibutton> button located at the top right-hand side of the ingredient list.  Once this is done, the radio button will automatically revert to the <emphasis><guilabel>Ingredient:</guilabel></emphasis> selection.  Then, ingredients can be entered.  You will note that as you enter each ingredient, it will appear below the header indented in a <quote>file tree</quote> type of format.</para>

<note><para>Although it is ideal to enter the header first and then the ingredients associated with that header, you can also enter the header after entering the ingredients.  Enter the header as described above, then move the ingredient into the header by utilizing the <guiicon><inlinemediaobject><imageobject><imagedata fileref="down.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> or <guiicon><inlinemediaobject><imageobject><imagedata fileref="up.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button to position the ingredient until it appears indented below the appropriate header.</para></note>

<para> Ingredients are entered by filling in the appropriate textbox under the headings &mdash;</para>

<itemizedlist>
<listitem><para>Ingredient: &ndash; the ingredient is entered here, for example, Sugar</para>

<tip><itemizedlist><listitem><para>Type in the first few letters of the ingredient.  If it exists in the ingredient list, it will appear in the textbox <quote>grayed-out</quote>.  To select the gray-out ingredient, tab to the next textbox.</para></listitem>

<listitem><para>The Ingredient can also be selected from the <quote>drop-down</quote> menu.</para></listitem></itemizedlist>

</tip>
</listitem>

<listitem><para>Amount: &ndash; the amount of the ingredient required, for example, &#189; or 1-2 --> note that <emphasis>&krecipes;</emphasis> will allow the entry of ranges for ingredients</para></listitem>

<listitem><para>Unit: &ndash; the unit of measurement, for example, <emphasis>tsp.</emphasis>  When you enter a unit, if it does not exist in your <emphasis>Units list</emphasis>, it will automatically be added and a dialog box will appear prompting for the entry of a plural for the unit.  Enter the plural in the textbox beside the label <emphasis><guilabel>Plural:</guilabel></emphasis>.  For more information on adding and maintaining units of measure, see <link linkend="units-component">The Units Component</link>.</para></listitem>

<listitem><para>Preparation Method: &ndash; the method of preparing the ingredient, for example, <emphasis>chopped</emphasis></para>

<tip><para>The Preparation Method can also be selected from a drop-down menu.</para></tip></listitem>

</itemizedlist>

<para>To add the ingredient to the ingredient list, simply press the <keycap>Enter</keycap> key.</para>

<para>Alternatively, click on the <guibutton>Add Ingredient</guibutton> button on the right-hand side of the ingredient list.</para>

<note><itemizedlist>
<listitem><para>Once the ingredient has been added, the textboxes will retain the information from the previous ingredient.  The ingredient should be highlighted, in which case it is possible to just start typing.  However, if this is not the case, simply delete the entry and start typing the new ingredient information.</para></listitem>

<listitem><para>If a particular field is not required to describe an ingredient and it has information retained from a previous ingredient, simply delete the information.  <emphasis>A field can be left blank if not required</emphasis>!</para></listitem>

<listitem><para>An ingredient may be removed from the list by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="no.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button to the right of the ingredient list.</para></listitem>

<listitem><para>An ingredient may also be repositioned in the list by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="up.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> or the <guiicon><inlinemediaobject><imageobject><imagedata fileref="down.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button that appear on the right of the ingredient list.</para></listitem>

<listitem><para>Once an ingredient has been transferred to the ingredient list, the <quote>Amount</quote>, <quote>Units</quote> and <quote>Preparation Method</quote> fields may be edited by double-clicking on the particular component that needs to be changed.</para>  </listitem> 
</itemizedlist></note>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the completed Ingredients tab in the <emphasis>&krecipes;</emphasis> recipe entry interface.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="recipe-ingredients-tab.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Entering Ingredients &ndash; Ranges for the <emphasis>Amount</emphasis> are permitted</para></caption>
	</mediaobject>
</screenshot>
</para>

<sect3 id="ratings-tab">
<title>Adding Recipe Ratings</title>
<para><emphasis>&krecipes;</emphasis> allows you to rate your recipes!  Ratings by multiple people are allowed, so each of your recipe <quote>tasters</quote> can provide their own input.  Additionally, each rating can include multiple rating parameters.  The default parameters against which you can rate your recipe are &mdash;</para>

<itemizedlist>
<listitem><para>Taste</para></listitem>
<listitem><para>Appearance</para></listitem>
<listitem><para>Ease of Preparation</para></listitem>
<listitem><para>Originality</para></listitem>
<listitem><para>Overall</para></listitem>
</itemizedlist>

<para>Initially, in the <emphasis><emphasis><guilabel>Ratings</guilabel></emphasis></emphasis> tab, there is only a blank screen with the <guibutton>Add Rating...</guibutton> button at the bottom.  Clicking this button will start the interface for entering ratings.</para>

<para>The <emphasis>Ratings</emphasis> interface is comprised of the following elements &mdash;</para>

<itemizedlist>
<listitem><para>Rater: &ndash; this is the name of the person providing their opinion of the recipe</para>
<para>To complete this element <userinput>enter the rater's name</userinput> in the text box that appears beside the label <emphasis><emphasis><guilabel>Rater:</guilabel></emphasis></emphasis>.</para></listitem>

<listitem><para>Criteria: &ndash; this is the criteria on which the recipe is rated</para>
<para>Select the criteria against which you want to rate the recipe from the drop-down menu that appears beside the <emphasis><emphasis><guilabel>Criteria:</guilabel></emphasis></emphasis> label. Five default choices exist for rating criteria, as listed above, but if you have another against which you want to rate your recipe, it can be typed directly into the text box and will automatically be added to your rating criteria list.</para></listitem>

<listitem><para>Stars: &ndash; this is the number of stars that you wish to assign to the particular criteria that you are rating on</para>

<para>Star ratings are completed by clicking on a star.  Clicking on the left-hand side of any star will provide a &#189; star rating.  Clicking on the right-hand side of the star will provide a full star rating.</para>

<tip><para>It is unnecessary to click on each star individually.  For instance, if you are rating the recipe on the <emphasis>Taste</emphasis> criteria and you want to assign this a 4&#189; star rating, click on the left hand side of the 5th star.</para></tip>

<para>Once you have completed the star rating for the recipe, click the <guibutton>Add</guibutton> button to add the rating to the rating list.  At this point, you can continue to rate the recipe against other criteria in the same manner.</para>

<para>From within the rating list, both the rating criteria and the star rating can be edited by double clicking on either item.  The rating criteria is edited the same way any text edit is done.  To edit the star rating, double click the stars and then type the numerical value for the number of stars that you wish to assign to the rating.  Once you press the <keycap>Enter</keycap> key, the rating will show the graphical stars.</para>

<para>Should you change your mind and wish to remove any of the rating criteria, select it in your rating list and click the <guibutton>Delete</guibutton> key.</para>
</listitem>

<listitem><para>Comments: &ndash; this is any added information that you wish to note for the recipe, for example, an enhancement to improve the recipe, or a serving suggestion such as <emphasis>Great served with ice cream</emphasis></para>

<para>To enter a comment, simply position your cursor in the white space beneath the <emphasis><emphasis><guilabel>Comments:</guilabel></emphasis></emphasis> label and begin typing.</para></listitem>

</itemizedlist>

<para>Once you are satisfied with your ratings, click the <guibutton>OK</guibutton> button to complete the addition.  The <quote>smiley</quote> graphic that appears to the left of the rating list is indicative of the overall rating of the recipe, from poor to excellent.  This graphic will not appear in your recipe when it is viewed.</para>

<para>Any rating can be removed from the screen by clicking the <guibutton>Remove</guibutton> button beneath the rating that you wish to remove.  Additionally, you can use the <keycombo action="simul">&Alt;<keycap>M</keycap></keycombo> key combination.  A rating can be edited by clicking on the <guibutton>Edit...</guibutton> button.     When you choose to edit a rating, the same interface that was used to originally enter the rating is opened.  Each rating has its own <guibutton>Delete</guibutton> and <guibutton>Edit...</guibutton> buttons.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the completed Ratings tab in the &krecipes; recipe entry interface.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="ratings.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>New Recipe Entry &ndash; The Completed Ratings Tab</para></caption>
	</mediaobject>
</screenshot>
</para>
</sect3>

<sect3 id="copy-paste">
<title>Copying Recipes from Other Sources</title>
<para>Do you need an easy method of getting recipe ingredients into <emphasis>&krecipes;</emphasis>?  You can do that with the <emphasis>Copy/Paste</emphasis> functionality!</para>

<para>Find the recipe that you wish to enter into <emphasis>&krecipes;</emphasis>.  Start the interface for entering a new recipe and enter the appropriate parameters in the <emphasis><guilabel>Recipe</guilabel></emphasis> tab.  Move to the <emphasis><guilabel>Ingredients</guilabel></emphasis> tab.  Copy the recipe ingredients from your chosen source and initiate the Copy/Paste interface by clicking the <guiicon><inlinemediaobject><imageobject><imagedata fileref="editpaste.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> which appears as the last item in the group of icons to the right of the ingredient list.  The recipe ingredients will appear in the upper portion of the <interface>Ingredient Parser</interface> window.</para>

<para>Make any edits that you wish in this portion of the screen.  For example, if the recipe lists an ingredient as <emphasis>sugar</emphasis> and you know that the corresponding item in your ingredient list is <emphasis>granulated sugar</emphasis>, you may want to change this.  For any ingredient or unit that you do not alter in this portion of the screen, the ingredient and/or unit will be added to your ingredient and/or units list if it does not exist.</para>

<para>Once your ingredients are formatted to your liking, click the <guibutton>Parse Text</guibutton> button.  The ingredient list will be transferred to the lower portion of the window beneath the label <emphasis><guilabel>Ingredients as understood by &krecipes;:</guilabel></emphasis>.  From this portion of the screen, you can set any <emphasis>Headers</emphasis> by clicking on the <guibutton>Set Header</guibutton> button to the right.</para>

<para>Click the <guibutton>OK</guibutton> button that appears in the top right-hand corner of window to transfer you ingredients to your recipe.  You can also choose not to proceed with the addition of the ingredients by clicking on the <guibutton>Cancel</guibutton> button which will close the window.</para>

<para>Once the ingredients have been transferred into the ingredient list for your new recipe, they can be moved or removed as describe in the section <link linkend="ingredients-tab">Entering Recipe Ingredients</link> above.  In addition the amount, unit or preparation methods can be edited, also as described above.</para>

<para>You can now proceed to enter the recipe instructions as described below.  The method for preparing your recipe can be copied from the source that you are using and pasted into the <emphasis><guilabel>Instructions</guilabel></emphasis> tab.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the edited ingredients in the &krecipes; Parser interface.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="parser.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Completed Ingredient Parser</para></caption>
	</mediaobject>
</screenshot>
</para>

</sect3>
</sect2>

<sect2 id="instructions-tab">
<title>Entering the Recipe Instructions</title>

<para>To enter the recipe instructions, click on the <emphasis><guilabel>Instructions</guilabel></emphasis> tab.</para>

<para>Entering the recipe instructions is simple &ndash; in the whitespace provided,  simply type in the steps necessary to complete the preparation of the recipe.</para>

<para>To make absolutely sure that typing is done in the correct area, the prompt <prompt>Write the recipe instructions here</prompt> is displayed! <guiicon><inlinemediaobject><imageobject><imagedata fileref="smiley.png" format="PNG"/></imageobject></inlinemediaobject></guiicon></para>

<tip><para>A <emphasis>VERY COOL</emphasis> part of entering the recipe instructions is the <emphasis>Auto Completion</emphasis> feature!  This is a real time and effort saver if your instructions refer to many of the ingredients in your ingredient list, and/or if your ingredient names are lengthy.  This is how it works &mdash;</para>

<para>In the <quote>Apple Brown Betty</quote> recipe shown in the screenshot, we have the ingredient <quote>brown sugar</quote>.  As you begin typing <quote>brown sugar</quote> in your recipe instructions, <emphasis>&krecipes;</emphasis> will match typed characters with ingredients in your recipe ingredient list and automatically complete the remaining characters.</para>
 
<para>For example, if you type <quote>b</quote>, the characters <quote>rown sugar</quote> are the ones that will be auto-completed and inserted into the instructions.  The auto-completed characters will appear highlighted and you can choose to accept the suggested ingredient by pressing the <keycap>Enter</keycap> key.</para>
  
<para>However, suppose that in your instructions, you simply wanted to refer to <quote>brown sugar</quote> as <emphasis>sugar</emphasis> and you enter the character <quote>s</quote>.  <emphasis>&krecipes;</emphasis> will search the ingredients in your recipe and match the first ingredient beginning with <quote>s</quote> that it finds, if there is one.  If there is no ingredient in your recipe ingredient list beginning with <quote>s</quote>, nothing will happen &ndash; you will just continue typing the word <quote>sugar</quote>.</para>

<para>If there is another ingredient beginning with <quote>s</quote> in your recipe ingredient list, for instance, <emphasis>salt</emphasis>, the remaining characters, <abbrev>i.e.</abbrev> the <quote>alt</quote>, will be auto-completed and highlighted.  Simply press the <keycap>Delete</keycap> key on the keyboard to remove the unwanted characters and continue typing.  Alternatively, you can just continue typing the entire word and your instructions will remain as typed.</para></tip>

</sect2>

<sect2 id="recipe-actions">
<title>Recipe Actions</title>

<para>OK! Now that the recipe has been input, what needs to be done?</para>

<para>The following options can be selected &mdash;</para>

<itemizedlist>
<listitem><para>Spell-check &ndash; this is accomplished by clicking on the <guiicon>ABC</guiicon> icon that appears on the bar below the input area in the <emphasis><guilabel>Instructions</guilabel></emphasis> tab</para></listitem>
<listitem><para>Save &ndash; click on the <guibutton>Save</guibutton> button that appears on the bottom of the screen</para>

<tip><para>The <guibutton>Save</guibutton> button can be used to save the recipe at any point during the input.  As with any other application, when editing, it is always a good idea to save frequently!</para></tip> 
</listitem> 

<listitem><para>Show recipe &ndash; click on the <guibutton>Show recipe</guibutton> button to view the recipe</para>

<note><para>To view a recipe, it must be saved.  If the recipe has NOT been saved at the time that the <guibutton>Show recipe</guibutton> button is clicked, the following alert will appear &mdash;</para>

<para><prompt>You need to save the recipe before displaying it.  Would you like to save it now?</prompt></para>

<para>Click the <guibutton>Yes</guibutton> button to save the recipe, or the <guibutton>No</guibutton> button to close the dialog and return to the recipe entry interface.</para>

<para>If the <guibutton>Show</guibutton> button is pressed, the recipe will display.  To return to the <interface>Edit Recipe</interface> interface in the event that the recipe has not been completely entered, click on the <guibutton>Recipe Name</guibutton> button that appears at the bottom of the component list in the left-hand pane of the window.  Alternatively, <guimenu>Tools</guimenu> and <guimenuitem>Edit</guimenuitem> can be chosen from the <emphasis>&krecipes;</emphasis> menu, or select the <keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo> key combination.</para> 
</note>
</listitem>

<listitem><para>Close &ndash; click the <guibutton>Close</guibutton> button</para>

<para>Again, if the recipe has not been saved an alert will appear stating &mdash;</para>

<para><prompt>This recipe contains unsaved changes.  Would you like to save it before closing?</prompt></para>

<para>The course of action can be selected by clicking the <guibutton>Yes</guibutton> button to save, the <guibutton>No</guibutton> button to close the recipe without saving, or the <guibutton>Cancel</guibutton> button to close the dialog and return to the recipe entry interface.</para>
</listitem>

<listitem><para>Resize &ndash; click the <guibutton>Resize</guibutton> button to resize the recipe</para>

<tip><para>The recipe can be resized by either of two methods &mdash;</para>

<orderedlist>
<listitem><para>Scale by yield &ndash;</para>

<para>To scale by yield, select the <emphasis>Radio Button</emphasis> beside the <emphasis><emphasis><guilabel>Scale by yield label</guilabel></emphasis></emphasis>.  Below this and beside the <emphasis><emphasis><guilabel>Current yield:</guilabel></emphasis></emphasis> label, the current yield of your recipe is shown.  Beside the <emphasis><emphasis><guilabel>New yield:</guilabel></emphasis></emphasis>, there is a text box in which to <userinput>enter the new yield amount desired</userinput>.</para></listitem>

<listitem><para>Scale by factor &ndash;</para>

<para>To scale by factor, click the <emphasis>Radio Button</emphasis> beside the<emphasis><emphasis><guilabel>Scale by factor</guilabel></emphasis></emphasis> label.  Enter <userinput>the desired scaling factor</userinput> in the text box beside the <emphasis><emphasis><guilabel>Factor (i.e. 1/2 to half 3 to triple):</guilabel></emphasis></emphasis> label.</para></listitem>
</orderedlist>

<para>In either of these scenarios, click the <guibutton>OK</guibutton> button to continue.  Your recipe will be reproportioned appropriately.  Alternatively, click the <guibutton>Cancel</guibutton> button to close the window and return to the previous screen.</para></tip></listitem>

</itemizedlist>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the completed Instructions tab in the &krecipes; recipe entry interface.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="recipe-instructions-tab.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>New Recipe Entry &ndash; The Completed Instructions Tab</para></caption>
	</mediaobject>
</screenshot>
</para>

</sect2>

<sect2 id="edit-recipe">
<title>Editing Saved Recipes</title>


<para>The feature for editing recipes can be accessed in a number of ways.  With the <quote>Find/Edit Recipes</quote> component selected, </para>

<orderedlist><listitem><para>Select the recipe to be edited from the recipe list in the main portion of the <emphasis>&krecipes;</emphasis> window.  Click on the <guibutton>Open Recipe(s)</guibutton> button.  From the <guimenu>Tools</guimenu> menu, select <guimenuitem>Edit Recipe</guimenuitem>, or the <keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo> key combination can be pressed.</para></listitem>

<listitem><para>Select the recipe to be edited from the recipe list in the main portion of the <emphasis>&krecipes;</emphasis> window.  Click the <guibutton>Edit Recipe</guibutton> button.</para>
</listitem>
</orderedlist>

<note><para>Be sure that you have selected the recipe that you want to edit.  If a recipe is not selected, an alert box will appear displaying the message <quote>No recipe selected!</quote></para></note>

<para>Either way, the identical screen that appeared when entering a new recipe displays. <emphasis>For a complete description of this screen, refer to the section</emphasis> <link linkend="add-recipe">Adding a New Recipe</link>.</para>

<para>All aspects of the recipe can now be edited &mdash;</para>

<itemizedlist>
<listitem><para>the Recipe Name, Authors, Categories, Yield Amount, Yield Type, Preparation Time and/or graphic from the <emphasis><guilabel>Recipe</guilabel></emphasis> tab</para></listitem>
<listitem><para>the Amount, Units, and/or Preparation method for each of the listed ingredients in the <emphasis><guilabel>Ingredients</guilabel></emphasis> tab</para>
<note><para>Also in this tab, an ingredient can be added by clicking on the <guibutton>New Ingredient</guibutton> button that appears on the top, right-hand side of the ingredient list, or deleted by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="no.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button</para></note></listitem>
<listitem><para>the preparation directions from the <emphasis><guilabel>Instructions</guilabel></emphasis> tab</para></listitem>
</itemizedlist>

<para>As with entering a new recipe, the buttons <guibutton>Save Recipe</guibutton>, <guibutton>Show Recipe</guibutton>, <guibutton>Close</guibutton> and <guibutton>Resize Recipe</guibutton> are available from each of the tabs</para>

<para>While editing the recipe, if the <guibutton>Show Recipe</guibutton> button is selected, the <interface>Unsaved changes - krecipes</interface> dialog box appears stating <prompt>This recipe has changes that will not be displayed unless the recipe is saved. Would you like to save it now?</prompt>.  The <guibutton>Yes</guibutton>, <guibutton>No</guibutton> or <guibutton>Cancel</guibutton> buttons are available for selection.</para>

<para>The important detail to note is that in order to continue editing the recipe, the <interface>Edit Recipe</interface> interface must be accessed.  This can be done in a variety of ways &mdash;</para>

<itemizedlist>
<listitem><para>Select <guimenu>Tools</guimenu> and then, <guimenuitem>Edit Recipe</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu</para></listitem>
<listitem><para>Press the <keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo> key combination</para></listitem>
<listitem><para>Click on the <guibutton>Recipe Name</guibutton> button that appears at the bottom of the component list in the left-hand pane of the window &ndash; this button appears once the recipe to be edited has been loaded and a change has been initiated </para></listitem>
</itemizedlist>

<tip><para>With the <quote>Find/Edit Recipes</quote> component selected and the list of recipes showing on the right-hand side of the screen, an entire recipe may be deleted by selecting it from the list and clicking the <guibutton>Delete</guibutton> button.</para></tip> 

</sect2>

</sect1>

<sect1 id="krecipes-page-setup">
<title>Page Setup</title>

<para>
To access Page Setup, select <guimenu>View</guimenu> and <guimenuitem>Page Setup...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu bar.
</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the Page Setup dialog</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="page-setup.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Page Setup</para></caption>
	</mediaobject>
</screenshot>
</para>

<sect2 id="displayed-items">
<title>Selecting Items to Display</title>

<para>
In the Page Setup window, the toolbar displays the icons for <guiicon>Open</guiicon>, <guiicon>Save</guiicon>, <guiicon>Save As</guiicon> and <guiicon>Redisplay</guiicon>.  
</para>

<para>
With regard to <guiicon>Redisplay</guiicon>, a word of caution is in order.  Clicking on <guiicon>Redisplay</guiicon> after changes have been made in the Page Setup window, will reload the currently active layout file, erasing all changes <emphasis>unless they have been saved</emphasis>.  However, an alert will be provided prompting to save the changes if desired.
</para>

<para>
If the entire Page Setup window is resized, <guiicon>Redisplay</guiicon> will scale the contents to fit within the limits of the window.
</para>

<para>
The last icon allows access to a list of items that are available for display in the recipe.  These include &mdash;
</para>

<itemizedlist>
<listitem><para><guimenuitem>Properties</guimenuitem> &ndash; The list of nutrients in the recipe</para></listitem>
<listitem><para><guimenuitem>Authors</guimenuitem> &ndash; The authors or contributors of the recipe</para></listitem>
<listitem><para><guimenuitem>Ingredients</guimenuitem> &ndash; The list of recipe ingredients</para></listitem>
<listitem><para><guimenuitem>Preparation Time</guimenuitem> &ndash; The time for preparation</para></listitem>
<listitem><para><guimenuitem>Yield</guimenuitem> &ndash; The yield amount expected from the recipe</para></listitem>
<listitem><para><guimenuitem>Instructions</guimenuitem> &ndash; The method of preparation</para></listitem>
<listitem><para><guimenuitem>Title</guimenuitem> &ndash; The title of the recipe</para></listitem>
<listitem><para><guimenuitem>Photo</guimenuitem> &ndash; To display a photo in the recipe</para></listitem>
<listitem><para><guimenuitem>Header</guimenuitem> &ndash; This is the recipe database ID</para></listitem>
<listitem><para><guimenuitem>Categories</guimenuitem> &ndash; The category to which the recipe belongs</para></listitem>
</itemizedlist>

<para>
By default, all items are displayed.  To prevent display in the recipe, deselect the item by clicking on the checkbox beside it.
</para>

<note><para>All sections chosen to display in the recipe will also print.  It may be desirable to have a section display, but not print.  In order to avoid having any section print, deselect it prior to printing.</para>
</note>

</sect2>

<sect2 id="change-recipe-display">
<title>Changing The Recipe Display</title>

<para>Display of the recipe is highly configurable.</para>

<para>Each section can be moved by selecting a it, holding the &LMB; mouse button and dragging to a new position.</para>
 
<para>To resize a section, hover the mouse over one of the resizing handles until a <guiicon>&harr;</guiicon> arrow appears, hold the &LMB; mouse button and drag until the desired sized is achieved.</para>
</sect2>

<sect2 id="change-attributes">
<title>Changing Attributes</title>

<para>Characteristics of each section can be changed individually.</para>

<para>
Right-click on any section in the Page Setup window.  A menu will display with the title of the section appearing at the top.  From this menu, you can &mdash;
</para>

<itemizedlist>
<listitem><para>Change the <guimenuitem>Background color...</guimenuitem></para></listitem>
<listitem><para>Change the <guimenuitem>Text color...</guimenuitem></para></listitem>
<listitem><para>Change the <guimenuitem>Font...</guimenuitem></para></listitem>
<listitem><para>Choose whether or not to display the section by selecting or deselecting the checkbox beside <guimenuitem>Show</guimenuitem></para></listitem>
<listitem><para>Change the <guimenu>Alignment</guimenu> &ndash; This menu item has a sub-menu that allows you to select the alignment</para></listitem>
<listitem><para>Define a <guimenuitem>Border...</guimenuitem> that will appear around the selected section </para>
<para>When the <quote>Requested Border</quote> configuration window appears, there are sections that allow the definition of various elements under the appropriate headings.  For example &mdash;</para>

<itemizedlist>
<listitem><para>Under the heading <quote>Style</quote>, a border style can be selected</para></listitem>
<listitem><para> Under the heading <quote>Color</quote>, a color can be selected from the color spectrum and this can be fine-tuned, using the color slider</para></listitem>
<listitem><para>Under the heading <quote>Width</quote> the width of the border, in pixels, can be selected.  <emphasis>For a border such as <quote>Groove</quote>, or <quote>Ridge</quote> a minimum pixel size of 4 to 6 has been found to work best.</emphasis>  The border size can be selected using a spinbox or selecting a numeric value from a list</para></listitem>
</itemizedlist>
 
<para>Finally, at the bottom is a section that allows the preview of the border as it will appear in the recipe.</para>
<note><para>When <quote>OK</quote> is selected to insert the border, the main Page Setup window appears.  <emphasis>The selected border definition will NOT show in this window, but will appear properly when the recipe is viewed or printed.</emphasis></para></note></listitem>
</itemizedlist>

</sect2>

</sect1>

<sect1 id="import-export-recipes">
<title>Importing and Exporting Recipes</title>
<para><emphasis>&krecipes;</emphasis> allows the import of recipes from a file or from a database.  Recipes can also be exported to other formats.</para>

<sect2 id="file-import">
<title>Importing from a File</title>

<para><emphasis>&krecipes;</emphasis> allows the import of recipes from the following formats &mdash;</para>
<itemizedlist><listitem><para><emphasis>&krecipes;</emphasis> &ndash; files of this format will have extensions of .kre or .kreml</para></listitem>
<listitem><para>MasterCook &ndash; files of this format will have extensions of .mx2 and originate from MasterCook 5 or 6</para></listitem>
<listitem><para>MasterCook Export &ndash; files of this format will have extensions of .mxp or .txt and originate from MasterCook 4</para></listitem>
<listitem><para>Meal-Master &ndash; files of this format will have extensions of .mmf or .txt</para></listitem>
<listitem><para><quote>Now You're Cooking</quote> Generic Export &ndash; files of this format will have extensions of .txt</para></listitem>
<listitem><para>RecipeML &ndash; files of this format will have extensions of .xml or .recipeml</para></listitem>
<listitem><para>Rezkonv &ndash; files of this format will have extensions of .rk or .txt</para></listitem>

</itemizedlist>

<para>To import a recipe from a file of one of the above formats, select <guimenu>File</guimenu> from the <emphasis>&krecipes;</emphasis> menu bar.  From the available choices, select <guimenuitem>Import from File ...</guimenuitem></para>

<para>A window will appear that allows the navigation to the file that you wish to import.  Navigation can be done using the <quote>point and click</quote> method, or the location of the file may be entered directly into the box labelled <emphasis><guilabel>Location:</guilabel></emphasis>.</para>

<para>The <emphasis><guilabel>Filter:</guilabel></emphasis> box is used to select the format of the recipe being imported from the drop-down menu.</para>

<tip><para>To position the cursor for entry into the <emphasis><guilabel>Location:</guilabel></emphasis> box, the key combination <keycombo action="simul">&Alt;<keycap>L</keycap></keycombo> can be used.  To position the cursor for entry into the <emphasis><guilabel>Filter:</guilabel></emphasis> box, the key combination <keycombo action="simul">&Alt;<keycap>F</keycap></keycombo> can be used.</para></tip>

<para>Once you have navigated to the location of the recipe file that you want to import and have selected the correct format, all the recipes saved in the selected format will appear in the file list.  If  import of only one recipe is desired, select the file that you wish to import and its name will appear in the <emphasis><guilabel>Location:</guilabel></emphasis> box.  Press the <guibutton>OK</guibutton> button to proceed with the import, or the <guibutton>Cancel</guibutton> button to close the file selection window and return to the previous screen.</para>

<para>If you have selected the <quote><emphasis>Ask which recipes to import</emphasis></quote> tickbox in the <quote>Configure <emphasis>&krecipes;</emphasis>, Import</quote> interface, when you click on the <guibutton>OK</guibutton> button, the <emphasis>&krecipes;</emphasis> <interface>Import Recipes</interface> window will appear from which you can select the recipes that you want to import. For instructions on how to select this choice see the section <link linkend="import-export-preference">Choosing Import/Export Preferences</link>.  If this selection is not made, your recipes will be imported silently with no prompt.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the Import Recipes screen.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="import-recipe-screen.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Import Recipes Window &ndash; this window will appear when you are importing from a file OR from a Database.</para></caption>
	</mediaobject>
</screenshot>
</para> 

<para>Under the heading <emphasis><guilabel>Recipes</guilabel></emphasis>, drop-down lists will appear &mdash;</para>

<para>All &ndash; This list will be expanded by default and is selected by default whether one recipe or multiple recipes are being imported (the tickbox to the left of the label will contain  a check mark).  In brackets, to the right of the label, the number of recipes being imported will appear.</para>

<para>Below the <emphasis><guilabel>All</guilabel></emphasis> label, all the remaining <emphasis>Categories</emphasis> will be listed and the tickbox to the left of each category label will contain a check mark indicating that the category is selected.  These categories will be collapsed by default and in brackets to the right of the category label, the number of recipes in the category will be shown.</para>

<para>Each category can be expanded to reveal the list of recipes in the category by clicking on the <guiicon>+</guiicon> sign that appears to the left of the tickbox.  Again, by default, recipes within each category are selected as indicated by the checkmark in the tickbox to the left of the category name.  Any recipes that do not have a category attached to them will appear under the <emphasis><guilabel>Uncategorized</guilabel></emphasis> group.  To deselect any recipes that you do not wish to import, simply clear the tickbox beside the recipe name by clicking on it.</para>

<para>Once you are satisfied with the selection(s) you have made, click the <guibutton>OK</guibutton> button to proceed with the import, or the <guibutton>Cancel</guibutton> button to prevent the import and close the window.</para>

<para>It should be noted that the <guibutton>Cancel</guibutton> button can be pressed after the import starts.  In this situation, any recipes that have been imported prior to pressing the <guibutton>Cancel</guibutton> button will remain in the database &ndash; <emphasis>&krecipes;</emphasis> does not <quote>rollback</quote> completed imports on cancellation of the import process.</para>

<para>Any recipes that have been placed in the <emphasis><guilabel>Uncategorized</guilabel></emphasis> group can be individually edited to place them in the appropriate existing category.  You may also define a new category in which to place them.  See the section <link linkend="edit-recipe">Editing Saved Recipes</link> and <link linkend="categories-component">The Categories Component</link> for instruction on how to do this.  After editing the recipes in order to place them in categories, the <emphasis><guilabel>Uncategorized</guilabel></emphasis> label will still show in your list.  Closing <emphasis>&krecipes;</emphasis> and restarting the program will remove it from the list.</para>

<para>If the recipe(s) are categorized, <emphasis>&krecipes;</emphasis> will put the recipe(s) into the appropriate category or create a new category if the appropriate one does not exist.</para>

<para>Regardless of whether the recipe being imported is uncategorized or categorized, it may still be appropriate to edit the recipe to define <quote>Preparation Time</quote>, or otherwise fine-tune the recipe.</para>

<warning><para>The manner in which the recipe imports into <emphasis>&krecipes;</emphasis> is <emphasis>DEPENDENT ON THE WAY IT HAS BEEN INPUT INTO THE ORIGINAL PROGRAM!</emphasis>  If the recipe has been input into the original program in a sloppy manner, it will not import neatly into <emphasis>&krecipes;</emphasis>!</para></warning> 

</sect2>

<sect2 id="database-import">
<title>Importing from a Database</title>
<para>To import a recipe from an existing database, select <guimenu>File</guimenu> from the <emphasis>&krecipes;</emphasis> menu bar.  From the available choices, select <guimenuitem>Import from Database ...</guimenuitem>  The <interface>Database Import</interface> window will appear.  Under the heading <emphasis>Database</emphasis>, you can make one of three selections.  Your selection can be made by clicking the radio button beside <link linkend="import-sqlite">SQLite</link>, <link linkend="import-mysql">MySQL</link>, or <link linkend="import-postgresql">PostgreSQL</link>.</para>

<sect3 id="import-sqlite">
<title>Importing from SQLite</title>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the import dialog when importing from an SQLite database.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="import-sqlite.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Importing from an SQLite Database</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>If you choose SQLite, beneath the heading <emphasis><guilabel>Database file:</guilabel></emphasis>, there is a textbox and beside this, the <guiicon>Open File Dialog</guiicon> icon which, when clicked, will <action>open the file dialog window</action>.  This window is used to navigate to the location of the database that you want to import.  Once you have located the appropriate database file, select it from the file list.  The name will appear in the <emphasis><guilabel>Location:</guilabel></emphasis> box.  Click the <guibutton>OK</guibutton> button to proceed or the <guibutton>Cancel</guibutton> button to close the file dialog window and return to the previous screen.</para>

<para>Once the <guibutton>OK</guibutton> button is pressed, the file dialog window will close.  You will be returned to the <interface> Database Import</interface> window and you should see the name of the database file with its <quote>path</quote> showing in the textbox.  Click the <guibutton>OK</guibutton> button to proceed with the import, or the <guibutton>Cancel</guibutton> button to discontinue the import.</para>

<para>At this point, the import becomes <link linkend="common-import">common</link> for whatever database you are importing.</para>

</sect3>

<sect3 id="import-mysql">
<title>Importing from MySQL</title>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the import dialog when importing from a MySQL database.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="import-other-sql.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Importing from a MySQL Database (The same interface would appear if the PostgreSQL radio button was selected.)</para></caption>
	</mediaobject>
</screenshot>
</para>


<para>If the MySQL radio button is selected in the <interface>Database Import</interface> window, you will be required to enter the following parameters in the textbox beside the appropriate label &mdash;</para>

<itemizedlist><listitem><para><emphasis><guilabel>Server:</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Username:</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Password:</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Database name:</guilabel></emphasis></para></listitem>

</itemizedlist>

<para>Once this information has been supplied, click the <guibutton>OK</guibutton> button to proceed with the import steps that are <link linkend="common-import">common</link> to all.  At this point, you may also click the <guibutton>Cancel</guibutton> button the cancel the import and return to the previous screen.</para>

</sect3>

<sect3 id="import-postgresql">
<title>Importing from PostgreSQL</title>

<para>If the PostgreSQL radio button is selected in the <interface>Database Import</interface> window, you will be required to enter the following parameters in the textbox beside the appropriate label &mdash;</para>

<itemizedlist><listitem><para><emphasis><guilabel>Server:</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Username:</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Password:</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Database name:</guilabel></emphasis></para></listitem>

</itemizedlist>

<para>Once this information has been supplied, click the <guibutton>OK</guibutton> button to proceed with the import steps that are <link linkend="common-import">common</link> to all.  At this point, you may also click the <guibutton>Cancel</guibutton> button to cancel the import and return to the previous screen.</para>
</sect3>

<sect3 id="common-import">
<title>Steps Common to All Database Imports</title>
<para>Similar to importing recipes from a file, if you have selected the <quote><emphasis>Ask which recipes to import</emphasis></quote> tickbox in the <quote>Configure <emphasis>&krecipes;</emphasis>, Import/Export</quote> interface, when you click on the <guibutton>OK</guibutton> button, the <emphasis>&krecipes;</emphasis> <interface>Import Recipes</interface> window will appear from which you can select the recipes that you want to import. For instructions on how to select this choice see the section <link linkend="import-export-preference">Choosing Import/Export Preferences</link>.  If this selection is not made, your recipes will be imported silently with no prompt.</para>

<para>Again the <emphasis><guilabel>All</guilabel></emphasis> label will show and beneath this, the list of all categories being imported.  Also like importing from a file, the list items will have tick boxes on the left from which whole categories and/or recipes can be deselected by clicking on the box to remove the check mark.  The total number of recipes will show to the right of the <quote>All</quote> list item and the number of recipes in each category will display to the right of the category item.</para>

<para>Click the <guibutton>OK</guibutton> button to proceed with importing the database, or the <guibutton>Cancel</guibutton> button to stop the import.  If you choose to proceed, the categories and recipes that are in the database file being imported will appear in your <emphasis>&krecipes;</emphasis> recipe list.</para>

</sect3>


</sect2>

<sect2 id="export-recipe">
<title>Exporting Recipes to Other Formats</title>

<para><emphasis>&krecipes;</emphasis> can export your recipes to the following formats &mdash;</para>

<itemizedlist>
<listitem><para>Compressed Krecipes format &ndash; files of this format will have extensions of .kre</para>
<para>This export format will result in a smaller file size and as a result disk space is saved.  The smaller file size also makes sending over the Internet easier.  This format also provides an means of backup in addition to the backup functionality in <emphasis>&krecipes;</emphasis>.  See the section <link linkend="backup-db">Backing up Your Krecipes Database</link> for further information.</para></listitem>

<listitem><para>Krecipes &ndash; files of this format will have extensions of .kreml</para>
<para>Using this format exports your recipe in a readable format that makes it easier to edit the recipe XML.</para>

<note><para>When exporting in either Krecipes and Krecipes Compressed format, all information is guaranteed to be preserved.  Other formats may support only certain information.  If your recipes contain, for example, <quote>headers</quote>, and this is not supported by the export format that you have specified, that information is lost without any warning.</para></note></listitem>

<listitem><para>Plain Text &ndash; files of this format will have extentions of .txt</para>
<para>Using this format exports your recipe information <emphasis>without the photo</emphasis> into plain text format.  The idea here is not to be able to import back into <emphasis>&krecipes;</emphasis>, nor import into any other recipe format.  The purpose is to be a handy tool for such tasks as e-mail.</para></listitem>

<listitem><para>Web page &ndash; files of this format will have extensions of .html</para>
 
<para>You might choose to export in this format in order to create a web page that contains your recipes.  However, it should be noted that once exported in Web page format, you are unable to import these recipes back into <emphasis>&krecipes;</emphasis>.</para></listitem>

<listitem><para>Meal-Master &ndash; files of this format will have extensions of .mmf and you might want to export in this format to be able to import into the Meal-Master program to share will other Meal-Master users</para>

<para>This is the most widely-used recipe format.  However, you should note that if your choose to export in this format, certain <emphasis>&krecipes;</emphasis> recipe information will be lost.</para></listitem>

<listitem><para>RecipeML &ndash; files of this format will have extensions of .xml</para>

<para>This is a standard recipe XML format, although not yet widely used by most recipe software.  However, you may wish to use this format to have recipes recognized by programs that use it.</para></listitem>

<listitem><para>Rezkonv &ndash; files of this format will have extensions of .rk</para>

<para>This is the format for Rezkonv Suite, a popular German recipe program.   When recipes are exported in this format, the human-readable and section names (Title, Yield, etc.) will be in German.</para></listitem>

</itemizedlist>

<para>To export a single recipe to one of the above formats, first select the recipe that you wish to export.  Then, select <guimenu>File</guimenu> from the <emphasis>&krecipes;</emphasis> menu bar.  From the available choices, select <guimenuitem>Export ...</guimenuitem></para>

<para>A window will appear that allows you to navigate to location where you wish to save your exported recipe.  The location will default to your home directory, but another existing directory can be chosen, or you can create a new directory.  The name of the recipe will appear in the box labelled <emphasis><guilabel>Location:</guilabel></emphasis> and this will default to the name that was given to the recipe in the <emphasis>&krecipes;</emphasis> database.  However, this name can be changed to another at your discretion.</para>

<para>The <emphasis><guilabel>Filter:</guilabel></emphasis> box is used to select the format that you wish to use for the exported recipe from the drop-down menu.</para>

<para>  You will also note that at the bottom of this window, there is a tickbox that allows you to select or deselect to <emphasis><guilabel>Automatically select filename extension</guilabel></emphasis>.  The extension of the chosen export format will appear beside the phrase.  If you choose to keep the tickbox selected, this extension will automatically be attached to the filename of your exported recipe. </para>

<tip><para>To position the cursor for entry into the <emphasis><guilabel>Location:</guilabel></emphasis> box, the key combination <keycombo action="simul">&Alt;<keycap>L</keycap></keycombo> can be used.  To position the cursor for entry into the <emphasis><guilabel>Filter:</guilabel></emphasis> box, the key combination <keycombo action="simul">&Alt;<keycap>F</keycap></keycombo> can be used.</para></tip>

<para>Once the name of the exported recipe appears in the <emphasis><guilabel>Location:</guilabel></emphasis> box and you have chosen the format you wish to use for your exported recipe, click the <guibutton>Save</guibutton> button to proceed with the export, or the <guibutton>Cancel</guibutton> button to halt the export process and return to the previous screen.</para>

<para>When the <guibutton>Save</guibutton> button is clicked, the recipe will save in the chosen format and you will be able to open it with the program that accepts that file format &ndash; for example, if you have chosen to export your recipe in <quote>Meal-Master</quote> format, you will be able to open it in any program that accepts .mmf format files.  You will also notice that the export process has created a directory in which the graphics related to your exported recipe are stored.</para>

<note><para>You may also export categories of recipes or your whole database in this same manner.  However, if you want to export your entire database, you must ensure that no recipe or category is selected in your recipe list.</para>

<para>Whether you are exporting a single recipe, a category of recipes or your entire database, if no recipe or category of recipes is selected, an alert box will appear containing the message <quote>No recipes are currently selected.  Would you like to export all recipes in the current view?</quote>  Click the <guibutton>Yes</guibutton> button (or use the <keycombo action="simul">&Alt;<keycap>Y</keycap></keycombo>) to proceed with the export of all recipes.  You can also cancel the process in order to select recipes for export by clicking the <guibutton>No</guibutton> button (or use the <keycombo action="simul">&Alt;<keycap>N</keycap></keycombo> key combination).</para>

<para>If you recall, when <emphasis>&krecipes;</emphasis> starts, by default the <quote>Find/Edit Recipes</quote> component is active and if you have recipes and categories, they appear in the right pane of the window.  At this point nothing is selected, so you could choose to export your entire database.  However, if there is something selected and you want to export, simply click on the white area of the category/recipe list.  The highlight will disappear from the choice and you can now proceed to export your entire database.</para>
</note>

</sect2>
</sect1>

<sect1 id="backup-restore-db">
<title>Backing Up and Restoring Your <emphasis>&krecipes;</emphasis> Database</title>
<para>With <emphasis>&krecipes;</emphasis> it is an easy task to Backup and Restore your database.  The Backup tool is extremely important so that you never lose your recipe database in the event of a hard drive failure.  It is wise to ensure that you have a backup copy of your database in a location other than your hard drive.  The Backup functionality is also useful when you simply want to revert to a previous version of your recipe database.</para>

<sect2 id="backup-db">
<title>Backing Up Your <emphasis>&krecipes;</emphasis> Database</title>
<para>To backup your <emphasis>&krecipes;</emphasis> database file, select <guimenu>File</guimenu> and <guimenuitem>Backup...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu bar.  However, you might want to consider creating a keyboard shortcut (see the section <link linkend="configure-shortcuts">Creating Shortcuts</link> for more information), or adding an icon to your toolbar (see the section <link linkend="configure-toolbars">Customizing the Toolbar</link> for instruction on how to do this), since this is an invaluable tool and you will find yourself utilizing it often.</para>

<para>Once you have selected the menu item, shortcut or icon to backup your database, the <emphasis><interface>Save Backup As... -&krecipes;</interface></emphasis> window will appear where you can navigate to the location where you want to store your backup file and provide a name for it.  By default, this interface opens to your home directory.  You can navigate to another location and then, type the name that you wish to utilize for your backup in the textbox beside the label <emphasis><guilabel>Location:</guilabel></emphasis>.  To position the cursor in the <emphasis><guilabel>Location:</guilabel></emphasis> textbox, either click in the box or use the keyboard shortcut <keycombo action="simul">&Alt;<keycap>L</keycap></keycombo>.  If you have previously backed up your database, you can also select it from the drop-down menu beside the <emphasis><guilabel>Location:</guilabel></emphasis> textbox.</para>

<para>The <emphasis><guilabel>Filter:</guilabel></emphasis> textbox shows the type of file that you are creating.  In the situation where you are backing up your <emphasis>&krecipes;</emphasis> database file, there is only one type of file available &ndash; a &krecipes; Backup File (*.krecbk), and that shows as the default selection.</para>

<para>The final item in this window is a tick box beside the label <emphasis><guilabel>Automatically select filename extension (.krecbk)</guilabel></emphasis>.  With this option active, <abbrev>i.e.</abbrev> there is an x in the tick box, you can provide a filename, but do not have to supply an extention.  The extension .krecbk will be attached to your filename automatically.  However, you do not have to use the extension .krecdb.  Simply clear the tick box and then, when you supply the filename for your backup, include the extension that you choose.  For example, you might choose to name your database backup file <emphasis>myrecipes.krback</emphasis>.</para>

<para>When you have chosen the name for your backup and the location where you want to store it, click the <guibutton>Save</guibutton> button to complete the backup process, or the <guibutton>Cancel</guibutton> button to close the interface and return to the main <emphasis>&krecipes;</emphasis> window.</para>
</sect2>

<sect2 id="restore-db">
<title>Restoring Your <emphasis>&krecipes;</emphasis> Database</title>

<para>To restore your <emphasis>&krecipes;</emphasis> database file, select <guimenu>File</guimenu> and <guimenuitem>Restore...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu bar.  As previously mentioned, you might want to consider creating a keyboard shortcut (see the section <link linkend="configure-shortcuts">Creating Shortcuts</link> for more information), or adding an icon to your toolbar (see the section <link linkend="configure-toolbars">Customizing the Toolbar</link> for instruction on how to do this).</para>

<para>Once you have selected the menu item, shortcut or icon to restore your database, the <emphasis><interface>Restore Backup &ndash; &krecipes;</interface></emphasis> window will appear where you can navigate to the location where you saved your backup.  Once you have located the file and selected it, its name will appear in the textbox beside the label <emphasis><guilabel>Location:</guilabel></emphasis>.</para>

<para>By default, the <emphasis><interface>Restore Backup &ndash; &krecipes;</interface></emphasis> window opens to your home directory.  An alternative to navigating to the the location of your backup file and selecting it would be to type its name, including the path, directly into the <emphasis><guilabel>Location:</guilabel></emphasis> textbox.  To position the cursor in the <emphasis><guilabel>Location:</guilabel></emphasis> textbox, either click in the box or use the keyboard shortcut <keycombo action="simul">&Alt;<keycap>L</keycap></keycombo>.  If you have previously backed up your database, you can also select it from the drop-down menu beside the <emphasis><guilabel>Location:</guilabel></emphasis> textbox.</para>

<para>As with the backup function, the textbox beside the <emphasis><guilabel>Filter:</guilabel></emphasis> label shows the type of file as <emphasis>&krecipes; Backup File (*.krecbk)</emphasis>.
</para>

<para>Once you have selected your backup file, click the <guibutton>Open</guibutton> button to initiate the restore or the <guibutton>Cancel</guibutton> button to close the window and return to the main <emphasis>&krecipes;</emphasis> interface.</para>

<para>If you chose to proceed with the restore, the <emphasis>Warning &ndash; &krecipes;</emphasis> window will appear, as shown in the following screenshot:</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the warning that appears when restoring the &krecipes; database.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="restore-msg.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Restoring You Database &ndash; Erase Warning</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>You can select the tick box beside the label <emphasis><guilabel>Do not ask again</guilabel></emphasis> to prevent this message from showing in the future.  However, if you choose to do this, your backup file will be restored silently and you will not be able to change your mind.</para>

<para>If you choose to continue to show the warning, click the <guibutton>Continue</guibutton> button to proceed with restoring your database file, or the <guibutton>Cancel</guibutton> button to stop the restore process and return to the main <emphasis>&krecipes;</emphasis> screen.</para>

<para>If you choose to continue with the restore, a progress dialog window will appear.  The number of recipes in your database determines the length of time that this window will show.  Finally, a dialog box will appear containing the message <quote>Restore Successful</quote>.  Click the <guibutton>OK</guibutton> button to clear the window.  Your restore is now complete!</para> 
</sect2>

</sect1>

<sect1 id="krecipes-components">
<title>Other Krecipes Components</title>

<sect2 id="shopping-list">
<title>The Shopping List</title>

<para>The <quote>Shopping List</quote> component appears when the <guibutton>Shopping List</guibutton> button is clicked in the left pane of the <emphasis>&krecipes;</emphasis> window.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Shopping List component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="shop-list.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Shopping List Component</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>When selected, the component title appears at the top in the right pane of the window.</para>
  
<para>Below this is a textbox to <userinput>enter the specific name of a recipe</userinput> to search for.  Recipes can also be chosen by selecting them from the list.  Either way, the selected recipe must by transferred to the right-hand side of the screen under the heading <emphasis><guilabel>Shopping List</guilabel></emphasis> by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="forward.png" format="PNG"/></imageobject></inlinemediaobject></guiicon>  button between the two portions of the screen.</para>

<para>Once the desired recipes have been transferred to the shopping list side of the screen, click the <guibutton>OK</guibutton> button.</para>

<tip><itemizedlist><listitem><para>Recipe names can also be transferred out of the shopping list side of the screen by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="back.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button.</para></listitem>

<listitem><para>The entire list of recipes that has been selected for producing the shopping list can be cleared by clicking the <guibutton>Clear</guibutton> button.</para></listitem>

</itemizedlist>
</tip>

<para>When the <guibutton>OK</guibutton> button is clicked, a window will appear that lists all ingredients contained in the <emphasis>&krecipes;</emphasis> database on the left and the ingredients required for the selected recipe(s) on the right.  Above each of these is a <emphasis><guilabel>Search:</guilabel></emphasis> textbox to <userinput>enter the name of an ingredient</userinput> to search for within each of the lists.</para>

<para>Ingredients can be transferred to and from either side by clicking on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="back.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> or <guiicon><inlinemediaobject><imageobject><imagedata fileref="forward.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> button that appears between the lists, as needed.</para>

<para>In the recipe ingredient list on the right, the <quote>Amount</quote> and the <quote>Unit</quote> of each ingredient can be edited by double-clicking on the appropriate value.  For example, if the recipe requires 4 eggs and a purchase of eggs is required to make the recipe, it is unlikely that you would buy 4 eggs.  In this case, the eggs ingredient could be selected, the <quote>Amount</quote> changed to 1 and the <quote>Unit</quote> changed to doz. or dozen.</para>

<para>When all desired changes have been made to the ingredients for the recipe(s) selected, click the <guibutton>Done</guibutton> button and the <interface>Shopping List</interface> will display.</para> 

<para>From the <interface>Shopping List</interface> window, click the <guibutton>Print</guibutton> button to print the shopping list, or click the <guibutton>Close</guibutton> button to close the window.</para> 

</sect2>

<sect2 id="diet-helper">
<title>The Diet Helper</title>

<para>The purpose of the <quote>Diet Helper</quote> component is to help plan menus for days, or weeks, at a time.  Because of the ability to select nutrient values in this component, you are also able to plan your meals to adhere to nutrient limits.  This makes either restricting or enhancing your diet much easier and more efficient.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Diet Helper component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="diet-help.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Diet Helper Component</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>The <quote>Diet Helper</quote> component is accessed by clicking on the <guibutton>Diet Helper</guibutton> button in the left pane of the <emphasis>&krecipes;</emphasis> window.  As with other <emphasis>&krecipes;</emphasis> components, the user interface appears in the right pane under the heading <emphasis>Diet Helper</emphasis>.</para>

<para>To start setting up your menus, the first thing your have to do is select the number of days that you are planning for and the number of meals per day.</para>
  
<para>In the rectangular area under the heading <emphasis><guilabel>Number of Days</guilabel></emphasis>, the number of days is set at <quote>- 1 -</quote>.  To increase this value, click and hold the &LMB; and move the slider to the right.  The value will increment up to <quote>- 6 -</quote> and then, change to <quote>- 1 week -</quote>.  After the number of days changes to <quote>- 1 week -</quote>, increases are in increments of 1 week to a maximum of 4 weeks.</para>

<para>Similarly, in the rectangular area under the heading <emphasis><guilabel>Meals per Day</guilabel></emphasis>, the number of meals displays as <quote>- 1 -</quote>.  This value is incremented by clicking and holding the &LMB; and moving the slider to the right until the desired number of meals is displayed, up to a maximum of 10.  When the slider is adjusted, a tab will appear for each of the meals.</para>

<para>The next step is to specify the number of dishes per meal.  This is done by using the spinbox beside the <emphasis><guilabel>No. of dishes:</guilabel></emphasis> label to adjust the number.</para>
  
<para>Beside the <emphasis><guilabel>No. of dishes:</guilabel></emphasis> are the <guibutton>Previous Dish</guibutton> and <guibutton>Next Dish</guibutton> buttons that are used to navigate back and forth between dishes as you specify the type of recipe for each.  As you utilize these buttons to move back and forth between dishes, you will note that in the <emphasis>Dish Characteristics</emphasis> area of the screen, the dish label changes as follows &mdash;</para>

<itemizedlist><listitem><para><emphasis><guilabel>1st Course</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>2nd Course</guilabel></emphasis></para></listitem>
<listitem><para><emphasis><guilabel>Dessert</guilabel></emphasis></para></listitem>
</itemizedlist>

<para>And for subsequent meals &mdash;</para>
<itemizedlist>
<listitem><para><emphasis><guilabel>Dish 4</guilabel></emphasis>, <emphasis><guilabel>Dish 5</guilabel></emphasis>, etc.</para></listitem>
</itemizedlist>

<sect3 id="menu-plan-only">
<title>Planning Menus</title>
<para>In the <emphasis>Dish Characteristics</emphasis> area of the screen and beside the dish label, there is a tick box to <emphasis><guilabel>Enable Category Filtering</guilabel></emphasis>.  Clicking this box <action>enables the feature</action>.  It is important that you choose to do this because you may otherwise end up having <emphasis>Cheesecake</emphasis>, or some other unreasonable dish for breakfast!</para>

<para>With <quote>category filtering</quote> turned on, you can select the category to be used for the dish as specified by the dish label located beside the category selection box.  For instance, the dish label might show <emphasis><guilabel>1st Course</guilabel></emphasis>.  If you are selecting courses for your dinner meal, you might then select the category <emphasis>Salads</emphasis> from the category list.  A scrollbar exists to the right that allows moving up and down within the list.</para>

<para>Continuing with the example of selecting dishes for your dinner meal, you would then click the <guibutton>Next Dish</guibutton> button.  When you do this, you will note that the dish label changes to <emphasis><guilabel>2nd Course</guilabel></emphasis> and that again, you must turn <emphasis>category filtering</emphasis> on.  Now, you can proceed with the selection of the category for your next dish, for example, <emphasis>Pasta</emphasis>.</para>

<para>Continue selecting the types of dishes for your meals in this same manner.  When you have completed selecting the types of dishes, at this point, you can click the <guibutton>Create the diet</guibutton> button.</para>

<note><para>At this point, you are planning a menu only and not taking any dietary and nutrient constraints into consideration.  To plan menus and consider nutrient consumption, see the section <link linkend="plan-menu-diet">Planning Diet-Conscious Menus</link>.</para></note>

<para>When you click the <guibutton>Create the diet</guibutton> button, the <interface>Diet</interface> window appears which displays your menus for the number of days that you have selected.  In this window, you can click the <guibutton>Create Shopping List</guibutton> button to create the shopping list for your menus.  You can also choose to <action>print the menu</action> by clicking the <guibutton>Print</guibutton> button.  Clicking the <guibutton>Cancel</guibutton> button closes the <interface>Diet</interface> window and returns you to the previous screen.</para>

</sect3>

<sect3 id="plan-menu-diet">
<title>Planning Diet-Conscious Menus</title>

<para>All the steps listed in the section <link linkend="menu-plan-only">Planning Menus</link> also apply here.  This section will discuss the incorporation of nutrient values into your menus.</para>

<para>Before you can include nutrients in your menu plan, you must ensure the following &mdash;</para>

<orderedlist><listitem><para>Nutrients or <emphasis>properties</emphasis> must be loaded for the ingredients.  See the section <link linkend="ingredient-properties">Properties in Ingredients</link> for further instructions.  If an ingredient does not contain nutrient values, it will be ignored.</para></listitem>
<listitem><para>Units of measure must be associated with the ingredients. Since most nutrients are measured in <emphasis>g/g</emphasis> or <emphasis>mg/g</emphasis>, ensure that <emphasis>g</emphasis> is one of the units associated with each ingredient.  See the section <link linkend="ingredient-units">Units in Ingredients</link> for additional information.</para></listitem>
<listitem><para>The equivalencies between the units of measure must be completed in the <quote>Units Component</quote> within the <emphasis><guilabel>Unit Conversions</guilabel></emphasis> tab.  See the section <link linkend="set-equivalents">Setting Equivalencies</link> for instructions.</para></listitem>
</orderedlist>

<para>Once you have ensured that all necessary details have been provided for your ingredients, you are ready to consider nutrients in your menu plan.  Of course, attending to these details should be done prior to the start of creating your menu/diet, since the consideration of nutrient values is a continuation of planning a basic menu.</para>

<para>In the portion of the screen that lists the nutrients, under the heading <emphasis><guilabel>Enabled</guilabel></emphasis>, select the nutrient that you want to consider by clicking on the tick box that appears to the left of the nutrient name.  Note that you do not have to select <emphasis>every</emphasis> ingredient, only those that you wish to take into consideration.  A scrollbar exists to the right that allows moving up and down within the list.</para>

<para>To the right of the nutrient name, columns labeled <emphasis><guilabel>Min. Value</guilabel></emphasis> and <emphasis><guilabel>Max. Value</guilabel></emphasis> exist.  These are used to set the minimum and maximum values of nutrients so that when the search for appropriate recipes is done, only recipes that have a particular nutrient falling into the specified range will be considered for your menu/diet.</para>
  
<para>To set the minimum value for the nutrient in question, double-click on the <quote>0</quote> beside the nutrient name and under the <emphasis><guilabel>Min. Value</guilabel></emphasis> heading.  A spinbox will appear that you can utilize to set the value that you want, or you can highlight the <quote>0.00</quote> value and manually type the value that you want to set. Once the desired value has been entered, click the <guibutton>OK</guibutton> button to set it.  Likewise, the maximum value is set in the same way under the <emphasis><guilabel>Max. Value</guilabel></emphasis> heading.  These steps must be completed in each course category for each nutrient that you want to consider.</para>

<para>It should be noted that you may omit providing a minimum value for a nutrient, in which case the minimum value would remain as <quote>0</quote>.  However, if you provide a minimum value, you must provide a maximum because, obviously, a maximum cannot be less than a minimum.</para>

<note><para>At any point in the process of planning a menu/diet, you can click the <guibutton>Clear</guibutton> button to clear all entries and begin again.</para></note>

<para>Once you have completed entering all the nutrient information, click the <guibutton>Create the diet</guibutton> button to create your menu/diet.</para>

<para>When you click the <guibutton>Create the diet</guibutton> button, the <interface>Diet</interface> window appears which displays your menus for the number of days that you have selected.  In this window, you can click the <guibutton>Create Shopping List</guibutton> button to create the shopping list for your menus.  You can also choose to <action>print the menu</action> by clicking the <guibutton>Print</guibutton> button.  Clicking the <guibutton>Cancel</guibutton> button closes the <interface>Diet</interface> window and returns you to the previous screen.</para>

</sect3>

</sect2>

<sect2 id="ingredient-matcher">
<title>The Ingredient Matcher</title>

<para>The purpose of the <quote>Ingredient Matcher</quote> component is to find recipes that you are able to make (or almost make) with ingredients that you have on hand.  To access the <quote>Ingredient Matcher</quote> component, click on the <guibutton>Ingredient Matcher</guibutton> button that is  visible in the left frame of the <emphasis>&krecipes;</emphasis> window.</para>

<para>Once the component starts, typical of all <emphasis>&krecipes;</emphasis> components, the name will appear at the top of the window in the right frame.  Beneath this, beside the <emphasis><guilabel>Search:</guilabel></emphasis> label, there is a textbox to <userinput> enter the recipe ingredient</userinput> that you want to search for.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Ingredient Matcher component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="ingredient-match.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Ingredient Matcher Component</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>Below the <emphasis><guilabel>Search:</guilabel></emphasis> box, under the heading <emphasis><guilabel>Ingredient</guilabel></emphasis> there is a list of all the ingredients that are in the <emphasis>&krecipes;</emphasis> database, both ones provided by default and those that you have entered by either adding them in the <quote>Ingredients</quote> component or by entering them in a recipe, which automatically adds the ingredient to the database.  Elsewhere in this document, further information is provided on the use of the <link linkend="ingredients-component">Ingredients Component</link>.</para>
 
<para>Beside each ingredient in the list is a tick box which will allow the selection of the ingredient(s) that you have on hand that might be utilized in some of your recipes.  <action>Click on the tick box</action> to select the ingredient.  The scrollbar to the right of the list allows you to scroll through the entire list of ingredients.  <emphasis>&krecipes;</emphasis> dictates that at least one of the selected ingredients be in each of the recipes listed in the search results.</para>

<para>Before the recipes containing the selected ingredients will display, you must select the number of missing ingredients permitted in your recipes.  This is accomplished by using the spinbox beside the label <emphasis><guilabel>Missing ingredients allowed:</guilabel></emphasis>.  There will always be certain ingredients that you have on hand, for example, <emphasis>Salt</emphasis> or <emphasis>Sugar</emphasis>.  One of the purposes of allowing missing ingredients is to compensate for those ingredients that are normally in your cupboard.</para>
  
<caution><para>Setting the missing ingredients too high will result in a longer list of recipes.  Setting the missing ingredients too low will result in either no recipes being found, or cause the search to exclude recipes that you might also be able to make had you allowed for slightly more missing ingredients.</para></caution>
  
<para>Click the <guibutton>Find matching recipes</guibutton> button to display the search results in the area beneath the phrase <emphasis>Possible recipes with the specified ingredients</emphasis>.  The recipe title will appear under the heading <emphasis><guilabel>Title</guilabel></emphasis>.  The recipe id will appear under the heading <emphasis><guilabel>Id</guilabel></emphasis> and the missing ingredients will display under the heading <emphasis><guilabel>Missing ingredients</guilabel></emphasis>.  The width of the columns that apply to each of these headings can be adjusted for viewing purposes.  When your recipes are listed, they are grouped according to the number of missing ingredients and for each group, prior to listing the recipes, the number of missing ingredients is specified.</para>

<para>If your search does not provide recipes that are of interest, you can adjust the number of missing ingredients and click the <guibutton>Find matching recipes</guibutton> button to display new results based on the ingredients selected.  Alternatively, you can press the <guibutton>Clear recipe list</guibutton> button to clear the recipe list to perform a whole new search with different ingredients.</para>

<para><emphasis>&krecipes;</emphasis> makes in easy for you to find a recipe that you can make with ingredients on hand.  However, if you do have to run to the store, once you decide on the recipe that you want to make, you can use the <link linkend="shopping-list">The Shopping List</link> to make your shopping list.</para>

</sect2>

<sect2 id="data-button">
<title>The Data Button</title>

<para>
The <guibutton>Data</guibutton> button performs one simple function &ndash; when clicked, it gives access to additional components.
</para>

<tip><para>When the additional components are revealed, click the <guibutton>Up</guibutton> button to return to the previous list.
</para></tip>

</sect2>

<sect2 id="ingredients-component">
<title>The Ingredients Component</title>

<para>The <quote>Ingredients</quote> component is accessed by first, clicking on the <guibutton>Data</guibutton> button to reveal the additional <emphasis>&krecipes;</emphasis> components, and then, clicking on the <guibutton>Ingredients</guibutton> button.</para>

<para>When the <quote>Ingredients</quote> component opens, the component title will be seen at the top.  Below this, there are 3 sections &mdash;</para>

<orderedlist>
<listitem><para>Below the heading <emphasis><guilabel>Ingredient list</guilabel></emphasis>, the list of ingredients contained in the <emphasis>&krecipes;</emphasis> database is shown.  This list includes ingredients that have be provided as defaults in the program and also, ingredients that you have added.</para>
<para>Beside the heading is a textbox to <userinput>enter an ingredient</userinput> to search for in the ingredient list.</para>
<para>To the right of this section is a <guibutton>+</guibutton> button, for adding ingredients to the list, and a <guibutton>-</guibutton> button, for removing ingredients.  See the section on <link linkend="working-ingredients">Working with Ingredients</link> for more details.</para>
</listitem>

<listitem><para>On the right-hand side of the window under the heading <emphasis><guilabel>Unit list</guilabel></emphasis>, the section for listing the ingredient units of measure is displayed.  These include default units of measure that have been provided with the program, as well as ones you have added.</para>
<para>Again, a <guibutton>+</guibutton> button, for adding units of measure to the list, and a <guibutton>-</guibutton>, for removing units, appears to the right of this section. See the section on <link linkend="ingredient-units">Units in Ingredients</link> for more details.</para>
</listitem>

<listitem><para>Below the <quote>Units list</quote> is the <emphasis><guilabel>Ingredient Properties</guilabel></emphasis> list.  This list contains the nutrient values of each ingredient.</para>

<para>In this list, the name of the nutrient is shown under the heading <emphasis><guilabel>Property</guilabel></emphasis>, the amount of the nutrient present in the ingredient is shown under the heading <emphasis><guilabel>Amount</guilabel></emphasis> and the measurement value for the nutrient is shown under the heading <emphasis><guilabel>Units</guilabel></emphasis>.  For example, if the ingredient <emphasis>orange&nbsp;juice</emphasis> has been selected, one of the nutrients displayed will be <emphasis>Vitamin C</emphasis>.  Under the <emphasis><guilabel>Units</guilabel></emphasis> heading, <emphasis>mg/g</emphasis> will display, which means that there are the number of milligrams shown under the amount (in this case, 0.5) per gram of the nutrient.</para>

<para>For those ingredients provided by default in the program, the USDA data has been loaded and this is what provides the nutrient values (or <quote>Properties</quote>) for each ingredient.  However, if you have added an ingredient to the list, in order to display the nutrient value, the USDA data must be loaded by clicking on the <guibutton>Load USDA data</guibutton> button that appears below the <emphasis>Ingredient Properties</emphasis> list.</para>

<para>Again, a <guibutton>+</guibutton> button, for adding ingredient properties to the list, and a <guibutton>-</guibutton>, for removing properties, appears to the right of the section to allow addition and removal of nutrient values for an ingredient.  See the section on <link linkend="ingredient-properties">Properties in Ingredients</link> for more details.</para>
</listitem>
</orderedlist>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes;Ingredients component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="ingredients.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Ingredients Component</para></caption>
	</mediaobject>
</screenshot>
</para>

<sect3 id="working-ingredients">
<title>Working with Ingredients</title>

<para>Ingredients may be added, removed or edited in the <emphasis>&krecipes;</emphasis> <quote>Ingredients</quote> Component.</para>

<sect4 id="adding-ingredients">
<title>Adding:</title>
<para>To add an ingredient to the list, click on the <guibutton>+</guibutton> button that appears beside the ingredient list.  A window will be presented where <userinput>the name of the new ingredient</userinput> can be typed in the textbox beneath the heading <emphasis><guilabel>New Ingredient</guilabel></emphasis>.  Once the name has been added, click the <guibutton>OK</guibutton> button to complete the addition and close the window.  The ingredient will now appear in the ingredient list.  If you do not wish to add the ingredient to the list, click the <guibutton>Cancel</guibutton> button to close the window and return to the previous screen.</para>
</sect4>

<sect4 id="remove-ingredients">
<title>Removing:</title>
<para>To remove an ingredient from the list, click on the <guibutton>-</guibutton> button that appears beside the ingredient list.  The ingredient will be removed <emphasis>provided there are no recipes using that ingredient</emphasis>.</para>
  
<para>If recipes exist that use the ingredient, a window will display with the prompt <prompt>The following elements will have to be removed also, since currently they use the element you have chosen to be removed.</prompt>  Below the prompt, under the heading <emphasis><guilabel>Recipe</guilabel></emphasis>, a list of recipes that use that ingredient will display showing the recipe <emphasis><guilabel>Id</guilabel></emphasis> and <emphasis><guilabel>Recipe Title</guilabel></emphasis> under the appropriate headings.  Click the <guibutton>OK</guibutton> button to proceed with the removal of the ingredient AND recipe(s), or the <guibutton>Cancel</guibutton> to close the window and return to the previous screen.</para>
</sect4>

<sect4 id="edit-ingredients">
<title>Editing:</title>
<para>An ingredient may be edited by selecting the ingredient in the list and double-clicking on it.  The ingredient will remain highlighted, but if either the <keycap>&#8592;</keycap> or <keycap>&#8594;</keycap> directional arrows is pressed, the cursor can be positioned to the point you wish to edit.  If you wish to rename the entire ingredient, for example from <quote>butter</quote> to <quote>BUTTER</quote>, simply begin typing with the ingredient highlighted.</para>
<para>If you choose to rename an ingredient and another ingredient exists with the name chosen, an alert box will appear with the prompt <prompt>This ingredient already exists.  Continuing will merge these two ingredients into one.  Are you sure?</prompt>  Click the <guibutton>Continue</guibutton> button to proceed with renaming the ingredient, or the <guibutton>Cancel</guibutton> button to abort.</para>

<tip><para>If you have two ingredients, one named <quote>cinnamon</quote> and the other named <quote>Cinnamon</quote> and you would like all recipes to show the ingredient as <quote>Cinnamon</quote>, first check which of the ingredients lists the properties &ndash; <abbrev>i.e.</abbrev> the nutrient values.  If the nutrient values show for the ingredient <quote>cinnamon</quote>, renaming <quote>cinnamon</quote> to <quote>Cinnamon</quote> will result in a loss of the properties for that ingredient and they will have to be reloaded.</para>
<para>However, if you rename <quote>Cinnamon</quote> to <quote>cinnamon</quote> and then after the two ingredients have been merged, the single ingredient <quote>cinnamon</quote> to <quote>Cinnamon</quote>, your nutrient values will be retained.</para></tip>  
</sect4>

<sect4 id="alternative-method">
<title>Alternatively:</title>
<para>An alternative method to either add, remove, or edit an ingredient is to first, select the ingredient and then, right-click to display a menu from which you can select <guimenuitem>Create</guimenuitem>, <guimenuitem>Delete</guimenuitem>, or <guimenuitem>Rename</guimenuitem>.  Each choice performs as explained in the previous sections.</para>

<para>For quick functionality, the <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> key combination can be used to <emphasis>Create</emphasis> a new ingredient.  To <emphasis>Delete</emphasis> an ingredient, press the <keycap>Del</keycap> key on the keyboard &ndash; a prompt will be received if the ingredient is used by a recipe.  The key combination <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> can be used to <emphasis>Rename</emphasis> an ingredient.</para>
</sect4>
</sect3>

<sect3 id="ingredient-units">
<title>Units in Ingredients</title>
<para>This section describes how to work with the units of measure, or <emphasis>Units</emphasis>, that apply to specific ingredients in the <emphasis>&krecipes;</emphasis> <quote>Ingredients</quote> component.  For details on working with ingredients globally, see the section <link linkend="units-component">The Units Component</link>.</para>

<para>Within the <quote>Ingredients</quote> component, select an ingredient.  In the <interface>Unit list</interface> portion of the screen, the units of measure that are associated with that ingredient will display.</para>
 
<para>Units can be added by clicking on the <guibutton>+</guibutton> button that appears to the right of the <emphasis>Unit  list</emphasis>.</para>

<para>For example, one of the pre-loaded ingredients in the ingredients list is <quote>apple juice</quote>.  By default, the units associated with this ingredient are <quote>g</quote>, for grams, and <quote>mg</quote>, for milligrams.  If apple juice is a required ingredient in a recipe, it is more likely that it will be measured by cup, or portion thereof.  Therefore, it may be desired that <quote>cup</quote> or <quote>c.</quote> be added to the <emphasis>Unit list</emphasis>.  To do this, click on the <guibutton>+</guibutton> button that is beside the <emphasis>Unit list</emphasis>.  The <interface>Choose Unit</interface> window will appear, from which you can select <emphasis>cup</emphasis>, for example, from the list.  Then, click the <guibutton>OK</guibutton> button to add the unit, or the <guibutton>Cancel</guibutton> button to close the window and return to the previous screen.</para>

<para>Units can be removed by clicking on the <guibutton>-</guibutton> button that appears to the right of the <emphasis>Unit list</emphasis>.  In a manner similar to that described in the <emphasis>Working with Ingredients</emphasis> section under the heading <link linkend="remove-ingredients">Removing:</link>, if an attempt is made to remove a unit that is associated with an ingredient used by a recipe in the database, a prompt will be displayed that permits confirmation of removal of the unit AND the recipe that is associated with the ingredient unit, or that will allow the cancellation of the action.</para> 

</sect3>

<sect3 id="ingredient-properties">
<title>Properties in Ingredients</title>

<para>As previously stated, for those ingredients that are provided by default in the <emphasis>&krecipes;</emphasis> program, the <emphasis>Properties</emphasis> or nutrient values have been pre-loaded with the USDA values.</para>

<para>However, if a property has been added in the <quote>Properties</quote> component, a second step must be completed in the <quote>Ingredients</quote> component to add the <emphasis>Property</emphasis> and its associated value to the list.</para>

<sect4 id="add-ingredient-properties">
<title>Adding Ingredient Properties</title>

<para>The first step to adding a new property for an ingredient is to ensure that the appropriate unit is listed in the <emphasis>Unit list</emphasis> in the top right-hand corner of the <quote>Ingredients</quote> component.  If the unit is not listed &ndash; <abbrev>i.e.</abbrev> the unit specified when the property was added, for instance <quote>g</quote>, it must be added in the manner described in the section <link linkend="ingredient-units">Units in Ingredients</link>.</para>

<para>Assuming that the appropriate unit is listed in the <emphasis>Unit list</emphasis>, to add the new property to the <emphasis>Ingredient Properties</emphasis> list, select an ingredient in the <emphasis>Ingredient</emphasis> list then, click the <guibutton>+</guibutton> button that appears to the right of the properties list.</para>

<para>The <quote>Choose Property</quote> box will appear, from which you can select the property to be added for the ingredient.  A drop-down menu shows below the property list, from which the unit associated with the property must be selected.  Click the <guibutton>OK</guibutton> button to proceed, or the <guibutton>Cancel</guibutton> button to cancel the addition of the property and close the window.</para>

<para>If you choose to proceed with the addition, the property will be added to the <emphasis>Ingredient Properties</emphasis> list.  However, you will note that it has a <quote>0</quote> value.  This value must by supplied by you.  To add the value, double-click on the property and increment the value using the spin-box that appears, or manually type the value.  Once the value is entered, click the <guibutton>OK</guibutton> button that appears beside the spin-box.</para>

<note><para>If the USDA data does not show for the ingredient for which the new property has been added, it can be loaded either before adding the new property or after.  If the USDA data is added after adding the new property, the new property will still show in the list.</para>

<para>The new property must be added to <emphasis>EACH</emphasis> ingredient separately.</para></note>
</sect4>

<sect4 id="remove-ingredient-properties">
<title>Removing Ingredient Properties</title>

<para>To remove a property from the <emphasis>Ingredient Properties</emphasis> list, simply select the property to be removed and click the <guibutton>-</guibutton> that appears to the right of the list.  The property will be removed without a prompt.  However, this will remove the property within the <quote>Ingredients</quote> component <emphasis>ONLY</emphasis>.  The property will be retained in the list in the <quote>Properties</quote> component.</para>

</sect4>

</sect3>

</sect2>

<sect2 id="properties-component">
<title>The Properties Component</title>

<para>The <quote>Properties</quote> component is where nutrients are globally added and removed.  To access this component, first click on the <guibutton>Data</guibutton> button in the left pane of the <emphasis>&krecipes;</emphasis> window and then, click on the <guibutton>Properties</guibutton> button.</para>

<para>As with other <emphasis>&krecipes;</emphasis> components, the name of the component appears in the right pane of the window at the top.  Below this, beneath the heading <emphasis><guilabel>Property</guilabel></emphasis>, the list of nutrients is displayed.  Beneath the heading <emphasis><guilabel>Units</guilabel></emphasis>, the units associated with the properties are shown.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Properties component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="properties.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Properties Component</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>For example, one of the nutrients under the <emphasis><guilabel>Property</guilabel></emphasis> heading is <quote>iron</quote>.  If a recipe ingredient contains this nutrient, the amount of iron contained in the ingredient will show as a number of <emphasis>milligrams</emphasis> or <quote>mg</quote>.</para>

<sect3 id="add-properties">
<title>Adding Properties</title>

<para>A number of nutrients have been provided by default in the <emphasis>&krecipes;</emphasis> program.  Although this list is quite extensive, if there is a nutrient missing, it is possible to add it to the list.</para>

<para>To add a missing nutrient, click the <guibutton>Create...</guibutton> button that appears near the top in the right-hand side of the <emphasis>&krecipes;</emphasis> window.  The <interface>New Property</interface> window will appear.  In this window, the <userinput>name of the nutrient</userinput> can be entered in the textbox beside the <emphasis><guilabel>Property name:</guilabel></emphasis> label, and the associated <userinput>unit of measure</userinput> is entered in the textbox beside the <emphasis><guilabel>Units:</guilabel></emphasis> label.  Click the <guibutton>OK</guibutton> button to proceed with the addition, or the <guibutton>Cancel</guibutton> button to close the window and return to the previous screen.</para>

<warning><para>Adding a nutrient, or <emphasis>Property</emphasis>, is a two-step procedure.  First, the nutrient and associated unit is added in the <quote>Properties</quote> component as described above.  However,  the actual nutrient value &ndash; <abbrev>i.e.</abbrev> the number of mg of iron, for example, contained in a particular ingredient must be added within the <quote>Ingredients</quote> component.  This must be done for <emphasis>EACH</emphasis> ingredient.  Refer to the section <link linkend="ingredient-properties">Properties in Ingredients</link> for more information.</para></warning>

</sect3>

<sect3 id="delete-properties">
<title>Deleting Properties</title>

<para>To remove a nutrient from the list, click the <guibutton>Delete</guibutton> button that appears below the <guibutton>Create...</guibutton> button that was used to create a new nutrient.</para>

<para>An <quote>alert</quote> box will appear asking <prompt>Are you sure you want to delete this property?</prompt>  Click the <guibutton>Continue</guibutton> button to proceed with the removal of the nutrient, or the <guibutton>Cancel</guibutton> button to cancel the action and close the alert.</para>

<sect4 id="another-method">
<title>Another method:</title>

<para>An alternative method to either add, remove, or edit a nutrient  is to first, select the nutrient and then, right-click to display a menu from which you can select <guimenuitem>Create</guimenuitem>, <guimenuitem>Delete</guimenuitem>, or <guimenuitem>Rename</guimenuitem>.</para>

<para>For quick functionality, the <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> key combination can be used to <emphasis>Create</emphasis> a new nutrient.  To <emphasis>Delete</emphasis> a nutrient, press the <keycap>Del</keycap> key on the keyboard &ndash; a prompt will be received if the nutrient is used by a recipe.  The key combination <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo> can be used to <emphasis>Rename</emphasis> an nutrient.</para>
</sect4>

</sect3>

</sect2>

<sect2 id="units-component">
<title>The Units Component</title>

<para>In the <quote>Units</quote> component, not only can units of measure that are to be used in the <emphasis>&krecipes;</emphasis> program be added and removed, but equivalencies between the various measures can be set up!</para>

<para>The <quote>Units</quote> component is accessed by first, clicking on the <guibutton>Data</guibutton> button to reveal the additional <emphasis>&krecipes;</emphasis> components, and then, clicking on the <guibutton>Units</guibutton> button.</para>

<para>Like other <emphasis>&krecipes;</emphasis> components, the <quote>Units</quote> component appears in the right-hand side of the <emphasis>&krecipes;</emphasis> window with the name of the component appearing at the top.  Two tabs exist &ndash; one for listing and maintaining the units of measure and one for setting up the equivalencies between the various units of measure.</para>

<para>In the <emphasis><guilabel>Units</guilabel></emphasis> tab, a list of all the units of measure will appear.  This list includes the units of measure that have been provided by default and those that you have added, either by entering a new unit while entering a new recipe, or by adding the unit within the <quote>Units</quote> component.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the Units tab in the &krecipes; Units component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="units.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Units Component &ndash; The Units List</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>You will also note that each unit allows a singular and plural form of that unit, if one exists.  For example, a recipe could require 1 teaspoon of an ingredient, which is the singular form, or it could contain 2 teaspoons, which is the plural.  However, for the unit grams in its abbreviated form of <quote>g</quote>, both the singular and the plural are the same, so <quote>g</quote> would also be listed under the plural column.</para> 

<sect3 id="add-units">
<title>Adding Units of Measure</title>
<para>To add a unit of measure, click the <guibutton>Create...</guibutton> button that appears to the right of the <emphasis>Unit</emphasis> list.  The <interface>New Unit</interface> dialog box will appear where the name of the new unit can be added.  Beneath the heading <emphasis><guilabel>New Unit</guilabel></emphasis>, there is a textbox to <userinput>enter the singular form of the unit</userinput> and one to <userinput>enter the plural form of the unit</userinput>.  Once the entries have been made for singular and plural of the new unit, click the <guibutton>OK</guibutton> button to complete the addition, or the <guibutton>Cancel</guibutton> button to cancel the addition and close the box.</para>
</sect3>

<sect3 id="remove-units">
<title> Removing Units of Measure</title>
<para>To remove a unit of measure, in the <emphasis>Unit</emphasis> list, select the unit that you wish to remove.  Click the <guibutton>Delete</guibutton> button that appears to the right of the  list and below the <guibutton>Create...</guibutton> button that is used to add units of measure.  A slight delay will occur while the database is searched to ensure that no recipes exist that use that unit of measure and then, the unit of measure will be removed.</para>

<para>If a recipe exists that uses the unit of measure selected to be removed, a window will appear with the <quote>alert</quote> <prompt>The following elements will have to be removed also, since currently they use the element you have chosen to be removed</prompt>.  Beneath the heading <emphasis><guilabel>Recipes</guilabel></emphasis>, the list of recipes utilizing that unit will appear.  Click the <guibutton>OK</guibutton> button to proceed with the removal of the unit of measure AND <emphasis>any or all</emphasis> recipes using that unit.  Click the <guibutton>Cancel</guibutton> button to cancel the action and close the window.</para>

</sect3>

<sect3 id="set-equivalents">
<title>Setting Equivalencies</title>
<para>Equivalencies are entered in the <emphasis><guilabel>Unit Conversions</guilabel></emphasis> tab in a <quote>spreadsheet</quote> style table.  Down the side of the table, you will note that each <quote>row</quote> is labelled with a unit name.  Similarly, along the top, each <quote>column</quote> is also labelled with a unit name.  The<quote>cells</quote> in the body of the table are used to set the equivalencies.  1 to 1 equivalencies are provided by default.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the Unit Conversions tab in the &krecipes; Units component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="unit-conversions.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Units Component &ndash; Unit Conversions</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>For instance, down the left side of the spreadsheet, suppose there is a unit of measure labelled <emphasis>lb.</emphasis> (the abbreviation for <emphasis>pound</emphasis>).  Using the <quote>horizontal scroll bar</quote> at the bottom of the window, scroll until the unit <emphasis>ounces</emphasis> is revealed along the top.  Click on the cell that is beside <emphasis>lb.</emphasis> and below <emphasis>ounces</emphasis> to make it active.  You can now enter 16, which is the equivalent in ounces of 1 lb., in the cell.  You can also use the directional arrows to navigate to the correct position for entering the equivalent if another cell is already active.</para>

<para>For large number equivalents, &krecipes; will automatically format the number with a <emphasis>thousands</emphasis> separator.  For instance, to enter the milligram equivalent of 1 lb, you would enter 454000.  Once you move off the cell, &krecipes; will display the number as 454,000.</para>

<para>Once the <emphasis>&krecipes;</emphasis> program knows the equivalency, it can automatically calculate other equivalencies.  For example, if the program has been informed that there are 16 ounces in a pound, <emphasis>&krecipes;</emphasis> will automatically calculate that 1 ounce is equal to 0.0625 pounds.</para>

<para>Should you find that you made a mistake in entering one of the unit equivalents, removing the erroneous entry is as simple as selecting the cell and pressing the <keycap>Enter</keycap> key.</para>

</sect3>
</sect2>

<sect2 id="prep-methods">
<title>The Preparation Methods Component</title>

<para>To access the <quote>Preparation Methods</quote> component, first click on the <guibutton>Data</guibutton> button to reveal additional components and then, click the <guibutton>Preparation Methods</guibutton> button.  In the right-hand pane of the <emphasis>&krecipes;</emphasis> window, a list of preparation methods will be displayed under the heading <quote>Preparation Method</quote>.  Note that the name of the component also appears at the top of the pane.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Preparation Methods component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="prep-method.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Preparation Methods Component</para></caption>
	</mediaobject>
</screenshot>
</para>
 
<para>The preparation methods listed include those installed by default with the program and those that are automatically added when a method is typed into the <quote>Preparation Method</quote> field while entering a new recipe.  See the section <link linkend="add-recipe">Adding a New Recipe</link>.</para>
 
<sect3 id="add-prep">
<title>Adding a New Preparation Method</title>

<para>To add a new preparation method, click the <guibutton>Create...</guibutton> button that is seen in the upper right-hand portion of the screen.  A dialog box will appear containing a textbox that allows entry of the new preparation method under the heading <quote>New Preparation Method</quote>.</para>

<para><userinput>Enter the name of the new preparation method</userinput>, for example, <emphasis>Slightly beaten</emphasis> in the textbox provided.  Click the <guibutton>OK</guibutton> button to complete the addition, or the <guibutton>Cancel</guibutton> button to cancel the addition and return to the <quote>Preparation Method</quote> list.</para>
</sect3>

<sect3 id="remove-prep">
<title>Deleting a Preparation Method</title>

<para>To remove a preparation method, first select the method to be removed from the list of preparation methods displayed.  Then, click on the <guibutton>Delete</guibutton> button that is displayed in the upper, right-hand portion of the screen beneath the <guibutton>Create...</guibutton> button.</para>

<para>Should the preparation method selected for deletion be used by a recipe, a dialog box will appear stating <prompt>The following elements will have to be removed also, since currently they use the element you have chosen to be removed.</prompt>  Below this, the list of recipes utilizing the preparation method will show.  Click the <guibutton>OK</guibutton> button to proceed &ndash; REMINDER:  This will delete not only the preparation method, but the recipes utilizing that method as well!  To cancel removal of the preparation method, click the <guibutton>Cancel</guibutton> button.</para>

<para>Should no recipe utilize the preparation method selected for deletion, no prompt will be given.</para>

</sect3>

<sect3 id="edit-prep">
<title>Editing Preparation Methods</title>
<para>Preparation methods can also be edited simply by double-clicking on the desired method.</para>

<para>For example, to change the method <emphasis>Slightly beaten</emphasis> to <emphasis>Slightly Beaten</emphasis>, double-click on the method in the list.  A box will appear around the method, the method will be highlighted and an insertion point will appear.  Use the <keycap>&#8592;</keycap> or the <keycap>&#8594;</keycap> directional arrow keys as required to position the cursor in the appropriate position to change the lowercase b in <quote>beaten</quote> to uppercase.  Press the <keycap>Enter</keycap> key to complete the change.</para>
</sect3>

</sect2>

<sect2 id="categories-component">
<title>The Categories Component</title>

<para>When the <quote>Categories</quote> component is selected, the list of all created categories will appear under the heading <emphasis><guilabel>Category</guilabel></emphasis>.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Categories component.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="categories.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>The Categories Component</para></caption>
	</mediaobject>
</screenshot>
</para>

<sect3 id="add-category">
<title>Adding a New Category</title>

<para>To add a new category, click on the <guibutton>Create...</guibutton> button.</para>

<para>A window will pop up where the name of the new category can be entered in a textbox under the label <emphasis><guilabel>New Category</guilabel></emphasis>.  A subcategory can be selected using the <quote><guimenu>Subcategory of</guimenu></quote> drop-down menu, which lists existing categories.  The default for the subcategory is <emphasis>&#042;&#042;NONE&#042;&#042;</emphasis>.</para>

<para>Once the name of the new category has been entered in the textbox, click the <guibutton>OK</guibutton> button to create the category and return to the category list.  The list will now show the new category.</para>

<para>To cancel the addition of a new category and clear the window, click on the <guibutton>Cancel</guibutton> button.</para>

</sect3>

<sect3 id="delete-category">
<title>Removing a Category</title>

<para>To remove a category, select it from the list of categories and click the <guibutton>Delete</guibutton> button.</para>

<para>A prompt will appear asking, <prompt>Are you sure you want to remove this category and all its subcategories?</prompt>.  Click the <guibutton>Continue</guibutton> button to remove the category, or the <guibutton>Cancel</guibutton> button to cancel the removal.</para>

<warning><para>Before deleting a category, ensure that it contains NO recipes!  Despite the warning <prompt>Are you sure you want to remove this category and all its subcategories?</prompt>, clicking the <guibutton>Continue</guibutton> button will result in the deletion of the category whether or not it contains recipes!</para></warning>

</sect3>
</sect2>

<sect2 id="authors-component">
<title>The Authors Component</title>

<para>The <quote>Authors</quote> component is where the author or contributor of the recipe is maintained.</para>
  
<para>Within this component, the component title appears at the top and the list of authors appears in the main portion of the window.</para>

<sect3 id="add-author">
<title>Adding an Author or Contributor</title>

<para>To add an author/contributor, click on the <guibutton>Create...</guibutton> button on the right-hand side of the screen.</para>

<para>A window will appear that allows entry of the author's name in the textbox labelled <emphasis><guilabel>New Author</guilabel></emphasis></para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Authors Component showing the addition of a new author.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="authors-adding.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Authors Component &ndash; Adding an Author</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>Once a name has been entered, click the <guibutton>OK</guibutton> button to create the entry, or the <guibutton>Cancel</guibutton> button to cancel entry of a new author's name and close the window.</para>
</sect3>

<sect3 id="remove-author">
<title>Removing an Author/Contributor</title>

<para>To remove an author/contributor from the list, select the author from the list and click the <guibutton>Delete</guibutton> button on the right-hand side of the screen.
</para>
 
<para>When this button has been clicked, an alert will appear with the prompt <prompt>Are your sure you want to remove this author?</prompt>  Click the <guibutton>Continue</guibutton> button to delete the author, or the <guibutton>Cancel</guibutton> button to cancel the deletion.</para>
</sect3>

</sect2>

</sect1>

</chapter>

<chapter id="krecipes-preferences">

<title>Setting Preferences in <emphasis>&krecipes;</emphasis></title>
<para><emphasis>&krecipes;</emphasis> is extremely configurable and allows the setting of many preferences besides those defined in the <link linkend="krecipes-page-setup">Page Setup</link> section.</para>

<sect1 id="configure-shortcuts">
<title>Creating Shortcuts</title>

<para>To access the Shortcut configuration interface, select <guimenu>Settings</guimenu> and <guimenuitem>Configure Shortcuts...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu.  The <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen will appear.</para>

<para>In the <emphasis><guilabel>Search:</guilabel></emphasis> textbox, <action>type the name</action> of the <emphasis>Action</emphasis> for which you want to create the shortcut.  Under the heading <emphasis><guilabel>Action</guilabel></emphasis>, the cursor will position itself on an item in the list that matches the characters typed.  As more characters are typed, the cursor will reposition itself on another item in the list.  If an exact match is typed, the cursor will be positioned on this item.  However, if multiple matches exist for the characters typed, the cursor will be positioned on the first match.</para>

<para>For example, in the screenshot below, two <emphasis>Actions</emphasis> exist for the expression <quote>Import</quote>  Therefore, if you type <quote>Import</quote>, the cursor will be positioned on <quote>Import from Database...</quote>, although it may not be this Action that you want to create the shortcut for.  However, if you type <quote>Import from File</quote>, the cursor will be positioned on the <quote>Import from File...</quote> Action.</para>

<para>Clicking the <guiicon><inlinemediaobject><imageobject><imagedata fileref="clear_right.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> icon located beside the <emphasis><guilabel>Search:</guilabel></emphasis> textbox clears the contents of the textbox.</para>

<para>Alternatively, you can use the scroll bars to scroll through the <emphasis>Actions</emphasis> until the one for which you want to change the shortcut is found.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the Configure Shortcuts &ndash; &krecipes; starting screen.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="configure-shortcuts.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure Shortcuts &ndash; <emphasis>&krecipes;</emphasis> Starting Point</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>To begin creating your shortcut, ensure that the <emphasis>Action</emphasis> for which you want to create the shortcut is selected.</para>
<para>If the <emphasis>Action</emphasis> has no attached shortcut, the radio button beside <emphasis><guilabel>None</guilabel></emphasis> will be selected by default.  If there is a shortcut attached, the <emphasis><guilabel>Default</guilabel></emphasis> radio button will be selected as shown in the example in the screenshot.</para>
<para>To create a shortcut for an <emphasis>Action</emphasis> that does not have one attached, or to change an existing shortcut, click the radio button beside the <emphasis><guilabel>Custom</guilabel></emphasis> label.</para>

<para>When you click the <guibutton>Custom</guibutton> radio button, the window for doing the actual defining of your shortcut will appear.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Basic Shortcut configuration screen.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="configure-shortcuts-basic.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure Shortcuts &ndash; Basic Configuration</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>If a shortcut already exists, the textbox will contain an entry, as seen in the screenshot above.  To clear this entry in order to enter a new one, click on the <guiicon><inlinemediaobject><imageobject><imagedata fileref="clear_right.png" format="PNG"/></imageobject></inlinemediaobject></guiicon> icon on the left of the textbox.
</para>

<para>If no shortcut exists, position the cursor in the textbox and enter your key combination.  For example, to enter the key combination <keycombo action="simul">&Ctrl;<keycap>I</keycap></keycombo>, hold the <keycap>Ctrl</keycap> and simultaneously, press the <keycap>I</keycap> key.  Entering the key combination in the text box will close the entry window and return you to the main <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen.  The shortcut will show on the <guibutton>Shortcut</guibutton> button that appears to the left of the <emphasis><guilabel>Custom</guilabel></emphasis> label.</para>

<para>Clicking the <guibutton>OK</guibutton> button, will set a change made, for instance if you cleared a shortcut and didn't want to set another, and return you to the main <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen.  The <guibutton>Cancel</guibutton> button on the shortcut entry screen will cancel setting of the shortcut and return you to the main interface.</para>

<para>Clicking the <guibutton>Advanced&gt;&gt;</guibutton> button will expand the shortcut entry screen as shown in the screenshot below.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Advanced Shortcut configuration screen.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="configure-shortcuts-adv.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure Shortcuts &ndash; Advanced Configuration</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>On the <emphasis>Advanced</emphasis> shortcut entry screen, shortcuts are defined in the same manner as previously described.  However, you will note that the  definition of an <emphasis><guilabel>Alternate shortcut:</guilabel></emphasis> is possible.</para>

<para>The <guibutton>OK</guibutton> and <guibutton>Cancel</guibutton> buttons also operate in the same manner as previously described.  The <guibutton>Advanced&lt;&lt;</guibutton> button collapses the window to the single shortcut entry interface.</para>

<para>You will also notice beneath the <emphasis><guilabel>Alternate shortcut:</guilabel></emphasis> textbox, that there is a tickbox labeled <emphasis><guilabel>Multi-key mode</guilabel></emphasis>.  Selecting this provides very cool functionality!  Follow these steps to see how it works &mdash;</para>

<orderedlist>
<listitem><para>From the main <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen, choose an <emphasis>Action</emphasis> for which you would like to configure a shortcut.  As an example, let's choose <quote>About KDE</quote>.  </para></listitem>
<listitem><para>Select the <emphasis><guilabel>Custom</guilabel></emphasis> radio button.</para></listitem>
<listitem><para>In the shortcut input screen, click the <guibutton>Advanced&gt;&gt;</guibutton> button, if the window is not already expanded.</para></listitem>
<listitem><para>Click the <emphasis><guilabel>Multi-key mode</guilabel></emphasis> tickbox to select.</para></listitem>
<listitem><para>Type A,A by pressing the <keycap>A</keycap> key twice &ndash; this will cause <emphasis>A,A</emphasis> to appear in the shortcut entry textbox.</para></listitem>
<listitem><para>Click the <guibutton>OK</guibutton> button.  You will be returned to the main <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen.</para></listitem>
<listitem><para>Select another <emphasis>Action</emphasis>, for example, <quote>About Krecipes</quote>.</para></listitem>
<listitem><para>Again, make sure that you have selected the <emphasis><guilabel>Multi-key mode</guilabel></emphasis> tickbox.</para></listitem>
<listitem><para>For your shortcut combination, type A,B by pressing the <keycap>A</keycap> key and then, the <keycap>B</keycap> key &ndash; <emphasis>A,B</emphasis> will show in the shortcut textbox.</para></listitem>
<listitem><para>Click the <guibutton>OK</guibutton> button.</para></listitem>
<listitem><para>Back on the main <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen, click the <guibutton>OK</guibutton> button to close the window.</para></listitem>
</orderedlist>

<para>Now the fun begins!  Anywhere in the program, as long as your cursor is not focused on text, for example, in a textbox or in a recipe edit input area, press the <keycap>A</keycap> key on your keyboard.  In the top, left-hand corner of your screen, using the example outlined, a small menu will appear, as follows &mdash;</para>

<para><inlinemediaobject><imageobject><imagedata fileref="menu.png" format="PNG"/></imageobject></inlinemediaobject></para>
<para>You can press the <keycap>A</keycap> or <keycap>B</keycap> key on the keyboard to select your choice, or you can use the directional arrows on the keyboard to highlight your selection and then, press the <keycap>Enter</keycap> key.</para>

<para>Although we have used <quote>About KDE</quote> and <quote>About Krecipes</quote> in our example, this functionality could be applied to other choices.  For example, you could choose to use the <emphasis>Multi-key mode</emphasis> for your import shortcuts, defining <quote>Import from Database</quote> as <emphasis>I,D</emphasis> and <quote>Import from File</quote> as <emphasis>I,F</emphasis>.  Then, pressing the <keycap>I</keycap> key on your keyboard will bring up the import choices menu.  Note here that for the <quote>Import from File</quote> choice, there is already a shortcut attached by default.  However, <emphasis>&krecipes;</emphasis> is so configurable that you will be able to change this.</para> 

<para>Back on the main <interface>Configure Shortcuts &ndash; &krecipes;</interface> screen, below the radio buttons, the default shortcut appears beside the <emphasis><guilabel>Default key:</guilabel></emphasis> label.</para>

<para>Below the <emphasis><guilabel>Default key:</guilabel></emphasis> label, functions of the buttons are as follows &mdash;</para>

<itemizedlist>
<listitem><para><guibutton>Defaults</guibutton> &ndash; returns all shortcut settings to their defaults</para></listitem>
<listitem><para><guibutton>OK</guibutton> &ndash; sets any changes made and closes the <interface>Configure Shortcuts &ndash; &krecipes;</interface> window</para></listitem>
<listitem><para><guibutton>Cancel</guibutton> &ndash; cancels any changes made and closes the <interface>Configure Shortcuts &ndash; &krecipes;</interface> window</para></listitem>
</itemizedlist>

</sect1>

<sect1 id="configure-toolbars">
<title>Customizing the Toolbar</title>

<para>To access the Toolbar configuration interface, select <guimenu>Settings</guimenu> and <guimenuitem>Configure Toolbars...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu.  The <emphasis><guilabel>Configure Toolbars &ndash; &krecipes;</guilabel></emphasis> screen will appear.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Toolbar configuration screen.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="configure-toolbars.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure <emphasis>&krecipes;</emphasis> &ndash; Configure Toolbars interface</para></caption>
	</mediaobject>
</screenshot>
</para>


<para>From the screenshot, you will notice that choices available for addition to the toolbar are on the left under the heading <emphasis><guilabel>Available actions:</guilabel></emphasis>.  On the right, under the heading <emphasis><guilabel>Current actions:</guilabel></emphasis> are the icons that presently appear on the toolbar &ndash; note that your toolbar, by default, may appear differently from that displayed in the screenshot.</para>

<para>Between the two lists are four arrows, which allow for directional movement between the lists, or up and down in the list.  When an item is selected from either list, the directional arrow(s) that are functional are colored, while the non-functional arrow(s) are grayed.  Movement is accomplished by clicking on the appropriate directional arrow, as necessary, to move the selection into the desired position.</para>

<para>The icon for your selection can be changed by clicking the <guibutton>Change Icon...</guibutton> button.  This will bring up a window from which you can select the icon that you want to use.  Once selected, click the <guibutton>OK</guibutton> button that appears on the icon selection screen to close the window and attach the icon to the toolbar selection.</para>

<para>In order to apply your changes, you must click the <guibutton>Apply</guibutton> button that appears at the bottom of the <emphasis><guilabel>Configure Toolbars &ndash; &krecipes;</guilabel></emphasis> screen.  This will apply your changes, but leave the window open in order to make other changes, if desired.  To apply your changes and exit the interface, click the <guibutton>OK</guibutton> button.  Clicking the  <guibutton>Cancel</guibutton> will cancel <emphasis>any changes made since the last time the <guibutton>Apply</guibutton> button was clicked</emphasis>.</para>

</sect1>


<sect1 id="configure-krecipes-choice">
<title>Configuring <emphasis>&krecipes;</emphasis></title>
<para>When you choose <guimenu>Settings</guimenu> and <guimenuitem>Configure Krecipes</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu, the <interface>Krecipes Preferences - Krecipes</interface> window appears.  From this window, you can choose one of three buttons to configure various aspects of <emphasis>&krecipes;</emphasis>.</para>

<sect2 id="configure-server-settings">
<title>Server Settings</title>
<para>The first preference that you can configure is the <emphasis><guilabel>Database Server Options</guilabel></emphasis>.  You will notice from the following screenshot that this label shows that an SQLite database has been selected.  However, if the database selected is either <emphasis>MySQL</emphasis> or <emphasis>PostgreSQL</emphasis> the label would show the name of the appropriate database format.  The <emphasis><guilabel>Database file:</guilabel></emphasis> label shows the complete path to the database file.</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Server Settings configuration window.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="server-settings.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure <emphasis>&krecipes;</emphasis> &ndash; Server Settings interface</para></caption>
	</mediaobject>
</screenshot>
</para>
<para>If you wanted to choose another database file, you would click on the <guiicon>File</guiicon> icon and in the window that appears, navigate to the location of the database file that you want to use.  This change would be reflected in the <emphasis><guilabel>Database file:</guilabel></emphasis> textbox.</para>

<para>The second preference available for configuration in the <emphasis><guilabel>Server Settings</guilabel></emphasis> screen is for the <emphasis>Backup</emphasis> operation.  It is required that the path to your database program be known for the <emphasis>Backup</emphasis> operation to work properly.  Therefore, beside the label that is shown in the screenshot as <emphasis><guilabel>Path to 'sqlite3':</guilabel></emphasis>, there is a text box which shows the name of the database program.  The text in this box can be changed by directly editing it, or by clicking the File icon, which will activate the screen that allows you to navigate to the location of your database program executable file.</para>

<para>You might want to do this if you have chosen to install your database program to a location that is different from the default.  Also note that, in the screenshot, the database program shows as <quote>sqlite3</quote>.  However, if you use another database program, for instance MySQL or PostgreSQL, the appropriate database would be shown.</para>

<note><para>This setting is for the purpose of setting the location of the database file.  For specific information on backing up your database, see the section <link linkend="backup-db">Backing Up Your &krecipes; Database</link>.</para></note>

<para>Also exclusive to the <emphasis><guilabel>Server Settings</guilabel></emphasis> screen, is the <emphasis><guilabel>Re-run wizard on next startup</guilabel></emphasis> tickbox that can be selected to reload the database with the recipes and USDA data that come as defaults with the <emphasis>&krecipes;</emphasis> program.</para>

<para>Buttons that appear at the bottom of the <emphasis><guilabel>Server Settings</guilabel></emphasis> screen are common to each of the preference screens and function as follows &mdash;</para>

<itemizedlist>
<listitem><para><guibutton>OK</guibutton> &ndash; sets any changes made and closes the <interface>Krecipes Preferences - Krecipes</interface> window</para></listitem>
<listitem><para><guibutton>Cancel</guibutton> &ndash; cancels changes, if any have been made, and closes the <interface>Krecipes Preferences - Krecipes</interface> window</para></listitem>
<listitem><para><guibutton>Help</guibutton> opens the <emphasis>&krecipes;</emphasis> documentation</para></listitem>
</itemizedlist>
</sect2>

<sect2 id="custom-formatting">
<title>Customizing Formatting</title>

<para>Like accessing the <interface>Krecipes Preferences - Krecipes</interface> <emphasis><guilabel>Server Settings</guilabel></emphasis> preferences, you access the <emphasis><guilabel>Formatting</guilabel></emphasis> preferences, by first choosing <guimenu>Settings</guimenu> and <guimenuitem>Configure &krecipes;...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu and then, choosing the <emphasis><guilabel>Formatting</guilabel></emphasis> option that appears on the left of the window.</para>
<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Formatting configuration window.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="formatting.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure <emphasis>&krecipes;</emphasis> &ndash; Formatting interface</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>From this window, there are two formatting preferences that can be customized &mdash;</para>

<orderedlist><listitem><para><emphasis><guilabel>Number Format</guilabel></emphasis> &ndash; either <emphasis><guilabel>Fraction</guilabel></emphasis> or <emphasis><guilabel>Decimal</guilabel></emphasis> can be selected by clicking on the appropriate radio button and this choice controls how the units of measure will display in your recipes</para></listitem>

<listitem><para><emphasis><guilabel>Ingredient</guilabel></emphasis> format &ndash; this controls how the ingredients are listed in your recipes</para>
<para>You will notice from the screenshot that each portion of the ingredient has a variable associated with it, <emphasis>%n</emphasis> for <quote>Name</quote>, <emphasis>%p</emphasis> for <quote>Preparation method</quote>, <emphasis>%a</emphasis> for <quote>Amount</quote>, <emphasis>%u</emphasis> for <quote>Unit</quote>.  The chosen order for display of these items appears in the <emphasis><guilabel>Ingredient format:</guilabel></emphasis> textbox and can be changed at will.  For example, as shown in the screenshot, the <emphasis>%a %u %n%p</emphasis> ingredient format will result in an ingredient being displayed as follows &mdash;</para>
<para>2&#0189; lbs. cream cheese; softened</para>
</listitem>
</orderedlist>

</sect2>

<sect2 id="import-export-preference">
<title>Choosing Import/Export Preferences</title>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Import/Export configuration window.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="import-settings.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure <emphasis>&krecipes;</emphasis> &ndash; Import/Export interface</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>Accessing the <interface>Krecipes Preferences - Krecipes</interface> <emphasis><guilabel>Import/Export</guilabel></emphasis> preferences, is accomplished by first, choosing <guimenu>Settings</guimenu> and <guimenuitem>Configure &krecipes;...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu and then, choosing the <emphasis><guilabel>Import/Export</guilabel></emphasis> option that appears on the left of the window.</para>

<para>On this screen under the heading <emphasis><guilabel>Import</guilabel></emphasis>, two options exist &mdash;</para>

<para>The first is <emphasis><guilabel>Overwrite recipes with same title</guilabel></emphasis> and this feature can be turned on by clicking the tickbox beside the label.  This might be a good idea if you are re-importing a currently loaded database.</para>

<para>Should you choose NOT to overwrite existing recipes and you have a recipe titled <emphasis>Chocolate Cheesecake</emphasis>, for example, in your recipe list, if you import another Chocolate Cheesecake recipe, the listing will appear as &mdash;</para>

<para>Chocolate Cheesecake</para>
<para>Chocolate Cheesecake (2)</para> 

<para>The second option is <emphasis><guilabel>Ask which recipes to import</guilabel></emphasis> and again, this feature can be turned on by selecting the textbox.  If this feature is not turned on, your recipes will be imported silently with no prompt.  See the section <link linkend="import-export-recipes">Importing and Exporting Recipes</link> for a screenshot that will show the result of this option being selected.</para>

<sect3 id="copy-clipboard">
<title>Copying to the Clipboard</title>
<para>Under the heading <emphasis><guilabel>Export</guilabel></emphasis>, a drop-down menu exists from which you can select the <quote>Copy to Clipboard</quote> format you wish to use.</para>

<para>Essentially, copying to the clipboard is the same as exporting a recipe.  The difference lies in the end result of the export.  The traditional export function creates a <emphasis>file</emphasis> (see the section <link linkend="export-recipe">Exporting Recipes to Other Formats</link> for a complete description of this).  The <quote>Copy to Clipboard</quote> function creates a copy of the recipe in the specified format and places the copy on the clipboard.  This provides the ability to paste that copy into an e-mail, for example.  The usefulness of this might be in the situation where an attachment to an e-mail might be scrubbed.</para>

<para>The available choices for <quote>Copy to Clipboard</quote> are &mdash;</para>

<itemizedlist>
<listitem><para>Plain Text (*.txt) &ndash; If copied to the clipboard in this format, the result will be a plain text copy of the recipe.</para></listitem> 
<listitem><para>Krecipes (*.kreml) &ndash; If copied to the clipboard in this format, the result will contain all the associated markup tags that allow formatting which is associated with <emphasis>&krecipes;</emphasis>.</para></listitem>
<listitem><para>Meal-Master (*.mmf) &ndash; If copied to the clipboard in this format, the result will be a format that is recognized by the Meal-Master program.</para></listitem>
<listitem><para>Rezkonv (*.rk) &ndash; If copied to the clipboard in this format, the result will be a format that is recognized by the Rezkonv program.</para></listitem>
<listitem><para>RecipeML (*.xml) &ndash; If copied to the clipboard in this format, the result will contain all the associated markup tags that allow formatting associated with RecipeML.</para></listitem>
</itemizedlist>

<para>As previously stated, once the recipe is copied to the clipboard in the desired format, it can be pasted into an e-mail.  It can also be pasted into a text editor for the purpose of saving the document.  When a recipe is copied to the clipboard in a plain text format and then pasted into an e-mail or another document, it is not intended to be imported back into <emphasis>&krecipes;</emphasis> or any other recipe program.  However, suppose another format has been selected for <quote>Copy to Clipboard</quote>.  What do you do then and how do you get it back into a related recipe program?</para>

<para>If the recipe has been copied into an e-mail and sent, the recipient could just copy the section associated with the recipe and then, paste it into a text editor and save it to a file with the extension associated with the format &ndash; <emphasis>.kreml</emphasis> for <emphasis>&krecipes;</emphasis> format, <emphasis>.mmf</emphasis> for Meal-Master format, <emphasis>.rk</emphasis> for Rezkonv format, or <emphasis>.xml</emphasis> for RecipeML format.  Once saved, this file could then be imported back into the associated recipe program.</para>

<para>If the contents of the clipboard have been pasted directly into a text editor, the file can then be saved with the appropriate extension as previously listed and imported back into the associated recipe program.</para> 

</sect3>
</sect2>

<sect2 id="configure-performance">
<title>Enhancing Performance</title>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; Performance configuration window.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="performance.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configure <emphasis>&krecipes;</emphasis> &ndash; Performance  interface</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>Accessing the <interface>Krecipes Preferences - Krecipes</interface> <emphasis><guilabel>Performance</guilabel></emphasis> preferences, is accomplished by first, choosing <guimenu>Settings</guimenu> and <guimenuitem>Configure &krecipes;...</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu and then, choosing the <emphasis><guilabel>Performance</guilabel></emphasis> option that appears on the left of the window.</para>

<para>In this interface, you are customizing two settings. For a reason that you might want to do this, see the section <link linkend="config-performance-reason">Reasons for Configuring Performance Settings</link>.  These settings can be used individually or together or not at all.</para>

<para>The first is to set the number of categories that appear in the list when the <quote>Find/Edit Recipes</quote> component is selected.  By default, this number is set to <quote>Unlimited</quote>, which means that all categories will be displayed. To change this setting, adjust the <quote>slider</quote> that appears below the label <quote><emphasis><guilabel>Number of categories to display at once:</guilabel></emphasis></quote> until the desired number appears, or use the <quote>spinbox</quote> to set the number.</para>

<para>The second setting that you might wish to change is for the number of items that are displayed in lists, for example, the <emphasis>Ingredients</emphasis> list or <emphasis>Properties</emphasis> list. Again, by default this is set to <quote>Unlimited</quote> and to change the setting you would adjust the <quote>slider</quote> that appears below the label <quote><emphasis><guilabel>Number of elements to display at once:</guilabel></emphasis></quote>, or use the <quote>spinbox</quote> until the desired number appears.</para>

<para>It should be noted that for the <quote><emphasis><guilabel>Number of elements to display at once:</guilabel></emphasis></quote> setting, the adjustment is done in increments of 1000 when using the <quote>spinbox</quote>.  Should you wish to set smaller numbers, you can do this by highlighting the word <quote>Unlimited</quote> or whatever numeric entry appears in the box and type the number that you wish to use.  However, this feature is ideally used when you have a very large database of recipes.</para>

<sect3 id="config-performance-reason">
<title>Reasons for Configuring Performance Settings</title>

<para>In most instances, the settings to adjust the <emphasis><emphasis><guilabel>Number of categories to display at once:</guilabel></emphasis></emphasis> and/or the <emphasis><emphasis><guilabel>Number of elements to display at once:</guilabel></emphasis></emphasis> will not have to be changed.  The ultimate reason that you might want to do so occurs when you have a very large database of recipes.  Adjusting these settings so that your Categories or list items are loaded in groups will greatly improve the speed of loading for these items.</para>
</sect3>

</sect2>

</sect1>

</chapter>

<chapter id="report-problems">
<title>Reporting Problems</title>

<para>In the event that <emphasis>&krecipes;</emphasis> program does something unexpected and you think this might be a bug, you can submit a bug report to the program maintainer.  Even if you do not encounter any problems and you have an idea to improve <emphasis>&krecipes;</emphasis>, you can submit this request as well.  By submitting a report in either of these situations, it will help us to continually improve <emphasis>&krecipes;</emphasis>.</para> 

<sect1 id="bugs-requests">
<title>Reporting Bugs/Requesting Feature Enhancements</title>

<para>To submit a bug report, select <guimenu>Help</guimenu> and <guimenuitem>Report Bug</guimenuitem> from the <emphasis>&krecipes;</emphasis> menu bar.  The <emphasis><interface>Submit Bug Report &ndash; &krecipes;</interface></emphasis> window appears as in the screenshot below:</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the &krecipes; interface for submitting bugs or feature requests.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="submit-bug.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Submitting Bug Reports and Feature Requests</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>This is the actual e-mail interface used to submit the bug report or feature enhancement.  In addition to the section for typing the e-mail, it provides a wealth of information, some of which provides information that will assist the maintainer in acting on your e-mail.  The information provided is as follows: &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>From:</guilabel></emphasis> &ndash; the e-mail address of the person sending the e-mail shows beside this label, <abbrev>i.e.</abbrev>your e-mail address</para></listitem>

<listitem><para><emphasis><guilabel>To:</guilabel></emphasis> &ndash; the e-mail address of the person to whom the e-mail is being sent shows beside this label, <abbrev>i.e.</abbrev>the program maintainer</para></listitem>

<listitem><para><emphasis><guilabel>Application:</guilabel></emphasis> &ndash; the application that the report pertains to shows beside this label</para>
<note><para><emphasis>&krecipes;</emphasis> is shown by default because you are sending this from within <emphasis>&krecipes;</emphasis>.  However, <emphasis>&krecipes;</emphasis> is a &kde; application, so there is a drop-down menu from which you could select another application if you were sending a report from within another program.</para></note>
</listitem>

<listitem><para><emphasis><guilabel>Version:</guilabel></emphasis> &ndash; the version of the <emphasis>&krecipes;</emphasis> program being used when the report is submitted shows beside this label</para></listitem>

<listitem><para><emphasis><guilabel>OS:</guilabel></emphasis> &ndash; the operating system being used and its version show beside this label</para></listitem>

<listitem><para><emphasis><guilabel>Compiler:</guilabel></emphasis> &ndash; the compiler used to compile <emphasis>&krecipes;</emphasis> and its version is shown beside this label (A compiler is the program that turns the source code as written by the programmer into what is known as <quote>object code</quote>, which the computer can understand.)</para></listitem>
</itemizedlist>

<para>The next sections are the ones that you will have to complete.</para>

<para>In the section labelled <emphasis><guilabel>Severity</guilabel></emphasis>, you provide the information as to the type of report by selecting the pertinent radio button as follows &mdash;</para>

<itemizedlist>
<listitem><para><emphasis><guilabel>Critical</guilabel></emphasis> &ndash; this selection indicates that there is a serious malfunction in the <emphasis>&krecipes; program</emphasis>.  This could be indicated by a program crash</para>

<note><para>In the event of a crash, a <emphasis>Backtrace</emphasis> window might appear.  This information is useful to the maintainer, so it is wise to copy the text that appears in this window and paste it into the body of your e-mail.</para></note></listitem>

<listitem><para><emphasis><guilabel>Grave</guilabel></emphasis> &ndash; this selection might be indicated if <emphasis>&krecipes;</emphasis> has been rendered unusable</para></listitem>

<listitem><para><emphasis><guilabel>Normal</guilabel></emphasis> &ndash; this selection indicates that some aspect of <emphasis>&krecipes;</emphasis> is failing to perform as expected.</para></listitem>

<listitem><para><emphasis><guilabel>Wishlist</guilabel></emphasis> &ndash; this selection would be used to request a feature enhancement to <emphasis>&krecipes;</emphasis>.  This is the type of report being shown in the screenshot.</para></listitem>

<listitem><para><emphasis><guilabel>Translation</guilabel></emphasis> &ndash; this selection would be use to request that the <emphasis>&krecipes;</emphasis> be translated into another language.</para></listitem>
</itemizedlist>

<para>In the textbox beside the label <emphasis><guilabel>Subject:</guilabel></emphasis> you would type a description of the report being submitted and finally, in the large text area, you would type a description of the problem or enhancement and provide any error messages that have been displayed.</para>

<para>When you have completed the e-mail, click the <guibutton>Send</guibutton> button to submit your e-mail or the <guibutton>Cancel</guibutton> button to close the interface and return to the main <emphasis><guilabel>&krecipes;</guilabel></emphasis> window.</para>

<para>When you click the <guibutton>Send</guibutton> button, you will be prompted for a password.  This is the password that goes along with your system username.  However, before you can actually send your e-mail, it must be configured for sending as described in the following section.  Click the <guibutton>Configure Email...</guibutton> button to start the e-mail configuration interface.</para>


<sect2 id="config-email">
<title>Configuring Email to Enable Submission of Bug Reports</title>

<para>
<screenshot>
<screeninfo>Here's a screenshot of the e-mail configuration screen that enables the ability to send bug reports from within &krecipes;.</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="config-email.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>Screenshot</phrase>
	  </textobject>
	  <caption><para>Configuring Email</para></caption>
	</mediaobject>
</screenshot>
</para>

<para>From the screenshot, you will notice that there is an icon at the top of the page and beside this your username that you use to log onto your system.  This icon can be changed by clicking on it.</para>

<para>The next set of information that you need to provide appears below the label <emphasis><guilabel>User Information</guilabel></emphasis> and that is exactly what this section contains.  Looking at the screenshot, the information that needs to be provided is self-explantory.  Of the first four pieces of information provided, the only ones that are absolutely essential are your <emphasis><guilabel>Email address:</guilabel></emphasis> and <emphasis><guilabel>SMTP server:</guilabel></emphasis>.  An SMTP server is the server used for sending e-mail.  This could be the one housed by your internet service provider, or one that is on your local area network.</para>

<para>The last item shown in the <emphasis><guilabel>User Information</guilabel></emphasis> section is for the <emphasis><guilabel>User ID</guilabel></emphasis>.  In the screenshot, nothing shows beside this label, but it would normally default to your numerical User ID as set up on the system.</para>

<para>In the section beneath the label <emphasis><guilabel>At Password Prompt</guilabel></emphasis>, three radio buttons appear from which you can make the choice that you want.  This selection dictates what will happen when you enter your password when prompted.  Each time you press a key for a character in your password, that character is reiterated by the number of stars as determined by the radio button selected &ndash; one star if you chose the radio button beside the label <emphasis><guilabel>Show one star for each letter</guilabel></emphasis>, or three stars if you chose the radio button beside the label <emphasis><guilabel>Show three stars for each letter</guilabel></emphasis>.  If you chose the radio button beside the label <emphasis><guilabel>Show nothing</guilabel></emphasis>, no stars will be reiterated.</para>

<para>It is not necessary to utilize the <guibutton>Change Password</guibutton> button.  You probably already have a password to log onto your system.  However, should you wish to change the password associated with your username, you may do so by clicking this button and following the prompts.</para>

<para>Now you are ready to send your e-mail!</para>

</sect2>
</sect1>
</chapter>

<chapter id="commands">
<title>Command Reference</title>

<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
application windows and their menubar and toolbar commands for easy reference.
Also include any keys that have a special function but have no equivalent in the
menus or toolbars. This may not be necessary for small apps or apps with no tool
or menu bars. -->

<sect1 id="kapp-mainwindow">
<title>The main <emphasis>&krecipes;</emphasis> window</title>

<sect2 id="file-menu">
<title>The File Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>New Recipe</guimenuitem>
</menuchoice></term>
<listitem><para><action>Creates a new recipe</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the recipe</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print</guimenuitem>
</menuchoice></term>
<listitem><para><action>Prints the currently loaded recipe</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycap>F5</keycap>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Reload</guimenuitem>
</menuchoice></term>
<listitem><para><action>Reloads the currently active recipe</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>I</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Import from File...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Imports recipes</action> from a file &ndash; See the section <link linkend="file-import">Importing from a File</link> for instructions</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Import from Database...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Imports recipes</action> from one of 3 database choices</para>
<para>See the corresponding sections on importing from a Database &ndash; <link linkend="import-sqlite">SQLite</link>, <link linkend="import-mysql">MySQL</link>, or <link linkend="import-postgresql">PostgreSQL</link></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Export...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Exports</action> either a single recipe or all recipes to a file &ndash; <link linkend="export-recipe">Exporting Recipes to Other Formats</link></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Backup</guimenuitem>
</menuchoice></term>
<listitem><para><action>Backs up</action> your <emphasis>&krecipes;</emphasis> database file &nbsp; refer to the section <link linkend="backup-db">Backing Up Your <emphasis>&krecipes;</emphasis> Database</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Restore</guimenuitem>
</menuchoice></term>
<listitem><para><action>Restores</action> your <emphasis>&krecipes;</emphasis> database file &nbsp; refer to the section <link linkend="restore-db">Restoring Your <emphasis>&krecipes;</emphasis> Database</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Quits</action> <emphasis>&krecipes;</emphasis></para></listitem>
</varlistentry>
</variablelist>
</para>

</sect2>

<sect2 id="edit-menu">
<title>The <guimenu>Edit</guimenu> Menu</title>

<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Page Setup...</guimenuitem>
</menuchoice></term>
<listitem><para>Accesses the <emphasis>&krecipes;</emphasis> <action>Page Setup interface</action> for defining the page layout &ndash; see the section on <link linkend="krecipes-page-setup">Page Setup</link> for further details</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Copy to Clipboard</guimenuitem>
</menuchoice></term>
<listitem><para>Will make a text copy of a selected recipe and place it on the <interface>Clipboard</interface> in order to paste into another application, for example an e-mail.</para></listitem>
</varlistentry>

</variablelist>
</para> 

</sect2>

<sect2 id="tools-menu">
<title>The <guimenu>Tools</guimenu> Menu</title>

<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>E</keycap></keycombo>
</shortcut>
<guimenu>Tools</guimenu>
<guimenuitem>Edit</guimenuitem>
</menuchoice></term>
<listitem><para>Accesses the <emphasis>&krecipes;</emphasis> <action>Edit</action> mode</para></listitem>
</varlistentry>
</variablelist>
</para> 

</sect2>

<sect2 id="settings-menu">
<title>The Settings Menu</title>
<para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Toolbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Turns display of Toolbar on and off</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Hide Statusbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Hides the Statusbar</action></para>
<para>If this menu item is selected, the choice changes to <guimenuitem>Show Statusbar</guimenuitem> which <action>Shows the Statusbar</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <interface>Configure Shortcuts - &krecipes;</interface> window from which Shortcuts can be defined</para>
<para>For complete instructions on configuring shortcuts, see the section <link linkend="configure-shortcuts">Creating Shortcuts</link></para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <interface>Configure Toolbars - &krecipes;</interface> window from which Toolbars can be configured</para>
<para>See the section <link linkend="configure-toolbars">Customizing the Toolbar</link> for details.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &krecipes;...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> the <interface>&krecipes; Preferences - &krecipes;</interface> window from which a number of preferences can be defined</para>
<para>See the sections, <link linkend="configure-server-settings">Server Settings</link>, <link linkend="custom-formatting">Customizing Formatting</link>, or <link linkend="import-export-preference">Choosing Import/Export Preferences</link> for specific configuration instructions.</para></listitem>
</varlistentry>
</variablelist>
</para>

</sect2>

<sect2 id="help-menu">
<title>The <guimenu>Help</guimenu> Menu</title>

<!-- Assuming you have a standard help menu (help, what's this, about -->
<!-- &krecipes;, about KDE) then the documentation is already written. -->
<!-- The following entity is valid anywhere that a variablelist is -->
<!-- valid.  -->

&help.menu.documentation;

</sect2>

</sect1>
</chapter>

<chapter id="faq">
<title>Questions and Answers</title>

<!-- (OPTIONAL but recommended) This chapter should include all of the silly
(and not-so-silly) newbie questions that fill up your mailbox. This chapter
should be reserved for BRIEF questions and answers! If one question uses more
than a page or so then it should probably be part of the
"Using this Application" chapter instead. You should use links to
cross-reference questions to the parts of your documentation that answer them.
This is also a great place to provide pointers to other FAQ's if your users
must do some complicated configuration on other programs in order for your
application work. -->

&reporting.bugs;
&updating.documentation;

<qandaset id="faqlist">

<qandaentry>
<question>
<para>I've put a lot of recipes into Krecipes and now it runs and loads very slowly.  Is there anything I can do to speed it up?</para>
</question>
<answer>
<para>Krecipes can work fine with thousands of recipes, even on a modest machine, and it is currently being tested with 50,000+ recipes.</para>

<para>Here's what you can do:</para>

<itemizedlist>
<listitem><para>Select the MySQL or PostgreSQL backends.  They provide better overall performance than SQLite, especially for a huge amount of recipes.</para></listitem>
<listitem><para>In the Configure Krecipes dialog, tune the <link linkend="configure-performance">Performance options</link>.</para></listitem>
<listitem><para>Categorize your recipes.  Krecipes will load much faster if all recipes are categorized.</para></listitem>
</itemizedlist>

</answer>
</qandaentry>

<qandaentry>
<question>
<para>The Ingredient Matcher never matches any recipes.  What am I doing wrong?</para>
</question>
<answer>
<para>The purpose of the Ingredient Matcher is to find recipes that you are able to make (or almost make) with ingredients that you select.  That means you have to select every single ingredient used in a recipe (or all but a few, depending on how many ingredients can be missing) to match that recipe.  See the <link linkend="ingredient-matcher">Ingredient Matcher section</link> for details.</para>

<para>If you want to see which recipes use particular ingredients, then you want to use the <link linkend="using-adv-ingredients">The Ingredients Search</link>.</para>
</answer>
</qandaentry>

</qandaset>

</chapter>

<chapter id="credits">

<!-- Include credits for the programmers, documentation writers, and
contributors here. The license for your software should then be included below
the credits with a reference to the appropriate license file included in the KDE
distribution. -->

<title>Credits and License</title>

<para>
&krecipes;. Program copyright 2003, 2004, 2005 by the &krecipes; developer team.
</para>

<variablelist>
<title>The &krecipes; team:</title>
<varlistentry>
<term>Unai Garro <email>ugarro@users.sourceforge.net</email></term>
<listitem><para>Creator &amp; Core Developer</para></listitem>
</varlistentry>
<varlistentry>
<term>Jason Kivlighn <email>jkivlighn@gmail.com</email></term>
<listitem><para>Project Maintainer &amp; Core Developer</para></listitem>
</varlistentry>
<varlistentry>
<term>Cyril Bosselut <email>bosselut@b1project.com</email></term>
<listitem><para>Core Developer</para></listitem>
</varlistentry>
</variablelist>

<para>
Documentation copyright 2004-2005 Colleen Beamer <email>colleen.beamer@gmail.com</email> and Jason Kivlighn <email>jkivlighn@gmail.com</email>
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;               <!-- FDL: do not remove -->

<!-- Determine which license your application is licensed under, 
     and delete all the remaining licenses below:

     (NOTE:  All documentation are licensed under the FDL, 
     regardless of what license the application uses) -->

&underGPL;        	 <!-- GPL License -->

</chapter>

<appendix id="installation">
<title>Installation</title>

<sect1 id="getting-kapp">
<title>How to obtain &krecipes;</title>

<para>The latest version of &krecipes; is available from its home page at <ulink url="http://krecipes.sourceforge.net">http://krecipes.sourceforge.net</ulink></para>

<para>&krecipes; can also be found in KDE SVN in the extragear/utils module.  Instructions for downloading and installing through SVN are available at <ulink url="http://krecipes.sourceforge.net/downloading.html">http://krecipes.sourceforge.net/downloading.html</ulink></para>

</sect1>

<sect1 id="requirements">
<title>Requirements</title>

<!--
List any special requirements for your application here. This should include:
.Libraries or other software that is not included in kdesupport,
kdelibs, or kdebase.
.Hardware requirements like amount of RAM, disk space, graphics card
capabilities, screen resolution, special expansion cards, etc.
.Operating systems the app will run on. If your app is designed only for a
specific OS, (you wrote a graphical LILO configurator for example) put this
information here.
-->

<para>
In order to successfully use &krecipes;, make sure you have at least one of the two necessary databases installed: <emphasis>SQLite</emphasis> or <emphasis>MySQL</emphasis>. In case you decide to use MySQL, make sure also that you have <emphasis>&Qt;'s MySQL plugin</emphasis> properly installed. The program won't work without database support.
</para>

<para>
&krecipes; also requires &kde; &gt;= 3.1 and &Qt; &gt;= 3.1
</para>

<para>If you are compiling &krecipes; from source, you may need the following packages (package names may vary depending upon your distribution):</para>

<note><para>If you have compiled any &kde; application before, then these packages will already be installed.</para></note>

<itemizedlist>
<listitem><para>libjpeg-devel</para></listitem>
<listitem><para>libpng-devel</para></listitem>
<listitem><para>libart_lgpl-devel</para></listitem>
<listitem><para>arts-devel</para></listitem>
<listitem><para>zlib-devel</para></listitem>
<listitem><para>XFree86-devel or xorg-x11-devel or libxorg-x11-devel</para></listitem>
<listitem><para>kdelibs-devel</para></listitem>
<listitem><para>qt-devel or libqt3-devel</para></listitem>
</itemizedlist>

<para>
&krecipes; currently has support for storing recipes in a PostgreSQL database, although it is currently considered beta.  No problems have been found with it, but until there has been more testing, it will be marked as unsupported.
</para>

</sect1>

<sect1 id="compilation">
<title>Compilation and Installation</title>

<!-- This entity contains the boilerplate text for standard -->
<!-- compilation instructions.  If your application requires any -->
<!-- special handling, remove it, and replace with your own text. -->

&install.compile.documentation;

<para>
Krecipes can also be compiled without support for certain databases.  See <command>./configure --help</command>.
</para>

</sect1>

</appendix>

&documentation.index;
</book>

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

vim:tabstop=2:shiftwidth=2:expandtab 
-->
