git: 6880d50e132d - main - editors/calligra: switch to C++17 for upcoming poppler
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 21 Jan 2022 21:41:55 UTC
The branch main has been updated by adridg:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6880d50e132d02fea3d8272a7109ae85ae5a2419
commit 6880d50e132d02fea3d8272a7109ae85ae5a2419
Author: Adriaan de Groot <adridg@FreeBSD.org>
AuthorDate: 2022-01-17 18:33:00 +0000
Commit: Adriaan de Groot <adridg@FreeBSD.org>
CommitDate: 2022-01-21 21:41:06 +0000
editors/calligra: switch to C++17 for upcoming poppler
This is a fix-it-before-it-breaks commit. Upcoming poppler update
requires C++17 in consumers, while Calligra was fixed on C++14.
There is no upstream release for this.
This is a mess: the upstream repo contains fixes, but they're
mostly committed as "fix warnings" and many commits combine C++17-
related fixes with other bits and pieces. As a result, there's
some direct upstream patches now in files/ and a big glommed-
together one put together from parts of other commits.
PR: 260956
---
editors/calligra/Makefile | 2 +-
...h-068cd9aec11052733e393976142516d2190e4564.diff | 46 +
...h-5e47d9cd114db9d97e28e31869919bba545a979d.diff | 127 ++
editors/calligra/files/patch-CMakeLists.txt | 26 +-
editors/calligra/files/patch-cxx17.diff | 1421 ++++++++++++++++++++
5 files changed, 1616 insertions(+), 6 deletions(-)
diff --git a/editors/calligra/Makefile b/editors/calligra/Makefile
index 77b6f28e0be6..fa62d665b78a 100644
--- a/editors/calligra/Makefile
+++ b/editors/calligra/Makefile
@@ -36,7 +36,7 @@ LIB_DEPENDS= libImath.so:math/Imath \
BUILD_DEPENDS= pstoedit:graphics/pstoedit
RUN_DEPENDS= pstoedit:graphics/pstoedit
-USES= cmake cpe compiler:c++11-lib desktop-file-utils eigen:3 \
+USES= cmake cpe compiler:c++17-lang desktop-file-utils eigen:3 \
gettext iconv:translit jpeg kde:5 localbase:ldflags perl5 \
pkgconfig qca qt:5 shared-mime-info sqlite tar:xz xorg
USE_KDE= akonadicontacts activities archive auth bookmarks codecs completion \
diff --git a/editors/calligra/files/patch-068cd9aec11052733e393976142516d2190e4564.diff b/editors/calligra/files/patch-068cd9aec11052733e393976142516d2190e4564.diff
new file mode 100644
index 000000000000..ae8cc3f89eb0
--- /dev/null
+++ b/editors/calligra/files/patch-068cd9aec11052733e393976142516d2190e4564.diff
@@ -0,0 +1,46 @@
+Part of this commit, which fixes build in C++17
+
+commit 068cd9aec11052733e393976142516d2190e4564
+Author: Pierre Ducroquet <pinaraf@pinaraf.info>
+Date: Sun Feb 28 23:23:02 2021 +0100
+
+ Fix some more warnings
+
+diff --git filters/words/msword-odf/wv2/src/styles.h filters/words/msword-odf/wv2/src/styles.h
+index ba02def6845..41c8278dd21 100644
+--- filters/words/msword-odf/wv2/src/styles.h
++++ filters/words/msword-odf/wv2/src/styles.h
+@@ -58,8 +58,9 @@ struct STD
+ STD();
+ /**
+ * Simply calls read(...)
++ * @throw InvalidFormatException
+ */
+- STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
++ STD( U16 stdfSize, U16 totalSize, OLEStreamReader* stream, bool preservePos = false );
+ /**
+ * Attention: This struct allocates memory on the heap
+ */
+@@ -74,8 +75,9 @@ struct STD
+ * false the state of stream will be changed!
+ *
+ * @return true - success, false - failed
++ * @throw InvalidFormatException
+ */
+- bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false ) throw(InvalidFormatException);
++ bool read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos = false );
+
+ /**
+ * Same as reading :)
+@@ -365,7 +367,10 @@ private:
+ class WV2_EXPORT StyleSheet
+ {
+ public:
+- StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException);
++ /**
++ * @throw InvalidFormatException
++ */
++ StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf );
+ ~StyleSheet();
+
+ /**
diff --git a/editors/calligra/files/patch-5e47d9cd114db9d97e28e31869919bba545a979d.diff b/editors/calligra/files/patch-5e47d9cd114db9d97e28e31869919bba545a979d.diff
new file mode 100644
index 000000000000..4cc5b1e4be04
--- /dev/null
+++ b/editors/calligra/files/patch-5e47d9cd114db9d97e28e31869919bba545a979d.diff
@@ -0,0 +1,127 @@
+diff --git filters/libmsooxml/CMakeLists.txt filters/libmsooxml/CMakeLists.txt
+index cd5b597d319..b243cf875eb 100644
+--- filters/libmsooxml/CMakeLists.txt
++++ filters/libmsooxml/CMakeLists.txt
+@@ -2,11 +2,6 @@ if(Qca-qt5_FOUND)
+ add_definitions( -DHAVE_QCA2 )
+ endif()
+
+-# TEMPORARY: for std::auto_ptr deprecation warnings are only annoying noise
+-if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUC)
+- add_definitions(-Wno-deprecated-declarations)
+-endif ()
+-
+ include_directories(
+ ${KOMAIN_INCLUDES}
+ ${KOODF2_INCLUDES} # For charts
+diff --git filters/libmsooxml/MsooXmlImport.cpp filters/libmsooxml/MsooXmlImport.cpp
+index 8876988220f..c873a998413 100644
+--- filters/libmsooxml/MsooXmlImport.cpp
++++ filters/libmsooxml/MsooXmlImport.cpp
+@@ -594,8 +594,8 @@ KoFilter::ConversionStatus MsooXmlImport::imageFromFile(const QString& sourceNam
+ QString errorMessage;
+ KoFilter::ConversionStatus status = KoFilter::OK;
+
+- std::auto_ptr<QIODevice> inputDevice(Utils::openDeviceForFile(m_zip, errorMessage, sourceName, status));
+- if (!inputDevice.get()) {
++ std::unique_ptr<QIODevice> inputDevice(Utils::openDeviceForFile(m_zip, errorMessage, sourceName, status));
++ if (!inputDevice) {
+ return status;
+ }
+ QImageReader r(inputDevice.get(), QFileInfo(sourceName).suffix().toLatin1());
+diff --git filters/libmsooxml/MsooXmlThemesReader.cpp filters/libmsooxml/MsooXmlThemesReader.cpp
+index 5818a5caf03..9919d7f1ffb 100644
+--- filters/libmsooxml/MsooXmlThemesReader.cpp
++++ filters/libmsooxml/MsooXmlThemesReader.cpp
+@@ -736,14 +736,14 @@ KoFilter::ConversionStatus MsooXmlThemesReader::read_color()
+ */
+ KoFilter::ConversionStatus MsooXmlThemesReader::read_srgbClr_local()
+ {
+- std::auto_ptr<DrawingMLColorSchemeItem> color(new DrawingMLColorSchemeItem);
++ std::unique_ptr<DrawingMLColorSchemeItem> color(new DrawingMLColorSchemeItem);
+ m_currentColor_local = 0;
+ READ_PROLOGUE
+ const QXmlStreamAttributes attrs(attributes());
+
+ READ_ATTR_WITHOUT_NS(val)
+- color.get()->color = Utils::ST_HexColorRGB_to_QColor(val);
+- //debugMsooXml << color.get()->color;
++ color->color = Utils::ST_HexColorRGB_to_QColor(val);
++ //debugMsooXml << color->color;
+
+ readNext();
+ READ_EPILOGUE_WITHOUT_RETURN
+@@ -841,19 +841,19 @@ KoFilter::ConversionStatus MsooXmlThemesReader::read_srgbClr_local()
+ */
+ KoFilter::ConversionStatus MsooXmlThemesReader::read_sysClr_local()
+ {
+- std::auto_ptr<DrawingMLColorSchemeSystemItem> color(new DrawingMLColorSchemeSystemItem);
++ std::unique_ptr<DrawingMLColorSchemeSystemItem> color(new DrawingMLColorSchemeSystemItem);
+ m_currentColor_local = 0;
+ READ_PROLOGUE
+ const QXmlStreamAttributes attrs(attributes());
+
+ READ_ATTR_WITHOUT_NS(lastClr)
+- color.get()->lastColor = Utils::ST_HexColorRGB_to_QColor(lastClr);
+-// debugMsooXml << "lastClr:" << color.get()->lastColor.name();
++ color->lastColor = Utils::ST_HexColorRGB_to_QColor(lastClr);
++// debugMsooXml << "lastClr:" << color->lastColor.name();
+
+ // System color value. This color is based upon the value that this color
+ // currently has within the system on which the document is being viewed.
+- READ_ATTR_WITHOUT_NS_INTO(val, color.get()->systemColor)
+-// debugMsooXml << "val:" << color.get()->systemColor;
++ READ_ATTR_WITHOUT_NS_INTO(val, color->systemColor)
++// debugMsooXml << "val:" << color->systemColor;
+
+ readNext();
+ READ_EPILOGUE_WITHOUT_RETURN
+diff --git filters/libmsooxml/MsooXmlUtils.cpp filters/libmsooxml/MsooXmlUtils.cpp
+index 49f8faea449..99460c28df9 100644
+--- filters/libmsooxml/MsooXmlUtils.cpp
++++ filters/libmsooxml/MsooXmlUtils.cpp
+@@ -189,8 +189,8 @@ KoFilter::ConversionStatus Utils::loadAndParse(KoXmlDocument& doc, const KZip* z
+ {
+ errorMessage.clear();
+ KoFilter::ConversionStatus status;
+- std::auto_ptr<QIODevice> device(openDeviceForFile(zip, errorMessage, fileName, status));
+- if (!device.get())
++ std::unique_ptr<QIODevice> device(openDeviceForFile(zip, errorMessage, fileName, status));
++ if (!device)
+ return status;
+ return loadAndParse(device.get(), doc, errorMessage, fileName);
+ }
+@@ -205,8 +205,8 @@ KoFilter::ConversionStatus Utils::loadAndParseDocument(MsooXmlReader* reader,
+ Q_UNUSED(writers)
+ errorMessage.clear();
+ KoFilter::ConversionStatus status;
+- std::auto_ptr<QIODevice> device(openDeviceForFile(zip, errorMessage, fileName, status));
+- if (!device.get())
++ std::unique_ptr<QIODevice> device(openDeviceForFile(zip, errorMessage, fileName, status));
++ if (!device)
+ return status;
+ reader->setDevice(device.get());
+ reader->setFileName(fileName); // for error reporting
+@@ -389,9 +389,9 @@ KoFilter::ConversionStatus Utils::copyFile(const KZip* zip, QString& errorMessag
+ return status;
+ }
+
+- std::auto_ptr<QIODevice> inputDevice = std::auto_ptr<QIODevice>(Utils::openDeviceForFile(zip, errorMessage, sourceName, status));
++ std::unique_ptr<QIODevice> inputDevice(Utils::openDeviceForFile(zip, errorMessage, sourceName, status));
+
+- if (!inputDevice.get()) {
++ if (!inputDevice) {
+ return status;
+ }
+
+@@ -423,8 +423,8 @@ KoFilter::ConversionStatus Utils::imageSize(const KZip* zip, QString& errorMessa
+ {
+ Q_ASSERT(size);
+ KoFilter::ConversionStatus status;
+- std::auto_ptr<QIODevice> inputDevice(Utils::openDeviceForFile(zip, errorMessage, sourceName, status));
+- if (!inputDevice.get()) {
++ std::unique_ptr<QIODevice> inputDevice(Utils::openDeviceForFile(zip, errorMessage, sourceName, status));
++ if (!inputDevice) {
+ return status;
+ }
+ QImageReader r(inputDevice.get(), QFileInfo(sourceName).suffix().toLatin1());
diff --git a/editors/calligra/files/patch-CMakeLists.txt b/editors/calligra/files/patch-CMakeLists.txt
index d9be84715185..7eeb9939dcdf 100644
--- a/editors/calligra/files/patch-CMakeLists.txt
+++ b/editors/calligra/files/patch-CMakeLists.txt
@@ -1,10 +1,26 @@
-Fix build against KDE Frameworks 5.83
-(no longer ships find module, and the
-cmake default one is used).
+- Use the C++ setting from "outside"; ECM uses modern C++ by default now
+- Fix build against KDE Frameworks 5.83
+ (no longer ships find module, and the
+ cmake default one is used).
---- CMakeLists.txt.orig 2021-07-09 21:31:30 UTC
+--- CMakeLists.txt.orig 2020-05-14 06:53:49 UTC
+++ CMakeLists.txt
-@@ -641,8 +641,8 @@ if(NOT WIN32 AND NOT APPLE)
+@@ -104,13 +104,7 @@ if(NOT DEFINED RELEASE_BUILD)
+ endif()
+ message(STATUS "Release build: ${RELEASE_BUILD}")
+
+-# use CPP-11
+-if (CMAKE_VERSION VERSION_LESS "3.1")
+- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+-else ()
+- set (CMAKE_CXX_STANDARD 11)
+-endif ()
+-
++ set (CMAKE_CXX_STANDARD 17)
+ ############
+ #############
+ ## Options ##
+@@ -641,8 +634,8 @@ if(NOT WIN32 AND NOT APPLE)
)
endif()
diff --git a/editors/calligra/files/patch-cxx17.diff b/editors/calligra/files/patch-cxx17.diff
new file mode 100644
index 000000000000..abd5819f2c0e
--- /dev/null
+++ b/editors/calligra/files/patch-cxx17.diff
@@ -0,0 +1,1421 @@
+diff --git filters/words/msword-odf/wv2/src/word97_helper.cpp filters/words/msword-odf/wv2/src/word97_helper.cpp
+index a02cbda0077..759d18e2206 100644
+--- filters/words/msword-odf/wv2/src/word97_helper.cpp
++++ filters/words/msword-odf/wv2/src/word97_helper.cpp
+@@ -30,7 +30,7 @@
+
+ #include <string.h> // memcpy
+ #include <algorithm>
+-#include <functional> // std::bind2nd for gcc 2.9x
++#include <functional>
+ #include <cstdlib>
+
+ #include "wvlog.h"
+@@ -921,7 +921,8 @@ S16 PAP::applyPAPSPRM( const U8* ptr, const Style* style, const StyleSheet* styl
+ std::vector<TabDescriptor>::iterator newEnd = rgdxaTab.end();
+ for ( U8 i = 0; i < itbdDelMax; ++i ) {
+ newEnd = std::remove_if ( rgdxaTab.begin(), newEnd,
+- std::bind2nd( InZone(), Zone( myPtr, i, itbdDelMax ) ) );
++ [z=Zone(myPtr, i, itbdDelMax ), f=InZone()](const TabDescriptor& t){ return f(t, z); }
++ );
+ }
+ rgdxaTab.erase( newEnd, rgdxaTab.end() ); // really get rid of them
+ myPtr += itbdDelMax * 4;
+@@ -2343,7 +2344,8 @@ S16 TAP::applyTAPSPRM( const U8* ptr, const Style* style, const StyleSheet* styl
+ // Adjust all successive items (+= ctc * dxaCol)
+ std::transform( rgdxaCenter.begin() + itcFirst + ctc, rgdxaCenter.end(),
+ rgdxaCenter.begin() + itcFirst + ctc,
+- std::bind1st( std::plus<S16>(), ctc * dxaCol ) );
++ [x = ctc * dxaCol, f=std::plus<S16>()](S16 y){ return f(x, y); }
++ );
+ }
+ break;
+ }
+@@ -2382,7 +2384,8 @@ S16 TAP::applyTAPSPRM( const U8* ptr, const Style* style, const StyleSheet* styl
+ ++itcFirst;
+ std::transform( rgdxaCenter.begin() + itcFirst, rgdxaCenter.end(),
+ rgdxaCenter.begin() + itcFirst,
+- std::bind2nd( std::minus<S16>(), shift ) );
++ [y=shift, f=std::minus<S16>()](S16 x){ return f(x, y); }
++ );
+ break;
+ }
+ case SPRM::sprmTMerge:
+diff --git sheets/part/Digest.cpp sheets/part/Digest.cpp
+index 5d25c852ae3..8cd972db989 100644
+--- sheets/part/Digest.cpp
++++ sheets/part/Digest.cpp
+@@ -250,8 +250,8 @@ typedef struct digest_impl_st {
+ */
+ static void __rtl_digest_swapLong(sal_uInt32 *pData, sal_uInt32 nDatLen)
+ {
+- register sal_uInt32 *X;
+- register int i, n;
++ sal_uInt32 *X;
++ int i, n;
+
+ X = pData;
+ n = nDatLen;
+@@ -465,10 +465,10 @@ static void __rtl_digest_initSHA(
+ */
+ static void __rtl_digest_updateSHA(DigestContextSHA *ctx)
+ {
+- register sal_uInt32 A, B, C, D, E, T;
+- register sal_uInt32 *X;
++ sal_uInt32 A, B, C, D, E, T;
++ sal_uInt32 *X;
+
+- register DigestSHA_update_t *U;
++ DigestSHA_update_t *U;
+ U = ctx->m_update;
+
+ A = ctx->m_nA;
+@@ -577,10 +577,10 @@ static void __rtl_digest_endSHA(DigestContextSHA *ctx)
+ static const sal_uInt8 end[4] = {
+ 0x80, 0x00, 0x00, 0x00
+ };
+- register const sal_uInt8 *p = end;
++ const sal_uInt8 *p = end;
+
+- register sal_uInt32 *X;
+- register int i;
++ sal_uInt32 *X;
++ int i;
+
+ X = ctx->m_pData;
+ i = (ctx->m_nDatLen >> 2);
+diff --git filters/words/msword-odf/wv2/src/word_helper.h filters/words/msword-odf/wv2/src/word_helper.h
+index e561083d556..d153ceb7593 100644
+--- filters/words/msword-odf/wv2/src/word_helper.h
++++ filters/words/msword-odf/wv2/src/word_helper.h
+@@ -322,6 +322,11 @@ namespace wvWare
+ {
+ friend PLCFIterator<T> PLCF<T>::at( unsigned int ) const;
+ public:
++ PLCFIterator(PLCFIterator &&other)
++ : m_plcf(std::move(other.m_plcf)),
++ m_itemIt(std::move(other.m_itemIt)),
++ m_indexIt(std::move(other.m_indexIt)) {}
++
+ PLCFIterator( const PLCF<T>& plcf ) : m_plcf( plcf )
+ {
+ m_itemIt = m_plcf.m_items.begin();
+@@ -345,7 +350,8 @@ namespace wvWare
+
+ private:
+ // don't assign it
+- PLCFIterator<T>& operator=( const PLCFIterator<T>& rhs );
++ PLCFIterator( const PLCFIterator<T> &other) = delete;
++ PLCFIterator<T>& operator=( const PLCFIterator<T>& rhs ) = delete;
+
+ const PLCF<T>& m_plcf;
+ typename std::vector<T*>::const_iterator m_itemIt;
+diff --git sheets/part/CanvasBase.cpp sheets/part/CanvasBase.cpp
+index adbd42606d7..e52906c9408 100644
+--- sheets/part/CanvasBase.cpp
++++ sheets/part/CanvasBase.cpp
+@@ -230,7 +230,7 @@ bool CanvasBase::eventFilter(QObject *o, QEvent *e)
+
+ void CanvasBase::validateSelection()
+ {
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ if (!sheet)
+ return;
+ #if 0
+@@ -443,7 +443,7 @@ void CanvasBase::paint(QPainter* painter, const QRectF& painterRect)
+ if (doc()->map()->isLoading() || isViewLoading())
+ return;
+
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ if (!sheet)
+ return;
+
+@@ -513,7 +513,7 @@ bool CanvasBase::dragEnter(const QMimeData* mimeData)
+
+ bool CanvasBase::dragMove(const QMimeData* mimeData, const QPointF& eventPos, const QObject *source)
+ {
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ if (!sheet) {
+ return false;
+ }
+@@ -596,7 +596,7 @@ void CanvasBase::dragLeave()
+
+ bool CanvasBase::drop(const QMimeData* mimeData, const QPointF& eventPos, const QObject *source)
+ {
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ // FIXME Sheet protection: Not all cells have to be protected.
+ if (!sheet || sheet->isProtected()) {
+ return false;
+@@ -656,7 +656,7 @@ bool CanvasBase::drop(const QMimeData* mimeData, const QPointF& eventPos, const
+
+ QRect CanvasBase::viewToCellCoordinates(const QRectF& viewRect) const
+ {
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ if (!sheet)
+ return QRect();
+
+@@ -685,7 +685,7 @@ QRect CanvasBase::visibleCells() const
+
+ QRectF CanvasBase::cellCoordinatesToView(const QRect& cellRange) const
+ {
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ if (!sheet)
+ return QRectF();
+
+@@ -706,7 +706,7 @@ QRectF CanvasBase::cellCoordinatesToView(const QRect& cellRange) const
+
+ void CanvasBase::showToolTip(const QPoint& p)
+ {
+- register Sheet * const sheet = activeSheet();
++ Sheet * const sheet = activeSheet();
+ if (!sheet)
+ return;
+ SheetView * const sheetView = this->sheetView(sheet);
+diff --git sheets/part/Headers.cpp sheets/part/Headers.cpp
+index fbc49c3f5bc..bde3704a96e 100644
+--- sheets/part/Headers.cpp
++++ sheets/part/Headers.cpp
+@@ -102,7 +102,7 @@ void RowHeader::mousePress(KoPointerEvent * _ev)
+ if (!m_cellToolIsActive)
+ return;
+
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -192,7 +192,7 @@ void RowHeader::mouseRelease(KoPointerEvent * _ev)
+
+ m_bMousePressed = false;
+
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -295,7 +295,7 @@ void RowHeader::mouseDoubleClick(KoPointerEvent*)
+ {
+ if (!m_cellToolIsActive)
+ return;
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -317,7 +317,7 @@ void RowHeader::mouseMove(KoPointerEvent* _ev)
+ return;
+ }
+
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -379,7 +379,7 @@ void RowHeader::mouseMove(KoPointerEvent* _ev)
+
+ void RowHeader::paint(QPainter* painter, const QRectF& painterRect)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -545,7 +545,7 @@ void ColumnHeader::mousePress(KoPointerEvent * _ev)
+ m_pCanvas->enableAutoScroll();
+ }
+
+- const register Sheet * const sheet = m_pCanvas->activeSheet();
++ const Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -682,7 +682,7 @@ void ColumnHeader::mouseRelease(KoPointerEvent * _ev)
+
+ m_bMousePressed = false;
+
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -794,7 +794,7 @@ void ColumnHeader::mouseDoubleClick(KoPointerEvent*)
+ {
+ if (!m_cellToolIsActive)
+ return;
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -813,7 +813,7 @@ void ColumnHeader::mouseMove(KoPointerEvent* _ev)
+ if (!m_cellToolIsActive)
+ return;
+
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+
+ if (!sheet)
+ return;
+@@ -911,7 +911,7 @@ void ColumnHeader::mouseMove(KoPointerEvent* _ev)
+
+ void ColumnHeader::resize(const QSizeF& size, const QSizeF& oldSize)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -929,7 +929,7 @@ void ColumnHeader::resize(const QSizeF& size, const QSizeF& oldSize)
+
+ void ColumnHeader::paint(QPainter* painter, const QRectF& painterRect)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+diff --git sheets/part/HeaderWidgets.cpp sheets/part/HeaderWidgets.cpp
+index e42d2dbe7e9..00f4036917f 100644
+--- sheets/part/HeaderWidgets.cpp
++++ sheets/part/HeaderWidgets.cpp
+@@ -93,10 +93,10 @@ RowHeaderWidget::RowHeaderWidget(QWidget *_parent, Canvas *_canvas, View *_view)
+ setAttribute(Qt::WA_StaticContents);
+ setMouseTracking(true);
+
+- connect(_view, SIGNAL(autoScroll(QPoint)),
+- this, SLOT(slotAutoScroll(QPoint)));
+- connect(m_pCanvas->toolProxy(), SIGNAL(toolChanged(QString)),
+- this, SLOT(toolChanged(QString)));
++ connect(_view, &View::autoScroll,
++ this, &RowHeaderWidget::slotAutoScroll);
++ connect(m_pCanvas->toolProxy(), &KoToolProxy::toolChanged,
++ this, &RowHeaderWidget::toolChanged);
+ }
+
+
+@@ -155,7 +155,7 @@ void RowHeaderWidget::wheelEvent(QWheelEvent* _ev)
+
+ void RowHeaderWidget::paintSizeIndicator(int mouseY)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -209,7 +209,7 @@ void RowHeaderWidget::removeSizeIndicator()
+
+ void RowHeaderWidget::updateRows(int from, int to)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -247,10 +247,10 @@ ColumnHeaderWidget::ColumnHeaderWidget(QWidget *_parent, Canvas *_canvas, View *
+ setAttribute(Qt::WA_StaticContents);
+ setMouseTracking(true);
+
+- connect(_view, SIGNAL(autoScroll(QPoint)),
+- this, SLOT(slotAutoScroll(QPoint)));
+- connect(m_pCanvas->toolProxy(), SIGNAL(toolChanged(QString)),
+- this, SLOT(toolChanged(QString)));
++ connect(_view, &View::autoScroll,
++ this, &ColumnHeaderWidget::slotAutoScroll);
++ connect(m_pCanvas->toolProxy(), &KoToolProxy::toolChanged,
++ this, &ColumnHeaderWidget::toolChanged);
+ }
+
+
+@@ -314,7 +314,7 @@ void ColumnHeaderWidget::resizeEvent(QResizeEvent* _ev)
+
+ void ColumnHeaderWidget::paintSizeIndicator(int mouseX)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -379,7 +379,7 @@ void ColumnHeaderWidget::removeSizeIndicator()
+
+ void ColumnHeaderWidget::updateColumns(int from, int to)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -416,8 +416,8 @@ SelectAllButtonWidget::SelectAllButtonWidget(CanvasBase* canvasBase)
+ : QWidget(canvasBase->canvasWidget())
+ , SelectAllButton(canvasBase)
+ {
+- connect(canvasBase->toolProxy(), SIGNAL(toolChanged(QString)),
+- this, SLOT(toolChanged(QString)));
++ connect(canvasBase->toolProxy(), &KoToolProxy::toolChanged,
++ this, &SelectAllButtonWidget::toolChanged);
+ }
+
+ SelectAllButtonWidget::~SelectAllButtonWidget()
+diff --git filters/words/msword-odf/wv2/src/styles.cpp filters/words/msword-odf/wv2/src/styles.cpp
+index f47c3dd8d51..d2c96e3d92b 100644
+--- filters/words/msword-odf/wv2/src/styles.cpp
++++ filters/words/msword-odf/wv2/src/styles.cpp
+@@ -42,7 +42,6 @@ STD::STD()
+ }
+
+ STD::STD( U16 baseSize, U16 totalSize, OLEStreamReader* stream, bool preservePos )
+-throw(InvalidFormatException)
+ {
+ clearInternal();
+ if (!read( baseSize, totalSize, stream, preservePos )) {
+@@ -112,7 +111,6 @@ STD& STD::operator=( const STD& rhs )
+ }
+
+ bool STD::read( const U16 cbStd, const U16 stdfSize, OLEStreamReader* stream, bool preservePos )
+-throw(InvalidFormatException)
+ {
+ U16 shifterU16;
+ S32 startOffset=stream->tell(); // address where the STD starts
+@@ -938,7 +936,7 @@ void Style::mergeUpechpx( const Style* parentStyle, WordVersion version )
+ }
+
+
+-StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf ) throw(InvalidFormatException)
++StyleSheet::StyleSheet( OLEStreamReader* tableStream, U32 fcStshf, U32 lcbStshf )
+ : m_udsNum(0)
+ {
+ WordVersion version = Word8;
+diff --git sheets/part/HeaderItems.cpp sheets/part/HeaderItems.cpp
+index 6b0bc3865b5..f517d4f9d1c 100644
+--- sheets/part/HeaderItems.cpp
++++ sheets/part/HeaderItems.cpp
+@@ -96,8 +96,8 @@ RowHeaderItem::RowHeaderItem(QGraphicsItem *_parent, CanvasItem *_canvas)
+
+ //connect(m_pView, SIGNAL(autoScroll(QPoint)),
+ //this, SLOT(slotAutoScroll(QPoint)));
+- connect(m_pCanvas->toolProxy(), SIGNAL(toolChanged(QString)),
+- this, SLOT(toolChanged(QString)));
++ connect(m_pCanvas->toolProxy(), &KoToolProxy::toolChanged,
++ this, &RowHeaderItem::toolChanged);
+
+ setFlag(ItemClipsToShape, true);
+ }
+@@ -161,7 +161,7 @@ void RowHeaderItem::wheelEvent(QGraphicsSceneWheelEvent* _ev)
+
+ void RowHeaderItem::paintSizeIndicator(int mouseY)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -216,7 +216,7 @@ void RowHeaderItem::removeSizeIndicator()
+
+ void RowHeaderItem::updateRows(int from, int to)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -256,8 +256,8 @@ ColumnHeaderItem::ColumnHeaderItem(QGraphicsItem *_parent, CanvasItem *_canvas)
+
+ //connect(_view, SIGNAL(autoScroll(QPoint)),
+ //this, SLOT(slotAutoScroll(QPoint)));
+- connect(_canvas->toolProxy(), SIGNAL(toolChanged(QString)),
+- this, SLOT(toolChanged(QString)));
++ connect(_canvas->toolProxy(), &KoToolProxy::toolChanged,
++ this, &ColumnHeaderItem::toolChanged);
+
+ setFlag(ItemClipsToShape, true);
+ }
+@@ -324,7 +324,7 @@ void ColumnHeaderItem::resizeEvent(QGraphicsSceneResizeEvent* _ev)
+
+ void ColumnHeaderItem::paintSizeIndicator(int mouseX)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -389,7 +389,7 @@ void ColumnHeaderItem::removeSizeIndicator()
+
+ void ColumnHeaderItem::updateColumns(int from, int to)
+ {
+- register Sheet * const sheet = m_pCanvas->activeSheet();
++ Sheet * const sheet = m_pCanvas->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -434,8 +434,8 @@ SelectAllButtonItem::SelectAllButtonItem(QGraphicsItem *_parent, CanvasBase* can
+ : QGraphicsWidget(_parent)
+ , SelectAllButton(canvasBase)
+ {
+- connect(canvasBase->toolProxy(), SIGNAL(toolChanged(QString)),
+- this, SLOT(toolChanged(QString)));
++ connect(canvasBase->toolProxy(), &KoToolProxy::toolChanged,
++ this, &SelectAllButtonItem::toolChanged);
+ }
+
+ SelectAllButtonItem::~SelectAllButtonItem()
+diff --git sheets/ui/CellToolBase_p.cpp sheets/ui/CellToolBase_p.cpp
+index 8b988f4a0f7..6f408b63ecb 100644
+--- sheets/ui/CellToolBase_p.cpp
++++ sheets/ui/CellToolBase_p.cpp
+@@ -246,7 +246,7 @@ void CellToolBase::Private::processArrowKey(QKeyEvent *event)
+ /* NOTE: hitting the tab key also calls this function. Don't forget
+ to account for it
+ */
+- register Sheet * const sheet = q->selection()->activeSheet();
++ Sheet * const sheet = q->selection()->activeSheet();
+ if (!sheet)
+ return;
+
+@@ -301,7 +301,7 @@ void CellToolBase::Private::processEscapeKey(QKeyEvent * event)
+
+ bool CellToolBase::Private::processHomeKey(QKeyEvent* event)
+ {
+- register Sheet * const sheet = q->selection()->activeSheet();
++ Sheet * const sheet = q->selection()->activeSheet();
+ if (!sheet)
+ return false;
+
+@@ -356,7 +356,7 @@ bool CellToolBase::Private::processHomeKey(QKeyEvent* event)
+
+ bool CellToolBase::Private::processEndKey(QKeyEvent *event)
+ {
+- register Sheet * const sheet = q->selection()->activeSheet();
++ Sheet * const sheet = q->selection()->activeSheet();
+ if (!sheet)
+ return false;
+
+@@ -439,7 +439,7 @@ bool CellToolBase::Private::processNextKey(QKeyEvent *event)
+
+ void CellToolBase::Private::processOtherKey(QKeyEvent *event)
+ {
+- register Sheet * const sheet = q->selection()->activeSheet();
++ Sheet * const sheet = q->selection()->activeSheet();
+
+ // No null character ...
+ if (event->text().isEmpty() || !q->selection()->activeSheet()->map()->isReadWrite() ||
+@@ -457,7 +457,7 @@ void CellToolBase::Private::processOtherKey(QKeyEvent *event)
+
+ bool CellToolBase::Private::processControlArrowKey(QKeyEvent *event)
+ {
+- register Sheet * const sheet = q->selection()->activeSheet();
++ Sheet * const sheet = q->selection()->activeSheet();
+ if (!sheet)
+ return false;
+
+@@ -802,7 +802,7 @@ QRect CellToolBase::Private::moveDirection(Calligra::Sheets::MoveTo direction, b
+ {
+ debugSheetsUI << "Canvas::moveDirection";
+
+- register Sheet * const sheet = q->selection()->activeSheet();
++ Sheet * const sheet = q->selection()->activeSheet();
+ if (!sheet)
+ return QRect();
+
+@@ -1261,47 +1261,47 @@ void CellToolBase::Private::createPopupMenuActions()
+ }
+
+ action = new QAction(koIcon("insertcell"), i18n("Insert Cells..."), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(insertCells()));
++ connect(action, &QAction::triggered, q, &CellToolBase::insertCells);
+ popupMenuActions.insert("insertCell", action);
+
+ action = new QAction(koIcon("removecell"), i18n("Delete Cells..."), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(deleteCells()));
++ connect(action, &QAction::triggered, q, &CellToolBase::deleteCells);
+ popupMenuActions.insert("deleteCell", action);
+
+ action = new QAction(koIcon("adjustcol"), i18n("Adjust Column"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(adjustColumn()));
++ connect(action, &QAction::triggered, q, &CellToolBase::adjustColumn);
+ popupMenuActions.insert("adjustColumn", action);
+
+ action = new QAction(koIcon("edit-table-insert-column-left"), i18n("Insert Columns"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(insertColumn()));
++ connect(action, &QAction::triggered, q, &CellToolBase::insertColumn);
+ popupMenuActions.insert("insertColumn", action);
+
+ action = new QAction(koIcon("edit-table-delete-column"), i18n("Delete Columns"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(deleteColumn()));
++ connect(action, &QAction::triggered, q, &CellToolBase::deleteColumn);
+ popupMenuActions.insert("deleteColumn", action);
+
+ action = new QAction(koIcon("adjustrow"), i18n("Adjust Row"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(adjustRow()));
++ connect(action, &QAction::triggered, q, &CellToolBase::adjustRow);
+ popupMenuActions.insert("adjustRow", action);
+
+ action = new QAction(koIcon("edit-table-insert-row-above"), i18n("Insert Rows"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(insertRow()));
++ connect(action, &QAction::triggered, q, &CellToolBase::insertRow);
+ popupMenuActions.insert("insertRow", action);
+
+ action = new QAction(koIcon("edit-table-delete-row"), i18n("Delete Rows"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(deleteRow()));
++ connect(action, &QAction::triggered, q, &CellToolBase::deleteRow);
+ popupMenuActions.insert("deleteRow", action);
+
+ action = new QAction(i18n("Selection List..."), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(listChoosePopupMenu()));
++ connect(action, &QAction::triggered, q, &CellToolBase::listChoosePopupMenu);
+ popupMenuActions.insert("listChoose", action);
+
+ action = new QAction(koIcon("edit-comment"), i18n("Comment"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(comment()));
++ connect(action, &QAction::triggered, q, &CellToolBase::comment);
+ popupMenuActions.insert("comment", action);
+
+ action = new QAction(koIcon("delete-comment"),i18n("Clear Comment"), q);
+- connect(action, SIGNAL(triggered(bool)), q, SLOT(clearComment()));
++ connect(action, &QAction::triggered, q, &CellToolBase::clearComment);
+ popupMenuActions.insert("clearComment", action);
+
+ }
+diff --git sheets/ui/CellToolBase.cpp sheets/ui/CellToolBase.cpp
+index 9a5cb545817..4847082ead2 100644
+--- sheets/ui/CellToolBase.cpp
++++ sheets/ui/CellToolBase.cpp
+@@ -185,17 +185,17 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+ action->setIconText(i18n("Format"));
+ addAction("cellStyle", action);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_F));
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(cellStyle()));
++ connect(action, &QAction::triggered, this, &CellToolBase::cellStyle);
+ action->setToolTip(i18n("Set the cell formatting"));
+
+ action = new QAction(i18n("Default"), this);
+ addAction("setDefaultStyle", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(setDefaultStyle()));
++ connect(action, &QAction::triggered, this, &CellToolBase::setDefaultStyle);
+ action->setToolTip(i18n("Resets to the default format"));
+
+ action = new QAction(i18n("Style Manager..."), this);
+ addAction("styleDialog", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(styleDialog()));
++ connect(action, &QAction::triggered, this, &CellToolBase::styleDialog);
+ action->setToolTip(i18n("Edit and organize cell styles"));
+
+ action = new KSelectAction(i18n("Style"), this);
+@@ -206,7 +206,7 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+ action = new QAction(i18n("Create Style From Cell..."), this);
+ action->setIconText(i18n("Style From Cell"));
+ addAction("createStyleFromCell", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(createStyleFromCell()));
++ connect(action, &QAction::triggered, this, &CellToolBase::createStyleFromCell);
+ action->setToolTip(i18n("Create a new style based on the currently selected cell"));
+
+ // -- font actions --
+@@ -214,21 +214,21 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+ action = new KToggleAction(koIcon("format-text-bold"), i18n("Bold"), this);
+ addAction("bold", action);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_B));
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(bold(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::bold);
+
+ action = new KToggleAction(koIcon("format-text-italic"), i18n("Italic"), this);
+ addAction("italic", action);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_I));
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(italic(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::italic);
+
+ action = new KToggleAction(koIcon("format-text-underline"), i18n("Underline"), this);
+ addAction("underline", action);
+ action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_U));
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(underline(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::underline);
+
+ action = new KToggleAction(koIcon("format-text-strikethrough"), i18n("Strike Out"), this);
+ addAction("strikeOut", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(strikeOut(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::strikeOut);
+
+ action = new KFontAction(i18n("Select Font..."), this);
+ action->setIconText(i18n("Font"));
+@@ -242,11 +242,11 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+
+ action = new QAction(koIcon("format-font-size-more"), i18n("Increase Font Size"), this);
+ addAction("increaseFontSize", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(increaseFontSize()));
++ connect(action, &QAction::triggered, this, &CellToolBase::increaseFontSize);
+
+ action = new QAction(koIcon("format-font-size-less"), i18n("Decrease Font Size"), this);
+ addAction("decreaseFontSize", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(decreaseFontSize()));
++ connect(action, &QAction::triggered, this, &CellToolBase::decreaseFontSize);
+
+ action = new KoColorPopupAction(this);
+ action->setIcon(koIcon("format-text-color"));
+@@ -261,21 +261,21 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+ action = new KToggleAction(koIcon("format-justify-left"), i18n("Align Left"), this);
+ action->setIconText(i18n("Left"));
+ addAction("alignLeft", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(alignLeft(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::alignLeft);
+ action->setToolTip(i18n("Left justify the cell contents"));
+ action->setActionGroup(groupAlign);
+
+ action = new KToggleAction(koIcon("format-justify-center"), i18n("Align Center"), this);
+ action->setIconText(i18n("Center"));
+ addAction("alignCenter", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(alignCenter(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::alignCenter);
+ action->setToolTip(i18n("Center the cell contents"));
+ action->setActionGroup(groupAlign);
+
+ action = new KToggleAction(koIcon("format-justify-right"), i18n("Align Right"), this);
+ action->setIconText(i18n("Right"));
+ addAction("alignRight", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(alignRight(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::alignRight);
+ action->setToolTip(i18n("Right justify the cell contents"));
+ action->setActionGroup(groupAlign);
+
+@@ -285,21 +285,21 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+ action = new KToggleAction(koIcon("format-align-vertical-top"), i18n("Align Top"), this);
+ action->setIconText(i18n("Top"));
+ addAction("alignTop", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(alignTop(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::alignTop);
+ action->setToolTip(i18n("Align cell contents along the top of the cell"));
+ action->setActionGroup(groupPos);
+
+ action = new KToggleAction(koIcon("format-align-vertical-center"), i18n("Align Middle"), this);
+ action->setIconText(i18n("Middle"));
+ addAction("alignMiddle", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(alignMiddle(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::alignMiddle);
+ action->setToolTip(i18n("Align cell contents centered in the cell"));
+ action->setActionGroup(groupPos);
+
+ action = new KToggleAction(koIcon("format-align-vertical-bottom"), i18n("Align Bottom"), this);
+ action->setIconText(i18n("Bottom"));
+ addAction("alignBottom", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(alignBottom(bool)));
++ connect(action, &QAction::triggered, this, &CellToolBase::alignBottom);
+ action->setToolTip(i18n("Align cell contents along the bottom of the cell"));
+ action->setActionGroup(groupPos);
+
+@@ -308,43 +308,43 @@ CellToolBase::CellToolBase(KoCanvasBase* canvas)
+ action = new QAction(koIcon("format-border-set-left"), i18n("Border Left"), this);
+ action->setIconText(i18n("Left"));
+ addAction("borderLeft", action);
+- connect(action, SIGNAL(triggered(bool)), this, SLOT(borderLeft()));
++ connect(action, &QAction::triggered, this, &CellToolBase::borderLeft);
+ action->setToolTip(i18n("Set a left border to the selected area"));
+
+ action = new QAction(koIcon("format-border-set-right"), i18n("Border Right"), this);
+ action->setIconText(i18n("Right"));
*** 705 LINES SKIPPED ***