[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kcontrol/fonts
From: Craig Drummond <craig () kde ! org>
Date: 2003-10-01 22:26:23
[Download RAW message or body]
CVS commit by craig:
When saving paths - replace (e.g.) /home/user with ~
M +30 -4 kxftconfig.cpp 1.24
--- kdebase/kcontrol/fonts/kxftconfig.cpp #1.23:1.24
@@ -39,4 +39,30 @@
using namespace std;
+static QString contractHome(QString path)
+{
+ if (!path.isEmpty() && '/'==path[0])
+ {
+ QString home(QDir::homeDirPath());
+
+ if(path.startsWith(home))
+ {
+ unsigned int len = home.length();
+
+ if(path.length() == len || path[len] == '/')
+ return path.replace(0, len, QString::fromLatin1("~"));
+ }
+ }
+
+ return path;
+}
+
+static QString expandHome(QString path)
+{
+ if(!path.isEmpty() && '~'==path[0])
+ return 1==path.length() ? QDir::homeDirPath() : path.replace(0, 1, QDir::homeDirPath());
+
+ return path;
+}
+
static int point2Pixel(double point)
{
@@ -826,5 +852,5 @@ void KXftConfig::readContents()
{
if(m_required&Dirs)
- m_dirs.append(new ListItem(dirSyntax(e.text()), n));
+ m_dirs.append(new ListItem(expandHome(dirSyntax(e.text())), n));
}
else if("match"==e.tagName())
@@ -960,5 +986,5 @@ void KXftConfig::readContents()
while(*ptr!='\n' && *ptr!='\0' && isWhiteSpace(*ptr))
ptr++;
- m_dirs.append(new ListItem(dirSyntax(data), from, ptr));
+ m_dirs.append(new ListItem(expandHome(dirSyntax(data)), from, ptr));
}
}
@@ -1067,5 +1093,5 @@ void KXftConfig::applyDirs()
{
QDomElement newNode = m_doc.createElement("dir");
- QDomText text = m_doc.createTextNode(xDirSyntax(item->str));
+ QDomText text = m_doc.createTextNode(contractHome(xDirSyntax(item->str)));
newNode.appendChild(text);
@@ -1214,5 +1240,5 @@ void KXftConfig::removeItems(QPtrList<Li
void KXftConfig::outputDir(std::ofstream &f, const QString &str)
{
- f << "dir \"" << xDirSyntax(str).local8Bit() << "\"" << endl;
+ f << "dir \"" << contractHome(xDirSyntax(str)).local8Bit() << "\"" << endl;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic