예제 #1
0
        public async Task InitalSearch(TNDFavorite favorite, TNDDropItem dropItem)
        {
            //TNDMetaEntity metaEntity = null;
            if (favorite != null)
            {
                //metaEntity = favorite.MetaEntity;
                //this.Search(favorite, dropItem);
            }
            else
            {
            }
            await Task.Delay(0);

            //if (metaEntity != null) { }
            // dropItem.GetProperty("Subject")
            // TODO
        }
예제 #2
0
        public static TNDFavorite ConvertToFavorit(TNDStoreItem storeItem)
        {
            var result      = new TNDFavorite();
            var checkedItem = storeItem.CheckedItem;
            var metaEntity  = checkedItem.MetaEntity;

            result.MetaEntityName = checkedItem.MetaEntityName;
            result.Property.AddRange(checkedItem.Property);
            result.Id = checkedItem.GetKeyValue()?.ToString();
            if (result.Id == null)
            {
                return(null);
            }
            result.Name     = checkedItem.Name;
            result.LastUsed = System.DateTime.Now;
            result.Used     = 1;
            return(result);
        }
예제 #3
0
        // [Bindable(true), Category("Content")]
        // [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        // public TNDDropModel Model
        // {
        //    get { return (TNDDropModel)GetValue(ModelProperty); }
        //    set { SetValue(ModelProperty, value); }
        // }

        // public static readonly DependencyProperty ModelProperty =
        //    DependencyProperty.Register("Model", typeof(TNDDropModel), typeof(DropControl), new PropertyMetadata(null));

        private void setDnDTarget(object sender)
        {
            var model = this.DataContext as TNDDropModel;

            if (model != null)
            {
                var         dc       = ((FrameworkElement)sender).DataContext;
                TNDFavorite favorite = null;
                if (dc is TNDFavorite)
                {
                    favorite = (TNDFavorite)dc;
                }
                else if (dc is TNDDropModel)
                {
                    favorite = model.EmptyFavorite;
                }
                model.DnDTarget = favorite;
            }
        }
예제 #4
0
        public void HandleDrops(TNDFavorite favorite, TNDDropItem[] drops)
        {
            this._DropModel.Drops.AddRange(drops);
            var lst = new List <TNDTargetModel>();

            foreach (var dropItem in drops)
            {
                if (dropItem.Content != null && dropItem.LastException == null)
                {
                    TNDTargetModel targetModel = new TNDTargetModel();
                    targetModel.DropItem = dropItem;
                    targetModel.Favorite = favorite;
                    targetModel.Init(this._DataAccess, this._ApplicationBuis);
                    lst.Add(targetModel);
                    targetModel.PrepareSearch();
                    //this._DataAccess.InitalSearch(favorite, dropItem);
                }
            }
            this._ApplicationBuis.ShowSearchWindow(lst.ToArray());
        }
예제 #5
0
        private void clearDnDTarget(object sender)
        {
            var model = this.DataContext as TNDDropModel;

            if (model != null)
            {
                var         dc       = ((FrameworkElement)sender).DataContext;
                TNDFavorite favorite = null;
                if (dc is TNDFavorite)
                {
                    favorite = (TNDFavorite)dc;
                }
                else if (dc is TNDDropModel)
                {
                    favorite = model.EmptyFavorite;
                }
                if (ReferenceEquals(model.DnDTarget, favorite))
                {
                    model.DnDTarget = null;
                }
            }
        }
예제 #6
0
        private void handleDataObject(TNDFavorite favorite, IDataObject data)
        {
            if (data == null)
            {
                return;
            }
            var formats   = data.GetFormats();
            var drops     = new List <TNDDropItem>();
            var hsFormats = new HashSet <string>(formats);

            // is it Outlook?
            bool done = false;

            if (IsOutlook(hsFormats))
            {
                var sd           = new TNDClipboardSourceData(data);
                var fileContents = sd.ReadFileContents(true);
                if (fileContents != null)
                {
                    drops.AddRange(fileContents);
                    foreach (var dropItem in drops)
                    {
                        System.Diagnostics.Debug.WriteLine(dropItem.Name);
                        //System.IO.File.WriteAllBytes(System.IO.Path.Combine(@"c:\temp", fc.Name), fc.Content);
                        if (dropItem.Content != null && dropItem.LastException == null)
                        {
                            TNDMetaDataExtractor.ConvertFileContents(dropItem);
                        }
                    }
                    done = true;
                }
            }
            // is it Windows Explorer?
            if (!done && IsFileDrop(hsFormats))
            {
                var sd        = new TNDClipboardSourceData(data);
                var fileDrops = sd.ReadFileDrop();
                if (fileDrops != null)
                {
                    drops.AddRange(fileDrops);
                    foreach (var dropItem in drops)
                    {
                        System.Diagnostics.Debug.WriteLine(dropItem.Name);
                        //System.IO.File.WriteAllBytes(System.IO.Path.Combine(@"c:\temp", fc.Name), fc.Content);
                        if (dropItem.Content != null && dropItem.LastException == null)
                        {
                            TNDMetaDataExtractor.ConvertFileContents(dropItem);
                        }
                    }
                    done = true;
                }
            }
            //System.Diagnostics.Debug.WriteLine(formats.Length);
            if (drops.Count > 0)
            {
                this.HandleDrops(favorite, drops.ToArray());
            }
            else
            {
                //
            }
        }
예제 #7
0
 public void DoPaste(TNDFavorite favorite, IDataObject data)
 {
     this.handleDataObject(favorite, data);
 }
예제 #8
0
 public void DoGiveFeedback(TNDFavorite favorite, GiveFeedbackEventArgs e)
 {
     e.Handled = true;
 }
예제 #9
0
 public void DoDragEnter(TNDFavorite favorite, IDataObject data)
 {
     // data
 }