Merge branch 'master' of http://github.com/danmar/cppcheck
This commit is contained in:
commit
30f7625750
|
@ -197,6 +197,18 @@ bool CmdLineParser::ParseFromArgs(int argc, const char* const argv[])
|
|||
}
|
||||
}
|
||||
|
||||
else if (strncmp(argv[i], "--suppress=", 11) == 0)
|
||||
{
|
||||
std::string suppression = argv[i];
|
||||
suppression = suppression.substr(11);
|
||||
const std::string errmsg(_settings->nomsg.addSuppressionLine(suppression));
|
||||
if (!errmsg.empty())
|
||||
{
|
||||
PrintMessage(errmsg);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Enables inline suppressions.
|
||||
else if (strcmp(argv[i], "--inline-suppr") == 0)
|
||||
_settings->_inlineSuppressions = true;
|
||||
|
@ -628,7 +640,8 @@ void CmdLineParser::PrintHelp()
|
|||
" * information - Enable information messages\n"
|
||||
" * unusedFunction - check for unused functions\n"
|
||||
" * missingInclude - check for missing includes\n"
|
||||
" Several ids can be given if you separate them with commas.\n"
|
||||
" Several ids can be given if you separate them with\n"
|
||||
" commas.\n"
|
||||
" --error-exitcode=<n> If errors are found, integer [n] is returned instead\n"
|
||||
" of default 0. EXIT_FAILURE is returned\n"
|
||||
" if arguments are not valid or if no input files are\n"
|
||||
|
@ -638,17 +651,18 @@ void CmdLineParser::PrintHelp()
|
|||
" --exitcode-suppressions=<file>\n"
|
||||
" Used when certain messages should be displayed but\n"
|
||||
" should not cause a non-zero exitcode.\n"
|
||||
" --file-list=<file> Specify the files to check in a text file. One Filename per line.\n"
|
||||
" --file-list=<file> Specify the files to check in a text file. One Filename\n"
|
||||
" per line.\n"
|
||||
" -f, --force Force checking on files that have \"too many\"\n"
|
||||
" configurations.\n"
|
||||
" -h, --help Print this help.\n"
|
||||
" -I <dir> Give include path. Give several -I parameters to give\n"
|
||||
" several paths. First given path is checked first. If\n"
|
||||
" paths are relative to source files, this is not needed.\n"
|
||||
" -i <dir> Give path to ignore. Give several -i parameters to ignore\n"
|
||||
" several paths. Give directory name or filename with path\n"
|
||||
" as parameter. Directory name is matched to all parts of the\n"
|
||||
" path.\n"
|
||||
" -i <dir> Give path to ignore. Give several -i parameters to\n"
|
||||
" ignore several paths. Give directory name or filename\n"
|
||||
" with path as parameter. Directory name is matched to\n"
|
||||
" all parts of the path.\n"
|
||||
" --inline-suppr Enable inline suppressions. Use them by placing one or\n"
|
||||
" more comments, like: // cppcheck-suppress warningId\n"
|
||||
" on the lines before the warning to suppress.\n"
|
||||
|
@ -659,11 +673,12 @@ void CmdLineParser::PrintHelp()
|
|||
" --rule-file=<file> Use given rule file. For more information, see: \n"
|
||||
" https://sourceforge.net/projects/cppcheck/files/Articles/\n"
|
||||
" -s, --style Deprecated, use --enable=style\n"
|
||||
" --suppressions-list=<file>\n"
|
||||
" Suppress warnings listed in the file. Filename and line\n"
|
||||
" are optional in the suppression file. The format of the\n"
|
||||
" single line in the suppression file is:\n"
|
||||
" --suppress=<spec> Suppress a specific warning. The format of <spec> is:\n"
|
||||
" [error id]:[filename]:[line]\n"
|
||||
" The [filename] and [line] are optional.\n"
|
||||
" --suppressions-list=<file>\n"
|
||||
" Suppress warnings listed in the file. Each suppression\n"
|
||||
" is in the same format as <spec> above.\n"
|
||||
" --template '<text>' Format the error messages. E.g.\n"
|
||||
" '{file}:{line},{severity},{id},{message}' or\n"
|
||||
" '{file}({line}):({severity}) {message}'\n"
|
||||
|
|
|
@ -27,7 +27,8 @@
|
|||
|
||||
|
||||
ApplicationList::ApplicationList(QObject *parent) :
|
||||
QObject(parent)
|
||||
QObject(parent),
|
||||
mDefaultApplicationIndex(-1)
|
||||
{
|
||||
//ctor
|
||||
}
|
||||
|
@ -42,6 +43,7 @@ void ApplicationList::LoadSettings(QSettings *programSettings)
|
|||
|
||||
QStringList names = programSettings->value(SETTINGS_APPLICATION_NAMES, QStringList()).toStringList();
|
||||
QStringList paths = programSettings->value(SETTINGS_APPLICATION_PATHS, QStringList()).toStringList();
|
||||
int defapp = programSettings->value(SETTINGS_APPLICATION_DEFAULT, -1).toInt();
|
||||
|
||||
if (names.empty() && paths.empty())
|
||||
{
|
||||
|
@ -50,28 +52,37 @@ void ApplicationList::LoadSettings(QSettings *programSettings)
|
|||
// use as default for gnome environments
|
||||
if (QFileInfo("/usr/bin/gedit").isExecutable())
|
||||
{
|
||||
AddApplicationType("gedit", "/usr/bin/gedit +(line) (file)");
|
||||
AddApplication("gedit", "/usr/bin/gedit +(line) (file)");
|
||||
defapp = 0;
|
||||
break;
|
||||
}
|
||||
// use as default for kde environments
|
||||
if (QFileInfo("/usr/bin/kate").isExecutable())
|
||||
{
|
||||
AddApplicationType("kate", "/usr/bin/kate -l(line) (file)");
|
||||
AddApplication("kate", "/usr/bin/kate -l(line) (file)");
|
||||
defapp = 0;
|
||||
break;
|
||||
}
|
||||
// use as default for windows environments
|
||||
if (FindDefaultWindowsEditor())
|
||||
{
|
||||
defapp = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (0);
|
||||
}
|
||||
|
||||
if (names.size() == paths.size())
|
||||
if (names.size() > 0 && (names.size() == paths.size()))
|
||||
{
|
||||
for (int i = 0; i < names.size(); i++)
|
||||
{
|
||||
AddApplicationType(names[i], paths[i]);
|
||||
}
|
||||
AddApplication(names[i], paths[i]);
|
||||
|
||||
if (defapp == -1)
|
||||
mDefaultApplicationIndex = 0;
|
||||
else if (defapp < names.size())
|
||||
mDefaultApplicationIndex = defapp;
|
||||
else
|
||||
mDefaultApplicationIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,6 +99,7 @@ void ApplicationList::SaveSettings(QSettings *programSettings)
|
|||
|
||||
programSettings->setValue(SETTINGS_APPLICATION_NAMES, names);
|
||||
programSettings->setValue(SETTINGS_APPLICATION_PATHS, paths);
|
||||
programSettings->setValue(SETTINGS_APPLICATION_DEFAULT, mDefaultApplicationIndex);
|
||||
|
||||
}
|
||||
|
||||
|
@ -117,9 +129,9 @@ QString ApplicationList::GetApplicationPath(const int index) const
|
|||
|
||||
}
|
||||
|
||||
void ApplicationList::SetApplicationType(const int index,
|
||||
const QString &name,
|
||||
const QString &path)
|
||||
void ApplicationList::SetApplication(const int index,
|
||||
const QString &name,
|
||||
const QString &path)
|
||||
{
|
||||
if (index >= 0 && index < mApplications.size())
|
||||
{
|
||||
|
@ -128,7 +140,7 @@ void ApplicationList::SetApplicationType(const int index,
|
|||
}
|
||||
}
|
||||
|
||||
void ApplicationList::AddApplicationType(const QString &name, const QString &path)
|
||||
void ApplicationList::AddApplication(const QString &name, const QString &path)
|
||||
{
|
||||
if (name.isEmpty() || path.isEmpty())
|
||||
{
|
||||
|
@ -146,15 +158,15 @@ void ApplicationList::RemoveApplication(const int index)
|
|||
mApplications.removeAt(index);
|
||||
}
|
||||
|
||||
void ApplicationList::MoveFirst(const int index)
|
||||
void ApplicationList::SetDefault(const int index)
|
||||
{
|
||||
if (index < mApplications.size() && index > 0)
|
||||
if (index < mApplications.size() && index >= 0)
|
||||
{
|
||||
mApplications.move(index, 0);
|
||||
mDefaultApplicationIndex = index;
|
||||
}
|
||||
}
|
||||
|
||||
void ApplicationList::Copy(ApplicationList *list)
|
||||
void ApplicationList::Copy(const ApplicationList *list)
|
||||
{
|
||||
if (!list)
|
||||
{
|
||||
|
@ -164,13 +176,15 @@ void ApplicationList::Copy(ApplicationList *list)
|
|||
Clear();
|
||||
for (int i = 0; i < list->GetApplicationCount(); i++)
|
||||
{
|
||||
AddApplicationType(list->GetApplicationName(i), list->GetApplicationPath(i));
|
||||
AddApplication(list->GetApplicationName(i), list->GetApplicationPath(i));
|
||||
}
|
||||
mDefaultApplicationIndex = list->GetDefaultApplication();
|
||||
}
|
||||
|
||||
void ApplicationList::Clear()
|
||||
{
|
||||
mApplications.clear();
|
||||
mDefaultApplicationIndex = -1;
|
||||
}
|
||||
|
||||
bool ApplicationList::FindDefaultWindowsEditor()
|
||||
|
@ -179,7 +193,7 @@ bool ApplicationList::FindDefaultWindowsEditor()
|
|||
const QString notepadppPath = appPath + "\\Notepad++\\notepad++.exe";
|
||||
if (QFileInfo(notepadppPath).isExecutable())
|
||||
{
|
||||
AddApplicationType("Notepad++", "\"" + notepadppPath + "\" -n(line) (file)");
|
||||
AddApplication("Notepad++", "\"" + notepadppPath + "\" -n(line) (file)");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -187,7 +201,7 @@ bool ApplicationList::FindDefaultWindowsEditor()
|
|||
const QString notepadPath = windowsPath + "\\system32\\notepad.exe";
|
||||
if (QFileInfo(notepadPath).isExecutable())
|
||||
{
|
||||
AddApplicationType("Notepad", notepadPath + " (file)");
|
||||
AddApplication("Notepad", notepadPath + " (file)");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -56,7 +56,7 @@ public:
|
|||
typedef struct
|
||||
{
|
||||
/**
|
||||
* @brief Applicaton's name
|
||||
* @brief Application's name
|
||||
*
|
||||
*/
|
||||
QString Name;
|
||||
|
@ -106,6 +106,15 @@ public:
|
|||
*/
|
||||
QString GetApplicationPath(const int index) const;
|
||||
|
||||
/**
|
||||
* @brief Return the default application.
|
||||
* @return Index of the default application.
|
||||
*/
|
||||
int GetDefaultApplication() const
|
||||
{
|
||||
return mDefaultApplicationIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Modify an application
|
||||
*
|
||||
|
@ -113,9 +122,8 @@ public:
|
|||
* @param name New name for the application
|
||||
* @param path New path for the application
|
||||
*/
|
||||
void SetApplicationType(const int index,
|
||||
const QString &name,
|
||||
const QString &path);
|
||||
void SetApplication(const int index, const QString &name,
|
||||
const QString &path);
|
||||
|
||||
/**
|
||||
* @brief Add a new application
|
||||
|
@ -123,7 +131,7 @@ public:
|
|||
* @param name Name of the application
|
||||
* @param path Path to the application
|
||||
*/
|
||||
void AddApplicationType(const QString &name, const QString &path);
|
||||
void AddApplication(const QString &name, const QString &path);
|
||||
|
||||
/**
|
||||
* @brief Remove an application from the list
|
||||
|
@ -133,21 +141,18 @@ public:
|
|||
void RemoveApplication(const int index);
|
||||
|
||||
/**
|
||||
* @brief Move certain application as first.
|
||||
* Position of the application is used by the application to determine
|
||||
* which of the applications is the default application. First application
|
||||
* (index 0) is the default application.
|
||||
*
|
||||
* @brief Set application as default application.
|
||||
* @param index Index of the application to make the default one
|
||||
*/
|
||||
void MoveFirst(const int index);
|
||||
void SetDefault(const int index);
|
||||
|
||||
/**
|
||||
* @brief Remove all applications from this list and copy all applications from
|
||||
* list given as a parameter.
|
||||
* @param list Copying source
|
||||
*/
|
||||
void Copy(ApplicationList *list);
|
||||
void Copy(const ApplicationList *list);
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
|
@ -162,12 +167,19 @@ protected:
|
|||
*/
|
||||
bool FindDefaultWindowsEditor();
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* @brief List of applications
|
||||
*
|
||||
*/
|
||||
QList<ApplicationType> mApplications;
|
||||
private:
|
||||
|
||||
/**
|
||||
* @brief Index of the default application.
|
||||
*
|
||||
*/
|
||||
int mDefaultApplicationIndex;
|
||||
};
|
||||
/// @}
|
||||
#endif // APPLICATIONLIST_H
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
CheckThread::CheckThread(ThreadResult &result) :
|
||||
mState(Ready),
|
||||
mResult(result),
|
||||
mCppcheck(result)
|
||||
mCppcheck(result, true)
|
||||
{
|
||||
//ctor
|
||||
}
|
||||
|
|
|
@ -77,6 +77,7 @@ ShowTypes;
|
|||
#define SETTINGS_SAVE_FULL_PATH "Save full path"
|
||||
#define SETTINGS_APPLICATION_NAMES "Application names"
|
||||
#define SETTINGS_APPLICATION_PATHS "Application paths"
|
||||
#define SETTINGS_APPLICATION_DEFAULT "Default Application"
|
||||
#define SETTINGS_LANGUAGE "Application language"
|
||||
#define SETTINGS_GLOBAL_INCLUDE_PATHS "Global include paths"
|
||||
#define SETTINGS_INLINE_SUPPRESSIONS "Inline suppressions"
|
||||
|
|
|
@ -220,12 +220,12 @@ kate -l(line) (file)</translation>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -537,97 +537,103 @@ kate -l(line) (file)</translation>
|
|||
<translation>&Hilfe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Dateien zum Überprüfen auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Verzeichnis zum Überprüfen auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>Kein passenden Dateien zum Überprüfen gefunden!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>Lizenz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Autoren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML-Dateien (*.xml);;Textdateien (*.txt);;CSV-Dateien (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>Speichert die Berichtdatei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML-Dateien (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Textdateien (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation>CSV-Dateien (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -636,56 +642,56 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Fehler beim Ändern der Sprache:
|
||||
<translation type="obsolete">Fehler beim Ändern der Sprache:
|
||||
|
||||
%1
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Finnisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>Englisch</translation>
|
||||
</message>
|
||||
|
@ -695,33 +701,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation>Niederländisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Schwedisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>Deutsch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Russisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation>Polnisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -753,28 +764,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -800,18 +833,22 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>Falsche Sprache angegeben!</translation>
|
||||
<translation type="obsolete">Falsche Sprache angegeben!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation>Sprachdatei %1 nicht gefunden!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Die Übersetzungen der Sprache %1 konnten nicht aus der Datei %2 geladen werden</translation>
|
||||
|
@ -821,71 +858,71 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Schweregrad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Zeile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>Undefinierte Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Dateiname kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Vollständigen Pfad kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation>Meldung kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation>Konfigurieren Sie das Text-Dateibetrachter-Programm unter Einstellungen/Anwendungen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -894,44 +931,44 @@ Please check the application path and parameters are correct.</source>
|
|||
Bitte überprüfen Sie ob der Pfad und die Parameter der Anwendung richtig eingestellt sind.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>Stil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1003,98 +1040,121 @@ Legen Sie unter dem Menü Ansicht fest, welche Art von Fehlern angezeigt werden
|
|||
<translation>Allgemein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Anzahl der Threads: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">Alle #ifdef-Konfigurationen überprüfen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Vollständigen Dateipfad anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>"Keine Fehler gefunden"-Meldung anzeigen, wenn keine Fehler gefunden werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>Anwendungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>Anwendung hinzufügen</translation>
|
||||
<translation type="obsolete">Anwendung hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>Anwendung löschen</translation>
|
||||
<translation type="obsolete">Anwendung löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>Anwendung ändern</translation>
|
||||
<translation type="obsolete">Anwendung ändern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>Als Standard-Anwendung verwenden</translation>
|
||||
<translation type="obsolete">Als Standard-Anwendung verwenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Berichte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Alle Fehler beim Erstellen von Berichten speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Vollständigen Dateipfad in Berichten speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1102,22 +1162,27 @@ Legen Sie unter dem Menü Ansicht fest, welche Art von Fehlern angezeigt werden
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>Neue Anwendung hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>Anwendung ändern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -539,97 +539,103 @@ kate -l(line) (file)</translation>
|
|||
<translation>&Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Select files to check</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Select directory to check</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>No suitable files found to check!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>License</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Authors</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>Save the report file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML files (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Text files (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -638,54 +644,54 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Failed to change language:
|
||||
<translation type="obsolete">Failed to change language:
|
||||
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Finnish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>English</translation>
|
||||
</message>
|
||||
|
@ -695,33 +701,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Swedish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>German</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Russian</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation>Polish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation>Serbian</translation>
|
||||
</message>
|
||||
|
@ -753,28 +764,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -800,18 +833,22 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>Incorrect language specified!</translation>
|
||||
<translation type="obsolete">Incorrect language specified!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation>Could not find the file: %1!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Failed to load translation for language %1 from file %2</translation>
|
||||
|
@ -821,71 +858,71 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Severity</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Line</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>Undefined file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Copy filename</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Copy full path</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation>You can open this error by specifying applications in program's settings.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -894,44 +931,44 @@ Please check the application path and parameters are correct.</source>
|
|||
Please check the application path and parameters are correct.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>Style</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1003,98 +1040,121 @@ To toggle what kind of errors are shown, open view menu.</translation>
|
|||
<translation>General</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Number of threads: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">Check all #ifdef configurations</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Show full path of files</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>Show "No errors found" message when no errors found</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>Applications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>Add application</translation>
|
||||
<translation type="obsolete">Add application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>Delete application</translation>
|
||||
<translation type="obsolete">Delete application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>Modify application</translation>
|
||||
<translation type="obsolete">Modify application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>Set as default application</translation>
|
||||
<translation type="obsolete">Set as default application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Reports</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Save all errors when creating report</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Save full path to files in reports</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1102,22 +1162,27 @@ To toggle what kind of errors are shown, open view menu.</translation>
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>Add a new application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>Modify an application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -224,12 +224,12 @@ kate -l(line) (file)
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -541,97 +541,103 @@ kate -l(line) (file)
|
|||
<translation>&Ohje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Valitse tarkistettavat tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Valitse tarkistettava hakemisto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>Tarkistettavaksi sopivia tiedostoja ei löytynyt!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>Lisenssi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Tekijät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML-tiedostot (*.xml);;Tekstitiedostot (*.txt);;CSV-tiedostot (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>Tallenna raportti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML-tiedostot (*xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Tekstitiedostot (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -640,56 +646,56 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Ohjelman kielen vaihtaminen epäonnistui:
|
||||
<translation type="obsolete">Ohjelman kielen vaihtaminen epäonnistui:
|
||||
|
||||
%1
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Suomi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>Englanti</translation>
|
||||
</message>
|
||||
|
@ -699,33 +705,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Ruotsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>Saksa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Venäjä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation>Puola</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -757,28 +768,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -804,18 +837,22 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>Virheellinen kieli valittu!</translation>
|
||||
<translation type="obsolete">Virheellinen kieli valittu!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation>Käännöstiedostoa %1 ei löytynyt!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Käänöksen lataaminen kielelle %1 tiedostosta %2 epäonnistui</translation>
|
||||
|
@ -825,71 +862,71 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>Tiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Tyyppi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Rivi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>Määrittelemätön tiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Kopioi tiedostonimi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Kopioi tiedoston koko polku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation>Voit asetuksista määritellä muita ohjelmia joilla avata tämän virheen sisältävän tiedoston.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -898,44 +935,44 @@ Please check the application path and parameters are correct.</source>
|
|||
Tarkista että ohjelman polku ja parametrit ovat oikeat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>Tyyli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>Yleinen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1007,98 +1044,121 @@ Määrittääksesi minkä tyyppisiä virheitä näytetään, avaa näkymä valik
|
|||
<translation>Yleiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Säikeiden lukumäärä: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">Tarkista kaikki #ifdef kombinaatiot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Näytä tiedostojen täysi polku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>Näytä "virheitä ei löytynyt"-viesti jos virheitä ei löydy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>Ohjelmat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>Lisää ohjelma</translation>
|
||||
<translation type="obsolete">Lisää ohjelma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>Poista ohjelma</translation>
|
||||
<translation type="obsolete">Poista ohjelma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>Muokkaa ohjelmaa</translation>
|
||||
<translation type="obsolete">Muokkaa ohjelmaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>Aseta oletusohjelmaksi</translation>
|
||||
<translation type="obsolete">Aseta oletusohjelmaksi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Raportit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Tallenna kaikki virheet raporttia luodessa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Tallenna tiedostojen koko polku raportteihin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1106,22 +1166,27 @@ Määrittääksesi minkä tyyppisiä virheitä näytetään, avaa näkymä valik
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>Lisää uusi ohjelma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>Muokkaa ohjelmaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -339,7 +339,7 @@ kate -l(ligne) (fichier)</translation>
|
|||
%1
|
||||
|
||||
</source>
|
||||
<translation type="unfinished">Erreur lors du chargement de la langue :
|
||||
<translation type="obsolete">Erreur lors du chargement de la langue :
|
||||
|
||||
%1
|
||||
|
||||
|
@ -563,6 +563,16 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Project</name>
|
||||
|
@ -593,18 +603,34 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ProjectFileDialog</name>
|
||||
|
@ -625,7 +651,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation type="unfinished">Langue incorrecte !</translation>
|
||||
<translation type="obsolete">Langue incorrecte !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language file %1 not found!</source>
|
||||
|
@ -635,6 +661,10 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<translation type="unfinished">Erreur lors du chargement de la langue %1 depuis le fichier %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ResultsTree</name>
|
||||
|
@ -798,19 +828,19 @@ Pour configurer les erreurs affichées, ouvrez le menu d'affichage.</transl
|
|||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation type="unfinished">Ajouter une application</translation>
|
||||
<translation type="obsolete">Ajouter une application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete application</source>
|
||||
<translation type="unfinished">Supprimer l'application</translation>
|
||||
<translation type="obsolete">Supprimer l'application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modify application</source>
|
||||
<translation type="unfinished">Modifier l'application</translation>
|
||||
<translation type="obsolete">Modifier l'application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set as default application</source>
|
||||
<translation type="unfinished">Définir comme application par défaut</translation>
|
||||
<translation type="obsolete">Définir comme application par défaut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reports</source>
|
||||
|
@ -856,6 +886,26 @@ Pour configurer les erreurs affichées, ouvrez le menu d'affichage.</transl
|
|||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
|
@ -875,6 +925,10 @@ Pour configurer les erreurs affichées, ouvrez le menu d'affichage.</transl
|
|||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>StatsDialog</name>
|
||||
|
|
|
@ -208,12 +208,12 @@ kate -l(line) (file)</translation>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -525,44 +525,44 @@ kate -l(line) (file)</translation>
|
|||
<translation>ログ表示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>解析可能なファイルではありません</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation>新しいファイル/ディレクトリを解析するには現在のプロジェクトを閉じてください</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>チェック対象のファイルを選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>チェック対象のディレクトリを選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation>プロジェクト:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML ファイル (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation>レポートを開く</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
|
@ -571,103 +571,109 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
解析を停止してCppcheckを終了しますか?.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>ライセンス</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>作者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML ファイル (*.xml);;テキストファイル (*.txt);;CSV形式ファイル (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>レポートを保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>テキストファイル (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation>CSV形式ファイル (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
||||
</source>
|
||||
<translation>言語の切り替えに失敗:
|
||||
<translation type="obsolete">言語の切り替えに失敗:
|
||||
|
||||
%1
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation>Cppcheck ヘルプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation>ヘルプファイルが見つかりませんでした</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation>ヘルプファイルの読み込みに失敗しました</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation>プロジェクトファイル (*.cppcheck);;All files(*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation>プロジェクトファイルを選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation>プロジェクトファイル名を選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation>プロジェクトファイルが読み込まれていません</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
|
@ -677,38 +683,43 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -740,28 +751,54 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation>プロジェクトファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished">プロジェクト</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation>プロジェクト名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation>パス:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<translation></translation>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished">追加...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<translation>Include ディレクトリ:</translation>
|
||||
<translation type="obsolete">Include ディレクトリ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation>Defines:</translation>
|
||||
</message>
|
||||
|
@ -787,17 +824,17 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<translation>言語ファイル %1 が見つかりません!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -806,70 +843,70 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>ファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>警告種別</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation>内容</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>未定義ファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>ファイル名をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>フルパスをコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation>メッセージをコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation>非表示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<translation>メニューの「編集」→「設定」からテキストファイルを表示するアプリケーションを設定してください。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished">ファイルが見つかりません</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -878,7 +915,7 @@ Please check the application path and parameters are correct.</source>
|
|||
実行ファイルパスや引数の設定を確認してください。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
|
@ -887,37 +924,37 @@ Please select the directory where file is located.</source>
|
|||
ディレクトリにファイルが存在するか確認してください。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation>ディレクトリを選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>スタイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>エラー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation>パフォーマンス</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -988,98 +1025,121 @@ To toggle what kind of errors are shown, open view menu.</source>
|
|||
<translation>全般</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation>Include ディレクトリ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation>追加...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>解析スレッド数:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">すべての #ifdef をチェックする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>ファイルのフルパスを表示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>エラーが無いときは"エラーなし"を表示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation>cppcheck内部警告をログに表示する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>アプリケーション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>アプリケーションを追加</translation>
|
||||
<translation type="obsolete">アプリケーションを追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>アプリケーションの削除</translation>
|
||||
<translation type="obsolete">アプリケーションの削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>アプリケーション設定の変更</translation>
|
||||
<translation type="obsolete">アプリケーション設定の変更</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>デフォルトアプリケーションに設定</translation>
|
||||
<translation type="obsolete">デフォルトアプリケーションに設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>レポート</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>すべての警告/エラーを保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>ファイルのフルパスを保存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1087,22 +1147,27 @@ To toggle what kind of errors are shown, open view menu.</source>
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>新しいアプリケーションの追加</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>アプリケーションの変更</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation>include ディレクトリを選択</translation>
|
||||
</message>
|
||||
|
|
|
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -539,97 +539,103 @@ kate -l(line) (file)</translation>
|
|||
<translation>&Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Selecteer bestanden om te controleren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Selecteer een map om te controleren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>Geen geschikte bestanden gevonden om te controleren!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>Licentie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Auteurs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML bestanden (*.xml);;Tekst bestanden (*.txt);;CSV bestanden (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>Rapport opslaan </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML bestanden (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Tekst bestanden (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -638,54 +644,54 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Kon de taal niet wisselen:
|
||||
<translation type="obsolete">Kon de taal niet wisselen:
|
||||
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Fins</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>Engels</translation>
|
||||
</message>
|
||||
|
@ -695,33 +701,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation>Nederlands</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Zweeds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>Duits</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Russisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation>Pools</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -753,28 +764,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -800,18 +833,22 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>Ongeldige taal gespecifieerd!</translation>
|
||||
<translation type="obsolete">Ongeldige taal gespecifieerd!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation>Kon het taalbestand niet vinden: %1!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Kon de vertaling voor taal %1 in bestand %2 niet laden</translation>
|
||||
|
@ -821,71 +858,71 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>Bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Ernst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Regel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>Niet gedefinieerd bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Kopier bestandsnaam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Kopieer volledig pad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation>U dient een applicatie te configureren in de instellingen om deze fout in te openen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -894,44 +931,44 @@ Please check the application path and parameters are correct.</source>
|
|||
Gelieve te controleren of de het pad en de parameters correct zijn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>Stijlfouten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>Fouten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1003,98 +1040,121 @@ Gebruik het uitzicht menu om te selecteren welke fouten getoond worden.</transla
|
|||
<translation>Algemeen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Aantal threads: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">Controleer alle #ifdef combinaties</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Toon het volledige pad van bestanden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>Toon "Geen fouten gevonden" indien geen fouten gevonden werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>Applicaties</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>Applicatie toevoegen</translation>
|
||||
<translation type="obsolete">Applicatie toevoegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>Applicatie verwijderen</translation>
|
||||
<translation type="obsolete">Applicatie verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>Applicatie wijzigen</translation>
|
||||
<translation type="obsolete">Applicatie wijzigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>Configureer als standaard applicatie</translation>
|
||||
<translation type="obsolete">Configureer als standaard applicatie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Rapporten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Alle fouten opslaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Volledig pad opslaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1102,22 +1162,27 @@ Gebruik het uitzicht menu om te selecteren welke fouten getoond worden.</transla
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>Nieuwe applicatie toevoegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>Applicatie wijzigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -209,12 +209,12 @@ kate -l(line) (file)</oldsource>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -526,143 +526,141 @@ kate -l(line) (file)</oldsource>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -672,38 +670,43 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -735,28 +738,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -782,17 +807,17 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -801,114 +826,114 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -979,98 +1004,105 @@ To toggle what kind of errors are shown, open view menu.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<source>Add application</source>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1078,22 +1110,27 @@ To toggle what kind of errors are shown, open view menu.</source>
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -212,12 +212,12 @@ kate -l(line) (file)</oldsource>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -529,97 +529,103 @@ kate -l(line) (file)</oldsource>
|
|||
<translation>Помощь</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Выберите файлы для проверки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Выберите каталог для проверки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>Лицензия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Авторы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Текстовые файлы (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -628,56 +634,56 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Невозможно изменить язык приложения:
|
||||
<translation type="obsolete">Невозможно изменить язык приложения:
|
||||
|
||||
%1
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Финский</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>Английский</translation>
|
||||
</message>
|
||||
|
@ -687,33 +693,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Швецкий</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>Немецкий</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Русский</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -745,28 +756,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -792,18 +825,22 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>Выбран неверный язык!</translation>
|
||||
<translation type="obsolete">Выбран неверный язык!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Ошибка загрузки переводов для языка %1 из файла %2</translation>
|
||||
|
@ -813,115 +850,115 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>Файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Важность</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Строка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Скопировать имя файла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Скопировать полный путь</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -992,98 +1029,105 @@ To toggle what kind of errors are shown, open view menu.</source>
|
|||
<translation>Общие</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Количество потоков исполнения:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">Проверять все варианты #ifdef конфигураций</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Показывать полные пути к файлам</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>Показывать сообщение, если ошибок не найдено</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<source>Add application</source>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Отчёты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Сохранять все ошибки при создании отчёта</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Сохранять полные пути к файлам в отчётах</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1091,22 +1135,27 @@ To toggle what kind of errors are shown, open view menu.</source>
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -540,65 +540,65 @@ kate -l(line) (file)</translation>
|
|||
<translation>&Hjälp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Välj filer att kontrollera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Välj katalog som skall kontrolleras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>Inga lämpliga filer hittades!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>Licens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Utvecklare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML filer (*.xml);;Text filer (*.txt);;CSV filer (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>Spara rapport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML filer (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation>Du måste stänga projektfilen innan nya filer eller sökvägar kan väljas!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation>Projekt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation>Öppna rapportfilen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
|
@ -607,32 +607,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
Vill du stoppa analysen och avsluta Cppcheck?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Text filer (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation>CSV filer (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -641,56 +647,56 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Misslyckades med att byta språk:
|
||||
<translation type="obsolete">Misslyckades med att byta språk:
|
||||
|
||||
%1
|
||||
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation>Cppcheck Hjälp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation>Misslyckades att öppna hjälpfilen (hittades ej)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation>Misslykades att öppna hjälpfilen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation>Projektfiler (*.cppcheck);;Alla filer(*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation>Välj projektfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation>Välj Projektfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation>Inget projekt laddat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Finska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>Engelska</translation>
|
||||
</message>
|
||||
|
@ -700,33 +706,38 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
|
|||
<translation>Nederländska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Svenska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>Tyska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Ryska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation>Polska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation>Japanska</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation>Serbiska</translation>
|
||||
</message>
|
||||
|
@ -758,28 +769,58 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
|
|||
<translation>Projektfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished">Projekt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation>Projekt:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation>Sökvägar:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished">Lägg till...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse...</source>
|
||||
<translation>Bläddra...</translation>
|
||||
<translation type="obsolete">Bläddra...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<translation>Include sökvägar:</translation>
|
||||
<translation type="obsolete">Include sökvägar:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation>Defines:</translation>
|
||||
</message>
|
||||
|
@ -805,18 +846,22 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>valt språk är ej korrekt!</translation>
|
||||
<translation type="obsolete">valt språk är ej korrekt!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation>Språk filen %1 hittades ej!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Misslyckades med att ladda översättningen för %1 från filen %2</translation>
|
||||
|
@ -826,71 +871,71 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>Fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Typ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Rad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation>Sammanfattning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>Odefinierad fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Kopiera filnamn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Kopiera full sökväg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation>Kopiera meddelande</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation>Dölj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation>Konfigurera program i inställningar/program.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation>Kunde inte hitta filen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -899,7 +944,7 @@ Please check the application path and parameters are correct.</source>
|
|||
Kontrollera att sökvägen och parametrarna är korrekta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
|
@ -908,37 +953,37 @@ Please select the directory where file is located.</source>
|
|||
Välj mappen där filen finns.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation>Välj mapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>stil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>fel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation>varning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation>prestanda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation>portabilitet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation>information</translation>
|
||||
</message>
|
||||
|
@ -1010,98 +1055,121 @@ För att ställa in vilka fel som skall visas använd visa menyn.</translation>
|
|||
<translation>Allmänt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation>Include sökvägar:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation>Lägg till...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Antal trådar:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation>Optimalt värde:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation>TextLabel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation>Kontrollera alla #ifdef konfigurationer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Visa den fulla sökvägen för filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>Visa "Inga fel hittades" meddelande när inga fel hittas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation>Visa interna fel i loggen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation>Använd inline suppressions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>Program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>Lägg till program</translation>
|
||||
<translation type="obsolete">Lägg till program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>Ta bort program</translation>
|
||||
<translation type="obsolete">Ta bort program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>Ändra program</translation>
|
||||
<translation type="obsolete">Ändra program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>Ange som standard program</translation>
|
||||
<translation type="obsolete">Ange som standard program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Rapporter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Spara alla fel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Spara fulla sökvägar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation>Språk</translation>
|
||||
</message>
|
||||
|
@ -1109,22 +1177,27 @@ För att ställa in vilka fel som skall visas använd visa menyn.</translation>
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation>Ej tillgängligt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>Lägg till program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>Ändra program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation>Välj include mapp</translation>
|
||||
</message>
|
||||
|
|
|
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
|
|||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="main.ui" line="26"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<location filename="mainwindow.cpp" line="233"/>
|
||||
<location filename="mainwindow.cpp" line="524"/>
|
||||
<location filename="mainwindow.cpp" line="648"/>
|
||||
<location filename="mainwindow.cpp" line="666"/>
|
||||
<location filename="mainwindow.cpp" line="817"/>
|
||||
<location filename="mainwindow.cpp" line="202"/>
|
||||
<location filename="mainwindow.cpp" line="229"/>
|
||||
<location filename="mainwindow.cpp" line="527"/>
|
||||
<location filename="mainwindow.cpp" line="651"/>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="808"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
|
@ -539,97 +539,103 @@ kate -l(line) (file)</translation>
|
|||
<translation>&Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="249"/>
|
||||
<location filename="mainwindow.cpp" line="245"/>
|
||||
<source>Select files to check</source>
|
||||
<translation>Select files to check</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="263"/>
|
||||
<location filename="mainwindow.cpp" line="259"/>
|
||||
<source>Select directory to check</source>
|
||||
<translation>Select directory to check</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="204"/>
|
||||
<location filename="mainwindow.cpp" line="203"/>
|
||||
<source>No suitable files found to check!</source>
|
||||
<translation>No suitable files found to check!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="567"/>
|
||||
<location filename="mainwindow.cpp" line="570"/>
|
||||
<source>License</source>
|
||||
<translation>License</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="574"/>
|
||||
<location filename="mainwindow.cpp" line="577"/>
|
||||
<source>Authors</source>
|
||||
<translation>Authors</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="582"/>
|
||||
<location filename="mainwindow.cpp" line="585"/>
|
||||
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
|
||||
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
|
||||
<translation type="unfinished">XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="584"/>
|
||||
<location filename="mainwindow.cpp" line="587"/>
|
||||
<source>Save the report file</source>
|
||||
<translation>Save the report file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="443"/>
|
||||
<location filename="mainwindow.cpp" line="446"/>
|
||||
<source>XML files (*.xml)</source>
|
||||
<translation>XML files (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="234"/>
|
||||
<location filename="mainwindow.cpp" line="230"/>
|
||||
<source>You must close the project file before selecting new files or directories!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="306"/>
|
||||
<location filename="mainwindow.cpp" line="748"/>
|
||||
<location filename="mainwindow.cpp" line="794"/>
|
||||
<location filename="mainwindow.cpp" line="302"/>
|
||||
<location filename="mainwindow.cpp" line="739"/>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<source>Project: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="445"/>
|
||||
<location filename="mainwindow.cpp" line="448"/>
|
||||
<source>Open the report file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="520"/>
|
||||
<location filename="mainwindow.cpp" line="523"/>
|
||||
<source>Checking is running.
|
||||
|
||||
Do you want to stop the checking and exit Cppcheck?.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="592"/>
|
||||
<location filename="mainwindow.cpp" line="595"/>
|
||||
<source>XML files version 1 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="598"/>
|
||||
<location filename="mainwindow.cpp" line="601"/>
|
||||
<source>XML files version 2 (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="604"/>
|
||||
<location filename="mainwindow.cpp" line="607"/>
|
||||
<source>Text files (*.txt)</source>
|
||||
<translation>Text files (*.txt)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="610"/>
|
||||
<location filename="mainwindow.cpp" line="613"/>
|
||||
<source>CSV files (*.csv)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="650"/>
|
||||
<location filename="mainwindow.cpp" line="653"/>
|
||||
<source>Cppcheck - %1</source>
|
||||
<translation>Cppcheck - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="667"/>
|
||||
<location filename="mainwindow.cpp" line="668"/>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change the language:
|
||||
|
||||
%1
|
||||
|
@ -638,54 +644,54 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<oldsource>Failed to change language:
|
||||
|
||||
%1</oldsource>
|
||||
<translation>Failed to change language:
|
||||
<translation type="obsolete">Failed to change language:
|
||||
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<source>Cppcheck Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<location filename="mainwindow.cpp" line="706"/>
|
||||
<source>Failed to load help file (not found)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="724"/>
|
||||
<location filename="mainwindow.cpp" line="715"/>
|
||||
<source>Failed to load help file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="738"/>
|
||||
<location filename="mainwindow.cpp" line="783"/>
|
||||
<location filename="mainwindow.cpp" line="729"/>
|
||||
<location filename="mainwindow.cpp" line="774"/>
|
||||
<source>Project files (*.cppcheck);;All files(*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="740"/>
|
||||
<location filename="mainwindow.cpp" line="731"/>
|
||||
<source>Select Project File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="785"/>
|
||||
<location filename="mainwindow.cpp" line="776"/>
|
||||
<source>Select Project Filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.cpp" line="818"/>
|
||||
<location filename="mainwindow.cpp" line="809"/>
|
||||
<source>No project file loaded</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<source>Finnish</source>
|
||||
<translation>Finski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="31"/>
|
||||
<location filename="translationhandler.cpp" line="33"/>
|
||||
<source>English</source>
|
||||
<translation>Engleski</translation>
|
||||
</message>
|
||||
|
@ -695,33 +701,38 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation>Holandski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="34"/>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<source>French</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="41"/>
|
||||
<source>Swedish</source>
|
||||
<translation>Švedski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="35"/>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<source>German</source>
|
||||
<translation>Nemački</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="36"/>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<source>Russian</source>
|
||||
<translation>Ruski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<source>Polish</source>
|
||||
<translation>Poljski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="38"/>
|
||||
<location filename="translationhandler.cpp" line="37"/>
|
||||
<source>Japanese</source>
|
||||
<oldsource>Japanease</oldsource>
|
||||
<translation type="unfinished">Japanski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="39"/>
|
||||
<location filename="translationhandler.cpp" line="40"/>
|
||||
<source>Serbian</source>
|
||||
<translation>Srpski</translation>
|
||||
</message>
|
||||
|
@ -753,28 +764,50 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="22"/>
|
||||
<location filename="projectfile.ui" line="24"/>
|
||||
<source>Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="34"/>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="39"/>
|
||||
<location filename="projectfile.ui" line="70"/>
|
||||
<source>Paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="52"/>
|
||||
<location filename="projectfile.ui" line="76"/>
|
||||
<source>Browse...</source>
|
||||
<location filename="projectfile.ui" line="97"/>
|
||||
<location filename="projectfile.ui" line="162"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="63"/>
|
||||
<source>Include paths:</source>
|
||||
<location filename="projectfile.ui" line="104"/>
|
||||
<location filename="projectfile.ui" line="169"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="87"/>
|
||||
<location filename="projectfile.ui" line="111"/>
|
||||
<location filename="projectfile.ui" line="176"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="138"/>
|
||||
<source>Includes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="144"/>
|
||||
<source>Include directories:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="projectfile.ui" line="51"/>
|
||||
<source>Defines:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -800,18 +833,22 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="96"/>
|
||||
<source>Incorrect language specified!</source>
|
||||
<translation>Incorrect language specified!</translation>
|
||||
<translation type="obsolete">Incorrect language specified!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="106"/>
|
||||
<location filename="translationhandler.cpp" line="89"/>
|
||||
<source>Unknown language specified!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="99"/>
|
||||
<source>Language file %1 not found!</source>
|
||||
<oldsource>Language file %1.qm not found!</oldsource>
|
||||
<translation>Could not find the file: %1!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="translationhandler.cpp" line="112"/>
|
||||
<location filename="translationhandler.cpp" line="105"/>
|
||||
<source>Failed to load translation for language %1 from file %2</source>
|
||||
<oldsource>Failed to load translation for language %1 from file %2.qm</oldsource>
|
||||
<translation>Failed to load translation for language %1 from file %2</translation>
|
||||
|
@ -821,71 +858,71 @@ Do you want to stop the checking and exit Cppcheck?.</source>
|
|||
<name>ResultsTree</name>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>File</source>
|
||||
<translation>File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Severity</source>
|
||||
<translation>Severity</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Line</source>
|
||||
<translation>Line</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="59"/>
|
||||
<location filename="resultstree.cpp" line="978"/>
|
||||
<location filename="resultstree.cpp" line="982"/>
|
||||
<source>Summary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="108"/>
|
||||
<location filename="resultstree.cpp" line="109"/>
|
||||
<source>Undefined file</source>
|
||||
<translation>Undefined file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="508"/>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<source>Copy filename</source>
|
||||
<translation>Copy filename</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="509"/>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<source>Copy full path</source>
|
||||
<translation>Copy full path</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="510"/>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<source>Copy message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="511"/>
|
||||
<location filename="resultstree.cpp" line="512"/>
|
||||
<source>Hide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="558"/>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<source>Cppcheck</source>
|
||||
<translation>Cppcheck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="559"/>
|
||||
<location filename="resultstree.cpp" line="560"/>
|
||||
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
|
||||
<oldsource>You can open this error by specifying applications in program's settings.</oldsource>
|
||||
<translation>You can open this error by specifying applications in program's settings.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="586"/>
|
||||
<location filename="resultstree.cpp" line="590"/>
|
||||
<source>Could not find the file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="624"/>
|
||||
<location filename="resultstree.cpp" line="628"/>
|
||||
<source>Could not start %1
|
||||
|
||||
Please check the application path and parameters are correct.</source>
|
||||
|
@ -894,44 +931,44 @@ Please check the application path and parameters are correct.</source>
|
|||
Please check the application path and parameters are correct.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="638"/>
|
||||
<location filename="resultstree.cpp" line="642"/>
|
||||
<source>Could not find file:
|
||||
%1
|
||||
Please select the directory where file is located.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="645"/>
|
||||
<location filename="resultstree.cpp" line="649"/>
|
||||
<source>Select Directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="827"/>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<source>style</source>
|
||||
<translation>Style</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="831"/>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<source>error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="835"/>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="839"/>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<source>performance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="843"/>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<source>portability</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="resultstree.cpp" line="847"/>
|
||||
<location filename="resultstree.cpp" line="851"/>
|
||||
<source>information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1003,98 +1040,121 @@ To toggle what kind of errors are shown, open view menu.</translation>
|
|||
<translation>General</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="32"/>
|
||||
<location filename="settings.ui" line="169"/>
|
||||
<source>Include paths:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="45"/>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="239"/>
|
||||
<source>Add...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="65"/>
|
||||
<location filename="settings.ui" line="41"/>
|
||||
<source>Number of threads: </source>
|
||||
<translation>Number of threads: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="109"/>
|
||||
<location filename="settings.ui" line="85"/>
|
||||
<source>Ideal count:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="116"/>
|
||||
<location filename="settings.ui" line="92"/>
|
||||
<source>TextLabel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="138"/>
|
||||
<location filename="settings.ui" line="114"/>
|
||||
<source>Force checking all #ifdef configurations</source>
|
||||
<oldsource>Check all #ifdef configurations</oldsource>
|
||||
<translation type="unfinished">Check all #ifdef configurations</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="145"/>
|
||||
<location filename="settings.ui" line="121"/>
|
||||
<source>Show full path of files</source>
|
||||
<translation>Show full path of files</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="152"/>
|
||||
<location filename="settings.ui" line="128"/>
|
||||
<source>Show "No errors found" message when no errors found</source>
|
||||
<translation>Show "No errors found" message when no errors found</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="159"/>
|
||||
<location filename="settings.ui" line="135"/>
|
||||
<source>Show internal warnings in log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="166"/>
|
||||
<location filename="settings.ui" line="142"/>
|
||||
<source>Enable inline suppressions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="187"/>
|
||||
<location filename="settings.ui" line="163"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="194"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="201"/>
|
||||
<location filename="settings.ui" line="253"/>
|
||||
<source>Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="226"/>
|
||||
<source>Applications</source>
|
||||
<translation>Applications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="196"/>
|
||||
<location filename="settings.ui" line="246"/>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="260"/>
|
||||
<source>Set as default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add application</source>
|
||||
<translation>Add application</translation>
|
||||
<translation type="obsolete">Add application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="203"/>
|
||||
<source>Delete application</source>
|
||||
<translation>Delete application</translation>
|
||||
<translation type="obsolete">Delete application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="210"/>
|
||||
<source>Modify application</source>
|
||||
<translation>Modify application</translation>
|
||||
<translation type="obsolete">Modify application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="217"/>
|
||||
<source>Set as default application</source>
|
||||
<translation>Set as default application</translation>
|
||||
<translation type="obsolete">Set as default application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="225"/>
|
||||
<location filename="settings.ui" line="285"/>
|
||||
<source>Reports</source>
|
||||
<translation>Reports</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="231"/>
|
||||
<location filename="settings.ui" line="291"/>
|
||||
<source>Save all errors when creating report</source>
|
||||
<translation>Save all errors when creating report</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="238"/>
|
||||
<location filename="settings.ui" line="298"/>
|
||||
<source>Save full path to files in reports</source>
|
||||
<translation>Save full path to files in reports</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settings.ui" line="259"/>
|
||||
<location filename="settings.ui" line="319"/>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1102,22 +1162,27 @@ To toggle what kind of errors are shown, open view menu.</translation>
|
|||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="81"/>
|
||||
<location filename="settingsdialog.cpp" line="84"/>
|
||||
<source>N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="161"/>
|
||||
<location filename="settingsdialog.cpp" line="201"/>
|
||||
<source>Add a new application</source>
|
||||
<translation>Add a new application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="194"/>
|
||||
<location filename="settingsdialog.cpp" line="239"/>
|
||||
<source>Modify an application</source>
|
||||
<translation>Modify an application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="259"/>
|
||||
<location filename="settingsdialog.cpp" line="270"/>
|
||||
<source>[Default]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="settingsdialog.cpp" line="317"/>
|
||||
<source>Select include directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -96,12 +96,54 @@ void FileList::AddPathList(const QStringList &paths)
|
|||
|
||||
QStringList FileList::GetFileList() const
|
||||
{
|
||||
QStringList names;
|
||||
QFileInfo item;
|
||||
foreach(item, mFileList)
|
||||
if (mIgnoredPaths.empty())
|
||||
{
|
||||
QStringList names;
|
||||
foreach(QFileInfo item, mFileList)
|
||||
{
|
||||
QString name = QDir::fromNativeSeparators(item.canonicalFilePath());
|
||||
names << name;
|
||||
}
|
||||
return names;
|
||||
}
|
||||
else
|
||||
{
|
||||
return ApplyIgnoreList();
|
||||
}
|
||||
}
|
||||
|
||||
void FileList::AddIngoreList(const QStringList &paths)
|
||||
{
|
||||
mIgnoredPaths = paths;
|
||||
}
|
||||
|
||||
QStringList FileList::ApplyIgnoreList() const
|
||||
{
|
||||
QStringList paths;
|
||||
foreach(QFileInfo item, mFileList)
|
||||
{
|
||||
QString name = QDir::fromNativeSeparators(item.canonicalFilePath());
|
||||
names << name;
|
||||
if (!Match(name))
|
||||
paths << name;
|
||||
}
|
||||
return names;
|
||||
return paths;
|
||||
}
|
||||
|
||||
bool FileList::Match(const QString &path) const
|
||||
{
|
||||
for (int i = 0; i < mIgnoredPaths.size(); i++)
|
||||
{
|
||||
if (mIgnoredPaths[i].endsWith('/'))
|
||||
{
|
||||
const QString pathignore("/" + mIgnoredPaths[i]);
|
||||
if (path.indexOf(pathignore) != -1)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (path.endsWith(mIgnoredPaths[i]))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -30,6 +30,10 @@
|
|||
* can be also added recursively when all files in subdirectories are added too.
|
||||
* The filenames are matched against the filter and only those files whose
|
||||
* filename extension is included in the filter list are added.
|
||||
*
|
||||
* This class also handles filtering of paths against ignore filters given. If
|
||||
* there is ignore filters then only paths not matching those filters are
|
||||
* returned.
|
||||
*/
|
||||
class FileList
|
||||
{
|
||||
|
@ -60,6 +64,12 @@ public:
|
|||
*/
|
||||
QStringList GetFileList() const;
|
||||
|
||||
/**
|
||||
* @brief Add list of paths to ignore list.
|
||||
* @param paths Paths to ignore.
|
||||
*/
|
||||
void AddIngoreList(const QStringList &paths);
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
|
@ -74,8 +84,25 @@ protected:
|
|||
*/
|
||||
bool FilterMatches(const QFileInfo &inf);
|
||||
|
||||
/**
|
||||
* @brief Get filtered list of paths.
|
||||
* This method takes the list of paths and applies the ignore lists to
|
||||
* it. And then returns the list of paths that did not match the
|
||||
* ignore filters.
|
||||
* @return Filtered list of paths.
|
||||
*/
|
||||
QStringList ApplyIgnoreList() const;
|
||||
|
||||
/**
|
||||
* @brief Test if path matches any of the ignore filters.
|
||||
* @param path Path to test against filters.
|
||||
* @return true if any of the filters matches, false otherwise.
|
||||
*/
|
||||
bool Match(const QString &path) const;
|
||||
|
||||
private:
|
||||
QFileInfoList mFileList;
|
||||
QStringList mIgnoredPaths;
|
||||
};
|
||||
|
||||
#endif // FILELIST_H
|
||||
|
|
|
@ -191,6 +191,8 @@ void MainWindow::DoCheckFiles(const QStringList &files)
|
|||
|
||||
FileList pathList;
|
||||
pathList.AddPathList(files);
|
||||
if (mProject)
|
||||
pathList.AddIngoreList(mProject->GetProjectFile()->GetIgnoredPaths());
|
||||
QStringList fileNames = pathList.GetFileList();
|
||||
|
||||
mUI.mResults->Clear();
|
||||
|
@ -724,8 +726,6 @@ void MainWindow::OpenHtmlHelpContents()
|
|||
|
||||
void MainWindow::OpenProjectFile()
|
||||
{
|
||||
delete mProject;
|
||||
|
||||
const QString filter = tr("Project files (*.cppcheck);;All files(*.*)");
|
||||
QString filepath = QFileDialog::getOpenFileName(this,
|
||||
tr("Select Project File"),
|
||||
|
@ -740,6 +740,7 @@ void MainWindow::OpenProjectFile()
|
|||
|
||||
mUI.mActionCloseProjectFile->setEnabled(true);
|
||||
mUI.mActionEditProjectFile->setEnabled(true);
|
||||
delete mProject;
|
||||
mProject = new Project(filepath, this);
|
||||
mProject->Open();
|
||||
QString rootpath = mProject->GetProjectFile()->GetRootPath();
|
||||
|
|
|
@ -85,6 +85,9 @@ void Project::Edit()
|
|||
dlg.SetDefines(defines);
|
||||
QStringList paths = mPFile->GetCheckPaths();
|
||||
dlg.SetPaths(paths);
|
||||
QStringList ignorepaths = mPFile->GetIgnoredPaths();
|
||||
dlg.SetIgnorePaths(ignorepaths);
|
||||
|
||||
int rv = dlg.exec();
|
||||
if (rv == QDialog::Accepted)
|
||||
{
|
||||
|
@ -96,6 +99,9 @@ void Project::Edit()
|
|||
mPFile->SetDefines(defines);
|
||||
QStringList paths = dlg.GetPaths();
|
||||
mPFile->SetCheckPaths(paths);
|
||||
QStringList ignorepaths = dlg.GetIgnorePaths();
|
||||
mPFile->SetIgnoredPaths(ignorepaths);
|
||||
|
||||
bool writeSuccess = mPFile->Write();
|
||||
if (!writeSuccess)
|
||||
{
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include <QXmlStreamReader>
|
||||
#include <QXmlStreamWriter>
|
||||
#include <QFile>
|
||||
#include <QDir>
|
||||
#include "projectfile.h"
|
||||
|
||||
static const char ProjectElementName[] = "project";
|
||||
|
@ -37,6 +38,9 @@ static const char PathName[] = "dir";
|
|||
static const char PathNameAttrib[] = "name";
|
||||
static const char RootPathName[] = "root";
|
||||
static const char RootPathNameAttrib[] = "name";
|
||||
static const char IgnoreElementName[] = "ignore";
|
||||
static const char IgnorePathName[] = "path";
|
||||
static const char IgnorePathNameAttrib[] = "name";
|
||||
|
||||
ProjectFile::ProjectFile(QObject *parent) :
|
||||
QObject(parent)
|
||||
|
@ -87,6 +91,10 @@ bool ProjectFile::Read(const QString &filename)
|
|||
if (insideProject && xmlReader.name() == DefinesElementName)
|
||||
ReadDefines(xmlReader);
|
||||
|
||||
// Find ignore list from inside project element
|
||||
if (insideProject && xmlReader.name() == IgnoreElementName)
|
||||
ReadIgnores(xmlReader);
|
||||
|
||||
break;
|
||||
|
||||
case QXmlStreamReader::EndElement:
|
||||
|
@ -117,7 +125,12 @@ bool ProjectFile::Read(const QString &filename)
|
|||
|
||||
QStringList ProjectFile::GetIncludeDirs() const
|
||||
{
|
||||
return mIncludeDirs;
|
||||
QStringList dirs;
|
||||
foreach(QString path, mIncludeDirs)
|
||||
{
|
||||
dirs << QDir::fromNativeSeparators(path);
|
||||
}
|
||||
return dirs;
|
||||
}
|
||||
|
||||
QStringList ProjectFile::GetDefines() const
|
||||
|
@ -127,7 +140,22 @@ QStringList ProjectFile::GetDefines() const
|
|||
|
||||
QStringList ProjectFile::GetCheckPaths() const
|
||||
{
|
||||
return mPaths;
|
||||
QStringList paths;
|
||||
foreach(QString path, mPaths)
|
||||
{
|
||||
paths << QDir::fromNativeSeparators(path);
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
|
||||
QStringList ProjectFile::GetIgnoredPaths() const
|
||||
{
|
||||
QStringList paths;
|
||||
foreach(QString path, mIgnoredPaths)
|
||||
{
|
||||
paths << QDir::fromNativeSeparators(path);
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
|
||||
void ProjectFile::ReadRootPath(QXmlStreamReader &reader)
|
||||
|
@ -263,21 +291,67 @@ void ProjectFile::ReadCheckPaths(QXmlStreamReader &reader)
|
|||
while (!allRead);
|
||||
}
|
||||
|
||||
void ProjectFile::SetIncludes(QStringList includes)
|
||||
void ProjectFile::ReadIgnores(QXmlStreamReader &reader)
|
||||
{
|
||||
QXmlStreamReader::TokenType type;
|
||||
bool allRead = false;
|
||||
do
|
||||
{
|
||||
type = reader.readNext();
|
||||
switch (type)
|
||||
{
|
||||
case QXmlStreamReader::StartElement:
|
||||
// Read define-elements
|
||||
if (reader.name().toString() == IgnorePathName)
|
||||
{
|
||||
QXmlStreamAttributes attribs = reader.attributes();
|
||||
QString name = attribs.value("", IgnorePathNameAttrib).toString();
|
||||
if (!name.isEmpty())
|
||||
mIgnoredPaths << name;
|
||||
}
|
||||
break;
|
||||
|
||||
case QXmlStreamReader::EndElement:
|
||||
if (reader.name().toString() == IgnoreElementName)
|
||||
allRead = true;
|
||||
break;
|
||||
|
||||
// Not handled
|
||||
case QXmlStreamReader::NoToken:
|
||||
case QXmlStreamReader::Invalid:
|
||||
case QXmlStreamReader::StartDocument:
|
||||
case QXmlStreamReader::EndDocument:
|
||||
case QXmlStreamReader::Characters:
|
||||
case QXmlStreamReader::Comment:
|
||||
case QXmlStreamReader::DTD:
|
||||
case QXmlStreamReader::EntityReference:
|
||||
case QXmlStreamReader::ProcessingInstruction:
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (!allRead);
|
||||
}
|
||||
|
||||
void ProjectFile::SetIncludes(const QStringList &includes)
|
||||
{
|
||||
mIncludeDirs = includes;
|
||||
}
|
||||
|
||||
void ProjectFile::SetDefines(QStringList defines)
|
||||
void ProjectFile::SetDefines(const QStringList &defines)
|
||||
{
|
||||
mDefines = defines;
|
||||
}
|
||||
|
||||
void ProjectFile::SetCheckPaths(QStringList paths)
|
||||
void ProjectFile::SetCheckPaths(const QStringList &paths)
|
||||
{
|
||||
mPaths = paths;
|
||||
}
|
||||
|
||||
void ProjectFile::SetIgnoredPaths(const QStringList &paths)
|
||||
{
|
||||
mIgnoredPaths = paths;
|
||||
}
|
||||
|
||||
bool ProjectFile::Write(const QString &filename)
|
||||
{
|
||||
if (!filename.isEmpty())
|
||||
|
@ -303,8 +377,7 @@ bool ProjectFile::Write(const QString &filename)
|
|||
if (!mIncludeDirs.isEmpty())
|
||||
{
|
||||
xmlWriter.writeStartElement(IncludDirElementName);
|
||||
QString incdir;
|
||||
foreach(incdir, mIncludeDirs)
|
||||
foreach(QString incdir, mIncludeDirs)
|
||||
{
|
||||
xmlWriter.writeStartElement(DirElementName);
|
||||
xmlWriter.writeAttribute(DirNameAttrib, incdir);
|
||||
|
@ -316,8 +389,7 @@ bool ProjectFile::Write(const QString &filename)
|
|||
if (!mDefines.isEmpty())
|
||||
{
|
||||
xmlWriter.writeStartElement(DefinesElementName);
|
||||
QString define;
|
||||
foreach(define, mDefines)
|
||||
foreach(QString define, mDefines)
|
||||
{
|
||||
xmlWriter.writeStartElement(DefineName);
|
||||
xmlWriter.writeAttribute(DefineNameAttrib, define);
|
||||
|
@ -329,8 +401,7 @@ bool ProjectFile::Write(const QString &filename)
|
|||
if (!mPaths.isEmpty())
|
||||
{
|
||||
xmlWriter.writeStartElement(PathsElementName);
|
||||
QString path;
|
||||
foreach(path, mPaths)
|
||||
foreach(QString path, mPaths)
|
||||
{
|
||||
xmlWriter.writeStartElement(PathName);
|
||||
xmlWriter.writeAttribute(PathNameAttrib, path);
|
||||
|
@ -339,6 +410,18 @@ bool ProjectFile::Write(const QString &filename)
|
|||
xmlWriter.writeEndElement();
|
||||
}
|
||||
|
||||
if (!mIgnoredPaths.isEmpty())
|
||||
{
|
||||
xmlWriter.writeStartElement(IgnoreElementName);
|
||||
foreach(QString path, mIgnoredPaths)
|
||||
{
|
||||
xmlWriter.writeStartElement(IgnorePathName);
|
||||
xmlWriter.writeAttribute(IgnorePathNameAttrib, path);
|
||||
xmlWriter.writeEndElement();
|
||||
}
|
||||
xmlWriter.writeEndElement();
|
||||
}
|
||||
|
||||
xmlWriter.writeEndDocument();
|
||||
file.close();
|
||||
return true;
|
||||
|
|
|
@ -74,6 +74,12 @@ public:
|
|||
*/
|
||||
QStringList GetCheckPaths() const;
|
||||
|
||||
/**
|
||||
* @brief Get list of paths to ignore.
|
||||
* @return list of paths.
|
||||
*/
|
||||
QStringList GetIgnoredPaths() const;
|
||||
|
||||
/**
|
||||
* @brief Set project root path.
|
||||
* @param rootpath new project root path.
|
||||
|
@ -87,19 +93,25 @@ public:
|
|||
* @brief Set list of includes.
|
||||
* @param includes List of defines.
|
||||
*/
|
||||
void SetIncludes(QStringList includes);
|
||||
void SetIncludes(const QStringList &includes);
|
||||
|
||||
/**
|
||||
* @brief Set list of defines.
|
||||
* @param defines List of defines.
|
||||
*/
|
||||
void SetDefines(QStringList defines);
|
||||
void SetDefines(const QStringList &defines);
|
||||
|
||||
/**
|
||||
* @brief Set list of paths to check.
|
||||
* @param defines List of paths.
|
||||
*/
|
||||
void SetCheckPaths(QStringList paths);
|
||||
void SetCheckPaths(const QStringList &paths);
|
||||
|
||||
/**
|
||||
* @brief Set list of paths to ignore.
|
||||
* @param defines List of paths.
|
||||
*/
|
||||
void SetIgnoredPaths(const QStringList &paths);
|
||||
|
||||
/**
|
||||
* @brief Write project file (to disk).
|
||||
|
@ -142,6 +154,12 @@ protected:
|
|||
*/
|
||||
void ReadCheckPaths(QXmlStreamReader &reader);
|
||||
|
||||
/**
|
||||
* @brief Read lists of ignores.
|
||||
* @param reader XML stream reader.
|
||||
*/
|
||||
void ReadIgnores(QXmlStreamReader &reader);
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
|
@ -171,6 +189,11 @@ private:
|
|||
* @brief List of paths to check.
|
||||
*/
|
||||
QStringList mPaths;
|
||||
|
||||
/**
|
||||
* @brief Paths ignored from the check.
|
||||
*/
|
||||
QStringList mIgnoredPaths;
|
||||
};
|
||||
/// @}
|
||||
#endif // PROJECT_FILE_H
|
||||
|
|
|
@ -27,6 +27,9 @@ program. The format is:
|
|||
<define name="_MSC_VER=1400" />
|
||||
<define name="_WIN32" />
|
||||
</defines>
|
||||
<ignore>
|
||||
<path name="gui/temp/" />
|
||||
</ignore>
|
||||
</project>
|
||||
|
||||
where:
|
||||
|
@ -42,5 +45,7 @@ where:
|
|||
recommended that relative paths are used for paths inside the project root
|
||||
folder for better portability.
|
||||
- defines element contains a list of C/C++ preprocessor defines.
|
||||
- ignore element contains list of paths to ignore. The path can be a
|
||||
directory (must end with path separator) or file.
|
||||
|
||||
See also gui.cppcheck file in gui-directory of cppcheck sources.
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>159</height>
|
||||
<width>467</width>
|
||||
<height>329</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -15,99 +15,247 @@
|
|||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Project:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditProjectRoot</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditProjectRoot"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Paths:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditPaths</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditPaths"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnBrowsePaths">
|
||||
<property name="text">
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Include paths:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditIncludePaths</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditIncludePaths"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnBrowseIncludes">
|
||||
<property name="text">
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Defines:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditDefines</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditDefines"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Project</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Project:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditProjectRoot</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditProjectRoot"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Defines:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditDefines</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditDefines"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Paths:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="mListPaths"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnAddPath">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnEditPath">
|
||||
<property name="text">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnRemovePath">
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Includes</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Include directories:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QListWidget" name="mListIncludeDirs">
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnAddInclude">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnEditInclude">
|
||||
<property name="text">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnRemoveInclude">
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Ignore</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Paths:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QListWidget" name="mListIgnoredPaths"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnAddIgnorePath">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnEditIgnorePath">
|
||||
<property name="text">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnRemoveIgnorePath">
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="mButtons">
|
||||
|
@ -122,13 +270,18 @@
|
|||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>mEditProjectRoot</tabstop>
|
||||
<tabstop>mEditPaths</tabstop>
|
||||
<tabstop>mBtnBrowsePaths</tabstop>
|
||||
<tabstop>mEditIncludePaths</tabstop>
|
||||
<tabstop>mBtnBrowseIncludes</tabstop>
|
||||
<tabstop>mEditDefines</tabstop>
|
||||
<tabstop>mButtons</tabstop>
|
||||
<tabstop>tabWidget</tabstop>
|
||||
<tabstop>mEditProjectRoot</tabstop>
|
||||
<tabstop>mEditDefines</tabstop>
|
||||
<tabstop>mListPaths</tabstop>
|
||||
<tabstop>mBtnAddPath</tabstop>
|
||||
<tabstop>mBtnEditPath</tabstop>
|
||||
<tabstop>mBtnRemovePath</tabstop>
|
||||
<tabstop>mListIncludeDirs</tabstop>
|
||||
<tabstop>mBtnAddInclude</tabstop>
|
||||
<tabstop>mBtnEditInclude</tabstop>
|
||||
<tabstop>mBtnRemoveInclude</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
|
@ -139,8 +292,8 @@
|
|||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>257</x>
|
||||
<y>148</y>
|
||||
<x>266</x>
|
||||
<y>319</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
|
@ -155,8 +308,8 @@
|
|||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>325</x>
|
||||
<y>148</y>
|
||||
<x>334</x>
|
||||
<y>319</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
|
|
|
@ -37,31 +37,68 @@ ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent)
|
|||
setWindowTitle(title);
|
||||
|
||||
connect(mUI.mButtons, SIGNAL(accepted()), this, SLOT(accept()));
|
||||
connect(mUI.mBtnBrowseIncludes, SIGNAL(clicked()), this, SLOT(BrowseIncludes()));
|
||||
connect(mUI.mBtnBrowsePaths, SIGNAL(clicked()), this, SLOT(BrowsePaths()));
|
||||
connect(mUI.mBtnAddInclude, SIGNAL(clicked()), this, SLOT(AddIncludeDir()));
|
||||
connect(mUI.mBtnAddPath, SIGNAL(clicked()), this, SLOT(AddPath()));
|
||||
connect(mUI.mBtnEditInclude, SIGNAL(clicked()), this, SLOT(EditIncludeDir()));
|
||||
connect(mUI.mBtnRemoveInclude, SIGNAL(clicked()), this, SLOT(RemoveIncludeDir()));
|
||||
connect(mUI.mBtnEditPath, SIGNAL(clicked()), this, SLOT(EditPath()));
|
||||
connect(mUI.mBtnRemovePath, SIGNAL(clicked()), this, SLOT(RemovePath()));
|
||||
connect(mUI.mBtnAddIgnorePath, SIGNAL(clicked()), this, SLOT(AddIgnorePath()));
|
||||
connect(mUI.mBtnEditIgnorePath, SIGNAL(clicked()), this, SLOT(EditIgnorePath()));
|
||||
connect(mUI.mBtnRemoveIgnorePath, SIGNAL(clicked()), this, SLOT(RemoveIgnorePath()));
|
||||
}
|
||||
|
||||
void ProjectFileDialog::AddIncludeDir(const QString &dir)
|
||||
{
|
||||
if (dir.isNull() || dir.isEmpty())
|
||||
return;
|
||||
|
||||
const QString newdir = QDir::toNativeSeparators(dir);
|
||||
QListWidgetItem *item = new QListWidgetItem(newdir);
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
mUI.mListIncludeDirs->addItem(item);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::AddPath(const QString &path)
|
||||
{
|
||||
if (path.isNull() || path.isEmpty())
|
||||
return;
|
||||
|
||||
const QString newpath = QDir::toNativeSeparators(path);
|
||||
QListWidgetItem *item = new QListWidgetItem(newpath);
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
mUI.mListPaths->addItem(item);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::AddIgnorePath(const QString &path)
|
||||
{
|
||||
if (path.isNull() || path.isEmpty())
|
||||
return;
|
||||
|
||||
const QString newpath = QDir::toNativeSeparators(path);
|
||||
QListWidgetItem *item = new QListWidgetItem(newpath);
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
mUI.mListIgnoredPaths->addItem(item);
|
||||
}
|
||||
|
||||
QString ProjectFileDialog::GetRootPath() const
|
||||
{
|
||||
QString root = mUI.mEditProjectRoot->text();
|
||||
root = root.trimmed();
|
||||
root = QDir::fromNativeSeparators(root);
|
||||
return root;
|
||||
}
|
||||
|
||||
QStringList ProjectFileDialog::GetIncludePaths() const
|
||||
{
|
||||
QString include = mUI.mEditIncludePaths->text();
|
||||
QStringList includes;
|
||||
if (!include.isEmpty())
|
||||
const int count = mUI.mListIncludeDirs->count();
|
||||
QStringList includePaths;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
include = include.trimmed();
|
||||
include = QDir::fromNativeSeparators(include);
|
||||
if (include.indexOf(';') != -1)
|
||||
includes = include.split(";");
|
||||
else
|
||||
includes.append(include);
|
||||
QListWidgetItem *item = mUI.mListIncludeDirs->item(i);
|
||||
includePaths << QDir::fromNativeSeparators(item->text());
|
||||
}
|
||||
return includes;
|
||||
return includePaths;
|
||||
}
|
||||
|
||||
QStringList ProjectFileDialog::GetDefines() const
|
||||
|
@ -81,39 +118,40 @@ QStringList ProjectFileDialog::GetDefines() const
|
|||
|
||||
QStringList ProjectFileDialog::GetPaths() const
|
||||
{
|
||||
QString path = mUI.mEditPaths->text();
|
||||
const int count = mUI.mListPaths->count();
|
||||
QStringList paths;
|
||||
if (!path.isEmpty())
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
path = path.trimmed();
|
||||
path = QDir::fromNativeSeparators(path);
|
||||
if (path.indexOf(';') != -1)
|
||||
paths = path.split(";");
|
||||
else
|
||||
paths.append(path);
|
||||
QListWidgetItem *item = mUI.mListPaths->item(i);
|
||||
paths << QDir::fromNativeSeparators(item->text());
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
|
||||
QStringList ProjectFileDialog::GetIgnorePaths() const
|
||||
{
|
||||
const int count = mUI.mListIgnoredPaths->count();
|
||||
QStringList paths;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
QListWidgetItem *item = mUI.mListIgnoredPaths->item(i);
|
||||
paths << QDir::fromNativeSeparators(item->text());
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
|
||||
void ProjectFileDialog::SetRootPath(const QString &root)
|
||||
{
|
||||
mUI.mEditProjectRoot->setText(root);
|
||||
QString newroot = QDir::toNativeSeparators(root);
|
||||
mUI.mEditProjectRoot->setText(newroot);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::SetIncludepaths(const QStringList &includes)
|
||||
{
|
||||
QString includestr;
|
||||
QString dir;
|
||||
foreach(dir, includes)
|
||||
foreach(QString dir, includes)
|
||||
{
|
||||
includestr += dir;
|
||||
includestr += ";";
|
||||
AddIncludeDir(dir);
|
||||
}
|
||||
// Remove ; from the end of the string
|
||||
if (includestr.endsWith(';'))
|
||||
includestr = includestr.left(includestr.length() - 1);
|
||||
includestr = QDir::toNativeSeparators(includestr);
|
||||
mUI.mEditIncludePaths->setText(includestr);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::SetDefines(const QStringList &defines)
|
||||
|
@ -133,21 +171,21 @@ void ProjectFileDialog::SetDefines(const QStringList &defines)
|
|||
|
||||
void ProjectFileDialog::SetPaths(const QStringList &paths)
|
||||
{
|
||||
QString pathstr;
|
||||
QString path;
|
||||
foreach(path, paths)
|
||||
foreach(QString path, paths)
|
||||
{
|
||||
pathstr += path;
|
||||
pathstr += ";";
|
||||
AddPath(path);
|
||||
}
|
||||
// Remove ; from the end of the string
|
||||
if (pathstr.endsWith(';'))
|
||||
pathstr = pathstr.left(pathstr.length() - 1);
|
||||
pathstr = QDir::toNativeSeparators(pathstr);
|
||||
mUI.mEditPaths->setText(pathstr);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::BrowseIncludes()
|
||||
void ProjectFileDialog::SetIgnorePaths(const QStringList &paths)
|
||||
{
|
||||
foreach(QString path, paths)
|
||||
{
|
||||
AddIgnorePath(path);
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectFileDialog::AddIncludeDir()
|
||||
{
|
||||
QString selectedDir = QFileDialog::getExistingDirectory(this,
|
||||
tr("Select include directory"),
|
||||
|
@ -155,11 +193,11 @@ void ProjectFileDialog::BrowseIncludes()
|
|||
|
||||
if (!selectedDir.isEmpty())
|
||||
{
|
||||
AppendDirname(mUI.mEditIncludePaths, selectedDir);
|
||||
AddIncludeDir(selectedDir);
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectFileDialog::BrowsePaths()
|
||||
void ProjectFileDialog::AddPath()
|
||||
{
|
||||
QString selectedDir = QFileDialog::getExistingDirectory(this,
|
||||
tr("Select directory to check"),
|
||||
|
@ -167,16 +205,59 @@ void ProjectFileDialog::BrowsePaths()
|
|||
|
||||
if (!selectedDir.isEmpty())
|
||||
{
|
||||
AppendDirname(mUI.mEditPaths, selectedDir);
|
||||
AddPath(selectedDir);
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectFileDialog::AppendDirname(QLineEdit *edit, const QString &dir)
|
||||
void ProjectFileDialog::RemoveIncludeDir()
|
||||
{
|
||||
QString wholeText = edit->text();
|
||||
wholeText += ";";
|
||||
wholeText += dir;
|
||||
if (!wholeText.endsWith(QDir::separator()))
|
||||
wholeText += QDir::separator();
|
||||
edit->setText(wholeText);
|
||||
const int row = mUI.mListIncludeDirs->currentRow();
|
||||
QListWidgetItem *item = mUI.mListIncludeDirs->takeItem(row);
|
||||
delete item;
|
||||
}
|
||||
|
||||
void ProjectFileDialog::EditIncludeDir()
|
||||
{
|
||||
QListWidgetItem *item = mUI.mListIncludeDirs->currentItem();
|
||||
mUI.mListIncludeDirs->editItem(item);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::EditPath()
|
||||
{
|
||||
QListWidgetItem *item = mUI.mListPaths->currentItem();
|
||||
mUI.mListPaths->editItem(item);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::RemovePath()
|
||||
{
|
||||
const int row = mUI.mListPaths->currentRow();
|
||||
QListWidgetItem *item = mUI.mListPaths->takeItem(row);
|
||||
delete item;
|
||||
}
|
||||
|
||||
void ProjectFileDialog::AddIgnorePath()
|
||||
{
|
||||
QString selectedDir = QFileDialog::getExistingDirectory(this,
|
||||
tr("Select directory to ignore"),
|
||||
QString());
|
||||
|
||||
if (!selectedDir.isEmpty())
|
||||
{
|
||||
if (!selectedDir.endsWith('/'))
|
||||
selectedDir += '/';
|
||||
AddIgnorePath(selectedDir);
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectFileDialog::EditIgnorePath()
|
||||
{
|
||||
QListWidgetItem *item = mUI.mListIgnoredPaths->currentItem();
|
||||
mUI.mListIgnoredPaths->editItem(item);
|
||||
}
|
||||
|
||||
void ProjectFileDialog::RemoveIgnorePath()
|
||||
{
|
||||
const int row = mUI.mListIgnoredPaths->currentRow();
|
||||
QListWidgetItem *item = mUI.mListIgnoredPaths->takeItem(row);
|
||||
delete item;
|
||||
}
|
||||
|
|
|
@ -66,6 +66,12 @@ public:
|
|||
*/
|
||||
QStringList GetPaths() const;
|
||||
|
||||
/**
|
||||
* @brief Return ignored paths from the dialog control.
|
||||
* @return List of ignored paths.
|
||||
*/
|
||||
QStringList GetIgnorePaths() const;
|
||||
|
||||
/**
|
||||
* @brief Set project root path to dialog control.
|
||||
* @param root Project root path to set to dialog control.
|
||||
|
@ -90,25 +96,78 @@ public:
|
|||
*/
|
||||
void SetPaths(const QStringList &paths);
|
||||
|
||||
/**
|
||||
* @brief Set ignored paths to dialog control.
|
||||
* @param paths List of path names to set to dialog control.
|
||||
*/
|
||||
void SetIgnorePaths(const QStringList &paths);
|
||||
|
||||
protected slots:
|
||||
/**
|
||||
* @brief Browse for include directory.
|
||||
* Allow user to choose new include directory.
|
||||
* Allow user to add new include directory to the list.
|
||||
*/
|
||||
void BrowseIncludes();
|
||||
void AddIncludeDir();
|
||||
|
||||
/**
|
||||
* @brief Browse for checked directory.
|
||||
* Allow user to choose new checked directory.
|
||||
* @brief Add new path to check.
|
||||
*/
|
||||
void BrowsePaths();
|
||||
void AddPath();
|
||||
|
||||
/**
|
||||
* @brief Remove include directory from the list.
|
||||
*/
|
||||
void RemoveIncludeDir();
|
||||
|
||||
/**
|
||||
* @brief Edit include directory in the list.
|
||||
*/
|
||||
void EditIncludeDir();
|
||||
|
||||
/**
|
||||
* @brief Edit path in the list.
|
||||
*/
|
||||
void EditPath();
|
||||
|
||||
/**
|
||||
* @brief Remove path from the list.
|
||||
*/
|
||||
void RemovePath();
|
||||
|
||||
/**
|
||||
* @brief Add new path to ignore.
|
||||
*/
|
||||
void AddIgnorePath();
|
||||
|
||||
/**
|
||||
* @brief Edit ignored path in the list.
|
||||
*/
|
||||
void EditIgnorePath();
|
||||
|
||||
/**
|
||||
* @brief Remove ignored path from the list.
|
||||
*/
|
||||
void RemoveIgnorePath();
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @brief Append new path to the edit control.
|
||||
* @param edit Edit control to modify.
|
||||
* @param dir Path to add.
|
||||
* @brief Add new indlude directory.
|
||||
* @param dir Directory to add.
|
||||
*/
|
||||
void AppendDirname(QLineEdit *edit, const QString &dir);
|
||||
void AddIncludeDir(const QString &dir);
|
||||
|
||||
/**
|
||||
* @brief Add new path to check.
|
||||
* @param path Path to add.
|
||||
*/
|
||||
void AddPath(const QString &path);
|
||||
|
||||
/**
|
||||
* @brief Add new path to ignore list.
|
||||
* @param path Path to add.
|
||||
*/
|
||||
void AddIgnorePath(const QString &path);
|
||||
|
||||
private:
|
||||
Ui::ProjectFile mUI;
|
||||
|
|
|
@ -564,6 +564,9 @@ void ResultsTree::StartApplication(QStandardItem *target, int application)
|
|||
return;
|
||||
}
|
||||
|
||||
if (application == -1)
|
||||
application = mApplications->GetDefaultApplication();
|
||||
|
||||
if (target && application >= 0 && application < mApplications->GetApplicationCount() && target->parent())
|
||||
{
|
||||
// Make sure we are working with the first column
|
||||
|
@ -704,7 +707,7 @@ void ResultsTree::Context(int application)
|
|||
|
||||
void ResultsTree::QuickStartApplication(const QModelIndex &index)
|
||||
{
|
||||
StartApplication(mModel.itemFromIndex(index), 0);
|
||||
StartApplication(mModel.itemFromIndex(index));
|
||||
}
|
||||
|
||||
void ResultsTree::CopyPath(QStandardItem *target, bool fullPath)
|
||||
|
|
|
@ -238,9 +238,10 @@ protected:
|
|||
* @brief Helper function to open an error within target with application*
|
||||
*
|
||||
* @param target Error tree item to open
|
||||
* @param application Index of the application to open with
|
||||
* @param application Index of the application to open with. Giving -1
|
||||
* (default value) will open the default application.
|
||||
*/
|
||||
void StartApplication(QStandardItem *target, int application);
|
||||
void StartApplication(QStandardItem *target, int application = -1);
|
||||
|
||||
/**
|
||||
* @brief Helper function to copy filename/full path to the clipboard
|
||||
|
|
181
gui/settings.ui
181
gui/settings.ui
|
@ -7,7 +7,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>589</width>
|
||||
<height>313</height>
|
||||
<height>319</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -17,37 +17,13 @@
|
|||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>General</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Include paths:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mEditIncludePaths</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mEditIncludePaths"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnAddIncludePath">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
|
@ -182,41 +158,125 @@
|
|||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_5">
|
||||
<attribute name="title">
|
||||
<string>Paths</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Include paths:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QListWidget" name="mListIncludePaths">
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnAddIncludePath">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnEditIncludePath">
|
||||
<property name="text">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnRemoveIncludePath">
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Applications</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QListWidget" name="mListWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mButtonAdd">
|
||||
<property name="text">
|
||||
<string>Add application</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mButtonDelete">
|
||||
<property name="text">
|
||||
<string>Delete application</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mButtonModify">
|
||||
<property name="text">
|
||||
<string>Modify application</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mButtonDefault">
|
||||
<property name="text">
|
||||
<string>Set as default application</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QListWidget" name="mListWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnAddApplication">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnEditApplication">
|
||||
<property name="text">
|
||||
<string>Edit...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnRemoveApplication">
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mBtnDefaultApplication">
|
||||
<property name="text">
|
||||
<string>Set as default</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -284,18 +344,15 @@
|
|||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>tabWidget</tabstop>
|
||||
<tabstop>mEditIncludePaths</tabstop>
|
||||
<tabstop>mBtnAddIncludePath</tabstop>
|
||||
<tabstop>mJobs</tabstop>
|
||||
<tabstop>mForce</tabstop>
|
||||
<tabstop>mShowFullPath</tabstop>
|
||||
<tabstop>mShowNoErrorsMessage</tabstop>
|
||||
<tabstop>mShowDebugWarnings</tabstop>
|
||||
<tabstop>mListWidget</tabstop>
|
||||
<tabstop>mButtonAdd</tabstop>
|
||||
<tabstop>mButtonDelete</tabstop>
|
||||
<tabstop>mButtonModify</tabstop>
|
||||
<tabstop>mButtonDefault</tabstop>
|
||||
<tabstop>mBtnAddApplication</tabstop>
|
||||
<tabstop>mBtnEditApplication</tabstop>
|
||||
<tabstop>mBtnDefaultApplication</tabstop>
|
||||
<tabstop>mSaveAllErrors</tabstop>
|
||||
<tabstop>mSaveFullPath</tabstop>
|
||||
<tabstop>mButtons</tabstop>
|
||||
|
|
|
@ -46,7 +46,6 @@ SettingsDialog::SettingsDialog(QSettings *programSettings,
|
|||
mUI.setupUi(this);
|
||||
mTempApplications->Copy(list);
|
||||
|
||||
mUI.mEditIncludePaths->setText(programSettings->value(SETTINGS_GLOBAL_INCLUDE_PATHS).toString());
|
||||
mUI.mJobs->setText(programSettings->value(SETTINGS_CHECK_THREADS, 1).toString());
|
||||
mUI.mForce->setCheckState(BoolToCheckState(programSettings->value(SETTINGS_CHECK_FORCE, false).toBool()));
|
||||
mUI.mShowFullPath->setCheckState(BoolToCheckState(programSettings->value(SETTINGS_SHOW_FULL_PATH, false).toBool()));
|
||||
|
@ -58,21 +57,25 @@ SettingsDialog::SettingsDialog(QSettings *programSettings,
|
|||
|
||||
connect(mUI.mButtons, SIGNAL(accepted()), this, SLOT(Ok()));
|
||||
connect(mUI.mButtons, SIGNAL(rejected()), this, SLOT(reject()));
|
||||
connect(mUI.mButtonAdd, SIGNAL(clicked()),
|
||||
connect(mUI.mBtnAddApplication, SIGNAL(clicked()),
|
||||
this, SLOT(AddApplication()));
|
||||
connect(mUI.mButtonDelete, SIGNAL(clicked()),
|
||||
this, SLOT(DeleteApplication()));
|
||||
connect(mUI.mButtonModify, SIGNAL(clicked()),
|
||||
this, SLOT(ModifyApplication()));
|
||||
connect(mUI.mButtonDefault, SIGNAL(clicked()),
|
||||
connect(mUI.mBtnRemoveApplication, SIGNAL(clicked()),
|
||||
this, SLOT(RemoveApplication()));
|
||||
connect(mUI.mBtnEditApplication, SIGNAL(clicked()),
|
||||
this, SLOT(EditApplication()));
|
||||
connect(mUI.mBtnDefaultApplication, SIGNAL(clicked()),
|
||||
this, SLOT(DefaultApplication()));
|
||||
connect(mUI.mListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)),
|
||||
this, SLOT(ModifyApplication()));
|
||||
this, SLOT(EditApplication()));
|
||||
connect(mUI.mBtnAddIncludePath, SIGNAL(clicked()),
|
||||
this, SLOT(AddIncludePath()));
|
||||
connect(mUI.mBtnRemoveIncludePath, SIGNAL(clicked()),
|
||||
this, SLOT(RemoveIncludePath()));
|
||||
connect(mUI.mBtnEditIncludePath, SIGNAL(clicked()),
|
||||
this, SLOT(EditIncludePath()));
|
||||
|
||||
mUI.mListWidget->setSortingEnabled(false);
|
||||
PopulateListWidget();
|
||||
PopulateApplicationList();
|
||||
|
||||
const int count = QThread::idealThreadCount();
|
||||
if (count != -1)
|
||||
|
@ -82,6 +85,7 @@ SettingsDialog::SettingsDialog(QSettings *programSettings,
|
|||
|
||||
LoadSettings();
|
||||
InitTranslationsList();
|
||||
InitIncludepathsList();
|
||||
}
|
||||
|
||||
SettingsDialog::~SettingsDialog()
|
||||
|
@ -89,6 +93,26 @@ SettingsDialog::~SettingsDialog()
|
|||
SaveSettings();
|
||||
}
|
||||
|
||||
void SettingsDialog::AddIncludePath(const QString &path)
|
||||
{
|
||||
if (path.isNull() || path.isEmpty())
|
||||
return;
|
||||
|
||||
QListWidgetItem *item = new QListWidgetItem(path);
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
mUI.mListIncludePaths->addItem(item);
|
||||
}
|
||||
|
||||
void SettingsDialog::InitIncludepathsList()
|
||||
{
|
||||
const QString allPaths = mSettings->value(SETTINGS_GLOBAL_INCLUDE_PATHS).toString();
|
||||
const QStringList paths = allPaths.split(";", QString::SkipEmptyParts);
|
||||
foreach(QString path, paths)
|
||||
{
|
||||
AddIncludePath(path);
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDialog::InitTranslationsList()
|
||||
{
|
||||
const QString current = mTranslator->GetCurrentLanguage();
|
||||
|
@ -151,11 +175,20 @@ void SettingsDialog::SaveSettingValues()
|
|||
SaveCheckboxValue(mUI.mShowNoErrorsMessage, SETTINGS_SHOW_NO_ERRORS);
|
||||
SaveCheckboxValue(mUI.mShowDebugWarnings, SETTINGS_SHOW_DEBUG_WARNINGS);
|
||||
SaveCheckboxValue(mUI.mInlineSuppressions, SETTINGS_INLINE_SUPPRESSIONS);
|
||||
mSettings->setValue(SETTINGS_GLOBAL_INCLUDE_PATHS, mUI.mEditIncludePaths->text());
|
||||
|
||||
QListWidgetItem *currentLang = mUI.mListLanguages->currentItem();
|
||||
const QString langcode = currentLang->data(LangCodeRole).toString();
|
||||
mSettings->setValue(SETTINGS_LANGUAGE, langcode);
|
||||
|
||||
const int count = mUI.mListIncludePaths->count();
|
||||
QString includePaths;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
QListWidgetItem *item = mUI.mListIncludePaths->item(i);
|
||||
includePaths += item->text();
|
||||
includePaths += ";";
|
||||
}
|
||||
mSettings->setValue(SETTINGS_GLOBAL_INCLUDE_PATHS, includePaths);
|
||||
}
|
||||
|
||||
void SettingsDialog::SaveCheckboxValue(QCheckBox *box, const QString &name)
|
||||
|
@ -169,26 +202,31 @@ void SettingsDialog::AddApplication()
|
|||
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
mTempApplications->AddApplicationType(dialog.GetName(), dialog.GetPath());
|
||||
mTempApplications->AddApplication(dialog.GetName(), dialog.GetPath());
|
||||
mUI.mListWidget->addItem(dialog.GetName());
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDialog::DeleteApplication()
|
||||
void SettingsDialog::RemoveApplication()
|
||||
{
|
||||
|
||||
QList<QListWidgetItem *> selected = mUI.mListWidget->selectedItems();
|
||||
QListWidgetItem *item = 0;
|
||||
|
||||
foreach(item, selected)
|
||||
foreach(QListWidgetItem *item, selected)
|
||||
{
|
||||
mTempApplications->RemoveApplication(mUI.mListWidget->row(item));
|
||||
mUI.mListWidget->clear();
|
||||
PopulateListWidget();
|
||||
const int removeIndex = mUI.mListWidget->row(item);
|
||||
const int currentDefault = mTempApplications->GetDefaultApplication();
|
||||
mTempApplications->RemoveApplication(removeIndex);
|
||||
if (removeIndex == currentDefault)
|
||||
// If default app is removed set default to unknown
|
||||
mTempApplications->SetDefault(-1);
|
||||
else if (removeIndex < currentDefault)
|
||||
// Move default app one up if earlier app was removed
|
||||
mTempApplications->SetDefault(currentDefault - 1);
|
||||
}
|
||||
mUI.mListWidget->clear();
|
||||
PopulateApplicationList();
|
||||
}
|
||||
|
||||
void SettingsDialog::ModifyApplication()
|
||||
void SettingsDialog::EditApplication()
|
||||
{
|
||||
QList<QListWidgetItem *> selected = mUI.mListWidget->selectedItems();
|
||||
QListWidgetItem *item = 0;
|
||||
|
@ -202,7 +240,7 @@ void SettingsDialog::ModifyApplication()
|
|||
|
||||
if (dialog.exec() == QDialog::Accepted)
|
||||
{
|
||||
mTempApplications->SetApplicationType(row, dialog.GetName(), dialog.GetPath());
|
||||
mTempApplications->SetApplication(row, dialog.GetName(), dialog.GetPath());
|
||||
item->setText(dialog.GetName());
|
||||
}
|
||||
}
|
||||
|
@ -214,23 +252,36 @@ void SettingsDialog::DefaultApplication()
|
|||
if (selected.size() > 0)
|
||||
{
|
||||
int index = mUI.mListWidget->row(selected[0]);
|
||||
mTempApplications->MoveFirst(index);
|
||||
mTempApplications->SetDefault(index);
|
||||
mUI.mListWidget->clear();
|
||||
PopulateListWidget();
|
||||
PopulateApplicationList();
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDialog::PopulateListWidget()
|
||||
void SettingsDialog::PopulateApplicationList()
|
||||
{
|
||||
const int defapp = mTempApplications->GetDefaultApplication();
|
||||
for (int i = 0; i < mTempApplications->GetApplicationCount(); i++)
|
||||
{
|
||||
mUI.mListWidget->addItem(mTempApplications->GetApplicationName(i));
|
||||
QString name = mTempApplications->GetApplicationName(i);
|
||||
if (i == defapp)
|
||||
{
|
||||
name += " ";
|
||||
name += tr("[Default]");
|
||||
}
|
||||
mUI.mListWidget->addItem(name);
|
||||
}
|
||||
|
||||
// If list contains items select first item
|
||||
if (mTempApplications->GetApplicationCount())
|
||||
{
|
||||
// Select default application, or if there is no default app then the
|
||||
// first item.
|
||||
if (defapp == -1)
|
||||
mUI.mListWidget->setCurrentRow(0);
|
||||
else
|
||||
{
|
||||
if (mTempApplications->GetApplicationCount() > defapp)
|
||||
mUI.mListWidget->setCurrentRow(defapp);
|
||||
else
|
||||
mUI.mListWidget->setCurrentRow(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -268,10 +319,19 @@ void SettingsDialog::AddIncludePath()
|
|||
|
||||
if (!selectedDir.isEmpty())
|
||||
{
|
||||
QString text = mUI.mEditIncludePaths->text();
|
||||
if (!text.isEmpty())
|
||||
text += ';';
|
||||
text += selectedDir;
|
||||
mUI.mEditIncludePaths->setText(text);
|
||||
AddIncludePath(selectedDir);
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDialog::RemoveIncludePath()
|
||||
{
|
||||
const int row = mUI.mListIncludePaths->currentRow();
|
||||
QListWidgetItem *item = mUI.mListIncludePaths->takeItem(row);
|
||||
delete item;
|
||||
}
|
||||
|
||||
void SettingsDialog::EditIncludePath()
|
||||
{
|
||||
QListWidgetItem *item = mUI.mListIncludePaths->currentItem();
|
||||
mUI.mListIncludePaths->editItem(item);
|
||||
}
|
||||
|
|
|
@ -98,13 +98,13 @@ protected slots:
|
|||
* @brief Slot for deleting an application from the list
|
||||
*
|
||||
*/
|
||||
void DeleteApplication();
|
||||
void RemoveApplication();
|
||||
|
||||
/**
|
||||
* @brief Slot for modifying an application in the list
|
||||
*
|
||||
*/
|
||||
void ModifyApplication();
|
||||
void EditApplication();
|
||||
|
||||
/**
|
||||
* @brief Slot for making the selected application as the default (first)
|
||||
|
@ -118,19 +118,38 @@ protected slots:
|
|||
*/
|
||||
void AddIncludePath();
|
||||
|
||||
/**
|
||||
* @brief Slot for removing an include path.
|
||||
*
|
||||
*/
|
||||
void RemoveIncludePath();
|
||||
|
||||
/**
|
||||
* @brief Slot for editing an include path.
|
||||
*
|
||||
*/
|
||||
void EditIncludePath();
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @brief Add new include path to the list.
|
||||
* @param path Path to add.
|
||||
*
|
||||
*/
|
||||
void AddIncludePath(const QString &path);
|
||||
|
||||
/**
|
||||
* @brief Clear all applications from the list and re insert them from mTempApplications
|
||||
*
|
||||
*/
|
||||
void PopulateListWidget();
|
||||
void PopulateApplicationList();
|
||||
|
||||
/**
|
||||
* @brief Load saved values
|
||||
* Loads dialog size and column widths.
|
||||
*
|
||||
*/
|
||||
* @brief Load saved values
|
||||
* Loads dialog size and column widths.
|
||||
*
|
||||
*/
|
||||
void SaveSettings();
|
||||
|
||||
/**
|
||||
|
@ -165,6 +184,11 @@ protected:
|
|||
*/
|
||||
bool CheckStateToBool(Qt::CheckState state) const;
|
||||
|
||||
/**
|
||||
* @brief Populate the include paths-list.
|
||||
*/
|
||||
void InitIncludepathsList();
|
||||
|
||||
/**
|
||||
* @brief Populate the translations list.
|
||||
*/
|
||||
|
|
|
@ -695,6 +695,8 @@ void CheckClass::unusedPrivateFunctionError(const Token *tok, const std::string
|
|||
|
||||
void CheckClass::noMemset()
|
||||
{
|
||||
createSymbolDatabase();
|
||||
|
||||
// Locate all 'memset' tokens..
|
||||
for (const Token *tok = _tokenizer->tokens(); tok; tok = tok->next())
|
||||
{
|
||||
|
@ -712,6 +714,13 @@ void CheckClass::noMemset()
|
|||
type = tok->strAt(10);
|
||||
else if (Token::Match(tok, "%type% ( %var% , %var% , sizeof ( %type% ) )"))
|
||||
type = tok->strAt(8);
|
||||
else if (Token::Match(tok, "memset ( & %var% , %num% , sizeof ( %var% ) )"))
|
||||
{
|
||||
unsigned int varid = tok->tokAt(3)->varId();
|
||||
const Variable *var = symbolDatabase->getVariableFromVarId(varid);
|
||||
if (var && var->typeStartToken() == var->typeEndToken())
|
||||
type = var->typeStartToken()->str();
|
||||
}
|
||||
|
||||
// No type defined => The tokens didn't match
|
||||
if (type.empty())
|
||||
|
@ -719,7 +728,14 @@ void CheckClass::noMemset()
|
|||
|
||||
// Warn if type is a class or struct that contains any std::* variables
|
||||
const std::string pattern2(std::string("struct|class ") + type + " {");
|
||||
for (const Token *tstruct = Token::findmatch(_tokenizer->tokens(), pattern2.c_str()); tstruct; tstruct = tstruct->next())
|
||||
const Token *tstruct = Token::findmatch(_tokenizer->tokens(), pattern2.c_str());
|
||||
|
||||
if (!tstruct)
|
||||
continue;
|
||||
|
||||
const std::string &typeName = tstruct->str();
|
||||
|
||||
for (; tstruct; tstruct = tstruct->next())
|
||||
{
|
||||
if (tstruct->str() == "}")
|
||||
break;
|
||||
|
@ -739,7 +755,7 @@ void CheckClass::noMemset()
|
|||
tstruct->str().find(":") != std::string::npos)
|
||||
{
|
||||
if (Token::Match(tstruct->next(), "std :: %type% %var% ;"))
|
||||
memsetStructError(tok, tok->str(), tstruct->strAt(3));
|
||||
memsetError(tok, tok->str(), tstruct->strAt(3), typeName);
|
||||
|
||||
else if (Token::Match(tstruct->next(), "std :: %type% <"))
|
||||
{
|
||||
|
@ -767,21 +783,16 @@ void CheckClass::noMemset()
|
|||
|
||||
// found error => report
|
||||
if (Token::Match(tstruct, "> %var% ;"))
|
||||
memsetStructError(tok, tok->str(), typestr);
|
||||
memsetError(tok, tok->str(), typestr, typeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CheckClass::memsetClassError(const Token *tok, const std::string &memfunc)
|
||||
void CheckClass::memsetError(const Token *tok, const std::string &memfunc, const std::string &classname, const std::string &type)
|
||||
{
|
||||
reportError(tok, Severity::error, "memsetClass", "Using '" + memfunc + "' on class");
|
||||
}
|
||||
|
||||
void CheckClass::memsetStructError(const Token *tok, const std::string &memfunc, const std::string &classname)
|
||||
{
|
||||
reportError(tok, Severity::error, "memsetStruct", "Using '" + memfunc + "' on struct that contains a 'std::" + classname + "'");
|
||||
reportError(tok, Severity::error, "memsetClass", "Using '" + memfunc + "' on " + type + " that contains a 'std::" + classname + "'");
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
|
|
@ -117,8 +117,7 @@ private:
|
|||
void uninitVarError(const Token *tok, const std::string &classname, const std::string &varname);
|
||||
void operatorEqVarError(const Token *tok, const std::string &classname, const std::string &varname);
|
||||
void unusedPrivateFunctionError(const Token *tok, const std::string &classname, const std::string &funcname);
|
||||
void memsetClassError(const Token *tok, const std::string &memfunc);
|
||||
void memsetStructError(const Token *tok, const std::string &memfunc, const std::string &classname);
|
||||
void memsetError(const Token *tok, const std::string &memfunc, const std::string &classname, const std::string &type);
|
||||
void operatorEqReturnError(const Token *tok);
|
||||
void virtualDestructorError(const Token *tok, const std::string &Base, const std::string &Derived);
|
||||
void thisSubtractionError(const Token *tok);
|
||||
|
@ -134,8 +133,7 @@ private:
|
|||
c.uninitVarError(0, "classname", "varname");
|
||||
c.operatorEqVarError(0, "classname", "");
|
||||
c.unusedPrivateFunctionError(0, "classname", "funcname");
|
||||
c.memsetClassError(0, "memfunc");
|
||||
c.memsetStructError(0, "memfunc", "classname");
|
||||
c.memsetError(0, "memfunc", "classname", "class");
|
||||
c.operatorEqReturnError(0);
|
||||
//c.virtualDestructorError(0, "Base", "Derived");
|
||||
c.thisSubtractionError(0);
|
||||
|
|
|
@ -75,7 +75,7 @@ private:
|
|||
"Found obsolete function 'usleep'. POSIX.1-2001 declares usleep() function obsolete and POSIX.1-2008 removes it. It is recommended that new applications use the 'nanosleep' or 'setitimer' function."));
|
||||
|
||||
_obsoleteFunctions.push_back(std::make_pair("bcmp","Found obsolete function 'bcmp'. It is recommended that new applications use the 'memcmp' function"));
|
||||
_obsoleteFunctions.push_back(std::make_pair("bcopy","Found obsolete function 'bcopy'. It is recommended that new applications use the 'memmove' function"));
|
||||
_obsoleteFunctions.push_back(std::make_pair("bcopy","Found obsolete function 'bcopy'. It is recommended that new applications use the 'memmove' or 'memcpy' functions"));
|
||||
_obsoleteFunctions.push_back(std::make_pair("bzero","Found obsolete function 'bzero'. It is recommended that new applications use the 'memset' function"));
|
||||
|
||||
_obsoleteFunctions.push_back(std::make_pair("ecvt","Found obsolete function 'ecvt'. It is recommended that new applications use the 'sprintf' function"));
|
||||
|
|
|
@ -608,6 +608,35 @@ void CheckOther::invalidScanf()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// if (!x==3) <- Probably meant to be "x!=3"
|
||||
//---------------------------------------------------------------------------
|
||||
void CheckOther::checkComparisonOfBoolWithInt()
|
||||
{
|
||||
if (!_settings->_checkCodingStyle)
|
||||
return;
|
||||
|
||||
for (const Token *tok = _tokenizer->tokens(); tok; tok = tok->next())
|
||||
{
|
||||
if (Token::Match(tok, "( ! %var% ==|!= %num% )"))
|
||||
{
|
||||
const Token *numTok = tok->tokAt(4);
|
||||
if (numTok && numTok->str() != "0")
|
||||
{
|
||||
comparisonOfBoolWithIntError(numTok, tok->strAt(2));
|
||||
}
|
||||
}
|
||||
else if (Token::Match(tok, "( %num% ==|!= ! %var% )"))
|
||||
{
|
||||
const Token *numTok = tok->tokAt(1);
|
||||
if (numTok && numTok->str() != "0")
|
||||
{
|
||||
comparisonOfBoolWithIntError(numTok, tok->strAt(4));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CheckOther::sizeofForArrayParameterError(const Token *tok)
|
||||
{
|
||||
reportError(tok, Severity::error,
|
||||
|
@ -3016,3 +3045,10 @@ void CheckOther::incorrectStringCompareError(const Token *tok, const std::string
|
|||
{
|
||||
reportError(tok, Severity::warning, "incorrectStringCompare", "String literal " + string + " doesn't match length argument for " + func + "(" + len + ").");
|
||||
}
|
||||
|
||||
void CheckOther::comparisonOfBoolWithIntError(const Token *tok, const std::string &varname)
|
||||
{
|
||||
reportError(tok, Severity::warning, "comparisonOfBoolWithInt",
|
||||
"Comparison of a boolean with a non-zero integer\n"
|
||||
"The expression \"!" + varname + "\" is of type 'bool' but is compared against a non-zero 'int'.");
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ public:
|
|||
checkOther.checkMemsetZeroBytes();
|
||||
checkOther.checkIncorrectStringCompare();
|
||||
checkOther.checkIncrementBoolean();
|
||||
checkOther.checkComparisonOfBoolWithInt();
|
||||
}
|
||||
|
||||
/** @brief Clarify calculation for ".. a * b ? .." */
|
||||
|
@ -188,6 +189,9 @@ public:
|
|||
/** @brief %Check for using postfix increment on bool */
|
||||
void checkIncrementBoolean();
|
||||
|
||||
/** @brief %Check for suspicious comparison of a bool and a non-zero (and non-one) value (e.g. "if (!x==4)") */
|
||||
void checkComparisonOfBoolWithInt();
|
||||
|
||||
// Error messages..
|
||||
void cstyleCastError(const Token *tok);
|
||||
void dangerousUsageStrtolError(const Token *tok);
|
||||
|
@ -214,6 +218,7 @@ public:
|
|||
void sizeofForArrayParameterError(const Token *tok);
|
||||
void incorrectStringCompareError(const Token *tok, const std::string& func, const std::string &string, const std::string &len);
|
||||
void incrementBooleanError(const Token *tok);
|
||||
void comparisonOfBoolWithIntError(const Token *tok, const std::string &varname);
|
||||
|
||||
void getErrorMessages(ErrorLogger *errorLogger, const Settings *settings)
|
||||
{
|
||||
|
@ -255,6 +260,7 @@ public:
|
|||
c.clarifyCalculationError(0);
|
||||
c.incorrectStringCompareError(0, "substr", "\"Hello World\"", "12");
|
||||
c.incrementBooleanError(0);
|
||||
c.comparisonOfBoolWithIntError(0, "varname");
|
||||
}
|
||||
|
||||
std::string myName() const
|
||||
|
@ -296,6 +302,7 @@ public:
|
|||
"* exception caught by value instead of by reference\n"
|
||||
"* Clarify calculation with parantheses\n"
|
||||
"* using increment on boolean\n"
|
||||
"* comparison of a boolean with a non-zero integer\n"
|
||||
|
||||
// optimisations
|
||||
"* optimisation: detect post increment/decrement\n";
|
||||
|
|
|
@ -74,10 +74,10 @@ void CheckPostfixOperator::postfixOperator()
|
|||
if (result && tok->previous()->varId())
|
||||
{
|
||||
const Token *decltok = Token::findmatch(_tokenizer->tokens(), "%varid%", tok->previous()->varId());
|
||||
if (!Token::Match(decltok->tokAt(-1), "%type%"))
|
||||
if (decltok == NULL || !Token::Match(decltok->tokAt(-1), "%type%"))
|
||||
continue;
|
||||
|
||||
if (decltok && Token::Match(decltok->previous(), "iterator|const_iterator|reverse_iterator|const_reverse_iterator"))
|
||||
if (Token::Match(decltok->previous(), "iterator|const_iterator|reverse_iterator|const_reverse_iterator"))
|
||||
{
|
||||
// the variable is an iterator
|
||||
postfixOperatorError(tok);
|
||||
|
|
|
@ -603,7 +603,10 @@ private:
|
|||
std::list<const Token *> var;
|
||||
CheckNullPointer::parseFunctionCall(tok, var, 1);
|
||||
for (std::list<const Token *>::const_iterator it = var.begin(); it != var.end(); ++it)
|
||||
{
|
||||
use_array(checks, *it);
|
||||
use_dead_pointer(checks, *it);
|
||||
}
|
||||
|
||||
// Using uninitialized pointer is bad if using null pointer is bad
|
||||
std::list<const Token *> var2;
|
||||
|
|
|
@ -178,6 +178,10 @@ std::string Preprocessor::read(std::istream &istr, const std::string &filename,
|
|||
// Remove all comments..
|
||||
result = removeComments(result, filename, settings);
|
||||
|
||||
// Remove '#if 0' blocks
|
||||
if (result.find("#if 0\n") != std::string::npos)
|
||||
result = removeIf0(result);
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Clean up all preprocessor statements
|
||||
|
@ -547,6 +551,37 @@ std::string Preprocessor::removeComments(const std::string &str, const std::stri
|
|||
return code.str();
|
||||
}
|
||||
|
||||
std::string Preprocessor::removeIf0(const std::string &code)
|
||||
{
|
||||
std::ostringstream ret;
|
||||
std::istringstream istr(code);
|
||||
std::string line;
|
||||
while (std::getline(istr,line))
|
||||
{
|
||||
if (line != "#if 0")
|
||||
ret << line << "\n";
|
||||
else
|
||||
{
|
||||
// replace '#if 0' with empty line
|
||||
ret << "\n";
|
||||
|
||||
// goto the end of the '#if 0' block
|
||||
unsigned int level = 1;
|
||||
while (level > 0 && std::getline(istr,line))
|
||||
{
|
||||
if (line.compare(0,3,"#if") == 0)
|
||||
++level;
|
||||
else if (line == "#endif")
|
||||
--level;
|
||||
|
||||
// replace code within '#if 0' block with empty lines
|
||||
ret << "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret.str();
|
||||
}
|
||||
|
||||
|
||||
std::string Preprocessor::removeParantheses(const std::string &str)
|
||||
{
|
||||
|
@ -927,7 +962,18 @@ std::list<std::string> Preprocessor::getcfgs(const std::string &filedata, const
|
|||
|
||||
if (line.compare(0, 8, "#define ") == 0)
|
||||
{
|
||||
if (line.find(" ", 8) == std::string::npos)
|
||||
bool valid = true;
|
||||
for (std::string::size_type pos = 8; pos < line.size() && line[pos] != ' '; ++pos)
|
||||
{
|
||||
char ch = line[pos];
|
||||
if (ch=='_' || (ch>='a' && ch<='z') || (ch>='A' && ch<='Z') || (pos>8 && ch>='0' && ch<='9'))
|
||||
continue;
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
if (!valid)
|
||||
line.clear();
|
||||
else if (line.find(" ", 8) == std::string::npos)
|
||||
defines.insert(line.substr(8));
|
||||
else
|
||||
{
|
||||
|
@ -1278,8 +1324,12 @@ void Preprocessor::simplifyCondition(const std::map<std::string, std::string> &v
|
|||
|
||||
if (Token::Match(tokenizer.tokens(), "( %var% )"))
|
||||
{
|
||||
if (variables.find(tokenizer.tokens()->strAt(1)) != variables.end())
|
||||
condition = "1";
|
||||
std::map<std::string,std::string>::const_iterator var = variables.find(tokenizer.tokens()->strAt(1));
|
||||
if (var != variables.end())
|
||||
{
|
||||
const std::string &value = (*var).second;
|
||||
condition = (value == "0") ? "0" : "1";
|
||||
}
|
||||
else if (match)
|
||||
condition = "0";
|
||||
return;
|
||||
|
|
|
@ -144,6 +144,13 @@ protected:
|
|||
*/
|
||||
std::string removeComments(const std::string &str, const std::string &filename, Settings *settings);
|
||||
|
||||
/**
|
||||
* Cleanup 'if 0' from the code
|
||||
* @param str Code processed by read().
|
||||
* @return code without 'if 0'
|
||||
*/
|
||||
static std::string removeIf0(const std::string &code);
|
||||
|
||||
/**
|
||||
* Remove redundant parentheses from preprocessor commands. This should only be called from read().
|
||||
* @param str Code processed by read().
|
||||
|
|
|
@ -399,6 +399,68 @@ SymbolDatabase::SymbolDatabase(const Tokenizer *tokenizer, const Settings *setti
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (scope->type == Scope::eFunction || scope->isLocal())
|
||||
{
|
||||
if (Token::simpleMatch(tok, "if (") &&
|
||||
Token::simpleMatch(tok->next()->link(), ") {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eIf, tok->next()->link()->next());
|
||||
tok = tok->next()->link()->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (Token::simpleMatch(tok, "else {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eElse, tok->next());
|
||||
tok = tok->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (Token::simpleMatch(tok, "else if (") &&
|
||||
Token::simpleMatch(tok->next()->next()->link(), ") {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eElseIf, tok->next()->next()->link()->next());
|
||||
tok = tok->next()->next()->link()->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (Token::simpleMatch(tok, "for (") &&
|
||||
Token::simpleMatch(tok->next()->link(), ") {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eFor, tok->next()->link()->next());
|
||||
tok = tok->next()->link()->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (Token::simpleMatch(tok, "while (") &&
|
||||
Token::simpleMatch(tok->next()->link(), ") {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eWhile, tok->next()->link()->next());
|
||||
tok = tok->next()->link()->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (Token::simpleMatch(tok, "do {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eDo, tok->next());
|
||||
tok = tok->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (Token::simpleMatch(tok, "switch (") &&
|
||||
Token::simpleMatch(tok->next()->link(), ") {"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eSwitch, tok->next()->link()->next());
|
||||
tok = tok->next()->link()->next();
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else if (tok->str() == "{")
|
||||
{
|
||||
if (!Token::Match(tok->previous(), "=|,|{"))
|
||||
{
|
||||
scope = new Scope(this, tok, scope, Scope::eUnconditional, tok);
|
||||
scopeList.push_back(scope);
|
||||
}
|
||||
else
|
||||
{
|
||||
tok = tok->link();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -448,11 +510,21 @@ SymbolDatabase::SymbolDatabase(const Tokenizer *tokenizer, const Settings *setti
|
|||
{
|
||||
scope = *it;
|
||||
|
||||
// skip functions
|
||||
if (scope->type != Scope::eFunction)
|
||||
// find variables
|
||||
scope->getVariableList();
|
||||
}
|
||||
|
||||
// fill in function arguments
|
||||
for (it = scopeList.begin(); it != scopeList.end(); ++it)
|
||||
{
|
||||
scope = *it;
|
||||
|
||||
std::list<Function>::iterator func;
|
||||
|
||||
for (func = scope->functionList.begin(); func != scope->functionList.end(); ++func)
|
||||
{
|
||||
// find variables
|
||||
scope->getVariableList();
|
||||
// add arguments
|
||||
func->addArguments(this, scope);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -569,6 +641,46 @@ SymbolDatabase::SymbolDatabase(const Tokenizer *tokenizer, const Settings *setti
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// create variable symbol table
|
||||
_variableList.resize(_tokenizer->varIdCount() + 1);
|
||||
fill_n(_variableList.begin(), _variableList.size(), (const Variable*)NULL);
|
||||
|
||||
// check all scopes for variables
|
||||
for (it = scopeList.begin(); it != scopeList.end(); ++it)
|
||||
{
|
||||
scope = *it;
|
||||
|
||||
// add all variables
|
||||
std::list<Variable>::const_iterator var;
|
||||
for (var = scope->varlist.begin(); var != scope->varlist.end(); ++var)
|
||||
{
|
||||
unsigned int varId = var->varId();
|
||||
if (varId)
|
||||
_variableList[varId] = &*var;
|
||||
}
|
||||
|
||||
// add all function paramaters
|
||||
std::list<Function>::const_iterator func;
|
||||
for (func = scope->functionList.begin(); func != scope->functionList.end(); ++func)
|
||||
{
|
||||
// ignore function without implementations
|
||||
if (!func->hasBody)
|
||||
continue;
|
||||
|
||||
std::list<Variable>::const_iterator arg;
|
||||
for (arg = func->argumentList.begin(); arg != func->argumentList.end(); ++arg)
|
||||
{
|
||||
// check for named parameters
|
||||
if (arg->nameToken() && arg->varId())
|
||||
{
|
||||
unsigned int varId = arg->varId();
|
||||
if (varId)
|
||||
_variableList[varId] = &*arg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SymbolDatabase::~SymbolDatabase()
|
||||
|
@ -1002,8 +1114,75 @@ unsigned int Function::initializedArgCount() const
|
|||
return count;
|
||||
}
|
||||
|
||||
void Function::addArguments(const SymbolDatabase *symbolDatabase, const Scope *scope)
|
||||
{
|
||||
// check for non-empty argument list "( ... )"
|
||||
if (arg->link() != arg->next())
|
||||
{
|
||||
unsigned int count = 0;
|
||||
const Token *startTok;
|
||||
const Token *endTok;
|
||||
const Token *nameTok;
|
||||
bool isConstVar;
|
||||
const Token *tok = arg->next();
|
||||
for (;;)
|
||||
{
|
||||
startTok = tok;
|
||||
endTok = NULL;
|
||||
nameTok = NULL;
|
||||
isConstVar = bool(tok->str() == "const");
|
||||
|
||||
while (tok->str() != "," && tok->str() != ")")
|
||||
{
|
||||
if (tok->varId() != 0)
|
||||
{
|
||||
nameTok = tok;
|
||||
endTok = tok->previous();
|
||||
}
|
||||
tok = tok->next();
|
||||
}
|
||||
|
||||
// check for argument with no name
|
||||
if (!endTok)
|
||||
endTok = tok->previous();
|
||||
|
||||
const Token *typeTok = startTok;
|
||||
if (isConstVar)
|
||||
typeTok = typeTok->next();
|
||||
|
||||
const Scope *argType = NULL;
|
||||
if (!typeTok->isStandardType())
|
||||
argType = symbolDatabase->findVariableType(scope, typeTok);
|
||||
|
||||
bool isClassVar = startTok == endTok && !startTok->isStandardType();
|
||||
|
||||
argumentList.push_back(Variable(nameTok, startTok, endTok, count++, Argument, false, false, isConstVar, isClassVar, argType, scope, false));
|
||||
|
||||
if (tok->str() == ")")
|
||||
break;
|
||||
|
||||
tok = tok->next();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
Scope::Scope(SymbolDatabase *check_, const Token *classDef_, Scope *nestedIn_, ScopeType type_, const Token *start_) :
|
||||
check(check_),
|
||||
type(type_),
|
||||
classDef(classDef_),
|
||||
classStart(start_),
|
||||
classEnd(start_->link()),
|
||||
nestedIn(nestedIn_),
|
||||
access(Public),
|
||||
numConstructors(0),
|
||||
needInitialization(Scope::Unknown),
|
||||
functionOf(NULL)
|
||||
{
|
||||
nestedIn->nestedList.push_back(this);
|
||||
}
|
||||
|
||||
Scope::Scope(SymbolDatabase *check_, const Token *classDef_, Scope *nestedIn_) :
|
||||
check(check_),
|
||||
classDef(classDef_),
|
||||
|
@ -1071,10 +1250,31 @@ Scope::hasDefaultConstructor() const
|
|||
return false;
|
||||
}
|
||||
|
||||
AccessControl Scope::defaultAccess() const
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case eGlobal:
|
||||
return Global;
|
||||
case eClass:
|
||||
return Private;
|
||||
case eStruct:
|
||||
return Public;
|
||||
case eUnion:
|
||||
return Public;
|
||||
case eNamespace:
|
||||
return Namespace;
|
||||
default:
|
||||
return Local;
|
||||
}
|
||||
|
||||
return Public;
|
||||
}
|
||||
|
||||
// Get variable list..
|
||||
void Scope::getVariableList()
|
||||
{
|
||||
AccessControl varaccess = type == eClass ? Private : Public;
|
||||
AccessControl varaccess = defaultAccess();
|
||||
const Token *start;
|
||||
|
||||
if (classStart)
|
||||
|
@ -1163,8 +1363,16 @@ void Scope::getVariableList()
|
|||
else if (tok->str() == "__property")
|
||||
continue;
|
||||
|
||||
// skip return and delete
|
||||
else if (Token::Match(tok, "return|delete"))
|
||||
{
|
||||
while (tok->next()->str() != ";")
|
||||
tok = tok->next();
|
||||
continue;
|
||||
}
|
||||
|
||||
// Search for start of statement..
|
||||
else if (!tok->previous() || !Token::Match(tok->previous(), ";|{|}|public:|protected:|private:"))
|
||||
else if (tok->previous() && !Token::Match(tok->previous(), ";|{|}|public:|protected:|private:"))
|
||||
continue;
|
||||
else if (Token::Match(tok, ";|{|}"))
|
||||
continue;
|
||||
|
@ -1210,7 +1418,9 @@ void Scope::getVariableList()
|
|||
tok = tok->next();
|
||||
}
|
||||
|
||||
if (isVariableDeclaration(tok, vartok, typetok))
|
||||
bool isArray = false;
|
||||
|
||||
if (isVariableDeclaration(tok, vartok, typetok, isArray))
|
||||
{
|
||||
isClass = (!typetok->isStandardType() && vartok->previous()->str() != "*");
|
||||
tok = vartok->next();
|
||||
|
@ -1219,7 +1429,7 @@ void Scope::getVariableList()
|
|||
// If the vartok was set in the if-blocks above, create a entry for this variable..
|
||||
if (vartok && vartok->str() != "operator")
|
||||
{
|
||||
if (vartok->varId() == 0 && check->_settings->debugwarnings)
|
||||
if (vartok->varId() == 0 && !vartok->isBoolean() && check->_settings->debugwarnings)
|
||||
{
|
||||
std::list<ErrorLogger::ErrorMessage::FileLocation> locationList;
|
||||
ErrorLogger::ErrorMessage::FileLocation loc;
|
||||
|
@ -1242,7 +1452,7 @@ void Scope::getVariableList()
|
|||
if (typetok)
|
||||
scope = check->findVariableType(this, typetok);
|
||||
|
||||
addVariable(vartok, typestart, varaccess, isMutable, isStatic, isConst, isClass, scope);
|
||||
addVariable(vartok, typestart, vartok->previous(), varaccess, isMutable, isStatic, isConst, isClass, scope, this, isArray);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1275,7 +1485,7 @@ const Token* skipPointers(const Token* tok)
|
|||
return ret;
|
||||
}
|
||||
|
||||
bool Scope::isVariableDeclaration(const Token* tok, const Token*& vartok, const Token*& typetok) const
|
||||
bool Scope::isVariableDeclaration(const Token* tok, const Token*& vartok, const Token*& typetok, bool &isArray) const
|
||||
{
|
||||
const Token* localTypeTok = skipScopeIdentifiers(tok);
|
||||
const Token* localVarTok = NULL;
|
||||
|
@ -1288,7 +1498,7 @@ bool Scope::isVariableDeclaration(const Token* tok, const Token*& vartok, const
|
|||
{
|
||||
localVarTok = skipPointers(closeTok->next());
|
||||
|
||||
if (Token::Match(localVarTok, ":: %type% %var% ;"))
|
||||
if (Token::Match(localVarTok, ":: %type% %var% ;|="))
|
||||
{
|
||||
localTypeTok = localVarTok->next();
|
||||
localVarTok = localVarTok->tokAt(2);
|
||||
|
@ -1300,10 +1510,17 @@ bool Scope::isVariableDeclaration(const Token* tok, const Token*& vartok, const
|
|||
localVarTok = skipPointers(localTypeTok->next());
|
||||
}
|
||||
|
||||
if (isSimpleVariable(localVarTok) || isArrayVariable(localVarTok))
|
||||
if (isSimpleVariable(localVarTok))
|
||||
{
|
||||
vartok = localVarTok;
|
||||
typetok = localTypeTok;
|
||||
isArray = false;
|
||||
}
|
||||
else if (isArrayVariable(localVarTok))
|
||||
{
|
||||
vartok = localVarTok;
|
||||
typetok = localTypeTok;
|
||||
isArray = true;
|
||||
}
|
||||
|
||||
return NULL != vartok;
|
||||
|
@ -1311,7 +1528,7 @@ bool Scope::isVariableDeclaration(const Token* tok, const Token*& vartok, const
|
|||
|
||||
bool Scope::isSimpleVariable(const Token* tok) const
|
||||
{
|
||||
return Token::Match(tok, "%var% ;");
|
||||
return Token::Match(tok, "%var% ;|=");
|
||||
}
|
||||
|
||||
bool Scope::isArrayVariable(const Token* tok) const
|
||||
|
@ -1325,7 +1542,7 @@ bool Scope::findClosingBracket(const Token* tok, const Token*& close) const
|
|||
if (NULL != tok && tok->str() == "<")
|
||||
{
|
||||
unsigned int depth = 0;
|
||||
for (close = tok; (close != NULL) && (close->str() != ";"); close = close->next())
|
||||
for (close = tok; (close != NULL) && (close->str() != ";") && (close->str() != "="); close = close->next())
|
||||
{
|
||||
if (close->str() == "<")
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@ class SymbolDatabase;
|
|||
/**
|
||||
* @brief Access control enumerations.
|
||||
*/
|
||||
enum AccessControl { Public, Protected, Private };
|
||||
enum AccessControl { Public, Protected, Private, Global, Namespace, Argument, Local };
|
||||
|
||||
/** @brief Information about a member variable. */
|
||||
class Variable
|
||||
|
@ -49,7 +49,8 @@ class Variable
|
|||
fIsMutable = (1 << 0), /** @brief mutable variable */
|
||||
fIsStatic = (1 << 1), /** @brief static variable */
|
||||
fIsConst = (1 << 2), /** @brief const variable */
|
||||
fIsClass = (1 << 3) /** @brief user defined type */
|
||||
fIsClass = (1 << 3), /** @brief user defined type */
|
||||
fIsArray = (1 << 4) /** @brief array variable */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -73,20 +74,24 @@ class Variable
|
|||
}
|
||||
|
||||
public:
|
||||
Variable(const Token *name_, const Token *start_, std::size_t index_,
|
||||
AccessControl access_, bool mutable_, bool static_, bool const_,
|
||||
bool class_, const Scope *type_)
|
||||
Variable(const Token *name_, const Token *start_, const Token *end_,
|
||||
std::size_t index_, AccessControl access_, bool mutable_,
|
||||
bool static_, bool const_, bool class_, const Scope *type_,
|
||||
const Scope *scope_, bool array_)
|
||||
: _name(name_),
|
||||
_start(start_),
|
||||
_end(end_),
|
||||
_index(index_),
|
||||
_access(access_),
|
||||
_flags(0),
|
||||
_type(type_)
|
||||
_type(type_),
|
||||
_scope(scope_)
|
||||
{
|
||||
setFlag(fIsMutable, mutable_);
|
||||
setFlag(fIsStatic, static_);
|
||||
setFlag(fIsConst, const_);
|
||||
setFlag(fIsClass, class_);
|
||||
setFlag(fIsArray, array_);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -107,13 +112,28 @@ public:
|
|||
return _start;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get type end token.
|
||||
* @return type end token
|
||||
*/
|
||||
const Token *typeEndToken() const
|
||||
{
|
||||
return _end;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get name string.
|
||||
* @return name string
|
||||
*/
|
||||
const std::string &name() const
|
||||
{
|
||||
return _name->str();
|
||||
static const std::string noname;
|
||||
|
||||
// name may not exist for function arguments
|
||||
if (_name)
|
||||
return _name->str();
|
||||
|
||||
return noname;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -122,7 +142,11 @@ public:
|
|||
*/
|
||||
unsigned int varId() const
|
||||
{
|
||||
return _name->varId();
|
||||
// name may not exist for function arguments
|
||||
if (_name)
|
||||
return _name->varId();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -161,6 +185,42 @@ public:
|
|||
return _access == Private;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is variable global.
|
||||
* @return true if global, false if not
|
||||
*/
|
||||
bool isGlobal() const
|
||||
{
|
||||
return _access == Global;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is variable in a namespace.
|
||||
* @return true if in a namespace, false if not
|
||||
*/
|
||||
bool isNamespace() const
|
||||
{
|
||||
return _access == Namespace;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is variable a function argument.
|
||||
* @return true if a function argument, false if not
|
||||
*/
|
||||
bool isArgument() const
|
||||
{
|
||||
return _access == Argument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is variable local.
|
||||
* @return true if local, false if not
|
||||
*/
|
||||
bool isLocal() const
|
||||
{
|
||||
return _access == Local;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is variable mutable.
|
||||
* @return true if mutable, false if not
|
||||
|
@ -197,6 +257,15 @@ public:
|
|||
return getFlag(fIsClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Is variable an array.
|
||||
* @return true if array, false if not
|
||||
*/
|
||||
bool isArray() const
|
||||
{
|
||||
return getFlag(fIsArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Scope pointer of known type.
|
||||
* @return pointer to type if known, NULL if not known
|
||||
|
@ -206,6 +275,15 @@ public:
|
|||
return _type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Scope pointer of enclosing scope.
|
||||
* @return pointer to enclosing scope
|
||||
*/
|
||||
const Scope *scope() const
|
||||
{
|
||||
return _scope;
|
||||
}
|
||||
|
||||
private:
|
||||
/** @brief variable name token */
|
||||
const Token *_name;
|
||||
|
@ -213,6 +291,9 @@ private:
|
|||
/** @brief variable type start token */
|
||||
const Token *_start;
|
||||
|
||||
/** @brief variable type end token */
|
||||
const Token *_end;
|
||||
|
||||
/** @brief order declared */
|
||||
std::size_t _index;
|
||||
|
||||
|
@ -224,6 +305,9 @@ private:
|
|||
|
||||
/** @brief pointer to user defined type info (for known types) */
|
||||
const Scope *_type;
|
||||
|
||||
/** @brief pointer to scope this variable is in */
|
||||
const Scope *_scope;
|
||||
};
|
||||
|
||||
class Function
|
||||
|
@ -254,6 +338,7 @@ public:
|
|||
|
||||
unsigned int argCount() const;
|
||||
unsigned int initializedArgCount() const;
|
||||
void addArguments(const SymbolDatabase *symbolDatabase, const Scope *scope);
|
||||
|
||||
const Token *tokenDef; // function name token in class definition
|
||||
const Token *argDef; // function argument start '(' in class definition
|
||||
|
@ -272,6 +357,7 @@ public:
|
|||
bool isOperator; // is operator
|
||||
bool retFuncPtr; // returns function pointer
|
||||
Type type; // constructor, destructor, ...
|
||||
std::list<Variable> argumentList; // argument list
|
||||
};
|
||||
|
||||
class Scope
|
||||
|
@ -293,10 +379,11 @@ public:
|
|||
Scope *scope;
|
||||
};
|
||||
|
||||
enum ScopeType { eGlobal, eClass, eStruct, eUnion, eNamespace, eFunction };
|
||||
enum ScopeType { eGlobal, eClass, eStruct, eUnion, eNamespace, eFunction, eIf, eElse, eElseIf, eFor, eWhile, eDo, eSwitch, eUnconditional };
|
||||
enum NeedInitialization { Unknown, True, False };
|
||||
|
||||
Scope(SymbolDatabase *check_, const Token *classDef_, Scope *nestedIn_);
|
||||
Scope(SymbolDatabase *check_, const Token *classDef_, Scope *nestedIn_, ScopeType type_, const Token *start_);
|
||||
|
||||
SymbolDatabase *check;
|
||||
ScopeType type;
|
||||
|
@ -313,13 +400,19 @@ public:
|
|||
AccessControl access;
|
||||
unsigned int numConstructors;
|
||||
NeedInitialization needInitialization;
|
||||
Scope * functionOf; // class/struct this function belongs to
|
||||
Scope *functionOf; // class/struct this function belongs to
|
||||
|
||||
bool isClassOrStruct() const
|
||||
{
|
||||
return (type == eClass || type == eStruct);
|
||||
}
|
||||
|
||||
bool isLocal() const
|
||||
{
|
||||
return (type == eIf || type == eElse || type == eElseIf ||
|
||||
type == eFor || type == eWhile || type == eDo ||
|
||||
type == eSwitch || type == eUnconditional);
|
||||
}
|
||||
/**
|
||||
* @brief find if name is in nested list
|
||||
* @param name name of nested scope
|
||||
|
@ -332,9 +425,14 @@ public:
|
|||
*/
|
||||
Scope * findInNestedListRecursive(const std::string & name);
|
||||
|
||||
void addVariable(const Token *token_, const Token *start_, AccessControl access_, bool mutable_, bool static_, bool const_, bool class_, const Scope *type_)
|
||||
void addVariable(const Token *token_, const Token *start_,
|
||||
const Token *end_, AccessControl access_, bool mutable_,
|
||||
bool static_, bool const_, bool class_, const Scope *type_,
|
||||
const Scope *scope_, bool array_)
|
||||
{
|
||||
varlist.push_back(Variable(token_, start_, varlist.size(), access_, mutable_, static_, const_, class_, type_));
|
||||
varlist.push_back(Variable(token_, start_, end_, varlist.size(),
|
||||
access_, mutable_, static_, const_, class_,
|
||||
type_, scope_, array_));
|
||||
}
|
||||
|
||||
/** @brief initialize varlist */
|
||||
|
@ -352,15 +450,18 @@ public:
|
|||
|
||||
bool hasDefaultConstructor() const;
|
||||
|
||||
AccessControl defaultAccess() const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief helper function for getVariableList()
|
||||
* @param tok pointer to token to check
|
||||
* @param vartok populated with pointer to the variable token, if found
|
||||
* @param typetok populated with pointer to the type token, if found
|
||||
* @param isArray reference to variable to set if array is found
|
||||
* @return true if tok points to a variable declaration, false otherwise
|
||||
*/
|
||||
bool isVariableDeclaration(const Token* tok, const Token*& vartok, const Token*& typetok) const;
|
||||
bool isVariableDeclaration(const Token* tok, const Token*& vartok, const Token*& typetok, bool &isArray) const;
|
||||
bool isSimpleVariable(const Token* tok) const;
|
||||
bool isArrayVariable(const Token* tok) const;
|
||||
bool findClosingBracket(const Token* tok, const Token*& close) const;
|
||||
|
@ -394,6 +495,11 @@ public:
|
|||
return bool(classAndStructTypes.find(type) != classAndStructTypes.end());
|
||||
}
|
||||
|
||||
const Variable *getVariableFromVarId(unsigned int varId) const
|
||||
{
|
||||
return _variableList[varId];
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
// Needed by Borland C++:
|
||||
|
@ -410,6 +516,9 @@ private:
|
|||
const Tokenizer *_tokenizer;
|
||||
const Settings *_settings;
|
||||
ErrorLogger *_errorLogger;
|
||||
|
||||
/** variable symbol table */
|
||||
std::vector<const Variable *> _variableList;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -58,6 +58,9 @@ Tokenizer::Tokenizer()
|
|||
|
||||
// symbol database
|
||||
_symbolDatabase = NULL;
|
||||
|
||||
// variable count
|
||||
_varId = 0;
|
||||
}
|
||||
|
||||
Tokenizer::Tokenizer(const Settings *settings, ErrorLogger *errorLogger)
|
||||
|
@ -75,6 +78,9 @@ Tokenizer::Tokenizer(const Settings *settings, ErrorLogger *errorLogger)
|
|||
|
||||
// symbol database
|
||||
_symbolDatabase = NULL;
|
||||
|
||||
// variable count
|
||||
_varId = 0;
|
||||
}
|
||||
|
||||
Tokenizer::~Tokenizer()
|
||||
|
@ -886,6 +892,9 @@ static Token *processFunc(Token *tok2, bool inOperator)
|
|||
tok2 = tok2->tokAt(4)->link()->next();
|
||||
else if (Token::Match(tok2->next(), "* ( * %type% ("))
|
||||
tok2 = tok2->tokAt(5)->link()->next();
|
||||
else if (Token::Match(tok2->next(), "* [") &&
|
||||
Token::simpleMatch(tok2->tokAt(2)->link(), "] ;"))
|
||||
tok2 = tok2->next();
|
||||
else
|
||||
{
|
||||
if (tok2->next()->str() == "(")
|
||||
|
@ -3268,7 +3277,7 @@ void Tokenizer::setVarId()
|
|||
tok->varId(0);
|
||||
|
||||
// Set variable ids..
|
||||
unsigned int _varId = 0;
|
||||
_varId = 0;
|
||||
for (Token *tok = _tokens; tok; tok = tok->next())
|
||||
{
|
||||
if (tok != _tokens && !Token::Match(tok, "[;{}(,] %type%"))
|
||||
|
@ -3915,10 +3924,14 @@ void Tokenizer::simplifySizeof()
|
|||
--parlevel;
|
||||
if (Token::Match(tempToken, "%var%"))
|
||||
{
|
||||
while (tempToken->next()->str() == "[")
|
||||
while (tempToken && tempToken->next() && tempToken->next()->str() == "[")
|
||||
{
|
||||
tempToken = tempToken->next()->link();
|
||||
}
|
||||
if (!tempToken || !tempToken->next())
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (tempToken->next()->str() == ".")
|
||||
{
|
||||
|
@ -4656,6 +4669,8 @@ void Tokenizer::simplifyIfAddBraces()
|
|||
break;
|
||||
}
|
||||
tempToken = tempToken->link();
|
||||
if (!tempToken || !tempToken->next())
|
||||
break;
|
||||
if (tempToken->next()->isName() && tempToken->next()->str() != "else")
|
||||
break;
|
||||
continue;
|
||||
|
@ -6341,6 +6356,22 @@ bool Tokenizer::simplifyKnownVariables()
|
|||
|
||||
ret |= simplifyKnownVariablesSimplify(&tok2, tok3, varid, structname, value, valueVarId, valueIsPointer, valueToken, indentlevel);
|
||||
}
|
||||
|
||||
else if (Token::Match(tok2, "strcpy ( %var% , %str% ) ;"))
|
||||
{
|
||||
const unsigned int varid(tok2->tokAt(2)->varId());
|
||||
if (varid == 0)
|
||||
continue;
|
||||
const std::string structname("");
|
||||
const Token * const valueToken = tok2->tokAt(4);
|
||||
std::string value(valueToken->str());
|
||||
const unsigned int valueVarId(0);
|
||||
const bool valueIsPointer(false);
|
||||
Token *tok3 = tok2;
|
||||
for (int i = 0; i < 6; ++i)
|
||||
tok3 = tok3->next();
|
||||
ret |= simplifyKnownVariablesSimplify(&tok2, tok3, varid, structname, value, valueVarId, valueIsPointer, valueToken, indentlevel);
|
||||
}
|
||||
}
|
||||
|
||||
if (tok2)
|
||||
|
@ -9375,7 +9406,8 @@ void Tokenizer::removeUnnecessaryQualification()
|
|||
classInfo.pop();
|
||||
else if (tok->str() == classInfo.top().className &&
|
||||
Token::Match(tok, "%type% :: %type% (") &&
|
||||
Token::Match(tok->tokAt(3)->link(), ") const| {|;"))
|
||||
Token::Match(tok->tokAt(3)->link(), ") const| {|;") &&
|
||||
tok->previous()->str() != ":")
|
||||
{
|
||||
std::list<ErrorLogger::ErrorMessage::FileLocation> locationList;
|
||||
ErrorLogger::ErrorMessage::FileLocation loc;
|
||||
|
|
|
@ -650,6 +650,15 @@ public:
|
|||
|
||||
Token *deleteInvalidTypedef(Token *typeDef);
|
||||
|
||||
/**
|
||||
* Get variable count.
|
||||
* @return number of variables
|
||||
*/
|
||||
unsigned int varIdCount() const
|
||||
{
|
||||
return _varId;
|
||||
}
|
||||
|
||||
private:
|
||||
/** Disable copy constructor, no implementation */
|
||||
Tokenizer(const Tokenizer &);
|
||||
|
@ -684,6 +693,9 @@ private:
|
|||
|
||||
/** Symbol database that all checks etc can use */
|
||||
mutable SymbolDatabase *_symbolDatabase;
|
||||
|
||||
/** variable count */
|
||||
unsigned int _varId;
|
||||
};
|
||||
|
||||
/// @}
|
||||
|
|
|
@ -120,6 +120,7 @@ man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
|
|||
<arg choice="opt"><option>--rule=<rule></option></arg>
|
||||
<arg choice="opt"><option>--rule-file=<file></option></arg>
|
||||
<arg choice="opt"><option>--style</option></arg>
|
||||
<arg choice="opt"><option>--suppress=<spec></option></arg>
|
||||
<arg choice="opt"><option>--suppressions-list=<file></option></arg>
|
||||
<arg choice="opt"><option>--template '<text>'</option></arg>
|
||||
<arg choice="opt"><option>--verbose</option></arg>
|
||||
|
@ -303,12 +304,19 @@ Directory name is matched to all parts of the path.</para>
|
|||
<para>Deprecated, use --enable=style</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>--suppress=<spec></option></term>
|
||||
<listitem>
|
||||
<para>Suppress a specific warning. The format of <spec> is: [error id]:[filename]:[line].
|
||||
The [filename] and [line] are optional.
|
||||
[filename] may contain the wildcard characters * or ?.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>--suppressions-list=<file></option></term>
|
||||
<listitem>
|
||||
<para>Suppress warnings listed in the file. Filename and line are optional. The format of the single line in file is: [error id]:[filename]:[line].
|
||||
You can use --template or --xml to see the error id.
|
||||
The filename may contain the wildcard characters * or ?.</para>
|
||||
<para>Suppress warnings listed in the file.
|
||||
Each suppression is in the format of <spec> above.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
|
|
@ -374,7 +374,8 @@ gui/test.cpp,16,error,mismatchAllocDealloc,Mismatching allocation and deallocati
|
|||
<title>Suppressions</title>
|
||||
|
||||
<para>If you want to filter out certain errors you can suppress these.
|
||||
First you need to create a suppressions file. The format is:</para>
|
||||
The <literal>--suppress=</literal> command line option is used to specify
|
||||
suppressions on the command line. The format is one of:</para>
|
||||
|
||||
<programlisting>[error id]:[filename]:[line]
|
||||
[error id]:[filename2]
|
||||
|
@ -389,6 +390,11 @@ gui/test.cpp,16,error,mismatchAllocDealloc,Mismatching allocation and deallocati
|
|||
* or ?, which match any sequence of characters or any single character
|
||||
respectively.</para>
|
||||
|
||||
<programlisting>cppcheck --suppress=memleak:file1.cpp src/</programlisting>
|
||||
|
||||
<para>If you have more than a couple of suppressions, create a suppressions
|
||||
file with one line per suppression as above.</para>
|
||||
|
||||
<para>Here is an example:</para>
|
||||
|
||||
<programlisting>memleak:file1.cpp
|
||||
|
|
|
@ -850,27 +850,17 @@ private:
|
|||
void array_index_24()
|
||||
{
|
||||
// ticket #1492 and #1539
|
||||
if (CHAR_MAX == SCHAR_MAX) // plain char is signed
|
||||
{
|
||||
check("void f(char n) {\n"
|
||||
" int a[n];\n" // n <= CHAR_MAX
|
||||
" a[-1] = 0;\n" // negative index
|
||||
" a[128] = 0;\n" // 128 > CHAR_MAX
|
||||
"}\n");
|
||||
ASSERT_EQUALS("[test.cpp:4]: (error) Array 'a[128]' index 128 out of bounds\n"
|
||||
"[test.cpp:3]: (error) Array index -1 is out of bounds\n", errout.str());
|
||||
|
||||
}
|
||||
else // plain char is unsigned
|
||||
{
|
||||
check("void f(char n) {\n"
|
||||
" int a[n];\n" // n <= CHAR_MAX
|
||||
" a[-1] = 0;\n" // negative index
|
||||
" a[256] = 0;\n" // 256 > CHAR_MAX
|
||||
"}\n");
|
||||
ASSERT_EQUALS("[test.cpp:4]: (error) Array 'a[256]' index 256 out of bounds\n"
|
||||
"[test.cpp:3]: (error) Array index -1 out of bounds\n", errout.str());
|
||||
}
|
||||
// CHAR_MAX can be equal to SCHAR_MAX or UCHAR_MAX depending on the environment.
|
||||
// This test should work for both environments.
|
||||
std::ostringstream charMaxPlusOne;
|
||||
charMaxPlusOne << (CHAR_MAX+1);
|
||||
check(("void f(char n) {\n"
|
||||
" int a[n];\n" // n <= CHAR_MAX
|
||||
" a[-1] = 0;\n" // negative index
|
||||
" a[" + charMaxPlusOne.str() + "] = 0;\n" // 128/256 > CHAR_MAX
|
||||
"}\n").c_str());
|
||||
ASSERT_EQUALS("[test.cpp:4]: (error) Array 'a["+charMaxPlusOne.str()+"]' index "+charMaxPlusOne.str()+" out of bounds\n"
|
||||
"[test.cpp:3]: (error) Array index -1 is out of bounds\n", errout.str());
|
||||
|
||||
check("void f(signed char n) {\n"
|
||||
" int a[n];\n" // n <= SCHAR_MAX
|
||||
|
|
|
@ -2908,7 +2908,52 @@ private:
|
|||
|
||||
void memsetOnClass()
|
||||
{
|
||||
checkNoMemset("class A\n"
|
||||
checkNoMemset("class Fred\n"
|
||||
"{\n"
|
||||
"};\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" Fred fred;\n"
|
||||
" memset(&fred, 0, sizeof(Fred));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
checkNoMemset("class Fred\n"
|
||||
"{\n"
|
||||
" std::string b; \n"
|
||||
"};\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" Fred fred;\n"
|
||||
" memset(&fred, 0, sizeof(Fred));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("[test.cpp:8]: (error) Using 'memset' on class that contains a 'std::string'\n", errout.str());
|
||||
|
||||
checkNoMemset("class Fred\n"
|
||||
"{\n"
|
||||
"};\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" Fred fred;\n"
|
||||
" memset(&fred, 0, sizeof(fred));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
checkNoMemset("class Fred\n"
|
||||
"{\n"
|
||||
" std::string s;\n"
|
||||
"};\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" Fred fred;\n"
|
||||
" memset(&fred, 0, sizeof(fred));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("[test.cpp:8]: (error) Using 'memset' on class that contains a 'std::string'\n", errout.str());
|
||||
}
|
||||
|
||||
void memsetOnStruct()
|
||||
{
|
||||
checkNoMemset("struct A\n"
|
||||
"{\n"
|
||||
"};\n"
|
||||
"void f()\n"
|
||||
|
@ -2924,23 +2969,24 @@ private:
|
|||
"void f()\n"
|
||||
"{\n"
|
||||
" struct A a;\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
" memset(&a, 0, sizeof(struct A));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void memsetOnStruct()
|
||||
{
|
||||
checkNoMemset("class A\n"
|
||||
checkNoMemset("struct A\n"
|
||||
"{\n"
|
||||
" void g( struct sockaddr_in6& a);\n"
|
||||
"private:\n"
|
||||
" std::string b; \n"
|
||||
"};\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" struct sockaddr_in6 fail;\n"
|
||||
" memset(&fail, 0, sizeof(struct sockaddr_in6));\n"
|
||||
" struct A a;\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
checkNoMemset("void f()\n"
|
||||
"{\n"
|
||||
" struct sockaddr_in6 fail;\n"
|
||||
" memset(&fail, 0, sizeof(struct sockaddr_in6));\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
|
@ -2966,18 +3012,68 @@ private:
|
|||
" Fred fred;\n"
|
||||
" memset(&fred, 0, sizeof(fred));\n"
|
||||
"}\n");
|
||||
TODO_ASSERT_EQUALS("error", "", errout.str());
|
||||
ASSERT_EQUALS("[test.cpp:8]: (error) Using 'memset' on struct that contains a 'std::string'\n", errout.str());
|
||||
}
|
||||
|
||||
void memsetVector()
|
||||
{
|
||||
checkNoMemset("class A\n"
|
||||
"{ std::vector<int> ints; }\n"
|
||||
"\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on class that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
checkNoMemset("struct A\n"
|
||||
"{ std::vector<int> ints; }\n"
|
||||
"\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(a, 0, sizeof(A));\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on struct that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
checkNoMemset("struct A\n"
|
||||
"{ std::vector<int> ints; }\n"
|
||||
"\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(&a, 0, sizeof(struct A));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on struct that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
checkNoMemset("struct A\n"
|
||||
"{ std::vector<int> ints; }\n"
|
||||
"\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(&a, 0, sizeof(a));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on struct that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
checkNoMemset("class A\n"
|
||||
"{ std::vector< std::vector<int> > ints; }\n"
|
||||
"\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on class that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
checkNoMemset("struct A\n"
|
||||
"{ std::vector< std::vector<int> > ints; }\n"
|
||||
"\n"
|
||||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on struct that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
|
@ -2987,7 +3083,7 @@ private:
|
|||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(a, 0, sizeof(A));\n"
|
||||
" memset(&a, 0, sizeof(a));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on struct that contains a 'std::vector'\n", errout.str());
|
||||
|
||||
|
@ -2997,7 +3093,7 @@ private:
|
|||
"void f()\n"
|
||||
"{\n"
|
||||
" A a;\n"
|
||||
" memset(a, 0, sizeof(A));\n"
|
||||
" memset(&a, 0, sizeof(A));\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:7]: (error) Using 'memset' on struct that contains a 'std::vector'\n", errout.str());
|
||||
}
|
||||
|
|
|
@ -77,6 +77,8 @@ private:
|
|||
TEST_CASE(suppressionsOld); // TODO: Create and test real suppression file
|
||||
TEST_CASE(suppressions)
|
||||
TEST_CASE(suppressionsNoFile)
|
||||
TEST_CASE(suppressionSingle)
|
||||
TEST_CASE(suppressionSingleFile)
|
||||
TEST_CASE(templates);
|
||||
TEST_CASE(templatesGcc);
|
||||
TEST_CASE(templatesVs);
|
||||
|
@ -554,6 +556,26 @@ private:
|
|||
ASSERT(!parser.ParseFromArgs(3, argv));
|
||||
}
|
||||
|
||||
void suppressionSingle()
|
||||
{
|
||||
REDIRECT;
|
||||
const char *argv[] = {"cppcheck", "--suppress=uninitvar", "file.cpp"};
|
||||
Settings settings;
|
||||
CmdLineParser parser(&settings);
|
||||
ASSERT(parser.ParseFromArgs(3, argv));
|
||||
ASSERT_EQUALS(true, settings.nomsg.isSuppressed("uninitvar", "file.cpp", 1U));
|
||||
}
|
||||
|
||||
void suppressionSingleFile()
|
||||
{
|
||||
REDIRECT;
|
||||
const char *argv[] = {"cppcheck", "--suppress=uninitvar:file.cpp", "file.cpp"};
|
||||
Settings settings;
|
||||
CmdLineParser parser(&settings);
|
||||
ASSERT(parser.ParseFromArgs(3, argv));
|
||||
ASSERT_EQUALS(true, settings.nomsg.isSuppressed("uninitvar", "file.cpp", 1U));
|
||||
}
|
||||
|
||||
void templates()
|
||||
{
|
||||
REDIRECT;
|
||||
|
|
|
@ -106,6 +106,7 @@ private:
|
|||
TEST_CASE(incorrectStringCompare);
|
||||
|
||||
TEST_CASE(incrementBoolean);
|
||||
TEST_CASE(comparisonOfBoolWithInt);
|
||||
}
|
||||
|
||||
void check(const char code[], const char *filename = NULL)
|
||||
|
@ -144,6 +145,7 @@ private:
|
|||
checkOther.clarifyCalculation();
|
||||
checkOther.checkIncorrectStringCompare();
|
||||
checkOther.checkIncrementBoolean();
|
||||
checkOther.checkComparisonOfBoolWithInt();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1923,6 +1925,51 @@ private:
|
|||
"}");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void comparisonOfBoolWithInt()
|
||||
{
|
||||
check("void f(int x) {\n"
|
||||
" if (!x == 10) {\n"
|
||||
" printf(\"x not equal to 10\");\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:2]: (warning) Comparison of a boolean with a non-zero integer\n", errout.str());
|
||||
|
||||
check("void f(int x) {\n"
|
||||
" if (!x != 10) {\n"
|
||||
" printf(\"x not equal to 10\");\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:2]: (warning) Comparison of a boolean with a non-zero integer\n", errout.str());
|
||||
|
||||
check("void f(int x) {\n"
|
||||
" if (x != 10) {\n"
|
||||
" printf(\"x not equal to 10\");\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
check("void f(int x) {\n"
|
||||
" if (10 == !x) {\n"
|
||||
" printf(\"x not equal to 10\");\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:2]: (warning) Comparison of a boolean with a non-zero integer\n", errout.str());
|
||||
|
||||
check("void f(int x) {\n"
|
||||
" if (10 != !x) {\n"
|
||||
" printf(\"x not equal to 10\");\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("[test.cpp:2]: (warning) Comparison of a boolean with a non-zero integer\n", errout.str());
|
||||
|
||||
check("void f(int x) {\n"
|
||||
" if (10 != x) {\n"
|
||||
" printf(\"x not equal to 10\");\n"
|
||||
" }\n"
|
||||
"}");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
};
|
||||
|
||||
REGISTER_TEST(TestOther)
|
||||
|
|
|
@ -92,6 +92,10 @@ private:
|
|||
|
||||
TEST_CASE(error3);
|
||||
|
||||
// Don't handle include in a #if 0 block
|
||||
TEST_CASE(if0_include_1);
|
||||
TEST_CASE(if0_include_2);
|
||||
|
||||
// Handling include guards (don't create extra configuration for it)
|
||||
TEST_CASE(includeguard1);
|
||||
TEST_CASE(includeguard2);
|
||||
|
@ -114,7 +118,6 @@ private:
|
|||
TEST_CASE(if_cond4);
|
||||
TEST_CASE(if_cond5);
|
||||
TEST_CASE(if_cond6);
|
||||
TEST_CASE(if_cond7);
|
||||
TEST_CASE(if_cond8);
|
||||
TEST_CASE(if_cond9);
|
||||
TEST_CASE(if_cond10);
|
||||
|
@ -195,6 +198,7 @@ private:
|
|||
TEST_CASE(ifdef_ifdefined);
|
||||
|
||||
// define and then ifdef
|
||||
TEST_CASE(define_if);
|
||||
TEST_CASE(define_ifdef);
|
||||
TEST_CASE(define_ifndef1);
|
||||
TEST_CASE(define_ifndef2);
|
||||
|
@ -206,6 +210,8 @@ private:
|
|||
TEST_CASE(testPreprocessorRead2);
|
||||
TEST_CASE(testPreprocessorRead3);
|
||||
TEST_CASE(testPreprocessorRead4);
|
||||
|
||||
TEST_CASE(invalid_define); // #2605 - hang for: '#define ='
|
||||
}
|
||||
|
||||
|
||||
|
@ -635,6 +641,32 @@ private:
|
|||
ASSERT_EQUALS("[test.c:1]: (error) #error hello world!\n", errout.str());
|
||||
}
|
||||
|
||||
void if0_include_1()
|
||||
{
|
||||
Settings settings;
|
||||
Preprocessor preprocessor(&settings, this);
|
||||
|
||||
std::istringstream code("#if 0\n"
|
||||
"#include \"a.h\"\n"
|
||||
"#endif\n"
|
||||
"AB\n");
|
||||
ASSERT_EQUALS("\n\n\nAB\n", preprocessor.read(code,"",NULL));
|
||||
}
|
||||
|
||||
void if0_include_2()
|
||||
{
|
||||
Settings settings;
|
||||
Preprocessor preprocessor(&settings, this);
|
||||
|
||||
std::istringstream code("#if 0\n"
|
||||
"#include \"a.h\"\n"
|
||||
"#ifdef WIN32\n"
|
||||
"#else\n"
|
||||
"#endif\n"
|
||||
"#endif\n"
|
||||
"AB\n");
|
||||
ASSERT_EQUALS("\n\n\n\n\n\nAB\n", preprocessor.read(code,"",NULL));
|
||||
}
|
||||
|
||||
void includeguard1()
|
||||
{
|
||||
|
@ -1232,48 +1264,6 @@ private:
|
|||
ASSERT_EQUALS("[file.c:2]: (error) mismatching number of '(' and ')' in this line: defined(A)&&defined(B))\n", errout.str());
|
||||
}
|
||||
|
||||
void if_cond7()
|
||||
{
|
||||
{
|
||||
const char filedata[] = "#define A 1\n"
|
||||
"#if A==1\n"
|
||||
"a1;\n"
|
||||
"#endif\n";
|
||||
|
||||
// Preprocess => actual result..
|
||||
std::istringstream istr(filedata);
|
||||
std::map<std::string, std::string> actual;
|
||||
Settings settings;
|
||||
Preprocessor preprocessor(&settings, this);
|
||||
preprocessor.preprocess(istr, actual, "file.c");
|
||||
|
||||
// Compare results..
|
||||
ASSERT_EQUALS(1, (int)actual.size());
|
||||
ASSERT_EQUALS("\n\na1;\n\n", actual[""]);
|
||||
}
|
||||
|
||||
{
|
||||
const char filedata[] = "#define A 0\n"
|
||||
"#if A\n"
|
||||
"foo();\n"
|
||||
"#endif\n";
|
||||
|
||||
// Preprocess => actual result..
|
||||
std::istringstream istr(filedata);
|
||||
std::map<std::string, std::string> actual;
|
||||
Settings settings;
|
||||
Preprocessor preprocessor(&settings, this);
|
||||
preprocessor.preprocess(istr, actual, "file.c");
|
||||
|
||||
// Compare results..
|
||||
TODO_ASSERT_EQUALS(2,
|
||||
1, static_cast<unsigned int>(actual.size()));
|
||||
TODO_ASSERT_EQUALS("\n\n\n\n",
|
||||
"\n\nfoo();\n\n", actual[""]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void if_cond8()
|
||||
{
|
||||
const char filedata[] = "#if defined(A) + defined(B) + defined(C) != 1\n"
|
||||
|
@ -2440,6 +2430,24 @@ private:
|
|||
ASSERT_EQUALS(2, static_cast<unsigned int>(actual.size()));
|
||||
}
|
||||
|
||||
void define_if()
|
||||
{
|
||||
{
|
||||
const char filedata[] = "#define A 0\n"
|
||||
"#if A\n"
|
||||
"FOO\n"
|
||||
"#endif";
|
||||
ASSERT_EQUALS("\n\n\n\n", Preprocessor::getcode(filedata,"","",NULL,NULL));
|
||||
}
|
||||
{
|
||||
const char filedata[] = "#define A 1\n"
|
||||
"#if A==1\n"
|
||||
"FOO\n"
|
||||
"#endif";
|
||||
ASSERT_EQUALS("\n\nFOO\n\n", Preprocessor::getcode(filedata,"","",NULL,NULL));
|
||||
}
|
||||
}
|
||||
|
||||
void define_ifdef()
|
||||
{
|
||||
{
|
||||
|
@ -2720,6 +2728,18 @@ private:
|
|||
ASSERT_EQUALS("#define A \" \\\\\\\\\" \" \"", preprocessor.read(istr, "test.cpp", 0));
|
||||
}
|
||||
}
|
||||
|
||||
void invalid_define()
|
||||
{
|
||||
Settings settings;
|
||||
Preprocessor preprocessor(&settings, this);
|
||||
|
||||
std::istringstream src("#define =\n");
|
||||
std::string processedFile;
|
||||
std::list<std::string> cfg;
|
||||
std::list<std::string> paths;
|
||||
preprocessor.preprocess(src, processedFile, cfg, "", paths); // don't hang
|
||||
}
|
||||
};
|
||||
|
||||
REGISTER_TEST(TestPreprocessor)
|
||||
|
|
|
@ -85,6 +85,7 @@ private:
|
|||
TEST_CASE(sizeof20); // #2024 - sizeof a)
|
||||
TEST_CASE(sizeof21); // #2232 - sizeof...(Args)
|
||||
TEST_CASE(sizeof22); // #2599
|
||||
TEST_CASE(sizeof23); // #2604
|
||||
TEST_CASE(sizeofsizeof);
|
||||
TEST_CASE(casting);
|
||||
|
||||
|
@ -241,6 +242,7 @@ private:
|
|||
TEST_CASE(simplifyTypedef79); // ticket #2348
|
||||
TEST_CASE(simplifyTypedef80); // ticket #2587
|
||||
TEST_CASE(simplifyTypedef81); // ticket #2603
|
||||
TEST_CASE(simplifyTypedef82); // ticket #2403
|
||||
|
||||
TEST_CASE(simplifyTypedefFunction1);
|
||||
TEST_CASE(simplifyTypedefFunction2); // ticket #1685
|
||||
|
@ -326,7 +328,8 @@ private:
|
|||
|
||||
TEST_CASE(simplifyFunctionReturn);
|
||||
|
||||
TEST_CASE(removeUnnecessaryQualification);
|
||||
TEST_CASE(removeUnnecessaryQualification1);
|
||||
TEST_CASE(removeUnnecessaryQualification2);
|
||||
|
||||
TEST_CASE(simplifyIfNotNull);
|
||||
}
|
||||
|
@ -1432,6 +1435,15 @@ private:
|
|||
tok(code);
|
||||
}
|
||||
|
||||
void sizeof23()
|
||||
{
|
||||
// ticket #2604 segmentation fault
|
||||
const char code[] = "sizeof <= A\n";
|
||||
|
||||
// don't segfault
|
||||
tok(code);
|
||||
}
|
||||
|
||||
|
||||
void sizeofsizeof()
|
||||
{
|
||||
|
@ -4931,6 +4943,24 @@ private:
|
|||
ASSERT_EQUALS("[test.cpp:1]: (error) syntax error\n", errout.str());
|
||||
}
|
||||
|
||||
void simplifyTypedef82() // ticket #2403
|
||||
{
|
||||
checkSimplifyTypedef("class A {\n"
|
||||
"public:\n"
|
||||
" typedef int F(int idx);\n"
|
||||
"};\n"
|
||||
"class B {\n"
|
||||
"public:\n"
|
||||
" A::F ** f;\n"
|
||||
"};\n"
|
||||
"int main()\n"
|
||||
"{\n"
|
||||
" B * b = new B;\n"
|
||||
" b->f = new A::F * [ 10 ];\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void simplifyTypedefFunction1()
|
||||
{
|
||||
{
|
||||
|
@ -6521,7 +6551,7 @@ private:
|
|||
ASSERT_EQUALS(expected, tok(code, false));
|
||||
}
|
||||
|
||||
void removeUnnecessaryQualification()
|
||||
void removeUnnecessaryQualification1()
|
||||
{
|
||||
const char code[] = "class Fred { Fred::Fred() {} };";
|
||||
const char expected[] = "class Fred { Fred ( ) { } } ;";
|
||||
|
@ -6529,6 +6559,16 @@ private:
|
|||
ASSERT_EQUALS("[test.cpp:1]: (portability) Extra qualification 'Fred::' unnecessary and considered an error by many compilers.\n", errout.str());
|
||||
}
|
||||
|
||||
void removeUnnecessaryQualification2()
|
||||
{
|
||||
const char code[] = "template<typename Iter, typename Skip>\n"
|
||||
"struct grammar : qi::grammar<Iter, int(), Skip> {\n"
|
||||
" grammar() : grammar::base_type(start) { }\n"
|
||||
"};\n";
|
||||
tok(code, false);
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void simplifyIfNotNull() // ticket # 2601 segmentation fault
|
||||
{
|
||||
const char code[] = "|| #if #define <=";
|
||||
|
|
|
@ -38,6 +38,7 @@ public:
|
|||
,typetok(NULL)
|
||||
,t(NULL)
|
||||
,found(false)
|
||||
,isArray(false)
|
||||
{}
|
||||
|
||||
private:
|
||||
|
@ -46,6 +47,7 @@ private:
|
|||
const Token* typetok;
|
||||
const Token* t;
|
||||
bool found;
|
||||
bool isArray;
|
||||
|
||||
void reset()
|
||||
{
|
||||
|
@ -53,6 +55,7 @@ private:
|
|||
typetok = NULL;
|
||||
t = NULL;
|
||||
found = false;
|
||||
isArray = false;
|
||||
}
|
||||
|
||||
void run()
|
||||
|
@ -93,213 +96,238 @@ private:
|
|||
TEST_CASE(hasInlineClassFunctionReturningFunctionPointer);
|
||||
TEST_CASE(hasMissingInlineClassFunctionReturningFunctionPointer);
|
||||
TEST_CASE(hasClassFunctionReturningFunctionPointer);
|
||||
|
||||
TEST_CASE(hasGlobalVariables1);
|
||||
TEST_CASE(hasGlobalVariables2);
|
||||
TEST_CASE(hasGlobalVariables3);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationCanHandleNull()
|
||||
{
|
||||
reset();
|
||||
bool result = si.isVariableDeclaration(NULL, vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(NULL, vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(false, result);
|
||||
ASSERT(NULL == vartok);
|
||||
ASSERT(NULL == typetok);
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesSimpleDeclaration()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize simpleDeclaration("int x;");
|
||||
bool result = si.isVariableDeclaration(simpleDeclaration.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(simpleDeclaration.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("x", vartok->str());
|
||||
ASSERT_EQUALS("int", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesScopedDeclaration()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize ScopedDeclaration("::int x;");
|
||||
bool result = si.isVariableDeclaration(ScopedDeclaration.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(ScopedDeclaration.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("x", vartok->str());
|
||||
ASSERT_EQUALS("int", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesStdDeclaration()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize StdDeclaration("std::string x;");
|
||||
bool result = si.isVariableDeclaration(StdDeclaration.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(StdDeclaration.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("x", vartok->str());
|
||||
ASSERT_EQUALS("string", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesScopedStdDeclaration()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize StdDeclaration("::std::string x;");
|
||||
bool result = si.isVariableDeclaration(StdDeclaration.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(StdDeclaration.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("x", vartok->str());
|
||||
ASSERT_EQUALS("string", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesManyScopes()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize manyScopes("AA::BB::CC::DD::EE x;");
|
||||
bool result = si.isVariableDeclaration(manyScopes.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(manyScopes.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("x", vartok->str());
|
||||
ASSERT_EQUALS("EE", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesPointers()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize pointer("int* p;");
|
||||
bool result = si.isVariableDeclaration(pointer.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(pointer.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("p", vartok->str());
|
||||
ASSERT_EQUALS("int", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationDoesNotIdentifyConstness()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize constness("const int* cp;");
|
||||
bool result = si.isVariableDeclaration(constness.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(constness.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(false, result);
|
||||
ASSERT(NULL == vartok);
|
||||
ASSERT(NULL == typetok);
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesFirstOfManyVariables()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize multipleDeclaration("int first, second;");
|
||||
bool result = si.isVariableDeclaration(multipleDeclaration.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(multipleDeclaration.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("first", vartok->str());
|
||||
ASSERT_EQUALS("int", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesScopedPointerDeclaration()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize manyScopes("AA::BB::CC::DD::EE* p;");
|
||||
bool result = si.isVariableDeclaration(manyScopes.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(manyScopes.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("p", vartok->str());
|
||||
ASSERT_EQUALS("EE", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesDeclarationWithIndirection()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize pointerToPointer("int** pp;");
|
||||
bool result = si.isVariableDeclaration(pointerToPointer.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(pointerToPointer.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("pp", vartok->str());
|
||||
ASSERT_EQUALS("int", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesDeclarationWithMultipleIndirection()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize pointerToPointer("int***** p;");
|
||||
bool result = si.isVariableDeclaration(pointerToPointer.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(pointerToPointer.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("p", vartok->str());
|
||||
ASSERT_EQUALS("int", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesArray()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize array("::std::string v[3];");
|
||||
bool result = si.isVariableDeclaration(array.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(array.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("v", vartok->str());
|
||||
ASSERT_EQUALS("string", typetok->str());
|
||||
ASSERT(true == isArray);
|
||||
}
|
||||
|
||||
void test_isVariableDeclarationIdentifiesOfArrayPointers()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize array("A *a[5];");
|
||||
bool result = si.isVariableDeclaration(array.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(array.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("a", vartok->str());
|
||||
ASSERT_EQUALS("A", typetok->str());
|
||||
ASSERT(true == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationIdentifiesTemplatedPointerVariable()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("std::set<char>* chars;");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("chars", vartok->str());
|
||||
ASSERT_EQUALS("set", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationIdentifiesTemplatedPointerToPointerVariable()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("std::deque<int>*** ints;");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("ints", vartok->str());
|
||||
ASSERT_EQUALS("deque", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationIdentifiesTemplatedArrayVariable()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("std::deque<int> ints[3];");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("ints", vartok->str());
|
||||
ASSERT_EQUALS("deque", typetok->str());
|
||||
ASSERT(true == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationIdentifiesTemplatedVariable()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("std::vector<int> ints;");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("ints", vartok->str());
|
||||
ASSERT_EQUALS("vector", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationIdentifiesTemplatedVariableIterator()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("std::list<int>::const_iterator floats;");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("floats", vartok->str());
|
||||
ASSERT_EQUALS("const_iterator", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationIdentifiesNestedTemplateVariable()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("std::deque<std::set<int> > intsets;");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(true, result);
|
||||
ASSERT_EQUALS("intsets", vartok->str());
|
||||
ASSERT_EQUALS("deque", typetok->str());
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void isVariableDeclarationDoesNotIdentifyTemplateClass()
|
||||
{
|
||||
reset();
|
||||
givenACodeSampleToTokenize var("template <class T> class SomeClass{};");
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok);
|
||||
bool result = si.isVariableDeclaration(var.tokens(), vartok, typetok, isArray);
|
||||
ASSERT_EQUALS(false, result);
|
||||
ASSERT(false == isArray);
|
||||
}
|
||||
|
||||
void canFindMatchingBracketsNeedsOpen()
|
||||
|
@ -522,6 +550,60 @@ private:
|
|||
ASSERT(function && function->hasBody && !function->isInline && function->retFuncPtr);
|
||||
}
|
||||
}
|
||||
|
||||
void hasGlobalVariables1()
|
||||
{
|
||||
GET_SYMBOL_DB("int i;\n")
|
||||
|
||||
ASSERT(db && db->scopeList.size() == 1);
|
||||
if (db && db->scopeList.size() == 1)
|
||||
{
|
||||
std::list<Scope *>::const_iterator it = db->scopeList.begin();
|
||||
ASSERT((*it)->varlist.size() == 1);
|
||||
if ((*it)->varlist.size() == 1)
|
||||
{
|
||||
std::list<Variable>::const_iterator var = (*it)->varlist.begin();
|
||||
ASSERT(var->name() == "i");
|
||||
ASSERT(var->typeStartToken()->str() == "int");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void hasGlobalVariables2()
|
||||
{
|
||||
GET_SYMBOL_DB("int array[2][2];\n")
|
||||
|
||||
ASSERT(db && db->scopeList.size() == 1);
|
||||
if (db && db->scopeList.size() == 1)
|
||||
{
|
||||
std::list<Scope *>::const_iterator it = db->scopeList.begin();
|
||||
ASSERT((*it)->varlist.size() == 1);
|
||||
if ((*it)->varlist.size() == 1)
|
||||
{
|
||||
std::list<Variable>::const_iterator var = (*it)->varlist.begin();
|
||||
ASSERT(var->name() == "array");
|
||||
ASSERT(var->typeStartToken()->str() == "int");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void hasGlobalVariables3()
|
||||
{
|
||||
GET_SYMBOL_DB("int array[2][2] = { { 0, 0 }, { 0, 0 } };\n")
|
||||
|
||||
ASSERT(db && db->scopeList.size() == 1);
|
||||
if (db && db->scopeList.size() == 1)
|
||||
{
|
||||
std::list<Scope *>::const_iterator it = db->scopeList.begin();
|
||||
ASSERT((*it)->varlist.size() == 1);
|
||||
if ((*it)->varlist.size() == 1)
|
||||
{
|
||||
std::list<Variable>::const_iterator var = (*it)->varlist.begin();
|
||||
ASSERT(var->name() == "array");
|
||||
ASSERT(var->typeStartToken()->str() == "int");
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
REGISTER_TEST(TestSymbolDatabase)
|
||||
|
|
|
@ -79,6 +79,7 @@ private:
|
|||
TEST_CASE(ifAddBraces11);
|
||||
TEST_CASE(ifAddBraces12);
|
||||
TEST_CASE(ifAddBraces13);
|
||||
TEST_CASE(ifAddBraces14); // #2610 - segfault: if()<{}
|
||||
|
||||
TEST_CASE(whileAddBraces);
|
||||
TEST_CASE(doWhileAddBraces);
|
||||
|
@ -128,6 +129,7 @@ private:
|
|||
TEST_CASE(simplifyKnownVariables39);
|
||||
TEST_CASE(simplifyKnownVariables40);
|
||||
TEST_CASE(simplifyKnownVariables41); // p=&x; if (p) ..
|
||||
TEST_CASE(simplifyKnownVariables42); // ticket #2031 - known string value after strcpy
|
||||
TEST_CASE(simplifyKnownVariablesBailOutAssign);
|
||||
TEST_CASE(simplifyKnownVariablesBailOutFor1);
|
||||
TEST_CASE(simplifyKnownVariablesBailOutFor2);
|
||||
|
@ -850,6 +852,13 @@ private:
|
|||
ASSERT_EQUALS(expected2, tokenizeAndStringify(code2, true));
|
||||
}
|
||||
|
||||
void ifAddBraces14()
|
||||
{
|
||||
// ticket #2610 (segfault)
|
||||
tokenizeAndStringify("if()<{}", false);
|
||||
}
|
||||
|
||||
|
||||
void whileAddBraces()
|
||||
{
|
||||
const char code[] = ";while(a);";
|
||||
|
@ -2032,6 +2041,21 @@ private:
|
|||
ASSERT_EQUALS("void f ( ) {\nint x ; x = 0 ;\nconst int * p ; p = & x ;\nif ( & x ) { return 0 ; }\n}", tokenizeAndStringify(code, true));
|
||||
}
|
||||
|
||||
void simplifyKnownVariables42()
|
||||
{
|
||||
const char code[] = "void f() {\n"
|
||||
" char str1[10], str2[10];\n"
|
||||
" strcpy(str1, \"abc\");\n"
|
||||
" strcpy(str2, str1);\n"
|
||||
"}";
|
||||
const char expected[] = "void f ( ) {\n"
|
||||
"char str1 [ 10 ] ; char str2 [ 10 ] ;\n"
|
||||
"strcpy ( str1 , \"abc\" ) ;\n"
|
||||
"strcpy ( str2 , \"abc\" ) ;\n"
|
||||
"}";
|
||||
ASSERT_EQUALS(expected, tokenizeAndStringify(code, true));
|
||||
}
|
||||
|
||||
void simplifyKnownVariablesBailOutAssign()
|
||||
{
|
||||
const char code[] = "int foo() {\n"
|
||||
|
|
|
@ -46,7 +46,8 @@ private:
|
|||
TEST_CASE(uninitvar_references); // references
|
||||
TEST_CASE(uninitvar_strncpy); // strncpy doesn't always 0-terminate
|
||||
TEST_CASE(uninitvar_func); // analyse functions
|
||||
TEST_CASE(uninitvar_func2); // usage of 'void a(int *p) { *p = 0; }'
|
||||
TEST_CASE(func_uninit_var); // analyse function calls for: 'int a(int x) { return x+x; }'
|
||||
TEST_CASE(func_uninit_pointer); // analyse function calls for: 'void a(int *p) { *p = 0; }'
|
||||
TEST_CASE(uninitvar_typeof); // typeof
|
||||
}
|
||||
|
||||
|
@ -1436,8 +1437,29 @@ private:
|
|||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
// valid and invalid use of 'int a(int x) { return x + x; }'
|
||||
void func_uninit_var()
|
||||
{
|
||||
const std::string funca("int a(int x) { return x + x; }\n");
|
||||
|
||||
checkUninitVar((funca +
|
||||
"void b() {\n"
|
||||
" int x;\n"
|
||||
" a(x);\n"
|
||||
"}").c_str());
|
||||
ASSERT_EQUALS("[test.cpp:4]: (error) Uninitialized variable: x\n", errout.str());
|
||||
|
||||
checkUninitVar((funca +
|
||||
"void b() {\n"
|
||||
" int *p;\n"
|
||||
" a(*p);\n"
|
||||
"}").c_str());
|
||||
ASSERT_EQUALS("[test.cpp:4]: (error) Uninitialized variable: p\n", errout.str());
|
||||
}
|
||||
|
||||
|
||||
// valid and invalid use of 'void a(int *p) { *p = 0; }'
|
||||
void uninitvar_func2()
|
||||
void func_uninit_pointer()
|
||||
{
|
||||
const std::string funca("void a(int *p) { *p = 0; }\n");
|
||||
|
||||
|
@ -1455,7 +1477,7 @@ private:
|
|||
" int *p;\n"
|
||||
" a(p);\n"
|
||||
"}\n").c_str());
|
||||
TODO_ASSERT_EQUALS("error", "", errout.str());
|
||||
ASSERT_EQUALS("[test.cpp:4]: (error) Uninitialized variable: p\n", errout.str());
|
||||
}
|
||||
|
||||
void uninitvar_typeof()
|
||||
|
|
Loading…
Reference in New Issue