]> err.no Git - scalable-opengroupware.org/commitdiff
improved localization support
authorznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Fri, 27 Aug 2004 16:23:27 +0000 (16:23 +0000)
committerznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Fri, 27 Aug 2004 16:23:27 +0000 (16:23 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@286 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/SOGo.xcode/project.pbxproj
SOGo/UI/Scheduler/ChangeLog
SOGo/UI/Scheduler/English.lproj/default.strings
SOGo/UI/Scheduler/GNUmakefile
SOGo/UI/Scheduler/UIxAppointmentPrintview.m [new file with mode: 0644]
SOGo/UI/Scheduler/UIxAppointmentPrintview.wox [new file with mode: 0644]
SOGo/UI/Scheduler/UIxAppointmentView.h
SOGo/UI/Scheduler/UIxAppointmentView.wox
SOGo/UI/Scheduler/UIxCalView.h
SOGo/UI/Scheduler/product.plist

index 4985ef4943d40bfe7df940ca4b950627d5cf1c8c..9fddc12e3b4d24cb53c391239edb7b2d18439293 100644 (file)
                        tabWidth = 8;
                        usesTabs = 1;
                };
+               AD0137A406DF8875000910D8 = {
+                       children = (
+                               AD73BE8806CF92FC00226A2D,
+                               AD73BE8906CF92FC00226A2D,
+                               E87208F70692E3D30099CBBD,
+                               E87208F80692E3D30099CBBD,
+                               E87208F90692E3D30099CBBD,
+                               AD0137AC06DF891E000910D8,
+                               AD0137AB06DF891E000910D8,
+                               E87208F30692E3D30099CBBD,
+                               E87208F40692E3D30099CBBD,
+                               E87208FA0692E3D30099CBBD,
+                               E87208FB0692E3D30099CBBD,
+                       );
+                       isa = PBXGroup;
+                       name = Appointment;
+                       refType = 4;
+                       sourceTree = "<group>";
+               };
+               AD0137AB06DF891E000910D8 = {
+                       fileEncoding = 4;
+                       isa = PBXFileReference;
+                       lastKnownFileType = text.xml;
+                       path = UIxAppointmentPrintview.wox;
+                       refType = 4;
+                       sourceTree = "<group>";
+               };
+               AD0137AC06DF891E000910D8 = {
+                       fileEncoding = 4;
+                       isa = PBXFileReference;
+                       lastKnownFileType = sourcecode.c.objc;
+                       path = UIxAppointmentPrintview.m;
+                       refType = 4;
+                       sourceTree = "<group>";
+               };
                AD06608A06AC2F3F006525C9 = {
                        children = (
                                AD06608B06AC2F3F006525C9,
                };
                ADCDE53106ADA8AC00BFCE2B = {
                        fileEncoding = 5;
+                       indentWidth = 8;
                        isa = PBXFileReference;
                        lastKnownFileType = text.plist.strings;
                        name = English;
                        path = English.lproj/default.strings;
                        refType = 4;
                        sourceTree = "<group>";
+                       tabWidth = 8;
+                       usesTabs = 1;
                };
                ADCDE53206ADA8C800BFCE2B = {
                        children = (
                };
                ADCDE53306ADA8CF00BFCE2B = {
                        fileEncoding = 5;
+                       indentWidth = 8;
                        isa = PBXFileReference;
                        lastKnownFileType = text.plist.strings;
                        name = French;
                        path = French.lproj/default.strings;
                        refType = 4;
                        sourceTree = "<group>";
+                       tabWidth = 8;
+                       usesTabs = 1;
                };
                ADDF4B3006DCEAC800C4E7F8 = {
                        children = (
                };
                E8720A2B0692E4B40099CBBD = {
                        children = (
-                               AD73BE8806CF92FC00226A2D,
-                               AD73BE8906CF92FC00226A2D,
-                               E87208F30692E3D30099CBBD,
-                               E87208F40692E3D30099CBBD,
-                               E87208F80692E3D30099CBBD,
-                               E87208F90692E3D30099CBBD,
-                               E87208FA0692E3D30099CBBD,
-                               E87208FB0692E3D30099CBBD,
                                E87208FC0692E3D30099CBBD,
                                E87208FD0692E3D30099CBBD,
                                E87208FE0692E3D30099CBBD,
                                E87208FF0692E3D30099CBBD,
                                E87209040692E3D30099CBBD,
                                E87209050692E3D30099CBBD,
+                               AD0137A406DF8875000910D8,
                                AD73BEE206CFA17700226A2D,
                                ADE2C28F06B7C7EA0065D56F,
                                ADE2C29206B7C7F70065D56F,
                                E87208E40692E3D30099CBBD,
                                E87208F50692E3D30099CBBD,
                                E87208F60692E3D30099CBBD,
-                               E87208F70692E3D30099CBBD,
                                E87209060692E3D30099CBBD,
                                E87209070692E3D30099CBBD,
                                AD5ED1AE06B1768900E3EC4B,
index b0af041929eef0f5f345c0ca0bf7d24144d3dfba..74e65c2dce51c3e6e1e356b29848b0e07a193ff5 100644 (file)
@@ -1,3 +1,17 @@
+2004-08-27  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * v0.9.74
+
+       * English.lproj/default.plist: more labels
+       
+       * UIxAppointmentView.wox: replaced static strings with labels
+
+       * UIxAppointmentView.h, UIxCalView.h: exposed some methods
+
+       * product.plist: added "printview" method to SOGoAppointmentObject
+
+       * UIxAppointmentPrintview.[m|wox]: new printview for appointments
+
 2004-08-27  Helge Hess  <helge.hess@skyrix.com>
 
        * UIxAppointmentEditor.m: prepared to share code with contact editor
index 3f0bfe0b1be6c0256c1f3656067a15af76d406eb..b2a4d87db6ea2310071f0263aadd34d3215a930e 100644 (file)
 
 /* Day */
 
-"Sunday"        = "Sunday";
-"Monday"        = "Monday";
-"Tuesday"       = "Tuesday";
-"Wednesday"     = "Wednesday";
-"Thursday"      = "Thursday";
-"Friday"        = "Friday";
-"Saturday"      = "Saturday";
-
-"a2_Sunday"     = "Su";
-"a2_Monday"     = "Mo";
-"a2_Tuesday"    = "Tu";
-"a2_Wednesday"  = "We";
-"a2_Thursday"   = "Th";
-"a2_Friday"     = "Fr";
-"a2_Saturday"   = "Sa";
-
-"dayLabelFormat"    = "%Y-%m-%d";
-"today"         = "today";
+"Sunday"               = "Sunday";
+"Monday"               = "Monday";
+"Tuesday"              = "Tuesday";
+"Wednesday"            = "Wednesday";
+"Thursday"             = "Thursday";
+"Friday"               = "Friday";
+"Saturday"             = "Saturday";
+
+"a2_Sunday"            = "Su";
+"a2_Monday"            = "Mo";
+"a2_Tuesday"           = "Tu";
+"a2_Wednesday"         = "We";
+"a2_Thursday"          = "Th";
+"a2_Friday"            = "Fr";
+"a2_Saturday"          = "Sa";
+
+"dayLabelFormat"       = "%Y-%m-%d";
+"today"                        = "today";
 
 /* Week */
 
-"Week"          = "Week";
-"this week"     = "this week";
-
+"Week"                 = "Week";
+"this week"            = "this week";
 
 /* Month */
 
-"this month"    = "this month";
-
-"January"       = "January";
-"February"      = "February";
-"March"         = "March";
-"April"         = "April";
-"May"           = "May";
-"June"          = "June";
-"July"          = "July";
-"August"        = "August";
-"September"     = "September";
-"October"       = "October";
-"November"      = "November";
-"December"      = "December";
-
-"a3_January"    = "Jan";
-"a3_February"   = "Feb";
-"a3_March"      = "Mar";
-"a3_April"      = "Apr";
-"a3_May"        = "May";
-"a3_June"       = "Jun";
-"a3_July"       = "Jul";
-"a3_August"     = "Aug";
-"a3_September"  = "Sep";
-"a3_October"    = "Oct";
-"a3_November"   = "Nov";
-"a3_December"   = "Dec";
+"this month"           = "this month";
+
+"January"              = "January";
+"February"             = "February";
+"March"                        = "March";
+"April"                        = "April";
+"May"                  = "May";
+"June"                 = "June";
+"July"                 = "July";
+"August"               = "August";
+"September"            = "September";
+"October"              = "October";
+"November"             = "November";
+"December"             = "December";
+
+"a3_January"           = "Jan";
+"a3_February"          = "Feb";
+"a3_March"             = "Mar";
+"a3_April"             = "Apr";
+"a3_May"               = "May";
+"a3_June"              = "Jun";
+"a3_July"              = "Jul";
+"a3_August"            = "Aug";
+"a3_September"         = "Sep";
+"a3_October"           = "Oct";
+"a3_November"          = "Nov";
+"a3_December"          = "Dec";
 
 /* Year */
 
-"this year"    = "this year";
-
+"this year"            = "this year";
 
 /* Menu */
 
-"Calendar"      = "Calendar";
-"Contacts"      = "Contacts";
-
+"Calendar"             = "Calendar";
+"Contacts"             = "Contacts";
 
 /* Misc */
 
-"new"                   = "new";
-"printview"             = "printview";
-"proposal"              = "proposal";
-"Save"                  = "Save";
-"Cancel"                = "Cancel";
-"OpenGroupware.org"     = "OpenGroupware.org"
+"OpenGroupware.org"    = "OpenGroupware.org"
 
-/* Appointments */
+/* Button titles */
+
+"new"                  = "new";
+"printview"            = "printview";
+"edit"                 = "edit";
+"delete"               = "delete";
+"proposal"             = "proposal";
+"Save"                 = "Save";
+"Cancel"               = "Cancel";
 
-"Appointment editor"    = "Appointment Editor";
-"Appointment proposal"  = "Appointment Proposal";
-"Appointment on"        = "Appointment on";
-"Start time"            = "Start time";
-"End time"              = "End time";
-"Start date"            = "Start date";
-"End date"              = "End date";
-"Earliest start time"   = "Earliest start time";
-"Latest end time"       = "Latest end time";
-"browse start date"     = "browse start date";
-"browse end date"       = "browse end date";
-"Title"                 = "Title";
-"Location"              = "Location";
-"Duration"              = "Duration";
-"Search participants"   = "Search participants";
-"Participants"          = "Participants";
-"Search resources"      = "Search resources";
-"Resources"             = "Resources";
-"Search appointments"   = "Search appointments";
-"Search"                = "Search";
-"Search in Anais"       = "Search in Anaïs";
+/* Appointments */
 
+"Appointment viewer"   = "Appointment Viewer";
+"Appointment editor"   = "Appointment Editor";
+"Appointment proposal" = "Appointment Proposal";
+"Appointment on"       = "Appointment on";
+"Start time"           = "Start time";
+"End time"             = "End time";
+"Start date"           = "Start date";
+"End date"             = "End date";
+"Earliest start time"  = "Earliest start time";
+"Latest end time"      = "Latest end time";
+"browse start date"    = "browse start date";
+"browse end date"      = "browse end date";
+"Title"                        = "Title";
+"Name"                 = "Name";
+"Email"                        = "Email";
+"Location"             = "Location";
+"Duration"             = "Duration";
+"Participants"         = "Participants";
+"Resources"            = "Resources";
+"Organizer"            = "Organizer";
+"Comment"              = "Comment";
+
+"attributes"           = "Attributes";
+"participants"         = "Participants";
+
+/* Searching */
+
+"Search"               = "Search";
+"Search participants"  = "Search participants";
+"Search resources"     = "Search resources";
+"Search appointments"  = "Search appointments";
+"Search in Anais"      = "Search in Anaïs";
 
 /* calendar modes */
 
-"Overview"      = "Overview";
-"Chart"         = "Chart";
-"List"          = "List";
-"Columns"       = "Columns";
+"Overview"             = "Overview";
+"Chart"                        = "Chart";
+"List"                 = "List";
+"Columns"              = "Columns";
index bfe324581f6baab96576226aebdcf571053f72c1..95e30fab6c132b877f2f1e443a92de6fad741d0c 100644 (file)
@@ -37,6 +37,7 @@ SchedulerUI_OBJC_FILES =              \
        UIxCalYearOverview.m            \
        UIxCalInlineMonthOverview.m     \
        UIxAppointmentView.m            \
+       UIxAppointmentPrintview.m               \
        UIxAppointmentEditor.m          \
        UIxCalSelectTab.m               \
        UIxCalDateLabel.m               \
@@ -67,6 +68,7 @@ SchedulerUI_RESOURCE_FILES +=         \
        UIxCalYearOverview.wox          \
        UIxCalInlineMonthOverview.wox   \
        UIxAppointmentView.wox          \
+       UIxAppointmentPrintview.wox             \
        UIxAppointmentEditor.wox        \
        UIxCalSelectTab.wox             \
        UIxCalDateLabel.wox             \
diff --git a/SOGo/UI/Scheduler/UIxAppointmentPrintview.m b/SOGo/UI/Scheduler/UIxAppointmentPrintview.m
new file mode 100644 (file)
index 0000000..5ea44f1
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+  Copyright (C) 2000-2004 SKYRIX Software AG
+
+  This file is part of OGo
+
+  OGo is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with OGo; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+// $Id$
+
+
+#include "UIxAppointmentView.h"
+
+
+@interface UIxAppointmentPrintview : UIxAppointmentView
+{
+}
+
+@end
+
+#include "common.h"
+
+@implementation UIxAppointmentPrintview
+
+- (NSString *)title {
+    return [[self dateFormatter] stringForObjectValue:[self startTime]];
+}
+
+@end
diff --git a/SOGo/UI/Scheduler/UIxAppointmentPrintview.wox b/SOGo/UI/Scheduler/UIxAppointmentPrintview.wox
new file mode 100644 (file)
index 0000000..22e961a
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version='1.0' standalone='yes'?>
+<var:component xmlns="http://www.w3.org/1999/xhtml"
+               xmlns:var="http://www.skyrix.com/od/binding"
+               xmlns:const="http://www.skyrix.com/od/constant"
+               xmlns:uix="OGo:uix"
+               className="UIxPrintPageFrame"
+               title="title"
+>
+  <table border="1" cellspacing="0" cellpadding="5" width="100%">
+    <tr>
+      <td colspan="2" align="center">
+        <h1 class="dayprintview"><var:string value="title" /></h1>
+      </td>
+    </tr>
+    <tr>
+      <td valign="top" width="100%">
+        <table width="100%" border="0" cellpadding="4" cellspacing="0">
+          <!-- general appointment info -->
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="Title" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="appointment.summary" />
+            </td>
+          </tr>
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="Location" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="appointment.location" />
+            </td>
+          </tr>
+        </table>
+      </td>
+    </tr>
+    <tr>
+      <td valign="top" width="100%">
+        <table width="100%" border="1" cellpadding="4" cellspacing="0">
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="Start time" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="startTime"
+                          formatter="dateFormatter"
+              />
+            </td>
+          </tr>
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="End time" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="endTime"
+                          formatter="dateFormatter"
+              />
+            </td>
+          </tr>
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="Resources" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="resourcesAsString"
+                          const:escapeHTML="NO"
+              />
+            </td>
+          </tr>
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="Organizer" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="appointment.organizer.cnForDisplay" />
+            </td>
+          </tr>
+          <tr valign="top">
+            <td align="right" width="15%" class="aptview_text">
+              <var:string label:value="Comment" />:
+            </td>
+            <td align="left" class="aptview_text">
+              <var:string value="appointment.comment" />
+            </td>
+          </tr>
+        </table>
+        <table width="100%" border="1" cellpadding="4" cellspacing="0">
+          <tr valign="top">
+            <td align="left" class="aptview_title">
+                <var:string label:value="Name" />
+            </td>
+            <td align="left" class="aptview_title">
+                <var:string label:value="Email" />
+            </td>
+          </tr>
+          <var:foreach list="appointment.participants"
+                       item="attendee"
+          >
+            <tr valign="top">
+              <td align="left" class="aptview_text">
+                  <var:string value="attendee.cnForDisplay" />
+              </td>
+              <td align="left" class="aptview_text">
+                  <a var:href="attendee.email"
+                  ><var:string value="attendee.rfc822Email" /></a>
+              </td>
+            </tr>
+          </var:foreach>
+        </table>
+      </td>
+    </tr>
+  </table>
+</var:component>
index c068b5b769dc7e5c674d36e5df9a25138242c972..cdb962fa81b7e282ffb3ac8484191b767f2709dd 100644 (file)
@@ -5,7 +5,7 @@
 
 #include <SOGoUI/UIxComponent.h>
 
-@class SOGoDateFormatter;
+@class SOGoDateFormatter, NSCalendarDate;
 
 @interface UIxAppointmentView : UIxComponent
 {
 
 - (id)appointment;
 
+- (SOGoDateFormatter *)dateFormatter;
+- (NSCalendarDate *)startTime;
+- (NSCalendarDate *)endTime;
+  
 - (NSString *)attributesTabLink;
 - (NSString *)participantsTabLink;
 
index eacc6e7801f75c1ae84c72af3fbd75bf006a7b2d..73419b8157bb3c05a59b6bc5b470302065a86d88 100644 (file)
@@ -7,22 +7,23 @@
                title="name"
 >
   <table cellspacing="0" cellpadding="5" width="100%">
-  <tr>
-    <td>
-      <table cellpadding="0" cellspacing="0" width="100%">
-        <tr>
-          <td width="5"/>
-          <td class="window_label">Appointment Viewer</td>
-          <td width="36" align="right" valign="center">
-            <var:component className="UIxWinClose" />
-          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
+    <tr>
+      <td>
+        <table cellpadding="0" cellspacing="0" width="100%">
+          <tr>
+            <td width="5"/>
+            <td class="window_label"
+            ><var:string label:value="Appointment viewer" /></td>
+            <td width="36" align="right" valign="center">
+              <var:component className="UIxWinClose" />
+            </td>
+          </tr>
+        </table>
+      </td>
+    </tr>
 
-  <tr>
-    <td>
+    <tr>
+      <td>
         <table border="0" cellpadding="2" width="100%" cellspacing="0">
           <tr bgcolor="#e8e8e0">
             <td align="left">
                 <tr>
                   <td class="button_auto_env" nowrap="true"
                       valign='middle' align='center'>
-                    <a class="button_auto" href="printview"
+                    <a class="button_auto"
+                       href="printview"
                        var:queryDictionary="queryParameters"
-                       target="SOGoPrintView">printview</a>
+                       target="SOGoPrintView"
+                    ><var:string label:value="printview" /></a>
                   </td>
                   <td class="button_auto_env" nowrap="true"
                       valign='middle' align='center'>
-                    <a class="button_auto" href="edit"
-                       var:queryDictionary="queryParameters">edit</a>
+                    <a class="button_auto"
+                       href="edit"
+                       var:queryDictionary="queryParameters"
+                    ><var:string label:value="edit" /></a>
                   </td>
                   <td class="button_auto_env" nowrap="true"
                       valign='middle' align='center'>
-                    <a class="button_auto" href="delete"
-                       var:queryDictionary="queryParameters">delete</a>
+                    <a class="button_auto"
+                       href="delete"
+                       var:queryDictionary="queryParameters"
+                    ><var:string label:value="delete" /></a>
                   </td>
                 </tr>
               </table>
             </td>
           </tr>
         </table>
-    </td>
-  </tr>
-  <tr>
-    <td valign="top" width="100%">
-      <table width="100%" border="0" cellpadding="4" cellspacing="0">
-      <!-- general appointment info -->
-      <tr valign="top">
-        <td align="right" width="15%" bgcolor="#E8E8E0">
-            <span class="aptview_text">Title:</span>
-        </td>
-        <td align="left" bgcolor="#FFFFF0">
-            <span class="aptview_text">
-              <var:string value="appointment.summary" />
-            </span>
-        </td>
-      </tr>
-      <tr valign="top">
-        <td align="right" width="15%" bgcolor="#E8E8E0">
-          <span class="aptview_text">Location:</span>
-        </td>
-        <td align="left" bgcolor="#FFFFF0">
-          <span class="aptview_text">
+      </td>
+    </tr>
+    <tr>
+      <td valign="top" width="100%">
+        <table width="100%" border="0" cellpadding="4" cellspacing="0">
+        <!-- general appointment info -->
+        <tr valign="top">
+          <td align="right" width="15%" bgcolor="#E8E8E0" class="aptview_text">
+            <var:string label:value="Title" />:
+          </td>
+          <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+            <var:string value="appointment.summary" />
+          </td>
+        </tr>
+        <tr valign="top">
+          <td align="right" width="15%" bgcolor="#E8E8E0" class="aptview_text">
+            <var:string label:value="Location" />:
+          </td>
+          <td align="left" bgcolor="#FFFFF0" class="aptview_text">
             <var:string value="appointment.location" />
-          </span>
-        </td>
-      </tr>
-      </table>
-   </td>
-  </tr>
-  <tr>
-    <td valign="top" width="100%">
+          </td>
+        </tr>
+        </table>
+     </td>
+    </tr>
+    <tr>
+      <td valign="top" width="100%">
         <uix:tabview var:selection="tabSelection"
                      const:tabStyle="tab"
                      const:selectedTabStyle="tab_selected"
           >
             <table width="100%" border="0" cellpadding="4" cellspacing="0">
               <tr valign="top">
-                <td align="right" width="15%" bgcolor="#E8E8E0">
-                    <span class="aptview_text">Start time:</span>
+                <td align="right"
+                    width="15%"
+                    bgcolor="#E8E8E0"
+                    class="aptview_text"
+                >
+                  <var:string label:value="Start time" />:
                 </td>
-                <td align="left" bgcolor="#FFFFF0">
-                    <span class="aptview_text">
-                      <var:string value="startTime"
-                                  formatter="dateFormatter"
-                      />
-                    </span>
+                <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <var:string value="startTime"
+                              formatter="dateFormatter"
+                  />
                 </td>
               </tr>
               <tr valign="top">
-                <td align="right" width="15%" bgcolor="#E8E8E0">
-                  <span class="aptview_text">End time:</span>
+                <td align="right"
+                    width="15%"
+                    bgcolor="#E8E8E0"
+                    class="aptview_text"
+                >
+                  <var:string label:value="End time" />:
                 </td>
-                <td align="left" bgcolor="#FFFFF0">
-                  <span class="aptview_text">
-                    <var:string value="endTime"
-                                formatter="dateFormatter"
-                    />
-                  </span>
+                <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <var:string value="endTime"
+                              formatter="dateFormatter"
+                  />
                 </td>
               </tr>
               <tr valign="top">
-                <td align="right" width="15%" bgcolor="#E8E8E0">
-                  <span class="aptview_text">Resources:</span>
+                <td align="right"
+                    width="15%"
+                    bgcolor="#E8E8E0"
+                    class="aptview_text"
+                >
+                  <var:string label:value="Resources" />:
                 </td>
-                <td align="left" bgcolor="#FFFFF0">
-                  <span class="aptview_text">
-                    <var:string value="resourcesAsString"
-                                const:escapeHTML="NO"
-                    />
-                  </span>
+                <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <var:string value="resourcesAsString"
+                              const:escapeHTML="NO"
+                  />
                 </td>
               </tr>
               <tr valign="top">
-                <td align="right" width="15%" bgcolor="#E8E8E0">
-                  <span class="aptview_text">Organizer:</span>
+                <td align="right"
+                    width="15%"
+                    bgcolor="#E8E8E0"
+                    class="aptview_text"
+                >
+                  <var:string label:value="Organizer" />:
                 </td>
-                <td align="left" bgcolor="#FFFFF0">
-                  <span class="aptview_text">
-                    <var:string value="appointment.organizer.cnForDisplay" />
-                  </span>
+                <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <var:string value="appointment.organizer.cnForDisplay" />
                 </td>
               </tr>
               <tr valign="top">
-                <td align="right" width="15%" bgcolor="#E8E8E0">
-                  <span class="aptview_text">Comment:</span>
+                <td align="right"
+                    width="15%"
+                    bgcolor="#E8E8E0"
+                    class="aptview_text"
+                >
+                  <var:string label:value="Comment" />:
                 </td>
-                <td align="left" bgcolor="#FFFFF0">
-                  <span class="aptview_text">
-                    <var:string value="appointment.comment" />
-                  </span>
+                <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <var:string value="appointment.comment" />
                 </td>
               </tr>
             </table>
           </uix:tab>
           <uix:tab const:key="participants"
                    const:label="participants"
-                   var:href="participantsTabLink">
-              <table width="100%" border="0" cellpadding="4" cellspacing="0">
-              <tr valign="top">
-                <td align="left" bgcolor="#E8E8E0">
-                    <span class="aptview_title">Name</span>
-                </td>
-                <td align="left" bgcolor="#E8E8E0">
-                    <span class="aptview_title">Email</span>
-                </td>
-              </tr>
-              <var:foreach list="appointment.participants"
-                           item="attendee"
-              >
-              <tr valign="top">
-                <td align="left" bgcolor="#FFFFF0">
-                  <span class="aptview_text">
-                    <var:string value="attendee.cnForDisplay" />
-                  </span>
-                </td>
-                <td align="left" bgcolor="#FFFFF0">
-                  <span class="aptview_text">
-                    <a var:href="attendee.email"
-                    ><var:string value="attendee.rfc822Email" /></a>
-                  </span>
-                </td>
-              </tr>
-              </var:foreach>
-              </table>
+                   var:href="participantsTabLink"
+          >
+            <table width="100%" border="0" cellpadding="4" cellspacing="0">
+            <tr valign="top">
+              <td align="left" bgcolor="#E8E8E0" class="aptview_title">
+                  <var:string label:value="Name" />
+              </td>
+              <td align="left" bgcolor="#E8E8E0" class="aptview_title">
+                  <var:string label:value="Email" />
+              </td>
+            </tr>
+            <var:foreach list="appointment.participants"
+                         item="attendee"
+            >
+            <tr valign="top">
+              <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <var:string value="attendee.cnForDisplay" />
+              </td>
+              <td align="left" bgcolor="#FFFFF0" class="aptview_text">
+                  <a var:href="attendee.email"
+                  ><var:string value="attendee.rfc822Email" /></a>
+              </td>
+            </tr>
+            </var:foreach>
+            </table>
           </uix:tab>
           <var:if condition="isUIxDebugEnabled">
             <uix:tab const:key="debug"
                           /><br />
               MsgClass:   <var:string value="clientObject.outlookMessageClass"
                           /><br />
-  
+    
               <hr />
               As iCal:<br />
               <pre><var:string value="clientObject.iCalString"/></pre>
-  
+    
               <hr />
               As Mail:<br />
               <pre><var:string value="clientObject.iCalMailString"/></pre>
-  
+    
             </uix:tab>
           </var:if>
         </uix:tabview>
-    </td>
-  </tr>
+      </td>
+    </tr>
   </table>
 </var:component>
index 603ab29ac77c8673012f75160bd9c48636865a88..03bbd98770342ba3d135928bef2302a5f77274af 100644 (file)
 - (NSDictionary *)todayQueryParameters;
 - (NSDictionary *)currentDayQueryParameters;
 
+/* calendarUIDs */
+
+- (NSString *)formattedCalendarUIDs;
+  
 @end
 
 #endif /* __SOGo_UIxCalView_H__ */
index 8305b19828ae9399b86f85859a1bb5e8becae6e2..15e52646a2145b34b554cba7f4a1c01f3ea145b5 100644 (file)
 
     SOGoAppointmentObject = {
       methods = {
+        printview = { 
+          protectedBy = "View";
+          pageName    = "UIxAppointmentPrintview"; 
+        };
         view = { 
           protectedBy = "View";
           pageName    = "UIxAppointmentView";