summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpescuma <pescuma@c086bb3d-8645-0410-b8da-73a8550f86e7>2008-03-01 20:40:05 +0000
committerpescuma <pescuma@c086bb3d-8645-0410-b8da-73a8550f86e7>2008-03-01 20:40:05 +0000
commitcb5087b8f7439b07d294ccafc74827570692dff1 (patch)
treeb7ababe151d7c3e6690f63c42f197ed532efd67b
parent416c510ec2d1aca5c8590e898e12c8afcafa2c7e (diff)
Version bump
git-svn-id: http://pescuma.googlecode.com/svn/trunk/Miranda@66 c086bb3d-8645-0410-b8da-73a8550f86e7
-rw-r--r--Plugins/emoticons/Docs/emoticons_changelog.txt1
-rw-r--r--Plugins/emoticons/Docs/emoticons_version.txt2
-rw-r--r--Plugins/emoticons/emoticons.cpp26
3 files changed, 19 insertions, 10 deletions
diff --git a/Plugins/emoticons/Docs/emoticons_changelog.txt b/Plugins/emoticons/Docs/emoticons_changelog.txt
index e4ce80a..e0090af 100644
--- a/Plugins/emoticons/Docs/emoticons_changelog.txt
+++ b/Plugins/emoticons/Docs/emoticons_changelog.txt
@@ -4,6 +4,7 @@ Changelog:
. 0.0.1.5
+ Added MySpace and AIM emoticons
+ * Fix for smileys after URL (closes issue 11)
. 0.0.1.4
* Fix for updater
diff --git a/Plugins/emoticons/Docs/emoticons_version.txt b/Plugins/emoticons/Docs/emoticons_version.txt
index 94558ce..cb5f25a 100644
--- a/Plugins/emoticons/Docs/emoticons_version.txt
+++ b/Plugins/emoticons/Docs/emoticons_version.txt
@@ -1 +1 @@
-Emoticons 0.0.1.4 \ No newline at end of file
+Emoticons 0.0.1.5 \ No newline at end of file
diff --git a/Plugins/emoticons/emoticons.cpp b/Plugins/emoticons/emoticons.cpp
index baed7c2..dabe53a 100644
--- a/Plugins/emoticons/emoticons.cpp
+++ b/Plugins/emoticons/emoticons.cpp
@@ -30,7 +30,7 @@ PLUGININFOEX pluginInfo={
#else
"Emoticons",
#endif
- PLUGIN_MAKE_VERSION(0,0,1,4),
+ PLUGIN_MAKE_VERSION(0,0,1,5),
"Emoticons",
"Ricardo Pescuma Domenecci",
"",
@@ -591,8 +591,9 @@ BOOL IsHidden(RichEditCtrl &rec, int start, int end)
}
-void ReplaceAllEmoticonsBackwards(RichEditCtrl &rec, Contact *contact, Module *module, TCHAR *text, int len, TCHAR next_char, int start, CHARRANGE &__old_sel)
+int ReplaceAllEmoticonsBackwards(RichEditCtrl &rec, Contact *contact, Module *module, TCHAR *text, int len, TCHAR next_char, int start, CHARRANGE &__old_sel)
{
+ int ret = 0;
for(int i = len; i > 0; i--)
{
int dif = ReplaceEmoticonBackwards(rec, contact, module, text, i, start + i, i == len ? next_char : text[i]);
@@ -602,23 +603,29 @@ void ReplaceAllEmoticonsBackwards(RichEditCtrl &rec, Contact *contact, Module *m
FixSelection(__old_sel.cpMin, i, dif);
i += dif;
+ ret += dif;
}
}
+ return ret;
}
-void ReplaceAllEmoticonsBackwards(RichEditCtrl &rec, Contact *contact, Module *module)
+int ReplaceAllEmoticonsBackwards(RichEditCtrl &rec, Contact *contact, Module *module)
{
+ int ret;
+
STOP_RICHEDIT(rec);
TCHAR *text = GetText(rec, 0, -1);
int len = lstrlen(text);
- ReplaceAllEmoticonsBackwards(rec, contact, module, text, len, _T('\0'), 0, __old_sel);
+ ret = ReplaceAllEmoticonsBackwards(rec, contact, module, text, len, _T('\0'), 0, __old_sel);
MIR_FREE(text);
START_RICHEDIT(rec);
+
+ return ret;
}
@@ -642,6 +649,7 @@ void ReplaceAllEmoticons(RichEditCtrl &rec, Contact *contact, Module *module, in
TCHAR *text = GetText(rec, start, end);
int len = lstrlen(text);
+ int diff = 0;
int last_start_pos = 0;
BOOL replace = TRUE;
HANDLE hContact = (contact == NULL ? NULL : contact->hContact);
@@ -656,7 +664,7 @@ void ReplaceAllEmoticons(RichEditCtrl &rec, Contact *contact, Module *module, in
{
if (tl = matches(webs[j], &text[i]))
{
- ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos, __old_sel);
+ diff += ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos + diff, __old_sel);
i += tl;
@@ -679,7 +687,7 @@ void ReplaceAllEmoticons(RichEditCtrl &rec, Contact *contact, Module *module, in
{
if (IsHidden(rec, start + i, start + i + tl))
{
- ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos, __old_sel);
+ diff += ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos + diff, __old_sel);
replace = FALSE;
i += tl - 1;
@@ -702,7 +710,7 @@ void ReplaceAllEmoticons(RichEditCtrl &rec, Contact *contact, Module *module, in
{
if (IsHidden(rec, start + i, start + i + tl))
{
- ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos, __old_sel);
+ diff += ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos + diff, __old_sel);
hContact = (contact == NULL ? NULL : contact->hContact);
i += tl - 1;
@@ -724,7 +732,7 @@ void ReplaceAllEmoticons(RichEditCtrl &rec, Contact *contact, Module *module, in
if (IsHidden(rec, start + i, start + i + len))
{
- ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos, __old_sel);
+ diff += ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], i - last_start_pos, _T('\0'), start + last_start_pos + diff, __old_sel);
hContact = (HANDLE) _ttoi(&text[i + tl]);
i += len - 1;
@@ -734,7 +742,7 @@ void ReplaceAllEmoticons(RichEditCtrl &rec, Contact *contact, Module *module, in
}
if (replace)
- ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], len - last_start_pos, _T('\0'), start + last_start_pos, __old_sel);
+ ReplaceAllEmoticonsBackwards(rec, contact, module, &text[last_start_pos], len - last_start_pos, _T('\0'), start + last_start_pos + diff, __old_sel);
MIR_FREE(text);