123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- // MainDlg.cpp : implementation of the CMainDlg class
- //
- /////////////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "MainDlg.h"
- #include "StabtypeControl.h"
- #include "CLashConfig.h"
- CMainDlg::CMainDlg() : SHostWnd(_T("LAYOUT:XML_MAINWND")), m_base_clash(nullptr)
- {
- m_bLayoutInited = FALSE;
- }
- CMainDlg::~CMainDlg()
- {
- if (m_base_clash)
- {
- delete m_base_clash;
- m_base_clash = nullptr;
- }
- }
- int CMainDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
- SetMsgHandled(FALSE);
- return 0;
- }
- BOOL CMainDlg::OnInitDialog(HWND hWnd, LPARAM lParam)
- {
- m_bLayoutInited = TRUE;
- Init();
- OnConnecting_UdateUi(false, CONNECT_NODE_MSG,L"");
- /*CManageNetWork m_manageNetwork;
- m_manageNetwork.GetNodeList();*/
- CManageNetWork::getSingletonPtr()->GetNodeList();
- return 0;
- }
- void CMainDlg::Init()
- {
- CApp::getSingletonPtr()->SetupDataDirectory();
- //FindChildByName2<STabCtrl>(L"tabmain");
- if (!m_base_clash)
- {
- m_base_clash = new CLashConfig();
- m_base_clash->InitClash();
- m_base_clash->StartClash();
- }
- SysMode list;
- list.id = 0;
- list.name = L"系统代理";
- list.proxy_mode = PROXY_MODE::sys_mode;
- SysMode list1;
- list1.id = 1;
- list1.name = L"网卡代理";
- list1.proxy_mode = PROXY_MODE::tun_mode;
- m_sysmode_vctor.push_back(list);
- m_sysmode_vctor.push_back(list1);
-
- RouteMode route;
- route.id = 0;
- route.name = L"智能";
- route.route_mode = ROUT_MODE::cn_mode;
- RouteMode route2;
- route2.id = 1;
- route2.name = L"全局";
- route2.route_mode = ROUT_MODE::qg_mode;
-
-
- m_route_vctor.push_back(route);
- m_route_vctor.push_back(route2);
-
- StabtypeControl* tabtype = FindChildByName2<StabtypeControl>(L"sysmode");
- if (tabtype)
- {
- for (auto i = 0; i < m_sysmode_vctor.size(); i++)
- {
- tabtype->ItemCreateChildren(m_sysmode_vctor[i].id, m_sysmode_vctor[i].name,i == 0 ? true : false );
- }
- if (m_sysmode_vctor.size() > 0)
- {
- CApp::getSingletonPtr()->SetSysMode(m_sysmode_vctor[0].proxy_mode);
- }
- tabtype->GetEventSet()->subscribeEvent(EVT_TABTYPE_CONTROL,
- Subscriber(&CMainDlg::OnSysModeType, this));
- }
- StabtypeControl* routetype = FindChildByName2<StabtypeControl>(L"routemode");
- if (routetype)
- {
- for (auto i = 0; i < m_route_vctor.size(); i++)
- {
- routetype->ItemCreateChildren(m_route_vctor[i].id, m_route_vctor[i].name, i == 0 ? true : false);
- }
- if (m_route_vctor.size() > 0)
- {
- CApp::getSingletonPtr()->SetRouteMode(m_route_vctor[0].route_mode);
- }
- routetype->GetEventSet()->subscribeEvent(EVT_TABTYPE_CONTROL,
- Subscriber(&CMainDlg::OnRouteModeType, this));
- }
- }
- void CMainDlg::OnNode()
- {
- STabCtrl* m_tab_main = FindChildByName2<STabCtrl>(L"tabmain");
- if (m_tab_main)
- {
- m_tab_main->SetCurSel(1);
- m_tab_main->Invalidate();
- }
- }
- void CMainDlg::OnBackNode()
- {
- STabCtrl* m_tab_main = FindChildByName2<STabCtrl>(L"tabmain");
- if (m_tab_main)
- {
- m_tab_main->SetCurSel(0);
- m_tab_main->Invalidate();
- }
- }
- bool CMainDlg::OnSysModeType(SOUI::EventArgs* pEvt)
- {
- SOUI::EventTabtypeControl* pTestControlEvent =
- SOUI::sobj_cast<SOUI::EventTabtypeControl>(pEvt);
- if (!pTestControlEvent)
- {
- return false;
- }
- CApp::getSingletonPtr()->SetSysMode(m_sysmode_vctor[pTestControlEvent->nIndex].proxy_mode);
- return true;
- }
- bool CMainDlg::OnRouteModeType(SOUI::EventArgs* pEvt)
- {
- SOUI::EventTabtypeControl* pTestControlEvent =
- SOUI::sobj_cast<SOUI::EventTabtypeControl>(pEvt);
- if (!pTestControlEvent)
- {
- return false;
- }
- CApp::getSingletonPtr()->SetRouteMode(m_route_vctor[pTestControlEvent->nIndex].route_mode);
- return true;
- }
- void CMainDlg::OnServerListFinish(SOUI::EventArgs* pEvt)
- {
- EventNodeList* e2 = sobj_cast<EventNodeList>(pEvt);
- if (!e2)
- {
- return;
- }
- if (e2->status == 0)
- {
- UPdateMsgStatus(e2->msg);
- }
- else if (e2->status == -1)
- {
- UPdateMsgStatus(e2->msg);
- }
- else if (e2->status == 200)
- {
- }
-
- }
- void CMainDlg::UPdateMsgStatus(SStringW msg)
- {
- //text_touch
- SStatic* text_touch = FindChildByName2<SStatic>(L"text_touch");
- if (text_touch)
- {
- text_touch->SetWindowTextW(msg);
- text_touch->EnableWindow(FALSE);
- text_touch->Invalidate();
- }
- }
- //连接状态 更新UI
- void CMainDlg::OnConnecting_UdateUi(bool b,SStringW msg,SStringW acc_msg)
- {
- SWindow* selectnode = FindChildByName2<SWindow>(L"selectnode");
- if (selectnode)
- {
- selectnode->EnableWindow(b);
- selectnode->Invalidate();
- }
- SStatic* text_touch = FindChildByName2<SStatic>(L"text_touch");
- if (text_touch)
- {
- text_touch->SetWindowTextW(msg);
- text_touch->EnableWindow(b);
- text_touch->Invalidate();
- }
- SImageButton* connect_touch = FindChildByName2<SImageButton>(L"connect_touch");
- if (connect_touch)
- {
- connect_touch->EnableWindow(b);
- connect_touch->Invalidate();
- }
- SImageButton* connect_status = FindChildByName2<SImageButton>(L"connect_status");
- if (connect_status)
- {
- connect_status->EnableWindow(b);
- connect_status->Invalidate();
- }
- SImageButton* start_Acc = FindChildByName2<SImageButton>(L"start_Acc");
- if (start_Acc)
- {
- if (acc_msg.IsEmpty())
- {
- acc_msg = msg;
- }
- start_Acc->SetWindowTextW(acc_msg);
- start_Acc->EnableWindow(b);
- start_Acc->Invalidate();
- }
- }
- //TODO:消息映射
- void CMainDlg::OnClose()
- {
- OnMinimize();
- }
- void CMainDlg::OnMaximize()
- {
- SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE);
- }
- void CMainDlg::OnRestore()
- {
- SendMessage(WM_SYSCOMMAND, SC_RESTORE);
- }
- void CMainDlg::OnMinimize()
- {
- SendMessage(WM_SYSCOMMAND, SC_MINIMIZE);
- }
- void ShowConsoleWindow(bool show) {
- const HWND hWnd = CProcessManager::getSingletonPtr()->GetConsoleWindow();
- if (hWnd)
- {
- ShowWindow(hWnd, show ? SW_SHOW : SW_HIDE);
- if (show)
- SetForegroundWindow(hWnd);
- }
- }
- void CMainDlg::OnCommand(UINT uNotifyCode, int nID, HWND wndCtl) {
- if (uNotifyCode == 0)
- {
- if (nID == 2)
- {
- const HWND hWndConsole = CProcessManager::getSingletonPtr()->GetConsoleWindow();
- if (hWndConsole)
- {
- ShowConsoleWindow(!::IsWindowVisible(hWndConsole));
- }
- else
- ShowConsoleWindow(false);
- }
- else if (nID == 6) {
- if (m_base_clash)
- {
- m_base_clash->StopClash();
- delete m_base_clash;
- m_base_clash = nullptr;
- }
- CSimpleWnd::DestroyWindow();
- }
-
- }
- }
|