diff --git a/MusicPlayer/MusicPlayer/MainForm.Designer.cs b/MusicPlayer/MusicPlayer/MainForm.Designer.cs index 074ee58..9d7e3f5 100644 --- a/MusicPlayer/MusicPlayer/MainForm.Designer.cs +++ b/MusicPlayer/MusicPlayer/MainForm.Designer.cs @@ -31,7 +31,7 @@ namespace MusicPlayer private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.SongsTableView = new System.Windows.Forms.DataGridView(); this.GenreListBox = new System.Windows.Forms.ListBox(); @@ -110,6 +110,7 @@ namespace MusicPlayer this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.NotifyMenuStripNextButton = new System.Windows.Forms.ToolStripMenuItem(); this.NotifyMenuStripPreviousButton = new System.Windows.Forms.ToolStripMenuItem(); + this.AddToQueueLabel = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.SongsTableView)).BeginInit(); this.MainPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.SplitContainer)).BeginInit(); @@ -130,14 +131,14 @@ namespace MusicPlayer this.SongsTableView.AllowUserToResizeRows = false; this.SongsTableView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.SongsTableView.BackgroundColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.ControlLight; - dataGridViewCellStyle4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.SongsTableView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.ControlLight; + dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.SongsTableView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.SongsTableView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.SongsTableView.Dock = System.Windows.Forms.DockStyle.Fill; this.SongsTableView.Location = new System.Drawing.Point(0, 0); @@ -203,6 +204,7 @@ namespace MusicPlayer | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.MainPanel.BackColor = System.Drawing.SystemColors.Window; + this.MainPanel.Controls.Add(this.AddToQueueLabel); this.MainPanel.Controls.Add(this.SplitContainer); this.MainPanel.Controls.Add(this.AlbumListLabel); this.MainPanel.Controls.Add(this.ArtistListLabel); @@ -841,6 +843,19 @@ namespace MusicPlayer this.NotifyMenuStripPreviousButton.Text = "Previous"; this.NotifyMenuStripPreviousButton.Click += new System.EventHandler(this.NotifyMenuStripPreviousButton_Click); // + // AddToQueueLabel + // + this.AddToQueueLabel.AutoSize = true; + this.AddToQueueLabel.BackColor = System.Drawing.SystemColors.Control; + this.AddToQueueLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.AddToQueueLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.AddToQueueLabel.Location = new System.Drawing.Point(668, 4); + this.AddToQueueLabel.Name = "AddToQueueLabel"; + this.AddToQueueLabel.Size = new System.Drawing.Size(104, 18); + this.AddToQueueLabel.TabIndex = 10; + this.AddToQueueLabel.Text = "Add to Queue"; + this.AddToQueueLabel.Visible = false; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -954,6 +969,7 @@ namespace MusicPlayer private System.Windows.Forms.ToolStripSeparator toolStripSeparator7; private System.Windows.Forms.ToolStripMenuItem AdvancedSearchButton; private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label AddToQueueLabel; } } diff --git a/MusicPlayer/MusicPlayer/MainForm.cs b/MusicPlayer/MusicPlayer/MainForm.cs index c7d00fd..053d970 100644 --- a/MusicPlayer/MusicPlayer/MainForm.cs +++ b/MusicPlayer/MusicPlayer/MainForm.cs @@ -486,7 +486,7 @@ namespace MusicPlayer { main.FilterCurrentPlaying(); int selected = main.currentPlayingList.IndexOf(main.audio.CurrentSong); - if(main.currentPlayingList.Count >= 1) + if(main.currentPlayingList.Count >= 1 && selected >= 0) SongsTableView.CurrentCell = SongsTableView.Rows[selected].Cells[0]; } @@ -505,23 +505,43 @@ namespace MusicPlayer { Cursor.Current = Cursors.Default; Point point = PlaylistBox.PointToClient(Cursor.Position); + Point point2 = AddToQueueLabel.PointToClient(Cursor.Position); + bool queue = AddToQueueLabel.ClientRectangle.Contains(point2); int index = PlaylistBox.IndexFromPoint(point); - if (index < 0) //nope, niet op een playlist gesleept + if (index < 0 && !queue) //nope, niet op een playlist gesleept { draggedstarted = false; draggedcompleted = false; return; } - Playlist currentPlaylist = main.pl.GetPlaylistByName(PlaylistBox.Items[index].ToString()); - SongsTable s = new SongsTable(); - if (SongsTableView.SelectedRows.Count > 0) + + if (queue) { - var drv = SongsTableView.SelectedRows[0].DataBoundItem as DataRowView; - var row = drv.Row as DataRow; - s.ImportRow(row); - currentPlaylist.AddSong((s.Rows[0][5] as Song)); - currentPlaylist.WriteToFile(); + SongsTable s = new SongsTable(); + if (SongsTableView.SelectedRows.Count > 0) + { + var drv = SongsTableView.SelectedRows[0].DataBoundItem as DataRowView; + var row = drv.Row as DataRow; + s.ImportRow(row); + main.currentPlayingList.Add((s.Rows[0][5] as Song)); + ViewCurrentPlaylistButton_Click(this, new EventArgs()); + } } + else + { + Playlist currentPlaylist = main.pl.GetPlaylistByName(PlaylistBox.Items[index].ToString()); + SongsTable s = new SongsTable(); + if (SongsTableView.SelectedRows.Count > 0) + { + var drv = SongsTableView.SelectedRows[0].DataBoundItem as DataRowView; + var row = drv.Row as DataRow; + s.ImportRow(row); + currentPlaylist.AddSong((s.Rows[0][5] as Song)); + currentPlaylist.WriteToFile(); + } + } + + AddToQueueLabel.Visible = false; } draggedcompleted = false; @@ -537,6 +557,7 @@ namespace MusicPlayer { draggedcompleted = true; playlistsToolStripMenuItem_Click(this, new EventArgs()); + AddToQueueLabel.Visible = true; Cursor.Current = Cursors.Hand; } }