From f82021d64329097cdd5d981f032c37611155c6f6 Mon Sep 17 00:00:00 2001 From: Kimmo Varis Date: Sat, 2 Apr 2011 14:25:18 +0300 Subject: [PATCH] GUI: Improving application handling code. Only allow access to Application's attributes through accessor methods. --- gui/application.cpp | 27 +++++++++++++ gui/application.h | 87 ++++++++++++++++++++++++++++++++++++++--- gui/applicationlist.cpp | 16 +++----- gui/gui.pro | 3 +- 4 files changed, 116 insertions(+), 17 deletions(-) create mode 100644 gui/application.cpp diff --git a/gui/application.cpp b/gui/application.cpp new file mode 100644 index 000000000..350743baf --- /dev/null +++ b/gui/application.cpp @@ -0,0 +1,27 @@ +/* + * Cppcheck - A tool for static C/C++ code analysis + * Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "application.h" + +Application::Application(const QString &name, const QString &path, + const QString ¶ms) + : mName(name) + , mPath(path) + , mParameters(params) +{ +} diff --git a/gui/application.h b/gui/application.h index 7af579e31..a19e3682f 100644 --- a/gui/application.h +++ b/gui/application.h @@ -1,6 +1,26 @@ +/* + * Cppcheck - A tool for static C/C++ code analysis + * Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #ifndef APPLICATION_H #define APPLICATION_H +#include + /** * @brief A class containing information of the application to execute. * @@ -8,23 +28,78 @@ class Application { public: + Application(const QString &name, const QString &path, const QString ¶ms); + + /** + * @brief Get application name. + * @return Application name. + */ + QString getName() const + { + return mName; + } + + /** + * @brief Get application path. + * @return Application path. + */ + QString getPath() const + { + return mPath; + } + + /** + * @brief Get application command line parameters. + * @return Application command line parameters. + */ + QString getParameters() const + { + return mParameters; + } + + /** + * @brief Set application name. + * @param name Application name. + */ + void setName(const QString &name) + { + mName = name; + } + + /** + * @brief Set application path. + * @param path Application path. + */ + void setPath(const QString &path) + { + mPath = path; + } + + /** + * @brief Set application command line parameters. + * @param parameters Application command line parameters. + */ + void setParameters(const QString ¶meters) + { + mParameters = parameters; + } + +private: + /** * @brief Application's name - * */ - QString Name; + QString mName; /** * @brief Application's path - * */ - QString Path; + QString mPath; /** * @brief Application's parameters - * */ - QString Parameters; + QString mParameters; }; #endif // APPLICATION_H diff --git a/gui/applicationlist.cpp b/gui/applicationlist.cpp index 2823c0c10..d7efba3d2 100644 --- a/gui/applicationlist.cpp +++ b/gui/applicationlist.cpp @@ -127,7 +127,7 @@ QString ApplicationList::GetApplicationName(const int index) const { if (index >= 0 && index < mApplications.size()) { - return mApplications[index].Name; + return mApplications[index].getName(); } return QString(); @@ -137,7 +137,7 @@ QString ApplicationList::GetApplicationPath(const int index) const { if (index >= 0 && index < mApplications.size()) { - return mApplications[index].Path; + return mApplications[index].getPath(); } return QString(); @@ -147,7 +147,7 @@ QString ApplicationList::GetApplicationParameters(const int index) const { if (index >= 0 && index < mApplications.size()) { - return mApplications[index].Parameters; + return mApplications[index].getParameters(); } return QString(); @@ -160,9 +160,8 @@ void ApplicationList::SetApplication(const int index, { if (index >= 0 && index < mApplications.size()) { - mApplications[index].Name = name; - mApplications[index].Path = path; - mApplications[index].Parameters = parameters; + Application app(name, path, parameters); + mApplications.replace(index, app); } } @@ -175,10 +174,7 @@ void ApplicationList::AddApplication(const QString &name, return; } - Application app; - app.Name = name; - app.Path = path; - app.Parameters = parameters; + Application app(name, path, parameters); mApplications << app; } diff --git a/gui/gui.pro b/gui/gui.pro index 698c2cf94..10fc30d9c 100644 --- a/gui/gui.pro +++ b/gui/gui.pro @@ -105,7 +105,8 @@ SOURCES += main.cpp \ logview.cpp \ filelist.cpp \ statsdialog.cpp \ - checkstatistics.cpp + checkstatistics.cpp \ + application.cpp win32 { DEFINES += _CRT_SECURE_NO_WARNINGS