]> err.no Git - scalable-opengroupware.org/commitdiff
some work on tool daemon support
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 10 Feb 2005 14:36:44 +0000 (14:36 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 10 Feb 2005 14:36:44 +0000 (14:36 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@539 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/Main/ChangeLog
SOGo/Main/GNUmakefile
SOGo/Main/SOGo.m
SOGo/Main/SOGoProductLoader.m
SOGo/Main/Version

index 66155c523c70e43d2680b8930bb91fc234f43e5c..cba9d507baa083f34b9ccfcb8db17b1b13a20445 100644 (file)
@@ -1,4 +1,9 @@
-2005-02-10  Helge Hess  <helge.hess@skyrix.com>
+2005-02-10  Helge Hess  <helge.hess@opengroupware.org>
+
+       * SOGo.m: minor cleanup in locale code, removed some dead code
+         (v0.9.20)
+
+       * GNUmakefile: some support for tool compilation (does not work yet)
 
        * sogod.m: moved application class to own file, started to work on
          daemon/product separation (v0.9.19)
index e66147a7dd9555210745981268e10b05c2ee259a..f589055e4dd6687f900e6c811158ed327201ae84 100644 (file)
@@ -3,6 +3,7 @@
 include $(GNUSTEP_MAKEFILES)/common.make
 
 WOAPP_NAME         = sogod
+TOOL_NAME          = sogod
 BUNDLE_NAME        = MainUI
 BUNDLE_EXTENSION   = .SOGo
 BUNDLE_INSTALL_DIR = $(GNUSTEP_USER_ROOT)/Library/SOGo
@@ -19,16 +20,16 @@ sogod_OBJC_FILES += \
 
 MainUI_PRINCIPAL_CLASS = MainUIProduct
 
-sogod_LANGUAGES = English French
+MainUI_LANGUAGES = English French
 
-sogod_OBJC_FILES += \
+MainUI_OBJC_FILES += \
        MainUIProduct.m         \
        SOGoRootPage.m          \
        SOGoUserHomePage.m      \
        SOGoGroupPage.m         \
        SOGoGroupsPage.m        \
 
-sogod_RESOURCE_FILES +=        \
+MainUI_RESOURCE_FILES +=       \
        Version                 \
        product.plist           \
        \
@@ -37,10 +38,23 @@ sogod_RESOURCE_FILES +=     \
        SOGoGroupPage.wox       \
        SOGoGroupsPage.wox      \
 
-sogod_LOCALIZED_RESOURCE_FILES += \
+MainUI_LOCALIZED_RESOURCE_FILES += \
        Locale default.strings
 
+# woapp support
+
+ifneq ($(tool),yes)
+sogod_OBJC_FILES               += $(MainUI_OBJC_FILES)
+sogod_RESOURCE_FILES           += $(MainUI_RESOURCE_FILES)
+sogod_LOCALIZED_RESOURCE_FILES += $(MainUI_LOCALIZED_RESOURCE_FILES)
+endif
+
+
 -include GNUmakefile.preamble
+ifeq ($(tool),yes)
+include $(GNUSTEP_MAKEFILES)/bundle.make
+include $(GNUSTEP_MAKEFILES)/tool.make
+else
 include $(GNUSTEP_MAKEFILES)/woapp.make
-#include $(GNUSTEP_MAKEFILES)/bundle.make
+endif
 -include GNUmakefile.postamble
index eeb869e4b26023488f846abfec00d61cccbae17a..2fcec7494dfadab01251a640e24b52f8dd74cdc6 100644 (file)
@@ -104,25 +104,23 @@ static BOOL doCrashOnSessionCreate = NO;
                           autorelease];
 }
 
