<?xml version="1.0"?>
<Model Id="GNOME-GENERIC-PS" Version="1.0">
  <Name>Generic PostScript printer</Name>
  <Vendor>GNOME</Vendor>
  <ModelVersion>0.0.1</ModelVersion>
  <Options>
    <Option Id="Engine">
      <Option Id="Backend" Type="List" Default="gnome">
        <Item Id="gnome">
          <Name>GNOME</Name>
          <Key Id="Driver" Value="gnome-print-ps">
	    <Key Id="LanguageLevel" Value="2.0"/>
	  </Key>
        </Item>
      </Option>
    </Option>
    <Option Id="Output">
      <Option Id="Media">
        <!-- Tinkering with these may, or may not work -->
        <!-- Most probably at least most common values are inserted automatically -->
	<Option Id="PhysicalSize" Type="List" Default="A4">
          <Fill Ref="Globals.Media.PhysicalSizes"/>
        </Option>
        <!-- Tinkering with these may, or may not work -->
        <!-- Most probably at least most common values are inserted automatically -->
	<Option Id="PhysicalOrientation" Type="List" Default="R0">
          <Fill Ref="Globals.Media.PhysicalOrientations"/>
        </Option>
	<!-- Margins are completely ignored by gnome-print -->
        <!-- They are here for case somebody wants to peek them :-) -->
        <!-- Maybe one day libgnomeprintui paper dialog also reads these -->
        <!-- You cannot change these (they are printer physical margins) -->
        <Key Id="Margins">
          <Key Id="Left" Value="0"/>
          <Key Id="Right" Value="0"/>
          <Key Id="Top" Value="0"/>
          <Key Id="Bottom" Value="0"/>
        </Key>
      </Option>
      <Option Id="Resolution" Type="List" Default="360x360">
        <Item Id="360x360">
	  <Name>360 x 360 DPI</Name>
	  <Key Id="DPI" Value="360">
	    <Key Id="X" Value="360"/>
	    <Key Id="Y" Value="360"/>
	  </Key>
	</Item>
        <Item Id="720x720">
	  <Name>720 x 720 DPI</Name>
	  <Key Id="DPI" Value="720">
	    <Key Id="X" Value="720"/>
	    <Key Id="Y" Value="720"/>
	  </Key>
	</Item>
      </Option>
      <Option Id="Job">
        <Option Id="NumCopies" Type="String" Default="1"/>
        <Option Id="Collate" Type="String" Default="false"/>
      </Option>
    </Option>
    <Option Id="Transport">
      <Option Id="Backend" Type="List" Default="lpr">
        <Item Id="file">
	  <Name>File</Name>
	  <Key Id="Module" Value="libgnomeprint-file.so"/>
	  <Option Id="FileName" Type="String" Default="output.ps"/>
	</Item>
        <Item Id="lpr">
	  <Name>lpr</Name>
	  <Key Id="Module" Value="libgnomeprint-lpr.so"/>
	  <Option Id="Printer" Type="String" Default=""/>
	</Item>
	<Item Id="custom">
	  <Name>Custom</Name>
	  <Key Id="Module" Value="libgnomeprint-custom.so"/>
	  <Option Id="Command" Type="String" Default="lpr"/>
	</Item>
      </Option>
    </Option>
    <!-- These are strictly taking not printer settings at all -->
    <!-- I have included these here, to allow passing data between -->
    <!-- libgnomeprintui dialogs and GnomePrintMaster (Lauris) -->
    <!-- Tinkering with these may, or may not work -->
    <!-- Most probably at least most common values are inserted automatically -->
    <Option Id="Document">
      <Option Id="Page">
        <!-- Here come predefined layouting rules for libgnomeprint -->
        <!-- If you ignore these, you can still use automatic layouting -->
        <!-- You can also want to define completely custom layouting -->
        <!-- The rules used by automatic layout are COMPLEX -->
        <Option Id="Layout" Type="List" Default="Plain">
          <Fill Ref="Globals.Media.Layouts"/>
        </Option>
	<Option Id="LogicalOrientation" Type="List" Default="R0">
          <Fill Ref="Globals.Media.LogicalOrientations"/>
        </Option>
        <!-- They are strings by now to allow changing -->
        <!-- Maybe one day we'll add constrained length option type -->
        <!-- These are logical margins - physical ones will be defined in Output -->
        <Option Id="Margins">
          <Option Id="Left" Type="String" Default="2 cm"/>
          <Option Id="Right" Type="String" Default="2 cm"/>
          <Option Id="Top" Type="String" Default="3 cm"/>
          <Option Id="Bottom" Type="String" Default="3 cm"/>
        </Option>
      </Option>
      <Option Id="PreferedUnit" Type="String" Default="cm"/>      
      <Option Id="Name" Type="String" Default=""/>      
    </Option>
  </Options>
</Model>
