예제 #1
0
        public ViewModel(IMainWindowCallbacks mainCallbacks)
        {
            if (mainCallbacks == null)
            {
                throw new ArgumentException("mainwindow callbacks can't be null");
            }
            mainWindowCallbacks = mainCallbacks;
            windowTitle         = "VLC Media Player Now Playing App";
            btnStartStopText    = "Start";
            isRunning           = false;
            updateInterval      = 2;
            fileText            = "Not Active or Started";
            lblText             = fileText;
            password            = "******";
            url = "http://localhost:8080/requests/status.xml";
            saveFileFullName           = Directory.GetCurrentDirectory() + "\\song.txt";
            Song                       = new Song();
            Song.Album                 = "Unknown";
            Song.Title                 = "Unknown";
            Song.Artist                = "Unknown";
            Song.Genre                 = "Unknown";
            format                     = "$album - $title";
            getXML                     = new BackgroundWorker();
            getXML.DoWork             += GetXML_DoWork;
            getXML.RunWorkerCompleted += GetXML_RunWorkerCompleted;

            runXMLWorker          = new Timer(updateInterval * 1000);
            runXMLWorker.Elapsed += RunXMLWorker_Elapsed;
        }
예제 #2
0
        public ViewModel(IMainWindowCallbacks mainCallbacks)
        {
            if(mainCallbacks ==null)
            {
                throw new ArgumentException("mainwindow callbacks can't be null");
            }
            mainWindowCallbacks = mainCallbacks;
            windowTitle = "VLC Media Player Now Playing App";
            btnStartStopText = "Start";
            isRunning = false;
            updateInterval = 2;
            fileText = "Not Active or Started";
            lblText = fileText;
            password = "******";
            url = "http://localhost:8080/requests/status.xml";
            saveFileFullName = Directory.GetCurrentDirectory() + "\\song.txt";
            Song = new Song();
            Song.Album = "Unknown";
            Song.Title = "Unknown";
            Song.Artist = "Unknown";
            Song.Genre = "Unknown";
            format = "$album - $title";
            getXML = new BackgroundWorker();
            getXML.DoWork += GetXML_DoWork;
            getXML.RunWorkerCompleted += GetXML_RunWorkerCompleted;

            runXMLWorker = new Timer(updateInterval * 1000);
            runXMLWorker.Elapsed += RunXMLWorker_Elapsed;
        }
예제 #3
0
        public ViewModel(IMainWindowCallbacks mainCallbacks)
        {
            if (mainCallbacks == null)
            {
                throw new ArgumentException("mainwindow callbacks can't be null");
            }
            mainWindowCallbacks = mainCallbacks;
            version             = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion.ToString();

            configuration = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);

            defaultConfigXMLPath = Directory.GetCurrentDirectory() + "\\default.xml";

            mainWindowCallbacks.ChangeDimensions(300, 350);

            #region imported code for theme changing

            this.AccentColors = ThemeManager.Accents.Select(a => new AccentColorMenuData()
            {
                displayName = a.Name, ChangeAccentCommand = this.ChangeAccentCommand, ChangeThemeCommand = this.ChangeThemeCommand, Name = a.Name, ColorBrush = a.Resources["AccentColorBrush"] as Brush
            }).ToList();


            this.AppThemes = ThemeManager.AppThemes.Select(a => new AppThemeMenuData()
            {
                displayName = a.Name.Substring(4), ChangeAccentCommand = this.ChangeAccentCommand, ChangeThemeCommand = this.ChangeThemeCommand, Name = a.Name, BorderColorBrush = a.Resources["BlackColorBrush"] as Brush, ColorBrush = a.Resources["WhiteColorBrush"] as Brush
            }).ToList();



            #endregion

            btnLoginText = "Login";

            saveLogin          = false;
            startupVisible     = true;
            ircServerEnabled   = true;
            ircPortEnabled     = true;
            ircUsernameEnabled = true;
            ircOATHEnabled     = true;
            saveLoginEnabled   = true;
            btnLoginEnabled    = true;
            progressBarVisible = false;
            managerVisible     = false;

            windowTitle = "Twitch Desktop Manager v" + version;

            chatWorker         = new BackgroundWorker();
            chatWorker.DoWork += ChatWorker_DoWork;
            chatWorker.WorkerSupportsCancellation = true;

            theme  = GetSetting("theme");
            accent = GetSetting("accent");
            if (theme == "")
            {
                theme = "Light";
                AddorUpdateSetting("theme", theme);
            }
            if (accent == "")
            {
                accent = "Purple";
                AddorUpdateSetting("accent", accent);
            }
            ChangeAccent(accent);
            ChangeTheme("Base" + theme);



            ircServer   = GetSetting("url");
            ircPort     = GetSetting("port");
            ircUsername = GetSetting("username");
            if (ircUsername != "")
            {
                saveLogin = true;
                ircOATH   = Encryption.Decrypt(GetSetting("oath"), Encryption.GetHashString(ircUsername));
            }
            if (!File.Exists(defaultConfigXMLPath))
            {
                channelConfigWriter = XmlWriter.Create(defaultConfigXMLPath);
                channelConfigWriter.WriteStartDocument();
                channelConfigWriter.WriteStartElement("Channels");

                channelConfigWriter.WriteEndElement();
                channelConfigWriter.WriteEndDocument();
            }
        }
