int IComparable.CompareTo(object obj) { WriteableResultOption that = (WriteableResultOption)obj; if (this.Year == 0 && that.Year == 0) { return(0); } if (this.Year != 0 && that.Year == 0) { return(-1); } if (this.Year == 0 && that.Year != 0) { return(1); } if (this.Year != 0 && that.Year != 0) { if (this.Year < that.Year) { return(-1); } if (this.Year > that.Year) { return(1); } if (this.Year == that.Year) { return(0); } else { System.Windows.MessageBox.Show("What the fuck"); return(0); } } else { var a = this; var b = that; System.Windows.MessageBox.Show("What the fuck"); return(0); } }
// Creates a ResultOption TabItem for a file that returns zeor WriteableResultOptions TabItem CreateZeroResultOptionTabItem( MediaFile mf ) { TabItem tabItem = new TabItem( ); tabItem.Header = "No Results"; Grid mainResultOptionGrid = new Grid( ); mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) ); mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) ); WriteableResultOption blankWriteableResultOption = new WriteableResultOption(mf.FileName); // coloration tentatively in place for control separation for under construction design/debugging purposes mainResultOptionGrid.Background = System.Windows.Media.Brushes.CornflowerBlue; try { Canvas albumCanvas = CreateAlbumSpecificCanvas( blankWriteableResultOption, mf, System.Windows.Media.Brushes.DarkSalmon, false ); Canvas trackCanvas = CreateTrackSpecificCanvas( blankWriteableResultOption, mf, System.Windows.Media.Brushes.DarkSeaGreen, false ); mainResultOptionGrid.Children.Add( albumCanvas ); mainResultOptionGrid.Children.Add( trackCanvas ); } catch(Exception ex) { ExceptionList.Add( new Tuple<string, string>( ex.Message , ex.StackTrace) ); } tabItem.Content = mainResultOptionGrid; return tabItem; }
// Creates and returns a Canvas containing the WriteableResultOption fields pertintent to specific track entries // Hardcoded to be assigned to the second row of the mainResultOptionGrid in TabItem CreateResultOptionTabItem() Canvas CreateTrackSpecificCanvas(WriteableResultOption wro, MediaFile mf , System.Windows.Media.Brush background, bool downloadArtwork) { Canvas trackCanvas = new Canvas( ); trackCanvas.Name = "trackCanvas"; Label lbl = new Label( ); TextBox tb = new TextBox( ); trackCanvas.Background = background; // Track Items lbl = new Label( ); lbl.Content = "Title"; Canvas.SetTop( lbl, 10 ); Canvas.SetLeft( lbl, 10 ); trackCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbTitle"; tb.Text = wro.Title; Canvas.SetTop( tb, 10 ); Canvas.SetLeft( tb, 100 ); trackCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Track Number"; Canvas.SetTop( lbl, 40 ); Canvas.SetLeft( lbl, 10 ); trackCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbTrackNumber"; tb.Text = wro.TrackNumber.ToString( ); Canvas.SetTop( tb, 40 ); Canvas.SetLeft( tb, 100 ); trackCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Disc Number"; Canvas.SetTop( lbl, 40 ); Canvas.SetLeft( lbl, 200 ); trackCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbDiscNumber"; tb.Text = wro.DiscNumber.ToString( ); Canvas.SetTop( tb, 40 ); Canvas.SetLeft( tb, 300 ); trackCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "FileName"; Canvas.SetTop( lbl, 70 ); Canvas.SetLeft( lbl, 10 ); trackCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbFileName"; tb.Text = GenericFileName( wro.Title, wro.Artists, wro.TrackNumber ); Canvas.SetTop( tb, 70 ); Canvas.SetLeft( tb, 100 ); trackCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Artists"; Canvas.SetTop( lbl, 100 ); Canvas.SetLeft( lbl, 10 ); trackCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbArtist"; foreach ( string artist in wro.Artists ) { tb.Text += artist + System.Environment.NewLine; } Canvas.SetTop( tb, 100 ); Canvas.SetLeft( tb, 100 ); trackCanvas.Children.Add( tb ); // TODO: completely implement this button // For now it's hidden as it's not correctly functional Button btn = new Button( ); btn.Content = "Save Track"; btn.Click += SaveTrackData; btn.Visibility = Visibility.Hidden; Canvas.SetTop( btn, 200 ); Canvas.SetLeft( btn, 200 ); trackCanvas.Children.Add( btn ); Grid.SetRow( trackCanvas, 1 ); return trackCanvas; }
// Creates a ResultOption TabItem for a given WriteableResultOption TabItem CreateResultOptionTabItem(WriteableResultOption wro, MediaFile mf, int tabItemNumber, bool downloadArtwork) { // Creates TabItem tabItem = new TabItem( ); tabItem.Header = "Result " + tabItemNumber.ToString(); Grid mainResultOptionGrid = new Grid( ); mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) ); mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) ); // coloration tenatively in place for control separation for debugging purposes mainResultOptionGrid.Background = System.Windows.Media.Brushes.CornflowerBlue; Canvas albumCanvas = CreateAlbumSpecificCanvas( wro, mf, System.Windows.Media.Brushes.DarkSalmon, true ); Canvas trackCanvas = CreateTrackSpecificCanvas( wro, mf, System.Windows.Media.Brushes.DarkSeaGreen, true ); mainResultOptionGrid.Children.Add( albumCanvas ); mainResultOptionGrid.Children.Add( trackCanvas ); tabItem.Content = mainResultOptionGrid; return tabItem; }
// Creates and returns a Canvas containing the WriteableResultOption fields pertintent to album entries // Hardcoded to be assigned to the first row of the mainResultOptionGrid in TabItem CreateResultOptionTabItem() Canvas CreateAlbumSpecificCanvas(WriteableResultOption wro, MediaFile mf , System.Windows.Media.Brush background, bool downloadArtwork) { Canvas albumCanvas = new Canvas( ); albumCanvas.Name = "albumCanvas"; Label lbl = new Label( ); TextBox tb = new TextBox( ); lbl.Name = "lblFileName"; lbl.Content = mf.PartialFileName; lbl.Visibility = Visibility.Hidden; albumCanvas.Children.Add( lbl ); albumCanvas.Background = background; // Album Items lbl = new Label( ); lbl.Content = "Album"; Canvas.SetTop( lbl, 10 ); Canvas.SetLeft( lbl, 10 ); albumCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbAlbum"; tb.Text = wro.Album; Canvas.SetTop( tb, 10 ); Canvas.SetLeft( tb, 100 ); albumCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Track Count"; Canvas.SetTop( lbl, 40 ); Canvas.SetLeft( lbl, 10 ); albumCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbTrackCount"; tb.Text = wro.TrackCount.ToString( ); Canvas.SetTop( tb, 40 ); Canvas.SetLeft( tb, 100 ); albumCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Disc Count"; Canvas.SetTop( lbl, 40 ); Canvas.SetLeft( lbl, 200 ); albumCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbDiscCount"; tb.Text = wro.DiscCount.ToString( ); Canvas.SetTop( tb, 40 ); Canvas.SetLeft( tb, 300 ); albumCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Year"; Canvas.SetTop( lbl, 70 ); Canvas.SetLeft( lbl, 10 ); albumCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbYear"; tb.Text = wro.Year.ToString( ); Canvas.SetTop( tb, 70 ); Canvas.SetLeft( tb, 100 ); albumCanvas.Children.Add( tb ); lbl = new Label( ); lbl.Content = "Genre"; Canvas.SetTop( lbl, 70 ); Canvas.SetLeft( lbl, 200 ); albumCanvas.Children.Add( lbl ); tb = new TextBox( ); tb.Name = "tbGenre"; tb.Text = ""; Canvas.SetTop( tb, 70 ); Canvas.SetLeft( tb, 300 ); ; albumCanvas.Children.Add( tb ); if ( downloadArtwork == true ) { ScannedFiles.SetArtwork( mf ); } if ( wro.ReleaseID != null && ScannedFiles.ReleaseIDToImageData.ContainsKey( wro.ReleaseID ) ) { try { Image img = new Image( ); BitmapImage bmpImage = new BitmapImage( ); bmpImage.BeginInit( ); bmpImage.StreamSource = new MemoryStream( ScannedFiles.ReleaseIDToImageData [ wro.ReleaseID ] ); bmpImage.DecodePixelHeight = 170; bmpImage.DecodePixelWidth = 170; bmpImage.EndInit( ); img.Source = bmpImage; Canvas.SetTop( img, 100 ); Canvas.SetLeft( img, 10 ); img.Height = 160; img.Width = 160; img.AllowDrop = true; img.Drop += DropArtworkOnImage; albumCanvas.Children.Add( img ); } catch ( Exception ex ) { ExceptionList.Add( new Tuple<string, string>( wro.ReleaseID + " - > to image data -> to Image control", ex.Message + System.Environment.NewLine + ex.StackTrace ) ); } } // Adds controls for files without any writeable result options if(wro.IsANullResult == true ) { lbl = new Label( ); lbl.Content = "Nothing found for " + mf.FileName; lbl.FontSize = 9; Canvas.SetTop( lbl, 100 ); Canvas.SetLeft( lbl, 10 ); albumCanvas.Children.Add( lbl ); } //removed wro.IsANullResult == true || if(wro.ImageSourceURL == null) { Image img = new Image( ); img.Source = CreateImageSource( ); img.Height = 140; img.Width = 140; // TODO: ADD EVENTS, BRO img.DragOver += DropArtworkOnImage; img.AllowDrop = true; // TODO: COMPLETE Canvas.SetTop( img, 140 ); Canvas.SetLeft( img, 10 ); albumCanvas.Children.Add( img ); } // Create button to apply album specific data for a given resultoption tab to every file in the ( FOR NOW // TODO ALTER THIS ) containing folder Button btnApplyToAllFilesInFolder = new Button( ); btnApplyToAllFilesInFolder.Content = "Apply to All Files in the Containing Folder"; btnApplyToAllFilesInFolder.Click += SaveAllFilesInContainingFolder; Canvas.SetTop( btnApplyToAllFilesInFolder, 140 ); Canvas.SetLeft( btnApplyToAllFilesInFolder, 200 ); albumCanvas.Children.Add( btnApplyToAllFilesInFolder ); // End of Album Items Canvas Grid.SetRow( albumCanvas, 0 ); return albumCanvas; }