// A new metadata entry was added.
 private void Presentation_MetadataEntryAdded(object sender, MetadataEventArgs e)
 {
     UpdateMetaDataListForItemAdd(e);
     // Let's not try to be clever now.
     //ImportMetadata();
     //ClearTextBoxesFromCommandEvents ();
 }
Exemple #2
0
        private static void LogGenerateMetadata(MetadataEventArgs args)
        {
            if (args.Command != GenerateMetadataBackgroundWorker.MetadataCommand.Generate)
            {
                return;
            }

            string prefix = GetMetadataLogPrefix(args);

            if (args.Finished)
            {
                if (args.Canceled)
                {
                    Log(string.Format(AuditMessages.GenerateMetadataStopped.Message, prefix, args.SuccessCount, args.TotalCount));
                }
                else
                {
                    Log(string.Format(AuditMessages.GenerateMetadataEnding.Message, prefix, args.SuccessCount, args.TotalCount));
                }
            }
            else
            {
                Log(string.Format(AuditMessages.GenerateMetadataStarting.Message, prefix, args.TotalCount));
            }
        }
 // Metadata content has changed.
 void Presentation_MetadataEntryContentChanged(object sender, MetadataEventArgs e)
 {
     UpdateMetaDataListForContentChange(e);
     // Let's not try to be clever now.
     //ImportMetadata();
     ClearTextBoxesFromCommandEvents();
 }
Exemple #4
0
        private static string GetMetadataLogPrefix(MetadataEventArgs args)
        {
            string category = (args.Category == GenerateMetadataBackgroundWorker.MetadataCategory.All) ? (string.Empty) : (" " + args.Category.ToString().ToUpper());
            string prefix   = args.Scope.ToString() + category;

            return(prefix);
        }
 // An entry was deleted.
 void Presentation_MetadataEntryDeleted(object sender, MetadataEventArgs e)
 {
     UpdateMetaDataListForItemDelete(e);
     // Let's not try to be clever now.
     //ImportMetadata ();
     ClearTextBoxesFromCommandEvents();
     mMetadataListView.Focus();
 }
Exemple #6
0
 public void UpdateCurrentSong(object sender, MetadataEventArgs args)
 {
     foreach (var metadataSongPattern in metadataSongPatterns)
     {
         Match match = Regex.Match(args.NewMetadata, metadataSongPattern);
         if (match.Success)
         {
             radio.CurrentSong = new SongInfo(match.Groups["artist"].Value.Trim(), match.Groups["title"].Value.Trim());
             return;
         }
     }
 }
Exemple #7
0
        MetadataEventArgs GetMetaEventArg()
        {
            var evArg = new MetadataEventArgs();

            evArg.currentAccount = currentAccount;
            evArg.profileToken   = profile.token;
            evArg.profile        = profile;
            evArg.session        = session;
            evArg.token          = channelToken;
            evArg.videoInfo      = videoInfo;
            return(evArg);
        }
Exemple #8
0
        internal static MetadataEventArgsWrapper GetInstance()
        {
            MetadataEventArgs real = default(MetadataEventArgs);

            RealInstanceFactory(ref real);
            var instance = (MetadataEventArgsWrapper)MetadataEventArgsWrapper.GetWrapper(real);

            InstanceFactory(ref instance);
            if (instance == null)
            {
                Assert.Inconclusive("Could not Create Test Instance");
            }
            return(instance);
        }
Exemple #9
0
        private static void OnGenerateMetadataEvent(object sender, MetadataEventArgs args)
        {
            GenerateMetadataBackgroundWorker.MetadataCommand command = args.Command;
            switch (command)
            {
            case GenerateMetadataBackgroundWorker.MetadataCommand.Generate:
                LogGenerateMetadata(args);
                break;

            case GenerateMetadataBackgroundWorker.MetadataCommand.Delete:
                LogDeleteMetadata(args);
                break;
            }
        }
Exemple #10
0
        private static void LogDeleteMetadata(MetadataEventArgs args)
        {
            if (args.Command != GenerateMetadataBackgroundWorker.MetadataCommand.Delete)
            {
                return;
            }

            string prefix = string.Empty;

            if (args.Category == GenerateMetadataBackgroundWorker.MetadataCategory.Json || args.Category == GenerateMetadataBackgroundWorker.MetadataCategory.Xml)
            {
                prefix = args.Category.ToString().ToUpper();
            }

            Log(string.Format(AuditMessages.DeleteMetadata.Message, args.TotalCount, prefix, args.Reason));
        }
