[rkward] rkward: More ebn / krazy fixes: explicit constructors and #warning directives

Thomas Friedrichsmeier thomas.friedrichsmeier at ruhr-uni-bochum.de
Thu Feb 26 08:32:41 UTC 2015


Git commit ae35c3ed3dcac9f710f4ed1c74aa4441a88aca59 by Thomas Friedrichsmeier.
Committed on 26/02/2015 at 08:17.
Pushed by tfry into branch 'master'.

More ebn / krazy fixes: explicit constructors and #warning directives

M  +1    -1    rkward/agents/rkdebughandler.h
M  +2    -2    rkward/agents/rkquitagent.h
M  +1    -2    rkward/core/rkmodificationtracker.h
M  +3    -3    rkward/core/rkpseudoobjects.h
M  +1    -1    rkward/core/rkrownames.h
M  +2    -2    rkward/dataeditor/rkvareditmodel.h
M  +1    -1    rkward/dataeditor/twintable.h
M  +1    -1    rkward/dataeditor/twintablemember.h
M  +6    -6    rkward/dialogs/rkloadlibsdialog.h
M  +1    -1    rkward/misc/celleditor.h
M  +1    -1    rkward/misc/editformatdialog.h
M  +1    -1    rkward/misc/editlabelsdialog.h
M  +1    -1    rkward/misc/rkdbusapi.h
M  +1    -1    rkward/misc/rkfindbar.h
M  +1    -1    rkward/misc/rkobjectlistview.h
M  +2    -2    rkward/misc/rkspecialactions.h
M  +1    -1    rkward/misc/rkspinbox.h
M  +1    -1    rkward/misc/rktableview.h
M  +1    -1    rkward/misc/rkxmlguisyncer_p.h
M  +1    -1    rkward/misc/xmlhelper.h
M  +1    -1    rkward/plugin/rkcomponentproperties.h
M  +1    -1    rkward/plugin/rkoptionset.h
M  +1    -1    rkward/qwinhost/qwinhost.h
M  +1    -1    rkward/rbackend/rcommandstack.h
M  +1    -1    rkward/rbackend/rkrbackendprotocol_frontend.h
M  +1    -1    rkward/rbackend/rkrbackendprotocol_shared.h
M  +1    -1    rkward/rbackend/rkstructuregetter.h
M  +9    -3    rkward/rkward.cpp
M  +3    -1    rkward/rkwardapplication.cpp
M  +1    -1    rkward/scriptbackends/rkcomponentscripting.h
M  +1    -1    rkward/settings/rksettings.h
M  +1    -1    rkward/settings/rksettingsmoduleoutput.h
M  +1    -1    rkward/settings/rksettingsmoduleplugins.h
M  +1    -1    rkward/windows/rkcallstackviewer.h
M  +2    -2    rkward/windows/rkcommandeditorwindow.h
M  +1    -1    rkward/windows/rkcommandlog.h
M  +1    -1    rkward/windows/rkdebugmessagewindow.h
M  +1    -1    rkward/windows/rkfilebrowser.h
M  +1    -1    rkward/windows/rkhelpsearchwindow.h
M  +4    -4    rkward/windows/rkhtmlwindow.h
M  +1    -1    rkward/windows/rktoplevelwindowgui.h
M  +1    -1    rkward/windows/rkworkplace.h
M  +1    -1    rkward/windows/robjectbrowser.h

http://commits.kde.org/rkward/ae35c3ed3dcac9f710f4ed1c74aa4441a88aca59

