管理员JSON测试配置添加描述项
This commit is contained in:
parent
5311342f1f
commit
d68c3a7fc5
|
@ -5,6 +5,7 @@
|
|||
#include "scanner-check.h"
|
||||
#include "CDlgItemMgr.h"
|
||||
#include "afxdialogex.h"
|
||||
#include "CDlgInput.h"
|
||||
|
||||
#include <file/file_util.h>
|
||||
#include <coding/coding.h>
|
||||
|
@ -56,6 +57,7 @@ BOOL CDlgItemMgr::OnInitDialog()
|
|||
list_.InsertColumn(list_.GetHeaderCtrl()->GetItemCount(), TEXT("\u540D\u79F0"), 0, 102);
|
||||
list_.InsertColumn(list_.GetHeaderCtrl()->GetItemCount(), TEXT("\u5FC5\u987B\u8054\u673A\u6D4B\u8BD5"), 0, 87);
|
||||
list_.InsertColumn(list_.GetHeaderCtrl()->GetItemCount(), TEXT("\u4E0D\u901A\u8FC7\u5219\u505C\u6B62"), 0, 87);
|
||||
list_.InsertColumn(list_.GetHeaderCtrl()->GetItemCount(), TEXT("\u63CF\u8FF0"), 0, 120);
|
||||
list_.SetExtendedStyle((list_.GetExStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES) & (~LVS_EX_CHECKBOXES));
|
||||
list_.ModifyStyle(0, LVS_SINGLESEL);
|
||||
load_stored_config();
|
||||
|
@ -76,14 +78,17 @@ END_MESSAGE_MAP()
|
|||
void CDlgItemMgr::OnBnClickedButtonAdd()
|
||||
{
|
||||
// TODO: 在此添加控件通知处理程序代码
|
||||
wchar_t text[128] = { 0 }, name[128] = { 0 };
|
||||
wchar_t text[128] = { 0 }, name[128] = { 0 }, desc[128] = { 0 };
|
||||
bool online = is_checked(this, IDC_CHECK_ONLINE), fatal = is_checked(this, IDC_CHECK_FATAL);
|
||||
int ind = -1;
|
||||
|
||||
if (::GetWindowTextW(GetDlgItem(IDC_EDIT_TITLE)->m_hWnd, text, _countof(text) - 1) == 0 ||
|
||||
::GetWindowTextW(GetDlgItem(IDC_EDIT_NAME)->m_hWnd, name, _countof(name) - 1) == 0)
|
||||
return;
|
||||
|
||||
if (::GetWindowTextW(GetDlgItem(IDC_EDIT_DESC)->m_hWnd, name, _countof(name) - 1) == 0)
|
||||
{
|
||||
wcscpy(desc, text);
|
||||
}
|
||||
for (int i = 0; i < list_.GetItemCount(); ++i)
|
||||
{
|
||||
wchar_t val[128] = { 0 };
|
||||
|
@ -106,6 +111,7 @@ void CDlgItemMgr::OnBnClickedButtonAdd()
|
|||
list_.SetItemText(ind, 2, text);
|
||||
list_.SetItemText(ind, 3, online ? L"true" : L"false");
|
||||
list_.SetItemText(ind, 4, fatal ? L"true" : L"false");
|
||||
list_.SetItemText(ind, 5, desc);
|
||||
list_.SetItemState(ind, LVNI_FOCUSED | LVIS_SELECTED, LVNI_FOCUSED | LVIS_SELECTED);
|
||||
item_changed();
|
||||
}
|
||||
|
@ -122,7 +128,7 @@ void CDlgItemMgr::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
if (r.left != -1)
|
||||
{
|
||||
std::vector<int> width;
|
||||
int ind = r.left;
|
||||
int ind = r.left, hpos = list_.GetScrollPos(SB_HORZ);
|
||||
|
||||
for (int i = 0; i < list_.GetHeaderCtrl()->GetItemCount(); ++i)
|
||||
{
|
||||
|
@ -130,6 +136,7 @@ void CDlgItemMgr::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
list_.GetHeaderCtrl()->GetItemRect(i, &r);
|
||||
width.push_back(r.right - r.left);
|
||||
}
|
||||
pos.x += hpos;
|
||||
for (int i = 0; i < width.size(); ++i)
|
||||
{
|
||||
if (pos.x <= width[i])
|
||||
|
@ -152,7 +159,7 @@ void CDlgItemMgr::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if(i < 5)
|
||||
{
|
||||
list_.GetItemText(ind, i, text, _countof(text) - 1);
|
||||
if (wcscmp(text, L"true"))
|
||||
|
@ -160,6 +167,25 @@ void CDlgItemMgr::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
else
|
||||
list_.SetItemText(ind, i, L"false");
|
||||
}
|
||||
else
|
||||
{
|
||||
CDlgInput input;
|
||||
wchar_t val[128] = { 0 };
|
||||
std::wstring def(L"");
|
||||
|
||||
list_.GetItemText(ind, 2, val, _countof(val) - 1);
|
||||
def = val;
|
||||
input.set_title((std::wstring(L"\u4FEE\u6539 ") + val + L" \u63CF\u8FF0").c_str());
|
||||
list_.GetItemText(ind, 5, val, _countof(val) - 1);
|
||||
input.val_ = val;
|
||||
if (input.DoModal() == IDOK)
|
||||
{
|
||||
if(input.val_.empty())
|
||||
list_.SetItemText(ind, 5, def.c_str());
|
||||
else
|
||||
list_.SetItemText(ind, 5, input.val_.c_str());
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -199,6 +225,8 @@ void CDlgItemMgr::get_item(int ind, page_config::ITEM* item)
|
|||
item->man = wcscmp(text, L"false") == 0;
|
||||
list_.GetItemText(ind, 4, text, _countof(text) - 1);
|
||||
item->fatal = wcscmp(text, L"true") == 0;
|
||||
list_.GetItemText(ind, 5, text, _countof(text) - 1);
|
||||
item->desc = text;
|
||||
}
|
||||
void CDlgItemMgr::load_from_file(const wchar_t* file)
|
||||
{
|
||||
|
@ -207,7 +235,8 @@ void CDlgItemMgr::load_from_file(const wchar_t* file)
|
|||
*n = sn + 40,
|
||||
*t = n + 40,
|
||||
*m = t + 40,
|
||||
*f = m + 40;
|
||||
*f = m + 40,
|
||||
*d = f + 40;
|
||||
size_t pos = 0;
|
||||
std::string bom("");
|
||||
std::wstring cont(L"");
|
||||
|
@ -218,7 +247,7 @@ void CDlgItemMgr::load_from_file(const wchar_t* file)
|
|||
cont += L"\r\n";
|
||||
while ((pos = cont.find(L"\r\n")) != std::wstring::npos)
|
||||
{
|
||||
int cnt = swscanf(cont.substr(0, pos).c_str(), L"%s %s %s %s", n, t, m, f);
|
||||
int cnt = swscanf(cont.substr(0, pos).c_str(), L"%s %s %s %s %s", n, t, m, f, d);
|
||||
if (cnt >= 2)
|
||||
{
|
||||
bool man = false, fatal = true;
|
||||
|
@ -233,7 +262,12 @@ void CDlgItemMgr::load_from_file(const wchar_t* file)
|
|||
list_.SetItemText(cnt, 2, t);
|
||||
list_.SetItemText(cnt, 3, man ? L"false" : L"true");
|
||||
list_.SetItemText(cnt, 4, f ? L"true" : L"false");
|
||||
if(*d)
|
||||
list_.SetItemText(cnt, 5, d);
|
||||
else
|
||||
list_.SetItemText(cnt, 5, t);
|
||||
}
|
||||
memset(path, 0, sizeof(path));
|
||||
|
||||
cont.erase(0, pos + 2);
|
||||
}
|
||||
|
@ -256,7 +290,8 @@ void CDlgItemMgr::item_changed(void)
|
|||
{
|
||||
text += items[i].name + L" " + items[i].title + L" ";
|
||||
text += items[i].man ? L"false " : L"true ";
|
||||
text += items[i].fatal ? L"true\r\n" : L"false\r\n";
|
||||
text += items[i].fatal ? L"true " : L"false ";
|
||||
text += items[i].desc + L"\r\n";
|
||||
}
|
||||
coding_util::bom::from_unicode(text.c_str(), text.length() * 2, got_str, &bom);
|
||||
file_util::save_2_file(bom.c_str(), bom.length(), get_stored_config_file().c_str());
|
||||
|
|
|
@ -330,7 +330,7 @@ void CDlgMgr::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
if (r.left != -1)
|
||||
{
|
||||
std::vector<int> width;
|
||||
int ind = r.left;
|
||||
int ind = r.left, hpos = list_.GetScrollPos(SB_HORZ);
|
||||
|
||||
for (int i = 0; i < list_.GetHeaderCtrl()->GetItemCount(); ++i)
|
||||
{
|
||||
|
@ -338,6 +338,7 @@ void CDlgMgr::OnNMDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
list_.GetHeaderCtrl()->GetItemRect(i, &r);
|
||||
width.push_back(r.right - r.left);
|
||||
}
|
||||
pos.x += hpos;
|
||||
for (int i = 0; i < width.size(); ++i)
|
||||
{
|
||||
if (pos.x <= width[i])
|
||||
|
@ -512,6 +513,7 @@ std::wstring CDlgMgr::export_config(bool *ok, bool used_in_code, int code_ver)
|
|||
child->set_value(L"man", wcscmp(text, L"false") == 0);
|
||||
list_.GetItemText(i, 3, text, _countof(text) - 1);
|
||||
child->set_value(L"err-level", wcscmp(text, L"true") == 0 ? L"fatal" : L"warning");
|
||||
child->set_value(L"desc", item.desc.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -24,6 +24,7 @@ public:
|
|||
{
|
||||
std::wstring name;
|
||||
std::wstring title;
|
||||
std::wstring desc;
|
||||
bool man;
|
||||
bool fatal;
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#define IDD_MANAGER 130
|
||||
#define IDD_TEST_ITEM 131
|
||||
#define IDR_MENU1 133
|
||||
#define IDD_INPUT 134
|
||||
#define IDC_TAB1 1000
|
||||
#define IDC_STATIC_RECT 1001
|
||||
#define IDC_EDIT_VID_SRC 1002
|
||||
|
@ -33,6 +34,8 @@
|
|||
#define IDC_EDIT_VER 1018
|
||||
#define IDC_EDIT_NAME 1019
|
||||
#define IDC_EDIT_TITLE 1020
|
||||
#define IDC_EDIT1 1020
|
||||
#define IDC_EDIT_DESC 1021
|
||||
#define ID_LIST_32771 32771
|
||||
#define ID_LIST_PASTE_CLIPBOARD 32772
|
||||
#define ID_LIST_32773 32773
|
||||
|
@ -42,9 +45,9 @@
|
|||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 134
|
||||
#define _APS_NEXT_RESOURCE_VALUE 136
|
||||
#define _APS_NEXT_COMMAND_VALUE 32775
|
||||
#define _APS_NEXT_CONTROL_VALUE 1020
|
||||
#define _APS_NEXT_CONTROL_VALUE 1021
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -189,6 +189,7 @@
|
|||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="CDlgInput.h" />
|
||||
<ClInclude Include="CDlgItemMgr.h" />
|
||||
<ClInclude Include="CDlgMgr.h" />
|
||||
<ClInclude Include="framework.h" />
|
||||
|
@ -200,6 +201,7 @@
|
|||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CDlgInput.cpp" />
|
||||
<ClCompile Include="CDlgItemMgr.cpp" />
|
||||
<ClCompile Include="CDlgMgr.cpp" />
|
||||
<ClCompile Include="pch.cpp">
|
||||
|
|
|
@ -42,6 +42,9 @@
|
|||
<ClInclude Include="CDlgItemMgr.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CDlgInput.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="scanner-check.cpp">
|
||||
|
@ -59,6 +62,9 @@
|
|||
<ClCompile Include="CDlgItemMgr.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CDlgInput.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="scannercheck.rc">
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue