Blob Blame History Raw
From 4f8f15669e39ed3416445f67a72cd710e0187f3c Mon Sep 17 00:00:00 2001
From: Pino Toscano <pino@kde.org>
Date: Thu, 31 Oct 2019 08:09:56 +0100
Subject: [PATCH 304/434] add override where needed

---
 src/core/KexiGroupButton.h                    |   2 +-
 src/core/KexiView.h                           |   8 +-
 src/core/KexiWindow.h                         |   8 +-
 src/core/kexi.cpp                             |   4 +-
 src/core/kexiguimsghandler.h                  |   6 +-
 src/core/kexitextmsghandler.h                 |   2 +-
 src/formeditor/WidgetTreeWidget.h             |   6 +-
 src/formeditor/commands.h                     | 116 +++++-----
 src/formeditor/container.h                    |   4 +-
 src/formeditor/form.h                         |   2 +-
 src/formeditor/formIO.h                       |   2 +-
 src/formeditor/form_p.h                       |   2 +-
 src/formeditor/kexiactionselectiondialog.cpp  |   4 +-
 src/formeditor/libactionwidget.h              |   2 +-
 src/formeditor/resizehandle.cpp               |  10 +-
 src/formeditor/utils.h                        |   4 +-
 src/formeditor/widgetfactory.h                |   2 +-
 src/kexiutils/FlowLayout.h                    |  26 +--
 src/kexiutils/KexiAnimatedLayout_p.h          |   2 +-
 src/kexiutils/KexiCategorizedView.h           |   4 +-
 src/kexiutils/KexiCloseButton.h               |   2 +-
 src/kexiutils/KexiCommandLinkButton.h         |  10 +-
 src/kexiutils/KexiContextMessage.h            |   2 +-
 src/kexiutils/KexiLinkButton.h                |   2 +-
 src/kexiutils/KexiLinkWidget.h                |   2 +-
 src/kexiutils/KexiTitleLabel.h                |   2 +-
 src/kexiutils/SmallToolButton.h               |   6 +-
 src/kexiutils/completer/KexiCompleter.cpp     |  12 +-
 src/kexiutils/completer/KexiCompleter.h       |   4 +-
 src/kexiutils/completer/KexiCompleter_p.h     |  26 +--
 src/kexiutils/kmessagewidget.h                |  12 +-
 src/kexiutils/kmessagewidget_p.h              |   4 +-
 src/kexiutils/utils.h                         |   4 +-
 src/main/KexiBugReportDialog.h                |   2 +-
 src/main/KexiMainWindow.cpp                   |   2 +-
 src/main/KexiMainWindow.h                     |  82 ++++----
 src/main/KexiMainWindow_p.h                   |  30 +--
 src/main/KexiMenuWidget.h                     |  32 +--
 src/main/KexiMenuWidget_p.h                   |   2 +-
 src/main/KexiSearchLineEdit.cpp               |  14 +-
 src/main/KexiSearchLineEdit.h                 |  10 +-
 .../startup/KexiAssistantMessageHandler.h     |   4 +-
 src/main/startup/KexiImportExportAssistant.h  |   4 +-
 src/main/startup/KexiNewProjectAssistant.h    |   6 +-
 src/main/startup/KexiOpenProjectAssistant.h   |   6 +-
 src/main/startup/KexiRecentProjectsModel.h    |  10 +-
 src/main/startup/KexiTemplatesModel.h         |   8 +-
 src/main/startup/KexiWelcomeAssistant.h       |  10 +-
 src/main/startup/KexiWelcomeStatusBar.cpp     |   2 +-
 src/migration/AlterSchemaTableModel.h         |   8 +-
 src/migration/importoptionsdlg.h              |   2 +-
 src/migration/importtablewizard.h             |   8 +-
 src/migration/importwizard.h                  |   8 +-
 src/migration/mdb/src/keximdb/mdbmigrate.h    |  14 +-
 src/migration/tsv/TsvMigrate.h                |   6 +-
 src/plugins/forms/KexiFormScrollAreaWidget.h  |  10 +-
 src/plugins/forms/kexidbfactorybase.h         |   2 +-
 src/plugins/forms/kexiformpart.h              |   8 +-
 src/plugins/forms/kexiformscrollview.h        | 138 ++++++------
 src/plugins/forms/kexiformview.h              |  20 +-
 src/plugins/forms/widgets/KexiDBPushButton.h  |  20 +-
 src/plugins/forms/widgets/kexidbautofield.h   |  40 ++--
 src/plugins/forms/widgets/kexidbcheckbox.h    |  26 +--
 src/plugins/forms/widgets/kexidbcombobox.h    |  66 +++---
 .../forms/widgets/kexidbcommandlinkbutton.h   |  20 +-
 src/plugins/forms/widgets/kexidbdatepicker.h  |  22 +-
 src/plugins/forms/widgets/kexidbform.h        |  30 +--
 src/plugins/forms/widgets/kexidbimagebox.h    |  38 ++--
 src/plugins/forms/widgets/kexidblabel.h       |  26 +--
 src/plugins/forms/widgets/kexidblineedit.cpp  |   4 +-
 src/plugins/forms/widgets/kexidblineedit.h    |  48 ++---
 src/plugins/forms/widgets/kexidbprogressbar.h |  22 +-
 src/plugins/forms/widgets/kexidbslider.h      |  22 +-
 src/plugins/forms/widgets/kexidbtextedit.cpp  |   2 +-
 src/plugins/forms/widgets/kexidbtextedit.h    |  44 ++--
 src/plugins/forms/widgets/kexiframe.h         |   6 +-
 .../widgets/main/KexiMainFormWidgetsFactory.h |  20 +-
 .../main/KexiStandardContainerFormWidgets.h   |  30 +--
 .../widgets/webbrowser/WebBrowserFactory.h    |   6 +-
 .../widgets/webbrowser/WebBrowserWidget.h     |  20 +-
 .../csv/KexiCSVImportDialogModel.h            |   6 +-
 .../csv/KexiCsvImportExportPlugin.h           |   2 +-
 .../importexport/csv/kexicsvexportwizard.h    |   4 +-
 .../importexport/csv/kexicsvimportdialog.cpp  |   2 +-
 .../importexport/csv/kexicsvimportdialog.h    |   8 +-
 .../csv/kexicsvimportoptionsdlg.h             |   2 +-
 .../queries/kexiquerydesignerguieditor.h      |  14 +-
 src/plugins/queries/kexiquerydesignersql.h    |  10 +-
 src/plugins/queries/kexiquerypart.h           |  16 +-
 src/plugins/queries/kexiqueryview.h           |   8 +-
 src/plugins/reports/KexiDBReportDataSource.h  |  34 +--
 src/plugins/reports/kexireportdesignview.h    |  10 +-
 src/plugins/reports/kexireportpart.h          |   8 +-
 src/plugins/reports/kexireportview.h          |  20 +-
 src/plugins/reports/krscriptfunctions.h       |   2 +-
 .../tables/kexitabledesigner_dataview.h       |   4 +-
 .../tables/kexitabledesignercommands.h        |  36 ++--
 src/plugins/tables/kexitabledesignerview.h    |  34 +--
 src/plugins/tables/kexitablepart.h            |  14 +-
 src/widget/KexiConnectionSelectorWidget.h     |   2 +-
 src/widget/KexiDataSourceComboBox.h           |   2 +-
 src/widget/KexiFileWidget.h                   |   4 +-
 src/widget/KexiNameDialog.h                   |   4 +-
 src/widget/KexiProjectSelectorWidget.h        |   4 +-
 .../dataviewcommon/kexidataawareobjectiface.h |  14 +-
 src/widget/dataviewcommon/kexidataawareview.h |  20 +-
 src/widget/dataviewcommon/kexidataprovider.h  |   4 +-
 .../kexiformdataiteminterface.h               |  10 +-
 src/widget/fields/KexiFieldComboBox.h         |   2 +-
 src/widget/fields/KexiFieldListModel.h        |  16 +-
 src/widget/kexieditor.h                       |   2 +-
 src/widget/kexisectionheader.h                |   4 +-
 src/widget/kexislider.cpp                     |   4 +-
 .../navigator/KexiProjectItemDelegate.h       |   6 +-
 src/widget/navigator/KexiProjectModel.h       |  26 +--
 src/widget/navigator/KexiProjectNavigator.h   |   2 +-
 src/widget/navigator/KexiProjectTreeView.h    |   2 +-
 .../properties/KexiCustomPropertyFactory.cpp  |   4 +-
 .../properties/KexiPropertyEditorView.h       |   4 +-
 .../relations/KexiRelationsScrollArea.cpp     |   4 +-
 .../relations/KexiRelationsScrollArea.h       |   6 +-
 .../relations/KexiRelationsTableContainer.h   |   4 +-
 .../relations/KexiRelationsTableContainer_p.h |  16 +-
 src/widget/relations/KexiRelationsView.h      |   2 +-
 .../tableview/KexiDataTableScrollArea.h       |   2 +-
 src/widget/tableview/KexiDataTableView.h      |   2 +-
 src/widget/tableview/KexiTableScrollArea.h    | 198 +++++++++---------
 .../tableview/KexiTableScrollAreaHeader.cpp   |   2 +-
 .../tableview/KexiTableScrollAreaHeader.h     |  14 +-
 .../KexiTableScrollAreaHeaderModel.h          |   8 +-
 .../tableview/KexiTableScrollAreaWidget.h     |  14 +-
 src/widget/tableview/kexiblobtableedit.h      |  54 ++---
 src/widget/tableview/kexibooltableedit.h      |  24 +--
 src/widget/tableview/kexicomboboxpopup.h      |   2 +-
 src/widget/tableview/kexicomboboxtableedit.h  |  72 +++----
 src/widget/tableview/kexidatetableedit.h      |  18 +-
 src/widget/tableview/kexidatetimetableedit.h  |  18 +-
 src/widget/tableview/kexiinputtableedit.h     |  34 +--
 src/widget/tableview/kexitableedit.h          |   8 +-
 src/widget/tableview/kexitimetableedit.h      |  18 +-
 src/widget/undo/kundo2model.h                 |  10 +-
 src/widget/utils/KexiDockableWidget.h         |   2 +-
 .../utils/kexicomboboxdropdownbutton.cpp      |   2 +-
 src/widget/utils/kexicomboboxdropdownbutton.h |   2 +-
 src/widget/utils/kexidropdownbutton.cpp       |   4 +-
 src/widget/utils/kexidropdownbutton.h         |   6 +-
 src/widget/utils/kexirecordnavigator.h        |  24 +--
 src/widget/utils/kexitooltip.h                |   4 +-
 148 files changed, 1104 insertions(+), 1104 deletions(-)

diff --git a/src/core/KexiGroupButton.h b/src/core/KexiGroupButton.h
index a3faae6d7..19ef8c501 100644
--- a/src/core/KexiGroupButton.h
+++ b/src/core/KexiGroupButton.h
@@ -65,7 +65,7 @@ public:
     KexiGroupButton::GroupPosition groupPosition() const;
 
 protected:
-    virtual void paintEvent(QPaintEvent* event);
+    virtual void paintEvent(QPaintEvent* event) override;
     void mousePressEvent(QMouseEvent *e) Q_DECL_OVERRIDE;
 
 private:
diff --git a/src/core/KexiView.h b/src/core/KexiView.h
index 2669ed830..c86d65911 100644
--- a/src/core/KexiView.h
+++ b/src/core/KexiView.h
@@ -120,11 +120,11 @@ public:
      \return shared action with name \a action_name for this view.
      If there's no such action declared in Kexi Part (part()),
      global shared action is returned (if exists). */
-    virtual QAction* sharedAction(const QString& action_name);
+    virtual QAction* sharedAction(const QString& action_name) override;
 
     /*! Enables or disables shared action declared in Kexi Part (part()).
      If there's no such action, global shared action is enabled or disabled (if exists). */
-    virtual void setAvailable(const QString& action_name, bool set);
+    virtual void setAvailable(const QString& action_name, bool set) override;
 
     enum StoreNewDataOption {
         OverwriteExistingData = 1 //!< Overwerite existing object in storeNewData()
@@ -167,7 +167,7 @@ Q_SIGNALS:
     void focus(bool in);
 
 protected:
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
     /*! called by KexiWindow::switchToViewMode() right before window is switched to new mode
      By default does nothing. Reimplement this if you need to do something
@@ -187,7 +187,7 @@ protected:
      (probably after showing some info messages), you need to return cancelled. */
     virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
 
-    virtual void closeEvent(QCloseEvent * e);
+    virtual void closeEvent(QCloseEvent * e) override;
 
     /*! \return a property set for this view. For reimplementation. By default returns NULL. */
     virtual KPropertySet *propertySet();
diff --git a/src/core/KexiWindow.h b/src/core/KexiWindow.h
index 384bde96b..23e4625d2 100644
--- a/src/core/KexiWindow.h
+++ b/src/core/KexiWindow.h
@@ -70,10 +70,10 @@ public:
 //  virtual QWidget* mainWidget() = 0;
 
     /*! reimplemented: minimum size hint is inherited from currently visible view. */
-    virtual QSize minimumSizeHint() const;
+    virtual QSize minimumSizeHint() const override;
 
     /*! reimplemented: size hint is inherited from currently visible view. */
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     //js todo: maybe remove this since it's often the same as partItem()->identifier()?:
 
@@ -262,7 +262,7 @@ protected:
 
     void registerWindow();
 
-    virtual void closeEvent(QCloseEvent * e);
+    virtual void closeEvent(QCloseEvent * e) override;
 
     //! \internal
     void addView(KexiView *view, Kexi::ViewMode mode);
@@ -271,7 +271,7 @@ protected:
     void removeView(Kexi::ViewMode mode);
 
     //! \internal
-    virtual bool eventFilter(QObject *obj, QEvent *e);
+    virtual bool eventFilter(QObject *obj, QEvent *e) override;
 
     //! Used by \a view to inform the dialog about changing state of the "dirty" flag.
     void dirtyChanged(KexiView* view);
diff --git a/src/core/kexi.cpp b/src/core/kexi.cpp
index a8657734d..d3dfd024a 100644
--- a/src/core/kexi.cpp
+++ b/src/core/kexi.cpp
@@ -309,7 +309,7 @@ public:
     virtual void showErrorMessage(KDbMessageHandler::MessageType messageType,
                                   const QString &msg,
                                   const QString &details = QString(),
-                                  const QString &caption = QString())
+                                  const QString &caption = QString()) override
     {
         Q_UNUSED(messageType);
         Q_UNUSED(caption);
@@ -319,7 +319,7 @@ public:
     virtual void showErrorMessage(const KDbResult& result,
                                   KDbMessageHandler::MessageType messageType = KDbMessageHandler::Error,
                                   const QString& msg = QString(),
-                                  const QString& caption = QString())
+                                  const QString& caption = QString()) override
     {
         Q_UNUSED(messageType);
         m_status->setStatus(result, 0, caption, msg);
diff --git a/src/core/kexiguimsghandler.h b/src/core/kexiguimsghandler.h
index d9bc2fbe8..c75b2eeb6 100644
--- a/src/core/kexiguimsghandler.h
+++ b/src/core/kexiguimsghandler.h
@@ -58,7 +58,7 @@ public:
         const QString &message,
         const QString &details = QString(),
         const QString &caption = QString()
-    );
+    ) override;
 
     /*! Shows error message with @a message text. Existing error message from @a obj object
      is also copied, if present. */
@@ -67,7 +67,7 @@ public:
         KDbMessageHandler::MessageType messageType = Error,
         const QString& message = QString(),
         const QString& caption = QString()
-    );
+    ) override;
 
     /*! Interactively asks a question. For GUI version, message boxes are used.
      @a defaultResult is returned in case when no message handler is installed.
@@ -83,7 +83,7 @@ public:
             const KDbGuiItem &buttonNo = KDbGuiItem(),
             const QString &dontShowAskAgainName = QString(),
             KDbMessageHandler::Options options = 0,
-            KDbMessageHandler* msgHandler = 0);
+            KDbMessageHandler* msgHandler = 0) override;
 
     //! @return GUI message redirection for this handler or 0 if there is no GUI redirection.
     KexiGUIMessageHandler* guiRedirection();
diff --git a/src/core/kexitextmsghandler.h b/src/core/kexitextmsghandler.h
index f672c285c..540acf60a 100644
--- a/src/core/kexitextmsghandler.h
+++ b/src/core/kexitextmsghandler.h
@@ -35,7 +35,7 @@ public:
 
     virtual void showErrorMessage(const QString &title, const QString &details = QString());
     virtual void showMessage(MessageType type, const QString &title, const QString &details,
-                             const QString& dontShowAgainName = QString());
+                             const QString& dontShowAgainName = QString()) override;
 
 protected:
     class Private;
diff --git a/src/formeditor/WidgetTreeWidget.h b/src/formeditor/WidgetTreeWidget.h
index 00419b547..36522c1ad 100644
--- a/src/formeditor/WidgetTreeWidget.h
+++ b/src/formeditor/WidgetTreeWidget.h
@@ -61,10 +61,10 @@ public:
     ObjectTreeItem* data() const;
 
     //! Added to unhide.
-    virtual QVariant data(int column, int role) const { return QTreeWidgetItem::data(column, role); }
+    virtual QVariant data(int column, int role) const override { return QTreeWidgetItem::data(column, role); }
 
     //! Reimplemented to alter sorting for certain widget types, e.g. tab pages.
-    virtual bool operator<( const QTreeWidgetItem & other ) const;
+    virtual bool operator<( const QTreeWidgetItem & other ) const override;
 
     //! Used to alter sorting for certain widget types, e.g. tab pages.
     QString customSortingKey() const;
@@ -150,7 +150,7 @@ protected:
     //! @return the item whose text in column 0 is @a text.
     WidgetTreeWidgetItem* findItemByFirstColumn(const QString& text);
 
-    virtual void contextMenuEvent(QContextMenuEvent* e);
+    virtual void contextMenuEvent(QContextMenuEvent* e) override;
 
     void handleContextMenuEvent(QContextMenuEvent* e);
 
diff --git a/src/formeditor/commands.h b/src/formeditor/commands.h
index c16c74f69..a21ca70bd 100644
--- a/src/formeditor/commands.h
+++ b/src/formeditor/commands.h
@@ -55,7 +55,7 @@ public:
     virtual ~Command();
 
     //! Reimplemented to support effect of blockRedoOnce().
-    virtual void redo();
+    virtual void redo() override;
 
     //! Implement instead of redo().
     virtual void execute() = 0;
@@ -93,15 +93,15 @@ public:
 
     Form* form() const;
 
-    virtual int id() const;
+    virtual int id() const override;
 
     void setUniqueId(int id);
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    bool mergeWith(const KUndo2Command * command);
+    bool mergeWith(const KUndo2Command * command) override;
 
     QByteArray propertyName() const;
 
@@ -119,7 +119,7 @@ public:
     /*! Otherwise empty value is returned. */
     QByteArray widgetName() const;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const PropertyCommand &c);
 protected:
@@ -142,11 +142,11 @@ public:
 
     virtual ~GeometryPropertyCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
     void setPos(const QPoint& pos);
 
@@ -154,7 +154,7 @@ public:
 
     QPoint oldPos() const;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const GeometryPropertyCommand &c);
 protected:
@@ -176,13 +176,13 @@ public:
 
     virtual ~AlignWidgetsCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const AlignWidgetsCommand &c);
 protected:
@@ -212,13 +212,13 @@ public:
 
     virtual ~AdjustSizeCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const AdjustSizeCommand &c);
 protected:
@@ -243,13 +243,13 @@ public:
 
     virtual ~LayoutPropertyCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const LayoutPropertyCommand &c);
 protected:
@@ -281,16 +281,16 @@ public:
 
     virtual ~InsertWidgetCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
     //! @return inserted widget's name
     QByteArray widgetName() const;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const InsertWidgetCommand &c);
 protected:
@@ -316,13 +316,13 @@ public:
 
     virtual ~PasteWidgetCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const PasteWidgetCommand &c);
 
@@ -364,13 +364,13 @@ public:
 
     virtual ~DeleteWidgetCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const DeleteWidgetCommand &c);
 protected:
@@ -391,13 +391,13 @@ public:
 
     virtual ~DuplicateWidgetCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const DuplicateWidgetCommand &c);
 protected:
@@ -417,13 +417,13 @@ public:
 
     virtual ~CutWidgetCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void undo();
+    virtual void undo() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const CutWidgetCommand &c);
 protected:
@@ -443,11 +443,11 @@ public:
 
     virtual ~PropertyCommandGroup();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
     friend KFORMDESIGNER_EXPORT QDebug operator<<(QDebug dbg, const PropertyCommandGroup &c);
 protected:
@@ -470,15 +470,15 @@ public:
 
     virtual ~InlineTextEditingCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual bool mergeWith(const KUndo2Command * command);
+    virtual bool mergeWith(const KUndo2Command * command) override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
-    virtual void undo();
+    virtual void undo() override;
 
     Form* form() const;
 
@@ -503,15 +503,15 @@ public:
 
     virtual ~InsertPageCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
     void execute(const QString& pageWidgetName, const QString& pageName, int pageIndex);
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
-    virtual void undo();
+    virtual void undo() override;
 
     void undo(const QString& name);
 
@@ -532,13 +532,13 @@ public:
 
     virtual ~RemovePageCommand();
 
-    virtual int id() const;
+    virtual int id() const override;
 
-    virtual void execute();
+    virtual void execute() override;
 
-    virtual void debug() const;
+    virtual void debug() const override;
 
-    virtual void undo();
+    virtual void undo() override;
 
     int pageIndex() const;
 
diff --git a/src/formeditor/container.h b/src/formeditor/container.h
index 89bcd12fe..3d8bb9635 100644
--- a/src/formeditor/container.h
+++ b/src/formeditor/container.h
@@ -60,7 +60,7 @@ public:
     void setContainer(QObject *container);
 
 protected:
-    bool eventFilter(QObject *o, QEvent *ev);
+    bool eventFilter(QObject *o, QEvent *ev) override;
 
 private:
     QPointer<QWidget>  m_widget;
@@ -143,7 +143,7 @@ public:
        to the watched widget.\n It takes care of drawing the background and
        the insert rect, of creating the new child widgets, of moving the widgets
         and pop up a menu when right-clicking. */
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
 public Q_SLOTS:
     /*! Sets \a selected to be the selected widget of this container
diff --git a/src/formeditor/form.h b/src/formeditor/form.h
index 225444b57..54df40936 100644
--- a/src/formeditor/form.h
+++ b/src/formeditor/form.h
@@ -723,7 +723,7 @@ protected:
     void setInlineEditorText(const QString& text);
 
     /*! This function destroys the editor when it loses focus or Enter is pressed. */
-    virtual bool eventFilter(QObject *obj, QEvent *ev);
+    virtual bool eventFilter(QObject *obj, QEvent *ev) override;
 
 private:
     void init(Mode mode, KActionCollection &col, KFormDesigner::ActionGroup &group);
diff --git a/src/formeditor/formIO.h b/src/formeditor/formIO.h
index 89f136e9d..bd481fb2b 100644
--- a/src/formeditor/formIO.h
+++ b/src/formeditor/formIO.h
@@ -45,7 +45,7 @@ public:
     CustomWidget(const QByteArray &className, QWidget *parent);
     virtual ~CustomWidget();
 
-    virtual void paintEvent(QPaintEvent *ev);
+    virtual void paintEvent(QPaintEvent *ev) override;
 
 private:
     QByteArray m_className;
diff --git a/src/formeditor/form_p.h b/src/formeditor/form_p.h
index 9d3463c15..0ebc23eed 100644
--- a/src/formeditor/form_p.h
+++ b/src/formeditor/form_p.h
@@ -56,7 +56,7 @@ public:
 
     //! Reimplemented to remove handling of the State_MouseOver state.
     virtual void drawControl(ControlElement element, const QStyleOption *option,
-                             QPainter *p, const QWidget *w = 0) const;
+                             QPainter *p, const QWidget *w = 0) const override;
 
 private:
     QStyleOption* alterOption(ControlElement element, const QStyleOption *option) const;
diff --git a/src/formeditor/kexiactionselectiondialog.cpp b/src/formeditor/kexiactionselectiondialog.cpp
index 972969062..ee9b210f1 100644
--- a/src/formeditor/kexiactionselectiondialog.cpp
+++ b/src/formeditor/kexiactionselectiondialog.cpp
@@ -183,7 +183,7 @@ public:
     }
     virtual ~KActionsListView() {}
 
-    virtual bool isActionVisible(const char* actionName, int actionCategories) const {
+    virtual bool isActionVisible(const char* actionName, int actionCategories) const override {
         Q_UNUSED(actionName);
         return actionCategories & Kexi::GlobalActionCategory;
     }
@@ -199,7 +199,7 @@ public:
     }
     virtual ~CurrentFormActionsListView() {}
 
-    virtual bool isActionVisible(const char* actionName, int actionCategories) const {
+    virtual bool isActionVisible(const char* actionName, int actionCategories) const override {
         return actionCategories & Kexi::WindowActionCategory
                && Kexi::actionCategories()->actionSupportsObjectType(actionName, KexiPart::FormObjectType);
     }
diff --git a/src/formeditor/libactionwidget.h b/src/formeditor/libactionwidget.h
index 0c833efb8..b666ae9be 100644
--- a/src/formeditor/libactionwidget.h
+++ b/src/formeditor/libactionwidget.h
@@ -52,7 +52,7 @@ Q_SIGNALS:
 
 protected Q_SLOTS:
     /** reimplemented from KToggleAction */
-    virtual void slotToggled(bool checked);
+    virtual void slotToggled(bool checked) override;
 
 private:
     class Private;
diff --git a/src/formeditor/resizehandle.cpp b/src/formeditor/resizehandle.cpp
index fe08d0bcc..e8add81fb 100644
--- a/src/formeditor/resizehandle.cpp
+++ b/src/formeditor/resizehandle.cpp
@@ -60,13 +60,13 @@ public:
     void setEditingMode(bool editing);
 
 protected:
-    virtual void mousePressEvent(QMouseEvent *ev);
-    virtual void mouseMoveEvent(QMouseEvent *ev);
-    virtual void mouseReleaseEvent(QMouseEvent *ev);
-    virtual void paintEvent(QPaintEvent *ev);
+    virtual void mousePressEvent(QMouseEvent *ev) override;
+    virtual void mouseMoveEvent(QMouseEvent *ev) override;
+    virtual void mouseReleaseEvent(QMouseEvent *ev) override;
+    virtual void paintEvent(QPaintEvent *ev) override;
 
 protected Q_SLOTS:
-    bool eventFilter(QObject *obj, QEvent *ev);
+    bool eventFilter(QObject *obj, QEvent *ev) override;
     void updatePos();
 
 private:
diff --git a/src/formeditor/utils.h b/src/formeditor/utils.h
index de48e8a3c..adcc407bf 100644
--- a/src/formeditor/utils.h
+++ b/src/formeditor/utils.h
@@ -89,7 +89,7 @@ public:
     //! Copy constructor needed required by foreach()
     HorizontalWidgetList(const HorizontalWidgetList& list);
     virtual ~HorizontalWidgetList();
-    virtual void sort();
+    virtual void sort() override;
 protected:
     class LessThan;
     LessThan *m_lessThan;
@@ -103,7 +103,7 @@ public:
     //! Copy constructor needed required by foreach()
     VerticalWidgetList(const VerticalWidgetList& list);
     virtual ~VerticalWidgetList();
-    virtual void sort();
+    virtual void sort() override;
 protected:
     class LessThan;
     LessThan *m_lessThan;
diff --git a/src/formeditor/widgetfactory.h b/src/formeditor/widgetfactory.h
index 94c4de680..780aece81 100644
--- a/src/formeditor/widgetfactory.h
+++ b/src/formeditor/widgetfactory.h
@@ -346,7 +346,7 @@ protected:
     /*! Assigns \a value for internal property \a property for a class \a classname.
      Internal properties are not stored within objects, but can be provided
      to describe class' details. */
-    void setInternalProperty(const QByteArray& classname, const QByteArray& property, const QVariant& value);
+    void setInternalProperty(const QByteArray& classname, const QByteArray& property, const QVariant& value) override;
 
     WidgetInfo* widgetInfoForClassName(const char* classname);
 
diff --git a/src/kexiutils/FlowLayout.h b/src/kexiutils/FlowLayout.h
index 1a85f14ac..bcdddfaba 100644
--- a/src/kexiutils/FlowLayout.h
+++ b/src/kexiutils/FlowLayout.h
@@ -51,21 +51,21 @@ public:
     void setJustified(bool justify);
     bool isJustified() const;
 
-    virtual void addItem(QLayoutItem *item);
+    virtual void addItem(QLayoutItem *item) override;
     virtual void addSpacing(int size);
     void insertWidget(int index, QWidget* widget, int stretch = 0, Qt::Alignment alignment = 0);
-    virtual void invalidate();
-
-    virtual bool hasHeightForWidth() const;
-    virtual int heightForWidth(int width) const;
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSize() const;
-    virtual Qt::Orientations expandingDirections() const;
-    virtual int count() const;
-    virtual bool isEmpty() const;
-    virtual void setGeometry(const QRect&);
-    virtual QLayoutItem *itemAt(int index) const;
-    virtual QLayoutItem *takeAt(int index);
+    virtual void invalidate() override;
+
+    virtual bool hasHeightForWidth() const override;
+    virtual int heightForWidth(int width) const override;
+    virtual QSize sizeHint() const override;
+    virtual QSize minimumSize() const override;
+    virtual Qt::Orientations expandingDirections() const override;
+    virtual int count() const override;
+    virtual bool isEmpty() const override;
+    virtual void setGeometry(const QRect&) override;
+    virtual QLayoutItem *itemAt(int index) const override;
+    virtual QLayoutItem *takeAt(int index) override;
 
 protected:
     int simulateLayout(const QRect &r);
diff --git a/src/kexiutils/KexiAnimatedLayout_p.h b/src/kexiutils/KexiAnimatedLayout_p.h
index 81a4f641e..241ffc6ad 100644
--- a/src/kexiutils/KexiAnimatedLayout_p.h
+++ b/src/kexiutils/KexiAnimatedLayout_p.h
@@ -34,7 +34,7 @@ public:
     explicit Private(KexiAnimatedLayout* qq);
     void animateTo(QWidget* destination);
 protected:
-    void paintEvent(QPaintEvent* event);
+    void paintEvent(QPaintEvent* event) override;
 protected Q_SLOTS:
     void animationFinished();
 private:
diff --git a/src/kexiutils/KexiCategorizedView.h b/src/kexiutils/KexiCategorizedView.h
index d25cbda11..30a4b8e10 100644
--- a/src/kexiutils/KexiCategorizedView.h
+++ b/src/kexiutils/KexiCategorizedView.h
@@ -50,7 +50,7 @@ public:
     //! Shouldn't be needed in KDElibs >= 4.5,
     //! where KexiTemplatesCategoryDrawer::mouseButtonPressed() works.
     void select(const QItemSelection& selection,
-                QItemSelectionModel::SelectionFlags command);
+                QItemSelectionModel::SelectionFlags command) override;
 };
 
 //! Single selection categorized view.
@@ -60,7 +60,7 @@ class KEXIUTILS_EXPORT KexiCategorizedView : public KCategorizedView
 public:
     explicit KexiCategorizedView(QWidget *parent = 0);
 
-    virtual void setModel(QAbstractItemModel *model);
+    virtual void setModel(QAbstractItemModel *model) override;
 };
 
 #endif
