/// <summary> /// Adds the currently active queue to the Q Set. /// </summary> public void AddActiveQueueToQSet() { if (_primaryControls.GetQSetExplorerSet() != null) { if (_primaryControls.GetQSetExplorerActiveItem() == null) { _primaryControls.SetQSetExplorerActiveItem(_primaryControls.GetQSetExplorerSet()); } if (_primaryControls.HasActiveDocument) { MessageBrowser messageBrowser = _primaryControls.GetActiveMessageBrowser(); if (messageBrowser != null) { QSetFolderItem folderItem = _primaryControls.GetQSetExplorerActiveItem() as QSetFolderItem; if (folderItem != null) { if (!folderItem.ChildItems.Exists(messageBrowser.QSetQueueItem.Name)) { folderItem.ChildItems.Add(messageBrowser.QSetQueueItem); } } else { MessageBox.Show(_primaryForms.EnvironmentForm, "Cannot add the queue at this point. Select a valid folder, or the top level Queue Set to add the queue.", Locale.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }
/// <summary> /// Forwards the messages selected in the active message browser. /// </summary> /// <param name="delete">Set to true to delete the messages after they have been forwarded.</param> public void ForwardSelectedMessagesFromQueue(bool delete) { // Check we have the correct control selected to work with if (_primaryControls.HasActiveDocument) { MessageBrowser messageBrowser = _primaryControls.GetActiveMessageBrowser(); if (messageBrowser != null && messageBrowser.SelectedItems.Count > 0) { //get an array of all the messages we want to forward Message[] messages = new Message[messageBrowser.SelectedItems.Count]; for (int i = 0; i < messageBrowser.SelectedItems.Count; i++) { messages[i] = ((MessageListViewItem)messageBrowser.SelectedItems[i]).Message; } NewMessageForm form = new NewMessageForm(_primaryObjects.License, this, messages, messageBrowser.QSetQueueItem); form.SmallImageList = _primaryControls.GetSize16Icons(); if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (delete) { DoDeleteSelectedMessagesFromQueue(messageBrowser); } } } } }
private EnvironmentState GetEnvironmentState() { var qSetExplorerActiveItem = _primaryControls.GetQSetExplorerActiveItem(); //ascertain the state of the environment EnvironmentState environmentState = new EnvironmentState(); environmentState.IsQSetOpen = _primaryControls.IsQSetExplorerOpen; environmentState.IsQSetDirty = environmentState.IsQSetOpen && _primaryControls.IsQSetExplorerDirty; environmentState.IsQSetItemActive = (environmentState.IsQSetOpen && qSetExplorerActiveItem != null); if (environmentState.IsQSetItemActive) { environmentState.IsQSetActiveItemQueue = qSetExplorerActiveItem is QSetQueueItem; environmentState.IsQSetActiveItemFolder = qSetExplorerActiveItem is QSetFolderItem; environmentState.IsQSetActiveItemMachine = qSetExplorerActiveItem is QSetMachineItem; environmentState.IsQSetActiveItemQSet = qSetExplorerActiveItem is QSetModel; environmentState.IsQSetActiveItemQueue = qSetExplorerActiveItem is QSetQueueItem; environmentState.IsQSetActiveItemWebService = qSetExplorerActiveItem is QSetWebServiceItem; if (qSetExplorerActiveItem.ParentItem != null) { environmentState.IsQSetParentItemMachine = qSetExplorerActiveItem.ParentItem is QSetMachineItem; environmentState.IsQSetParentItemQSet = qSetExplorerActiveItem.ParentItem is QSetModel; } } environmentState.IsMessageBrowserActive = _primaryControls.HasActiveMessageBrowser(); if (environmentState.IsMessageBrowserActive) { environmentState.ActiveMessageBrowserSelectedMessageCount = _primaryControls.GetActiveMessageBrowser().SelectedItems.Count; environmentState.IsMessageBrowserQueueChildOfActiveQSetItem = environmentState.IsQSetActiveItemFolder && ((QSetFolderItem)_primaryControls.GetQSetExplorerActiveItem()) .ChildItems .Exists((_primaryControls.GetActiveMessageBrowser()).QSetQueueItem.Name); } return(environmentState); }