<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook V3.1//EN'>

<article>
  <artheader>
    <title>Projects for Palm OS</title>
    <author><firstname>Peter</firstname><surname>Novotnik</surname></author>
    <releaseinfo>
    	This is version 1.4 of the Projects manual.
    </releaseinfo>
 </artheader>

  <!-- introductions =============================================== -->
  <sect1 id='introduction'>
    <title>Introduction</title>
		<sect2 id='WhySuchAnApplication'>
    <title>Why such an application?</title>
    <para>
			Every user of the Palm Operating Systems knows the excellent
			<application>To-Do</application> application shipped with the
			PalmOS.  Many people, including me, use it to keep track of things
			that need to be done. By taking advantage of categories it is
			possible to quickly find a specific item in a long list of to-dos. The
			major drawback is ... you can only create 16 categories.  As I
			began working on multiple projects I needed to track
			<quote>many</quote> to-dos.  Although as I mentioned, I was working with the categories in
			the <application>To-Do</application> application, I
			needed a more structured way of organizing my to-do items. And so, the
			idea of writing a new application was born.
    </para>
		</sect2>
		<sect2 id='WhyThisName'>
    <title>Why this name?</title>
    <para>
			At the beginning of writing such an application, I had a
			problem with what to name it. It should actually be named something
			like <emphasis>To-dos</emphasis> or <emphasis>To-Do+</emphasis>.
			At the time I started coding I was in my first practical semester,
			and where I worked everything was called a <quote>project</quote>
			... so, after extending the application with a few features that
			are not part of the built-in <application>To-Do</application> app
			I decided to name it <emphasis>Projects</emphasis>.
    </para>
    </sect2>
    <sect2 id='ALittleBitOfHistory'>
    <title>A little bit of history...</title>
    <para>
			In the first versions <application>Projects</application> was
			quite limited and used a different database format then the built-in
			<application>To-Do</application> app. As of version v1.5 the
			database format used in both apps is the same, so it is possible to
			work on the same to-do list in both applications. This may change in
			future versions, as there is a demand for certain features that require
			a new format for the database. However, version 1.8.1 is still
			compatible with versions down to v1.5. As of version 1.8.2 there is
			a small upgrade utility which needs to be run once to upgrade from
			version 1.8.1 or below.
    </para>
    </sect2>
    <sect2 id='Requirements'>
    <title>Requirements</title>
    <para>
			<application>Projects</application> is independent of any other
			third party software on your PDA. All you need to run the
			application is a Palm OS compatible PDA with an OS version of 3.1
			or higher.
    </para>
    </sect2>
    <sect2 id='NoteForUpgraders'>
    <title>Upgrading</title>
    <para>
      If you have a version prior to v1.5 on your PDA, you'll need to
      delete the whole application and its data before upgrading!!
      Please use the default way to delete an application! Launch the
      ``Delete...'' menu item in the built-in application launcher to erase
      it from you handheld. Users of versions v1.5 and higher may
      simply reinstall the PRC to upgrade.
    </para>
    </sect2>
    <sect2 id='Warning'>
    <title>Warning</title>
    <para>
			While every effort has been made to find and remove bugs from
			<application>Projects</application>, it is still under active
			development. You use it at your own risk! Since
			<application>Projects</application> is still under active
			development, there may be bugs which will cause your PDA to crash
			to the point where a hard reset is required. (Hard resets cause
			loss of all data on the PDA.)
    </para>
    </sect2>
	</sect1>

  <!-- contact ===================================================== -->
  <sect1 id='ContactAndResources'>
    <title>Contact and resources</title>
    <sect2 id='Conntact'>
      <title>Where to find more information?</title>
      <para>
        Thanks to the <ulink url='http://sourceforge.net'>SourceForge</ulink> team,
        <application>Projects</application> is now an <quote>Open
        Source</quote> project, and has been released under the terms of
        the General Public License (GPL). For more details read the
        <emphasis>COPYING</emphasis> file distributed with the release packages, or visit
				<ulink url='http://www.gnu.org'>www.gnu.org</ulink> to read more
				about the GNU project and the Free Software Foundation.
      </para>
      <para>
				The official web page for the application can be found at <ulink
				url='http://projects4palmos.sourceforge.net'>http://projects4palmos.sourceforge.net</ulink>.
				There you will find information, the latest news, documentation, mailing
				lists and forums for <application>Projects</application>.
      </para>
      <para>
				The official web site for the whole project at SourceForge is <ulink
				url='http://sourceforge.net/projects/projects4palmos'>http://sourceforge.net/projects/projects4palmos</ulink>
				and is mainly indented for developers.
      </para>
      <para>
				If you want to contact me directly regarding any issues related
				to <application>Projects</application>, just send an email to
				<quote><emphasis>projects4palmos (at) gmx.net</emphasis></quote> (to
				prevent spam bots @ has been replaced by <quote>(at)</quote>).
      </para>
    </sect2>
    <sect2 id='WhereCanIGetIt'>
      <title>Where can I get it?</title>
      <para>
				You can go to <ulink
				url='http://sourceforge.net/project/showfiles.php?group_id=41739'>http://sourceforge.net/project/showfiles.php?group_id=41739</ulink>
				to download any available releases and stable sources.
      </para>
      <para>
				If you want to checkout the latest (though not always stable) sources, go to
				<ulink
				url='http://sourceforge.net/cvs/?group_id=41739'>http://sourceforge.net/cvs/?group_id=41739</ulink>
				for a description of how to obtain the code via
				<application>CVS</application>.
      </para>
    </sect2>
  </sect1>

  <!-- MainForm ==================================================== -->
  <sect1 id='MainForm'>
    <title>MainForm <emphasis>(Project List)</emphasis></title>
    <sect2>
      <title>About</title>
      <para>
				The top level view in <application>Projects</application> is called
				<emphasis>MainForm</emphasis> or <emphasis>Project List</emphasis>. It
				shows you the available projects registered by the application.  The format
				consists of several columns, each showing different information about the
				projects. On colored versions, some projects may be grayed out, indicating
				that a project is not <quote>active</quote>. This will be described more 
				fully later.
      </para>
    </sect2>

    <sect2 id='PriorityColumn'>
      <title>Priority column</title>
      <para>
				The first column indicates the <emphasis>priority</emphasis> of a project.
				Projects' priorities range from 1 to 5, with 1 being the highest and 5
				being the lowest priority. You can set the priority of a project
				directly by tapping on the number and choosing one of the values from the
				pop-up list. By default, projects are sorted by their priority.
				If you change the priority of a project, the item will be
				reordered into its proper position in the list. If you feel
				you don't need this column and want to have more space for other
				columns, you can turn it off. (See <link
				linkend='MFPreferences'>Preferences</link>).
      </para>
    </sect2>

    <sect2 id='BeginDateColumn'>
      <title>Begin date column</title>
       <para>
					The next available column shows you the <emphasis>begin
					date</emphasis> of each project. Every project must have this value set
					to a valid date; it cannot be set to <quote>no date</quote>.
					The column displays only the day and month of the date.
					Because of the small screen on PDAs, I've decided not to show the year portion
					of the date. Tapping in a cell of this column will open up the appropriate project
					and bring you directly to the <link
					linkend='GeneralPage'><emphasis>GeneralPage</emphasis></link>.  This
					column is turned off (hidden) by default so you need to check the
					<link linkend='MFPreferences'>Preferences</link> to make it appear.
      </para>
    </sect2>

    <sect2 id='ProjectNameColumn'>
      <title>Project name</title>
      <para>
				The most important column displays the <emphasis>Project name</emphasis>.
				Tapping on it will open up the project to the <link
				linkend='ToDoPage'><emphasis>ToDoPage</emphasis></link>. This column
				cannot be turned off; it is always visible.
			</para>
    </sect2>

    <sect2 id='ToDoInformation'>
      <title>ToDo information</title>
      <para>
				In the same column (at the end of the <emphasis>Project name</emphasis> column) you will
				find something like <quote>2/16</quote> or <quote>7/26</quote>. This is
				referred to as the <emphasis>To-Do information</emphasis> and displays the
				number of to-dos for the appropriate project. While the first number
				counts the completed items, the second number shows the total amount of
				(all) to-dos for a project.  These <quote>To-Do Numbers</quote> can be
				used as a kind of status, telling you how far a project has
				progressed. You may be wondering why this information is not shown as a graphical progress
				bar, or something similar. Well, remember that PDAs have a very
				limited screen size and resolution where small graphics are
				sometimes hard to read. You may then wonder why it it is not
				displyed as something like <quote>84\%</quote> to show that a
				project is 84 percent complete. This would be a possible solution, but it
				is not very practical since it is not accurate enough. Reading that 8
				tasks out of 28 are completed is more helpful information, in my
				view. Once again, if you do not need this information you can turn it off. (See
				<link linkend='MFPreferences'>Preferences</link>).
      </para>
    </sect2>

    <sect2 id='StateColumn'>
      <title>State column</title>
      <para>
				As of version v1.8.2a you are able to define your own project states. The
				column next to the project name (or ToDo Information) shows the
				first letter of the current state of a project. You can also turn this
				column off. By tapping the column, a list with already defined
				states will appear. If you choose the last entry in the list you can
				edit the states, in the same way that you edit categories.
				Note that there can be only 16 states. On colored devices you can
				also define a color for each state. The same color will be used to draw the projects'
				information on the <emphasis>MainForm</emphasis>.
      </para>

      <para>
				In previous version (v1.8.1 and below) you could choose to hide
				all projects that were not active. This option has been changed.
			 	Now you can filter projects by their states. Just check the
				<link linkend='MFPreferences'>Preferences</link>.
      </para>
    </sect2>

    <sect2 id='NoteIconColumn'>
      <title>Note icon column</title>
      <para>
				There may be a note icon in the last column. If there is such an icon
				it indicates that a text memo is associated with the project. Tapping in
				that column opens the project directly to the <link
				linkend='MemoPage'><emphasis>MemoPage</emphasis></link>. This column is
				always visible; it cannot be hidden.
      </para>
    </sect2>

    <sect2 id='MFCategoryColumn'>
      <title>Category column</title>
      <para>
				As of version v1.8.1 of <application>Projects</application>, you can
				display an additional column which will show the category of each item in
				the project list. Tapping on a category cell, you can select and assign a new
				category to the appropriate project on the fly, just like you can set
				the state or the priority of an item. This column can also be hidden from
				view by using the <link linkend='MFPreferences'>Preferences</link>
				dialog. If this column should be shown, it will be displayed <emphasis>only</emphasis> if
				your are viewing <quote>All</quote> items.
      </para>
    </sect2>

    <sect2 id='MFPreferences'>
      <title>Preferences</title>
      <para>
				Tapping on the <guibutton>Show...</guibutton> button will pop up the
				Preferences dialog. Here you may set the sort order of the project
				list. Beside choosing to have <application>Projects</application> sort
				the list automatically, you can also do it by hand (manually). If
				you choose to sort manually, new projects will be created at the top of the list. To
				reposition a project in the list, tap on its name, then hold down the pen
				and drag it to the desired position. This works much like in the
				built-in <application>Memo</application> application. Note that
				you need to tap into the <link
				linkend='ProjectNameColumn'><emphasis>project name
				column</emphasis></link> to make it work. The abbreviation
				<quote>asce.</quote> stands for <emphasis>ascending</emphasis>
				while <quote>desc.</quote> means
				<emphasis>descending</emphasis>.
				Further, you can turn off some
				of the previously mentioned columns by unhooking the appropriate check
				boxes. One special check box is <guilabel>...Only</guilabel>. If you 
				check this box, only projects in the defined state will be listed. If this
				checkbox is unhooked all projects will be shown.
      </para>
    </sect2>

    <sect2 id="NewButton">
      <title>Create a new projects</title>
      <para>
				Finally, to create a project all you need to do is to tap on the
				<guibutton>New...</guibutton> button. A small dialog will appear where
				you need to enter a name for the new project. Project names must be unique
				whithin the <application>Projects</application> application, they may be up
				to 27 characters long, and may contain any characters available on the
				Palm OS.
      </para>
    </sect2>

    <sect2 id="ToDosButton">
      <title>QuickView - Viewing to-dos of listed projects</title>
      <para>
				As of version 1.8.0 there is a small <guibutton>ToDos</guibutton>
				button beside the <guibutton>New...</guibutton> button. Tapping this will
				open up the <emphasis>QuickView</emphasis>, which lists all the currently
				shown projects along with their to-dos. This enables the viewing of items
				across project boundaries. This view has no caption associated with it.
				To show the menu you need to tap on the <quote>Menu</quote> soft button
				in the left bottom corner beside the Graffiti area. The two horizontal
				arrows allow you to quickly jump to the next or previous project in
				the list. Tapping the check boxes of to-do items allows you to mark an item
				as <quote>complete</quote>. Tapping on the item itself will open up the
				<link linkend='ProjectForm'><emphasis>ProjectForm</emphasis></link>
				to the <link linkend='ToDoPage'><emphasis>ToDoPage</emphasis></link>
				with the cursor on that item, if it was a to-do item. If you tap on the project name
				it simply opens the <link linkend='ToDoPage'><emphasis>ToDoPage</emphasis></link> but does not
				select an item. As of version v1.8.1, if you choose a paritcular to-do category for a
				project while in <emphasis>QuickView</emphasis>, you will see listed only the 
				corresponding to-do items for each project. With the v1.8.2 version you can also 
				filter to-do items by their priority.
      </para>
    </sect2>

    <sect2 id='SwichtingCategory'>
      <title>Switching current category</title>
      <para>
				To switch the category currently displayed on the
				<emphasis>MainForm</emphasis> you can use the popup trigger in the
				upper right corner of the form. If you have set a hardware button on
				your PDA to launch <application>Projects</application>, then pressing
				the button repeatedly will cause the <emphasis>MainForm</emphasis> 
				to cycle through all available cateories, while skipping those which are empty.
				Just have a try.
      </para>
    </sect2>

    <sect2 id='MFMenuItems'>
      <title>Menu items on <emphasis>MainForm</emphasis></title>
        <variablelist>
          <varlistentry>
            <term><guimenuitem>Def.Categories...</guimenuitem></term>
            <listitem><para>
							This will open up the dialog where you define categories, just as in
							the standard Palm applications. The main difference here is that
							these categories will be used for <emphasis>new</emphasis> projects. 
							Maybe this seems
							a little bit useless, but it was implemented for the
							following reason: Since I use <application>Projects</application>
							mainly for keeping track of my programming projects, I used the
							default categories <quote>Basic, Optional, Planned</quote>.  This
							means that any new project I create receives those categories for its
							to-do list. But there are people who would like to have other
							default categories ... once you have configured those default
							categories all your new projects' to-do lists will have these
							categories. There is only one thing to out for: each time
							you (re)install <application>Projects</application> these default categories
							are lost! This means that you have
							to review this menu item again to make sure that next time you
							create a new project it gets the default categories you want.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Scan for DBs</guimenuitem></term>
            <listitem><para>
							This is a special menu item that you will probably rarely use.
							It can be very useful when you have installed or beamed a
							projects database and the project does not appear in the projects
							list. If you perform this action
							<application>Projects</application> will look for all project
							databases in RAM of your PDA (not on extension cards), and insert
							these databases into the application's projects list if they aren't
							already there.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Font...</guimenuitem></term>
            <listitem><para>
							Here you can select a font that will be used to draw the items on
							the <emphasis>MainForm</emphasis>.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Security...</guimenuitem></term>
            <listitem><para>
							This item displays a form that allows you to determine whether to
							show, hide or mask projects marked as <quote>private</quote>. You
							will see this menu item only on devices running the Palm OS 
							version 3.5 or greater. On devices with an earlier OS version you
							will need to go to the <application>Security</application> application
							to define the state of private records.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>About</guimenuitem></term>
            <listitem><para>
              ... displays the <link
              linkend='AboutDialog'><emphasis>About</emphasis></link> dialog.
            </para></listitem>
          </varlistentry>
        </variablelist>
    </sect2>
  </sect1>

  <!-- ProjectForm ================================================= -->
  <sect1 id='ProjectForm'>
    <title>ProjectForm</title>
    <para>
      <variablelist><title>One Project's Data</title>
        <varlistentry><term>Begin date</term>
          <listitem><para>
            Must be a valid date. It cannot be set to <quote>no date</quote>.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>End date</term>
          <listitem><para>
            Can be a valid date or set to <quote>no date</quote>.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>Priority</term>
          <listitem><para>
						Must be one of <emphasis>1, 2, 3, 4, 5</emphasis> with 1 being the
						highest priority and 5 the lowest.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>State</term>
          <listitem><para>
						This must be one of your defined states.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>Category</term>
          <listitem><para>
						A category for the project. For example I have some projects under
						the <quote>Palm OS</quote> and some under the <quote>School</quote>
						category.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>Private flag</term>
          <listitem><para>
						This flag determines whether the project is <quote>private</quote>
						or not. Private projects will not be shown or will be masked if you
						have set the security options of your PDA appropriately.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>To-Do list</term>
          <listitem><para>
						This is the list of to-do items for a project. These items are stored
						separately from the other data for the project, in a database that has the 
						project name plus the string <quote>PRJT</quote>.
          </para></listitem>
        </varlistentry>
        <varlistentry><term>Memo</term>
          <listitem><para>
						Each project has one memo associated with, which may be up to 4K
						long.  There are plans for future versions to allow a list of memos
						for each project, just like the list of to-dos.
          </para></listitem>
        </varlistentry>
      </variablelist>
    </para>

    <para>
			Since all this data does not fit on one screen, there are three
			<quote>pages</quote> that separate that data, which are discussed in the
			following sections.
    </para>

    <para>
			All three pages have a <guibutton>Done</guibutton> button which brings
			you back to the projects list. Under the title of the form you will find
			three rectangles reading <guibutton>General</guibutton>,
			<guibutton>ToDo</guibutton> and <guibutton>Memo</guibutton>. Tapping one
			of these brings you to the appropriate page. Note that the menus differ
			on each page. If you have a hardware button set to launch
			<application>Projects</application> you can press this button again to
			get back to the project list instead of tapping the
			<guibutton>Done</guibutton> button.  This works on all three pages.
    </para>

    <para>
			The title of a project will always read <quote>Pr:</quote> plus the name
			of the project. The name may be shortened if it does not fit on the
			screen.
    </para>

    <sect2 id='GeneralPage'>
      <title>General Page</title>
      <sect3 id='GPControls'>
        <title>General Page GUI</title>
        <para>
					As you can see, on the <emphasis>GeneralPage</emphasis> there are
					controls for <guilabel>begin</guilabel> and
					<guilabel>end</guilabel> dates, which may be set by tapping on the
					selector triggers or using the small horizontal arrows.
					<guilabel>Duration</guilabel> is expressed in number of days, and is
					the difference between the begin and end dates. One of these
					three values is always locked (the check box at the right border), so you
					cannot alter its value. Changing one of the other (unlocked)
					values will automatically update the third remaining value.
					The <guilabel>priority</guilabel> can have one of five values with 1
					being the highest priority.
					You can change the
					<guilabel>state</guilabel> of a project here, too. Further you have
					the possibility to set the <guilabel>category</guilabel> of a
					project. Last but not least you can mark a project
					<guilabel>private</guilabel>, which means that it will be shown as
					masked or hidden depending on the current security settings on your
					PDA.
        </para>
      </sect3>
      <sect3 id='GPMenuItems'>
        <title>Menu items on the <emphasis>General Page</emphasis></title>
        <variablelist>
					<varlistentry>
						<term><guimenuitem>Rename</guimenuitem></term>
						<listitem><para>
							This menu item provides you with the opportunity to give a new
							name to the currently opened project. Note that the name must be
							unique and cannot exceed 27 characters in length.
						</para></listitem>
					</varlistentry>
					<varlistentry>
						<term><guimenuitem>Delete</guimenuitem></term>
						<listitem><para>
							When this menu item is actived a confimation dialog will appear 
							asking you whether you really want to delete the whole project. Note that after
							deletion of a project you cannot restore it. There is no backup! So be
							careful with this command.
						</para></listitem>
					</varlistentry>
          <varlistentry>
            <term><guimenuitem>Duplicate</guimenuitem></term>
            <listitem><para>
							This offers you an opportunity to create an exact copy of a
							project. You'll need to enter a different name for the copy.  Although it may
							seem useless to have two exact copies of a project, this way you can
							create a template project and reuse it for new projects.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Beam</guimenuitem></term>
            <listitem><para>
							This allows you to beam an entire project to another Palm OS device.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Clear End Date</guimenuitem></term>
            <listitem><para>
							Will set the <guilabel>end</guilabel> date to <quote> - </quote>
							and duration to zero.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>About</guimenuitem></term>
            <listitem><para>
							... displays the <link
							linkend='AboutDialog'><emphasis>About</emphasis></link> dialog.
            </para></listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>
		<sect2 id='ToDoPage'>
      <title>ToDo Page</title>
      <para>
        With a few exceptions, the <emphasis>ToDoPage</emphasis> behaves much like the built-in
        <application>To-Do</application> application. For a detailed description read the
        Palm OS documentation of that app.
      </para>

      <sect3 id='ToDoSpecial'>
        <title>Things that differ ...</title>
        <para>
					<application>Projects</application> allows you to sort to-do
					items by hand. If you set the sort order to
					<emphasis>Manual</emphasis> (launch
					<guimenuitem>Preferences...</guimenuitem> menu item) there will be
					two arrows beside the <guibutton>Details...</guibutton> button.
					While an item is selected you can use these arrows to move the
					selected item up and down in the list.
        </para>

        <para>
					If you have a color enabled PDA and
					<application>Projects</application> has been compiled with the
					CONFIG_COLOR flag (see <link
					linkend='AboutDialog'><emphasis>About</emphasis></link> dialog)
					<quote>past due items</quote> will be drawn red.
        </para>

        <para>
					Much like the built-in application,
					<application>Projects</application> provides a <quote>Details</quote>
					dialog for to-do items. Both dialogs are equal except of one thing.
					In <application>Projects</application> you can export (copy) an item
					into a different project or into the built-in to-do list, as well as into
					the <application>Datebook</application> application (as an untimed
					event). In the <quote>Details</quote> dialog you will find a button
					reading <guibutton>Exp.</guibutton> (for export). If you tap this button a
					list of available projects will appear. Choosing an entry from this
					list will copy the item into the appropriate database. There are
					three special entries, one for the
					<application>To-Do</application> and two for the
					<application>Datebook</application> application. If you export an
					item into Datebook with the <quote>Datebook DueDate</quote> its due 
					date will be used for the Datebook entry. If the item has no due 
					date set, the current date will be used. By using the
					<quote>Datebook ToDay</quote> entry, the item will be copied into the
					datebook under the current date regardless of the due date of the
					item.
				</para>

				<para>
					As of version v1.8.1 you can also have the <emphasis>ToDo
					Page</emphasis> show you the category of an item when viewing
					<quote>All</quote> items.  Whenever the category is not shown there
					will be a very small column, only 5 pixel wide, which contains only a
					<quote>dot</quote>. Tapping into a cell of the category column will
					produce a pop-up list where you may set the category of the appropriate item
					on the fly. This has been implemented to avoid having to launch the
					<emphasis>Details</emphasis> dialog each time you want to set a
					category for an item.
				</para>
      </sect3>

      <sect3 id='TPMenuItems'>
        <title>Menu items on the <emphasis>ToDo Page</emphasis></title>
          <variablelist>
            <varlistentry>
              <term><guimenuitem>Delete Item...</guimenuitem></term>
              <listitem><para>
                The currently selected to-do item will be deleted after
                a confirmation.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenuitem>Attach Note</guimenuitem></term>
              <listitem><para>
								This menu item attaches a note (if there isn't already none)
								to the currently selected to-do item, and pops up the note view.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenuitem>Delete Note...</guimenuitem></term>
              <listitem><para>
								... will delete the note of the currently selected to-do item.
								You need to confirm this action.
              </para></listitem>
            </varlistentry>

            <varlistentry>
              <term><guimenuitem>Purge...</guimenuitem></term>
              <listitem><para>
								This item works slightly different as in the built-in
								<application>To-Do</application> application. Instead of
								deleting all items marked <quote>complete</quote> it removes
								only those of the current category. Only if you have the
								<quote>All</quote> category selected and perform
								<quote>purging</quote>, will all items marked <quote>complete</quote>
								for that project be deleted.
              </para></listitem>
            </varlistentry>

            <varlistentry>
              <term><guimenuitem>Beam Item</guimenuitem></term>
              <listitem><para>
								To beam an individual To-Do item use this menu item. Note that the
								receiving device must have <application>Projects</application>
								installed, too.
              </para></listitem>
            </varlistentry>

            <varlistentry>
              <term><guimenuitem>Beam Category</guimenuitem></term>
              <listitem><para>
								To beam a category of To-Do items choose 'Beam Category'.
              </para></listitem>
            </varlistentry>

            <varlistentry id='RescanToDos'>
              <term><guimenuitem>Rescan ToDos</guimenuitem></term>
              <listitem><para>
								If you feel that the <link linkend='ToDoInformation'>ToDo
								information</link> displayed on the <link
								linkend='MainForm'>project list</link> is not correct, perform
								this action. This item will count all items, perform some
								computation and update the ToDo information. There is a good reason
								for this function. Since the database format of the Projects to-do
								list is equal to the built-in
								<application>To-Do</application> list, you have the ability to synchronize a project
								database outside with the Palm Desktop software and even modify it.
								When modifying the database outside of
								<application>Projects</application>, the ToDo information is
								not updated. After performing the Rescan function ... things are set right again.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenu>Edit</guimenu> menu</term>
              <listitem><para>
								These are the default copy/paste menu items you can find in
								every application that deals with text.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenuitem>Font...</guimenuitem></term>
              <listitem><para>
								Lets you set the font that will be used for text on the
								<emphasis>ToDo Page</emphasis>.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenuitem>Preferences...</guimenuitem></term>
              <listitem><para>
								Opens up the preference dialog, where you can set the sort order
								of to-do items and determine which columns should be shown
								on the page.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenuitem>Phone Lookup</guimenuitem></term>
              <listitem><para>
								Let's you look up and insert a phone number from the
								<application>Address book</application>.
              </para></listitem>
            </varlistentry>
            <varlistentry>
              <term><guimenuitem>About</guimenuitem></term>
              <listitem><para>
								... displays the <link
								linkend='AboutDialog'><emphasis>About</emphasis></link> dialog.
              </para></listitem>
            </varlistentry>
          </variablelist>
      </sect3>
    </sect2>

    <sect2 id='MemoPage'>
      <title>Memo Page</title>
      <para>
				The <emphasis>MemoPage</emphasis> offers you a chance to associate a written
				text as a whole, with the project. The text may be up to 4K (4096)
				characters long. There is nothing special about this page. However
				in future, this page may change into a catalog of Memos
				(something like the built-in <application>Memo</application>
				application).
      </para>

      <sect3 id='MPMenuItems'>
        <title>Menu items on the <emphasis>Memo Page</emphasis></title>
        <variablelist>
          <varlistentry>
            <term><guimenuitem>Delete Memo...</guimenuitem></term>
            <listitem><para>
							... will ask you whether you are sure you want to delete the whole text,
							and wll remove it upon confirmation.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Import Memo...</guimenuitem></term>
            <listitem><para>
							Will give you the opportunity to insert text from the built-in
							<application>Memo</application> application. It works much like
							<guimenuitem>Phone Lookup</guimenuitem>.
            </para></listitem>
          </varlistentry>

          <varlistentry>
            <term><guimenuitem>Export Memo</guimenuitem></term>
            <listitem><para>
							When this item is been selected the text on this page is
							copied to the built-in <application>Memo</application>
							application.
            </para></listitem>
          </varlistentry>

          <varlistentry>
            <term><guimenuitem>Beam Memo</guimenuitem></term>
            <listitem><para>
							Choose this menu item to beam the memo of the project to the
							<application>Memo</application> application to another device.
            </para></listitem>
          </varlistentry>

          <varlistentry>
            <term><guimenu>Edit</guimenu> menu</term>
            <listitem><para>
							These are the default copy/paste menu items you can find in every
							application that deals with text.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Font...</guimenuitem></term>
            <listitem><para>
							Lets you set the font that will be used for text on the
							<emphasis>Memo Page</emphasis>.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>Phone Lookup</guimenuitem></term>
            <listitem><para>
							Let's you look up and insert a phone number from the
							<application>Address book</application>.
            </para></listitem>
          </varlistentry>
          <varlistentry>
            <term><guimenuitem>About</guimenuitem></term>
            <listitem><para>
							... displays the <link
							linkend='AboutDialog'><emphasis>About</emphasis></link> dialog.
            </para></listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>
  </sect1>

	<sect1 id='Beaming'>
		<title>Beaming in Projects</title>
		<para>
			In <application>Projects</application> you can beam an individual ToDo item, a category of ToDo items within a project,
			a project memo, or an entire project itself, to any Palm handheld that has a copy of <application>Projects</application>.
			I strongly recommend that both, the transmitting and the receiving device, have the latest version installed.
		</para>
		<para>
			Here is how to perform each of these tasks:
		</para>
		<para>
			<variablelist>
				<varlistentry>
					<term><emphasis>To beam an entire project</emphasis> (General, ToDo and Memo tab values).</term>
					<listitem><para>
						Launch <application>Projects</application> and select the proper
						project category. Select your project, then choose the <link
						linkend='GeneralPage'><emphasis>GeneralPage</emphasis></link>.
						Tap the menu bar icon (bottom left of grafitti area) to produce
						the menu bar. From the menu bar choose <guimenuitem>Project</guimenuitem>,
						them <guimenuitem>Beam</guimenuitem> to begin the beaming process.
					</para></listitem>
				</varlistentry>
				<varlistentry>
					<term><emphasis>To beam a category of ToDo items within a particular project.</emphasis></term>
					<listitem><para>
						Select your project, them choose the <link linkend='ToDoPage'><emphasis>ToDoPage</emphasis></link>.
						Ensure you are in the proper category of ToDo's, then tap the menu bar icon. From the menu bar choose
						<guimenuitem>Record</guimenuitem> and then choose <guimenuitem>Beam Category</guimenuitem> to begin beaming.
					</para></listitem>
				</varlistentry>
				<varlistentry>
					<term><emphasis>To beam an individual ToDo item.</emphasis></term>
					<listitem><para>
						From within your project, choose the <link linkend='ToDoPage'><emphasis>ToDoPage</emphasis></link>. Tap
						to place the cursor on the proper ToDo task. From the menu bar choose <guimenuitem>Record</guimenuitem>
						and then <guimenuitem>Beam Item</guimenuitem> to begin beaming.
					</para></listitem>
				</varlistentry>
				<varlistentry>
					<term><emphasis>To beam a Memo.</emphasis></term>
					<listitem><para>
						From within your project, select the <link linkend='MemoPage'><emphasis>MemoPage</emphasis></link>. From
						the menu bar choose <guimenuitem>Record</guimenuitem> and then <guimenuitem>Beam Memo</guimenuitem> to begin
						beaming.
					</para></listitem>
				</varlistentry>
			</variablelist>
		</para>
	</sect1>

  <sect1 id='AboutDialog'>
    <title>About dialog</title>
    <para>
			Tho most valuable information in the <emphasis>About</emphasis> dialog is the
			description of the flags used to build the version. At the time
			of this writing the source code for <application>Projects</application>
			is designed to support the following flags:
    </para>

    <variablelist>
      <varlistentry>
        <term>[ERROR_CHECK_LEVEL]</term>
        <listitem><para>
					This shows the error check level. For release versions you should
					find an ERROR_CHECK_NONE. For any other versions there may be a
					ERROR_CHECK_FULL. Building a version with no error checking results
					in a smaller and faster PRC.
        </para></listitem>
      </varlistentry>
      <varlistentry>
        <term>[CONFIG_COLOR]</term>
        <listitem><para>
					This flag indicates whether the version supports colors or not.
        </para></listitem>
      </varlistentry>
      <varlistentry>
        <term>[CONFIG_OS_BELOW_35]</term> 
        <listitem><para>
					If this flag is used the resulting PRC will run on OS 3.1 or higher.
					If it was not used, the <application>Projects</application> version requires a minimum OS
					version of 3.5.
        </para></listitem>
      </varlistentry>
      <varlistentry>
        <term>[CONFIG_EXT_ABOUT]</term>
        <listitem><para>
					Well, if this flag has not been used to build the version, there will
					just be a plain <quote>About</quote> dialog, not showing you any of the flags. However, the
					PRC will be about 1KB smaller.
        </para></listitem>
      </varlistentry>
      <varlistentry>
        <term>[CONFIG_HLP_STRS]</term>
        <listitem><para>
					If set, dialogs will have an <quote>i</quote> icon in its title bar
					supplying you with some help messages.
        </para></listitem>
      </varlistentry>
      <varlistentry>
        <term>[CONFIG_ADDITIONAL]</term>
        <listitem><para>
					If this flag has been used the following features are available:
          <itemizedlist>
            <listitem><para>
							On the <emphasis>MainForm</emphasis> and the <emphasis>ToDo
							Page</emphasis> the <quote>MenuCmdBar</quote> will be filled with
							some icons/buttons.
            </para></listitem>
            <listitem><para>
							On the form showing you all to-do items across projects boundaries
							(QuickView), checking items but hiding them will
							result in a small animation (striking that item and then removing it
							from view).
            </para></listitem>
						<listitem><para>
          		A small (only 5 pixel wide) column will be visible on the <emphasis>ToDo Page</emphasis>. 
							Tapping this will let you change the category of the appropriate 
							to-do on the fly.
						</para></listitem>
          </itemizedlist>
        </para></listitem>
      </varlistentry>
			<varlistentry>
				<term>[CONFIG_ALLTODOS_DLG]</term>
				<listitem><para>
					If this flag was defined, the <emphasis>QuickView</emphasis> will be included in the
					version.
				</para></listitem>
			</varlistentry>
			<varlistentry>
				<term>[CONFIG_DEF_CATEGORY]</term>
				<listitem><para>
					If defined you will be able to set <emphasis>default
					categories</emphasis> for new to-do lists.
				</para></listitem>
			</varlistentry>
			<varlistentry>
				<term>[CONFIG_DEF_STATES]</term>
				<listitem><para>
					If not defined, you will not be able to edit the projects' states. 
					You will be forced to use the predefined states. If this flags is 
					used at compilation time you can edit the state names the same way 
					you can edit category names.
				</para></listitem>
			</varlistentry>
      <varlistentry>
        <term>[CONFIG_SONY]</term>
        <listitem><para>
					If set the version supports Sony's high resolution screen.
        </para></listitem>
      </varlistentry>
      <varlistentry>
        <term>[CONFIG_HANDERA]</term>
        <listitem><para>
					If this is used to build a version, it will support HandEra330's high
					resolution screen.
        </para></listitem>
      </varlistentry>
			<varlistentry>
				<term>[CONFIG_JOGDIAL]</term>
				<listitem><para>
					If this flag is used at compilation time, the final PRC will support
					the JogDial that is available on Sony and HandEra330 devices. This flag
					is always used together with CONFIG_SONY or CONFIG_HANDERA.
				</para></listitem>
      </varlistentry>
    </variablelist>

    <para>
			Also notable is the build date. Please, when making reports about bugs or
			some other issues, mention the version and the build date as well as the
			flags that were used to build your version, so I can find out what's wrong
			more quickly. Thanks.
    </para>
  </sect1>

  <!-- Converters ================================================== -->
  <sect1 id='Converters'>
    <title>Converters</title>
    <para>
			Meanwhile there are two tools that allow you to convert data created with 
			<application>Projects</application> on the
			PDA into data that can be used on the desktop. However those are
			available only as sources, since I don't have a compiler for Microsoft
			Windows. If anybody would like to help me with these programs do not
			hesitate to send an email to <quote>projects4palmos (at) gmx.net</quote>
			(to prevent spam bots @ has been replaced by <quote>(at)</quote>).
    </para>
  </sect1>

  <!-- Tips ======================================================== -->
  <sect1 id='TipsAndTricks'>
    <title>Tips & Tricks</title>
    <sect2 id='IntegrateToDoDB'>
      <title>How to integrate the built-in <application>To-Do</application> list into <application>Projects</application>?</title>
      <para>
				NOTE: Please, make a backup of your built-in to-do list before trying this!
      </para>
      <para>
				I've been often asked how someone can import items from the <application>To-Do</application>
				application. Well, there are reasons why <application>Projects</application> does
				not do this by default, but doing yourself is not tricky and takes just a couple of
				minutes. You will need a file managment tool like
				<application>Filez</application>. You can download this freeware
				application from <ulink
				url='http://www.palmgear.com'>www.palmgear.com</ulink>.
      </para>
      <para>
        <orderedlist>
          <listitem>
            <para>
							Create a new project which will later receive the built-in to-do
							list. Let's assume for this example that you've named the project
							<quote>myOldToDos</quote>.
            </para>
          </listitem>
          <listitem>
            <para>
							Now launch <application>Filez</application> or your favourite
							file managment tool and find the <quote>myOldToDosPRJT</quote>
							file.
            </para>
          </listitem>
          <listitem>
            <para>
              Delete the file <quote>myOldToDosPRJT</quote>.
            </para>
          </listitem>
          <listitem>
            <para>
							Now find the file <quote>ToDoDB</quote>. This is the to-do list created
							by the built-in <application>To-Do</application> application.
            </para>
          </listitem>
          <listitem>
            <para>
							Rename the <quote>ToDoDB</quote> to
							<quote>myOldToDosPRJT</quote>.
            </para>
          </listitem>
        </orderedlist>
      </para>
      <para>
				After these steps you should be able to open the
				<quote>myOldToDos</quote> project, in Projects and see the list of your to-dos from the
				built-in <application>To-Do</application> application.  Now choose the
				<link linkend='RescanToDos'><guimenuitem>Rescan
				ToDos</guimenuitem></link> menu item on the <emphasis>ToDo
				Page</emphasis> to update the <emphasis>ToDo information</emphasis>
				displayed on the <emphasis>MainForm</emphasis> of
				<application>Projects</application>.
      </para>
      <para>
				Furthermore, you should be able to open the built-in application and see the
				same list. Now you are able to modify the list through both
				applications. This may result in some incorrect <link
				linkend='ToDoInformation'><emphasis>ToDo information</emphasis></link>.
				However this is not problematic, as <application>Projects</application> does not
				rely on this information to function properly, so nothing happens. To correct this
				information in Projects, use the <link linkend='RescanToDos'><guimenuitem>Rescan
				ToDos</guimenuitem></link> menu item on the <emphasis>ToDo
				Page</emphasis>.
      </para>
      <para>
				If you have a new, empty list in the built-in <application>To-Do</application> application, and don't want to be able
				to modify your to-do list with both applications (only with <application>Projects</application>), you may also do this:
				Change the creatorID of the renamed database to <quote>PRJT</quote> and its dataID to <quote>DATA</quote>.
      </para>
    </sect2>
  </sect1>

  <!-- Thanks ====================================================== -->
  <sect1 id='Thanks'>
    <title>Thanks</title>
    <para>
			There are many people I want to thank for being with me and helping me
			with this project directly or indirectly.
    </para>
    <para>
			First of all, special thanks to <emphasis>Eva Tesar-Novotnik</emphasis>
			and <emphasis>Alois Novotnik</emphasis> for being wonderful parents and
			supporting me in every way as well as my uncle <emphasis>Horst
			Kahl</emphasis> for animating me to go beyond the possible as of my point
			of view.
    </para>
		<para>
			A great thanks goes to Brian Hetrick, who has independently written an first
			time tutorial and send me an palm to start implementing the beaming functionality.
			I just couldn't believe it! A million thanks, Brian!
		</para>
    <para>
			Furhter I want to thank <emphasis>Manuel Giorgini</emphasis> who
			translated <application>Projects</application> into Italian and also
			helped me with many things. 
    </para>
    <para>
			For the french translation and help with the converters my thanks belong
			to <emphasis>Eric Santonacci</emphasis>.
    </para>
    <para>
			The idea to translate <application>Projects</application> into German
			came from <emphasis>Carsten Schlegl</emphasis> who also helped me a lot
			with it. Thanks!
    </para>
		<para>
			<emphasis>Gordon Dykstra</emphasis> has helped with the english <application>Projects</application> 
			documentation. I greatly appriciate his work and want to thank him for it.
		</para>
    <para>
			Also a special thank to the <ulink
			url='http://sourceforge.net'>SourceForge</ulink> team for supporting many
			projects and being great!
    </para>
    <para>
			Last but not least, a thousand thanks to all people that gave me
			feedback about the application. Feedback makes it possible to improve the
			application.
    </para>
  </sect1>
</article>