diff --git a/src/kexiutils/KexiCloseButton.h b/src/kexiutils/KexiCloseButton.h
index 6b2299c5d..8687719ba 100644
--- a/src/kexiutils/KexiCloseButton.h
+++ b/src/kexiutils/KexiCloseButton.h
@@ -38,7 +38,7 @@ public:
     void setMarginEnabled(bool set);
 
 protected:
-    virtual void paintEvent(QPaintEvent *e);
+    virtual void paintEvent(QPaintEvent *e) override;
 
 private:
     void init();
diff --git a/src/kexiutils/KexiCommandLinkButton.h b/src/kexiutils/KexiCommandLinkButton.h
index 9de0672f7..ea3375675 100644
--- a/src/kexiutils/KexiCommandLinkButton.h
+++ b/src/kexiutils/KexiCommandLinkButton.h
@@ -47,11 +47,11 @@ public:
     void setArrowVisible(bool visible);
 
 protected:
-    QSize sizeHint() const;
-    int heightForWidth(int) const;
-    QSize minimumSizeHint() const;
-    bool event(QEvent *e);
-    void paintEvent(QPaintEvent *);
+    QSize sizeHint() const override;
+    int heightForWidth(int) const override;
+    QSize minimumSizeHint() const override;
+    bool event(QEvent *e) override;
+    void paintEvent(QPaintEvent *) override;
 
 private:
     Q_DISABLE_COPY(KexiCommandLinkButton)
diff --git a/src/kexiutils/KexiContextMessage.h b/src/kexiutils/KexiContextMessage.h
index 3f7ed086d..866c3baa9 100644
--- a/src/kexiutils/KexiContextMessage.h
+++ b/src/kexiutils/KexiContextMessage.h
@@ -126,7 +126,7 @@ public:
     void setPaletteInherited();
 
 protected:
-    virtual bool eventFilter(QObject* watched, QEvent* event);
+    virtual bool eventFilter(QObject* watched, QEvent* event) override;
 
 private Q_SLOTS:
     void actionTriggered();
diff --git a/src/kexiutils/KexiLinkButton.h b/src/kexiutils/KexiLinkButton.h
index 25e770311..874c90db7 100644
--- a/src/kexiutils/KexiLinkButton.h
+++ b/src/kexiutils/KexiLinkButton.h
@@ -57,7 +57,7 @@ public:
     void setIcon(const QIcon &icon);
 
 protected:
-    virtual void changeEvent(QEvent* event);
+    virtual void changeEvent(QEvent* event) override;
 
 private:
     void init();
diff --git a/src/kexiutils/KexiLinkWidget.h b/src/kexiutils/KexiLinkWidget.h
index 8d0f9f4c4..4fa12c633 100644
--- a/src/kexiutils/KexiLinkWidget.h
+++ b/src/kexiutils/KexiLinkWidget.h
@@ -66,7 +66,7 @@ public Q_SLOTS:
     void setShortcut(const QKeySequence &key);
 
 protected:
-    virtual void changeEvent(QEvent* event);
+    virtual void changeEvent(QEvent* event) override;
 
 private:
     QString text() const { return QLabel::text(); }
diff --git a/src/kexiutils/KexiTitleLabel.h b/src/kexiutils/KexiTitleLabel.h
index 21caff6db..e509d963c 100644
--- a/src/kexiutils/KexiTitleLabel.h
+++ b/src/kexiutils/KexiTitleLabel.h
@@ -32,7 +32,7 @@ public:
     explicit KexiTitleLabel(const QString & text, QWidget * parent = 0, Qt::WindowFlags f = 0);
     ~KexiTitleLabel();
 protected:
-    void changeEvent(QEvent* event);
+    void changeEvent(QEvent* event) override;
 private:
     void updateFont();
     void init();
diff --git a/src/kexiutils/SmallToolButton.h b/src/kexiutils/SmallToolButton.h
index bce6c0435..65e4bab30 100644
--- a/src/kexiutils/SmallToolButton.h
+++ b/src/kexiutils/SmallToolButton.h
@@ -49,7 +49,7 @@ public:
     virtual void setIcon(const QString &iconName);
     virtual void setText(const QString& text);
     void setToolButtonStyle(Qt::ToolButtonStyle style);
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
     QAction* action() const;
 
 protected Q_SLOTS:
@@ -75,12 +75,12 @@ public:
     explicit KexiToolBarSeparator(QWidget *parent);
     virtual ~KexiToolBarSeparator();
 
-    QSize sizeHint() const;
+    QSize sizeHint() const override;
     Qt::Orientation orientation() const;
 public Q_SLOTS:
     void setOrientation(Qt::Orientation o);
 protected:
-    virtual void paintEvent(QPaintEvent *e);
+    virtual void paintEvent(QPaintEvent *e) override;
     void initStyleOption(QStyleOption *o) const;
 
 private:
diff --git a/src/kexiutils/completer/KexiCompleter.cpp b/src/kexiutils/completer/KexiCompleter.cpp
index 081cbce8f..d0971c073 100644
--- a/src/kexiutils/completer/KexiCompleter.cpp
+++ b/src/kexiutils/completer/KexiCompleter.cpp
@@ -161,12 +161,12 @@ class KexiEmptyItemModel : public QAbstractItemModel
     Q_OBJECT
 public:
     explicit KexiEmptyItemModel(QObject *parent = 0) : QAbstractItemModel(parent) {}
-    QModelIndex index(int, int, const QModelIndex &) const { return QModelIndex(); }
-    QModelIndex parent(const QModelIndex &) const { return QModelIndex(); }
-    int rowCount(const QModelIndex &) const { return 0; }
-    int columnCount(const QModelIndex &) const { return 0; }
-    bool hasChildren(const QModelIndex &) const { return false; }
-    QVariant data(const QModelIndex &, int) const { return QVariant(); }
+    QModelIndex index(int, int, const QModelIndex &) const override { return QModelIndex(); }
+    QModelIndex parent(const QModelIndex &) const override { return QModelIndex(); }
+    int rowCount(const QModelIndex &) const override { return 0; }
+    int columnCount(const QModelIndex &) const override { return 0; }
+    bool hasChildren(const QModelIndex &) const override { return false; }
+    QVariant data(const QModelIndex &, int) const override { return QVariant(); }
 };
 
 Q_GLOBAL_STATIC(KexiEmptyItemModel, kexiEmptyModel)
diff --git a/src/kexiutils/completer/KexiCompleter.h b/src/kexiutils/completer/KexiCompleter.h
index 84577f592..5064c2552 100644
--- a/src/kexiutils/completer/KexiCompleter.h
+++ b/src/kexiutils/completer/KexiCompleter.h
@@ -143,8 +143,8 @@ public:
     virtual QStringList splitPath(const QString &path) const;
 
 protected:
-    bool eventFilter(QObject *o, QEvent *e);
-    bool event(QEvent *);
+    bool eventFilter(QObject *o, QEvent *e) override;
+    bool event(QEvent *) override;
 
 Q_SIGNALS:
     void activated(const QString &text);
diff --git a/src/kexiutils/completer/KexiCompleter_p.h b/src/kexiutils/completer/KexiCompleter_p.h
index 3c73b58ff..ed71af35c 100644
--- a/src/kexiutils/completer/KexiCompleter_p.h
+++ b/src/kexiutils/completer/KexiCompleter_p.h
@@ -173,7 +173,7 @@ class QSortedModelEngine : public KexiCompletionEngine
 {
 public:
     explicit QSortedModelEngine(KexiCompleterPrivate *c) : KexiCompletionEngine(c) { }
-    KexiMatchData filter(const QString&, const QModelIndex&, int);
+    KexiMatchData filter(const QString&, const QModelIndex&, int) override;
     KexiIndexMapper indexHint(QString, const QModelIndex&, Qt::SortOrder);
     Qt::SortOrder sortOrder(const QModelIndex&) const;
 };
@@ -183,8 +183,8 @@ class QUnsortedModelEngine : public KexiCompletionEngine
 public:
     explicit QUnsortedModelEngine(KexiCompleterPrivate *c) : KexiCompletionEngine(c) { }
 
-    void filterOnDemand(int);
-    KexiMatchData filter(const QString&, const QModelIndex&, int);
+    void filterOnDemand(int) override;
+    KexiMatchData filter(const QString&, const QModelIndex&, int) override;
 private:
     int buildIndices(const QString& str, const QModelIndex& parent, int n,
                      const KexiIndexMapper& iv, KexiMatchData* m);
@@ -196,7 +196,7 @@ class KexiCompleterItemDelegate : public QItemDelegate
 public:
     explicit KexiCompleterItemDelegate(QAbstractItemView *view)
         : QItemDelegate(view), view(view) { }
-    void paint(QPainter *p, const QStyleOptionViewItem& opt, const QModelIndex& idx) const {
+    void paint(QPainter *p, const QStyleOptionViewItem& opt, const QModelIndex& idx) const override {
         QStyleOptionViewItem optCopy = opt;
         optCopy.showDecorationSelected = true;
         if (view->currentIndex() == idx)
@@ -227,16 +227,16 @@ public:
     QModelIndex currentIndex(bool) const;
     void resetModel();
 
-    QModelIndex index(int row, int column, const QModelIndex & = QModelIndex()) const;
-    int rowCount(const QModelIndex &index = QModelIndex()) const;
-    int columnCount(const QModelIndex &index = QModelIndex()) const;
-    bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
-    QModelIndex parent(const QModelIndex & = QModelIndex()) const { return QModelIndex(); }
-    QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
+    QModelIndex index(int row, int column, const QModelIndex & = QModelIndex()) const override;
+    int rowCount(const QModelIndex &index = QModelIndex()) const override;
+    int columnCount(const QModelIndex &index = QModelIndex()) const override;
+    bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
+    QModelIndex parent(const QModelIndex & = QModelIndex()) const override { return QModelIndex(); }
+    QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
 
-    void setSourceModel(QAbstractItemModel *sourceModel);
-    QModelIndex mapToSource(const QModelIndex& proxyIndex) const;
-    QModelIndex mapFromSource(const QModelIndex& sourceIndex) const;
+    void setSourceModel(QAbstractItemModel *sourceModel) override;
+    QModelIndex mapToSource(const QModelIndex& proxyIndex) const override;
+    QModelIndex mapFromSource(const QModelIndex& sourceIndex) const override;
 
     KexiCompleterPrivate *c;
     QScopedPointer<KexiCompletionEngine> engine;
diff --git a/src/kexiutils/kmessagewidget.h b/src/kexiutils/kmessagewidget.h
index a6ea6bb65..2cf509ba6 100644
--- a/src/kexiutils/kmessagewidget.h
+++ b/src/kexiutils/kmessagewidget.h
@@ -152,9 +152,9 @@ public:
      */
     void setAutoDelete(bool set);
 
-    QSize sizeHint() const;
+    QSize sizeHint() const override;
 
-    QSize minimumSizeHint() const;
+    QSize minimumSizeHint() const override;
 
     QPoint calloutPointerPosition() const;
 
@@ -197,13 +197,13 @@ Q_SIGNALS:
     void animatedHideFinished();
 
 protected:
-    virtual void paintEvent(QPaintEvent *event);
+    virtual void paintEvent(QPaintEvent *event) override;
 
-    virtual bool event(QEvent *event);
+    virtual bool event(QEvent *event) override;
 
-    virtual void resizeEvent(QResizeEvent *event);
+    virtual void resizeEvent(QResizeEvent *event) override;
 
-    virtual void showEvent(QShowEvent *event);
+    virtual void showEvent(QShowEvent *event) override;
 
 private Q_SLOTS:
     void slotTimeLineChanged(qreal value);
diff --git a/src/kexiutils/kmessagewidget_p.h b/src/kexiutils/kmessagewidget_p.h
index be0044b77..34d0ffb60 100644
--- a/src/kexiutils/kmessagewidget_p.h
+++ b/src/kexiutils/kmessagewidget_p.h
@@ -31,7 +31,7 @@ class KMessageWidgetFrame : public QFrame
 public:
     explicit KMessageWidgetFrame(QWidget* parent = 0);
 
-    virtual void paintEvent(QPaintEvent* event);
+    virtual void paintEvent(QPaintEvent* event) override;
 
     KMessageWidget::CalloutPointerDirection calloutPointerDirection() const;
 
@@ -67,7 +67,7 @@ class ClickableLabel : public QLabel
 public:
     explicit ClickableLabel(QWidget *parent = 0);
     virtual ~ClickableLabel();
-    virtual void mousePressEvent(QMouseEvent *ev);
+    virtual void mousePressEvent(QMouseEvent *ev) override;
 
 Q_SIGNALS:
     void clicked();
diff --git a/src/kexiutils/utils.h b/src/kexiutils/utils.h
index f8358deaf..de3d57166 100644
--- a/src/kexiutils/utils.h
+++ b/src/kexiutils/utils.h
@@ -420,7 +420,7 @@ class KEXIUTILS_EXPORT KTextEditorFrame : public QFrame
 public:
     explicit KTextEditorFrame(QWidget * parent = 0, Qt::WindowFlags f = 0);
 protected:
-    virtual void changeEvent(QEvent *event);
+    virtual void changeEvent(QEvent *event) override;
 };
 
 /**
@@ -504,7 +504,7 @@ public:
     void setEnabled(bool set);
     bool enabled() const;
 protected:
-    virtual bool eventFilter(QObject* watched, QEvent* event);
+    virtual bool eventFilter(QObject* watched, QEvent* event) override;
 private:
     bool m_enabled;
 };
diff --git a/src/main/KexiBugReportDialog.h b/src/main/KexiBugReportDialog.h
index 3b6190d2b..d70d608d6 100644
--- a/src/main/KexiBugReportDialog.h
+++ b/src/main/KexiBugReportDialog.h
@@ -32,7 +32,7 @@ public:
     explicit KexiBugReportDialog(QWidget *parent = 0);
 
 public Q_SLOTS:
-    virtual void accept();
+    virtual void accept() override;
 
 private:
     void collectData();
diff --git a/src/main/KexiMainWindow.cpp b/src/main/KexiMainWindow.cpp
index ad351c415..09b8b614f 100644
--- a/src/main/KexiMainWindow.cpp
+++ b/src/main/KexiMainWindow.cpp
@@ -2805,7 +2805,7 @@ public:
      : m_originalObjectName(originalObjectName)
     {
     }
-    virtual bool validate(KexiNameDialog *dialog) const {
+    virtual bool validate(KexiNameDialog *dialog) const override {
         if (dialog->widget()->nameText() == m_originalObjectName) {
             KMessageBox::information(dialog,
                                      xi18nc("Could not save object under the original name.",
diff --git a/src/main/KexiMainWindow.h b/src/main/KexiMainWindow.h
index b728a7d52..fae20629a 100644
--- a/src/main/KexiMainWindow.h
+++ b/src/main/KexiMainWindow.h
@@ -58,10 +58,10 @@ public:
     explicit KexiMainWindow(QWidget *parent = 0);
     virtual ~KexiMainWindow();
 
-    virtual KActionCollection* actionCollection() const;
+    virtual KActionCollection* actionCollection() const override;
 
 //! @todo virtual QWidget* focusWidget() const;
-    virtual QWidget* focusWidget() const {
+    virtual QWidget* focusWidget() const override {
         return KexiMainWindowSuper::focusWidget();
     }
 
@@ -78,10 +78,10 @@ public:
                       const QList<QCommandLineOption> &extraOptions = QList<QCommandLineOption>());
 
     //! Project data of currently opened project or NULL if no project here yet.
-    virtual KexiProject *project();
+    virtual KexiProject *project() override;
 
     /*! Registers window \a window for watching and adds it to the main window's stack. */
-    virtual void registerChild(KexiWindow *window);
+    virtual void registerChild(KexiWindow *window) override;
 
     /*! Activates a window by it's document identifier.
      \return false if doc couldn't be raised or isn't opened. */
@@ -95,7 +95,7 @@ public:
     tristate startup();
 
     /*! \return true if the application window is in the User Mode. */
-    virtual bool userMode() const;
+    virtual bool userMode() const override;
 
     /*! \return true if opening of item \a item in \a viewMode mode is allowed.
      userMode() is taken into account as well
@@ -103,29 +103,29 @@ public:
     bool openingAllowed(KexiPart::Item* item, Kexi::ViewMode viewMode, QString* errorMessage = 0);
 
     /*! Implemented for KexiMainWindow. */
-    virtual QList<QAction*> allActions() const;
+    virtual QList<QAction*> allActions() const override;
 
     /*! \return currently active window or 0 if there is no active window.
      Implemented for KexiWindow. */
-    virtual KexiWindow* currentWindow() const;
+    virtual KexiWindow* currentWindow() const override;
 
     /*! @return window for tab @a tabIndex or 0 if there is no such tab. */
     KexiWindow* windowForTab(int tabIndex) const;
 
 //! @todo temporary solution before the tabbed toolbar framework emerges
     // see KexiMainWindowIface
-    virtual void appendWidgetToToolbar(const QString& name, QWidget* widget);
+    virtual void appendWidgetToToolbar(const QString& name, QWidget* widget) override;
 
 //! @todo temporary solution before the tabbed toolbar framework emerges
     // see KexiMainWindowIface
-    virtual void setWidgetVisibleInToolbar(QWidget* widget, bool visible);
+    virtual void setWidgetVisibleInToolbar(QWidget* widget, bool visible) override;
 
 //! @todo replace with the final Actions API
     // see KexiMainWindowIface
-    virtual void addToolBarAction(const QString& toolBarName, QAction *action);
+    virtual void addToolBarAction(const QString& toolBarName, QAction *action) override;
 
     // see KexiMainWindowIface
-    virtual KToolBar *toolBar(const QString& name) const;
+    virtual KToolBar *toolBar(const QString& name) const override;
 
     //! Shows design tab @a tabName again and activates it as current if it was hidden
     //! before for the same object.
@@ -142,14 +142,14 @@ public:
     virtual void hideDesignTab(int itemId, const QString &pluginId = QString());
 
     /*! Implemented for KexiMainWindow */
-    virtual KexiUserFeedbackAgent* userFeedbackAgent() const;
+    virtual KexiUserFeedbackAgent* userFeedbackAgent() const override;
 
     /*! Implemented for KexiMainWindow */
-    virtual KexiMigrateManagerInterface* migrateManager();
+    virtual KexiMigrateManagerInterface* migrateManager() override;
 
 public Q_SLOTS:
     /*! Implemented for KexiMainWindow */
-    virtual tristate closeWindow(KexiWindow *window);
+    virtual tristate closeWindow(KexiWindow *window) override;
 
     /*! Closes the current window. */
     tristate closeCurrentWindow();
@@ -198,42 +198,42 @@ public Q_SLOTS:
      is not set; the caller should not display error message but the opening should be silently abandoned. */
     virtual KexiWindow* openObject(KexiPart::Item *item, Kexi::ViewMode viewMode,
                                    bool *openingCancelled, QMap<QString, QVariant>* staticObjectArgs = 0,
-                                   QString* errorMessage = 0);
+                                   QString* errorMessage = 0) override;
 
     //! For convenience
     virtual KexiWindow* openObject(const QString& pluginId, const QString& name,
                                    Kexi::ViewMode viewMode, bool *openingCancelled,
-                                   QMap<QString, QVariant>* staticObjectArgs = 0);
+                                   QMap<QString, QVariant>* staticObjectArgs = 0) override;
 
     /*! Closes the object for \a item.
      \return true on success (closing can be dealyed though), false on failure and cancelled
      if the object has "opening" job assigned. */
-    virtual tristate closeObject(KexiPart::Item* item);
+    virtual tristate closeObject(KexiPart::Item* item) override;
 
     /*! Implemented for KexiMainWindow */
     virtual tristate saveObject(KexiWindow *window,
                                 const QString& messageWhenAskingForName = QString(),
-                                SaveObjectOptions options = 0);
+                                SaveObjectOptions options = 0) override;
 
     /*! Implemented for KexiMainWindowIface. */
-    virtual KexiWindow *openedWindowFor(int identifier);
-    virtual KexiWindow *openedWindowFor(const KexiPart::Item *item);
+    virtual KexiWindow *openedWindowFor(int identifier) override;
+    virtual KexiWindow *openedWindowFor(const KexiPart::Item *item) override;
 
     /*! Implemented for KexiMainWindowIface */
-    virtual QList<QVariant> currentParametersForQuery(int queryId) const;
+    virtual QList<QVariant> currentParametersForQuery(int queryId) const override;
 
     /*! Implemented for KexiMainWindowIface. */
-    virtual KDbQuerySchema *unsavedQuery(int queryId);
+    virtual KDbQuerySchema *unsavedQuery(int queryId) override;
 
     /*! Implemented for KexiMainWindow */
     virtual tristate getNewObjectInfo(KexiPart::Item *partItem,
                                       const QString &originalName,
                                       KexiPart::Part *part,
                                       bool allowOverwriting, bool *overwriteNeeded,
-                                      const QString& messageWhenAskingForName = QString());
+                                      const QString& messageWhenAskingForName = QString()) override;
 
     /*! Implemented for KexiMainWindow */
-    virtual void highlightObject(const QString& pluginId, const QString& name);
+    virtual void highlightObject(const QString& pluginId, const QString& name) override;
 
     /*! Opens project pointed by \a projectData.
      Application state (e.g. actions) is updated.
@@ -289,19 +289,19 @@ public Q_SLOTS:
 
     //! Shows "print" dialog for \a item.
     //! \return true on success.
-    virtual tristate printItem(KexiPart::Item* item);
+    virtual tristate printItem(KexiPart::Item* item) override;
 
     //! Shows "print preview" window.
     //! \return true on success.
-    virtual tristate printPreviewForItem(KexiPart::Item* item);
+    virtual tristate printPreviewForItem(KexiPart::Item* item) override;
 
     //! Shows "page setup" window for \a item.
     //! \return true on success and cancelled when the action was cancelled.
-    virtual tristate showPageSetupForItem(KexiPart::Item* item);
+    virtual tristate showPageSetupForItem(KexiPart::Item* item) override;
 
     /*! Executes custom action for the main window, usually provided by a plugin.
      Also used by KexiFormEventAction. */
-    virtual tristate executeCustomActionForObject(KexiPart::Item* item, const QString& actionName);
+    virtual tristate executeCustomActionForObject(KexiPart::Item* item, const QString& actionName) override;
 
     /*! Add searchable model to the main window. This extends search to a new area.
      One example is Project Navigator. @see KexiMainWindowIface */
@@ -318,19 +318,19 @@ public Q_SLOTS:
 
     /*! Implemented for KexiMainWindowIface.
      Sets reasonable dialog size based on main window size, that is 80% of its size. */
-    virtual void setReasonableDialogSize(QDialog *dialog);
+    virtual void setReasonableDialogSize(QDialog *dialog) override;
 
 Q_SIGNALS:
     //! Emitted to make sure the project can be close.
     //! Connect a slot here and set \a cancel to true to cancel the closing.
-    void acceptProjectClosingRequested(bool *cancel);
+    void acceptProjectClosingRequested(bool *cancel) override;
 
     //! Emitted before closing the project (and destroying all it's data members).
     //! You can do you cleanup of your structures here.
-    void beforeProjectClosing();
+    void beforeProjectClosing() override;
 
     //! Emitted after closing the project.
-    void projectClosed();
+    void projectClosed() override;
 
     //! Emitted after opening a project, even after slotAutoOpenObjectsLater().
     void projectOpened();
@@ -366,7 +366,7 @@ protected:
 
     /*! Invalidates action availability for current application state.
      These actions are dependent on active window. */
-    virtual void invalidateSharedActions(QObject *o);
+    virtual void invalidateSharedActions(QObject *o) override;
 
     /*! Invalidates action availability for current application state.
      These actions only depend on project availability, not on curently active window. */
@@ -394,19 +394,19 @@ protected:
     /*! Performs lookup like in KexiSharedActionHost::focusWindow()
      but starting from \a w instead of a widget returned by QWidget::focusWidget().
      \return NULL if no widget matches acceptsSharedActions() or if \a w is NULL. */
-    virtual QWidget* findWindow(QWidget *w);
+    virtual QWidget* findWindow(QWidget *w) override;
 
     /*! Updates application's caption - also shows project's name. */
     void updateAppCaption();
 
-    virtual void closeEvent(QCloseEvent *ev);
+    virtual void closeEvent(QCloseEvent *ev) override;
 
     //! Called by KexiMainWidget::queryClose()
     bool queryClose();
 
     /*! Implemented for KexiMainWindowIface.
      Switches \a window to view \a mode. Activates the window if it is not the current window. */
-    virtual tristate switchToViewMode(KexiWindow& window, Kexi::ViewMode viewMode);
+    virtual tristate switchToViewMode(KexiWindow& window, Kexi::ViewMode viewMode) override;
 
     /*! Helper. Updates setup of property panel's tabs. Used when switching
      from \a prevWindow window to a current window. */
@@ -431,7 +431,7 @@ protected:
      hidden.
      Implemented for KexiMainWindow.
      @see KexiPropertyPaneViewBase::updateInfoLabelForPropertySet() */
-    virtual void updatePropertyEditorInfoLabel(const QString& textToDisplayForNullSet);
+    virtual void updatePropertyEditorInfoLabel(const QString& textToDisplayForNullSet) override;
 
     //! Activates design tab when switching to design view, according to \a pluginId.
     void activateDesignTab(const QString &pluginId);
@@ -464,7 +464,7 @@ protected Q_SLOTS:
     /*! Creates new object of type defined by \a info part info.
      \a openingCancelled is set to true if opening has been cancelled.
      \return true on success. */
-    virtual bool newObject(KexiPart::Info *info, bool *openingCancelled);
+    virtual bool newObject(KexiPart::Info *info, bool *openingCancelled) override;
 
     //! For convenience
     bool newObject(KexiPart::Info *info) {
@@ -497,7 +497,7 @@ protected Q_SLOTS:
     /*! Reaction for object rename (signalled by KexiProject).
      If this item has opened window, it's caption is updated,
      and also optionally application's caption. */
-    virtual void slotObjectRenamed(const KexiPart::Item &item, const QString& oldName);
+    virtual void slotObjectRenamed(const KexiPart::Item &item, const QString& oldName) override;
 
 //! @todo virtual void fillWindowMenu();
 
@@ -556,12 +556,12 @@ protected Q_SLOTS:
     //! There are performed all actions that need to be done immediately after  ctro (using timer)
     void slotLastActions();
 
-    virtual void acceptPropertySetEditing();
+    virtual void acceptPropertySetEditing() override;
 
     virtual void propertySetSwitched(KexiWindow *window, bool force = false,
                                      bool preservePrevSelection = true,
                                      bool sortedProperties = false,
-                                     const QByteArray& propertyToSelect = QByteArray());
+                                     const QByteArray& propertyToSelect = QByteArray()) override;
 
     /*! Handles changes in 'dirty' flag for windows. */
     void slotDirtyFlagChanged(KexiWindow* window);
diff --git a/src/main/KexiMainWindow_p.h b/src/main/KexiMainWindow_p.h
index f0446df3d..b85296031 100644
--- a/src/main/KexiMainWindow_p.h
+++ b/src/main/KexiMainWindow_p.h
@@ -127,9 +127,9 @@ public Q_SLOTS:
     void toggleRollDown();
 
 protected:
-    virtual void mouseMoveEvent(QMouseEvent* event);
-    virtual void leaveEvent(QEvent* event);
-    virtual bool eventFilter(QObject* watched, QEvent* event);
+    virtual void mouseMoveEvent(QMouseEvent* event) override;
+    virtual void leaveEvent(QEvent* event) override;
+    virtual bool eventFilter(QObject* watched, QEvent* event) override;
 
 protected Q_SLOTS:
     void slotCurrentChanged(int index);
@@ -173,7 +173,7 @@ public:
 
     void alterBackground();
 
-    virtual void changeEvent(QEvent *e);
+    virtual void changeEvent(QEvent *e) override;
 };
 
 //! @todo KEXI3 is KexiMenuWidgetStyle needed?
@@ -200,7 +200,7 @@ public:
 
     ~KexiMainMenu();
 
-    virtual bool eventFilter(QObject * watched, QEvent* event);
+    virtual bool eventFilter(QObject * watched, QEvent* event) override;
 
     void setContent(QWidget *contentWidget);
 
@@ -223,7 +223,7 @@ protected Q_SLOTS:
     //void contentWidgetDestroyed();
 
 protected:
-    virtual void showEvent(QShowEvent * event);
+    virtual void showEvent(QShowEvent * event) override;
 
 private:
     QPointer<KexiMenuWidget> m_menuWidget;
@@ -308,7 +308,7 @@ class KexiTabbedToolBarTabBar : public QTabBar
 public:
     explicit KexiTabbedToolBarTabBar(QWidget *parent = 0);
     virtual QSize originalTabSizeHint(int index) const;
-    virtual QSize tabSizeHint(int index) const;
+    virtual QSize tabSizeHint(int index) const override;
 
     KexiTabbedToolBarStyle* customStyle;
 };
@@ -323,13 +323,13 @@ public:
     virtual ~KexiTabbedToolBarStyle();
 
     virtual void drawControl(ControlElement element, const QStyleOption *option,
-                             QPainter *painter, const QWidget *widget = 0) const;
+                             QPainter *painter, const QWidget *widget = 0) const override;
 
     virtual void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
-                               QPainter *painter, const QWidget *widget = 0) const;
+                               QPainter *painter, const QWidget *widget = 0) const override;
 
     virtual int pixelMetric(PixelMetric metric, const QStyleOption* option = 0,
-                            const QWidget* widget = 0) const;
+                            const QWidget* widget = 0) const override;
 };
 
 //! Style proxy for KexiTabbedToolBar, to fix the hardcoded margins (e.g. for Breeze).
@@ -364,9 +364,9 @@ protected:
     void showContextMenuForTab(int index, const QPoint& point);
 
     //! Reimplemented to hide frame when no tabs are displayed
-    virtual void paintEvent(QPaintEvent * event);
+    virtual void paintEvent(QPaintEvent * event) override;
 
-    virtual void mousePressEvent(QMouseEvent *event);
+    virtual void mousePressEvent(QMouseEvent *event) override;
 
     KexiMainWidget *m_mainWidget;
     QAction *m_closeAction;
@@ -392,7 +392,7 @@ public:
     KexiMainWindowTabWidget* tabWidget() const;
 
 protected:
-    virtual bool queryClose();
+    virtual bool queryClose() override;
 protected Q_SLOTS:
     void slotCurrentTabIndexChanged(int index);
 Q_SIGNALS:
@@ -422,12 +422,12 @@ public:
 
     virtual void setSizeHint(const QSize& hint);
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     const QString tabText; //!< for tab bar tabs
 
 protected:
-    virtual void paintEvent(QPaintEvent *pe);
+    virtual void paintEvent(QPaintEvent *pe) override;
 
 private:
     class Private;
diff --git a/src/main/KexiMenuWidget.h b/src/main/KexiMenuWidget.h
index e43f9a14f..2d3f5f0fa 100644
--- a/src/main/KexiMenuWidget.h
+++ b/src/main/KexiMenuWidget.h
@@ -129,7 +129,7 @@ public:
     // static QAction *exec(QList<QAction*> actions, const QPoint &pos, QAction *at=0);
     // static QAction *exec(QList<QAction*> actions, const QPoint &pos, QAction *at, QWidget *parent);
 
-    QSize sizeHint() const;
+    QSize sizeHint() const override;
 
     QRect actionGeometry(QAction *) const;
     QAction *actionAt(const QPoint &) const;
@@ -156,23 +156,23 @@ Q_SIGNALS:
 protected:
     int columnCount() const;
 
