private void _saveAsSmartFolderButton_Click(object sender, EventArgs e)
        {
            using (var dialog = new QueryHolderEditForm()) {
                var smartFolder = MemoFactory.CreateTransientSmartFolder();
                smartFolder.Name   = "新しいスマートフォルダ";
                smartFolder.Query  = GetQuery();
                dialog.QueryHolder = smartFolder;
                if (dialog.ShowDialog(_facade.MainForm) == DialogResult.OK)
                {
                    /// これをやっておかないと一度もRootがExpand()されていない場合,
                    /// 2つノードが作成されてしまう。
                    /// 理由は未調査。
                    _facade.MainForm.WorkspaceView.WorkspaceTree.SmartFolderTreePresenter.Root.Expand();

                    _facade.Container.Persist(dialog.QueryHolder.Query);
                    _facade.Container.Persist(dialog.QueryHolder);

                    _facade.MainForm.ShowWorkspaceView();
                    ClearConditions();
                    UpdateQuery();
                    _facade.MainForm.WorkspaceView.WorkspaceTree.SmartFolderTreePresenter.SelectNode(dialog.QueryHolder);
                    _facade.MainForm.WorkspaceView.WorkspaceTree.Select();
                }
            }
        }
示例#2
0
        private void _editSmartFolderToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var smartFolder = _workspaceTree.SmartFolderTreePresenter.SelectedSmartFolder;

            if (smartFolder != null)
            {
                using (var dialog = new QueryHolderEditForm()) {
                    dialog.QueryHolder = smartFolder;
                    if (dialog.ShowDialog(_app.MainForm) == DialogResult.OK)
                    {
                        _app.MainForm.Mediator.UpdateMemoListBox(false);
                    }
                }
            }
        }
        private void _saveAsSmartFilterButton_Click(object sender, EventArgs e)
        {
            using (var dialog = new QueryHolderEditForm()) {
                var smartFilter = MemoFactory.CreateTransientSmartFilter();
                smartFilter.Name   = "新しいスマートフィルタ";
                smartFilter.Query  = GetQuery();
                dialog.QueryHolder = smartFilter;
                if (dialog.ShowDialog(_facade.MainForm) == DialogResult.OK)
                {
                    _facade.Container.Persist(dialog.QueryHolder.Query);
                    _facade.Container.Persist(dialog.QueryHolder);

                    ClearConditions();
                    UpdateQuery();
                }
            }
        }
示例#4
0
        public void CreateSmartFolder()
        {
            using (var dialog = new QueryHolderEditForm()) {
                var smartFolder = MemoFactory.CreateTransientSmartFolder();
                smartFolder.Query  = MemoFactory.CreateTransientQuery();
                smartFolder.Name   = "新しいスマートフォルダ";
                smartFolder.Query  = smartFolder.Query;
                dialog.QueryHolder = smartFolder;
                if (dialog.ShowDialog(_facade.MainForm) == DialogResult.OK)
                {
                    /// これをやっておかないと一度もRootがExpand()されていない場合,
                    /// 2つノードが作成されてしまう。
                    /// 理由は未調査。
                    _root.Expand();
                    //_facade.MainForm.WorkspaceView.WorkspaceTree.SmartFolderTreePresenter.Root.Expand();

                    _facade.Container.Persist(dialog.QueryHolder.Query);
                    _facade.Container.Persist(dialog.QueryHolder);

                    SelectNode(dialog.QueryHolder);
                }
            }
        }