Skip to content

Commit

Permalink
feature add: see changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
cinience committed Jul 20, 2014
1 parent d6045dd commit 5ced803
Show file tree
Hide file tree
Showing 13 changed files with 81 additions and 23 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
@@ -0,0 +1,9 @@
RedisStudio - changlog

--------------------------------------------------------------
# 2014-07-20
1.数据分页增加总页数
2.连接信息中密码显示为×
3.连接添加和修改中IP和端口增加空格自动过滤
4.连接失败显示错误提示窗口
5.keys按序展示
6 changes: 4 additions & 2 deletions README.md
Expand Up @@ -2,13 +2,15 @@ RedisStudio
===========
# 地址
-
[候选版v0.1.0下载](https://github.com/cinience/RedisStudio/blob/master/package/RedisStudio-V0.1.0.zip?raw=true,"候选版v0.1.0")
[候选版v0.1.0下载](https://github.com/cinience/RedisStudio/blob/master/package/RedisStudio-V0.1.0.zip?raw=true,"候选版v0.1.0")

# 介绍
-
Redis Studio 是Redis桌面客户端,支持Windows操作系统
Redis Studio 是Redis桌面客户端,支持Windows xp, windows 7, windows 8
-
界面基于duilib开发,内核客户端采用 MSOPEN hiredis
-
支持 官方Redis 2.6 2.7 2.8

# 计划
1.
Expand Down
4 changes: 2 additions & 2 deletions RedisStudio/Base/Thread.cpp
Expand Up @@ -160,7 +160,7 @@ unsigned __stdcall Thread::runnableEntry(void* pThread)
}
catch (std::exception& exc)
{

(void)exc;
}
catch (...)
{
Expand All @@ -184,7 +184,7 @@ unsigned __stdcall Thread::callableEntry(void* pThread)
}
catch (std::exception& exc)
{

(void)exc;
}
catch (...)
{
Expand Down
22 changes: 18 additions & 4 deletions RedisStudio/ConnInfoSubWhd.cpp
Expand Up @@ -112,9 +112,15 @@ void ConnInfoSubWhd::OnClick( TNotifyUI& msg )
bool ConnInfoSubWhd::OnAddInfo()
{
std::string name = Base::CharacterSet::UnicodeToANSI(m_pEditName->GetText().GetData());
std::string ip = Base::CharacterSet::UnicodeToANSI(m_pEditHost->GetText().GetData());
std::string port = Base::CharacterSet::UnicodeToANSI(m_pEditPort->GetText().GetData());
CDuiString ipStr = m_pEditHost->GetText();
ipStr.Replace(_T(" "), _T(""));
std::string ip = Base::CharacterSet::UnicodeToANSI(ipStr.GetData());

CDuiString portStr = m_pEditPort->GetText();
portStr.Replace(_T(" "), _T(""));
std::string port = Base::CharacterSet::UnicodeToANSI(portStr.GetData());
std::string auth = Base::CharacterSet::UnicodeToANSI(m_pEditAuth->GetText().GetData());

if (name.empty())
{
CDuiString CtlName = m_pEditName->GetName();
Expand Down Expand Up @@ -158,8 +164,16 @@ bool ConnInfoSubWhd::OnAddInfo()
bool ConnInfoSubWhd::OnAltInfo()
{
std::string name = Base::CharacterSet::UnicodeToANSI(m_pEditName->GetText().GetData());
std::string ip = Base::CharacterSet::UnicodeToANSI(m_pEditHost->GetText().GetData());
std::string port = Base::CharacterSet::UnicodeToANSI(m_pEditPort->GetText().GetData());

/// ×ÔśŻČĽłýżŐ¸ń
CDuiString ipStr = m_pEditHost->GetText();
ipStr.Replace(_T(" "), _T(""));
std::string ip = Base::CharacterSet::UnicodeToANSI(ipStr.GetData());

CDuiString portStr = m_pEditPort->GetText();
portStr.Replace(_T(" "), _T(""));
std::string port = Base::CharacterSet::UnicodeToANSI(portStr.GetData());

std::string auth = Base::CharacterSet::UnicodeToANSI(m_pEditAuth->GetText().GetData());
TDicTables& dicObj = *m_pdicServerInfo;
for (std::size_t idx=0; idx<dicObj[ConnInfoUI::kServerNameIndex].size(); ++idx)
Expand Down
Binary file modified RedisStudio/ConnInfoUI.cpp
Binary file not shown.
4 changes: 4 additions & 0 deletions RedisStudio/MainFrameWhd.cpp
Expand Up @@ -263,9 +263,13 @@ LRESULT CMainFrameWnd::OnConnected( HWND hwnd, WPARAM wParam, LPARAM lParam )

LRESULT CMainFrameWnd::OnUnConnected( HWND hwnd, WPARAM wParam, LPARAM lParam )
{
CDuiString *s = (CDuiString*)wParam;
if (s != NULL)
UserMessageBox(GetHWND(), 10016, s->GetData(), MB_ICONINFORMATION);
m_pLayConnect->SetVisible(false);
m_pLayConnecting->SetVisible(false);
m_pLayUnconect->SetVisible(true);
delete s;
return TRUE;
}

Expand Down
21 changes: 13 additions & 8 deletions RedisStudio/Redis/RedisClient.cpp
Expand Up @@ -39,20 +39,21 @@ bool RedisClient::Connect()
Quit();
}
if (m_strName.IsEmpty()) return false;
struct timeval timeout = { 5, 500000 }; // 1.5 seconds
struct timeval timeout = { 5, 500000 };
m_pClient = redisConnectWithTimeout((char*)m_strIP.c_str(),
m_iPort,
timeout);
if (m_pClient->err) {
printf("Connection error: %s\n", m_pClient->errstr);
if (m_pClient->err) {
SetLastError(m_pClient->errstr);
m_fnDisConnect(GetLastError());
return false;
}
if (!m_strAuth.empty())
{
redisReply* reply = Command("AUTH %s", m_strAuth.c_str());
if (!(reply && reply->type==REDIS_REPLY_STATUS))
{
SetLastError(reply->str);
return false;
}
}
Expand Down Expand Up @@ -118,6 +119,7 @@ bool RedisClient::keys(TSeqArrayResults& results)
i++;
}
}
results.sort();
freeReplyObject(reply);
return retVal;
}
Expand Down Expand Up @@ -158,15 +160,18 @@ redisReply* RedisClient::Command( const char* fmt, ... )
va_start(ap, fmt);
reply = (redisReply*) redisvCommand(m_pClient, fmt, ap);
va_end(ap);
if (reply==NULL || reply->type==REDIS_REPLY_ERROR)
{
m_fnDisConnect(m_strName);
m_isConnected = false;
}
if (reply && reply->type == REDIS_REPLY_ERROR)
{
SetLastError(reply->str);
}
if (reply==NULL || reply->type==REDIS_REPLY_ERROR)
{
if (reply != NULL) {
m_fnDisConnect(GetLastError());
}
m_isConnected = false;
}

return reply;
}

Expand Down
25 changes: 22 additions & 3 deletions RedisStudio/RedisDataUI.cpp
Expand Up @@ -6,6 +6,7 @@
#include "Redis/RedisResult.h"
#include "Redis/RedisClient.h"
#include "rapidjson/reader.h"
#include "rapidjson/reader.h"
#include "rapidjson/prettywriter.h" // for stringify JSON
#include "rapidjson/stringbuffer.h"

Expand All @@ -24,6 +25,7 @@ static const TCHAR* kPageName = _T("redisdata_page");
static const TCHAR* kPageFristName= _T("redisdata_pagefrist");
static const TCHAR* kPageNextName = _T("redisdata_pagenext");
static const TCHAR* kPageCurName = _T("redisdata_curpage");
static const TCHAR* kPageTotalName= _T("redisdata_totalpage");
static const TCHAR* kPageLastName = _T("redisdata_pagelast");
static const TCHAR* kPageFinalName= _T("redisdata_pagefinal");
static const TCHAR* kCommitBtnName= _T("redisdata_commit");
Expand Down Expand Up @@ -66,6 +68,7 @@ void RedisDataUI::Initialize()
m_pHorizontalLayout = dynamic_cast<CHorizontalLayoutUI*>(GetPaintMgr()->FindControl(kPageName));

m_pPageCur = dynamic_cast<CEditUI*>(GetPaintMgr()->FindControl(kPageCurName));
m_pPageTotal = dynamic_cast<CEditUI*>(GetPaintMgr()->FindControl(kPageTotalName));
m_pPageFrist = dynamic_cast<CButtonUI*>(GetPaintMgr()->FindControl(kPageFristName));
m_pPageLast = dynamic_cast<CButtonUI*>(GetPaintMgr()->FindControl(kPageLastName));
m_pPageNext = dynamic_cast<CButtonUI*>(GetPaintMgr()->FindControl(kPageNextName));
Expand Down Expand Up @@ -248,6 +251,7 @@ void RedisDataUI::OnItemActiveForTree( TNotifyUI &msg )
m_pRichEdit->SetText(kDefaultText);
m_pDataSizeEdit->SetText(kDefaultText);
m_pPageCur->SetText(_T("1"));
m_pPageTotal->SetText(_T("1"));
m_pList->RemoveAll();
m_pList->GetHeader()->RemoveAll();
m_pHorizontalLayout->SetVisible(false);
Expand Down Expand Up @@ -313,9 +317,11 @@ void RedisDataUI::OnPaginate(TNotifyUI& msg)
return;
}
m_pList->RemoveAll();
CDuiString pageStr ;
CDuiString pageStr, totalpageStr ;
pageStr.Format(_T("%u"), curPage);
totalpageStr.Format(_T("%u"), GetMaxPage());
m_pPageCur->SetText(pageStr.GetData());
m_pPageTotal->SetText(totalpageStr.GetData());
DoPaginateWork();
}