-    void changeEvent(QEvent *);
-    void keyPressEvent(QKeyEvent *);
-    void mouseReleaseEvent(QMouseEvent *);
-    void mousePressEvent(QMouseEvent *);
-    void mouseMoveEvent(QMouseEvent *);
+    void changeEvent(QEvent *) override;
+    void keyPressEvent(QKeyEvent *) override;
+    void mouseReleaseEvent(QMouseEvent *) override;
+    void mousePressEvent(QMouseEvent *) override;
+    void mouseMoveEvent(QMouseEvent *) override;
 #ifndef QT_NO_WHEELEVENT
-    void wheelEvent(QWheelEvent *);
+    void wheelEvent(QWheelEvent *) override;
 #endif
-    void enterEvent(QEvent *);
-    void leaveEvent(QEvent *);
-    void showEvent(QShowEvent* event);
-    void hideEvent(QHideEvent *);
-    void paintEvent(QPaintEvent *);
-    void actionEvent(QActionEvent *);
-    void timerEvent(QTimerEvent *);
-    bool event(QEvent *);
-    bool focusNextPrevChild(bool next);
+    void enterEvent(QEvent *) override;
+    void leaveEvent(QEvent *) override;
+    void showEvent(QShowEvent* event) override;
+    void hideEvent(QHideEvent *) override;
+    void paintEvent(QPaintEvent *) override;
+    void actionEvent(QActionEvent *) override;
+    void timerEvent(QTimerEvent *) override;
+    bool event(QEvent *) override;
+    bool focusNextPrevChild(bool next) override;
     void initStyleOption(QStyleOptionMenuItem *option, const QAction *action) const;
 
 private Q_SLOTS:
diff --git a/src/main/KexiMenuWidget_p.h b/src/main/KexiMenuWidget_p.h
index 886b857c9..7814ab9f2 100644
--- a/src/main/KexiMenuWidget_p.h
+++ b/src/main/KexiMenuWidget_p.h
@@ -54,7 +54,7 @@ public:
 protected Q_SLOTS:
     void slotClicked();
 protected:
-    virtual void paintEvent(QPaintEvent*);
+    virtual void paintEvent(QPaintEvent*) override;
 };
 
 //used to walk up the popup list
diff --git a/src/main/KexiSearchLineEdit.cpp b/src/main/KexiSearchLineEdit.cpp
index ce5c84e1c..0a2adc40d 100644
--- a/src/main/KexiSearchLineEdit.cpp
+++ b/src/main/KexiSearchLineEdit.cpp
@@ -49,9 +49,9 @@ class KexiSearchLineEditCompleterPopupModel : public QAbstractListModel
 public:
     explicit KexiSearchLineEditCompleterPopupModel(QObject *parent = 0);
     ~KexiSearchLineEditCompleterPopupModel();
-    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
-    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-    virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
+    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
+    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
+    virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
 
 public Q_SLOTS:
     //! Adds a new model or updates information (model items) about existing one
@@ -195,7 +195,7 @@ public:
         setCompletionRole(Qt::DisplayRole);
     }
 
-    virtual QString pathFromIndex(const QModelIndex &index) const {
+    virtual QString pathFromIndex(const QModelIndex &index) const override {
         if (!index.isValid())
             return QString();
         SearchableObject *object = static_cast<SearchableObject*>(index.internalPointer());
@@ -276,7 +276,7 @@ public:
     }
 
     //! Implemented to improve width hint
-    QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
+    QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
     {
         QSize size(QStyledItemDelegate::sizeHint(option, index));
         QStyleOptionViewItem v4 = option;
@@ -287,7 +287,7 @@ public:
     }
 
     virtual void paint(QPainter *painter, const QStyleOptionViewItem &option,
-                       const QModelIndex &index) const
+                       const QModelIndex &index) const override
     {
         QStyledItemDelegate::paint(painter, option, index);
         QStyleOptionViewItem v4 = option;
@@ -366,7 +366,7 @@ protected:
         }
     }
 
-    virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const
+    virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const override
     {
         QStyledItemDelegate::initStyleOption(option, index);
         QStyleOptionViewItem *v4 = qstyleoption_cast<QStyleOptionViewItem*>(option);
diff --git a/src/main/KexiSearchLineEdit.h b/src/main/KexiSearchLineEdit.h
index 574590972..0881ddc58 100644
--- a/src/main/KexiSearchLineEdit.h
+++ b/src/main/KexiSearchLineEdit.h
@@ -69,11 +69,11 @@ private Q_SLOTS:
     void slotClearShortcutActivated();
 
 protected:
-    virtual void inputMethodEvent(QInputMethodEvent *e);
-    virtual void focusInEvent(QFocusEvent *e);
-    virtual void focusOutEvent(QFocusEvent *e);
-    virtual void keyPressEvent(QKeyEvent *e);
-    virtual void changeEvent(QEvent *event);
+    virtual void inputMethodEvent(QInputMethodEvent *e) override;
+    virtual void focusInEvent(QFocusEvent *e) override;
+    virtual void focusOutEvent(QFocusEvent *e) override;
+    virtual void keyPressEvent(QKeyEvent *e) override;
+    virtual void changeEvent(QEvent *event) override;
 
 private:
     void connectCompleter();
diff --git a/src/main/startup/KexiAssistantMessageHandler.h b/src/main/startup/KexiAssistantMessageHandler.h
index 30f5153c1..30c396447 100644
--- a/src/main/startup/KexiAssistantMessageHandler.h
+++ b/src/main/startup/KexiAssistantMessageHandler.h
@@ -41,7 +41,7 @@ protected:
         const QString &message,
         const QString &details = QString(),
         const QString &caption = QString()
-    );
+    ) override;
 
     /*! Shows error message with @a msg text. Existing error message from @a obj object
      is also copied, if present. */
@@ -51,7 +51,7 @@ protected:
         KDbMessageHandler::MessageType messageType = Error,
         const QString& message = QString(),
         const QString& caption = QString()
-    );
+    ) override;
 
     virtual const QWidget* calloutWidget() const = 0;
     virtual QPoint calloutPointerPosition() const;
diff --git a/src/main/startup/KexiImportExportAssistant.h b/src/main/startup/KexiImportExportAssistant.h
index e2c6e8c74..22b8e9f70 100644
--- a/src/main/startup/KexiImportExportAssistant.h
+++ b/src/main/startup/KexiImportExportAssistant.h
@@ -52,8 +52,8 @@ public:
     const QAction *action_import_project;
 
 public Q_SLOTS:
-    virtual void nextPageRequested(KexiAssistantPage* page);
-    virtual void cancelRequested(KexiAssistantPage* page);
+    virtual void nextPageRequested(KexiAssistantPage* page) override;
+    virtual void cancelRequested(KexiAssistantPage* page) override;
 
 Q_SIGNALS:
     void importProject();
diff --git a/src/main/startup/KexiNewProjectAssistant.h b/src/main/startup/KexiNewProjectAssistant.h
index 6d554f69c..08120c7c0 100644
--- a/src/main/startup/KexiNewProjectAssistant.h
+++ b/src/main/startup/KexiNewProjectAssistant.h
@@ -178,8 +178,8 @@ public:
     ~KexiNewProjectAssistant();
 
 public Q_SLOTS:
-    virtual void nextPageRequested(KexiAssistantPage* page);
-    virtual void cancelRequested(KexiAssistantPage* page);
+    virtual void nextPageRequested(KexiAssistantPage* page) override;
+    virtual void cancelRequested(KexiAssistantPage* page) override;
     void tryAgainActionTriggered();
     void cancelActionTriggered();
 
@@ -187,7 +187,7 @@ Q_SIGNALS:
     void createProject(const KexiProjectData &data);
 
 protected:
-    virtual const QWidget* calloutWidget() const;
+    virtual const QWidget* calloutWidget() const override;
 
 private:
     void createProject(
diff --git a/src/main/startup/KexiOpenProjectAssistant.h b/src/main/startup/KexiOpenProjectAssistant.h
index 6704e1438..b309de3ba 100644
--- a/src/main/startup/KexiOpenProjectAssistant.h
+++ b/src/main/startup/KexiOpenProjectAssistant.h
@@ -84,8 +84,8 @@ public:
     ~KexiOpenProjectAssistant();
 
 public Q_SLOTS:
-    virtual void nextPageRequested(KexiAssistantPage* page);
-    virtual void cancelRequested(KexiAssistantPage* page);
+    virtual void nextPageRequested(KexiAssistantPage* page) override;
+    virtual void cancelRequested(KexiAssistantPage* page) override;
     void tryAgainActionTriggered();
     void cancelActionTriggered();
 
@@ -97,7 +97,7 @@ private Q_SLOTS:
     void slotOpenProject(KexiProjectData* data);
 
 protected:
-    virtual const QWidget* calloutWidget() const;
+    virtual const QWidget* calloutWidget() const override;
 
 private:
     class Private;
diff --git a/src/main/startup/KexiRecentProjectsModel.h b/src/main/startup/KexiRecentProjectsModel.h
index 553c45ddd..c178cc2cf 100644
--- a/src/main/startup/KexiRecentProjectsModel.h
+++ b/src/main/startup/KexiRecentProjectsModel.h
@@ -38,10 +38,10 @@ public:
                                      QObject *parent = 0);
 
     QModelIndex  index(int row, int column = 0,
-                       const QModelIndex& parent = QModelIndex() ) const;
-    int rowCount(const QModelIndex& parent = QModelIndex()) const;
-    QVariant data(const QModelIndex& index, int role) const;
-    Qt::ItemFlags flags( const QModelIndex& index ) const;
+                       const QModelIndex& parent = QModelIndex() ) const override;
+    int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+    QVariant data(const QModelIndex& index, int role) const override;
+    Qt::ItemFlags flags( const QModelIndex& index ) const override;
 
 private:
     const KexiRecentProjects* m_projects;
@@ -54,7 +54,7 @@ public:
     explicit KexiRecentProjectsProxyModel(QObject *parent = 0);
 
 protected:
-    virtual bool subSortLessThan(const QModelIndex& left, const QModelIndex& right) const;
+    virtual bool subSortLessThan(const QModelIndex& left, const QModelIndex& right) const override;
 };
 
 #endif
diff --git a/src/main/startup/KexiTemplatesModel.h b/src/main/startup/KexiTemplatesModel.h
index 75a9c5b7d..944e8baef 100644
--- a/src/main/startup/KexiTemplatesModel.h
+++ b/src/main/startup/KexiTemplatesModel.h
@@ -40,10 +40,10 @@ public:
     ~KexiTemplatesModel();
 
     QModelIndex  index(int row, int column = 0,
-                       const QModelIndex& parent = QModelIndex() ) const;
-    int rowCount(const QModelIndex& parent = QModelIndex()) const;
-    QVariant data(const QModelIndex& index, int role) const;
-    Qt::ItemFlags flags( const QModelIndex& index ) const;
+                       const QModelIndex& parent = QModelIndex() ) const override;
+    int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+    QVariant data(const QModelIndex& index, int role) const override;
+    Qt::ItemFlags flags( const QModelIndex& index ) const override;
 
 private:
     class Private;
diff --git a/src/main/startup/KexiWelcomeAssistant.h b/src/main/startup/KexiWelcomeAssistant.h
index 2dd02296a..34edbfe70 100644
--- a/src/main/startup/KexiWelcomeAssistant.h
+++ b/src/main/startup/KexiWelcomeAssistant.h
@@ -79,8 +79,8 @@ public:
     KexiRecentProjects* projects();
 
 public Q_SLOTS:
-    virtual void nextPageRequested(KexiAssistantPage* page);
-    virtual void cancelRequested(KexiAssistantPage* page);
+    virtual void nextPageRequested(KexiAssistantPage* page) override;
+    virtual void cancelRequested(KexiAssistantPage* page) override;
     void tryAgainActionTriggered();
     void cancelActionTriggered();
 
@@ -94,9 +94,9 @@ Q_SIGNALS:
 protected:
     void openProjectOrShowPasswordPage(KexiProjectData *data);
     void emitOpenProject(KexiProjectData *data);
-    virtual const QWidget* calloutWidget() const;
-    virtual QPoint calloutPointerPosition() const;
-    virtual KMessageWidget::CalloutPointerDirection calloutPointerDirection() const;
+    virtual const QWidget* calloutWidget() const override;
+    virtual QPoint calloutPointerPosition() const override;
+    virtual KMessageWidget::CalloutPointerDirection calloutPointerDirection() const override;
 
 private:
     void createProject(
diff --git a/src/main/startup/KexiWelcomeStatusBar.cpp b/src/main/startup/KexiWelcomeStatusBar.cpp
index ad34cee32..c8f5bd246 100644
--- a/src/main/startup/KexiWelcomeStatusBar.cpp
+++ b/src/main/startup/KexiWelcomeStatusBar.cpp
@@ -412,7 +412,7 @@ public:
     }
 
 protected:
-    virtual void changeEvent(QEvent* event)
+    virtual void changeEvent(QEvent* event) override
     {
         switch (event->type()) {
         case QEvent::EnabledChange:
diff --git a/src/migration/AlterSchemaTableModel.h b/src/migration/AlterSchemaTableModel.h
index f166da150..a557a978b 100644
--- a/src/migration/AlterSchemaTableModel.h
+++ b/src/migration/AlterSchemaTableModel.h
@@ -34,10 +34,10 @@ public:
     explicit AlterSchemaTableModel(QObject* parent = nullptr);
     ~AlterSchemaTableModel();
 
-    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
-    virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;
-    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
-    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
+    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
+    virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
+    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
+    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override;
 
     void setSchema(KDbTableSchema *schema);
     void setData(QList<KDbRecordData*> *data);
diff --git a/src/migration/importoptionsdlg.h b/src/migration/importoptionsdlg.h
index df592a815..6925a76b9 100644
--- a/src/migration/importoptionsdlg.h
+++ b/src/migration/importoptionsdlg.h
@@ -42,7 +42,7 @@ public:
     KexiCharacterEncodingComboBox* encodingComboBox() const;
 
 protected Q_SLOTS:
-    virtual void accept();
+    virtual void accept() override;
 
 protected:
     KexiCharacterEncodingComboBox *m_encodingComboBox;
diff --git a/src/migration/importtablewizard.h b/src/migration/importtablewizard.h
index bdf2b9566..157718f8a 100644
--- a/src/migration/importtablewizard.h
+++ b/src/migration/importtablewizard.h
@@ -54,10 +54,10 @@ Q_OBJECT
         explicit ImportTableWizard(KDbConnection* curDB, QWidget* parent = 0, QMap<QString, QString>* args = 0, Qt::WindowFlags flags = 0);
         virtual ~ImportTableWizard( );
 
-        virtual void back();
-        virtual void next();
-        virtual void accept();
-        virtual void reject();
+        virtual void back() override;
+        virtual void next() override;
+        virtual void accept() override;
+        virtual void reject() override;
 
     protected Q_SLOTS:
         void slot_currentPageChanged(KPageWidgetItem*,KPageWidgetItem*);
diff --git a/src/migration/importwizard.h b/src/migration/importwizard.h
index a3aaa8101..1a2f309d6 100644
--- a/src/migration/importwizard.h
+++ b/src/migration/importwizard.h
@@ -60,11 +60,11 @@ public Q_SLOTS:
     void progressUpdated(int percent);
 
 protected Q_SLOTS:
-    virtual void next();
-    virtual void back();
+    virtual void next() override;
+    virtual void back() override;
     void slot_currentPageChanged(KPageWidgetItem*,KPageWidgetItem*);
-    virtual void accept();
-    virtual void reject();
+    virtual void accept() override;
+    virtual void reject() override;
     void helpClicked();
     void slotOptionsButtonClicked();
     void destinationCaptionTextChanged(const QString &text);
diff --git a/src/migration/mdb/src/keximdb/mdbmigrate.h b/src/migration/mdb/src/keximdb/mdbmigrate.h
index c9171b6d6..99d0f2dda 100644
--- a/src/migration/mdb/src/keximdb/mdbmigrate.h
+++ b/src/migration/mdb/src/keximdb/mdbmigrate.h
@@ -58,34 +58,34 @@ public:
 
     //! Reimplemented to add support for "sourceDatabaseHasNonUnicodeEncoding" property
     //! @todo this should be in KDbConnection class but Migration framework has no such yet!
-    virtual QVariant propertyValue(const QByteArray& propName);
+    virtual QVariant propertyValue(const QByteArray& propName) override;
 
 protected:
     //! Driver specific function to return table names
-    virtual bool drv_tableNames(QStringList *tablenames);
+    virtual bool drv_tableNames(QStringList *tablenames) override;
 
     //! Driver specific implementation to read a table schema
     virtual bool drv_readTableSchema(
-        const QString& originalName, KDbTableSchema *tableSchema);
+        const QString& originalName, KDbTableSchema *tableSchema) override;
 
     //! Creates connection object to the source database (driver-specific).
     KDbConnection* drv_createConnection() Q_DECL_OVERRIDE;
 
     //! Driver specific connection implementation
-    virtual bool drv_connect();
+    virtual bool drv_connect() override;
 
     //! Disconnect from the db backend
-    virtual bool drv_disconnect();
+    virtual bool drv_disconnect() override;
 
     //! Copy MDB table to a KDb table
     bool drv_copyTable(const QString& srcTable,
                        KDbConnection *destConn, KDbTableSchema* dstTable,
                        const RecordFilter *recordFilter = nullptr) Q_DECL_OVERRIDE;
 
-    virtual bool drv_progressSupported() {
+    virtual bool drv_progressSupported() override {
         return true;
     }
-    virtual bool drv_getTableSize(const QString& table, quint64 *size);
+    virtual bool drv_getTableSize(const QString& table, quint64 *size) override;
 
 private:
     MdbHandle *m_mdb = nullptr;
diff --git a/src/migration/tsv/TsvMigrate.h b/src/migration/tsv/TsvMigrate.h
index 716c64c11..c59f540e2 100644
--- a/src/migration/tsv/TsvMigrate.h
+++ b/src/migration/tsv/TsvMigrate.h
@@ -49,17 +49,17 @@ public:
     bool drv_connect() Q_DECL_OVERRIDE;
 
     //! Disconnect from source
-    virtual bool drv_disconnect();
+    virtual bool drv_disconnect() override;
 
     //! Get table names in source
-    virtual bool drv_tableNames(QStringList *tablenames);
+    virtual bool drv_tableNames(QStringList *tablenames) override;
 
     bool drv_copyTable(const QString& srcTable, KDbConnection *destConn,
                        KDbTableSchema* dstTable,
                        const RecordFilter *recordFilter = 0) Q_DECL_OVERRIDE;
 
     //! Read schema for a given table
-    virtual bool drv_readTableSchema(const QString& originalName, KDbTableSchema *tableSchema);
+    virtual bool drv_readTableSchema(const QString& originalName, KDbTableSchema *tableSchema) override;
 
     //! Starts reading data from the source dataset's table
     QSharedPointer<KDbSqlResult> drv_readFromTable(const QString & tableName) Q_DECL_OVERRIDE;
diff --git a/src/plugins/forms/KexiFormScrollAreaWidget.h b/src/plugins/forms/KexiFormScrollAreaWidget.h
index 0edd721ff..96def64c4 100644
--- a/src/plugins/forms/KexiFormScrollAreaWidget.h
+++ b/src/plugins/forms/KexiFormScrollAreaWidget.h
@@ -40,11 +40,11 @@ Q_SIGNALS:
     bool resized();
 
 protected:
-    virtual void paintEvent(QPaintEvent *e);
-    virtual void mouseMoveEvent(QMouseEvent *e);
-    virtual void mousePressEvent(QMouseEvent *e);
-    virtual void mouseReleaseEvent(QMouseEvent *e);
-    virtual void leaveEvent(QEvent *e);
+    virtual void paintEvent(QPaintEvent *e) override;
+    virtual void mouseMoveEvent(QMouseEvent *e) override;
+    virtual void mousePressEvent(QMouseEvent *e) override;
+    virtual void mouseReleaseEvent(QMouseEvent *e) override;
+    virtual void leaveEvent(QEvent *e) override;
 
 private:
     bool m_resizing;
diff --git a/src/plugins/forms/kexidbfactorybase.h b/src/plugins/forms/kexidbfactorybase.h
index 46fde931d..46f51a631 100644
--- a/src/plugins/forms/kexidbfactorybase.h
+++ b/src/plugins/forms/kexidbfactorybase.h
@@ -45,7 +45,7 @@ public:
 
 protected:
     virtual bool isPropertyVisibleInternal(const QByteArray& classname, QWidget *w,
-                                           const QByteArray& property, bool isTopLevel);
+                                           const QByteArray& property, bool isTopLevel) override;
 };
 
 #endif
diff --git a/src/plugins/forms/kexiformpart.h b/src/plugins/forms/kexiformpart.h
index d18c3053f..d025bb435 100644
--- a/src/plugins/forms/kexiformpart.h
+++ b/src/plugins/forms/kexiformpart.h
@@ -91,7 +91,7 @@ public:
 #endif
 
     virtual KLocalizedString i18nMessage(const QString& englishMessage,
-                                         KexiWindow* window) const;
+                                         KexiWindow* window) const override;
 
 protected:
     KexiWindowData* createWindowData(KexiWindow* window) override Q_REQUIRED_RESULT;
@@ -100,9 +100,9 @@ protected:
                          Kexi::ViewMode viewMode = Kexi::DataViewMode,
                          QMap<QString, QVariant> *staticObjectArgs = nullptr) override Q_REQUIRED_RESULT;
 
-    virtual void initPartActions();
-    virtual void initInstanceActions();
-    virtual void setupCustomPropertyPanelTabs(QTabWidget *tab);
+    virtual void initPartActions() override;
+    virtual void initInstanceActions() override;
+    virtual void setupCustomPropertyPanelTabs(QTabWidget *tab) override;
 
 private:
     class Private;
diff --git a/src/plugins/forms/kexiformscrollview.h b/src/plugins/forms/kexiformscrollview.h
index 208e4e08d..996ad801b 100644
--- a/src/plugins/forms/kexiformscrollview.h
+++ b/src/plugins/forms/kexiformscrollview.h
@@ -75,28 +75,28 @@ public:
     /*! Reimplemented from KexiDataAwareObjectInterface
      for checking 'readOnly' flag from a widget
      ('readOnly' flag from data member is still checked though). */
-    virtual bool columnEditable(int col);
+    virtual bool columnEditable(int col) override;
 
     /*! \return number of visible columns in this view.
      There can be a number of duplicated columns defined,
      so columnCount() can return greater or smaller number than dataColumns(). */
-    virtual int columnCount() const;
+    virtual int columnCount() const override;
 
     //! @return the number of records in the data set (if data set is present).
-    virtual int recordCount() const;
+    virtual int recordCount() const override;
 
     //! \return number of the currently selected record number or -1.
-    virtual int currentRecord() const;
+    virtual int currentRecord() const override;
 
     /*! \return column information for column number \a col.
      Reimplemented for KexiDataAwareObjectInterface:
      column data corresponding to widget number is used here
      (see fieldNumberForColumn()). */
-    virtual KDbTableViewColumn* column(int col);
+    virtual KDbTableViewColumn* column(int col) override;
 
     /*! \return field number within data model connected to a data-aware
      widget at column \a col. */
-    virtual int fieldNumberForColumn(int col);
+    virtual int fieldNumberForColumn(int col) override;
 
     /*! @internal Used by KexiFormView in view switching. */
     void beforeSwitchView();
@@ -106,10 +106,10 @@ public:
      if there are no records.
      Implemented for KexiDataAwareObjectInterface. */
     //! @todo unimplemented for now, this will be used for continuous forms
-    virtual int lastVisibleRecord() const;
+    virtual int lastVisibleRecord() const override;
 
     /*! \return vertical scrollbar. Implemented for KexiDataAwareObjectInterface. */
-    virtual QScrollBar* verticalScrollBar() const;
+    virtual QScrollBar* verticalScrollBar() const override;
 
     KexiDBForm* dbFormWidget() const;
 
@@ -150,32 +150,32 @@ public:
 
     /*! @return geometry of the viewport, i.e. the scrollable area, minus any scrollbars, etc.
      Implementation for KexiDataAwareObjectInterface. */
-    virtual QRect viewportGeometry() const;
+    virtual QRect viewportGeometry() const override;
 
 public Q_SLOTS:
     //! Implementation for KexiDataAwareObjectInterface
     //! \return arbitraty value of 10.
-    virtual int recordsPerPage() const;
+    virtual int recordsPerPage() const override;
 
     //! Implementation for KexiDataAwareObjectInterface
-    virtual void ensureCellVisible(int record, int col);
+    virtual void ensureCellVisible(int record, int col) override;
 
     //! Implementation for KexiDataAwareObjectInterface