Exemple #11
0
        private void UpdateMetaDataListForContentChange(MetadataEventArgs e)
        {
            if (InvokeRequired)
            {
                Invoke(new UpdateMetadataInvokation(UpdateMetaDataListForContentChange), e);
            }
            else
            {
                if (e.Entry != null)
                {
                    string entryName = e.Entry.NameContentAttribute.Name;
                    for (int i = 0; i < mMetadataListView.Items.Count; i++)
                    {
                        if (mMetadataListView.Items[i].Tag != null)
                        {
                            urakawa.metadata.Metadata metadataObj = (urakawa.metadata.Metadata)mMetadataListView.Items[i].Tag;
                            if (metadataObj.NameContentAttribute.Name == entryName)
                            {
                                mMetadataListView.Items[i].SubItems[1].Text = metadataObj.NameContentAttribute.Value;
                                if (mSelection != null && mSelection.Item != null && mSelection.Item.Item != null)
                                {
                                    mContentTextbox.Text = mSelection.Item.Item.SubItems[1].Text;
                                }
                                // check if custom entry at last of metadataListView is selected.
                                // move selection to one item before so as to prevent user from adding more custom entries by pressing enter multiple times there.
                                if (mMetadataListView.SelectedIndices.Count > 0 && mMetadataListView.SelectedIndices[0] == mMetadataListView.Items.Count - 1 &&
                                    mMetadataListView.Items.Count > 1)
                                {
                                    mMetadataListView.Items[mMetadataListView.Items.Count - 2].Selected = true;
                                }

                                break;
                            }
                        }
                    }
                }
            }
        }
Exemple #12
0
        void MetadataClick(MetadataEventArgs evarg)
        {
            ReleaseViewModels(RegionNames.reg_property);

            ContentColumn column = new ContentColumn();

            ShowView(column, "MetadataClick", RegionNames.reg_property);
            column.CreateBinding(ContentColumn.TitleProperty, LinkButtonsStrings.instance, x => x.metadata);
            var ctx = CreateActivityContext(RegionNames.reg_property, evarg.session, column);

            Ctxdisp = ctx;

            ctx.RegisterInstance <IVideoInfo>(evarg.videoInfo);
            ctx.RegisterInstance <Profile>(evarg.profile);
            ctx.RegisterInstance <INvtSession>(evarg.session);

            UIdisp = MetadataSettingsActivity
                     .Run(ctx, evarg.profile)
                     .Subscribe(x => {
                //eventAggregator.GetEvent<VideoChangedEvent>().Publish(evarg);
            }, err => {
                dbg.Error(err);
            });
        }
Exemple #13
0
 static partial void RealInstanceFactory(ref MetadataEventArgs real, string callerName)
 {
     real = (MetadataEventArgs)FormatterServices.GetUninitializedObject(typeof(MetadataEventArgs));
 }
Exemple #14
0
        private void UpdateMetaDataListForItemAdd(MetadataEventArgs e)
        {
            if (InvokeRequired)
            {
                Invoke(new UpdateMetadataInvokation(UpdateMetaDataListForContentChange), e);
            }
            else
            {
                mMetadataListView.ItemChecked -= new System.Windows.Forms.ItemCheckedEventHandler(mMetadataListView_ItemChecked);
                this.mMetadataListView.SelectedIndexChanged -= new System.EventHandler(this.mMetadataListView_SelectedIndexChanged);
                m_IsImportingMetadata = true;

                string[] nameContent = new string[2];
                List <urakawa.metadata.Metadata> items = mView.Presentation.Metadatas.ContentsAs_ListCopy;
                items.Sort(delegate(urakawa.metadata.Metadata a, urakawa.metadata.Metadata b)
                {
                    int names = a.NameContentAttribute.Name.CompareTo(b.NameContentAttribute.Name);
                    return(names == 0 && a.NameContentAttribute.Value != null && b.NameContentAttribute.Value != null
                        ? a.NameContentAttribute.Value.CompareTo(b.NameContentAttribute.Value)
                        : names);
                });
                string        itemToRemove      = "";
                List <string> ExistingItemsList = new List <string> ();
                int           i = 0;

                if (mMetadataListView.Items.Count == 0)
                {
                    return;
                }

                for (i = 0; i < items.Count; i++)
                {
                    string metaDataListString = mMetadataListView.Items[i].SubItems[0].Text;
                    string itemsListString    = items[i].NameContentAttribute.Name;

                    if (string.CompareOrdinal(metaDataListString, itemsListString) != 0)
                    {
                        itemToRemove = itemsListString;
                        urakawa.metadata.Metadata m = items[i];
                        nameContent[0] = m.NameContentAttribute.Name;
                        nameContent[1] = m.NameContentAttribute.Value;
                        ListViewItem item = new ListViewItem(nameContent);
                        mMetadataListView.Items.Insert(i, item);
                        item.Checked = true;
                        item.Tag     = m;
                        MetadataEntryDescription metDes = MetadataEntryDescription.GetDAISYEntry(m.NameContentAttribute.Name);
                        if (metDes != null)
                        {
                            if (metDes.ReadOnly)
                            {
                                item.BackColor = SystemColors.InactiveCaption;
                            }
                        }
                    }

                    ExistingItemsList.Add(itemsListString);
                }

                // remove only if metadata is not custom
                if (itemToRemove != Localizer.Message("metadata_custom"))
                {
                    // now search items below checked items and remove the item which we have just added above.
                    for (i = i; i < mMetadataListView.Items.Count; i++)
                    {
                        if (string.CompareOrdinal(itemToRemove, mMetadataListView.Items[i].SubItems[0].Text) == 0)
                        {
                            mMetadataListView.Items.RemoveAt(i);
                            break;
                        }
                    }
                }     // check for custom ends

                m_IsImportingMetadata = false;
                this.mMetadataListView.SelectedIndexChanged += new System.EventHandler(this.mMetadataListView_SelectedIndexChanged);
                mMetadataListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(mMetadataListView_ItemChecked);
            }
        }
		void MetadataClick(MetadataEventArgs evarg) {
			ReleaseViewModels(RegionNames.reg_property);

			ContentColumn column = new ContentColumn();
			ShowView(column, "MetadataClick", RegionNames.reg_property);
			column.CreateBinding(ContentColumn.TitleProperty, LinkButtonsStrings.instance, x => x.metadata);
			var ctx = CreateActivityContext(RegionNames.reg_property, evarg.session, column);
			Ctxdisp = ctx;

			ctx.RegisterInstance<IVideoInfo>(evarg.videoInfo);
			ctx.RegisterInstance<Profile>(evarg.profile);
			ctx.RegisterInstance<INvtSession>(evarg.session);

			UIdisp = MetadataSettingsActivity
				.Run(ctx, evarg.profile)
				.Subscribe(x => {
					//eventAggregator.GetEvent<VideoChangedEvent>().Publish(evarg);
				}, err => {
					dbg.Error(err);
				});
		}