Expand Down Expand Up @@ -605,11 +611,24 @@ LRESULT RedisDataUI::OnDataVerbose( HWND hwnd, WPARAM wParam, LPARAM lParam )
/// 如果是单元素(如string),则一并直接更新到富文本框内
if (GetResult().RowSize() == 1 && GetResult().ColumnSize()==1)
{
SetRichEditText(GetResult().Value(0,0));
string myValue = GetResult().Value(0, 0);
CDuiString myDuiStr = Base::CharacterSet::UTF8ToUnicode(myValue).c_str();
/// 特殊的数据
if (myValue.size() !=0 && myDuiStr.GetLength()==0)
{
TryHexFormat(myValue);
myDuiStr = Base::CharacterSet::UTF8ToUnicode(myValue).c_str();
}
std::string text = Base::CharacterSet::UnicodeToANSI(myDuiStr.GetData());
SetRichEditText(text);
}

if (GetResult().RowSize() > m_PageSize)
{
/// 设置总页数
CDuiString totalpageStr;
totalpageStr.Format(_T("%u"), GetMaxPage());
m_pPageTotal->SetText(totalpageStr.GetData());
m_pHorizontalLayout->SetVisible(true);
}
return TRUE;
Expand Down
1 change: 1 addition & 0 deletions RedisStudio/RedisDataUI.h
Expand Up @@ -111,6 +111,7 @@ class RedisDataUI : public AbstraceUI
CEditUI* m_pDataSizeEdit;

