<?xml version="1.0" encoding="UTF-8"?>
<!-- Author: David Jarvie <djarvie@kde.org> -->
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >

  <include>QFont</include>
  <include>QColor</include>
  <include>qnamespace.h</include>
  <include>KGlobalSettings</include>
  <include>KColorScheme</include>
  <include>"timeperiod.h"</include>
  <include>"kalocale.h"</include>

  <kcfgfile name="kalarmrc"/>

  <signal name="showInSystemTrayChanged">
    <argument type="Bool">ShowInSystemTray</argument>
  </signal>
  <signal name="askResourceChanged">
    <argument type="Bool">AskResource</argument>
  </signal>
  <signal name="base_TimeZoneChanged">
    <argument type="String">Base_TimeZone</argument>
  </signal>
  <signal name="base_HolidayRegionChanged">
    <argument type="String">Base_HolidayRegion</argument>
  </signal>
  <signal name="base_StartOfDayChanged">
    <argument type="DateTime">Base_StartOfDay</argument>
  </signal>
  <signal name="base_WorkTimeChanged">
    <argument type="DateTime">Base_WorkDayStart</argument>
    <argument type="DateTime">Base_WorkDayEnd</argument>
    <argument type="Int">Base_WorkDays</argument>
  </signal>
  <signal name="disabledColourChanged">
    <argument type="Color">DisabledColour</argument>
  </signal>
  <signal name="archivedColourChanged">
    <argument type="Color">ArchivedColour</argument>
  </signal>
  <signal name="archivedKeepDaysChanged">
    <argument type="Int">ArchivedKeepDays</argument>
  </signal>
  <signal name="feb29TypeChanged">
    <argument type="Enum">DefaultFeb29Type</argument>
  </signal>

  <group name="General">
    <entry name="Version" type="String" hidden="true">
      <label context="@label">KAlarm version</label>
      <whatsthis context="@info:whatsthis">KAlarm version which wrote this file.</whatsthis>
    </entry>
    <entry name="Base_TimeZone" key="TimeZone" type="String">
      <label context="@label">Time zone</label>
      <whatsthis context="@info:whatsthis">Select the time zone which &lt;application>KAlarm&lt;/application> should use as its default for displaying and entering dates and times.</whatsthis>
      <emit signal="base_TimeZoneChanged"/>
    </entry>
    <entry name="Base_HolidayRegion" key="HolidayRegion" type="String">
      <label context="@label">Holiday region</label>
      <whatsthis context="@info:whatsthis">Select the holiday region to use.</whatsthis>
      <emit signal="base_HolidayRegionChanged"/>
    </entry>
    <entry name="DefaultFgColour" key="MessageForegroundColour" type="Color">
      <label context="@label">Foreground color</label>
      <whatsthis context="@info:whatsthis">Default foreground color for alarm message windows.</whatsthis>
      <default code="true">KColorScheme(QPalette::Active).foreground().color()</default>
    </entry>
    <entry name="DefaultBgColour" key="MessageBackgroundColour" type="Color">
      <label context="@label">Background color</label>
      <whatsthis context="@info:whatsthis">Default background color for alarm message windows.</whatsthis>
      <default code="true">KColorScheme(QPalette::Active).background(KColorScheme::NegativeBackground).color()</default>
    </entry>
    <entry name="MessageFont" type="Font">
      <label context="@label">Message font</label>
      <whatsthis context="@info:whatsthis">Default font for displaying alarm messages.</whatsthis>
      <default code="true">QFont(KGlobalSettings::generalFont().family(), 16, QFont::Bold)</default>
    </entry>
    <entry name="ShowInSystemTray" type="Bool">
      <label context="@label">Show in system tray</label>
      <whatsthis context="@info:whatsthis">&lt;para>Check to show &lt;application>KAlarm&lt;/application>'s icon in the system tray. Showing it in the system tray provides easy access and a status indication.&lt;/para></whatsthis>
      <default>true</default>
      <emit signal="showInSystemTrayChanged"/>
    </entry>
    <entry name="AutoStart" key="AutoStart" type="Bool">
      <label context="@label">Start at login</label>
      <whatsthis context="@info:whatsthis">&lt;para>Automatically start &lt;application>KAlarm&lt;/application> whenever you start KDE.&lt;/para>&lt;para>This option should always be checked unless you intend to discontinue use of &lt;application>KAlarm&lt;/application>.&lt;/para></whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultDeferTime" key="DeferTime" type="Int">
      <label context="@label">Default defer time interval</label>
      <whatsthis context="@info:whatsthis">Enter the default time interval (in minutes) to defer alarms, used by the Defer Alarm dialog.</whatsthis>
      <default>5</default>
    </entry>
    <entry name="AskResource" type="Bool">
      <label context="@label">Prompt for which calendar to store in</label>
      <whatsthis context="@info:whatsthis">&lt;para>When saving a new alarm or alarm template, prompt for which calendar to store it in, if there is more than one active calendar.&lt;/para>&lt;para>Note that archived alarms are always stored in the default archived alarm calendar.&lt;/para></whatsthis>
      <default>true</default>
      <emit signal="askResourceChanged"/>
    </entry>
    <entry name="ModalMessages" type="Bool">
      <label context="@label">Message windows have a title bar and take keyboard focus</label>
      <whatsthis context="@info:whatsthis">&lt;para>Specify the characteristics of alarm message windows:&lt;list>&lt;item>If checked, the window is a normal window with a title bar, which grabs keyboard input when it is displayed.&lt;/item>&lt;item>If unchecked, the window does not interfere with your typing when it is displayed, but it has no title bar and cannot be moved or resized.&lt;/item>&lt;/list>&lt;/para></whatsthis>
      <default>true</default>
    </entry>
    <entry name="MessageButtonDelay" type="Int">
      <label context="@label">Delay before message window buttons are enabled</label>
      <whatsthis context="@info:whatsthis">&lt;para>Specify the positioning of alarm message windows, and the delay in seconds after a window shows until its buttons are enabled.
        &lt;list>&lt;item>0 to position message windows as far from the cursor as possible with no enable delay.&lt;/item>
        &lt;item>&gt; 0 to position in center of screen and specify delay before enabling buttons.&lt;/item>
        &lt;item>-1 for no special positioning and no enable delay.&lt;/item>&lt;/list>&lt;/para>
      </whatsthis>
      <default>0</default>
      <min>-1</min>
      <max>10</max>   <!-- Prevent windows being unusable for a long time -->
    </entry>
    <entry name="TooltipAlarmCount" type="Int">
      <label context="@label">Number of alarms to show in system tray tooltip</label>
      <whatsthis context="@info:whatsthis">&lt;para>How many alarms due in the next 24 hours to show in the system tray tooltip:
        &lt;list>&lt;item>0 to display none&lt;/item>
        &lt;item>-1 to display all&lt;/item>
        &lt;item>>0 to set a limit.&lt;/item>&lt;/list>&lt;/para>
      </whatsthis>
      <default>5</default>
      <min>-1</min>
    </entry>
    <entry name="ShowTooltipAlarmTime" type="Bool">
      <label context="@label">Show alarm times in system tray tooltip</label>
      <whatsthis context="@info:whatsthis">Specify whether to show in the system tray tooltip, the time at which each alarm is due.</whatsthis>
      <default>true</default>
    </entry>
    <entry name="ShowTooltipTimeToAlarm" type="Bool">
      <label context="@label">Show time to alarms in system tray tooltip</label>
      <whatsthis context="@info:whatsthis">Specify whether to show in the system tray tooltip, how long until each alarm is due.</whatsthis>
      <default>true</default>
    </entry>
    <entry name="TooltipTimeToPrefix" type="String">
      <label context="@label">Time-to-alarm prefix in system tray tooltip</label>
      <whatsthis context="@info:whatsthis">Enter the text to be displayed in front of the time until the alarm, in the system tray tooltip.</whatsthis>
      <default code="true">QLatin1String("+")</default>
    </entry>
    <entry name="EmailClient" key="EmailClient" type="Enum">
      <label context="@label">Email client</label>
      <whatsthis context="@info:whatsthis">&lt;para>How to send email when an email alarm is triggered.&lt;list>&lt;item>KMail: The email is sent automatically via &lt;application>KMail&lt;/application>. &lt;application>KMail&lt;/application> is started first if necessary.&lt;/item>&lt;item>Sendmail: The email is sent automatically. This option will only work if your system is configured to use &lt;application>sendmail&lt;/application> or a sendmail compatible mail transport agent.&lt;/item>&lt;/list>&lt;/para></whatsthis>
      <choices name="MailClient">
        <choice name="sendmail"><label context="@option">Sendmail</label></choice>
        <choice name="kmail"><label context="@option">KMail</label></choice>
      </choices>
      <default>kmail</default>
    </entry>
    <entry name="Base_EmailCopyToKMail" key="EmailCopyToKMail" type="Bool">
      <label context="@label">Whether to copy sent emails into KMail's Sent folder.</label>
      <whatsthis context="@info:whatsthis">Whether after sending an email to store a copy in KMail's sent-mail folder. Only applies when sendmail is selected as the email client.</whatsthis>
      <default>false</default>
    </entry>
    <entry name="Base_EmailFrom" key="EmailFrom" type="String">
      <label context="@label">'From' email address</label>
      <whatsthis context="@info:whatsthis">Your email address, used to identify you as the sender when sending email alarms. Enter "@SystemSettings" to use the email address set in System Settings, "@KMail" to allow choice of KMail identities, or enter the actual email address otherwise.</whatsthis>
      <default code="true">Identities::identitiesExist() ? QLatin1String("@KMail") : QLatin1String("@SystemSettings")</default>
    </entry>
    <entry name="Base_EmailBccAddress" key="EmailBccAddress" type="String">
      <label context="@label">'Bcc' email address</label>
      <whatsthis context="@info:whatsthis">Your email address, used for blind copying email alarms to yourself. If you want blind copies to be sent to your account on the computer which KAlarm runs on, you can simply enter your user login name. Enter "@SystemSettings" to use the email address set in System Settings, or enter the actual email address otherwise.</whatsthis>
      <default code="true">QLatin1String("@SystemSettings")</default>
    </entry>
    <entry name="Base_CmdXTermCommand" key="CmdXTerm" type="String">
      <label context="@label">Terminal for command alarms</label>
      <whatsthis context="@info:whatsthis">Command line to execute command alarms in a terminal window, including special codes described in the KAlarm handbook.</whatsthis>
    </entry>
    <entry name="Base_StartOfDay" key="StartOfDay" type="DateTime">
      <label context="@label">Start of day for date-only alarms</label>
      <whatsthis context="@info:whatsthis">The earliest time of day at which a date-only alarm will be triggered.</whatsthis>
      <default>QDateTime(QDate(1900,1,1),QTime(0,0))</default>
      <emit signal="base_StartOfDayChanged"/>
    </entry>
    <entry name="Base_WorkDayStart" key="WorkDayStart" type="DateTime">
      <label context="@label">Start time of working day</label>
      <whatsthis context="@info:whatsthis">The start time of the working day.</whatsthis>
      <default>QDateTime(QDate(1900,1,1),QTime(8,0))</default>
      <emit signal="base_WorkTimeChanged"/>
    </entry>
    <entry name="Base_WorkDayEnd" key="WorkDayEnd" type="DateTime">
      <label context="@label">End time of working day</label>
      <whatsthis context="@info:whatsthis">The end time of the working day.</whatsthis>
      <default>QDateTime(QDate(1900,1,1),QTime(17,0))</default>
      <emit signal="base_WorkTimeChanged"/>
    </entry>
    <entry name="Base_WorkDays" key="WorkDays" type="UInt">
      <label context="@label">Working days</label>
      <whatsthis context="@info:whatsthis">OR'ed bits indicating which days of the week are work days, 1 = Monday ... 64 = Sunday.</whatsthis>
      <default code="true">KAlarm::defaultWorkDays()</default>
      <emit signal="base_WorkTimeChanged"/>
    </entry>
    <entry name="DisabledColour" type="Color">
      <label context="@label">Disabled alarm color</label>
      <whatsthis context="@info:whatsthis">Choose the text color in the alarm list for disabled alarms.</whatsthis>
      <default code="true">KColorScheme(QPalette::Disabled).foreground(KColorScheme::InactiveText).color()</default>
      <emit signal="disabledColourChanged"/>
    </entry>
    <entry name="ArchivedColour" key="ExpiredColour" type="Color">
      <label context="@label">Archived alarm color</label>
      <whatsthis context="@info:whatsthis">Choose the text color in the alarm list for archived alarms.</whatsthis>
      <default code="true">KColorScheme(QPalette::Active).foreground(KColorScheme::VisitedText).color()</default>
      <emit signal="archivedColourChanged"/>
    </entry>
    <entry name="ArchivedKeepDays" key="ExpiredKeepDays" type="Int">
      <label context="@label">Days to keep expired alarms</label>
      <whatsthis context="@info:whatsthis">&lt;para>Specify how many days to keep alarms after they expire or are deleted (except deleted alarms which were never triggered):
        &lt;list>&lt;item>0 to not keep&lt;/item>
        &lt;item>-1 to keep indefinitely&lt;/item>
        &lt;item>>0 number of days to keep.&lt;/item>&lt;/list>&lt;/para>
      </whatsthis>
      <default>7</default>
      <min>-1</min>
      <emit signal="archivedKeepDaysChanged"/>
    </entry>
    <entry name="KOrgEventDuration" type="Int">
      <label context="@label">KOrganizer event duration</label>
      <whatsthis context="@info:whatsthis">Enter the event duration in minutes, for alarms which are copied to KOrganizer.</whatsthis>
      <default>0</default>
    </entry>
  </group>
  <group name="Defaults">
    <entry name="DefaultLateCancel" key="LateCancel" type="Int">
      <label context="@label">Cancel if late (minutes)</label>
      <whatsthis context="@info:whatsthis">Default value in the alarm edit dialog for late cancellation time (in minutes). 0 for no late cancellation, >0 how many minutes before cancelling.</whatsthis>
      <default>0</default>
      <min>0</min>
    </entry>
    <entry name="DefaultAutoClose" key="AutoClose" type="Bool">
      <label context="@label">Auto-close window after late-cancellation time</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for "auto close if late".</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultConfirmAck" key="ConfirmAck" type="Bool">
      <label context="@label">Confirm acknowledgement</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for "confirm alarm acknowledgement".</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultCopyToKOrganizer" key="CopyKOrg" type="Bool">
      <label context="@label">Show in KOrganizer</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for "show in KOrganizer".</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultSoundType" key="SoundType" type="Enum">
      <label context="@label Label for audio options">Sound</label>
      <whatsthis context="@info:whatsthis">Default sound type in the alarm edit dialog.</whatsthis>
      <choices name="SoundType" prefix="Sound_">
        <choice name="None"/>
        <choice name="Beep"/>
        <choice name="File"><label context="@option">Play File</label></choice>
        <choice name="Speak"/>
      </choices>
      <default>None</default>
    </entry>
    <entry name="DefaultSoundFile" key="SoundFile" type="Path">
      <label context="@label">Sound file</label>
      <whatsthis context="@info:whatsthis">Default sound file path in the alarm edit dialog.</whatsthis>
    </entry>
    <entry name="Base_DefaultSoundVolume" key="SoundVolume" type="Int">
      <label context="@label">Sound volume</label>
      <whatsthis context="@info:whatsthis">Default sound volume in the alarm edit dialog. -1 to deselect volume, or 0 - 100 %</whatsthis>
      <default>-1</default>
      <min>-1</min>
      <max>100</max>
    </entry>
    <entry name="DefaultSoundRepeat" key="SoundRepeat" type="Bool">
      <label context="@label">Repeat sound file</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for sound repetition.</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultCmdScript" key="CmdScript" type="Bool">
      <label context="@label">Enter script</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for command script entry.</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultCmdLogType" key="CmdLogType" type="Enum">
      <label context="@label">Command output</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for where to send command alarm output.</whatsthis>
      <choices name="CmdLogType" prefix="Log_">
        <choice name="Discard"><label context="@option">Discard Output</label></choice>
        <choice name="File"><label context="@option">Log To File</label></choice>
        <choice name="Terminal"><label context="@option">Execute in terminal window</label></choice>
      </choices>
      <default>Discard</default>
    </entry>
    <entry name="DefaultCmdLogFile" key="LogFile" type="Path">
      <label context="@label">Log file</label>
      <whatsthis context="@info:whatsthis">Default log file path for command alarms in the alarm edit dialog.</whatsthis>
    </entry>
    <entry name="DefaultEmailBcc" key="EmailBcc" type="Bool">
      <label context="@label">Copy email to self</label>
      <whatsthis context="@info:whatsthis">Default setting in the alarm edit dialog for blind copying emails to self.</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultRecurPeriod" key="RecurPeriod" type="Enum">
      <label context="@label">Recurrence period</label>
      <whatsthis context="@info:whatsthis">The default setting for the recurrence rule in the alarm edit dialog.</whatsthis>
      <choices name="RecurType" prefix="Recur_">
        <choice name="None"><label context="@option">No recurrence</label></choice>
        <choice name="Login"><label context="@option">At login</label></choice>
        <choice name="SubDaily"><label context="@option">Hourly/minutely</label></choice>
        <choice name="Daily"/>
        <choice name="Weekly"/>
        <choice name="Monthly"/>
        <choice name="Yearly"/>
      </choices>
      <default>None</default>
    </entry>
    <entry name="DefaultFeb29Type" key="Feb29Recur" type="Enum">
      <label context="@label">In non-leap years, repeat yearly February 29th alarms on:</label>
      <whatsthis context="@info:whatsthis">For yearly recurrences, choose what date, if any, alarms due on February 29th should occur in non-leap years.&lt;note>The next scheduled occurrence of existing alarms is not re-evaluated when you change this setting.&lt;/note></whatsthis>
      <choices name="Feb29Type" prefix="Feb29_">
        <choice name="Feb28"><label context="@option">February 28th</label></choice>
        <choice name="Mar1"><label context="@option">March 1st</label></choice>
        <choice name="None"><label context="@option">Do not repeat</label></choice>
      </choices>
      <default>Mar1</default>
      <emit signal="feb29TypeChanged"/>
    </entry>
    <entry name="DefaultReminderUnits" key="RemindUnits" type="Enum">
      <label context="@label">Reminder units</label>
      <whatsthis context="@info:whatsthis">Default reminder time units in the alarm edit dialog.</whatsthis>
       <choices name="TimePeriod::Units">
        <choice name="Minutes"></choice>
        <choice name="HoursMinutes"><label context="@option">Hours/Minutes</label></choice>
      </choices>
      <default>HoursMinutes</default>
   </entry>
    <entry name="DefaultPreAction" key="PreAction" type="String">
      <label context="@label">Pre-alarm action</label>
      <whatsthis context="@info:whatsthis">Default command to execute before displaying alarms.</whatsthis>
    </entry>
    <entry name="DefaultCancelOnPreActionError" key="PreActionErrCancel" type="Bool">
      <label context="@label">Cancel alarm on pre-alarm action error</label>
      <whatsthis context="@info:whatsthis">Default setting for whether to cancel the alarm if the pre-alarm action command fails.</whatsthis>
      <default>false</default>
    </entry>
    <entry name="DefaultPostAction" key="PostAction" type="String">
      <label context="@label">Post-alarm action</label>
      <whatsthis context="@info:whatsthis">Default command to execute after alarm message windows are closed.</whatsthis>
    </entry>
  </group>

  <group name="Notification Messages">
    <entry name="Base_QuitWarn" key="QuitWarn" type="Bool">
      <label context="@label">Warn before quitting</label>
      <whatsthis context="@info:whatsthis">Whether to suppress a warning prompt before quitting KAlarm.</whatsthis>
      <default>true</default>
    </entry>
    <entry name="Base_ConfirmAlarmDeletion" key="ConfirmAlarmDeletion" type="Bool">
      <label context="@label">Confirm alarm deletions</label>
      <whatsthis context="@info:whatsthis">Check to be prompted for confirmation each time you delete an alarm.</whatsthis>
      <default>true</default>
    </entry>
    <entry name="Base_EmailQueuedNotify" key="EmailQueuedNotify" type="Bool">
      <label context="@label">Notify when remote emails are queued</label>
      <whatsthis context="@info:whatsthis">Display a notification message whenever an email alarm has queued an email for sending to a remote system. This could be useful if, for example, you have a dial-up connection, so that you can then ensure that the email is actually transmitted.</whatsthis>
      <default>false</default>
    </entry>
  </group>
</kcfg>
