Exemple #1
0
        public void ApplySkin(XmlNode pXmlNode, string pSkinPath)
        {
            Clear();


            XmlNode buttonNode = pXmlNode.SelectSingleNode(XPATH_REBUILD_DATABSE);

            if (buttonNode != null)
            {
                var button = new GraphicalButton();
                button.ButtonString = "Rebuild Database";
                button.ApplySkin(buttonNode, pSkinPath);

                AddViewControl(button);
                button.StartRender();
                button.Click += (sender, e) => { AppMain.BackgroundTasks.ScanMedia(true); };
            }

            var nodeNames = new string[] { XPATH_MUSIC_FOLDER, XPATH_PICTURE_FOLDER, XPATH_VIDEO_FOLDER };

            foreach (string nodeName in nodeNames)
            {
                XmlNode node = pXmlNode.SelectSingleNode(nodeName);
                if (node != null)
                {
                    TextInput ti = new TextInput();
                    ti.ApplySkin(node, pSkinPath);
                    AddViewControl(ti);
                    ti.StartRender();

                    switch (nodeName)
                    {
                    case XPATH_MUSIC_FOLDER:
                        ti.InputLeave += () =>
                        {
                            if (AppMain.Settings.MusicPath != ti.TextString)
                            {
                                AppMain.Settings.MusicPath = ti.TextString;
                                AppMain.Settings.SaveXml();
                            }
                        };
                        ti.TextString = AppMain.Settings.MusicPath; break;

                    case XPATH_PICTURE_FOLDER:
                        ti.InputLeave += () =>
                        {
                            if (AppMain.Settings.PicturePath != ti.TextString)
                            {
                                AppMain.Settings.PicturePath = ti.TextString;
                                AppMain.Settings.SaveXml();
                            }
                        };
                        ti.TextString = AppMain.Settings.PicturePath; break;

                    case XPATH_VIDEO_FOLDER:
                        ti.InputLeave += () =>
                        {
                            if (AppMain.Settings.VideoPath != ti.TextString)
                            {
                                AppMain.Settings.VideoPath = ti.TextString;
                                AppMain.Settings.SaveXml();
                            }
                        };
                        ti.TextString = AppMain.Settings.VideoPath; break;
                    }
                }
            }
        }