From 40086f4fc370ca92218c805fe5cee10c09f57f2c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 14 May 2018 18:29:31 +0300 Subject: merge with master till: fixes #1358 (StdMsg: "Send on Ctrl+Enter" setting is lost after upgrade) --- langpacks/belarusian/=CORE=.txt | 40 +- langpacks/belarusian/Plugins/Dummy.txt | 2 +- langpacks/belarusian/Plugins/Scriver.txt | 4 +- langpacks/belarusian/Plugins/SmileyAdd.txt | 6 +- langpacks/belarusian/Plugins/StatusManager.txt | 2 +- langpacks/belarusian/Plugins/TabSRMM.txt | 6 +- langpacks/bulgarian/=CORE=.txt | 42 +- langpacks/bulgarian/Plugins/Dummy.txt | 2 + langpacks/bulgarian/Plugins/Scriver.txt | 4 +- langpacks/bulgarian/Plugins/SmileyAdd.txt | 2 +- langpacks/bulgarian/Plugins/StatusManager.txt | 2 +- langpacks/bulgarian/Plugins/TabSRMM.txt | 6 +- langpacks/bulgarian/Untranslated/Dummy.txt | 1 - langpacks/croatian/=CORE=.txt | 38 +- langpacks/croatian/Plugins/Scriver.txt | 4 +- langpacks/croatian/Plugins/SmileyAdd.txt | 6 +- langpacks/croatian/Plugins/StatusManager.txt | 2 +- langpacks/croatian/Plugins/TabSRMM.txt | 6 +- langpacks/croatian/Untranslated/=CORE=.txt | 18 +- langpacks/croatian/Untranslated/Scriver.txt | 1 - langpacks/croatian/Untranslated/SmileyAdd.txt | 2 +- langpacks/croatian/Untranslated/TabSRMM.txt | 4 +- langpacks/czech/=CORE=.txt | 40 +- langpacks/czech/Plugins/Scriver.txt | 4 +- langpacks/czech/Plugins/SmileyAdd.txt | 6 +- langpacks/czech/Plugins/StatusManager.txt | 2 +- langpacks/czech/Plugins/TabSRMM.txt | 6 +- langpacks/english/=CORE=.txt | 22 +- langpacks/english/Plugins/Scriver.txt | 3 +- langpacks/english/Plugins/SmileyAdd.txt | 4 +- langpacks/english/Plugins/StatusManager.txt | 2 +- langpacks/english/Plugins/TabSRMM.txt | 4 +- langpacks/english_gb/=CORE=.txt | 2 +- langpacks/english_gb/Plugins/Scriver.txt | 2 +- langpacks/english_gb/Plugins/SmileyAdd.txt | 2 +- langpacks/english_gb/Plugins/StatusManager.txt | 2 +- langpacks/french/=CORE=.txt | 42 +- langpacks/french/Plugins/Dummy.txt | 2 +- langpacks/french/Plugins/Scriver.txt | 4 +- langpacks/french/Plugins/SmileyAdd.txt | 6 +- langpacks/french/Plugins/StatusManager.txt | 2 +- langpacks/french/Plugins/TabSRMM.txt | 6 +- langpacks/french/Untranslated/Dummy.txt | 1 - langpacks/german/=CORE=.txt | 40 +- langpacks/german/Plugins/Scriver.txt | 4 +- langpacks/german/Plugins/SmileyAdd.txt | 6 +- langpacks/german/Plugins/StatusManager.txt | 2 +- langpacks/german/Plugins/TabSRMM.txt | 6 +- langpacks/polish/=CORE=.txt | 40 +- langpacks/polish/Plugins/Scriver.txt | 4 +- langpacks/polish/Plugins/SmileyAdd.txt | 6 +- langpacks/polish/Plugins/StatusManager.txt | 2 +- langpacks/polish/Plugins/TabSRMM.txt | 6 +- langpacks/russian/=CORE=.txt | 40 +- langpacks/russian/Plugins/FltContacts.txt | 6 +- langpacks/russian/Plugins/Scriver.txt | 4 +- langpacks/russian/Plugins/SmileyAdd.txt | 6 +- langpacks/russian/Plugins/StatusManager.txt | 2 +- langpacks/russian/Plugins/TabSRMM.txt | 6 +- langpacks/serbian/=CORE=.txt | 40 +- langpacks/serbian/Plugins/Scriver.txt | 4 +- langpacks/serbian/Plugins/SmileyAdd.txt | 6 +- langpacks/serbian/Plugins/StatusManager.txt | 2 +- langpacks/serbian/Plugins/TabSRMM.txt | 6 +- langpacks/serbian/Untranslated/SmileyAdd.txt | 2 +- langpacks/spanish/=CORE=.txt | 40 +- langpacks/spanish/Plugins/Scriver.txt | 4 +- langpacks/spanish/Plugins/SmileyAdd.txt | 2 +- langpacks/spanish/Plugins/StatusManager.txt | 2 +- langpacks/spanish/Plugins/TabSRMM.txt | 6 +- langpacks/spanish/Untranslated/SmileyAdd.txt | 2 +- langpacks/ukrainian/=CORE=.txt | 40 +- langpacks/ukrainian/Plugins/Scriver.txt | 4 +- langpacks/ukrainian/Plugins/SmileyAdd.txt | 6 +- langpacks/ukrainian/Plugins/StatusManager.txt | 2 +- langpacks/ukrainian/Plugins/TabSRMM.txt | 6 +- langpacks/ukrainian/Plugins/Tox.txt | 2 + langpacks/ukrainian/Untranslated/Tox.txt | 1 - plugins/Clist_modern/src/modern_clcpaint.cpp | 26 +- plugins/CloudFile/src/Services/google_api.h | 3 +- plugins/Dbx_mdbx/src/libmdbx/src/lck-windows.c | 59 +- plugins/Scriver/res/resource.rc | 49 +- plugins/Scriver/src/globals.cpp | 9 +- plugins/Scriver/src/globals.h | 58 +- plugins/Scriver/src/msgdialog.cpp | 7 +- plugins/Scriver/src/msgoptions.cpp | 11 + plugins/Scriver/src/resource.h | 17 +- plugins/SimpleStatusMsg/src/main.cpp | 354 ++++----- plugins/SimpleStatusMsg/src/msgbox.cpp | 967 ++++++++++++------------- plugins/SimpleStatusMsg/src/options.cpp | 567 ++++++--------- plugins/SimpleStatusMsg/src/version.h | 2 +- src/core/stdmsg/src/chat_manager.cpp | 1 + src/core/stdmsg/src/chat_window.cpp | 9 + src/core/stdmsg/src/globals.cpp | 3 + src/core/stdmsg/src/msgdialog.cpp | 8 +- src/core/stdmsg/src/msgs.h | 15 +- src/core/stdmsg/src/stdafx.h | 22 +- src/core/stdmsg/src/tabs.cpp | 40 +- 98 files changed, 1332 insertions(+), 1616 deletions(-) diff --git a/langpacks/belarusian/=CORE=.txt b/langpacks/belarusian/=CORE=.txt index 72492a442e..e85b8efd4d 100644 --- a/langpacks/belarusian/=CORE=.txt +++ b/langpacks/belarusian/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ [%s message for %s] %s (%s) @@ -401,38 +401,38 @@ Адкрываць вакно, калі: [In background] У фоне +[Maximum number of flashes] +Мігцець не больш [Close the message window on send] Зачыняць вакно пасля адпраўкі [Minimize the message window on send] Згортваць вакно пасля адпраўкі -[Use the contact's status icon as the window icon] -Выкарыстоўваць у якасці абразка вакна абразок статусу кантакту [Save the window size and location individually for each contact] Захоўваць памер і становішча вакна для кожнага кантакту [Cascade new windows] Размяшчаць новыя вокны каскадам +[Support CTRL+Up/Down in message area to show previously sent messages] +Паказваць старыя паведамленні пры націску Ctrl+УГАРУ/УНІЗ +[Delete temporary contacts when closing message window] +Выдаляць часавыя кантакты пры зачыненні вакна паведамлення +[Enable avatar support in the message window] +Падтрымка аватараў у вакне паведамлення +[Limit avatar height to] +Вышыня аватара да [Show 'Send' button] Паказваць кнопку "адправіць" +[Show character count] +Паказваць лічыльнік знакаў [Show toolbar buttons on top row] Паказваць кнопкі ў верхнім радку [Send message on double 'Enter'] Пасылаць па падвойным "Enter" [Send message on 'Enter'] Пасылаць па "Enter" -[Show character count] -Паказваць лічыльнік знакаў +[Send message on 'Ctrl+Enter'] +Пасылаць па "Ctrl+Enter" [Show warning when message has not been received after] Паведамляць, калі паведамленне не атрымалася адправіць на працягу -[Support CTRL+Up/Down in message area to show previously sent messages] -Паказваць старыя паведамленні пры націску Ctrl+УГАРУ/УНІЗ -[Delete temporary contacts when closing message window] -Выдаляць часавыя кантакты пры зачыненні вакна паведамлення -[Enable avatar support in the message window] -Падтрымка аватараў у вакне паведамлення -[Limit avatar height to] -Вышыня аватара да -[Maximum number of flashes] -Мігцець не больш [Send error] Памылка адпраўкі [An error has occurred. The protocol reported the following error:] @@ -543,7 +543,7 @@ Колеры па змаўчанні [Use custom colors] Задаць колеры -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Усплывальныя вокны чата [Timeout (s)] Працягласць (з) @@ -1365,6 +1365,8 @@ UIN, E-mail і г.д. Выходныя [Idle] Чаканне +[Message sessions] +Гутаркі [Chat module] Плагін чата [Group chat log background] @@ -1377,10 +1379,6 @@ UIN, E-mail і г.д. Колер ліній спісу [Nick list background (selected)] Заліванне спісу (абрана) -[Send message by pressing the 'Enter' key] -УВОД адпраўляе паведамленне -[Send message by pressing the 'Enter' key twice] -Падвойны ЎВОД адпраўляе паведамленне [Flash window when someone speaks] Міргаць вакном, пры новым паведамленні [Flash window when a word is highlighted] @@ -1601,8 +1599,6 @@ UIN, E-mail і г.д. Абразкі ў сістэмным латку [Popups to display] Усплывальныя вокны -[Message sessions] -Гутаркі [General] Агульнае [Chat log] diff --git a/langpacks/belarusian/Plugins/Dummy.txt b/langpacks/belarusian/Plugins/Dummy.txt index 89b55f655d..e940b0a5a9 100644 --- a/langpacks/belarusian/Plugins/Dummy.txt +++ b/langpacks/belarusian/Plugins/Dummy.txt @@ -34,7 +34,7 @@ [User ID] ID кантакта [ICQ number] - +Нумар ICQ [Nickname] Мянушка [Visible name] diff --git a/langpacks/belarusian/Plugins/Scriver.txt b/langpacks/belarusian/Plugins/Scriver.txt index c020b2958f..2dce79d099 100644 --- a/langpacks/belarusian/Plugins/Scriver.txt +++ b/langpacks/belarusian/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -67,8 +67,6 @@ Паказваць панэль інфармацыі [Show avatars] Аватары -[Use the contact's status icon as the window icon] -Выкарыстоўваць у якасці абразка вакна абразок статусу кантакту [Show progress indicator] Паказваць індыкатар прагрэсу [Enable transparency] diff --git a/langpacks/belarusian/Plugins/SmileyAdd.txt b/langpacks/belarusian/Plugins/SmileyAdd.txt index 31f902521c..c5b42b65a7 100644 --- a/langpacks/belarusian/Plugins/SmileyAdd.txt +++ b/langpacks/belarusian/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -91,10 +91,10 @@ HTTP далучэнне SmileyAdd У адпаведнасці з пратаколам [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] -Смайл #%u у файле %s для набору смайлікаў %s не знойдзены. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Праблемы з загрузкай набору смайлаў (неабходна выправіць).\nДля падрабязнасцяў гледзіце сеткавы дзённік. +[Smiley #%u in file %s for smiley pack %s not found.] +Смайл #%u у файле %s для набору смайлікаў %s не знойдзены. [%s global smiley pack] [Standard] diff --git a/langpacks/belarusian/Plugins/StatusManager.txt b/langpacks/belarusian/Plugins/StatusManager.txt index 013c9c896b..0e27b49272 100644 --- a/langpacks/belarusian/Plugins/StatusManager.txt +++ b/langpacks/belarusian/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/belarusian/Plugins/TabSRMM.txt b/langpacks/belarusian/Plugins/TabSRMM.txt index 73dfac2d62..0140877b8e 100644 --- a/langpacks/belarusian/Plugins/TabSRMM.txt +++ b/langpacks/belarusian/Plugins/TabSRMM.txt @@ -829,7 +829,7 @@ RTL па змаўчанні %s уключае статус '%s' для %s [%s disables '%s' status for %s] %s выключае статус '%s' для %s -[Message Sessions] +[Message sessions] Гутаркі [Input area background] Фон поля ўводу @@ -1047,6 +1047,8 @@ IRC-стыль(тэкставы) індыкатараў роляў у логе Вылучыць (10х10) [Information (10x10)] Інфармацыя (10х10) +[Message Sessions] +Гутаркі [Group chat windows] Вокны чата [Group chat log] @@ -1575,8 +1577,6 @@ UID: %s (SHIFT+клік -> капіяваць у буфер)\nКлік - Інф Згарнуць вакно на панэль задач [Close or hide window, depends on the close button setting above] Зачыніць ці схаваць вакно, залежыць ад налады кнопкі зачынення -[Message sessions] -Гутаркі [General] Агульнае [Tabs and layout] diff --git a/langpacks/bulgarian/=CORE=.txt b/langpacks/bulgarian/=CORE=.txt index 7e42c79bcb..e7ae7f02dc 100644 --- a/langpacks/bulgarian/=CORE=.txt +++ b/langpacks/bulgarian/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ [%s message for %s] Текст "%s" на %s @@ -397,38 +397,38 @@ Изскачане на прозореца при състояние: [In background] без фокусиране (на заден план) +[Maximum number of flashes] +Максимален брой мигания [Close the message window on send] Затваряне на прозореца след изпращане [Minimize the message window on send] Минимизиране на прозореца след изпращане -[Use the contact's status icon as the window icon] -Ползване на иконата за състояние на контакта като икона на прозореца [Save the window size and location individually for each contact] Индивидуален размер и позиция на прозореца за всеки контакт [Cascade new windows] Каскадно подреждане на новите прозорци +[Support CTRL+Up/Down in message area to show previously sent messages] +Показване на вече изпратените съобщения чрез Ctrl + стрелка нагоре/надолу +[Delete temporary contacts when closing message window] +Изтриване на временните контакти след затваряне на прозореца +[Enable avatar support in the message window] +Поддръжка на аватари в прозореца за съобщения +[Limit avatar height to] +Височина на аватара до [Show 'Send' button] Показване на бутон "Изпращане" +[Show character count] +Показване броя на знаците [Show toolbar buttons on top row] Лента с инструменти на горния ред [Send message on double 'Enter'] Двукратно натискане на "Enter" изпраща съобщение [Send message on 'Enter'] Изпращане на съобщение с "Enter" -[Show character count] -Показване броя на знаците +[Send message on 'Ctrl+Enter'] +Изпращане на съобщение с "Ctrl+Enter" [Show warning when message has not been received after] Предупреждение, ако съобщение не е получено след -[Support CTRL+Up/Down in message area to show previously sent messages] -Показване на вече изпратените съобщения чрез Ctrl + стрелка нагоре/надолу -[Delete temporary contacts when closing message window] -Изтриване на временните контакти след затваряне на прозореца -[Enable avatar support in the message window] -Поддръжка на аватари в прозореца за съобщения -[Limit avatar height to] -Височина на аватара до -[Maximum number of flashes] -Максимален брой мигания [Send error] Грешка при изпращането [An error has occurred. The protocol reported the following error:] @@ -537,8 +537,8 @@ Стандартни цветове [Use custom colors] Зададени цветове -[Popups for the Chat plugin] -Popup за приставката Chat +[Popups for the StdMsg plugin] +Popup за приставката StdMsg [Timeout (s)] Времетраене (сек) [Text] @@ -1325,6 +1325,8 @@ Google Translate Изходящи [Idle] Бездействие +[Message sessions] +Разговори [Chat module] Чат модул [Group chat log background] @@ -1337,10 +1339,6 @@ Google Translate Редове на списък с прякори [Nick list background (selected)] Фон на списъка с прякори (маркирано) -[Send message by pressing the 'Enter' key] -Изпращане на съобщение с натискане на бутона "Enter" -[Send message by pressing the 'Enter' key twice] -Изпращане на съобщение с двукратно натискане на бутона "Enter" [Flash window when someone speaks] Мигане на прозореца при ново съобщение [Flash window when a word is highlighted] @@ -1561,8 +1559,6 @@ Google Translate Икони за изобразяване в трея [Popups to display] Popups за изобразяване -[Message sessions] -Разговори [General] Основни [Chat log] diff --git a/langpacks/bulgarian/Plugins/Dummy.txt b/langpacks/bulgarian/Plugins/Dummy.txt index 33ca1cd5ba..b63f0ab768 100644 --- a/langpacks/bulgarian/Plugins/Dummy.txt +++ b/langpacks/bulgarian/Plugins/Dummy.txt @@ -21,6 +21,8 @@ Потребителско име [Gadu-Gadu number] Gadu-Gadu номер +[ICQ number] +ICQ номер [Nickname] Прякор [E-mail address] diff --git a/langpacks/bulgarian/Plugins/Scriver.txt b/langpacks/bulgarian/Plugins/Scriver.txt index 3d2b966a7b..2a55293519 100644 --- a/langpacks/bulgarian/Plugins/Scriver.txt +++ b/langpacks/bulgarian/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -67,8 +67,6 @@ Scriver - за изпращане и получаване на съобщени Показване на информационна лента [Show avatars] Показване на аватари -[Use the contact's status icon as the window icon] -Ползване на иконата за състояние на контакта като икона на прозореца [Show progress indicator] Показване на индикатор за напредък [Enable transparency] diff --git a/langpacks/bulgarian/Plugins/SmileyAdd.txt b/langpacks/bulgarian/Plugins/SmileyAdd.txt index 4bab7e6b87..2d8f5f04a9 100644 --- a/langpacks/bulgarian/Plugins/SmileyAdd.txt +++ b/langpacks/bulgarian/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] diff --git a/langpacks/bulgarian/Plugins/StatusManager.txt b/langpacks/bulgarian/Plugins/StatusManager.txt index 6b6874faed..fb079e37df 100644 --- a/langpacks/bulgarian/Plugins/StatusManager.txt +++ b/langpacks/bulgarian/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [Startup status] diff --git a/langpacks/bulgarian/Plugins/TabSRMM.txt b/langpacks/bulgarian/Plugins/TabSRMM.txt index cd44124c7e..f74d079ec7 100644 --- a/langpacks/bulgarian/Plugins/TabSRMM.txt +++ b/langpacks/bulgarian/Plugins/TabSRMM.txt @@ -797,7 +797,7 @@ Mаксимална ширина за лента с бутони %s даде статут "%s" на "%s" [%s disables '%s' status for %s] %s отне статута "%s" на "%s" -[Message Sessions] +[Message sessions] Разговори [Input area background] Фон на полето за въвеждане @@ -1003,6 +1003,8 @@ UIN Отличаване (10x10) [Information (10x10)] Информация (10х10) +[Message Sessions] +Разговори [Group chat windows] Прозорци за групов чат [Group chat log] @@ -1499,8 +1501,6 @@ Latin I Минимизира прозореца в лентата за задачи [Close or hide window, depends on the close button setting above] Затваря/Скрива прозореца (зависи как е настроен бутона "Затваряне" по-горе) -[Message sessions] -Разговори [General] Основни [Tabs and layout] diff --git a/langpacks/bulgarian/Untranslated/Dummy.txt b/langpacks/bulgarian/Untranslated/Dummy.txt index 7a12fbdb25..7a0c7e172c 100644 --- a/langpacks/bulgarian/Untranslated/Dummy.txt +++ b/langpacks/bulgarian/Untranslated/Dummy.txt @@ -4,7 +4,6 @@ [Screen name] [Facebook ID] [User ID] -[ICQ number] [Visible name] [Skype name] [Steam ID] diff --git a/langpacks/croatian/=CORE=.txt b/langpacks/croatian/=CORE=.txt index 9a020f4ede..babbd6da60 100644 --- a/langpacks/croatian/=CORE=.txt +++ b/langpacks/croatian/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -406,37 +406,37 @@ p&ovijest [In background] +[Maximum number of flashes] + [Close the message window on send] [Minimize the message window on send] -[Use the contact's status icon as the window icon] - [Save the window size and location individually for each contact] [Cascade new windows] -[Show 'Send' button] +[Support CTRL+Up/Down in message area to show previously sent messages] -[Show toolbar buttons on top row] +[Delete temporary contacts when closing message window] -[Send message on double 'Enter'] +[Enable avatar support in the message window] -[Send message on 'Enter'] +[Limit avatar height to] -[Show character count] +[Show 'Send' button] -[Show warning when message has not been received after] +[Show character count] -[Support CTRL+Up/Down in message area to show previously sent messages] +[Show toolbar buttons on top row] -[Delete temporary contacts when closing message window] +[Send message on double 'Enter'] -[Enable avatar support in the message window] +[Send message on 'Enter'] -[Limit avatar height to] +[Send message on 'Ctrl+Enter'] -[Maximum number of flashes] +[Show warning when message has not been received after] [Send error] @@ -548,7 +548,7 @@ koristi isti stil kao i u dnevnicima poruka koristi zadane boje [Use custom colors] koristi prilagođene boje -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] skočni prozori za dodatak čavrljanja [Timeout (s)] vrijeme nestanka (s) @@ -1390,6 +1390,8 @@ sve datoteke [Idle] ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] + [Chat module] [Group chat log background] @@ -1403,10 +1405,6 @@ sve datoteke [Nick list background (selected)] ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] - -[Send message by pressing the 'Enter' key twice] - [Flash window when someone speaks] [Flash window when a word is highlighted] @@ -1627,8 +1625,6 @@ sve datoteke [Popups to display] -[Message sessions] - [General] [Chat log] diff --git a/langpacks/croatian/Plugins/Scriver.txt b/langpacks/croatian/Plugins/Scriver.txt index fa9ee21c85..42219111d9 100644 --- a/langpacks/croatian/Plugins/Scriver.txt +++ b/langpacks/croatian/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -68,8 +68,6 @@ prikaži naslovnu traku [Show avatars] -[Use the contact's status icon as the window icon] - [Show progress indicator] [Enable transparency] diff --git a/langpacks/croatian/Plugins/SmileyAdd.txt b/langpacks/croatian/Plugins/SmileyAdd.txt index 470dd82ffe..9a658f03d5 100644 --- a/langpacks/croatian/Plugins/SmileyAdd.txt +++ b/langpacks/croatian/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -98,10 +98,10 @@ sve datoteke ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] - [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] +[Smiley #%u in file %s for smiley pack %s not found.] + [%s global smiley pack] [Standard] diff --git a/langpacks/croatian/Plugins/StatusManager.txt b/langpacks/croatian/Plugins/StatusManager.txt index 9b62a55361..fd52d073de 100644 --- a/langpacks/croatian/Plugins/StatusManager.txt +++ b/langpacks/croatian/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/croatian/Plugins/TabSRMM.txt b/langpacks/croatian/Plugins/TabSRMM.txt index f20828f805..2730729c5f 100644 --- a/langpacks/croatian/Plugins/TabSRMM.txt +++ b/langpacks/croatian/Plugins/TabSRMM.txt @@ -835,7 +835,7 @@ prikaži traku izbornika [%s disables '%s' status for %s] ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] @@ -1054,6 +1054,8 @@ kartice [Information (10x10)] +[Message Sessions] + [Group chat windows] [Group chat log] @@ -1598,8 +1600,6 @@ drugo [Close or hide window, depends on the close button setting above] -[Message sessions] - [General] [Tabs and layout] diff --git a/langpacks/croatian/Untranslated/=CORE=.txt b/langpacks/croatian/Untranslated/=CORE=.txt index 162e69b30f..60ac90000f 100644 --- a/langpacks/croatian/Untranslated/=CORE=.txt +++ b/langpacks/croatian/Untranslated/=CORE=.txt @@ -129,22 +129,22 @@ [Disable sounds on idle] [Automatically popup window when:] [In background] +[Maximum number of flashes] [Close the message window on send] [Minimize the message window on send] -[Use the contact's status icon as the window icon] [Save the window size and location individually for each contact] [Cascade new windows] +[Support CTRL+Up/Down in message area to show previously sent messages] +[Delete temporary contacts when closing message window] +[Enable avatar support in the message window] +[Limit avatar height to] [Show 'Send' button] +[Show character count] [Show toolbar buttons on top row] [Send message on double 'Enter'] [Send message on 'Enter'] -[Show character count] +[Send message on 'Ctrl+Enter'] [Show warning when message has not been received after] -[Support CTRL+Up/Down in message area to show previously sent messages] -[Delete temporary contacts when closing message window] -[Enable avatar support in the message window] -[Limit avatar height to] -[Maximum number of flashes] [Send error] [An error has occurred. The protocol reported the following error:] [while sending the following message:] @@ -547,14 +547,13 @@ [Transfer and virus scan complete] [Outgoing] [Idle] +[Message sessions] [Chat module] [Group chat log background] [Message background] [Nick list background] [Nick list lines] [Nick list background (selected)] -[Send message by pressing the 'Enter' key] -[Send message by pressing the 'Enter' key twice] [Flash window when someone speaks] [Flash window when a word is highlighted] [Show list of users in the chat room] @@ -665,7 +664,6 @@ [Icons to display in the message log] [Icons to display in the tray] [Popups to display] -[Message sessions] [General] [Chat log] [Chat] diff --git a/langpacks/croatian/Untranslated/Scriver.txt b/langpacks/croatian/Untranslated/Scriver.txt index 9293074311..77efb62dae 100644 --- a/langpacks/croatian/Untranslated/Scriver.txt +++ b/langpacks/croatian/Untranslated/Scriver.txt @@ -26,7 +26,6 @@ [Show toolbar] [Show info bar] [Show avatars] -[Use the contact's status icon as the window icon] [Show progress indicator] [Enable transparency] [active] diff --git a/langpacks/croatian/Untranslated/SmileyAdd.txt b/langpacks/croatian/Untranslated/SmileyAdd.txt index e3f0ef0723..d17556cb56 100644 --- a/langpacks/croatian/Untranslated/SmileyAdd.txt +++ b/langpacks/croatian/Untranslated/SmileyAdd.txt @@ -39,8 +39,8 @@ [Customize] [Protocol specific] [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] +[Smiley #%u in file %s for smiley pack %s not found.] [%s global smiley pack] [Standard] [Regular expression "%s" in smiley pack "%s" malformed.] diff --git a/langpacks/croatian/Untranslated/TabSRMM.txt b/langpacks/croatian/Untranslated/TabSRMM.txt index 9ab529f8ed..6359cfe449 100644 --- a/langpacks/croatian/Untranslated/TabSRMM.txt +++ b/langpacks/croatian/Untranslated/TabSRMM.txt @@ -375,7 +375,7 @@ [ (set by %s)] [%s enables '%s' status for %s] [%s disables '%s' status for %s] -[Message Sessions] +[Message sessions] [Input area background] [Log background] [Single Messaging] @@ -483,6 +483,7 @@ [Topic (10x10)] [Highlight (10x10)] [Information (10x10)] +[Message Sessions] [Group chat windows] [Group chat log] [Appearance and functionality of chat room windows] @@ -744,7 +745,6 @@ [Normal - close tab, if last tab is closed also close the window] [Minimize the window to the task bar] [Close or hide window, depends on the close button setting above] -[Message sessions] [General] [Tabs and layout] [Containers] diff --git a/langpacks/czech/=CORE=.txt b/langpacks/czech/=CORE=.txt index da431c4ca4..3647f37498 100644 --- a/langpacks/czech/=CORE=.txt +++ b/langpacks/czech/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -406,38 +406,38 @@ Vypnout zvuky při nečinnosti Automaticky vyvolat okno při: [In background] Na pozadí +[Maximum number of flashes] +Maximální počet bliknutí [Close the message window on send] Zavřít okno kliknutím na 'Poslat' [Minimize the message window on send] Minimalizovat okno kliknutím na 'Poslat' -[Use the contact's status icon as the window icon] -Použít v liště okna ikonu aktuálního stavu [Save the window size and location individually for each contact] Uložit velikost a umístění okna pro každý kontakt zvlášť [Cascade new windows] Skládat okna kaskádně +[Support CTRL+Up/Down in message area to show previously sent messages] +Použít kombinaci kláves CTRL+Nahoru/Dolů k zobrazení předešlých zpráv +[Delete temporary contacts when closing message window] +Smazat dočasné kontakty po zavření okna pro rozhovor +[Enable avatar support in the message window] +Aktivovat zobrazení avatarů v okně pro rozhovor +[Limit avatar height to] +Max. výška obrázku avataru [Show 'Send' button] Zobrazit tlačítko 'Poslat' +[Show character count] +Zobrazit počet napsaných znaků [Show toolbar buttons on top row] Zobrazit nahoře lištu s tlačítky [Send message on double 'Enter'] Odeslat zprávu dvojitým ENTER [Send message on 'Enter'] Odeslat zprávu klávesou ENTER -[Show character count] -Zobrazit počet napsaných znaků +[Send message on 'Ctrl+Enter'] +Odeslat zprávu CTRL+ENTER [Show warning when message has not been received after] Zobrazit upozornění v případě, že zpráva nebyla doručena do -[Support CTRL+Up/Down in message area to show previously sent messages] -Použít kombinaci kláves CTRL+Nahoru/Dolů k zobrazení předešlých zpráv -[Delete temporary contacts when closing message window] -Smazat dočasné kontakty po zavření okna pro rozhovor -[Enable avatar support in the message window] -Aktivovat zobrazení avatarů v okně pro rozhovor -[Limit avatar height to] -Max. výška obrázku avataru -[Maximum number of flashes] -Maximální počet bliknutí [Send error] Chyba při odesílání [An error has occurred. The protocol reported the following error:] @@ -548,7 +548,7 @@ Použít nastavení pro záznam komunikace Použít výchozí barvy [Use custom colors] Použít vlastní barvy -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Oznamovací okna [Timeout (s)] Prodleva (s) @@ -1390,6 +1390,8 @@ Odchozí [Idle] Nečinnost ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] +Komunikace [Chat module] Skupinový rozhovor [Group chat log background] @@ -1403,10 +1405,6 @@ Linky v seznamu účastníků [Nick list background (selected)] Pozadí seznamu účastníků (vybraný) ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] -Odeslat zprávu klávesou ENTER -[Send message by pressing the 'Enter' key twice] -Odeslat zprávu dvojitým ENTER [Flash window when someone speaks] Zablikat oknem při přijetí zprávy [Flash window when a word is highlighted] @@ -1627,8 +1625,6 @@ Možnosti zobrazení ikon v záznamu komunikace Možnosti zobrazení ikon v oznamovací oblasti [Popups to display] Zobrazit oznámení -[Message sessions] -Komunikace [General] Obecné [Chat log] diff --git a/langpacks/czech/Plugins/Scriver.txt b/langpacks/czech/Plugins/Scriver.txt index 22c29147d4..8c5c6bcffb 100644 --- a/langpacks/czech/Plugins/Scriver.txt +++ b/langpacks/czech/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -68,8 +68,6 @@ Zobrazit lištu Zobrazit informační lištu [Show avatars] Zobrazit avatary -[Use the contact's status icon as the window icon] -Použít v liště okna ikonu aktuálního stavu [Show progress indicator] Zobrazit indikátor průběhu přenosu [Enable transparency] diff --git a/langpacks/czech/Plugins/SmileyAdd.txt b/langpacks/czech/Plugins/SmileyAdd.txt index 2e951cbb0c..030885d99e 100644 --- a/langpacks/czech/Plugins/SmileyAdd.txt +++ b/langpacks/czech/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -98,10 +98,10 @@ Závisí na protokolu ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] Knihovna smajlíků %s pro kategorii "%s" nebyla nalezena.\nVyberte platnou knihovnu smajlíků v Možnosti -> Vlastní úpravy -> Smajlíky. -[Smiley #%u in file %s for smiley pack %s not found.] -Smajlík č.%u v souboru %s sady smajlíků %s nebyl nalezen. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Nepodařilo se načíst požadovanou knihovnu smajlíků.\nDalší informace naleznete v záznamu komunikace po síti. +[Smiley #%u in file %s for smiley pack %s not found.] +Smajlík č.%u v souboru %s sady smajlíků %s nebyl nalezen. [%s global smiley pack] %s globální sada smajlíků [Standard] diff --git a/langpacks/czech/Plugins/StatusManager.txt b/langpacks/czech/Plugins/StatusManager.txt index b07e8eb812..b011147305 100644 --- a/langpacks/czech/Plugins/StatusManager.txt +++ b/langpacks/czech/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/czech/Plugins/TabSRMM.txt b/langpacks/czech/Plugins/TabSRMM.txt index bc4ad6424e..44e551250e 100644 --- a/langpacks/czech/Plugins/TabSRMM.txt +++ b/langpacks/czech/Plugins/TabSRMM.txt @@ -835,7 +835,7 @@ Aktuální téma: '%s%s' [%s disables '%s' status for %s] %s deaktivuje stav '%s' pro %s ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] Komunikace ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] @@ -1054,6 +1054,8 @@ Téma (10x10) Zvýraznění (10x10) [Information (10x10)] Informace (10x10) +[Message Sessions] +Komunikace [Group chat windows] Okna skupinových rozhovorů [Group chat log] @@ -1598,8 +1600,6 @@ Normální - zavřít panel, pokud je uzavřen poslední panel, zavřít i okno Minimalizovat okno [Close or hide window, depends on the close button setting above] Zavřít či schovat okno, záleží na nastavení uzavíracího tlačítka -[Message sessions] -Komunikace [General] Obecné [Tabs and layout] diff --git a/langpacks/english/=CORE=.txt b/langpacks/english/=CORE=.txt index 1f8cff331a..3db4b52ca8 100644 --- a/langpacks/english/=CORE=.txt +++ b/langpacks/english/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -207,22 +207,22 @@ ;file \src\core\stdmsg\res\resource.rc [Automatically popup window when:] [In background] +[Maximum number of flashes] [Close the message window on send] [Minimize the message window on send] -[Use the contact's status icon as the window icon] [Save the window size and location individually for each contact] [Cascade new windows] +[Support CTRL+Up/Down in message area to show previously sent messages] +[Delete temporary contacts when closing message window] +[Enable avatar support in the message window] +[Limit avatar height to] [Show 'Send' button] +[Show character count] [Show toolbar buttons on top row] [Send message on double 'Enter'] [Send message on 'Enter'] -[Show character count] +[Send message on 'Ctrl+Enter'] [Show warning when message has not been received after] -[Support CTRL+Up/Down in message area to show previously sent messages] -[Delete temporary contacts when closing message window] -[Enable avatar support in the message window] -[Limit avatar height to] -[Maximum number of flashes] [Send error] [An error has occurred. The protocol reported the following error:] [while sending the following message:] @@ -278,7 +278,7 @@ [Use same style as in the message log] [Use default colors] [Use custom colors] -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] [Timeout (s)] [Text] [Background] @@ -709,6 +709,7 @@ ;file \src\core\stdidle\src\options.cpp [Idle] ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] [Chat module] [Group chat log background] [Message background] @@ -716,8 +717,6 @@ [Nick list lines] [Nick list background (selected)] ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] -[Send message by pressing the 'Enter' key twice] [Flash window when someone speaks] [Flash window when a word is highlighted] [Show list of users in the chat room] @@ -828,7 +827,6 @@ [Icons to display in the message log] [Icons to display in the tray] [Popups to display] -[Message sessions] [General] [Chat log] [Chat] diff --git a/langpacks/english/Plugins/Scriver.txt b/langpacks/english/Plugins/Scriver.txt index a7d67a16e2..f638f96664 100644 --- a/langpacks/english/Plugins/Scriver.txt +++ b/langpacks/english/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -37,7 +37,6 @@ [Show toolbar] [Show info bar] [Show avatars] -[Use the contact's status icon as the window icon] [Show progress indicator] [Enable transparency] [active] diff --git a/langpacks/english/Plugins/SmileyAdd.txt b/langpacks/english/Plugins/SmileyAdd.txt index 352ce29bf6..c0c60a4938 100644 --- a/langpacks/english/Plugins/SmileyAdd.txt +++ b/langpacks/english/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -55,8 +55,8 @@ [Protocol specific] ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] +[Smiley #%u in file %s for smiley pack %s not found.] [%s global smiley pack] [Standard] [Regular expression "%s" in smiley pack "%s" malformed.] diff --git a/langpacks/english/Plugins/StatusManager.txt b/langpacks/english/Plugins/StatusManager.txt index dc5f2969dc..0df4c26eec 100644 --- a/langpacks/english/Plugins/StatusManager.txt +++ b/langpacks/english/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/english/Plugins/TabSRMM.txt b/langpacks/english/Plugins/TabSRMM.txt index 5ec60fafe9..dd4fa35fc5 100644 --- a/langpacks/english/Plugins/TabSRMM.txt +++ b/langpacks/english/Plugins/TabSRMM.txt @@ -423,7 +423,7 @@ [%s enables '%s' status for %s] [%s disables '%s' status for %s] ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] [Log background] @@ -533,6 +533,7 @@ [Topic (10x10)] [Highlight (10x10)] [Information (10x10)] +[Message Sessions] [Group chat windows] [Group chat log] [Appearance and functionality of chat room windows] @@ -813,7 +814,6 @@ [Normal - close tab, if last tab is closed also close the window] [Minimize the window to the task bar] [Close or hide window, depends on the close button setting above] -[Message sessions] [General] [Tabs and layout] [Containers] diff --git a/langpacks/english_gb/=CORE=.txt b/langpacks/english_gb/=CORE=.txt index 7464e9fceb..84a2b059c0 100644 --- a/langpacks/english_gb/=CORE=.txt +++ b/langpacks/english_gb/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ [Minimize to tray] Minimise to tray diff --git a/langpacks/english_gb/Plugins/Scriver.txt b/langpacks/english_gb/Plugins/Scriver.txt index 316fd7b602..d58826fb0b 100644 --- a/langpacks/english_gb/Plugins/Scriver.txt +++ b/langpacks/english_gb/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Behavior] diff --git a/langpacks/english_gb/Plugins/SmileyAdd.txt b/langpacks/english_gb/Plugins/SmileyAdd.txt index 1717818916..bc28598875 100644 --- a/langpacks/english_gb/Plugins/SmileyAdd.txt +++ b/langpacks/english_gb/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Background color] diff --git a/langpacks/english_gb/Plugins/StatusManager.txt b/langpacks/english_gb/Plugins/StatusManager.txt index 178f3694cc..1ef65022f5 100644 --- a/langpacks/english_gb/Plugins/StatusManager.txt +++ b/langpacks/english_gb/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [Background color] diff --git a/langpacks/french/=CORE=.txt b/langpacks/french/=CORE=.txt index 1dde7675f7..d401d56713 100644 --- a/langpacks/french/=CORE=.txt +++ b/langpacks/french/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -406,38 +406,38 @@ Désactiver les sons quand inactif Fenêtre en popup quand : [In background] En arrière-plan +[Maximum number of flashes] +Nombre maximum de clignotements [Close the message window on send] Fermer la fenêtre à l'envoi [Minimize the message window on send] Réduire la fenêtre à l'envoi -[Use the contact's status icon as the window icon] -Utiliser l'icône d'état du contact comme icône de fenêtre [Save the window size and location individually for each contact] Sauvegarder taille et emplacement de fenêtre pour chaque contact [Cascade new windows] Voir les nouvelles fenêtres en cascade +[Support CTRL+Up/Down in message area to show previously sent messages] +Permettre navigation haut/bas dans zone de texte pour voir mess. précédents +[Delete temporary contacts when closing message window] +Effacer contacts temp. en fermant fenêtre de message +[Enable avatar support in the message window] +Activer le support des avatars dans la fenêtre de message +[Limit avatar height to] +Limiter la taille de l'avatar à [Show 'Send' button] Voir le bouton "Envoyer" +[Show character count] +Décompte des caractères [Show toolbar buttons on top row] Voir boutons d'outils en haut [Send message on double 'Enter'] Taper 2 fois "Entrée" pour envoyer [Send message on 'Enter'] Taper 1 fois "Entrée" pour envoyer -[Show character count] -Décompte des caractères +[Send message on 'Ctrl+Enter'] + [Show warning when message has not been received after] M'alerter quand le message n'a pas été reçu après -[Support CTRL+Up/Down in message area to show previously sent messages] -Permettre navigation haut/bas dans zone de texte pour voir mess. précédents -[Delete temporary contacts when closing message window] -Effacer contacts temp. en fermant fenêtre de message -[Enable avatar support in the message window] -Activer le support des avatars dans la fenêtre de message -[Limit avatar height to] -Limiter la taille de l'avatar à -[Maximum number of flashes] -Nombre maximum de clignotements [Send error] Erreur d'envoi [An error has occurred. The protocol reported the following error:] @@ -548,8 +548,8 @@ Utiliser même style que la fenêtre Couleurs par défaut [Use custom colors] Couleurs personnalisées -[Popups for the Chat plugin] -Popups pour le plugin Chat +[Popups for the StdMsg plugin] +Popups pour le plugin StdMsg [Timeout (s)] Délai (s) [Text] @@ -1390,6 +1390,8 @@ Sortant [Idle] Inactif ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] +Sessions de message [Chat module] Chat [Group chat log background] @@ -1403,10 +1405,6 @@ Lignes de la liste [Nick list background (selected)] ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] -Envoyer le message en pressant 1 fois sur "Entrée" -[Send message by pressing the 'Enter' key twice] -Envoyer le message en pressant 2 fois sur "Entrée" [Flash window when someone speaks] Fenêtre clignotante quand quelqu'un parle [Flash window when a word is highlighted] @@ -1627,8 +1625,6 @@ Icônes à afficher dans le journal des messages Icônes à afficher dans la zone de notification système (tray) [Popups to display] -[Message sessions] -Sessions de message [General] Général [Chat log] diff --git a/langpacks/french/Plugins/Dummy.txt b/langpacks/french/Plugins/Dummy.txt index 719037a8f1..7ce47a0979 100644 --- a/langpacks/french/Plugins/Dummy.txt +++ b/langpacks/french/Plugins/Dummy.txt @@ -36,7 +36,7 @@ Numéro Gadu-Gadu [User ID] [ICQ number] - +Identifiant [Nickname] Pseudo [Visible name] diff --git a/langpacks/french/Plugins/Scriver.txt b/langpacks/french/Plugins/Scriver.txt index aae805d31e..70af83cc59 100644 --- a/langpacks/french/Plugins/Scriver.txt +++ b/langpacks/french/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -68,8 +68,6 @@ Voir barre d'outils Afficher la barre d'information [Show avatars] Montrer les avatars -[Use the contact's status icon as the window icon] -Utiliser l'icône d'état du contact comme icône de fenêtre [Show progress indicator] Afficher la barre de progression [Enable transparency] diff --git a/langpacks/french/Plugins/SmileyAdd.txt b/langpacks/french/Plugins/SmileyAdd.txt index 154fc7dcfc..ee4088ee71 100644 --- a/langpacks/french/Plugins/SmileyAdd.txt +++ b/langpacks/french/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -98,10 +98,10 @@ Apparence ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] -le smiley #%u, du fichier %s, du pack %s, est introuvable. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Il s'est produit une erreur lors du chargement du pack de smileys (il doit être corrigé).\nLisez l'enregistrement réseau pour plus de détails. +[Smiley #%u in file %s for smiley pack %s not found.] +le smiley #%u, du fichier %s, du pack %s, est introuvable. [%s global smiley pack] [Standard] diff --git a/langpacks/french/Plugins/StatusManager.txt b/langpacks/french/Plugins/StatusManager.txt index 26f8745f56..78df73dd94 100644 --- a/langpacks/french/Plugins/StatusManager.txt +++ b/langpacks/french/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/french/Plugins/TabSRMM.txt b/langpacks/french/Plugins/TabSRMM.txt index 3f5e998cef..3506f7b6c1 100644 --- a/langpacks/french/Plugins/TabSRMM.txt +++ b/langpacks/french/Plugins/TabSRMM.txt @@ -835,7 +835,7 @@ Le sujet est '%s%s' [%s disables '%s' status for %s] ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] Sessions de message ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] @@ -1054,6 +1054,8 @@ Sujet (10x10) Surligner (10x10) [Information (10x10)] Information (10x10) +[Message Sessions] +Sessions de message [Group chat windows] [Group chat log] @@ -1598,8 +1600,6 @@ Seulement si la fenêtre de message est fermée [Close or hide window, depends on the close button setting above] -[Message sessions] -Sessions de message [General] Général [Tabs and layout] diff --git a/langpacks/french/Untranslated/Dummy.txt b/langpacks/french/Untranslated/Dummy.txt index 63c38c0517..85edadb943 100644 --- a/langpacks/french/Untranslated/Dummy.txt +++ b/langpacks/french/Untranslated/Dummy.txt @@ -9,7 +9,6 @@ [Screen name] [Facebook ID] [User ID] -[ICQ number] [Visible name] [Live ID] [Steam ID] diff --git a/langpacks/german/=CORE=.txt b/langpacks/german/=CORE=.txt index 802a1f7f28..d83f69fb7f 100644 --- a/langpacks/german/=CORE=.txt +++ b/langpacks/german/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -406,38 +406,38 @@ Klänge bei Untätigkeit deaktivieren Fenster automatisch öffnen, wenn: [In background] im Hintergrund +[Maximum number of flashes] +Maximale Anzahl Blinken [Close the message window on send] Nachrichtenfenster beim Senden schließen [Minimize the message window on send] Nachrichtenfenster beim Senden minimieren -[Use the contact's status icon as the window icon] -Statusicon des Kontaktes als Fenstericon verwenden [Save the window size and location individually for each contact] Fenstergröße und Position für jeden Kontakt einzeln speichern [Cascade new windows] Neue Fenster überlappend +[Support CTRL+Up/Down in message area to show previously sent messages] +Zuvor gesendete Nachrichten mit Strg+Auf/Ab erneut abrufen +[Delete temporary contacts when closing message window] +Temporäre Kontakte löschen, wenn Nachrichtenfenster geschlossen wird +[Enable avatar support in the message window] +Avatar-Unterstützung im Nachrichtenfenster aktivieren +[Limit avatar height to] +Avatarhöhe begrenzen auf [Show 'Send' button] 'Senden'-Button anzeigen +[Show character count] +Zeichenzähler anzeigen [Show toolbar buttons on top row] Toolbarbuttons oben anzeigen [Send message on double 'Enter'] Doppel-'Eingabe' sendet Nachricht [Send message on 'Enter'] 'Eingabe' sendet Nachricht -[Show character count] -Zeichenzähler anzeigen +[Send message on 'Ctrl+Enter'] +'Ctrl+Eingabe' sendet Nachricht [Show warning when message has not been received after] Warnung anzeigen, wenn Nachricht nicht zugestellt wurde nach -[Support CTRL+Up/Down in message area to show previously sent messages] -Zuvor gesendete Nachrichten mit Strg+Auf/Ab erneut abrufen -[Delete temporary contacts when closing message window] -Temporäre Kontakte löschen, wenn Nachrichtenfenster geschlossen wird -[Enable avatar support in the message window] -Avatar-Unterstützung im Nachrichtenfenster aktivieren -[Limit avatar height to] -Avatarhöhe begrenzen auf -[Maximum number of flashes] -Maximale Anzahl Blinken [Send error] Fehler beim Senden [An error has occurred. The protocol reported the following error:] @@ -548,7 +548,7 @@ Selben Stil wie im Verlaufsfenster verwenden Standardfarben verwenden [Use custom colors] Benutzerdefinierte Farben -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Popups für das Chatplugin [Timeout (s)] Zeitüberschreitung (s) @@ -1390,6 +1390,8 @@ Ausgehend [Idle] Untätigkeit ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] +Nachrichtensitzungen [Chat module] Chatfenster [Group chat log background] @@ -1403,10 +1405,6 @@ Benutzerliste Linien [Nick list background (selected)] Benutzerliste Hintergrund (ausgewählt) ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] -Nachricht beim Drücken der Eingabetaste senden -[Send message by pressing the 'Enter' key twice] -Nachricht beim doppelten Drücken der Eingabetaste senden [Flash window when someone speaks] Fenster blinkt, wenn jemand schreibt [Flash window when a word is highlighted] @@ -1627,8 +1625,6 @@ Folgende Icons im Verlaufsfenster anzeigen Folgende Icons im Tray anzeigen [Popups to display] Folgende Popups anzeigen -[Message sessions] -Nachrichtensitzungen [General] Allgemein [Chat log] diff --git a/langpacks/german/Plugins/Scriver.txt b/langpacks/german/Plugins/Scriver.txt index 44e59c9fac..1c33a64d64 100644 --- a/langpacks/german/Plugins/Scriver.txt +++ b/langpacks/german/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -68,8 +68,6 @@ Toolbar anzeigen Infoleiste anzeigen [Show avatars] Avatare anzeigen -[Use the contact's status icon as the window icon] -Statusicon des Kontaktes als Fenstericon verwenden [Show progress indicator] 'Sende'-Benachrichtigungen anzeigen [Enable transparency] diff --git a/langpacks/german/Plugins/SmileyAdd.txt b/langpacks/german/Plugins/SmileyAdd.txt index 57bc85a4ff..1cc34aac98 100644 --- a/langpacks/german/Plugins/SmileyAdd.txt +++ b/langpacks/german/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -98,10 +98,10 @@ protokollspezifisch ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] Smileypack %s für Kategorie "%s" nicht gefunden.\nBitte korrektes Smileypack in Einstellungen -> Customize -> Smileys auswählen. -[Smiley #%u in file %s for smiley pack %s not found.] -Smiley #%u in Datei %s für Smileypack %s nicht gefunden. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Das verwendete Smileypack ist fehlerhaft und muss korrigiert werden.\nDetails finden sich im Netzwerklog. +[Smiley #%u in file %s for smiley pack %s not found.] +Smiley #%u in Datei %s für Smileypack %s nicht gefunden. [%s global smiley pack] %s globales Smileypack [Standard] diff --git a/langpacks/german/Plugins/StatusManager.txt b/langpacks/german/Plugins/StatusManager.txt index 5fcc0a00c8..6795e26714 100644 --- a/langpacks/german/Plugins/StatusManager.txt +++ b/langpacks/german/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/german/Plugins/TabSRMM.txt b/langpacks/german/Plugins/TabSRMM.txt index 0408c56b37..535424ce6c 100644 --- a/langpacks/german/Plugins/TabSRMM.txt +++ b/langpacks/german/Plugins/TabSRMM.txt @@ -835,7 +835,7 @@ Das Thema ist '%s%s' [%s disables '%s' status for %s] %s deaktiviert '%s' Status für %s ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] Nachrichtensitzungen ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] @@ -1054,6 +1054,8 @@ Thema (10x10) Hervorhebung (10x10) [Information (10x10)] Information (10x10) +[Message Sessions] +Nachrichtensitzungen [Group chat windows] Gruppenchat-Fenster [Group chat log] @@ -1598,8 +1600,6 @@ Normal - Schließt Tabs; schließt das Fenster, wenn der letzte Tab geschlossen Minimiert das Fenster in die Taskleiste [Close or hide window, depends on the close button setting above] Schließe oder verstecke Fenster abhängig vom obigen Schließverhalten -[Message sessions] -Nachrichtensitzungen [General] Allgemein [Tabs and layout] diff --git a/langpacks/polish/=CORE=.txt b/langpacks/polish/=CORE=.txt index 5ba1602d8a..c23b4c4908 100644 --- a/langpacks/polish/=CORE=.txt +++ b/langpacks/polish/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -406,38 +406,38 @@ Wyłącz dźwięki kiedy bezczynny Automatycznie pokazuj okno gdy: [In background] W tle +[Maximum number of flashes] +Maksymalna liczba mignięć [Close the message window on send] Zamknij okno rozmowy po wysłaniu [Minimize the message window on send] Minimalizuj okno rozmowy po wysłaniu -[Use the contact's status icon as the window icon] -Użyj ikony statusu kontaktu jako ikony okna [Save the window size and location individually for each contact] Zapamiętaj rozmiar i położenie okna oddzielnie dla każdego kontaktu [Cascade new windows] Kaskaduj nowe okna +[Support CTRL+Up/Down in message area to show previously sent messages] +Pozwalaj używać Ctrl+góra/dół w oknie rozmowy by przewijać wysłane wiadomości +[Delete temporary contacts when closing message window] +Usuń tymczasowe kontakty po zamknięciu okna rozmowy +[Enable avatar support in the message window] +Włącz awatary w oknie rozmowy +[Limit avatar height to] +Ogranicz wysokość awataru do [Show 'Send' button] Pokaż przycisk "Wyślij" +[Show character count] +Pokazuj liczbę znaków [Show toolbar buttons on top row] Pokazuj pasek narzędzi u góry [Send message on double 'Enter'] Podwójny Enter wysyła wiadomość [Send message on 'Enter'] Enter wysyła wiadomość -[Show character count] -Pokazuj liczbę znaków +[Send message on 'Ctrl+Enter'] +Ctrl+Enter wysyła wiadomość [Show warning when message has not been received after] Pokazuj ostrzeżenie jeśli wiadomość nie została odebrana po -[Support CTRL+Up/Down in message area to show previously sent messages] -Pozwalaj używać Ctrl+góra/dół w oknie rozmowy by przewijać wysłane wiadomości -[Delete temporary contacts when closing message window] -Usuń tymczasowe kontakty po zamknięciu okna rozmowy -[Enable avatar support in the message window] -Włącz awatary w oknie rozmowy -[Limit avatar height to] -Ogranicz wysokość awataru do -[Maximum number of flashes] -Maksymalna liczba mignięć [Send error] Błąd wysyłania [An error has occurred. The protocol reported the following error:] @@ -548,7 +548,7 @@ Użyj takiego samego stylu, jak w dzienniku Użyj domyślnych kolorów [Use custom colors] Użyj niestandardowych kolorów -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Czat [Timeout (s)] Opóźnienie (s) @@ -1390,6 +1390,8 @@ Wychodzące [Idle] Bezczynność ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] +Okno rozmowy [Chat module] Moduł czatu [Group chat log background] @@ -1403,10 +1405,6 @@ Linie listy użytkowników [Nick list background (selected)] Tło listy użytkowników (zaznaczenie) ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] -Wyślij wiadomość po Enterze -[Send message by pressing the 'Enter' key twice] -Wyślij wiadomość po dwukliku Entera [Flash window when someone speaks] Migaj oknem, gdy ktoś mówi [Flash window when a word is highlighted] @@ -1627,8 +1625,6 @@ Ikony wyświetlane w dzienniku wiadomości Ikony wyświetlane w zasobniku [Popups to display] Popupy do wyświetlenia -[Message sessions] -Okno rozmowy [General] Ogólne [Chat log] diff --git a/langpacks/polish/Plugins/Scriver.txt b/langpacks/polish/Plugins/Scriver.txt index d0b70301b1..83fe5b9e39 100644 --- a/langpacks/polish/Plugins/Scriver.txt +++ b/langpacks/polish/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -68,8 +68,6 @@ Pokaż pasek narzędziowy Pokaż pasek informacji [Show avatars] Pokaż awatar -[Use the contact's status icon as the window icon] -Użyj ikony statusu kontaktu jako ikony okna [Show progress indicator] Pokaż pasek postępu [Enable transparency] diff --git a/langpacks/polish/Plugins/SmileyAdd.txt b/langpacks/polish/Plugins/SmileyAdd.txt index 6c39f6ab22..6b130aa8e6 100644 --- a/langpacks/polish/Plugins/SmileyAdd.txt +++ b/langpacks/polish/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -98,10 +98,10 @@ Specyficzne dla protokołu ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] Nie znaleziono paczki emotikon %s dla kategorii "%s".\nWybierz właściwą paczkę w Opcje -> Personalizacja -> Emotikony. -[Smiley #%u in file %s for smiley pack %s not found.] -Nie znaleziono uśmieszku #%u w pliku %s dla paczki uśmieszków %s. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Wystąpiły problemy z wczytaniem paczki emotikon (powinny już działać).\nPo szczegóły zajrzyj do dziennika. +[Smiley #%u in file %s for smiley pack %s not found.] +Nie znaleziono uśmieszku #%u w pliku %s dla paczki uśmieszków %s. [%s global smiley pack] Globalna paczka emotikon %s [Standard] diff --git a/langpacks/polish/Plugins/StatusManager.txt b/langpacks/polish/Plugins/StatusManager.txt index 9cbf71ae78..59f272c2d5 100644 --- a/langpacks/polish/Plugins/StatusManager.txt +++ b/langpacks/polish/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/polish/Plugins/TabSRMM.txt b/langpacks/polish/Plugins/TabSRMM.txt index a10a9b5c50..81a5525d63 100644 --- a/langpacks/polish/Plugins/TabSRMM.txt +++ b/langpacks/polish/Plugins/TabSRMM.txt @@ -835,7 +835,7 @@ Temat to "%s%s" [%s disables '%s' status for %s] %s wyłącza status "%s" dla %s ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] Okno rozmowy ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] @@ -1054,6 +1054,8 @@ Temat (10x10) Podświetlenie (10x10) [Information (10x10)] Informacja (10x10) +[Message Sessions] +Okno rozmowy [Group chat windows] Okno czatu [Group chat log] @@ -1598,8 +1600,6 @@ Normalnie - zamknij kartę, jeśli nie ma kart zamknij okno Zminimalizuj okno do paska [Close or hide window, depends on the close button setting above] Zamknij lub ukryj okno, zamykanie kart ma pierwszeństwo -[Message sessions] -Okno rozmowy [General] Ogólne [Tabs and layout] diff --git a/langpacks/russian/=CORE=.txt b/langpacks/russian/=CORE=.txt index f429d4a6f7..8fec2b25d9 100644 --- a/langpacks/russian/=CORE=.txt +++ b/langpacks/russian/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ [%s message for %s] %s сообщение для %s @@ -401,38 +401,38 @@ Открывать окно, если: [In background] В фоне +[Maximum number of flashes] +Максимальное количество миганий [Close the message window on send] Закрывать окно после отправки [Minimize the message window on send] Сворачивать окно после отправки -[Use the contact's status icon as the window icon] -Использовать в качестве значка окна значок статуса контакта [Save the window size and location individually for each contact] Сохранять размер и положение окна для каждого контакта [Cascade new windows] Располагать новые окна каскадом +[Support CTRL+Up/Down in message area to show previously sent messages] +Показывать старые сообщения при нажатии Ctrl+Вверх/Вниз +[Delete temporary contacts when closing message window] +Удалять временные контакты при закрытии окна сообщений +[Enable avatar support in the message window] +Поддержка аватаров в окне сообщений +[Limit avatar height to] +Ограничить высоту аватара [Show 'Send' button] Показывать кнопку "Отправить" +[Show character count] +Показывать счётчик символов [Show toolbar buttons on top row] Показывать кнопки в верхней строке [Send message on double 'Enter'] Посылать по двойному "Enter" [Send message on 'Enter'] Посылать по "Enter" -[Show character count] -Показывать счётчик символов +[Send message on 'Ctrl+Enter'] +Посылать по "Ctrl+Enter" [Show warning when message has not been received after] Сообщать, если сообщение не удалось отправить за -[Support CTRL+Up/Down in message area to show previously sent messages] -Показывать старые сообщения при нажатии Ctrl+Вверх/Вниз -[Delete temporary contacts when closing message window] -Удалять временные контакты при закрытии окна сообщений -[Enable avatar support in the message window] -Поддержка аватаров в окне сообщений -[Limit avatar height to] -Ограничить высоту аватара -[Maximum number of flashes] -Максимальное количество миганий [Send error] Ошибка отправки [An error has occurred. The protocol reported the following error:] @@ -543,7 +543,7 @@ Цвета по умолчанию [Use custom colors] Задать цвета -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Всплывающие окна чата [Timeout (s)] Длительность (с) @@ -1363,6 +1363,8 @@ Google Карты Исходящие [Idle] Ожидание +[Message sessions] +Беседы [Chat module] Модуль чата [Group chat log background] @@ -1375,10 +1377,6 @@ Google Карты Цвета линий в списке пользователей [Nick list background (selected)] Заливка списка пользователей (выбрано) -[Send message by pressing the 'Enter' key] -ВВОД отправляет сообщение -[Send message by pressing the 'Enter' key twice] -Двойной ВВОД отправляет сообщение [Flash window when someone speaks] Мигать окном, если есть новое сообщение [Flash window when a word is highlighted] @@ -1599,8 +1597,6 @@ Google Карты Значки в трее [Popups to display] Всплывающие окна -[Message sessions] -Беседы [General] Общее [Chat log] diff --git a/langpacks/russian/Plugins/FltContacts.txt b/langpacks/russian/Plugins/FltContacts.txt index cfc481d09b..6b4182ad64 100644 --- a/langpacks/russian/Plugins/FltContacts.txt +++ b/langpacks/russian/Plugins/FltContacts.txt @@ -1,4 +1,4 @@ -#muuid {53c715a8-eb01-4136-a73c-441868610074} +#muuid {53c715a8-eb01-4136-a73c-441868610074} ;============================================================ ; File: FltContacts.dll ; Plugin: Floating contacts @@ -7,8 +7,6 @@ ;============================================================ [Floating Contacts plugin for Miranda.] Плавающие контакты для Miranda NG. -[Floating contacts plugin won't work until you uncheck the "Disable drag and drop of items" option in Options - Contact list] -Плавающие контакты не будут работать, если в настройках списка контактов отключено перетаскивание элементов [Hiding contacts] Скрытие контактов [Hide offline contacts] @@ -95,6 +93,8 @@ Убрать плавающий контакт [Show/Hide all thumbs] Показать/Скрыть все контакты +[Floating contacts plugin won't work until you uncheck the "Disable drag and drop of items" option in Options - Contact list] +Плавающие контакты не будут работать, если в настройках списка контактов отключено перетаскивание элементов [Floating Contacts] Плавающие контакты [Contact list] diff --git a/langpacks/russian/Plugins/Scriver.txt b/langpacks/russian/Plugins/Scriver.txt index 969ca14005..f44f0266a0 100644 --- a/langpacks/russian/Plugins/Scriver.txt +++ b/langpacks/russian/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -67,8 +67,6 @@ Показывать панель информации [Show avatars] Аватары -[Use the contact's status icon as the window icon] -Использовать в качестве значка окна значок статуса контакта [Show progress indicator] Показывать индикатор прогресса [Enable transparency] diff --git a/langpacks/russian/Plugins/SmileyAdd.txt b/langpacks/russian/Plugins/SmileyAdd.txt index 2c04dbb68e..1636dfa5a2 100644 --- a/langpacks/russian/Plugins/SmileyAdd.txt +++ b/langpacks/russian/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -91,10 +91,10 @@ HTTP-подключения SmileyAdd В соответствии с протоколом [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] Не найден набор смайлов %s для категории "%s".\nВыберите набор смайлов в разделе "Настройки -> Тонкая настройка -> Смайлы". -[Smiley #%u in file %s for smiley pack %s not found.] -Смайл #%u в файле %s для набора смайлов %s не найден. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Проблемы с загрузкой набора смайлов (необходимо исправить).\nПодробности в сетевом логе. +[Smiley #%u in file %s for smiley pack %s not found.] +Смайл #%u в файле %s для набора смайлов %s не найден. [%s global smiley pack] %s глобальный набор смайлов [Standard] diff --git a/langpacks/russian/Plugins/StatusManager.txt b/langpacks/russian/Plugins/StatusManager.txt index 6460b0dcef..81b67e049c 100644 --- a/langpacks/russian/Plugins/StatusManager.txt +++ b/langpacks/russian/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/russian/Plugins/TabSRMM.txt b/langpacks/russian/Plugins/TabSRMM.txt index 5537febb4a..7336028f02 100644 --- a/langpacks/russian/Plugins/TabSRMM.txt +++ b/langpacks/russian/Plugins/TabSRMM.txt @@ -829,7 +829,7 @@ BBCode ([b][i][u]) %s включает статус '%s' для %s [%s disables '%s' status for %s] %s выключает статус '%s' для %s -[Message Sessions] +[Message sessions] Беседы [Input area background] Фон поля ввода текста @@ -1047,6 +1047,8 @@ IRC-стиль (текстовый) индикаторов ролей в жур Выделить (10х10) [Information (10x10)] Информация (10х10) +[Message Sessions] +Беседы [Group chat windows] Окна чата [Group chat log] @@ -1575,8 +1577,6 @@ UID: %s (SHIFT+клик -> копировать в буфер)\nКлик - ин Свернуть окно на панель задач [Close or hide window, depends on the close button setting above] Закрыть или скрыть окно, зависит от настройки кнопки закрытия -[Message sessions] -Беседы [General] Общее [Tabs and layout] diff --git a/langpacks/serbian/=CORE=.txt b/langpacks/serbian/=CORE=.txt index 7fdb7542f1..8d2239b5e5 100644 --- a/langpacks/serbian/=CORE=.txt +++ b/langpacks/serbian/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ ;file \src\core\stdaway\res\resource.rc [%s message for %s] @@ -406,38 +406,38 @@ Pasivni režim bez zvukova Odmah prikaži prozor kada: [In background] U pozadini +[Maximum number of flashes] +Maksimalno žmiganja [Close the message window on send] Zatvori prozor nakon slanja poruke [Minimize the message window on send] Spusti prozor nakon slanja poruke -[Use the contact's status icon as the window icon] -Ikonica kontakta je ikonica prozora [Save the window size and location individually for each contact] Zasebna veličina i pozicija prozora svakog kontakta [Cascade new windows] Poređaj novootvorene prozore +[Support CTRL+Up/Down in message area to show previously sent messages] +Podrška za CTRL+Gore/Dole kod slanja, za prikaz ranijih poruka +[Delete temporary contacts when closing message window] +Izbriši privremene kontakta usled zatvaranja prozora za poruke +[Enable avatar support in the message window] +Avatari u prozoru za poruke +[Limit avatar height to] +Visina slike avatara: [Show 'Send' button] Prikaži taster za slanje +[Show character count] +Tačan broj znakova [Show toolbar buttons on top row] Prikaži tastere opcija u prvom redu [Send message on double 'Enter'] Slanje dvostrukim 'Enter' [Send message on 'Enter'] Slanje jednim 'Enter' -[Show character count] -Tačan broj znakova +[Send message on 'Ctrl+Enter'] +Slanje jednim 'Ctrl+Enter' [Show warning when message has not been received after] Upozori me ukoliko poruka nije primljena posle -[Support CTRL+Up/Down in message area to show previously sent messages] -Podrška za CTRL+Gore/Dole kod slanja, za prikaz ranijih poruka -[Delete temporary contacts when closing message window] -Izbriši privremene kontakta usled zatvaranja prozora za poruke -[Enable avatar support in the message window] -Avatari u prozoru za poruke -[Limit avatar height to] -Visina slike avatara: -[Maximum number of flashes] -Maksimalno žmiganja [Send error] Prijavi grešku [An error has occurred. The protocol reported the following error:] @@ -548,7 +548,7 @@ Isti stil iz loga poruka Standardne boje [Use custom colors] Naknadno odabrane boje -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Poruke plug-ina za razgovor [Timeout (s)] Timeout (s) @@ -1390,6 +1390,8 @@ Odlazni [Idle] Pasivni režim ;file \src\core\stdmsg\src\chat_manager.cpp +[Message sessions] +Celi razgovori [Chat module] Modul za komunikaciju [Group chat log background] @@ -1403,10 +1405,6 @@ Međulinije spiska nadimaka [Nick list background (selected)] Pozadina spiska nadimaka (odabrano) ;file \src\core\stdmsg\src\chat_options.cpp -[Send message by pressing the 'Enter' key] -Slanje poruka pritiskom na 'Enter' -[Send message by pressing the 'Enter' key twice] -Slanje poruka dvostrukim pritiskom na 'Enter' [Flash window when someone speaks] Žmiganje prozora usled razgovora [Flash window when a word is highlighted] @@ -1627,8 +1625,6 @@ Odabir ikonica u log-u poruka Odabir ikonica u tray-u [Popups to display] Odabir balončića -[Message sessions] -Celi razgovori [General] Uopšteno [Chat log] diff --git a/langpacks/serbian/Plugins/Scriver.txt b/langpacks/serbian/Plugins/Scriver.txt index 910de06e74..6ba51d8ece 100644 --- a/langpacks/serbian/Plugins/Scriver.txt +++ b/langpacks/serbian/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -68,8 +68,6 @@ Prikaži statusnu traku [Show avatars] Prikaži avatare -[Use the contact's status icon as the window icon] -Ikonica kontakta je ikonica prozora [Show progress indicator] [Enable transparency] diff --git a/langpacks/serbian/Plugins/SmileyAdd.txt b/langpacks/serbian/Plugins/SmileyAdd.txt index eba79e6ba2..58920ad5e2 100644 --- a/langpacks/serbian/Plugins/SmileyAdd.txt +++ b/langpacks/serbian/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -98,10 +98,10 @@ Podešavanja ;file \plugins\SmileyAdd\src\smileys.cpp [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] - [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] +[Smiley #%u in file %s for smiley pack %s not found.] + [%s global smiley pack] [Standard] diff --git a/langpacks/serbian/Plugins/StatusManager.txt b/langpacks/serbian/Plugins/StatusManager.txt index 36a44afdaa..4e0da479b2 100644 --- a/langpacks/serbian/Plugins/StatusManager.txt +++ b/langpacks/serbian/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/serbian/Plugins/TabSRMM.txt b/langpacks/serbian/Plugins/TabSRMM.txt index 6bafca89d8..af12887f26 100644 --- a/langpacks/serbian/Plugins/TabSRMM.txt +++ b/langpacks/serbian/Plugins/TabSRMM.txt @@ -835,7 +835,7 @@ Tema je '%s%s' [%s disables '%s' status for %s] %s uklanja '%s' status za: %s ;file \plugins\TabSRMM\src\chat_main.cpp -[Message Sessions] +[Message sessions] Celi razgovori ;file \plugins\TabSRMM\src\chat_options.cpp [Input area background] @@ -1054,6 +1054,8 @@ Tema (10х10) Istaknuto (10х10) [Information (10x10)] Informacija (10х10) +[Message Sessions] +Celi razgovori [Group chat windows] [Group chat log] @@ -1598,8 +1600,6 @@ Obaveštenje o kucanju [Close or hide window, depends on the close button setting above] -[Message sessions] -Celi razgovori [General] Uopšteno [Tabs and layout] diff --git a/langpacks/serbian/Untranslated/SmileyAdd.txt b/langpacks/serbian/Untranslated/SmileyAdd.txt index 087605f28b..493c6acffc 100644 --- a/langpacks/serbian/Untranslated/SmileyAdd.txt +++ b/langpacks/serbian/Untranslated/SmileyAdd.txt @@ -35,8 +35,8 @@ [Smileys] [Protocol specific] [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] +[Smiley #%u in file %s for smiley pack %s not found.] [%s global smiley pack] [Standard] [Regular expression "%s" in smiley pack "%s" malformed.] diff --git a/langpacks/spanish/=CORE=.txt b/langpacks/spanish/=CORE=.txt index 4f8b16217c..87e842dbdf 100644 --- a/langpacks/spanish/=CORE=.txt +++ b/langpacks/spanish/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ [%s message for %s] %s Mensaje(S) para %s @@ -401,38 +401,38 @@ Desactivar los sonidos en inactividad Ventana emergente automáticamente cuando: [In background] En segundo plano +[Maximum number of flashes] +Número máximo de destellos [Close the message window on send] Cerrar la ventana de mensaje al enviar [Minimize the message window on send] Minimizar la ventana de mensaje al enviar -[Use the contact's status icon as the window icon] -Usar el icono de estado del contacto como el icono de la ventana [Save the window size and location individually for each contact] Guardar el tamaño de la ventana y la ubicación de forma individual para cada contacto [Cascade new windows] Ventanas en cascada nueva +[Support CTRL+Up/Down in message area to show previously sent messages] +Soporte CTRL+Arriba/Abajo en el área de mensajes para mostrar mensajes previamente enviados +[Delete temporary contacts when closing message window] +Eliminar contactos temporales al cerrar la ventana mensaje +[Enable avatar support in the message window] +Habilitar la compatibilidad de avatar en la ventana de mensajes +[Limit avatar height to] +Limitar altura de avatar a [Show 'Send' button] Mostrar botón 'Enviar' +[Show character count] +Mostrar recuento de caracteres [Show toolbar buttons on top row] Mostrar botones de barra de herramientas en la parte superior de la fila [Send message on double 'Enter'] Enviar mensaje con doble 'Intro' [Send message on 'Enter'] Enviar mensaje con 'Intro' -[Show character count] -Mostrar recuento de caracteres +[Send message on 'Ctrl+Enter'] +Enviar mensaje con 'Ctrl+Intro' [Show warning when message has not been received after] Mostrar aviso cuando el mensaje no se ha recibido después de -[Support CTRL+Up/Down in message area to show previously sent messages] -Soporte CTRL+Arriba/Abajo en el área de mensajes para mostrar mensajes previamente enviados -[Delete temporary contacts when closing message window] -Eliminar contactos temporales al cerrar la ventana mensaje -[Enable avatar support in the message window] -Habilitar la compatibilidad de avatar en la ventana de mensajes -[Limit avatar height to] -Limitar altura de avatar a -[Maximum number of flashes] -Número máximo de destellos [Send error] Enviar error [An error has occurred. The protocol reported the following error:] @@ -543,7 +543,7 @@ Usar mismo estilo que en el registro de mensajes Usar colores predeterminados [Use custom colors] Usar colores personalizados -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Ventanas emergentes para el plugin de chat [Timeout (s)] Tiempo de espera (s) @@ -1297,6 +1297,8 @@ Transferencia y Análisis en busca de virus finalizado Saliendo [Idle] Inactivo +[Message sessions] +Sesiones de mensaje [Chat module] Módulo de chat [Message background] @@ -1307,10 +1309,6 @@ Fondo de lista de usuarios Líneas de lista de usuarios [Nick list background (selected)] Fondo de lista de usuarios (seleccionado) -[Send message by pressing the 'Enter' key] -Enviar mensaje pulsando la tecla 'Intro' -[Send message by pressing the 'Enter' key twice] -Enviar mensaje pulsando la tecla 'Intro' dos veces [Flash window when someone speaks] Parpadear ventana cuando alguien habla [Flash window when a word is highlighted] @@ -1531,8 +1529,6 @@ Iconos a mostrar en el registro de mensajes Iconos a mostrar en la bandeja [Popups to display] Ventanas emergentes mostrar -[Message sessions] -Sesiones de mensaje [General] General [Chat log] diff --git a/langpacks/spanish/Plugins/Scriver.txt b/langpacks/spanish/Plugins/Scriver.txt index b4a526964f..771e483397 100644 --- a/langpacks/spanish/Plugins/Scriver.txt +++ b/langpacks/spanish/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Behavior] @@ -25,8 +25,6 @@ Mostrar barra de título Mostrar barra de estado [Show avatars] Mostrar avatares -[Use the contact's status icon as the window icon] -Usar el icono de estado del contacto como el icono de la ventana [Message window event log] Ventana de mensajes de registro de eventos [Show icons] diff --git a/langpacks/spanish/Plugins/SmileyAdd.txt b/langpacks/spanish/Plugins/SmileyAdd.txt index 41bcb492f1..5147ce9405 100644 --- a/langpacks/spanish/Plugins/SmileyAdd.txt +++ b/langpacks/spanish/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Name:] diff --git a/langpacks/spanish/Plugins/StatusManager.txt b/langpacks/spanish/Plugins/StatusManager.txt index 741647aa73..40ebce4ffd 100644 --- a/langpacks/spanish/Plugins/StatusManager.txt +++ b/langpacks/spanish/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [Allows you to define the status Miranda should set on startup, configurable per account.] diff --git a/langpacks/spanish/Plugins/TabSRMM.txt b/langpacks/spanish/Plugins/TabSRMM.txt index d37a8b2fe4..f579df9ff4 100644 --- a/langpacks/spanish/Plugins/TabSRMM.txt +++ b/langpacks/spanish/Plugins/TabSRMM.txt @@ -177,7 +177,7 @@ El tema es '%s%s' %s habilitar '%s' de estado para %s [%s disables '%s' status for %s] %s deshabilitar '%s' de estado para %s -[Message Sessions] +[Message sessions] Sesiones de mensaje [Tabs] Pestañas @@ -253,6 +253,8 @@ Tema (10x10) Resaltado (10x10) [Information (10x10)] Información (10x10) +[Message Sessions] +Sesiones de mensaje [Appearance and functionality of chat room windows] Apariencia y funcionalidad de ventanas de chat [Appearance of the message log] @@ -323,8 +325,6 @@ Escribiendo notificación ** Nuevos contactos ** [** Unknown contacts **] ** Contactos desconocidos ** -[Message sessions] -Sesiones de mensaje [General] General [Message log] diff --git a/langpacks/spanish/Untranslated/SmileyAdd.txt b/langpacks/spanish/Untranslated/SmileyAdd.txt index 9bd8cec2d3..9615738356 100644 --- a/langpacks/spanish/Untranslated/SmileyAdd.txt +++ b/langpacks/spanish/Untranslated/SmileyAdd.txt @@ -32,8 +32,8 @@ [Smileys] [Protocol specific] [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] -[Smiley #%u in file %s for smiley pack %s not found.] [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] +[Smiley #%u in file %s for smiley pack %s not found.] [%s global smiley pack] [Standard] [Regular expression "%s" in smiley pack "%s" malformed.] diff --git a/langpacks/ukrainian/=CORE=.txt b/langpacks/ukrainian/=CORE=.txt index ed83c1a90e..142f678e97 100644 --- a/langpacks/ukrainian/=CORE=.txt +++ b/langpacks/ukrainian/=CORE=.txt @@ -1,7 +1,7 @@ ;============================================================ ; File: miranda32/64.exe ; Module: Miranda Core -; Version: 0.95.8 +; Version: 0.95.9 ;============================================================ [%s message for %s] %s (%s) @@ -401,38 +401,38 @@ Відкривати вікно, якщо: [In background] У фоні +[Maximum number of flashes] +Максимальна кількість блимань [Close the message window on send] Закривати вікно після надсилання [Minimize the message window on send] Згортати вікно після надсилання -[Use the contact's status icon as the window icon] -Значок статусу контакту в заголовку вікна [Save the window size and location individually for each contact] Зберігати розмір і розташування вікна для кожного контакту [Cascade new windows] Розміщувати нові вікна каскадом +[Support CTRL+Up/Down in message area to show previously sent messages] +Показувати попередні повідомлення у полі набору клавішами Ctrl+Вгору/Вниз +[Delete temporary contacts when closing message window] +Видаляти тимчасові контакти після закриття вікна повідомлень +[Enable avatar support in the message window] +Увімкнути аватари у вікні повідомлень +[Limit avatar height to] +Обмежити висоту аватарів [Show 'Send' button] Показувати кнопку "Надіслати" +[Show character count] +Показувати лічильник символів [Show toolbar buttons on top row] Кнопки у верхньому рядку [Send message on double 'Enter'] Надсилати подвійним натисканням Enter [Send message on 'Enter'] Надсилати натисканням Enter -[Show character count] -Показувати лічильник символів +[Send message on 'Ctrl+Enter'] +Надсилати натисканням Ctrl+Enter [Show warning when message has not been received after] Сповіщати, якщо повідомл. не вдалося надіслати протягом -[Support CTRL+Up/Down in message area to show previously sent messages] -Показувати попередні повідомлення у полі набору клавішами Ctrl+Вгору/Вниз -[Delete temporary contacts when closing message window] -Видаляти тимчасові контакти після закриття вікна повідомлень -[Enable avatar support in the message window] -Увімкнути аватари у вікні повідомлень -[Limit avatar height to] -Обмежити висоту аватарів -[Maximum number of flashes] -Максимальна кількість блимань [Send error] Помилка надсилання [An error has occurred. The protocol reported the following error:] @@ -543,7 +543,7 @@ Стандартні кольори [Use custom colors] Вказати кольори -[Popups for the Chat plugin] +[Popups for the StdMsg plugin] Спливаючі вікна чату [Timeout (s)] Затримка (с) @@ -1361,6 +1361,8 @@ UIN, E-mail тощо Вихідні [Idle] Очікування +[Message sessions] +Бесіди [Chat module] Чати [Group chat log background] @@ -1373,10 +1375,6 @@ UIN, E-mail тощо Лінії списку користувачів [Nick list background (selected)] Фон списку користувачів (вибране) -[Send message by pressing the 'Enter' key] -Надсилати натисканням Enter -[Send message by pressing the 'Enter' key twice] -Надсилати подвійним натисканням Enter [Flash window when someone speaks] Блимання вікна, якщо є нове повідомлення [Flash window when a word is highlighted] @@ -1597,8 +1595,6 @@ UIN, E-mail тощо Значки в треї [Popups to display] Спливаючі вікна -[Message sessions] -Бесіди [General] Загальне [Chat log] diff --git a/langpacks/ukrainian/Plugins/Scriver.txt b/langpacks/ukrainian/Plugins/Scriver.txt index b4acf20cea..426cb92274 100644 --- a/langpacks/ukrainian/Plugins/Scriver.txt +++ b/langpacks/ukrainian/Plugins/Scriver.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: Scriver.dll ; Plugin: Scriver -; Version: 3.0.1.7 +; Version: 3.0.1.8 ; Authors: Miranda NG team ;============================================================ [Scriver - send and receive instant messages.] @@ -67,8 +67,6 @@ Показувати панель інформації [Show avatars] Показувати аватари -[Use the contact's status icon as the window icon] -Значок статусу контакту в заголовку вікна [Show progress indicator] Індикатор прогресу в панелі статусу [Enable transparency] diff --git a/langpacks/ukrainian/Plugins/SmileyAdd.txt b/langpacks/ukrainian/Plugins/SmileyAdd.txt index 46e5dde890..11eb124eb1 100644 --- a/langpacks/ukrainian/Plugins/SmileyAdd.txt +++ b/langpacks/ukrainian/Plugins/SmileyAdd.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: SmileyAdd.dll ; Plugin: SmileyAdd -; Version: 0.3.0.1 +; Version: 0.3.0.2 ; Authors: Peacow, nightwish, bid, borkra ;============================================================ [Smiley support for Miranda NG.] @@ -91,10 +91,10 @@ HTTP-з'єднання SmileyAdd Згідно з протоколом [Smiley pack %s for category "%s" not found.\nSelect correct smiley pack in the Options -> Customize -> Smileys.] Набір смайлів %s для категорії "%s" не знайдено.\nВиберіть набір смайлів: Налаштування -> Тонке налаштування -> Смайли. -[Smiley #%u in file %s for smiley pack %s not found.] -Смайл #%u у файлі %s для набору смайлів %s не знайдено. [There were problems loading smiley pack (it should be corrected).\nSee network log for details.] Проблеми з завантаженням набору смайлів (необхідно виправити).\nПодробиці дивіться в мережевому журналі. +[Smiley #%u in file %s for smiley pack %s not found.] +Смайл #%u у файлі %s для набору смайлів %s не знайдено. [%s global smiley pack] %s глобальний набір смайлів [Standard] diff --git a/langpacks/ukrainian/Plugins/StatusManager.txt b/langpacks/ukrainian/Plugins/StatusManager.txt index 5280282eb7..c61195d897 100644 --- a/langpacks/ukrainian/Plugins/StatusManager.txt +++ b/langpacks/ukrainian/Plugins/StatusManager.txt @@ -2,7 +2,7 @@ ;============================================================ ; File: StatusManager.dll ; Plugin: Status manager -; Version: 1.1.0.4 +; Version: 1.2.0.1 ; Authors: P Boon ;============================================================ [A connection checker and auto away module. Also allows you to define the status Miranda should set on startup, configurable per protocol.] diff --git a/langpacks/ukrainian/Plugins/TabSRMM.txt b/langpacks/ukrainian/Plugins/TabSRMM.txt index b9b670520d..3533d303ed 100644 --- a/langpacks/ukrainian/Plugins/TabSRMM.txt +++ b/langpacks/ukrainian/Plugins/TabSRMM.txt @@ -829,7 +829,7 @@ BBCode ([b][i][u]) %s вмикає статус '%s' для %s [%s disables '%s' status for %s] %s вимикає статус "%s" для %s -[Message Sessions] +[Message sessions] Бесіди [Input area background] Фон поля вводу @@ -1047,6 +1047,8 @@ IRC-стиль (текстовий) індикаторів ролей у жур Підсвічування (10x10) [Information (10x10)] Інформація (10x10) +[Message Sessions] +Бесіди [Group chat windows] Вікна чату [Group chat log] @@ -1573,8 +1575,6 @@ UID: %s (Shift+клік -> копіювати в буфер)\nКлік - Інф Згорнути вікно на панель завдань [Close or hide window, depends on the close button setting above] Закрити або сховати вікно, залежить від налаштування кнопки закриття -[Message sessions] -Бесіди [General] Загальне [Tabs and layout] diff --git a/langpacks/ukrainian/Plugins/Tox.txt b/langpacks/ukrainian/Plugins/Tox.txt index a044374d54..623f1622e1 100644 --- a/langpacks/ukrainian/Plugins/Tox.txt +++ b/langpacks/ukrainian/Plugins/Tox.txt @@ -61,6 +61,8 @@ IPv6 адреса (необов'язково) Порт [Public key] Відкритий ключ +[Old password:] +Старий пароль: [New password:] Новий пароль: [Confirm password:] diff --git a/langpacks/ukrainian/Untranslated/Tox.txt b/langpacks/ukrainian/Untranslated/Tox.txt index 97326fda7b..b7e7a5537b 100644 --- a/langpacks/ukrainian/Untranslated/Tox.txt +++ b/langpacks/ukrainian/Untranslated/Tox.txt @@ -4,7 +4,6 @@ [Enable UDP hole-punching] [Enable local network peer discovery] [Remove password] -[Old password:] [Correction icon] [Create password] [Removing the password will lead to decryption of the profile.\r\nAre you sure to remove password?] diff --git a/plugins/Clist_modern/src/modern_clcpaint.cpp b/plugins/Clist_modern/src/modern_clcpaint.cpp index b9995d711c..5038cfe1f0 100644 --- a/plugins/Clist_modern/src/modern_clcpaint.cpp +++ b/plugins/Clist_modern/src/modern_clcpaint.cpp @@ -1236,15 +1236,15 @@ void CLCPaint::_PaintRowItemsEx(HDC hdcMem, ClcData *dat, ClcContact *Drawing, R int item = pcli->pfnIconFromStatusMode(Drawing->proto, Drawing->proto == nullptr ? ID_STATUS_OFFLINE : GetContactCachedStatus(Drawing->hContact), Drawing->hContact); if (item != -1) _DrawStatusIcon(Drawing, dat, item, hdcMem, - p_rect.left, p_rect.top, ICON_HEIGHT, ICON_HEIGHT, - CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); + p_rect.left, p_rect.top, ICON_HEIGHT, ICON_HEIGHT, + CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); } break; case SETTING_AVATAR_OVERLAY_TYPE_CONTACT: if (Drawing->iImage != -1) _DrawStatusIcon(Drawing, dat, Drawing->iImage, hdcMem, - p_rect.left, p_rect.top, ICON_HEIGHT, ICON_HEIGHT, - CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); + p_rect.left, p_rect.top, ICON_HEIGHT, ICON_HEIGHT, + CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); break; } } @@ -1366,8 +1366,7 @@ void CLCPaint::_DrawStatusIcon(ClcContact *Drawing, ClcData *dat, int iImage, HD else if (status > ID_STATUS_OUTTOLUNCH) status = ID_STATUS_ONLINE; ske_ImageList_DrawEx(g_himlCListClc, HIWORD(iImage), hdcMem, x, y, cx, cy, colorbg, colorfg, mode); if (dat->drawOverlayedStatus & 2) //draw overlay - ske_ImageList_DrawEx(hAvatarOverlays, g_pStatusOverlayIcons[status - ID_STATUS_OFFLINE].listID, hdcMem, - x, y, cx, cy, colorbg, colorfg, mode); + ske_ImageList_DrawEx(hAvatarOverlays, g_pStatusOverlayIcons[status - ID_STATUS_OFFLINE].listID, hdcMem, x, y, cx, cy, colorbg, colorfg, mode); } else ske_ImageList_DrawEx(g_himlCListClc, LOWORD(iImage), hdcMem, x, y, cx, cy, colorbg, colorfg, mode); } @@ -2549,15 +2548,15 @@ void CLCPaint::_DrawContactAvatar(HDC hdcMem, ClcData *dat, ClcContact *Drawing, int item = pcli->pfnIconFromStatusMode(Drawing->proto, Drawing->proto == nullptr ? ID_STATUS_OFFLINE : GetContactCachedStatus(Drawing->hContact), Drawing->hContact); if (item != -1) _DrawStatusIcon(Drawing, dat, item, hdcMem, - ptOverlay.x, ptOverlay.y, ICON_HEIGHT, ICON_HEIGHT, - CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); + ptOverlay.x, ptOverlay.y, ICON_HEIGHT, ICON_HEIGHT, + CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); } break; case SETTING_AVATAR_OVERLAY_TYPE_CONTACT: if (Drawing->iImage != -1) _DrawStatusIcon(Drawing, dat, Drawing->iImage, hdcMem, - ptOverlay.x, ptOverlay.y, ICON_HEIGHT, ICON_HEIGHT, - CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); + ptOverlay.x, ptOverlay.y, ICON_HEIGHT, ICON_HEIGHT, + CLR_NONE, CLR_NONE, (blendmode == 255) ? ILD_NORMAL : (blendmode == 128) ? ILD_BLEND50 : ILD_BLEND25); break; } } @@ -2581,9 +2580,7 @@ void CLCPaint::_DrawContactIcon(HDC hdcMem, ClcData *dat, ClcContact *Drawing, i COLORREF colourFg; int mode; _GetBlendMode(dat, Drawing, selected, hottrack, GIM_STATUSICON_AFFECT, &colourFg, &mode); - _DrawStatusIcon(Drawing, dat, iImage, hdcMem, - prcItem->left, prcItem->top, - 0, 0, CLR_NONE, colourFg, mode); + _DrawStatusIcon(Drawing, dat, iImage, hdcMem, prcItem->left, prcItem->top, 0, 0, CLR_NONE, colourFg, mode); } } @@ -2696,8 +2693,7 @@ void CLCPaint::_DrawContactExtraIcon(HDC hdcMem, ClcData *dat, ClcContact *Drawi COLORREF colourFg; _GetBlendMode(dat, Drawing, selected, hottrack, GIM_EXTRAICON_AFFECT, &colourFg, &mode); if (Drawing->iExtraImage[iImage] != EMPTY_EXTRA_ICON) - ske_ImageList_DrawEx(dat->himlExtraColumns, Drawing->iExtraImage[iImage], hdcMem, - rc->left, rc->top, 0, 0, CLR_NONE, colourFg, mode); + ske_ImageList_DrawEx(dat->himlExtraColumns, Drawing->iExtraImage[iImage], hdcMem, rc->left, rc->top, 0, 0, CLR_NONE, colourFg, mode); } } diff --git a/plugins/CloudFile/src/Services/google_api.h b/plugins/CloudFile/src/Services/google_api.h index 2020e7db23..90cfdb4d03 100644 --- a/plugins/CloudFile/src/Services/google_api.h +++ b/plugins/CloudFile/src/Services/google_api.h @@ -15,7 +15,7 @@ namespace GDriveAPI #define GOOGLE_APP_ID "528761318515-h1etlccvk5vjsbjuuj8i73cud8do4adi.apps.googleusercontent.com" #include "../../../miranda-private-keys/Google/client_secret.h" -#define GOOGLE_AUTH GOOGLE_OAUTH "/auth?response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.file&redirect_uri=https%3A%2F%2Foauth.miranda-ng.org%2Fverification&client_id=" GOOGLE_APP_ID +#define GOOGLE_AUTH GOOGLE_OAUTH "/auth?response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.file&access_type=offline&prompt=consent&redirect_uri=https%3A%2F%2Foauth.miranda-ng.org%2Fverification&client_id=" GOOGLE_APP_ID class GetAccessTokenRequest : public HttpRequest { @@ -108,6 +108,7 @@ namespace GDriveAPI JSONNode parents(JSON_ARRAY); parents << JSONNode("", parentId); + parents.set_name("parents"); JSONNode params(JSON_NODE); params << JSONNode("name", name); diff --git a/plugins/Dbx_mdbx/src/libmdbx/src/lck-windows.c b/plugins/Dbx_mdbx/src/libmdbx/src/lck-windows.c index c29164071d..9093ab3859 100644 --- a/plugins/Dbx_mdbx/src/libmdbx/src/lck-windows.c +++ b/plugins/Dbx_mdbx/src/libmdbx/src/lck-windows.c @@ -59,19 +59,12 @@ void mdbx_rthc_unlock(void) { LeaveCriticalSection(&rthc_critical_section); } #define LCK_WAITFOR 0 #define LCK_DONTWAIT LOCKFILE_FAIL_IMMEDIATELY -static __inline BOOL flock(mdbx_filehandle_t fd, DWORD flags, uint64_t offset, - size_t bytes) { - OVERLAPPED ov; - ov.hEvent = 0; - ov.Offset = (DWORD)offset; - ov.OffsetHigh = HIGH_DWORD(offset); - return LockFileEx(fd, flags, 0, (DWORD)bytes, HIGH_DWORD(bytes), &ov); +static __inline BOOL flock(mdbx_filehandle_t fd, DWORD flags, uint64_t offset, size_t bytes) { + return TRUE; } -static __inline BOOL funlock(mdbx_filehandle_t fd, uint64_t offset, - size_t bytes) { - return UnlockFile(fd, (DWORD)offset, HIGH_DWORD(offset), (DWORD)bytes, - HIGH_DWORD(bytes)); +static __inline BOOL funlock(mdbx_filehandle_t fd, uint64_t offset, size_t bytes) { + return TRUE; } /*----------------------------------------------------------------------------*/ @@ -445,49 +438,7 @@ int mdbx_lck_upgrade(MDBX_env *env) { } void mdbx_lck_destroy(MDBX_env *env) { - int rc; - - if (env->me_lfd != INVALID_HANDLE_VALUE) { - /* double `unlock` for robustly remove overlapped shared/exclusive locks */ - while (funlock(env->me_lfd, LCK_LOWER)) - ; - rc = GetLastError(); - assert(rc == ERROR_NOT_LOCKED); - (void)rc; - SetLastError(ERROR_SUCCESS); - - while (funlock(env->me_lfd, LCK_UPPER)) - ; - rc = GetLastError(); - assert(rc == ERROR_NOT_LOCKED); - (void)rc; - SetLastError(ERROR_SUCCESS); - } - - if (env->me_fd != INVALID_HANDLE_VALUE) { - /* explicitly unlock to avoid latency for other processes (windows kernel - * releases such locks via deferred queues) */ - while (funlock(env->me_fd, LCK_BODY)) - ; - rc = GetLastError(); - assert(rc == ERROR_NOT_LOCKED); - (void)rc; - SetLastError(ERROR_SUCCESS); - - while (funlock(env->me_fd, LCK_META)) - ; - rc = GetLastError(); - assert(rc == ERROR_NOT_LOCKED); - (void)rc; - SetLastError(ERROR_SUCCESS); - - while (funlock(env->me_fd, LCK_WHOLE)) - ; - rc = GetLastError(); - assert(rc == ERROR_NOT_LOCKED); - (void)rc; - SetLastError(ERROR_SUCCESS); - } + SetLastError(ERROR_SUCCESS); } /*----------------------------------------------------------------------------*/ diff --git a/plugins/Scriver/res/resource.rc b/plugins/Scriver/res/resource.rc index b5254672e9..df6214f896 100644 --- a/plugins/Scriver/res/resource.rc +++ b/plugins/Scriver/res/resource.rc @@ -80,29 +80,31 @@ BEGIN CONTROL "",IDC_LIMITCHATSTABSNUMSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,232,99,11,14 END -IDD_OPT_LAYOUT DIALOGEX 2, 0, 304, 230 +IDD_OPT_LAYOUT DIALOGEX 2, 0, 304, 175 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD EXSTYLE WS_EX_CONTROLPARENT FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - GROUPBOX "Layout",IDC_STATIC,0,0,304,138 + GROUPBOX "Layout",IDC_STATIC,0,0,304,172 CONTROL "Show title bar",IDC_SHOWTITLEBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,12,180,10 - CONTROL "Show status bar",IDC_SHOWSTATUSBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,23,180,10 - CONTROL "Show toolbar",IDC_SHOWTOOLBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,34,180,10 - CONTROL "Show info bar",IDC_SHOWINFOBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,45,180,10 - CONTROL "Show avatars",IDC_AVATARSUPPORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,56,180,10 - CONTROL "Show progress indicator",IDC_SHOWPROGRESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,67,180,10 - CONTROL "Enable transparency",IDC_TRANSPARENCY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,95,140,10 - LTEXT "active",IDC_TRANSPARENCYTEXT1,152,91,36,8 - CONTROL "Slider1",IDC_ATRANSPARENCYVALUE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,194,91,70,12 - LTEXT "100%",IDC_ATRANSPARENCYPERC,264,91,30,8 - LTEXT "inactive",IDC_TRANSPARENCYTEXT2,152,102,36,8 - CONTROL "Slider1",IDC_ITRANSPARENCYVALUE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,194,102,70,12 - LTEXT "100%",IDC_ITRANSPARENCYPERC,264,102,30,8 - LTEXT "Min input area size",IDC_STATIC,8,119,139,8 - EDITTEXT IDC_INPUTLINES,154,117,30,12,ES_RIGHT | ES_NUMBER - CONTROL "Spin1",IDC_INPUTLINESSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,180,116,10,14 - LTEXT "lines",IDC_STATIC,188,119,43,8 + CONTROL "Show status bar",IDC_SHOWSTATUSBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,67,180,10 + CONTROL "Show toolbar",IDC_SHOWTOOLBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,79,180,10 + CONTROL "Show info bar",IDC_SHOWINFOBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,90,180,10 + CONTROL "Show avatars",IDC_AVATARSUPPORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,101,180,10 + CONTROL "Show progress indicator",IDC_SHOWPROGRESS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,112,180,10 + CONTROL "Enable transparency",IDC_TRANSPARENCY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,126,140,10 + LTEXT "active",IDC_TRANSPARENCYTEXT1,152,134,36,8 + CONTROL "Slider1",IDC_ATRANSPARENCYVALUE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,194,122,70,12 + LTEXT "100%",IDC_ATRANSPARENCYPERC,264,123,30,8 + LTEXT "inactive",IDC_TRANSPARENCYTEXT2,152,123,36,8 + CONTROL "Slider1",IDC_ITRANSPARENCYVALUE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,194,133,70,12 + LTEXT "100%",IDC_ITRANSPARENCYPERC,264,134,30,8 + LTEXT "Min input area size",IDC_STATIC,8,153,139,8 + EDITTEXT IDC_INPUTLINES,154,151,30,12,ES_RIGHT | ES_NUMBER + CONTROL "Spin1",IDC_INPUTLINESSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,180,150,10,14 + LTEXT "lines",IDC_STATIC,188,153,43,8 + EDITTEXT IDC_TITLEFORMAT,17,25,279,12,ES_AUTOHSCROLL + LTEXT "You can use embedded variables here: %name% for contact's name, %status% for its status, %statusmsg% for its status message and %account% for its account's name",IDC_STATIC,17,38,279,25 END IDD_OPT_MSGLOG DIALOGEX 2, 0, 304, 232 @@ -557,6 +559,17 @@ BEGIN END END + +///////////////////////////////////////////////////////////////////////////// +// +// AFX_DIALOG_LAYOUT +// + +IDD_OPT_LAYOUT AFX_DIALOG_LAYOUT +BEGIN + 0 +END + #endif // Neutral resources ///////////////////////////////////////////////////////////////////////////// diff --git a/plugins/Scriver/src/globals.cpp b/plugins/Scriver/src/globals.cpp index 0886f048cc..d63e8f29ec 100644 --- a/plugins/Scriver/src/globals.cpp +++ b/plugins/Scriver/src/globals.cpp @@ -423,10 +423,13 @@ void ReloadGlobals() if (db_get_b(0, SRMM_MODULE, SRMSGSET_USEIEVIEW, SRMSGDEFSET_USEIEVIEW)) g_dat.flags |= SMF_USEIEVIEW; - g_dat.buttonVisibility = db_get_dw(0, SRMM_MODULE, SRMSGSET_BUTTONVISIBILITY, SRMSGDEFSET_BUTTONVISIBILITY); - g_dat.chatBbuttonVisibility = db_get_dw(0, SRMM_MODULE, SRMSGSET_CHATBUTTONVISIBILITY, SRMSGDEFSET_CHATBUTTONVISIBILITY); - g_dat.limitNamesLength = db_get_dw(0, SRMM_MODULE, SRMSGSET_LIMITNAMESLEN, SRMSGDEFSET_LIMITNAMESLEN); g_dat.limitTabsNum = db_get_dw(0, SRMM_MODULE, SRMSGSET_LIMITTABSNUM, SRMSGDEFSET_LIMITTABSNUM); g_dat.limitChatsTabsNum = db_get_dw(0, SRMM_MODULE, SRMSGSET_LIMITCHATSTABSNUM, SRMSGDEFSET_LIMITCHATSTABSNUM); + + ptrW wszTitleFormat(db_get_wsa(0, SRMM_MODULE, SRMSGSET_WINDOWTITLE)); + if (wszTitleFormat == nullptr) + g_dat.wszTitleFormat[0] = 0; + else + wcsncpy_s(g_dat.wszTitleFormat, wszTitleFormat, _TRUNCATE); } diff --git a/plugins/Scriver/src/globals.h b/plugins/Scriver/src/globals.h index 652a077f86..eb84086dc3 100644 --- a/plugins/Scriver/src/globals.h +++ b/plugins/Scriver/src/globals.h @@ -79,40 +79,40 @@ typedef struct ImageListUsageEntry_tag struct GlobalMessageData { - unsigned int flags; - unsigned int flags2; - DWORD openFlags; - MWindowList hParentWindowList; - ParentWindowData *lastParent; - ParentWindowData *lastChatParent; - DWORD limitNamesLength; - int activeAlpha; - int inactiveAlpha; - int tabIconListUsageSize; - ImageListUsageEntry *tabIconListUsage; - int smileyAddInstalled; - int popupInstalled; - int ieviewInstalled; - int buttonVisibility; - int chatBbuttonVisibility; - int limitTabsNum; - int limitChatsTabsNum; - int indentSize; + unsigned flags; + unsigned flags2; + DWORD openFlags; + DWORD limitNamesLength; + int activeAlpha; + int inactiveAlpha; + int tabIconListUsageSize; + int smileyAddInstalled; + int popupInstalled; + int ieviewInstalled; + int limitTabsNum; + int limitChatsTabsNum; + int indentSize; HIMAGELIST hTabIconList; HIMAGELIST hButtonIconList; HIMAGELIST hChatButtonIconList; HIMAGELIST hHelperIconList; HIMAGELIST hSearchEngineIconList; - HBRUSH hInfobarBrush; - int toolbarPosition; - HWND hFocusWnd; - DWORD logLineColour; - int logPixelSX; - int logPixelSY; - HICON hMsgIcon; - HICON hMsgIconBig; - HICON hIconChatBig; - int minInputAreaHeight; + HBRUSH hInfobarBrush; + int toolbarPosition; + HWND hFocusWnd; + DWORD logLineColour; + int logPixelSX; + int logPixelSY; + HICON hMsgIcon; + HICON hMsgIconBig; + HICON hIconChatBig; + int minInputAreaHeight; + wchar_t wszTitleFormat[200]; + + MWindowList hParentWindowList; + ParentWindowData *lastParent; + ParentWindowData *lastChatParent; + ImageListUsageEntry *tabIconListUsage; }; int IconsChanged(WPARAM wParam, LPARAM lParam); diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp index a9110a2e03..8bc0ff50cc 100644 --- a/plugins/Scriver/src/msgdialog.cpp +++ b/plugins/Scriver/src/msgdialog.cpp @@ -781,9 +781,8 @@ static const wchar_t *titleTokenNames[] = { L"%name%", L"%status%", L"%statusmsg void CSrmmWindow::UpdateTitle() { CMStringW wszTitle; - ptrW tmplt(db_get_wsa(0, SRMM_MODULE, SRMSGSET_WINDOWTITLE)); - if (tmplt != nullptr) - wszTitle = tmplt; + if (g_dat.wszTitleFormat[0]) + wszTitle = g_dat.wszTitleFormat; else wszTitle = L"%name% - "; @@ -803,7 +802,7 @@ void CSrmmWindow::UpdateTitle() } } - if (tmplt == nullptr) + if (g_dat.wszTitleFormat[0] == 0) wszTitle.Append(TranslateT("Message session")); TitleBarData tbd = {}; diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp index 0ddefba75d..e8876170e3 100644 --- a/plugins/Scriver/src/msgoptions.cpp +++ b/plugins/Scriver/src/msgoptions.cpp @@ -376,6 +376,7 @@ static INT_PTR CALLBACK DlgProcLayoutOptions(HWND hwndDlg, UINT msg, WPARAM wPar TranslateDialogDefault(hwndDlg); CheckDlgButton(hwndDlg, IDC_SHOWSTATUSBAR, db_get_b(0, SRMM_MODULE, SRMSGSET_SHOWSTATUSBAR, SRMSGDEFSET_SHOWSTATUSBAR) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SHOWTITLEBAR, db_get_b(0, SRMM_MODULE, SRMSGSET_SHOWTITLEBAR, SRMSGDEFSET_SHOWTITLEBAR) ? BST_CHECKED : BST_UNCHECKED); + SetWindowText(GetDlgItem(hwndDlg, IDC_TITLEFORMAT), g_dat.wszTitleFormat); CheckDlgButton(hwndDlg, IDC_SHOWTOOLBAR, db_get_b(0, SRMM_MODULE, SRMSGSET_SHOWBUTTONLINE, SRMSGDEFSET_SHOWBUTTONLINE) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_SHOWINFOBAR, db_get_b(0, SRMM_MODULE, SRMSGSET_SHOWINFOBAR, SRMSGDEFSET_SHOWINFOBAR) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_TRANSPARENCY, db_get_b(0, SRMM_MODULE, SRMSGSET_USETRANSPARENCY, SRMSGDEFSET_USETRANSPARENCY) ? BST_CHECKED : BST_UNCHECKED); @@ -390,6 +391,9 @@ static INT_PTR CALLBACK DlgProcLayoutOptions(HWND hwndDlg, UINT msg, WPARAM wPar SendDlgItemMessage(hwndDlg, IDC_INPUTLINESSPIN, UDM_SETRANGE, 0, MAKELONG(100, 1)); SendDlgItemMessage(hwndDlg, IDC_INPUTLINESSPIN, UDM_SETPOS, 0, db_get_w(0, SRMM_MODULE, SRMSGSET_AUTORESIZELINES, SRMSGDEFSET_AUTORESIZELINES)); + bChecked = IsDlgButtonChecked(hwndDlg, IDC_SHOWTITLEBAR); + EnableWindow(GetDlgItem(hwndDlg, IDC_TITLEFORMAT), bChecked); + bChecked = IsDlgButtonChecked(hwndDlg, IDC_TRANSPARENCY); EnableWindow(GetDlgItem(hwndDlg, IDC_ATRANSPARENCYVALUE), bChecked); EnableWindow(GetDlgItem(hwndDlg, IDC_ATRANSPARENCYPERC), bChecked); @@ -414,6 +418,10 @@ static INT_PTR CALLBACK DlgProcLayoutOptions(HWND hwndDlg, UINT msg, WPARAM wPar EnableWindow(GetDlgItem(hwndDlg, IDC_TRANSPARENCYTEXT2), bChecked); break; + case IDC_SHOWTITLEBAR: + bChecked = IsDlgButtonChecked(hwndDlg, IDC_SHOWTITLEBAR); + EnableWindow(GetDlgItem(hwndDlg, IDC_TITLEFORMAT), bChecked); + case IDC_INPUTLINES: if (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus()) return 0; @@ -439,6 +447,9 @@ static INT_PTR CALLBACK DlgProcLayoutOptions(HWND hwndDlg, UINT msg, WPARAM wPar break; case PSN_APPLY: + GetWindowText(GetDlgItem(hwndDlg, IDC_TITLEFORMAT), g_dat.wszTitleFormat, _countof(g_dat.wszTitleFormat)); + db_set_ws(0, SRMM_MODULE, SRMSGSET_WINDOWTITLE, g_dat.wszTitleFormat); + db_set_b(0, SRMM_MODULE, SRMSGSET_SHOWSTATUSBAR, (BYTE)IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUSBAR)); db_set_b(0, SRMM_MODULE, SRMSGSET_SHOWTITLEBAR, (BYTE)IsDlgButtonChecked(hwndDlg, IDC_SHOWTITLEBAR)); db_set_b(0, SRMM_MODULE, SRMSGSET_SHOWBUTTONLINE, (BYTE)IsDlgButtonChecked(hwndDlg, IDC_SHOWTOOLBAR)); diff --git a/plugins/Scriver/src/resource.h b/plugins/Scriver/src/resource.h index 7b429acd80..37bb17e72b 100644 --- a/plugins/Scriver/src/resource.h +++ b/plugins/Scriver/src/resource.h @@ -73,6 +73,7 @@ #define IDC_HYPERLINKHAND 600 #define IDC_DRAGCURSOR 601 #define IDC_TABS 1000 +#define IDC_TITLEFORMAT 1002 #define IDC_AUTOPOPUP 1003 #define IDC_AUTOMIN 1005 #define IDC_STAYMINIMIZED 1006 @@ -165,6 +166,18 @@ #define IDC_XSTATUSICON 1646 #define IDC_INPUTLINES 1647 #define IDC_INPUTLINESSPIN 1648 +#define IDC_SRMM_COLOR 3001 +#define IDC_SRMM_BKGCOLOR 3002 +#define IDC_SRMM_BOLD 3003 +#define IDC_SRMM_ITALICS 3004 +#define IDC_SRMM_UNDERLINE 3005 +#define IDC_SRMM_FILTER 3006 +#define IDC_SRMM_CHANMGR 3007 +#define IDC_SRMM_SHOWNICKLIST 3008 +#define IDC_SRMM_HISTORY 3009 +#define IDC_SRMM_NICKLIST 3010 +#define IDC_SRMM_LOG 3011 +#define IDC_SRMM_MESSAGE 3012 #define IDC_SPLITTERX 5006 #define IDC_SPLITTERY 5008 #define IDC_CHAT_CHECKBOXES 5021 @@ -234,9 +247,9 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_RESOURCE_VALUE 102 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1002 +#define _APS_NEXT_CONTROL_VALUE 1003 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/plugins/SimpleStatusMsg/src/main.cpp b/plugins/SimpleStatusMsg/src/main.cpp index 92575882db..b2216a2846 100644 --- a/plugins/SimpleStatusMsg/src/main.cpp +++ b/plugins/SimpleStatusMsg/src/main.cpp @@ -88,7 +88,7 @@ void log2file(const char *fmt, ...) } #endif -static wchar_t *GetWinampSong(void) +static wchar_t* GetWinampSong(void) { wchar_t *szTitle, *pstr, *res = nullptr; HWND hwndWinamp = FindWindow(L"STUDIO", nullptr); @@ -105,25 +105,21 @@ static wchar_t *GetWinampSong(void) if (szTitle == nullptr) return nullptr; - if (GetWindowText(hwndWinamp, szTitle, iTitleLen + 1) == 0) - { + if (GetWindowText(hwndWinamp, szTitle, iTitleLen + 1) == 0) { mir_free(szTitle); return nullptr; } pstr = wcsstr(szTitle, L" - Winamp"); - if (pstr == nullptr) - { + if (pstr == nullptr) { mir_free(szTitle); return nullptr; } - if (pstr < szTitle + (iTitleLen / 2)) - { + if (pstr < szTitle + (iTitleLen / 2)) { memmove(szTitle, pstr + 9, mir_wstrlen(pstr + 9) * sizeof(wchar_t)); pstr = wcsstr(pstr + 1, L" - Winamp"); - if (pstr == nullptr) - { + if (pstr == nullptr) { mir_free(szTitle); return nullptr; } @@ -131,8 +127,7 @@ static wchar_t *GetWinampSong(void) *pstr = 0; pstr = wcschr(szTitle, '.'); - if (pstr == nullptr) - { + if (pstr == nullptr) { mir_free(szTitle); return nullptr; } @@ -146,25 +141,22 @@ static wchar_t *GetWinampSong(void) wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) { - int i, count = 0, len; + if (in == nullptr) + return nullptr; + + int count = 0; wchar_t substituteStr[1024], *msg = mir_wstrdup(in); - for (i = 0; msg[i]; i++) - { - if (msg[i] == 0x0D && db_get_b(NULL, "SimpleStatusMsg", "RemoveCR", 0)) - { + for (int i = 0; msg[i]; i++) { + if (msg[i] == 0x0D && db_get_b(NULL, "SimpleStatusMsg", "RemoveCR", 0)) { wchar_t *p = msg + i; - if (i + 1 <= 1024 && msg[i + 1]) - { - if (msg[i + 1] == 0x0A) - { - if (i + 2 <= 1024 && msg[i + 2]) - { + if (i + 1 <= 1024 && msg[i + 1]) { + if (msg[i + 1] == 0x0A) { + if (i + 2 <= 1024 && msg[i + 2]) { count++; memmove(p, p + 1, (mir_wstrlen(p) - 1) * sizeof(wchar_t)); } - else - { + else { msg[i + 1] = 0; msg[i] = 0x0A; } @@ -175,18 +167,15 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) if (msg[i] != '%') continue; - if (!wcsnicmp(msg+i, L"%winampsong%", 12)) - { + if (!wcsnicmp(msg + i, L"%winampsong%", 12)) { wchar_t *ptszWinampTitle = GetWinampSong(); - if (ptszWinampTitle != nullptr) - { + if (ptszWinampTitle != nullptr) { mir_free(g_ptszWinampSong); g_ptszWinampSong = mir_wstrdup(ptszWinampTitle); } else if (g_ptszWinampSong && mir_wstrcmp(g_ptszWinampSong, L"SimpleStatusMsg") - && db_get_b(NULL, "SimpleStatusMsg", "AmpLeaveTitle", 1)) - { + && db_get_b(NULL, "SimpleStatusMsg", "AmpLeaveTitle", 1)) { ptszWinampTitle = mir_wstrdup(g_ptszWinampSong); } else @@ -200,21 +189,17 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) mir_free(ptszWinampTitle); } - else if (!wcsnicmp(msg + i, L"%time%", 6)) - { + else if (!wcsnicmp(msg + i, L"%time%", 6)) { MIRANDA_IDLE_INFO mii; Idle_GetInfo(mii); - if (mii.idleType) - { + if (mii.idleType) { int mm; SYSTEMTIME t; GetLocalTime(&t); - if ((mm = g_iIdleTime) == -1) - { + if ((mm = g_iIdleTime) == -1) { mm = t.wMinute + t.wHour * 60; - if (mii.idleType == 1) - { + if (mii.idleType == 1) { mm -= mii.idleTime; if (mm < 0) mm += 60 * 24; } @@ -232,8 +217,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) memmove(msg + i + mir_wstrlen(substituteStr), msg + i + 6, (mir_wstrlen(msg) - i - 5) * sizeof(wchar_t)); memcpy(msg + i, substituteStr, mir_wstrlen(substituteStr) * sizeof(wchar_t)); } - else if (!wcsnicmp(msg + i, L"%date%", 6)) - { + else if (!wcsnicmp(msg + i, L"%date%", 6)) { GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, nullptr, nullptr, substituteStr, _countof(substituteStr)); if (mir_wstrlen(substituteStr) > 6) @@ -242,8 +226,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) memmove(msg + i + mir_wstrlen(substituteStr), msg + i + 6, (mir_wstrlen(msg) - i - 5) * sizeof(wchar_t)); memcpy(msg + i, substituteStr, mir_wstrlen(substituteStr) * sizeof(wchar_t)); } - else if (!wcsnicmp(msg+i, L"%rand(", 6)) - { + else if (!wcsnicmp(msg + i, L"%rand(", 6)) { wchar_t *temp, *token; int ran_from, ran_to, k; @@ -253,8 +236,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) token = wcstok(nullptr, L",)%%"); ran_to = _wtoi(token); - if (ran_to > ran_from) - { + if (ran_to > ran_from) { mir_snwprintf(substituteStr, L"%d", GetRandom(ran_from, ran_to)); for (k = i + 1; msg[k]; k++) if (msg[k] == '%') { k++; break; } @@ -266,8 +248,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) } mir_free(temp); } - else if (!wcsnicmp(msg+i, L"%randmsg%", 9)) - { + else if (!wcsnicmp(msg + i, L"%randmsg%", 9)) { char buff[16]; int k, k2 = 0; BOOL rmark[25]; @@ -276,8 +257,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) int maxk = db_get_b(NULL, "SimpleStatusMsg", "MaxHist", 10); if (maxk == 0) rmark[0] = TRUE; - while (!rmark[0]) - { + while (!rmark[0]) { k = GetRandom(1, maxk); if (rmark[k]) continue; rmark[k] = TRUE; @@ -296,8 +276,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) if (!mir_wstrlen(substituteStr)) continue; - if (wcsstr(substituteStr, L"%randmsg%") != nullptr || wcsstr(substituteStr, L"%randdefmsg%") != nullptr) - { + if (wcsstr(substituteStr, L"%randmsg%") != nullptr || wcsstr(substituteStr, L"%randdefmsg%") != nullptr) { if (k == maxk) maxk--; } else rmark[0] = TRUE; @@ -311,8 +290,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) memmove(msg + i + mir_wstrlen(substituteStr), msg + i + 9, (mir_wstrlen(msg) - i - 8) * sizeof(wchar_t)); memcpy(msg + i, substituteStr, mir_wstrlen(substituteStr) * sizeof(wchar_t)); } - else if (!wcsnicmp(msg+i, L"%randdefmsg%", 12)) - { + else if (!wcsnicmp(msg + i, L"%randdefmsg%", 12)) { char buff[16]; int k, k2 = 0; BOOL rmark[25]; @@ -321,8 +299,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) int maxk = db_get_w(NULL, "SimpleStatusMsg", "DefMsgCount", 0); if (maxk == 0) rmark[0] = TRUE; - while (!rmark[0]) - { + while (!rmark[0]) { k = GetRandom(1, maxk); if (rmark[k]) continue; rmark[k] = TRUE; @@ -341,8 +318,7 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) if (!mir_wstrlen(substituteStr)) continue; - if (wcsstr(substituteStr, L"%randmsg%") != nullptr || wcsstr(substituteStr, L"%randdefmsg%") != nullptr) - { + if (wcsstr(substituteStr, L"%randmsg%") != nullptr || wcsstr(substituteStr, L"%randdefmsg%") != nullptr) { if (k == maxk) maxk--; } else rmark[0] = TRUE; @@ -351,22 +327,21 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) if (k2 == maxk || k2 > maxk) mir_wstrcpy(substituteStr, L""); if (mir_wstrlen(substituteStr) > 12) - msg = (wchar_t *)mir_realloc(msg, (mir_wstrlen(msg)+1+mir_wstrlen(substituteStr)-12) * sizeof(wchar_t)); + msg = (wchar_t *)mir_realloc(msg, (mir_wstrlen(msg) + 1 + mir_wstrlen(substituteStr) - 12) * sizeof(wchar_t)); memmove(msg + i + mir_wstrlen(substituteStr), msg + i + 12, (mir_wstrlen(msg) - i - 11) * sizeof(wchar_t)); memcpy(msg + i, substituteStr, mir_wstrlen(substituteStr) * sizeof(wchar_t)); } } - if (count) msg[mir_wstrlen(msg) - count] = 0; + if (count) + msg[mir_wstrlen(msg) - count] = 0; - if (szProto) - { + if (szProto) { char szSetting[80]; mir_snprintf(szSetting, "Proto%sMaxLen", szProto); - len = db_get_w(NULL, "SimpleStatusMsg", szSetting, 1024); - if (len < mir_wstrlen(msg)) - { + size_t len = db_get_w(NULL, "SimpleStatusMsg", szSetting, 1024); + if (len < mir_wstrlen(msg)) { msg = (wchar_t *)mir_realloc(msg, len * sizeof(wchar_t)); msg[len] = 0; } @@ -375,13 +350,11 @@ wchar_t* InsertBuiltinVarsIntoMsg(wchar_t *in, const char *szProto, int) return msg; } -wchar_t *InsertVarsIntoMsg(wchar_t *tszMsg, const char *szProto, int iStatus, MCONTACT hContact) +wchar_t* InsertVarsIntoMsg(wchar_t *tszMsg, const char *szProto, int iStatus, MCONTACT hContact) { - if (ServiceExists(MS_VARS_FORMATSTRING) && db_get_b(NULL, "SimpleStatusMsg", "EnableVariables", 1)) - { + if (ServiceExists(MS_VARS_FORMATSTRING) && db_get_b(NULL, "SimpleStatusMsg", "EnableVariables", 1)) { wchar_t *tszVarsMsg = variables_parse(tszMsg, nullptr, hContact); - if (tszVarsMsg != nullptr) - { + if (tszVarsMsg != nullptr) { wchar_t *format = InsertBuiltinVarsIntoMsg(tszVarsMsg, szProto, iStatus); mir_free(tszVarsMsg); return format; @@ -391,7 +364,7 @@ wchar_t *InsertVarsIntoMsg(wchar_t *tszMsg, const char *szProto, int iStatus, MC return InsertBuiltinVarsIntoMsg(tszMsg, szProto, iStatus); } -static wchar_t *GetAwayMessageFormat(int iStatus, const char *szProto) +static wchar_t* GetAwayMessageFormat(int iStatus, const char *szProto) { char szSetting[80]; wchar_t *format; @@ -399,12 +372,10 @@ static wchar_t *GetAwayMessageFormat(int iStatus, const char *szProto) mir_snprintf(szSetting, "%sFlags", szProto ? szProto : ""); int flags = db_get_b(NULL, "SimpleStatusMsg", StatusModeToDbSetting(iStatus, szSetting), STATUS_DEFAULT); - if (flags & STATUS_EMPTY_MSG) - { + if (flags & STATUS_EMPTY_MSG) { return mir_wstrdup(L""); } - else if (flags & STATUS_LAST_STATUS_MSG) - { + else if (flags & STATUS_LAST_STATUS_MSG) { if (szProto) mir_snprintf(szSetting, "%sMsg", szProto); else @@ -412,8 +383,7 @@ static wchar_t *GetAwayMessageFormat(int iStatus, const char *szProto) format = db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(iStatus, szSetting)); } - else if (flags & STATUS_LAST_MSG) - { + else if (flags & STATUS_LAST_MSG) { if (szProto) mir_snprintf(szSetting, "Last%sMsg", szProto); else @@ -426,8 +396,7 @@ static wchar_t *GetAwayMessageFormat(int iStatus, const char *szProto) format = db_get_wsa(NULL, "SimpleStatusMsg", szLastMsg); mir_free(szLastMsg); } - else if (flags & STATUS_THIS_MSG) - { + else if (flags & STATUS_THIS_MSG) { if (szProto) mir_snprintf(szSetting, "%sDefault", szProto); else @@ -455,10 +424,8 @@ void SaveMessageToDB(const char *szProto, wchar_t *tszMsg, BOOL bIsFormat) { char szSetting[80]; - if (!szProto) - { - for (int i = 0; i < accounts->count; ++i) - { + if (!szProto) { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -479,8 +446,7 @@ void SaveMessageToDB(const char *szProto, wchar_t *tszMsg, BOOL bIsFormat) #endif } } - else - { + else { if (!(CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) return; @@ -507,13 +473,11 @@ static wchar_t *GetAwayMessage(int iStatus, const char *szProto, BOOL bInsertVar wchar_t *format; char szSetting[80]; - if ((!iStatus || iStatus == ID_STATUS_CURRENT) && szProto) - { + if ((!iStatus || iStatus == ID_STATUS_CURRENT) && szProto) { mir_snprintf(szSetting, "FCur%sMsg", szProto); format = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); } - else - { + else { if (!iStatus || iStatus == ID_STATUS_CURRENT) iStatus = GetCurrentStatus(szProto); @@ -528,15 +492,13 @@ static wchar_t *GetAwayMessage(int iStatus, const char *szProto, BOOL bInsertVar // format = mir_wstrdup(L""); //} //else - if (flags & PROTO_THIS_MSG) - { + if (flags & PROTO_THIS_MSG) { mir_snprintf(szSetting, "Proto%sDefault", szProto); format = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); if (format == nullptr) format = mir_wstrdup(L""); } - else if (flags & PROTO_NOCHANGE && szProto) - { + else if (flags & PROTO_NOCHANGE && szProto) { mir_snprintf(szSetting, "FCur%sMsg", szProto); format = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); } @@ -549,8 +511,7 @@ static wchar_t *GetAwayMessage(int iStatus, const char *szProto, BOOL bInsertVar log2file("GetAwayMessage(): %s has %s status and \"%S\" status message.", szProto, StatusModeToDbSetting(iStatus, ""), format); #endif - if (bInsertVars && format != nullptr) - { + if (bInsertVars && format != nullptr) { wchar_t *tszVarsMsg = InsertVarsIntoMsg(format, szProto, iStatus, hContact); // TODO random values not the same! mir_free(format); return tszVarsMsg; @@ -565,17 +526,15 @@ int CheckProtoSettings(const char *szProto, int iInitialStatus) if (iSetting != -1) return iSetting ? iSetting : iInitialStatus; iSetting = db_get_w(NULL, szProto, "OfflineMessageOption", -1); //TLEN settings - if (iSetting != -1) - { - switch (iSetting) - { - case 1: return ID_STATUS_ONLINE; - case 2: return ID_STATUS_AWAY; - case 3: return ID_STATUS_NA; - case 4: return ID_STATUS_DND; - case 5: return ID_STATUS_FREECHAT; - case 6: return ID_STATUS_INVISIBLE; - default: return iInitialStatus; + if (iSetting != -1) { + switch (iSetting) { + case 1: return ID_STATUS_ONLINE; + case 2: return ID_STATUS_AWAY; + case 3: return ID_STATUS_NA; + case 4: return ID_STATUS_DND; + case 5: return ID_STATUS_FREECHAT; + case 6: return ID_STATUS_INVISIBLE; + default: return iInitialStatus; } } return iInitialStatus; @@ -589,11 +548,9 @@ static void Proto_SetAwayMsgT(const char *szProto, int iStatus, wchar_t *tszMsg) static void Proto_SetStatus(const char *szProto, int iInitialStatus, int iStatus, wchar_t *tszMsg) { - if (iStatus == ID_STATUS_OFFLINE && iStatus != iInitialStatus) - { + if (iStatus == ID_STATUS_OFFLINE && iStatus != iInitialStatus) { // ugly hack to set offline status message - if (!(CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_INDIVMODEMSG)) - { + if (!(CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_INDIVMODEMSG)) { int iMsgStatus = CheckProtoSettings(szProto, iInitialStatus); CallProtoService(szProto, PS_SETAWAYMSG, (WPARAM)iMsgStatus, (LPARAM)tszMsg); CallProtoService(szProto, PS_SETSTATUS, (WPARAM)iMsgStatus, 0); @@ -615,19 +572,16 @@ int HasProtoStaticStatusMsg(const char *szProto, int iInitialStatus, int iStatus mir_snprintf(szSetting, "Proto%sFlags", szProto); int flags = db_get_b(NULL, "SimpleStatusMsg", szSetting, PROTO_DEFAULT); - if (flags & PROTO_NO_MSG) - { + if (flags & PROTO_NO_MSG) { Proto_SetStatus(szProto, iInitialStatus, iStatus, nullptr); SaveMessageToDB(szProto, nullptr, TRUE); SaveMessageToDB(szProto, nullptr, FALSE); return 1; } - else if (flags & PROTO_THIS_MSG) - { + else if (flags & PROTO_THIS_MSG) { mir_snprintf(szSetting, "Proto%sDefault", szProto); wchar_t *szSimpleStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); - if (szSimpleStatusMsg != nullptr) - { + if (szSimpleStatusMsg != nullptr) { SaveMessageToDB(szProto, szSimpleStatusMsg, TRUE); wchar_t *msg = InsertVarsIntoMsg(szSimpleStatusMsg, szProto, iStatus, NULL); mir_free(szSimpleStatusMsg); @@ -635,8 +589,7 @@ int HasProtoStaticStatusMsg(const char *szProto, int iInitialStatus, int iStatus SaveMessageToDB(szProto, msg, FALSE); mir_free(msg); } - else - { + else { Proto_SetStatus(szProto, iInitialStatus, iStatus, L""); SaveMessageToDB(szProto, L"", TRUE); SaveMessageToDB(szProto, L"", FALSE); @@ -653,13 +606,12 @@ INT_PTR SetStatusModeFromExtern(WPARAM wParam, LPARAM lParam) int newStatus = (int)wParam; - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; - if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) &~ CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0))) + if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) &~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0))) continue; if (db_get_b(NULL, pa->szModuleName, "LockMainStatus", 0)) @@ -668,16 +620,14 @@ INT_PTR SetStatusModeFromExtern(WPARAM wParam, LPARAM lParam) if (wParam == ID_STATUS_CURRENT || wParam == 0) newStatus = GetCurrentStatus(pa->szModuleName); - if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - { + if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) { CallProtoService(pa->szModuleName, PS_SETSTATUS, newStatus, 0); continue; } int status_modes_msg = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); - if ((Proto_Status2Flag(newStatus) & status_modes_msg) || (newStatus == ID_STATUS_OFFLINE && (Proto_Status2Flag(ID_STATUS_INVISIBLE) & status_modes_msg))) - { + if ((Proto_Status2Flag(newStatus) & status_modes_msg) || (newStatus == ID_STATUS_OFFLINE && (Proto_Status2Flag(ID_STATUS_INVISIBLE) & status_modes_msg))) { wchar_t *msg = nullptr; if (HasProtoStaticStatusMsg(pa->szModuleName, GetCurrentStatus(pa->szModuleName), newStatus)) @@ -706,13 +656,11 @@ void SetStatusMessage(const char *szProto, int iInitialStatus, int iStatus, wcha #ifdef _DEBUG log2file("SetStatusMessage(\"%s\", %d, %d, \"%S\", %d)", szProto, iInitialStatus, iStatus, message, bOnStartup); #endif - if (szProto) - { + if (szProto) { if (bOnStartup && accounts->statusCount > 1) // TODO not only at startup? { int status; - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -723,8 +671,7 @@ void SetStatusMessage(const char *szProto, int iInitialStatus, int iStatus, wcha status = iStatus == ID_STATUS_CURRENT ? GetStartupStatus(pa->szModuleName) : iStatus; if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) || - !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - { + !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) { if (!(bOnStartup && status == ID_STATUS_OFFLINE) && GetCurrentStatus(pa->szModuleName) != status) CallProtoService(pa->szModuleName, PS_SETSTATUS, (WPARAM)status, 0); } @@ -743,14 +690,12 @@ void SetStatusMessage(const char *szProto, int iInitialStatus, int iStatus, wcha Proto_SetStatus(szProto, iInitialStatus, iStatus, msg); mir_free(msg); } - else - { + else { int iProfileStatus = iStatus > ID_STATUS_CURRENT ? iStatus : 0; BOOL bIsStatusCurrent = iStatus == ID_STATUS_CURRENT; BOOL bIsInitialStatusCurrent = iInitialStatus == ID_STATUS_CURRENT; - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -761,8 +706,7 @@ void SetStatusMessage(const char *szProto, int iInitialStatus, int iStatus, wcha if (!bOnStartup && db_get_b(NULL, pa->szModuleName, "LockMainStatus", 0)) continue; - if (iProfileStatus) - { + if (iProfileStatus) { int iProfileNumber = iStatus - 40083; char szSetting[128]; mir_snprintf(szSetting, "%d_%s", iProfileNumber, pa->szModuleName); @@ -783,10 +727,8 @@ void SetStatusMessage(const char *szProto, int iInitialStatus, int iStatus, wcha iInitialStatus = bOnStartup ? ID_STATUS_OFFLINE : GetCurrentStatus(pa->szModuleName); if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) & Proto_Status2Flag(iStatus)) || - !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - { - if (!(bOnStartup && iStatus == ID_STATUS_OFFLINE) && GetCurrentStatus(pa->szModuleName) != iStatus && iStatus != iInitialStatus) - { + !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) { + if (!(bOnStartup && iStatus == ID_STATUS_OFFLINE) && GetCurrentStatus(pa->szModuleName) != iStatus && iStatus != iInitialStatus) { CallProtoService(pa->szModuleName, PS_SETSTATUS, (WPARAM)iStatus, 0); #ifdef _DEBUG log2file("SetStatusMessage(): Set %s status for %s.", StatusModeToDbSetting(iStatus, ""), pa->szModuleName); @@ -808,8 +750,7 @@ void SetStatusMessage(const char *szProto, int iInitialStatus, int iStatus, wcha mir_free(msg); } - if (GetCurrentStatus(nullptr) != iStatus && !bIsStatusCurrent && !iProfileStatus) - { + if (GetCurrentStatus(nullptr) != iStatus && !bIsStatusCurrent && !iProfileStatus) { // not so nice... UnhookEvent(h_statusmodechange); Clist_SetStatusMode(iStatus); @@ -823,7 +764,8 @@ INT_PTR ShowStatusMessageDialogInternal(WPARAM, LPARAM lParam) struct MsgBoxInitData *box_data; BOOL idvstatusmsg = FALSE; - if (Miranda_IsTerminated()) return 0; + if (Miranda_IsTerminated()) + return 0; if (hTTBButton) { CallService(MS_TTB_SETBUTTONSTATE, (WPARAM)hTTBButton, (LPARAM)0); @@ -832,10 +774,8 @@ INT_PTR ShowStatusMessageDialogInternal(WPARAM, LPARAM lParam) box_data = (struct MsgBoxInitData *)mir_alloc(sizeof(struct MsgBoxInitData)); - if (accounts->statusMsgCount == 1) - { - for (int i = 0; i < accounts->count; ++i) - { + if (accounts->statusMsgCount == 1) { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -852,10 +792,8 @@ INT_PTR ShowStatusMessageDialogInternal(WPARAM, LPARAM lParam) break; } } - else - { - for (int i = 0; i < accounts->count; ++i) - { + else { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -869,8 +807,7 @@ INT_PTR ShowStatusMessageDialogInternal(WPARAM, LPARAM lParam) if (!pa->bIsVisible) continue; - if (hProtoStatusMenuItem[i] == (HANDLE)lParam) - { + if (hProtoStatusMenuItem[i] == (HANDLE)lParam) { box_data->m_szProto = pa->szModuleName; box_data->m_iStatusModes = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0)&~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0); box_data->m_iStatusMsgModes = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); @@ -879,8 +816,7 @@ INT_PTR ShowStatusMessageDialogInternal(WPARAM, LPARAM lParam) break; } } - if (!idvstatusmsg) - { + if (!idvstatusmsg) { box_data->m_szProto = nullptr; box_data->m_iStatusModes = accounts->statusFlags; box_data->m_iStatusMsgModes = accounts->statusMsgFlags; @@ -905,8 +841,7 @@ INT_PTR ShowStatusMessageDialog(WPARAM, LPARAM lParam) box_data = (struct MsgBoxInitData *)mir_alloc(sizeof(struct MsgBoxInitData)); - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -920,8 +855,7 @@ INT_PTR ShowStatusMessageDialog(WPARAM, LPARAM lParam) if (!pa->bIsVisible) continue; - if (!mir_strcmp(pa->szModuleName, (char *)lParam)) - { + if (!mir_strcmp(pa->szModuleName, (char *)lParam)) { box_data->m_szProto = pa->szModuleName; box_data->m_iStatusModes = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0)&~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0); box_data->m_iStatusMsgModes = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); @@ -930,8 +864,7 @@ INT_PTR ShowStatusMessageDialog(WPARAM, LPARAM lParam) break; } } - if (!idvstatusmsg) - { + if (!idvstatusmsg) { box_data->m_szProto = nullptr; box_data->m_iStatusModes = accounts->statusFlags; box_data->m_iStatusMsgModes = accounts->statusMsgFlags; @@ -1096,7 +1029,7 @@ int ChangeStatusMessage(WPARAM wParam, LPARAM lParam) return 1; } - MsgBoxInitData *box_data = (MsgBoxInitData*)mir_alloc( sizeof(MsgBoxInitData)); + MsgBoxInitData *box_data = (MsgBoxInitData*)mir_alloc(sizeof(MsgBoxInitData)); box_data->m_szProto = nullptr; box_data->m_iStatus = iStatus; box_data->m_iStatusModes = accounts->statusFlags; @@ -1117,7 +1050,7 @@ static INT_PTR ChangeStatusMsg(WPARAM wParam, LPARAM lParam) return 0; } -static int ProcessProtoAck(WPARAM , LPARAM lParam) +static int ProcessProtoAck(WPARAM, LPARAM lParam) { ACKDATA *ack = (ACKDATA *)lParam; if (!ack || !ack->szModule) @@ -1149,23 +1082,20 @@ int SetStartupStatus(int i) return -1; if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) || - !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - { + !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) { CallProtoService(pa->szModuleName, PS_SETSTATUS, (WPARAM)iStatus, 0); return -1; } mir_snprintf(szSetting, "Proto%sFlags", pa->szModuleName); int flags = db_get_b(NULL, "SimpleStatusMsg", szSetting, PROTO_DEFAULT); - if (flags & PROTO_NO_MSG || flags & PROTO_THIS_MSG) - { + if (flags & PROTO_NO_MSG || flags & PROTO_THIS_MSG) { if (HasProtoStaticStatusMsg(pa->szModuleName, ID_STATUS_OFFLINE, iStatus)) return 0; else fmsg = nullptr; } - else if (flags & PROTO_NOCHANGE) - { + else if (flags & PROTO_NOCHANGE) { mir_snprintf(szSetting, "FCur%sMsg", pa->szModuleName); fmsg = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); } @@ -1199,8 +1129,7 @@ VOID CALLBACK SetStartupStatusGlobal(HWND hwnd, UINT, UINT_PTR idEvent, DWORD) KillTimer(hwnd, idEvent); // is global status mode going to be set? - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -1213,8 +1142,7 @@ VOID CALLBACK SetStartupStatusGlobal(HWND hwnd, UINT, UINT_PTR idEvent, DWORD) if (status_mode != ID_STATUS_OFFLINE) temp_status_mode = status_mode; - if (status_mode != prev_status_mode && prev_status_mode != -1) - { + if (status_mode != prev_status_mode && prev_status_mode != -1) { globalstatus = false; break; } @@ -1223,8 +1151,7 @@ VOID CALLBACK SetStartupStatusGlobal(HWND hwnd, UINT, UINT_PTR idEvent, DWORD) } // popup status msg dialog at startup? - if (db_get_b(NULL, "SimpleStatusMsg", "StartupPopupDlg", 1) && accounts->statusMsgFlags) - { + if (db_get_b(NULL, "SimpleStatusMsg", "StartupPopupDlg", 1) && accounts->statusMsgFlags) { if (globalstatus) ChangeStatusMessage(status_mode, (LPARAM)"SimpleStatusMsgGlobalStartupStatus"); else { @@ -1235,8 +1162,7 @@ VOID CALLBACK SetStartupStatusGlobal(HWND hwnd, UINT, UINT_PTR idEvent, DWORD) return; } - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -1253,8 +1179,7 @@ VOID CALLBACK SetStartupStatusProc(HWND hwnd, UINT, UINT_PTR idEvent, DWORD) bool found = false; int i = 0; - for (; i < accounts->count; ++i) - { + for (; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -1262,8 +1187,7 @@ VOID CALLBACK SetStartupStatusProc(HWND hwnd, UINT, UINT_PTR idEvent, DWORD) if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0)&~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0))) continue; - if (g_uSetStatusTimer[i] == idEvent) - { + if (g_uSetStatusTimer[i] == idEvent) { KillTimer(nullptr, g_uSetStatusTimer[i]); found = true; break; @@ -1284,14 +1208,12 @@ VOID CALLBACK UpdateMsgTimerProc(HWND, UINT, UINT_PTR, DWORD) if (db_get_b(NULL, "SimpleStatusMsg", "NoUpdateOnIdle", 1) && mii.idleType) return; - if (!hwndSAMsgDialog) - { + if (!hwndSAMsgDialog) { char szBuffer[64]; wchar_t *tszMsg; int iCurrentStatus; - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -1317,8 +1239,7 @@ VOID CALLBACK UpdateMsgTimerProc(HWND, UINT, UINT_PTR, DWORD) mir_snprintf(szBuffer, "Cur%sMsg", pa->szModuleName); tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", szBuffer); - if ((tszMsg && tszStatusMsg && !mir_wstrcmp(tszMsg, tszStatusMsg)) || (!tszMsg && !tszStatusMsg)) - { + if ((tszMsg && tszStatusMsg && !mir_wstrcmp(tszMsg, tszStatusMsg)) || (!tszMsg && !tszStatusMsg)) { mir_free(tszStatusMsg); mir_free(tszMsg); continue; @@ -1326,8 +1247,7 @@ VOID CALLBACK UpdateMsgTimerProc(HWND, UINT, UINT_PTR, DWORD) else mir_free(tszStatusMsg); - if (tszMsg && mir_wstrlen(tszMsg)) - { + if (tszMsg && mir_wstrlen(tszMsg)) { #ifdef _DEBUG log2file("UpdateMsgTimerProc(): Set %s status and \"%S\" status message for %s.", StatusModeToDbSetting(iCurrentStatus, ""), tszMsg, pa->szModuleName); #endif @@ -1371,7 +1291,7 @@ static int ChangeStatusMsgPrebuild(WPARAM, LPARAM) auto &accs = Accounts(); hProtoStatusMenuItem = (HANDLE *)mir_realloc(hProtoStatusMenuItem, sizeof(HANDLE) * accs.getCount()); - for (auto &pa : accs) { + for (auto &pa : accs) { if (!pa->IsEnabled()) continue; @@ -1426,7 +1346,7 @@ static int ChangeStatusMsgPrebuild(WPARAM, LPARAM) mi.root = Menu_CreateRoot(MO_STATUS, szBuffer, mi.position); } else mi.root = Menu_CreateRoot(MO_STATUS, pa->tszAccountName, mi.position); - + hProtoStatusMenuItem[i++] = Menu_AddStatusMenuItem(&mi); } @@ -1443,17 +1363,15 @@ static int OnIdleChanged(WPARAM, LPARAM lParam) MIRANDA_IDLE_INFO mii; Idle_GetInfo(mii); - - if (mii.aaStatus == 0) - { + + if (mii.aaStatus == 0) { #ifdef _DEBUG log2file("OnIdleChanged(): AutoAway disabled"); #endif return 0; } - for (int i = 0; i < accounts->count; ++i) - { + for (int i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -1463,8 +1381,7 @@ static int OnIdleChanged(WPARAM, LPARAM lParam) int iStatusBits = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); int iStatus = mii.aaStatus; - if (!(iStatusBits & Proto_Status2Flag(iStatus))) - { + if (!(iStatusBits & Proto_Status2Flag(iStatus))) { if (iStatusBits & Proto_Status2Flag(ID_STATUS_AWAY)) iStatus = ID_STATUS_AWAY; else @@ -1477,8 +1394,7 @@ static int OnIdleChanged(WPARAM, LPARAM lParam) if ((lParam & IDF_ISIDLE && (db_get_b(NULL, "AutoAway", pa->szModuleName, 0) || iCurrentStatus == ID_STATUS_ONLINE || iCurrentStatus == ID_STATUS_FREECHAT)) || - (!(lParam & IDF_ISIDLE) && !mii.aaLock)) - { + (!(lParam & IDF_ISIDLE) && !mii.aaLock)) { if (!(lParam & IDF_ISIDLE)) iStatus = ID_STATUS_ONLINE; wchar_t *tszMsg = GetAwayMessage(iStatus, pa->szModuleName, FALSE, NULL); @@ -1503,8 +1419,7 @@ static int CSStatusChange(WPARAM wParam, LPARAM) if (ps == nullptr) return -1; CSProtoCount = CallService(MS_CS_GETPROTOCOUNT, 0, 0); - for (int i = 0; i < CSProtoCount; ++i) - { + for (int i = 0; i < CSProtoCount; ++i) { if (ps[i]->m_szName == nullptr || !*ps[i]->m_szName) continue; if (ps[i]->m_status == ID_STATUS_IDLE) status_mode = ps[i]->m_lastStatus; @@ -1519,8 +1434,7 @@ static int CSStatusChange(WPARAM wParam, LPARAM) #endif // TODO SaveMessageToDB also when NULL? - if (ps[i]->m_szMsg) - { + if (ps[i]->m_szMsg) { char buff[80]; bool found = false; wchar_t *szMsgW = mir_wstrdup(ps[i]->m_szMsg); @@ -1529,14 +1443,11 @@ static int CSStatusChange(WPARAM wParam, LPARAM) log2file("CSStatusChange(): Set \"%s\" status message for %s.", ps[i]->m_szMsg, ps[i]->m_szName); #endif int max_hist_msgs = db_get_b(NULL, "SimpleStatusMsg", "MaxHist", 10); - for (int j = 1; j <= max_hist_msgs; j++) - { + for (int j = 1; j <= max_hist_msgs; j++) { mir_snprintf(buff, "SMsg%d", j); wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", buff); - if (tszStatusMsg != nullptr) - { - if (!mir_wstrcmp(tszStatusMsg, szMsgW)) - { + if (tszStatusMsg != nullptr) { + if (!mir_wstrcmp(tszStatusMsg, szMsgW)) { found = true; mir_snprintf(szSetting, "Last%sMsg", ps[i]->m_szName); db_set_s(NULL, "SimpleStatusMsg", szSetting, buff); @@ -1548,8 +1459,7 @@ static int CSStatusChange(WPARAM wParam, LPARAM) } } - if (!found) - { + if (!found) { mir_snprintf(buff, "FCur%sMsg", ps[i]->m_szName); mir_snprintf(szSetting, "Last%sMsg", ps[i]->m_szName); db_set_s(NULL, "SimpleStatusMsg", szSetting, buff); @@ -1593,7 +1503,7 @@ static wchar_t *ParseDate(ARGUMENTSINFO *ai) if (ai->argc != 1) return nullptr; - wchar_t szStr[128] = {0}; + wchar_t szStr[128] = { 0 }; ai->flags |= AIF_DONTPARSE; GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, nullptr, nullptr, szStr, _countof(szStr)); @@ -1603,13 +1513,13 @@ static wchar_t *ParseDate(ARGUMENTSINFO *ai) int ICQMsgTypeToStatus(int iMsgType) { switch (iMsgType) { - case MTYPE_AUTOONLINE: return ID_STATUS_ONLINE; - case MTYPE_AUTOAWAY: return ID_STATUS_AWAY; - case MTYPE_AUTOBUSY: return ID_STATUS_OCCUPIED; - case MTYPE_AUTONA: return ID_STATUS_NA; - case MTYPE_AUTODND: return ID_STATUS_DND; - case MTYPE_AUTOFFC: return ID_STATUS_FREECHAT; - default: return ID_STATUS_OFFLINE; + case MTYPE_AUTOONLINE: return ID_STATUS_ONLINE; + case MTYPE_AUTOAWAY: return ID_STATUS_AWAY; + case MTYPE_AUTOBUSY: return ID_STATUS_OCCUPIED; + case MTYPE_AUTONA: return ID_STATUS_NA; + case MTYPE_AUTODND: return ID_STATUS_DND; + case MTYPE_AUTOFFC: return ID_STATUS_FREECHAT; + default: return ID_STATUS_OFFLINE; } } @@ -1670,7 +1580,7 @@ static int OnAccListChanged(WPARAM, LPARAM) if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) continue; - accounts->statusMsgFlags |= CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3,0); + accounts->statusMsgFlags |= CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0)) continue; @@ -1703,7 +1613,7 @@ static int OnModulesLoaded(WPARAM, LPARAM) ChangeStatusMsgPrebuild(0, 0); if (ServiceExists(MS_VARS_REGISTERTOKEN)) { - TOKENREGISTER tr = {0}; + TOKENREGISTER tr = { 0 }; tr.cbSize = sizeof(TOKENREGISTER); tr.memType = TR_MEM_MIRANDA; tr.flags = TRF_FREEMEM | TRF_FIELD | TRF_TCHAR | TRF_PARSEFUNC; @@ -1719,7 +1629,7 @@ static int OnModulesLoaded(WPARAM, LPARAM) CallService(MS_VARS_REGISTERTOKEN, 0, (LPARAM)&tr); } } - + g_ptszWinampSong = db_get_wsa(NULL, "SimpleStatusMsg", "AmpLastTitle"); if (g_ptszWinampSong == nullptr) g_ptszWinampSong = mir_wstrdup(L"SimpleStatusMsg"); diff --git a/plugins/SimpleStatusMsg/src/msgbox.cpp b/plugins/SimpleStatusMsg/src/msgbox.cpp index 77c4c7d66f..9d02ca54c3 100644 --- a/plugins/SimpleStatusMsg/src/msgbox.cpp +++ b/plugins/SimpleStatusMsg/src/msgbox.cpp @@ -105,10 +105,10 @@ HWND WINAPI CreateStatusComboBoxEx(HWND hwndDlg, struct MsgBoxData *data) return nullptr; HWND handle = CreateWindowEx(0, WC_COMBOBOXEX, nullptr, - WS_TABSTOP | CBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_CHILD | CBS_DROPDOWNLIST, - 0, 0, 0, 240, hwndDlg, nullptr, g_hInst, nullptr); + WS_TABSTOP | CBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_CHILD | CBS_DROPDOWNLIST, + 0, 0, 0, 240, hwndDlg, nullptr, g_hInst, nullptr); - COMBOBOXEXITEM cbei = {0}; + COMBOBOXEXITEM cbei = { 0 }; if (!(data->m_iDlgFlags & DLG_SHOW_STATUS_ICONS)) cbei.mask = CBEIF_LPARAM | CBEIF_TEXT; else @@ -183,7 +183,7 @@ HWND WINAPI CreateStatusComboBoxEx(HWND hwndDlg, struct MsgBoxData *data) cbei.iImage = statusicon_nr[k]; cbei.iSelectedImage = statusicon_nr[k]; } - cbei.lParam = (LPARAM)40083 + i; + cbei.lParam = (LPARAM)40083 + i; mir_free(status_desc); @@ -220,10 +220,10 @@ HWND WINAPI CreateRecentComboBoxEx(HWND hwndDlg, struct MsgBoxData *data) wchar_t text[128]; HWND handle = CreateWindowEx(0, WC_COMBOBOXEX, nullptr, - WS_TABSTOP | CBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_CHILD | CBS_DROPDOWNLIST, - 0, 0, 0, 300, hwndDlg, nullptr, g_hInst, nullptr); + WS_TABSTOP | CBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_CHILD | CBS_DROPDOWNLIST, + 0, 0, 0, 300, hwndDlg, nullptr, g_hInst, nullptr); - COMBOBOXEXITEM cbei = {0}; + COMBOBOXEXITEM cbei = { 0 }; if (!(data->m_iDlgFlags & DLG_SHOW_LIST_ICONS)) cbei.mask = CBEIF_LPARAM | CBEIF_TEXT | CBEIF_INDENT; else @@ -419,74 +419,74 @@ VOID APIENTRY HandlePopupMenu(HWND hwnd, POINT pt, HWND edit_control) int m_selection = TrackPopupMenu(hmenuTrackPopup, TPM_LEFTALIGN | TPM_RETURNCMD, pt.x, pt.y, 0, hwnd, nullptr); switch (m_selection) { - case IDM_COPY: - SendMessage(edit_control, WM_COPY, 0, 0); - break; + case IDM_COPY: + SendMessage(edit_control, WM_COPY, 0, 0); + break; - case IDM_CUT: - SendMessage(edit_control, WM_CUT, 0, 0); - break; + case IDM_CUT: + SendMessage(edit_control, WM_CUT, 0, 0); + break; - case IDM_PASTE: - SendMessage(edit_control, WM_PASTE, 0, 0); - break; + case IDM_PASTE: + SendMessage(edit_control, WM_PASTE, 0, 0); + break; - case IDM_SELECTALL: - SendMessage(edit_control, EM_SETSEL, 0, -1); - break; + case IDM_SELECTALL: + SendMessage(edit_control, EM_SETSEL, 0, -1); + break; - case IDM_DELETE: - SetWindowText(edit_control, L""); - SendMessage(GetParent(hwnd), WM_COMMAND, MAKEWPARAM(IDC_EDIT1, EN_CHANGE), (LPARAM)edit_control); - break; + case IDM_DELETE: + SetWindowText(edit_control, L""); + SendMessage(GetParent(hwnd), WM_COMMAND, MAKEWPARAM(IDC_EDIT1, EN_CHANGE), (LPARAM)edit_control); + break; - case ID__FORTUNEAWAYMSG: - Utils_OpenUrl("https://miranda-ng.org/"); - break; + case ID__FORTUNEAWAYMSG: + Utils_OpenUrl("https://miranda-ng.org/"); + break; - case ID__VARIABLES: - Utils_OpenUrl("https://miranda-ng.org/"); - break; + case ID__VARIABLES: + Utils_OpenUrl("https://miranda-ng.org/"); + break; - case ID__VARIABLES_MOREVARIABLES: - { - VARHELPINFO vhi = {0}; - vhi.cbSize = sizeof(vhi); - vhi.flags = VHF_FULLDLG | VHF_SETLASTSUBJECT; - vhi.hwndCtrl = edit_control; - vhi.szSubjectDesc = nullptr; - vhi.szExtraTextDesc = nullptr; - CallService(MS_VARS_SHOWHELPEX, (WPARAM)hwnd, (LPARAM)&vhi); - } - break; + case ID__VARIABLES_MOREVARIABLES: + { + VARHELPINFO vhi = { 0 }; + vhi.cbSize = sizeof(vhi); + vhi.flags = VHF_FULLDLG | VHF_SETLASTSUBJECT; + vhi.hwndCtrl = edit_control; + vhi.szSubjectDesc = nullptr; + vhi.szExtraTextDesc = nullptr; + CallService(MS_VARS_SHOWHELPEX, (WPARAM)hwnd, (LPARAM)&vhi); + } + break; - default: - if (!OpenClipboard(GetParent(hwnd))) - break; + default: + if (!OpenClipboard(GetParent(hwnd))) + break; - if (EmptyClipboard()) { - wchar_t item_string[128]; - GetMenuString(hmenu, m_selection, (LPTSTR)&item_string, 128, MF_BYCOMMAND); - - int len = (int)mir_wstrlen(item_string); - if (len) { - LPTSTR lptstrCopy; - HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(wchar_t)); - if (hglbCopy == nullptr) { - CloseClipboard(); - break; - } - lptstrCopy = (LPTSTR)GlobalLock(hglbCopy); - memcpy(lptstrCopy, item_string, len * sizeof(wchar_t)); - lptstrCopy[len] = (wchar_t)0; - GlobalUnlock(hglbCopy); + if (EmptyClipboard()) { + wchar_t item_string[128]; + GetMenuString(hmenu, m_selection, (LPTSTR)&item_string, 128, MF_BYCOMMAND); - SetClipboardData(CF_UNICODETEXT, hglbCopy); + int len = (int)mir_wstrlen(item_string); + if (len) { + LPTSTR lptstrCopy; + HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(wchar_t)); + if (hglbCopy == nullptr) { + CloseClipboard(); + break; } + lptstrCopy = (LPTSTR)GlobalLock(hglbCopy); + memcpy(lptstrCopy, item_string, len * sizeof(wchar_t)); + lptstrCopy[len] = (wchar_t)0; + GlobalUnlock(hglbCopy); + + SetClipboardData(CF_UNICODETEXT, hglbCopy); } - CloseClipboard(); - SendMessage(edit_control, WM_PASTE, 0, 0); - break; + } + CloseClipboard(); + SendMessage(edit_control, WM_PASTE, 0, 0); + break; } DestroyMenu(hmenu); } @@ -517,7 +517,7 @@ static LRESULT CALLBACK EditBoxSubProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L } case WM_CHAR: - if (wParam=='\n' && GetKeyState(VK_CONTROL) & 0x8000) { + if (wParam == '\n' && GetKeyState(VK_CONTROL) & 0x8000) { PostMessage(GetParent(hwndDlg), WM_COMMAND, IDC_OK, 0); return 0; } @@ -591,7 +591,7 @@ static LRESULT CALLBACK EditBoxSubProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L int AddToPredefined(HWND hwndDlg, struct MsgBoxData *data) { - COMBOBOXEXITEM newitem = {0}; + COMBOBOXEXITEM newitem = { 0 }; int len = 0, num_items; wchar_t msg[1024], text[1024]; @@ -634,7 +634,7 @@ int AddToPredefined(HWND hwndDlg, struct MsgBoxData *data) void ClearHistory(struct MsgBoxData *data, int cur_sel) { - COMBOBOXEXITEM histitem = {0}; + COMBOBOXEXITEM histitem = { 0 }; int i, num_items; char text[16], buff2[80]; @@ -809,8 +809,7 @@ void ChangeDlgStatus(HWND hwndDlg, struct MsgBoxData *msgbox_data, int iStatus) Window_SetProtoIcon_IcoLib(hwndDlg, msgbox_data->m_szProto, iStatus); if (!bDisabled && ((Proto_Status2Flag(iStatus) & msgbox_data->m_iStatusMsgModes) - || (iStatus == ID_STATUS_OFFLINE && (Proto_Status2Flag(ID_STATUS_INVISIBLE) & msgbox_data->m_iStatusMsgModes)))) - { + || (iStatus == ID_STATUS_OFFLINE && (Proto_Status2Flag(ID_STATUS_INVISIBLE) & msgbox_data->m_iStatusMsgModes)))) { int num_items = SendMessage(msgbox_data->recent_cbex, CB_GETCOUNT, 0, 0); int fcursel = CB_ERR, num_start = num_items - msgbox_data->num_def_msgs - 1; wchar_t msg[1024]; @@ -842,7 +841,7 @@ void ChangeDlgStatus(HWND hwndDlg, struct MsgBoxData *msgbox_data, int iStatus) EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); } else { - COMBOBOXEXITEM cbitem = {0}; + COMBOBOXEXITEM cbitem = { 0 }; cbitem.mask = CBEIF_LPARAM | CBEIF_TEXT; cbitem.iItem = msgbox_data->curr_sel_msg; cbitem.cchTextMax = _countof(msg); @@ -860,7 +859,7 @@ void ChangeDlgStatus(HWND hwndDlg, struct MsgBoxData *msgbox_data, int iStatus) } if (msgbox_data->m_bIsMsgHistory && !IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BCLEAR))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BCLEAR), TRUE); + EnableWindow(GetDlgItem(hwndDlg, IDC_BCLEAR), TRUE); } } } @@ -889,12 +888,12 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA struct MsgBoxData *msgbox_data = (struct MsgBoxData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA); switch (uMsg) { - case WM_INITDIALOG: + case WM_INITDIALOG: { wchar_t szTitle[256], szFormat[256], szProtoName[128]; struct MsgBoxInitData *init_data; struct MsgBoxData *copy_init_data; - INITCOMMONCONTROLSEX icex = {0}; + INITCOMMONCONTROLSEX icex = { 0 }; BOOL bCurrentStatus = FALSE, bDisabled = FALSE; InitCommonControls(); @@ -1008,7 +1007,7 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); } else { - COMBOBOXEXITEM cbitem = {0}; + COMBOBOXEXITEM cbitem = { 0 }; cbitem.mask = CBEIF_LPARAM | CBEIF_TEXT; cbitem.iItem = copy_init_data->curr_sel_msg; cbitem.cchTextMax = _countof(msg); @@ -1030,8 +1029,7 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA bDisabled = TRUE; if (!(((Proto_Status2Flag(copy_init_data->m_iStatus) & copy_init_data->m_iStatusMsgModes) - || (copy_init_data->m_iStatus == ID_STATUS_OFFLINE && (Proto_Status2Flag(ID_STATUS_INVISIBLE) & copy_init_data->m_iStatusMsgModes))) && !bDisabled)) - { + || (copy_init_data->m_iStatus == ID_STATUS_OFFLINE && (Proto_Status2Flag(ID_STATUS_INVISIBLE) & copy_init_data->m_iStatusMsgModes))) && !bDisabled)) { if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) EnableWindow(GetDlgItem(hwndDlg, IDC_EDIT1), FALSE); if (IsWindowEnabled(copy_init_data->recent_cbex)) @@ -1060,7 +1058,7 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA if (bCurrentStatus) copy_init_data->m_iStatus = ID_STATUS_CURRENT; - mir_subclassWindow( GetDlgItem(hwndDlg, IDC_EDIT1), EditBoxSubProc); + mir_subclassWindow(GetDlgItem(hwndDlg, IDC_EDIT1), EditBoxSubProc); if (!init_data->m_bOnEvent && IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) { SetFocus(GetDlgItem(hwndDlg, IDC_EDIT1)); SendDlgItemMessage(hwndDlg, IDC_EDIT1, EM_SETSEL, 0, -1); @@ -1080,7 +1078,7 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA x = (int)db_get_dw(NULL, "SimpleStatusMsg", "Winx", -1); y = (int)db_get_dw(NULL, "SimpleStatusMsg", "Winy", -1); - if (x !=- 1) { + if (x != -1) { OffsetRect(&wp.rcNormalPosition, x - wp.rcNormalPosition.left, y - wp.rcNormalPosition.top); wp.flags = 0; SetWindowPlacement(hwndDlg, &wp); @@ -1089,53 +1087,153 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA return FALSE; } - case WM_TIMER: - if (msgbox_data->m_iCountdown == -1) { - SendMessage(hwndDlg, WM_COMMAND, (WPARAM)IDC_OK, 0); - msgbox_data->m_iCountdown = -2; - DisplayCharsCount(msgbox_data, hwndDlg); - break; - } - else { - wchar_t str[64]; - mir_snwprintf(str, TranslateT("Closing in %d"), msgbox_data->m_iCountdown); - SetDlgItemText(hwndDlg, IDC_OK, str); - } - msgbox_data->m_iCountdown--; + case WM_TIMER: + if (msgbox_data->m_iCountdown == -1) { + SendMessage(hwndDlg, WM_COMMAND, (WPARAM)IDC_OK, 0); + msgbox_data->m_iCountdown = -2; + DisplayCharsCount(msgbox_data, hwndDlg); break; + } + else { + wchar_t str[64]; + mir_snwprintf(str, TranslateT("Closing in %d"), msgbox_data->m_iCountdown); + SetDlgItemText(hwndDlg, IDC_OK, str); + } + msgbox_data->m_iCountdown--; + break; - case WM_COMMAND: - switch (LOWORD(wParam)) { - case IDC_OK: - { - wchar_t tszMsg[1024]; - int iStatus, iMsgLen = 0, iProfileStatus = 0; - BOOL bCurrentStatus = FALSE; - - if (msgbox_data->m_iStatus == ID_STATUS_CURRENT) { - msgbox_data->m_iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(msgbox_data->m_szProto) : GetCurrentStatus(msgbox_data->m_szProto); - if (msgbox_data->m_szProto == nullptr) - bCurrentStatus = TRUE; + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDC_OK: + { + wchar_t tszMsg[1024]; + int iStatus, iMsgLen = 0, iProfileStatus = 0; + BOOL bCurrentStatus = FALSE; + + if (msgbox_data->m_iStatus == ID_STATUS_CURRENT) { + msgbox_data->m_iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(msgbox_data->m_szProto) : GetCurrentStatus(msgbox_data->m_szProto); + if (msgbox_data->m_szProto == nullptr) + bCurrentStatus = TRUE; + } + else if (msgbox_data->m_iStatus >= ID_STATUS_CURRENT) { + iProfileStatus = msgbox_data->m_iStatus; + msgbox_data->m_iStatus = GetCurrentStatus(nullptr); + } + + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) + iMsgLen = GetDlgItemText(hwndDlg, IDC_EDIT1, tszMsg, _countof(tszMsg)); + + if (iMsgLen == 0) { + char szSetting[80]; + if (msgbox_data->m_szProto) { + mir_snprintf(szSetting, "Last%sMsg", msgbox_data->m_szProto); + db_set_s(NULL, "SimpleStatusMsg", szSetting, ""); + + mir_snprintf(szSetting, "%sMsg", msgbox_data->m_szProto); + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, szSetting), L""); + } + else { + db_set_s(NULL, "SimpleStatusMsg", "LastMsg", ""); + for (int j = 0; j < accounts->count; j++) { + auto *pa = accounts->pa[j]; + if (!pa->IsEnabled()) + continue; + + if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0)) + continue; + + if (db_get_b(NULL, pa->szModuleName, "LockMainStatus", 0)) + continue; + + if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) + continue; + + mir_snprintf(szSetting, "Last%sMsg", pa->szModuleName); + db_set_s(NULL, "SimpleStatusMsg", szSetting, ""); + + mir_snprintf(szSetting, "%sMsg", pa->szModuleName); + iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(pa->szModuleName) : GetCurrentStatus(pa->szModuleName); + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(iStatus, szSetting), L""); + } + + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, "Msg"), L""); // for compatibility with some plugins } - else if (msgbox_data->m_iStatus >= ID_STATUS_CURRENT) { - iProfileStatus = msgbox_data->m_iStatus; - msgbox_data->m_iStatus = GetCurrentStatus(nullptr); + + if (bCurrentStatus) + SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, ID_STATUS_CURRENT, nullptr, msgbox_data->m_bOnStartup); + else if (iProfileStatus != 0) + SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, iProfileStatus, nullptr, FALSE); + else + SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, msgbox_data->m_iStatus, nullptr, msgbox_data->m_bOnStartup); + } + else { + char buff[64], buff2[80]; + bool found = false; + + for (int i = 1; i <= msgbox_data->max_hist_msgs; i++) { + mir_snprintf(buff, "SMsg%d", i); + wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", buff); + if (tszStatusMsg != nullptr) { + if (!mir_wstrcmp(tszStatusMsg, tszMsg)) { + found = true; + if (msgbox_data->m_szProto) { + mir_snprintf(buff2, "Last%sMsg", msgbox_data->m_szProto); + db_set_s(NULL, "SimpleStatusMsg", buff2, buff); + + mir_snprintf(buff2, "%sMsg", msgbox_data->m_szProto); + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, buff2), tszMsg); + } + else { + db_set_s(NULL, "SimpleStatusMsg", "LastMsg", buff); + for (int j = 0; j < accounts->count; j++) { + auto *pa = accounts->pa[j]; + if (!pa->IsEnabled()) + continue; + + if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0)) + continue; + + if (db_get_b(NULL, pa->szModuleName, "LockMainStatus", 0)) + continue; + + if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) + continue; + + mir_snprintf(buff2, "Last%sMsg", pa->szModuleName); + db_set_s(NULL, "SimpleStatusMsg", buff2, buff); + + mir_snprintf(buff2, "%sMsg", pa->szModuleName); + iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(pa->szModuleName) : GetCurrentStatus(pa->szModuleName); + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(iStatus, buff2), tszMsg); + } + } + mir_free(tszStatusMsg); + break; + } + mir_free(tszStatusMsg); + } } - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) - iMsgLen = GetDlgItemText(hwndDlg, IDC_EDIT1, tszMsg, _countof(tszMsg)); + if (!found) { + int last_modified_msg = db_get_w(NULL, "SimpleStatusMsg", "LMMsg", msgbox_data->max_hist_msgs); + + if (last_modified_msg == msgbox_data->max_hist_msgs) + last_modified_msg = 1; + else + last_modified_msg++; + + mir_snprintf(buff, "SMsg%d", last_modified_msg); + db_set_ws(NULL, "SimpleStatusMsg", buff, tszMsg); - if (iMsgLen == 0) { - char szSetting[80]; if (msgbox_data->m_szProto) { - mir_snprintf(szSetting, "Last%sMsg", msgbox_data->m_szProto); - db_set_s(NULL, "SimpleStatusMsg", szSetting, ""); + mir_snprintf(buff2, "Last%sMsg", msgbox_data->m_szProto); + db_set_s(NULL, "SimpleStatusMsg", buff2, buff); - mir_snprintf(szSetting, "%sMsg", msgbox_data->m_szProto); - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, szSetting), L""); + mir_snprintf(buff2, "%sMsg", msgbox_data->m_szProto); + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, buff2), tszMsg); } else { - db_set_s(NULL, "SimpleStatusMsg", "LastMsg", ""); + db_set_s(NULL, "SimpleStatusMsg", "LastMsg", buff); for (int j = 0; j < accounts->count; j++) { auto *pa = accounts->pa[j]; if (!pa->IsEnabled()) @@ -1150,433 +1248,324 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) continue; - mir_snprintf(szSetting, "Last%sMsg", pa->szModuleName); - db_set_s(NULL, "SimpleStatusMsg", szSetting, ""); + mir_snprintf(buff2, "Last%sMsg", pa->szModuleName); + db_set_s(NULL, "SimpleStatusMsg", buff2, buff); - mir_snprintf(szSetting, "%sMsg", pa->szModuleName); + mir_snprintf(buff2, "%sMsg", pa->szModuleName); iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(pa->szModuleName) : GetCurrentStatus(pa->szModuleName); - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(iStatus, szSetting), L""); + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(iStatus, buff2), tszMsg); } - - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, "Msg"), L""); // for compatibility with some plugins } - - if (bCurrentStatus) - SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, ID_STATUS_CURRENT, nullptr, msgbox_data->m_bOnStartup); - else if (iProfileStatus != 0) - SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, iProfileStatus, nullptr, FALSE); - else - SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, msgbox_data->m_iStatus, nullptr, msgbox_data->m_bOnStartup); + db_set_w(NULL, "SimpleStatusMsg", "LMMsg", (WORD)last_modified_msg); } - else { - char buff[64], buff2[80]; - bool found = false; - - for (int i = 1; i <= msgbox_data->max_hist_msgs; i++) { - mir_snprintf(buff, "SMsg%d", i); - wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", buff); - if (tszStatusMsg != nullptr) { - if (!mir_wstrcmp(tszStatusMsg, tszMsg)) { - found = true; - if (msgbox_data->m_szProto) { - mir_snprintf(buff2, "Last%sMsg", msgbox_data->m_szProto); - db_set_s(NULL, "SimpleStatusMsg", buff2, buff); - - mir_snprintf(buff2, "%sMsg", msgbox_data->m_szProto); - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, buff2), tszMsg); - } - else { - db_set_s(NULL, "SimpleStatusMsg", "LastMsg", buff); - for (int j = 0; j < accounts->count; j++) { - auto *pa = accounts->pa[j]; - if (!pa->IsEnabled()) - continue; - if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0)) - continue; + if (!msgbox_data->m_szProto) + db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, "Msg"), tszMsg); // for compatibility with some plugins - if (db_get_b(NULL, pa->szModuleName, "LockMainStatus", 0)) - continue; - - if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - continue; - - mir_snprintf(buff2, "Last%sMsg", pa->szModuleName); - db_set_s(NULL, "SimpleStatusMsg", buff2, buff); + if (bCurrentStatus) + SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, ID_STATUS_CURRENT, tszMsg, msgbox_data->m_bOnStartup); + else if (iProfileStatus != 0) + SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, iProfileStatus, tszMsg, FALSE); + else + SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, msgbox_data->m_iStatus, tszMsg, msgbox_data->m_bOnStartup); + } + } + __fallthrough; - mir_snprintf(buff2, "%sMsg", pa->szModuleName); - iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(pa->szModuleName) : GetCurrentStatus(pa->szModuleName); - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(iStatus, buff2), tszMsg); - } - } - mir_free(tszStatusMsg); - break; - } - mir_free(tszStatusMsg); - } - } + case IDCANCEL: + case IDC_CANCEL: + DestroyWindow(hwndDlg); + return TRUE; - if (!found) { - int last_modified_msg = db_get_w(NULL, "SimpleStatusMsg", "LMMsg", msgbox_data->max_hist_msgs); + case IDC_EDIT1: // Notification from the edit control + if (msgbox_data->m_iCountdown > -2) { + KillTimer(hwndDlg, 1); + msgbox_data->m_iCountdown = -2; + DisplayCharsCount(msgbox_data, hwndDlg); + } + + switch (HIWORD(wParam)) { + case EN_CHANGE: + DisplayCharsCount(msgbox_data, hwndDlg); + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, -1, 0); + if ((msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS) || (msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS_FLAT)) { + wchar_t msg[1024]; - if (last_modified_msg == msgbox_data->max_hist_msgs) - last_modified_msg = 1; - else - last_modified_msg++; + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BDEL))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); - mir_snprintf(buff, "SMsg%d", last_modified_msg); - db_set_ws(NULL, "SimpleStatusMsg", buff, tszMsg); + if (!GetDlgItemText(hwndDlg, IDC_EDIT1, msg, _countof(msg))) { + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), FALSE); + } + else if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), TRUE); + } + break; + } + break; + } - if (msgbox_data->m_szProto) { - mir_snprintf(buff2, "Last%sMsg", msgbox_data->m_szProto); - db_set_s(NULL, "SimpleStatusMsg", buff2, buff); + if ((HWND)lParam == msgbox_data->status_cbex) { + if (msgbox_data->m_iCountdown > -2) { + KillTimer(hwndDlg, 1); + msgbox_data->m_iCountdown = -2; + DisplayCharsCount(msgbox_data, hwndDlg); + } + + switch (HIWORD(wParam)) { + case CBN_SELENDOK: + case CBN_SELCHANGE: + COMBOBOXEXITEM cbitem = { 0 }; - mir_snprintf(buff2, "%sMsg", msgbox_data->m_szProto); - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, buff2), tszMsg); - } - else { - db_set_s(NULL, "SimpleStatusMsg", "LastMsg", buff); - for (int j = 0; j < accounts->count; j++) { - auto *pa = accounts->pa[j]; - if (!pa->IsEnabled()) - continue; + cbitem.mask = CBEIF_LPARAM; + cbitem.iItem = SendMessage(msgbox_data->status_cbex, CB_GETCURSEL, 0, 0); + SendMessage(msgbox_data->status_cbex, CBEM_GETITEM, 0, (LPARAM)&cbitem); - if (!CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0)) - continue; + msgbox_data->m_iStatus = cbitem.lParam; + ChangeDlgStatus(hwndDlg, msgbox_data, (int)cbitem.lParam); - if (db_get_b(NULL, pa->szModuleName, "LockMainStatus", 0)) - continue; + if (HIWORD(wParam) == CBN_SELENDOK && IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) + SetFocus(GetDlgItem(hwndDlg, IDC_EDIT1)); + break; + } + } - if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - continue; + if ((HWND)lParam == msgbox_data->recent_cbex) { + if (msgbox_data->m_iCountdown > -2) { + KillTimer(hwndDlg, 1); + msgbox_data->m_iCountdown = -2; + DisplayCharsCount(msgbox_data, hwndDlg); + } + switch (HIWORD(wParam)) { + case CBN_SELENDOK: + wchar_t text[1024]; + int cur_sel = SendMessage(msgbox_data->recent_cbex, CB_GETCURSEL, 0, 0); + COMBOBOXEXITEM cbitem = { 0 }; - mir_snprintf(buff2, "Last%sMsg", pa->szModuleName); - db_set_s(NULL, "SimpleStatusMsg", buff2, buff); + cbitem.mask = CBEIF_LPARAM | CBEIF_TEXT; + cbitem.iItem = cur_sel; + cbitem.cchTextMax = _countof(text); + cbitem.pszText = text; - mir_snprintf(buff2, "%sMsg", pa->szModuleName); - iStatus = msgbox_data->m_bOnStartup ? GetStartupStatus(pa->szModuleName) : GetCurrentStatus(pa->szModuleName); - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(iStatus, buff2), tszMsg); - } - } - db_set_w(NULL, "SimpleStatusMsg", "LMMsg", (WORD)last_modified_msg); + SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&cbitem); + if (LOWORD(cbitem.lParam) == HISTORY_MSG || LOWORD(cbitem.lParam) == PREDEFINED_MSG || LOWORD(cbitem.lParam) == DEFAULT_MSG) { + SetDlgItemText(hwndDlg, IDC_EDIT1, text); + DisplayCharsCount(msgbox_data, hwndDlg); + if ((msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS) || (msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS_FLAT)) { + if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BDEL))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), TRUE); + if (LOWORD(cbitem.lParam) == PREDEFINED_MSG) { + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), FALSE); } + else if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), TRUE); + } + } + else if (LOWORD(cbitem.lParam) == CLEAR_HISTORY) { + if (MessageBox(nullptr, TranslateT("Are you sure you want to clear status message history?"), TranslateT("Confirm clearing history"), MB_ICONQUESTION | MB_YESNO) == IDYES) + ClearHistory(msgbox_data, cur_sel); + else if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) { + wchar_t msg[1024]; + int fcursel = CB_ERR, num_start; + num_start = SendMessage(msgbox_data->recent_cbex, CB_GETCOUNT, 0, 0); + num_start -= msgbox_data->num_def_msgs + 1; + GetDlgItemText(hwndDlg, IDC_EDIT1, msg, _countof(msg)); + fcursel = SendMessage(msgbox_data->recent_cbex, CB_FINDSTRINGEXACT, num_start, (LPARAM)msg); + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, fcursel, 0); + } + } + else if (LOWORD(cbitem.lParam) == DELETE_SELECTED) { + COMBOBOXEXITEM histitem = { 0 }; + BOOL scursel = FALSE; + + histitem.mask = CBEIF_LPARAM; + histitem.iItem = msgbox_data->curr_sel_msg; + SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); + + if (LOWORD(histitem.lParam) == HISTORY_MSG) { + char szSetting[16]; + mir_snprintf(szSetting, "SMsg%d", (int)HIWORD(histitem.lParam)); + db_set_ws(NULL, "SimpleStatusMsg", szSetting, L""); + SendMessage(msgbox_data->recent_cbex, CBEM_DELETEITEM, (WPARAM)msgbox_data->curr_sel_msg, 0); + } + if (LOWORD(histitem.lParam) == PREDEFINED_MSG) { + msgbox_data->m_bPredefChanged = TRUE; + SendMessage(msgbox_data->recent_cbex, CBEM_DELETEITEM, (WPARAM)msgbox_data->curr_sel_msg, 0); + } - if (!msgbox_data->m_szProto) - db_set_ws(NULL, "SRAway", StatusModeToDbSetting(msgbox_data->m_iStatus, "Msg"), tszMsg); // for compatibility with some plugins + cur_sel = msgbox_data->curr_sel_msg; + while (!scursel) { + if (cur_sel - 1 >= 0) + cur_sel--; + else { + scursel = TRUE; + break; + } + histitem.mask = CBEIF_LPARAM; + histitem.iItem = cur_sel; + SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); - if (bCurrentStatus) - SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, ID_STATUS_CURRENT, tszMsg, msgbox_data->m_bOnStartup); - else if (iProfileStatus != 0) - SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, iProfileStatus, tszMsg, FALSE); - else - SetStatusMessage(msgbox_data->m_szProto, msgbox_data->m_iInitialStatus, msgbox_data->m_iStatus, tszMsg, msgbox_data->m_bOnStartup); + if ((LOWORD(histitem.lParam) != CLEAR_HISTORY) && (LOWORD(histitem.lParam) != DELETE_SELECTED) && (LOWORD(histitem.lParam) != ADD_MSG)) + scursel = TRUE; } - } // fallthrough + msgbox_data->curr_sel_msg = cur_sel; + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)cur_sel, 0); - case IDCANCEL: - case IDC_CANCEL: - DestroyWindow(hwndDlg); - return TRUE; + histitem.mask = CBEIF_LPARAM | CBEIF_TEXT; + histitem.iItem = cur_sel; + histitem.cchTextMax = _countof(text); + histitem.pszText = text; - case IDC_EDIT1: // Notification from the edit control - if (msgbox_data->m_iCountdown > -2) { - KillTimer(hwndDlg, 1); - msgbox_data->m_iCountdown = -2; + SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); + if (LOWORD(histitem.lParam) == HISTORY_MSG || LOWORD(histitem.lParam) == PREDEFINED_MSG || LOWORD(histitem.lParam) == DEFAULT_MSG) { + SetDlgItemText(hwndDlg, IDC_EDIT1, text); DisplayCharsCount(msgbox_data, hwndDlg); } - switch (HIWORD(wParam)) { - case EN_CHANGE: - DisplayCharsCount(msgbox_data, hwndDlg); - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, -1, 0); - if ((msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS) || (msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS_FLAT)) { - wchar_t msg[1024]; - - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BDEL))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); - - if (!GetDlgItemText(hwndDlg, IDC_EDIT1, msg, _countof(msg))) { - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), FALSE); - } - else if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), TRUE); - } - break; - } - break; - } - - if ((HWND)lParam == msgbox_data->status_cbex) { - if (msgbox_data->m_iCountdown > -2) { - KillTimer(hwndDlg, 1); - msgbox_data->m_iCountdown = -2; - DisplayCharsCount(msgbox_data, hwndDlg); } - switch (HIWORD(wParam)) { - case CBN_SELENDOK: - case CBN_SELCHANGE: - { - COMBOBOXEXITEM cbitem = {0}; - - cbitem.mask = CBEIF_LPARAM; - cbitem.iItem = SendMessage(msgbox_data->status_cbex, CB_GETCURSEL, 0, 0); - SendMessage(msgbox_data->status_cbex, CBEM_GETITEM, 0, (LPARAM)&cbitem); - - msgbox_data->m_iStatus = cbitem.lParam; - ChangeDlgStatus(hwndDlg, msgbox_data, (int)cbitem.lParam); - - if (HIWORD(wParam) == CBN_SELENDOK && IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) - SetFocus(GetDlgItem(hwndDlg, IDC_EDIT1)); - break; + else if (LOWORD(cbitem.lParam) == ADD_MSG) { + int sel = AddToPredefined(hwndDlg, msgbox_data); + if (sel != -1) { + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)sel, 0); + msgbox_data->curr_sel_msg = sel; } + else + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)msgbox_data->curr_sel_msg, 0); + break; } - } + msgbox_data->curr_sel_msg = cur_sel; - if ((HWND)lParam == msgbox_data->recent_cbex) { - if (msgbox_data->m_iCountdown > -2) { - KillTimer(hwndDlg, 1); - msgbox_data->m_iCountdown = -2; - DisplayCharsCount(msgbox_data, hwndDlg); + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) { + SetFocus(GetDlgItem(hwndDlg, IDC_EDIT1)); + SendDlgItemMessage(hwndDlg, IDC_EDIT1, EM_SETSEL, 0, -1); } - switch (HIWORD(wParam)) { - case CBN_SELENDOK: - { - wchar_t text[1024]; - int cur_sel = SendMessage(msgbox_data->recent_cbex, CB_GETCURSEL, 0, 0); - COMBOBOXEXITEM cbitem = {0}; - - cbitem.mask = CBEIF_LPARAM | CBEIF_TEXT; - cbitem.iItem = cur_sel; - cbitem.cchTextMax = _countof(text); - cbitem.pszText = text; - - SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&cbitem); - if (LOWORD(cbitem.lParam) == HISTORY_MSG || LOWORD(cbitem.lParam) == PREDEFINED_MSG || LOWORD(cbitem.lParam) == DEFAULT_MSG) - { - SetDlgItemText(hwndDlg, IDC_EDIT1, text); - DisplayCharsCount(msgbox_data, hwndDlg); - if ((msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS) || (msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS_FLAT)) { - if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BDEL))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), TRUE); - if (LOWORD(cbitem.lParam) == PREDEFINED_MSG) { - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), FALSE); - } - else if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), TRUE); - } - } - else if (LOWORD(cbitem.lParam) == CLEAR_HISTORY) { - if (MessageBox(nullptr, TranslateT("Are you sure you want to clear status message history?"), TranslateT("Confirm clearing history"), MB_ICONQUESTION | MB_YESNO) == IDYES) - ClearHistory(msgbox_data, cur_sel); - else if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) { - wchar_t msg[1024]; - int fcursel = CB_ERR, num_start; - num_start = SendMessage(msgbox_data->recent_cbex, CB_GETCOUNT, 0, 0); - num_start -= msgbox_data->num_def_msgs + 1; - GetDlgItemText(hwndDlg, IDC_EDIT1, msg, _countof(msg)); - fcursel = SendMessage(msgbox_data->recent_cbex, CB_FINDSTRINGEXACT, num_start, (LPARAM)msg); - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, fcursel, 0); - } - } - else if (LOWORD(cbitem.lParam) == DELETE_SELECTED) { - COMBOBOXEXITEM histitem = {0}; - BOOL scursel = FALSE; - - histitem.mask = CBEIF_LPARAM; - histitem.iItem = msgbox_data->curr_sel_msg; - SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); - - if (LOWORD(histitem.lParam) == HISTORY_MSG) { - char szSetting[16]; - mir_snprintf(szSetting, "SMsg%d", (int)HIWORD(histitem.lParam)); - db_set_ws(NULL, "SimpleStatusMsg", szSetting, L""); - SendMessage(msgbox_data->recent_cbex, CBEM_DELETEITEM, (WPARAM)msgbox_data->curr_sel_msg, 0); - } - if (LOWORD(histitem.lParam) == PREDEFINED_MSG) { - msgbox_data->m_bPredefChanged = TRUE; - SendMessage(msgbox_data->recent_cbex, CBEM_DELETEITEM, (WPARAM)msgbox_data->curr_sel_msg, 0); - } - - cur_sel = msgbox_data->curr_sel_msg; - while (!scursel) { - if (cur_sel - 1 >= 0) - cur_sel--; - else { - scursel = TRUE; - break; - } - histitem.mask = CBEIF_LPARAM; - histitem.iItem = cur_sel; - SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); + break; + } + } - if ((LOWORD(histitem.lParam) != CLEAR_HISTORY) && (LOWORD(histitem.lParam) != DELETE_SELECTED) && (LOWORD(histitem.lParam) != ADD_MSG)) - scursel = TRUE; - } - msgbox_data->curr_sel_msg = cur_sel; - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)cur_sel, 0); - - histitem.mask = CBEIF_LPARAM | CBEIF_TEXT; - histitem.iItem = cur_sel; - histitem.cchTextMax = _countof(text); - histitem.pszText = text; - - SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); - if (LOWORD(histitem.lParam) == HISTORY_MSG || LOWORD(histitem.lParam) == PREDEFINED_MSG || LOWORD(histitem.lParam) == DEFAULT_MSG) - { - SetDlgItemText(hwndDlg, IDC_EDIT1, text); - DisplayCharsCount(msgbox_data, hwndDlg); - } - } - else if (LOWORD(cbitem.lParam) == ADD_MSG) { - int sel = AddToPredefined(hwndDlg, msgbox_data); - if (sel != -1) { - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)sel, 0); - msgbox_data->curr_sel_msg = sel; - } - else - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)msgbox_data->curr_sel_msg, 0); - break; - } - msgbox_data->curr_sel_msg = cur_sel; + if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_BADD)) { + switch (HIWORD(wParam)) { + case BN_CLICKED: + int sel = AddToPredefined(hwndDlg, msgbox_data); + if (sel != -1) { + if (!IsWindowEnabled(msgbox_data->recent_cbex)) + EnableWindow(msgbox_data->recent_cbex, TRUE); + if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BDEL))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), TRUE); + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), FALSE); - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_EDIT1))) { - SetFocus(GetDlgItem(hwndDlg, IDC_EDIT1)); - SendDlgItemMessage(hwndDlg, IDC_EDIT1, EM_SETSEL, 0, -1); - } - break; - } + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)sel, 0); + msgbox_data->curr_sel_msg = sel; } + break; } + } - if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_BADD)) { - switch (HIWORD(wParam)) { - case BN_CLICKED: - { - int sel = AddToPredefined(hwndDlg, msgbox_data); - if (sel != -1) { - if (!IsWindowEnabled(msgbox_data->recent_cbex)) - EnableWindow(msgbox_data->recent_cbex, TRUE); - if (!IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BDEL))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), TRUE); - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BADD))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), FALSE); + if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_BCLEAR)) { + switch (HIWORD(wParam)) { + case BN_CLICKED: + if (MessageBox(nullptr, TranslateT("Are you sure you want to clear status message history?"), TranslateT("Confirm clearing history"), MB_ICONQUESTION | MB_YESNO) == IDYES) { + ClearHistory(msgbox_data, 0); - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)sel, 0); - msgbox_data->curr_sel_msg = sel; + int num_items = SendMessage(msgbox_data->recent_cbex, CB_GETCOUNT, 0, 0); + if (!num_items) { + if (IsWindowEnabled(msgbox_data->recent_cbex)) { + EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); + EnableWindow(msgbox_data->recent_cbex, FALSE); } - break; } + EnableWindow(GetDlgItem(hwndDlg, IDC_BCLEAR), FALSE); } + break; } + } - if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_BCLEAR)) { - switch (HIWORD(wParam)) { - case BN_CLICKED: - if (MessageBox(nullptr, TranslateT("Are you sure you want to clear status message history?"), TranslateT("Confirm clearing history"), MB_ICONQUESTION | MB_YESNO) == IDYES) - { - ClearHistory(msgbox_data, 0); - - int num_items = SendMessage(msgbox_data->recent_cbex, CB_GETCOUNT, 0, 0); - if (!num_items) { - if (IsWindowEnabled(msgbox_data->recent_cbex)) { - EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); - EnableWindow(msgbox_data->recent_cbex, FALSE); - } - } - EnableWindow(GetDlgItem(hwndDlg, IDC_BCLEAR), FALSE); - } - break; - } - } + if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_BDEL)) { + switch (HIWORD(wParam)) { + case BN_CLICKED: + int cur_sel; + char buff[16]; + int left_items = 0; + COMBOBOXEXITEM histitem = { 0 }; - if ((HWND)lParam == GetDlgItem(hwndDlg, IDC_BDEL)) { - switch (HIWORD(wParam)) { - case BN_CLICKED: - { - int cur_sel; - char buff[16]; - int left_items = 0; - COMBOBOXEXITEM histitem = {0}; + cur_sel = SendMessage(msgbox_data->recent_cbex, CB_GETCURSEL, 0, 0); - cur_sel = SendMessage(msgbox_data->recent_cbex, CB_GETCURSEL, 0, 0); + histitem.mask = CBEIF_LPARAM; + histitem.iItem = msgbox_data->curr_sel_msg; - histitem.mask = CBEIF_LPARAM; - histitem.iItem = msgbox_data->curr_sel_msg; + SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); - SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); + if (LOWORD(histitem.lParam) == HISTORY_MSG) { + mir_snprintf(buff, "SMsg%d", (int)HIWORD(histitem.lParam)); + db_set_ws(NULL, "SimpleStatusMsg", buff, L""); + } + else if (LOWORD(histitem.lParam) == PREDEFINED_MSG) + msgbox_data->m_bPredefChanged = TRUE; + left_items = SendMessage(msgbox_data->recent_cbex, CBEM_DELETEITEM, (WPARAM)msgbox_data->curr_sel_msg, 0); - if (LOWORD(histitem.lParam) == HISTORY_MSG) { - mir_snprintf(buff, "SMsg%d", (int)HIWORD(histitem.lParam)); - db_set_ws(NULL, "SimpleStatusMsg", buff, L""); - } - else if (LOWORD(histitem.lParam) == PREDEFINED_MSG) - msgbox_data->m_bPredefChanged = TRUE; - left_items = SendMessage(msgbox_data->recent_cbex, CBEM_DELETEITEM, (WPARAM)msgbox_data->curr_sel_msg, 0); - - if (!left_items) { - if (IsWindowEnabled(msgbox_data->recent_cbex)) - EnableWindow(msgbox_data->recent_cbex, FALSE); - if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BCLEAR))) - EnableWindow(GetDlgItem(hwndDlg, IDC_BCLEAR), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); - } - else { - wchar_t text[1024]; - - if (cur_sel - 1 >= 0) - cur_sel--; - msgbox_data->curr_sel_msg = cur_sel; - SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)cur_sel, 0); - - histitem.mask = CBEIF_LPARAM | CBEIF_TEXT; - histitem.iItem = cur_sel; - histitem.cchTextMax = _countof(text); - histitem.pszText = text; - - SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); - if (LOWORD(histitem.lParam) == HISTORY_MSG || LOWORD(histitem.lParam) == PREDEFINED_MSG || LOWORD(histitem.lParam) == DEFAULT_MSG) - { - SetDlgItemText(hwndDlg, IDC_EDIT1, text); - DisplayCharsCount(msgbox_data, hwndDlg); - EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), LOWORD(histitem.lParam) == PREDEFINED_MSG ? FALSE : TRUE); - } - } - break; + if (!left_items) { + if (IsWindowEnabled(msgbox_data->recent_cbex)) + EnableWindow(msgbox_data->recent_cbex, FALSE); + if (IsWindowEnabled(GetDlgItem(hwndDlg, IDC_BCLEAR))) + EnableWindow(GetDlgItem(hwndDlg, IDC_BCLEAR), FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_BDEL), FALSE); + } + else { + wchar_t text[1024]; + + if (cur_sel - 1 >= 0) + cur_sel--; + msgbox_data->curr_sel_msg = cur_sel; + SendMessage(msgbox_data->recent_cbex, CB_SETCURSEL, (WPARAM)cur_sel, 0); + + histitem.mask = CBEIF_LPARAM | CBEIF_TEXT; + histitem.iItem = cur_sel; + histitem.cchTextMax = _countof(text); + histitem.pszText = text; + + SendMessage(msgbox_data->recent_cbex, CBEM_GETITEM, 0, (LPARAM)&histitem); + if (LOWORD(histitem.lParam) == HISTORY_MSG || LOWORD(histitem.lParam) == PREDEFINED_MSG || LOWORD(histitem.lParam) == DEFAULT_MSG) { + SetDlgItemText(hwndDlg, IDC_EDIT1, text); + DisplayCharsCount(msgbox_data, hwndDlg); + EnableWindow(GetDlgItem(hwndDlg, IDC_BADD), LOWORD(histitem.lParam) == PREDEFINED_MSG ? FALSE : TRUE); } } + break; } - break; + } + break; - case DM_SIMPAWAY_SHUTDOWN: - DestroyWindow(hwndDlg); - break; + case DM_SIMPAWAY_SHUTDOWN: + DestroyWindow(hwndDlg); + break; - case DM_SIMPAWAY_CHANGEICONS: - ReleaseIconEx("cross"); - ReleaseIconEx("recent"); - ReleaseIconEx("predef"); - ReleaseIconEx("add"); - ReleaseIconEx("clear"); - msgbox_data->icon[I_ICON_DEL] = LoadIconEx("cross"); - msgbox_data->icon[I_ICON_HIST] = LoadIconEx("recent"); - msgbox_data->icon[I_ICON_MSG] = LoadIconEx("predef"); - msgbox_data->icon[I_ICON_ADD] = LoadIconEx("add"); - msgbox_data->icon[I_ICON_CLEAR] = LoadIconEx("clear"); - if (msgbox_data->m_iDlgFlags & DLG_SHOW_LIST_ICONS) { - for (int i = 0; i < 5; ++i) - ImageList_ReplaceIcon(msgbox_data->other_icons, i, msgbox_data->icon[i]); - } - if ((msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS) || (msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS_FLAT)) { - SendDlgItemMessage(hwndDlg, IDC_BADD, BM_SETIMAGE, IMAGE_ICON, (LPARAM)msgbox_data->icon[I_ICON_ADD]); - SendDlgItemMessage(hwndDlg, IDC_BCLEAR, BM_SETIMAGE, IMAGE_ICON, (LPARAM)msgbox_data->icon[I_ICON_CLEAR]); - SendDlgItemMessage(hwndDlg, IDC_BDEL, BM_SETIMAGE, IMAGE_ICON, (LPARAM)msgbox_data->icon[I_ICON_DEL]); - } - break; + case DM_SIMPAWAY_CHANGEICONS: + ReleaseIconEx("cross"); + ReleaseIconEx("recent"); + ReleaseIconEx("predef"); + ReleaseIconEx("add"); + ReleaseIconEx("clear"); + msgbox_data->icon[I_ICON_DEL] = LoadIconEx("cross"); + msgbox_data->icon[I_ICON_HIST] = LoadIconEx("recent"); + msgbox_data->icon[I_ICON_MSG] = LoadIconEx("predef"); + msgbox_data->icon[I_ICON_ADD] = LoadIconEx("add"); + msgbox_data->icon[I_ICON_CLEAR] = LoadIconEx("clear"); + if (msgbox_data->m_iDlgFlags & DLG_SHOW_LIST_ICONS) + for (int i = 0; i < 5; ++i) + ImageList_ReplaceIcon(msgbox_data->other_icons, i, msgbox_data->icon[i]); - case WM_DESTROY: - if (msgbox_data == nullptr) - break; + if ((msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS) || (msgbox_data->m_iDlgFlags & DLG_SHOW_BUTTONS_FLAT)) { + SendDlgItemMessage(hwndDlg, IDC_BADD, BM_SETIMAGE, IMAGE_ICON, (LPARAM)msgbox_data->icon[I_ICON_ADD]); + SendDlgItemMessage(hwndDlg, IDC_BCLEAR, BM_SETIMAGE, IMAGE_ICON, (LPARAM)msgbox_data->icon[I_ICON_CLEAR]); + SendDlgItemMessage(hwndDlg, IDC_BDEL, BM_SETIMAGE, IMAGE_ICON, (LPARAM)msgbox_data->icon[I_ICON_DEL]); + } + break; + + case WM_DESTROY: + if (msgbox_data == nullptr) + break; { WINDOWPLACEMENT wp; wp.length = sizeof(wp); @@ -1586,7 +1575,7 @@ INT_PTR CALLBACK AwayMsgBoxDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA if (msgbox_data->m_bPredefChanged) { int i, num_items, new_num_def_msgs = 0; - COMBOBOXEXITEM cbitem = {0}; + COMBOBOXEXITEM cbitem = { 0 }; wchar_t text[1024]; char buff[64]; diff --git a/plugins/SimpleStatusMsg/src/options.cpp b/plugins/SimpleStatusMsg/src/options.cpp index 7ccffc1750..e83297dcad 100644 --- a/plugins/SimpleStatusMsg/src/options.cpp +++ b/plugins/SimpleStatusMsg/src/options.cpp @@ -34,11 +34,9 @@ static LRESULT CALLBACK OptEditBoxSubProc(HWND hwndDlg, UINT uMsg, WPARAM wParam RECT rc; GetClientRect(hwndDlg, &rc); - if (pt.x == -1 && pt.y == -1) - { + if (pt.x == -1 && pt.y == -1) { GetCursorPos(&pt); - if (!PtInRect(&rc, pt)) - { + if (!PtInRect(&rc, pt)) { pt.x = rc.left + (rc.right - rc.left) / 2; pt.y = rc.top + (rc.bottom - rc.top) / 2; } @@ -46,7 +44,7 @@ static LRESULT CALLBACK OptEditBoxSubProc(HWND hwndDlg, UINT uMsg, WPARAM wParam else ScreenToClient(hwndDlg, &pt); - if (PtInRect(&rc, pt)) + if (PtInRect(&rc, pt)) HandlePopupMenu(hwndDlg, pt, GetDlgItem(GetParent(hwndDlg), IDC_OPTEDIT1)); return 0; @@ -124,13 +122,10 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l data->status_msg = (struct SingleStatusMsg *)mir_alloc(sizeof(struct SingleStatusMsg)*(accounts->count + 1)); - for (i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) - { - if (accounts->statusMsgFlags & Proto_Status2Flag(i)) - { + for (i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + if (accounts->statusMsgFlags & Proto_Status2Flag(i)) { index = SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_INSERTSTRING, -1, (LPARAM)Clist_GetStatusModeDescription(i, 0)); - if (index != CB_ERR && index != CB_ERRSPACE) - { + if (index != CB_ERR && index != CB_ERRSPACE) { int j; char setting[80]; @@ -138,18 +133,17 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l val = db_get_b(NULL, "SimpleStatusMsg", (char *)StatusModeToDbSetting(i, "Flags"), STATUS_DEFAULT); data->status_msg[0].flags[i - ID_STATUS_ONLINE] = val; - ptrW text( db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(i, "Default"))); + ptrW text(db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(i, "Default"))); mir_wstrncpy(data->status_msg[0].msg[i - ID_STATUS_ONLINE], (text == NULL) ? GetDefaultMessage(i) : text, 1024); - for (j = 0; j < accounts->count; j++) - { + for (j = 0; j < accounts->count; j++) { auto *pa = accounts->pa[j]; if (!pa->IsEnabled() || !CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) continue; mir_snprintf(setting, "%sFlags", pa->szModuleName); val = db_get_b(NULL, "SimpleStatusMsg", (char *)StatusModeToDbSetting(i, setting), STATUS_DEFAULT); - data->status_msg[j+1].flags[i-ID_STATUS_ONLINE] = val; + data->status_msg[j + 1].flags[i - ID_STATUS_ONLINE] = val; mir_snprintf(setting, "%sDefault", pa->szModuleName); text = db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(i, setting)); mir_wstrncpy(data->status_msg[j + 1].msg[i - ID_STATUS_ONLINE], (text == NULL) ? GetDefaultMessage(i) : text, 1024); @@ -160,8 +154,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_SETCURSEL, 0, 0); data->proto_msg = (struct SingleProtoMsg *)mir_alloc(sizeof(struct SingleProtoMsg)*(accounts->count + 1)); - if (!data->proto_msg) - { + if (!data->proto_msg) { // TODO not really needed? EnableWindow(GetDlgItem(hwndDlg, IDC_CBOPTPROTO), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_BOPTPROTO), FALSE); @@ -171,16 +164,14 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_ROPTPROTO4), FALSE); data->proto_ok = FALSE; } - else - { + else { char setting[64]; data->proto_ok = TRUE; index = SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_ADDSTRING, 0, (LPARAM)TranslateT("Global status change")); - if (index != CB_ERR && index != CB_ERRSPACE) - { + if (index != CB_ERR && index != CB_ERRSPACE) { data->proto_msg[0].msg = nullptr; val = db_get_b(NULL, "SimpleStatusMsg", "ProtoFlags", PROTO_DEFAULT); @@ -189,37 +180,33 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_SETITEMDATA, (WPARAM)index, 0); } - for (i = 0; i < accounts->count; ++i) - { + for (i = 0; i < accounts->count; ++i) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled() || !CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) - || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) - { - data->proto_msg[i+1].msg = nullptr; + || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) { + data->proto_msg[i + 1].msg = nullptr; continue; } index = SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_ADDSTRING, 0, (LPARAM)pa->tszAccountName); // SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_SETITEMDATA, index, (LPARAM)i + 1); - if (index != CB_ERR && index != CB_ERRSPACE) - { + if (index != CB_ERR && index != CB_ERRSPACE) { mir_snprintf(setting, "Proto%sDefault", pa->szModuleName); - data->proto_msg[i+1].msg = db_get_wsa(NULL, "SimpleStatusMsg", setting); + data->proto_msg[i + 1].msg = db_get_wsa(NULL, "SimpleStatusMsg", setting); mir_snprintf(setting, "Proto%sFlags", pa->szModuleName); val = db_get_b(NULL, "SimpleStatusMsg", setting, PROTO_DEFAULT); - data->proto_msg[i+1].flags = val; + data->proto_msg[i + 1].flags = val; mir_snprintf(setting, "Proto%sMaxLen", pa->szModuleName); val = db_get_w(NULL, "SimpleStatusMsg", setting, 1024); - data->proto_msg[i+1].max_length = val; + data->proto_msg[i + 1].max_length = val; SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_SETITEMDATA, (WPARAM)index, (LPARAM)i + 1); } } - if (accounts->statusMsgCount == 1) - { + if (accounts->statusMsgCount == 1) { EnableWindow(GetDlgItem(hwndDlg, IDC_BOPTPROTO), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_CBOPTPROTO), FALSE); SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_SETCURSEL, 1, 0); @@ -232,13 +219,11 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l if (db_get_b(NULL, "SimpleStatusMsg", "PutDefInList", 0)) CheckDlgButton(hwndDlg, IDC_COPTMSG2, BST_CHECKED); - if (ServiceExists(MS_VARS_FORMATSTRING)) - { - HICON hIcon=nullptr; - char *szTipInfo=nullptr; + if (ServiceExists(MS_VARS_FORMATSTRING)) { + HICON hIcon = nullptr; + char *szTipInfo = nullptr; - if (ServiceExists(MS_VARS_GETSKINITEM)) - { + if (ServiceExists(MS_VARS_GETSKINITEM)) { hIcon = (HICON)CallService(MS_VARS_GETSKINITEM, 0, VSI_HELPICON); szTipInfo = (char *)CallService(MS_VARS_GETSKINITEM, 0, VSI_HELPTIPTEXT); } @@ -261,8 +246,8 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l } case WM_COMMAND: - if ( ( (HIWORD(wParam) == BN_CLICKED) || /*(HIWORD(wParam) == EN_KILLFOCUS) ||*/ (HIWORD(wParam) == EN_CHANGE) - || ( (HIWORD(wParam) == CBN_SELCHANGE) && (LOWORD(wParam) != IDC_CBOPTPROTO) && (LOWORD(wParam) != IDC_CBOPTSTATUS)) + if (((HIWORD(wParam) == BN_CLICKED) || /*(HIWORD(wParam) == EN_KILLFOCUS) ||*/ (HIWORD(wParam) == EN_CHANGE) + || ((HIWORD(wParam) == CBN_SELCHANGE) && (LOWORD(wParam) != IDC_CBOPTPROTO) && (LOWORD(wParam) != IDC_CBOPTSTATUS)) ) && (HWND)lParam == GetFocus()) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); switch (LOWORD(wParam)) { @@ -288,8 +273,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l break; case IDC_CBOPTPROTO: - switch (HIWORD(wParam)) - { + switch (HIWORD(wParam)) { case CBN_SELCHANGE: case CBN_SELENDOK: { @@ -297,8 +281,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l int i = SendMessage((HWND)lParam, CB_GETITEMDATA, (WPARAM)SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0), 0); - if (i == 0) - { + if (i == 0) { EnableWindow(GetDlgItem(hwndDlg, IDC_MAXLENGTH), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_EMAXLENGTH), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_SMAXLENGTH), FALSE); @@ -311,8 +294,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l else if (data->proto_msg[i].flags & PROTO_NOCHANGE) CheckRadioButton(hwndDlg, IDC_ROPTPROTO1, IDC_ROPTPROTO4, IDC_ROPTPROTO2); } - else - { + else { EnableWindow(GetDlgItem(hwndDlg, IDC_MAXLENGTH), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_EMAXLENGTH), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_SMAXLENGTH), TRUE); @@ -331,8 +313,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l } if (data->proto_msg[i].flags & PROTO_NO_MSG || data->proto_msg[i].flags & PROTO_THIS_MSG - || data->proto_msg[i].flags & PROTO_NOCHANGE) - { + || data->proto_msg[i].flags & PROTO_NOCHANGE) { EnableWindow(GetDlgItem(hwndDlg, IDC_CBOPTSTATUS), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_BOPTSTATUS), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG1), FALSE); @@ -342,14 +323,12 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_ROPTMSG3), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_ROPTMSG5), FALSE); - if (data->proto_msg[i].flags & PROTO_NO_MSG || data->proto_msg[i].flags & PROTO_NOCHANGE) - { + if (data->proto_msg[i].flags & PROTO_NO_MSG || data->proto_msg[i].flags & PROTO_NOCHANGE) { EnableWindow(GetDlgItem(hwndDlg, IDC_ROPTMSG4), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); } - else - { + else { EnableWindow(GetDlgItem(hwndDlg, IDC_ROPTMSG4), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), TRUE); @@ -357,8 +336,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG2), FALSE); } - else - { + else { EnableWindow(GetDlgItem(hwndDlg, IDC_CBOPTSTATUS), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_BOPTSTATUS), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG1), TRUE); @@ -375,13 +353,11 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG2), TRUE); } - if (i) - { + if (i) { k = i - 1; status_modes = CallProtoService(accounts->pa[k]->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); } - else - { + else { k = 0; status_modes = accounts->statusMsgFlags; } @@ -389,23 +365,19 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l int j = SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_GETCURSEL, 0, 0), 0); SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_RESETCONTENT, 0, 0); - for (l=ID_STATUS_ONLINE; l<=ID_STATUS_OUTTOLUNCH; l++) - { + for (l = ID_STATUS_ONLINE; l <= ID_STATUS_OUTTOLUNCH; l++) { int index; - if (status_modes & Proto_Status2Flag(l)) - { + if (status_modes & Proto_Status2Flag(l)) { index = SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_INSERTSTRING, -1, (LPARAM)Clist_GetStatusModeDescription(l, 0)); - if (index != CB_ERR && index != CB_ERRSPACE) - { + if (index != CB_ERR && index != CB_ERRSPACE) { SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_SETITEMDATA, (WPARAM)index, (LPARAM)l - ID_STATUS_ONLINE); - if (j == l-ID_STATUS_ONLINE) - newindex=index; + if (j == l - ID_STATUS_ONLINE) + newindex = index; } } } - if (!newindex) - { + if (!newindex) { SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_SETCURSEL, 0, 0); j = SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_GETCURSEL, 0, 0), 0); } @@ -417,32 +389,27 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l else CheckDlgButton(hwndDlg, IDC_COPTMSG1, BST_UNCHECKED); - if (data->proto_msg[i].flags & PROTO_THIS_MSG) - { + if (data->proto_msg[i].flags & PROTO_THIS_MSG) { CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG4); if (data->proto_msg[i].msg) SetDlgItemText(hwndDlg, IDC_OPTEDIT1, data->proto_msg[i].msg); else SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); } - else - { - if (data->status_msg[i].flags[j] & STATUS_EMPTY_MSG) - { + else { + if (data->status_msg[i].flags[j] & STATUS_EMPTY_MSG) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG1); } - else if (data->status_msg[i].flags[j] & STATUS_DEFAULT_MSG) - { - SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(j+ID_STATUS_ONLINE)); + else if (data->status_msg[i].flags[j] & STATUS_DEFAULT_MSG) { + SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(j + ID_STATUS_ONLINE)); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG2); } - else if (data->status_msg[i].flags[j] & STATUS_LAST_MSG) - { + else if (data->status_msg[i].flags[j] & STATUS_LAST_MSG) { char setting[80]; if (i) mir_snprintf(setting, "Last%sMsg", accounts->pa[k]->szModuleName); @@ -451,11 +418,9 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); char *szSetting = db_get_sa(NULL, "SimpleStatusMsg", setting); - if (szSetting) - { + if (szSetting) { wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); - if (tszStatusMsg && mir_wstrlen(tszStatusMsg)) - { + if (tszStatusMsg && mir_wstrlen(tszStatusMsg)) { if (tszStatusMsg && mir_wstrlen(tszStatusMsg)) SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); @@ -467,23 +432,19 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG3); } - else if (data->status_msg[i].flags[j] & STATUS_THIS_MSG) - { - if (data->proto_msg[i].flags & PROTO_NO_MSG || data->proto_msg[i].flags & PROTO_NOCHANGE) - { + else if (data->status_msg[i].flags[j] & STATUS_THIS_MSG) { + if (data->proto_msg[i].flags & PROTO_NO_MSG || data->proto_msg[i].flags & PROTO_NOCHANGE) { EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); } - else - { + else { EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), TRUE); } CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG4); SetDlgItemText(hwndDlg, IDC_OPTEDIT1, data->status_msg[i].msg[j]); } - else if (data->status_msg[i].flags[j] & STATUS_LAST_STATUS_MSG) - { + else if (data->status_msg[i].flags[j] & STATUS_LAST_STATUS_MSG) { char setting[80]; if (i) @@ -492,8 +453,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l mir_snprintf(setting, "Msg"); wchar_t *tszStatusMsg = db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(j + ID_STATUS_ONLINE, setting)); - if (tszStatusMsg) - { + if (tszStatusMsg) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); } @@ -522,8 +482,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l data->proto_msg[i].flags = 0; - if ((LOWORD(wParam) == IDC_ROPTPROTO2) || (LOWORD(wParam) == IDC_ROPTPROTO4)) - { + if ((LOWORD(wParam) == IDC_ROPTPROTO2) || (LOWORD(wParam) == IDC_ROPTPROTO4)) { data->proto_msg[i].flags |= (LOWORD(wParam) == IDC_ROPTPROTO4) ? PROTO_NO_MSG : PROTO_NOCHANGE; EnableWindow(GetDlgItem(hwndDlg, IDC_CBOPTSTATUS), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_BOPTSTATUS), FALSE); @@ -537,8 +496,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG2), FALSE); } - else if (LOWORD(wParam) == IDC_ROPTPROTO3) - { + else if (LOWORD(wParam) == IDC_ROPTPROTO3) { data->proto_msg[i].flags |= PROTO_THIS_MSG; EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), TRUE); @@ -559,8 +517,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG2), FALSE); } - else if (LOWORD(wParam) == IDC_ROPTPROTO1) - { + else if (LOWORD(wParam) == IDC_ROPTPROTO1) { data->proto_msg[i].flags |= PROTO_POPUPDLG; EnableWindow(GetDlgItem(hwndDlg, IDC_CBOPTSTATUS), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_BOPTSTATUS), TRUE); @@ -575,38 +532,32 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_COPTMSG2), TRUE); } - if (LOWORD(wParam) != IDC_ROPTPROTO3) - { - if (data->status_msg[i].flags[j] & STATUS_EMPTY_MSG) - { + if (LOWORD(wParam) != IDC_ROPTPROTO3) { + if (data->status_msg[i].flags[j] & STATUS_EMPTY_MSG) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG1); } - else if (data->status_msg[i].flags[j] & STATUS_DEFAULT_MSG) - { - SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(j+ID_STATUS_ONLINE)); + else if (data->status_msg[i].flags[j] & STATUS_DEFAULT_MSG) { + SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(j + ID_STATUS_ONLINE)); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG2); } - else if (data->status_msg[i].flags[j] & STATUS_LAST_MSG) - { + else if (data->status_msg[i].flags[j] & STATUS_LAST_MSG) { char setting[80]; if (i) - mir_snprintf(setting, "Last%sMsg", accounts->pa[i-1]->szModuleName); + mir_snprintf(setting, "Last%sMsg", accounts->pa[i - 1]->szModuleName); else mir_snprintf(setting, "LastMsg"); SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); char *szSetting = db_get_sa(NULL, "SimpleStatusMsg", setting); - if (szSetting != nullptr) - { + if (szSetting != nullptr) { wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); - if (tszStatusMsg) - { + if (tszStatusMsg) { if (tszStatusMsg[0]) SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); @@ -617,33 +568,28 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG3); } - else if (data->status_msg[i].flags[j] & STATUS_THIS_MSG) - { - if ((LOWORD(wParam) == IDC_ROPTPROTO2) || (LOWORD(wParam) == IDC_ROPTPROTO4)) - { + else if (data->status_msg[i].flags[j] & STATUS_THIS_MSG) { + if ((LOWORD(wParam) == IDC_ROPTPROTO2) || (LOWORD(wParam) == IDC_ROPTPROTO4)) { EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); } - else - { + else { EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), TRUE); } CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG4); SetDlgItemText(hwndDlg, IDC_OPTEDIT1, data->status_msg[i].msg[j]); } - else if (data->status_msg[i].flags[j] & STATUS_LAST_STATUS_MSG) - { + else if (data->status_msg[i].flags[j] & STATUS_LAST_STATUS_MSG) { char setting[80]; if (i) - mir_snprintf(setting, "%sMsg", accounts->pa[i-1]->szModuleName); + mir_snprintf(setting, "%sMsg", accounts->pa[i - 1]->szModuleName); else mir_snprintf(setting, "Msg"); wchar_t *tszStatusMsg = db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(j + ID_STATUS_ONLINE, setting)); - if (tszStatusMsg != nullptr) - { + if (tszStatusMsg != nullptr) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); } @@ -673,35 +619,30 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l else CheckDlgButton(hwndDlg, IDC_COPTMSG1, BST_UNCHECKED); - if (data->status_msg[j].flags[i] & STATUS_EMPTY_MSG) - { + if (data->status_msg[j].flags[i] & STATUS_EMPTY_MSG) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG1); } - else if (data->status_msg[j].flags[i] & STATUS_DEFAULT_MSG) - { - SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(i+ID_STATUS_ONLINE)); + else if (data->status_msg[j].flags[i] & STATUS_DEFAULT_MSG) { + SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(i + ID_STATUS_ONLINE)); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG2); } - else if (data->status_msg[j].flags[i] & STATUS_LAST_MSG) - { + else if (data->status_msg[j].flags[i] & STATUS_LAST_MSG) { char setting[80]; if (j) - mir_snprintf(setting, "Last%sMsg", accounts->pa[j-1]->szModuleName); + mir_snprintf(setting, "Last%sMsg", accounts->pa[j - 1]->szModuleName); else mir_snprintf(setting, "LastMsg"); SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); char *szSetting = db_get_sa(NULL, "SimpleStatusMsg", setting); - if (szSetting != nullptr) - { + if (szSetting != nullptr) { wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); - if (tszStatusMsg) - { + if (tszStatusMsg) { if (tszStatusMsg[0]) SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); @@ -712,25 +653,22 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG3); } - else if (data->status_msg[j].flags[i] & STATUS_THIS_MSG) - { + else if (data->status_msg[j].flags[i] & STATUS_THIS_MSG) { EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), TRUE); CheckRadioButton(hwndDlg, IDC_ROPTMSG1, IDC_ROPTMSG5, IDC_ROPTMSG4); SetDlgItemText(hwndDlg, IDC_OPTEDIT1, data->status_msg[j].msg[i]); } - else if (data->status_msg[j].flags[i] & STATUS_LAST_STATUS_MSG) - { + else if (data->status_msg[j].flags[i] & STATUS_LAST_STATUS_MSG) { char setting[80]; if (j) - mir_snprintf(setting, "%sMsg", accounts->pa[j-1]->szModuleName); + mir_snprintf(setting, "%sMsg", accounts->pa[j - 1]->szModuleName); else mir_snprintf(setting, "Msg"); wchar_t *tszStatusMsg = db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(j + ID_STATUS_ONLINE, setting)); - if (tszStatusMsg != nullptr) - { + if (tszStatusMsg != nullptr) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); } @@ -780,26 +718,23 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l if (IsDlgButtonChecked(hwndDlg, IDC_COPTMSG1) == BST_CHECKED) data->status_msg[j].flags[i] |= STATUS_SHOW_DLG; - if (LOWORD(wParam) == IDC_ROPTMSG1) - { + if (LOWORD(wParam) == IDC_ROPTMSG1) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, L""); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); data->status_msg[j].flags[i] |= STATUS_EMPTY_MSG; } - else if (LOWORD(wParam) == IDC_ROPTMSG2) - { - SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(i+ID_STATUS_ONLINE)); + else if (LOWORD(wParam) == IDC_ROPTMSG2) { + SetDlgItemText(hwndDlg, IDC_OPTEDIT1, GetDefaultMessage(i + ID_STATUS_ONLINE)); EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); data->status_msg[j].flags[i] |= STATUS_DEFAULT_MSG; } - else if (LOWORD(wParam) == IDC_ROPTMSG3) - { + else if (LOWORD(wParam) == IDC_ROPTMSG3) { char setting[80]; if (j) - mir_snprintf(setting, "Last%sMsg", accounts->pa[j-1]->szModuleName); + mir_snprintf(setting, "Last%sMsg", accounts->pa[j - 1]->szModuleName); else mir_snprintf(setting, "LastMsg"); @@ -807,11 +742,9 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l char *szSetting = db_get_sa(NULL, "SimpleStatusMsg", setting); - if (szSetting != nullptr) - { + if (szSetting != nullptr) { wchar_t *tszStatusMsg = db_get_wsa(NULL, "SimpleStatusMsg", szSetting); - if (tszStatusMsg) - { + if (tszStatusMsg) { if (tszStatusMsg[0]) SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); @@ -823,25 +756,22 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), FALSE); data->status_msg[j].flags[i] |= STATUS_LAST_MSG; } - else if (LOWORD(wParam) == IDC_ROPTMSG4) - { + else if (LOWORD(wParam) == IDC_ROPTMSG4) { data->status_msg[j].flags[i] |= STATUS_THIS_MSG; EnableWindow(GetDlgItem(hwndDlg, IDC_OPTEDIT1), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_VARSHELP), TRUE); SetDlgItemText(hwndDlg, IDC_OPTEDIT1, data->status_msg[j].msg[i]); } - else if (LOWORD(wParam) == IDC_ROPTMSG5) - { + else if (LOWORD(wParam) == IDC_ROPTMSG5) { char setting[80]; if (j) - mir_snprintf(setting, "%sMsg", accounts->pa[j-1]->szModuleName); + mir_snprintf(setting, "%sMsg", accounts->pa[j - 1]->szModuleName); else mir_snprintf(setting, "Msg"); wchar_t *tszStatusMsg = db_get_wsa(NULL, "SRAway", StatusModeToDbSetting(i + ID_STATUS_ONLINE, setting)); - if (tszStatusMsg != nullptr) - { + if (tszStatusMsg != nullptr) { SetDlgItemText(hwndDlg, IDC_OPTEDIT1, tszStatusMsg); mir_free(tszStatusMsg); } @@ -862,34 +792,27 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l int i = SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_CBOPTSTATUS, CB_GETCURSEL, 0, 0), 0); int j = SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_GETCURSEL, 0, 0), 0); - if (HIWORD(wParam) == EN_KILLFOCUS) - { + if (HIWORD(wParam) == EN_KILLFOCUS) { wchar_t msg[1024]; - if (data->proto_msg[j].flags & PROTO_THIS_MSG) - { + if (data->proto_msg[j].flags & PROTO_THIS_MSG) { int len = GetDlgItemText(hwndDlg, IDC_OPTEDIT1, msg, _countof(msg)); - if (len > 0) - { + if (len > 0) { if (data->proto_msg[j].msg == nullptr) data->proto_msg[j].msg = mir_wstrdup(msg); - else - { + else { mir_free(data->proto_msg[j].msg); data->proto_msg[j].msg = mir_wstrdup(msg); } } - else - { - if (data->proto_msg[j].msg != nullptr) - { + else { + if (data->proto_msg[j].msg != nullptr) { mir_free(data->proto_msg[j].msg); data->proto_msg[j].msg = nullptr; } } } - else - { + else { GetDlgItemText(hwndDlg, IDC_OPTEDIT1, msg, _countof(msg)); mir_wstrcpy(data->status_msg[j].msg[i], msg); } @@ -898,66 +821,53 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l } case IDC_VARSHELP: - variables_showhelp(hwndDlg, IDC_OPTEDIT1, VHF_FULLDLG|VHF_SETLASTSUBJECT, nullptr, nullptr); + variables_showhelp(hwndDlg, IDC_OPTEDIT1, VHF_FULLDLG | VHF_SETLASTSUBJECT, nullptr, nullptr); break; case IDC_BOPTPROTO: { int j = SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_CBOPTPROTO, CB_GETCURSEL, 0, 0), 0); - if (j) - { - for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) - { - if (accounts->statusMsgFlags & Proto_Status2Flag(i)) - { - data->status_msg[0].flags[i-ID_STATUS_ONLINE] = data->status_msg[j].flags[i-ID_STATUS_ONLINE]; - if (data->status_msg[j].flags[i-ID_STATUS_ONLINE] & STATUS_THIS_MSG) - mir_wstrcpy(data->status_msg[0].msg[i-ID_STATUS_ONLINE], data->status_msg[j].msg[i-ID_STATUS_ONLINE]); + if (j) { + for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + if (accounts->statusMsgFlags & Proto_Status2Flag(i)) { + data->status_msg[0].flags[i - ID_STATUS_ONLINE] = data->status_msg[j].flags[i - ID_STATUS_ONLINE]; + if (data->status_msg[j].flags[i - ID_STATUS_ONLINE] & STATUS_THIS_MSG) + mir_wstrcpy(data->status_msg[0].msg[i - ID_STATUS_ONLINE], data->status_msg[j].msg[i - ID_STATUS_ONLINE]); } } } - for (int k = 0; k < accounts->count; k++) - { + for (int k = 0; k < accounts->count; k++) { auto *pa = accounts->pa[k]; if (!pa->IsEnabled() || !CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) continue; - if (k != j - 1) - { - data->proto_msg[k+1].flags = data->proto_msg[j].flags; + if (k != j - 1) { + data->proto_msg[k + 1].flags = data->proto_msg[j].flags; if (j) - data->proto_msg[k+1].max_length = data->proto_msg[j].max_length; + data->proto_msg[k + 1].max_length = data->proto_msg[j].max_length; - if (data->proto_msg[j].flags & PROTO_THIS_MSG) - { + if (data->proto_msg[j].flags & PROTO_THIS_MSG) { size_t len = mir_wstrlen(data->proto_msg[j].msg); - if (len > 0) - { - if (data->proto_msg[k+1].msg == nullptr) - data->proto_msg[k+1].msg = mir_wstrdup(data->proto_msg[j].msg); - else - { - mir_free(data->proto_msg[k+1].msg); - data->proto_msg[k+1].msg = mir_wstrdup(data->proto_msg[j].msg); + if (len > 0) { + if (data->proto_msg[k + 1].msg == nullptr) + data->proto_msg[k + 1].msg = mir_wstrdup(data->proto_msg[j].msg); + else { + mir_free(data->proto_msg[k + 1].msg); + data->proto_msg[k + 1].msg = mir_wstrdup(data->proto_msg[j].msg); } } - else - { - if (data->proto_msg[k+1].msg != nullptr) - { - mir_free(data->proto_msg[k+1].msg); - data->proto_msg[k+1].msg = nullptr; + else { + if (data->proto_msg[k + 1].msg != nullptr) { + mir_free(data->proto_msg[k + 1].msg); + data->proto_msg[k + 1].msg = nullptr; } } } - else if (data->proto_msg[j].flags & PROTO_POPUPDLG) - { - for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) - { - if (CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) & Proto_Status2Flag(i)) - { + else if (data->proto_msg[j].flags & PROTO_POPUPDLG) { + for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + if (CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) & Proto_Status2Flag(i)) { data->status_msg[k + 1].flags[i - ID_STATUS_ONLINE] = data->status_msg[j].flags[i - ID_STATUS_ONLINE]; if (data->status_msg[j].flags[i - ID_STATUS_ONLINE] & STATUS_THIS_MSG) mir_wstrcpy(data->status_msg[k + 1].msg[i - ID_STATUS_ONLINE], data->status_msg[j].msg[i - ID_STATUS_ONLINE]); @@ -976,14 +886,12 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l int status_modes; if (j) - status_modes = CallProtoService(accounts->pa[j-1]->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); + status_modes = CallProtoService(accounts->pa[j - 1]->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0); else status_modes = accounts->statusMsgFlags; - for (int k = ID_STATUS_ONLINE; k <= ID_STATUS_OUTTOLUNCH; k++) - { - if (k - ID_STATUS_ONLINE != i && status_modes & Proto_Status2Flag(k)) - { + for (int k = ID_STATUS_ONLINE; k <= ID_STATUS_OUTTOLUNCH; k++) { + if (k - ID_STATUS_ONLINE != i && status_modes & Proto_Status2Flag(k)) { data->status_msg[j].flags[k - ID_STATUS_ONLINE] = data->status_msg[j].flags[i]; if (data->status_msg[j].flags[i] & STATUS_THIS_MSG) mir_wstrcpy(data->status_msg[j].msg[k - ID_STATUS_ONLINE], data->status_msg[j].msg[i]); @@ -995,18 +903,14 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l break; case WM_NOTIFY: - if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) - { + if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) { char szSetting[80]; - for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) - { - if (accounts->statusMsgFlags & Proto_Status2Flag(i)) - { + for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + if (accounts->statusMsgFlags & Proto_Status2Flag(i)) { db_set_ws(NULL, "SRAway", StatusModeToDbSetting(i, "Default"), data->status_msg[0].msg[i - ID_STATUS_ONLINE]); db_set_b(NULL, "SimpleStatusMsg", StatusModeToDbSetting(i, "Flags"), (BYTE)data->status_msg[0].flags[i - ID_STATUS_ONLINE]); - for (int j = 0; j < accounts->count; j++) - { + for (int j = 0; j < accounts->count; j++) { auto *pa = accounts->pa[j]; if (!pa->IsEnabled()) continue; @@ -1014,8 +918,7 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l if (!(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGSEND)) continue; - if (CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) & Proto_Status2Flag(i)) - { + if (CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_3, 0) & Proto_Status2Flag(i)) { mir_snprintf(szSetting, "%sDefault", pa->szModuleName); db_set_ws(NULL, "SRAway", StatusModeToDbSetting(i, szSetting), data->status_msg[j + 1].msg[i - ID_STATUS_ONLINE]); @@ -1028,12 +931,10 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l db_set_b(NULL, "SimpleStatusMsg", "PutDefInList", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_COPTMSG2) == BST_CHECKED)); - if (data->proto_ok) - { + if (data->proto_ok) { db_set_b(NULL, "SimpleStatusMsg", "ProtoFlags", (BYTE)data->proto_msg[0].flags); - for (int i = 0; i < accounts->count; i++) - { + for (int i = 0; i < accounts->count; i++) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled()) continue; @@ -1045,16 +946,16 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l continue; mir_snprintf(szSetting, "Proto%sDefault", pa->szModuleName); - if (data->proto_msg[i+1].msg && (data->proto_msg[i+1].flags & PROTO_THIS_MSG)) - db_set_ws(NULL, "SimpleStatusMsg", szSetting, data->proto_msg[i+1].msg); + if (data->proto_msg[i + 1].msg && (data->proto_msg[i + 1].flags & PROTO_THIS_MSG)) + db_set_ws(NULL, "SimpleStatusMsg", szSetting, data->proto_msg[i + 1].msg); // else // db_unset(NULL, "SimpleStatusMsg", szSetting); mir_snprintf(szSetting, "Proto%sMaxLen", pa->szModuleName); - db_set_w(NULL, "SimpleStatusMsg", szSetting, (WORD)data->proto_msg[i+1].max_length); + db_set_w(NULL, "SimpleStatusMsg", szSetting, (WORD)data->proto_msg[i + 1].max_length); mir_snprintf(szSetting, "Proto%sFlags", pa->szModuleName); - db_set_b(NULL, "SimpleStatusMsg", szSetting, (BYTE)data->proto_msg[i+1].flags); + db_set_b(NULL, "SimpleStatusMsg", szSetting, (BYTE)data->proto_msg[i + 1].flags); } } RebuildStatusMenu(); @@ -1063,10 +964,8 @@ INT_PTR CALLBACK DlgOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l break; case WM_DESTROY: - if (data->proto_ok) - { - for (int i = 0; i < accounts->count + 1; ++i) - { + if (data->proto_ok) { + for (int i = 0; i < accounts->count + 1; ++i) { if (data->proto_msg[i].msg) // they want to be free, do they? mir_free(data->proto_msg[i].msg); } @@ -1095,13 +994,11 @@ static INT_PTR CALLBACK DlgVariablesOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM CheckDlgButton(hwndDlg, IDC_CNOIDLE, db_get_b(NULL, "SimpleStatusMsg", "NoUpdateOnIdle", 1) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CNOICQREQ, db_get_b(NULL, "SimpleStatusMsg", "NoUpdateOnICQReq", 1) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLEAVEWINAMP, db_get_b(NULL, "SimpleStatusMsg", "AmpLeaveTitle", 1) ? BST_CHECKED : BST_UNCHECKED); - if (ServiceExists(MS_VARS_FORMATSTRING)) - { + if (ServiceExists(MS_VARS_FORMATSTRING)) { CheckDlgButton(hwndDlg, IDC_CVARIABLES, db_get_b(NULL, "SimpleStatusMsg", "EnableVariables", 1) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CDATEPARSING, db_get_b(NULL, "SimpleStatusMsg", "ExclDateToken", 0) ? BST_CHECKED : BST_UNCHECKED); } - else - { + else { EnableWindow(GetDlgItem(hwndDlg, IDC_CVARIABLES), FALSE); } EnableWindow(GetDlgItem(hwndDlg, IDC_CDATEPARSING), IsDlgButtonChecked(hwndDlg, IDC_CVARIABLES) == BST_CHECKED); @@ -1122,8 +1019,7 @@ static INT_PTR CALLBACK DlgVariablesOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM } case WM_COMMAND: - switch (LOWORD(wParam)) - { + switch (LOWORD(wParam)) { case IDC_ESECUPDTMSG: { if ((HWND)lParam != GetFocus() || HIWORD(wParam) != EN_CHANGE) return 0; @@ -1145,29 +1041,25 @@ static INT_PTR CALLBACK DlgVariablesOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM break; case WM_NOTIFY: - if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) - { + if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) { if (g_uUpdateMsgTimer) KillTimer(nullptr, g_uUpdateMsgTimer); int val = SendDlgItemMessage(hwndDlg, IDC_SSECUPDTMSG, UDM_GETPOS, 0, 0); db_set_w(NULL, "SimpleStatusMsg", "UpdateMsgInt", (WORD)val); - if (IsDlgButtonChecked(hwndDlg, IDC_CUPDATEMSG) == BST_CHECKED && val) - { + if (IsDlgButtonChecked(hwndDlg, IDC_CUPDATEMSG) == BST_CHECKED && val) { db_set_b(NULL, "SimpleStatusMsg", "UpdateMsgOn", (BYTE)1); g_uUpdateMsgTimer = SetTimer(nullptr, 0, val * 1000, (TIMERPROC)UpdateMsgTimerProc); } - else - { + else { db_set_b(NULL, "SimpleStatusMsg", "UpdateMsgOn", (BYTE)0); } db_set_b(NULL, "SimpleStatusMsg", "NoUpdateOnIdle", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_CNOIDLE) == BST_CHECKED)); db_set_b(NULL, "SimpleStatusMsg", "NoUpdateOnICQReq", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_CNOICQREQ) == BST_CHECKED)); db_set_b(NULL, "SimpleStatusMsg", "AmpLeaveTitle", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_CLEAVEWINAMP) == BST_CHECKED)); - if (ServiceExists(MS_VARS_FORMATSTRING)) - { + if (ServiceExists(MS_VARS_FORMATSTRING)) { db_set_b(NULL, "SimpleStatusMsg", "EnableVariables", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_CVARIABLES) == BST_CHECKED)); db_set_b(NULL, "SimpleStatusMsg", "ExclDateToken", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_CDATEPARSING) == BST_CHECKED)); } @@ -1325,8 +1217,7 @@ static INT_PTR CALLBACK DlgAdvancedOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM w } case IDC_BOPTHIST: - if (MessageBox(nullptr, TranslateT("Are you sure you want to clear status message history?"), TranslateT("Confirm clearing history"), MB_ICONQUESTION | MB_YESNO) == IDYES) - { + if (MessageBox(nullptr, TranslateT("Are you sure you want to clear status message history?"), TranslateT("Confirm clearing history"), MB_ICONQUESTION | MB_YESNO) == IDYES) { if (hwndSAMsgDialog) DestroyWindow(hwndSAMsgDialog); @@ -1361,8 +1252,7 @@ static INT_PTR CALLBACK DlgAdvancedOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM w return 0; case IDC_BOPTDEF: - if (MessageBox(nullptr, TranslateT("Are you sure you want to clear predefined status messages?"), TranslateT("Confirm clearing predefined"), MB_ICONQUESTION | MB_YESNO) == IDYES) - { + if (MessageBox(nullptr, TranslateT("Are you sure you want to clear predefined status messages?"), TranslateT("Confirm clearing predefined"), MB_ICONQUESTION | MB_YESNO) == IDYES) { if (hwndSAMsgDialog) DestroyWindow(hwndSAMsgDialog); @@ -1429,79 +1319,69 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa switch (uMsg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - - data = (struct StatusOptDlgData *)mir_alloc(sizeof(struct StatusOptDlgData)); - SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)data); - - data->status = (int *)mir_alloc(sizeof(int) * accounts->count); - data->setdelay = (int *)mir_alloc(sizeof(int) * accounts->count); - for (int i = 0; i < accounts->count; ++i) - { - auto *pa = accounts->pa[i]; - if (!pa->IsEnabled() || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) &~ CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0))) - continue; - - int index = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_ADDSTRING, 0, (LPARAM)pa->tszAccountName); - if (index != LB_ERR && index != LB_ERRSPACE) - { - char setting[80]; - mir_snprintf(setting, "Startup%sStatus", pa->szModuleName); - data->status[i] = db_get_w(NULL, "SimpleStatusMsg", setting, ID_STATUS_CURRENT); - mir_snprintf(setting, "Set%sStatusDelay", pa->szModuleName); - data->setdelay[i] = db_get_w(NULL, "SimpleStatusMsg", setting, 300); - SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_SETITEMDATA, (WPARAM)index, (LPARAM)i); - } + TranslateDialogDefault(hwndDlg); + + data = (struct StatusOptDlgData *)mir_alloc(sizeof(struct StatusOptDlgData)); + SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)data); + + data->status = (int *)mir_alloc(sizeof(int) * accounts->count); + data->setdelay = (int *)mir_alloc(sizeof(int) * accounts->count); + for (int i = 0; i < accounts->count; ++i) { + auto *pa = accounts->pa[i]; + if (!pa->IsEnabled() || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) &~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0))) + continue; + + int index = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_ADDSTRING, 0, (LPARAM)pa->tszAccountName); + if (index != LB_ERR && index != LB_ERRSPACE) { + char setting[80]; + mir_snprintf(setting, "Startup%sStatus", pa->szModuleName); + data->status[i] = db_get_w(NULL, "SimpleStatusMsg", setting, ID_STATUS_CURRENT); + mir_snprintf(setting, "Set%sStatusDelay", pa->szModuleName); + data->setdelay[i] = db_get_w(NULL, "SimpleStatusMsg", setting, 300); + SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_SETITEMDATA, (WPARAM)index, (LPARAM)i); } - SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_SETCURSEL, 0, 0); - SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_LISTPROTO, LBN_SELCHANGE), (LPARAM)GetDlgItem(hwndDlg, IDC_LISTPROTO)); + } + SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_SETCURSEL, 0, 0); + SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_LISTPROTO, LBN_SELCHANGE), (LPARAM)GetDlgItem(hwndDlg, IDC_LISTPROTO)); - data->setglobaldelay = db_get_w(NULL, "SimpleStatusMsg", "SetStatusDelay", 300); + data->setglobaldelay = db_get_w(NULL, "SimpleStatusMsg", "SetStatusDelay", 300); - SendDlgItemMessage(hwndDlg, IDC_SSETSTATUS, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_ESETSTATUS), 0); - SendDlgItemMessage(hwndDlg, IDC_SSETSTATUS, UDM_SETRANGE32, 0, 9000); - SendDlgItemMessage(hwndDlg, IDC_ESETSTATUS, EM_LIMITTEXT, 4, 0); + SendDlgItemMessage(hwndDlg, IDC_SSETSTATUS, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_ESETSTATUS), 0); + SendDlgItemMessage(hwndDlg, IDC_SSETSTATUS, UDM_SETRANGE32, 0, 9000); + SendDlgItemMessage(hwndDlg, IDC_ESETSTATUS, EM_LIMITTEXT, 4, 0); - if (!db_get_b(NULL, "SimpleStatusMsg", "GlobalStatusDelay", 1)) - { - CheckDlgButton(hwndDlg, IDC_SPECSET, BST_CHECKED); - int i = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); - SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setdelay[i], FALSE); - } - else - { + if (!db_get_b(NULL, "SimpleStatusMsg", "GlobalStatusDelay", 1)) { + CheckDlgButton(hwndDlg, IDC_SPECSET, BST_CHECKED); + int i = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); + SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setdelay[i], FALSE); + } + else { + CheckDlgButton(hwndDlg, IDC_SPECSET, BST_UNCHECKED); + SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setglobaldelay, FALSE); + } + + if (db_get_b(NULL, "SimpleStatusMsg", "StartupPopupDlg", 1)) { + CheckDlgButton(hwndDlg, IDC_POPUPDLG, BST_CHECKED); + if (IsDlgButtonChecked(hwndDlg, IDC_SPECSET) == BST_CHECKED) { CheckDlgButton(hwndDlg, IDC_SPECSET, BST_UNCHECKED); SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setglobaldelay, FALSE); } + EnableWindow(GetDlgItem(hwndDlg, IDC_SPECSET), FALSE); + } + else CheckDlgButton(hwndDlg, IDC_POPUPDLG, BST_UNCHECKED); - if (db_get_b(NULL, "SimpleStatusMsg", "StartupPopupDlg", 1)) - { - CheckDlgButton(hwndDlg, IDC_POPUPDLG, BST_CHECKED); - if (IsDlgButtonChecked(hwndDlg, IDC_SPECSET) == BST_CHECKED) - { - CheckDlgButton(hwndDlg, IDC_SPECSET, BST_UNCHECKED); - SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setglobaldelay, FALSE); - } - EnableWindow(GetDlgItem(hwndDlg, IDC_SPECSET), FALSE); - } - else - CheckDlgButton(hwndDlg, IDC_POPUPDLG, BST_UNCHECKED); - - if (accounts->statusCount == 1 && accounts->statusMsgCount == 1) - { - EnableWindow(GetDlgItem(hwndDlg, IDC_SPECSET), FALSE); - CheckDlgButton(hwndDlg, IDC_SPECSET, BST_UNCHECKED); //should work like when checked, but should not be checked - int i = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); - SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setdelay[i], FALSE); - } - - return TRUE; + if (accounts->statusCount == 1 && accounts->statusMsgCount == 1) { + EnableWindow(GetDlgItem(hwndDlg, IDC_SPECSET), FALSE); + CheckDlgButton(hwndDlg, IDC_SPECSET, BST_UNCHECKED); //should work like when checked, but should not be checked + int i = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); + SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setdelay[i], FALSE); } + return TRUE; + case WM_COMMAND: - if ( ( (HIWORD(wParam) == BN_CLICKED) || /*(HIWORD(wParam) == EN_KILLFOCUS) ||*/ (HIWORD(wParam) == EN_CHANGE) - || ( (HIWORD(wParam) == LBN_SELCHANGE) && (LOWORD(wParam) != IDC_LISTPROTO)) + if (((HIWORD(wParam) == BN_CLICKED) || (HIWORD(wParam) == EN_CHANGE) + || ((HIWORD(wParam) == LBN_SELCHANGE) && (LOWORD(wParam) != IDC_LISTPROTO)) ) && (HWND)lParam == GetFocus()) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); switch (LOWORD(wParam)) { @@ -1517,8 +1397,7 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, 0, FALSE); val = GetDlgItemInt(hwndDlg, IDC_ESETSTATUS, &translated, FALSE); - if (IsDlgButtonChecked(hwndDlg, IDC_SPECSET) == BST_CHECKED || (accounts->statusCount == 1 && accounts->statusMsgCount == 1)) - { + if (IsDlgButtonChecked(hwndDlg, IDC_SPECSET) == BST_CHECKED || (accounts->statusCount == 1 && accounts->statusMsgCount == 1)) { int i = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); data->setdelay[i] = val; } @@ -1530,11 +1409,9 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa break; case IDC_SPECSET: - switch (HIWORD(wParam)) - { + switch (HIWORD(wParam)) { case BN_CLICKED: - if (SendMessage((HWND)lParam, BM_GETCHECK, 0, 0) == BST_CHECKED || (accounts->statusCount == 1 && accounts->statusMsgCount == 1)) - { + if (SendMessage((HWND)lParam, BM_GETCHECK, 0, 0) == BST_CHECKED || (accounts->statusCount == 1 && accounts->statusMsgCount == 1)) { int i = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setdelay[i], FALSE); } @@ -1550,10 +1427,8 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa if (accounts->statusCount == 1 && accounts->statusMsgCount == 1) break; - if (SendMessage((HWND)lParam, BM_GETCHECK, 0, 0) == BST_CHECKED) - { - if (IsDlgButtonChecked(hwndDlg, IDC_SPECSET) == BST_CHECKED) - { + if (SendMessage((HWND)lParam, BM_GETCHECK, 0, 0) == BST_CHECKED) { + if (IsDlgButtonChecked(hwndDlg, IDC_SPECSET) == BST_CHECKED) { CheckDlgButton(hwndDlg, IDC_SPECSET, BST_UNCHECKED); SetDlgItemInt(hwndDlg, IDC_ESETSTATUS, data->setglobaldelay, FALSE); } @@ -1576,13 +1451,10 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa int status_modes = CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0) & ~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0); SendDlgItemMessage(hwndDlg, IDC_LISTSTATUS, LB_RESETCONTENT, 0, 0); - for (int l = ID_STATUS_OFFLINE; l <= ID_STATUS_OUTTOLUNCH; l++) - { - if (status_modes & Proto_Status2Flag(l) || l == ID_STATUS_OFFLINE) - { + for (int l = ID_STATUS_OFFLINE; l <= ID_STATUS_OUTTOLUNCH; l++) { + if (status_modes & Proto_Status2Flag(l) || l == ID_STATUS_OFFLINE) { int index = SendDlgItemMessage(hwndDlg, IDC_LISTSTATUS, LB_INSERTSTRING, -1, (LPARAM)Clist_GetStatusModeDescription(l, 0)); - if (index != LB_ERR && index != LB_ERRSPACE) - { + if (index != LB_ERR && index != LB_ERRSPACE) { SendDlgItemMessage(hwndDlg, IDC_LISTSTATUS, LB_SETITEMDATA, (WPARAM)index, (LPARAM)l - ID_STATUS_OFFLINE); if (data->status[i] == l) newindex = index; @@ -1591,8 +1463,7 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa } int index = SendDlgItemMessage(hwndDlg, IDC_LISTSTATUS, LB_INSERTSTRING, -1, (LPARAM)TranslateT("")); - if (index != LB_ERR && index != LB_ERRSPACE) - { + if (index != LB_ERR && index != LB_ERRSPACE) { SendDlgItemMessage(hwndDlg, IDC_LISTSTATUS, LB_SETITEMDATA, (WPARAM)index, (LPARAM)ID_STATUS_CURRENT - ID_STATUS_OFFLINE); if (data->status[i] == ID_STATUS_CURRENT) newindex = index; @@ -1610,22 +1481,18 @@ static INT_PTR CALLBACK DlgStatusOptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wPa case IDC_LISTSTATUS: switch (HIWORD(wParam)) { case LBN_SELCHANGE: - { - int i = SendMessage((HWND)lParam, LB_GETITEMDATA, (WPARAM)SendMessage((HWND)lParam, LB_GETCURSEL, 0, 0), 0); - int j = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); - data->status[j] = i + ID_STATUS_OFFLINE; - break; - } + int i = SendMessage((HWND)lParam, LB_GETITEMDATA, (WPARAM)SendMessage((HWND)lParam, LB_GETCURSEL, 0, 0), 0); + int j = SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_LISTPROTO, LB_GETCURSEL, 0, 0), 0); + data->status[j] = i + ID_STATUS_OFFLINE; + break; } break; } break; case WM_NOTIFY: - if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) - { - for (int i = 0; i < accounts->count; i++) - { + if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) { + for (int i = 0; i < accounts->count; i++) { auto *pa = accounts->pa[i]; if (!pa->IsEnabled() || !(CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0)&~CallProtoService(pa->szModuleName, PS_GETCAPS, PFLAGNUM_5, 0))) continue; diff --git a/plugins/SimpleStatusMsg/src/version.h b/plugins/SimpleStatusMsg/src/version.h index 2b0c1c8398..10aad3945c 100644 --- a/plugins/SimpleStatusMsg/src/version.h +++ b/plugins/SimpleStatusMsg/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 1 #define __MINOR_VERSION 9 #define __RELEASE_NUM 0 -#define __BUILD_NUM 6 +#define __BUILD_NUM 7 #include diff --git a/src/core/stdmsg/src/chat_manager.cpp b/src/core/stdmsg/src/chat_manager.cpp index d55671f558..fd0bf8cf8a 100644 --- a/src/core/stdmsg/src/chat_manager.cpp +++ b/src/core/stdmsg/src/chat_manager.cpp @@ -199,6 +199,7 @@ static void ShowRoom(SESSION_INFO *si) pDlg->SetParent(pContainer->GetHwnd()); pDlg->Create(); pContainer->Show(); + pContainer->FixTabIcons(pDlg); PostMessage(pContainer->GetHwnd(), WM_SIZE, 0, 0); } diff --git a/src/core/stdmsg/src/chat_window.cpp b/src/core/stdmsg/src/chat_window.cpp index a015311e85..61600f5619 100644 --- a/src/core/stdmsg/src/chat_window.cpp +++ b/src/core/stdmsg/src/chat_window.cpp @@ -197,6 +197,15 @@ void CChatRoomDlg::onSplitterY(CSplitter *pSplitter) ///////////////////////////////////////////////////////////////////////////////////////// +int CChatRoomDlg::GetImageId() const +{ + if (m_si->wState & GC_EVENT_HIGHLIGHT) + return 0; + + MODULEINFO *mi = pci->MM_FindModule(m_si->pszModule); + return (m_si->wStatus == ID_STATUS_ONLINE) ? mi->OnlineIconIndex : mi->OfflineIconIndex; +} + void CChatRoomDlg::LoadSettings() { m_clrInputBG = db_get_dw(0, CHAT_MODULE, "ColorMessageBG", GetSysColor(COLOR_WINDOW)); diff --git a/src/core/stdmsg/src/globals.cpp b/src/core/stdmsg/src/globals.cpp index 353bd8bf17..4a3632a363 100644 --- a/src/core/stdmsg/src/globals.cpp +++ b/src/core/stdmsg/src/globals.cpp @@ -153,6 +153,9 @@ void InitGlobals() db_unset(0, SRMMMOD, "HideNames"); } + if (!g_dat.bSendOnEnter && !g_dat.bSendOnDblEnter) + g_dat.bSendOnCtrlEnter = true; + HookEvent(ME_DB_EVENT_ADDED, dbaddedevent); HookEvent(ME_PROTO_ACK, ackevent); HookEvent(ME_SKIN2_ICONSCHANGED, IconsChanged); diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp index a65857539a..d1d63b4562 100644 --- a/src/core/stdmsg/src/msgdialog.cpp +++ b/src/core/stdmsg/src/msgdialog.cpp @@ -453,6 +453,11 @@ void CSrmmWindow::OnSplitterMoved(CSplitter *pSplitter) ///////////////////////////////////////////////////////////////////////////////////////// +int CSrmmWindow::GetImageId() const +{ + return (WORD)pcli->pfnIconFromStatusMode(m_szProto, m_wStatus, m_hContact); +} + void CSrmmWindow::NotifyTyping(int mode) { if (!m_hContact) @@ -647,8 +652,9 @@ void CSrmmWindow::UpdateTitle() if (m_hContact && m_szProto) { m_wStatus = db_get_w(m_hContact, m_szProto, "Status", ID_STATUS_OFFLINE); wchar_t *contactName = Clist_GetContactDisplayName(m_hContact); + wchar_t *szStatus = Clist_GetStatusModeDescription(m_wStatus, 0); + mir_snwprintf(newtitle, L"%s (%s): %s", contactName, szStatus, TranslateT("Message session")); - mir_snwprintf(newtitle, L"%s - %s", contactName, TranslateT("Message session")); m_wOldStatus = m_wStatus; } else mir_wstrncpy(newtitle, TranslateT("Message session"), _countof(newtitle)); diff --git a/src/core/stdmsg/src/msgs.h b/src/core/stdmsg/src/msgs.h index 3d5e443517..a1853a08a2 100644 --- a/src/core/stdmsg/src/msgs.h +++ b/src/core/stdmsg/src/msgs.h @@ -53,6 +53,11 @@ protected: CMsgDialog(int idDialog, SESSION_INFO *si = nullptr); + virtual int GetImageId() const PURE; + + virtual const char* GetProto() const PURE; + virtual int GetStatus() const PURE; + virtual void OnActivate() PURE; INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override; @@ -124,7 +129,11 @@ public: INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override; int Resizer(UTILRESIZECONTROL *urc) override; - + + virtual const char* GetProto() const { return m_szProto; } + virtual int GetStatus() const { return m_wStatus; } + + int GetImageId() const override; void LoadSettings() override {} void ScrollToBottom() override; void SetStatusText(const wchar_t*, HICON) override; @@ -179,6 +188,10 @@ public: INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override; int Resizer(UTILRESIZECONTROL *urc) override; + virtual const char* GetProto() const { return m_si->pszModule; } + virtual int GetStatus() const { return m_si->wStatus; } + + int GetImageId() const override; void LoadSettings() override; void RedrawLog() override; void StreamInEvents(LOGINFO *lin, bool bRedraw) override; diff --git a/src/core/stdmsg/src/stdafx.h b/src/core/stdmsg/src/stdafx.h index c9f458a840..7d19e3b7a9 100644 --- a/src/core/stdmsg/src/stdafx.h +++ b/src/core/stdmsg/src/stdafx.h @@ -70,6 +70,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include #include +///////////////////////////////////////////////////////////////////////////////////////// + +struct MODULEINFO : public GCModuleInfoBase +{ + HICON hOnlineIcon, hOfflineIcon; + int OnlineIconIndex, OfflineIconIndex; +}; + +struct SESSION_INFO : public GCSessionInfoBase {}; +struct LOGSTREAMDATA : public GCLogStreamDataBase {}; + #include "cmdlist.h" #include "msgs.h" #include "globals.h" @@ -86,15 +97,6 @@ extern HINSTANCE g_hInst; ///////////////////////////////////////////////////////////////////////////////////////// -struct MODULEINFO : public GCModuleInfoBase -{ - HICON hOnlineIcon, hOfflineIcon; - int OnlineIconIndex, OfflineIconIndex; -}; - -struct SESSION_INFO : public GCSessionInfoBase {}; -struct LOGSTREAMDATA : public GCLogStreamDataBase {}; - struct GlobalLogSettings : public GlobalLogSettingsBase { int iX, iY; @@ -155,7 +157,7 @@ public: CTabbedWindow* AddPage(MCONTACT hContact, wchar_t *pwszText = nullptr, int iActivate = -1); void AddPage(SESSION_INFO*, int insertAt = -1); - void FixTabIcons(CSrmmBaseDialog*); + void FixTabIcons(CMsgDialog*); void SetMessageHighlight(CChatRoomDlg*); void SetTabHighlight(CChatRoomDlg*); void TabClicked(); diff --git a/src/core/stdmsg/src/tabs.cpp b/src/core/stdmsg/src/tabs.cpp index ba2e2670c5..f185a1de1f 100644 --- a/src/core/stdmsg/src/tabs.cpp +++ b/src/core/stdmsg/src/tabs.cpp @@ -279,34 +279,34 @@ void CTabbedWindow::AddPage(SESSION_INFO *si, int insertAt) m_tab.ActivatePage(indexfound); } -void CTabbedWindow::FixTabIcons(CSrmmBaseDialog *pDlg) +void CTabbedWindow::FixTabIcons(CMsgDialog *pDlg) { if (pDlg == nullptr) return; - int idx = m_tab.GetDlgIndex(pDlg); - if (idx == -1) - return; + int image = pDlg->GetImageId(); + + // if tabs are turned off, simply change the window's icon, otherwise set the tab's icon first + if (pDlg != m_pEmbed) { + int idx = m_tab.GetDlgIndex(pDlg); + if (idx == -1) + return; - int image = 0; - if (SESSION_INFO *si = ((CChatRoomDlg*)pDlg)->m_si) { - if (!(si->wState & GC_EVENT_HIGHLIGHT)) { - MODULEINFO *mi = pci->MM_FindModule(si->pszModule); - image = (si->wStatus == ID_STATUS_ONLINE) ? mi->OnlineIconIndex : mi->OfflineIconIndex; + TCITEM tci = {}; + tci.mask = TCIF_IMAGE; + TabCtrl_GetItem(m_tab.GetHwnd(), idx, &tci); + if (tci.iImage != image) { + tci.iImage = image; + TabCtrl_SetItem(m_tab.GetHwnd(), idx, &tci); } - } - else image = pcli->pfnIconFromStatusMode(GetContactProto(pDlg->m_hContact), Contact_GetStatus(pDlg->m_hContact), pDlg->m_hContact); - - TCITEM tci = {}; - tci.mask = TCIF_IMAGE; - TabCtrl_GetItem(m_tab.GetHwnd(), idx, &tci); - if (tci.iImage != image) { - tci.iImage = image; - TabCtrl_SetItem(m_tab.GetHwnd(), idx, &tci); + + // set the container's icon only if we're processing the current page + if (pDlg != m_tab.GetActivePage()) + return; } - if (pDlg == m_tab.GetActivePage()) - SendMessage(m_hwnd, WM_SETICON, 0, (LPARAM)ImageList_GetIcon(Clist_GetImageList(), image, 0)); + Window_FreeIcon_IcoLib(m_hwnd); + Window_SetProtoIcon_IcoLib(m_hwnd, pDlg->GetProto(), pDlg->GetStatus()); } void CTabbedWindow::SaveWindowPosition(bool bUpdateSession) -- cgit v1.2.3