proparser.h

上传用户:binglan008
上传日期:2007-01-28
资源大小:53508k
文件大小:3k
源码类别:Linux/Unix编程
开发平台:MultiPlatform
  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
  4. **
  5. ** This file is part of the Qt Linguist of the Qt Toolkit.
  6. **
  7. ** This file may be used under the terms of the GNU General Public
  8. ** License version 2.0 as published by the Free Software Foundation
  9. ** and appearing in the file LICENSE.GPL included in the packaging of
  10. ** this file.  Please review the following information to ensure GNU
  11. ** General Public Licensing requirements will be met:
  12. ** http://trolltech.com/products/qt/licenses/licensing/opensource/
  13. **
  14. ** If you are unsure which license is appropriate for your use, please
  15. ** review the following information:
  16. ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
  17. ** or contact the sales department at sales@trolltech.com.
  18. **
  19. ** In addition, as a special exception, Trolltech gives you certain
  20. ** additional rights. These rights are described in the Trolltech GPL
  21. ** Exception version 1.0, which can be found at
  22. ** http://www.trolltech.com/products/qt/gplexception/ and in the file
  23. ** GPL_EXCEPTION.txt in this package.
  24. **
  25. ** In addition, as a special exception, Trolltech, as the sole copyright
  26. ** holder for Qt Designer, grants users of the Qt/Eclipse Integration
  27. ** plug-in the right for the Qt/Eclipse Integration to link to
  28. ** functionality provided by Qt Designer and its related libraries.
  29. **
  30. ** Trolltech reserves all rights not expressly granted herein.
  31. **
  32. ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  33. ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  34. **
  35. ****************************************************************************/
  36. #ifndef PROPARSER_H
  37. #define PROPARSER_H
  38. #include "profileevaluator.h"
  39. // Subclass it to intercept the logMessage method
  40. class ProFileTranslationsScanner : public ProFileEvaluator {
  41. public:
  42.     ProFileTranslationsScanner(bool verbose) : ProFileEvaluator() 
  43.     {
  44.         m_verbose = verbose;
  45.     }
  46.     ProFile *queryProFile(const QString &filename) {
  47.         return ProFileEvaluator::queryProFile(filename);
  48.     }
  49. private:
  50.     /* reimp */
  51.     void logMessage(const LogMessage &msg) {
  52.         if (m_verbose && (msg.m_type == ProFileEvaluator::MT_DebugLevel1
  53.             || msg.m_type == ProFileEvaluator::MT_Error)) {
  54.             ProFileEvaluator::logMessage(msg);
  55.         }
  56.     }
  57. private:
  58.     bool m_verbose;
  59. };
  60. #endif
  61. void removeDuplicates(QStringList *strings, bool alreadySorted = true);
  62. bool evaluateProFile(const QString &fileName, bool verbose, QMap<QByteArray, QStringList> *varMap);
  63. QStringList getListOfProfiles(const QStringList &proFiles, bool verbose);