Skip to content

Commit

Permalink
Merge branch '0.6.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
uglide committed Nov 5, 2013
2 parents 111de08 + d5a9cdc commit 00e967a
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 33 deletions.
9 changes: 6 additions & 3 deletions redis-desktop-manager/forms/connection.ui
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
</rect>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="mainTab">
<attribute name="title">
Expand All @@ -122,8 +122,11 @@
</property>
<item row="2" column="2">
<widget class="QSpinBox" name="portSpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100000</number>
<number>65535</number>
</property>
<property name="value">
<number>6379</number>
Expand Down Expand Up @@ -249,7 +252,7 @@
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
<number>65535</number>
</property>
<property name="value">
<number>22</number>
Expand Down
12 changes: 8 additions & 4 deletions redis-desktop-manager/include/redis/ConsoleConnectionWrapper.h
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
#pragma once

#include <QObject>
#include "RedisConnectionConfig.h"

class RedisConnectionConfig;
class RedisConnectionAbstract;
class consoleTab;

class ConsoleConnectionWrapper : public QObject
{
Q_OBJECT

public:
ConsoleConnectionWrapper(RedisConnectionConfig &, consoleTab &);
ConsoleConnectionWrapper(RedisConnectionConfig &);

public slots:
void init();
void executeCommand(QString);

signals:
void changePrompt(QString);
void addOutput(QString);

private:
RedisConnectionAbstract * connection;
consoleTab & consoleView;
RedisConnectionConfig config;
bool connectionValid;
};

14 changes: 6 additions & 8 deletions redis-desktop-manager/include/widgets/consoleTab.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
#pragma once

/**
Based on Console Qt widget from RedisConsole
https://github.com/ptrofimov/RedisConsole
author Petr Trofimov ([email protected])
**/

#include <QPlainTextEdit>
#include <QThread>

class RedisConnectionConfig;
class ConsoleConnectionWrapper;
Expand All @@ -18,10 +14,12 @@ class consoleTab: public QPlainTextEdit
public:
consoleTab(RedisConnectionConfig&);
~consoleTab(void);
void output(QString);
void setPrompt(QString);
void scrollDown();

public slots:
void output(QString);
void setPrompt(QString);

protected:
void keyPressEvent(QKeyEvent *);
void mousePressEvent(QMouseEvent *);
Expand All @@ -33,7 +31,7 @@ class consoleTab: public QPlainTextEdit
QStringList *history;
int historyPos;
ConsoleConnectionWrapper * connection;
//QThread connectionThread;
QThread connectionThread;

void onEnter();
void insertPrompt(bool insertNewBlock = true);
Expand Down
5 changes: 3 additions & 2 deletions redis-desktop-manager/source/demo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,9 @@ void MainWin::OnConnectionTreeClick(const QModelIndex & index)
connections->updateFilter();
loadingInProgress = false;

if (!connected) {
QMessageBox::warning(this, "Can't connect to server", "Can't connect to server. Check connection settings");
if (!connected) {
QMessageBox::warning(this, "Can't connect to server",
QString("Check connection settings \nError: %1").arg(server->getConnection()->getLastError()));
}
}
break;
Expand Down
2 changes: 1 addition & 1 deletion redis-desktop-manager/source/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ int main(int argc, char *argv[])
QApplication a(argc, argv);

QApplication::setApplicationName("Redis Desktop Manager");
QApplication::setApplicationVersion("0.5.1");
QApplication::setApplicationVersion("0.5.2");
QApplication::setOrganizationDomain("redisdesktop.com");

MainWin w;
Expand Down
27 changes: 16 additions & 11 deletions redis-desktop-manager/source/redis/ConsoleConnectionWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,45 @@
#include "consoleTab.h"
#include "Response.h"

ConsoleConnectionWrapper::ConsoleConnectionWrapper(RedisConnectionConfig &config, consoleTab &view)
: consoleView(view) , connectionValid(false)
ConsoleConnectionWrapper::ConsoleConnectionWrapper(RedisConnectionConfig &config)
: config(config), connectionValid(false)
{
}

void ConsoleConnectionWrapper::init()
{
if (config.isNull())
{
consoleView.output("Invalid config. Can't create connection.");
emit addOutput("Invalid config. Can't create connection.");
return;
}

connection = (config.useSshTunnel()) ? (RedisConnectionAbstract *) new RedisConnectionOverSsh(config)
: (RedisConnectionAbstract *) new RedisConnection(config);
: (RedisConnectionAbstract *) new RedisConnection(config);

if (!connection->connect())
{
consoleView.output("Invalid config. Can't create connection.");
emit addOutput("Invalid config. Can't create connection.");
return;
}

connectionValid = true;
consoleView.setPrompt(QString("%1:0>").arg(config.name));
consoleView.output("Connected.");

emit changePrompt(QString("%1:0>").arg(config.name));
emit addOutput("Connected.");
}

void ConsoleConnectionWrapper::executeCommand(QString cmd)
{
if (!connectionValid)
{
consoleView.output("Invalid config. Can't create connection.");
emit addOutput("Invalid config. Can't create connection.");
return;
}

if (!connection->isConnected() && !connection->connect())
{
consoleView.output("Connection error. Check network connection");
emit addOutput("Connection error. Check network connection");
return;
}

Expand All @@ -51,12 +56,12 @@ void ConsoleConnectionWrapper::executeCommand(QString cmd)

if (isSelectCommand)
{
consoleView.setPrompt(
emit changePrompt(
QString("%1:%2>")
.arg(connection->config.name)
.arg(selectDbRegex.cap(3))
);
}

consoleView.output(Response::valueToString(result));
addOutput(Response::valueToString(result));
}
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ void RedisConnectionOverSsh::OnSocketReadyRead()
QString RedisConnectionOverSsh::getLastError()
{
if (socket == NULL) {
return QString("Error with ssh connection");
return QString("SSH connection error");
}

return socket->errorString();
Expand Down
14 changes: 11 additions & 3 deletions redis-desktop-manager/source/widgets/consoleTab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
consoleTab::consoleTab(RedisConnectionConfig& config)
{
appendHtml("<span style='color: orange;'>List of unsupported commands: PTTL, DUMP, RESTORE, AUTH, QUIT, MONITOR</span>");
appendHtml("Connecting ...");

QPalette p = palette();
p.setColor(QPalette::Base, QColor(57, 57, 57));
Expand All @@ -20,16 +21,23 @@ consoleTab::consoleTab(RedisConnectionConfig& config)
insertPrompt(false);
isLocked = false;

connection = new ConsoleConnectionWrapper(config, *this);
connection = new ConsoleConnectionWrapper(config);
connection->moveToThread(&connectionThread);

connect(&connectionThread, &QThread::finished, connection, &QObject::deleteLater);
connect(this, SIGNAL(onCommand(QString)), connection, SLOT(executeCommand(QString)));
connect(connection, SIGNAL(changePrompt(QString)), this, SLOT(setPrompt(QString)));
connect(connection, SIGNAL(addOutput(QString)), this, SLOT(output(QString)));
connect(&connectionThread, SIGNAL(started()), connection, SLOT(init()));

connectionThread.start();
}


consoleTab::~consoleTab(void)
{
//connectionThread.quit();
///connectionThread.wait();
connectionThread.quit();
connectionThread.wait();
}

void consoleTab::setPrompt(QString str)
Expand Down

0 comments on commit 00e967a

Please sign in to comment.