mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-06 00:45:09 +00:00
Monotone-Parent: 8566d6fbfa896a774b9907c3125e7b3de87296cd
Monotone-Revision: 2ad8b0c019808014c990f51cc69c4457fdb537c6 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-07-28T22:59:11 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
+68
-72
@@ -39,6 +39,7 @@
|
||||
- (void)setTitle:(NSString *)_value {
|
||||
ASSIGNCOPY(self->title, _value);
|
||||
}
|
||||
|
||||
- (NSString *)title {
|
||||
if ([self isUIxDebugEnabled])
|
||||
return self->title;
|
||||
@@ -49,6 +50,7 @@
|
||||
- (void)setItem:(id)_item {
|
||||
ASSIGN(self->item, _item);
|
||||
}
|
||||
|
||||
- (id)item {
|
||||
return self->item;
|
||||
}
|
||||
@@ -59,14 +61,16 @@
|
||||
|
||||
/* Help URL/target */
|
||||
|
||||
- (NSString *)helpURL {
|
||||
- (NSString *)helpURL
|
||||
{
|
||||
return [NSString stringWithFormat: @"help/%@.html", self->title];
|
||||
}
|
||||
- (NSString *)helpWindowTarget {
|
||||
|
||||
- (NSString *)helpWindowTarget
|
||||
{
|
||||
return [NSString stringWithFormat: @"Help_%@", self->title];
|
||||
}
|
||||
|
||||
|
||||
/* notifications */
|
||||
|
||||
- (void)sleep {
|
||||
@@ -77,108 +81,66 @@
|
||||
/* URL generation */
|
||||
// TODO: I think all this should be done by the clientObject?!
|
||||
|
||||
- (NSString *)relativeHomePath {
|
||||
- (NSString *) relativeHomePath
|
||||
{
|
||||
return [self relativePathToUserFolderSubPath: @""];
|
||||
}
|
||||
|
||||
- (NSString *)relativeCalendarPath {
|
||||
- (NSString *)relativeCalendarPath
|
||||
{
|
||||
return [self relativePathToUserFolderSubPath: @"Calendar/"];
|
||||
}
|
||||
|
||||
- (NSString *)relativeContactsPath {
|
||||
- (NSString *)relativeContactsPath
|
||||
{
|
||||
return [self relativePathToUserFolderSubPath: @"Contacts/"];
|
||||
}
|
||||
|
||||
- (NSString *)relativeMailPath {
|
||||
- (NSString *)relativeMailPath
|
||||
{
|
||||
return [self relativePathToUserFolderSubPath: @"Mail/"];
|
||||
}
|
||||
|
||||
- (NSString *)logoffPath {
|
||||
- (NSString *)logoffPath
|
||||
{
|
||||
return [self relativePathToUserFolderSubPath: @"logoff"];
|
||||
}
|
||||
|
||||
/* page based JavaScript */
|
||||
|
||||
- (WOResourceManager *)pageResourceManager {
|
||||
WOResourceManager *rm;
|
||||
|
||||
if ((rm = [[[self context] page] resourceManager]) == nil)
|
||||
rm = [[WOApplication application] resourceManager];
|
||||
return rm;
|
||||
/* popup handling */
|
||||
- (void) setPopup: (BOOL) popup
|
||||
{
|
||||
isPopup = popup;
|
||||
}
|
||||
|
||||
- (BOOL) isPopup
|
||||
{
|
||||
WOComponent *page;
|
||||
|
||||
page = [[self context] page];
|
||||
|
||||
return ([page respondsToSelector: @selector(isPopup)]
|
||||
&& [page isPopup]);
|
||||
return isPopup;
|
||||
}
|
||||
|
||||
/* page based JavaScript */
|
||||
|
||||
- (NSString *) pageJavaScriptURL
|
||||
{
|
||||
static NSMutableDictionary *pageToURL = nil;
|
||||
WOResourceManager *rm;
|
||||
WOComponent *page;
|
||||
NSString *jsname, *pageName;
|
||||
NSString *url;
|
||||
NSString *pageJSFilename;
|
||||
|
||||
page = [[self context] page];
|
||||
pageName = NSStringFromClass([page class]);
|
||||
// TODO: does not seem to work! (gets reset): pageName = [page name];
|
||||
|
||||
if ((url = [pageToURL objectForKey:pageName]) != nil)
|
||||
return [url isNotNull] ? url : nil;
|
||||
pageJSFilename = [NSString stringWithFormat: @"%@.js",
|
||||
NSStringFromClass([page class])];
|
||||
|
||||
if (pageToURL == nil)
|
||||
pageToURL = [[NSMutableDictionary alloc] initWithCapacity:32];
|
||||
|
||||
rm = [self pageResourceManager];
|
||||
jsname = [pageName stringByAppendingString: @".js"];
|
||||
|
||||
url = [rm urlForResourceNamed: jsname
|
||||
inFramework: [[NSBundle bundleForClass: [page class]] bundlePath]
|
||||
languages:nil
|
||||
request:[[self context] request]];
|
||||
|
||||
/* cache */
|
||||
[pageToURL setObject:(url ? url : (id)[NSNull null]) forKey:pageName];
|
||||
|
||||
return url;
|
||||
return [self urlForResourceFilename: pageJSFilename];
|
||||
}
|
||||
|
||||
- (NSString *) productJavaScriptURL
|
||||
{
|
||||
static NSMutableDictionary *pageToURL = nil;
|
||||
WOResourceManager *rm;
|
||||
WOComponent *page;
|
||||
NSString *jsname, *pageName;
|
||||
NSString *url;
|
||||
NSString *fwJSFilename;
|
||||
|
||||
page = [[self context] page];
|
||||
fwJSFilename = [NSString stringWithFormat: @"%@.js",
|
||||
[page frameworkName]];
|
||||
|
||||
page = [[self context] page];
|
||||
pageName = NSStringFromClass([page class]);
|
||||
// TODO: does not seem to work! (gets reset): pageName = [page name];
|
||||
|
||||
if ((url = [pageToURL objectForKey:pageName]) != nil)
|
||||
return [url isNotNull] ? url : nil;
|
||||
|
||||
if (pageToURL == nil)
|
||||
pageToURL = [[NSMutableDictionary alloc] initWithCapacity:32];
|
||||
|
||||
rm = [self pageResourceManager];
|
||||
jsname = [[page frameworkName] stringByAppendingString: @".js"];
|
||||
|
||||
url = [rm urlForResourceNamed: jsname
|
||||
inFramework: [[NSBundle bundleForClass: [page class]] bundlePath]
|
||||
languages:nil
|
||||
request:[[self context] request]];
|
||||
|
||||
/* cache */
|
||||
[pageToURL setObject:(url ? url : (id)[NSNull null]) forKey:pageName];
|
||||
|
||||
return url;
|
||||
return [self urlForResourceFilename: fwJSFilename];
|
||||
}
|
||||
|
||||
- (BOOL) hasPageSpecificJavaScript
|
||||
@@ -191,4 +153,38 @@
|
||||
return ([[self productJavaScriptURL] length] > 0);
|
||||
}
|
||||
|
||||
- (NSString *) pageCSSURL
|
||||
{
|
||||
WOComponent *page;
|
||||
NSString *pageJSFilename;
|
||||
|
||||
page = [[self context] page];
|
||||
pageJSFilename = [NSString stringWithFormat: @"%@.css",
|
||||
NSStringFromClass([page class])];
|
||||
|
||||
return [self urlForResourceFilename: pageJSFilename];
|
||||
}
|
||||
|
||||
- (NSString *) productCSSURL
|
||||
{
|
||||
WOComponent *page;
|
||||
NSString *fwJSFilename;
|
||||
|
||||
page = [[self context] page];
|
||||
fwJSFilename = [NSString stringWithFormat: @"%@.css",
|
||||
[page frameworkName]];
|
||||
|
||||
return [self urlForResourceFilename: fwJSFilename];
|
||||
}
|
||||
|
||||
- (BOOL) hasPageSpecificCSS
|
||||
{
|
||||
return ([[self pageCSSURL] length] > 0);
|
||||
}
|
||||
|
||||
- (BOOL) hasProductSpecificCSS
|
||||
{
|
||||
return ([[self productCSSURL] length] > 0);
|
||||
}
|
||||
|
||||
@end /* UIxPageFrame */
|
||||
|
||||
Reference in New Issue
Block a user