bool ConnectionWindow::isSshSettingsValid()
{
    ui.sshHost->setStyleSheet("");
    ui.sshUser->setStyleSheet("");
    ui.sshPass->setStyleSheet("");

    if (!isSshTunnelUsed()) {
        return true;
    }

    bool isValid =  !ui.sshHost->text().isEmpty()  
            && !ui.sshUser->text().isEmpty() 
            && !ui.sshPass->text().isEmpty() 
            && ui.sshPort->value() > 0;

    if (isValid) {
        return true;
    }

    if (ui.sshHost->text().isEmpty()) {
        ui.sshHost->setStyleSheet("border: 1px solid red;");
    }

    if (ui.sshUser->text().isEmpty()) {
        ui.sshUser->setStyleSheet("border: 1px solid red;");
    }

    if (ui.sshPass->text().isEmpty()) {
        ui.sshPass->setStyleSheet("border: 1px solid red;");
    }

    return false;
}
RedisConnectionConfig connection::getConectionConfigFromFormData()
{	
	RedisConnectionConfig conf(ui.hostEdit->text().trimmed(),ui.nameEdit->text().trimmed(), ui.portSpinBox->value());

	if (!ui.authEdit->text().isEmpty()) {
		conf.auth = ui.authEdit->text();
	}

	if (isSshTunnelUsed()) {
		conf.setSshTunnelSettings(
			ui.sshHost->text().trimmed(), 
			ui.sshUser->text().trimmed(), 
			ui.sshPass->text().trimmed(), 
			ui.sshPort->value()
			);
	}

	return conf;
}
RedisConnectionConfig ConnectionWindow::getConectionConfigFromFormData()
{    
    RedisConnectionConfig conf(ui.hostEdit->text().trimmed(),ui.nameEdit->text().trimmed(), ui.portSpinBox->value());

    conf.namespaceSeparator = ui.namespaceSeparator->text();
    conf.connectionTimeout = ui.connectionTimeout->value() * 1000;
    conf.executeTimeout = ui.executionTimeout->value() * 1000;

    if (!ui.authEdit->text().isEmpty()) {
        conf.auth = ui.authEdit->text();
    }

    if (isSshTunnelUsed()) {
        conf.setSshTunnelSettings(
            ui.sshHost->text().trimmed(), 
            ui.sshUser->text().trimmed(), 
            ui.sshPass->text().trimmed(), 
            ui.sshPort->value()
            );
    }

    return conf;
}