-    virtual void ensureColumnVisible(int col);
-
-    virtual void moveToRecordRequested(int r);
-    virtual void moveToLastRecordRequested();
-    virtual void moveToPreviousRecordRequested();
-    virtual void moveToNextRecordRequested();
-    virtual void moveToFirstRecordRequested();
-    virtual void addNewRecordRequested() {
+    virtual void ensureColumnVisible(int col) override;
+
+    virtual void moveToRecordRequested(int r) override;
+    virtual void moveToLastRecordRequested() override;
+    virtual void moveToPreviousRecordRequested() override;
+    virtual void moveToNextRecordRequested() override;
+    virtual void moveToFirstRecordRequested() override;
+    virtual void addNewRecordRequested() override {
         KexiDataAwareObjectInterface::addNewRecordRequested();
     }
 
     /*! Cancels changes made to the currently active editor.
      Reverts the editor's value to old one.
      \return true on success or false on failure (e.g. when editor does not exist) */
-    virtual bool cancelEditor();
+    virtual bool cancelEditor() override;
 
 public Q_SLOTS:
     /*! Clear command history right after final resize. */
@@ -184,156 +184,156 @@ public Q_SLOTS:
     /*! Handles verticalScrollBar()'s valueChanged(int) signal.
      Called when vscrollbar's value has been changed. */
     //! @todo unused for now, will be used for continuous forms
-    virtual void verticalScrollBarValueChanged(int v) {
+    virtual void verticalScrollBarValueChanged(int v) override {
         KexiDataAwareObjectInterface::verticalScrollBarValueChanged(v);
     }
 
 Q_SIGNALS:
-    void itemChanged(KDbRecordData* data, int record, int column);
-    void itemChanged(KDbRecordData* data, int record, int column, const QVariant &oldValue);
-    void itemDeleteRequest(KDbRecordData* data, int record, int column);
-    void currentItemDeleteRequest();
-    void newItemAppendedForAfterDeletingInSpreadSheetMode(); //!< does nothing
-    void dataRefreshed();
-    void dataSet(KDbTableViewData *data);
-    void itemSelected(KDbRecordData* data);
-    void cellSelected(int record, int column);
-    void sortedColumnChanged(int column);
-    void recordEditingStarted(int record);
-    void recordEditingTerminated(int record);
-    void updateSaveCancelActions();
-    void reloadActions();
+    void itemChanged(KDbRecordData* data, int record, int column) override;
+    void itemChanged(KDbRecordData* data, int record, int column, const QVariant &oldValue) override;
+    void itemDeleteRequest(KDbRecordData* data, int record, int column) override;
+    void currentItemDeleteRequest() override;
+    void newItemAppendedForAfterDeletingInSpreadSheetMode() override; //!< does nothing
+    void dataRefreshed() override;
+    void dataSet(KDbTableViewData *data) override;
+    void itemSelected(KDbRecordData* data) override;
+    void cellSelected(int record, int column) override;
+    void sortedColumnChanged(int column) override;
+    void recordEditingStarted(int record) override;
+    void recordEditingTerminated(int record) override;
+    void updateSaveCancelActions() override;
+    void reloadActions() override;
 
     //! Emitted when the main widget area is being interactively resized.
     bool resized();
 
 protected Q_SLOTS:
     //! Handles KDbTableViewData::recordRepaintRequested() signal
-    virtual void slotRecordRepaintRequested(KDbRecordData* data);
+    virtual void slotRecordRepaintRequested(KDbRecordData* data) override;
 
     //! Handles KDbTableViewData::aboutToDeleteRecord() signal. Prepares info for slotRecordDeleted().
-    virtual void slotAboutToDeleteRecord(KDbRecordData* data, KDbResultInfo* result, bool repaint) {
+    virtual void slotAboutToDeleteRecord(KDbRecordData* data, KDbResultInfo* result, bool repaint) override {
         KexiDataAwareObjectInterface::slotAboutToDeleteRecord(data, result, repaint);
     }
 
     //! Handles KDbTableViewData::recordDeleted() signal to repaint when needed.
-    virtual void slotRecordDeleted() {
+    virtual void slotRecordDeleted() override {
         KexiDataAwareObjectInterface::slotRecordDeleted();
     }
 
     //! Handles KDbTableViewData::recordInserted() signal to repaint when needed.
-    virtual void slotRecordInserted(KDbRecordData* data, bool repaint);
+    virtual void slotRecordInserted(KDbRecordData* data, bool repaint) override;
 
     //! Like above, not db-aware version
-    virtual void slotRecordInserted(KDbRecordData* data, int record, bool repaint);
+    virtual void slotRecordInserted(KDbRecordData* data, int record, bool repaint) override;
 
-    virtual void slotRecordsDeleted(const QList<int>&);
+    virtual void slotRecordsDeleted(const QList<int>&) override;
 
-    virtual void slotDataDestroying() {
+    virtual void slotDataDestroying() override {
         KexiDataAwareObjectInterface::slotDataDestroying();
     }
 
     /*! Reloads data for this widget.
      Handles KDbTableViewData::reloadRequested() signal. */
-    virtual void reloadData() {
+    virtual void reloadData() override {
         KexiDataAwareObjectInterface::reloadData();
     }
 
     //! Copy current selection to a clipboard (e.g. cell)
-    virtual void copySelection();
+    virtual void copySelection() override;
 
     //! Cut current selection to a clipboard (e.g. cell)
-    virtual void cutSelection();
+    virtual void cutSelection() override;
 
     //! Paste current clipboard contents (e.g. to a cell)
-    virtual void paste();
+    virtual void paste() override;
 
 protected:
     //! Implementation for KexiDataAwareObjectInterface
-    virtual void clearColumnsInternal(bool repaint);
+    virtual void clearColumnsInternal(bool repaint) override;
 
     //! Implementation for KexiDataAwareObjectInterface
-    virtual KDbOrderByColumn::SortOrder currentLocalSortOrder() const;
+    virtual KDbOrderByColumn::SortOrder currentLocalSortOrder() const override;
 
     //! Implementation for KexiDataAwareObjectInterface
-    virtual int currentLocalSortColumn() const;
+    virtual int currentLocalSortColumn() const override;
 
     //! Implementation for KexiDataAwareObjectInterface. Visually does nothing
     //! but remembers index of the currently sorted column and order.
-    virtual void setLocalSortOrder(int column, KDbOrderByColumn::SortOrder order);
+    virtual void setLocalSortOrder(int column, KDbOrderByColumn::SortOrder order) override;
 
     //! Implementation for KexiDataAwareObjectInterface.
     //! Just calls KexiDataAwareObjectInterface's implementation.
-    void sortColumnInternal(int col, int order = 0);
+    void sortColumnInternal(int col, int order = 0) override;
 
     //! Implementation for KexiDataAwareObjectInterface.
     //! Nothing to do here. Record navigator is already updated.
-    virtual void updateGUIAfterSorting(int previousRecord);
+    virtual void updateGUIAfterSorting(int previousRecord) override;
 
     //! Implementation for KexiDataAwareObjectInterface
     virtual void createEditor(int record, int column, const QString& addText = QString(),
-                              CreateEditorFlags flags = DefaultCreateEditorFlags);
+                              CreateEditorFlags flags = DefaultCreateEditorFlags) override;
 
     //! Implementation for KexiDataAwareObjectInterface
-    virtual KexiDataItemInterface *editor(int col, bool ignoreMissingEditor = false);
+    virtual KexiDataItemInterface *editor(int col, bool ignoreMissingEditor = false) override;
 
     //! Implementation for KexiDataAwareObjectInterface
-    virtual void editorShowFocus(int record, int column);
+    virtual void editorShowFocus(int record, int column) override;
 
     /*! Implementation for KexiDataAwareObjectInterface
      Redraws specified cell. */
-    virtual void updateCell(int record, int column);
+    virtual void updateCell(int record, int column) override;
 
     /*! Redraws the current cell. Implemented after KexiDataAwareObjectInterface. */
-    virtual void updateCurrentCell();
+    virtual void updateCurrentCell() override;
 
     /*! Implementation for KexiDataAwareObjectInterface
      Redraws all cells of specified record. */
-    virtual void updateRecord(int record);
+    virtual void updateRecord(int record) override;
 
     /*! Implementation for KexiDataAwareObjectInterface
      Updates contents of the widget. Just call update() here on your widget. */
-    virtual void updateWidgetContents();
+    virtual void updateWidgetContents() override;
 
     /*! Implementation for KexiDataAwareObjectInterface
      Implementation for KexiDataAwareObjectInterface
      Updates widget's contents size e.g. using QScrollView::resizeContents(). */
-    virtual void updateWidgetContentsSize();
+    virtual void updateWidgetContentsSize() override;
 
     //! Reimplemented from KexiFormDataProvider. Reaction for change of \a item.
-    virtual void valueChanged(KexiDataItemInterface* item);
+    virtual void valueChanged(KexiDataItemInterface* item) override;
 
     /*! Reimplemented from KexiFormDataProvider.
      \return information whether we're currently at new record or not.
      This can be used e.g. by data-aware widgets to determine if "(auto)"
      label should be displayed. */
-    virtual bool cursorAtNewRecord() const;
+    virtual bool cursorAtNewRecord() const override;
 
     /*! Implementation for KexiFormDataProvider. */
-    virtual void lengthExceeded(KexiDataItemInterface *item, bool lengthExceeded);
+    virtual void lengthExceeded(KexiDataItemInterface *item, bool lengthExceeded) override;
 
     /*! Implementation for KexiFormDataProvider. */
-    virtual void updateLengthExceededMessage(KexiDataItemInterface *item);
+    virtual void updateLengthExceededMessage(KexiDataItemInterface *item) override;
 
     //! Implementation for KexiDataAwareObjectInterface
     //! Called by KexiDataAwareObjectInterface::setCursorPosition()
     //! if cursor's position is really changed.
-    virtual void selectCellInternal(int previousRecord, int previousColumn);
+    virtual void selectCellInternal(int previousRecord, int previousColumn) override;
 
     /*! Reimplementation: used to refresh "editing indicator" visibility. */
-    virtual void initDataContents();
+    virtual void initDataContents() override;
 
     /*! @internal
      Updates record appearance after canceling record edit.
      Reimplemented from KexiDataAwareObjectInterface: just undoes changes for every data item.
      Used by cancelRecordEditing(). */
-    virtual void updateAfterCancelRecordEditing();
+    virtual void updateAfterCancelRecordEditing() override;
 
     /*! @internal
      Updates record appearance after accepting record edit.
      Reimplemented from KexiDataAwareObjectInterface: just clears 'edit' indicator.
      Used by cancelRecordEditing(). */
-    virtual void updateAfterAcceptRecordEditing();
+    virtual void updateAfterAcceptRecordEditing() override;
 
     /*! @internal
      Used to invoke copy/paste/cut etc. actions at the focused widget's level. */
@@ -347,7 +347,7 @@ protected:
     const QTimer *delayedResizeTimer() const;
 
     //! Update section of vertical header
-    virtual void updateVerticalHeaderSection(int section);
+    virtual void updateVerticalHeaderSection(int section) override;
 
 private:
     class Private;
diff --git a/src/plugins/forms/kexiformview.h b/src/plugins/forms/kexiformview.h
index b94bd46ab..6a8db8981 100644
--- a/src/plugins/forms/kexiformview.h
+++ b/src/plugins/forms/kexiformview.h
@@ -69,7 +69,7 @@ public:
     explicit KexiFormView(QWidget *parent, bool dbAware = true);
     virtual ~KexiFormView();
 
-    virtual QSize preferredSizeHint(const QSize& otherSize);
+    virtual QSize preferredSizeHint(const QSize& otherSize) override;
 
     int resizeMode() const;
 
@@ -122,13 +122,13 @@ protected Q_SLOTS:
     void slotWidgetNameChanged(const QByteArray& oldname, const QByteArray& newname);
 
 protected:
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
-    virtual KPropertySet* propertySet();
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
+    virtual KPropertySet* propertySet() override;
     virtual KDbObject* storeNewData(const KDbObject& object,
                                              KexiView::StoreNewDataOptions options,
-                                             bool *cancel);
-    virtual tristate storeData(bool dontAsk = false);
+                                             bool *cancel) override;
+    virtual tristate storeData(bool dontAsk = false) override;
     KexiFormPartTempData* tempData() const;
     KexiFormPart* formPart() const;
     void setForm(KFormDesigner::Form *f);
@@ -141,14 +141,14 @@ protected:
     //! Used in loadForm()
     void updateValuesForSubproperties();
 
-    virtual void resizeEvent(QResizeEvent *);
+    virtual void resizeEvent(QResizeEvent *) override;
 
     //! Reimplemented for context key event of top-level form widget.
     //! Redirects to Container::eventFilter().
-    virtual void contextMenuEvent(QContextMenuEvent *e);
+    virtual void contextMenuEvent(QContextMenuEvent *e) override;
 
     void initDataSource();
-    virtual void setFocusInternal();
+    virtual void setFocusInternal() override;
 
     /*! Called after loading the form contents (before showing it). */
     void updateTabStopsOrder();
@@ -161,7 +161,7 @@ protected:
 
     /*! Reimplemented after KexiView.
      Updates actions (e.g. availability). */
-    virtual void updateActions(bool activated);
+    virtual void updateActions(bool activated) override;
 
     //! Updates internal actions specific to forms.
     //! @todo merge with other "update" routines?
diff --git a/src/plugins/forms/widgets/KexiDBPushButton.h b/src/plugins/forms/widgets/KexiDBPushButton.h
index 789c2051d..c476fccd2 100644
--- a/src/plugins/forms/widgets/KexiDBPushButton.h
+++ b/src/plugins/forms/widgets/KexiDBPushButton.h
@@ -52,29 +52,29 @@ public:
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     //! always false
-    virtual bool cursorAtStart();
+    virtual bool cursorAtStart() override;
 
     //! always false
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtEnd() override;
 
-    virtual void clear();
+    virtual void clear() override;
 
-    virtual void setInvalidState(const QString& displayText);
+    virtual void setInvalidState(const QString& displayText) override;
 
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 public Q_SLOTS:
     //! action string for "on click" event
     //! @see KexiFormPart::slotAssignAction()
@@ -99,10 +99,10 @@ public Q_SLOTS:
     inline void setDataSourcePluginId(const QString &pluginId) {
         KexiFormDataItemInterface::setDataSourcePluginId(pluginId);
     }
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 protected:
     //! Sets value \a value for a widget.
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     friend class KexiDBPushButtonPrivate;
     KexiDBPushButtonPrivate * const d;
diff --git a/src/plugins/forms/widgets/kexidbautofield.h b/src/plugins/forms/widgets/kexidbautofield.h
index fc378f51c..811afecb2 100644
--- a/src/plugins/forms/widgets/kexidbautofield.h
+++ b/src/plugins/forms/widgets/kexidbautofield.h
@@ -85,19 +85,19 @@ public:
     }
     void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) override;
 
-    virtual void setInvalidState(const QString& text);
-    virtual bool isReadOnly() const;
-    virtual void setReadOnly(bool readOnly);
+    virtual void setInvalidState(const QString& text) override;
+    virtual bool isReadOnly() const override;
+    virtual void setReadOnly(bool readOnly) override;
 
-    virtual QVariant value();
-    virtual bool valueIsNull();
-    virtual bool valueIsEmpty();
-    virtual bool valueIsValid();
-    virtual bool valueChanged();
-    virtual void clear();
+    virtual QVariant value() override;
+    virtual bool valueIsNull() override;
+    virtual bool valueIsEmpty() override;
+    virtual bool valueIsValid() override;
+    virtual bool valueChanged() override;
+    virtual void clear() override;
 
     //! Reimplemented to also install \a listenter for internal editor
-    virtual void installListener(KexiDataItemChangesListener* listener);
+    virtual void installListener(KexiDataItemChangesListener* listener) override;
 
     WidgetType widgetType() const;
     void setWidgetType(WidgetType type);
@@ -115,13 +115,13 @@ public:
      is displayed in a special way. Used by KexiFormDataProvider::fillDataItems().
      \a widget is equal to 'this'.
      Reimplemented after KexiFormDataItemInterface. */
-    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue);
+    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue) override;
 
     QWidget* editor() const;
     QLabel* label() const;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
 
     static WidgetType widgetTypeForFieldType(KDbField::Type type);
 
@@ -141,7 +141,7 @@ public:
     /*! @internal */
     QString fieldCaptionInternal() const;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
     virtual void setFocusPolicy(Qt::FocusPolicy policy);
 
     //! Reimplemented to return internal editor's color.
@@ -175,7 +175,7 @@ public:
     virtual bool setProperty(const char * name, const QVariant & value);
 
     /*! Called by the top-level form on key press event to consume widget-specific shortcuts. */
-    virtual bool keyPressed(QKeyEvent *ke);
+    virtual bool keyPressed(QKeyEvent *ke) override;
 
 public Q_SLOTS:
     virtual void unsetPalette();
@@ -184,16 +184,16 @@ protected Q_SLOTS:
     virtual void paletteChange(const QPalette& oldPal);
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToEnd();
+    virtual void moveCursorToEnd() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToStart();
+    virtual void moveCursorToStart() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void selectAll();
+    virtual void selectAll() override;
 
 protected:
-    virtual void setValueInternal(const QVariant&add, bool removeOld);
+    virtual void setValueInternal(const QVariant&add, bool removeOld) override;
     void init(const QString &text, WidgetType type, LabelPosition pos);
     virtual void createEditor();
     void changeText(const QString &text, bool beautify = true);
@@ -202,7 +202,7 @@ protected:
     //! internal editor can be created too late, so certain properties should be copied
     void copyPropertiesToEditor();
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
     //! Used by @ref setLabelPositionInternal(LabelPosition)
     void setLabelPositionInternal(LabelPosition position, bool noLabel);
diff --git a/src/plugins/forms/widgets/kexidbcheckbox.h b/src/plugins/forms/widgets/kexidbcheckbox.h
index 7166e87c8..d146088fb 100644
--- a/src/plugins/forms/widgets/kexidbcheckbox.h
+++ b/src/plugins/forms/widgets/kexidbcheckbox.h
@@ -46,28 +46,28 @@ public:
     inline QString dataSourcePluginId() const {
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
-    virtual QVariant value();
-    virtual void setInvalidState(const QString& displayText);
+    virtual QVariant value() override;
+    virtual void setInvalidState(const QString& displayText) override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     /*! \return 'readOnly' flag for this widget.  */
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     /*! \return the view widget of this item, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     virtual void setEnabled(bool enabled);
 
@@ -78,9 +78,9 @@ public:
     Tristate isTristate() const;
 
     /*! Reimplemented after KexiFormDataItemInterface. */
-    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue);
+    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue) override;
 
-    virtual void paintEvent(QPaintEvent* e);
+    virtual void paintEvent(QPaintEvent* e) override;
 
 public Q_SLOTS:
     void setDataSource(const QString &ds);
@@ -90,10 +90,10 @@ public Q_SLOTS:
     void slotStateChanged(int state);
 
     //! This implementation just disables read only widget
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 
 protected:
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     //! \return true in isTristate() == TristateDefault and the widget has bound data source
     //! or if isTristate() == TristateOn, else false is returned.
diff --git a/src/plugins/forms/widgets/kexidbcombobox.h b/src/plugins/forms/widgets/kexidbcombobox.h
index effe7424b..5a0a0b7fb 100644
--- a/src/plugins/forms/widgets/kexidbcombobox.h
+++ b/src/plugins/forms/widgets/kexidbcombobox.h
@@ -48,22 +48,22 @@ public:
     KDbField *field() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual QVariant origValue() const;
+    virtual QVariant origValue() const override;
 
     void setEditable(bool set);
 
     bool isEditable() const;
 
-    virtual void setLabelPosition(LabelPosition position);
+    virtual void setLabelPosition(LabelPosition position) override;
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual QVariant visibleValue();
+    virtual QVariant visibleValue() override;
 
     //! Reimplemented because to avoid taking value from the internal editor (index is taken from the popup instead)
-    virtual bool valueChanged();
+    virtual bool valueChanged() override;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     //! Reimplemented after KexiDBAutoField: jsut sets \a cinfo without initializing a subwidget.
     //! Initialization is performed by \ref setVisibleColumnInfo().
@@ -71,25 +71,25 @@ public:
 
     /*! Used internally to set visible database column information.
      Reimplemented: performs initialization of the subwidget. */
-    virtual void setVisibleColumnInfo(KDbQueryColumnInfo* cinfo);
+    virtual void setVisibleColumnInfo(KDbQueryColumnInfo* cinfo) override;
 
     /*! \return visible database column information for this item.
      Reimplemented. */
-    virtual KDbQueryColumnInfo* visibleColumnInfo();
+    virtual KDbQueryColumnInfo* visibleColumnInfo() override;
 
     virtual QColor paletteBackgroundColor() const;
 
     //! Reimplemented to also set 'this' widget's background color, not only subwidget's.
-    virtual void setPaletteBackgroundColor(const QColor & color);
+    virtual void setPaletteBackgroundColor(const QColor & color) override;
 
     /*! Undoes changes made to this item - just resets the widget to original value.
      Reimplemented after KexiFormDataItemInterface to also revert the visible value
      (i.e. text) to the original state. */
-    virtual void undoChanges();
+    virtual void undoChanges() override;
 
 public Q_SLOTS:
-    virtual void slotRecordAccepted(KDbRecordData *data, int record);
-    virtual void slotRecordSelected(KDbRecordData *data);
+    virtual void slotRecordAccepted(KDbRecordData *data, int record) override;
+    virtual void slotRecordSelected(KDbRecordData *data) override;
 
 protected Q_SLOTS:
     virtual void slotInternalEditorValueChanged(const QVariant& v);
@@ -98,73 +98,73 @@ protected Q_SLOTS:
 protected:
     QRect buttonGeometry() const;
 
-    virtual void paintEvent(QPaintEvent *);
+    virtual void paintEvent(QPaintEvent *) override;
 
-    virtual void mousePressEvent(QMouseEvent *e);
+    virtual void mousePressEvent(QMouseEvent *e) override;
 
-    virtual void mouseDoubleClickEvent(QMouseEvent *e);
+    virtual void mouseDoubleClickEvent(QMouseEvent *e) override;
 
-    virtual void changeEvent(QEvent * event);
+    virtual void changeEvent(QEvent * event) override;
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
     //! \return internal editor's geometry
     QRect editorGeometry() const;
 
     //! Creates editor. Reimplemented, because if the combo box is not editable,
     //! editor should not be created.
-    virtual void createEditor();
+    virtual void createEditor() override;
 
     virtual bool subwidgetStretchRequired(KexiDBAutoField* autoField) const;
 
     //! Implemented for KexiComboBoxBase
-    virtual QWidget *internalEditor() const;
+    virtual QWidget *internalEditor() const override;
 
     //! Implemented for KexiComboBoxBase. Does nothing if the widget is not editable.
-    virtual void moveCursorToEndInInternalEditor();
+    virtual void moveCursorToEndInInternalEditor() override;
 
     //! Implemented for KexiComboBoxBase. Does nothing if the widget is not editable.
-    virtual void selectAllInInternalEditor();
+    virtual void selectAllInInternalEditor() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void setValueInInternalEditor(const QVariant& value);
+    virtual void setValueInInternalEditor(const QVariant& value) override;
 
     //! Implemented for KexiComboBoxBase
-    virtual QVariant valueFromInternalEditor();
+    virtual QVariant valueFromInternalEditor() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void editRequested();
+    virtual void editRequested() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void acceptRequested();
+    virtual void acceptRequested() override;
 
     //! Implement this to return a position \a pos mapped from parent (e.g. viewport)
     //! to global coordinates. QPoint(-1, -1) should be returned if this cannot be computed.
-    virtual QPoint mapFromParentToGlobal(const QPoint& pos) const;
+    virtual QPoint mapFromParentToGlobal(const QPoint& pos) const override;
 
     //! Implement this to return a hint for popup width.
-    virtual int popupWidthHint() const;
+    virtual int popupWidthHint() const override;
 
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     //! Implemented to handle visible value instead of index
-    virtual void setVisibleValueInternal(const QVariant& value);
+    virtual void setVisibleValueInternal(const QVariant& value) override;
 
     bool handleMousePressEvent(QMouseEvent *e);
 
     bool handleKeyPressEvent(QKeyEvent *ke);
 
     //! Implemented for KexiDataItemInterface
-    virtual void beforeSignalValueChanged();
+    virtual void beforeSignalValueChanged() override;
 
-    virtual KexiComboBoxPopup *popup() const;
-    virtual void setPopup(KexiComboBoxPopup *popup);
+    virtual KexiComboBoxPopup *popup() const override;
+    virtual void setPopup(KexiComboBoxPopup *popup) override;
 
     /*! Called by top-level form on key press event.
      Used for Key_Escape to if the popup is visible,
      so the key press won't be consumed to perform "cancel editing".
      Also used for grabbing page down/up keys. */
-    virtual bool keyPressed(QKeyEvent *ke);
+    virtual bool keyPressed(QKeyEvent *ke) override;
 
     //! Implemented for KexiComboBoxBase
     KDbConnection *connection() override;
diff --git a/src/plugins/forms/widgets/kexidbcommandlinkbutton.h b/src/plugins/forms/widgets/kexidbcommandlinkbutton.h
index d46da038f..41b903bfd 100644
--- a/src/plugins/forms/widgets/kexidbcommandlinkbutton.h
+++ b/src/plugins/forms/widgets/kexidbcommandlinkbutton.h
@@ -52,23 +52,23 @@ public:
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     //! always false
-    virtual bool cursorAtStart();
+    virtual bool cursorAtStart() override;
 
     //! always false
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtEnd() override;
 
-    virtual void clear();
+    virtual void clear() override;
 
-    virtual void setInvalidState(const QString& displayText);
+    virtual void setInvalidState(const QString& displayText) override;
 
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 public Q_SLOTS:
     //! action string for "on click" event
     //! @see KexiFormPart::slotAssignAction()
@@ -93,11 +93,11 @@ public Q_SLOTS:
     inline void setDataSourcePluginId(const QString &pluginId) {
         KexiFormDataItemInterface::setDataSourcePluginId(pluginId);
     }
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 
 protected:
     //! Sets value \a value for a widget.
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     friend class KexiDBCommanLinkButtonPrivate;
     KexiDBCommandLinkButtonPrivate * const d;
diff --git a/src/plugins/forms/widgets/kexidbdatepicker.h b/src/plugins/forms/widgets/kexidbdatepicker.h
index a0f95779d..973a38f56 100644
--- a/src/plugins/forms/widgets/kexidbdatepicker.h
+++ b/src/plugins/forms/widgets/kexidbdatepicker.h
@@ -48,28 +48,28 @@ public:
     inline QString dataSourcePluginId() const {
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
-    virtual QVariant value();
-    virtual void setInvalidState(const QString& displayText);
+    virtual QVariant value() override;
+    virtual void setInvalidState(const QString& displayText) override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     /*! \return 'readOnly' flag for this widget. */
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     /*! \return the view widget of this item, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     virtual void setEnabled(bool enabled);
 
@@ -81,10 +81,10 @@ public Q_SLOTS:
         KexiFormDataItemInterface::setDataSourcePluginId(pluginId);
     }
     void slotValueChanged();
-    virtual void setReadOnly(bool set);
+    virtual void setReadOnly(bool set) override;
 
 protected:
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
 private:
     bool m_invalidState;
diff --git a/src/plugins/forms/widgets/kexidbform.h b/src/plugins/forms/widgets/kexidbform.h
index f83f98d2a..7e686496b 100644
--- a/src/plugins/forms/widgets/kexidbform.h
+++ b/src/plugins/forms/widgets/kexidbform.h
@@ -60,11 +60,11 @@ public:
     }
 
     //! no effect
-    virtual QVariant value() {
+    virtual QVariant value() override {
         return QVariant();
     }
 
-    virtual void setInvalidState(const QString& displayText);
+    virtual void setInvalidState(const QString& displayText) override;
 
     bool autoTabStops() const;
 
@@ -76,13 +76,13 @@ public:
 
     void updateTabStopsOrder();
 
-    virtual bool valueIsNull();
-    virtual bool valueIsEmpty();
-    virtual bool isReadOnly() const;
-    virtual QWidget* widget();
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool valueIsNull() override;
+    virtual bool valueIsEmpty() override;
+    virtual bool isReadOnly() const override;
+    virtual QWidget* widget() override;
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     bool isPreviewing() const;
 
@@ -96,7 +96,7 @@ public Q_SLOTS:
     }
 
     //! This implementation just disables read only widget
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 
     //! @internal for sizeInternal property
     QSize sizeInternal() const {
@@ -113,18 +113,18 @@ Q_SIGNALS:
     void handleDropEvent(QDropEvent *e);
 
 protected:
-    virtual bool eventFilter(QObject * watched, QEvent * e);
+    virtual bool eventFilter(QObject * watched, QEvent * e) override;
 
-    virtual void paintEvent(QPaintEvent *e);
+    virtual void paintEvent(QPaintEvent *e) override;
 
     //! no effect
-    virtual void setValueInternal(const QVariant&, bool) {}
+    virtual void setValueInternal(const QVariant&, bool) override {}
 
     //! Used to emit handleDragMoveEvent() signal needed to control dragging over the container's surface
-    virtual void dragMoveEvent(QDragMoveEvent *e);
+    virtual void dragMoveEvent(QDragMoveEvent *e) override;
 
     //! Used to emit handleDropEvent() signal needed to control dropping on the container's surface
-    virtual void dropEvent(QDropEvent *e);
+    virtual void dropEvent(QDropEvent *e) override;
 
     //! called from KexiFormScrollView::initDataContents()
     void updateReadOnlyFlags();
diff --git a/src/plugins/forms/widgets/kexidbimagebox.h b/src/plugins/forms/widgets/kexidbimagebox.h
index 0cf9bbaac..e1d868c83 100644
--- a/src/plugins/forms/widgets/kexidbimagebox.h
+++ b/src/plugins/forms/widgets/kexidbimagebox.h
@@ -72,7 +72,7 @@ public:
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
 
-    virtual QVariant value(); // { return m_value.data(); }
+    virtual QVariant value() override; // { return m_value.data(); }
 
     QPixmap pixmap() const;
 
@@ -80,21 +80,21 @@ public:
 
     int storedPixmapId() const;
 
-    virtual void setInvalidState(const QString& displayText);
+    virtual void setInvalidState(const QString& displayText) override;
 
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
     //! always true
-    virtual bool cursorAtStart();
+    virtual bool cursorAtStart() override;
 
     //! always true
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtEnd() override;
 
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     bool hasScaledContents() const;
 
@@ -104,7 +104,7 @@ public:
 
     bool keepAspectRatio() const;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     KexiImageContextMenu *contextMenu() const;
 
@@ -115,7 +115,7 @@ public:
 
     //! Reimplemented to override behaviour of "paletteBackgroundColor"
     //! and "paletteForegroundColor" properties.
-    virtual void setPalette(const QPalette &pal);
+    virtual void setPalette(const QPalette &pal) override;
 
     //! Reimplemented to override behaviour of "paletteBackgroundColor" property.
     virtual void setPaletteBackgroundColor(const QColor & color);
@@ -151,7 +151,7 @@ public Q_SLOTS:
         KexiFormDataItemInterface::setDataSourcePluginId(pluginId);
     }
 
-    virtual void setReadOnly(bool set);
+    virtual void setReadOnly(bool set) override;
 
     //! Sets \a pixmapData data for this widget. If the widget has data source set,
     //! the pixmap will be also placed inside of the buffer and saved later.
@@ -195,21 +195,21 @@ protected Q_SLOTS:
     void handleCutAction();
     void handleCopyAction();
     void handlePasteAction();
-    virtual void clear();
+    virtual void clear() override;
     void handleShowPropertiesAction();
 
 protected:
     //! \return data depending on the current mode (db-aware or static)
     QByteArray data() const;
 
-    virtual void contextMenuEvent(QContextMenuEvent * e);
+    virtual void contextMenuEvent(QContextMenuEvent * e) override;
     void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) override;
-    virtual void paintEvent(QPaintEvent*);
-    virtual void resizeEvent(QResizeEvent* e);
-    virtual bool eventFilter(QObject * watched, QEvent * e);
+    virtual void paintEvent(QPaintEvent*) override;
+    virtual void resizeEvent(QResizeEvent* e) override;
+    virtual bool eventFilter(QObject * watched, QEvent * e) override;
 
     //! Sets value \a value for a widget.
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     //! @internal, added \a loadPixmap option used by paste().
     void setValueInternal(const QVariant& add, bool removeOld, bool loadPixmap);
@@ -226,14 +226,14 @@ protected:
     /*! Called by top-level form on key press event.
      Used for Key_Escape to if the popup is visible,
      so the key press won't be consumed to perform "cancel editing". */
-    virtual bool keyPressed(QKeyEvent *ke);
+    virtual bool keyPressed(QKeyEvent *ke) override;
 
     //! \return real line width, i.e. for Boxed sunken or Boxed raised
     //! frames returns doubled width value.
     int realLineWidth() const;
 
     //! Implemented for KexiSubwidgetInterface
-    virtual bool subwidgetStretchRequired(KexiDBAutoField* autoField) const;
+    virtual bool subwidgetStretchRequired(KexiDBAutoField* autoField) const override;
 
     QPixmap m_pixmap;
     QByteArray m_value; //!< for db-aware mode
diff --git a/src/plugins/forms/widgets/kexidblabel.h b/src/plugins/forms/widgets/kexidblabel.h
index b30ee5030..43dc6afaa 100644
--- a/src/plugins/forms/widgets/kexidblabel.h
+++ b/src/plugins/forms/widgets/kexidblabel.h
@@ -60,26 +60,26 @@ public:
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual void setInvalidState(const QString& displayText);
+    virtual void setInvalidState(const QString& displayText) override;
 
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     //! always true
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
     //! always false
-    virtual bool cursorAtStart();
+    virtual bool cursorAtStart() override;
 
     //! always false
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtEnd() override;
 
-    virtual void clear();
+    virtual void clear() override;
 
     //! used to catch setIndent(), etc.
     virtual bool setProperty(const char * name, const QVariant & value);
@@ -106,16 +106,16 @@ public Q_SLOTS:
 
 protected Q_SLOTS:
     //! empty
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 
 protected:
     void init();
     void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) override;
-    virtual void paintEvent(QPaintEvent*);
-    virtual void resizeEvent(QResizeEvent* e);
+    virtual void paintEvent(QPaintEvent*) override;
+    virtual void resizeEvent(QResizeEvent* e) override;
 
     //! Sets value \a value for a widget.
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     //! Reimplemented to paint using real frame color instead of froeground.
     //! Also allows to paint more types of frame.
diff --git a/src/plugins/forms/widgets/kexidblineedit.cpp b/src/plugins/forms/widgets/kexidblineedit.cpp
index 7a67e0ee1..82a498370 100644
--- a/src/plugins/forms/widgets/kexidblineedit.cpp
+++ b/src/plugins/forms/widgets/kexidblineedit.cpp
@@ -44,7 +44,7 @@ public:
             : QValidator(parent) {
     }
     ~KexiDBLineEdit_ReadOnlyValidator() {}
