diff --git a/Composite.Workflows/C1Console/Tools/SetTimeZoneWorkflow.cs b/Composite.Workflows/C1Console/Tools/SetTimeZoneWorkflow.cs new file mode 100644 index 0000000000..f0096146e2 --- /dev/null +++ b/Composite.Workflows/C1Console/Tools/SetTimeZoneWorkflow.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Hosting; +using System.Workflow.Runtime; +using System.Xml.Linq; +using Composite.C1Console.Actions; +using Composite.C1Console.Events; +using Composite.C1Console.Workflow; +using Composite.Core.Configuration; +using Composite.Core.ResourceSystem; + +namespace Composite.C1Console.Tools +{ + public sealed partial class SetTimeZoneWorkflow : Workflow.Activities.FormsWorkflow + { + private const string TimezoneXslt = @" + + + + + + + + + + + + + + + + + + + + + + "; + public SetTimeZoneWorkflow() + { + InitializeComponent(); + } + + + private void initializeCodeActivity_InitializeBindings_ExecuteCode(object sender, EventArgs e) + { + var tzs = TimeZoneInfo.GetSystemTimeZones().ToDictionary(systemTimeZone => systemTimeZone.Id, systemTimeZone => + StringResourceSystemFacade.GetString("Composite.Plugins.TimezoneDisplayNames", + "TimezoneDisplayName." + systemTimeZone.Id)); + var bindings = new Dictionary + { + {"TimeZones", tzs}, + {"TimeZonesSelected",GlobalSettingsFacade.TimeZone.Id } + }; + + Bindings = bindings; + } + + + + private void sendMessageCodeActivity_SendMessage_ExecuteCode(object sender, EventArgs e) + { + CloseCurrentView(); + + var timeZoneStandardName = GetBinding("TimeZonesSelected"); + + var timezoneId = TimeZoneInfo.FindSystemTimeZoneById(timeZoneStandardName); + + var timezoneTransform = XDocument.Parse(String.Format(TimezoneXslt, timezoneId.Id)); + + ConfigurationServices.TransformConfiguration(timezoneTransform,false); + + HostingEnvironment.InitiateShutdown(); + + FlowControllerServicesContainer flowControllerServicesContainer = WorkflowFacade.GetFlowControllerServicesContainer(WorkflowEnvironment.WorkflowInstanceId); + IManagementConsoleMessageService managementConsoleMessageService = flowControllerServicesContainer.GetService(); + + managementConsoleMessageService.ShowGlobalMessage(DialogType.Message, + StringResourceSystemFacade.GetString("Composite.Management", "SendMessageToConsolesWorkflow.SuccessMessage.TimezoneChangedTitle"), + StringResourceSystemFacade.GetString("Composite.Management", "SendMessageToConsolesWorkflow.SuccessMessage.TimezoneChangedMessage")); + + managementConsoleMessageService.RebootConsole(); + + } + } +} diff --git a/Composite.Workflows/C1Console/Tools/SetTimeZoneWorkflow.designer.cs b/Composite.Workflows/C1Console/Tools/SetTimeZoneWorkflow.designer.cs new file mode 100644 index 0000000000..43cd961d49 --- /dev/null +++ b/Composite.Workflows/C1Console/Tools/SetTimeZoneWorkflow.designer.cs @@ -0,0 +1,330 @@ +using System; +using System.ComponentModel; +using System.ComponentModel.Design; +using System.Collections; +using System.Drawing; +using System.Reflection; +using System.Workflow.ComponentModel.Compiler; +using System.Workflow.ComponentModel.Serialization; +using System.Workflow.ComponentModel; +using System.Workflow.ComponentModel.Design; +using System.Workflow.Runtime; +using System.Workflow.Activities; +using System.Workflow.Activities.Rules; +using Composite.C1Console.Workflow; + +namespace Composite.C1Console.Tools +{ + partial class SetTimeZoneWorkflow + { + #region Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this� method with the code editor. + /// + [System.Diagnostics.DebuggerNonUserCode] + private void InitializeComponent() + { + this.CanModifyActivities = true; + this.setStateActivity5 = new System.Workflow.Activities.SetStateActivity(); + this.sendMessageCodeActivity_SendMessage = new System.Workflow.Activities.CodeActivity(); + this.setStateActivity3 = new System.Workflow.Activities.SetStateActivity(); + this.cancelHandleExternalEventActivity2 = new Composite.C1Console.Workflow.Activities.CancelHandleExternalEventActivity(); + this.setStateActivity4 = new System.Workflow.Activities.SetStateActivity(); + this.finishHandleExternalEventActivity1 = new Composite.C1Console.Workflow.Activities.FinishHandleExternalEventActivity(); + this.dataDialogFormActivity1 = new Composite.C1Console.Workflow.Activities.DataDialogFormActivity(); + this.setStateActivity2 = new System.Workflow.Activities.SetStateActivity(); + this.initializeCodeActivity_InitializeBindings = new System.Workflow.Activities.CodeActivity(); + this.sendMessageStateInitializationActivity = new System.Workflow.Activities.StateInitializationActivity(); + this.enterMessageEventDrivenActivity_Cancel = new System.Workflow.Activities.EventDrivenActivity(); + this.enterMessageEventDrivenActivity_Ok = new System.Workflow.Activities.EventDrivenActivity(); + this.enterMessageStateInitializationActivity = new System.Workflow.Activities.StateInitializationActivity(); + this.initializeStateInitializationActivity = new System.Workflow.Activities.StateInitializationActivity(); + this.setStateActivity1 = new System.Workflow.Activities.SetStateActivity(); + this.cancelHandleExternalEventActivity1 = new Composite.C1Console.Workflow.Activities.CancelHandleExternalEventActivity(); + this.sendMessageStateActivity = new System.Workflow.Activities.StateActivity(); + this.enterMessageStateActivity = new System.Workflow.Activities.StateActivity(); + this.finalStateActivity = new System.Workflow.Activities.StateActivity(); + this.initializeStateActivity = new System.Workflow.Activities.StateActivity(); + this.eventDrivenActivity_GlobalCancel = new System.Workflow.Activities.EventDrivenActivity(); + // + // setStateActivity5 + // + this.setStateActivity5.Name = "setStateActivity5"; + this.setStateActivity5.TargetStateName = "finalStateActivity"; + // + // sendMessageCodeActivity_SendMessage + // + this.sendMessageCodeActivity_SendMessage.Name = "sendMessageCodeActivity_SendMessage"; + this.sendMessageCodeActivity_SendMessage.ExecuteCode += new System.EventHandler(this.sendMessageCodeActivity_SendMessage_ExecuteCode); + // + // setStateActivity3 + // + this.setStateActivity3.Name = "setStateActivity3"; + this.setStateActivity3.TargetStateName = "finalStateActivity"; + // + // cancelHandleExternalEventActivity2 + // + this.cancelHandleExternalEventActivity2.EventName = "Cancel"; + this.cancelHandleExternalEventActivity2.InterfaceType = typeof(Composite.C1Console.Workflow.IFormsWorkflowEventService); + this.cancelHandleExternalEventActivity2.Name = "cancelHandleExternalEventActivity2"; + // + // setStateActivity4 + // + this.setStateActivity4.Name = "setStateActivity4"; + this.setStateActivity4.TargetStateName = "sendMessageStateActivity"; + // + // finishHandleExternalEventActivity1 + // + this.finishHandleExternalEventActivity1.EventName = "Finish"; + this.finishHandleExternalEventActivity1.InterfaceType = typeof(Composite.C1Console.Workflow.IFormsWorkflowEventService); + this.finishHandleExternalEventActivity1.Name = "finishHandleExternalEventActivity1"; + // + // dataDialogFormActivity1 + // + this.dataDialogFormActivity1.ContainerLabel = null; + this.dataDialogFormActivity1.FormDefinitionFileName = "/Administrative/SetTimeZone_select.xml"; + this.dataDialogFormActivity1.Name = "dataDialogFormActivity1"; + // + // setStateActivity2 + // + this.setStateActivity2.Name = "setStateActivity2"; + this.setStateActivity2.TargetStateName = "enterMessageStateActivity"; + // + // initializeCodeActivity_InitializeBindings + // + this.initializeCodeActivity_InitializeBindings.Name = "initializeCodeActivity_InitializeBindings"; + this.initializeCodeActivity_InitializeBindings.ExecuteCode += new System.EventHandler(this.initializeCodeActivity_InitializeBindings_ExecuteCode); + // + // sendMessageStateInitializationActivity + // + this.sendMessageStateInitializationActivity.Activities.Add(this.sendMessageCodeActivity_SendMessage); + this.sendMessageStateInitializationActivity.Activities.Add(this.setStateActivity5); + this.sendMessageStateInitializationActivity.Name = "sendMessageStateInitializationActivity"; + // + // enterMessageEventDrivenActivity_Cancel + // + this.enterMessageEventDrivenActivity_Cancel.Activities.Add(this.cancelHandleExternalEventActivity2); + this.enterMessageEventDrivenActivity_Cancel.Activities.Add(this.setStateActivity3); + this.enterMessageEventDrivenActivity_Cancel.Name = "enterMessageEventDrivenActivity_Cancel"; + // + // enterMessageEventDrivenActivity_Ok + // + this.enterMessageEventDrivenActivity_Ok.Activities.Add(this.finishHandleExternalEventActivity1); + this.enterMessageEventDrivenActivity_Ok.Activities.Add(this.setStateActivity4); + this.enterMessageEventDrivenActivity_Ok.Name = "enterMessageEventDrivenActivity_Ok"; + // + // enterMessageStateInitializationActivity + // + this.enterMessageStateInitializationActivity.Activities.Add(this.dataDialogFormActivity1); + this.enterMessageStateInitializationActivity.Name = "enterMessageStateInitializationActivity"; + // + // initializeStateInitializationActivity + // + this.initializeStateInitializationActivity.Activities.Add(this.initializeCodeActivity_InitializeBindings); + this.initializeStateInitializationActivity.Activities.Add(this.setStateActivity2); + this.initializeStateInitializationActivity.Name = "initializeStateInitializationActivity"; + // + // setStateActivity1 + // + this.setStateActivity1.Name = "setStateActivity1"; + this.setStateActivity1.TargetStateName = "finalStateActivity"; + // + // cancelHandleExternalEventActivity1 + // + this.cancelHandleExternalEventActivity1.EventName = "Cancel"; + this.cancelHandleExternalEventActivity1.InterfaceType = typeof(Composite.C1Console.Workflow.IFormsWorkflowEventService); + this.cancelHandleExternalEventActivity1.Name = "cancelHandleExternalEventActivity1"; + // + // sendMessageStateActivity + // + this.sendMessageStateActivity.Activities.Add(this.sendMessageStateInitializationActivity); + this.sendMessageStateActivity.Name = "sendMessageStateActivity"; + // + // enterMessageStateActivity + // + this.enterMessageStateActivity.Activities.Add(this.enterMessageStateInitializationActivity); + this.enterMessageStateActivity.Activities.Add(this.enterMessageEventDrivenActivity_Ok); + this.enterMessageStateActivity.Activities.Add(this.enterMessageEventDrivenActivity_Cancel); + this.enterMessageStateActivity.Name = "enterMessageStateActivity"; + // + // finalStateActivity + // + this.finalStateActivity.Name = "finalStateActivity"; + // + // initializeStateActivity + // + this.initializeStateActivity.Activities.Add(this.initializeStateInitializationActivity); + this.initializeStateActivity.Name = "initializeStateActivity"; + // + // eventDrivenActivity_GlobalCancel + // + this.eventDrivenActivity_GlobalCancel.Activities.Add(this.cancelHandleExternalEventActivity1); + this.eventDrivenActivity_GlobalCancel.Activities.Add(this.setStateActivity1); + this.eventDrivenActivity_GlobalCancel.Name = "eventDrivenActivity_GlobalCancel"; + // + // SendMessageToConsolesWorkflow + // + this.Activities.Add(this.eventDrivenActivity_GlobalCancel); + this.Activities.Add(this.initializeStateActivity); + this.Activities.Add(this.finalStateActivity); + this.Activities.Add(this.enterMessageStateActivity); + this.Activities.Add(this.sendMessageStateActivity); + this.CompletedStateName = "finalStateActivity"; + this.DynamicUpdateCondition = null; + this.InitialStateName = "initializeStateActivity"; + this.Name = "SendMessageToConsolesWorkflow"; + this.CanModifyActivities = false; + + } + + #endregion + + private C1Console.Workflow.Activities.CancelHandleExternalEventActivity cancelHandleExternalEventActivity1; + + private StateInitializationActivity initializeStateInitializationActivity; + + private SetStateActivity setStateActivity1; + + private StateActivity finalStateActivity; + + private StateActivity initializeStateActivity; + + private SetStateActivity setStateActivity3; + + private C1Console.Workflow.Activities.CancelHandleExternalEventActivity cancelHandleExternalEventActivity2; + + private SetStateActivity setStateActivity4; + + private C1Console.Workflow.Activities.FinishHandleExternalEventActivity finishHandleExternalEventActivity1; + + private C1Console.Workflow.Activities.DataDialogFormActivity dataDialogFormActivity1; + + private SetStateActivity setStateActivity2; + + private EventDrivenActivity enterMessageEventDrivenActivity_Cancel; + + private EventDrivenActivity enterMessageEventDrivenActivity_Ok; + + private StateInitializationActivity enterMessageStateInitializationActivity; + + private StateActivity sendMessageStateActivity; + + private StateActivity enterMessageStateActivity; + + private SetStateActivity setStateActivity5; + + private CodeActivity initializeCodeActivity_InitializeBindings; + + private StateInitializationActivity sendMessageStateInitializationActivity; + + private CodeActivity sendMessageCodeActivity_SendMessage; + + private EventDrivenActivity eventDrivenActivity_GlobalCancel; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } +} diff --git a/Composite.Workflows/Composite.Workflows.csproj b/Composite.Workflows/Composite.Workflows.csproj index 77eceb2326..4dd05d28d0 100644 --- a/Composite.Workflows/Composite.Workflows.csproj +++ b/Composite.Workflows/Composite.Workflows.csproj @@ -227,6 +227,12 @@ Component + + Component + + + SetTimeZoneWorkflow.cs + Component diff --git a/Composite/Composite.csproj b/Composite/Composite.csproj index bed1a398e4..b8b03d1604 100644 --- a/Composite/Composite.csproj +++ b/Composite/Composite.csproj @@ -91,6 +91,10 @@ False ..\bin\Microsoft.Practices.ObjectBuilder.dll + + ..\packages\NodaTime.1.3.2\lib\net35-Client\NodaTime.dll + True + @@ -2474,7 +2478,9 @@ TextTemplatingFileGenerator LocalizationFiles.cs - + + Designer + diff --git a/Composite/Core/Configuration/BuildinPlugins/GlobalSettingsProvider/BuildinGlobalSettingsProvider.cs b/Composite/Core/Configuration/BuildinPlugins/GlobalSettingsProvider/BuildinGlobalSettingsProvider.cs index 14ec0cd20e..f2d3a02cfe 100644 --- a/Composite/Core/Configuration/BuildinPlugins/GlobalSettingsProvider/BuildinGlobalSettingsProvider.cs +++ b/Composite/Core/Configuration/BuildinPlugins/GlobalSettingsProvider/BuildinGlobalSettingsProvider.cs @@ -34,6 +34,7 @@ internal sealed class BuildinGlobalSettingsProvider : IGlobalSettingsProvider private bool _prettifyPublicMarkup = true; private bool _prettifyRenderFunctionExceptions = true; private bool _functionPreviewEnabled = false; + private TimeZoneInfo _timezone = TimeZoneInfo.Local; public string ApplicationName => _applicationName; @@ -138,5 +139,7 @@ public string SerializedWorkflowsDirectory public bool PrettifyRenderFunctionExceptions => _prettifyRenderFunctionExceptions; public bool FunctionPreviewEnabled => _functionPreviewEnabled; + + public TimeZoneInfo TimeZone => _timezone; } } diff --git a/Composite/Core/Configuration/Foundation/PluginFacades/GlobalSettingsProviderPluginFacade.cs b/Composite/Core/Configuration/Foundation/PluginFacades/GlobalSettingsProviderPluginFacade.cs index 4fbdc389b9..0078f3dd9d 100644 --- a/Composite/Core/Configuration/Foundation/PluginFacades/GlobalSettingsProviderPluginFacade.cs +++ b/Composite/Core/Configuration/Foundation/PluginFacades/GlobalSettingsProviderPluginFacade.cs @@ -331,7 +331,7 @@ public static bool PrettifyRenderFunctionExceptions public static bool FunctionPreviewEnabled => UseReaderLock(p => p.FunctionPreviewEnabled); - + public static TimeZoneInfo TimeZone => UseReaderLock(p => p.TimeZone); private static void Flush() diff --git a/Composite/Core/Configuration/GlobalSettingsFacade.cs b/Composite/Core/Configuration/GlobalSettingsFacade.cs index d83d97ff8c..a05d7f63a7 100644 --- a/Composite/Core/Configuration/GlobalSettingsFacade.cs +++ b/Composite/Core/Configuration/GlobalSettingsFacade.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Collections.Generic; using System.Globalization; +using Composite.Core.ResourceSystem; namespace Composite.Core.Configuration @@ -476,6 +477,9 @@ public static bool PrettifyRenderFunctionExceptions /// public static bool FunctionPreviewEnabled => _globalSettingsFacade.FunctionPreviewEnabled; + /// + public static TimeZoneInfo TimeZone => _globalSettingsFacade.TimeZone; + // Overload /// public static CachingSettings GetNamedCaching(string name) diff --git a/Composite/Core/Configuration/GlobalSettingsFacadeImpl.cs b/Composite/Core/Configuration/GlobalSettingsFacadeImpl.cs index 53feca7cb2..b767fe2b44 100644 --- a/Composite/Core/Configuration/GlobalSettingsFacadeImpl.cs +++ b/Composite/Core/Configuration/GlobalSettingsFacadeImpl.cs @@ -351,5 +351,7 @@ public bool PrettifyRenderFunctionExceptions } public bool FunctionPreviewEnabled => GlobalSettingsProviderPluginFacade.FunctionPreviewEnabled; + + public TimeZoneInfo TimeZone => GlobalSettingsProviderPluginFacade.TimeZone; } } diff --git a/Composite/Core/Configuration/IGlobalSettingsFacade.cs b/Composite/Core/Configuration/IGlobalSettingsFacade.cs index 98f435f6b2..0f65e3ba9f 100644 --- a/Composite/Core/Configuration/IGlobalSettingsFacade.cs +++ b/Composite/Core/Configuration/IGlobalSettingsFacade.cs @@ -43,5 +43,6 @@ internal interface IGlobalSettingsFacade bool PrettifyPublicMarkup { get; } bool PrettifyRenderFunctionExceptions { get; } bool FunctionPreviewEnabled { get; } + TimeZoneInfo TimeZone { get; } } } diff --git a/Composite/Core/Configuration/Plugins/GlobalSettingsProvider/IGlobalSettingsProvider.cs b/Composite/Core/Configuration/Plugins/GlobalSettingsProvider/IGlobalSettingsProvider.cs index 233722ec0a..ad85f09603 100644 --- a/Composite/Core/Configuration/Plugins/GlobalSettingsProvider/IGlobalSettingsProvider.cs +++ b/Composite/Core/Configuration/Plugins/GlobalSettingsProvider/IGlobalSettingsProvider.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using Composite.Core.Configuration.Plugins.GlobalSettingsProvider.Runtime; using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder; @@ -84,5 +85,7 @@ internal interface IGlobalSettingsProvider bool PrettifyRenderFunctionExceptions { get; } bool FunctionPreviewEnabled { get; } + + TimeZoneInfo TimeZone { get; } } } diff --git a/Composite/Core/ResourceSystem/LocalizationFiles.cs b/Composite/Core/ResourceSystem/LocalizationFiles.cs index a80f7f41ff..a88572b1e6 100644 --- a/Composite/Core/ResourceSystem/LocalizationFiles.cs +++ b/Composite/Core/ResourceSystem/LocalizationFiles.cs @@ -334,17 +334,17 @@ public static class Composite_C1Console_Users { public static string ChangeOwnPasswordWorkflow_NotSupportedErrorLabel=>T("ChangeOwnPasswordWorkflow.NotSupportedErrorLabel"); ///"Password change isn't supported in current configuration." public static string ChangeOwnPasswordWorkflow_NotSupportedErrorText=>T("ChangeOwnPasswordWorkflow.NotSupportedErrorText"); -///"Regional Settings..." +///"Profile Settings..." public static string ChangeOwnCultureWorkflow_ElementActionLabel=>T("ChangeOwnCultureWorkflow.ElementActionLabel"); ///"Set the C1 Console language and formatting of numbers, times and dates" public static string ChangeOwnCultureWorkflow_ElementActionToolTip=>T("ChangeOwnCultureWorkflow.ElementActionToolTip"); ///"Regional Settings and Language" public static string ChangeOwnCultureWorkflow_Dialog_Label=>T("ChangeOwnCultureWorkflow.Dialog.Label"); -///"Regional settings" +///"Display Preferences" public static string ChangeOwnCultureWorkflow_Dialog_CultureSelector_Label=>T("ChangeOwnCultureWorkflow.Dialog.CultureSelector.Label"); -///"To change the way numbers, dates, and hours are displayed, select an entry from the list." +///"Select from the list of options to update how time, date, and number formats are displayed within the console." public static string ChangeOwnCultureWorkflow_Dialog_CultureSelector_Help=>T("ChangeOwnCultureWorkflow.Dialog.CultureSelector.Help"); -///"C1 Console language" +///"Console Language Preferences" public static string ChangeOwnCultureWorkflow_Dialog_C1ConsoleLanguageSelector_Label=>T("ChangeOwnCultureWorkflow.Dialog.C1ConsoleLanguageSelector.Label"); ///"Select the language to be used for labels, help texts, dialogs etc. The available options here are limited to languages installed. You may install more languages via the Package system, see Composite.Localization." public static string ChangeOwnCultureWorkflow_Dialog_C1ConsoleLanguageSelector_Help=>T("ChangeOwnCultureWorkflow.Dialog.C1ConsoleLanguageSelector.Help"); @@ -1113,7 +1113,7 @@ public static class Composite_Management { public static string ManageUserPermissions_ManageUserPermissionsOnBranchLabel=>T("ManageUserPermissions.ManageUserPermissionsOnBranchLabel"); ///"Edit Permissions" public static string ManageUserPermissions_ManageUserPermissionsOnItemLabel=>T("ManageUserPermissions.ManageUserPermissionsOnItemLabel"); -///"Global Permissions" +///"User Permission Settings" public static string ManageUserPermissions_ManageGlobalUserPermissionsLabel=>T("ManageUserPermissions.ManageGlobalUserPermissionsLabel"); ///"Manage user permissions" public static string ManageUserPermissions_ManageUserPermissionsToolTip=>T("ManageUserPermissions.ManageUserPermissionsToolTip"); @@ -1661,6 +1661,12 @@ public static class Composite_Management { public static string VirtualElementProviderElementProvider_RootActions_SendMessageLabel=>T("VirtualElementProviderElementProvider.RootActions.SendMessageLabel"); ///"Send a message to all running consoles" public static string VirtualElementProviderElementProvider_RootActions_SendMessageTooltip=>T("VirtualElementProviderElementProvider.RootActions.SendMessageTooltip"); +///"Time Zone Settings" +public static string VirtualElementProviderElementProvider_RootActions_SetTimezoneLabel=>T("VirtualElementProviderElementProvider.RootActions.SetTimezoneLabel"); +///"Time zone to be displayed for all users within the console" +public static string VirtualElementProviderElementProvider_RootActions_SetTimezoneTooltip=>T("VirtualElementProviderElementProvider.RootActions.SetTimezoneTooltip"); +///"Global Settings" +public static string VirtualElementProviderElementProvider_RootActions_GlobalSetting=>T("VirtualElementProviderElementProvider.RootActions.GlobalSetting"); ///"Restart server" public static string VirtualElementProviderElementProvider_RootActions_RestartApplicationLabel=>T("VirtualElementProviderElementProvider.RootActions.RestartApplicationLabel"); ///"Restart the server" @@ -1675,6 +1681,18 @@ public static class Composite_Management { public static string SendMessageToConsolesWorkflow_MessageTextArea_Label=>T("SendMessageToConsolesWorkflow.MessageTextArea.Label"); ///"The message to broadcast" public static string SendMessageToConsolesWorkflow_MessageTextArea_Help=>T("SendMessageToConsolesWorkflow.MessageTextArea.Help"); +///"Time Zone Updated" +public static string SendMessageToConsolesWorkflow_SuccessMessage_TimezoneChangedTitle=>T("SendMessageToConsolesWorkflow.SuccessMessage.TimezoneChangedTitle"); +///"Time zone has been successfully updated" +public static string SendMessageToConsolesWorkflow_SuccessMessage_TimezoneChangedMessage=>T("SendMessageToConsolesWorkflow.SuccessMessage.TimezoneChangedMessage"); +///"Set Time Zone Display" +public static string SetTimezoneWorkflow_Layout_Label=>T("SetTimezoneWorkflow.Layout.Label"); +///"Select Time Zone" +public static string SetTimezoneWorkflow_TitleTextBox_Label=>T("SetTimezoneWorkflow.TitleTextBox.Label"); +///"Time zone to be displayed for all users within the console. The console will restart once time zone updated. Any unsaved changes will be lost." +public static string SetTimezoneWorkflow_TitleTextBox_Help=>T("SetTimezoneWorkflow.TitleTextBox.Help"); +///"Time zone update requires a console restart. Any unsaved changes will be lost." +public static string SetTimezoneWorkflow_WarningText_Text=>T("SetTimezoneWorkflow.WarningText.Text"); ///"Login" public static string LoginWebRequestHandler_Login=>T("LoginWebRequestHandler.Login"); ///"Login to {0}" @@ -5194,6 +5212,542 @@ private static string T(string key) } } + /// + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + public static class Composite_Plugins_TimezoneAbbriviations { +///"Etc/GMT+12" +public static string TimezoneAbbriviations_Dateline_Standard_Time=>T("TimezoneAbbriviations.Dateline Standard Time"); +///"Etc/GMT+11" +public static string TimezoneAbbriviations_UTC_11=>T("TimezoneAbbriviations.UTC-11"); +///"UTC-10" +public static string TimezoneAbbriviations_Aleutian_Standard_Time=>T("TimezoneAbbriviations.Aleutian Standard Time"); +///"HST" +public static string TimezoneAbbriviations_Hawaiian_Standard_Time=>T("TimezoneAbbriviations.Hawaiian Standard Time"); +///"MART" +public static string TimezoneAbbriviations_Marquesas_Standard_Time=>T("TimezoneAbbriviations.Marquesas Standard Time"); +///"AKST" +public static string TimezoneAbbriviations_Alaskan_Standard_Time=>T("TimezoneAbbriviations.Alaskan Standard Time"); +///"UTC-09" +public static string TimezoneAbbriviations_UTC_09=>T("TimezoneAbbriviations.UTC-09"); +///"PST" +public static string TimezoneAbbriviations_Pacific_Standard_Time_Mexico=>T("TimezoneAbbriviations.Pacific Standard Time (Mexico)"); +///"UTC-08" +public static string TimezoneAbbriviations_UTC_08=>T("TimezoneAbbriviations.UTC-08"); +///"PST" +public static string TimezoneAbbriviations_Pacific_Standard_Time=>T("TimezoneAbbriviations.Pacific Standard Time"); +///"MST" +public static string TimezoneAbbriviations_US_Mountain_Standard_Time=>T("TimezoneAbbriviations.US Mountain Standard Time"); +///"MST" +public static string TimezoneAbbriviations_Mountain_Standard_Time_Mexico=>T("TimezoneAbbriviations.Mountain Standard Time (Mexico)"); +///"MST" +public static string TimezoneAbbriviations_Mountain_Standard_Time=>T("TimezoneAbbriviations.Mountain Standard Time"); +///"CST" +public static string TimezoneAbbriviations_Central_America_Standard_Time=>T("TimezoneAbbriviations.Central America Standard Time"); +///"CST" +public static string TimezoneAbbriviations_Central_Standard_Time=>T("TimezoneAbbriviations.Central Standard Time"); +///"EASST" +public static string TimezoneAbbriviations_Easter_Island_Standard_Time=>T("TimezoneAbbriviations.Easter Island Standard Time"); +///"CST" +public static string TimezoneAbbriviations_Central_Standard_Time_Mexico=>T("TimezoneAbbriviations.Central Standard Time (Mexico)"); +///"CST" +public static string TimezoneAbbriviations_Canada_Central_Standard_Time=>T("TimezoneAbbriviations.Canada Central Standard Time"); +///"SAPST" +public static string TimezoneAbbriviations_SA_Pacific_Standard_Time=>T("TimezoneAbbriviations.SA Pacific Standard Time"); +///"EST" +public static string TimezoneAbbriviations_Eastern_Standard_Time_Mexico=>T("TimezoneAbbriviations.Eastern Standard Time (Mexico)"); +///"EST" +public static string TimezoneAbbriviations_Eastern_Standard_Time=>T("TimezoneAbbriviations.Eastern Standard Time"); +///"EST" +public static string TimezoneAbbriviations_Haiti_Standard_Time=>T("TimezoneAbbriviations.Haiti Standard Time"); +///"UTC-05" +public static string TimezoneAbbriviations_Cuba_Standard_Time=>T("TimezoneAbbriviations.Cuba Standard Time"); +///"EST" +public static string TimezoneAbbriviations_US_Eastern_Standard_Time=>T("TimezoneAbbriviations.US Eastern Standard Time"); +///"VET" +public static string TimezoneAbbriviations_Venezuela_Standard_Time=>T("TimezoneAbbriviations.Venezuela Standard Time"); +///"PYST" +public static string TimezoneAbbriviations_Paraguay_Standard_Time=>T("TimezoneAbbriviations.Paraguay Standard Time"); +///"AST" +public static string TimezoneAbbriviations_Atlantic_Standard_Time=>T("TimezoneAbbriviations.Atlantic Standard Time"); +///"AMST" +public static string TimezoneAbbriviations_Central_Brazilian_Standard_Time=>T("TimezoneAbbriviations.Central Brazilian Standard Time"); +///"SAWST" +public static string TimezoneAbbriviations_SA_Western_Standard_Time=>T("TimezoneAbbriviations.SA Western Standard Time"); +///"CLST" +public static string TimezoneAbbriviations_Pacific_SA_Standard_Time=>T("TimezoneAbbriviations.Pacific SA Standard Time"); +///"UTC-04" +public static string TimezoneAbbriviations_Turks_And_Caicos_Standard_Time=>T("TimezoneAbbriviations.Turks And Caicos Standard Time"); +///"NST" +public static string TimezoneAbbriviations_Newfoundland_Standard_Time=>T("TimezoneAbbriviations.Newfoundland Standard Time"); +///"UTC-03" +public static string TimezoneAbbriviations_Tocantins_Standard_Time=>T("TimezoneAbbriviations.Tocantins Standard Time"); +///"BRST" +public static string TimezoneAbbriviations_E__South_America_Standard_Time=>T("TimezoneAbbriviations.E. South America Standard Time"); +///"GFT" +public static string TimezoneAbbriviations_SA_Eastern_Standard_Time=>T("TimezoneAbbriviations.SA Eastern Standard Time"); +///"ART" +public static string TimezoneAbbriviations_Argentina_Standard_Time=>T("TimezoneAbbriviations.Argentina Standard Time"); +///"WGT" +public static string TimezoneAbbriviations_Greenland_Standard_Time=>T("TimezoneAbbriviations.Greenland Standard Time"); +///"UYT" +public static string TimezoneAbbriviations_Montevideo_Standard_Time=>T("TimezoneAbbriviations.Montevideo Standard Time"); +///"UTC-03" +public static string TimezoneAbbriviations_Saint_Pierre_Standard_Time=>T("TimezoneAbbriviations.Saint Pierre Standard Time"); +///"BRT" +public static string TimezoneAbbriviations_Bahia_Standard_Time=>T("TimezoneAbbriviations.Bahia Standard Time"); +///"Etc/GMT+2" +public static string TimezoneAbbriviations_UTC_02=>T("TimezoneAbbriviations.UTC-02"); +///"AST" +public static string TimezoneAbbriviations_Mid_Atlantic_Standard_Time=>T("TimezoneAbbriviations.Mid-Atlantic Standard Time"); +///"AZOT" +public static string TimezoneAbbriviations_Azores_Standard_Time=>T("TimezoneAbbriviations.Azores Standard Time"); +///"CVT" +public static string TimezoneAbbriviations_Cape_Verde_Standard_Time=>T("TimezoneAbbriviations.Cape Verde Standard Time"); +///"WET" +public static string TimezoneAbbriviations_Morocco_Standard_Time=>T("TimezoneAbbriviations.Morocco Standard Time"); +///"Etc/GMT" +public static string TimezoneAbbriviations_UTC=>T("TimezoneAbbriviations.UTC"); +///"GMT" +public static string TimezoneAbbriviations_GMT_Standard_Time=>T("TimezoneAbbriviations.GMT Standard Time"); +///"GMT" +public static string TimezoneAbbriviations_Greenwich_Standard_Time=>T("TimezoneAbbriviations.Greenwich Standard Time"); +///"CET" +public static string TimezoneAbbriviations_W__Europe_Standard_Time=>T("TimezoneAbbriviations.W. Europe Standard Time"); +///"CET" +public static string TimezoneAbbriviations_Central_Europe_Standard_Time=>T("TimezoneAbbriviations.Central Europe Standard Time"); +///"CET" +public static string TimezoneAbbriviations_Romance_Standard_Time=>T("TimezoneAbbriviations.Romance Standard Time"); +///"CET" +public static string TimezoneAbbriviations_Central_European_Standard_Time=>T("TimezoneAbbriviations.Central European Standard Time"); +///"WAT" +public static string TimezoneAbbriviations_W__Central_Africa_Standard_Time=>T("TimezoneAbbriviations.W. Central Africa Standard Time"); +///"WAST" +public static string TimezoneAbbriviations_Namibia_Standard_Time=>T("TimezoneAbbriviations.Namibia Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Jordan_Standard_Time=>T("TimezoneAbbriviations.Jordan Standard Time"); +///"EET" +public static string TimezoneAbbriviations_GTB_Standard_Time=>T("TimezoneAbbriviations.GTB Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Middle_East_Standard_Time=>T("TimezoneAbbriviations.Middle East Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Egypt_Standard_Time=>T("TimezoneAbbriviations.Egypt Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Syria_Standard_Time=>T("TimezoneAbbriviations.Syria Standard Time"); +///"EET" +public static string TimezoneAbbriviations_E__Europe_Standard_Time=>T("TimezoneAbbriviations.E. Europe Standard Time"); +///"UTC+02" +public static string TimezoneAbbriviations_West_Bank_Standard_Time=>T("TimezoneAbbriviations.West Bank Standard Time"); +///"SAST" +public static string TimezoneAbbriviations_South_Africa_Standard_Time=>T("TimezoneAbbriviations.South Africa Standard Time"); +///"EET" +public static string TimezoneAbbriviations_FLE_Standard_Time=>T("TimezoneAbbriviations.FLE Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Turkey_Standard_Time=>T("TimezoneAbbriviations.Turkey Standard Time"); +///"IST" +public static string TimezoneAbbriviations_Israel_Standard_Time=>T("TimezoneAbbriviations.Israel Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Kaliningrad_Standard_Time=>T("TimezoneAbbriviations.Kaliningrad Standard Time"); +///"EET" +public static string TimezoneAbbriviations_Libya_Standard_Time=>T("TimezoneAbbriviations.Libya Standard Time"); +///"AST" +public static string TimezoneAbbriviations_Arabic_Standard_Time=>T("TimezoneAbbriviations.Arabic Standard Time"); +///"AST" +public static string TimezoneAbbriviations_Arab_Standard_Time=>T("TimezoneAbbriviations.Arab Standard Time"); +///"MSK" +public static string TimezoneAbbriviations_Belarus_Standard_Time=>T("TimezoneAbbriviations.Belarus Standard Time"); +///"MSK" +public static string TimezoneAbbriviations_Russian_Standard_Time=>T("TimezoneAbbriviations.Russian Standard Time"); +///"EAT" +public static string TimezoneAbbriviations_E__Africa_Standard_Time=>T("TimezoneAbbriviations.E. Africa Standard Time"); +///"MSK" +public static string TimezoneAbbriviations_Astrakhan_Standard_Time=>T("TimezoneAbbriviations.Astrakhan Standard Time"); +///"IRST" +public static string TimezoneAbbriviations_Iran_Standard_Time=>T("TimezoneAbbriviations.Iran Standard Time"); +///"GST" +public static string TimezoneAbbriviations_Arabian_Standard_Time=>T("TimezoneAbbriviations.Arabian Standard Time"); +///"AZT" +public static string TimezoneAbbriviations_Azerbaijan_Standard_Time=>T("TimezoneAbbriviations.Azerbaijan Standard Time"); +///"SAMT" +public static string TimezoneAbbriviations_Russia_Time_Zone_3=>T("TimezoneAbbriviations.Russia Time Zone 3"); +///"MUT" +public static string TimezoneAbbriviations_Mauritius_Standard_Time=>T("TimezoneAbbriviations.Mauritius Standard Time"); +///"GET" +public static string TimezoneAbbriviations_Georgian_Standard_Time=>T("TimezoneAbbriviations.Georgian Standard Time"); +///"AMT" +public static string TimezoneAbbriviations_Caucasus_Standard_Time=>T("TimezoneAbbriviations.Caucasus Standard Time"); +///"AFT" +public static string TimezoneAbbriviations_Afghanistan_Standard_Time=>T("TimezoneAbbriviations.Afghanistan Standard Time"); +///"UZT" +public static string TimezoneAbbriviations_West_Asia_Standard_Time=>T("TimezoneAbbriviations.West Asia Standard Time"); +///"YEKT" +public static string TimezoneAbbriviations_Ekaterinburg_Standard_Time=>T("TimezoneAbbriviations.Ekaterinburg Standard Time"); +///"PKT" +public static string TimezoneAbbriviations_Pakistan_Standard_Time=>T("TimezoneAbbriviations.Pakistan Standard Time"); +///"IST" +public static string TimezoneAbbriviations_India_Standard_Time=>T("TimezoneAbbriviations.India Standard Time"); +///"IST" +public static string TimezoneAbbriviations_Sri_Lanka_Standard_Time=>T("TimezoneAbbriviations.Sri Lanka Standard Time"); +///"NPT" +public static string TimezoneAbbriviations_Nepal_Standard_Time=>T("TimezoneAbbriviations.Nepal Standard Time"); +///"ALMT" +public static string TimezoneAbbriviations_Central_Asia_Standard_Time=>T("TimezoneAbbriviations.Central Asia Standard Time"); +///"BDT" +public static string TimezoneAbbriviations_Bangladesh_Standard_Time=>T("TimezoneAbbriviations.Bangladesh Standard Time"); +///"NOVT" +public static string TimezoneAbbriviations_N__Central_Asia_Standard_Time=>T("TimezoneAbbriviations.N. Central Asia Standard Time"); +///"MSK+3" +public static string TimezoneAbbriviations_Altai_Standard_Time=>T("TimezoneAbbriviations.Altai Standard Time"); +///"MMT" +public static string TimezoneAbbriviations_Myanmar_Standard_Time=>T("TimezoneAbbriviations.Myanmar Standard Time"); +///"ICT" +public static string TimezoneAbbriviations_SE_Asia_Standard_Time=>T("TimezoneAbbriviations.SE Asia Standard Time"); +///"UTC+07" +public static string TimezoneAbbriviations_W__Mongolia_Standard_Time=>T("TimezoneAbbriviations.W. Mongolia Standard Time"); +///"KRAT" +public static string TimezoneAbbriviations_North_Asia_Standard_Time=>T("TimezoneAbbriviations.North Asia Standard Time"); +///"UTC+07" +public static string TimezoneAbbriviations_Tomsk_Standard_Time=>T("TimezoneAbbriviations.Tomsk Standard Time"); +///"CST" +public static string TimezoneAbbriviations_China_Standard_Time=>T("TimezoneAbbriviations.China Standard Time"); +///"IRKT" +public static string TimezoneAbbriviations_North_Asia_East_Standard_Time=>T("TimezoneAbbriviations.North Asia East Standard Time"); +///"SGT" +public static string TimezoneAbbriviations_Singapore_Standard_Time=>T("TimezoneAbbriviations.Singapore Standard Time"); +///"AWST" +public static string TimezoneAbbriviations_W__Australia_Standard_Time=>T("TimezoneAbbriviations.W. Australia Standard Time"); +///"CST" +public static string TimezoneAbbriviations_Taipei_Standard_Time=>T("TimezoneAbbriviations.Taipei Standard Time"); +///"ULAT" +public static string TimezoneAbbriviations_Ulaanbaatar_Standard_Time=>T("TimezoneAbbriviations.Ulaanbaatar Standard Time"); +///"KST" +public static string TimezoneAbbriviations_North_Korea_Standard_Time=>T("TimezoneAbbriviations.North Korea Standard Time"); +///"UTC+09" +public static string TimezoneAbbriviations_Transbaikal_Standard_Time=>T("TimezoneAbbriviations.Transbaikal Standard Time"); +///"JST" +public static string TimezoneAbbriviations_Tokyo_Standard_Time=>T("TimezoneAbbriviations.Tokyo Standard Time"); +///"KST" +public static string TimezoneAbbriviations_Korea_Standard_Time=>T("TimezoneAbbriviations.Korea Standard Time"); +///"YAKT" +public static string TimezoneAbbriviations_Yakutsk_Standard_Time=>T("TimezoneAbbriviations.Yakutsk Standard Time"); +///"ACDT" +public static string TimezoneAbbriviations_Cen__Australia_Standard_Time=>T("TimezoneAbbriviations.Cen. Australia Standard Time"); +///"ACST" +public static string TimezoneAbbriviations_AUS_Central_Standard_Time=>T("TimezoneAbbriviations.AUS Central Standard Time"); +///"AEST" +public static string TimezoneAbbriviations_E__Australia_Standard_Time=>T("TimezoneAbbriviations.E. Australia Standard Time"); +///"AEDT" +public static string TimezoneAbbriviations_AUS_Eastern_Standard_Time=>T("TimezoneAbbriviations.AUS Eastern Standard Time"); +///"PGT" +public static string TimezoneAbbriviations_West_Pacific_Standard_Time=>T("TimezoneAbbriviations.West Pacific Standard Time"); +///"AEDT" +public static string TimezoneAbbriviations_Tasmania_Standard_Time=>T("TimezoneAbbriviations.Tasmania Standard Time"); +///"MAGT" +public static string TimezoneAbbriviations_Magadan_Standard_Time=>T("TimezoneAbbriviations.Magadan Standard Time"); +///"VLAT" +public static string TimezoneAbbriviations_Vladivostok_Standard_Time=>T("TimezoneAbbriviations.Vladivostok Standard Time"); +///"SRET" +public static string TimezoneAbbriviations_Russia_Time_Zone_10=>T("TimezoneAbbriviations.Russia Time Zone 10"); +///"UTC+11" +public static string TimezoneAbbriviations_Norfolk_Standard_Time=>T("TimezoneAbbriviations.Norfolk Standard Time"); +///"UTC+11" +public static string TimezoneAbbriviations_Sakhalin_Standard_Time=>T("TimezoneAbbriviations.Sakhalin Standard Time"); +///"SBT" +public static string TimezoneAbbriviations_Central_Pacific_Standard_Time=>T("TimezoneAbbriviations.Central Pacific Standard Time"); +///"PETT" +public static string TimezoneAbbriviations_Russia_Time_Zone_11=>T("TimezoneAbbriviations.Russia Time Zone 11"); +///"NZDT" +public static string TimezoneAbbriviations_New_Zealand_Standard_Time=>T("TimezoneAbbriviations.New Zealand Standard Time"); +///"Etc/GMT-12" +public static string TimezoneAbbriviations_UTC12=>T("TimezoneAbbriviations.UTC+12"); +///"FJST" +public static string TimezoneAbbriviations_Fiji_Standard_Time=>T("TimezoneAbbriviations.Fiji Standard Time"); +///"PETT" +public static string TimezoneAbbriviations_Kamchatka_Standard_Time=>T("TimezoneAbbriviations.Kamchatka Standard Time"); +///"CHAST" +public static string TimezoneAbbriviations_Chatham_Islands_Standard_Time=>T("TimezoneAbbriviations.Chatham Islands Standard Time"); +///"TOT" +public static string TimezoneAbbriviations_Tonga_Standard_Time=>T("TimezoneAbbriviations.Tonga Standard Time"); +///"WSDT" +public static string TimezoneAbbriviations_Samoa_Standard_Time=>T("TimezoneAbbriviations.Samoa Standard Time"); +///"LINT" +public static string TimezoneAbbriviations_Line_Islands_Standard_Time=>T("TimezoneAbbriviations.Line Islands Standard Time"); + private static string T(string key) + { + return StringResourceSystemFacade.GetString("Composite.Plugins.TimezoneAbbriviations", key); + } +} + + /// + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + public static class Composite_Plugins_TimezoneDisplayNames { +///"(UTC-12:00) International Date Line West" +public static string TimezoneDisplayName_Dateline_Standard_Time=>T("TimezoneDisplayName.Dateline Standard Time"); +///"(UTC-11:00) Coordinated Universal Time-11" +public static string TimezoneDisplayName_UTC_11=>T("TimezoneDisplayName.UTC-11"); +///"(UTC-10:00) Aleutian Islands" +public static string TimezoneDisplayName_Aleutian_Standard_Time=>T("TimezoneDisplayName.Aleutian Standard Time"); +///"(UTC-10:00) Hawaii" +public static string TimezoneDisplayName_Hawaiian_Standard_Time=>T("TimezoneDisplayName.Hawaiian Standard Time"); +///"(UTC-09:30) Marquesas Islands" +public static string TimezoneDisplayName_Marquesas_Standard_Time=>T("TimezoneDisplayName.Marquesas Standard Time"); +///"(UTC-09:00) Alaska" +public static string TimezoneDisplayName_Alaskan_Standard_Time=>T("TimezoneDisplayName.Alaskan Standard Time"); +///"(UTC-09:00) Coordinated Universal Time-09" +public static string TimezoneDisplayName_UTC_09=>T("TimezoneDisplayName.UTC-09"); +///"(UTC-08:00) Baja California" +public static string TimezoneDisplayName_Pacific_Standard_Time_Mexico=>T("TimezoneDisplayName.Pacific Standard Time (Mexico)"); +///"(UTC-08:00) Coordinated Universal Time-08" +public static string TimezoneDisplayName_UTC_08=>T("TimezoneDisplayName.UTC-08"); +///"(UTC-08:00) Pacific Time (US & Canada)" +public static string TimezoneDisplayName_Pacific_Standard_Time=>T("TimezoneDisplayName.Pacific Standard Time"); +///"(UTC-07:00) Arizona" +public static string TimezoneDisplayName_US_Mountain_Standard_Time=>T("TimezoneDisplayName.US Mountain Standard Time"); +///"(UTC-07:00) Chihuahua, La Paz, Mazatlan" +public static string TimezoneDisplayName_Mountain_Standard_Time_Mexico=>T("TimezoneDisplayName.Mountain Standard Time (Mexico)"); +///"(UTC-07:00) Mountain Time (US & Canada)" +public static string TimezoneDisplayName_Mountain_Standard_Time=>T("TimezoneDisplayName.Mountain Standard Time"); +///"(UTC-06:00) Central America" +public static string TimezoneDisplayName_Central_America_Standard_Time=>T("TimezoneDisplayName.Central America Standard Time"); +///"(UTC-06:00) Central Time (US & Canada)" +public static string TimezoneDisplayName_Central_Standard_Time=>T("TimezoneDisplayName.Central Standard Time"); +///"(UTC-06:00) Easter Island" +public static string TimezoneDisplayName_Easter_Island_Standard_Time=>T("TimezoneDisplayName.Easter Island Standard Time"); +///"(UTC-06:00) Guadalajara, Mexico City, Monterrey" +public static string TimezoneDisplayName_Central_Standard_Time_Mexico=>T("TimezoneDisplayName.Central Standard Time (Mexico)"); +///"(UTC-06:00) Saskatchewan" +public static string TimezoneDisplayName_Canada_Central_Standard_Time=>T("TimezoneDisplayName.Canada Central Standard Time"); +///"(UTC-05:00) Bogota, Lima, Quito, Rio Branco" +public static string TimezoneDisplayName_SA_Pacific_Standard_Time=>T("TimezoneDisplayName.SA Pacific Standard Time"); +///"(UTC-05:00) Chetumal" +public static string TimezoneDisplayName_Eastern_Standard_Time_Mexico=>T("TimezoneDisplayName.Eastern Standard Time (Mexico)"); +///"(UTC-05:00) Eastern Time (US & Canada)" +public static string TimezoneDisplayName_Eastern_Standard_Time=>T("TimezoneDisplayName.Eastern Standard Time"); +///"(UTC-05:00) Haiti" +public static string TimezoneDisplayName_Haiti_Standard_Time=>T("TimezoneDisplayName.Haiti Standard Time"); +///"(UTC-05:00) Havana" +public static string TimezoneDisplayName_Cuba_Standard_Time=>T("TimezoneDisplayName.Cuba Standard Time"); +///"(UTC-05:00) Indiana (East)" +public static string TimezoneDisplayName_US_Eastern_Standard_Time=>T("TimezoneDisplayName.US Eastern Standard Time"); +///"(UTC-04:00) Asuncion" +public static string TimezoneDisplayName_Paraguay_Standard_Time=>T("TimezoneDisplayName.Paraguay Standard Time"); +///"(UTC-04:00) Atlantic Time (Canada)" +public static string TimezoneDisplayName_Atlantic_Standard_Time=>T("TimezoneDisplayName.Atlantic Standard Time"); +///"(UTC-04:00) Caracas" +public static string TimezoneDisplayName_Venezuela_Standard_Time=>T("TimezoneDisplayName.Venezuela Standard Time"); +///"(UTC-04:00) Cuiaba" +public static string TimezoneDisplayName_Central_Brazilian_Standard_Time=>T("TimezoneDisplayName.Central Brazilian Standard Time"); +///"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan" +public static string TimezoneDisplayName_SA_Western_Standard_Time=>T("TimezoneDisplayName.SA Western Standard Time"); +///"(UTC-04:00) Santiago" +public static string TimezoneDisplayName_Pacific_SA_Standard_Time=>T("TimezoneDisplayName.Pacific SA Standard Time"); +///"(UTC-04:00) Turks and Caicos" +public static string TimezoneDisplayName_Turks_And_Caicos_Standard_Time=>T("TimezoneDisplayName.Turks And Caicos Standard Time"); +///"(UTC-03:30) Newfoundland" +public static string TimezoneDisplayName_Newfoundland_Standard_Time=>T("TimezoneDisplayName.Newfoundland Standard Time"); +///"(UTC-03:00) Araguaina" +public static string TimezoneDisplayName_Tocantins_Standard_Time=>T("TimezoneDisplayName.Tocantins Standard Time"); +///"(UTC-03:00) Brasilia" +public static string TimezoneDisplayName_E__South_America_Standard_Time=>T("TimezoneDisplayName.E. South America Standard Time"); +///"(UTC-03:00) Cayenne, Fortaleza" +public static string TimezoneDisplayName_SA_Eastern_Standard_Time=>T("TimezoneDisplayName.SA Eastern Standard Time"); +///"(UTC-03:00) City of Buenos Aires" +public static string TimezoneDisplayName_Argentina_Standard_Time=>T("TimezoneDisplayName.Argentina Standard Time"); +///"(UTC-03:00) Greenland" +public static string TimezoneDisplayName_Greenland_Standard_Time=>T("TimezoneDisplayName.Greenland Standard Time"); +///"(UTC-03:00) Montevideo" +public static string TimezoneDisplayName_Montevideo_Standard_Time=>T("TimezoneDisplayName.Montevideo Standard Time"); +///"(UTC-03:00) Saint Pierre and Miquelon" +public static string TimezoneDisplayName_Saint_Pierre_Standard_Time=>T("TimezoneDisplayName.Saint Pierre Standard Time"); +///"(UTC-03:00) Salvador" +public static string TimezoneDisplayName_Bahia_Standard_Time=>T("TimezoneDisplayName.Bahia Standard Time"); +///"(UTC-02:00) Coordinated Universal Time-02" +public static string TimezoneDisplayName_UTC_02=>T("TimezoneDisplayName.UTC-02"); +///"(UTC-02:00) Mid-Atlantic - Old" +public static string TimezoneDisplayName_Mid_Atlantic_Standard_Time=>T("TimezoneDisplayName.Mid-Atlantic Standard Time"); +///"(UTC-01:00) Azores" +public static string TimezoneDisplayName_Azores_Standard_Time=>T("TimezoneDisplayName.Azores Standard Time"); +///"(UTC-01:00) Cabo Verde Is." +public static string TimezoneDisplayName_Cape_Verde_Standard_Time=>T("TimezoneDisplayName.Cape Verde Standard Time"); +///"(UTC) Coordinated Universal Time" +public static string TimezoneDisplayName_UTC=>T("TimezoneDisplayName.UTC"); +///"(UTC+00:00) Casablanca" +public static string TimezoneDisplayName_Morocco_Standard_Time=>T("TimezoneDisplayName.Morocco Standard Time"); +///"(UTC+00:00) Dublin, Edinburgh, Lisbon, London" +public static string TimezoneDisplayName_GMT_Standard_Time=>T("TimezoneDisplayName.GMT Standard Time"); +///"(UTC+00:00) Monrovia, Reykjavik" +public static string TimezoneDisplayName_Greenwich_Standard_Time=>T("TimezoneDisplayName.Greenwich Standard Time"); +///"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna" +public static string TimezoneDisplayName_W__Europe_Standard_Time=>T("TimezoneDisplayName.W. Europe Standard Time"); +///"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague" +public static string TimezoneDisplayName_Central_Europe_Standard_Time=>T("TimezoneDisplayName.Central Europe Standard Time"); +///"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris" +public static string TimezoneDisplayName_Romance_Standard_Time=>T("TimezoneDisplayName.Romance Standard Time"); +///"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb" +public static string TimezoneDisplayName_Central_European_Standard_Time=>T("TimezoneDisplayName.Central European Standard Time"); +///"(UTC+01:00) West Central Africa" +public static string TimezoneDisplayName_W__Central_Africa_Standard_Time=>T("TimezoneDisplayName.W. Central Africa Standard Time"); +///"(UTC+01:00) Windhoek" +public static string TimezoneDisplayName_Namibia_Standard_Time=>T("TimezoneDisplayName.Namibia Standard Time"); +///"(UTC+02:00) Amman" +public static string TimezoneDisplayName_Jordan_Standard_Time=>T("TimezoneDisplayName.Jordan Standard Time"); +///"(UTC+02:00) Athens, Bucharest" +public static string TimezoneDisplayName_GTB_Standard_Time=>T("TimezoneDisplayName.GTB Standard Time"); +///"(UTC+02:00) Beirut" +public static string TimezoneDisplayName_Middle_East_Standard_Time=>T("TimezoneDisplayName.Middle East Standard Time"); +///"(UTC+02:00) Cairo" +public static string TimezoneDisplayName_Egypt_Standard_Time=>T("TimezoneDisplayName.Egypt Standard Time"); +///"(UTC+02:00) Chisinau" +public static string TimezoneDisplayName_E__Europe_Standard_Time=>T("TimezoneDisplayName.E. Europe Standard Time"); +///"(UTC+02:00) Damascus" +public static string TimezoneDisplayName_Syria_Standard_Time=>T("TimezoneDisplayName.Syria Standard Time"); +///"(UTC+02:00) Gaza, Hebron" +public static string TimezoneDisplayName_West_Bank_Standard_Time=>T("TimezoneDisplayName.West Bank Standard Time"); +///"(UTC+02:00) Harare, Pretoria" +public static string TimezoneDisplayName_South_Africa_Standard_Time=>T("TimezoneDisplayName.South Africa Standard Time"); +///"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius" +public static string TimezoneDisplayName_FLE_Standard_Time=>T("TimezoneDisplayName.FLE Standard Time"); +///"(UTC+02:00) Istanbul" +public static string TimezoneDisplayName_Turkey_Standard_Time=>T("TimezoneDisplayName.Turkey Standard Time"); +///"(UTC+02:00) Jerusalem" +public static string TimezoneDisplayName_Israel_Standard_Time=>T("TimezoneDisplayName.Israel Standard Time"); +///"(UTC+02:00) Kaliningrad" +public static string TimezoneDisplayName_Kaliningrad_Standard_Time=>T("TimezoneDisplayName.Kaliningrad Standard Time"); +///"(UTC+02:00) Tripoli" +public static string TimezoneDisplayName_Libya_Standard_Time=>T("TimezoneDisplayName.Libya Standard Time"); +///"(UTC+03:00) Baghdad" +public static string TimezoneDisplayName_Arabic_Standard_Time=>T("TimezoneDisplayName.Arabic Standard Time"); +///"(UTC+03:00) Kuwait, Riyadh" +public static string TimezoneDisplayName_Arab_Standard_Time=>T("TimezoneDisplayName.Arab Standard Time"); +///"(UTC+03:00) Minsk" +public static string TimezoneDisplayName_Belarus_Standard_Time=>T("TimezoneDisplayName.Belarus Standard Time"); +///"(UTC+03:00) Moscow, St. Petersburg, Volgograd" +public static string TimezoneDisplayName_Russian_Standard_Time=>T("TimezoneDisplayName.Russian Standard Time"); +///"(UTC+03:00) Nairobi" +public static string TimezoneDisplayName_E__Africa_Standard_Time=>T("TimezoneDisplayName.E. Africa Standard Time"); +///"(UTC+03:30) Tehran" +public static string TimezoneDisplayName_Iran_Standard_Time=>T("TimezoneDisplayName.Iran Standard Time"); +///"(UTC+04:00) Abu Dhabi, Muscat" +public static string TimezoneDisplayName_Arabian_Standard_Time=>T("TimezoneDisplayName.Arabian Standard Time"); +///"(UTC+04:00) Astrakhan, Ulyanovsk" +public static string TimezoneDisplayName_Astrakhan_Standard_Time=>T("TimezoneDisplayName.Astrakhan Standard Time"); +///"(UTC+04:00) Baku" +public static string TimezoneDisplayName_Azerbaijan_Standard_Time=>T("TimezoneDisplayName.Azerbaijan Standard Time"); +///"(UTC+04:00) Izhevsk, Samara" +public static string TimezoneDisplayName_Russia_Time_Zone_3=>T("TimezoneDisplayName.Russia Time Zone 3"); +///"(UTC+04:00) Port Louis" +public static string TimezoneDisplayName_Mauritius_Standard_Time=>T("TimezoneDisplayName.Mauritius Standard Time"); +///"(UTC+04:00) Tbilisi" +public static string TimezoneDisplayName_Georgian_Standard_Time=>T("TimezoneDisplayName.Georgian Standard Time"); +///"(UTC+04:00) Yerevan" +public static string TimezoneDisplayName_Caucasus_Standard_Time=>T("TimezoneDisplayName.Caucasus Standard Time"); +///"(UTC+04:30) Kabul" +public static string TimezoneDisplayName_Afghanistan_Standard_Time=>T("TimezoneDisplayName.Afghanistan Standard Time"); +///"(UTC+05:00) Ashgabat, Tashkent" +public static string TimezoneDisplayName_West_Asia_Standard_Time=>T("TimezoneDisplayName.West Asia Standard Time"); +///"(UTC+05:00) Ekaterinburg" +public static string TimezoneDisplayName_Ekaterinburg_Standard_Time=>T("TimezoneDisplayName.Ekaterinburg Standard Time"); +///"(UTC+05:00) Islamabad, Karachi" +public static string TimezoneDisplayName_Pakistan_Standard_Time=>T("TimezoneDisplayName.Pakistan Standard Time"); +///"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi" +public static string TimezoneDisplayName_India_Standard_Time=>T("TimezoneDisplayName.India Standard Time"); +///"(UTC+05:30) Sri Jayawardenepura" +public static string TimezoneDisplayName_Sri_Lanka_Standard_Time=>T("TimezoneDisplayName.Sri Lanka Standard Time"); +///"(UTC+05:45) Kathmandu" +public static string TimezoneDisplayName_Nepal_Standard_Time=>T("TimezoneDisplayName.Nepal Standard Time"); +///"(UTC+06:00) Astana" +public static string TimezoneDisplayName_Central_Asia_Standard_Time=>T("TimezoneDisplayName.Central Asia Standard Time"); +///"(UTC+06:00) Dhaka" +public static string TimezoneDisplayName_Bangladesh_Standard_Time=>T("TimezoneDisplayName.Bangladesh Standard Time"); +///"(UTC+06:00) Novosibirsk" +public static string TimezoneDisplayName_N__Central_Asia_Standard_Time=>T("TimezoneDisplayName.N. Central Asia Standard Time"); +///"(UTC+06:30) Yangon (Rangoon)" +public static string TimezoneDisplayName_Myanmar_Standard_Time=>T("TimezoneDisplayName.Myanmar Standard Time"); +///"(UTC+07:00) Bangkok, Hanoi, Jakarta" +public static string TimezoneDisplayName_SE_Asia_Standard_Time=>T("TimezoneDisplayName.SE Asia Standard Time"); +///"(UTC+07:00) Barnaul, Gorno-Altaysk" +public static string TimezoneDisplayName_Altai_Standard_Time=>T("TimezoneDisplayName.Altai Standard Time"); +///"(UTC+07:00) Hovd" +public static string TimezoneDisplayName_W__Mongolia_Standard_Time=>T("TimezoneDisplayName.W. Mongolia Standard Time"); +///"(UTC+07:00) Krasnoyarsk" +public static string TimezoneDisplayName_North_Asia_Standard_Time=>T("TimezoneDisplayName.North Asia Standard Time"); +///"(UTC+07:00) Tomsk" +public static string TimezoneDisplayName_Tomsk_Standard_Time=>T("TimezoneDisplayName.Tomsk Standard Time"); +///"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi" +public static string TimezoneDisplayName_China_Standard_Time=>T("TimezoneDisplayName.China Standard Time"); +///"(UTC+08:00) Irkutsk" +public static string TimezoneDisplayName_North_Asia_East_Standard_Time=>T("TimezoneDisplayName.North Asia East Standard Time"); +///"(UTC+08:00) Kuala Lumpur, Singapore" +public static string TimezoneDisplayName_Singapore_Standard_Time=>T("TimezoneDisplayName.Singapore Standard Time"); +///"(UTC+08:00) Perth" +public static string TimezoneDisplayName_W__Australia_Standard_Time=>T("TimezoneDisplayName.W. Australia Standard Time"); +///"(UTC+08:00) Taipei" +public static string TimezoneDisplayName_Taipei_Standard_Time=>T("TimezoneDisplayName.Taipei Standard Time"); +///"(UTC+08:00) Ulaanbaatar" +public static string TimezoneDisplayName_Ulaanbaatar_Standard_Time=>T("TimezoneDisplayName.Ulaanbaatar Standard Time"); +///"(UTC+08:30) Pyongyang" +public static string TimezoneDisplayName_North_Korea_Standard_Time=>T("TimezoneDisplayName.North Korea Standard Time"); +///"(UTC+08:45) Eucla" +public static string TimezoneDisplayName_Aus_Central_W__Standard_Time=>T("TimezoneDisplayName.Aus Central W. Standard Time"); +///"(UTC+09:00) Chita" +public static string TimezoneDisplayName_Transbaikal_Standard_Time=>T("TimezoneDisplayName.Transbaikal Standard Time"); +///"(UTC+09:00) Osaka, Sapporo, Tokyo" +public static string TimezoneDisplayName_Tokyo_Standard_Time=>T("TimezoneDisplayName.Tokyo Standard Time"); +///"(UTC+09:00) Seoul" +public static string TimezoneDisplayName_Korea_Standard_Time=>T("TimezoneDisplayName.Korea Standard Time"); +///"(UTC+09:00) Yakutsk" +public static string TimezoneDisplayName_Yakutsk_Standard_Time=>T("TimezoneDisplayName.Yakutsk Standard Time"); +///"(UTC+09:30) Adelaide" +public static string TimezoneDisplayName_Cen__Australia_Standard_Time=>T("TimezoneDisplayName.Cen. Australia Standard Time"); +///"(UTC+09:30) Darwin" +public static string TimezoneDisplayName_AUS_Central_Standard_Time=>T("TimezoneDisplayName.AUS Central Standard Time"); +///"(UTC+10:00) Brisbane" +public static string TimezoneDisplayName_E__Australia_Standard_Time=>T("TimezoneDisplayName.E. Australia Standard Time"); +///"(UTC+10:00) Canberra, Melbourne, Sydney" +public static string TimezoneDisplayName_AUS_Eastern_Standard_Time=>T("TimezoneDisplayName.AUS Eastern Standard Time"); +///"(UTC+10:00) Guam, Port Moresby" +public static string TimezoneDisplayName_West_Pacific_Standard_Time=>T("TimezoneDisplayName.West Pacific Standard Time"); +///"(UTC+10:00) Hobart" +public static string TimezoneDisplayName_Tasmania_Standard_Time=>T("TimezoneDisplayName.Tasmania Standard Time"); +///"(UTC+10:00) Vladivostok" +public static string TimezoneDisplayName_Vladivostok_Standard_Time=>T("TimezoneDisplayName.Vladivostok Standard Time"); +///"(UTC+10:30) Lord Howe Island" +public static string TimezoneDisplayName_Lord_Howe_Standard_Time=>T("TimezoneDisplayName.Lord Howe Standard Time"); +///"(UTC+11:00) Bougainville Island" +public static string TimezoneDisplayName_Bougainville_Standard_Time=>T("TimezoneDisplayName.Bougainville Standard Time"); +///"(UTC+11:00) Chokurdakh" +public static string TimezoneDisplayName_Russia_Time_Zone_10=>T("TimezoneDisplayName.Russia Time Zone 10"); +///"(UTC+11:00) Magadan" +public static string TimezoneDisplayName_Magadan_Standard_Time=>T("TimezoneDisplayName.Magadan Standard Time"); +///"(UTC+11:00) Norfolk Island" +public static string TimezoneDisplayName_Norfolk_Standard_Time=>T("TimezoneDisplayName.Norfolk Standard Time"); +///"(UTC+11:00) Sakhalin" +public static string TimezoneDisplayName_Sakhalin_Standard_Time=>T("TimezoneDisplayName.Sakhalin Standard Time"); +///"(UTC+11:00) Solomon Is., New Caledonia" +public static string TimezoneDisplayName_Central_Pacific_Standard_Time=>T("TimezoneDisplayName.Central Pacific Standard Time"); +///"(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky" +public static string TimezoneDisplayName_Russia_Time_Zone_11=>T("TimezoneDisplayName.Russia Time Zone 11"); +///"(UTC+12:00) Auckland, Wellington" +public static string TimezoneDisplayName_New_Zealand_Standard_Time=>T("TimezoneDisplayName.New Zealand Standard Time"); +///"(UTC+12:00) Coordinated Universal Time+12" +public static string TimezoneDisplayName_UTC12=>T("TimezoneDisplayName.UTC+12"); +///"(UTC+12:00) Fiji" +public static string TimezoneDisplayName_Fiji_Standard_Time=>T("TimezoneDisplayName.Fiji Standard Time"); +///"(UTC+12:00) Petropavlovsk-Kamchatsky - Old" +public static string TimezoneDisplayName_Kamchatka_Standard_Time=>T("TimezoneDisplayName.Kamchatka Standard Time"); +///"(UTC+12:45) Chatham Islands" +public static string TimezoneDisplayName_Chatham_Islands_Standard_Time=>T("TimezoneDisplayName.Chatham Islands Standard Time"); +///"(UTC+13:00) Nuku'alofa" +public static string TimezoneDisplayName_Tonga_Standard_Time=>T("TimezoneDisplayName.Tonga Standard Time"); +///"(UTC+13:00) Samoa" +public static string TimezoneDisplayName_Samoa_Standard_Time=>T("TimezoneDisplayName.Samoa Standard Time"); +///"(UTC+14:00) Kiritimati Island" +public static string TimezoneDisplayName_Line_Islands_Standard_Time=>T("TimezoneDisplayName.Line Islands Standard Time"); + private static string T(string key) + { + return StringResourceSystemFacade.GetString("Composite.Plugins.TimezoneDisplayNames", key); + } +} + /// [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] public static class Composite_Plugins_UserControlFunction { diff --git a/Composite/Core/ResourceSystem/LocalizationFiles.tt b/Composite/Core/ResourceSystem/LocalizationFiles.tt index 843187a5de..657f862757 100644 --- a/Composite/Core/ResourceSystem/LocalizationFiles.tt +++ b/Composite/Core/ResourceSystem/LocalizationFiles.tt @@ -99,7 +99,7 @@ namespace Composite.Core.ResourceSystem string key = keyAttr.Value; string value = valueAttr.Value; - string propertyName = key.Replace(".", "_").Replace("-", "_"); + string propertyName = key.Replace(".", "_").Replace("-", "_").Replace(" ", "_").Replace("(", "").Replace(")", "").Replace("+", ""); if (char.IsDigit(propertyName[0])) propertyName = "_" + propertyName; int parametersCount = 0; diff --git a/Composite/Plugins/Elements/ElementProviders/VirtualElementProvider/VirtualElementProvider.cs b/Composite/Plugins/Elements/ElementProviders/VirtualElementProvider/VirtualElementProvider.cs index 01dc600bf4..3f24527ca2 100644 --- a/Composite/Plugins/Elements/ElementProviders/VirtualElementProvider/VirtualElementProvider.cs +++ b/Composite/Plugins/Elements/ElementProviders/VirtualElementProvider/VirtualElementProvider.cs @@ -207,11 +207,34 @@ private void AddRootActions(Element element) ActionType = ActionType.Other, IsInFolder = false, IsInToolbar = false, - ActionGroup = PrimaryActionGroup + ActionGroup = PrimaryActionGroup, + ActionBundle = StringResourceSystemFacade.GetString("Composite.Management", "VirtualElementProviderElementProvider.RootActions.GlobalSetting") } } }); + element.AddAction( + new ElementAction( + new ActionHandle( + new WorkflowActionToken( + WorkflowFacade.GetWorkflowType("Composite.C1Console.Tools.SetTimeZoneWorkflow")))) + { + VisualData = new ActionVisualizedData + { + Label = StringResourceSystemFacade.GetString("Composite.Management", "VirtualElementProviderElementProvider.RootActions.SetTimezoneLabel"), + ToolTip = StringResourceSystemFacade.GetString("Composite.Management", "VirtualElementProviderElementProvider.RootActions.SetTimezoneTooltip"), + Icon = VirtualElementProvider.ChangeOwnCultureIcon, + Disabled = false, + ActionLocation = new ActionLocation + { + ActionType = ActionType.Other, + IsInFolder = false, + IsInToolbar = false, + ActionGroup = PrimaryActionGroup, + ActionBundle = StringResourceSystemFacade.GetString("Composite.Management", "VirtualElementProviderElementProvider.RootActions.GlobalSetting") + } + } + }); element.AddAction(new ElementAction(new ActionHandle(new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.C1Console.Tools.SendMessageToConsolesWorkflow")))) { @@ -230,8 +253,9 @@ private void AddRootActions(Element element) } } }); - - + + + element.AddAction(new ElementAction(new ActionHandle(new RestartApplicationActionToken())) { VisualData = new ActionVisualizedData diff --git a/Composite/Plugins/GlobalSettings/GlobalSettingsProviders/ConfigBasedGlobalSettingsProvider.cs b/Composite/Plugins/GlobalSettings/GlobalSettingsProviders/ConfigBasedGlobalSettingsProvider.cs index 4aaa88c82d..3e3a1dd824 100644 --- a/Composite/Plugins/GlobalSettings/GlobalSettingsProviders/ConfigBasedGlobalSettingsProvider.cs +++ b/Composite/Plugins/GlobalSettings/GlobalSettingsProviders/ConfigBasedGlobalSettingsProvider.cs @@ -4,6 +4,7 @@ using Composite.Core.Configuration; using Composite.Core.Configuration.Plugins.GlobalSettingsProvider; +using Composite.Core.Extensions; using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder; using Microsoft.Practices.ObjectBuilder; @@ -239,6 +240,8 @@ public bool PrettifyRenderFunctionExceptions } public bool FunctionPreviewEnabled => _configurationData.FunctionPreviewEnabled; + + public TimeZoneInfo TimeZone => TimeZoneInfo.FindSystemTimeZoneById(_configurationData.TimeZone.IsNullOrEmpty()?TimeZoneInfo.Local.Id: _configurationData.TimeZone); } internal class ConfigCachingSettings: ICachingSettings @@ -677,6 +680,16 @@ public bool FunctionPreviewEnabled get { return (bool)base[_functionPreviewEnabledPropertyName]; } set { base[_functionPreviewEnabledPropertyName] = value; } } + + private const string TimeZonePropertyName = "timezone"; + [ConfigurationProperty(TimeZonePropertyName, DefaultValue = null)] + public string TimeZone { + get + { + return (string)base[TimeZonePropertyName]; + } + set { base[TimeZonePropertyName] = value; } + } } diff --git a/CompositeC1.sln b/CompositeC1.sln index afc4b1b23c..146a7c7dd2 100644 --- a/CompositeC1.sln +++ b/CompositeC1.sln @@ -4,9 +4,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 14.0.25123.0 MinimumVisualStudioVersion = 14.0.0.0 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{44113BBC-CB18-41CF-AB26-6D190BA4E117}" - ProjectSection(SolutionItems) = preProject - LocalTestRun.testrunconfig = LocalTestRun.testrunconfig - EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebSite", "Website\WebSite.csproj", "{D0A3D7D5-1D1F-40BC-89C1-93CDCEDF262C}" EndProject diff --git a/Website/Composite/content/forms/Administrative/SetTimeZone_select.xml b/Website/Composite/content/forms/Administrative/SetTimeZone_select.xml new file mode 100644 index 0000000000..e01c482973 --- /dev/null +++ b/Website/Composite/content/forms/Administrative/SetTimeZone_select.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Website/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx.cs b/Website/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx.cs index 1fd8d6bfb6..3d2f9fe41e 100644 --- a/Website/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx.cs +++ b/Website/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx.cs @@ -5,6 +5,8 @@ using Composite.Core.WebClient.UiControlLib; using Composite.Plugins.Forms.WebChannel.UiControlFactories; using System.Web.UI; +using System.Linq; +using Composite.Core.Configuration; namespace Composite.controls.FormsControls.FormUiControlTemplates.DateTimeSelectors { @@ -21,6 +23,12 @@ private string ResetOnClickValue public PlaceHolder MessagesPlaceHolder; public string CurrentStringValue; + private static string TimeZoneAbbriviatedName() + { + return StringResourceSystemFacade.GetString("Composite.Plugins.TimezoneAbbriviations", + "TimezoneAbbriviations." + GlobalSettingsFacade.TimeZone.Id); + } + protected void Page_Init(object sender, EventArgs e) { if (ReadOnly) @@ -38,13 +46,16 @@ private void InsertSelectedDate(DateTime? toShow) { if (toShow.HasValue && toShow.Value != DateTime.MinValue) { + DateTime convertedToShow = TimeZoneInfo.ConvertTime(toShow.Value, GlobalSettingsFacade.TimeZone); + if (!ShowHours) { - this.CurrentStringValue = toShow.Value.ToShortDateString(); + this.CurrentStringValue = convertedToShow.ToShortDateString(); } else { - this.CurrentStringValue = string.Format("{0} {1}", toShow.Value.ToShortDateString(), toShow.Value.ToShortTimeString()); + this.CurrentStringValue = string.Format("{0} {1} {2}", convertedToShow.ToShortDateString(), + convertedToShow.ToShortTimeString(), TimeZoneAbbriviatedName()); } } else @@ -66,9 +77,14 @@ public override void BindStateToProperties() } else { - this.Date = DateTime.Parse(this.CurrentStringValue); + string stringValueWithoutTimezone = this.CurrentStringValue.Replace(TimeZoneAbbriviatedName(),""); + + DateTime parsedTime = DateTime.Parse(stringValueWithoutTimezone); + if (!ShowHours) - this.Date -= this.Date.Value.TimeOfDay; + parsedTime -= parsedTime.TimeOfDay; + + this.Date = TimeZoneInfo.ConvertTime(parsedTime, GlobalSettingsFacade.TimeZone,TimeZoneInfo.Utc).ToLocalTime(); } this.IsValid = true; } @@ -86,7 +102,7 @@ private string SampleDateString { if(ShowHours) { - return string.Format("{0} {1}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString()); + return string.Format("{0} {1} {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(),TimeZoneAbbriviatedName()); } else { @@ -143,11 +159,11 @@ public void CalendarSelectionChange(object sender, EventArgs e) if (ShowHours) { DateTime oldDateTime; - if (DateTime.TryParse(this.CurrentStringValue, out oldDateTime)) + if (DateTime.TryParse(this.CurrentStringValue.Replace(TimeZoneAbbriviatedName(), ""), out oldDateTime)) toShow += oldDateTime.TimeOfDay; } - InsertSelectedDate(toShow); + InsertSelectedDate(TimeZoneInfo.ConvertTime(toShow, GlobalSettingsFacade.TimeZone, TimeZoneInfo.Utc)); this.MessagesPlaceHolder.Controls.Add(new DocumentDirtyEvent()); } diff --git a/Website/Composite/localization/Composite.C1Console.Users.en-us.xml b/Website/Composite/localization/Composite.C1Console.Users.en-us.xml index f3615c93eb..8b8ed2ca5c 100644 --- a/Website/Composite/localization/Composite.C1Console.Users.en-us.xml +++ b/Website/Composite/localization/Composite.C1Console.Users.en-us.xml @@ -20,13 +20,13 @@ - + - - - - - + + + + + @@ -58,4 +58,4 @@ - \ No newline at end of file + diff --git a/Website/Composite/localization/Composite.Management.en-us.xml b/Website/Composite/localization/Composite.Management.en-us.xml index 735c03bea2..a2c3d57e7f 100644 --- a/Website/Composite/localization/Composite.Management.en-us.xml +++ b/Website/Composite/localization/Composite.Management.en-us.xml @@ -2,7 +2,7 @@ - + @@ -39,10 +39,10 @@ - - - - + + + + @@ -92,10 +92,10 @@ - - - - + + + + @@ -279,14 +279,23 @@ - + + + + - + - + + + + + + + diff --git a/Website/Composite/localization/Composite.Plugins.TimezoneAbbriviations.en-us.xml b/Website/Composite/localization/Composite.Plugins.TimezoneAbbriviations.en-us.xml new file mode 100644 index 0000000000..b4491ed95e --- /dev/null +++ b/Website/Composite/localization/Composite.Plugins.TimezoneAbbriviations.en-us.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Website/Composite/localization/Composite.Plugins.TimezoneDisplayNames.en-us.xml b/Website/Composite/localization/Composite.Plugins.TimezoneDisplayNames.en-us.xml new file mode 100644 index 0000000000..162c1aeb96 --- /dev/null +++ b/Website/Composite/localization/Composite.Plugins.TimezoneDisplayNames.en-us.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Website/Composite/scripts/source/top/ui/bindings/dialogs/DialogBinding.js b/Website/Composite/scripts/source/top/ui/bindings/dialogs/DialogBinding.js index 145457a176..afb572a100 100644 --- a/Website/Composite/scripts/source/top/ui/bindings/dialogs/DialogBinding.js +++ b/Website/Composite/scripts/source/top/ui/bindings/dialogs/DialogBinding.js @@ -19,110 +19,110 @@ function DialogBinding () { * @type {SystemLogger} */ this.logger = SystemLogger.getLogger ( "DialogBinding" ); - + /** * Don't flex unless maximized - and we do not yet support maximization. * @overloads {FlexBoxBinding#isFlexible} */ this.isFlexible = false; - + /** * @type {DialogHeadBinding} */ this._head = null; - + /** * @type {DialogBodyBinding} */ this._body = null; - + /** * @type {DialogCoverBinding} */ this._cover = null; - + /** * @type {TitleBarBinding} */ this._titlebar = null; - + /** * This property is set to an instance of {@link DialogBorderBinding} when resizing. * @type {DialogBorderBinding} */ this._border = null; - + /** * Relevant for dragging scenario. * @type {Point} */ this.startPoint = null; - + /** * Stores position and dimension data. * @type {object} */ this.geometry = null; - + /** * @type {boolean} */ this.isActive = false; - + /** * @type {boolean} */ this.isActivatable = false; - + /** * TODO: RENAME ISOPEN! * @type {boolean} */ this.isVisible = false; - + /** * @type {boolean} */ this._isResizable = true; - + /** * @type {boolean} */ this.isDialogResizable = true; - + /** * @type {boolean} */ this.isModal = false; - + /** * @type {string} */ this.mode = null; - + /** * @type {HashMap} */ this.controlBindings = {}; - + /** * @type {int} */ this._index = null; - + /** * THIS SHOULD BE DECLARED * @type {Dimension} * this.startDimension = null; */ - + /** * Use fancy CSS transitions? Disabled for now... * @type {boolean} */ this._hasTransitions = false; // Client.hasTransitions - + /* * Returnable. */ @@ -142,12 +142,12 @@ DialogBinding.prototype.toString = function () { */ DialogBinding.prototype.onBindingRegister = function () { - DialogBinding.superclass.onBindingRegister.call ( this ); - + DialogBinding.superclass.onBindingRegister.call ( this ); + this.addActionListener ( Binding.ACTION_DRAG, this ); this.addActionListener ( FocusBinding.ACTION_ACTIVATED ); this.subscribe ( this.bindingWindow.WindowManager.WINDOW_RESIZED_BROADCAST ); - + this.buildDescendantBindings (); } @@ -158,20 +158,20 @@ DialogBinding.prototype.onBindingAttach = function () { DialogBinding.superclass.onBindingAttach.call ( this ); this.geometry = this.computeDefaultGeometry (); - + this.parseDOMProperties (); this.buildControlBindings (); this.buildBorderBindings (); this.attachRecursive (); - + if ( this._isResizable ) { - this.attachClassName ( "resizable" ); + this.attachClassName ( "resizable" ); } - + if ( this._hasTransitions ) { this.bindingElement.style.opacity = "0"; } - + this.setPosition ( new Point ( 0, 0 )); this.setDimension ( new Dimension ( DialogBinding.DEFAULT_WIDTH, DialogBinding.DEFAULT_HEIGHT )); if ( this.getProperty ( "open" )) { @@ -193,7 +193,7 @@ DialogBinding.prototype.buildDescendantBindings = function () { this._head.add ( this._titlebar ); // the dialog body may be declared; if not, we append it dynamically - var dialogbody = DOMUtil.getElementsByTagName ( this.bindingElement, "dialogbody" ).item ( 0 ); + var dialogbody = DOMUtil.getElementsByTagName ( this.bindingElement, "dialogbody" ).item ( 0 ); if ( dialogbody ) { this._body = UserInterface.getBinding ( dialogbody ); } else { @@ -207,7 +207,7 @@ DialogBinding.prototype.buildDescendantBindings = function () { */ DialogBinding.prototype.buildBorderBindings = function () { - var directions = new List ([ + var directions = new List ([ DialogBorderBinding.TYPE_NORTH, DialogBorderBinding.TYPE_SOUTH, DialogBorderBinding.TYPE_EAST, @@ -224,7 +224,7 @@ DialogBinding.prototype.buildBorderBindings = function () { * Build dialog controls. */ DialogBinding.prototype.buildControlBindings = function () { - + var controls = this.getProperty ( "controls" ); if ( controls ) { var types = new List ( controls.split ( " " )); @@ -240,7 +240,7 @@ DialogBinding.prototype.buildControlBindings = function () { this.controlBindings [ type ] = controlBinding; break; default : - throw new Error ( + throw new Error ( "DialogBinding: Control not added: " + type ); break; @@ -253,7 +253,7 @@ DialogBinding.prototype.buildControlBindings = function () { * Build and configure a {@link DialogCoverBinding} */ DialogBinding.prototype.buildDialogCoverBinding = function () { - + this._cover = DialogCoverBinding.newInstance ( this.bindingDocument ); this.getAncestorBindingByLocalName ( "dialogset" ).add ( this._cover ); this._cover.cover ( this); @@ -269,7 +269,7 @@ DialogBinding.prototype.parseDOMProperties = function () { var draggable = this.getProperty ( "draggable" ); var resizable = this.getProperty ( "resizable" ); var modal = this.getProperty ( "modal" ); - + if ( image ) { this.setImage ( image ); } @@ -292,7 +292,7 @@ DialogBinding.prototype.parseDOMProperties = function () { * @param {boolean} isModal */ DialogBinding.prototype.setModal = function ( isModal ) { - + this.isModal = isModal; } @@ -304,9 +304,9 @@ DialogBinding.prototype.setLabel = function ( label ) { this.setProperty ( "label", label ); if ( this.isAttached == true ) { - this._titlebar.setLabel ( + this._titlebar.setLabel ( Resolver.resolve ( label ) - ) + ) }; } @@ -327,9 +327,9 @@ DialogBinding.prototype.setImage = function ( url ) { this.setProperty ( "image", url ); if ( this.isAttached ) { - this._titlebar.setImage ( + this._titlebar.setImage ( Resolver.resolve ( url ) - ) + ) }; } @@ -339,17 +339,17 @@ DialogBinding.prototype.setImage = function ( url ) { * @param {Action} action */ DialogBinding.prototype.handleAction = function ( action ) { - + DialogBinding.superclass.handleAction.call ( this, action ); - + switch ( action.type ) { - + case Binding.ACTION_DRAG : - - var binding = action.target; + + var binding = action.target; if ( this.getState () == ControlBoxBinding.STATE_NORMAL ) { switch ( binding.constructor ) { - case DialogTitleBarBinding : + case DialogTitleBarBinding : this.mode = DialogBinding.MODE_DRAGGING; binding.dragger.registerHandler ( this ); break; @@ -364,20 +364,20 @@ DialogBinding.prototype.handleAction = function ( action ) { } action.consume (); break; - - case Binding.ACTION_ACTIVATED : + + case Binding.ACTION_ACTIVATED : if ( !this.isActive ) { this.activate (); } action.consume (); break; - + /* case FocusBinding.ACTION_ACTIVATED : - + /* - * Simply consume the action. The FocusBinding - * can now analyze the action to get a handle on + * Simply consume the action. The FocusBinding + * can now analyze the action to get a handle on * this DialogBinding. * this.focusBinding = binding; @@ -395,11 +395,11 @@ DialogBinding.prototype.handleAction = function ( action ) { DialogBinding.prototype.handleBroadcast = function ( broadcast, arg ) { DialogBinding.superclass.handleBroadcast.call ( this, broadcast, arg ); - + switch ( broadcast ) { case this.bindingWindow.WindowManager.WINDOW_RESIZED_BROADCAST : this.startPoint = this.getPosition (); - this._setComputedPosition ( + this._setComputedPosition ( new Point ( 0, 0 ) ); break; @@ -412,9 +412,9 @@ DialogBinding.prototype.handleBroadcast = function ( broadcast, arg ) { * @param {ControlBinding} control */ DialogBinding.prototype.handleInvokedControl = function ( control ) { - + DialogBinding.superclass.handleInvokedControl.call ( this, control ); - + switch ( control.controlType ) { case ControlBinding.TYPE_CLOSE : this.close (); @@ -424,34 +424,34 @@ DialogBinding.prototype.handleInvokedControl = function ( control ) { /** * Open dialog. - * @param {boolean} isAutoHeight Needed to fix an IE bug, see {@link StageDialogBinding#_parsePageBinding} + * @param {boolean} isAutoHeight Needed to fix an IE bug, see {@link StageDialogBinding#_parsePageBinding} */ DialogBinding.prototype.open = function ( isAutoHeight ) { - + if ( this.isModal && this._cover == null ) { this.buildDialogCoverBinding (); } if ( !this.isVisible ) { // WHEN RENAMING THIS TO ISOPEN, SEE STAGEDIALOGBINDING ESCAPE STUFF - + this.setProperty ( "open", "true" ); this.isVisible = true; this.isActivatable = true; this.activate (); - + if ( isAutoHeight ) { /* - * centering and flexing needs to be performed + * centering and flexing needs to be performed * after this method, see StageDialogBinding */ } else { this.centerOnScreen (); this.reflex ( true ); } - + this.bindingElement.style.marginTop = "0"; this.dispatchAction ( DialogBinding.ACTION_OPEN ); this.dispatchAction ( Binding.ACTION_VISIBILITYCHANGED ); - + if ( this._hasTransitions ) { this.bindingElement.style.opacity = "1"; } @@ -462,24 +462,25 @@ DialogBinding.prototype.open = function ( isAutoHeight ) { * Close dialog. */ DialogBinding.prototype.close = function () { - + if ( this.isVisible ) { - + this.isActivatable = false; this.deActivate (); - + var self = this; function doit () { - + + self.dispatchAction(DialogBinding.ACTION_CLOSE); + self.isVisible = false; self.deleteProperty ( "open" ); - + self.bindingElement.style.marginTop = "-10000px"; - self.dispatchAction ( DialogBinding.ACTION_CLOSE ); } - + if ( !this._hasTransitions ) { - setTimeout ( function () { doit (); }, 0); + setTimeout(function () { doit(); }, 0); } else { var element = self.bindingElement; setTimeout ( function () { @@ -513,7 +514,7 @@ DialogBinding.prototype.activate = function () { */ DialogBinding.prototype.deActivate = function () { - if ( this.isActive == true ) { + if ( this.isActive == true ) { this.isActive = false; this.detachClassName ( "active" ); this._titlebar.onDeactivate (); @@ -525,7 +526,7 @@ DialogBinding.prototype.deActivate = function () { * Move panel to highest z-index. Invoked when dialog is activated. */ DialogBinding.prototype.moveToTop = function () { - + /* * First event intercepted by the DialogSetBinding. * Second event intercepted by the DialogCoverBinding (if present). @@ -534,21 +535,21 @@ DialogBinding.prototype.moveToTop = function () { this.dispatchAction ( Binding.ACTION_MOVEDONTOP ); } -/** +/** * Get z-index. * @return {int} */ DialogBinding.prototype.getZIndex = function () { - + return CSSComputer.getZIndex ( this.bindingElement ); } -/** +/** * Set z-index. * @param {int} index */ DialogBinding.prototype.setZIndex = function ( index ) { - + this.bindingElement.style.zIndex = new String ( index ); } @@ -576,7 +577,7 @@ DialogBinding.prototype.onDragStart = function ( point ) { * @param {Point} diff */ DialogBinding.prototype.onDrag = function ( diff ) { - + switch ( this.mode ) { case DialogBinding.MODE_DRAGGING : this._setComputedPosition ( diff ); @@ -596,10 +597,10 @@ DialogBinding.prototype.onDrag = function ( diff ) { this.resizeWest ( diff ); break; } - + /* - * notice the boolean parameter, invoking fast screen update. - * This could potentially threaten Explorer if the dialog + * notice the boolean parameter, invoking fast screen update. + * This could potentially threaten Explorer if the dialog * contains lots of stuff. This works terrible in Mozilla! */ this.reflex ( true ); @@ -658,7 +659,7 @@ DialogBinding.prototype.resizeWest = function ( diff ) { this.setPosition ( new Point ( this.startPoint.x + diff.x, this.startPoint.y )); this.setDimension ( new Dimension ( this.startDimension.w - diff.x, this.startDimension.h )); - + } /** @@ -669,25 +670,25 @@ DialogBinding.prototype._setComputedPosition = function ( diff ) { var win = this.bindingWindow.WindowManager.getWindowDimensions (); var dim = this.getDimension (); - + var x = this.startPoint.x + diff.x; var y = this.startPoint.y + diff.y; - + x = x < 0 ? 0 : x + dim.w > win.w ? win.w - dim.w : x; y = y < 0 ? 0 : y + dim.h > win.h ? win.h - dim.h : y; - + this.setPosition ( new Point ( x, y )); } /** * Set position. - * @param {Point} p + * @param {Point} p */ DialogBinding.prototype.setPosition = function ( p ) { - + var x = p.x; var y = p.y; - + x = Math.round ( x ); this.bindingElement.style.left = x + "px"; this.geometry.x = x; @@ -704,9 +705,9 @@ DialogBinding.prototype.setPosition = function ( p ) { */ DialogBinding.prototype.getPosition = function () { - return new Point ( + return new Point ( this.geometry.x, - this.geometry.y + this.geometry.y ); } @@ -716,14 +717,14 @@ DialogBinding.prototype.getPosition = function () { * @param {number} h */ DialogBinding.prototype.setDimension = function ( dim ) { - + if ( !dim ) { SystemDebug.stack ( arguments ); } - + var w = dim.w; var h = dim.h; - + w = Math.round ( w ); this.bindingElement.style.width = w + "px"; this.geometry.w = w; @@ -739,9 +740,9 @@ DialogBinding.prototype.setDimension = function ( dim ) { */ DialogBinding.prototype.getDimension = function () { - return new Dimension ( + return new Dimension ( this.geometry.w, - this.geometry.h + this.geometry.h ); } @@ -750,7 +751,7 @@ DialogBinding.prototype.getDimension = function () { * @param {boolean} isResizable */ DialogBinding.prototype.setResizable = function ( isResizable ) { - + if ( this._isResizable != isResizable ) { if ( isResizable ) { this.attachClassName ( "resizable" ); @@ -766,11 +767,11 @@ DialogBinding.prototype.setResizable = function ( isResizable ) { * @return {object} */ DialogBinding.prototype.computeDefaultGeometry = function () { - + var result = null; var width = this.bindingDocument.body.offsetWidth; var height = this.bindingDocument.body.offsetHeight; - + result = { x : 0.125 * width, y : 0.125 * height, @@ -784,10 +785,10 @@ DialogBinding.prototype.computeDefaultGeometry = function () { * This actually centers the dialog in the containing *window*. */ DialogBinding.prototype.centerOnScreen = function () { - + var winDim = this.bindingWindow.WindowManager.getWindowDimensions (); var dim = this.getDimension (); - + this.setPosition ( new Point ( 0.5 * ( winDim.w - dim.w ), 0.5 * ( winDim.h - dim.h ) @@ -799,10 +800,10 @@ DialogBinding.prototype.centerOnScreen = function () { * This method is invoked on modal panels by the {@link DialogCoverBinding}. */ DialogBinding.prototype.alert = function () { - + var binding = this; var i = 0; - + function blink () { if ( i % 2 == 0 ) { binding.detachClassName ( "active" ); @@ -822,7 +823,7 @@ DialogBinding.prototype.alert = function () { * @param {List} list */ DialogBinding.prototype.setControls = function ( list ) { - + for ( var type in this.controlBindings ) { this.controlBindings [ type ].dispose (); } @@ -832,7 +833,7 @@ DialogBinding.prototype.setControls = function ( list ) { controls += type + list.hasNext () ? " " : ""; } this.setProperty ( "controls", controls ); - + if ( this.isAttached ) { this.buildControlBindings (); } diff --git a/Website/Composite/scripts/source/top/ui/bindings/stage/StageBinding.js b/Website/Composite/scripts/source/top/ui/bindings/stage/StageBinding.js index 80b2900d98..1b5149fbcd 100644 --- a/Website/Composite/scripts/source/top/ui/bindings/stage/StageBinding.js +++ b/Website/Composite/scripts/source/top/ui/bindings/stage/StageBinding.js @@ -379,6 +379,8 @@ StageBinding.prototype._initializeRootActions = function ( root ) { */ var menugroup = top.app.bindingMap.toolsmenugroup; + var bundles = new Map(); + if ( menugroup ) { actions.each ( function ( groupid, list ) { list.each ( function ( action ) { @@ -412,6 +414,25 @@ StageBinding.prototype._initializeRootActions = function ( root ) { break; } } + + var bundleName = action.getBundleName(); + if (bundleName) { + if (!bundles.has(bundleName)) { + var bundleItem = MenuItemBinding.newInstance(menugroup.bindingDocument); + bundleItem.setLabel(bundleName); + bundleItem.setImage(action.getImage()); + group.add(bundleItem); + + var popup = MenuPopupBinding.newInstance(menugroup.bindingDocument); + var body = popup.add(MenuBodyBinding.newInstance(menugroup.bindingDocument)); + var menuitemgroup = body.add(MenuGroupBinding.newInstance(menugroup.bindingDocument)); + bundleItem.add(popup); + + bundles.set(bundleName, menuitemgroup); + } + group = bundles.get(bundleName);; + } + group.add ( item ); }); }); diff --git a/Website/WebSite.csproj b/Website/WebSite.csproj index 34b3b4a4a9..297f80f074 100644 --- a/Website/WebSite.csproj +++ b/Website/WebSite.csproj @@ -173,6 +173,7 @@ + Designer @@ -558,6 +559,8 @@ + + @@ -2543,7 +2546,6 @@ -