<chapter label="9" id="usage-customization">
  <title>Customization</title>
  <sect1 id="prefs">
    <title>Preferences Dialog</title>
   
    <para>
      <application>Dia</application> allows you to set a number of 
      customization options that modify how the program works.
      These options are set by selecting the 
      <menuchoice>
        <guimenu>File</guimenu> <guimenuitem>Preferences</guimenuitem>
      </menuchoice> from the <interface>Toolbox Menu Bar</interface>.  
      This opens the <interface>Preferences</interface> dialog. This 
      dialog has tab panes grouping related preferences like: User Interface, 
      Diagram Defaults, View Defaults and Grid Lines. 
    </para>  
    <para>
     After you have made all the changes you want, click on
     <guibutton>OK</guibutton> to apply the changes and close the
     <interface>Preferences</interface> dialog. To cancel the changes and return
     to previous values, click the <guibutton>Close</guibutton> button. You may
     preview the effect of your changes using the Apply
     button.
    </para>
  <sect2 id="user-interface">
    <title>User Interface</title>
    <para>
      <figure>
        <title><interface>User Interface</interface></title>
        <screenshot>
          <screeninfo><interface>User Interface</interface> dialog box</screeninfo>
          <graphic format="PNG" fileref="graphics/file-preferences-ui"
                   srccredit="Hans Breuer" />
        </screenshot>
      </figure>
    </para>
    <para>
      The User Interface tab pane allows you to change the way
      <application>Dia</application> works. 
      The configurable properties in the User Interface tab are explained below.
    </para>
    <itemizedlist>
      <listitem>
        <para>
          Reset tools after create causes the Modify tool to be selected 
	  automatically each time an object has been added to the diagram. This
	  allows you to add an object and then use the Modify tool to select objects
	  without having to go back to the Toolbox.
        </para>
        <para>
	If the Reset tools button is not checked, 
	then the current object tool will "stick" until another tool is chosen. This 
	is useful if you want to draw many shapes using the same tool repeatedly. 
	However, in this case, you will need to manually select the Modify tool
	in order to select objects.
        </para> 
	<tip>
	  <para>
            As an alternative to unchecking this box,  
	    you can press the Space key after inserting an object to reselect
	    the last object. See <link linkend="adding-objects">Adding Objects</link>
	    for more information.
	  </para>
  	</tip>  
      </listitem>
      <listitem>
        <para>
          Compress saved files provides the option to have Dia XML files 
          compressed into much smaller files using gzip or to leave the Dia XML 
          files as plain text so that they can be more easily edited using other
          software.  
        </para>
      </listitem>
     <listitem>
       <para>
        Number of undo levels customizes how many steps that the undo tool
        remembers.  The higher the number, the more steps you can undo to fix an
        error. However, more undo levels requires more computer memory.
        Setting the undo level to zero allows the program an unlimited 
  			number of undo levels, subject to the available computer memory.
  			 
    </para>
   </listitem>
   <listitem>
    <para>
        Reverse dragging selects intersecting objects allows you to create 
        selections by area that only need to cover part of the object you 
  			want to select. Normally when you select objects by area, 
  			you need to create a selection around the whole of the 
        object you want to select in order to select it. Also, normally dragging
  			from the top-left to the bottom-right is the same as "reverse dragging" --
  			 dragging from the bottom-right to the top-left. 
    </para>
  			<para>
  			If this option is checked, dragging from the bottom-right
  			to the top-left allows you to select objects that only partially fall
  			into the selection rectangle. Dragging from the top-left to bottom-right
  			still works the same -- objects are only selected if the whole object
  			is inside the selection rectangle. 
  			</para>
  			<para>	
  			This option gives you two different ways to select by area, depending on
  			which way you drag the mouse.
      </para>
  		
   </listitem>
   <!-- The description of Recent Documents is deliberately vague so that it 
   will still make some sense if a submenu for Recent items is added. -->
   <listitem>
    <para>
      Recent Documents list size allows you to set how many items will be shown 
      in the Recent Documents section of the <guimenu>File</guimenu> menu.  
    </para>
   </listitem>
   <listitem>
    <para>
      When Use menu bar is checked, the pull-down menus appear at the  
			top of each Diagram, and the object context menus are accessed
			by right-clicking on a selected object. If this box is unchecked, 
			these menus do not 
			display at the top of the diagram. Instead, these menus are 
			selected by right-clicking on the canvas, and the object context
			menus are selected by middle-clicking (on a three-button mouse) on
			a selected object.
    </para>
			<note>
			<para>
			If you do not have a three-button mouse, you will need to have this 
			box checked. Otherwise, you will not be able to access the object
			context menus.
      </para>
		</note>
   </listitem> 
   <listitem>
    <para>
      Keep tool box on top of diagram windows ensures that the Toolbox window 
      is always in front of all the diagram windows which makes it easier to 
      keep track of and have quick access to the tool at all times.  
    </para>
   </listitem> 
   
  </itemizedlist>
	</sect2>
	<sect2 id="diagram-defaults">
	<title>Diagram Defaults</title>
	 	 		 <figure>
      <title>Diagram Defaults</title>
     <screenshot>
      <screeninfo>Diagram Defaults</screeninfo>
      <graphic format="PNG" fileref="graphics/file-preferences-diagram" 
			srccredit="Hans Breuer" />
     </screenshot>
    </figure>	
		<para>
		The Diagram Defaults tab allows you to set default properties for all new
		diagrams. These are explained below.
		</para>
		<itemizedlist>
   <listitem>
    <para>
      Portrait indicates that the diagram is in portrait orientation on the page.
			If this is unchecked, then landscape orientation is assumed.
    </para>
  </listitem> 
   <listitem>
    <para>
      Paper type allows you to select from a list of paper sizes (e.g., A4, Letter, 
			etc.).
    </para>
  </listitem> 
   <listitem>
    <para>
      Background color allows you to set a default background color for all new
			diagrams. See <link linkend="colors">Colors</link> for more information 
			on setting colors.
    </para>
  </listitem> 
   <listitem>
    <para>
      New Window: Width allows you to set default width (in pixels) of 
			the window  when a new diagram is created.
			You can either enter a number manually or
			use the increment / decrement buttons.
    </para>
  </listitem> 	
   <listitem>
     <para>
      New Window: Height allows you to set default height (in pixels).
     </para>
  </listitem> 	
   <listitem>
     <para>
      New Window: Magnify allows you to set the default zoom value (in
			percent) for a new diagram. You can either enter a number manually or
			use the increment / decrement buttons.
     </para>
  </listitem> 	
   <listitem>
     <para>
      Connection Points: Visible determines whether connection points will be
			visible by default on new diagrams. When working with a diagram, 
			this can be toggled on or off using the 
			<menuchoice>
   <guimenu>View</guimenu> <guimenuitem>Show Connection Points</guimenuitem>
   </menuchoice> on the Diagram menu bar.
     </para>
  </listitem> 	
	</itemizedlist>
	</sect2>
	<sect2 id="view-defaults">
	<title>View Defaults</title>
		 	 		 <figure>
      <title>View Defaults</title>
     <screenshot>
      <screeninfo>View Defaults</screeninfo>
      <graphic format="PNG" fileref="graphics/file-preferences-view" 
			srccredit="Hans Breuer" />
     </screenshot>
    </figure>	
		<para>
		This tab allows you to set default properties for the Page break lines.
		</para>
	<itemizedlist>
   <listitem>
     <para>
      Page Breaks: Visible controls whether page break lines will be visible.
     </para>
  </listitem> 
  <listitem>
    <para>
      Color allows you to select the default color of the page break lines. 
			This can be changed for a single diagram using the Colors tab on the
			     <menuchoice>
     <guimenu>
      Diagram
     </guimenu>
     <guimenuitem>
		 Properties
		 </guimenuitem></menuchoice> menu choice from the Diagram menu bar.
   </para>
  </listitem> 
  
    <listitem>
    <para>
      Solid lines determines whether the page break lines appear as solid
			lines or as dashed lines.
    </para>
  </listitem> 
  </itemizedlist>
	
  
 
	</sect2>
    <sect2 id="preferences-favorites">
      <title>File export favorites</title>
      When exporting files there are often multiple filters capable to save to one format. 
      This preference allows to choose the one used, when not explicit selected in the file 
      export dialog, i.e. <menuchoice><guimenuitem>By extension</guimenuitem></menuchoice> gets used.
      <figure>
        <screenshot>
          <screeninfo>File export favorites</screeninfo>
          <graphic format="PNG" fileref="graphics/file-preferences-favorites" 
		   srccredit="Hans Breuer" />
        </screenshot>
      </figure>
    </sect2>
 
    <sect2 id="preferences-gridlines">
      <title>Grid Lines</title>

      <figure>
        <title>Grid Lines</title>
        <screenshot>
          <screeninfo>Grid Lines</screeninfo>
          <graphic format="PNG" fileref="graphics/preferences-gridlines" 
                   srccredit="Hans Breuer" />
        </screenshot>
      </figure>	
      <para>
 	This tab allows you to set default properties for Grid Lines. These may
	be changed for an individual diagram by selecting the 
	<menuchoice>
          <guimenu>Diagram</guimenu>
          <guimenuitem>Properties</guimenuitem>
        </menuchoice> from the Diagram menu bar and then selecting
	the Grid tab.  These options are explained below.
     </para>
     <itemizedlist>
       <listitem>
         <para>
           Visible determines whether, by default, grid lines will be visible on new diagrams.
         </para>
       </listitem> 
       <listitem>
         <para>
	   Snap to determines whether, by default, new diagrams will have snap-to-grid
	   enabled. Snap-to-grid forces object edges to move to the nearest grid line 
	   intersection.  
           This makes it easier to align objects, as separate objects
           snap to the same line. This feature can be toggled on or off using the
	   snap-to-grid button on the bottom of the Toolbox. 
	   See <link linkend="gridlines">Canvas / Grid Lines</link> for more information. 
	   This can also be toggled using the
	   <menuchoice>
             <guimenu>View</guimenu>
	     <guimenuitem>Snap To Grid</guimenuitem>
           </menuchoice> option on the Diagram menu bar. 
         </para>
       </listitem> 
       <listitem>
         <para>
           Dynamic grid resizing determines whether the grid size changes as the 
	   diagram is zoomed in or out. If this box is checked, then the grid lines
	   display as the same size no matter how the diagram zoom is changed. 
	   In this case, the X Size and Y Size values have no effect. 
	</para>
	<para>
	  If this box is unchecked, then the grid size is set in absolute terms according to
	  the X Size and Y Size values (in centimeters). In this case, the appearance 
	  of the grid will change as the zoom changes, so the grid lines will 
	  move closer when you zoom out and will spread out as you zoom in. 
        </para>
      </listitem>    
      <listitem>
        <para>
          X Size determines the distance, in centimeters, between grid lines
	  along the horizontal axis. This only
	  takes effect if Dynamic grid resizing is unchecked.
        </para>
      </listitem> 
      <listitem>
        <para>
          Y Size determines the distance, in centimeters, between grid lines
	  along the vertical axis. This only
	  takes effect if Dynamic grid resizing is unchecked.
        </para>
     </listitem> 
  
     <listitem>
       <para>
         Color sets the display color of the grid lines.   
       </para>
     </listitem> 

   <listitem>
    <para>
       Lines per major line determines the spacing of major (i.e., solid) 
			 grid lines. For example, a value of 5 means that every 5th grid line
			 is solid.   
    </para>
  </listitem>   
    <listitem>
    <para>
       Hex grid allows you to have a grid of hexagons instead of a rectangular
			 grid.
   </para>
  </listitem> 
	    <listitem>
    <para>
       Hex size determines the size of the hexagons, in centimeters, in the 
			 hex grid. This option only applies if Hex grid is checked.
   </para>
  </listitem> 
    </itemizedlist>

	 </sect2>
	 
	   <sect2 id="diagram-tree-options">
  <title>Diagram Tree</title>
		 		 <figure>
      <title>Diagram Tree</title>
     <screenshot>
      <screeninfo>Diagram Tree</screeninfo>
      <graphic format="PNG" fileref="graphics/file-preferences-tree" 
			srccredit=
      "Mark Dexter" />
			 </screenshot>
    </figure>	
   <para>
	 This tab refers to the Diagram Tree window, which can be opened 
	 from the Toolbox menu bar using the 
	 <menuchoice>
	      <guimenu>
     File
     </guimenu>
     <guimenuitem>
		 Diagram Tree
		 </guimenuitem></menuchoice> choice or by pressing F8.
   In the Diagram Tree window, you can right-click on an object and select
	 "Hide this type" from the context menu. This removes objects of this 
	 type from the Diagram Tree window. See <link linkend="diagram-tree">
	 Objects and the Toolbox / Diagram Tree</link> for more information.
	 </para>
	 <para> 
	 The Save Hidden object types box controls whether "Hide this type" is permanent
	 or only for the current <application>Dia</application> session.
	 If the Save hidden object types box is checked, then the program will
	 remember which types you have selected to hide in the Diagram Tree. When 
	 <application>Dia</application> is restarted, these object types will
	 continue to be hidden in this window. If this box is unchecked, any time
	 the program restarts, all objects will again display in the Diagram Tree window.
		</para>
		<note>
		<para>
		You can restore hidden object types by selecting the type from the list
		in the "Show object type" option in the context menu of the Diagram Tree
		window.
		</para>
		</note>
		</sect2>
 </sect1>
</chapter>