-    virtual State validate(QString &input, int &pos) const {
+    virtual State validate(QString &input, int &pos) const override {
         input = qobject_cast<KexiDBLineEdit*>(parent())->originalText();
         pos = qobject_cast<KexiDBLineEdit*>(parent())->originalCursorPosition();
         return Intermediate;
@@ -69,7 +69,7 @@ public:
         this->indent = indent;
     }
 
-    QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = 0) const
+    QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = 0) const override
     {
         const KFormDesigner::FormWidgetInterface *formWidget = dynamic_cast<const KFormDesigner::FormWidgetInterface*>(widget);
         if (formWidget && formWidget->designMode()) {
diff --git a/src/plugins/forms/widgets/kexidblineedit.h b/src/plugins/forms/widgets/kexidblineedit.h
index b10e7b29a..943641b41 100644
--- a/src/plugins/forms/widgets/kexidblineedit.h
+++ b/src/plugins/forms/widgets/kexidblineedit.h
@@ -69,47 +69,47 @@ public:
     inline QString dataSourcePluginId() const {
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
-    virtual QVariant value();
-    virtual void setInvalidState(const QString& displayText);
+    virtual QVariant value() override;
+    virtual void setInvalidState(const QString& displayText) override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     /*! \return true if the value is valid */
-    virtual bool valueIsValid();
+    virtual bool valueIsValid() override;
 
     /*! \return 'readOnly' flag for this widget. */
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     /*! If \a displayDefaultValue is true, the value set by KexiDataItemInterface::setValue()
      is displayed in a special way. Used by KexiFormDataProvider::fillDataItems().
      \a widget is equal to 'this'.
      Reimplemented after KexiFormDataItemInterface. */
-    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue);
+    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue) override;
 
     /*! \return the view widget of this item, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) override;
 
     /*! Handles action having standard name \a actionName.
      Action could be: "edit_copy", "edit_paste", etc.
      Reimplemented after KexiDataItemInterface. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Called by top-level form on key press event to consume widget-specific shortcuts. */
-    virtual bool keyPressed(QKeyEvent *ke);
+    virtual bool keyPressed(QKeyEvent *ke) override;
 
     //! Used when read only flag is true
     QString originalText() const { return m_originalText; }
@@ -122,22 +122,22 @@ public Q_SLOTS:
 
     void setDataSourcePluginId(const QString &pluginId);
 
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 
     //! Reimplemented, so "undo" means the same as "cancelEditor" action
     virtual void undo();
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToEnd();
+    virtual void moveCursorToEnd() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToStart();
+    virtual void moveCursorToStart() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void selectAll();
+    virtual void selectAll() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual bool fixup();
+    virtual bool fixup() override;
 
 protected Q_SLOTS:
     void slotTextChanged(const QString&);
@@ -150,14 +150,14 @@ protected Q_SLOTS:
     void slotReadWriteValidatorDestroyed(QObject*);
 
 protected:
-    virtual void paintEvent(QPaintEvent *);
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
-    virtual bool event(QEvent *);
-    virtual void contextMenuEvent(QContextMenuEvent *e);
-    virtual void changeEvent(QEvent *e);
+    virtual void paintEvent(QPaintEvent *) override;
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
+    virtual bool event(QEvent *) override;
+    virtual void contextMenuEvent(QContextMenuEvent *e) override;
+    virtual void changeEvent(QEvent *e) override;
 
     //! Implemented for KexiSubwidgetInterface
-    virtual bool appendStretchRequired(KexiDBAutoField* autoField) const;
+    virtual bool appendStretchRequired(KexiDBAutoField* autoField) const override;
 
     void updateTextForDataSource();
 
diff --git a/src/plugins/forms/widgets/kexidbprogressbar.h b/src/plugins/forms/widgets/kexidbprogressbar.h
index af7f11428..de3ba078e 100644
--- a/src/plugins/forms/widgets/kexidbprogressbar.h
+++ b/src/plugins/forms/widgets/kexidbprogressbar.h
@@ -46,28 +46,28 @@ public:
     inline QString dataSourcePluginId() const {
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
-    virtual QVariant value();
-    virtual void setInvalidState(const QString& displayText);
+    virtual QVariant value() override;
+    virtual void setInvalidState(const QString& displayText) override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     /*! \return 'readOnly' flag for this widget. */
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     /*! \return the view widget of this item, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     virtual void  setEnabled(bool enabled);
 
@@ -79,9 +79,9 @@ public Q_SLOTS:
         KexiFormDataItemInterface::setDataSourcePluginId(pluginId);
     }
     void slotValueChanged();
-    virtual void setReadOnly(bool set);
+    virtual void setReadOnly(bool set) override;
 protected:
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
 private:
     bool m_invalidState;
diff --git a/src/plugins/forms/widgets/kexidbslider.h b/src/plugins/forms/widgets/kexidbslider.h
index 4aced5d8b..e5af1b4dd 100644
--- a/src/plugins/forms/widgets/kexidbslider.h
+++ b/src/plugins/forms/widgets/kexidbslider.h
@@ -47,28 +47,28 @@ public:
     inline QString dataSourcePluginId() const {
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
-    virtual QVariant value();
-    virtual void setInvalidState(const QString& displayText);
+    virtual QVariant value() override;
+    virtual void setInvalidState(const QString& displayText) override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     /*! \return 'readOnly' flag for this widget. */
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     /*! \return the view widget of this item, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     virtual void  setEnabled(bool enabled);
 
@@ -80,10 +80,10 @@ public Q_SLOTS:
         KexiFormDataItemInterface::setDataSourcePluginId(pluginId);
     }
     void slotValueChanged();
-    virtual void setReadOnly(bool set);
+    virtual void setReadOnly(bool set) override;
 
 protected:
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
 private:
     bool m_invalidState;
diff --git a/src/plugins/forms/widgets/kexidbtextedit.cpp b/src/plugins/forms/widgets/kexidbtextedit.cpp
index 4c15dd2c4..292a1f4e4 100644
--- a/src/plugins/forms/widgets/kexidbtextedit.cpp
+++ b/src/plugins/forms/widgets/kexidbtextedit.cpp
@@ -42,7 +42,7 @@ public:
     {
     }
 protected:
-    void paintEvent(QPaintEvent *pe)
+    void paintEvent(QPaintEvent *pe) override
     {
         QLabel::paintEvent(pe);
         QPainter p(this);
diff --git a/src/plugins/forms/widgets/kexidbtextedit.h b/src/plugins/forms/widgets/kexidbtextedit.h
index ecdd1c860..fb8643062 100644
--- a/src/plugins/forms/widgets/kexidbtextedit.h
+++ b/src/plugins/forms/widgets/kexidbtextedit.h
@@ -51,28 +51,28 @@ public:
     inline QString dataSourcePluginId() const {
         return KexiFormDataItemInterface::dataSourcePluginId();
     }
-    virtual QVariant value();
-    virtual void setInvalidState(const QString& displayText);
+    virtual QVariant value() override;
+    virtual void setInvalidState(const QString& displayText) override;
 
     //! \return true if editor's value is null (not empty)
     //! Used for checking if a given constraint within table of form is met.
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not necessary null).
     //! Only few data types can accept "EMPTY" property
     //! (use KDbField::hasEmptyProperty() to check this).
     //! Used for checking if a given constraint within table or form is met.
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     /*! \return 'readOnly' flag for this widget. */
-    virtual bool isReadOnly() const;
+    virtual bool isReadOnly() const override;
 
     /*! \return the view widget of this item, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
 
     void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) override;
 
@@ -80,46 +80,46 @@ public:
      is displayed in a special way. Used by KexiFormDataProvider::fillDataItems().
      \a widget is equal to 'this'.
      Reimplemented after KexiFormDataItemInterface. */
-    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue);
+    virtual void setDisplayDefaultValue(QWidget* widget, bool displayDefaultValue) override;
 
     //! Windows uses Ctrl+Tab for moving between tabs, so do not steal this shortcut
-    virtual void keyPressEvent(QKeyEvent *ke);
+    virtual void keyPressEvent(QKeyEvent *ke) override;
 
-    virtual bool event(QEvent *e);
+    virtual bool event(QEvent *e) override;
 
     //! Selects contents of the widget if there is such behaviour set (it is by default).
 //! @todo add option for not selecting the field
-    virtual void selectAllOnFocusIfNeeded();
+    virtual void selectAllOnFocusIfNeeded() override;
 
 public Q_SLOTS:
     void setDataSource(const QString &ds);
 
     void setDataSourcePluginId(const QString &pluginId);
 
-    virtual void setReadOnly(bool readOnly);
+    virtual void setReadOnly(bool readOnly) override;
 
     //! Reimplemented, so "undo" means the same as "cancelEditor" action
 //! @todo enable "real" undo internally so user can use ctrl+z while editing
     virtual void undo();
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToEnd();
+    virtual void moveCursorToEnd() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToStart();
+    virtual void moveCursorToStart() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void selectAll();
+    virtual void selectAll() override;
 
 protected Q_SLOTS:
     void slotTextChanged();
 
 protected:
-    virtual void paintEvent(QPaintEvent *);
-    virtual void contextMenuEvent(QContextMenuEvent *e);
-    virtual void changeEvent(QEvent *e);
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
-    virtual void focusOutEvent(QFocusEvent *e);
+    virtual void paintEvent(QPaintEvent *) override;
+    virtual void contextMenuEvent(QContextMenuEvent *e) override;
+    virtual void changeEvent(QEvent *e) override;
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
+    virtual void focusOutEvent(QFocusEvent *e) override;
     QMenu * createPopupMenu(const QPoint & pos);
     void updateTextForDataSource();
     void createDataSourceLabel();
diff --git a/src/plugins/forms/widgets/kexiframe.h b/src/plugins/forms/widgets/kexiframe.h
index 232ff261d..cfe2fdb12 100644
--- a/src/plugins/forms/widgets/kexiframe.h
+++ b/src/plugins/forms/widgets/kexiframe.h
@@ -63,10 +63,10 @@ public:
 #endif
 
     //! Used to emit handleDragMoveEvent() signal needed to control dragging over the container's surface
-    virtual void dragMoveEvent(QDragMoveEvent *e);
+    virtual void dragMoveEvent(QDragMoveEvent *e) override;
 
     //! Used to emit handleDropEvent() signal needed to control dropping on the container's surface
-    virtual void dropEvent(QDropEvent *e);
+    virtual void dropEvent(QDropEvent *e) override;
 
 public Q_SLOTS:
     virtual void setPalette(const QPalette &pal);
@@ -83,7 +83,7 @@ protected:
     virtual void drawFrame(QPainter *);
 
     //! Adds frame in design mode if there is no frame
-    void paintEvent(QPaintEvent *pe);
+    void paintEvent(QPaintEvent *pe) override;
 
     class Private;
     Private * const d;
diff --git a/src/plugins/forms/widgets/main/KexiMainFormWidgetsFactory.h b/src/plugins/forms/widgets/main/KexiMainFormWidgetsFactory.h
index 9c86bacda..733b345fd 100644
--- a/src/plugins/forms/widgets/main/KexiMainFormWidgetsFactory.h
+++ b/src/plugins/forms/widgets/main/KexiMainFormWidgetsFactory.h
@@ -39,12 +39,12 @@ public:
                           KFormDesigner::Container *container,
                           CreateWidgetOptions options = DefaultOptions) override Q_REQUIRED_RESULT;
 
-    virtual void createCustomActions(KActionCollection* col);
+    virtual void createCustomActions(KActionCollection* col) override;
     virtual bool createMenuActions(const QByteArray &classname, QWidget *w, QMenu *menu,
-                                   KFormDesigner::Container *container);
-    virtual bool startInlineEditing(InlineEditorCreationArguments& args);
-    virtual bool previewWidget(const QByteArray &, QWidget *, KFormDesigner::Container *);
-    virtual bool clearWidgetContent(const QByteArray &classname, QWidget *w);
+                                   KFormDesigner::Container *container) override;
+    virtual bool startInlineEditing(InlineEditorCreationArguments& args) override;
+    virtual bool previewWidget(const QByteArray &, QWidget *, KFormDesigner::Container *) override;
+    virtual bool clearWidgetContent(const QByteArray &classname, QWidget *w) override;
 
     //! Moved into public for EditRichTextAction
     bool editRichText(QWidget *w, QString &text) const
@@ -71,18 +71,18 @@ protected Q_SLOTS:
     void reorderTabs(int oldpos, int newpos);
 
 protected:
-    KFormDesigner::ObjectTreeItem* selectableItem(KFormDesigner::ObjectTreeItem* item);
+    KFormDesigner::ObjectTreeItem* selectableItem(KFormDesigner::ObjectTreeItem* item) override;
     virtual bool changeInlineText(KFormDesigner::Form *form, QWidget *widget,
-        const QString &text, QString &oldText);
-    virtual void resizeEditor(QWidget *editor, QWidget *widget, const QByteArray &classname);
+        const QString &text, QString &oldText) override;
+    virtual void resizeEditor(QWidget *editor, QWidget *widget, const QByteArray &classname) override;
 
     virtual bool isPropertyVisibleInternal(const QByteArray& classname, QWidget *w,
-                                           const QByteArray& property, bool isTopLevel);
+                                           const QByteArray& property, bool isTopLevel) override;
 
     //! Sometimes property sets should be reloaded when a given property value changed.
     //! @todo this does not seem to work in Kexi 2.x
     virtual bool propertySetShouldBeReloadedAfterPropertyChange(const QByteArray& classname, QWidget *w,
-            const QByteArray& property);
+            const QByteArray& property) override;
 
     QAction * m_assignAction;
 };
diff --git a/src/plugins/forms/widgets/main/KexiStandardContainerFormWidgets.h b/src/plugins/forms/widgets/main/KexiStandardContainerFormWidgets.h
index 41271151e..260aa6ca0 100644
--- a/src/plugins/forms/widgets/main/KexiStandardContainerFormWidgets.h
+++ b/src/plugins/forms/widgets/main/KexiStandardContainerFormWidgets.h
@@ -42,7 +42,7 @@ class HBox : public QFrame, public KFormDesigner::FormWidgetInterface
 public:
     explicit HBox(QWidget *parent);
     virtual ~HBox();
-    virtual void paintEvent(QPaintEvent *ev);
+    virtual void paintEvent(QPaintEvent *ev) override;
 };
 
 //! Helper widget (used when using 'Lay out vertically')
@@ -52,7 +52,7 @@ class VBox : public QFrame, public KFormDesigner::FormWidgetInterface
 public:
     explicit VBox(QWidget *parent);
     virtual ~VBox();
-    virtual void paintEvent(QPaintEvent *ev);
+    virtual void paintEvent(QPaintEvent *ev) override;
 };
 
 //! Helper widget (used when using 'Lay out in a grid')
@@ -62,7 +62,7 @@ class Grid : public QFrame, public KFormDesigner::FormWidgetInterface
 public:
     explicit Grid(QWidget *parent);
     virtual ~Grid();
-    virtual void paintEvent(QPaintEvent *ev);
+    virtual void paintEvent(QPaintEvent *ev) override;
 };
 
 //! Helper widget (used when using 'Lay out with horizontal flow')
@@ -72,7 +72,7 @@ class HFlow : public QFrame, public KFormDesigner::FormWidgetInterface
 public:
     explicit HFlow(QWidget *parent);
     virtual ~HFlow();
-    virtual void paintEvent(QPaintEvent *ev);
+    virtual void paintEvent(QPaintEvent *ev) override;
 };
 
 //! Helper widget (used when using 'Lay out with horizontal flow')
@@ -82,8 +82,8 @@ class VFlow : public QFrame, public KFormDesigner::FormWidgetInterface
 public:
     explicit VFlow(QWidget *parent);
     virtual ~VFlow();
-    virtual void paintEvent(QPaintEvent *ev);
-    virtual QSize sizeHint() const;
+    virtual void paintEvent(QPaintEvent *ev) override;
+    virtual QSize sizeHint() const override;
 };
 
 //! A simple container widget
@@ -96,13 +96,13 @@ public:
     explicit ContainerWidget(QWidget *parent);
     virtual ~ContainerWidget();
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     //! Used to emit handleDragMoveEvent() signal needed to control dragging over the container's surface
-    virtual void dragMoveEvent(QDragMoveEvent *e);
+    virtual void dragMoveEvent(QDragMoveEvent *e) override;
 
     //! Used to emit handleDropEvent() signal needed to control dropping on the container's surface
-    virtual void dropEvent(QDropEvent *e);
+    virtual void dropEvent(QDropEvent *e) override;
 
 Q_SIGNALS:
     //! Needed to control dragging over the container's surface
@@ -217,13 +217,13 @@ public:
     KFDTabWidget(KFormDesigner::Container *container, QWidget *parent);
     virtual ~KFDTabWidget();
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     //! Used to emit handleDragMoveEvent() signal needed to control dragging over the container's surface
-    virtual void dragMoveEvent(QDragMoveEvent *e);
+    virtual void dragMoveEvent(QDragMoveEvent *e) override;
 
     //! Used to emit handleDropEvent() signal needed to control dropping on the container's surface
-    virtual void dropEvent(QDropEvent *e);
+    virtual void dropEvent(QDropEvent *e) override;
 
     KFormDesigner::Container *container() const { return m_container; }
 
@@ -247,12 +247,12 @@ public:
     virtual ~GroupBox();
 
     //! Used to emit handleDragMoveEvent() signal needed to control dragging over the container's surface
-    virtual void dragMoveEvent(QDragMoveEvent *e);
+    virtual void dragMoveEvent(QDragMoveEvent *e) override;
 
     //! Used to emit handleDropEvent() signal needed to control dropping on the container's surface
-    virtual void dropEvent(QDropEvent *e);
+    virtual void dropEvent(QDropEvent *e) override;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
 Q_SIGNALS:
     //! Needed to control dragging over the container's surface
diff --git a/src/plugins/forms/widgets/webbrowser/WebBrowserFactory.h b/src/plugins/forms/widgets/webbrowser/WebBrowserFactory.h
index 576bb9ef2..bd696a083 100644
--- a/src/plugins/forms/widgets/webbrowser/WebBrowserFactory.h
+++ b/src/plugins/forms/widgets/webbrowser/WebBrowserFactory.h
@@ -34,10 +34,10 @@ public:
                           KFormDesigner::Container *container,
                           CreateWidgetOptions options = DefaultOptions) override Q_REQUIRED_RESULT;
     virtual bool createMenuActions(const QByteArray &classname, QWidget *w, QMenu *menu,
-                                   KFormDesigner::Container *container);
-    virtual bool startInlineEditing(InlineEditorCreationArguments& args);
+                                   KFormDesigner::Container *container) override;
+    virtual bool startInlineEditing(InlineEditorCreationArguments& args) override;
     virtual bool previewWidget(const QByteArray &classname, QWidget *widget,
-                               KFormDesigner::Container *container);
+                               KFormDesigner::Container *container) override;
 };
 
 #endif // WEBBROWSERFACTORY_H
diff --git a/src/plugins/forms/widgets/webbrowser/WebBrowserWidget.h b/src/plugins/forms/widgets/webbrowser/WebBrowserWidget.h
index cf860c460..e0136a30a 100644
--- a/src/plugins/forms/widgets/webbrowser/WebBrowserWidget.h
+++ b/src/plugins/forms/widgets/webbrowser/WebBrowserWidget.h
@@ -95,16 +95,16 @@ public:
       return m_view->textSizeMultiplier();
     }
 
-    virtual QVariant value();
-    virtual bool valueIsNull();
-    virtual bool valueIsEmpty();
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
-    virtual void clear();
+    virtual QVariant value() override;
+    virtual bool valueIsNull() override;
+    virtual bool valueIsEmpty() override;
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
+    virtual void clear() override;
     void updateToolBar();
-    bool isReadOnly() const;
-    virtual void setReadOnly(bool readOnly);
-    virtual void setInvalidState(const QString& displayText);
+    bool isReadOnly() const override;
+    virtual void setReadOnly(bool readOnly) override;
+    virtual void setInvalidState(const QString& displayText) override;
 
 public Q_SLOTS:
     void setDataSource(const QString &ds);
@@ -115,7 +115,7 @@ public Q_SLOTS:
     void hide_bar();
 
 protected:
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
     void setUrl(const QUrl& url);
     bool m_readOnly;
 
diff --git a/src/plugins/importexport/csv/KexiCSVImportDialogModel.h b/src/plugins/importexport/csv/KexiCSVImportDialogModel.h
index 1925ccc61..5a856fec6 100644
--- a/src/plugins/importexport/csv/KexiCSVImportDialogModel.h
+++ b/src/plugins/importexport/csv/KexiCSVImportDialogModel.h
@@ -40,11 +40,11 @@ public:
 
     virtual ~KexiCSVImportDialogModel();
 
-    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
 
-    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
+    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
 
-    virtual Qt::ItemFlags flags(const QModelIndex &index) const;
+    virtual Qt::ItemFlags flags(const QModelIndex &index) const override;
 
     void setColumnCount(int col);
 
diff --git a/src/plugins/importexport/csv/KexiCsvImportExportPlugin.h b/src/plugins/importexport/csv/KexiCsvImportExportPlugin.h
index 8dae2fd13..30e0495e9 100644
--- a/src/plugins/importexport/csv/KexiCsvImportExportPlugin.h
+++ b/src/plugins/importexport/csv/KexiCsvImportExportPlugin.h
@@ -36,7 +36,7 @@ public:
                           QMap<QString, QString> *args = nullptr) override Q_REQUIRED_RESULT;
 
     /*! Reimplemented to execute a command \a commandName (nonvisual). The result are put into the \a args. */
-    virtual bool executeCommand(const char* commandName, QMap<QString, QString>* args = 0);
+    virtual bool executeCommand(const char* commandName, QMap<QString, QString>* args = 0) override;
 
 protected:
 };
diff --git a/src/plugins/importexport/csv/kexicsvexportwizard.h b/src/plugins/importexport/csv/kexicsvexportwizard.h
index a1f278c76..1f66516e5 100644
--- a/src/plugins/importexport/csv/kexicsvexportwizard.h
+++ b/src/plugins/importexport/csv/kexicsvexportwizard.h
@@ -53,8 +53,8 @@ public:
     bool canceled() const;
 
 protected Q_SLOTS:
-    virtual void next();
-    virtual void done(int result);
+    virtual void next() override;
+    virtual void done(int result) override;
     void slotShowOptionsButtonClicked();
     void slotDefaultsButtonClicked();
     void slotCurrentPageChanged(KPageWidgetItem*, KPageWidgetItem*);
diff --git a/src/plugins/importexport/csv/kexicsvimportdialog.cpp b/src/plugins/importexport/csv/kexicsvimportdialog.cpp
index 61c0ee324..ebed8ed43 100644
--- a/src/plugins/importexport/csv/kexicsvimportdialog.cpp
+++ b/src/plugins/importexport/csv/kexicsvimportdialog.cpp
@@ -99,7 +99,7 @@ public:
     KexiCSVImportDialogItemDelegate(QObject *parent = 0);
 
     virtual QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option,
-                                  const QModelIndex &index) const;
+                                  const QModelIndex &index) const override;
 };
 
 KexiCSVImportDialogItemDelegate::KexiCSVImportDialogItemDelegate(QObject *parent)
diff --git a/src/plugins/importexport/csv/kexicsvimportdialog.h b/src/plugins/importexport/csv/kexicsvimportdialog.h
index b24be0b79..75d41e882 100644
--- a/src/plugins/importexport/csv/kexicsvimportdialog.h
+++ b/src/plugins/importexport/csv/kexicsvimportdialog.h
@@ -107,10 +107,10 @@ public:
     bool canceled() const;
 
 protected:
-    virtual bool eventFilter(QObject *watched, QEvent *e);
+    virtual bool eventFilter(QObject *watched, QEvent *e) override;
     bool openData();
-    virtual void accept();
-    virtual void reject();
+    virtual void accept() override;
+    virtual void reject() override;
 
 private:
     //! Used in emergency by accept()
@@ -291,7 +291,7 @@ private:
     Private * const d;
 
 public Q_SLOTS:
-    virtual void next();
+    virtual void next() override;
 
 private Q_SLOTS:
     void fillTable();
diff --git a/src/plugins/importexport/csv/kexicsvimportoptionsdlg.h b/src/plugins/importexport/csv/kexicsvimportoptionsdlg.h
index f0eaf2182..d5721cd4f 100644
--- a/src/plugins/importexport/csv/kexicsvimportoptionsdlg.h
+++ b/src/plugins/importexport/csv/kexicsvimportoptionsdlg.h
@@ -62,7 +62,7 @@ public:
     KexiCSVImportOptions options() const;
 
 protected Q_SLOTS:
-    virtual void accept();
+    virtual void accept() override;
 
 protected:
     KexiCharacterEncodingComboBox *m_encodingComboBox;
diff --git a/src/plugins/queries/kexiquerydesignerguieditor.h b/src/plugins/queries/kexiquerydesignerguieditor.h
index eb95dfa84..4cf5d3162 100644
--- a/src/plugins/queries/kexiquerydesignerguieditor.h
+++ b/src/plugins/queries/kexiquerydesignerguieditor.h
@@ -53,21 +53,21 @@ public:
 
     KexiRelationsView *relationsView() const;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
 public Q_SLOTS:
-    virtual void setFocus();
+    virtual void setFocus() override;
 
 protected:
     void initTableColumns(); //!< Called just once.
     void initTableRows(); //!< Called to have all rows empty.
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
 
     virtual KDbObject* storeNewData(const KDbObject& object,
                                              KexiView::StoreNewDataOptions options,
-                                             bool *cancel);
-    virtual tristate storeData(bool dontAsk = false);
+                                             bool *cancel) override;
+    virtual tristate storeData(bool dontAsk = false) override;
 
     /*! Updates data in columns depending on tables that are currently inserted.
      Tabular Data in combo box popups is updated as well. */
@@ -75,7 +75,7 @@ protected:
 
     /*! \return property buffer associated with currently selected row (i.e. field)
      or 0 if current row is empty. */
-    virtual KPropertySet *propertySet();
+    virtual KPropertySet *propertySet() override;
 
     KPropertySet* createPropertySet(int row,
                                        const QString& tableName, const QString& fieldName, bool newOne = false);
diff --git a/src/plugins/queries/kexiquerydesignersql.h b/src/plugins/queries/kexiquerydesignersql.h
index 7cbb57d71..3a3ac79b8 100644
--- a/src/plugins/queries/kexiquerydesignersql.h
+++ b/src/plugins/queries/kexiquerydesignersql.h
@@ -44,19 +44,19 @@ public:
 protected:
     KexiQueryPartTempData * tempData() const;
 
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
     virtual KDbObject* storeNewData(const KDbObject& object,
                                              KexiView::StoreNewDataOptions options,
-                                             bool *cancel);
-    virtual tristate storeData(bool dontAsk = false);
+                                             bool *cancel) override;
+    virtual tristate storeData(bool dontAsk = false) override;
 
     void setStatusOk();
     void setStatusError(const QString& msg);
     void setStatusEmpty();
     void setStatusText(const QString& text);
 
-    virtual void updateActions(bool activated);
+    virtual void updateActions(bool activated) override;
 
 protected Q_SLOTS:
     /*! Performs query checking (by text parsing). \return true and sets d->parsedQuery
diff --git a/src/plugins/queries/kexiquerypart.h b/src/plugins/queries/kexiquerypart.h
index bd827cb3d..9d1b3f2cb 100644
--- a/src/plugins/queries/kexiquerypart.h
+++ b/src/plugins/queries/kexiquerypart.h
@@ -37,7 +37,7 @@ class KexiQueryPartTempData : public KexiWindowData,
 public:
     KexiQueryPartTempData(KexiWindow* parent, KDbConnection *conn);
     virtual ~KexiQueryPartTempData();
-    virtual tristate closeListener();
+    virtual tristate closeListener() override;
     void clearQuery();
     void unregisterForTablesSchemaChanges();
     void registerTableSchemaChanges(KDbQuerySchema *q);
@@ -89,17 +89,17 @@ public:
     KexiQueryPart(QObject *parent, const QVariantList &);
     virtual ~KexiQueryPart();
 
-    virtual tristate remove(KexiPart::Item *item);
+    virtual tristate remove(KexiPart::Item *item) override;
 
     //! Implemented for KexiPart::Part.
-    virtual KDbQuerySchema* currentQuery(KexiView* view);
+    virtual KDbQuerySchema* currentQuery(KexiView* view) override;
 
     virtual KLocalizedString i18nMessage(const QString& englishMessage,
-                                         KexiWindow* window) const;
+                                         KexiWindow* window) const override;
 
     /*! Renames stored data pointed by \a item to \a newName.
      Reimplemented to mark the query obsolete by using KDbConnection::setQuerySchemaObsolete(). */
-    virtual tristate rename(KexiPart::Item *item, const QString& newName);
+    virtual tristate rename(KexiPart::Item *item, const QString& newName) override;
 
     /**
      * Closes objects that listenen to changes of the query schema @a query, i.e. use it.
@@ -140,11 +140,11 @@ protected:
                          Kexi::ViewMode viewMode = Kexi::DataViewMode,
                          QMap<QString, QVariant> *staticObjectArgs = nullptr) override Q_REQUIRED_RESULT;
 
-    virtual void initPartActions();
-    virtual void initInstanceActions();
+    virtual void initPartActions() override;
+    virtual void initInstanceActions() override;
 
     virtual KDbObject* loadSchemaObject(KexiWindow *window,
-            const KDbObject& object, Kexi::ViewMode viewMode, bool *ownedByWindow);
+            const KDbObject& object, Kexi::ViewMode viewMode, bool *ownedByWindow) override;
 };
 
 #endif
diff --git a/src/plugins/queries/kexiqueryview.h b/src/plugins/queries/kexiqueryview.h
index f6e8f2c7e..db7a10819 100644
--- a/src/plugins/queries/kexiqueryview.h
+++ b/src/plugins/queries/kexiqueryview.h
@@ -34,16 +34,16 @@ public:
     virtual ~KexiQueryView();
 
     /*! \return curent parameters for parametrized query */
-    virtual QList<QVariant> currentParameters() const;
+    virtual QList<QVariant> currentParameters() const override;
 
 protected:
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
 
     virtual KDbObject* storeNewData(const KDbObject& object,
                                              KexiView::StoreNewDataOptions options,
-                                             bool *cancel);
+                                             bool *cancel) override;
 
-    virtual tristate storeData(bool dontAsk = false);
+    virtual tristate storeData(bool dontAsk = false) override;
 
     /**
      * Assigns query @a query to this view
diff --git a/src/plugins/reports/KexiDBReportDataSource.h b/src/plugins/reports/KexiDBReportDataSource.h
index c8e8885dc..8ffc26e50 100644
--- a/src/plugins/reports/KexiDBReportDataSource.h
+++ b/src/plugins/reports/KexiDBReportDataSource.h
@@ -42,29 +42,29 @@ public:
                            KexiReportPartTempData *data);
     virtual ~KexiDBReportDataSource();
 
-    virtual QStringList fieldNames() const;
-    virtual void setSorting(const QList<SortedField>& sorting);
+    virtual QStringList fieldNames() const override;
+    virtual void setSorting(const QList<SortedField>& sorting) override;
 
     //! Adds a condition <field> <relation> <value> to the data source.
     //! @note Only single-character relation operators such as "=" or ">" are supported now.
     //! @todo Use KDb parser to support all relation operators such as ">=".
     virtual void addCondition(const QString &field, const QVariant &value,
-                              const QString &relation = QLatin1String("="));
+                              const QString &relation = QLatin1String("=")) override;
 
-    virtual QString sourceName() const;
-    virtual int fieldNumber(const QString &field) const;
-    virtual QVariant value(int) const;
-    virtual QVariant value(const QString &field) const;
+    virtual QString sourceName() const override;
+    virtual int fieldNumber(const QString &field) const override;
+    virtual QVariant value(int) const override;
+    virtual QVariant value(const QString &field) const override;
 
-    virtual bool open();
-    virtual bool close();
-    virtual bool moveNext();
-    virtual bool movePrevious();
-    virtual bool moveFirst();
-    virtual bool moveLast();
+    virtual bool open() override;
+    virtual bool close() override;
+    virtual bool moveNext() override;
+    virtual bool movePrevious() override;
+    virtual bool moveFirst() override;
+    virtual bool moveLast() override;
 
-    virtual qint64 at() const;
-    virtual qint64 recordCount() const;
+    virtual qint64 at() const override;
+    virtual qint64 recordCount() const override;
 
     /**
      * Runs aggregate function @a function on the data source
@@ -82,8 +82,8 @@ public:
                                 const QMap<QString, QVariant> &conditions);
 
     //Utility Functions
-    virtual QStringList dataSourceNames() const;
-    virtual KReportDataSource* create(const QString& source) const Q_REQUIRED_RESULT;
+    virtual QStringList dataSourceNames() const override;
+    virtual KReportDataSource* create(const QString& source) const override Q_REQUIRED_RESULT;
 
 private:
     class Private;
diff --git a/src/plugins/reports/kexireportdesignview.h b/src/plugins/reports/kexireportdesignview.h
index 795b030cd..305643baf 100644
--- a/src/plugins/reports/kexireportdesignview.h
+++ b/src/plugins/reports/kexireportdesignview.h
@@ -40,8 +40,8 @@ public:
     KexiReportDesignView(QWidget *parent, KexiSourceSelector*);
 
     ~KexiReportDesignView();
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
 
     void triggerAction(const QString &);
 
@@ -68,11 +68,11 @@ private:
     KexiSourceSelector *m_sourceSelector;
 
 protected:
-    virtual KPropertySet *propertySet();
-    virtual tristate storeData(bool dontAsk = false);
+    virtual KPropertySet *propertySet() override;
+    virtual tristate storeData(bool dontAsk = false) override;
     virtual KDbObject* storeNewData(const KDbObject& object,
                                              KexiView::StoreNewDataOptions options,
-                                             bool *cancel);
+                                             bool *cancel) override;
 
 private Q_SLOTS:
     void slotDesignerPropertySetChanged();
diff --git a/src/plugins/reports/kexireportpart.h b/src/plugins/reports/kexireportpart.h
index 1cac0ae4a..1f25bda1b 100644
--- a/src/plugins/reports/kexireportpart.h
+++ b/src/plugins/reports/kexireportpart.h
@@ -73,10 +73,10 @@ public:
      */
     virtual ~KexiReportPart();
 
-    virtual void setupCustomPropertyPanelTabs(QTabWidget *tab);
+    virtual void setupCustomPropertyPanelTabs(QTabWidget *tab) override;
 
     virtual KLocalizedString i18nMessage(const QString& englishMessage,
-                                         KexiWindow* window) const;
+                                         KexiWindow* window) const override;
 
     QStringList scriptList() const override;
     QString scriptCode(const QString& script) const override;
