From a8698c4d671cf3c957f2d67a4e8cedde49dae8a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Mon, 22 Jun 2009 18:53:35 +0200
Subject: Use lowercase app name for application dir on Un*x systems.


diff --git a/Swiften/Application/Unix/UnixApplication.h b/Swiften/Application/Unix/UnixApplication.h
index 8cf6feb..0b7bf67 100644
--- a/Swiften/Application/Unix/UnixApplication.h
+++ b/Swiften/Application/Unix/UnixApplication.h
@@ -16,7 +16,7 @@ namespace Swift {
 			}
 
 			boost::filesystem::path getSettingsDir() const {
-				boost::filesystem::path result(getHomeDir() / ("." + getName().getUTF8String()));
+				boost::filesystem::path result(getHomeDir() / ("." + getName().getLowerCase().getUTF8String()));
 				boost::filesystem::create_directory(result);
 				return result;
 			}
diff --git a/Swiften/Base/String.cpp b/Swiften/Base/String.cpp
index 88692b7..52d1f2c 100644
--- a/Swiften/Base/String.cpp
+++ b/Swiften/Base/String.cpp
@@ -89,5 +89,10 @@ void String::replaceAll(char c, const String& s) {
 	}
 }
 
+String String::getLowerCase() const {
+	std::string lower(data_);
+	std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
+	return String(lower);
+}
 
 }
diff --git a/Swiften/Base/String.h b/Swiften/Base/String.h
index 0bc79bf..0da2e39 100644
--- a/Swiften/Base/String.h
+++ b/Swiften/Base/String.h
@@ -38,6 +38,7 @@ namespace Swift {
 			std::pair<String,String> getSplittedAtFirst(char c) const;
 
 			size_t getLength() const;
+      String getLowerCase() const;
 
 			void removeAll(char c);
 
diff --git a/Swiften/Base/UnitTest/StringTest.cpp b/Swiften/Base/UnitTest/StringTest.cpp
index 0b7d207..2fa9f54 100644
--- a/Swiften/Base/UnitTest/StringTest.cpp
+++ b/Swiften/Base/UnitTest/StringTest.cpp
@@ -23,6 +23,7 @@ class StringTest : public CppUnit::TestFixture
 		CPPUNIT_TEST(testReplaceAll_LastChar);
 		CPPUNIT_TEST(testReplaceAll_ConsecutiveChars);
 		CPPUNIT_TEST(testReplaceAll_MatchingReplace);
+    CPPUNIT_TEST(testGetLowerCase);
 		CPPUNIT_TEST_SUITE_END();
 
 	public:
@@ -141,6 +142,12 @@ class StringTest : public CppUnit::TestFixture
 			
 			CPPUNIT_ASSERT_EQUAL(String("abbbc"), testling);
 		}
+
+    void testGetLowerCase() {
+			String testling("aBcD e");
+
+      CPPUNIT_ASSERT_EQUAL(String("abcd e"), testling.getLowerCase());
+    }
 };
 
 CPPUNIT_TEST_SUITE_REGISTRATION(StringTest);
-- 
cgit v0.10.2-6-g49f6