diff --git a/rkward/agents/rkdebughandler.h b/rkward/agents/rkdebughandler.h
index d2dcfce..c3b7ef2 100644
--- a/rkward/agents/rkdebughandler.h
+++ b/rkward/agents/rkdebughandler.h
@@ -28,7 +28,7 @@ class RBackendRequest;
 class RKDebugHandler : public QObject {
 	Q_OBJECT
 public:
-	RKDebugHandler (QObject *parent);
+	explicit RKDebugHandler (QObject *parent);
 	~RKDebugHandler ();
 
 	static RKDebugHandler *instance () { return _instance; };
diff --git a/rkward/agents/rkquitagent.h b/rkward/agents/rkquitagent.h
index 4c91c95..b2ec6ba 100644
--- a/rkward/agents/rkquitagent.h
+++ b/rkward/agents/rkquitagent.h
@@ -29,9 +29,9 @@ class RKQuitAgent : public QObject, public RCommandReceiver {
 	Q_OBJECT
 public:
 /** Constructor. As soon as you contruct an object of this type, the RKWard application *will* quit (but maybe with a short delay)! */
-	RKQuitAgent (QObject *parent);
-
+	explicit RKQuitAgent (QObject *parent);
 	~RKQuitAgent ();
+
 	static bool quittingInProgress () { return quitting; };
 public slots:
 	void doQuitNow ();
diff --git a/rkward/core/rkmodificationtracker.h b/rkward/core/rkmodificationtracker.h
index 56b4a43..b800664 100644
--- a/rkward/core/rkmodificationtracker.h
+++ b/rkward/core/rkmodificationtracker.h
@@ -117,8 +117,7 @@ This class takes care of propagating object-modifications to all editors/variabl
 */
 class RKModificationTracker : public RKObjectListModel {
 public:
-	RKModificationTracker (QObject *parent);
-
+	explicit RKModificationTracker (QObject *parent);
 	~RKModificationTracker ();
 	
 /** the given object should be removed (either it was removed in the R-workspace, or the user requests removal of the object in an editor or the RObjectList). First, if the object is being edited somewhere, the user will get a chance to object to the removal. If the user does not object, the RKModificationTracker will remove the object and notify all interested listeners that the object really was removed. When calling from the RObjectList, you will likely set removed_in_workspace to true, to signal that the object-data is already gone in the workspace. */
diff --git a/rkward/core/rkpseudoobjects.h b/rkward/core/rkpseudoobjects.h
index cf4bea3..6c9588b 100644
--- a/rkward/core/rkpseudoobjects.h
+++ b/rkward/core/rkpseudoobjects.h
@@ -32,7 +32,7 @@ This class represents a "pseudo" list of the S4 slots of the corresponding paren
 */
 class RSlotsPseudoObject : public RContainerObject {
 public:
-	RSlotsPseudoObject (RObject *parent);
+	explicit RSlotsPseudoObject (RObject *parent);
 	~RSlotsPseudoObject ();
 
 	QString getFullName () const;
@@ -48,7 +48,7 @@ rather call it a "special" object, instead).
 */
 class RKNamespaceObject : public REnvironmentObject {
 public:
-	RKNamespaceObject (REnvironmentObject* package, const QString name = QString ());
+	explicit RKNamespaceObject (REnvironmentObject* package, const QString name = QString ());
 	~RKNamespaceObject ();
 
 	QString getFullName () const;
@@ -72,7 +72,7 @@ It exists only once, as a direct child of the RObjectList.
 */
 class RKOrphanNamespacesObject : public REnvironmentObject {
 public:
-	RKOrphanNamespacesObject (RObjectList *parent);
+	explicit RKOrphanNamespacesObject (RObjectList *parent);
 	~RKOrphanNamespacesObject ();
 
 	QString getFullName () const;
diff --git a/rkward/core/rkrownames.h b/rkward/core/rkrownames.h
index de8c066..b615b58 100644
--- a/rkward/core/rkrownames.h
+++ b/rkward/core/rkrownames.h
@@ -24,7 +24,7 @@
 This object is special in that it exists during editing, only. It is not represented in the RObjectList. */
 class RKRowNames : public RKVariable {
 public:
-	RKRowNames (RContainerObject *parent);
+	explicit RKRowNames (RContainerObject *parent);
 	~RKRowNames ();
 
 	QString getFullName () const;
diff --git a/rkward/dataeditor/rkvareditmodel.h b/rkward/dataeditor/rkvareditmodel.h
index 32304d3..deb75b0 100644
--- a/rkward/dataeditor/rkvareditmodel.h
+++ b/rkward/dataeditor/rkvareditmodel.h
@@ -35,7 +35,7 @@ class RKRowNames;
 @author Thomas Friedrichsmeier */
 class RKVarEditModelBase : public QAbstractTableModel {
 public:
-	RKVarEditModelBase (QObject *parent) : QAbstractTableModel (parent) {};
+	explicit RKVarEditModelBase (QObject *parent) : QAbstractTableModel (parent) {};
 	virtual ~RKVarEditModelBase () {};
 
 	virtual RKTextMatrix getTextMatrix (const QItemSelectionRange& range) const = 0;
@@ -53,7 +53,7 @@ public:
 class RKVarEditModel : public RKVarEditModelBase, public RObjectListener {
 	Q_OBJECT
 public:
-	RKVarEditModel (QObject *parent);
+	explicit RKVarEditModel (QObject *parent);
 	~RKVarEditModel ();
 
 	/** set the editor that is using this model. This is useful to find out, e.g. which window should be raised, when calling "Edit" on an object represented in this data-model. Also, the editor will be notified, if all objects in the model have been removed. */
diff --git a/rkward/dataeditor/twintable.h b/rkward/dataeditor/twintable.h
index bdae963..7ecc94f 100644
--- a/rkward/dataeditor/twintable.h
+++ b/rkward/dataeditor/twintable.h
@@ -39,7 +39,7 @@ class KAction;
 class TwinTable : public RKEditor, public RObjectListener, public KXMLGUIClient {
 	Q_OBJECT
 public: 
-	TwinTable (QWidget *parent=0);
+	explicit TwinTable (QWidget *parent=0);
 	~TwinTable ();
 /** Pastes clipboard content to the current table */
 	void paste (RKEditor::PasteMode paste_mode);
diff --git a/rkward/dataeditor/twintablemember.h b/rkward/dataeditor/twintablemember.h
index 893a639..0c45b46 100644
--- a/rkward/dataeditor/twintablemember.h
+++ b/rkward/dataeditor/twintablemember.h
@@ -35,7 +35,7 @@ class RKVarEditModelBase;
 class TwinTableMember : public RKTableView {
 	Q_OBJECT
 public: 
-	TwinTableMember (QWidget *parent);
+	explicit TwinTableMember (QWidget *parent);
 	~TwinTableMember ();
 	TwinTableMember *getTwin () { return twin; };
 /** ends editing. Actually it's just a simple wrapper around QTable::endEdit () */
diff --git a/rkward/dialogs/rkloadlibsdialog.h b/rkward/dialogs/rkloadlibsdialog.h
index 3809363..dadcc01 100644
--- a/rkward/dialogs/rkloadlibsdialog.h
+++ b/rkward/dialogs/rkloadlibsdialog.h
@@ -115,7 +115,7 @@ To be used in RKLoadLibsDialog
 class LoadUnloadWidget : public QWidget, public RCommandReceiver {
 Q_OBJECT
 public:
-	LoadUnloadWidget (RKLoadLibsDialog *dialog);
+	explicit LoadUnloadWidget (RKLoadLibsDialog *dialog);
 	
 	~LoadUnloadWidget ();
 signals:
@@ -150,7 +150,7 @@ private:
 class RKRPackageInstallationStatus : public QAbstractItemModel {
 	Q_OBJECT
 public:
-	RKRPackageInstallationStatus (QObject* parent);
+	explicit RKRPackageInstallationStatus (QObject* parent);
 	~RKRPackageInstallationStatus ();
 
 	void initialize (RCommandChain *chain);
@@ -221,7 +221,7 @@ private:
 
 class RKRPackageInstallationStatusSortFilterModel : public QSortFilterProxyModel {
 public:
-	RKRPackageInstallationStatusSortFilterModel (QObject* parent = 0);
+	explicit RKRPackageInstallationStatusSortFilterModel (QObject* parent = 0);
 	~RKRPackageInstallationStatusSortFilterModel ();
 	void setRKWardOnly (bool only);
 protected:
@@ -239,7 +239,7 @@ To be used in RKLoadLibsDialog.
 class InstallPackagesWidget : public QWidget {
 Q_OBJECT
 public:
-	InstallPackagesWidget (RKLoadLibsDialog *dialog);
+	explicit InstallPackagesWidget (RKLoadLibsDialog *dialog);
 	
 	~InstallPackagesWidget ();
 	void trySelectPackage (const QString &package_name);
@@ -274,7 +274,7 @@ Simple helper class for RKLoadLibsDialog to allow selection of installation para
 class PackageInstallParamsWidget : public QWidget {
 Q_OBJECT
 public:
-	PackageInstallParamsWidget (QWidget *parent);
+	explicit PackageInstallParamsWidget (QWidget *parent);
 	
 	~PackageInstallParamsWidget ();
 
@@ -293,7 +293,7 @@ private:
 class RKPluginMapSelectionWidget : public QWidget {
 Q_OBJECT
 public:
-	RKPluginMapSelectionWidget (RKLoadLibsDialog *dialog);
+	explicit RKPluginMapSelectionWidget (RKLoadLibsDialog *dialog);
 	virtual ~RKPluginMapSelectionWidget ();
 public slots:
 	void ok ();
diff --git a/rkward/misc/celleditor.h b/rkward/misc/celleditor.h
index ad25f66..7b1ceeb 100644
--- a/rkward/misc/celleditor.h
+++ b/rkward/misc/celleditor.h
@@ -39,7 +39,7 @@ focus.
 class CellEditor : public QLineEdit {
 Q_OBJECT
 public:
-	CellEditor (QWidget* parent);
+	explicit CellEditor (QWidget* parent);
 	~CellEditor ();
 
 	void setValueLabels (const RObject::ValueLabels& labels);
diff --git a/rkward/misc/editformatdialog.h b/rkward/misc/editformatdialog.h
index c6ad26a..5e2b795 100644
--- a/rkward/misc/editformatdialog.h
+++ b/rkward/misc/editformatdialog.h
@@ -57,7 +57,7 @@ private:
 class EditFormatDialogProxy : public QWidget {
 	Q_OBJECT
 public:
-	EditFormatDialogProxy (QWidget* parent);
+	explicit EditFormatDialogProxy (QWidget* parent);
 	~EditFormatDialogProxy ();
 
 	void initialize (const RKVariable::FormattingOptions& options, const QString& varname);
diff --git a/rkward/misc/editlabelsdialog.h b/rkward/misc/editlabelsdialog.h
index 4c9a264..9e576e6 100644
--- a/rkward/misc/editlabelsdialog.h
+++ b/rkward/misc/editlabelsdialog.h
@@ -93,7 +93,7 @@ Simple proxy / wrapper to allow using a modal EditLabelsDialog in a QTableView
 class EditLabelsDialogProxy : public QWidget {
 	Q_OBJECT
 public:
-	EditLabelsDialogProxy (QWidget* parent);
+	explicit EditLabelsDialogProxy (QWidget* parent);
 	~EditLabelsDialogProxy ();
 
 	void initialize (const RObject::ValueLabels& labels, const QString& varname);
diff --git a/rkward/misc/rkdbusapi.h b/rkward/misc/rkdbusapi.h
index 1fef208..10791d4 100644
--- a/rkward/misc/rkdbusapi.h
+++ b/rkward/misc/rkdbusapi.h
@@ -26,7 +26,7 @@ class RKDBusAPI : public QObject {
 	Q_OBJECT
 public:
 /** Creates an object (should be a singleton) to relay incoming DBus calls, and registers it on the session bus. */
-	RKDBusAPI (QObject *parent);
+	explicit RKDBusAPI (QObject *parent);
 	~RKDBusAPI () {};
 public slots:
 	Q_SCRIPTABLE void openAnyUrl (const QStringList &urls);
diff --git a/rkward/misc/rkfindbar.h b/rkward/misc/rkfindbar.h
index 9c9615c..54a88e8 100644
--- a/rkward/misc/rkfindbar.h
+++ b/rkward/misc/rkfindbar.h
@@ -28,7 +28,7 @@ class QHBoxLayout;
 class RKFindBar : public QWidget {
 	Q_OBJECT
 public:
-	RKFindBar (QWidget *parent, bool custom=false);
+	explicit RKFindBar (QWidget *parent, bool custom=false);
 	~RKFindBar ();
 
 	enum FindOptions {
diff --git a/rkward/misc/rkobjectlistview.h b/rkward/misc/rkobjectlistview.h
index 3def8f1..ee943e9 100644
--- a/rkward/misc/rkobjectlistview.h
+++ b/rkward/misc/rkobjectlistview.h
@@ -87,7 +87,7 @@ class RKObjectListViewSettings : public QSortFilterProxyModel {
 	Q_OBJECT
 public:
 /** ctor. copies the default settings from RKSettingsModuleObjectBrowser */ 
-	RKObjectListViewSettings (QObject* parent=0);
+	explicit RKObjectListViewSettings (QObject* parent=0);
 	~RKObjectListViewSettings ();
 
 	enum Settings {
diff --git a/rkward/misc/rkspecialactions.h b/rkward/misc/rkspecialactions.h
index 34870f2..faca19a 100644
--- a/rkward/misc/rkspecialactions.h
+++ b/rkward/misc/rkspecialactions.h
@@ -26,7 +26,7 @@
 class RKPasteSpecialAction : public KPasteTextAction {
 	Q_OBJECT
 public:
-	RKPasteSpecialAction (QObject* parent);
+	explicit RKPasteSpecialAction (QObject* parent);
 	~RKPasteSpecialAction ();
 public slots:
 /** The actual workhorse of the action. */
@@ -47,7 +47,7 @@ class QCheckBox;
 class RKPasteSpecialDialog : public KDialog {
 	Q_OBJECT
 public:
-	RKPasteSpecialDialog (QWidget* parent);
+	explicit RKPasteSpecialDialog (QWidget* parent);
 	~RKPasteSpecialDialog ();
 
 	enum Dimensionality {
diff --git a/rkward/misc/rkspinbox.h b/rkward/misc/rkspinbox.h
index 9ed86dc..62ca362 100644
--- a/rkward/misc/rkspinbox.h
+++ b/rkward/misc/rkspinbox.h
@@ -32,7 +32,7 @@ class RKSpinBox : public QSpinBox {
 	Q_OBJECT
 public:
 /** constructor. Use on of setIntMode or setRealMode to initialize the Spinbox! */
-	RKSpinBox (QWidget *parent = 0);
+	explicit RKSpinBox (QWidget *parent = 0);
 /** dtor */
 	~RKSpinBox ();
 
diff --git a/rkward/misc/rktableview.h b/rkward/misc/rktableview.h
index de7bf97..13d80e3 100644
--- a/rkward/misc/rktableview.h
+++ b/rkward/misc/rktableview.h
@@ -68,7 +68,7 @@ private:
 class RKTableView : public QTableView {
 	Q_OBJECT
 public:
-	RKTableView (QWidget *parent);
+	explicit RKTableView (QWidget *parent);
 	virtual ~RKTableView ();
 
 	virtual int trueRows () const { return apparentRows () + trailing_rows; };
diff --git a/rkward/misc/rkxmlguisyncer_p.h b/rkward/misc/rkxmlguisyncer_p.h
index d8d1f4b..058a133 100644
--- a/rkward/misc/rkxmlguisyncer_p.h
+++ b/rkward/misc/rkxmlguisyncer_p.h
@@ -33,7 +33,7 @@
 class RKXMLGUISyncerNotifier : public QObject {
 Q_OBJECT
 public:
-	RKXMLGUISyncerNotifier (QObject *parent) : QObject (parent) {};
+	explicit RKXMLGUISyncerNotifier (QObject *parent) : QObject (parent) {};
 	~RKXMLGUISyncerNotifier () {};
 
 	void emitChangeSignal (KXMLGUIClient *client) { changed (client); };
diff --git a/rkward/misc/xmlhelper.h b/rkward/misc/xmlhelper.h
index 27ec6ef..b7fa1a1 100644
--- a/rkward/misc/xmlhelper.h
+++ b/rkward/misc/xmlhelper.h
@@ -37,7 +37,7 @@ public:
 /** create an instance of XMLHelper.
  @param filename the name of the file to parse. The file is not yet opened on construction. Use openXMLFile() for that. 
  @param default_catalog message catalog to use in case none is specified in the xml file itself. */
-	XMLHelper (const QString &filename, const RKMessageCatalog *default_catalog=0);
+	explicit XMLHelper (const QString &filename, const RKMessageCatalog *default_catalog=0);
 /** destructor */
 	~XMLHelper ();
 /** Return the a pointer to the message catalog in use. This may - or may not - be the same as specified as default catalog in the constructor.
diff --git a/rkward/plugin/rkcomponentproperties.h b/rkward/plugin/rkcomponentproperties.h
index d9ec238..d0d49a5 100644
--- a/rkward/plugin/rkcomponentproperties.h
+++ b/rkward/plugin/rkcomponentproperties.h
@@ -410,7 +410,7 @@ class RKComponentPropertyConvert : public RKComponentPropertyBool {
 	Q_OBJECT
 public:
 /** constructor. Note that this property *requires* an RKComponent as parent (the one at the top of all the source properties) */
-	RKComponentPropertyConvert (RKComponent *parent);
+	explicit RKComponentPropertyConvert (RKComponent *parent);
 	~RKComponentPropertyConvert ();
 	int type () { return PropertyConvert; };
 
diff --git a/rkward/plugin/rkoptionset.h b/rkward/plugin/rkoptionset.h
index c77a8b2..32d9c17 100644
--- a/rkward/plugin/rkoptionset.h
+++ b/rkward/plugin/rkoptionset.h
@@ -139,7 +139,7 @@ class RKOptionSetDisplayModel : QAbstractTableModel {
 	Q_OBJECT
 private:
 friend class RKOptionSet;
-	RKOptionSetDisplayModel (RKOptionSet* parent);
+	explicit RKOptionSetDisplayModel (RKOptionSet* parent);
 	virtual ~RKOptionSetDisplayModel ();
 	int rowCount (const QModelIndex & parent = QModelIndex()) const;
 	int columnCount (const QModelIndex & parent = QModelIndex()) const;
diff --git a/rkward/qwinhost/qwinhost.h b/rkward/qwinhost/qwinhost.h
index 3258b99..bc64ee6 100644
--- a/rkward/qwinhost/qwinhost.h
+++ b/rkward/qwinhost/qwinhost.h
@@ -74,7 +74,7 @@ class QT_QTWINMIGRATE_EXPORT QWinHost : public QWidget
 {
     Q_OBJECT
 public:
-    QWinHost(QWidget *parent = 0, Qt::WFlags f = 0);
+    explicit QWinHost(QWidget *parent = 0, Qt::WFlags f = 0);
     ~QWinHost();
 
     void setWindow(HWND);
diff --git a/rkward/rbackend/rcommandstack.h b/rkward/rbackend/rcommandstack.h
index f0668ef..8eb3d0c 100644
--- a/rkward/rbackend/rcommandstack.h
+++ b/rkward/rbackend/rcommandstack.h
@@ -74,7 +74,7 @@ friend class RCommandStackModel;
 class RCommandStackModel : public QAbstractItemModel {
 	Q_OBJECT
 public:
-	RCommandStackModel (QObject *parent);
+	explicit RCommandStackModel (QObject *parent);
 	~RCommandStackModel ();
 
 	/** implements QAbstractItemModel::index() */
diff --git a/rkward/rbackend/rkrbackendprotocol_frontend.h b/rkward/rbackend/rkrbackendprotocol_frontend.h
index 6678f3f..081cd08 100644
--- a/rkward/rbackend/rkrbackendprotocol_frontend.h
+++ b/rkward/rbackend/rkrbackendprotocol_frontend.h
@@ -28,7 +28,7 @@ class RCommandProxy;
 
 class RKRBackendProtocolFrontend : public QObject {
 public:
-	RKRBackendProtocolFrontend (RInterface* parent);
+	explicit RKRBackendProtocolFrontend (RInterface* parent);
 	~RKRBackendProtocolFrontend ();
 
 	static void setRequestCompleted (RBackendRequest *request);
diff --git a/rkward/rbackend/rkrbackendprotocol_shared.h b/rkward/rbackend/rkrbackendprotocol_shared.h
index 112453c..128e828 100644
--- a/rkward/rbackend/rkrbackendprotocol_shared.h
+++ b/rkward/rbackend/rkrbackendprotocol_shared.h
@@ -99,7 +99,7 @@ public:
 	enum EventType {
 		RKWardEvent = QEvent::User + 1
 	};
-	RKRBackendEvent (RBackendRequest* data=0) : QEvent ((QEvent::Type) RKWardEvent) { _data = data; };
+	explicit RKRBackendEvent (RBackendRequest* data=0) : QEvent ((QEvent::Type) RKWardEvent) { _data = data; };
 	RKRBackendEvent ();
 
 	RBackendRequest* data () { return _data; };
diff --git a/rkward/rbackend/rkstructuregetter.h b/rkward/rbackend/rkstructuregetter.h
index d28a845..45aaf57 100644
--- a/rkward/rbackend/rkstructuregetter.h
+++ b/rkward/rbackend/rkstructuregetter.h
@@ -27,7 +27,7 @@ class RData;
 /** Low level helper class for getting the structure of R objects (.rk.get.structure). */
 class RKStructureGetter {
 public:
-	RKStructureGetter (bool keep_evalled_promises);
+	explicit RKStructureGetter (bool keep_evalled_promises);
 	~RKStructureGetter ();
 
 	RData *getStructure (SEXP toplevel, SEXP name, SEXP envlevel, SEXP namespacename);
diff --git a/rkward/rkward.cpp b/rkward/rkward.cpp
index 40b2186..8863b65 100644
--- a/rkward/rkward.cpp
+++ b/rkward/rkward.cpp
@@ -437,7 +437,9 @@ void RKWardMainWindow::initActions() {
 
 #ifdef Q_WS_WIN
 	// TODO: find the cause and fix it! http://sourceforge.net/tracker/?func=detail&aid=2848341&group_id=50231&atid=459007
-#	warning TODO: import data dialog is disabled on windows due to bug in kdelibs
+#	ifdef __GNUC__
+#		warning TODO: import data dialog is disabled on windows due to bug in kdelibs
+#	endif
 #else
 	action = actionCollection ()->addAction ("import_data", this, SLOT (importData()));
 	action->setText (i18n ("Import Data"));
@@ -771,7 +773,9 @@ void RKWardMainWindow::askOpenWorkspace (const KUrl &url) {
 	if (lurl.isEmpty ()) {
 #ifdef Q_WS_WIN
 	// getOpenUrl(KUrl("kfiledialog:///<rfiles>"), ...) causes a hang on windows (KDElibs 4.2.3).
-#	warning Track this bug down and/or report it
+#	ifdef __GNUC__
+#		warning Track this bug down and/or report it
+#	endif
 		lurl = KFileDialog::getOpenUrl (KUrl (), i18n("%1|R Workspace Files (%1)\n*|All files", RKSettingsModuleGeneral::workspaceFilenameFilter ()), this, i18n("Select workspace to open..."));
 #else
 		lurl = KFileDialog::getOpenUrl (KUrl ("kfiledialog:///<rfiles>"), i18n("%1|R Workspace Files (%1)\n*|All files", RKSettingsModuleGeneral::workspaceFilenameFilter ()), this, i18n("Select workspace to open..."));
@@ -907,7 +911,9 @@ void RKWardMainWindow::slotOpenCommandEditor () {
 
 #ifdef Q_WS_WIN
 	// getOpenUrls(KUrl("kfiledialog:///<rfiles>"), ...) causes a hang on windows (KDElibs 4.2.3).
-#	warning Track this bug down and/or report it
+#	ifdef __GNUC__
+#		warning Track this bug down and/or report it
+#	endif
 	res = KEncodingFileDialog::getOpenUrlsAndEncoding (QString (), QString (), QString ("%1|R Script Files (%1)\n*|All Files (*)").arg (RKSettingsModuleCommandEditor::scriptFileFilter ()), this, i18n ("Open script file(s)"));
 #else
 	res = KEncodingFileDialog::getOpenUrlsAndEncoding (QString (), "kfiledialog:///<rfiles>", QString ("%1|R Script Files (%1)\n*|All Files (*)").arg (RKSettingsModuleCommandEditor::scriptFileFilter ()), this, i18n ("Open script file(s)"));
diff --git a/rkward/rkwardapplication.cpp b/rkward/rkwardapplication.cpp
index cb3c602..f843dde 100644
--- a/rkward/rkwardapplication.cpp
+++ b/rkward/rkwardapplication.cpp
@@ -22,7 +22,9 @@
 #ifdef Q_WS_WIN
 #	include <windows.h>
 #elif defined Q_WS_MAC
-#	warning "Graph window capturing is not supported on Mac OS native, yet. Consider using X11."
+#	ifdef __GNUC__
+#		warning "Graph window capturing is not supported on Mac OS native, yet. Consider using X11."
+#	endif
 #else
 #	include <X11/X.h>
 #	include <X11/Xlib.h>
diff --git a/rkward/scriptbackends/rkcomponentscripting.h b/rkward/scriptbackends/rkcomponentscripting.h
index a6992ae..5c9418f 100644
--- a/rkward/scriptbackends/rkcomponentscripting.h
+++ b/rkward/scriptbackends/rkcomponentscripting.h
@@ -37,7 +37,7 @@ ScriptBackend is designed to operate in a separate thread, and may merge a bunch
 class RKComponentScriptingProxy : public QObject {
 Q_OBJECT
 public:
-	RKComponentScriptingProxy (RKComponent *component);
+	explicit RKComponentScriptingProxy (RKComponent *component);
 	~RKComponentScriptingProxy ();
 
 	void initialize (const QString& file, const QString& command);
diff --git a/rkward/settings/rksettings.h b/rkward/settings/rksettings.h
index 347a88b..00f1bff 100644
--- a/rkward/settings/rksettings.h
+++ b/rkward/settings/rksettings.h
@@ -86,7 +86,7 @@ update themselves on certain changed settings should connect to those signals. *
 class RKSettingsTracker : public QObject {
 	Q_OBJECT
 public:
-	RKSettingsTracker (QObject *parent);
+	explicit RKSettingsTracker (QObject *parent);
 	~RKSettingsTracker ();
 
 	void signalSettingsChange (RKSettings::SettingsPage page);
diff --git a/rkward/settings/rksettingsmoduleoutput.h b/rkward/settings/rksettingsmoduleoutput.h
index 80527c5..00cba16 100644
--- a/rkward/settings/rksettingsmoduleoutput.h
+++ b/rkward/settings/rksettingsmoduleoutput.h
@@ -35,7 +35,7 @@ and a widget to configure the settings.
 class RKCarbonCopySettings : public QWidget {
 	Q_OBJECT
 public:
-	RKCarbonCopySettings (QWidget* parent);
+	explicit RKCarbonCopySettings (QWidget* parent);
 	~RKCarbonCopySettings ();
 
 	static void saveSettings (KConfig *config);
diff --git a/rkward/settings/rksettingsmoduleplugins.h b/rkward/settings/rksettingsmoduleplugins.h
index 6e1baa7..6c35d18 100644
--- a/rkward/settings/rksettingsmoduleplugins.h
+++ b/rkward/settings/rksettingsmoduleplugins.h
@@ -111,7 +111,7 @@ friend class RKPluginMapSelectionWidget;
 class RKSettingsModulePluginsModel : public QAbstractTableModel {
 	Q_OBJECT
 public:
-	RKSettingsModulePluginsModel (QObject* parent);
+	explicit RKSettingsModulePluginsModel (QObject* parent);
 	virtual ~RKSettingsModulePluginsModel ();
 /** (re-)initialize the model */
 	void init (const RKSettingsModulePlugins::PluginMapList &known_plugin_maps);
diff --git a/rkward/windows/rkcallstackviewer.h b/rkward/windows/rkcallstackviewer.h
index 097cd01..d51139d 100644
--- a/rkward/windows/rkcallstackviewer.h
+++ b/rkward/windows/rkcallstackviewer.h
@@ -50,7 +50,7 @@ friend class RKWardMainWindow;
 class RKCallstackViewerWidget : public QWidget {
 	Q_OBJECT
 public:
-	RKCallstackViewerWidget (QWidget *parent);
+	explicit RKCallstackViewerWidget (QWidget *parent);
 	~RKCallstackViewerWidget ();
 
 	void updateState ();
diff --git a/rkward/windows/rkcommandeditorwindow.h b/rkward/windows/rkcommandeditorwindow.h
index 22dae82..f28f7f9 100644
--- a/rkward/windows/rkcommandeditorwindow.h
+++ b/rkward/windows/rkcommandeditorwindow.h
@@ -128,7 +128,7 @@ public:
 class RKCodeCompletionModel : public KTextEditor::CodeCompletionModel {
 #endif
 public:
-	RKCodeCompletionModel (RKCommandEditorWindow* parent);
+	explicit RKCodeCompletionModel (RKCommandEditorWindow* parent);
 	~RKCodeCompletionModel ();
 
 	void updateCompletionList (const QString& symbol);
@@ -160,7 +160,7 @@ class RKCommandEditorWindow : public RKMDIWindow, public RKScriptContextProvider
 public:
 /** constructor
 @param use_r_highlighting Initialize the view to use R syntax highlighting. Use, if you're going to edit an R syntax file */
-	RKCommandEditorWindow (QWidget *parent = 0, bool use_r_highlighting=true, bool use_codehinting=true);
+	explicit RKCommandEditorWindow (QWidget *parent = 0, bool use_r_highlighting=true, bool use_codehinting=true);
 /** destructor */
 	~RKCommandEditorWindow ();
 /** open given URL. 
diff --git a/rkward/windows/rkcommandlog.h b/rkward/windows/rkcommandlog.h
index 10550cf..3786d4b 100644
--- a/rkward/windows/rkcommandlog.h
+++ b/rkward/windows/rkcommandlog.h
@@ -78,7 +78,7 @@ friend class RKWardMainWindow;
 class RKCommandLogView : public QTextEdit {
 	Q_OBJECT
 public:
-	RKCommandLogView (RKCommandLog *parent);
+	explicit RKCommandLogView (RKCommandLog *parent);
 	~RKCommandLogView ();
 public slots:
 	void selectAll ();
diff --git a/rkward/windows/rkdebugmessagewindow.h b/rkward/windows/rkdebugmessagewindow.h
index a3f3b48..db25625 100644
--- a/rkward/windows/rkdebugmessagewindow.h
+++ b/rkward/windows/rkdebugmessagewindow.h
@@ -50,7 +50,7 @@ friend class RKWardMainWindow;
 */
 class RKDebugMessageWindowWidget : public QWidget {
 public:
-	RKDebugMessageWindowWidget (QWidget *parent);
+	explicit RKDebugMessageWindowWidget (QWidget *parent);
 	~RKDebugMessageWindowWidget ();
 
 	void newMessage (const int flags, const int level, const QString &message);
diff --git a/rkward/windows/rkfilebrowser.h b/rkward/windows/rkfilebrowser.h
index aa95626..06d889a 100644
--- a/rkward/windows/rkfilebrowser.h
+++ b/rkward/windows/rkfilebrowser.h
@@ -57,7 +57,7 @@ TODO: KDE4: check whether there is a ready widget for this. Much of the implemen
 class RKFileBrowserWidget : public KVBox {
 	Q_OBJECT
 public:
-	RKFileBrowserWidget (QWidget *widget);
+	explicit RKFileBrowserWidget (QWidget *widget);
 	~RKFileBrowserWidget ();
 
 	void setURL (const QString &url);
diff --git a/rkward/windows/rkhelpsearchwindow.h b/rkward/windows/rkhelpsearchwindow.h
index 7fb9bda..b578783 100644
--- a/rkward/windows/rkhelpsearchwindow.h
+++ b/rkward/windows/rkhelpsearchwindow.h
@@ -75,7 +75,7 @@ friend class RKWardMainWindow;
 @author Thomas Friedrichsmeier */
 class RKHelpSearchResultsModel : public QAbstractTableModel {
 public:
-	RKHelpSearchResultsModel (QObject *parent);
+	explicit RKHelpSearchResultsModel (QObject *parent);
 	~RKHelpSearchResultsModel ();
 
 /** Set the results. The model will assume ownership of the results */
diff --git a/rkward/windows/rkhtmlwindow.h b/rkward/windows/rkhtmlwindow.h
index ef1e44e..5670bbf 100644
--- a/rkward/windows/rkhtmlwindow.h
+++ b/rkward/windows/rkhtmlwindow.h
@@ -41,7 +41,7 @@ class RKFindBar;
 class RKWebPage : public KWebPage {
 	Q_OBJECT
 public:
-	RKWebPage (RKHTMLWindow* window);
+	explicit RKWebPage (RKHTMLWindow* window);
 	void load (const QUrl& url);
 signals:
 	void pageInternalNavigation (const QUrl& url);
@@ -76,7 +76,7 @@ public:
 
 /** constructor. 
 @param parent parent QWidget, usually RKGlobals::rkApp () or similar */
-	RKHTMLWindow (QWidget *parent, WindowMode mode=HTMLHelpWindow);
+	explicit RKHTMLWindow (QWidget *parent, WindowMode mode=HTMLHelpWindow);
 /** destructor */
 	~RKHTMLWindow ();
 /** open given URL. Returns false, if the URL is not an existing local file. Loading a non-local URL may succeed, even if this returns false! */
@@ -154,7 +154,7 @@ friend class RKHTMLWindowPart;
 class RKHTMLWindowPart : public KParts::Part {
 	Q_OBJECT
 public:
-	RKHTMLWindowPart (RKHTMLWindow *window);
+	explicit RKHTMLWindowPart (RKHTMLWindow *window);
 	~RKHTMLWindowPart () {};
 
 	void setOutputWindowSkin ();
@@ -184,7 +184,7 @@ friend class RKHTMLWindow;
 class RKHelpRenderer {
 public:
 /** ctor */
-	RKHelpRenderer (QIODevice *_device) { device = _device; help_xml = 0; component_xml = 0; };
+	explicit RKHelpRenderer (QIODevice *_device) { device = _device; help_xml = 0; component_xml = 0; };
 /** destructor */
 	~RKHelpRenderer () {};
 
diff --git a/rkward/windows/rktoplevelwindowgui.h b/rkward/windows/rktoplevelwindowgui.h
index f3eef24..a255a1a 100644
--- a/rkward/windows/rktoplevelwindowgui.h
+++ b/rkward/windows/rktoplevelwindowgui.h
@@ -30,7 +30,7 @@ class KAction;
 class RKTopLevelWindowGUI : public QObject, public KXMLGUIClient {
 	Q_OBJECT
 public:
-	RKTopLevelWindowGUI (KXmlGuiWindow *for_window);
+	explicit RKTopLevelWindowGUI (KXmlGuiWindow *for_window);
 	~RKTopLevelWindowGUI ();
 public slots:
 	// windows menu
diff --git a/rkward/windows/rkworkplace.h b/rkward/windows/rkworkplace.h
index 0a52522..13be3be 100644
--- a/rkward/windows/rkworkplace.h
+++ b/rkward/windows/rkworkplace.h
@@ -44,7 +44,7 @@ class RKGraphicsDevice;
 class RKMDIWindowHistory : public QObject {
 	Q_OBJECT
 public:
-	RKMDIWindowHistory (QObject *parent);
+	explicit RKMDIWindowHistory (QObject *parent);
 	~RKMDIWindowHistory ();
 
 	void removeWindow (RKMDIWindow *window);
diff --git a/rkward/windows/robjectbrowser.h b/rkward/windows/robjectbrowser.h
index cbe869f..a3edb89 100644
--- a/rkward/windows/robjectbrowser.h
+++ b/rkward/windows/robjectbrowser.h
@@ -64,7 +64,7 @@ Provides most of the functionality of RObjectBrowser
 class RObjectBrowserInternal : public QWidget {
 Q_OBJECT
 public:
-	RObjectBrowserInternal (QWidget *parent);
+	explicit RObjectBrowserInternal (QWidget *parent);
 	~RObjectBrowserInternal ();
 private slots:
 	void updateButtonClicked ();



More information about the rkward-tracker mailing list