示例#1
0
        public void search(String _searchString, ContentDirectorySearchType _searchType = ContentDirectorySearchType.Artist)
        {
            UPNPMediaListBrowse currentList, searchList;
            String containerId = this.buildContainerIdForSearch(mainContentType, _searchType);
            String raumfeldSearchString;

            raumfeldSearchString = "raumfeld:any contains \"" + _searchString + "\"";
            raumfeldSearchString = "dc:title contains \"" + _searchString + "\"";

            currentList = (UPNPMediaListBrowse)this.getList(this.containerIdToListId(currentContainerId, mainContentType));

            if (currentList != null && !currentList.isSearchChild)
            {
                this.setSearchListParentIdFromMainContentType(mainContentType, this.containerIdToListId(currentContainerId, mainContentType));
            }

            // always create new search List
            searchList = (UPNPMediaListBrowse)this.createListObject("Search=" + this.getMainContentType().ToString() + "Type=" + _searchType.ToString() + "ID=" + containerId);
            //searchList = new UPNPMediaListBrowse("Search=" + this.getMainContentType().ToString() + "Type=" + _searchType.ToString() + "ID=" + containerId);
            searchList.listDataReady += listDataReadySink;
            searchList.parentListId   = this.getSearchListParentIdFromMainContentType(mainContentType);
            searchList.isSearchChild  = true;
            searchList.path           = mainContentType.ToString() + " Suchergebnis für '" + _searchString + "' ";
            if (this.getList(searchList.listId) != null)
            {
                lists[searchList.listId] = searchList;
            }
            else
            {
                lists.Add(searchList.listId, searchList);
            }
            searchList.retrieveListByContainerId(containerId, raumfeldSearchString);
        }
示例#2
0
 public SearchContentControl()
 {
     InitializeComponent();
     TextBoxSearchObject.TextChanged += TextBoxSearchObject_TextChanged;
     TextBoxSearchObject.KeyUp       += TextBoxSearchObject_KeyUp;
     freezeChangeTimeMS = 500;
     SelectedSearchType = ContentDirectorySearchType.Artist;
 }
        protected void searchContentBrowserList(String _searchString, ContentDirectorySearchType _searchType)
        {
            if (String.IsNullOrEmpty(_searchString))
                return;

            this.saveContentBrowseListPosition();
            this.setContentBrowserListOnUpdate(true);
            rfController.contentBrowser.search(_searchString, _searchType);
        }
示例#4
0
 private void SearchButtonAlbum_Click(object sender, RoutedEventArgs e)
 {
     SelectedSearchType = ContentDirectorySearchType.Album;
     UpdateSearchTypeSelection();
     if (searchTypeChanged != null)
     {
         this.searchTypeChanged(this, SelectedSearchType);
     }
 }
示例#5
0
        protected void searchContentBrowserList(String _searchString, ContentDirectorySearchType _searchType)
        {
            if (String.IsNullOrEmpty(_searchString))
            {
                return;
            }

            this.saveContentBrowseListPosition();
            this.setContentBrowserListOnUpdate(true);
            rfController.contentBrowser.search(_searchString, _searchType);
        }
 void gridSearchContentControl_searchTypeChangedSink(RaumfeldNET.WPFControls.SearchContentControl _searchContentControl, ContentDirectorySearchType _newValue)
 {
     this.searchContentBrowserList(_searchContentControl.getSearchString(), _searchContentControl.SelectedSearchType);
 }
示例#7
0
 private void SearchButtonTrack_Click(object sender, RoutedEventArgs e)
 {
     SelectedSearchType = ContentDirectorySearchType.Track;
        UpdateSearchTypeSelection();
        if (searchTypeChanged != null) this.searchTypeChanged(this, SelectedSearchType);
 }
