From: Helio C. de C. <he...@kd...> - 2014-11-03 19:41:57
|
Good evening After some work on packaging, i found several places with datadirs hardcoded on lxqt, others on lxqt-qt5, sometimes both in install. I made some small patches to the packages to install everything on lxqt-qt5, but this patches are unsuitable for upstream, and need be away for a proper solutions. An example, this snippet can be found on liblxqt/lxqtsettings.cpp /--------------------------------------- QList<LxQtTheme> LxQtTheme::allThemes() { QList<LxQtTheme> ret; QSet<QString> processed; QStringList paths; paths << XdgDirs::dataHome(false); paths << XdgDirs::dataDirs(); foreach(QString path, paths) { QDir dir(QString("%1/lxqt/themes").arg(path)); ... /--------------------------------------------------------- This, by default, force every theme been search on global /usr/share/lxqt/themes, and themes come installed on lxqt-qt5 if you tell to system compile on Qt5. Here's my proposal: 1 - Assume the default directory for LXQt resources as *lxqt* , doesn't matter if is qt4 or qt5 compilation. Is all resources at all 2 - Create accessory functions on liblxqt like getLXQtDataDir() ehich returns the data dir, so no need to have hardcoded anymore the place, and with posibility to be replaced by setting a Cmake entry if someone doesn't want the default path for some reason The function above would be something like this: QDir dir(QString("%1/%2/themes").arg(path).arg(getLXQtDataDir())); And the accessory functions need to be an static defined on global liblxqt. 3 - Plugins installed on standard qt directory, which means doesn't matter which qt we are compiling, will never be confused. And we use Qt framework in our gain. I'm up to do that if this is an acceptable solution, i just need some input on where in liblxqt we can add this accessory functions or we need create an official lxqtglobals.cpp static resources. Thanks in advance Helio Chissini de Castro KDE Project / Fedora / RedHat |