Fixed bug #1849 : Connection reloading doesn't work

This commit is contained in:
Igor Malinovskiy
2014-05-22 21:06:26 +03:00
parent c436820074
commit bcadaaca64
2 changed files with 12 additions and 8 deletions
+3 -3
View File
@@ -24,12 +24,12 @@ RedisClient::Connection::~Connection()
bool RedisClient::Connection::connect() // todo: add block/unblock parameter
{
if (m_isTransporterInitialized)
return false;
if (isConnected())
return true;
if (m_isTransporterInitialized)
return false;
//todo : implement unix socket transporter
if (config.useSshTunnel()) {
transporter = QSharedPointer<AbstractTransporter>(new SshTransporter(this));
@@ -88,22 +88,26 @@ RedisClient::Connection * RedisServerItem::getConnection()
}
void RedisServerItem::reload()
{
blockSignals(true);
unload();
blockSignals(false);
{
unload();
loadDatabaseList();
}
void RedisServerItem::unload()
{
if (!isDbInfoLoaded)
return;
setBusyIcon();
blockSignals(true);
removeRows(0, rowCount());
blockSignals(false);
isDbInfoLoaded = false;
connection->disconnect();
getItemNameFromConnection();
setOfflineIcon();