示例#8
0
        protected String buildContainerIdForSearch(ContentDirectoryMainContentType _mainContentType, ContentDirectorySearchType _searchType = ContentDirectorySearchType.Artist)
        {
            String container = "";

            switch (_mainContentType)
            {
                case ContentDirectoryMainContentType.MyMusic:
                    container = "0/My Music/Search/";
                    break;
                case ContentDirectoryMainContentType.Napster:
                    container = "0/Napster/Search/";
                    break;
                case ContentDirectoryMainContentType.Simfy:
                    container = "0/Simfy/Search/";
                    break;
                case ContentDirectoryMainContentType.TuneIn:
                    container = "0/RadioTime/Search";
                    break;
            }

            switch (_searchType)
            {
                case ContentDirectorySearchType.Album:
                    container += "Album";
                    break;
                case ContentDirectorySearchType.Artist:
                    container += "Artist";
                    break;
                case ContentDirectorySearchType.Track:
                    // Damn Raumfeld ;), needs to have special for tracks too!
                    if (_mainContentType == ContentDirectoryMainContentType.MyMusic)
                        container += "AllTrack";
                    else
                        container += "Track";
                    break;
            }

            // Damn Raumfeld ;), needs to have an "s" on one special type
            if (_mainContentType == ContentDirectoryMainContentType.MyMusic)
                container += "s";

            return container;
        }
示例#9
0
        public void search(String _searchString, ContentDirectorySearchType _searchType = ContentDirectorySearchType.Artist)
        {
            UPNPMediaListBrowse currentList, searchList;
            String containerId = this.buildContainerIdForSearch(mainContentType, _searchType);
            String raumfeldSearchString;

            raumfeldSearchString = "raumfeld:any contains \"" + _searchString + "\"";
            raumfeldSearchString = "dc:title contains \"" + _searchString + "\"";

            currentList = (UPNPMediaListBrowse)this.getList(this.containerIdToListId(currentContainerId, mainContentType));

            if (currentList != null && !currentList.isSearchChild)
                this.setSearchListParentIdFromMainContentType(mainContentType, this.containerIdToListId(currentContainerId, mainContentType));

            // always create new search List
            searchList = (UPNPMediaListBrowse)this.createListObject("Search=" + this.getMainContentType().ToString() + "Type=" + _searchType.ToString() + "ID=" + containerId);
            //searchList = new UPNPMediaListBrowse("Search=" + this.getMainContentType().ToString() + "Type=" + _searchType.ToString() + "ID=" + containerId);
            searchList.listDataReady += listDataReadySink;
            searchList.parentListId = this.getSearchListParentIdFromMainContentType(mainContentType);
            searchList.isSearchChild = true;
            searchList.path = mainContentType.ToString() + " Suchergebnis für '" + _searchString + "' ";
            if (this.getList(searchList.listId) != null)
                lists[searchList.listId] = searchList;
            else
                lists.Add(searchList.listId, searchList);
            searchList.retrieveListByContainerId(containerId, raumfeldSearchString);
        }
示例#10
0
 void flyoutSearchContentControl_searchTypeChangedSink(RaumfeldNET.WPFControls.SearchContentControl _searchContentControl, ContentDirectorySearchType _newValue)
 {
     this.searchContentBrowserList(_searchContentControl.getSearchString(), _searchContentControl.SelectedSearchType);
 }
示例#11
0
        protected String buildContainerIdForSearch(ContentDirectoryMainContentType _mainContentType, ContentDirectorySearchType _searchType = ContentDirectorySearchType.Artist)
        {
            String container = "";

            switch (_mainContentType)
            {
            case ContentDirectoryMainContentType.MyMusic:
                container = "0/My Music/Search/";
                break;

            case ContentDirectoryMainContentType.Napster:
                container = "0/Napster/Search/";
                break;

            case ContentDirectoryMainContentType.Simfy:
                container = "0/Simfy/Search/";
                break;

            case ContentDirectoryMainContentType.TuneIn:
                container = "0/RadioTime/Search";
                break;
            }

            switch (_searchType)
            {
            case ContentDirectorySearchType.Album:
                container += "Album";
                break;

            case ContentDirectorySearchType.Artist:
                container += "Artist";
                break;

            case ContentDirectorySearchType.Track:
                // Damn Raumfeld ;), needs to have special for tracks too!
                if (_mainContentType == ContentDirectoryMainContentType.MyMusic)
                {
                    container += "AllTrack";
                }
                else
                {
                    container += "Track";
                }
                break;
            }

            // Damn Raumfeld ;), needs to have an "s" on one special type
            if (_mainContentType == ContentDirectoryMainContentType.MyMusic)
            {
                container += "s";
            }

            return(container);
        }