Skip to content

Commit

Permalink
made name leftmost column for filters, callbacks, and layers for easi…
Browse files Browse the repository at this point in the history
…er searching

minor UI enhancements
  • Loading branch information
zodiacon committed Jan 24, 2023
1 parent 15edf6a commit 5c091c8
Show file tree
Hide file tree
Showing 12 changed files with 36 additions and 50 deletions.
1 change: 0 additions & 1 deletion WFPCore/WFPEngine.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include "pch.h"
#include "WFPEngine.h"
#include <unordered_map>

bool WFPEngine::Open(DWORD auth) {
if (m_hEngine)
Expand Down
2 changes: 0 additions & 2 deletions WFPCore/WFPEngine.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#pragma once

#include <vector>

template<typename T>
struct WFPObject {
explicit WFPObject(T* p) : Data(p) {}
Expand Down
2 changes: 2 additions & 0 deletions WFPCore/WFPEnumerator.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#pragma once

#include <vector>

template<typename TItem, typename T = TItem*>
class WFPObjectVector {
public:
Expand Down
7 changes: 7 additions & 0 deletions WFPExplorer/AboutDlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,10 @@ LRESULT CAboutDlg::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/,
EndDialog(wID);
return 0;
}

LRESULT CAboutDlg::OnClickSyslink(int, LPNMHDR hdr, BOOL&) const {
if (hdr->idFrom == IDC_LINK) {
::ShellExecute(nullptr, L"open", L"https://github.com/zodiacon/wfpexplorer", nullptr, nullptr, SW_SHOWDEFAULT);
}
return 0;
}
3 changes: 3 additions & 0 deletions WFPExplorer/AboutDlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ class CAboutDlg :

BEGIN_MSG_MAP(CAboutDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
NOTIFY_CODE_HANDLER(NM_CLICK, OnClickSyslink)
NOTIFY_CODE_HANDLER(NM_RETURN, OnClickSyslink)
COMMAND_ID_HANDLER(IDOK, OnCloseCmd)
COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd)
END_MSG_MAP()
Expand All @@ -21,4 +23,5 @@ class CAboutDlg :

LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnClickSyslink(int, LPNMHDR hdr, BOOL&) const;
};
4 changes: 2 additions & 2 deletions WFPExplorer/CalloutsView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ LRESULT CCalloutsView::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lPara
m_List.SetExtendedListViewStyle(LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);

auto cm = GetColumnManager(m_List);
cm->AddColumn(L"Callout Key", 0, 300, ColumnType::Key, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Callout ID", LVCFMT_RIGHT, 90, ColumnType::Id, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Name", 0, 250, ColumnType::Name);
cm->AddColumn(L"ID", LVCFMT_RIGHT, 90, ColumnType::Id, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Key", 0, 300, ColumnType::Key, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Flags", 0, 120, ColumnType::Flags);
cm->AddColumn(L"Provider", 0, 250, ColumnType::Provider);
cm->AddColumn(L"Applicable Layer", 0, 250, ColumnType::Layer);
Expand Down
6 changes: 3 additions & 3 deletions WFPExplorer/FiltersView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,12 @@ LRESULT CFiltersView::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam
m_List.SetExtendedListViewStyle(LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_EX_HEADERDRAGDROP);

auto cm = GetColumnManager(m_List);
cm->AddColumn(L"Filter Key", 0, 300, ColumnType::Key, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Filter Name", 0, 170, ColumnType::Name);
cm->AddColumn(L"Name", 0, 300, ColumnType::Name);
cm->AddColumn(L"Layer", LVCFMT_LEFT, 200, ColumnType::Layer);
cm->AddColumn(L"Key", 0, 300, ColumnType::Key, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Id", LVCFMT_RIGHT, 100, ColumnType::Id, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Weight", LVCFMT_RIGHT, 140, ColumnType::Weight, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Effective Weight", LVCFMT_RIGHT, 140, ColumnType::EffectiveWeight, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Filter Id", LVCFMT_RIGHT, 100, ColumnType::Id, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Conditions", LVCFMT_RIGHT, 70, ColumnType::ConditionCount, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Action", LVCFMT_LEFT, 110, ColumnType::Action);
cm->AddColumn(L"Action Filter/Callout", LVCFMT_LEFT, 120, ColumnType::ActionKey);
Expand Down
33 changes: 3 additions & 30 deletions WFPExplorer/GenericListViewBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,37 +37,10 @@ class CGenericListViewBase abstract :
auto p = static_cast<T*>(this);
auto findDlg = p->Frame()->GetFindDialog();
auto searchDown = findDlg->SearchDown();
int start = m_List.GetNextItem(-1, LVIS_SELECTED);
CString find(findDlg->GetFindString());
auto ignoreCase = !findDlg->MatchCase();
if (ignoreCase)
find.MakeLower();
auto index = ListViewHelper::SearchItem(m_List, findDlg->GetFindString(), searchDown, findDlg->MatchCase());

auto columns = m_List.GetHeader().GetItemCount();
auto count = m_List.GetItemCount();
int from = searchDown ? start + 1 : start - 1 + count;
int to = searchDown ? count + start : start + 1;
int step = searchDown ? 1 : -1;

int findIndex = -1;
CString text;
for (int i = from; i != to; i += step) {
int index = i % count;
for (int c = 0; c < columns; c++) {
m_List.GetItemText(index, c, text);
if (ignoreCase)
text.MakeLower();
if (text.Find(find) >= 0) {
findIndex = index;
break;
}
}
if (findIndex >= 0)
break;
}

if (findIndex >= 0) {
m_List.SelectItem(findIndex);
if (index >= 0) {
m_List.SelectItem(index);
m_List.SetFocus();
}
else {
Expand Down
4 changes: 2 additions & 2 deletions WFPExplorer/LayersView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ LRESULT CLayersView::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*
m_List.SetExtendedListViewStyle(LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);

auto cm = GetColumnManager(m_List);
cm->AddColumn(L"Layer Key", 0, 300, ColumnType::Key, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Layer ID", LVCFMT_RIGHT, 70, ColumnType::Id, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Name", 0, 250, ColumnType::Name);
cm->AddColumn(L"Key", 0, 300, ColumnType::Key, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"ID", LVCFMT_RIGHT, 70, ColumnType::Id, ColumnFlags::Visible | ColumnFlags::Numeric);
cm->AddColumn(L"Flags", LVCFMT_LEFT, 250, ColumnType::Flags);
cm->AddColumn(L"Fields", LVCFMT_RIGHT, 60, ColumnType::Fields, ColumnFlags::Visible | ColumnFlags::Numeric);
//cm->AddColumn(L"Filters", LVCFMT_RIGHT, 60, ColumnType::Filters);
Expand Down
16 changes: 9 additions & 7 deletions WFPExplorer/WFPExplorer.rc
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,12 @@ STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About WFP Explorer"
FONT 9, "Segoe UI", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,69,60,50,14
DEFPUSHBUTTON "OK",IDOK,73,60,43,14
ICON IDR_MAINFRAME,IDC_STATIC,7,7,20,20
LTEXT "Static",IDC_VERSION,56,12,97,8
LTEXT "Static",IDC_COPYRIGHT,56,28,97,8
LTEXT "Static",IDC_VERSION,56,11,97,8
LTEXT "Static",IDC_COPYRIGHT,56,24,97,8
CONTROL "<a>github.com/zodiacon/WFPExplorer</a>",IDC_LINK,
"SysLink",WS_TABSTOP,37,41,123,14
END

IDD_FILTERINFO DIALOGEX 0, 0, 417, 241
Expand Down Expand Up @@ -496,7 +498,7 @@ END
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,5,3,0
FILEVERSION 0,5,4,0
PRODUCTVERSION 0,5,3,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
Expand All @@ -514,12 +516,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Scorpio Software"
VALUE "FileDescription", "Windows Filtering Platform Explorer"
VALUE "FileVersion", "0.5.3.0"
VALUE "FileVersion", "0.5.4.0"
VALUE "InternalName", "WFPExplorer"
VALUE "LegalCopyright", "�2022 Pavel Yosifovich"
VALUE "LegalCopyright", "�2022-2023 Pavel Yosifovich"
VALUE "OriginalFilename", "WFPExplorer.exe"
VALUE "ProductName", "WFP Explorer"
VALUE "ProductVersion", "0.5.3.0"
VALUE "ProductVersion", "0.5.4"
END
END
BLOCK "VarFileInfo"
Expand Down
6 changes: 4 additions & 2 deletions WFPExplorer/resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
#define IDC_PROVIDER 1004
#define IDC_SERVICENAME 1004
#define IDC_PROVIDER_PROP 1005
#define IDC_PROVIDERDATA 1027
#define IDC_LAYER 1006
#define IDC_LAYER_PROP 1007
#define IDC_ACTIONTYPE 1008
Expand All @@ -81,6 +80,9 @@
#define IDC_DATASIZE 1024
#define IDC_REGISTERED 1025
#define IDC_COFI 1026
#define IDC_PROVIDERDATA 1027
#define IDC_SYSLINK1 1028
#define IDC_LINK 1028
#define ID_WINDOW_CLOSE 32772
#define ID_WINDOW_CLOSE_ALL 32773
#define ID_OPTIONS_ALWAYSONTOP 32775
Expand Down Expand Up @@ -111,7 +113,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 247
#define _APS_NEXT_COMMAND_VALUE 32799
#define _APS_NEXT_CONTROL_VALUE 1028
#define _APS_NEXT_CONTROL_VALUE 1029
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
2 changes: 1 addition & 1 deletion WTLHelper

0 comments on commit 5c091c8

Please sign in to comment.