diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2009-11-18 12:41:46 +0200 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2009-11-18 12:41:46 +0200 |
commit | 807c615665f03294e670f64cb02174c5a28a74f9 (patch) | |
tree | c9cc96505629f2bb61ef9072c78ef7cff0244c25 | |
parent | 39b549f1d1af0b1d64af110ae6c9cf35b2f11ac2 (diff) |
modified: watrack_mpd/globals.h
modified: watrack_mpd/init.c
modified: watrack_mpd/main.c
modified: watrack_mpd/options.c
modified: watrack_mpd/resource.h
modified: watrack_mpd/watrack_mpd.rc
-rwxr-xr-x | watrack_mpd/globals.h | 2 | ||||
-rwxr-xr-x | watrack_mpd/init.c | 18 | ||||
-rwxr-xr-x | watrack_mpd/main.c | 2 | ||||
-rwxr-xr-x | watrack_mpd/options.c | 69 | ||||
-rwxr-xr-x | watrack_mpd/resource.h | 6 | ||||
-rwxr-xr-x | watrack_mpd/watrack_mpd.rc | 6 |
6 files changed, 100 insertions, 3 deletions
diff --git a/watrack_mpd/globals.h b/watrack_mpd/globals.h index a54e840..e1d54e8 100755 --- a/watrack_mpd/globals.h +++ b/watrack_mpd/globals.h @@ -5,4 +5,6 @@ HANDLE ghConnection; HANDLE ghPacketReciever;
HANDLE ghRecieverThread;
BOOL bWatrackService;
+TCHAR *gbHost, *gbPassword;
+WORD gbPort;
#endif
diff --git a/watrack_mpd/init.c b/watrack_mpd/init.c index d1fe8fe..bbc11eb 100755 --- a/watrack_mpd/init.c +++ b/watrack_mpd/init.c @@ -24,6 +24,7 @@ PLUGINLINK *pluginLink; BOOL bWatrackService = FALSE;
static int OnModulesLoaded(WPARAM wParam,LPARAM lParam);
extern char *date();
+extern int WaMpdOptInit(WPARAM wParam,LPARAM lParam);
PLUGININFOEX pluginInfo={
@@ -76,15 +77,28 @@ int __declspec(dllexport) Load(PLUGINLINK *link) return 0;
}
+void InitVars()
+{
+ gbPort = DBGetContactSettingWord(NULL, szModuleName, "Port", 6600);
+ gbPassword = (TCHAR*)malloc(64*sizeof(TCHAR));
+ gbHost = (TCHAR*)malloc(128*sizeof(TCHAR));
+ gbHost = UniGetContactSettingUtf(NULL, szModuleName, "Server", _T("127.0.0.1"));
+ gbPassword = UniGetContactSettingUtf(NULL, szModuleName, "Password", _T(""));
+}
+
+
extern void RegisterPlayer();
static int OnModulesLoaded(WPARAM wParam,LPARAM lParam)
{
+ HANDLE hHookOptionInit;
NETLIBUSER nlu = {0};
nlu.cbSize = sizeof(nlu);
- nlu.flags = NUF_OUTGOING | NUF_HTTPGATEWAY;
+ nlu.flags = (NUF_OUTGOING | NUF_HTTPCONNS);
nlu.szDescriptiveName = "Watrack MPD connection";
nlu.szSettingsModule = PLUGIN_NAME;
ghNetlibUser = (HANDLE)CallService(MS_NETLIB_REGISTERUSER, 0, (LPARAM)&nlu);
+ InitVars();
+ hHookOptionInit = HookEvent(ME_OPT_INITIALISE, WaMpdOptInit);
if (ServiceExists("WATrack/Player"))
bWatrackService = TRUE;
RegisterPlayer();
@@ -96,5 +110,7 @@ int __declspec(dllexport) Unload(void) {
if(ghNetlibUser && (ghNetlibUser != INVALID_HANDLE_VALUE))
CallService(MS_NETLIB_SHUTDOWN,(WPARAM)ghNetlibUser,0);
+ free(gbHost);
+ free(gbPassword);
return 0;
}
\ No newline at end of file diff --git a/watrack_mpd/main.c b/watrack_mpd/main.c index d76afc1..aa7aeef 100755 --- a/watrack_mpd/main.c +++ b/watrack_mpd/main.c @@ -68,7 +68,7 @@ void RegisterPlayer() // player.Icon =
player.Notes = _T("123");
player.URL = "http:// ?";
- CallService(MS_WAT_PLAYER, (WPARAM)0, (LPARAM)&player);
+ CallService(MS_WAT_PLAYER, (WPARAM)WAT_ACT_REGISTER, (LPARAM)&player);
}
}
diff --git a/watrack_mpd/options.c b/watrack_mpd/options.c index d1cff16..83002e6 100755 --- a/watrack_mpd/options.c +++ b/watrack_mpd/options.c @@ -17,6 +17,75 @@ #include "commonheaders.h"
#include <uxtheme.h>
+HINSTANCE hInst;
+
+static BOOL CALLBACK DlgProcWaMpdOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+
+int WaMpdOptInit(WPARAM wParam,LPARAM lParam)
+{
+ OPTIONSDIALOGPAGE odp = { 0 };
+ odp.cbSize = sizeof(odp);
+ odp.hInstance = hInst;
+ odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_WA_MPD);
+ odp.pszTitle = szModuleName;
+ odp.pszGroup = Translate("Plugins");
+ odp.flags=ODPF_BOLDGROUPS;
+ odp.pfnDlgProc = DlgProcWaMpdOpts;
+ CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp);
+
+
+ ZeroMemory(&odp,sizeof(odp));
+ return 0;
+}
+
+
+static BOOL CALLBACK DlgProcWaMpdOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ switch (msg)
+ {
+ case WM_INITDIALOG:
+ {
+ TranslateDialogDefault(hwndDlg);
+ SetDlgItemInt(hwndDlg, IDC_PORT, DBGetContactSettingWord(NULL, szModuleName, "Port", 6600), FALSE);
+ SetDlgItemText(hwndDlg, IDC_SERVER, UniGetContactSettingUtf(NULL, szModuleName, "Server", _T("127.0.0.1")));
+ SetDlgItemText(hwndDlg, IDC_PASSWORD, UniGetContactSettingUtf(NULL, szModuleName, "Password", _T("")));
+ return TRUE;
+ }
+
+
+ case WM_COMMAND:
+ {
+ switch (LOWORD(wParam))
+ {
+
+ }
+
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ break;
+ }
+
+ case WM_NOTIFY:
+ {
+ switch (((LPNMHDR)lParam)->code)
+ {
+
+ case PSN_APPLY:
+ {
+ TCHAR szText[128];
+ DBWriteContactSettingWord(NULL, szModuleName, "Port", (DWORD)GetDlgItemInt(hwndDlg, IDC_PORT, NULL, FALSE));
+ GetDlgItemText(hwndDlg, IDC_SERVER, szText, sizeof(szText));
+ DBWriteContactSettingTString(NULL, szModuleName, "Server", szText);
+ GetDlgItemText(hwndDlg, IDC_PASSWORD, szText, sizeof(szText));
+ DBWriteContactSettingTString(NULL, szModuleName, "Password", szText);
+ return TRUE;
+ }
+ }
+ }
+ break;
+ }
+
+ return FALSE;
+}
diff --git a/watrack_mpd/resource.h b/watrack_mpd/resource.h index 5f6d247..e46d88b 100755 --- a/watrack_mpd/resource.h +++ b/watrack_mpd/resource.h @@ -15,6 +15,10 @@ #define IDC_MSG_SIZE 1009
#define IDC_MSG_SIZE2 1010
#define IDC_CHAR_COUNT 1010
+#define IDC_SERVER 1011
+#define IDC_PORT 1012
+#define IDC_EDIT3 1013
+#define IDC_PASSWORD 1013
// Next default values for new objects
//
@@ -22,7 +26,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1011
+#define _APS_NEXT_CONTROL_VALUE 1016
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
diff --git a/watrack_mpd/watrack_mpd.rc b/watrack_mpd/watrack_mpd.rc index 8180929..984794b 100755 --- a/watrack_mpd/watrack_mpd.rc +++ b/watrack_mpd/watrack_mpd.rc @@ -68,6 +68,12 @@ IDD_OPT_WA_MPD DIALOGEX 0, 0, 268, 214 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN
+ EDITTEXT IDC_SERVER,71,18,72,14,ES_AUTOHSCROLL
+ EDITTEXT IDC_PORT,72,38,72,14,ES_AUTOHSCROLL
+ EDITTEXT IDC_PASSWORD,71,58,73,14,ES_AUTOHSCROLL
+ LTEXT "MPD Host",IDC_STATIC,7,20,32,8
+ LTEXT "Port",IDC_STATIC,7,42,14,8
+ LTEXT "Password",IDC_STATIC,7,63,32,8
END
|