From abe53d3c48a6552e136ddc8bc554764daf255a05 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 7 Nov 2005 17:42:49 +0100 Subject: More work on config manager --- win32/admin/MainDlg.cpp | 71 ++++++++++ win32/admin/MainDlg.h | 54 ++++++++ win32/admin/PropAccess.cpp | 114 ++++++++++++++++ win32/admin/PropAccess.h | 59 +++++++++ win32/admin/PropConn.cpp | 123 ++++++++++++++++++ win32/admin/PropConn.h | 59 +++++++++ win32/admin/PropLog.cpp | 78 +++++++++++ win32/admin/PropLog.h | 47 +++++++ win32/admin/PropMain.cpp | 99 ++++++++++++++ win32/admin/PropMain.h | 58 +++++++++ win32/admin/PropPaths.cpp | 115 ++++++++++++++++ win32/admin/PropPaths.h | 57 ++++++++ win32/admin/admin.dsp | 175 +++++++++++++++++++++++++ win32/admin/bitlbee.rc | 303 +++++++++++++++++++++++++++++++++++++++++++ win32/admin/bitlbeewin.cpp | 47 +++++++ win32/admin/bitlbeewin.h | 49 +++++++ win32/admin/res/bmp00002.bmp | Bin 0 -> 5830 bytes win32/admin/res/icon2.ico | Bin 0 -> 3774 bytes win32/admin/resource.h | 65 ++++++++++ 19 files changed, 1573 insertions(+) create mode 100644 win32/admin/MainDlg.cpp create mode 100644 win32/admin/MainDlg.h create mode 100644 win32/admin/PropAccess.cpp create mode 100644 win32/admin/PropAccess.h create mode 100644 win32/admin/PropConn.cpp create mode 100644 win32/admin/PropConn.h create mode 100644 win32/admin/PropLog.cpp create mode 100644 win32/admin/PropLog.h create mode 100644 win32/admin/PropMain.cpp create mode 100644 win32/admin/PropMain.h create mode 100644 win32/admin/PropPaths.cpp create mode 100644 win32/admin/PropPaths.h create mode 100644 win32/admin/admin.dsp create mode 100644 win32/admin/bitlbee.rc create mode 100644 win32/admin/bitlbeewin.cpp create mode 100644 win32/admin/bitlbeewin.h create mode 100644 win32/admin/res/bmp00002.bmp create mode 100644 win32/admin/res/icon2.ico create mode 100644 win32/admin/resource.h (limited to 'win32/admin') diff --git a/win32/admin/MainDlg.cpp b/win32/admin/MainDlg.cpp new file mode 100644 index 00000000..e9ecda34 --- /dev/null +++ b/win32/admin/MainDlg.cpp @@ -0,0 +1,71 @@ +// MainDlg.cpp : implementation file +// + +#include "PropPaths.h" +#include "PropAccess.h" +#include "PropConn.h" +#include "MainDlg.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CMainDlg + +IMPLEMENT_DYNAMIC(CMainDlg, CPropertySheet) + +CMainDlg::CMainDlg() : CPropertySheet("Bitlbee for Windows") +{ + AddPage(new CPropPaths()); + AddPage(new CPropAccess()); + AddPage(new CPropertyPage(IDD_PROPPAGE_ABOUT)); + AddPage(new CPropConn()); + Create(); + ShowWindow(SW_HIDE); +} + +CMainDlg::~CMainDlg() +{ +} + + +BEGIN_MESSAGE_MAP(CMainDlg, CPropertySheet) + //{{AFX_MSG_MAP(CMainDlg) + ON_WM_CLOSE() + //}}AFX_MSG_MAP + ON_BN_CLICKED(IDOK, OnOK) +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CMainDlg message handlers + +BOOL CMainDlg::OnInitDialog() +{ + m_bModeless = FALSE; + m_nFlags |= WF_CONTINUEMODAL; + + CPropertySheet::OnInitDialog(); + GetDlgItem(IDHELP)->ShowWindow(SW_HIDE); + GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE); + + m_bModeless = TRUE; + m_nFlags &= WF_CONTINUEMODAL; + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} + +void CMainDlg::OnOK() +{ + PressButton(PSBTN_APPLYNOW); + ShowWindow(SW_HIDE); +} + + +void CMainDlg::OnClose() +{ + ShowWindow(SW_HIDE); +} diff --git a/win32/admin/MainDlg.h b/win32/admin/MainDlg.h new file mode 100644 index 00000000..be5547fd --- /dev/null +++ b/win32/admin/MainDlg.h @@ -0,0 +1,54 @@ +#if !defined(AFX_MAINDLG_H__D88FFF4C_047D_4562_A041_CCDCFA52F87C__INCLUDED_) +#define AFX_MAINDLG_H__D88FFF4C_047D_4562_A041_CCDCFA52F87C__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 +// MainDlg.h : header file +// + +#include + +///////////////////////////////////////////////////////////////////////////// +// CMainDlg + +class CMainDlg : public CPropertySheet +{ + DECLARE_DYNAMIC(CMainDlg) + +// Construction +public: + CMainDlg(); + +// Attributes +public: + +// Operations +public: + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CMainDlg) + //}}AFX_VIRTUAL + +// Implementation +public: + virtual ~CMainDlg(); + + // Generated message map functions +protected: + //{{AFX_MSG(CMainDlg) + virtual BOOL OnInitDialog(); + afx_msg void OnClose(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +private: + void OnOK(); +}; + +///////////////////////////////////////////////////////////////////////////// + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_MAINDLG_H__D88FFF4C_047D_4562_A041_CCDCFA52F87C__INCLUDED_) diff --git a/win32/admin/PropAccess.cpp b/win32/admin/PropAccess.cpp new file mode 100644 index 00000000..a09ce454 --- /dev/null +++ b/win32/admin/PropAccess.cpp @@ -0,0 +1,114 @@ +// PropAccess.cpp : implementation file +// + +#include "PropAccess.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CPropAccess dialog + + +CPropAccess::CPropAccess() + : CPropertyPage(CPropAccess::IDD) +{ + + //{{AFX_DATA_INIT(CPropAccess) + //}}AFX_DATA_INIT +} + + +void CPropAccess::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CPropAccess) + DDX_Control(pDX, IDC_AUTH_REGISTERED, m_auth_registered); + DDX_Control(pDX, IDC_AUTH_OPEN, m_auth_open); + DDX_Control(pDX, IDC_AUTH_CLOSED, m_auth_closed); + DDX_Control(pDX, IDC_PASSWORD, m_password); + DDX_Control(pDX, IDC_PORT, m_port); + DDX_Control(pDX, IDC_INTERFACE, m_interface); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CPropAccess, CPropertyPage) + //{{AFX_MSG_MAP(CPropAccess) + ON_BN_CLICKED(IDC_AUTH_REGISTERED, OnAuthRegistered) + ON_BN_CLICKED(IDC_AUTH_OPEN, OnAuthOpen) + ON_BN_CLICKED(IDC_AUTH_CLOSED, OnAuthClosed) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CPropAccess message handlers + +void CPropAccess::OnOK() +{ + CString iface; m_interface.GetWindowText(iface); + WriteProfileString("interface", iface); + + CString port; m_port.GetWindowText(port); + WriteProfileInt("port", port); + + CString password; m_password.GetWindowText(password); + WriteProfileString("password", password); + + if(m_auth_closed.GetCheck() == 1) WriteProfileInt("auth_mode", 1); + if(m_auth_open.GetCheck() == 1) WriteProfileInt("auth_mode", 0); + if(m_auth_registered.GetCheck() == 1) WriteProfileInt("auth_mode", 2); + + CPropertyPage::OnOK(); +} + +void CPropAccess::OnAuthRegistered() +{ + m_password.EnableWindow(FALSE); + m_auth_open.SetCheck(0); + m_auth_registered.SetCheck(1); + m_auth_closed.SetCheck(0); + +} + +void CPropAccess::OnAuthOpen() +{ + m_password.EnableWindow(FALSE); + m_auth_open.SetCheck(1); + m_auth_registered.SetCheck(0); + m_auth_closed.SetCheck(0); +} + +void CPropAccess::OnAuthClosed() +{ + m_password.EnableWindow(TRUE); + m_auth_open.SetCheck(0); + m_auth_registered.SetCheck(0); + m_auth_closed.SetCheck(1); + +} + +BOOL CPropAccess::OnInitDialog() +{ + CPropertyPage::OnInitDialog(); + + HKEY key; + RegOpenKey(HKEY_LOCAL_MACHINE, BITLBEE_KEY, &key); + + m_interface.SetWindowText(GetProfileString("interface", "0.0.0.0")); + m_password.SetWindowText(GetProfileString("password", "")); + char tmp[20]; + sprintf(tmp, "%d", GetProfileInt("port", 6667)); + m_port.SetWindowText(tmp); + + switch(GetProfileInt("auth_mode", 1)) { + case 0: OnAuthOpen();break; + case 1: OnAuthClosed();break; + case 2: OnAuthRegistered();break; + } + + return TRUE; +} diff --git a/win32/admin/PropAccess.h b/win32/admin/PropAccess.h new file mode 100644 index 00000000..cae0241c --- /dev/null +++ b/win32/admin/PropAccess.h @@ -0,0 +1,59 @@ +#if !defined(AFX_PROPACCESS_H__0AC45777_B43C_4467_91FF_391DFD582057__INCLUDED_) +#define AFX_PROPACCESS_H__0AC45777_B43C_4467_91FF_391DFD582057__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 +// PropAccess.h : header file +// + +#include +#include "Resource.h" + +///////////////////////////////////////////////////////////////////////////// +// CPropAccess dialog + +class CPropAccess : public CPropertyPage +{ +// Construction +public: + CPropAccess(); // standard constructor + +// Dialog Data + //{{AFX_DATA(CPropAccess) + enum { IDD = IDD_PROPPAGE_ACCESS }; + CButton m_auth_registered; + CButton m_auth_open; + CButton m_auth_closed; + CEdit m_password; + CEdit m_port; + CEdit m_interface; + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CPropAccess) + public: + virtual void OnOK(); + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(CPropAccess) + afx_msg void OnAuthRegistered(); + afx_msg void OnAuthOpen(); + afx_msg void OnAuthClosed(); + virtual BOOL OnInitDialog(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_PROPACCESS_H__0AC45777_B43C_4467_91FF_391DFD582057__INCLUDED_) diff --git a/win32/admin/PropConn.cpp b/win32/admin/PropConn.cpp new file mode 100644 index 00000000..b16be0f1 --- /dev/null +++ b/win32/admin/PropConn.cpp @@ -0,0 +1,123 @@ +// PropConn.cpp : implementation file +// + +#include "PropConn.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CPropConn dialog + + +CPropConn::CPropConn(CWnd* pParent /*=NULL*/) + : CPropertyPage(CPropConn::IDD) +{ + //{{AFX_DATA_INIT(CPropConn) + //}}AFX_DATA_INIT +} + + +void CPropConn::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CPropConn) + DDX_Control(pDX, IDC_PROXYPORT, m_proxyport); + DDX_Control(pDX, IDC_PROXYTYPE, m_proxytype); + DDX_Control(pDX, IDC_PROXY_ENABLED, m_proxy_enabled); + DDX_Control(pDX, IDC_PROXY_AUTH_ENABLED, m_proxy_auth_enabled); + DDX_Control(pDX, IDC_PROXYPASS, m_proxypass); + DDX_Control(pDX, IDC_PROXYHOST, m_proxyhost); + DDX_Control(pDX, IDC_PROXYUSER, m_proxyuser); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CPropConn, CPropertyPage) + //{{AFX_MSG_MAP(CPropConn) + ON_BN_CLICKED(IDC_PROXY_AUTH_ENABLED, OnProxyAuthEnabled) + ON_BN_CLICKED(IDC_PROXY_ENABLED, OnProxyEnabled) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CPropConn message handlers + +void CPropConn::OnProxyAuthEnabled() +{ + m_proxyuser.EnableWindow(m_proxy_enabled.GetCheck() && m_proxy_auth_enabled.GetCheck()); + m_proxypass.EnableWindow(m_proxy_enabled.GetCheck() && m_proxy_auth_enabled.GetCheck()); +} + +void CPropConn::OnProxyEnabled() +{ + m_proxyhost.EnableWindow(m_proxy_enabled.GetCheck()); + m_proxytype.EnableWindow(m_proxy_enabled.GetCheck()); + m_proxyport.EnableWindow(m_proxy_enabled.GetCheck()); + m_proxy_auth_enabled.EnableWindow(m_proxy_enabled.GetCheck()); + + if(m_proxy_enabled.GetCheck() && (m_proxytype.GetCurSel() < 0 || m_proxytype.GetCurSel() > 2)) + { + m_proxytype.SetCurSel(0); + } + + OnProxyAuthEnabled(); +} + +void CPropConn::OnOK() +{ + CString tmp; + m_proxyhost.GetWindowText(tmp); + WriteProfileString("proxy_host", tmp); + + m_proxyport.GetWindowText(tmp); + WriteProfileInt("proxy_port", atoi(tmp)); + + if(!m_proxy_enabled.GetCheck()) { + WriteProfileInt("proxy_type", 0); + } else { + WriteProfileInt("proxy_type", m_proxytype.GetCurSel()+1); + } + + if(!m_proxy_auth_enabled.GetCheck()) { + WriteProfileString("proxy_user", ""); + WriteProfileString("proxy_password", ""); + } else { + m_proxyuser.GetWindowText(tmp); + WriteProfileString("proxy_user", tmp); + m_proxypass.GetWindowText(tmp); + WriteProfileString("proxy_password", tmp); + } + + CPropertyPage::OnOK(); +} + +BOOL CPropConn::OnInitDialog() +{ + char pp[20]; + CPropertyPage::OnInitDialog(); + int proxytype; + + m_proxyhost.SetWindowText(GetProfileString("proxy_host", "")); + m_proxyuser.SetWindowText(GetProfileString("proxy_user", "")); + m_proxypass.SetWindowText(GetProfileString("proxy_password", "")); + sprintf(pp, "%d", GetProfileInt("proxy_port", 3128)); + m_proxyport.SetWindowText(pp); + + proxytype = GetProfileInt("proxy_type", 0); + + m_proxytype.AddString("SOCKS 4"); + m_proxytype.AddString("SOCKS 5"); + m_proxytype.AddString("HTTP"); + m_proxytype.SetCurSel(proxytype-1); + + m_proxy_enabled.SetCheck(proxytype == 0?0:1); + m_proxy_auth_enabled.SetCheck(strcmp(GetProfileString("proxy_user", ""), "")?1:0); + + OnProxyEnabled(); + + return TRUE; +} \ No newline at end of file diff --git a/win32/admin/PropConn.h b/win32/admin/PropConn.h new file mode 100644 index 00000000..e920da3d --- /dev/null +++ b/win32/admin/PropConn.h @@ -0,0 +1,59 @@ +#if !defined(AFX_PROPCONN_H__8969671F_8D9F_45E9_929F_B36CFEFCBAA2__INCLUDED_) +#define AFX_PROPCONN_H__8969671F_8D9F_45E9_929F_B36CFEFCBAA2__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 +// PropConn.h : header file +// + +#include +#include "Resource.h" + +///////////////////////////////////////////////////////////////////////////// +// CPropConn dialog + +class CPropConn : public CPropertyPage +{ +// Construction +public: + CPropConn(CWnd* pParent = NULL); // standard constructor + +// Dialog Data + //{{AFX_DATA(CPropConn) + enum { IDD = IDD_PROPPAGE_CONNECTION }; + CEdit m_proxyport; + CListBox m_proxytype; + CButton m_proxy_enabled; + CButton m_proxy_auth_enabled; + CEdit m_proxypass; + CEdit m_proxyhost; + CEdit m_proxyuser; + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CPropConn) + public: + virtual void OnOK(); + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(CPropConn) + afx_msg void OnProxyAuthEnabled(); + afx_msg void OnProxyEnabled(); + virtual BOOL OnInitDialog(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_PROPCONN_H__8969671F_8D9F_45E9_929F_B36CFEFCBAA2__INCLUDED_) diff --git a/win32/admin/PropLog.cpp b/win32/admin/PropLog.cpp new file mode 100644 index 00000000..8b1641d9 --- /dev/null +++ b/win32/admin/PropLog.cpp @@ -0,0 +1,78 @@ +// PropLog.cpp : implementation file +// + +#include "PropLog.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CPropLog dialog + + +CPropLog::CPropLog() + : CPropertyPage(CPropLog::IDD) +{ + //{{AFX_DATA_INIT(CPropLog) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT +} + + +void CPropLog::DoDataExchange(CDataExchange* pDX) +{ + CPropertyPage::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CPropLog) + DDX_Control(pDX, IDC_LOG, m_log); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CPropLog, CPropertyPage) + //{{AFX_MSG_MAP(CPropLog) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CPropLog message handlers + +static GList *log = NULL; + +extern "C" { +void glib_logger (const gchar *log_domain, GLogLevelFlags log_level, const gchar *msg, gpointer user_data) +{ + log = g_list_append(log, g_strdup_printf("%s: %s", log_domain, msg)); +} +} + +void log_message(int level, char *message, ... ) { +#define LOG_MAXLEN 300 + va_list ap; + va_start(ap, message); + char *msg = (char *)g_malloc(LOG_MAXLEN); + g_vsnprintf(msg, LOG_MAXLEN, message, ap); + va_end(ap); + log = g_list_append(log, msg); + if(level == LOGLVL_ERROR) ::MessageBox(NULL, msg, "Bitlbee", MB_OK | MB_ICONINFORMATION); + TRACE("%d: %s\n", level, msg); +} + + +BOOL CPropLog::OnInitDialog() +{ + CPropertyPage::OnInitDialog(); + + m_log.ResetContent(); + GList *gl = log; + while(gl) { + char *d = (char *)gl->data; + m_log.AddString(d); + gl = gl->next; + } + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} diff --git a/win32/admin/PropLog.h b/win32/admin/PropLog.h new file mode 100644 index 00000000..1a847b19 --- /dev/null +++ b/win32/admin/PropLog.h @@ -0,0 +1,47 @@ +#if !defined(AFX_PROPLOG_H__F56909E1_BBCC_4163_B9C2_E8D5685A34AA__INCLUDED_) +#define AFX_PROPLOG_H__F56909E1_BBCC_4163_B9C2_E8D5685A34AA__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 +// PropLog.h : header file +// + +///////////////////////////////////////////////////////////////////////////// +// CPropLog dialog + +class CPropLog : public CPropertyPage +{ +// Construction +public: + CPropLog(); // standard constructor + +// Dialog Data + //{{AFX_DATA(CPropLog) + enum { IDD = IDD_PROPPAGE_LOG }; + CListBox m_log; + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CPropLog) + public: + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(CPropLog) + virtual BOOL OnInitDialog(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_PROPLOG_H__F56909E1_BBCC_4163_B9C2_E8D5685A34AA__INCLUDED_) diff --git a/win32/admin/PropMain.cpp b/win32/admin/PropMain.cpp new file mode 100644 index 00000000..f15af691 --- /dev/null +++ b/win32/admin/PropMain.cpp @@ -0,0 +1,99 @@ +// PropMain.cpp : implementation file +// + +#include +#include "PropMain.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CPropMain property page + +IMPLEMENT_DYNCREATE(CPropMain, CPropertyPage) + +CPropMain::CPropMain() : CPropertyPage(CPropMain::IDD) +{ + //{{AFX_DATA_INIT(CPropMain) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT +} + +CPropMain::~CPropMain() +{ +} + +void CPropMain::DoDataExchange(CDataExchange* pDX) +{ + CPropertyPage::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CPropMain) + DDX_Control(pDX, IDC_STOPSERVICE, m_stopservice); + DDX_Control(pDX, IDC_STARTSERVICE, m_startservice); + DDX_Control(pDX, IDC_PING_INTERVAL, m_ping_interval); + DDX_Control(pDX, IDC_VERBOSE, m_Verbose); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CPropMain, CPropertyPage) + //{{AFX_MSG_MAP(CPropMain) + ON_BN_CLICKED(IDC_STARTSERVICE, OnStartService) + ON_BN_CLICKED(IDC_STOPSERVICE, OnStopService) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CPropMain message handlers + +BOOL CPropMain::OnInitDialog() +{ + CPropertyPage::OnInitDialog(); + + global.conf->verbose = GetProfileInt("verbose", 0); + global.conf->ping_interval = GetProfileInt("ping_interval_timeout", 0); + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} + +void CPropMain::OnOK() +{ + CPropertyPage::OnOK(); + + WriteProfileInt("verbose", global.conf->verbose); + + WriteProfileInt("ping_interval_timeout", global.conf->ping_interval); +} + +void CPropMain::OnStartService() +{ + SC_HANDLE schService; + SC_HANDLE schSCManager; + SERVICE_STATUS status; + + schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS ); + schService = OpenService(schSCManager, "bitlbee", SERVICE_ALL_ACCESS); + + ControlService( schService, SERVICE_CONTROL_CONTINUE, &status ); + + CloseServiceHandle(schService); + CloseServiceHandle(schSCManager); +} + +void CPropMain::OnStopService() +{ + SC_HANDLE schService; + SC_HANDLE schSCManager; + SERVICE_STATUS status; + + schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS ); + schService = OpenService(schSCManager, "bitlbee", SERVICE_ALL_ACCESS); + + ControlService( schService, SERVICE_CONTROL_PAUSE, &status ); + + CloseServiceHandle(schService); + CloseServiceHandle(schSCManager); +} diff --git a/win32/admin/PropMain.h b/win32/admin/PropMain.h new file mode 100644 index 00000000..832457b2 --- /dev/null +++ b/win32/admin/PropMain.h @@ -0,0 +1,58 @@ +#if !defined(AFX_PROPMAIN_H__F3EF57A7_15AA_4F36_B6C1_2EAD91127449__INCLUDED_) +#define AFX_PROPMAIN_H__F3EF57A7_15AA_4F36_B6C1_2EAD91127449__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 +// PropMain.h : header file + +#include "Resource.h" +// + +///////////////////////////////////////////////////////////////////////////// +// CPropMain dialog + +class CPropMain : public CPropertyPage +{ + DECLARE_DYNCREATE(CPropMain) + +// Construction +public: + CPropMain(); + ~CPropMain(); + +// Dialog Data + //{{AFX_DATA(CPropMain) + enum { IDD = IDD_PROPPAGE_MAIN }; + CButton m_stopservice; + CButton m_startservice; + CEdit m_ping_interval; + CButton m_Verbose; + //}}AFX_DATA + + +// Overrides + // ClassWizard generate virtual function overrides + //{{AFX_VIRTUAL(CPropMain) + public: + virtual void OnOK(); + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + // Generated message map functions + //{{AFX_MSG(CPropMain) + virtual BOOL OnInitDialog(); + afx_msg void OnStartService(); + afx_msg void OnStopService(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_PROPMAIN_H__F3EF57A7_15AA_4F36_B6C1_2EAD91127449__INCLUDED_) diff --git a/win32/admin/PropPaths.cpp b/win32/admin/PropPaths.cpp new file mode 100644 index 00000000..4fb49497 --- /dev/null +++ b/win32/admin/PropPaths.cpp @@ -0,0 +1,115 @@ +// PropPaths.cpp : implementation file +// + +#include "PropPaths.h" +#include "shlobj.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CPropPaths dialog + + +CPropPaths::CPropPaths() + : CPropertyPage(CPropPaths::IDD) +{ + //{{AFX_DATA_INIT(CPropPaths) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT +} + + +void CPropPaths::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CPropPaths) + DDX_Control(pDX, IDC_MOTDFILE, m_motdfile); + DDX_Control(pDX, IDC_EDIT_MOTD, m_edit_motd); + DDX_Control(pDX, IDC_CONFIGDIR, m_configdir); + DDX_Control(pDX, IDC_BROWSE_MOTD, m_browse_motd); + DDX_Control(pDX, IDC_BROWSE_CONFIG, m_browse_config); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CPropPaths, CPropertyPage) + //{{AFX_MSG_MAP(CPropPaths) + ON_BN_CLICKED(IDC_BROWSE_CONFIG, OnBrowseConfig) + ON_BN_CLICKED(IDC_BROWSE_MOTD, OnBrowseMotd) + ON_BN_CLICKED(IDC_EDIT_MOTD, OnEditMotd) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CPropPaths message handlers + +void CPropPaths::OnOK() +{ + CString tmp; + m_configdir.GetWindowText(tmp); + + if (tmp.GetLength() > 0 + && tmp.GetAt(tmp.GetLength() - 1) != '/' + && tmp.GetAt(tmp.GetLength() - 1) != '\\') + { + tmp = tmp + "\\"; + } + + WriteProfileString("configdir", tmp); + + m_motdfile.GetWindowText(tmp); + WriteProfileString("motdfile", tmp); + + CPropertyPage::OnOK(); +} + +void CPropPaths::OnBrowseConfig() +{ + BROWSEINFO bi = { 0 }; + bi.lpszTitle = _T("Choose a config directory"); + LPITEMIDLIST pidl = SHBrowseForFolder(&bi); + if( pidl != 0) + { + TCHAR path[MAX_PATH]; + if( SHGetPathFromIDList (pidl, path) ) { + m_configdir.SetWindowText(path); + } + + IMalloc * imalloc = 0; + if ( SUCCEEDED (SHGetMalloc (&imalloc)) ) + { + imalloc->Free(pidl); + imalloc->Release(); + } + } +} + +void CPropPaths::OnBrowseMotd() +{ + CFileDialog f(TRUE); + + if(f.DoModal() == IDOK) { + m_motdfile.SetWindowText(f.GetPathName()); + } + +} + +void CPropPaths::OnEditMotd() +{ + CString loc;m_motdfile.GetWindowText(loc); + ShellExecute(this->GetSafeHwnd(), NULL, loc, NULL, NULL, SW_SHOWNORMAL); +} + +BOOL CPropPaths::OnInitDialog() +{ + CPropertyPage::OnInitDialog(); + + m_configdir.SetWindowText(GetProfileString("configdir", "")); + m_motdfile.SetWindowText(GetProfileString("motdfile", "")); + + return TRUE; +} diff --git a/win32/admin/PropPaths.h b/win32/admin/PropPaths.h new file mode 100644 index 00000000..733e674c --- /dev/null +++ b/win32/admin/PropPaths.h @@ -0,0 +1,57 @@ +#if !defined(AFX_PROPPATHS_H__693C8F02_C150_45DD_99F1_F824795E98C9__INCLUDED_) +#define AFX_PROPPATHS_H__693C8F02_C150_45DD_99F1_F824795E98C9__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 +// PropPaths.h : header file +// +#include +#include "Resource.h" + +///////////////////////////////////////////////////////////////////////////// +// CPropPaths dialog + +class CPropPaths : public CPropertyPage +{ +// Construction +public: + CPropPaths(); // standard constructor + +// Dialog Data + //{{AFX_DATA(CPropPaths) + enum { IDD = IDD_PROPPAGE_PATHS }; + CEdit m_motdfile; + CButton m_edit_motd; + CEdit m_configdir; + CButton m_browse_motd; + CButton m_browse_config; + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CPropPaths) + public: + virtual void OnOK(); + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(CPropPaths) + afx_msg void OnBrowseConfig(); + afx_msg void OnBrowseMotd(); + afx_msg void OnEditMotd(); + virtual BOOL OnInitDialog(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_PROPPATHS_H__693C8F02_C150_45DD_99F1_F824795E98C9__INCLUDED_) diff --git a/win32/admin/admin.dsp b/win32/admin/admin.dsp new file mode 100644 index 00000000..6d24af0d --- /dev/null +++ b/win32/admin/admin.dsp @@ -0,0 +1,175 @@ +# Microsoft Developer Studio Project File - Name="admin" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=admin - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "admin.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "admin.mak" CFG="admin - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "admin - Win32 Release" (based on "Win32 (x86) Application") +!MESSAGE "admin - Win32 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "admin - Win32 Release" + +# PROP BASE Use_MFC 6 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 6 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /FD /c +# SUBTRACT CPP /YX /Yc /Yu +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" +# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386 +# ADD LINK32 /nologo /subsystem:windows /machine:I386 /out:"Release/bitlbeeadm.exe" + +!ELSEIF "$(CFG)" == "admin - Win32 Debug" + +# PROP BASE Use_MFC 6 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 6 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /FD /c +# SUBTRACT CPP /YX /Yc /Yu +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL" +# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept +# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /out:"Debug/bitlbeeadm.exe" /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "admin - Win32 Release" +# Name "admin - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\bitlbeewin.cpp +# End Source File +# Begin Source File + +SOURCE=.\MainDlg.cpp +# End Source File +# Begin Source File + +SOURCE=.\PropAccess.cpp +# End Source File +# Begin Source File + +SOURCE=.\PropConn.cpp +# End Source File +# Begin Source File + +SOURCE=.\PropMain.cpp +# End Source File +# Begin Source File + +SOURCE=.\PropPaths.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\bitlbeewin.h +# End Source File +# Begin Source File + +SOURCE=.\MainDlg.h +# End Source File +# Begin Source File + +SOURCE=.\PropAccess.h +# End Source File +# Begin Source File + +SOURCE=.\PropConn.h +# End Source File +# Begin Source File + +SOURCE=.\PropMain.h +# End Source File +# Begin Source File + +SOURCE=.\PropPaths.h +# End Source File +# Begin Source File + +SOURCE=.\Resource.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\bitlbee.rc + +!IF "$(CFG)" == "admin - Win32 Release" + +!ELSEIF "$(CFG)" == "admin - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\res\bmp00002.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icon2.ico +# End Source File +# End Group +# End Target +# End Project diff --git a/win32/admin/bitlbee.rc b/win32/admin/bitlbee.rc new file mode 100644 index 00000000..5e9b5407 --- /dev/null +++ b/win32/admin/bitlbee.rc @@ -0,0 +1,303 @@ +//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_BEE ICON DISCARDABLE "res\\icon2.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_PROPPAGE_ACCESS DIALOG DISCARDABLE 0, 0, 210, 154 +STYLE WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Access" +FONT 8, "MS Sans Serif" +BEGIN + GROUPBOX "Authentication Mode",IDC_STATIC,7,7,196,47 + CONTROL "&Open",IDC_AUTH_OPEN,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,14,15,181,13 + CONTROL "&Closed",IDC_AUTH_CLOSED,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,14,27,160,11 + CONTROL "&Registered",IDC_AUTH_REGISTERED,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,14,39,182,11 + GROUPBOX "Bind",IDC_STATIC,7,55,196,46 + LTEXT "IP to bind to:",IDC_STATIC,15,67,49,9 + LTEXT "Port:",IDC_STATIC,15,82,52,10 + EDITTEXT IDC_INTERFACE,86,67,108,11,ES_AUTOHSCROLL + EDITTEXT IDC_PORT,86,82,108,11,ES_AUTOHSCROLL + GROUPBOX "Password",IDC_STATIC,7,104,196,43 + EDITTEXT IDC_PASSWORD,14,129,115,11,ES_AUTOHSCROLL + LTEXT "Only used when authentication mode is set to closed.", + IDC_STATIC,13,113,184,11 +END + +IDD_PROPPAGE_PATHS DIALOG DISCARDABLE 0, 0, 210, 154 +STYLE WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Paths" +FONT 8, "MS Sans Serif" +BEGIN + GROUPBOX "Config path",IDC_STATIC,7,7,196,30 + PUSHBUTTON "&Browse...",IDC_BROWSE_CONFIG,151,16,46,13 + EDITTEXT IDC_CONFIGDIR,13,17,122,13,ES_AUTOHSCROLL + GROUPBOX "Message of the day file",IDC_STATIC,7,42,196,40 + PUSHBUTTON "&Browse...",IDC_BROWSE_MOTD,153,51,43,13 + EDITTEXT IDC_MOTDFILE,13,51,122,13,ES_AUTOHSCROLL + PUSHBUTTON "&Edit...",IDC_EDIT_MOTD,153,66,43,13 +END + +IDD_PROPPAGE_ABOUT DIALOG DISCARDABLE 0, 0, 284, 156 +STYLE WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "About" +FONT 8, "MS Sans Serif" +BEGIN + GROUPBOX "Authors",IDC_STATIC,7,7,270,79 + LTEXT "Bitlbee is written by : \n Wilmer van der Gaast \n Maurits Dijkstra \n Jelmer Vernooij ", + IDC_STATIC,13,16,180,35 + LTEXT "Windows port by Jelmer Vernooij ", + IDC_STATIC,13,55,180,12 + CONTROL 135,IDC_STATIC,"Static",SS_BITMAP | SS_SUNKEN,193,14,73, + 64 + GROUPBOX "More information",IDC_STATIC,7,88,270,61 + LTEXT "See the file CREDITS for a list of contributors.", + IDC_STATIC,16,69,171,11 + LTEXT "The Bitlbee homepage is located at http://www.bitlbee.org/\n\nFor Bitlbee support, go to #bitlbee on irc.oftc.net", + IDC_STATIC,17,100,248,39 +END + +IDD_PROPPAGE_CONNECTION DIALOG DISCARDABLE 0, 0, 210, 154 +STYLE WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Connection" +FONT 8, "MS Sans Serif" +BEGIN + GROUPBOX "Proxy",IDC_STATIC,7,23,196,124 + EDITTEXT IDC_PROXYHOST,110,33,86,12,ES_AUTOHSCROLL + CONTROL "&Use Proxy",IDC_PROXY_ENABLED,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,7,196,14 + LTEXT "Proxy &Host",IDC_STATIC,13,33,82,12 + EDITTEXT IDC_PROXYUSER,110,105,86,12,ES_AUTOHSCROLL + LTEXT "Proxy &User",IDC_STATIC,13,105,82,12 + EDITTEXT IDC_PROXYPASS,110,122,86,12,ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Proxy &Password",IDC_STATIC,13,123,82,12 + CONTROL "&Authenticate to proxy",IDC_PROXY_AUTH_ENABLED,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,14,85,86,14 + LTEXT "Proxy &Type",IDC_STATIC,13,63,77,8 + LISTBOX IDC_PROXYTYPE,110,62,86,31,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "&Proxy Port",IDC_STATIC,14,47,80,9 + EDITTEXT IDC_PROXYPORT,109,47,86,12,ES_AUTOHSCROLL | ES_NUMBER +END + +IDD_PROPPAGE_MAIN DIALOG DISCARDABLE 0, 0, 210, 101 +STYLE WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Main" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "Current Status:",IDC_STATIC,13,16,66,9 + LTEXT "Static",IDC_STATIC,92,16,80,12 + PUSHBUTTON "&Start",IDC_STARTSERVICE,13,28,40,11 + PUSHBUTTON "&Stop",IDC_STOPSERVICE,65,29,46,11 + CONTROL "&Verbose",IDC_VERBOSE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,15,43,84,12 + EDITTEXT IDC_PING_INTERVAL,93,62,47,12,ES_AUTOHSCROLL + LTEXT "Ping Interval:",IDC_STATIC,13,62,60,10 +END + + +#ifndef _MAC +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "The Bitlbee Team\0" + VALUE "FileDescription", "BitlBee for Windows\0" + VALUE "FileVersion", "1, 0, 0, 1\0" + VALUE "InternalName", "bitlbee\0" + VALUE "LegalCopyright", "Copyright (C) 2002-2005\0" + VALUE "OriginalFilename", "bitlbeeadm.exe\0" + VALUE "ProductName", "Bitlbee Application\0" + VALUE "ProductVersion", "1, 0, 0, 1\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // !_MAC + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_PROPPAGE_ACCESS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 203 + TOPMARGIN, 7 + BOTTOMMARGIN, 147 + END + + IDD_PROPPAGE_PATHS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 203 + TOPMARGIN, 7 + BOTTOMMARGIN, 147 + END + + IDD_PROPPAGE_ABOUT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 277 + TOPMARGIN, 7 + BOTTOMMARGIN, 149 + END + + IDD_PROPPAGE_CONNECTION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 203 + TOPMARGIN, 7 + BOTTOMMARGIN, 147 + END + + IDD_PROPPAGE_MAIN, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 203 + TOPMARGIN, 6 + BOTTOMMARGIN, 94 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BEE_SMALL BITMAP DISCARDABLE "res\\bmp00002.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ABOUTBOX "&About bitlbee..." +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/win32/admin/bitlbeewin.cpp b/win32/admin/bitlbeewin.cpp new file mode 100644 index 00000000..56e61c3f --- /dev/null +++ b/win32/admin/bitlbeewin.cpp @@ -0,0 +1,47 @@ +// bitlbee.cpp : Defines the class behaviors for the application. +// + +#include "maindlg.h" +#include "bitlbeewin.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +///////////////////////////////////////////////////////////////////////////// +// CBitlbeeApp + +BEGIN_MESSAGE_MAP(CBitlbeeApp, CWinApp) + //{{AFX_MSG_MAP(CBitlbeeApp) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +///////////////////////////////////////////////////////////////////////////// +// The one and only CBitlbeeApp object + +CBitlbeeApp theApp; + +///////////////////////////////////////////////////////////////////////////// +// CBitlbeeApp initialization + +BOOL CBitlbeeApp::InitInstance() +{ + + // Standard initialization + // If you are not using these features and wish to reduce the size + // of your final executable, you should remove from the following + // the specific initialization routines you do not need. + +#ifdef _AFXDLL + Enable3dControls(); // Call this when using MFC in a shared DLL +#else + Enable3dControlsStatic(); // Call this when linking to MFC statically +#endif + + new CMainDlg(); + + return TRUE; +} diff --git a/win32/admin/bitlbeewin.h b/win32/admin/bitlbeewin.h new file mode 100644 index 00000000..73860252 --- /dev/null +++ b/win32/admin/bitlbeewin.h @@ -0,0 +1,49 @@ +// bitlbee.h : main header file for the BITLBEE application +// + +#if !defined(AFX_BITLBEE_H__E76A1E72_2177_4477_A796_76D6AB817F80__INCLUDED_) +#define AFX_BITLBEE_H__E76A1E72_2177_4477_A796_76D6AB817F80__INCLUDED_ + +#if _MSC_VER >= 1000 +#pragma once +#endif // _MSC_VER >= 1000 + +#include +#include +#include +#include "resource.h" // main symbols + +///////////////////////////////////////////////////////////////////////////// +// CBitlbeeApp: +// See bitlbee.cpp for the implementation of this class +// + +class CBitlbeeApp : public CWinApp +{ +public: + CBitlbeeApp() {} + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CBitlbeeApp) + public: + virtual BOOL InitInstance(); + virtual int ExitInstance(); + //}}AFX_VIRTUAL + +// Implementation + + //{{AFX_MSG(CBitlbeeApp) + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + protected: + CPropertySheet *dlg; +}; + +///////////////////////////////////////////////////////////////////////////// + +//{{AFX_INSERT_LOCATION}} +// Microsoft Developer Studio will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_BITLBEE_H__E76A1E72_2177_4477_A796_76D6AB817F80__INCLUDED_) + diff --git a/win32/admin/res/bmp00002.bmp b/win32/admin/res/bmp00002.bmp new file mode 100644 index 00000000..77205cb1 Binary files /dev/null and b/win32/admin/res/bmp00002.bmp differ diff --git a/win32/admin/res/icon2.ico b/win32/admin/res/icon2.ico new file mode 100644 index 00000000..5dfe084f Binary files /dev/null and b/win32/admin/res/icon2.ico differ diff --git a/win32/admin/resource.h b/win32/admin/resource.h new file mode 100644 index 00000000..8c8fe503 --- /dev/null +++ b/win32/admin/resource.h @@ -0,0 +1,65 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by bitlbee.rc +// +#define IDM_ABOUTBOX 0x0010 +#define IDD_ABOUTBOX 100 +#define IDS_ABOUTBOX 101 +#define IDC_OK 101 +#define IDD_BITLBEE_DIALOG 102 +#define IDP_SOCKETS_INIT_FAILED 103 +#define IDD_PROPPAGE_ACCESS 106 +#define IDD_PROPPAGE_USERS 107 +#define IDD_PROPPAGE_PATHS 108 +#define IDR_MAINFRAME 128 +#define IDI_BEE 130 +#define IDD_PHONY 131 +#define IDR_POPUP 132 +#define IDD_PROPPAGE_ABOUT 132 +#define IDD_PROPPAGE_LOG 133 +#define IDB_BEE_SMALL 135 +#define IDD_PROPPAGE_CONNECTION 137 +#define IDI_ICON1 138 +#define IDD_PROPPAGE_MAIN 138 +#define IDC_AUTH_OPEN 1001 +#define IDC_AUTH_CLOSED 1002 +#define IDC_AUTH_REGISTERED 1003 +#define IDC_BROWSE_CONFIG 1004 +#define IDC_CONFIGDIR 1005 +#define IDC_BROWSE_MOTD 1006 +#define IDC_KNOWN_USERS 1007 +#define IDC_MOTDFILE 1007 +#define IDC_EDIT_MOTD 1008 +#define IDC_DEL_KNOWN_USERS 1008 +#define IDC_CURRENT_USERS 1009 +#define IDC_KICK 1010 +#define IDC_INTERFACE 1011 +#define IDC_PORT 1012 +#define IDC_PASSWORD 1013 +#define IDC_REFRESH_KNOWN_USERS 1015 +#define IDC_REFRESH_CURRENT_USERS 1016 +#define IDC_LOG 1017 +#define IDC_PROXYHOST 1018 +#define IDC_PROXYUSER 1019 +#define IDC_PROXYPASS 1020 +#define IDC_PROXY_ENABLED 1021 +#define IDC_PROXY_AUTH_ENABLED 1022 +#define IDC_PROXYPORT 1023 +#define IDC_PROXYTYPE 1024 +#define IDC_STARTSERVICE 1025 +#define IDC_STOPSERVICE 1026 +#define IDC_VERBOSE 1027 +#define IDC_PING_INTERVAL 1028 +#define IDM_SHOW 32771 +#define IDM_EXIT 32773 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 139 +#define _APS_NEXT_COMMAND_VALUE 32774 +#define _APS_NEXT_CONTROL_VALUE 1029 +#define _APS_NEXT_SYMED_VALUE 102 +#endif +#endif -- cgit v1.2.3