Пример #1
0
            private void CheckLocalGoogleDrive()
            {
                new Thread(() => {
                    Thread.CurrentThread.IsBackground = true;
                    stopCheck = false;

                    MainProgram.DoDebug("Starting loop to check for Google Drive folder locally");
                    while (backgroundCheckerServiceName == "googledrive" && MainProgram.GetGoogleDriveFolder() == String.Empty && !stopCheck)
                    {
                        Thread.Sleep(1000);
                    }
                    if (stopCheck)
                    {
                        stopCheck = false;
                        return;
                    }

                    if (backgroundCheckerServiceName == "googledrive")
                    {
                        //Cloud service has been installed since we last checked!
                        MainProgram.DoDebug("Google Drive has been added to local PC. Proceed.");
                        theWebBrowser.Invoke(new Action(() => {
                            theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[2] {
                                true, false
                            });
                        }));
                    }
                    else
                    {
                        MainProgram.DoDebug("Service has since been changed. Stopping the search for Google Drive.");
                    }
                }).Start();
            }
Пример #2
0
            public void CloudServiceChosen(string service = "")
            {
                switch (service)
                {
                case "dropbox":
                case "onedrive":
                case "googledrive":
                    backgroundCheckerServiceName = service;
                    break;

                default:
                    return;
                }

                if (MainProgram.GetCloudServicePath(backgroundCheckerServiceName) != "")
                {
                    //Cloud service found
                    MainProgram.DoDebug("Cloud service " + backgroundCheckerServiceName + " is installed");
                    if (backgroundCheckerServiceName == "googledrive")
                    {
                        bool partial = MainProgram.GetGoogleDriveFolder() != String.Empty;
                        if (theWebBrowser != null)
                        {
                            if (theWebBrowser.Handle != null)
                            {
                                theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[2] {
                                    true, partial
                                });
                            }
                        }
                        if (partial)
                        {
                            CheckLocalGoogleDrive();
                        }
                    }
                    else
                    {
                        if (theWebBrowser != null)
                        {
                            if (theWebBrowser.Handle != null)
                            {
                                theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[1] {
                                    true
                                });
                            }
                        }
                    }
                }
                else
                {
                    //Not found
                    new Thread(() => {
                        Thread.CurrentThread.IsBackground = true;
                        string checkValue = "";
                        stopCheck         = false;

                        MainProgram.DoDebug("Could not find cloud service. Running loop to check");
                        while (checkValue == "" && !stopCheck)
                        {
                            checkValue = MainProgram.GetCloudServicePath(backgroundCheckerServiceName);
                            Thread.Sleep(1000);
                        }
                        if (stopCheck)
                        {
                            stopCheck = false;
                            return;
                        }

                        //Cloud service has been installed since we last checked!
                        MainProgram.DoDebug("Cloud service has been installed since last check. Proceed.");

                        if (theWebBrowser != null)
                        {
                            if (theWebBrowser.Handle != null)
                            {
                                theWebBrowser.Invoke(new Action(() => {
                                    if (backgroundCheckerServiceName == "googledrive")
                                    {
                                        bool partial = MainProgram.GetGoogleDriveFolder() != String.Empty;
                                        theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[2] {
                                            true, partial
                                        });
                                        if (partial)
                                        {
                                            CheckLocalGoogleDrive();
                                        }
                                    }
                                    else
                                    {
                                        theWebBrowser.Document.InvokeScript("CloudServiceInstalled", new Object[1] {
                                            true
                                        });
                                    }
                                }));
                            }
                        }
                    }).Start();
                }
            }