diff --git a/UI/Common/UIxPageFrame.m b/UI/Common/UIxPageFrame.m
index 68ddb1ee5..ee990ad73 100644
--- a/UI/Common/UIxPageFrame.m
+++ b/UI/Common/UIxPageFrame.m
@@ -479,24 +479,6 @@
return canLogoff;
}
-- (BOOL) userHasCalendarAccess
-{
- SOGoUser *user;
-
- user = [context activeUser];
-
- return [user canAccessModule: @"Calendar"];
-}
-
-- (BOOL) userHasMailAccess
-{
- SOGoUser *user;
-
- user = [context activeUser];
-
- return [user canAccessModule: @"Mail"];
-}
-
- (NSString *) userLanguage
{
SOGoUserDefaults *ud;
diff --git a/UI/SOGoUI/UIxComponent.h b/UI/SOGoUI/UIxComponent.h
index c343773f2..05477b801 100644
--- a/UI/SOGoUI/UIxComponent.h
+++ b/UI/SOGoUI/UIxComponent.h
@@ -66,6 +66,12 @@
- (NSString *)ownPath;
- (NSString *)relativePathToUserFolderSubPath:(NSString *)_sub;
+/* module access */
+- (BOOL) isCalendarEnabled;
+- (BOOL) isContactsEnabled;
+- (BOOL) isMailEnabled;
+- (BOOL) isPreferencesEnabled;
+
/* date selection */
- (NSCalendarDate *) selectedDate;
diff --git a/UI/SOGoUI/UIxComponent.m b/UI/SOGoUI/UIxComponent.m
index 473d2bf9a..ed2194008 100644
--- a/UI/SOGoUI/UIxComponent.m
+++ b/UI/SOGoUI/UIxComponent.m
@@ -465,6 +465,45 @@ static NSMutableArray *abbrMonthLabelKeys = nil;
return result;
}
+- (BOOL) userHasCalendarAccess
+{
+ SOGoUser *user;
+
+ user = [context activeUser];
+
+ return [user canAccessModule: @"Calendar"];
+}
+
+- (BOOL) userHasMailAccess
+{
+ SOGoUser *user;
+
+ user = [context activeUser];
+
+ return [user canAccessModule: @"Mail"];
+}
+
+#warning we might want to refine the tests here...
+- (BOOL) isCalendarEnabled
+{
+ return [self userHasCalendarAccess] && ![self singleWindowModeEnabled];
+}
+
+- (BOOL) isContactsEnabled
+{
+ return ![self singleWindowModeEnabled];
+}
+
+- (BOOL) isMailEnabled
+{
+ return [self userHasMailAccess];
+}
+
+- (BOOL) isPreferencesEnabled
+{
+ return ![self singleWindowModeEnabled];
+}
+
/* SoUser */
- (NSString *) shortUserNameForDisplay
diff --git a/UI/Templates/UIxPageFrame.wox b/UI/Templates/UIxPageFrame.wox
index 2943db290..7f245037b 100644
--- a/UI/Templates/UIxPageFrame.wox
+++ b/UI/Templates/UIxPageFrame.wox
@@ -38,6 +38,16 @@