예제 #1
0
        private UIManager()
            : base()
        {
            this.AddToSystemTray();
            this.LoginWindow = new Setup.Login(this);
            this.readyWindow = new Ready();
            Program.Controller.ShowSetupWindowEvent += delegate(GreenQloud.AbstractApplicationController.PageType page_type)
            {
                if (page_type == GreenQloud.AbstractApplicationController.PageType.Login) {
                    this.LoginWindow.ShowDialog();
                }
                else if (page_type == GreenQloud.AbstractApplicationController.PageType.ConfigureFolders)
                {
                    this.confFoldersWindow = new ConfFolders();
                    this.confFoldersWindow.ShowDialog();
                }
            };

            this.LoginWindow.OnLoginDone += (() =>
            {
                this.isLoged = true;
                this.LoginWindow.Done();
                this.confFoldersWindow = new ConfFolders();
                this.confFoldersWindow.ShowDialog();
            });
            this.LoginWindow.FormClosed += ((sender, args) =>
            {
                if (this.isLoged)
                {
                    Application.DoEvents();
                }
            });

            this.About = new AboutWindow();
            Program.Controller.ShowAboutWindowEvent += (() => this.About.ShowDialog());
        }
예제 #2
0
        public void UIHasLoaded ()
        {
            checkConnection.Start();
            if (!File.Exists(RuntimeSettings.DatabaseFile))
            {
                if (!Directory.Exists(RuntimeSettings.DatabaseFolder))
                    Directory.CreateDirectory(RuntimeSettings.DatabaseFolder);
                new Persistence.SQLite.SQLiteDatabase().CreateDataBase();
                File.WriteAllText(RuntimeSettings.DatabaseInfoFile, RuntimeSettings.DatabaseVersion);
            }
            else
            {
                if (!File.Exists(RuntimeSettings.DatabaseInfoFile))
                {
                    File.Delete(RuntimeSettings.DatabaseFile);
                }
                else
                {
                    string version = File.OpenText(RuntimeSettings.DatabaseInfoFile).ReadLine();
                    if (Double.Parse(version) < Double.Parse(RuntimeSettings.DatabaseVersion))
                    {
                        File.Delete(RuntimeSettings.DatabaseInfoFile);
                        File.Delete(RuntimeSettings.DatabaseFile);
                    }
                }
                if (!File.Exists(RuntimeSettings.DatabaseFile))
                {
                    new Persistence.SQLite.SQLiteDatabase().CreateDataBase();
                    File.WriteAllText(RuntimeSettings.DatabaseInfoFile, RuntimeSettings.DatabaseVersion);
                }
            }

            CalcTimeDiff();
            if (FirstRun)
            {
                foreach (string f in Directory.GetFiles(RuntimeSettings.ConfigPath))
                    File.Delete(f);
                UpdateConfigFile();
                verifyConfigRequirements();
                this.LoginWindow = new Login();
            }
            else
            {
                InitializeSynchronizers();
                UIManager.GetInstance().BuildMenu();
            }
            verifyConfigRequirements();
        }