@@ -88,10 +88,10 @@ protected:
 
     KexiWindowData* createWindowData(KexiWindow* window) override Q_REQUIRED_RESULT;
 
-    virtual void initPartActions();
+    virtual void initPartActions() override;
 
     virtual KDbObject* loadSchemaObject(KexiWindow *window,
-            const KDbObject& object, Kexi::ViewMode viewMode, bool *ownedByWindow);
+            const KDbObject& object, Kexi::ViewMode viewMode, bool *ownedByWindow) override;
 
 private Q_SLOTS:
     void slotToolboxActionTriggered(bool checked);
diff --git a/src/plugins/reports/kexireportview.h b/src/plugins/reports/kexireportview.h
index ee4e1b168..7da575562 100644
--- a/src/plugins/reports/kexireportview.h
+++ b/src/plugins/reports/kexireportview.h
@@ -47,17 +47,17 @@ public:
 
     ~KexiReportView();
 
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
 
-    virtual void addNewRecordRequested();
-    virtual void moveToFirstRecordRequested();
-    virtual void moveToLastRecordRequested();
-    virtual void moveToNextRecordRequested();
-    virtual void moveToPreviousRecordRequested();
-    virtual void moveToRecordRequested(int r);
-    virtual int currentRecord() const;
-    virtual int recordCount() const;
+    virtual void addNewRecordRequested() override;
+    virtual void moveToFirstRecordRequested() override;
+    virtual void moveToLastRecordRequested() override;
+    virtual void moveToNextRecordRequested() override;
+    virtual void moveToPreviousRecordRequested() override;
+    virtual void moveToRecordRequested(int r) override;
+    virtual int currentRecord() const override;
+    virtual int recordCount() const override;
 
 private:
     KReportPreRenderer *m_preRenderer;
diff --git a/src/plugins/reports/krscriptfunctions.h b/src/plugins/reports/krscriptfunctions.h
index f3af19b85..b7461d839 100644
--- a/src/plugins/reports/krscriptfunctions.h
+++ b/src/plugins/reports/krscriptfunctions.h
@@ -50,7 +50,7 @@ private:
     QMap<QString, QVariant> m_groupData;
 
 public Q_SLOTS:
-    virtual void setGroupData(const QMap<QString, QVariant> &groupData);
+    virtual void setGroupData(const QMap<QString, QVariant> &groupData) override;
 
     qreal sum(const QString &);
     qreal avg(const QString &);
diff --git a/src/plugins/tables/kexitabledesigner_dataview.h b/src/plugins/tables/kexitabledesigner_dataview.h
index 4c8e29136..4783d312f 100644
--- a/src/plugins/tables/kexitabledesigner_dataview.h
+++ b/src/plugins/tables/kexitabledesigner_dataview.h
@@ -34,8 +34,8 @@ public:
     KexiTablePartTempData* tempData() const;
 
 protected:
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
 
 };
 
diff --git a/src/plugins/tables/kexitabledesignercommands.h b/src/plugins/tables/kexitabledesignercommands.h
index b14e91c8a..3f408c825 100644
--- a/src/plugins/tables/kexitabledesignercommands.h
+++ b/src/plugins/tables/kexitabledesignercommands.h
@@ -54,8 +54,8 @@ public:
         return text().toString();
     }
 
-    virtual void redo();
-    virtual void undo();
+    virtual void redo() override;
+    virtual void undo() override;
 
     //! Used to block execution of redo() once, on adding the command to the stack.
     void blockRedoOnce();
@@ -87,10 +87,10 @@ public:
 
     virtual ~ChangeFieldPropertyCommand();
 
-    virtual void redoInternal();
-    virtual void undoInternal();
-    virtual KDbAlterTableHandler::ActionBase* createAction() const;
-    virtual QString debugString() const;
+    virtual void redoInternal() override;
+    virtual void undoInternal() override;
+    virtual KDbAlterTableHandler::ActionBase* createAction() const override;
+    virtual QString debugString() const override;
 
 protected:
     KDbAlterTableHandler::ChangeFieldPropertyAction m_alterTableAction;
@@ -109,11 +109,11 @@ public:
 
     virtual ~RemoveFieldCommand();
 
-    virtual void redoInternal();
-    virtual void undoInternal();
-    virtual KDbAlterTableHandler::ActionBase* createAction() const;
+    virtual void redoInternal() override;
+    virtual void undoInternal() override;
+    virtual KDbAlterTableHandler::ActionBase* createAction() const override;
 
-    virtual QString debugString() const;
+    virtual QString debugString() const override;
 
 protected:
     KDbAlterTableHandler::RemoveFieldAction m_alterTableAction;
@@ -129,11 +129,11 @@ public:
                        int fieldIndex/*, const KDbField& field*/, const KPropertySet& set);
     virtual ~InsertFieldCommand();
 
-    virtual void redoInternal();
-    virtual void undoInternal();
-    virtual KDbAlterTableHandler::ActionBase* createAction() const;
+    virtual void redoInternal() override;
+    virtual void undoInternal() override;
+    virtual KDbAlterTableHandler::ActionBase* createAction() const override;
 
-    virtual QString debugString() const;
+    virtual QString debugString() const override;
 
 protected:
     KDbAlterTableHandler::InsertFieldAction *m_alterTableAction;
@@ -159,8 +159,8 @@ public:
 
     virtual ~ChangePropertyVisibilityCommand();
 
-    virtual void redoInternal();
-    virtual void undoInternal();
+    virtual void redoInternal() override;
+    virtual void undoInternal() override;
 
 protected:
     KDbAlterTableHandler::ChangeFieldPropertyAction m_alterTableAction;
@@ -176,8 +176,8 @@ public:
     InsertEmptyRecordCommand(Command* parent, KexiTableDesignerView* view, int row);
     virtual ~InsertEmptyRecordCommand();
 
-    virtual void redoInternal();
-    virtual void undoInternal();
+    virtual void redoInternal() override;
+    virtual void undoInternal() override;
 
 protected:
     KDbAlterTableHandler::ChangeFieldPropertyAction m_alterTableAction;
diff --git a/src/plugins/tables/kexitabledesignerview.h b/src/plugins/tables/kexitabledesignerview.h
index 68f522574..14f0b4798 100644
--- a/src/plugins/tables/kexitabledesignerview.h
+++ b/src/plugins/tables/kexitabledesignerview.h
@@ -69,33 +69,33 @@ public:
     /*! Clears field information entered for record.
      This is performed by removing values from caption and data type columns.
      Used by InsertFieldCommand to undo inserting a new field. */
-    virtual void clearRecord(int record, bool addCommand = false);
+    virtual void clearRecord(int record, bool addCommand = false) override;
 
     /*! Inserts a new field with \a caption for \a record.
      Property set is also created.  */
-    virtual void insertField(int record, const QString& caption, bool addCommand = false);
+    virtual void insertField(int record, const QString& caption, bool addCommand = false) override;
 
     /*! Inserts a new \a field for \a record.
      Property set is also created. \a set will be deeply-copied into the new set.
      Used by InsertFieldCommand to insert a new field. */
-    virtual void insertField(int record, KPropertySet& set, bool addCommand = false);
+    virtual void insertField(int record, KPropertySet& set, bool addCommand = false) override;
 
     /*! Inserts a new empty record at position \a record.
      Used by RemoveFieldCommand as a part of undo inserting a new field;
      also used by InsertEmptyRecordCommand. */
-    virtual void insertEmptyRecord(int record, bool addCommand = false);
+    virtual void insertEmptyRecord(int record, bool addCommand = false) override;
 
     /*! Deletes \a record from the table view. Property set is also deleted.
      All the subsequent fields are moved up. Used for undoing InsertEmptyRecordCommand
      and by RemoveFieldCommand to remove a field. */
-    virtual void deleteRecord(int record, bool addCommand = false);
+    virtual void deleteRecord(int record, bool addCommand = false) override;
 
     /*! Changes property \a propertyName to \a newValue for a field at record \a record.
      If \a listData is not NULL and not empty, a deep copy of it is passed to Property::setListData().
      If \a listData \a nlist if not NULL but empty, Property::setListData(0) is called. */
     virtual void changeFieldPropertyForRecord(int record,
                                            const QByteArray& propertyName, const QVariant& newValue,
-                                           const KPropertyListData* listData, bool addCommand);
+                                           const KPropertyListData* listData, bool addCommand) override;
 
     /*! Changes property \a propertyName to \a newValue.
      Works exactly like changeFieldPropertyForRecord(); except the field is pointed by \a fieldUID.
@@ -112,17 +112,17 @@ public:
     KDbField * buildField(const KPropertySet &set) const;
 
     /*! Creates temporary table for the current design and returns debug string for it. */
-    virtual QString debugStringForCurrentTableSchema(tristate& result);
+    virtual QString debugStringForCurrentTableSchema(tristate& result) override;
 
     /*! Simulates execution of alter table, and puts debug into \a debugTarget.
      A case when debugTarget is not 0 is true for the alter table test suite. */
-    virtual tristate simulateAlterTableExecution(QString *debugTarget);
+    virtual tristate simulateAlterTableExecution(QString *debugTarget) override;
 
 public Q_SLOTS:
     /*! Real execution of the Alter Table. For debugging of the real alter table.
      \return true on success, false on failure and cancelled if user has cancelled
      execution. */
-    virtual tristate executeRealAlterTable();
+    virtual tristate executeRealAlterTable() override;
 
 protected Q_SLOTS:
     /*! Equivalent to updateActions(false). Called on record insert/delete
@@ -164,7 +164,7 @@ protected Q_SLOTS:
     void slotSimulateAlterTableExecution();
 
 protected:
-    virtual void updateActions(bool activated);
+    virtual void updateActions(bool activated) override;
 
     //! called whenever data should be reloaded (on switching to this view mode)
     void initData();
@@ -175,30 +175,30 @@ protected:
      \return newly created property set. */
     KPropertySet* createPropertySet(int record, const KDbField& field, bool newOne = false);
 
-    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore);
+    virtual tristate beforeSwitchTo(Kexi::ViewMode mode, bool *dontStore) override;
 
-    virtual tristate afterSwitchFrom(Kexi::ViewMode mode);
+    virtual tristate afterSwitchFrom(Kexi::ViewMode mode) override;
 
     /*! \return property set associated with currently selected record (i.e. field)
      or 0 if current record is empty. */
-    virtual KPropertySet *propertySet();
+    virtual KPropertySet *propertySet() override;
 
     /*! Reimplemented from KexiView, because tables creation is more complex.
      No table schema altering is required, so just buildSchema() is used to create a new schema.
     */
     virtual KDbObject* storeNewData(const KDbObject& object,
                                     KexiView::StoreNewDataOptions options,
-                                    bool *cancel);
+                                    bool *cancel) override;
 
     /*! Reimplemented from KexiView, because cloning of table objects is more complex. */
     virtual KDbObject* copyData(const KDbObject& object,
                                 KexiView::StoreNewDataOptions options,
-                                bool *cancel);
+                                bool *cancel) override;
 
     /*! Reimplemented from KexiView, because table storage is more complex.
      Table schema altering may be required, so just buildSchema() is used to create a new schema.
     */
-    virtual tristate storeData(bool dontAsk = false);
+    virtual tristate storeData(bool dontAsk = false) override;
 
     /*! Builds table schema by looking at the current design. Used in storeNewData()
      and storeData().
@@ -237,7 +237,7 @@ protected:
     void insertFieldInternal(int record, KPropertySet* set, const QString& caption, bool addCommand);
 
     //! Reimplemented to pass the information also to the "Lookup" tab
-    virtual void propertySetSwitched();
+    virtual void propertySetSwitched() override;
 
     /*! \return true if physical altering is needed for the current list of actions.
      Used in KexiTableDesignerView::beforeSwitchTo() to avoid warning about removinf
diff --git a/src/plugins/tables/kexitablepart.h b/src/plugins/tables/kexitablepart.h
index 267db835d..6096b45b7 100644
--- a/src/plugins/tables/kexitablepart.h
+++ b/src/plugins/tables/kexitablepart.h
@@ -87,9 +87,9 @@ public:
     KexiTablePart(QObject *parent, const QVariantList &);
     virtual ~KexiTablePart();
 
-    virtual tristate remove(KexiPart::Item *item);
+    virtual tristate remove(KexiPart::Item *item) override;
 
-    virtual tristate rename(KexiPart::Item *item, const QString& newName);
+    virtual tristate rename(KexiPart::Item *item, const QString& newName) override;
 
     /**
      * Closes objects that listenen to changes of the table schema @a table, i.e. use it.
@@ -120,7 +120,7 @@ public:
                                                          const KLocalizedString &msg);
 
     virtual KLocalizedString i18nMessage(const QString& englishMessage,
-                                         KexiWindow* window) const;
+                                         KexiWindow* window) const override;
 
     KexiLookupColumnPage* lookupColumnPage() const;
 
@@ -131,13 +131,13 @@ protected:
                          Kexi::ViewMode viewMode = Kexi::DataViewMode,
                          QMap<QString, QVariant> *staticObjectArgs = nullptr) override Q_REQUIRED_RESULT;
 
-    virtual void initPartActions();
-    virtual void initInstanceActions();
+    virtual void initPartActions() override;
+    virtual void initInstanceActions() override;
 
-    virtual void setupCustomPropertyPanelTabs(QTabWidget *tab);
+    virtual void setupCustomPropertyPanelTabs(QTabWidget *tab) override;
 
     virtual KDbObject* loadSchemaObject(KexiWindow *window, const KDbObject& object,
-            Kexi::ViewMode viewMode, bool *ownedByWindow);
+            Kexi::ViewMode viewMode, bool *ownedByWindow) override;
 
 private:
     class Private;
diff --git a/src/widget/KexiConnectionSelectorWidget.h b/src/widget/KexiConnectionSelectorWidget.h
index 0647894e8..a578747ae 100644
--- a/src/widget/KexiConnectionSelectorWidget.h
+++ b/src/widget/KexiConnectionSelectorWidget.h
@@ -163,7 +163,7 @@ protected Q_SLOTS:
     void slotConnectionSelected();
 
 protected:
-    virtual bool eventFilter(QObject* watched, QEvent* event);
+    virtual bool eventFilter(QObject* watched, QEvent* event) override;
 
 private:
     ConnectionDataLVItem* addConnectionData(KDbConnectionData* data);
diff --git a/src/widget/KexiDataSourceComboBox.h b/src/widget/KexiDataSourceComboBox.h
index 90de02c70..b4d8af3e4 100644
--- a/src/widget/KexiDataSourceComboBox.h
+++ b/src/widget/KexiDataSourceComboBox.h
@@ -82,7 +82,7 @@ protected Q_SLOTS:
     void slotTextChanged(const QString &text);
 
 protected:
-    virtual void focusOutEvent(QFocusEvent *e);
+    virtual void focusOutEvent(QFocusEvent *e) override;
 
     class Private;
     Private * const d;
diff --git a/src/widget/KexiFileWidget.h b/src/widget/KexiFileWidget.h
index 5eb1bb6af..84f41ea2a 100644
--- a/src/widget/KexiFileWidget.h
+++ b/src/widget/KexiFileWidget.h
@@ -95,9 +95,9 @@ protected Q_SLOTS:
     void slotFileSelected(const QUrl& url);
 
 protected:
-    virtual void showEvent(QShowEvent *event);
+    virtual void showEvent(QShowEvent *event) override;
 
-    virtual void focusInEvent(QFocusEvent *event);
+    virtual void focusInEvent(QFocusEvent *event) override;
 
     /**
      * Updates filters in the widget based on current filter selection.
diff --git a/src/widget/KexiNameDialog.h b/src/widget/KexiNameDialog.h
index 59713be25..0eec6e5be 100644
--- a/src/widget/KexiNameDialog.h
+++ b/src/widget/KexiNameDialog.h
@@ -86,12 +86,12 @@ public:
 
 protected Q_SLOTS:
     void slotTextChanged();
-    virtual void accept();
+    virtual void accept() override;
     void updateSize();
 
 protected:
     void init();
-    virtual void showEvent(QShowEvent * event);
+    virtual void showEvent(QShowEvent * event) override;
     //! Checks if specified name already exists.
     bool canOverwrite();
 
diff --git a/src/widget/KexiProjectSelectorWidget.h b/src/widget/KexiProjectSelectorWidget.h
index ea9065ca1..657b1a7bf 100644
--- a/src/widget/KexiProjectSelectorWidget.h
+++ b/src/widget/KexiProjectSelectorWidget.h
@@ -81,7 +81,7 @@ protected Q_SLOTS:
     void slotItemSelected();
 
 protected:
-    virtual bool eventFilter(QObject* watched, QEvent* event);
+    virtual bool eventFilter(QObject* watched, QEvent* event) override;
 
     class Private;
     Private * const d;
@@ -111,7 +111,7 @@ public:
     /*! \return currently assigned project set or NULL if no project set is assigned. */
     KexiProjectSet *projectSet() const;
 
-    virtual void showEvent(QShowEvent * event);
+    virtual void showEvent(QShowEvent * event) override;
 
 protected Q_SLOTS:
     void slotProjectExecuted(KexiProjectData*);
diff --git a/src/widget/dataviewcommon/kexidataawareobjectiface.h b/src/widget/dataviewcommon/kexidataawareobjectiface.h
index e7a681965..9a058d311 100644
--- a/src/widget/dataviewcommon/kexidataawareobjectiface.h
+++ b/src/widget/dataviewcommon/kexidataawareobjectiface.h
@@ -1013,27 +1013,27 @@ inline KDbRecordData *KexiDataAwareObjectInterface::recordAt(int pos) const
 //! Convenience macro used for KexiDataAwareObjectInterface implementations.
 #define KEXI_DATAAWAREOBJECTINTERFACE \
     public: \
-    void connectCellSelectedSignal(const QObject* receiver, const char* intIntMember) { \
+    void connectCellSelectedSignal(const QObject* receiver, const char* intIntMember) override { \
         connect(this, SIGNAL(cellSelected(int,int)), receiver, intIntMember); \
     } \
-    void connectRecordEditingStartedSignal(const QObject* receiver, const char* intMember) { \
+    void connectRecordEditingStartedSignal(const QObject* receiver, const char* intMember) override { \
         connect(this, SIGNAL(recordEditingStarted(int)), receiver, intMember); \
     } \
-    void connectRecordEditingTerminatedSignal(const QObject* receiver, const char* voidMember) { \
+    void connectRecordEditingTerminatedSignal(const QObject* receiver, const char* voidMember) override { \
         connect(this, SIGNAL(recordEditingTerminated(int)), receiver, voidMember); \
     } \
     void connectUpdateSaveCancelActionsSignal(const QObject* receiver, \
-                                              const char* voidMember) { \
+                                              const char* voidMember) override { \
         connect(this, SIGNAL(updateSaveCancelActions()), receiver, voidMember); \
     } \
-    void connectReloadActionsSignal(const QObject* receiver, const char* voidMember) { \
+    void connectReloadActionsSignal(const QObject* receiver, const char* voidMember) override { \
         connect(this, SIGNAL(reloadActions()), receiver, voidMember); \
     } \
     void connectDataSetSignal(const QObject* receiver, \
-                              const char* kexiTableViewDataMember) { \
+                              const char* kexiTableViewDataMember) override { \
         connect(this, SIGNAL(dataSet(KDbTableViewData*)), receiver, kexiTableViewDataMember); \
     } \
-    void connectToReloadDataSlot(const QObject* sender, const char* voidSignal) { \
+    void connectToReloadDataSlot(const QObject* sender, const char* voidSignal) override { \
         connect(sender, voidSignal, this, SLOT(reloadData())); \
     }
 
diff --git a/src/widget/dataviewcommon/kexidataawareview.h b/src/widget/dataviewcommon/kexidataawareview.h
index 481bc1077..8efd650c4 100644
--- a/src/widget/dataviewcommon/kexidataawareview.h
+++ b/src/widget/dataviewcommon/kexidataawareview.h
@@ -51,27 +51,27 @@ public:
 
     QWidget* mainWidget() const;
 
-    virtual QSize minimumSizeHint() const;
+    virtual QSize minimumSizeHint() const override;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     KexiDataAwareObjectInterface* dataAwareObject() const;
 
     /*! Sets up data for find/replace dialog, based on view's data model.
      Implemented for KexiSearchAndReplaceViewInterface. */
     virtual bool setupFindAndReplace(QStringList& columnNames, QStringList& columnCaptions,
-                                     QString& currentColumnName);
+                                     QString& currentColumnName) override;
 
     /*! Finds \a valueToFind within the view.
      Implemented for KexiSearchAndReplaceViewInterface. */
     virtual tristate find(const QVariant& valueToFind,
-                          const KexiSearchAndReplaceViewInterface::Options& options, bool next);
+                          const KexiSearchAndReplaceViewInterface::Options& options, bool next) override;
 
     /*! Finds \a valueToFind within the view and replaces with \a replacement.
      Implemented for KexiSearchAndReplaceViewInterface. */
     virtual tristate findNextAndReplace(const QVariant& valueToFind,
                                         const QVariant& replacement,
-                                        const KexiSearchAndReplaceViewInterface::Options& options, bool replaceAll);
+                                        const KexiSearchAndReplaceViewInterface::Options& options, bool replaceAll) override;
 
 public Q_SLOTS:
     void deleteAllRecords();
@@ -93,17 +93,17 @@ public Q_SLOTS:
 
     /*! @return true if data editing is in progress.
      * Implemented for KexiView. */
-    bool isDataEditingInProgress() const;
+    bool isDataEditingInProgress() const override;
 
     /*! Identical to acceptRecordEditing()
      * @todo replace acceptRecordEditing() with this method
      * Implemented for KexiView. */
-    virtual tristate saveDataChanges();
+    virtual tristate saveDataChanges() override;
 
     /*! Identical to cancelRecordEditing()
      * @todo replace cancelRecordEditing() with this method
      * Implemented for KexiView. */
-    virtual tristate cancelDataChanges();
+    virtual tristate cancelDataChanges() override;
 
 protected Q_SLOTS:
     void slotCellSelected(int record, int column);
@@ -120,11 +120,11 @@ protected:
               bool noDataAware = false
              );
     void initActions();
-    virtual void updateActions(bool activated);
+    virtual void updateActions(bool activated) override;
 
     QWidget* internalView() const;
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
     QAction* sharedActionRequested(QKeyEvent *ke, const char *actionName);
 
 private:
diff --git a/src/widget/dataviewcommon/kexidataprovider.h b/src/widget/dataviewcommon/kexidataprovider.h
index ee65ec088..639da162d 100644
--- a/src/widget/dataviewcommon/kexidataprovider.h
+++ b/src/widget/dataviewcommon/kexidataprovider.h
@@ -61,13 +61,13 @@ public:
 
     /*! Implementation for KexiDataItemChangesListener.
      Reaction for change of \a item. Does nothing here. */
-    virtual void valueChanged(KexiDataItemInterface* item);
+    virtual void valueChanged(KexiDataItemInterface* item) override;
 
     /*! Implementation for KexiDataItemChangesListener.
      Implement this to return information whether we're currently at new record or not.
      This can be used e.g. by data-aware widgets to determine if "(autonumber)"
      label should be displayed. Returns false here. */
-    virtual bool cursorAtNewRecord() const;
+    virtual bool cursorAtNewRecord() const override;
 
     /*! Invalidates data sources collected by this provided.
      \a invalidSources is the set of data sources that should
diff --git a/src/widget/dataviewcommon/kexiformdataiteminterface.h b/src/widget/dataviewcommon/kexiformdataiteminterface.h
index a188c3a45..f5a8ac8b5 100644
--- a/src/widget/dataviewcommon/kexiformdataiteminterface.h
+++ b/src/widget/dataviewcommon/kexiformdataiteminterface.h
@@ -77,7 +77,7 @@ public:
 
     /*! Convenience function: casts this item to a QWidget.
      Can return 0 if the item is not a QWidget-derived object. */
-    virtual QWidget* widget() {
+    virtual QWidget* widget() override {
         return dynamic_cast<QWidget*>(this);
     }
 
@@ -99,7 +99,7 @@ public:
     KDbField* field() override;
 
     //! \return database column information for this item
-    KDbQueryColumnInfo* columnInfo() {
+    KDbQueryColumnInfo* columnInfo() override {
         return m_columnInfo;
     }
 
@@ -107,7 +107,7 @@ public:
      Reimplement if you need to do additional actions,
      e.g. set data validator based on field type. Don't forget about
      calling superclass implementation. */
-    virtual void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) {
+    virtual void setColumnInfo(KDbConnection *conn, KDbQueryColumnInfo* cinfo) override {
         Q_UNUSED(conn)
         m_columnInfo = cinfo;
     }
@@ -125,10 +125,10 @@ public:
     }
 
     /*! Does nothing, because within forms, widgets are always visible. */
-    virtual void hideWidget() { }
+    virtual void hideWidget() override { }
 
     /*! Does nothing, because within forms, widgets are always visible. */
-    virtual void showWidget() { }
+    virtual void showWidget() override { }
 
     /*! Undoes changes made to this item - just resets the widget to original value.
      Note: This is internal method called by KexiFormScrollView::cancelEditor().
diff --git a/src/widget/fields/KexiFieldComboBox.h b/src/widget/fields/KexiFieldComboBox.h
index 6c9efebd6..4d8aab6a5 100644
--- a/src/widget/fields/KexiFieldComboBox.h
+++ b/src/widget/fields/KexiFieldComboBox.h
@@ -67,7 +67,7 @@ protected Q_SLOTS:
     void slotReturnPressed(const QString & text);
 
 protected:
-    virtual void focusOutEvent(QFocusEvent *e);
+    virtual void focusOutEvent(QFocusEvent *e) override;
 
     class Private;
     Private * const d;
diff --git a/src/widget/fields/KexiFieldListModel.h b/src/widget/fields/KexiFieldListModel.h
index 5e0a70da0..225b5d53a 100644
--- a/src/widget/fields/KexiFieldListModel.h
+++ b/src/widget/fields/KexiFieldListModel.h
@@ -51,14 +51,14 @@ public:
     The schema object will be owned by the KexiFieldListView object. */
     void setSchema(KDbConnection *conn, KDbTableOrQuerySchema* schema);
 
-    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
-    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
-    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
-    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
-
-    virtual QStringList mimeTypes() const;
-    virtual QMimeData* mimeData(const QModelIndexList& indexes) const;
-    virtual Qt::ItemFlags flags(const QModelIndex& index) const;
+    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
+    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
+    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
+
+    virtual QStringList mimeTypes() const override;
+    virtual QMimeData* mimeData(const QModelIndexList& indexes) const override;
+    virtual Qt::ItemFlags flags(const QModelIndex& index) const override;
 
 private:
     class Private;
diff --git a/src/widget/kexieditor.h b/src/widget/kexieditor.h
index 70559ab10..49859a78b 100644
--- a/src/widget/kexieditor.h
+++ b/src/widget/kexieditor.h
@@ -108,7 +108,7 @@ protected Q_SLOTS:
 
 protected:
     /*! Update the actions. This call is redirected to \a KexiView::updateActions */
-    virtual void updateActions(bool activated);
+    virtual void updateActions(bool activated) override;
 
 Q_SIGNALS:
     /*! Emitted if the text displayed in the editor changed. */
diff --git a/src/widget/kexisectionheader.h b/src/widget/kexisectionheader.h
index 2a1688bfe..5bb292377 100644
--- a/src/widget/kexisectionheader.h
+++ b/src/widget/kexisectionheader.h
@@ -45,7 +45,7 @@ public:
     void addButton(const QIcon& icon, const QString& toolTip,
                    const QObject * receiver, const char * member);
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     void setCaption(const QString& caption);
     QString caption() const;
@@ -54,7 +54,7 @@ public Q_SLOTS:
     void slotFocus(bool in);
 
 protected:
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
 private:
     class Private;
diff --git a/src/widget/kexislider.cpp b/src/widget/kexislider.cpp
index 681800bff..80e61b3d8 100644
--- a/src/widget/kexislider.cpp
+++ b/src/widget/kexislider.cpp
@@ -48,7 +48,7 @@ public:
 
     }
 
-    QSize sizeHint() const
+    QSize sizeHint() const override
     {
         if (tickPosition() == QSlider::NoTicks)
             return QSlider::sizeHint();
@@ -71,7 +71,7 @@ public:
     }
 
 protected:
-    virtual void paintEvent(QPaintEvent *ev)
+    virtual void paintEvent(QPaintEvent *ev) override
     {
         if (tickPosition() == QSlider::NoTicks)
             return QSlider::paintEvent(ev);
diff --git a/src/widget/navigator/KexiProjectItemDelegate.h b/src/widget/navigator/KexiProjectItemDelegate.h
index e3aa7d48e..ab1a2c6c5 100644
--- a/src/widget/navigator/KexiProjectItemDelegate.h
+++ b/src/widget/navigator/KexiProjectItemDelegate.h
@@ -34,11 +34,11 @@ public:
     explicit KexiProjectItemDelegate(QObject *parent = 0);
     virtual ~KexiProjectItemDelegate();
     virtual void paint(QPainter *painter, const QStyleOptionViewItem &option,
-                       const QModelIndex &index) const;
+                       const QModelIndex &index) const override;
     virtual QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option,
-                                  const QModelIndex &index) const;
+                                  const QModelIndex &index) const override;
     virtual QSize sizeHint(const QStyleOptionViewItem &option,
-                           const QModelIndex &index) const;
+                           const QModelIndex &index) const override;
 
 private:
     class Private;
diff --git a/src/widget/navigator/KexiProjectModel.h b/src/widget/navigator/KexiProjectModel.h
index bb17f6f4c..8320fd88a 100644
--- a/src/widget/navigator/KexiProjectModel.h
+++ b/src/widget/navigator/KexiProjectModel.h
@@ -49,13 +49,13 @@ public:
     //! @return number of objects
     int objectsCount() const;
 
-    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
-    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
-    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
-    virtual QModelIndex parent(const QModelIndex& child) const;
-    virtual QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const;
-    virtual bool hasChildren(const QModelIndex& parent = QModelIndex()) const;
-    virtual Qt::ItemFlags flags(const QModelIndex& index) const;
+    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
+    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
+    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+    virtual QModelIndex parent(const QModelIndex& child) const override;
+    virtual QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override;
+    virtual bool hasChildren(const QModelIndex& parent = QModelIndex()) const override;
+    virtual Qt::ItemFlags flags(const QModelIndex& index) const override;
 
     void updateItemName(KexiPart::Item& item, bool dirty);
     QModelIndex indexFromItem(KexiProjectModelItem *item) const;
@@ -69,22 +69,22 @@ public:
     QModelIndex firstPartItem() const;
 
     //! Implemented for KexiSearchableModel
-    virtual int searchableObjectCount() const;
+    virtual int searchableObjectCount() const override;
 
     //! Implemented for KexiSearchableModel
-    virtual QModelIndex sourceIndexForSearchableObject(int objectIndex) const;
+    virtual QModelIndex sourceIndexForSearchableObject(int objectIndex) const override;
 
     //! Implemented for KexiSearchableModel
-    virtual QVariant searchableData(const QModelIndex &sourceIndex, int role) const;
+    virtual QVariant searchableData(const QModelIndex &sourceIndex, int role) const override;
 
     //! Implemented for KexiSearchableModel
-    virtual QString pathFromIndex(const QModelIndex &sourceIndex) const;
+    virtual QString pathFromIndex(const QModelIndex &sourceIndex) const override;
 
     //! Implemented for KexiSearchableModel
