From 17b6a94812b2dbf4af29fb5d84064ceb1c7d393e Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 21 Jul 2024 15:26:46 +0300 Subject: =?UTF-8?q?fixes=20#4554=20(QuickSearch:=20=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D0=BB=D0=B5=20=D1=81=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=D0=B0=20=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D0=B1=D1=86=D0=B0=20=D0=BF=D1=80=D0=BE=D0=BF=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D0=B5=D1=82=20=D0=B7=D0=BD=D0=B0=D1=87=D0=BE=D0=BA?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D1=82=D0=BE=D0=BA=D0=BE=D0=BB=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/QuickSearch/src/utils.cpp | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) (limited to 'plugins/QuickSearch/src/utils.cpp') diff --git a/plugins/QuickSearch/src/utils.cpp b/plugins/QuickSearch/src/utils.cpp index 96ed8c1f41..eb450e9db1 100644 --- a/plugins/QuickSearch/src/utils.cpp +++ b/plugins/QuickSearch/src/utils.cpp @@ -118,23 +118,36 @@ ColumnItem::~ColumnItem() } } +int ColumnItem::HasImage(const wchar_t *pwsztext) const +{ + if (isClient && (g_plugin.m_flags & QSO_CLIENTICONS) && pwsztext) + return LVIF_IMAGE; + + if (isGender || isXstatus || isAccount) + return LVIF_IMAGE; + + return 0; +} + void ColumnItem::SetSpecialColumns() { - if (setting_type == QST_SETTING) { - if (datatype == QSTS_STRING && !mir_strcmp(module, "CList") && !mir_strcmp(setting, "Group")) - isGroup = true; + if (setting_type == QST_SETTING) { + if (datatype == QSTS_STRING && !mir_strcmp(module, "CList") && !mir_strcmp(setting, "Group")) + isGroup = true; - else if (datatype == QSTS_STRING && !mir_strcmp(module, "Tab_SRMsg") && !mir_strcmp(setting, "containerW")) - isContainer = true; + else if (datatype == QSTS_STRING && !mir_strcmp(module, "Tab_SRMsg") && !mir_strcmp(setting, "containerW")) + isContainer = true; - else if (datatype == QSTS_BYTE && !mir_strcmpi(setting, "XStatusId")) - isXstatus = true; + else if (datatype == QSTS_BYTE && !mir_strcmpi(setting, "XStatusId")) + isXstatus = true; - else if (datatype == QSTS_STRING && !mir_strcmp(setting, "MirVer") && g_bFingerInstalled) - isClient = true; - } - else if (setting_type == QST_CONTACTINFO && cnftype == CNF_GENDER) - isGender = true; + else if (datatype == QSTS_STRING && !mir_strcmp(setting, "MirVer") && g_bFingerInstalled) + isClient = true; + } + else if (setting_type == QST_CONTACTINFO && cnftype == CNF_GENDER) + isGender = true; + else if (setting_type == QST_OTHER && cnftype == QSTO_ACCOUNT) + isAccount = true; } ///////////////////////////////////////////////////////////////////////////////////////// @@ -322,6 +335,7 @@ void CMPlugin::LoadColumn(int n, ColumnItem &col) if (!mir_strcmp(col.svc.service, "Proto/GetContactBaseAccount")) { col.setting_type = QST_OTHER; col.other = QSTO_ACCOUNT; + col.isAccount = true; break; } -- cgit v1.2.3