summaryrefslogtreecommitdiff
path: root/plugins/QuickSearch/src/utils.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-07-21 15:26:46 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-07-21 15:26:46 +0300
commit17b6a94812b2dbf4af29fb5d84064ceb1c7d393e (patch)
tree72e46849d5f6d3f19746df08329d5a19e88bb790 /plugins/QuickSearch/src/utils.cpp
parent5ddeb2223413391589a77ef2620d561d21078cf4 (diff)
fixes #4554 (QuickSearch: после скрытия и повторного показа столбца пропадает значок протокола)
Diffstat (limited to 'plugins/QuickSearch/src/utils.cpp')
-rw-r--r--plugins/QuickSearch/src/utils.cpp38
1 files changed, 26 insertions, 12 deletions
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;
}