-    virtual bool highlightSearchableObject(const QModelIndex &index);
+    virtual bool highlightSearchableObject(const QModelIndex &index) override;
 
     //! Implemented for KexiSearchableModel
-    virtual bool activateSearchableObject(const QModelIndex &index);
+    virtual bool activateSearchableObject(const QModelIndex &index) override;
 
     QPersistentModelIndex itemWithSearchHighlight() const;
 
diff --git a/src/widget/navigator/KexiProjectNavigator.h b/src/widget/navigator/KexiProjectNavigator.h
index fbf2f5df8..af2fe8f9e 100644
--- a/src/widget/navigator/KexiProjectNavigator.h
+++ b/src/widget/navigator/KexiProjectNavigator.h
@@ -198,7 +198,7 @@ protected:
     QAction * addAction(const QString& name, const QIcon& icon, const QString& text,
                        const QString& toolTip, const QString& whatsThis, const char* slot);
 
-    virtual void contextMenuEvent ( QContextMenuEvent *event );
+    virtual void contextMenuEvent ( QContextMenuEvent *event ) override;
 
 
 private:
diff --git a/src/widget/navigator/KexiProjectTreeView.h b/src/widget/navigator/KexiProjectTreeView.h
index 277465acd..2bbb27dba 100644
--- a/src/widget/navigator/KexiProjectTreeView.h
+++ b/src/widget/navigator/KexiProjectTreeView.h
@@ -45,7 +45,7 @@ public:
 protected:
     virtual void drawBranches(QPainter *painter,
                               const QRect &rect,
-                              const QModelIndex &index) const;
+                              const QModelIndex &index) const override;
 protected Q_SLOTS:
     void slotHighlightSearchedItem(const QModelIndex &index);
     void slotActivateSearchedItem(const QModelIndex &index);
