summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2010-09-25 03:15:26 +0200
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2010-09-25 03:15:26 +0200
commit661d16e98c62dfff40f481177bf3f1a0c58c2124 (patch)
treea415866c4c94a0a0c53045a47220ca413ae9c5c9 /src/utils
parent758d80263b1647c712c0e0cdd3dfca9945a1bb7e (diff)
parent7d0738df0d139af3175fcc1fec5b9be4a467f4f4 (diff)
downloadmana-client-661d16e98c62dfff40f481177bf3f1a0c58c2124.tar.gz
mana-client-661d16e98c62dfff40f481177bf3f1a0c58c2124.tar.bz2
mana-client-661d16e98c62dfff40f481177bf3f1a0c58c2124.tar.xz
mana-client-661d16e98c62dfff40f481177bf3f1a0c58c2124.zip
Merge branch '1.0'
Conflicts: src/actorspritemanager.h src/beingmanager.cpp src/game.cpp src/gui/beingpopup.cpp src/gui/chat.cpp src/gui/chat.h src/gui/inventorywindow.h src/gui/itempopup.cpp src/gui/socialwindow.cpp src/gui/statuswindow.cpp src/gui/widgets/chattab.cpp src/gui/widgets/chattab.h src/net/tmwa/inventoryhandler.cpp src/net/tmwa/partyhandler.cpp src/party.cpp src/sound.cpp src/utils/stringutils.cpp src/utils/stringutils.h
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/stringutils.cpp35
-rw-r--r--src/utils/stringutils.h4
2 files changed, 39 insertions, 0 deletions
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index 3988c769..4726f8a7 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -187,3 +187,38 @@ bool getBoolFromString(const std::string &text)
else
return (bool) atoi(txt.c_str());
}
+
+std::string autocomplete(std::vector<std::string> &candidates,
+ std::string base)
+{
+ std::vector<std::string>::iterator i = candidates.begin();
+ toLower(base);
+ std::string newName("");
+
+ while (i != candidates.end())
+ {
+ if (!i->empty())
+ {
+ std::string name = *i;
+ toLower(name);
+
+ std::string::size_type pos = name.find(base, 0);
+ if (pos == 0)
+ {
+ if (newName != "")
+ {
+ toLower(newName);
+ newName = findSameSubstring(name, newName);
+ }
+ else
+ {
+ newName = *i;
+ }
+ }
+ }
+
+ ++i;
+ }
+
+ return newName;
+}
diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h
index 7c14b1e5..012ae98f 100644
--- a/src/utils/stringutils.h
+++ b/src/utils/stringutils.h
@@ -24,6 +24,7 @@
#include <string>
#include <sstream>
+#include <vector>
/**
* Trims spaces off the end and the beginning of the given string.
@@ -133,4 +134,7 @@ const char* getSafeUtf8String(std::string text);
*/
bool getBoolFromString(const std::string &text);
+std::string autocomplete(std::vector<std::string> &candidates,
+ std::string base);
+
#endif // UTILS_STRINGUTILS_H