Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
110
Src/Plugins/Library/ml_online/Preferences.cpp
Normal file
110
Src/Plugins/Library/ml_online/Preferences.cpp
Normal file
|
@ -0,0 +1,110 @@
|
|||
#include "main.h"
|
||||
#include "./preferences.h"
|
||||
|
||||
#include "../winamp/wa_ipc.h"
|
||||
#include "./resource.h"
|
||||
#include "./api__ml_online.h"
|
||||
#include "./config.h"
|
||||
|
||||
#include <windows.h>
|
||||
#include <shlobj.h>
|
||||
|
||||
static prefsDlgRecW preferences;
|
||||
extern C_Config *g_config;
|
||||
|
||||
static INT_PTR CALLBACK Preferences_DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
BOOL Preferences_Register()
|
||||
{
|
||||
WCHAR szBuffer[256] = {0};
|
||||
WASABI_API_LNGSTRINGW_BUF(IDS_ONLINE_SERVICES, szBuffer, ARRAYSIZE(szBuffer));
|
||||
|
||||
preferences.hInst = WASABI_API_LNG_HINST;
|
||||
preferences.dlgID = IDD_OMPREF;
|
||||
preferences.proc = (void *)Preferences_DialogProc;
|
||||
preferences.name = Plugin_CopyString(szBuffer);
|
||||
preferences.where = 6; // Media Library
|
||||
|
||||
return (BOOL)SENDWAIPC(Plugin_GetWinamp(), IPC_ADD_PREFS_DLGW, &preferences);
|
||||
|
||||
}
|
||||
|
||||
void Preferences_Unregister()
|
||||
{
|
||||
SENDWAIPC(Plugin_GetWinamp(), IPC_REMOVE_PREFS_DLG, &preferences);
|
||||
|
||||
}
|
||||
|
||||
BOOL Preferences_Show()
|
||||
{
|
||||
return (BOOL)SENDWAIPC(Plugin_GetWinamp(), IPC_OPENPREFSTOPAGE, &preferences);
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK Preferences_DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
CheckDlgButton(hwndDlg,IDC_AUTOSIZE,g_config->ReadInt("AutoSize",1));
|
||||
|
||||
char tmp[64] = {0};
|
||||
wsprintfA(tmp,"%i",g_config->ReadInt("maxbandwidth", MAXBANDWIDTH ));
|
||||
SetDlgItemTextA(hwndDlg,IDC_RADIO_MAXBW,tmp);
|
||||
wsprintfA(tmp,"%i",g_config->ReadInt("minbandwidth",1));
|
||||
SetDlgItemTextA(hwndDlg,IDC_RADIO_MINBW,tmp);
|
||||
int radiofreq=g_config->ReadInt("radio_upd_freq",0);
|
||||
CheckDlgButton(hwndDlg,radiofreq==0?IDC_RADIO_HOURLY:radiofreq==1?IDC_RADIO_DAILY:radiofreq==2?IDC_RADIO_WEEKLY:IDC_RADIO_NEVER,BST_CHECKED);
|
||||
SetDlgItemTextA(hwndDlg, IDC_NOWPLAYINGURL, g_config->ReadString("nowplayingurl",""));
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_AUTOSIZE:
|
||||
g_config->WriteInt("AutoSize",IsDlgButtonChecked(hwndDlg,IDC_AUTOSIZE));
|
||||
break;
|
||||
|
||||
case IDC_RADIO_NEVER:
|
||||
case IDC_RADIO_DAILY:
|
||||
case IDC_RADIO_WEEKLY:
|
||||
case IDC_RADIO_HOURLY:
|
||||
{
|
||||
int radiofreq=0;
|
||||
if(IsDlgButtonChecked(hwndDlg,IDC_RADIO_NEVER)) radiofreq=3;
|
||||
if(IsDlgButtonChecked(hwndDlg,IDC_RADIO_DAILY)) radiofreq=1;
|
||||
if(IsDlgButtonChecked(hwndDlg,IDC_RADIO_WEEKLY)) radiofreq=2;
|
||||
if(IsDlgButtonChecked(hwndDlg,IDC_RADIO_HOURLY)) radiofreq=0;
|
||||
g_config->WriteInt("radio_upd_freq",radiofreq);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_NOWPLAYINGURL:
|
||||
if (HIWORD(wParam) == EN_CHANGE)
|
||||
{
|
||||
char nowplayingurl[1024] = {0};
|
||||
GetDlgItemTextA(hwndDlg, IDC_NOWPLAYINGURL, nowplayingurl, ARRAYSIZE(nowplayingurl));
|
||||
g_config->WriteString("nowplayingurl",nowplayingurl);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
char tmp[64]={0,};
|
||||
GetDlgItemTextA(hwndDlg,IDC_RADIO_MAXBW,tmp,sizeof(tmp)-1);
|
||||
int x = atoi(tmp);
|
||||
if ( x < 2 ) x = 2;
|
||||
g_config->WriteInt("maxbandwidth",x);
|
||||
GetDlgItemTextA(hwndDlg,IDC_RADIO_MINBW,tmp,sizeof(tmp)-1);
|
||||
int y = atoi(tmp);
|
||||
if ( y < 1 ) y = 1;
|
||||
if ( y > x ) y = x-1;
|
||||
g_config->WriteInt("minbandwidth",y);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue