コード例 #1
0
        //********************************************************************************************
        public async Task CheckLink(string path, bool local)
        {
            if (SkipCheckLink)
            {
                SkipCheckLink = false;
                return;
            }

            //TODO: Move this into the Config
            using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite"))
            {
                sql.AddParameter("Local", local);
                sql.ExecuteTX($@"SELECT l.[path] FROM pins p 
                    INNER JOIN pins l ON l.ID=p.LinkTo
                    WHERE p.Local=@Local AND p.path='{path}' AND p.ServerID={server.ID}");

                if (sql.Read())
                {
                    LinkPath.Tag   = true;
                    LinkPath.Image = Resources.link;
                    string link = sql.Value(0).ToString();
                    linkTip.SetToolTip(LinkPath, "Unlink folders");

                    if (local)
                    {
                        await RemoteList.LoadList(link);
                    }
                    else
                    {
                        LocalList.LoadList(link);
                    }
                }
                else
                {
                    LinkPath.Tag   = false;
                    LinkPath.Image = Resources.link_break;
                    linkTip.SetToolTip(LinkPath, "Link local and remote folders");
                }
            }
        }
コード例 #2
0
ファイル: Config.cs プロジェクト: heforfree/XwRemote
        //**************************************************************************************************
        private void LoadServers()
        {
            Main.servers.Clear();
            using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite"))
            {
                sql.ExecuteTX($@"SELECT 
                    id
                    ,name
                    ,host
                    ,ServerType
                    ,Username
                    ,Password
                    ,port   
                    ,Sendkeys
                    ,sound
                    ,drives
                    ,favorite
                    ,groupid
                    ,color
                    ,X
                    ,Y
                    ,Console
                    ,AutoScale
                    ,SSH1
                    ,Passive
                    ,Themes
                    ,Certificates
                    ,UseHtmlLogin
                    ,HtmlUserBox
                    ,HtmlPassBox
                    ,HtmlLoginBtn
                    ,TabColor
                    ,Notes
                    ,SshTerminal
                    ,Encryption
                    ,SshKey
                    FROM Servers
                    ORDER BY name
                    COLLATE NOCASE");

                while (sql.Read())
                {
                    ServerType type   = (ServerType)sql.Value("ServerType").ToInt32();
                    var        server = Server.GetServerInstance(type);
                    server.ID            = sql.Value("id").ToInt32();
                    server.Type          = type;
                    server.Name          = sql.Value("name").ToString();
                    server.Host          = sql.Value("host").ToString();
                    server.Username      = sql.Value("username").ToString();
                    server.Password      = sql.Value("password").ToString();
                    server.Port          = sql.Value("port").ToInt32();
                    server.SendKeys      = sql.Value("sendkeys").ToBoolean();
                    server.UseSound      = sql.Value("sound").ToBoolean();
                    server.ConnectDrives = sql.Value("drives").ToBoolean();
                    server.IsFavorite    = sql.Value("favorite").ToBoolean();
                    server.GroupID       = sql.Value("GroupID").ToInt32();
                    server.Color         = sql.Value("Color").ToInt32();
                    server.Width         = sql.Value("X").ToInt32();
                    server.Height        = sql.Value("Y").ToInt32();
                    server.Console       = sql.Value("Console").ToBoolean();
                    server.AutoScale     = sql.Value("AutoScale").ToBoolean();
                    server.SSH1          = sql.Value("SSH1").ToBoolean();
                    server.Passive       = sql.Value("Passive").ToBoolean();
                    server.Themes        = sql.Value("Themes").ToBoolean();
                    server.Certificates  = sql.Value("Certificates").ToBoolean();
                    server.UseHtmlLogin  = sql.Value("UseHtmlLogin").ToBoolean();
                    server.HtmlUserBox   = sql.Value("HtmlUserBox").ToString();
                    server.HtmlPassBox   = sql.Value("HtmlPassBox").ToString();
                    server.HtmlLoginBtn  = sql.Value("HtmlLoginBtn").ToString();
                    server.TabColor      = sql.Value("TabColor").ToInt32();
                    server.Notes         = sql.Value("Notes").ToString();
                    server.SshTerminal   = sql.Value("SshTerminal").ToInt32();
                    server.Encryption    = sql.Value("Encryption").ToBoolean();
                    server.SshKey        = sql.Value("SshKey").ToString();
                    Main.servers.Add(server);
                }
            }
        }