CEditUI* m_pPageCur;
CEditUI* m_pPageTotal;
CButtonUI* m_pPageFrist;
CButtonUI* m_pPageLast;
CButtonUI* m_pPageNext;
Expand Down
Binary file modified bin/DuiLib.dll
Binary file not shown.
Binary file modified bin/RedisStudio.exe
Binary file not shown.
6 changes: 4 additions & 2 deletions bin/skin/RedisData.xml
Expand Up @@ -52,10 +52,12 @@
<HorizontalLayout height="20" name="redisdata_page" visible="false">
<HorizontalLayout>
</HorizontalLayout>
<HorizontalLayout width="248" >
<HorizontalLayout width="303" >
<Button text="{u}{a}首页{/a}{/u}" name="redisdata_pagefrist" width="52" height="21" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
<Button text="{u}{a}上一页{/a}{/u}" name="redisdata_pagelast" width="52" height="21" textcolor="#FFFFFFFF" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
<Edit text="0" name="redisdata_curpage" font="3" width="40" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Edit text="0" name="redisdata_curpage" font="2" width="45" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Edit text="/" name="redisdata_breakline" font="2" width="5" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Edit text="0" name="redisdata_totalpage" font="2" width="45" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Button text="{u}{a}下一页{/a}{/u}" name="redisdata_pagenext" width="52" height="21" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
<Button text="{u}{a}尾页{/a}{/u}" name="redisdata_pagefinal" width="52" height="21" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
</HorizontalLayout>
Expand Down
6 changes: 4 additions & 2 deletions skin/RedisData.xml
Expand Up @@ -52,10 +52,12 @@
<HorizontalLayout height="20" name="redisdata_page" visible="false">
<HorizontalLayout>
</HorizontalLayout>
<HorizontalLayout width="248" >
<HorizontalLayout width="303" >
<Button text="{u}{a}首页{/a}{/u}" name="redisdata_pagefrist" width="52" height="21" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
<Button text="{u}{a}上一页{/a}{/u}" name="redisdata_pagelast" width="52" height="21" textcolor="#FFFFFFFF" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
<Edit text="0" name="redisdata_curpage" font="3" width="40" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Edit text="0" name="redisdata_curpage" font="2" width="45" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Edit text="/" name="redisdata_breakline" font="2" width="5" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Edit text="0" name="redisdata_totalpage" font="2" width="45" align="center" readonly="true" textpadding="0,0,0,0" bordersize="0" focusbordercolor="#FF154B83" nativebkcolor="#FFF0F0F0" bkcolor="#00000000" textcolor="#FF4B4F51" disabledtextcolor="#FFA7A6AA" />
<Button text="{u}{a}下一页{/a}{/u}" name="redisdata_pagenext" width="52" height="21" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
<Button text="{u}{a}尾页{/a}{/u}" name="redisdata_pagefinal" width="52" height="21" textcolor="#FF000000" disabledtextcolor="#FFA7A6AA" showhtml="true" align="center" />
</HorizontalLayout>
Expand Down

0 comments on commit 5ced803

Please sign in to comment.