예제 #1
0
        private void OnBuildFavoritesMenu(object sender, EventArgs e)
        {
            try
            {
                ToolStripDropDownItem tsmi = sender as ToolStripDropDownItem;
                if (tsmi == null || tsmi.DropDownItems == null || tsmi.DropDownItems.Count < 2)
                {
                    return;
                }

                tsbFavorites.DropDown.BackColor = ThemeManager.WndValidColor;

                ilFavorites.Images.Clear();

                // Clear favorites items
                List <ToolStripItem> itemsToClear = new List <ToolStripItem>();
                foreach (ToolStripItem child in tsmi.DropDownItems)
                {
                    if ((child as ToolStripSeparator) != null || child.Tag != null)
                    {
                        continue;
                    }

                    itemsToClear.Add(child);
                }

                foreach (ToolStripItem itemToClear in itemsToClear)
                {
                    tsmi.DropDownItems.Remove(itemToClear);
                }

                List <string> favPaths = ProTONEConfig.GetFavoriteFolders("FavoriteFolders");
                if (favPaths != null && favPaths.Count > 0)
                {
                    foreach (string path in favPaths)
                    {
                        if (Directory.Exists(path))
                        {
                            OPMToolStripDropDownMenuItem tsi = new OPMToolStripDropDownMenuItem(tsbFavorites);
                            tsi.Text         = path;
                            tsi.Click       += new EventHandler(OnFavoriteChosen);
                            tsi.Image        = ilFavorites.Images[GetIcon(path)];
                            tsi.ImageScaling = ToolStripItemImageScaling.None;

                            tsmi.DropDownItems.Add(tsi);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
            }
        }
예제 #2
0
        internal void SavePlaylist()
        {
            string filter = string.Empty;

            filter += MediaRenderer.DefaultInstance.PlaylistsFilter;
            filter += Translator.Translate("TXT_ALL_FILES_FILTER");
            filter  = filter.Replace("TXT_PLAYLISTS", Translator.Translate("TXT_PLAYLISTS"));

            OPMSaveFileDialog dlg = new OPMSaveFileDialog();

            dlg.Title            = Translator.Translate("TXT_SAVEPLAYLIST");
            dlg.Filter           = filter;
            dlg.DefaultExt       = "m3u";
            dlg.FilterIndex      = ProTONEConfig.PL_LastFilterIndex;
            dlg.InitialDirectory = ProTONEConfig.PL_LastOpenedFolder;

            dlg.InheritAppIcon = false;
            dlg.Icon           = OPMedia.UI.Properties.Resources.Save16.ToIcon();

            dlg.FillFavoriteFoldersEvt += () => { return(ProTONEConfig.GetFavoriteFolders("FavoriteFolders")); };
            dlg.AddToFavoriteFolders   += (s) => { return(ProTONEConfig.AddToFavoriteFolders(s)); };
            dlg.ShowAddToFavorites      = true;

            dlg.ShowNewFolder = true;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                ProTONEConfig.PL_LastFilterIndex = dlg.FilterIndex;

                playlist.SavePlaylist(dlg.FileName);

                try
                {
                    string file = dlg.FileNames[0];
                    ProTONEConfig.PL_LastOpenedFolder = Path.GetDirectoryName(file);
                }
                catch
                {
                    ProTONEConfig.PL_LastOpenedFolder = dlg.InitialDirectory;
                }
            }
        }
        private void btnAddFiles_Click(object sender, EventArgs e)
        {
            CursorHelper.ShowWaitCursor(this, true);

            OPMOpenFileDialog dlg = new OPMOpenFileDialog();

            dlg.Title            = Translator.Translate("TXT_SELECTTAGGEDFILES");
            dlg.Filter           = Translator.Translate("TXT_TAGGEDFILESFILTER");
            dlg.InitialDirectory = ProTONEConfig.LastOpenedFolder;
            dlg.Multiselect      = true;

            dlg.InheritAppIcon = false;
            dlg.Icon           = Resources.Tagging16.ToIcon();

            dlg.FillFavoriteFoldersEvt += () => { return(ProTONEConfig.GetFavoriteFolders("FavoriteFolders")); };
            dlg.AddToFavoriteFolders   += (s) => { return(ProTONEConfig.AddToFavoriteFolders(s)); };
            dlg.ShowAddToFavorites      = true;


            if (dlg.ShowDialog() == DialogResult.OK && dlg.FileNames.Length > 0)
            {
                foreach (string file in dlg.FileNames)
                {
                    AddFile(file);
                }

                try
                {
                    string file = dlg.FileNames[0];
                    ProTONEConfig.LastOpenedFolder = Path.GetDirectoryName(file);
                }
                catch
                {
                    ProTONEConfig.LastOpenedFolder = dlg.InitialDirectory;
                }
            }

            CursorHelper.ShowWaitCursor(this, false);
            Wizard.CanMoveNext = lvFiles.Items.Count > 0;
        }