1 /* This file is part of the KDE project
2 Copyright (C) 2008 Matthias Kretz <kretz@kde.org>
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) version 3, or any
8 later version accepted by the membership of KDE e.V. (or its
9 successor approved by the membership of KDE e.V.), Trolltech ASA
10 (or its successors, if any) and the KDE Free Qt Foundation, which shall
11 act as a proxy defined in Section 6 of version 3 of the license.
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library. If not, see <http://www.gnu.org/licenses/>.
23 #include <QtCore/QCoreApplication>
24 #include <QtCore/QDir>
25 #include <QtCore/QSettings>
26 #include <QtCore/QStringList>
27 #include <kcomponentdata.h>
29 #include <kstandarddirs.h>
31 int main(int argc
, char **argv
)
33 QCoreApplication
app(argc
, argv
);
34 QSettings
settings(QLatin1String("Trolltech"));
35 QString qversion
= qVersion();
36 if (qversion
.count('.') > 1) {
37 qversion
.truncate(qversion
.lastIndexOf('.'));
39 if (qversion
.contains('-')) {
40 qversion
.truncate(qversion
.lastIndexOf('-'));
42 const QString
&libPathKey
= QString("/qt/%1/libraryPath").arg(qversion
);
45 KComponentData
kcd("krdb libraryPath fix");
46 const QStringList
&plugins
= KGlobal::dirs()->resourceDirs("qtplugins");
47 foreach (const QString
&_path
, plugins
) {
48 QString path
= QDir(_path
).canonicalPath();
49 if (path
.isEmpty() || kdeAdded
.contains(path
)) {
52 kdeAdded
.prepend(path
);
53 if (path
.contains("/lib64/")) {
54 path
.replace("/lib64/", "/lib/");
55 if (!kdeAdded
.contains(path
)) {
56 kdeAdded
.prepend(path
);
60 QStringList libraryPath
;
61 foreach (const QString
&path
, const_cast<const QStringList
&>(kdeAdded
)) {
62 libraryPath
.append(path
);
65 // Write the list out..
66 settings
.setValue("/qt/KDE/kdeAddedLibraryPaths", kdeAdded
);
67 settings
.setValue(libPathKey
, libraryPath
.join(QLatin1String(":")));