예제 #4
0
        public ViewModel(IMainWindowCallbacks mainCallbacks)
        {
            if (mainCallbacks == null)
            {
                throw new ArgumentException("mainwindow callbacks can't be null");
            }
            mainWindowCallbacks = mainCallbacks;
            version = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion.ToString();

            configuration = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);

            defaultConfigXMLPath = Directory.GetCurrentDirectory() + "\\default.xml";

            mainWindowCallbacks.ChangeDimensions(300, 350);

            #region imported code for theme changing

            this.AccentColors = ThemeManager.Accents.Select(a => new AccentColorMenuData() { displayName=a.Name, ChangeAccentCommand=this.ChangeAccentCommand,ChangeThemeCommand=this.ChangeThemeCommand, Name = a.Name, ColorBrush = a.Resources["AccentColorBrush"] as Brush }).ToList();

            this.AppThemes = ThemeManager.AppThemes.Select(a => new AppThemeMenuData() {displayName=a.Name.Substring(4), ChangeAccentCommand = this.ChangeAccentCommand, ChangeThemeCommand = this.ChangeThemeCommand, Name = a.Name, BorderColorBrush = a.Resources["BlackColorBrush"] as Brush, ColorBrush = a.Resources["WhiteColorBrush"] as Brush }).ToList();

            #endregion

            btnLoginText = "Login";

            saveLogin = false;
            startupVisible = true;
            ircServerEnabled = true;
            ircPortEnabled = true;
            ircUsernameEnabled = true;
            ircOATHEnabled = true;
            saveLoginEnabled = true;
            btnLoginEnabled = true;
            progressBarVisible = false;
            managerVisible = false;

            windowTitle = "Twitch Desktop Manager v" + version;

            chatWorker = new BackgroundWorker();
            chatWorker.DoWork += ChatWorker_DoWork;
            chatWorker.WorkerSupportsCancellation = true;

            theme = GetSetting("theme");
            accent = GetSetting("accent");
            if(theme == "")
            {
                theme = "Light";
                AddorUpdateSetting("theme", theme);
            }
            if (accent == "")
            {
                accent = "Purple";
                AddorUpdateSetting("accent", accent);
            }
            ChangeAccent(accent);
            ChangeTheme("Base" + theme);

            ircServer = GetSetting("url");
            ircPort = GetSetting("port");
            ircUsername = GetSetting("username");
            if (ircUsername != "")
            {
                saveLogin = true;
                ircOATH = Encryption.Decrypt(GetSetting("oath"), Encryption.GetHashString(ircUsername));
            }
            if(!File.Exists(defaultConfigXMLPath))
            {
                channelConfigWriter = XmlWriter.Create(defaultConfigXMLPath);
                channelConfigWriter.WriteStartDocument();
                channelConfigWriter.WriteStartElement("Channels");

                channelConfigWriter.WriteEndElement();
                channelConfigWriter.WriteEndDocument();
            }
        }