コード例 #1
0
ファイル: TaskManager.cs プロジェクト: wushian/QSet
        /// <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);
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: QueueTaskManager.cs プロジェクト: wushian/QSet
        /// <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);
                        }
                    }
                }
            }
        }
コード例 #3
0
        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);
        }