Exemple #1
0
        ///<summary> Закрытие заданной вкладки. </summary>
        public void CloseTab(TabItem targetTab)
        {
            string tabName = tabMap.FirstOrDefault(ent => ent.Value == targetTab).Key;

            // закрываем каталог при закрытии главной панели
            if (tabName == "Main")
            {
                CloseCatalog();
                return;
            }

            // чистим, если панель альбома
            if (targetTab.Content is AlbumPanel)
            {
                AlbumPanel albPanel = targetTab.Content as AlbumPanel;
                albPanel.ClearPanel();
                if (albPanel.DataContext is CatalogAlbum)
                {
                    var album = albPanel.DataContext as CatalogAlbum;
                    album?.StopLoadEntCoversThread();
                }
            }

            RemoveTab(targetTab);
        }
Exemple #2
0
        private Dictionary <string, TabItem> tabMap = new Dictionary <string, TabItem>();       // хранилище вкладок

        /// <summary> Открытие вкладки альбома. </summary>
        public void OpenAlbumTab(CatalogAlbum album, bool focus = true)
        {
            string tabName = "" + album.Name;

            // проверяем существование вкладки
            if (tabMap.ContainsKey(tabName))
            {
                if (focus)
                {
                    Dispatcher.BeginInvoke((Action)(() => tabMap[tabName].IsSelected = true));
                }
                return;
            }

            // формируем альбомную панель
            AlbumPanel albPanel = new AlbumPanel(album.EntryList);

            albPanel.UpdatePanelContent();
            albPanel.DataContext = album;
            var targetTab = new ClosableTab(tabName, albPanel, CloseTab);

            AddTab(targetTab, tabName, focus);

            // запускаем фоновый генератор обложек для эпизодов в альбоме
            album.RunLoadEntCoversThreaded();
        }
Exemple #3
0
        //Filter by Track Album Done button
        private void metroButton6_Click(object sender, EventArgs e)
        {
            FileStream      FS = new FileStream("mp3.txt", FileMode.Open);
            BinaryFormatter BF = new BinaryFormatter();

            List <MP3Tag_and_nameOf_MP3> list = new List <MP3Tag_and_nameOf_MP3>();

            while (FS.Position < FS.Length)
            {
                MP3Tag_and_nameOf_MP3 Tag = (MP3Tag_and_nameOf_MP3)BF.Deserialize(FS);
                if (Tag.Album == metroComboBox3.SelectedItem.ToString())
                {
                    list.Add(Tag);
                }
            }

            FS.Close();

            FileStream fs = new FileStream("mp3.txt", FileMode.Truncate);

            fs.Close();

            FileStream F = new FileStream("mp3.txt", FileMode.Open);

            for (int i = 0; i < list.Count; i++)
            {
                BF.Serialize(F, list[i]);
            }

            F.Close();

            MessageBox.Show("You have chosen: " + list.Count().ToString() + " song for Album: " + list[0].Album);
            AlbumPanel.Hide();
        }
Exemple #4
0
        ///<summary> Открытие основной вкладки каталога. </summary>
        public void OpenMainTab()
        {
            string tabName = "Main";

            if (tabMap.ContainsKey(tabName))
            {
                Dispatcher.BeginInvoke((Action)(() => tabMap[tabName].IsSelected = true));
                return;
            }

            MainPanel             = new AlbumPanel(CatEng.CatRoot.AlbumsList, true);
            MainPanel.DataContext = CatEng.CatRoot;
            var targetTab = new ClosableTab(tabName, MainPanel, CloseTab);

            AddTab(targetTab, tabName);
        }
Exemple #5
0
    private void create()
    {
        Instantiate(PrefEventSystem);

        _canvas = Instantiate(PrefCanvas);

        _lobbyPanel = Instantiate(PrefLobbyPanel);
        _lobbyPanel.transform.SetParent(_canvas.transform, false);

        _formPanel = Instantiate(PrefFormPanel);
        _formPanel.transform.SetParent(_canvas.transform, false);

        _constitutionPanel = Instantiate(PrefConstitutionPanel);
        _constitutionPanel.transform.SetParent(_canvas.transform, false);

        _zodiacPanel = Instantiate(PrefZodiacPanel);
        _zodiacPanel.transform.SetParent(_canvas.transform, false);

        _albumPanel = Instantiate(PrefAlbumPanel);
        _albumPanel.transform.SetParent(_canvas.transform, false);
    }
Exemple #6
0
        ///<summary> Закрытие всех вкладок. </summary>
        public void CloseAllTab()
        {
            foreach (var targetTab in tabMap.Values.ToArray())
            {
                string tabName = tabMap.FirstOrDefault(ent => ent.Value == targetTab).Key;

                // вкладка с панелью альбома
                if (targetTab.Content is AlbumPanel)
                {
                    AlbumPanel albPanel = targetTab.Content as AlbumPanel;
                    albPanel.ClearPanel();

                    if (albPanel.DataContext is CatalogAlbum)
                    {
                        var album = albPanel.DataContext as CatalogAlbum;
                        album?.StopLoadEntCoversThread();
                    }
                }

                RemoveTab(targetTab);
            }
        }
Exemple #7
0
 //Filter by Album button ( switches panels )
 private void bunifuTileButton3_Click(object sender, EventArgs e)
 {
     AlbumPanel.Show();
 }