summaryrefslogtreecommitdiffstats
path: root/kcontrol/background/bghash.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kcontrol/background/bghash.h
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kcontrol/background/bghash.h')
-rw-r--r--kcontrol/background/bghash.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/kcontrol/background/bghash.h b/kcontrol/background/bghash.h
new file mode 100644
index 000000000..932c6ebab
--- /dev/null
+++ b/kcontrol/background/bghash.h
@@ -0,0 +1,22 @@
+#ifndef BGHASH_H
+#define BGHASH_H
+
+/*
+ * QString -> int hash. From Qt's QGDict::hashKeyString().
+ */
+
+static int QHash(QString key)
+{
+ int g, h = 0;
+ const QChar *p = key.unicode();
+ for (unsigned i=0; i < key.length(); i++) {
+ h = (h << 4) + p[i].cell();
+ if ((g = (h & 0xf0000000)))
+ h ^= (g >> 24);
+ h &= ~g;
+ }
+ return h;
+}
+
+#endif
+