Exemple #16
0
 static partial void RealInstanceFactory(ref MetadataEventArgs real, [CallerMemberName] string callerName = "");
Exemple #17
0
        private void UpdateMetaDataListForItemDelete(MetadataEventArgs e)
        {
            if (InvokeRequired)
            {
                Invoke(new UpdateMetadataInvokation(UpdateMetaDataListForContentChange), e);
            }
            else
            {
                if (e.Entry != null)
                {
                    mMetadataListView.ItemChecked -= new System.Windows.Forms.ItemCheckedEventHandler(mMetadataListView_ItemChecked);
                    this.mMetadataListView.SelectedIndexChanged -= new System.EventHandler(this.mMetadataListView_SelectedIndexChanged);
                    m_IsImportingMetadata = true;

                    string[] nameContent = new string[2];
                    List <urakawa.metadata.Metadata> items = mView.Presentation.Metadatas.ContentsAs_ListCopy;
                    items.Sort(delegate(urakawa.metadata.Metadata a, urakawa.metadata.Metadata b)
                    {
                        int names = a.NameContentAttribute.Name.CompareTo(b.NameContentAttribute.Name);
                        return(names == 0 ? a.NameContentAttribute.Value.CompareTo(b.NameContentAttribute.Value) : names);
                    });
                    //string itemToRemove = "";
                    List <string> ExistingItemsList = new List <string> ();
                    int           i = 0;

                    if (mMetadataListView.Items.Count == 0)
                    {
                        return;
                    }

                    for (i = 0; i < mMetadataListView.Items.Count; i++)
                    {
                        if (mMetadataListView.Items[i].Tag != null &&
                            e.Entry.NameContentAttribute.Name == ((urakawa.metadata.Metadata)mMetadataListView.Items[i].Tag).NameContentAttribute.Name)
                        {
                            mMetadataListView.Items.RemoveAt(i);
                        }
                    }

                    // if delete entry was not custom entry, then add it blank entry to list below.
                    List <string> addables = mView.AddableMetadataNames;
                    addables.Sort();

                    if (addables.Contains(e.Entry.NameContentAttribute.Name))
                    {
                        bool inserted = false;
                        for (i = 0; i < mMetadataListView.Items.Count; i++)
                        {
                            if (mMetadataListView.Items[i].Tag == null &&
                                string.CompareOrdinal(e.Entry.NameContentAttribute.Name, mMetadataListView.Items[i].SubItems[0].Text) < 0)
                            {
                                nameContent[0] = e.Entry.NameContentAttribute.Name;
                                nameContent[1] = "";
                                ListViewItem item = new ListViewItem(nameContent);
                                mMetadataListView.Items.Insert(i, item);
                                inserted = true;

                                break;
                            }
                        }
                        if (!inserted)
                        {
                            nameContent[0] = e.Entry.NameContentAttribute.Name;
                            nameContent[1] = "";
                            ListViewItem item = new ListViewItem(nameContent);
                            mMetadataListView.Items.Insert(mMetadataListView.Items.Count - 1, item);
                        }
                    }


                    m_IsImportingMetadata = false;
                    this.mMetadataListView.SelectedIndexChanged += new System.EventHandler(this.mMetadataListView_SelectedIndexChanged);
                    mMetadataListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(mMetadataListView_ItemChecked);
                }
            }
        }
 MetadataEventArgs GetMetaEventArg() {
     var evArg = new MetadataEventArgs();
     evArg.currentAccount = currentAccount;
     evArg.profileToken = profile.token;
     evArg.profile = profile;
     evArg.session = session;
     evArg.token = channelToken;
     evArg.videoInfo = videoInfo;
     return evArg;
 }
Exemple #19
0
 // Metadata name has changed.
 void Presentation_MetadataEntryNameChanged(object sender, MetadataEventArgs e)
 {
     // Let's not try to be clever now.
     ImportMetadata();
 }