本文整理汇总了C++中db_get_w函数的典型用法代码示例。如果您正苦于以下问题:C++ db_get_w函数的具体用法?C++ db_get_w怎么用?C++ db_get_w使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了db_get_w函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: LoadOptions
// load options from database + set default if the setting does not exist
void LoadOptions(void)
{
memset(&opt, 0, sizeof(opt));
// main options
opt.StartupUpdate = db_get_b(NULL, WEATHERPROTONAME, "StartupUpdate", true);
opt.AutoUpdate = db_get_b(NULL, WEATHERPROTONAME, "AutoUpdate", true);
opt.UpdateTime = db_get_w(NULL, WEATHERPROTONAME, "UpdateTime", 30);
opt.NoProtoCondition = db_get_b(NULL, WEATHERPROTONAME, "NoStatus", true);
opt.UpdateOnlyConditionChanged = db_get_b(NULL, WEATHERPROTONAME, "CondChangeAsUpdate", true);
opt.RemoveOldData = db_get_b(NULL, WEATHERPROTONAME, "RemoveOld", false);
opt.MakeItalic = db_get_b(NULL, WEATHERPROTONAME, "MakeItalic", true);
opt.AvatarSize = db_get_b(NULL, WEATHERPROTONAME, "AvatarSize", 128);
// units
opt.tUnit = db_get_w(NULL, WEATHERPROTONAME, "tUnit", 1);
opt.wUnit = db_get_w(NULL, WEATHERPROTONAME, "wUnit", 2);
opt.vUnit = db_get_w(NULL, WEATHERPROTONAME, "vUnit", 1);
opt.pUnit = db_get_w(NULL, WEATHERPROTONAME, "pUnit", 4);
opt.dUnit = db_get_w(NULL, WEATHERPROTONAME, "dUnit", 1);
opt.eUnit = db_get_w(NULL, WEATHERPROTONAME, "eUnit", 2);
ptrT szValue(db_get_tsa(NULL, WEATHERPROTONAME, "DegreeSign"));
_tcsncpy_s(opt.DegreeSign, (szValue == NULL) ? _T("") : szValue, _TRUNCATE);
opt.DoNotAppendUnit = db_get_b(NULL, WEATHERPROTONAME, "DoNotAppendUnit", 0);
opt.NoFrac = db_get_b(NULL, WEATHERPROTONAME, "NoFractions", 0);
// texts
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "DisplayText"))
wSetData(&opt.cText, TranslateTS(szValue));
else
SetTextDefault("C");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "BriefTextTitle"))
wSetData(&opt.bTitle, TranslateTS(szValue));
else
SetTextDefault("b");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "BriefText"))
wSetData(&opt.bText, TranslateTS(szValue));
else
SetTextDefault("B");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "NoteText"))
wSetData(&opt.nText, TranslateTS(szValue));
else
SetTextDefault("N");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "ExtText"))
wSetData(&opt.eText, TranslateTS(szValue));
else
SetTextDefault("E");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "HistoryText"))
wSetData(&opt.hText, TranslateTS(szValue));
else
SetTextDefault("H");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "ExtraText"))
wSetData(&opt.xText, TranslateTS(szValue));
else
SetTextDefault("X");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "StatusText"))
wSetData(&opt.sText, TranslateTS(szValue));
else
SetTextDefault("S");
// advanced
opt.DisCondIcon = db_get_b(NULL, WEATHERPROTONAME, "DisableConditionIcon", false);
// popup options
opt.UsePopup = db_get_b(NULL, WEATHERPROTONAME, "UsePopUp", true);
opt.UpdatePopup = db_get_b(NULL, WEATHERPROTONAME, "UpdatePopup", true);
opt.AlertPopup = db_get_b(NULL, WEATHERPROTONAME, "AlertPopup", true);
opt.PopupOnChange = db_get_b(NULL, WEATHERPROTONAME, "PopUpOnChange", true);
opt.ShowWarnings = db_get_b(NULL, WEATHERPROTONAME, "ShowWarnings", true);
// popup colors
opt.BGColour = db_get_dw(NULL, WEATHERPROTONAME, "BackgroundColour", GetSysColor(COLOR_BTNFACE));
opt.TextColour = db_get_dw(NULL, WEATHERPROTONAME, "TextColour", GetSysColor(COLOR_WINDOWTEXT));
opt.UseWinColors = (BOOL)db_get_b(NULL, WEATHERPROTONAME, "UseWinColors", false);
// popup actions
opt.LeftClickAction = db_get_dw(NULL, WEATHERPROTONAME, "LeftClickAction", IDM_M2);
opt.RightClickAction = db_get_dw(NULL, WEATHERPROTONAME, "RightClickAction", IDM_M1);
// popup delay
opt.pDelay = db_get_dw(NULL, WEATHERPROTONAME, "PopupDelay", 0);
// popup texts
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "PopupTitle"))
wSetData(&opt.pTitle, szValue);
else
SetTextDefault("P");
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "PopupText"))
wSetData(&opt.pText, szValue);
else
SetTextDefault("p");
// misc
if (szValue = db_get_tsa(NULL, WEATHERPROTONAME, "Default"))
//.........这里部分代码省略.........
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,代码来源:weather_opt.cpp
示例2: read_ping_address
bool read_ping_address(PINGADDRESS &pa) {
int index = pa.index;
char buff[16];
mir_snprintf(buff, "PING_DEST_%d", index);
// return if not more contacts, or only deleted contacts remaining
if ((pa.item_id = db_get_dw(0, buff, "Id", 0)) == 0) return false;
DBVARIANT dbv;
if (!db_get_ts(0, buff, "Address", &dbv)) {
mir_tstrncpy(pa.pszName, dbv.ptszVal, _countof(pa.pszName));
db_free(&dbv);
}
else return false;
if (!db_get_ts(0, buff, "Label", &dbv)) {
mir_tstrncpy(pa.pszLabel, dbv.ptszVal, _countof(pa.pszLabel));
db_free(&dbv);
}
else return false;
pa.status = db_get_w(0, buff, "Status", PS_NOTRESPONDING);
if (pa.status != PS_DISABLED) pa.status = PS_NOTRESPONDING;
pa.port = (int)db_get_dw(0, buff, "Port", -1);
if (!db_get_s(0, buff, "Proto", &dbv)) {
mir_strncpy(pa.pszProto, dbv.pszVal, _countof(pa.pszProto));
db_free(&dbv);
}
else pa.pszProto[0] = '\0';
if (!db_get_ts(0, buff, "Command", &dbv)) {
mir_tstrncpy(pa.pszCommand, dbv.ptszVal, _countof(pa.pszCommand));
db_free(&dbv);
}
else
pa.pszCommand[0] = '\0';
if (!db_get_ts(0, buff, "CommandParams", &dbv)) {
mir_tstrncpy(pa.pszParams, dbv.ptszVal, _countof(pa.pszParams));
db_free(&dbv);
}
else
pa.pszParams[0] = '\0';
pa.set_status = db_get_w(0, buff, "SetStatus", ID_STATUS_ONLINE);
pa.get_status = db_get_w(0, buff, "GetStatus", ID_STATUS_OFFLINE);
pa.responding = false;
pa.round_trip_time = 0;
pa.miss_count = 0;
pa.index = db_get_w(0, buff, "Index", 0);
pa.index = index;
if (pa.item_id >= NextID) {
NextID = pa.item_id + 1;
db_set_dw(0, PLUG, "NextID", NextID);
}
return true;
}
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:62,代码来源:pinglist.cpp
示例3: DlgProcGenOpts
static INT_PTR CALLBACK DlgProcGenOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_USER + 1:
{
MCONTACT hContact = wParam;
DBCONTACTWRITESETTING *ws = (DBCONTACTWRITESETTING *)lParam;
if (hContact == NULL && ws != NULL && ws->szModule != NULL && ws->szSetting != NULL &&
mir_strcmpi(ws->szModule, "CList") == 0 && mir_strcmpi(ws->szSetting, "UseGroups") == 0 && IsWindowVisible(hwndDlg)) {
CheckDlgButton(hwndDlg, IDC_DISABLEGROUPS, ws->value.bVal == 0 ? BST_CHECKED : BST_UNCHECKED);
}
}
break;
case WM_DESTROY:
UnhookEvent((HANDLE)GetWindowLongPtr(hwndDlg, GWLP_USERDATA));
break;
case WM_INITDIALOG:
TranslateDialogDefault(hwndDlg);
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)HookEventMessage(ME_DB_CONTACT_SETTINGCHANGED, hwndDlg, WM_USER + 1));
CheckDlgButton(hwndDlg, IDC_ONTOP, db_get_b(NULL, "CList", "OnTop", SETTING_ONTOP_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_HIDEOFFLINE,
db_get_b(NULL, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_HIDEEMPTYGROUPS,
db_get_b(NULL, "CList", "HideEmptyGroups", SETTING_HIDEEMPTYGROUPS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_DISABLEGROUPS,
db_get_b(NULL, "CList", "UseGroups", SETTING_USEGROUPS_DEFAULT) ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hwndDlg, IDC_SORTBYNAME, !db_get_b(NULL, "CList", "SortByStatus", SETTING_SORTBYSTATUS_DEFAULT)
&& !db_get_b(NULL, "CList", "SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SORTBYSTATUS,
db_get_b(NULL, "CList", "SortByStatus", SETTING_SORTBYSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SORTBYPROTO,
db_get_b(NULL, "CList", "SortByProto", SETTING_SORTBYPROTO_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CONFIRMDELETE,
db_get_b(NULL, "CList", "ConfirmDelete", SETTING_CONFIRMDELETE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_AUTOHIDE,
db_get_b(NULL, "CList", "AutoHide", SETTING_AUTOHIDE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
{
DWORD caps = CallService(MS_CLUI_GETCAPS, CLUICAPS_FLAGS1, 0);
if (!(caps & CLUIF_HIDEEMPTYGROUPS))
ShowWindow(GetDlgItem(hwndDlg, IDC_HIDEEMPTYGROUPS), SW_HIDE);
if (!(caps & CLUIF_DISABLEGROUPS))
ShowWindow(GetDlgItem(hwndDlg, IDC_DISABLEGROUPS), SW_HIDE);
if (caps & CLUIF_HASONTOPOPTION)
ShowWindow(GetDlgItem(hwndDlg, IDC_ONTOP), SW_HIDE);
if (caps & CLUIF_HASAUTOHIDEOPTION) {
ShowWindow(GetDlgItem(hwndDlg, IDC_AUTOHIDE), SW_HIDE);
ShowWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), SW_HIDE);
ShowWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), SW_HIDE);
ShowWindow(GetDlgItem(hwndDlg, IDC_STAUTOHIDESECS), SW_HIDE);
}
}
SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETRANGE, 0, MAKELONG(900, 1));
SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETPOS, 0,
MAKELONG(db_get_w(NULL, "CList", "HideTime", SETTING_HIDETIME_DEFAULT), 0));
CheckDlgButton(hwndDlg, IDC_ONECLK,
db_get_b(NULL, "CList", "Tray1Click", SETTING_TRAY1CLICK_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_ALWAYSSTATUS,
db_get_b(NULL, "CList", "AlwaysStatus", SETTING_ALWAYSSTATUS_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_ALWAYSMULTI,
!db_get_b(NULL, "CList", "AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_DONTCYCLE,
db_get_b(NULL, "CList", "TrayIcon",
SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_SINGLE ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CYCLE,
db_get_b(NULL, "CList", "TrayIcon",
SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_CYCLE ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MULTITRAY,
db_get_b(NULL, "CList", "TrayIcon",
SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_MULTI ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_DISABLEBLINK,
db_get_b(NULL, "CList", "DisableTrayFlash", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKTIME), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
EnableWindow(GetDlgItem(hwndDlg, IDC_STMSDELAY), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_DISABLEBLINK));
CheckDlgButton(hwndDlg, IDC_ICONBLINK, db_get_b(NULL, "CList", "NoIconBlink", 0) == 1 ? BST_CHECKED : BST_UNCHECKED);
if (IsDlgButtonChecked(hwndDlg, IDC_DONTCYCLE)) {
EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE);
}
if (IsDlgButtonChecked(hwndDlg, IDC_CYCLE)) {
EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_ALWAYSMULTI), FALSE);
}
if (IsDlgButtonChecked(hwndDlg, IDC_MULTITRAY)) {
EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIMESPIN), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_CYCLETIME), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_PRIMARYSTATUS), FALSE);
}
SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETRANGE, 0, MAKELONG(120, 1));
SendDlgItemMessage(hwndDlg, IDC_CYCLETIMESPIN, UDM_SETPOS, 0, MAKELONG(db_get_w(NULL, "CList", "CycleTime", SETTING_CYCLETIME_DEFAULT), 0));
{
ptrA szPrimaryStatus(db_get_sa(NULL, "CList", "PrimaryStatus"));
int item = SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_ADDSTRING, 0, (LPARAM)TranslateT("Global"));
SendDlgItemMessage(hwndDlg, IDC_PRIMARYSTATUS, CB_SETITEMDATA, item, (LPARAM)0);
//.........这里部分代码省略.........
开发者ID:truefriend-cz,项目名称:miranda-ng,代码行数:101,代码来源:clistopts.cpp
示例4: mir_snprintf
int DB::getWordF(MCONTACT hContact, char *szModule, char *szSetting, int id, int iErrorValue)
{
char formSet[256];
mir_snprintf(formSet, SIZEOF(formSet), szSetting, id);
return db_get_w(hContact, szModule, formSet, iErrorValue);
}
开发者ID:biddyweb,项目名称:miranda-ng,代码行数:6,代码来源:mir_db.cpp
示例5: ContactSettingChanged
int ContactSettingChanged(WPARAM wParam,LPARAM lParam)
{
DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING*)lParam;
HANDLE hContact = (HANDLE)wParam;
// Early exit
if (hContact == NULL)
return 0;
__try
{
ClcCacheEntry *pdnce = (ClcCacheEntry *)pcli->pfnGetCacheEntry(hContact);
if (pdnce == NULL) {
OutputDebugStringA("!!! Very bad pdnce not found.");
return 0;
}
if (pdnce && pdnce->protoNotExists == FALSE && pdnce->szProto) {
if ( !strcmp(cws->szModule,pdnce->szProto)) {
InvalidateDisplayNameCacheEntryByPDNE(hContact,pdnce,cws->value.type);
if (cws->value.type == DBVT_WORD && !strcmp(cws->szSetting, "Status")) {
if ( !(pdnce->bIsHidden == 1)) {
if ( db_get_b((HANDLE)NULL,"CList","ShowStatusMsg",0)||db_get_b(hContact,"CList","StatusMsgAuto",0))
db_set_s(hContact, "CList", "StatusMsg", "");
if ( db_get_b(NULL, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT)) {
// User's state is changing, and we are hideOffline-ing
if (cws->value.wVal == ID_STATUS_OFFLINE) {
ChangeContactIcon(hContact, ExtIconFromStatusMode(hContact,cws->szModule, cws->value.wVal), 0); //by FYR
return 0;
}
ChangeContactIcon(hContact, ExtIconFromStatusMode(hContact,cws->szModule, cws->value.wVal), 0); //by FYR
}
else ChangeContactIcon(hContact, ExtIconFromStatusMode(hContact,cws->szModule, cws->value.wVal), 0); //by FYR
}
}
else if ( !strcmp(cws->szModule,"MetaContacts")) {
PostMessage(pcli->hwndContactTree,CLM_AUTOREBUILD,0,0);
return 0;
}
else return 0;
SortContacts();
}
}
if ( !strcmp(cws->szModule,"CList")) {
if (pdnce->tszName == NULL || !strcmp(cws->szSetting,"MyHandle"))
InvalidateDisplayNameCacheEntryByPDNE(hContact,pdnce,cws->value.type);
if ((!strcmp(cws->szSetting,"Group")))
InvalidateDisplayNameCacheEntryByPDNE(hContact,pdnce,cws->value.type);
if ( !strcmp(cws->szSetting,"Hidden")) {
InvalidateDisplayNameCacheEntryByPDNE(hContact,pdnce,cws->value.type);
if (cws->value.type == DBVT_DELETED || cws->value.bVal == 0) {
char *szProto = GetContactProto((HANDLE)wParam);
ChangeContactIcon(hContact,ExtIconFromStatusMode(hContact, szProto, szProto == NULL ? ID_STATUS_OFFLINE : db_get_w(hContact, szProto, "Status", ID_STATUS_OFFLINE)), 1); //by FYR
}
}
if ( !strcmp(cws->szSetting, "noOffline"))
InvalidateDisplayNameCacheEntryByPDNE(hContact, pdnce, cws->value.type);
}
if ( !strcmp(cws->szModule, "Protocol")) {
if ( !strcmp(cws->szSetting,"p")) {
OutputDebugStringA("CHANGE: proto\r\n");
InvalidateDisplayNameCacheEntryByPDNE(hContact, pdnce, cws->value.type);
char *szProto = (cws->value.type == DBVT_DELETED) ? NULL : cws->value.pszVal;
ChangeContactIcon(hContact, ExtIconFromStatusMode(hContact, szProto, szProto == NULL?ID_STATUS_OFFLINE:db_get_w(hContact,szProto,"Status",ID_STATUS_OFFLINE)),0); //by FYR
}
}
}
__except (exceptFunction(GetExceptionInformation()))
{
}
return 0;
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:82,代码来源:clistsettings.cpp
示例6: DlgProcCluiOpts
static INT_PTR CALLBACK DlgProcCluiOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_INITDIALOG:
TranslateDialogDefault(hwndDlg);
CheckDlgButton(hwndDlg, IDC_BRINGTOFRONT,
db_get_b(NULL, "CList", "BringToFront", SETTING_BRINGTOFRONT_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_ONTOP, db_get_b(NULL, "CList", "OnTop", SETTING_ONTOP_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_TOOLWND,
db_get_b(NULL, "CList", "ToolWindow", SETTING_TOOLWINDOW_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MIN2TRAY,
db_get_b(NULL, "CList", "Min2Tray", SETTING_MIN2TRAY_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
if (IsDlgButtonChecked(hwndDlg, IDC_TOOLWND))
EnableWindow(GetDlgItem(hwndDlg, IDC_MIN2TRAY), FALSE);
CheckDlgButton(hwndDlg, IDC_SHOWCAPTION,
db_get_b(NULL, "CLUI", "ShowCaption", SETTING_SHOWCAPTION_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SHOWMAINMENU,
db_get_b(NULL, "CLUI", "ShowMainMenu", SETTING_SHOWMAINMENU_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CLIENTDRAG,
db_get_b(NULL, "CLUI", "ClientAreaDrag", SETTING_CLIENTDRAG_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
if (BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_SHOWCAPTION)) {
EnableWindow(GetDlgItem(hwndDlg, IDC_MIN2TRAY), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_TOOLWND), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_TITLETEXT), FALSE);
}
CheckDlgButton(hwndDlg, IDC_FADEINOUT, db_get_b(NULL, "CLUI", "FadeInOut", 0) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_AUTOSIZE, db_get_b(NULL, "CLUI", "AutoSize", 0) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_DROPSHADOW, db_get_b(NULL, "CList", "WindowShadow", 0) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_ONDESKTOP, db_get_b(NULL, "CList", "OnDesktop", 0) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_DISABLEDOCKING, db_get_b(NULL, "CLUI", "DockToSides", 1) ? BST_CHECKED : BST_UNCHECKED);
SendDlgItemMessage(hwndDlg, IDC_MAXSIZESPIN, UDM_SETRANGE, 0, MAKELONG(100, 0));
SendDlgItemMessage(hwndDlg, IDC_MAXSIZESPIN, UDM_SETPOS, 0, db_get_b(NULL, "CLUI", "MaxSizeHeight", 75));
CheckDlgButton(hwndDlg, IDC_AUTOSIZEUPWARD, db_get_b(NULL, "CLUI", "AutoSizeUpward", 0) ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_AUTOHIDE,
db_get_b(NULL, "CList", "AutoHide", SETTING_AUTOHIDE_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETRANGE, 0, MAKELONG(900, 1));
SendDlgItemMessage(hwndDlg, IDC_HIDETIMESPIN, UDM_SETPOS, 0,
MAKELONG(db_get_w(NULL, "CList", "HideTime", SETTING_HIDETIME_DEFAULT), 0));
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC01), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
if (BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_AUTOSIZE)) {
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC21), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC22), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_MAXSIZEHEIGHT), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_MAXSIZESPIN), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSIZEUPWARD), FALSE);
}
{ DBVARIANT dbv;
if (!db_get_ts(NULL, "CList", "TitleText", &dbv)) {
SetDlgItemText(hwndDlg, IDC_TITLETEXT, dbv.ptszVal);
db_free(&dbv);
}
else SetDlgItemTextA(hwndDlg, IDC_TITLETEXT, MIRANDANAME);
}
CheckDlgButton(hwndDlg, IDC_TRANSPARENT, db_get_b(NULL, "CList", "Transparent", SETTING_TRANSPARENT_DEFAULT) ? BST_CHECKED : BST_UNCHECKED);
if (BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT)) {
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC11), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC12), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_TRANSACTIVE), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_TRANSINACTIVE), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_ACTIVEPERC), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_INACTIVEPERC), FALSE);
}
SendDlgItemMessage(hwndDlg, IDC_TRANSACTIVE, TBM_SETRANGE, FALSE, MAKELONG(1, 255));
SendDlgItemMessage(hwndDlg, IDC_TRANSINACTIVE, TBM_SETRANGE, FALSE, MAKELONG(1, 255));
SendDlgItemMessage(hwndDlg, IDC_TRANSACTIVE, TBM_SETPOS, TRUE, db_get_b(NULL, "CList", "Alpha", SETTING_ALPHA_DEFAULT));
SendDlgItemMessage(hwndDlg, IDC_TRANSINACTIVE, TBM_SETPOS, TRUE,
db_get_b(NULL, "CList", "AutoAlpha", SETTING_AUTOALPHA_DEFAULT));
SendMessage(hwndDlg, WM_HSCROLL, 0x12345678, 0);
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDC_AUTOHIDE) {
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIME), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
EnableWindow(GetDlgItem(hwndDlg, IDC_HIDETIMESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC01), IsDlgButtonChecked(hwndDlg, IDC_AUTOHIDE));
}
else if (LOWORD(wParam) == IDC_TRANSPARENT) {
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC11), IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT));
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC12), IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT));
EnableWindow(GetDlgItem(hwndDlg, IDC_TRANSACTIVE), IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT));
EnableWindow(GetDlgItem(hwndDlg, IDC_TRANSINACTIVE), IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT));
EnableWindow(GetDlgItem(hwndDlg, IDC_ACTIVEPERC), IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT));
EnableWindow(GetDlgItem(hwndDlg, IDC_INACTIVEPERC), IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENT));
}
else if (LOWORD(wParam) == IDC_AUTOSIZE) {
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC21), IsDlgButtonChecked(hwndDlg, IDC_AUTOSIZE));
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC22), IsDlgButtonChecked(hwndDlg, IDC_AUTOSIZE));
EnableWindow(GetDlgItem(hwndDlg, IDC_MAXSIZEHEIGHT), IsDlgButtonChecked(hwndDlg, IDC_AUTOSIZE));
EnableWindow(GetDlgItem(hwndDlg, IDC_MAXSIZESPIN), IsDlgButtonChecked(hwndDlg, IDC_AUTOSIZE));
EnableWindow(GetDlgItem(hwndDlg, IDC_AUTOSIZEUPWARD), IsDlgButtonChecked(hwndDlg, IDC_AUTOSIZE));
}
else if (LOWORD(wParam) == IDC_TOOLWND) {
EnableWindow(GetDlgItem(hwndDlg, IDC_MIN2TRAY), BST_UNCHECKED == IsDlgButtonChecked(hwndDlg, IDC_TOOLWND));
}
else if (LOWORD(wParam) == IDC_SHOWCAPTION) {
EnableWindow(GetDlgItem(hwndDlg, IDC_TOOLWND), IsDlgButtonChecked(hwndDlg, IDC_SHOWCAPTION));
//.........这里部分代码省略.........
开发者ID:kxepal,项目名称:miranda-ng,代码行数:101,代码来源:cluiopts.cpp
示例7: SettingChanged
/**
* ContactSettingChanged callback
*/
int SettingChanged(WPARAM hContact, LPARAM lParam)
{
DBCONTACTWRITESETTING *inf = (DBCONTACTWRITESETTING*)lParam;
if (hContact == NULL || inf->value.type == DBVT_DELETED || strcmp(inf->szSetting, "Status") != 0)
return 0;
if (db_get_b(hContact, "CList", "NotOnList", 0) == 1)
return 0;
char *proto = GetContactProto(hContact);
if (proto == nullptr || (db_get_b(hContact, proto, "ChatRoom", 0) == 1)
|| !(CallProtoService(proto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IMSEND))
return 0;
int currentStatus = inf->value.wVal;
int prevStatus = db_get_w(hContact, "UserOnline", "OldStatus", ID_STATUS_OFFLINE);
if (currentStatus == prevStatus)
return 0;
// Last status
db_set_dw(hContact, MODULENAME, "LastStatus", prevStatus);
if (prevStatus == ID_STATUS_OFFLINE) {
if (db_get_b(hContact, MODULENAME, "MissYou", 0)) {
// Display Popup
POPUPDATAT_V2 ppd = { 0 };
ppd.cbSize = sizeof(ppd);
ppd.lchContact = hContact;
ppd.lchIcon = IcoLib_GetIcon("enabled_icon");
wcsncpy(ppd.lptzContactName, Clist_GetContactDisplayName(hContact), MAX_CONTACTNAME);
wcsncpy(ppd.lptzText, TranslateT("You awaited this contact!"), MAX_SECONDLINE);
if (!options.iUsePopupColors) {
ppd.colorBack = options.iPopupColorBack;
ppd.colorText = options.iPopupColorFore;
}
ppd.PluginWindowProc = MissYouPopupDlgProc;
ppd.PluginData = nullptr;
ppd.iSeconds = -1;
missyouactions[0].flags = PAF_ENABLED;
ppd.lpActions = missyouactions;
ppd.actionCount = 1;
CallService(MS_POPUP_ADDPOPUPT, (WPARAM)&ppd, APF_NEWDATA);
Skin_PlaySound("buddyExpectatorMissYou");
}
}
if (currentStatus == ID_STATUS_OFFLINE) {
setLastSeen(hContact);
return 0;
}
if (db_get_dw(hContact, MODULENAME, "LastSeen", (DWORD)-1) == (DWORD)-1 && options.notifyFirstOnline) {
ReturnNotify(hContact, TranslateT("has gone online for the first time."));
setLastSeen(hContact);
}
unsigned int AbsencePeriod = db_get_dw(hContact, MODULENAME, "iAbsencePeriod", options.iAbsencePeriod);
if (isContactGoneFor(hContact, AbsencePeriod)) {
wchar_t* message = TranslateT("has returned after a long absence.");
wchar_t tmpBuf[251] = { 0 };
time_t tmpTime = getLastSeen(hContact);
if (tmpTime != -1) {
wcsftime(tmpBuf, 250, TranslateT("has returned after being absent since %#x"), gmtime(&tmpTime));
message = tmpBuf;
}
else {
tmpTime = getLastInputMsg(hContact);
if (tmpTime != -1) {
wcsftime(tmpBuf, 250, TranslateT("has returned after being absent since %#x"), gmtime(&tmpTime));
message = tmpBuf;
}
}
ReturnNotify(hContact, message);
if ((options.iShowMessageWindow == 0 && options.iShowUDetails == 0) || (options.iShowEvent == 0 && options.iShowPopup == 0))
setLastSeen(hContact);
}
else setLastSeen(hContact);
return 0;
}
开发者ID:tweimer,项目名称:miranda-ng,代码行数:90,代码来源:BuddyExpectator.cpp
示例8: ParseString
//.........这里部分代码省略.........
case 'G':
if (!db_get_ts(hcontact, "CList", "Group", &dbv)) {
_tcsncpy(szdbsetting, dbv.ptszVal, _countof(szdbsetting));
db_free(&dbv);
charPtr = szdbsetting;
goto LBL_charPtr;
}
break;
case 'u':
ci.dwFlag = CNF_UNIQUEID | CNF_TCHAR;
if (!CallService(MS_CONTACT_GETCONTACTINFO, 0, (LPARAM)&ci)) {
switch (ci.type) {
case CNFT_BYTE:
_ltot(ci.bVal, szdbsetting, 10);
break;
case CNFT_WORD:
_ltot(ci.wVal, szdbsetting, 10);
break;
case CNFT_DWORD:
_ltot(ci.dVal, szdbsetting, 10);
break;
case CNFT_ASCIIZ:
_tcsncpy(szdbsetting, ci.pszVal, _countof(szdbsetting));
break;
}
}
else goto LBL_noData;
charPtr = szdbsetting;
goto LBL_charPtr;
case 's':
if (isetting = db_get_w(hcontact, S_MOD, hcontact ? "StatusTriger" : courProtoName, 0)) {
_tcsncpy(szdbsetting, pcli->pfnGetStatusModeDescription(isetting | 0x8000, 0), _countof(szdbsetting));
if (!(isetting & 0x8000)) {
mir_tstrncat(szdbsetting, _T("/"), _countof(szdbsetting) - mir_tstrlen(szdbsetting));
mir_tstrncat(szdbsetting, TranslateT("Idle"), _countof(szdbsetting) - mir_tstrlen(szdbsetting));
}
charPtr = szdbsetting;
goto LBL_charPtr;
}
goto LBL_noData;
case 'T':
if (db_get_ts(hcontact, "CList", "StatusMsg", &dbv))
goto LBL_noData;
d += mir_sntprintf(d, MAXSIZE - (d - sztemp), _T("%s"), dbv.ptszVal);
db_free(&dbv);
break;
case 'o':
if (isetting = db_get_w(hcontact, S_MOD, hcontact ? "OldStatus" : courProtoName, 0)) {
_tcsncpy(szdbsetting, pcli->pfnGetStatusModeDescription(isetting, 0), _countof(szdbsetting));
if (includeIdle && hcontact && db_get_b(hcontact, S_MOD, "OldIdle", 0)) {
mir_tstrncat(szdbsetting, _T("/"), _countof(szdbsetting) - mir_tstrlen(szdbsetting));
mir_tstrncat(szdbsetting, TranslateT("Idle"), _countof(szdbsetting) - mir_tstrlen(szdbsetting));
}
charPtr = szdbsetting;
goto LBL_charPtr;
}
goto LBL_noData;
case 'i':
case 'r':
开发者ID:Seldom,项目名称:miranda-ng,代码行数:67,代码来源:utils.cpp
示例9: LoadCLCOptions
void LoadCLCOptions(HWND hwnd, ClcData *dat, BOOL bFirst)
{
g_CluiData.fDisableSkinEngine = db_get_b(NULL, "ModernData", "DisableEngine", SETTING_DISABLESKIN_DEFAULT);
LoadCLCFonts(hwnd, dat);
g_CluiData.bSortByOrder[0] = db_get_b(NULL, "CList", "SortBy1", SETTING_SORTBY1_DEFAULT);
g_CluiData.bSortByOrder[1] = db_get_b(NULL, "CList", "SortBy2", SETTING_SORTBY2_DEFAULT);
g_CluiData.bSortByOrder[2] = db_get_b(NULL, "CList", "SortBy3", SETTING_SORTBY3_DEFAULT);
g_CluiData.fSortNoOfflineBottom = db_get_b(NULL, "CList", "NoOfflineBottom", SETTING_NOOFFLINEBOTTOM_DEFAULT);
// Row
dat->row_min_heigh = db_get_w(NULL, "CList", "MinRowHeight", CLCDEFAULT_ROWHEIGHT);
dat->row_border = db_get_w(NULL, "CList", "RowBorder", SETTING_ROWBORDER_DEFAULT);
dat->row_before_group_space = ((hwnd != pcli->hwndContactTree && pcli->hwndContactTree != NULL)
|| !db_get_b(NULL, "ModernData", "UseAdvancedRowLayout", SETTING_ROW_ADVANCEDLAYOUT_DEFAULT)) ? 0 : db_get_w(NULL, "ModernSkin", "SpaceBeforeGroup", SKIN_SPACEBEFOREGROUP_DEFAULT);
dat->row_variable_height = db_get_b(NULL, "CList", "VariableRowHeight", SETTING_VARIABLEROWHEIGHT_DEFAULT);
dat->row_align_left_items_to_left = db_get_b(NULL, "CList", "AlignLeftItemsToLeft", SETTING_ALIGNLEFTTOLEFT_DEFAULT);
dat->row_hide_group_icon = db_get_b(NULL, "CList", "HideGroupsIcon", SETTING_HIDEGROUPSICON_DEFAULT);
dat->row_align_right_items_to_right = db_get_b(NULL, "CList", "AlignRightItemsToRight", SETTING_ALIGNRIGHTORIGHT_DEFAULT);
//TODO: Add to settings
dat->row_align_group_mode = db_get_b(NULL, "CList", "AlignGroupCaptions", SETTING_ALIGNGROPCAPTION_DEFAULT);
if (pcli->hwndContactTree == NULL || dat->hWnd == pcli->hwndContactTree) {
int defItemsOrder[NUM_ITEM_TYPE] = SETTINS_ROWITEMORDER_DEFAULT;
for (int i = 0; i < NUM_ITEM_TYPE; i++) {
char tmp[128];
mir_snprintf(tmp, "RowPos%d", i);
dat->row_items[i] = db_get_w(NULL, "CList", tmp, defItemsOrder[i]);
}
}
else {
int defItems[] = { ITEM_ICON, ITEM_TEXT, ITEM_EXTRA_ICONS, };
for (int i = 0; i < NUM_ITEM_TYPE; i++)
dat->row_items[i] = (i < _countof(defItems)) ? defItems[i] : -1;
}
// Avatar
if (pcli->hwndContactTree == hwnd || pcli->hwndContactTree == NULL) {
dat->avatars_show = db_get_b(NULL, "CList", "AvatarsShow", SETTINGS_SHOWAVATARS_DEFAULT);
dat->avatars_draw_border = db_get_b(NULL, "CList", "AvatarsDrawBorders", SETTINGS_AVATARDRAWBORDER_DEFAULT);
dat->avatars_border_color = (COLORREF)db_get_dw(NULL, "CList", "AvatarsBorderColor", SETTINGS_AVATARBORDERCOLOR_DEFAULT);
dat->avatars_round_corners = db_get_b(NULL, "CList", "AvatarsRoundCorners", SETTINGS_AVATARROUNDCORNERS_DEFAULT);
dat->avatars_use_custom_corner_size = db_get_b(NULL, "CList", "AvatarsUseCustomCornerSize", SETTINGS_AVATARUSECUTOMCORNERSIZE_DEFAULT);
dat->avatars_custom_corner_size = db_get_w(NULL, "CList", "AvatarsCustomCornerSize", SETTINGS_AVATARCORNERSIZE_DEFAULT);
dat->avatars_ignore_size_for_row_height = db_get_b(NULL, "CList", "AvatarsIgnoreSizeForRow", SETTINGS_AVATARIGNORESIZEFORROW_DEFAULT);
dat->avatars_draw_overlay = db_get_b(NULL, "CList", "AvatarsDrawOverlay", SETTINGS_AVATARDRAWOVERLAY_DEFAULT);
dat->avatars_overlay_type = db_get_b(NULL, "CList", "AvatarsOverlayType", SETTINGS_AVATAROVERLAYTYPE_DEFAULT);
dat->avatars_maxheight_size = db_get_w(NULL, "CList", "AvatarsSize", SETTING_AVATARHEIGHT_DEFAULT);
dat->avatars_maxwidth_size = db_get_w(NULL, "CList", "AvatarsWidth", SETTING_AVATARWIDTH_DEFAULT);
}
else {
dat->avatars_show = 0;
dat->avatars_draw_border = 0;
dat->avatars_border_color = 0;
dat->avatars_round_corners = 0;
dat->avatars_use_custom_corner_size = 0;
dat->avatars_custom_corner_size = 4;
dat->avatars_ignore_size_for_row_height = 0;
dat->avatars_draw_overlay = 0;
dat->avatars_overlay_type = SETTING_AVATAR_OVERLAY_TYPE_NORMAL;
dat->avatars_maxheight_size = 30;
dat->avatars_maxwidth_size = 0;
}
// Icon
if (pcli->hwndContactTree == hwnd || pcli->hwndContactTree == NULL) {
dat->icon_hide_on_avatar = db_get_b(NULL, "CList", "IconHideOnAvatar", SETTING_HIDEICONONAVATAR_DEFAULT);
dat->icon_draw_on_avatar_space = db_get_b(NULL, "CList", "IconDrawOnAvatarSpace", SETTING_ICONONAVATARPLACE_DEFAULT);
dat->icon_ignore_size_for_row_height = db_get_b(NULL, "CList", "IconIgnoreSizeForRownHeight", SETTING_ICONIGNORESIZE_DEFAULT);
}
else {
dat->icon_hide_on_avatar = 0;
dat->icon_draw_on_avatar_space = 0;
dat->icon_ignore_size_for_row_height = 0;
}
// Contact time
if (pcli->hwndContactTree == hwnd || pcli->hwndContactTree == NULL) {
dat->contact_time_show = db_get_b(NULL, "CList", "ContactTimeShow", SETTING_SHOWTIME_DEFAULT);
dat->contact_time_show_only_if_different = db_get_b(NULL, "CList", "ContactTimeShowOnlyIfDifferent", SETTING_SHOWTIMEIFDIFF_DEFAULT);
}
else {
dat->contact_time_show = 0;
dat->contact_time_show_only_if_different = 0;
}
// Text
dat->text_rtl = db_get_b(NULL, "CList", "TextRTL", SETTING_TEXT_RTL_DEFAULT);
dat->text_align_right = db_get_b(NULL, "CList", "TextAlignToRight", SETTING_TEXT_RIGHTALIGN_DEFAULT);
dat->text_replace_smileys = db_get_b(NULL, "CList", "TextReplaceSmileys", SETTING_TEXT_SMILEY_DEFAULT);
dat->text_resize_smileys = db_get_b(NULL, "CList", "TextResizeSmileys", SETTING_TEXT_RESIZESMILEY_DEFAULT);
dat->text_smiley_height = 0;
dat->text_use_protocol_smileys = db_get_b(NULL, "CList", "TextUseProtocolSmileys", SETTING_TEXT_PROTOSMILEY_DEFAULT);
if (pcli->hwndContactTree == hwnd || pcli->hwndContactTree == NULL)
dat->text_ignore_size_for_row_height = db_get_b(NULL, "CList", "TextIgnoreSizeForRownHeight", SETTING_TEXT_IGNORESIZE_DEFAULT);
else
dat->text_ignore_size_for_row_height = 0;
//.........这里部分代码省略.........
开发者ID:Seldom,项目名称:miranda-ng,代码行数:101,代码来源:modern_clcutils.cpp
示例10: ShowPopup
void ShowPopup(XSTATUSCHANGE *xsc)
{
DBVARIANT dbv;
char szSetting[64];
POPUPDATAT ppd = {0};
ppd.lchContact = xsc->hContact;
switch(xsc->type) {
case TYPE_JABBER_MOOD:
case TYPE_JABBER_ACTIVITY:
mir_snprintf(szSetting, SIZEOF(szSetting), "%s/%s/%s", xsc->szProto, (xsc->type == TYPE_JABBER_MOOD) ? "mood" : "activity", "icon");
if (!db_get_s(xsc->hContact, "AdvStatus", szSetting, &dbv)) {
ppd.lchIcon = Skin_GetIcon(dbv.pszVal);
db_free(&dbv);
}
break;
case TYPE_ICQ_XSTATUS:
{
int statusId = db_get_b(xsc->hContact, xsc->szProto, "XStatusId", 0);
ppd.lchIcon = (HICON)CallProtoService(xsc->szProto, PS_GETCUSTOMSTATUSICON, statusId, LR_SHARED);
}
}
if (ppd.lchIcon == NULL)
ppd.lchIcon = LoadSkinnedProtoIcon(xsc->szProto, db_get_w(xsc->hContact, xsc->szProto, "Status", ID_STATUS_ONLINE));
switch (opt.Colors) {
case POPUP_COLOR_OWN:
ppd.colorBack = db_get_dw(0, MODULE, "40081bg", COLOR_BG_AVAILDEFAULT);
ppd.colorText = db_get_dw(0, MODULE, "40081tx", COLOR_TX_DEFAULT);
break;
case POPUP_COLOR_WINDOWS:
ppd.colorBack = GetSysColor(COLOR_BTNFACE);
ppd.colorText = GetSysColor(COLOR_WINDOWTEXT);
break;
case POPUP_COLOR_POPUP:
ppd.colorBack = ppd.colorText = 0;
break;
}
TCHAR *ptszGroup = NULL;
TCHAR *ptszNick = (TCHAR *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)xsc->hContact, GSMDF_TCHAR);
if (opt.ShowGroup) { //add group name to popup title
if (!db_get_ts(xsc->hContact, "CList", "Group", &dbv)) {
ptszGroup = NEWTSTR_ALLOCA(dbv.ptszVal);
db_free(&dbv);
}
}
if (ptszGroup)
mir_sntprintf(ppd.lptzContactName, SIZEOF(ppd.lptzContactName),_T("%s (%s)"), ptszNick, ptszGroup);
else
_tcsncpy(ppd.lptzContactName, ptszNick, SIZEOF(ppd.lptzContactName));
// cut message if needed
if (opt.PTruncateMsg && (opt.PMsgLen > 0) && xsc->stzText && (_tcslen(xsc->stzText) > opt.PMsgLen)) {
TCHAR buff[MAX_TEXT_LEN + 3];
_tcsncpy(buff, xsc->stzText, opt.PMsgLen);
buff[opt.PMsgLen] = 0;
_tcscat(buff, _T("..."));
mir_free(xsc->stzText);
xsc->stzText = mir_tstrdup(buff);
}
TCHAR *Template = _T("");
switch (xsc->action) {
case NOTIFY_NEW_XSTATUS:
Template = templates.PopupNewXstatus; break;
case NOTIFY_NEW_MESSAGE:
Template = templates.PopupNewMsg; break;
case NOTIFY_REMOVE:
Template = templates.PopupRemove; break;
case NOTIFY_OPENING_ML:
Template = templates.LogOpening; break;
}
TCHAR stzPopupText[2*MAX_TEXT_LEN];
ReplaceVars(xsc, Template, templates.PopupDelimiter, stzPopupText);
_tcsncpy(ppd.lptzText, stzPopupText, SIZEOF(ppd.lptzText));
ppd.lptzText[SIZEOF(ppd.lptzText) - 1] = 0;
ppd.PluginWindowProc = (WNDPROC)PopupDlgProc;
ppd.iSeconds = opt.PopupTimeout;
PUAddPopupT(&ppd);
}
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:87,代码来源:xstatus.cpp
示例11: return
WORD cfg::getWord(const char *szModule, const char *szSetting, WORD uDefault)
{
return(db_get_w(0, szModule, szSetting, uDefault));
}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:4,代码来源:config.cpp
示例12: ReadAwayMsgDlgProc
static INT_PTR CALLBACK ReadAwayMsgDlgProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
AwayMsgDlgData *dat = (AwayMsgDlgData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
switch (message) {
case WM_INITDIALOG:
TranslateDialogDefault(hwndDlg);
dat = (AwayMsgDlgData *)mir_alloc(sizeof(AwayMsgDlgData));
SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)dat);
dat->hContact = lParam;
dat->hSeq = (HANDLE)CallContactService(dat->hContact, PSS_GETAWAYMSG, 0, 0);
dat->hAwayMsgEvent = dat->hSeq ? HookEventMessage(ME_PROTO_ACK, hwndDlg, HM_AWAYMSG) : NULL;
WindowList_Add(hWindowList, hwndDlg, dat->hContact);
{
TCHAR str[256], format[128];
TCHAR *contactName = (TCHAR *)pcli->pfnGetContactDisplayName(dat->hContact, 0);
char *szProto = GetContactProto(dat->hContact);
WORD dwStatus = db_get_w(dat->hContact, szProto, "Status", ID_STATUS_OFFLINE);
TCHAR *status = pcli->pfnGetStatusModeDescription(dwStatus, 0);
GetWindowText(hwndDlg, format, _countof(format));
mir_sntprintf(str, _countof(str), format, status, contactName);
SetWindowText(hwndDlg, str);
if (dat->hSeq) {
GetDlgItemText(hwndDlg, IDC_RETRIEVING, format, _countof(format));
mir_sntprintf(str, _countof(str), format, status);
}
else {
mir_sntprintf(str, _countof(str), TranslateT("Failed to retrieve %s message."), status);
SetDlgItemText(hwndDlg, IDOK, TranslateT("&Close"));
}
SetDlgItemText(hwndDlg, IDC_RETRIEVING, str);
SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)Skin_LoadProtoIcon(szProto, dwStatus));
SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)Skin_LoadProtoIcon(szProto, dwStatus));
EnableWindow(GetDlgItem(hwndDlg, IDC_COPY), FALSE);
}
Utils_RestoreWindowPosition(hwndDlg, lParam, "SRAway", "AwayMsgDlg");
return TRUE;
case HM_AWAYMSG:
{
ACKDATA *ack = (ACKDATA *)lParam;
if (ack->hContact != dat->hContact || ack->type != ACKTYPE_AWAYMSG)
break;
if (ack->result != ACKRESULT_SUCCESS)
break;
if (dat->hAwayMsgEvent && ack->hProcess == dat->hSeq) {
UnhookEvent(dat->hAwayMsgEvent);
dat->hAwayMsgEvent = NULL;
}
TCHAR *tszMsg = StrNormNewline((TCHAR *)ack->lParam);
SetDlgItemText(hwndDlg, IDC_MSG, tszMsg);
mir_free(tszMsg);
if (ack->lParam && *((char *)ack->lParam) != '\0')
EnableWindow(GetDlgItem(hwndDlg, IDC_COPY), TRUE);
ShowWindow(GetDlgItem(hwndDlg, IDC_RETRIEVING), SW_HIDE);
ShowWindow(GetDlgItem(hwndDlg, IDC_MSG), SW_SHOW);
SetDlgItemText(hwndDlg, IDOK, TranslateT("&Close"));
break;
}
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDCANCEL:
case IDOK:
DestroyWindow(hwndDlg);
break;
case IDC_COPY:
if (!OpenClipboard(hwndDlg))
break;
if (EmptyClipboard()) {
TCHAR msg[1024];
int len = GetDlgItemText(hwndDlg, IDC_MSG, msg, _countof(msg));
if (len) {
LPTSTR lptstrCopy;
HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(TCHAR));
if (hglbCopy == NULL) {
CloseClipboard();
break;
}
lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);
memcpy(lptstrCopy, msg, len * sizeof(TCHAR));
lptstrCopy[len] = (TCHAR)0;
GlobalUnlock(hglbCopy);
SetClipboardData(CF_UNICODETEXT, hglbCopy);
}
}
CloseClipboard();
break;
}
break;
case WM_CLOSE:
DestroyWindow(hwndDlg);
//.........这里部分代码省略.........
开发者ID:kmdtukl,项目名称:miranda-ng,代码行数:101,代码来源:awaymsg.cpp
示例13: UpdateValues
int UpdateValues(WPARAM hContact, LPARAM lparam)
{
// to make this code faster
if (!hContact)
return 0;
DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING *)lparam;
char *szProto = GetContactProto(hContact);
if (cws->value.type == DBVT_DWORD && !strcmp(cws->szSetting, "LastSeen") && !mir_strcmp(cws->szModule, szProto)) {
DBWriteTimeTS(cws->value.dVal, hContact);
HWND hwnd = WindowList_Find(g_pUserInfo, hContact);
if (hwnd != NULL)
SendMessage(hwnd, WM_REFRESH_UI, hContact, 0);
return 0;
}
BOOL isIdleEvent = includeIdle ? (strcmp(cws->szSetting, "IdleTS") == 0) : 0;
if (strcmp(cws->szSetting, "Status") && strcmp(cws->szSetting, "StatusTriger") && (isIdleEvent == 0))
return 0;
if (!strcmp(cws->szModule, S_MOD)) {
// here we will come when Settings/SeenModule/StatusTriger is changed
WORD prevStatus = db_get_w(hContact, S_MOD, "OldStatus", ID_STATUS_OFFLINE);
if (includeIdle) {
if (db_get_b(hContact, S_MOD, "OldIdle", 0))
prevStatus &= 0x7FFF;
else
prevStatus |= 0x8000;
}
if ((cws->value.wVal | 0x8000) <= ID_STATUS_OFFLINE) {
// avoid repeating the offline status
if ((prevStatus | 0x8000) <= ID_STATUS_OFFLINE)
return 0;
db_set_b(hContact, S_MOD, "Offline", 1);
{
char str[MAXMODULELABELLENGTH + 9];
mir_snprintf(str, "OffTime-%s", szProto);
DWORD t = db_get_dw(NULL, S_MOD, str, 0);
if (!t)
t = time(NULL);
DBWriteTimeTS(t, hContact);
}
if (!db_get_b(NULL, S_MOD, "IgnoreOffline", 1)) {
if (g_bFileActive)
FileWrite(hContact);
char *sProto = GetContactProto(hContact);
if (CallProtoService(sProto, PS_GETSTATUS, 0, 0) > ID_STATUS_OFFLINE) {
myPlaySound(hContact, ID_STATUS_OFFLINE, prevStatus);
if (db_get_b(NULL, S_MOD, "UsePopups", 0))
ShowPopup(hContact, sProto, ID_STATUS_OFFLINE);
}
if (db_get_b(NULL, S_MOD, "KeepHistory", 0))
HistoryWrite(hContact);
if (db_get_b(hContact, S_MOD, "OnlineAlert", 0))
ShowHistory(hContact, 1);
}
}
else {
if (cws->value.wVal == prevStatus && !db_get_b(hContact, S_MOD, "Offline", 0))
return 0;
DBWriteTimeTS(time(NULL), hContact);
if (g_bFileActive) FileWrite(hContact);
if (prevStatus != cws->value.wVal) myPlaySound(hContact, cws->value.wVal, prevStatus);
if (db_get_b(NULL, S_MOD, "UsePopups", 0))
if (prevStatus != cws->value.wVal)
ShowPopup(hContact, GetContactProto(hContact), cws->value.wVal | 0x8000);
if (db_get_b(NULL, S_MOD, "KeepHistory", 0)) HistoryWrite(hContact);
if (db_get_b(hContact, S_MOD, "OnlineAlert", 0)) ShowHistory(hContact, 1);
db_set_b(hContact, S_MOD, "Offline", 0);
}
}
else if (hContact && IsWatchedProtocol(cws->szModule) && !db_get_b(hContact, cws->szModule, "ChatRoom", false)) {
// here we will come when <User>/<module>/Status is changed or it is idle event and if <module> is watched
if (CallProtoService(cws->szModule, PS_GETSTATUS, 0, 0) > ID_STATUS_OFFLINE) {
mir_cslock lck(csContacts);
logthread_info *p = arContacts.find((logthread_info*)&hContact);
if (p == NULL) {
p = (logthread_info*)mir_calloc(sizeof(logthread_info));
p->hContact = hContact;
mir_strncpy(p->sProtoName, cws->szModule, _countof(p->sProtoName));
arContacts.insert(p);
mir_forkthread(waitThread, p);
}
p->currStatus = isIdleEvent ? db_get_w(hContact, cws->szModule, "Status", ID_STATUS_OFFLINE) : cws->
|
请发表评论