From 114a878c64ce6f8223cfd22d76a20eb16d177e5e Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- languages/php/phpconfigdata.cpp | 88 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 languages/php/phpconfigdata.cpp (limited to 'languages/php/phpconfigdata.cpp') diff --git a/languages/php/phpconfigdata.cpp b/languages/php/phpconfigdata.cpp new file mode 100644 index 00000000..45f27a79 --- /dev/null +++ b/languages/php/phpconfigdata.cpp @@ -0,0 +1,88 @@ +/* + Copyright (C) 2005 by Nicolas Escuder + Copyright (C) 2001 by smeier@kdevelop.org + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + version 2, License as published by the Free Software Foundation. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "kstandarddirs.h" +#include "phpconfigdata.h" +#include "domutil.h" +#include + +PHPConfigData::PHPConfigData(QDomDocument* dom) { + QString file = KStandardDirs::findExe("php"); + + if (file.isEmpty()) + file = "/usr/local/bin/php"; + + document = dom; + invocationMode = (InvocationMode) DomUtil::readIntEntry(*dom, "/kdevphpsupport/general/invocationMode", Web); + + webURL = DomUtil::readEntry(*document, "/kdevphpsupport/webInvocation/weburl"); + + phpExePath = DomUtil::readEntry(*document, "/kdevphpsupport/shell/phpexe", file); + phpIniPath = DomUtil::readEntry(*document, "/kdevphpsupport/shell/phpini"); + + phpIncludePath = DomUtil::readEntry(*document, "/kdevphpsupport/options/phpincludepath"); + phpStartupFile = DomUtil::readEntry(*document, "/kdevphpsupport/options/defaultFile"); + phpStartupFileMode = (StartupFileMode)DomUtil::readIntEntry(*document, "/kdevphpsupport/options/startupFileMode", Current); + + m_codeCompletion = DomUtil::readBoolEntry(*document,"kdevphpsupport/codeHelp/codeCompletion", true); + m_codeHinting = DomUtil::readBoolEntry(*document,"kdevphpsupport/codeHelp/codeHinting", true); + m_realtimeParsing = DomUtil::readBoolEntry(*document,"kdevphpsupport/codeHelp/realtimeParsing", true); +} + +PHPConfigData::~PHPConfigData() { +} + +void PHPConfigData::storeConfig() { + DomUtil::writeIntEntry(*document, "/kdevphpsupport/general/invocationMode",(int) invocationMode); + + DomUtil::writeEntry(*document, "/kdevphpsupport/webInvocation/weburl",webURL); + + DomUtil::writeEntry(*document, "/kdevphpsupport/shell/phpexe",phpExePath); + DomUtil::writeEntry(*document, "/kdevphpsupport/shell/phpini",phpIniPath); + + DomUtil::writeEntry(*document, "/kdevphpsupport/options/phpincludepath",phpIncludePath); + DomUtil::writeEntry(*document, "/kdevphpsupport/options/defaultFile",phpStartupFile); + DomUtil::writeIntEntry(*document, "/kdevphpsupport/options/startupFileMode",(int) phpStartupFileMode); + + DomUtil::writeBoolEntry(*document,"kdevphpsupport/codeHelp/codeCompletion",m_codeCompletion); + DomUtil::writeBoolEntry(*document,"kdevphpsupport/codeHelp/codeHinting",m_codeHinting); + DomUtil::writeBoolEntry(*document,"kdevphpsupport/codeHelp/realtimeParsing",m_realtimeParsing); + emit configStored(); // inform all others +} + +bool PHPConfigData::validateConfig(){ + bool valid = false; + if (invocationMode == Web || invocationMode == Shell) { + valid = true; + } + if (valid) { + if (invocationMode == Web) { + if (!(!webURL.isEmpty() && (phpStartupFileMode == Default || phpStartupFileMode == Current))) { + valid = false; + } + } + if (invocationMode == Shell) { + if (phpExePath.isEmpty()) { + valid = false; + } + } + } + return valid; +} +#include "phpconfigdata.moc" -- cgit v1.2.1