diff --git a/src/widget/properties/KexiCustomPropertyFactory.cpp b/src/widget/properties/KexiCustomPropertyFactory.cpp
index c7f11992a..54bd7dd85 100644
--- a/src/widget/properties/KexiCustomPropertyFactory.cpp
+++ b/src/widget/properties/KexiCustomPropertyFactory.cpp
@@ -91,7 +91,7 @@ class KexiIdentifierPropertyEditorDelegate : public KPropertyStringDelegate
 public:
     KexiIdentifierPropertyEditorDelegate() {}
     virtual QWidget * createEditor( int type, QWidget *parent,
-        const QStyleOptionViewItem & option, const QModelIndex & index ) const
+        const QStyleOptionViewItem & option, const QModelIndex & index ) const override
     {
         Q_UNUSED(type);
         Q_UNUSED(option);
@@ -108,7 +108,7 @@ public:
     }
 
     virtual QWidget *createEditor(int type, QWidget *parent, const QStyleOptionViewItem &option,
-                                  const QModelIndex &index) const
+                                  const QModelIndex &index) const override
     {
         Q_UNUSED(type);
         Q_UNUSED(option);
diff --git a/src/widget/properties/KexiPropertyEditorView.h b/src/widget/properties/KexiPropertyEditorView.h
index f3dc29831..07c7bfe3e 100644
--- a/src/widget/properties/KexiPropertyEditorView.h
+++ b/src/widget/properties/KexiPropertyEditorView.h
@@ -48,8 +48,8 @@ public:
     explicit KexiPropertyEditorView(QWidget* parent);
     virtual ~KexiPropertyEditorView();
 
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
+    virtual QSize sizeHint() const override;
+    virtual QSize minimumSizeHint() const override;
     KPropertyEditorView *editor() const;
 
 protected Q_SLOTS:
diff --git a/src/widget/relations/KexiRelationsScrollArea.cpp b/src/widget/relations/KexiRelationsScrollArea.cpp
index f22581586..2bd70af14 100644
--- a/src/widget/relations/KexiRelationsScrollArea.cpp
+++ b/src/widget/relations/KexiRelationsScrollArea.cpp
@@ -72,8 +72,8 @@ public:
     ~KexiRelationsScrollAreaWidget();
 
 protected:
-    virtual void paintEvent(QPaintEvent *event);
-    virtual void mousePressEvent(QMouseEvent *ev);
+    virtual void paintEvent(QPaintEvent *event) override;
+    virtual void mousePressEvent(QMouseEvent *ev) override;
 
 private:
     KexiRelationsScrollArea *scrollArea() {
diff --git a/src/widget/relations/KexiRelationsScrollArea.h b/src/widget/relations/KexiRelationsScrollArea.h
index e9d467e1f..7ebb4b45f 100644
--- a/src/widget/relations/KexiRelationsScrollArea.h
+++ b/src/widget/relations/KexiRelationsScrollArea.h
@@ -89,7 +89,7 @@ public:
 
     KexiRelationsTableContainer* focusedTableContainer() const;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     const QSet<KexiRelationsConnection*>* relationsConnections() const;
 
@@ -138,8 +138,8 @@ protected Q_SLOTS:
 
 protected:
     void contentsMousePressEvent(QMouseEvent *ev);
-    virtual void keyPressEvent(QKeyEvent *ev);
-    virtual void contextMenuEvent(QContextMenuEvent* event);
+    virtual void keyPressEvent(QKeyEvent *ev) override;
+    virtual void contextMenuEvent(QContextMenuEvent* event) override;
 
     void hideTable(KexiRelationsTableContainer* tableView);
     void removeConnection(KexiRelationsConnection *conn);
diff --git a/src/widget/relations/KexiRelationsTableContainer.h b/src/widget/relations/KexiRelationsTableContainer.h
index c18c06510..6afebc1cc 100644
--- a/src/widget/relations/KexiRelationsTableContainer.h
+++ b/src/widget/relations/KexiRelationsTableContainer.h
@@ -78,8 +78,8 @@ protected Q_SLOTS:
     friend class KexiRelationViewTableContainerHeader;
 
 protected:
-    virtual void focusInEvent(QFocusEvent* event);
-    virtual void focusOutEvent(QFocusEvent* event);
+    virtual void focusInEvent(QFocusEvent* event) override;
+    virtual void focusOutEvent(QFocusEvent* event) override;
 
 private:
     class Private;
diff --git a/src/widget/relations/KexiRelationsTableContainer_p.h b/src/widget/relations/KexiRelationsTableContainer_p.h
index f0c74829e..6bba473a4 100644
--- a/src/widget/relations/KexiRelationsTableContainer_p.h
+++ b/src/widget/relations/KexiRelationsTableContainer_p.h
@@ -45,7 +45,7 @@ public:
 
     int globalY(const QString &item);
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
 Q_SIGNALS:
     void tableScrolling();
@@ -54,11 +54,11 @@ protected Q_SLOTS:
     void slotContentsMoving();
 
 protected:
-    virtual void dragEnterEvent(QDragEnterEvent* event);
-    virtual void dragMoveEvent(QDragMoveEvent* e);
-    virtual void dropEvent(QDropEvent *e);
+    virtual void dragEnterEvent(QDragEnterEvent* event) override;
+    virtual void dragMoveEvent(QDragMoveEvent* e) override;
+    virtual void dropEvent(QDropEvent *e) override;
     virtual void contentsMousePressEvent(QMouseEvent * e);
-    virtual bool eventFilter(QObject *o, QEvent *ev);
+    virtual bool eventFilter(QObject *o, QEvent *ev) override;
 
 private:
     KexiRelationsScrollArea *m_scrollArea;
@@ -80,9 +80,9 @@ Q_SIGNALS:
     void endDrag();
 
 protected:
-    bool eventFilter(QObject *obj, QEvent *ev);
-    void mousePressEvent(QMouseEvent *ev);
-    void mouseReleaseEvent(QMouseEvent *ev);
+    bool eventFilter(QObject *obj, QEvent *ev) override;
+    void mousePressEvent(QMouseEvent *ev) override;
+    void mouseReleaseEvent(QMouseEvent *ev) override;
 
     bool m_dragging;
     int m_grabX;
diff --git a/src/widget/relations/KexiRelationsView.h b/src/widget/relations/KexiRelationsView.h
index e57e224c3..70ec8e3b5 100644
--- a/src/widget/relations/KexiRelationsView.h
+++ b/src/widget/relations/KexiRelationsView.h
@@ -55,7 +55,7 @@ public:
 
     void addTable(const QString& t);
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     /*! Used to add newly created object information to the combo box. */
     void objectCreated(const QString &mime, const QString& name);
diff --git a/src/widget/tableview/KexiDataTableScrollArea.h b/src/widget/tableview/KexiDataTableScrollArea.h
index 38b684696..ad34e96e3 100644
--- a/src/widget/tableview/KexiDataTableScrollArea.h
+++ b/src/widget/tableview/KexiDataTableScrollArea.h
@@ -65,7 +65,7 @@ public:
      * @returns the number of records in the data set, (if data set is present)
      * @note not all of the records have to be processed
      */
-    virtual int recordCount() const {
+    virtual int recordCount() const override {
         return m_data ? m_data->count() : 0;
     }
 
diff --git a/src/widget/tableview/KexiDataTableView.h b/src/widget/tableview/KexiDataTableView.h
index be32b65c8..89d4cd764 100644
--- a/src/widget/tableview/KexiDataTableView.h
+++ b/src/widget/tableview/KexiDataTableView.h
@@ -67,7 +67,7 @@ public Q_SLOTS:
     void setData(KDbCursor *cursor);
 
     /*! Saves settings for the view. Implemented for KexiView. */
-    virtual bool saveSettings();
+    virtual bool saveSettings() override;
 
 protected Q_SLOTS:
 //! @todo
diff --git a/src/widget/tableview/KexiTableScrollArea.h b/src/widget/tableview/KexiTableScrollArea.h
index d1c816800..c34bea9d2 100644
--- a/src/widget/tableview/KexiTableScrollArea.h
+++ b/src/widget/tableview/KexiTableScrollArea.h
@@ -174,13 +174,13 @@ public:
 
     /*! \return maximum number of records that can be displayed per one "page"
      for current table view's size. */
-    virtual int recordsPerPage() const;
+    virtual int recordsPerPage() const override;
 
     /*! \return number of records in this view. */
-    virtual int recordCount() const;
+    virtual int recordCount() const override;
 
     /*! \return number of the currently selected record number or -1. */
-    virtual int currentRecord() const;
+    virtual int currentRecord() const override;
 
     QRect cellGeometry(int record, int column) const;
     int columnWidth(int col) const;
@@ -197,16 +197,16 @@ public:
     /*! \return last record visible on the screen (counting from 0).
      The returned value is guaranteed to be smaller or equal to currentRecord() or -1
      if there are no records. */
-    virtual int lastVisibleRecord() const;
+    virtual int lastVisibleRecord() const override;
 
     /*! Redraws specified cell. */
-    virtual void updateCell(int record, int column);
+    virtual void updateCell(int record, int column) override;
 
     /*! Redraws the current cell. Implemented after KexiDataAwareObjectInterface. */
-    virtual void updateCurrentCell();
+    virtual void updateCurrentCell() override;
 
     /*! Redraws all cells of specified record. */
-    virtual void updateRecord(int record);
+    virtual void updateRecord(int record) override;
 
     bool editableOnDoubleClick() const;
     void setEditableOnDoubleClick(bool set);
@@ -233,12 +233,12 @@ public:
 
     // reimplemented for internal reasons
     virtual QSizePolicy sizePolicy() const;
-    virtual QSize sizeHint() const;
-    virtual QSize minimumSizeHint() const;
+    virtual QSize sizeHint() const override;
+    virtual QSize minimumSizeHint() const override;
 
     /*! @return geometry of the viewport, i.e. the scrollable area, minus any scrollbars, etc.
      Implementation for KexiDataAwareObjectInterface. */
-    virtual QRect viewportGeometry() const;
+    virtual QRect viewportGeometry() const override;
 
     /*! Reimplemented to update cached fonts and record sizes for the painter. */
     void setFont(const QFont &f);
@@ -261,17 +261,17 @@ public:
     KDbRecordData *highlightedRecord() const;
 
     /*! \return vertical scrollbar. Implemented for KexiDataAwareObjectInterface. */
-    virtual QScrollBar* verticalScrollBar() const;
+    virtual QScrollBar* verticalScrollBar() const override;
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
 public Q_SLOTS:
     void setData(KDbTableViewData *data, bool owner = true);
 
-    virtual void clearColumnsInternal(bool repaint);
+    virtual void clearColumnsInternal(bool repaint) override;
 
     /*! Reimplementation for KexiDataAwareObjectInterface */
-    virtual void setSpreadSheetMode(bool set);
+    virtual void setSpreadSheetMode(bool set) override;
 
     /*! Adjusts \a column column's width to its (current) contents.
      If \a column == -1, all columns' width is adjusted. */
@@ -320,17 +320,17 @@ public Q_SLOTS:
      If \a column is -1, current column number is used.
      If \a record is -1, current record number is used.
      \a record and \a column, if not -1, must be between 0 and recordCount()-1 (or columnCount()-1 accordingly). */
-    virtual void ensureCellVisible(int record, int column);
+    virtual void ensureCellVisible(int record, int column) override;
 
     /*! Ensures that column \a col is visible.
      If \a col is -1, current column number is used. \a col, if not -1, must be between
      0 and columnCount()-1. */
-    virtual void ensureColumnVisible(int col);
+    virtual void ensureColumnVisible(int col) override;
 
     /*! Deletes currently selected record; does nothing if no record
      is currently selected. If record is in edit mode, editing
      is cancelled before deleting.  */
-    virtual void deleteCurrentRecord();
+    virtual void deleteCurrentRecord() override;
 
     /*! Inserts one empty record above record \a record. If \a record is -1 (the default),
      new record is inserted above the current record (or above 1st record if there is no current).
@@ -340,7 +340,7 @@ public Q_SLOTS:
      -read-only flag is set (see isReadOnly())
      \ return inserted record's data
     */
-    virtual KDbRecordData *insertEmptyRecord(int pos = -1);
+    virtual KDbRecordData *insertEmptyRecord(int pos = -1) override;
 
     /*! Used when Return key is pressed on cell or "+" nav. button is clicked.
      Also used when we want to continue editing a cell after "invalid value" message
@@ -348,20 +348,20 @@ public Q_SLOTS:
      that text will be set in the cell replacing previous value).
     */
     virtual void startEditCurrentCell(const QString& setText = QString(),
-                                      CreateEditorFlags flags = DefaultCreateEditorFlags) {
+                                      CreateEditorFlags flags = DefaultCreateEditorFlags) override {
         KexiDataAwareObjectInterface::startEditCurrentCell(setText, flags);
     }
 
     /*! Deletes currently selected cell's contents, if allowed.
      In most cases delete is not accepted immediately but "record editing" mode is just started. */
-    virtual void deleteAndStartEditCurrentCell() {
+    virtual void deleteAndStartEditCurrentCell() override {
         KexiDataAwareObjectInterface::deleteAndStartEditCurrentCell();
     }
 
     /*! Cancels record editing All changes made to the editing
      record during this current session will be undone.
      \return true on success or false on failure (e.g. when editor does not exist) */
-    virtual bool cancelRecordEditing() {
+    virtual bool cancelRecordEditing() override {
         return KexiDataAwareObjectInterface::cancelRecordEditing();
     }
 
@@ -369,14 +369,14 @@ public Q_SLOTS:
      record during this current session will be accepted (saved).
      \return true if accepting was successful, false otherwise
      (e.g. when current record contain data that does not meet given constraints). */
-    virtual bool acceptRecordEditing() {
+    virtual bool acceptRecordEditing() override {
         return KexiDataAwareObjectInterface::acceptRecordEditing();
     }
 
     /*! Specifies, if this table view automatically accepts
      record editing (using acceptRecordEdit()) on accepting any cell's edit
      (i.e. after acceptEditor()). \sa acceptsRecordEditingAfterCellAccepting() */
-    virtual void setAcceptsRecordEditAfterCellAccepting(bool set) {
+    virtual void setAcceptsRecordEditAfterCellAccepting(bool set) override {
         KexiDataAwareObjectInterface::setAcceptsRecordEditAfterCellAccepting(set);
     }
 
@@ -386,26 +386,26 @@ public Q_SLOTS:
      - dragOverRecord() signal will be emitted on dragging,
       -droppedAtRecord() will be emitted on dropping
      By default this flag is set to false. */
-    virtual void setDropsAtRecordEnabled(bool set) {
+    virtual void setDropsAtRecordEnabled(bool set) override {
         KexiDataAwareObjectInterface::setDropsAtRecordEnabled(set);
     }
 
-    virtual bool cancelEditor() {
+    virtual bool cancelEditor() override {
         return KexiDataAwareObjectInterface::cancelEditor();
     }
-    virtual bool acceptEditor() {
+    virtual bool acceptEditor() override {
         return KexiDataAwareObjectInterface::acceptEditor();
     }
 
     /*! Reimplementation for KexiDataAwareObjectInterface, to react on changes
      of the sorting flag. */
-    virtual void setSortingEnabled(bool set);
+    virtual void setSortingEnabled(bool set) override;
 
 Q_SIGNALS:
-    void dataSet(KDbTableViewData *data);
+    void dataSet(KDbTableViewData *data) override;
 
-    void itemSelected(KDbRecordData *data);
-    void cellSelected(int record, int column);
+    void itemSelected(KDbRecordData *data) override;
+    void cellSelected(int record, int column) override;
 
     void itemReturnPressed(KDbRecordData *data, int record, int column);
     void itemDblClicked(KDbRecordData *data, int record, int column);
@@ -415,36 +415,36 @@ Q_SIGNALS:
     void droppedAtRecord(KDbRecordData *data, int record, QDropEvent *e, KDbRecordData*& newData);
 
     /*! Data has been refreshed on-screen - emitted from initDataContents(). */
-    void dataRefreshed();
+    void dataRefreshed() override;
 
-    void itemChanged(KDbRecordData *data, int record, int column);
-    void itemChanged(KDbRecordData *data, int record, int column, const QVariant &oldValue);
-    void itemDeleteRequest(KDbRecordData *data, int record, int column);
-    void currentItemDeleteRequest();
+    void itemChanged(KDbRecordData *data, int record, int column) override;
+    void itemChanged(KDbRecordData *data, int record, int column, const QVariant &oldValue) override;
+    void itemDeleteRequest(KDbRecordData *data, int record, int column) override;
+    void currentItemDeleteRequest() override;
     //! Emitted for spreadsheet mode when an item was deleted and a new item has been appended
-    void newItemAppendedForAfterDeletingInSpreadSheetMode();
-    void sortedColumnChanged(int col);
+    void newItemAppendedForAfterDeletingInSpreadSheetMode() override;
+    void sortedColumnChanged(int col) override;
 
     //! emitted when record editing is started (for updating or inserting)
-    void recordEditingStarted(int record);
+    void recordEditingStarted(int record) override;
 
     //! emitted when record editing is terminated (for updating or inserting)
     //! no matter if accepted or not
-    void recordEditingTerminated(int record);
+    void recordEditingTerminated(int record) override;
 
     //! emitted when state of 'save/cancel record changes' actions should be updated.
-    void updateSaveCancelActions();
+    void updateSaveCancelActions() override;
 
     //! Emitted in initActions() to force reload actions
     //! You should remove existing actions and add them again.
-    void reloadActions();
+    void reloadActions() override;
 
 protected Q_SLOTS:
-    virtual void slotDataDestroying() {
+    virtual void slotDataDestroying() override {
         KexiDataAwareObjectInterface::slotDataDestroying();
     }
 
-    virtual void slotRecordsDeleted(const QList<int> &records);
+    virtual void slotRecordsDeleted(const QList<int> &records) override;
 
     //! updates display after deletion of many records
     void slotColumnWidthChanged(int column, int oldSize, int newSize);
@@ -454,49 +454,49 @@ protected Q_SLOTS:
     void slotUpdate();
 
     //! implemented because we needed this as slot
-    virtual void sortColumnInternal(int col, int order = 0);
+    virtual void sortColumnInternal(int col, int order = 0) override;
 
     //! receives a signal from cell editors
     void slotEditRequested();
 
     /*! Reloads data for this widget.
      Handles KDbTableViewData::reloadRequested() signal. */
-    virtual void reloadData();
+    virtual void reloadData() override;
 
     //! Handles KDbTableViewData::recordRepaintRequested() signal
-    virtual void slotRecordRepaintRequested(KDbRecordData* data);
+    virtual void slotRecordRepaintRequested(KDbRecordData* data) override;
 
     //! Handles KDbTableViewData::aboutToDeleteRecord() signal. Prepares info for slotRecordDeleted().
-    virtual void slotAboutToDeleteRecord(KDbRecordData* data, KDbResultInfo* result, bool repaint) {
+    virtual void slotAboutToDeleteRecord(KDbRecordData* data, KDbResultInfo* result, bool repaint) override {
         KexiDataAwareObjectInterface::slotAboutToDeleteRecord(data, result, repaint);
     }
 
     //! Handles KDbTableViewData::recordDeleted() signal to repaint when needed.
-    virtual void slotRecordDeleted() {
+    virtual void slotRecordDeleted() override {
         KexiDataAwareObjectInterface::slotRecordDeleted();
     }
 
     //! Handles KDbTableViewData::recordInserted() signal to repaint when needed.
-    virtual void slotRecordInserted(KDbRecordData *data, bool repaint) {
+    virtual void slotRecordInserted(KDbRecordData *data, bool repaint) override {
         KexiDataAwareObjectInterface::slotRecordInserted(data, repaint);
     }
 
     //! Like above, not db-aware version
-    virtual void slotRecordInserted(KDbRecordData *data, int record, bool repaint) {
+    virtual void slotRecordInserted(KDbRecordData *data, int record, bool repaint) override {
         KexiDataAwareObjectInterface::slotRecordInserted(data, record, repaint);
     }
 
     /*! Handles verticalScrollBar()'s valueChanged(int) signal.
      Called when vscrollbar's value has been changed. */
-    virtual void verticalScrollBarValueChanged(int v);
+    virtual void verticalScrollBarValueChanged(int v) override;
 
     //! for navigator
-    virtual void moveToRecordRequested(int record);
-    virtual void moveToLastRecordRequested();
-    virtual void moveToPreviousRecordRequested();
-    virtual void moveToNextRecordRequested();
-    virtual void moveToFirstRecordRequested();
-    virtual void addNewRecordRequested() {
+    virtual void moveToRecordRequested(int record) override;
+    virtual void moveToLastRecordRequested() override;
+    virtual void moveToPreviousRecordRequested() override;
+    virtual void moveToNextRecordRequested() override;
+    virtual void moveToFirstRecordRequested() override;
+    virtual void addNewRecordRequested() override {
         KexiDataAwareObjectInterface::addNewRecordRequested();
     }
 
@@ -505,27 +505,27 @@ protected:
      Initializes data contents (resizes it, sets cursor at 1st row).
      Called on setData(). Also called once on show event after
      reloadRequested() signal was received from KDbTableViewData object. */
-    virtual void initDataContents();
+    virtual void initDataContents() override;
 
     /*! Implementation for KexiDataAwareObjectInterface.
      Updates widget's contents size using QScrollView::resizeContents()
      depending on tableSize(). */
-    virtual void updateWidgetContentsSize();
+    virtual void updateWidgetContentsSize() override;
 
     /*! Reimplementation for KexiDataAwareObjectInterface */
-    virtual void clearVariables();
+    virtual void clearVariables() override;
 
     /*! Implementation for KexiDataAwareObjectInterface */
-    virtual KDbOrderByColumn::SortOrder currentLocalSortOrder() const;
+    virtual KDbOrderByColumn::SortOrder currentLocalSortOrder() const override;
 
     /*! Implementation for KexiDataAwareObjectInterface */
-    virtual int currentLocalSortColumn() const;
+    virtual int currentLocalSortColumn() const override;
 
     /*! Implementation for KexiDataAwareObjectInterface */
-    virtual void setLocalSortOrder(int column, KDbOrderByColumn::SortOrder order);
+    virtual void setLocalSortOrder(int column, KDbOrderByColumn::SortOrder order) override;
 
     /*! Implementation for KexiDataAwareObjectInterface */
-    virtual void updateGUIAfterSorting(int previousRow);
+    virtual void updateGUIAfterSorting(int previousRow) override;
 
     int leftMargin() const;
 
@@ -557,31 +557,31 @@ protected:
     void contentsMouseMoveEvent(QMouseEvent* e);
     void contentsMouseDoubleClickEvent(QMouseEvent* e);
     void contentsContextMenuEvent(QContextMenuEvent* e);
-    virtual void keyPressEvent(QKeyEvent *e);
-    //virtual void focusInEvent(QFocusEvent* e);
-    virtual void focusOutEvent(QFocusEvent* e);
-    virtual void resizeEvent(QResizeEvent* e);
+    virtual void keyPressEvent(QKeyEvent *e) override;
+    //virtual void focusInEvent(QFocusEvent* e) override;
+    virtual void focusOutEvent(QFocusEvent* e) override;
+    virtual void resizeEvent(QResizeEvent* e) override;
     //virtual void viewportResizeEvent(QResizeEvent *e);
-    virtual void showEvent(QShowEvent *e);
-    virtual void dragMoveEvent(QDragMoveEvent *e);
-    virtual void dropEvent(QDropEvent *e);
-    virtual void dragLeaveEvent(QDragLeaveEvent *e);
+    virtual void showEvent(QShowEvent *e) override;
+    virtual void dragMoveEvent(QDragMoveEvent *e) override;
+    virtual void dropEvent(QDropEvent *e) override;
+    virtual void dragLeaveEvent(QDragLeaveEvent *e) override;
     //! For handling changes of palette
-    virtual void changeEvent(QEvent *e);
+    virtual void changeEvent(QEvent *e) override;
 
     /*! Implementation for KexiDataAwareObjectInterface */
-    virtual KexiDataItemInterface *editor(int col, bool ignoreMissingEditor = false);
+    virtual KexiDataItemInterface *editor(int col, bool ignoreMissingEditor = false) override;
 
     KexiTableEdit *tableEditorWidget(int col, bool ignoreMissingEditor = false);
 
     /*! Implementation for KexiDataAwareObjectInterface */
-    virtual void editorShowFocus(int row, int col);
+    virtual void editorShowFocus(int row, int col) override;
 
     //! Creates editors and shows it, what usually means the beginning of a cell editing
     virtual void createEditor(int row, int col, const QString& addText = QString(),
-                              CreateEditorFlags flags = DefaultCreateEditorFlags);
+                              CreateEditorFlags flags = DefaultCreateEditorFlags) override;
 
-    bool focusNextPrevChild(bool next);
+    bool focusNextPrevChild(bool next) override;
 
     /*! Used in key event: \return true if event \a e should execute action \a action_name.
      Action shortcuts defined by shortCutPressed() are reused, if present, and if \a e matches
@@ -614,31 +614,31 @@ protected:
 
     /*! Reimplementation for KexiDataAwareObjectInterface
      (viewport()->setFocus() is just added) */
-    virtual void removeEditor();
+    virtual void removeEditor() override;
 
     /*! @internal Changes bottom margin settings, in pixels.
      At this time, it's used by KexiComboBoxPopup to decrease margin for popup's table. */
     void setBottomMarginInternal(int pixels);
 
-    virtual void updateWidgetContents() {
+    virtual void updateWidgetContents() override {
         update();
     }
 
     //! Copy current selection to a clipboard (e.g. cell)
-    virtual void copySelection();
+    virtual void copySelection() override;
 
     //! Cut current selection to a clipboard (e.g. cell)
-    virtual void cutSelection();
+    virtual void cutSelection() override;
 
     //! Paste current clipboard contents (e.g. to a cell)
-    virtual void paste();
+    virtual void paste() override;
 
     /*! Used in KexiDataAwareObjectInterface::slotRecordDeleted()
      to repaint tow \a row and all visible below. */
-    virtual void updateAllVisibleRecordsBelow(int row);
+    virtual void updateAllVisibleRecordsBelow(int row) override;
 
-    void updateAfterCancelRecordEditing();
-    void updateAfterAcceptRecordEditing();
+    void updateAfterCancelRecordEditing() override;
+    void updateAfterAcceptRecordEditing() override;
 
     /*! Sets \a cellValue if there is a lookup value for the cell \a data.
      Used in paintCell() and KexiTableCellToolTip::maybeTip()
@@ -648,18 +648,18 @@ protected:
 
     /*! Implementation for KexiDataItemChangesListener.
      Reaction for change of \a item. */
-    virtual void valueChanged(KexiDataItemInterface* item);
+    virtual void valueChanged(KexiDataItemInterface* item) override;
 
     /*! Implementation for KexiDataItemChangesListener. */
-    virtual bool cursorAtNewRecord() const;
+    virtual bool cursorAtNewRecord() const override;
 
     /*! Implementation for KexiDataItemChangesListener. */
-    virtual void lengthExceeded(KexiDataItemInterface *item, bool lengthExceeded);
+    virtual void lengthExceeded(KexiDataItemInterface *item, bool lengthExceeded) override;
 
     /*! Implementation for KexiDataItemChangesListener. */
-    virtual void updateLengthExceededMessage(KexiDataItemInterface *item);
+    virtual void updateLengthExceededMessage(KexiDataItemInterface *item) override;
 
-    virtual int horizontalHeaderHeight() const;
+    virtual int horizontalHeaderHeight() const override;
 
     //! @return record navigator pane
     QWidget* navPanelWidget() const;
@@ -667,20 +667,20 @@ protected:
     //! @return true if record navigator pane exists and is has "visible" appearance set to ON
     bool navPanelWidgetVisible() const;
 
-    virtual bool event(QEvent *e);
+    virtual bool event(QEvent *e) override;
 
     //! @internal @return text information about a given column or other specific areas of the table view.
     QString whatsThisText(const QPoint &pos) const;
 
     /*! Called by KexiDataAwareObjectInterface::setCursorPosition()
       if cursor's position is really changed. */
-    virtual void selectCellInternal(int previousRow, int previousColumn);
+    virtual void selectCellInternal(int previousRow, int previousColumn) override;
 
     //! @return horizontal header
-    virtual QHeaderView* horizontalHeader() const;
+    virtual QHeaderView* horizontalHeader() const override;
 
     //! @return vertical header
-    virtual QHeaderView* verticalHeader() const;
+    virtual QHeaderView* verticalHeader() const override;
 
     //! @return common model for header views of this area. @see KexiTableScrollAreaHeader
     QAbstractItemModel* headerModel() const;
@@ -688,15 +688,15 @@ protected:
     void updateScrollAreaWidgetSize();
 
     //! Update section of vertical header
-    virtual void updateVerticalHeaderSection(int section);
+    virtual void updateVerticalHeaderSection(int section) override;
 
-    virtual void beginInsertItem(KDbRecordData *data, int pos);
+    virtual void beginInsertItem(KDbRecordData *data, int pos) override;
 
-    virtual void endInsertItem(KDbRecordData *data, int pos);
+    virtual void endInsertItem(KDbRecordData *data, int pos) override;
 
-    virtual void beginRemoveItem(KDbRecordData *data, int pos);
+    virtual void beginRemoveItem(KDbRecordData *data, int pos) override;
 
-    virtual void endRemoveItem(int pos);
+    virtual void endRemoveItem(int pos) override;
 
     class Private;
     Private * const d;
diff --git a/src/widget/tableview/KexiTableScrollAreaHeader.cpp b/src/widget/tableview/KexiTableScrollAreaHeader.cpp
index 491bfa20f..af734b3e8 100644
--- a/src/widget/tableview/KexiTableScrollAreaHeader.cpp
+++ b/src/widget/tableview/KexiTableScrollAreaHeader.cpp
@@ -49,7 +49,7 @@ public:
 
     virtual void drawControl(ControlElement ce,
                              const QStyleOption *option, QPainter *painter,
-                             const QWidget *widget = 0) const
+                             const QWidget *widget = 0) const override
     {
         const KexiTableScrollAreaHeader *headerWidget
                 = qobject_cast<const KexiTableScrollAreaHeader*>(parent());
diff --git a/src/widget/tableview/KexiTableScrollAreaHeader.h b/src/widget/tableview/KexiTableScrollAreaHeader.h
index 692dd843f..120e8fc7e 100644
--- a/src/widget/tableview/KexiTableScrollAreaHeader.h
+++ b/src/widget/tableview/KexiTableScrollAreaHeader.h
@@ -51,7 +51,7 @@ public:
     int headerWidth() const;
 
     //! @return a suitable size hint for this header.
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     //! @return preferred size for section @a logicalIndex.
     //! Preferred size is a minimal one that has still visible text and sort indicator
@@ -72,18 +72,18 @@ public Q_SLOTS:
     void setSortingEnabled(bool set);
 
 protected:
-    virtual void changeEvent(QEvent *e);
+    virtual void changeEvent(QEvent *e) override;
 
-    virtual bool viewportEvent(QEvent *e);
+    virtual bool viewportEvent(QEvent *e) override;
 
     //! For vertical header. We do not use sectionClicked() because we want to handle clicking on any pixel.
-    virtual void mousePressEvent(QMouseEvent *e);
+    virtual void mousePressEvent(QMouseEvent *e) override;
 
-    virtual void mouseMoveEvent(QMouseEvent *e);
+    virtual void mouseMoveEvent(QMouseEvent *e) override;
 
-    virtual void leaveEvent(QEvent *e);
+    virtual void leaveEvent(QEvent *e) override;
 
-    virtual QSize sectionSizeFromContents(int logicalIndex) const;
+    virtual QSize sectionSizeFromContents(int logicalIndex) const override;
 
 private:
     void styleChanged();
diff --git a/src/widget/tableview/KexiTableScrollAreaHeaderModel.h b/src/widget/tableview/KexiTableScrollAreaHeaderModel.h
index e5c16cec4..3219755ba 100644
--- a/src/widget/tableview/KexiTableScrollAreaHeaderModel.h
+++ b/src/widget/tableview/KexiTableScrollAreaHeaderModel.h
@@ -38,13 +38,13 @@ public:
 
     virtual ~KexiTableScrollAreaHeaderModel();
 
-    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
+    virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override;
 
-    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
+    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
 
-    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
+    virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
 
-    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
+    virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
 
     void beginInsertRows(const QModelIndex &parent, int first, int last);
 
diff --git a/src/widget/tableview/KexiTableScrollAreaWidget.h b/src/widget/tableview/KexiTableScrollAreaWidget.h
index 538e3de22..d0ddb6b50 100644
--- a/src/widget/tableview/KexiTableScrollAreaWidget.h
+++ b/src/widget/tableview/KexiTableScrollAreaWidget.h
@@ -37,13 +37,13 @@ public:
 
 protected:
     // Events that are passed to KexiTableScrollArea
-    virtual void paintEvent(QPaintEvent *e);
-    virtual void mousePressEvent(QMouseEvent *e);
-    virtual void mouseReleaseEvent(QMouseEvent *e);
-    virtual void mouseMoveEvent(QMouseEvent *e);
-    virtual void mouseDoubleClickEvent(QMouseEvent *e);
-    virtual void contextMenuEvent(QContextMenuEvent *e);
-    virtual void leaveEvent(QEvent *e);
+    virtual void paintEvent(QPaintEvent *e) override;
+    virtual void mousePressEvent(QMouseEvent *e) override;
+    virtual void mouseReleaseEvent(QMouseEvent *e) override;
+    virtual void mouseMoveEvent(QMouseEvent *e) override;
+    virtual void mouseDoubleClickEvent(QMouseEvent *e) override;
+    virtual void contextMenuEvent(QContextMenuEvent *e) override;
+    virtual void leaveEvent(QEvent *e) override;
 
     friend class KexiTableScrollArea;
 };
diff --git a/src/widget/tableview/kexiblobtableedit.h b/src/widget/tableview/kexiblobtableedit.h
index 7ec7d0562..303b31817 100644
--- a/src/widget/tableview/kexiblobtableedit.h
+++ b/src/widget/tableview/kexiblobtableedit.h
@@ -34,45 +34,45 @@ public:
     explicit KexiBlobTableEdit(KDbTableViewColumn *column, QWidget *parent = 0);
     virtual ~KexiBlobTableEdit();
 
-    bool valueIsNull();
-    bool valueIsEmpty();
+    bool valueIsNull() override;
+    bool valueIsEmpty() override;
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
 
     /*! Reimplemented: resizes a view(). */
-    virtual void resize(int w, int h);
+    virtual void resize(int w, int h) override;
 
-    virtual void showFocus(const QRect& r, bool readOnly);
+    virtual void showFocus(const QRect& r, bool readOnly) override;
 
-    virtual void hideFocus();
+    virtual void hideFocus() override;
 
     /*! \return total size of this editor, including popup button. */
-    virtual QSize totalSize() const;
+    virtual QSize totalSize() const override;
 
-    virtual void paintFocusBorders(QPainter *p, QVariant &, int x, int y, int w, int h);
+    virtual void paintFocusBorders(QPainter *p, QVariant &, int x, int y, int w, int h) override;
 
     /*! Reimplemented to handle the key events. */
-    virtual bool handleKeyPress(QKeyEvent* ke, bool editorActive);
+    virtual bool handleKeyPress(QKeyEvent* ke, bool editorActive) override;
 
     /*! Handles double click request coming from the table view.
      \return true if it has been consumed.
      Reimplemented in KexiBlobTableEdit (to execute "insert file" action. */
-    virtual bool handleDoubleClick();
+    virtual bool handleDoubleClick() override;
 
     /*! Handles action having standard name \a actionName.
      Action could be: "edit_cut", "edit_paste", etc. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Handles copy action for value. The \a value is copied to clipboard in format appropriate
      for the editor's impementation, e.g. for image cell it can be a pixmap.
      \a visibleValue is unused here. Reimplemented after KexiTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
 
 protected Q_SLOTS:
     void slotUpdateActionsAvailabilityRequested(bool *valueIsNull, bool *valueIsReadOnly);
@@ -83,12 +83,12 @@ protected Q_SLOTS:
     void handleCutAction();
     void handleCopyAction();
     void handlePasteAction();
-    virtual void clear();
+    virtual void clear() override;
     void handleShowPropertiesAction();
 
 protected:
     //! initializes this editor with \a add value
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     //! @todo QString openWithDlg(const QString& file);
     //! @todo void execute(const QString& app, const QString& file);
@@ -105,7 +105,7 @@ protected:
     //! @internal
     void executeCopyAction(const QByteArray& data);
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
     class Private;
     Private * const d;
@@ -132,30 +132,30 @@ public:
     virtual ~KexiKIconTableEdit();
 
     //! \return true if editor's value is null (not empty)
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not null).
     //! Only few field types can accept "EMPTY" property
     //! (check this with KDbField::hasEmptyProperty()),
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
 
-    virtual void clear();
+    virtual void clear() override;
 
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
 
     /*! Handles copy action for value. Does nothing.
      \a visibleValue is unused here. Reimplemented after KexiTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
 protected:
     //! initializes this editor with \a add value
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     void showHintButton();
     void init();
diff --git a/src/widget/tableview/kexibooltableedit.h b/src/widget/tableview/kexibooltableedit.h
index aa795ea85..9048ab4d5 100644
--- a/src/widget/tableview/kexibooltableedit.h
+++ b/src/widget/tableview/kexibooltableedit.h
@@ -37,41 +37,41 @@ public:
     virtual ~KexiBoolTableEdit();
 
     //! \return true if editor's value is null (not empty)
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not null).
     //! Only few field types can accept "EMPTY" property
     //! (check this with KDbField::hasEmptyProperty()),
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
 
-    virtual void clear();
+    virtual void clear() override;
 
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
 
-    virtual void clickedOnContents();
+    virtual void clickedOnContents() override;
 
     /*! Handles action having standard name \a actionName.
      Action could be: "edit_cut", "edit_paste", etc. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Handles copy action for value. Copies empty string for null, "1" for true, "0" for false.
      \a visibleValue is unused here. Reimplemented after KexiTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
     /*! \return width of \a value. Reimplemented  after KexiTableEdit. */
-    virtual int widthForValue(const QVariant &val, const QFontMetrics &fm);
+    virtual int widthForValue(const QVariant &val, const QFontMetrics &fm) override;
 
 protected Q_SLOTS:
 
 protected:
     //! initializes this editor with \a add value
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     void showHintButton();
 
diff --git a/src/widget/tableview/kexicomboboxpopup.h b/src/widget/tableview/kexicomboboxpopup.h
index 827661c3b..aefdfe0cb 100644
--- a/src/widget/tableview/kexicomboboxpopup.h
+++ b/src/widget/tableview/kexicomboboxpopup.h
@@ -76,7 +76,7 @@ protected Q_SLOTS:
 protected:
     void init();
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
     //! The main function for setting data; data can be set either by passing \a column or \a field.
     //! The second case is used for lookup.
diff --git a/src/widget/tableview/kexicomboboxtableedit.h b/src/widget/tableview/kexicomboboxtableedit.h
index b5001cf04..5de00a2f0 100644
--- a/src/widget/tableview/kexicomboboxtableedit.h
+++ b/src/widget/tableview/kexicomboboxtableedit.h
@@ -54,75 +54,75 @@ public:
     }
 
     //! Implemented for KexiComboBoxBase
-    virtual QVariant origValue() const;
+    virtual QVariant origValue() const override;
 
-    virtual void setValueInternal(const QVariant& add, bool removeOld) {
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override {
         KexiComboBoxBase::setValueInternal(add, removeOld);
     }
 
-    virtual QVariant value() {
+    virtual QVariant value() override {
         return KexiComboBoxBase::value();
     }
 
-    virtual void clear();
+    virtual void clear() override;
 
-    virtual bool valueChanged();
+    virtual bool valueChanged() override;
 
-    virtual QVariant visibleValue();
+    virtual QVariant visibleValue() override;
 
     /*! Reimplemented: resizes a view(). */
-    virtual void resize(int w, int h);
+    virtual void resize(int w, int h) override;
 
-    virtual void showFocus(const QRect& r, bool readOnly);
+    virtual void showFocus(const QRect& r, bool readOnly) override;
 
-    virtual void hideFocus();
+    virtual void hideFocus() override;
 
-    virtual void paintFocusBorders(QPainter *p, QVariant &cal, int x, int y, int w, int h);
+    virtual void paintFocusBorders(QPainter *p, QVariant &cal, int x, int y, int w, int h) override;
 
     /*! Setups contents of the cell. As a special case, if there is lookup field schema
      defined, \a val already contains the visible value (usually the text)
      set by \ref KexiTableView::paintcell(), so there is noo need to lookup the value
      in the combo box's popup. */
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
 
     /*! Used to handle key press events for the item. */
-    virtual bool handleKeyPress(QKeyEvent *ke, bool editorActive);
+    virtual bool handleKeyPress(QKeyEvent *ke, bool editorActive) override;
 
-    virtual int widthForValue(const QVariant &val, const QFontMetrics &fm);
+    virtual int widthForValue(const QVariant &val, const QFontMetrics &fm) override;
 
-    virtual void hide();
+    virtual void hide() override;
     virtual void show();
 
     /*! \return total size of this editor, including popup button. */
-    virtual QSize totalSize() const;
+    virtual QSize totalSize() const override;
 
-    virtual void createInternalEditor(KDbConnection *conn, const KDbQuerySchema& schema);
+    virtual void createInternalEditor(KDbConnection *conn, const KDbQuerySchema& schema) override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Reimplemented after KexiInputTableEdit.
      For a special case (combo box), \a visibleValue can be provided,
      so it can be copied to the clipboard instead of unreadable \a value. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
 public Q_SLOTS:
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToEnd();
+    virtual void moveCursorToEnd() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToStart();
+    virtual void moveCursorToStart() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void selectAll();
+    virtual void selectAll() override;
 
 protected Q_SLOTS:
     void slotButtonClicked();
-    void slotRecordAccepted(KDbRecordData *data, int record) {
+    void slotRecordAccepted(KDbRecordData *data, int record) override {
         KexiComboBoxBase::slotRecordAccepted(data, record);
     }
-    void slotRecordSelected(KDbRecordData* data) {
+    void slotRecordSelected(KDbRecordData* data) override {
         KexiComboBoxBase::slotRecordSelected(data);
     }
     void slotInternalEditorValueChanged(const QVariant& v) {
@@ -138,44 +138,44 @@ protected:
     //! internal
     void updateFocus(const QRect& r);
 
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
     //! Implemented for KexiComboBoxBase
-    virtual QWidget *internalEditor() const;
+    virtual QWidget *internalEditor() const override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void moveCursorToEndInInternalEditor();
+    virtual void moveCursorToEndInInternalEditor() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void selectAllInInternalEditor();
+    virtual void selectAllInInternalEditor() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void setValueInInternalEditor(const QVariant& value);
+    virtual void setValueInInternalEditor(const QVariant& value) override;
 
     //! Implemented for KexiComboBoxBase
-    virtual QVariant valueFromInternalEditor();
+    virtual QVariant valueFromInternalEditor() override;
 
     //! Implemented for KexiComboBoxBase
-    virtual void editRequested() {
+    virtual void editRequested() override {
         KexiInputTableEdit::editRequested();
     }
 
     //! Implemented for KexiComboBoxBase
-    virtual void acceptRequested() {
+    virtual void acceptRequested() override {
         KexiInputTableEdit::acceptRequested();
     }
 
     //! Implemented for KexiComboBoxBase
-    virtual QPoint mapFromParentToGlobal(const QPoint& pos) const;
+    virtual QPoint mapFromParentToGlobal(const QPoint& pos) const override;
 
     //! Implemented for KexiComboBoxBase
-    virtual int popupWidthHint() const;
+    virtual int popupWidthHint() const override;
 
     //! Implemented this to update button state.
-    virtual void updateButton();
+    virtual void updateButton() override;
 
-    virtual KexiComboBoxPopup *popup() const;
-    virtual void setPopup(KexiComboBoxPopup *popup);
+    virtual KexiComboBoxPopup *popup() const override;
+    virtual void setPopup(KexiComboBoxPopup *popup) override;
 
     class Private;
     Private * const d;
diff --git a/src/widget/tableview/kexidatetableedit.h b/src/widget/tableview/kexidatetableedit.h
index 5d40de6b7..fd4a7e0f3 100644
--- a/src/widget/tableview/kexidatetableedit.h
+++ b/src/widget/tableview/kexidatetableedit.h
@@ -39,23 +39,23 @@ public:
     explicit KexiDateTableEdit(KDbTableViewColumn *column, QWidget *parent = 0);
     virtual ~KexiDateTableEdit();
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
-    virtual QVariant value();
-    virtual bool valueIsNull();
-    virtual bool valueIsEmpty();
-    virtual bool valueIsValid();
-    virtual bool valueChanged();
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
+    virtual QVariant value() override;
+    virtual bool valueIsNull() override;
+    virtual bool valueIsEmpty() override;
+    virtual bool valueIsValid() override;
+    virtual bool valueChanged() override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
 protected:
     //! helper
     void setValueInInternalEditor(const QVariant &value);
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
     QDate dateValue() const;
 
     //! Used to format and convert date values
diff --git a/src/widget/tableview/kexidatetimetableedit.h b/src/widget/tableview/kexidatetimetableedit.h
index efca761f9..f161ffc32 100644
--- a/src/widget/tableview/kexidatetimetableedit.h
+++ b/src/widget/tableview/kexidatetimetableedit.h
@@ -39,23 +39,23 @@ public:
     explicit KexiDateTimeTableEdit(KDbTableViewColumn *column, QWidget *parent = 0);
     virtual ~KexiDateTimeTableEdit();
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
-    virtual QVariant value();
-    virtual bool valueIsNull();
-    virtual bool valueIsEmpty();
-    virtual bool valueIsValid();
-    virtual bool valueChanged();
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
+    virtual QVariant value() override;
+    virtual bool valueIsNull() override;
+    virtual bool valueIsEmpty() override;
+    virtual bool valueIsValid() override;
+    virtual bool valueChanged() override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
 protected:
     //! helper
     void setValueInInternalEditor(const QVariant &value);
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
     bool textIsEmpty() const;
 
     //! Used to format and convert date values
diff --git a/src/widget/tableview/kexiinputtableedit.h b/src/widget/tableview/kexiinputtableedit.h
index 335b8da01..8cfb9ed9b 100644
--- a/src/widget/tableview/kexiinputtableedit.h
+++ b/src/widget/tableview/kexiinputtableedit.h
@@ -41,37 +41,37 @@ public:
 
     virtual ~KexiInputTableEdit();
 
-    virtual bool valueChanged();
+    virtual bool valueChanged() override;
 
     //! \return true if editor's value is null (not empty)
-    virtual bool valueIsNull();
+    virtual bool valueIsNull() override;
 
     //! \return true if editor's value is empty (not null).
     //! Only few field types can accept "EMPTY" property
     //! (check this with KDbField::hasEmptyProperty()),
-    virtual bool valueIsEmpty();
+    virtual bool valueIsEmpty() override;
 
     //! \return true if the value is valid
     bool valueIsValid() override;
 
-    virtual QVariant value();
+    virtual QVariant value() override;
 
-    virtual bool cursorAtStart();
-    virtual bool cursorAtEnd();
+    virtual bool cursorAtStart() override;
+    virtual bool cursorAtEnd() override;
 
-    virtual void clear();
+    virtual void clear() override;
 
     /*! \return total size of this editor, including any buttons, etc. (if present). */
-    virtual QSize totalSize() const;
+    virtual QSize totalSize() const override;
 
     /*! Handles action having standard name \a actionName.
      Action could be: "edit_cut", "edit_paste", etc. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Handles copy action for value. The \a value is copied to clipboard in format appropriate
      for the editor's impementation, e.g. for image cell it can be a pixmap.
      \a visibleValue is unused here. Reimplemented after KexiTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
     /*! Shows a special tooltip for \a value if needed, i.e. if the value could not fit
      inside \a rect for a given font metrics \a fm.
@@ -81,20 +81,20 @@ public:
      if \a value is not string to see whether it can fit inside the cell's \a rect.
      If the cell is currentl focused (selected), \a focused is true. */
     virtual bool showToolTipIfNeeded(const QVariant& value, const QRect& rect, const QFontMetrics& fm,
-                                     bool focused);
+                                     bool focused) override;
 
 public Q_SLOTS:
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToEnd();
+    virtual void moveCursorToEnd() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void moveCursorToStart();
+    virtual void moveCursorToStart() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual void selectAll();
+    virtual void selectAll() override;
 
     //! Implemented for KexiDataItemInterface
-    virtual bool fixup();
+    virtual bool fixup() override;
 
 protected Q_SLOTS:
     void setRestrictedCompletion();
@@ -103,11 +103,11 @@ protected Q_SLOTS:
 
 protected:
     //! initializes this editor with \a add value
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
 
     void showHintButton();
     void init();
-    virtual void paintEvent(QPaintEvent *e);
+    virtual void paintEvent(QPaintEvent *e) override;
     void updateLineEditStyleSheet();
 
     KexiTextFormatter m_textFormatter;
diff --git a/src/widget/tableview/kexitableedit.h b/src/widget/tableview/kexitableedit.h
index d5c4b7e84..a29d32ac3 100644
--- a/src/widget/tableview/kexitableedit.h
+++ b/src/widget/tableview/kexitableedit.h
@@ -72,13 +72,13 @@ public:
     virtual void resize(int w, int h);
 
     /*! \return the view widget of this editor, e.g. line edit widget. */
-    virtual QWidget* widget();
+    virtual QWidget* widget() override;
 
     /*! Hides item's widget, if available. */
-    virtual void hideWidget();
+    virtual void hideWidget() override;
 
     /*! Shows item's widget, if available. */
-    virtual void showWidget();
+    virtual void showWidget() override;
 
     /*! Paints a border for the cell described by \a x, \a y, \a w, \a h on \a p painter.
      The cell's value is \a val (may be useful if you want to reimplement this method).
@@ -209,7 +209,7 @@ private:
         virtual ~factoryclassname(); \
         \
     protected: \
-        virtual KexiTableEdit* createEditor(KDbTableViewColumn *column, QWidget* parent = 0); \
+        virtual KexiTableEdit* createEditor(KDbTableViewColumn *column, QWidget* parent = 0) override; \
     };
 
 //! Implementation of cell editor factory
diff --git a/src/widget/tableview/kexitimetableedit.h b/src/widget/tableview/kexitimetableedit.h
index 86a5b01b2..fc24ee610 100644
--- a/src/widget/tableview/kexitimetableedit.h
+++ b/src/widget/tableview/kexitimetableedit.h
@@ -37,23 +37,23 @@ public:
     explicit KexiTimeTableEdit(KDbTableViewColumn *column, QWidget *parent = 0);
     virtual ~KexiTimeTableEdit();
     virtual void setupContents(QPainter *p, bool focused, const QVariant& val,
-                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h);
-    virtual QVariant value();
-    virtual bool valueIsNull();
-    virtual bool valueIsEmpty();
-    virtual bool valueIsValid();
-    virtual bool valueChanged();
+                               QString &txt, int &align, int &x, int &y_offset, int &w, int &h) override;
+    virtual QVariant value() override;
+    virtual bool valueIsNull() override;
+    virtual bool valueIsEmpty() override;
+    virtual bool valueIsValid() override;
+    virtual bool valueChanged() override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleAction(const QString& actionName);
+    virtual void handleAction(const QString& actionName) override;
 
     /*! Reimplemented after KexiInputTableEdit. */
-    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue);
+    virtual void handleCopyAction(const QVariant& value, const QVariant& visibleValue) override;
 
 protected:
     //! helper
     void setValueInInternalEditor(const QVariant &value);
-    virtual void setValueInternal(const QVariant& add, bool removeOld);
+    virtual void setValueInternal(const QVariant& add, bool removeOld) override;
     QTime timeValue();
 
     //! Used to format and convert time values
diff --git a/src/widget/undo/kundo2model.h b/src/widget/undo/kundo2model.h
index 13237e619..2a0ffc72a 100644
--- a/src/widget/undo/kundo2model.h
+++ b/src/widget/undo/kundo2model.h
@@ -73,11 +73,11 @@ public:
     KUndo2QStack *stack() const;
 
     virtual QModelIndex index(int row, int column,
-                              const QModelIndex &parent = QModelIndex()) const;
-    virtual QModelIndex parent(const QModelIndex &child) const;
-    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
-    virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
-    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+                              const QModelIndex &parent = QModelIndex()) const override;
+    virtual QModelIndex parent(const QModelIndex &child) const override;
+    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
+    virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override;
+    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
 
     QModelIndex selectedIndex() const;
     QItemSelectionModel *selectionModel() const;
diff --git a/src/widget/utils/KexiDockableWidget.h b/src/widget/utils/KexiDockableWidget.h
index b2e3d0a34..81f7ebf8a 100644
--- a/src/widget/utils/KexiDockableWidget.h
+++ b/src/widget/utils/KexiDockableWidget.h
@@ -46,7 +46,7 @@ public:
     //! @return widget that has been set as a child.
     QWidget *widget() const;
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
     void setSizeHint(const QSize& size);
 
diff --git a/src/widget/utils/kexicomboboxdropdownbutton.cpp b/src/widget/utils/kexicomboboxdropdownbutton.cpp
index 2c57701af..6a0cbddc2 100644
--- a/src/widget/utils/kexicomboboxdropdownbutton.cpp
+++ b/src/widget/utils/kexicomboboxdropdownbutton.cpp
@@ -36,7 +36,7 @@ public:
     }
     virtual ~KexiComboBoxDropDownButtonStyle() {}
     virtual void drawComplexControl(ComplexControl control, const QStyleOptionComplex * option,
-                                    QPainter * painter, const QWidget * widget = 0) const
+                                    QPainter * painter, const QWidget * widget = 0) const override
     {
         QStyleOptionToolButton opt(*qstyleoption_cast<const QStyleOptionToolButton*>(option));
         opt.state |= (State_MouseOver | State_DownArrow | State_Sunken);
diff --git a/src/widget/utils/kexicomboboxdropdownbutton.h b/src/widget/utils/kexicomboboxdropdownbutton.h
index baa3c0e6d..6d24d8443 100644
--- a/src/widget/utils/kexicomboboxdropdownbutton.h
+++ b/src/widget/utils/kexicomboboxdropdownbutton.h
@@ -35,7 +35,7 @@ public:
     virtual ~KexiComboBoxDropDownButton();
 
 protected:
-    virtual bool event(QEvent *event);
+    virtual bool event(QEvent *event) override;
 
 private:
     void styleChanged();
diff --git a/src/widget/utils/kexidropdownbutton.cpp b/src/widget/utils/kexidropdownbutton.cpp
index 2c18c17c0..7dd5c45a6 100644
--- a/src/widget/utils/kexidropdownbutton.cpp
+++ b/src/widget/utils/kexidropdownbutton.cpp
@@ -40,7 +40,7 @@ public:
     virtual ~KexiDropDownButtonStyle() {}
 
     virtual void drawComplexControl( ComplexControl control, const QStyleOptionComplex * option,
-        QPainter * painter, const QWidget * widget = 0 ) const
+        QPainter * painter, const QWidget * widget = 0 ) const override
     {
         if (control == CC_ToolButton && qstyleoption_cast<const QStyleOptionToolButton *>(option)) {
             QStyleOptionToolButton newOption(*qstyleoption_cast<const QStyleOptionToolButton *>(option));
@@ -52,7 +52,7 @@ public:
         QProxyStyle::drawComplexControl(control, option, painter, widget);
     }
 
-    virtual int styleHint( StyleHint hint, const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0 ) const
+    virtual int styleHint( StyleHint hint, const QStyleOption * option = 0, const QWidget * widget = 0, QStyleHintReturn * returnData = 0 ) const override
     {
         if (hint == QStyle::SH_ToolButton_PopupDelay) {
             return 0;
diff --git a/src/widget/utils/kexidropdownbutton.h b/src/widget/utils/kexidropdownbutton.h
index a9b160021..e37f95d9b 100644
--- a/src/widget/utils/kexidropdownbutton.h
+++ b/src/widget/utils/kexidropdownbutton.h
@@ -36,11 +36,11 @@ public:
     explicit KexiDropDownButton(QWidget *parent = 0);
     virtual ~KexiDropDownButton();
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
 protected:
-    virtual void paintEvent(QPaintEvent *e);
-    virtual void keyPressEvent(QKeyEvent * e);
+    virtual void paintEvent(QPaintEvent *e) override;
+    virtual void keyPressEvent(QKeyEvent * e) override;
 };
 
 #endif
diff --git a/src/widget/utils/kexirecordnavigator.h b/src/widget/utils/kexirecordnavigator.h
index 39724b743..e6c0e9a74 100644
--- a/src/widget/utils/kexirecordnavigator.h
+++ b/src/widget/utils/kexirecordnavigator.h
@@ -66,7 +66,7 @@ public:
 
     /*! Sets record navigator handler. This allows to react
      on actions performed within navigator and vice versa. */
-    void setRecordHandler(KexiRecordNavigatorHandler *handler);
+    void setRecordHandler(KexiRecordNavigatorHandler *handler) override;
 
     /*! \return true if data inserting is enabled (the default). */
     bool isInsertingEnabled() const;
@@ -83,7 +83,7 @@ public:
      in QScrollView::setHBarGeometry() implementations:
      see KexiTableView::setHBarGeometry() and KexiFormScrollView::setHBarGeometry()
      for usage examples. */
-    virtual void setHBarGeometry(QScrollBar & hbar, int x, int y, int w, int h);
+    virtual void setHBarGeometry(QScrollBar & hbar, int x, int y, int w, int h) override;
 
     /*! \return true if "editing" indicator is visible for this navigator.
      @see showEditingIndicator() */
@@ -122,10 +122,10 @@ public:
 
 public Q_SLOTS:
     /*! Sets insertingEnabled flag. If true, "+" button will be enabled. */
-    void setInsertingEnabled(bool set);
+    void setInsertingEnabled(bool set) override;
 
     /*! Sets visibility of "inserting" button. */
-    void setInsertingButtonVisible(bool set);
+    void setInsertingButtonVisible(bool set) override;
 
     /*! Sets visibility of the place where "editing" indicator will be displayed.
      "editing" indicator will display KexiRecordMarker::penImage() image when
@@ -135,7 +135,7 @@ public Q_SLOTS:
     void setEditingIndicatorEnabled(bool set);
 
     /*! Shows or hides "editing" indicator. */
-    virtual void showEditingIndicator(bool show);
+    virtual void showEditingIndicator(bool show) override;
 
     virtual void setEnabled(bool set);
 
@@ -143,16 +143,16 @@ public Q_SLOTS:
      i.e. a value that will be displayed in the 'record number' text box.
      This can also affect button's enabling and disabling.
      @p r is counted from 1; if it is 0 'record number' text box's content is cleared. */
-    virtual void setCurrentRecordNumber(int r);
+    virtual void setCurrentRecordNumber(int r) override;
 
     /*! Sets record count for this navigator.
      This can also affect button's enabling and disabling.
      By default count is 0. */
-    virtual void setRecordCount(int count);
+    virtual void setRecordCount(int count) override;
 
     /*! Sets label text at the left of the for record navigator's button.
      By default this label contains translated "Record:" text. */
-    virtual void setLabelText(const QString& text);
+    virtual void setLabelText(const QString& text) override;
 
     void setButtonToolTipText(KexiRecordNavigator::Button btn, const QString& tooltip);
     void setButtonWhatsThisText(KexiRecordNavigator::Button btn, const QString& whatsThis);
@@ -175,14 +175,14 @@ protected Q_SLOTS:
 
 protected:
     //! @internal used for keyboard handling.
-    virtual bool eventFilter(QObject *o, QEvent *e);
+    virtual bool eventFilter(QObject *o, QEvent *e) override;
 
-    virtual void wheelEvent(QWheelEvent *e);
+    virtual void wheelEvent(QWheelEvent *e) override;
 
-    virtual void resizeEvent(QResizeEvent *e);
+    virtual void resizeEvent(QResizeEvent *e) override;
 
     QToolButton* createAction(const KGuiItem& item);
-    virtual void paintEvent(QPaintEvent* pe);
+    virtual void paintEvent(QPaintEvent* pe) override;
     void updateButtons(int recCnt);
 
     class Private;
diff --git a/src/widget/utils/kexitooltip.h b/src/widget/utils/kexitooltip.h
index 170d48c15..4eb2ee1c7 100644
--- a/src/widget/utils/kexitooltip.h
+++ b/src/widget/utils/kexitooltip.h
@@ -34,13 +34,13 @@ public:
     explicit KexiToolTip(const QVariant& value, QWidget* parent = 0);
     virtual ~KexiToolTip();
 
-    virtual QSize sizeHint() const;
+    virtual QSize sizeHint() const override;
 
 public Q_SLOTS:
     virtual void show();
 
 protected:
-    virtual void paintEvent(QPaintEvent *pev);
+    virtual void paintEvent(QPaintEvent *pev) override;
     virtual void drawFrame(QPainter& p);
     virtual void drawContents(QPainter& p);
 
-- 
2.35.3