+- (void)_setupLocaleInContext:(WOContext *)_ctx {
+  NSArray      *langs;
+  NSDictionary *locale;
+  
+  if ([[_ctx valueForKey:@"locale"] isNotNull])
+    return;
+
+  langs = [[(WOContext *)_ctx request] browserLanguages];
+  locale = [self currentLocaleConsideringLanguages:langs];
+  [_ctx takeValue:locale forKey:@"locale"];
+}
+
 - (id)lookupName:(NSString *)_key inContext:(id)_ctx acquire:(BOOL)_flag {
   id obj;
 
   /* put locale info into the context in case it's not there */
-  if (![_ctx valueForKey:@"locale"]) {
-      NSArray *langs;
-      NSDictionary *locale;
-      
-      langs = [[(WOContext *)_ctx request] browserLanguages];
-      locale = [self currentLocaleConsideringLanguages:langs];
-      [_ctx takeValue:locale forKey:@"locale"];
-  }
-  
-#if 0 // znek: explain why you did that?
-  /* set SoRootURL */
-  if ([_ctx valueForKey:@"SoRootURL"] == nil) {
-      [_ctx takeValue:@"/sogod.woa/so/" forKey:@"SoRootURL"];
-  }
-#endif
+  [self _setupLocaleInContext:_ctx];
   
   /* first check attributes directly bound to the application */
   if ((obj = [super lookupName:_key inContext:_ctx acquire:_flag]))
@@ -222,7 +220,7 @@ static BOOL doCrashOnSessionCreate = NO;
     
     lname  = [_langs objectAtIndex:i];
     locale = [self localeForLanguageNamed:lname];
-    if (locale)
+    if (locale != nil)
       return locale;
   }
   /* no appropriate language, fallback to default */
@@ -230,32 +228,41 @@ static BOOL doCrashOnSessionCreate = NO;
 }
 
 - (NSDictionary *)localeForLanguageNamed:(NSString *)_name {
-  NSString *lpath;
-  id data;
+  NSString     *lpath;
+  id           data;
   NSDictionary *locale;
-
-  NSAssert(_name != nil, @"_name MUST NOT be nil!");
-  if((locale = [self->localeLUT objectForKey:_name]) != nil)
+  
+  if (![_name isNotNull]) {
+    [self logWithFormat:@"ERROR(%s): name parameter must not be nil!",
+         __PRETTY_FUNCTION__];
+    return nil;
+  }
+  
+  if ((locale = [self->localeLUT objectForKey:_name]) != nil)
     return locale;
+  
   lpath = [[self resourceManager]
-    pathForResourceNamed:@"Locale"
-    inFramework:nil
-    languages:[NSArray arrayWithObject:_name]];
-
-  data = [NSData dataWithContentsOfFile:lpath];
-  if(data == nil) {
-    NSLog(@"%s didn't find locale with name:%@",
-      __PRETTY_FUNCTION__,
-      _name);
+           pathForResourceNamed:@"Locale"
+           inFramework:nil
+           languages:[NSArray arrayWithObject:_name]];
+  if (![lpath isNotNull]) {
+    [self logWithFormat:@"ERROR: did not find Locale for language: %@", _name];
+    return nil;
+  }
+  
+  if ((data = [NSData dataWithContentsOfFile:lpath]) == nil) {
+    [self logWithFormat:@"%s didn't find locale with name:%@",
+         __PRETTY_FUNCTION__,
+         _name];
     return nil;
   }
   data = [[[NSString alloc] initWithData:data
                             encoding:NSUTF8StringEncoding] autorelease];
   locale = [data propertyList];
-  if(locale == nil) {
-    NSLog(@"%s couldn't load locale with name:%@",
-      __PRETTY_FUNCTION__,
-      _name);
+  if (locale == nil) {
+    [self logWithFormat:@"%s couldn't load locale with name:%@",
+         __PRETTY_FUNCTION__,
+         _name];
     return nil;
   }
   [self->localeLUT setObject:locale forKey:_name];
index abc6001c77c7556d69de7f16b54f0be452690c52..8c4d545c8c48470014e80f2af86ebaa58ba45642 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2004 SKYRIX Software AG
+  Copyright (C) 2004-2005 SKYRIX Software AG
 
   This file is part of OpenGroupware.org.
 
@@ -18,7 +18,6 @@
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #include "SOGoProductLoader.h"
 #include "common.h"
   fm       = [NSFileManager defaultManager];
   
   pathes = [[self productSearchPathes] objectEnumerator];
-  while ((lpath = [pathes nextObject])) {
+  while ((lpath = [pathes nextObject]) != nil) {
     NSEnumerator *productNames;
     NSString *productName;
 
     productNames = [[fm directoryContentsAtPath:lpath] objectEnumerator];
     
-    while ((productName = [productNames nextObject])) {
+    while ((productName = [productNames nextObject]) != nil) {
       NSString *bpath;
       
       bpath = [lpath stringByAppendingPathComponent:productName];
index 7ad8ae0ce9274b204b067ac62fd446737188f648..6cdceca85a4dd7ddae7234aeafbc0596f442986b 100644 (file)
@@ -1,5 +1,5 @@
 # Version file
 
-SUBMINOR_VERSION:=19
+SUBMINOR_VERSION:=20
 
 # v0.9.16 requires NGExtensions v4.5.136