aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/about/AboutDialog.cpp36
-rw-r--r--src/modules/about/AboutDialog.h2
-rw-r--r--src/modules/about/abouttext.inc4
-rw-r--r--src/modules/about/libkviabout.h10
-rwxr-xr-xsrc/modules/about/mkabouttext.pl4
-rw-r--r--src/modules/actioneditor/ActionEditor.cpp2
-rw-r--r--src/modules/actioneditor/ActionEditor.h13
-rw-r--r--src/modules/addon/AddonFunctions.cpp2
-rw-r--r--src/modules/addon/AddonFunctions.h2
-rw-r--r--src/modules/addon/AddonManagementDialog.h4
-rw-r--r--src/modules/addon/PackAddonDialog.cpp2
-rw-r--r--src/modules/addon/PackAddonDialog.h16
-rw-r--r--src/modules/aliaseditor/AliasEditorWindow.cpp5
-rw-r--r--src/modules/aliaseditor/AliasEditorWindow.h22
-rw-r--r--src/modules/avatar/libkviavatar.h2
-rw-r--r--src/modules/channelsjoin/ChannelsJoinDialog.cpp2
-rw-r--r--src/modules/channelsjoin/ChannelsJoinDialog.h32
-rw-r--r--src/modules/classeditor/ClassEditorWindow.cpp11
-rw-r--r--src/modules/classeditor/ClassEditorWindow.h12
-rw-r--r--src/modules/codetester/CodeTesterWindow.cpp47
-rw-r--r--src/modules/codetester/CodeTesterWindow.h33
-rw-r--r--src/modules/context/libkvicontext.cpp25
-rw-r--r--src/modules/dcc/DccBroker.cpp2
-rw-r--r--src/modules/dcc/DccCanvasWindow.cpp10
-rw-r--r--src/modules/dcc/DccCanvasWindow.h18
-rw-r--r--src/modules/dcc/DccChatWindow.cpp6
-rw-r--r--src/modules/dcc/DccChatWindow.h28
-rw-r--r--src/modules/dcc/DccDialog.cpp15
-rw-r--r--src/modules/dcc/DccDialog.h8
-rw-r--r--src/modules/dcc/DccFileTransfer.cpp17
-rw-r--r--src/modules/dcc/DccFileTransfer.h32
-rw-r--r--src/modules/dcc/DccMarshal.cpp2
-rw-r--r--src/modules/dcc/DccThread.h4
-rw-r--r--src/modules/dcc/DccVideoWindow.cpp39
-rw-r--r--src/modules/dcc/DccVideoWindow.h34
-rw-r--r--src/modules/dcc/DccVoiceAdpcmCodec.cpp2
-rw-r--r--src/modules/dcc/DccVoiceAdpcmCodec.h4
-rw-r--r--src/modules/dcc/DccVoiceCodec.cpp14
-rw-r--r--src/modules/dcc/DccVoiceGsmCodec.cpp14
-rw-r--r--src/modules/dcc/DccVoiceWindow.cpp4
-rw-r--r--src/modules/dcc/DccVoiceWindow.h26
-rw-r--r--src/modules/dcc/DccWindow.h2
-rw-r--r--src/modules/dcc/canvaswidget.cpp10
-rw-r--r--src/modules/dcc/canvaswidget.h8
-rw-r--r--src/modules/dcc/libkvidcc.cpp2
-rw-r--r--src/modules/dcc/requests.cpp6
-rw-r--r--src/modules/dialog/libkvidialog.h12
-rw-r--r--src/modules/editor/ScriptEditorImplementation.cpp19
-rw-r--r--src/modules/editor/ScriptEditorImplementation.h3
-rw-r--r--src/modules/eventeditor/EventEditorWindow.cpp50
-rw-r--r--src/modules/eventeditor/EventEditorWindow.h24
-rw-r--r--src/modules/file/libkvifile.cpp48
-rw-r--r--src/modules/filetransferwindow/FileTransferWindow.cpp4
-rw-r--r--src/modules/filetransferwindow/FileTransferWindow.h22
-rw-r--r--src/modules/fish/libkvifish.cpp17
-rw-r--r--src/modules/help/HelpIndex.cpp33
-rw-r--r--src/modules/help/HelpIndex.h26
-rw-r--r--src/modules/help/HelpWindow.cpp2
-rw-r--r--src/modules/help/HelpWindow.h10
-rw-r--r--src/modules/http/HttpFileTransfer.cpp6
-rw-r--r--src/modules/ident/libkviident.cpp11
-rw-r--r--src/modules/ident/libkviident.h12
-rw-r--r--src/modules/iograph/libkviiograph.cpp2
-rw-r--r--src/modules/iograph/libkviiograph.h14
-rw-r--r--src/modules/language/detector.cpp18
-rw-r--r--src/modules/language/detector.h8
-rwxr-xr-xsrc/modules/language/detector/build_detector.pl18
-rw-r--r--src/modules/links/LinksWindow.h24
-rw-r--r--src/modules/list/ListWindow.cpp2
-rw-r--r--src/modules/list/ListWindow.h22
-rw-r--r--src/modules/logview/LogFile.h5
-rw-r--r--src/modules/logview/LogViewWindow.cpp4
-rw-r--r--src/modules/logview/LogViewWindow.h19
-rw-r--r--src/modules/mediaplayer/MpAmipInterface.cpp8
-rw-r--r--src/modules/mediaplayer/MpInterface.cpp4
-rw-r--r--src/modules/mediaplayer/MpInterface.h2
-rw-r--r--src/modules/mediaplayer/MpMp3.cpp17
-rw-r--r--src/modules/mediaplayer/MpMp3.h12
-rw-r--r--src/modules/mediaplayer/MpWinampInterface.cpp23
-rw-r--r--src/modules/mediaplayer/winamp.cpp6
-rw-r--r--src/modules/mircimport/libkvimircimport.h12
-rw-r--r--src/modules/my/Idle_win.cpp5
-rw-r--r--src/modules/my/libkvimy.cpp2
-rw-r--r--src/modules/notifier/NotifierMessage.cpp19
-rw-r--r--src/modules/notifier/NotifierMessage.h17
-rw-r--r--src/modules/notifier/NotifierWindow.cpp118
-rw-r--r--src/modules/notifier/NotifierWindow.h76
-rw-r--r--src/modules/notifier/NotifierWindowBorder.h63
-rw-r--r--src/modules/notifier/NotifierWindowTab.cpp28
-rw-r--r--src/modules/notifier/NotifierWindowTab.h24
-rw-r--r--src/modules/notifier/libkvinotifier.cpp8
-rw-r--r--src/modules/objects/KvsObject_button.h2
-rw-r--r--src/modules/objects/KvsObject_checkBox.h2
-rw-r--r--src/modules/objects/KvsObject_colorDialog.h2
-rw-r--r--src/modules/objects/KvsObject_comboBox.cpp2
-rw-r--r--src/modules/objects/KvsObject_comboBox.h2
-rw-r--r--src/modules/objects/KvsObject_dateTimeEdit.h2
-rw-r--r--src/modules/objects/KvsObject_dialog.h2
-rw-r--r--src/modules/objects/KvsObject_dockWindow.h2
-rw-r--r--src/modules/objects/KvsObject_file.cpp24
-rw-r--r--src/modules/objects/KvsObject_groupBox.h2
-rw-r--r--src/modules/objects/KvsObject_hBox.h2
-rw-r--r--src/modules/objects/KvsObject_label.cpp32
-rw-r--r--src/modules/objects/KvsObject_label.h2
-rw-r--r--src/modules/objects/KvsObject_layout.cpp8
-rw-r--r--src/modules/objects/KvsObject_layout.h2
-rw-r--r--src/modules/objects/KvsObject_lcd.h2
-rw-r--r--src/modules/objects/KvsObject_lineEdit.cpp6
-rw-r--r--src/modules/objects/KvsObject_lineEdit.h2
-rw-r--r--src/modules/objects/KvsObject_list.cpp29
-rw-r--r--src/modules/objects/KvsObject_listWidget.cpp2
-rw-r--r--src/modules/objects/KvsObject_listWidget.h2
-rw-r--r--src/modules/objects/KvsObject_mainWindow.h2
-rw-r--r--src/modules/objects/KvsObject_menuBar.h2
-rw-r--r--src/modules/objects/KvsObject_multiLineEdit.h2
-rw-r--r--src/modules/objects/KvsObject_painter.cpp52
-rw-r--r--src/modules/objects/KvsObject_pixmap.cpp2
-rw-r--r--src/modules/objects/KvsObject_pixmap.h4
-rw-r--r--src/modules/objects/KvsObject_popupMenu.h2
-rw-r--r--src/modules/objects/KvsObject_progressBar.h2
-rw-r--r--src/modules/objects/KvsObject_radioButton.h2
-rw-r--r--src/modules/objects/KvsObject_slider.cpp10
-rw-r--r--src/modules/objects/KvsObject_slider.h2
-rw-r--r--src/modules/objects/KvsObject_socket.cpp11
-rw-r--r--src/modules/objects/KvsObject_socket.h10
-rw-r--r--src/modules/objects/KvsObject_spinBox.h2
-rw-r--r--src/modules/objects/KvsObject_sql.cpp5
-rw-r--r--src/modules/objects/KvsObject_tabWidget.h2
-rw-r--r--src/modules/objects/KvsObject_tableWidget.cpp4
-rw-r--r--src/modules/objects/KvsObject_tableWidget.h12
-rw-r--r--src/modules/objects/KvsObject_textBrowser.h2
-rw-r--r--src/modules/objects/KvsObject_toolBar.h2
-rw-r--r--src/modules/objects/KvsObject_toolButton.h2
-rw-r--r--src/modules/objects/KvsObject_trayIcon.cpp18
-rw-r--r--src/modules/objects/KvsObject_treeWidget.cpp3
-rw-r--r--src/modules/objects/KvsObject_treeWidget.h10
-rw-r--r--src/modules/objects/KvsObject_treeWidgeteItem.cpp2
-rw-r--r--src/modules/objects/KvsObject_treeWidgeteItem.h4
-rw-r--r--src/modules/objects/KvsObject_vBox.cpp21
-rw-r--r--src/modules/objects/KvsObject_vBox.h2
-rw-r--r--src/modules/objects/KvsObject_webView.cpp4
-rw-r--r--src/modules/objects/KvsObject_webView.h22
-rw-r--r--src/modules/objects/KvsObject_widget.cpp90
-rw-r--r--src/modules/objects/KvsObject_widget.h14
-rw-r--r--src/modules/objects/KvsObject_window.cpp2
-rw-r--r--src/modules/objects/KvsObject_window.h14
-rw-r--r--src/modules/objects/KvsObject_wizard.h4
-rw-r--r--src/modules/objects/KvsObject_workspace.h2
-rw-r--r--src/modules/objects/KvsObject_wrapper.cpp17
-rw-r--r--src/modules/objects/KvsObject_wrapper.h2
-rw-r--r--src/modules/objects/libkviobjects.cpp8
-rw-r--r--src/modules/objects/object_macros.h6
-rw-r--r--src/modules/objects/qtftp/qftp.cpp12
-rw-r--r--src/modules/objects/qtftp/qurlinfo.cpp28
-rw-r--r--src/modules/objects/qthttp/qhttp.cpp38
-rw-r--r--src/modules/objects/qthttp/qhttpauthenticator.cpp8
-rw-r--r--src/modules/options/OptionsDialog.cpp91
-rw-r--r--src/modules/options/OptionsDialog.h7
-rw-r--r--src/modules/options/OptionsInstanceManager.cpp2
-rw-r--r--src/modules/options/OptionsInstanceManager.h6
-rw-r--r--src/modules/options/OptionsWidgetContainer.cpp2
-rw-r--r--src/modules/options/OptionsWidgetContainer.h16
-rw-r--r--src/modules/options/OptionsWidget_connection.cpp5
-rw-r--r--src/modules/options/OptionsWidget_identity.cpp2
-rw-r--r--src/modules/options/OptionsWidget_identity.h8
-rw-r--r--src/modules/options/OptionsWidget_input.cpp9
-rw-r--r--src/modules/options/OptionsWidget_interfaceFeatures.cpp4
-rw-r--r--src/modules/options/OptionsWidget_message.cpp31
-rw-r--r--src/modules/options/OptionsWidget_message.h11
-rw-r--r--src/modules/options/OptionsWidget_servers.cpp34
-rw-r--r--src/modules/options/OptionsWidget_servers.h4
-rw-r--r--src/modules/options/OptionsWidget_sound.cpp35
-rw-r--r--src/modules/options/OptionsWidget_sound.h4
-rw-r--r--src/modules/options/OptionsWidget_textIcons.h2
-rw-r--r--src/modules/options/OptionsWidget_userList.cpp2
-rw-r--r--src/modules/options/OptionsWidget_windowList.cpp32
-rw-r--r--src/modules/options/OptionsWidget_windowList.h6
-rwxr-xr-xsrc/modules/options/mkcreateinstanceproc.sh20
-rw-r--r--src/modules/package/libkvipackage.cpp4
-rw-r--r--src/modules/perlcore/libkviperlcore.cpp11
-rw-r--r--src/modules/perlcore/perlcoreinterface.h8
-rw-r--r--src/modules/perlcore/ppport.h583
-rw-r--r--src/modules/perlcore/typemap465
-rw-r--r--src/modules/perlcore/xs.inc2
-rw-r--r--src/modules/popupeditor/PopupEditorWindow.cpp5
-rw-r--r--src/modules/popupeditor/PopupEditorWindow.h4
-rw-r--r--src/modules/pythoncore/kvircmodule.cpp30
-rw-r--r--src/modules/pythoncore/pythoncoreinterface.h8
-rw-r--r--src/modules/raweditor/RawEditorWindow.cpp8
-rw-r--r--src/modules/raweditor/RawEditorWindow.h12
-rw-r--r--src/modules/reguser/RegisteredUserEntryDialog.cpp2
-rw-r--r--src/modules/reguser/RegisteredUserEntryDialog.h8
-rw-r--r--src/modules/reguser/RegisteredUsersDialog.cpp10
-rw-r--r--src/modules/reguser/RegisteredUsersDialog.h12
-rw-r--r--src/modules/reguser/RegistrationWizard.h8
-rw-r--r--src/modules/reguser/libkvireguser.cpp2
-rw-r--r--src/modules/rijndael/BlowFish.cpp4
-rw-r--r--src/modules/rijndael/InitVectorEngine.cpp2
-rw-r--r--src/modules/rijndael/Rijndael.h12
-rw-r--r--src/modules/rijndael/libkvirijndael.h20
-rw-r--r--src/modules/setup/SetupWizard.cpp12
-rw-r--r--src/modules/setup/SetupWizard.h6
-rw-r--r--src/modules/setup/libkvisetup.cpp8
-rw-r--r--src/modules/sharedfile/libkvisharedfile.cpp2
-rw-r--r--src/modules/sharedfileswindow/SharedFilesWindow.h2
-rw-r--r--src/modules/snd/libkvisnd.cpp16
-rw-r--r--src/modules/snd/libkvisnd.h2
-rw-r--r--src/modules/spaste/SlowPasteController.cpp6
-rw-r--r--src/modules/spaste/libkvispaste.h4
-rw-r--r--src/modules/spellchecker/libkvispellchecker.cpp6
-rw-r--r--src/modules/str/libkvistr.cpp75
-rw-r--r--src/modules/system/libkvisystem.cpp2
-rw-r--r--src/modules/term/TermWidget.cpp14
-rw-r--r--src/modules/term/TermWidget.h4
-rw-r--r--src/modules/term/TermWindow.cpp2
-rw-r--r--src/modules/term/TermWindow.h8
-rw-r--r--src/modules/theme/PackThemeDialog.h6
-rw-r--r--src/modules/theme/SaveThemeDialog.cpp2
-rw-r--r--src/modules/theme/SaveThemeDialog.h4
-rw-r--r--src/modules/theme/ThemeFunctions.h4
-rw-r--r--src/modules/theme/ThemeManagementDialog.h6
-rw-r--r--src/modules/theme/WebThemeInterfaceDialog.h6
-rw-r--r--src/modules/theme/libkvitheme.cpp2
-rw-r--r--src/modules/tip/libkvitip.h2
-rw-r--r--src/modules/tip/libkvitip_fi.kvc52
-rw-r--r--src/modules/tip/libkvitip_uk.kvc52
-rw-r--r--src/modules/toolbareditor/CustomizeToolBarsDialog.h10
-rw-r--r--src/modules/torrent/KTorrentDbusInterface.cpp3
-rw-r--r--src/modules/torrent/KTorrentDbusInterface.h44
-rw-r--r--src/modules/torrent/StatusBarApplet.h2
-rw-r--r--src/modules/torrent/TorrentInterface.h12
-rw-r--r--src/modules/trayicon/libkvitrayicon.cpp2
-rw-r--r--src/modules/upnp/Manager.h2
-rw-r--r--src/modules/upnp/RootService.h4
-rw-r--r--src/modules/upnp/Service.cpp8
-rw-r--r--src/modules/upnp/Service.h4
-rw-r--r--src/modules/upnp/SsdpConnection.h2
-rw-r--r--src/modules/upnp/WanConnectionService.h4
-rw-r--r--src/modules/upnp/igdcontrolpoint.h2
-rw-r--r--src/modules/url/libkviurl.cpp12
-rw-r--r--src/modules/url/libkviurl.h18
-rw-r--r--src/modules/window/UserWindow.h8
-rw-r--r--src/modules/zzz_afterlastmodule/CMakeLists.txt4
243 files changed, 1956 insertions, 2113 deletions
diff --git a/src/modules/about/AboutDialog.cpp b/src/modules/about/AboutDialog.cpp
index 2f177a253..c1d33bd34 100644
--- a/src/modules/about/AboutDialog.cpp
+++ b/src/modules/about/AboutDialog.cpp
@@ -42,6 +42,10 @@
#include <QEvent>
#include <QCloseEvent>
+#ifdef COMPILE_SSL_SUPPORT
+#include <openssl/crypto.h>
+#endif //COMPILE_SSL_SUPPORT
+
extern AboutDialog * g_pAboutDialog;
/*
"<font color=\"#FFFF00\"><b>KVIrc public releases :</b></font><br>\n" \
@@ -159,10 +163,6 @@ AboutDialog::AboutDialog()
infoString += ": ";
infoString += KviBuildInfo::buildRevision();
infoString += "<br>";
- infoString += __tr2qs_ctx("System name", "about");
- infoString += ": ";
- infoString += KviBuildInfo::buildSystem();
- infoString += "<br>";
infoString += __tr2qs_ctx("CPU name", "about");
infoString += ": ";
infoString += KviBuildInfo::buildCPU();
@@ -191,6 +191,32 @@ AboutDialog::AboutDialog()
infoString += __tr2qs_ctx("Features", "about");
infoString += ": ";
infoString += KviBuildInfo::features();
+#ifdef COMPILE_SSL_SUPPORT
+ infoString += "<br>";
+ infoString += __tr2qs_ctx("OpenSSL version", "about");
+ infoString += ": ";
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
+ infoString += SSLeay_version(SSLEAY_VERSION);
+#else
+ infoString += OpenSSL_version(OPENSSL_VERSION);
+#endif
+ infoString += "<br>";
+ infoString += __tr2qs_ctx("OpenSSL compiler flags", "about");
+ infoString += ": ";
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
+ infoString += SSLeay_version(SSLEAY_CFLAGS);
+#else
+ infoString += OpenSSL_version(OPENSSL_CFLAGS);
+#endif
+ infoString += "<br>";
+ infoString += __tr2qs_ctx("OpenSSL ", "about");
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
+ infoString += SSLeay_version(SSLEAY_BUILT_ON);
+#else
+ infoString += OpenSSL_version(OPENSSL_BUILT_ON);
+#endif
+ infoString += "<br>";
+#endif //COMPILE_SSL_SUPPORT
v->setText(infoString);
@@ -220,7 +246,7 @@ AboutDialog::AboutDialog()
QString szLicense;
QString szLicensePath;
- g_pApp->getGlobalKvircDirectory(szLicensePath, KviApplication::License, "COPYING");
+ g_pApp->getGlobalKvircDirectory(szLicensePath, KviApplication::License, "ABOUT-LICENSE");
if(!KviFileUtils::loadFile(szLicensePath, szLicense))
{
diff --git a/src/modules/about/AboutDialog.h b/src/modules/about/AboutDialog.h
index 7f4f819df..6cf4608e2 100644
--- a/src/modules/about/AboutDialog.h
+++ b/src/modules/about/AboutDialog.h
@@ -34,7 +34,7 @@ public:
~AboutDialog();
protected:
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
protected slots:
void closeButtonPressed();
};
diff --git a/src/modules/about/abouttext.inc b/src/modules/about/abouttext.inc
index 93141bd8e..617eba562 100644
--- a/src/modules/about/abouttext.inc
+++ b/src/modules/about/abouttext.inc
@@ -4,11 +4,11 @@ static const char * g_szAboutText = "" \
"<title>Honor and glory</title>" \
"</head>" \
"<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#FF0000\"><center>" \
-"<h4>" \
+"<h4><font color=\"#000000\">" \
"This is a partial list of the people that have " \
"contributed in some way to the KVIrc project.<br><br>" \
"Honor and glory to:<br>" \
-"</h4>" \
+"</font></h4>" \
"<br><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">" \
"<tr><td align=\"center\">" \
"<font color=\"#000000\" size=\"+3\"><b>Core developers</b></font>" \
diff --git a/src/modules/about/libkviabout.h b/src/modules/about/libkviabout.h
index b396f64eb..386b488fd 100644
--- a/src/modules/about/libkviabout.h
+++ b/src/modules/about/libkviabout.h
@@ -44,8 +44,8 @@ public:
KviDlgAbout * m_pAboutDialog;
QPixmap * m_pMemPixmap;
public:
- virtual void drawContents(QPainter *p);
- virtual void resizeEvent(QResizeEvent *e);
+ void drawContents(QPainter *p) override;
+ void resizeEvent(QResizeEvent *e) override;
};
@@ -60,8 +60,8 @@ public:
// void closed();
private slots:
void close();
- virtual void closeEvent(QCloseEvent *);
-// virtual void paintEvent(QPaintEvent *);
+ void closeEvent(QCloseEvent *) override;
+// void paintEvent(QPaintEvent *) override;
void scrollText();
public:
int m_posy;
@@ -80,7 +80,7 @@ public:
private slots:
void close();
private:
- virtual void closeEvent(QCloseEvent *);
+ void closeEvent(QCloseEvent *) override;
QLabel * m_pPicLabel;
QLabel * m_pTextLabel;
diff --git a/src/modules/about/mkabouttext.pl b/src/modules/about/mkabouttext.pl
index a5c0da76f..6e6fc99a4 100755
--- a/src/modules/about/mkabouttext.pl
+++ b/src/modules/about/mkabouttext.pl
@@ -120,11 +120,11 @@ p " </head>";
p " <body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#FF0000\"><center>";
-p " <h4>";
+p " <h4><font color=\"#000000\">";
p "This is a partial list of the people that have ";
p "contributed in some way to the KVIrc project.<br><br>";
p "Honor and glory to:<br>";
-p " </h4>";
+p " </font></h4>";
$i = 0;
$cnt++;
diff --git a/src/modules/actioneditor/ActionEditor.cpp b/src/modules/actioneditor/ActionEditor.cpp
index 19d6cddd3..d90d4fb35 100644
--- a/src/modules/actioneditor/ActionEditor.cpp
+++ b/src/modules/actioneditor/ActionEditor.cpp
@@ -72,7 +72,7 @@ ActionEditorTreeWidgetItem::ActionEditorTreeWidgetItem(QTreeWidget * v, ActionDa
m_pTreeWidget = v;
//setFlags(Qt::ItemIsUserSelectable);
QString t = "<b>" + m_pActionData->m_szName + "</b>";
- t += "<br><font color=\"#454545\" size=\"-1\">" + m_pActionData->m_szVisibleName + "</font>";
+ t += R"(<br><font color="#454545" size="-1">)" + m_pActionData->m_szVisibleName + "</font>";
m_szKey = m_pActionData->m_szName.toUpper();
setText(0, t);
QPixmap * p = g_pIconManager->getBigIcon(m_pActionData->m_szBigIcon);
diff --git a/src/modules/actioneditor/ActionEditor.h b/src/modules/actioneditor/ActionEditor.h
index 0877f524a..cd35d1e80 100644
--- a/src/modules/actioneditor/ActionEditor.h
+++ b/src/modules/actioneditor/ActionEditor.h
@@ -79,9 +79,6 @@ public:
protected:
ActionData * m_pActionData;
- //QSimpleRichText * m_pText;
- QTextDocument * m_pText;
- QPixmap * m_pIcon;
QTreeWidget * m_pTreeWidget;
QString m_szKey;
@@ -102,7 +99,7 @@ public:
~ActionEditorTreeView();
protected:
- virtual void resizeEvent(QResizeEvent * e);
+ void resizeEvent(QResizeEvent * e) override;
};
class SingleActionEditor : public QWidget
@@ -195,10 +192,10 @@ protected:
ActionEditor * m_pEditor;
protected:
- virtual QPixmap * myIconPtr();
- virtual void getConfigGroupName(QString & szName);
- virtual void saveProperties(KviConfigurationFile *);
- virtual void loadProperties(KviConfigurationFile *);
+ QPixmap * myIconPtr() override;
+ void getConfigGroupName(QString & szName) override;
+ void saveProperties(KviConfigurationFile *) override;
+ void loadProperties(KviConfigurationFile *) override;
protected slots:
void cancelClicked();
void okClicked();
diff --git a/src/modules/addon/AddonFunctions.cpp b/src/modules/addon/AddonFunctions.cpp
index 5ffd5466c..5aa50a1be 100644
--- a/src/modules/addon/AddonFunctions.cpp
+++ b/src/modules/addon/AddonFunctions.cpp
@@ -44,7 +44,7 @@
#include <QFile>
#include <QDateTime>
-#include <stdlib.h>
+#include <cstdlib>
namespace AddonFunctions
{
diff --git a/src/modules/addon/AddonFunctions.h b/src/modules/addon/AddonFunctions.h
index 6d4d9cae2..27071dc56 100644
--- a/src/modules/addon/AddonFunctions.h
+++ b/src/modules/addon/AddonFunctions.h
@@ -50,7 +50,7 @@ namespace AddonFunctions
bool checkDirTree(const QString & szDirPath, QString * pszError);
bool pack(AddonInfo & info, QString & szError);
bool notAValidAddonPackage(QString & szError);
- bool installAddonPackage(const QString & szAddonPackageFileName, QString & szError, QWidget * pDialogParent = 0);
+ bool installAddonPackage(const QString & szAddonPackageFileName, QString & szError, QWidget * pDialogParent = nullptr);
QString createRandomDir();
}
diff --git a/src/modules/addon/AddonManagementDialog.h b/src/modules/addon/AddonManagementDialog.h
index 2a1a50d74..86abd484a 100644
--- a/src/modules/addon/AddonManagementDialog.h
+++ b/src/modules/addon/AddonManagementDialog.h
@@ -47,8 +47,6 @@ public:
protected:
KviKvsScriptAddon * m_pAddon;
- QTextDocument * m_pText;
- QPixmap * m_pIcon;
QListWidget * m_pListWidget;
QString m_szKey;
@@ -86,7 +84,7 @@ public:
protected:
void fillListView();
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
protected slots:
void currentChanged(QListWidgetItem * i, QListWidgetItem *);
void closeClicked();
diff --git a/src/modules/addon/PackAddonDialog.cpp b/src/modules/addon/PackAddonDialog.cpp
index cf416a4c3..6bb8c7099 100644
--- a/src/modules/addon/PackAddonDialog.cpp
+++ b/src/modules/addon/PackAddonDialog.cpp
@@ -182,7 +182,7 @@ bool PackAddonDialog::packAddon()
return false;
}
- QMessageBox::information(this, __tr2qs_ctx("Exporting Addon Completed - KVIrc", "addon"), __tr2qs_ctx("The Package was saved successfully in %1", "addon").arg(m_szSavePath), QMessageBox::Ok, QMessageBox::NoButton, QMessageBox::NoButton);
+ QMessageBox::information(this, __tr2qs_ctx("Exporting Addon Completed - KVIrc", "addon"), __tr2qs_ctx("The package was saved successfully in %1", "addon").arg(info.szSavePath), QMessageBox::Ok, QMessageBox::NoButton, QMessageBox::NoButton);
return true;
}
diff --git a/src/modules/addon/PackAddonDialog.h b/src/modules/addon/PackAddonDialog.h
index e9b88bc33..4464f2da0 100644
--- a/src/modules/addon/PackAddonDialog.h
+++ b/src/modules/addon/PackAddonDialog.h
@@ -92,7 +92,7 @@ protected:
* \brief Runs the packAddon() function and closes the wizard
* \return void
*/
- virtual void accept();
+ void accept() override;
/**
* \brief Creates the addon package
@@ -201,7 +201,7 @@ protected:
* \brief Perform initial tasks before showing the widget
* \return void
*/
- virtual void initializePage();
+ void initializePage() override;
};
/**
@@ -226,17 +226,13 @@ public:
protected:
QLabel * m_pLabelInfo;
- QLabel * m_pLabelAuthor;
- QLabel * m_pPackageName;
- QLabel * m_pPackageVersion;
- QLabel * m_pPackageDescription;
protected:
/**
* \brief Perform initial tasks before showing the widget
* \return void
*/
- virtual void initializePage();
+ void initializePage() override;
};
class PackAddonSummaryFilesWidget : public QDialog
@@ -253,10 +249,10 @@ protected:
public:
void setPath(QString & szPath) { m_szPath = szPath; };
protected:
- virtual void showEvent(QShowEvent *);
+ void showEvent(QShowEvent *) override;
protected slots:
- virtual void accept();
- virtual void reject();
+ void accept() override;
+ void reject() override;
};
#endif //!_PACKADDONDIALOG_H_
diff --git a/src/modules/aliaseditor/AliasEditorWindow.cpp b/src/modules/aliaseditor/AliasEditorWindow.cpp
index 7870564c3..634e916a4 100644
--- a/src/modules/aliaseditor/AliasEditorWindow.cpp
+++ b/src/modules/aliaseditor/AliasEditorWindow.cpp
@@ -137,6 +137,9 @@ AliasEditorWidget::AliasEditorWidget(QWidget * par)
m_pTreeWidget = new AliasEditorTreeWidget(box);
+ QPushButton * btn = new QPushButton(__tr2qs_ctx("&Export All to...", "editor"), box);
+ connect(btn, SIGNAL(clicked()), this, SLOT(exportAll()));
+
box = new KviTalVBox(m_pSplitter);
KviTalHBox * hbox = new KviTalHBox(box);
hbox->setSpacing(0);
@@ -361,7 +364,7 @@ void AliasEditorWidget::itemRenamed(QTreeWidgetItem * it, int col)
bool AliasEditorWidget::hasSelectedItems()
{
- return m_pTreeWidget->selectedItems().count() ? 1 : 0;
+ return m_pTreeWidget->selectedItems().count() ? true : false;
}
bool AliasEditorWidget::itemExists(QTreeWidgetItem * pSearchFor)
diff --git a/src/modules/aliaseditor/AliasEditorWindow.h b/src/modules/aliaseditor/AliasEditorWindow.h
index c9102b559..f9dd3d8ee 100644
--- a/src/modules/aliaseditor/AliasEditorWindow.h
+++ b/src/modules/aliaseditor/AliasEditorWindow.h
@@ -62,17 +62,17 @@ protected:
int m_cPos;
public:
- inline const QString & name() { return m_szName; };
+ const QString & name() const { return m_szName; }
void setName(const QString & szName);
- inline Type type() { return m_eType; };
+ Type type() const { return m_eType; }
void setType(Type t);
- inline bool isAlias() { return m_eType == Alias; };
- inline bool isNamespace() { return m_eType == Namespace; };
+ bool isAlias() const { return m_eType == Alias; }
+ bool isNamespace() const { return m_eType == Namespace; }
void setParentItem(AliasEditorTreeWidgetItem * it) { m_pParentItem = it; };
AliasEditorTreeWidgetItem * parentItem() { return m_pParentItem; };
- inline void setBuffer(const QString & szBuffer) { m_szBuffer = szBuffer; };
- inline const QString & buffer() { return m_szBuffer; };
- inline const int & cursorPosition() { return m_cPos; };
+ void setBuffer(const QString & szBuffer) { m_szBuffer = szBuffer; }
+ const QString & buffer() const { return m_szBuffer; }
+ const int & cursorPosition() const { return m_cPos; }
void setCursorPosition(const int & cPos) { m_cPos = cPos; };
};
@@ -182,10 +182,10 @@ protected:
AliasEditorWidget * m_pEditor;
protected:
- virtual QPixmap * myIconPtr();
- virtual void getConfigGroupName(QString & szName);
- virtual void saveProperties(KviConfigurationFile *);
- virtual void loadProperties(KviConfigurationFile *);
+ QPixmap * myIconPtr() override;
+ void getConfigGroupName(QString & szName) override;
+ void saveProperties(KviConfigurationFile *) override;
+ void loadProperties(KviConfigurationFile *) override;
protected slots:
void cancelClicked();
void okClicked();
diff --git a/src/modules/avatar/libkviavatar.h b/src/modules/avatar/libkviavatar.h
index 0509ebc2f..54f3c5a5a 100644
--- a/src/modules/avatar/libkviavatar.h
+++ b/src/modules/avatar/libkviavatar.h
@@ -45,7 +45,7 @@ protected:
KviIrcConnection * m_pConnection;
protected:
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
const QString & avatarName() { return m_szAvatarName; };
protected slots:
void okClicked();
diff --git a/src/modules/channelsjoin/ChannelsJoinDialog.cpp b/src/modules/channelsjoin/ChannelsJoinDialog.cpp
index b373e87ea..d2c03f419 100644
--- a/src/modules/channelsjoin/ChannelsJoinDialog.cpp
+++ b/src/modules/channelsjoin/ChannelsJoinDialog.cpp
@@ -61,8 +61,6 @@ ChannelsJoinDialog::ChannelsJoinDialog(const char * name)
setWindowTitle(__tr2qs("Join Channels - KVIrc"));
setWindowIcon(*(g_pIconManager->getSmallIcon(KviIconManager::Channel)));
- m_pConsole = nullptr;
-
QGridLayout * g = new QGridLayout(this);
m_pTreeWidget = new ChannelsJoinDialogTreeWidget(this);
diff --git a/src/modules/channelsjoin/ChannelsJoinDialog.h b/src/modules/channelsjoin/ChannelsJoinDialog.h
index 1022ac08d..541fcfe81 100644
--- a/src/modules/channelsjoin/ChannelsJoinDialog.h
+++ b/src/modules/channelsjoin/ChannelsJoinDialog.h
@@ -37,8 +37,8 @@
#include <QTreeWidget>
class KviConsoleWindow;
-class QGroupBox;
class QCheckBox;
+class QGroupBox;
class QLineEdit;
class QPushButton;
class QString;
@@ -52,7 +52,7 @@ class ChannelsJoinDialogTreeWidget : public QTreeWidget
Q_OBJECT
public:
ChannelsJoinDialogTreeWidget(QWidget * par)
- : QTreeWidget(par), m_pJoinPopup(nullptr){};
+ : QTreeWidget(par){};
~ChannelsJoinDialogTreeWidget()
{
@@ -61,14 +61,14 @@ public:
};
protected:
- QMenu * m_pJoinPopup;
+ QMenu * m_pJoinPopup = nullptr;
/**
* \brief Called when the user clicks on the list
* \param e mouse event descriptor
* \return void
*/
- virtual void mousePressEvent(QMouseEvent * e);
- virtual void mouseDoubleClickEvent(QMouseEvent * e);
+ void mousePressEvent(QMouseEvent * e) override;
+ void mouseDoubleClickEvent(QMouseEvent * e) override;
};
/**
@@ -100,19 +100,19 @@ protected:
RecentChannelItem,
RegisteredChannelItem
};
- QLineEdit * m_pChannelEdit;
- ChannelsJoinDialogTreeWidget * m_pTreeWidget;
- QGroupBox * m_pGroupBox;
- QLineEdit * m_pPass;
- QCheckBox * m_pShowAtStartupCheck;
- QCheckBox * m_pCloseAfterJoinCheck;
- QPushButton * m_pJoinButton;
- QPushButton * m_pRegButton;
- QPushButton * m_pClearButton;
- KviConsoleWindow * m_pConsole;
+ QLineEdit * m_pChannelEdit = nullptr;
+ ChannelsJoinDialogTreeWidget * m_pTreeWidget = nullptr;
+ QGroupBox * m_pGroupBox = nullptr;
+ QLineEdit * m_pPass = nullptr;
+ QCheckBox * m_pShowAtStartupCheck = nullptr;
+ QCheckBox * m_pCloseAfterJoinCheck = nullptr;
+ QPushButton * m_pJoinButton = nullptr;
+ QPushButton * m_pRegButton = nullptr;
+ QPushButton * m_pClearButton = nullptr;
+ KviConsoleWindow * m_pConsole = nullptr;
public:
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
/**
* \brief Fills in the servers' list
diff --git a/src/modules/classeditor/ClassEditorWindow.cpp b/src/modules/classeditor/ClassEditorWindow.cpp
index 8f9c5d1bb..39c265341 100644
--- a/src/modules/classeditor/ClassEditorWindow.cpp
+++ b/src/modules/classeditor/ClassEditorWindow.cpp
@@ -461,7 +461,7 @@ void ClassEditorWidget::createFullClass(KviKvsObjectClass * pClass, ClassEditorT
bool ClassEditorWidget::hasSelectedItems()
{
- return m_pTreeWidget->selectedItems().count() ? 1 : 0;
+ return m_pTreeWidget->selectedItems().count() ? true : false;
}
bool ClassEditorWidget::classExists(QString & szFullItemName)
@@ -808,7 +808,7 @@ void ClassEditorWidget::currentItemChanged(QTreeWidgetItem * pTree, QTreeWidgetI
{
QString szReminderText = __tr2qs_ctx("Reminder text.", "editor");
szReminderText += ": <b>";
- szReminderText += m_pLastEditedItem->reminder().toHtmlEscaped();
+ szReminderText += m_pLastEditedItem->reminder();
szReminderText += "</b>";
m_pReminderLabel->setText(szReminderText);
m_pReminderLabel->show();
@@ -1054,15 +1054,12 @@ void ClassEditorWidget::exportClassBuffer(QString & szBuffer, ClassEditorTreeWid
ClassEditorTreeWidgetItem * pFunction = (ClassEditorTreeWidgetItem *)pItem->child(i);
if(pFunction->isMethod())
{
- QString reminder = pFunction->reminder();
- KviQString::escapeKvs(&reminder);
-
szBuffer += "\t";
if(pFunction->isInternalFunction())
szBuffer += "internal ";
szBuffer += "function ";
szBuffer += pFunction->name();
- szBuffer += "(\"" + reminder + "\")\n";
+ szBuffer += "(" + pFunction->reminder() + ")\n";
QString szCode = pFunction->buffer();
KviCommandFormatter::blockFromBuffer(szCode);
KviCommandFormatter::indent(szCode);
@@ -2074,7 +2071,7 @@ KviClassEditorFunctionDialog::KviClassEditorFunctionDialog(QWidget * pParent, co
pLabel = new QLabel(pHBox);
pLabel->setObjectName("reminderlabel");
- pLabel->setWordWrap(1);
+ pLabel->setWordWrap(true);
pLabel->setText(__tr2qs_ctx("Please enter the optional reminder string for the member function:", "editor"));
m_pReminderLineEdit = new QLineEdit(pHBox);
diff --git a/src/modules/classeditor/ClassEditorWindow.h b/src/modules/classeditor/ClassEditorWindow.h
index e12386a5e..c320937a2 100644
--- a/src/modules/classeditor/ClassEditorWindow.h
+++ b/src/modules/classeditor/ClassEditorWindow.h
@@ -73,7 +73,7 @@ public:
~ClassEditorTreeWidget();
protected:
- virtual void mousePressEvent(QMouseEvent * e);
+ void mousePressEvent(QMouseEvent * e) override;
signals:
/**
* \brief Emitted when we press the mouse right button
@@ -305,14 +305,14 @@ public:
* \param pCfg The configuration file
* \return void
*/
- virtual void saveProperties(KviConfigurationFile * pCfg);
+ void saveProperties(KviConfigurationFile * pCfg);
/**
* \brief Called to load the window properties
* \param pCfg The configuration file
* \return void
*/
- virtual void loadProperties(KviConfigurationFile * pCfg);
+ void loadProperties(KviConfigurationFile * pCfg);
/**
* \brief Builds the class!
@@ -497,7 +497,7 @@ protected:
* \brief Returns the class editor small icon
* \return QPixmap *
*/
- virtual QPixmap * myIconPtr();
+ QPixmap * myIconPtr() override;
/**
* \brief Sets the configuration group name as classeditor
@@ -511,14 +511,14 @@ protected:
* \param pCfg The configuration file
* \return void
*/
- virtual void saveProperties(KviConfigurationFile * pCfg);
+ void saveProperties(KviConfigurationFile * pCfg) override;
/**
* \brief Called to load the window properties
* \param pCfg The configuration file
* \return void
*/
- virtual void loadProperties(KviConfigurationFile * pCfg);
+ void loadProperties(KviConfigurationFile * pCfg) override;
protected slots:
/**
* \brief Called when we click the cancel button
diff --git a/src/modules/codetester/CodeTesterWindow.cpp b/src/modules/codetester/CodeTesterWindow.cpp
index 1e8b4a762..951553b2c 100644
--- a/src/modules/codetester/CodeTesterWindow.cpp
+++ b/src/modules/codetester/CodeTesterWindow.cpp
@@ -34,6 +34,7 @@
#include "KviConsoleWindow.h"
#include "KviKvsScript.h"
#include "KviKvsVariantList.h"
+#include "KviIrcView.h"
#include <QPushButton>
#include <QLayout>
@@ -44,11 +45,19 @@
extern std::unordered_set<CodeTesterWindow *> g_pCodeTesterWindowList;
-CodeTesterWidget::CodeTesterWidget(QWidget * par)
- : QWidget(par)
+CodeTesterWindow::CodeTesterWindow()
+ : KviWindow(KviWindow::ScriptEditor, "codetester", nullptr)
{
+ g_pCodeTesterWindowList.insert(this);
setObjectName("code_tester");
- QGridLayout * g = new QGridLayout(this);
+
+ m_pSplitter = new KviTalSplitter(Qt::Horizontal, this);
+ m_pSplitter->setObjectName("main_splitter");
+ m_pSplitter->setChildrenCollapsible(false);
+
+ // layouts can't be added to splitters directly, so we embed the layout in a widget.
+ QWidget * l = new QWidget(this);
+ QGridLayout * g = new QGridLayout(l);
m_pEditor = KviScriptEditor::createInstance(this);
g->addWidget(m_pEditor, 0, 0, 1, 4);
@@ -61,36 +70,28 @@ CodeTesterWidget::CodeTesterWidget(QWidget * par)
m_pParams = new QLineEdit(this);
m_pParams->setToolTip(__tr2qs_ctx("Here you can specify a semicolon-separated list of parameters that will be available in the code as $0, $1, $2, ..", "editor"));
g->addWidget(m_pParams, 1, 2);
+
+ m_pSplitter->addWidget(l);
+
+ m_pIrcView = new KviIrcView(m_pSplitter, this);
+
+ QList<int> li { width() / 2, width() / 2 };
+ m_pSplitter->setSizes(li);
}
-CodeTesterWidget::~CodeTesterWidget()
+CodeTesterWindow::~CodeTesterWindow()
{
KviScriptEditor::destroyInstance(m_pEditor);
+ g_pCodeTesterWindowList.erase(this);
}
-//#warning "Allow to bind the command to a specified window"
-
-void CodeTesterWidget::execute()
+void CodeTesterWindow::execute()
{
QString buffer;
m_pEditor->getText(buffer);
- KviConsoleWindow * pConsole = g_pApp->activeConsole();
QStringList slParams = m_pParams->text().split(';');
KviKvsVariantList params{&slParams};
- KviKvsScript::run(buffer, pConsole, &params);
-}
-
-CodeTesterWindow::CodeTesterWindow()
- : KviWindow(KviWindow::ScriptEditor, "codetester", nullptr)
-{
- g_pCodeTesterWindowList.insert(this);
-
- m_pTester = new CodeTesterWidget(this);
-}
-
-CodeTesterWindow::~CodeTesterWindow()
-{
- g_pCodeTesterWindowList.erase(this);
+ KviKvsScript::run(buffer, this, &params);
}
QPixmap * CodeTesterWindow::myIconPtr()
@@ -100,7 +101,7 @@ QPixmap * CodeTesterWindow::myIconPtr()
void CodeTesterWindow::resizeEvent(QResizeEvent *)
{
- m_pTester->setGeometry(0, 0, width(), height());
+ m_pSplitter->setGeometry(0, 0, width(), height());
}
void CodeTesterWindow::fillCaptionBuffers()
diff --git a/src/modules/codetester/CodeTesterWindow.h b/src/modules/codetester/CodeTesterWindow.h
index 992ce52e5..d71dbbf31 100644
--- a/src/modules/codetester/CodeTesterWindow.h
+++ b/src/modules/codetester/CodeTesterWindow.h
@@ -33,39 +33,30 @@ class QPushButton;
class QLabel;
class KviScriptEditor;
-class CodeTesterWidget : public QWidget
+class CodeTesterWindow : public KviWindow
{
Q_OBJECT
public:
- CodeTesterWidget(QWidget * par);
- ~CodeTesterWidget();
+ CodeTesterWindow();
+ ~CodeTesterWindow();
private:
+ KviTalSplitter * m_pSplitter;
KviScriptEditor * m_pEditor;
- QLineEdit * m_pParams;
QPushButton * m_pExecuteButton;
QLabel * m_pModeLabel;
+ QLineEdit * m_pParams;
+
private slots:
void execute();
-};
-
-class CodeTesterWindow : public KviWindow
-{
- Q_OBJECT
-public:
- CodeTesterWindow();
- ~CodeTesterWindow();
-
-protected:
- CodeTesterWidget * m_pTester;
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void resizeEvent(QResizeEvent * e);
- virtual void getConfigGroupName(QString & szName);
- virtual void saveProperties(KviConfigurationFile *){};
- virtual void loadProperties(KviConfigurationFile *){};
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void resizeEvent(QResizeEvent * e) override;
+ void getConfigGroupName(QString & szName) override;
+ void saveProperties(KviConfigurationFile *) override {}
+ void loadProperties(KviConfigurationFile *) override {}
};
#endif //_CODETESTER_H_
diff --git a/src/modules/context/libkvicontext.cpp b/src/modules/context/libkvicontext.cpp
index 163e4e86b..11eaaf93c 100644
--- a/src/modules/context/libkvicontext.cpp
+++ b/src/modules/context/libkvicontext.cpp
@@ -51,16 +51,16 @@
KVSM_PARAMETERS_BEGIN(c) \
KVSM_PARAMETER("irc_context_id", KVS_PT_UINT, KVS_PF_OPTIONAL, iContextId) \
KVSM_PARAMETERS_END(c) \
- KviConsoleWindow * pConsole = NULL; \
+ KviConsoleWindow * pConsole = nullptr; \
if(c->parameterCount() > 0) \
pConsole = g_pApp->findConsole(iContextId); \
else \
pConsole = c->window()->console();
#define GET_CONNECTION_FROM_STANDARD_PARAMS \
- GET_CONSOLE_FROM_STANDARD_PARAMS \
- KviIrcConnection * pConnection = NULL; \
- if(pConsole) \
+ GET_CONSOLE_FROM_STANDARD_PARAMS \
+ KviIrcConnection * pConnection = nullptr; \
+ if(pConsole) \
pConnection = pConsole->context()->connection();
#define STANDARD_IRC_CONNECTION_TARGET_PARAMETER(_fncName, _setCall) \
@@ -655,7 +655,7 @@ static bool context_kvs_fnc_getSSLCertInfo(KviKvsModuleFunctionCall * c)
QString szQuery;
QString szType;
QString szParam1;
- bool bRemote = true;
+ bool bRemote;
KVSM_PARAMETERS_BEGIN(c)
KVSM_PARAMETER("query", KVS_PT_STRING, 0, szQuery)
@@ -689,16 +689,17 @@ static bool context_kvs_fnc_getSSLCertInfo(KviKvsModuleFunctionCall * c)
{
bRemote = false;
}
+ else if(szType.compare("remote") == 0 || szType.isEmpty())
+ {
+ bRemote = true;
+ }
else
{
- // already defaults to true, we only catch the error condition
- if(szType.compare("remote") != 0)
- {
- c->warning(__tr2qs("You specified a bad string for the parameter \"type\""));
- c->returnValue()->setString("");
- return true;
- }
+ c->warning(__tr2qs("You specified a bad string for the parameter \"type\""));
+ c->returnValue()->setString("");
+ return true;
}
+
//context is never null, connection can be null
if(!pConsole->context()->connection())
{
diff --git a/src/modules/dcc/DccBroker.cpp b/src/modules/dcc/DccBroker.cpp
index dda25a544..6de88fe67 100644
--- a/src/modules/dcc/DccBroker.cpp
+++ b/src/modules/dcc/DccBroker.cpp
@@ -241,7 +241,7 @@ void DccBroker::rsendExecute(DccDescriptor * dcc)
szTag = t->m_szTag;
// DCC [ST]SEND <filename> <fakeipaddress> <zero-port> <filesize> <sessionid>
- dcc->console()->connection()->sendFmtData("PRIVMSG %s :%cDCC %s %s 127.0.0.1 0 %s %s%c",
+ dcc->console()->connection()->sendFmtData("PRIVMSG %s :%cDCC %s %s 2130706433 0 %s %s%c",
dcc->console()->connection()->encodeText(dcc->szNick).data(),
0x01,
dcc->console()->connection()->encodeText(dcc->szType).data(),
diff --git a/src/modules/dcc/DccCanvasWindow.cpp b/src/modules/dcc/DccCanvasWindow.cpp
index 19389dab0..e2adee2a4 100644
--- a/src/modules/dcc/DccCanvasWindow.cpp
+++ b/src/modules/dcc/DccCanvasWindow.cpp
@@ -114,7 +114,7 @@ DccCanvasWindow::DccCanvasWindow(DccDescriptor * dcc, const char * name)
output(KVI_OUT_DCCMSG, __tr2qs_ctx("Contacting host %Q on port %Q", "dcc"), &(dcc->szIp), &(dcc->szPort));
}
- // m_pSlaveThread = 0;
+ // m_pSlaveThread = nullptr;
}
DccCanvasWindow::~DccCanvasWindow()
@@ -124,7 +124,7 @@ DccCanvasWindow::~DccCanvasWindow()
// {
// m_pSlaveThread->terminate();
// delete m_pSlaveThread;
- // m_pSlaveThread = 0;
+ // m_pSlaveThread = nullptr;
// }
KviThreadManager::killPendingEvents(this);
// delete m_pDescriptor;
@@ -162,7 +162,7 @@ void DccCanvasWindow::getBaseLogFileName(KviCString & buffer)
buffer.sprintf("%s_%s_%s", m_pDescriptor->szNick.toUtf8().data(), m_pDescriptor->szIp.toUtf8().data(), m_pDescriptor->szPort.toUtf8().data());
}
-void DccCanvasWindow::ownMessage(const char * text, bool bUserFeedback)
+void DccCanvasWindow::ownMessage(const QString & text, bool bUserFeedback)
{
KviCString buf(KviCString::Format, "%s\r\n", text);
// m_pSlaveThread->sendRawData(buf.ptr(),buf.len());
@@ -173,11 +173,11 @@ void DccCanvasWindow::ownMessage(const char * text, bool bUserFeedback)
m_pDescriptor->szLocalHost.toUtf8().data(), text);
}
-void DccCanvasWindow::ownAction(const char * text)
+void DccCanvasWindow::ownAction(const QString & text)
{
KviCString buf(KviCString::Format, "%cACTION %s%c\r\n", text);
// m_pSlaveThread->sendRawData(buf.ptr(),buf.len());
- output(KVI_OUT_ACTION, "%Q %s", &(m_pDescriptor->szLocalNick), text);
+ output(KVI_OUT_OWNACTION, "%Q %s", &(m_pDescriptor->szLocalNick), text);
}
bool DccCanvasWindow::event(QEvent * e)
diff --git a/src/modules/dcc/DccCanvasWindow.h b/src/modules/dcc/DccCanvasWindow.h
index 6b89bc735..7e3e6ff29 100644
--- a/src/modules/dcc/DccCanvasWindow.h
+++ b/src/modules/dcc/DccCanvasWindow.h
@@ -53,15 +53,15 @@ protected:
QString m_szTarget;
protected:
- virtual const QString & target();
- virtual void fillCaptionBuffers();
- virtual void getBaseLogFileName(KviCString & buffer);
- virtual QPixmap * myIconPtr();
- virtual void resizeEvent(QResizeEvent * e);
- virtual QSize sizeHint() const;
- virtual bool event(QEvent * e);
- virtual void ownMessage(const char * text, bool bUserFeedback = true);
- virtual void ownAction(const char * text);
+ const QString & target() override;
+ void fillCaptionBuffers() override;
+ void getBaseLogFileName(KviCString & buffer) override;
+ QPixmap * myIconPtr() override;
+ void resizeEvent(QResizeEvent * e) override;
+ QSize sizeHint() const override;
+ bool event(QEvent * e) override;
+ void ownMessage(const QString & text, bool bUserFeedback = true) override;
+ void ownAction(const QString & text) override;
protected slots:
void handleMarshalError(int err);
void connected();
diff --git a/src/modules/dcc/DccChatWindow.cpp b/src/modules/dcc/DccChatWindow.cpp
index 1af5aa314..f10caab61 100644
--- a/src/modules/dcc/DccChatWindow.cpp
+++ b/src/modules/dcc/DccChatWindow.cpp
@@ -407,7 +407,7 @@ void DccChatWindow::ownAction(const QString & text)
return;
KviCString buf(KviCString::Format, "%cACTION %s%c\r\n", 0x01, d, 0x01);
m_pSlaveThread->sendRawData(buf.ptr(), buf.len());
- output(KVI_OUT_ACTION, "%Q %Q", &(m_pDescriptor->szLocalNick), &szTmpBuffer);
+ output(KVI_OUT_OWNACTION, "%Q %Q", &(m_pDescriptor->szLocalNick), &szTmpBuffer);
}
else
{
@@ -904,9 +904,9 @@ bool DccChatThread::tryFlushOutBuffers()
{
int err = kvi_socket_error();
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
- if((err != EAGAIN) || (err != EINTR) || (err != WSAEWOULDBLOCK))
+ if((err != EAGAIN) && (err != EINTR) && (err != WSAEWOULDBLOCK))
#else
- if((err != EAGAIN) || (err != EINTR))
+ if((err != EAGAIN) && (err != EINTR))
#endif
{
postErrorEvent(KviError::translateSystemError(err));
diff --git a/src/modules/dcc/DccChatWindow.h b/src/modules/dcc/DccChatWindow.h
index b23da0943..2af9892c0 100644
--- a/src/modules/dcc/DccChatWindow.h
+++ b/src/modules/dcc/DccChatWindow.h
@@ -74,7 +74,7 @@ class DccChatWindow : public DccWindow
public:
DccChatWindow(DccDescriptor * dcc, const char * name);
~DccChatWindow();
- QFrame * buttonContainer() { return (QFrame *)m_pButtonContainer; };
+ QFrame * buttonContainer() override { return (QFrame *)m_pButtonContainer; }
protected:
DccChatThread * m_pSlaveThread;
QString m_szTarget;
@@ -84,20 +84,20 @@ protected:
KviTalHBox * m_pButtonContainer;
protected:
- virtual const QString & target();
- virtual void fillCaptionBuffers();
- virtual void getBaseLogFileName(QString & buffer);
- virtual QPixmap * myIconPtr();
- virtual void resizeEvent(QResizeEvent * e);
- virtual QSize sizeHint() const;
- virtual const QString & localNick();
- virtual bool event(QEvent * e);
- virtual void ownMessage(const QString & text, bool bUserFeedback = true);
- virtual void ownAction(const QString & text);
- virtual void triggerCreationEvents();
- virtual void triggerDestructionEvents();
+ const QString & target() override;
+ void fillCaptionBuffers() override;
+ void getBaseLogFileName(QString & buffer) override;
+ QPixmap * myIconPtr() override;
+ void resizeEvent(QResizeEvent * e) override;
+ QSize sizeHint() const override;
+ const QString & localNick() override;
+ bool event(QEvent * e) override;
+ void ownMessage(const QString & text, bool bUserFeedback = true) override;
+ void ownAction(const QString & text) override;
+ void triggerCreationEvents() override;
+ void triggerDestructionEvents() override;
void startConnection();
- virtual DccThread * getSlaveThread() { return m_pSlaveThread; };
+ DccThread * getSlaveThread() override { return m_pSlaveThread; }
protected slots:
void handleMarshalError(KviError::Code eError);
void connected();
diff --git a/src/modules/dcc/DccDialog.cpp b/src/modules/dcc/DccDialog.cpp
index a6d113404..6beb70ad8 100644
--- a/src/modules/dcc/DccDialog.cpp
+++ b/src/modules/dcc/DccDialog.cpp
@@ -27,6 +27,7 @@
#include "KviLocale.h"
#include "KviIconManager.h"
#include "KviApplication.h"
+#include "KviMainWindow.h"
#include <QLayout>
#include <QPushButton>
@@ -119,8 +120,11 @@ void DccAcceptDialog::closeEvent(QCloseEvent * e)
void DccAcceptDialog::showEvent(QShowEvent * e)
{
- QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen());
- move((rect.width() - width()) / 2, (rect.height() - height()) / 2);
+ int iScreen = g_pApp->desktop()->screenNumber(g_pMainWindow);
+ if(iScreen < 0)
+ iScreen = g_pApp->desktop()->primaryScreen();
+ QRect rect = g_pApp->desktop()->screenGeometry(iScreen);
+ move(rect.x() + ((rect.width() - width()) / 2),rect.y() + ((rect.height() - height()) / 2));
QWidget::showEvent(e);
}
@@ -182,8 +186,11 @@ void DccRenameDialog::closeEvent(QCloseEvent * e)
void DccRenameDialog::showEvent(QShowEvent * e)
{
- QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen());
- move((rect.width() - width()) / 2, (rect.height() - height()) / 2);
+ int iScreen = g_pApp->desktop()->screenNumber(g_pMainWindow);
+ if(iScreen < 0)
+ iScreen = g_pApp->desktop()->primaryScreen();
+ QRect rect = g_pApp->desktop()->screenGeometry(iScreen);
+ move(rect.x() + ((rect.width() - width()) / 2),rect.y() + ((rect.height() - height()) / 2));
QWidget::showEvent(e);
}
diff --git a/src/modules/dcc/DccDialog.h b/src/modules/dcc/DccDialog.h
index ded6dc942..a6e6d8c7d 100644
--- a/src/modules/dcc/DccDialog.h
+++ b/src/modules/dcc/DccDialog.h
@@ -50,8 +50,8 @@ public:
~DccAcceptDialog();
protected:
- virtual void closeEvent(QCloseEvent * e);
- virtual void showEvent(QShowEvent * e);
+ void closeEvent(QCloseEvent * e) override;
+ void showEvent(QShowEvent * e) override;
private slots:
void acceptClicked();
void rejectClicked();
@@ -68,8 +68,8 @@ public:
~DccRenameDialog();
protected:
- virtual void closeEvent(QCloseEvent * e);
- virtual void showEvent(QShowEvent * e);
+ void closeEvent(QCloseEvent * e) override;
+ void showEvent(QShowEvent * e) override;
private slots:
void renameClicked();
void overwriteClicked();
diff --git a/src/modules/dcc/DccFileTransfer.cpp b/src/modules/dcc/DccFileTransfer.cpp
index 2f3302521..34fa1ff34 100644
--- a/src/modules/dcc/DccFileTransfer.cpp
+++ b/src/modules/dcc/DccFileTransfer.cpp
@@ -1035,13 +1035,6 @@ void DccSendThread::run()
goto handle_system_error;
break;
case KviSSL::SyscallError:
- if(written == 0)
- {
- raiseSSLError();
- postErrorEvent(KviError::RemoteEndClosedConnection);
- goto exit_dcc;
- }
- else
{
int iSSLErr = m_pSSL->getLastError(true);
if(iSSLErr != 0)
@@ -1889,9 +1882,9 @@ QString DccFileTransfer::tipText()
{
QString s;
- s = QString("<table><tr><td bgcolor=\"#000000\"><font color=\"#FFFFFF\"><b>DCC %1 (ID %2)</b></font></td></tr>").arg(m_szDccType.ptr()).arg(id());
+ s = QString(R"(<table><tr><td bgcolor="#000000"><font color="#FFFFFF"><b>DCC %1 (ID %2)</b></font></td></tr>)").arg(m_szDccType.ptr()).arg(id());
- s += "<tr><td bgcolor=\"#404040\"><font color=\"#FFFFFF\">";
+ s += R"(<tr><td bgcolor="#404040"><font color="#FFFFFF">)";
s += __tr2qs_ctx("Transfer Log", "dcc");
s += "</font></td></tr>";
s += "<tr><td bgcolor=\"#C0C0C0\">";
@@ -2386,12 +2379,6 @@ bool DccFileTransfer::doResume(const char * filename, const char * port, quint64
if(!bFileNameMatches)
{
- // bad file name
- if(!bPortMatches)
- return false; // neither filename nor port match
-
- // port matches (this is very likely to be the right transfer)
-
if(!KVI_OPTION_BOOL(KviOption_boolAcceptBrokenFileNameDccResumeRequests))
{
if(_OUTPUT_VERBOSE)
diff --git a/src/modules/dcc/DccFileTransfer.h b/src/modules/dcc/DccFileTransfer.h
index f8fb48a05..4154cdcfc 100644
--- a/src/modules/dcc/DccFileTransfer.h
+++ b/src/modules/dcc/DccFileTransfer.h
@@ -51,7 +51,7 @@ class DccFileTransfer;
class DccMarshal;
class QMenu;
-typedef struct _KviDccSendThreadOptions
+struct KviDccSendThreadOptions
{
KviCString szFileName;
quint64 uStartPosition;
@@ -61,7 +61,7 @@ typedef struct _KviDccSendThreadOptions
bool bNoAcks;
bool bIsTdcc;
unsigned int uMaxBandwidth;
-} KviDccSendThreadOptions;
+};
class DccSendThread : public DccThread
{
@@ -74,8 +74,8 @@ private:
uint m_uAverageSpeed;
uint m_uInstantSpeed;
quint64 m_uFilePosition;
- quint64 m_uAckedBytes;
- quint64 m_uTotalSentBytes;
+ quint64 m_uAckedBytes = 0;
+ quint64 m_uTotalSentBytes = 0;
// internal
unsigned long m_uStartTime;
unsigned long m_uInstantSpeedInterval;
@@ -99,7 +99,7 @@ protected:
virtual void run();
};
-typedef struct _KviDccRecvThreadOptions
+struct KviDccRecvThreadOptions
{
bool bResume;
KviCString szFileName;
@@ -110,7 +110,7 @@ typedef struct _KviDccRecvThreadOptions
bool bNoAcks;
bool bIsTdcc;
unsigned int uMaxBandwidth;
-} KviDccRecvThreadOptions;
+};
class DccRecvThread : public DccThread
{
@@ -165,7 +165,7 @@ protected:
QSpinBox * m_pLimitBox;
protected:
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
protected slots:
void okClicked();
void cancelClicked();
@@ -221,18 +221,18 @@ public:
static bool handleResumeAccepted(const char * filename, const char * port, const char * szZeroPortTag);
static bool handleResumeRequest(const char * filename, const char * port, quint64 filePos);
- virtual bool event(QEvent * e);
+ bool event(QEvent * e) override;
- virtual KviWindow * dccMarshalOutputWindow();
- virtual const char * dccMarshalOutputContextString();
+ KviWindow * dccMarshalOutputWindow() override;
+ const char * dccMarshalOutputContextString() override;
- virtual void displayPaint(QPainter * p, int column, QRect rect);
- virtual int displayHeight(int iLineSpacing);
- virtual void fillContextPopup(QMenu * m);
+ void displayPaint(QPainter * p, int column, QRect rect) override;
+ int displayHeight(int iLineSpacing) override;
+ void fillContextPopup(QMenu * m) override;
virtual void fillStatusString(QString & szBuffer);
- virtual bool active();
- virtual QString tipText();
- virtual QString localFileName();
+ bool active() override;
+ QString tipText() override;
+ QString localFileName() override;
bool isFileUpload() { return m_pDescriptor->isFileUpload(); };
diff --git a/src/modules/dcc/DccMarshal.cpp b/src/modules/dcc/DccMarshal.cpp
index fa7d2b0b3..486aa9aee 100644
--- a/src/modules/dcc/DccMarshal.cpp
+++ b/src/modules/dcc/DccMarshal.cpp
@@ -32,7 +32,7 @@
#include "kvi_socket.h"
#include "KviFileUtils.h"
-#include <stdlib.h> //for exit()
+#include <cstdlib> //for exit()
#include <QTimer>
diff --git a/src/modules/dcc/DccThread.h b/src/modules/dcc/DccThread.h
index 25f6fc4fd..14cd96929 100644
--- a/src/modules/dcc/DccThread.h
+++ b/src/modules/dcc/DccThread.h
@@ -46,11 +46,11 @@
// KviThreadDataEvent<int>
#define KVI_DCC_THREAD_EVENT_ACTION (KVI_THREAD_USER_EVENT_BASE + 5)
-typedef struct _KviDccThreadIncomingData
+struct KviDccThreadIncomingData
{
int iLen;
char * buffer;
-} KviDccThreadIncomingData;
+};
class DccThread : public KviSensitiveThread
{
diff --git a/src/modules/dcc/DccVideoWindow.cpp b/src/modules/dcc/DccVideoWindow.cpp
index ea19273fb..963a30b36 100644
--- a/src/modules/dcc/DccVideoWindow.cpp
+++ b/src/modules/dcc/DccVideoWindow.cpp
@@ -72,9 +72,8 @@ bool kvi_dcc_video_is_valid_codec(const char * codecName)
return false;
}
-static DccVideoCodec * kvi_dcc_video_get_codec(const char * codecName)
+static DccVideoCodec * kvi_dcc_video_get_codec([[maybe_unused]] const char * codecName)
{
- Q_UNUSED(codecName);
#ifndef COMPILE_DISABLE_OGG_THEORA
if(kvi_strEqualCI("theora", codecName))
return new DccVideoTheoraCodec();
@@ -259,7 +258,7 @@ bool DccVideoThread::handleIncomingData(KviDccThreadIncomingData * data, bool bC
// no more data in the buffer
KVI_ASSERT(data->iLen == 0);
KviMemory::free(data->buffer);
- data->buffer = end = aux = 0;
+ data->buffer = end = aux = nullptr;
}
postEvent(parent(), e);
}
@@ -281,7 +280,7 @@ bool DccVideoThread::handleIncomingData(KviDccThreadIncomingData * data, bool bC
e->setData(s);
data->iLen = 0;
KviMemory::free(data->buffer);
- data->buffer = 0;
+ data->buffer = nullptr;
postEvent(parent(), e);
}
}
@@ -396,8 +395,8 @@ DccVideoWindow::DccVideoWindow(DccDescriptor * dcc, const char * name)
: DccWindow(KviWindow::DccVideo, name, dcc)
{
m_pDescriptor = dcc;
- m_pSlaveThread = 0;
- m_pszTarget = 0;
+ m_pSlaveThread = nullptr;
+ m_pszTarget = nullptr;
m_pButtonBox = new KviTalHBox(this);
@@ -501,51 +500,51 @@ DccVideoWindow::~DccVideoWindow()
if(m_pInVideoLabel)
{
delete m_pInVideoLabel;
- m_pInVideoLabel = 0;
+ m_pInVideoLabel = nullptr;
}
if(m_pCameraView)
{
delete m_pCameraView;
- m_pCameraView = 0;
+ m_pCameraView = nullptr;
}
if(m_pCameraImage)
{
delete m_pCameraImage;
- m_pCameraImage = 0;
+ m_pCameraImage = nullptr;
}
if(m_pCamera)
{
delete m_pCamera;
- m_pCamera = 0;
+ m_pCamera = nullptr;
}
if(m_pCDevices)
{
delete m_pCDevices;
- m_pCDevices = 0;
+ m_pCDevices = nullptr;
}
if(m_pCInputs)
{
delete m_pCInputs;
- m_pCInputs = 0;
+ m_pCInputs = nullptr;
}
if(m_pCStandards)
{
delete m_pCStandards;
- m_pCStandards = 0;
+ m_pCStandards = nullptr;
}
if(m_pVideoLabel[0])
{
delete m_pVideoLabel[2];
delete m_pVideoLabel[1];
delete m_pVideoLabel[0];
- m_pVideoLabel[2] = 0;
- m_pVideoLabel[1] = 0;
- m_pVideoLabel[0] = 0;
+ m_pVideoLabel[2] = nullptr;
+ m_pVideoLabel[1] = nullptr;
+ m_pVideoLabel[0] = nullptr;
}
if(m_pLayout)
{
delete m_pLayout;
- m_pLayout = 0;
+ m_pLayout = nullptr;
}
g_pDccBroker->unregisterDccWindow(this);
@@ -554,7 +553,7 @@ DccVideoWindow::~DccVideoWindow()
{
m_pSlaveThread->terminate();
delete m_pSlaveThread;
- m_pSlaveThread = 0;
+ m_pSlaveThread = nullptr;
}
KviThreadManager::killPendingEvents(this);
@@ -562,7 +561,7 @@ DccVideoWindow::~DccVideoWindow()
if(m_pszTarget)
{
delete m_pszTarget;
- m_pszTarget = 0;
+ m_pszTarget = nullptr;
}
}
@@ -792,7 +791,7 @@ void DccVideoWindow::ownAction(const QString & text)
return;
KviCString buf(KviCString::Format, "%cACTION %s%c\r\n", 0x01, d, 0x01);
m_tmpTextDataOut.append(buf.ptr(), buf.len());
- output(KVI_OUT_ACTION, "%Q %Q", &(m_pDescriptor->szLocalNick), &szTmpBuffer);
+ output(KVI_OUT_OWNACTION, "%Q %Q", &(m_pDescriptor->szLocalNick), &szTmpBuffer);
}
else
{
diff --git a/src/modules/dcc/DccVideoWindow.h b/src/modules/dcc/DccVideoWindow.h
index eca3ed97f..1210dcc8b 100644
--- a/src/modules/dcc/DccVideoWindow.h
+++ b/src/modules/dcc/DccVideoWindow.h
@@ -64,11 +64,11 @@ extern bool kvi_dcc_video_is_valid_codec(const char * codecName);
#define KVI_DCC_VIDEO_THREAD_ACTION_STOP_PLAYING 3
#define KVI_DCC_VIDEO_THREAD_ACTION_GRAB_FRAME 4
-typedef struct _KviDccVideoThreadOptions
+struct KviDccVideoThreadOptions
{
QString szVideoDevice;
DccVideoCodec * pCodec;
-} KviDccVideoThreadOptions;
+};
class DccVideoThread : public DccThread
{
@@ -102,9 +102,9 @@ protected:
void stopRecording();
void startPlaying();
void stopPlaying();
- inline bool isPlaying() { return m_bPlaying; };
- virtual void run();
- virtual bool handleIncomingData(KviDccThreadIncomingData * data, bool bCritical);
+ bool isPlaying() const { return m_bPlaying; }
+ void run() override;
+ bool handleIncomingData(KviDccThreadIncomingData * data, bool bCritical) override;
};
class DccVideoWindow : public DccWindow
@@ -135,21 +135,21 @@ protected:
QString m_szLocalNick;
protected:
- virtual void triggerCreationEvents();
- virtual void triggerDestructionEvents();
- virtual const QString & target();
- virtual void fillCaptionBuffers();
- virtual QPixmap * myIconPtr();
- virtual bool event(QEvent * e);
- virtual void getBaseLogFileName(QString & buffer);
+ void triggerCreationEvents() override;
+ void triggerDestructionEvents() override;
+ const QString & target() override;
+ void fillCaptionBuffers() override;
+ QPixmap * myIconPtr() override;
+ bool event(QEvent * e) override;
+ void getBaseLogFileName(QString & buffer) override;
void startTalking();
void stopTalking();
void startConnection();
- virtual const QString & localNick();
- virtual void ownMessage(const QString & text, bool bUserFeedback = true);
- virtual void ownAction(const QString & text);
- virtual void resizeEvent(QResizeEvent *);
- virtual QSize sizeHint() const;
+ const QString & localNick() override;
+ void ownMessage(const QString & text, bool bUserFeedback = true) override;
+ void ownAction(const QString & text) override;
+ void resizeEvent(QResizeEvent *) override;
+ QSize sizeHint() const override;
protected slots:
void handleMarshalError(KviError::Code eError);
void connected();
diff --git a/src/modules/dcc/DccVoiceAdpcmCodec.cpp b/src/modules/dcc/DccVoiceAdpcmCodec.cpp
index f3b9e0334..de05544e1 100644
--- a/src/modules/dcc/DccVoiceAdpcmCodec.cpp
+++ b/src/modules/dcc/DccVoiceAdpcmCodec.cpp
@@ -53,7 +53,7 @@
#define _ADPCMCODEC_CPP_
#include "DccVoiceAdpcmCodec.h"
-#include <stdio.h> /*DBG*/
+#include <cstdio> /*DBG*/
#ifndef __STDC__
#define signed
diff --git a/src/modules/dcc/DccVoiceAdpcmCodec.h b/src/modules/dcc/DccVoiceAdpcmCodec.h
index e437c18b5..8015bd052 100644
--- a/src/modules/dcc/DccVoiceAdpcmCodec.h
+++ b/src/modules/dcc/DccVoiceAdpcmCodec.h
@@ -47,11 +47,11 @@
#include "DccVoiceCodec.h"
-typedef struct adpcm_state
+struct ADPCM_state
{
short valprev; /* Previous output value */
char index; /* HelpIndex into stepsize table */
-} ADPCM_state;
+};
class DccVoiceAdpcmCodec : public DccVoiceCodec
{
diff --git a/src/modules/dcc/DccVoiceCodec.cpp b/src/modules/dcc/DccVoiceCodec.cpp
index 8f52060a2..5e70d176c 100644
--- a/src/modules/dcc/DccVoiceCodec.cpp
+++ b/src/modules/dcc/DccVoiceCodec.cpp
@@ -29,8 +29,7 @@
#include <QBuffer>
DccVoiceCodec::DccVoiceCodec()
-{
-}
+ = default;
DccVoiceCodec::~DccVoiceCodec()
= default;
@@ -95,8 +94,7 @@ int DccVoiceNullCodec::decodedFrameSize()
}
DccVideoCodec::DccVideoCodec()
-{
-}
+ = default;
DccVideoCodec::~DccVideoCodec()
= default;
@@ -265,19 +263,19 @@ DccVideoTheoraCodec::DccVideoTheoraCodec()
: DccVideoCodec()
{
m_szName = "theora";
- m_pEncoder = 0;
- m_pDecoder = 0;
+ m_pEncoder = nullptr;
+ m_pDecoder = nullptr;
}
DccVideoTheoraCodec::~DccVideoTheoraCodec()
{
if(m_pEncoder)
delete m_pEncoder;
- m_pEncoder = 0;
+ m_pEncoder = nullptr;
if(m_pDecoder)
delete m_pDecoder;
- m_pDecoder = 0;
+ m_pDecoder = nullptr;
}
void DccVideoTheoraCodec::encodeVideo(KviDataBuffer * videoSignal, KviDataBuffer * stream)
diff --git a/src/modules/dcc/DccVoiceGsmCodec.cpp b/src/modules/dcc/DccVoiceGsmCodec.cpp
index e2a23bb4e..3a7929b3d 100644
--- a/src/modules/dcc/DccVoiceGsmCodec.cpp
+++ b/src/modules/dcc/DccVoiceGsmCodec.cpp
@@ -33,12 +33,12 @@
#define GSM_UNPACKED_FRAME_SIZE_IN_BYTES 320
#define GSM_UNPACKED_FRAME_SIZE_IN_SHORTS 160
-void * (*gsm_session_create)() = 0;
-void (*gsm_session_destroy)(void *) = 0;
-void (*gsm_session_encode)(void *, short *, unsigned char *) = 0;
-int (*gsm_session_decode)(void *, unsigned char *, short *) = 0;
+void * (*gsm_session_create)() = nullptr;
+void (*gsm_session_destroy)(void *) = nullptr;
+void (*gsm_session_encode)(void *, short *, unsigned char *) = nullptr;
+int (*gsm_session_decode)(void *, unsigned char *, short *) = nullptr;
-void * g_pGSMCodecLibraryHandle = 0;
+void * g_pGSMCodecLibraryHandle = nullptr;
bool kvi_gsm_codec_init()
{
@@ -57,7 +57,7 @@ bool kvi_gsm_codec_init()
if(!(gsm_session_create && gsm_session_destroy && gsm_session_encode && gsm_session_decode))
{
dlclose(g_pGSMCodecLibraryHandle);
- g_pGSMCodecLibraryHandle = 0;
+ g_pGSMCodecLibraryHandle = nullptr;
return false;
}
return true;
@@ -68,7 +68,7 @@ void kvi_gsm_codec_done()
if(g_pGSMCodecLibraryHandle)
{
dlclose(g_pGSMCodecLibraryHandle);
- g_pGSMCodecLibraryHandle = 0;
+ g_pGSMCodecLibraryHandle = nullptr;
}
}
diff --git a/src/modules/dcc/DccVoiceWindow.cpp b/src/modules/dcc/DccVoiceWindow.cpp
index be04e9e83..279823727 100644
--- a/src/modules/dcc/DccVoiceWindow.cpp
+++ b/src/modules/dcc/DccVoiceWindow.cpp
@@ -49,7 +49,7 @@
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
-#include <errno.h>
+#include <cerrno>
#include <fcntl.h>
#include <sys/stat.h> // for open()
#include <sys/ioctl.h> // for ioctl()
@@ -1014,7 +1014,7 @@ void DccVoiceWindow::startOrStopTalking(bool bStart)
stopTalking();
}
-int DccVoiceWindow::getMixerVolume(void) const
+int DccVoiceWindow::getMixerVolume() const
{
#ifndef COMPILE_DISABLE_DCC_VOICE
int fd;
diff --git a/src/modules/dcc/DccVoiceWindow.h b/src/modules/dcc/DccVoiceWindow.h
index e0d526382..f0f7dc898 100644
--- a/src/modules/dcc/DccVoiceWindow.h
+++ b/src/modules/dcc/DccVoiceWindow.h
@@ -51,14 +51,14 @@ extern bool kvi_dcc_voice_is_valid_codec(const char * codecName);
#define KVI_DCC_VOICE_THREAD_ACTION_START_PLAYING 2
#define KVI_DCC_VOICE_THREAD_ACTION_STOP_PLAYING 3
-typedef struct _KviDccVoiceThreadOptions
+struct KviDccVoiceThreadOptions
{
bool bForceHalfDuplex;
int iPreBufferSize;
int iSampleRate;
KviCString szSoundDevice;
DccVoiceCodec * pCodec;
-} KviDccVoiceThreadOptions;
+};
class DccVoiceThread : public DccThread
{
@@ -125,14 +125,14 @@ protected:
DccVoiceThread * m_pSlaveThread;
protected:
- virtual void focusInEvent(QFocusEvent *);
- virtual const QString & target();
- virtual void fillCaptionBuffers();
- virtual QPixmap * myIconPtr();
- virtual void resizeEvent(QResizeEvent * e);
- virtual QSize sizeHint() const;
- virtual bool event(QEvent * e);
- virtual void getBaseLogFileName(QString & buffer);
+ void focusInEvent(QFocusEvent *) override;
+ const QString & target() override;
+ void fillCaptionBuffers() override;
+ QPixmap * myIconPtr() override;
+ void resizeEvent(QResizeEvent * e) override;
+ QSize sizeHint() const override;
+ bool event(QEvent * e) override;
+ void getBaseLogFileName(QString & buffer) override;
void startTalking();
void stopTalking();
void startConnection();
@@ -188,7 +188,7 @@ public:
KviVoiceParty::KviVoiceParty(const QString &szNick,const QString &szIp,unsigned short uPort)
: m_szIp(szIp), m_uPort(uPort), m_szNick(szNick)
{
- m_pChildrenTree = 0;
+ m_pChildrenTree = nullptr;
}
KviVoiceParty::~KviVoiceParty()
@@ -241,8 +241,8 @@ KviVoiceLink::KviVoiceLink(KviVoiceParty * pRemoteParty)
{
KviQString::sprintf("%Q:%u",&(pRemoteParty->nick()),pRemoteParty->port());
m_pRemoteParty = pRemoteParty;
- m_pAudioEncoder = 0;
- m_pAudioDecoder = 0;
+ m_pAudioEncoder = nullptr;
+ m_pAudioDecoder = nullptr;
}
KviVoiceLink::~KviVoiceLink()
diff --git a/src/modules/dcc/DccWindow.h b/src/modules/dcc/DccWindow.h
index 31a4710fd..483f1ad43 100644
--- a/src/modules/dcc/DccWindow.h
+++ b/src/modules/dcc/DccWindow.h
@@ -45,7 +45,7 @@ protected:
public:
DccDescriptor * descriptor() { return m_pDescriptor; };
const DccMarshal * marshal() { return m_pMarshal; };
- virtual DccThread * getSlaveThread() { return 0; };
+ virtual DccThread * getSlaveThread() { return nullptr; }
virtual KviWindow * dccMarshalOutputWindow();
virtual const char * dccMarshalOutputContextString();
};
diff --git a/src/modules/dcc/canvaswidget.cpp b/src/modules/dcc/canvaswidget.cpp
index 8da7a0204..03d69ac58 100644
--- a/src/modules/dcc/canvaswidget.cpp
+++ b/src/modules/dcc/canvaswidget.cpp
@@ -466,7 +466,7 @@ KviCanvasView::KviCanvasView(QCanvas * c, DccCanvasWidget * cw, QWidget * par)
m_pCanvasWidget = cw;
m_state = Idle;
m_dragMode = None;
- m_pSelectedItem = 0;
+ m_pSelectedItem = nullptr;
viewport()->setMouseTracking(true);
}
@@ -562,7 +562,7 @@ static void calcPolygonPoints(QPointArray & pnts, unsigned int nVertices)
void KviCanvasView::insertObjectAt(const QPoint & pnt, ObjectType o)
{
- QCanvasItem * r = 0;
+ QCanvasItem * r = nullptr;
switch(o)
{
@@ -655,7 +655,7 @@ void KviCanvasView::clearSelection()
if(!m_pSelectedItem)
return;
m_pSelectedItem->setSelected(false);
- m_pSelectedItem = 0;
+ m_pSelectedItem = nullptr;
m_pCanvasWidget->m_pPropertiesWidget->editItem(0);
}
@@ -1297,7 +1297,7 @@ QWidget * KviVariantTableItem::createEditor() const
default:
break;
}
- return 0;
+ return nullptr;
}
void KviVariantTableItem::setContentFromEditor(QWidget * w)
@@ -1429,7 +1429,7 @@ void KviCanvasItemPropertiesWidget::editItem(QCanvasItem * it)
return;
}
- QMap<QString, QVariant> * m = 0;
+ QMap<QString, QVariant> * m = nullptr;
switch(KVI_CANVAS_RTTI_CONTROL_TYPE(it))
{
diff --git a/src/modules/dcc/canvaswidget.h b/src/modules/dcc/canvaswidget.h
index d6737cef4..c03a750c7 100644
--- a/src/modules/dcc/canvaswidget.h
+++ b/src/modules/dcc/canvaswidget.h
@@ -263,9 +263,9 @@ protected:
void setItemSelected(QCanvasItem * it);
void clearSelection();
void insertObjectAt(const QPoint & pnt, ObjectType o);
- virtual void contentsMousePressEvent(QMouseEvent * e);
- virtual void contentsMouseMoveEvent(QMouseEvent * e);
- virtual void contentsMouseReleaseEvent(QMouseEvent * e);
+ void contentsMousePressEvent(QMouseEvent * e) override;
+ void contentsMouseMoveEvent(QMouseEvent * e) override;
+ void contentsMouseReleaseEvent(QMouseEvent * e) override;
public slots:
void insertRectangle();
void insertRichText();
@@ -328,7 +328,7 @@ protected:
KviCanvasItemPropertiesWidget * m_pPropertiesWidget;
protected:
- virtual void resizeEvent(QResizeEvent *);
+ void resizeEvent(QResizeEvent *) override;
};
#endif
diff --git a/src/modules/dcc/libkvidcc.cpp b/src/modules/dcc/libkvidcc.cpp
index 510c5b122..16427465b 100644
--- a/src/modules/dcc/libkvidcc.cpp
+++ b/src/modules/dcc/libkvidcc.cpp
@@ -2420,7 +2420,7 @@ static bool dcc_kvs_fnc_ircContext(KviKvsModuleFunctionCall * c)
}
else
{
- c->error(__tr2qs_ctx("The IRC context that originated the DCC doesn't exists anymore.", "dcc"));
+ c->error(__tr2qs_ctx("The IRC context that originated the DCC doesn't exist anymore.", "dcc"));
return false;
}
}
diff --git a/src/modules/dcc/requests.cpp b/src/modules/dcc/requests.cpp
index 2e856ac44..7440c58ad 100644
--- a/src/modules/dcc/requests.cpp
+++ b/src/modules/dcc/requests.cpp
@@ -1175,12 +1175,12 @@ static void dccModuleParseDccList(KviDccRequest *)
// FIXME!
}
-typedef void (*dccParseProc)(KviDccRequest *);
-typedef struct _dccParseProcEntry
+using dccParseProc = void (*)(KviDccRequest *);
+struct dccParseProcEntry
{
const char * type;
dccParseProc proc;
-} dccParseProcEntry;
+};
#define KVI_NUM_KNOWN_DCC_TYPES 28
diff --git a/src/modules/dialog/libkvidialog.h b/src/modules/dialog/libkvidialog.h
index 5bec526e4..ac0eb86fc 100644
--- a/src/modules/dialog/libkvidialog.h
+++ b/src/modules/dialog/libkvidialog.h
@@ -49,7 +49,7 @@ public:
KviWindow * pWindow, bool modal = false);
~KviKvsCallbackMessageBox();
protected slots:
- virtual void done(int code);
+ void done(int code) override;
};
class KviKvsCallbackTextInput : public QDialog, public KviKvsCallbackObject
@@ -79,13 +79,13 @@ protected:
int m_iDefaultButton;
protected:
- virtual void closeEvent(QCloseEvent * e);
- virtual void showEvent(QShowEvent * e);
+ void closeEvent(QCloseEvent * e) override;
+ void showEvent(QShowEvent * e) override;
protected slots:
void b0Clicked();
void b1Clicked();
void b2Clicked();
- virtual void done(int code);
+ void done(int code) override;
};
class KviKvsCallbackFileDialog : public KviFileDialog, public KviKvsCallbackObject
@@ -102,7 +102,7 @@ public:
~KviKvsCallbackFileDialog();
protected:
- virtual void done(int code);
+ void done(int code) override;
};
class KviKvsCallbackImageDialog : public KviImageDialog, public KviKvsCallbackObject
@@ -120,7 +120,7 @@ public:
~KviKvsCallbackImageDialog();
protected:
- virtual void done(int code);
+ void done(int code) override;
};
#endif //_KVI_DIALOG_H_
diff --git a/src/modules/editor/ScriptEditorImplementation.cpp b/src/modules/editor/ScriptEditorImplementation.cpp
index c05308977..f21ef4fdb 100644
--- a/src/modules/editor/ScriptEditorImplementation.cpp
+++ b/src/modules/editor/ScriptEditorImplementation.cpp
@@ -317,10 +317,6 @@ void ScriptEditorWidget::updateOptions()
disableSyntaxHighlighter();
enableSyntaxHighlighter();
- p = ((ScriptEditorImplementation *)m_pParent)->findLineEdit()->palette();
- p.setColor(foregroundRole(), g_clrFind);
- ((ScriptEditorImplementation *)m_pParent)->findLineEdit()->setPalette(p);
-
//set cursor custom width
if(KVI_OPTION_BOOL(KviOption_boolEnableCustomCursorWidth))
{
@@ -715,16 +711,16 @@ ScriptEditorImplementation::ScriptEditorImplementation(QWidget * par)
m_lastCursorPos = 0;
QGridLayout * g = new QGridLayout(this);
+ m_pEditor = new ScriptEditorWidget(this);
+
m_pFindLineEdit = new QLineEdit(" ", this);
m_pFindLineEdit->setText("");
QPalette p = m_pFindLineEdit->palette();
- p.setColor(foregroundRole(), g_clrFind);
+ p.setColor(QPalette::Text, g_clrFind);
m_pFindLineEdit->setPalette(p);
- m_pEditor = new ScriptEditorWidget(this);
-
- g->addWidget(m_pEditor, 0, 0, 1, 4);
+ g->addWidget(m_pEditor, 0, 0, 1, 5);
g->setRowStretch(0, 1);
QToolButton * b = new QToolButton(this);
@@ -753,13 +749,18 @@ ScriptEditorImplementation::ScriptEditorImplementation(QWidget * par)
pLab->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
g->addWidget(pLab, 1, 1);
+ m_pFindButton = new QPushButton(QString(__tr2qs_ctx("&Find", "editor")), this);
+ g->addWidget(m_pFindButton, 1, 3);
+
m_pRowColLabel = new QLabel(QString(__tr2qs_ctx("Line: %1 Col: %2", "editor")).arg(1).arg(1), this);
m_pRowColLabel->setFrameStyle(QFrame::Sunken | QFrame::Panel);
m_pRowColLabel->setMinimumWidth(80);
- g->addWidget(m_pRowColLabel, 1, 3);
+ g->addWidget(m_pRowColLabel, 1, 4);
connect(m_pFindLineEdit, SIGNAL(returnPressed()), m_pEditor, SLOT(slotFind()));
connect(m_pFindLineEdit, SIGNAL(returnPressed()), this, SLOT(slotFind()));
+ connect(m_pFindButton, SIGNAL(clicked()), m_pEditor, SLOT(slotFind()));
+ connect(m_pFindButton, SIGNAL(clicked()), this, SLOT(slotFind()));
connect(m_pEditor, SIGNAL(cursorPositionChanged()), this, SLOT(updateRowColLabel()));
connect(m_pEditor, SIGNAL(selectionChanged()), this, SLOT(updateRowColLabel()));
m_lastCursorPos = 0;
diff --git a/src/modules/editor/ScriptEditorImplementation.h b/src/modules/editor/ScriptEditorImplementation.h
index 1a99aa490..35ee28ba9 100644
--- a/src/modules/editor/ScriptEditorImplementation.h
+++ b/src/modules/editor/ScriptEditorImplementation.h
@@ -155,6 +155,7 @@ protected:
ScriptEditorWidgetColorOptions * m_pOptionsDialog;
ScriptEditorWidget * m_pEditor;
QLabel * m_pRowColLabel;
+ QPushButton * m_pFindButton;
int m_lastCursorPos;
public:
@@ -201,7 +202,7 @@ class ScriptEditorReplaceDialog final : public QDialog
{
Q_OBJECT
public:
- ScriptEditorReplaceDialog(QWidget * parent = 0, const QString & szName = QString());
+ ScriptEditorReplaceDialog(QWidget * parent = nullptr, const QString & szName = QString());
public:
QLineEdit * m_pFindLineEdit;
diff --git a/src/modules/eventeditor/EventEditorWindow.cpp b/src/modules/eventeditor/EventEditorWindow.cpp
index d54d110d3..ca9ef2cfd 100644
--- a/src/modules/eventeditor/EventEditorWindow.cpp
+++ b/src/modules/eventeditor/EventEditorWindow.cpp
@@ -39,6 +39,7 @@
#include "KviQString.h"
#include "KviKvsEventManager.h"
#include "KviTalVBox.h"
+#include "KviTalHBox.h"
#include <QMessageBox>
#include <QSplitter>
@@ -47,11 +48,14 @@
#include <QPushButton>
#include <QMouseEvent>
#include <QMenu>
+#include <utility>
extern EventEditorWindow * g_pEventEditorWindow;
-EventEditorEventTreeWidgetItem::EventEditorEventTreeWidgetItem(QTreeWidget * par, unsigned int uEvIdx, const QString & name, const QString & params)
- : QTreeWidgetItem(par), m_uEventIdx(uEvIdx), m_szParams(params)
+EventEditorEventTreeWidgetItem::EventEditorEventTreeWidgetItem(QTreeWidget * par, unsigned int uEvIdx, const QString & name, QString params)
+ : QTreeWidgetItem(par)
+ , m_uEventIdx(uEvIdx)
+ , m_szParams(std::move(params))
{
setName(name);
}
@@ -62,8 +66,9 @@ void EventEditorEventTreeWidgetItem::setName(const QString & szName)
setText(0, m_szName);
}
-EventEditorHandlerTreeWidgetItem::EventEditorHandlerTreeWidgetItem(QTreeWidgetItem * par, const QString & name, const QString & buffer, bool bEnabled)
- : QTreeWidgetItem(par), m_szBuffer(buffer)
+EventEditorHandlerTreeWidgetItem::EventEditorHandlerTreeWidgetItem(QTreeWidgetItem * par, const QString & name, QString buffer, bool bEnabled)
+ : QTreeWidgetItem(par)
+ , m_szBuffer(std::move(buffer))
{
m_cPos = 0;
setEnabled(bEnabled); //this updates the icon too
@@ -110,11 +115,25 @@ EventEditor::EventEditor(QWidget * par)
box->setSpacing(0);
box->setMargin(0);
- m_pNameEditor = new QLineEdit(box);
+ KviTalHBox * hbox = new KviTalHBox(box);
+ hbox->setContentsMargins(10, 0, 10, 0);
+
+ m_pIsEnabled = new QCheckBox(hbox);
+ m_pIsEnabled->setText(__tr2qs_ctx("E&nabled", "editor"));
+ m_pIsEnabled->setEnabled(false);
+ connect(m_pIsEnabled, SIGNAL(clicked(bool)), this, SLOT(toggleCurrentHandlerEnabled()));
+
+ m_pNameEditor = new QLineEdit(hbox);
+ m_pNameEditor->setText(__tr2qs_ctx("No item selected", "editor"));
m_pNameEditor->setToolTip(__tr2qs_ctx("Edit the event handler name.", "editor"));
+ m_pNameEditor->setEnabled(false);
+ QRegExpValidator * pValidator = new QRegExpValidator(QRegExp(KVI_KVS_EVENT_HANDLER_NAME_REG_EXP), this);
+ m_pNameEditor->setValidator(pValidator);
+ m_pNameEditor->setEnabled(false);
m_pEditor = KviScriptEditor::createInstance(box);
m_pEditor->setFocus();
+ m_pEditor->setEnabled(false);
m_bOneTimeSetupDone = false;
m_pLastEditedItem = nullptr;
}
@@ -163,6 +182,14 @@ void EventEditor::eventHandlerDisabled(const QString & szHandler)
QString szEventName = szHandler.split("::")[0];
QString szHandlerName = szHandler.split("::")[1];
qDebug("Handler %s of event %s : disabled", szHandlerName.toUtf8().data(), szEventName.toUtf8().data());
+
+ QTreeWidgetItem * pSelectedItem = nullptr;
+ QList <QTreeWidgetItem *> itemList = m_pTreeWidget->selectedItems();
+ if (!itemList.isEmpty())
+ {
+ pSelectedItem = itemList.first();
+ }
+
for(int i = 0; i < m_pTreeWidget->topLevelItemCount(); i++)
{
EventEditorEventTreeWidgetItem * pItem = (EventEditorEventTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
@@ -173,6 +200,8 @@ void EventEditor::eventHandlerDisabled(const QString & szHandler)
if(KviQString::equalCI(szHandlerName, ((EventEditorHandlerTreeWidgetItem *)pItem->child(j))->name()))
{
((EventEditorHandlerTreeWidgetItem *)pItem->child(j))->setEnabled(false);
+ if (pItem->child(j) == pSelectedItem)
+ m_pIsEnabled->setChecked(false);
return;
}
}
@@ -310,6 +339,7 @@ void EventEditor::removeCurrentHandler()
parent->setIcon(0, QIcon(*(g_pIconManager->getSmallIcon(KviIconManager::EventNoHandlers))));
}
+ m_pIsEnabled->setEnabled(false);
m_pEditor->setEnabled(false);
m_pNameEditor->setEnabled(false);
}
@@ -320,6 +350,7 @@ void EventEditor::toggleCurrentHandlerEnabled()
KVI_ASSERT(m_bOneTimeSetupDone);
if(m_pLastEditedItem)
{
+ m_pIsEnabled->setChecked(!(m_pLastEditedItem->m_bEnabled));
m_pLastEditedItem->setEnabled(!(m_pLastEditedItem->m_bEnabled));
m_pTreeWidget->repaint(m_pTreeWidget->visualItemRect(m_pLastEditedItem));
currentItemChanged(m_pLastEditedItem, nullptr);
@@ -368,8 +399,7 @@ void EventEditor::saveLastEditedItem()
return;
((EventEditorHandlerTreeWidgetItem *)m_pLastEditedItem)->setCursorPosition(m_pEditor->getCursor());
QString buffer = m_pNameEditor->text();
- //not-so elaborate fix for #218, we'd better rework this
- buffer.replace(QRegExp("[^A-Za-z0-9_]"), "");
+ KviKvsEventManager::instance()->cleanHandlerName(buffer);
if(!KviQString::equalCI(buffer, m_pLastEditedItem->m_szName))
{
getUniqueHandlerName((EventEditorEventTreeWidgetItem *)(m_pLastEditedItem->parent()), buffer);
@@ -398,6 +428,8 @@ void EventEditor::currentItemChanged(QTreeWidgetItem * it, QTreeWidgetItem *)
if(it->parent())
{
m_pLastEditedItem = (EventEditorHandlerTreeWidgetItem *)it;
+ m_pIsEnabled->setEnabled(true);
+ m_pIsEnabled->setChecked(m_pLastEditedItem->isEnabled());
m_pNameEditor->setEnabled(true);
m_pNameEditor->setText(m_pLastEditedItem->name());
m_pEditor->setEnabled(true);
@@ -408,8 +440,10 @@ void EventEditor::currentItemChanged(QTreeWidgetItem * it, QTreeWidgetItem *)
else
{
m_pLastEditedItem = nullptr;
+ m_pIsEnabled->setEnabled(false);
+ m_pIsEnabled->setChecked(false);
m_pNameEditor->setEnabled(false);
- m_pNameEditor->setText("");
+ m_pNameEditor->setText(__tr2qs_ctx("No item selected", "editor"));
m_pEditor->setEnabled(false);
QString parms = ((EventEditorEventTreeWidgetItem *)it)->m_szParams;
if(parms.isEmpty())
diff --git a/src/modules/eventeditor/EventEditorWindow.h b/src/modules/eventeditor/EventEditorWindow.h
index f6ca3644f..0425b13ea 100644
--- a/src/modules/eventeditor/EventEditorWindow.h
+++ b/src/modules/eventeditor/EventEditorWindow.h
@@ -31,6 +31,7 @@
#include <QLineEdit>
#include <QTreeWidget>
#include <QMenu>
+#include <QCheckBox>
class KviScriptEditor;
@@ -42,7 +43,7 @@ public:
QString m_szParams;
public:
- EventEditorEventTreeWidgetItem(QTreeWidget * par, unsigned int uEvIdx, const QString & name, const QString & params);
+ EventEditorEventTreeWidgetItem(QTreeWidget * par, unsigned int uEvIdx, const QString & name, QString params);
~EventEditorEventTreeWidgetItem(){};
public:
@@ -59,20 +60,20 @@ public:
int m_cPos;
public:
- EventEditorHandlerTreeWidgetItem(QTreeWidgetItem * par, const QString & name, const QString & buffer, bool bEnabled);
+ EventEditorHandlerTreeWidgetItem(QTreeWidgetItem * par, const QString & name, QString buffer, bool bEnabled);
~EventEditorHandlerTreeWidgetItem(){};
public:
const int & cursorPosition() { return m_cPos; };
void setCursorPosition(const int & cPos)
{
- qDebug("set cursor to %d", cPos);
m_cPos = cPos;
};
void setName(const QString & szName);
QString name() const { return m_szName; };
void setEnabled(const bool bEnabled);
+ bool isEnabled() { return m_bEnabled; };
};
class EventEditorTreeWidget : public QTreeWidget
@@ -83,7 +84,7 @@ public:
~EventEditorTreeWidget(){};
protected:
- void mousePressEvent(QMouseEvent * e);
+ void mousePressEvent(QMouseEvent * e) override;
signals:
void rightButtonPressed(QTreeWidgetItem *, QPoint);
};
@@ -99,7 +100,8 @@ public:
KviScriptEditor * m_pEditor;
EventEditorTreeWidget * m_pTreeWidget;
QLineEdit * m_pNameEditor;
- QMenu * m_pContextPopup;
+ QCheckBox * m_pIsEnabled;
+ QMenu * m_pContextPopup = nullptr;
EventEditorHandlerTreeWidgetItem * m_pLastEditedItem;
bool m_bOneTimeSetupDone;
@@ -119,7 +121,7 @@ protected slots:
void eventHandlerDisabled(const QString & szName);
protected:
- void showEvent(QShowEvent * e);
+ void showEvent(QShowEvent * e) override;
private:
void oneTimeSetup();
@@ -136,11 +138,11 @@ protected:
EventEditor * m_pEditor;
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void getConfigGroupName(QString & szName);
- virtual void saveProperties(KviConfigurationFile *);
- virtual void loadProperties(KviConfigurationFile *);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void getConfigGroupName(QString & szName) override;
+ void saveProperties(KviConfigurationFile *) override;
+ void loadProperties(KviConfigurationFile *) override;
protected slots:
void cancelClicked();
void okClicked();
diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp
index 84d7d5d37..2ff800b5f 100644
--- a/src/modules/file/libkvifile.cpp
+++ b/src/modules/file/libkvifile.cpp
@@ -53,6 +53,12 @@
#endif
#include <openssl/evp.h>
+
+#if OPENSSL_VERSION_NUMBER < 0x10100005L
+#define EVP_MD_CTX_new EVP_MD_CTX_create
+#define EVP_MD_CTX_free EVP_MD_CTX_destroy
+#endif
+
#else
// The fallback we can always use, but with very limited set of
// functionality.
@@ -707,20 +713,20 @@ static bool file_kvs_fnc_ps(KviKvsModuleFunctionCall * c)
The <directory> should be given as a UNIX style path and is adjusted according to the system that KVIrc is running on.[br][br]
<flags> may be a combination of the following characters:[br]
[pre]
- [b]d:[/b] list directories[br]
- [b]f:[/b] list files[br]
- [b]l:[/b] list symbolic links[br]
- [b]r:[/b] list readable files[br]
- [b]w:[/b] list writable files[br]
- [b]x:[/b] list executable files[br]
- [b]h:[/b] list hidden files[br]
- [b]s:[/b] list system files[br]
- [b]n:[/b] sort files by name[br]
- [b]t:[/b] sort files by file time[br]
- [b]b:[/b] sort files by file size[br]
- [b]z:[/b] put the directories first, then the files[br]
- [b]k:[/b] invert sort order[br]
- [b]i:[/b] case insensitive sort[br]
+ [b]d:[/b] list directories
+ [b]f:[/b] list files
+ [b]l:[/b] list symbolic links
+ [b]r:[/b] list readable files
+ [b]w:[/b] list writable files
+ [b]x:[/b] list executable files
+ [b]h:[/b] list hidden files
+ [b]s:[/b] list system files
+ [b]n:[/b] sort files by name
+ [b]t:[/b] sort files by file time
+ [b]b:[/b] sort files by file size
+ [b]z:[/b] put the directories first, then the files
+ [b]k:[/b] invert sort order
+ [b]i:[/b] case insensitive sort
[/pre]
If <flags> is empty, then a default of [b]dfrwxhs[/b] is set. If none of the [b]r[/b],[b]w[/b],[b]x[/b] flags are set then KVIrc sets all of them by default.[br][br]
If <namefilter> is passed then it is interpreted as a wildcard string
@@ -1483,7 +1489,7 @@ static bool file_kvs_fnc_diskSpace(KviKvsModuleFunctionCall * c)
// this for win
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
ULARGE_INTEGER free, total;
- if (GetDiskFreeSpaceEx(szPath.toStdWString().c_str(), NULL, &total, &free) == 0) {
+ if (GetDiskFreeSpaceEx(szPath.toStdWString().c_str(), nullptr, &total, &free) == 0) {
c->warning(__tr2qs("An error occurred retrieving the amount of free space in '%Q'"), &szPath);
return true;
}
@@ -1553,7 +1559,7 @@ static bool file_kvs_fnc_digest(KviKvsModuleFunctionCall * c)
if(szAlgo.isEmpty())
szAlgo = "md5";
- EVP_MD_CTX mdctx;
+ EVP_MD_CTX *mdctx;
const EVP_MD * pMD;
unsigned char ucMDValue[EVP_MAX_MD_SIZE];
unsigned int uMDLen, u;
@@ -1567,11 +1573,11 @@ static bool file_kvs_fnc_digest(KviKvsModuleFunctionCall * c)
return true;
}
- EVP_MD_CTX_init(&mdctx);
- EVP_DigestInit_ex(&mdctx, pMD, nullptr);
- EVP_DigestUpdate(&mdctx, content.constData(), content.size());
- EVP_DigestFinal_ex(&mdctx, ucMDValue, &uMDLen);
- EVP_MD_CTX_cleanup(&mdctx);
+ mdctx = EVP_MD_CTX_new();
+ EVP_DigestInit_ex(mdctx, pMD, nullptr);
+ EVP_DigestUpdate(mdctx, content.constData(), content.size());
+ EVP_DigestFinal_ex(mdctx, ucMDValue, &uMDLen);
+ EVP_MD_CTX_free(mdctx);
for(u = 0; u < uMDLen; u++)
{
diff --git a/src/modules/filetransferwindow/FileTransferWindow.cpp b/src/modules/filetransferwindow/FileTransferWindow.cpp
index d802c2bc1..03328ecd5 100644
--- a/src/modules/filetransferwindow/FileTransferWindow.cpp
+++ b/src/modules/filetransferwindow/FileTransferWindow.cpp
@@ -248,7 +248,7 @@ void FileTransferItemDelegate::paint(QPainter * p, const QStyleOptionViewItem &
QSize FileTransferItemDelegate::sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const
{
// FIXME fixed width
- return QSize(((FileTransferWidget *)parent())->viewport()->size().width(), 68);
+ return { ((FileTransferWidget *)parent())->viewport()->size().width(), 68 };
}
FileTransferWindow::FileTransferWindow(
@@ -666,7 +666,7 @@ void FileTransferWindow::openLocalFile()
if(tmp.isEmpty())
return;
tmp.replace("/", "\\");
- ShellExecute(0, TEXT("open"), tmp.toStdWString().c_str(), NULL, NULL, SW_SHOWNORMAL); //You have to link the shell32.lib
+ ShellExecute(0, TEXT("open"), tmp.toStdWString().c_str(), nullptr, nullptr, SW_SHOWNORMAL); //You have to link the shell32.lib
#else
// G&N end
#ifdef COMPILE_KDE4_SUPPORT
diff --git a/src/modules/filetransferwindow/FileTransferWindow.h b/src/modules/filetransferwindow/FileTransferWindow.h
index 120d87c50..9c13d1c0c 100644
--- a/src/modules/filetransferwindow/FileTransferWindow.h
+++ b/src/modules/filetransferwindow/FileTransferWindow.h
@@ -51,11 +51,11 @@ class FileTransferWidget : public KviTalTableWidget
public:
FileTransferWidget(QWidget * pParent);
~FileTransferWidget(){};
- void paintEvent(QPaintEvent * event);
+ void paintEvent(QPaintEvent * event) override;
int dummyRead() const { return 0; };
protected:
- void mousePressEvent(QMouseEvent * e);
- void mouseDoubleClickEvent(QMouseEvent * e);
+ void mousePressEvent(QMouseEvent * e) override;
+ void mouseDoubleClickEvent(QMouseEvent * e) override;
signals:
void rightButtonPressed(FileTransferItem *, QPoint pnt);
void doubleClicked(FileTransferItem *, QPoint pnt);
@@ -81,7 +81,7 @@ class FileTransferItemDelegate : public KviTalIconAndRichTextItemDelegate
{
Q_OBJECT
public:
- FileTransferItemDelegate(QAbstractItemView * pWidget = 0)
+ FileTransferItemDelegate(QAbstractItemView * pWidget = nullptr)
: KviTalIconAndRichTextItemDelegate(pWidget){};
~FileTransferItemDelegate(){};
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
@@ -117,18 +117,18 @@ public: // Methods
virtual void die();
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void applyOptions();
- virtual void resizeEvent(QResizeEvent * e);
- virtual void getBaseLogFileName(QString & buffer);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void applyOptions() override;
+ void resizeEvent(QResizeEvent * e) override;
+ void getBaseLogFileName(QString & buffer) override;
FileTransferItem * findItem(KviFileTransfer * t);
void fillTransferView();
KviFileTransfer * selectedTransfer();
- bool eventFilter(QObject * obj, QEvent * ev);
+ bool eventFilter(QObject * obj, QEvent * ev) override;
public:
- virtual QSize sizeHint() const;
+ QSize sizeHint() const override;
int lineSpacing() { return m_iLineSpacing; };
protected slots:
void transferRegistered(KviFileTransfer * t);
diff --git a/src/modules/fish/libkvifish.cpp b/src/modules/fish/libkvifish.cpp
index 437b6c6e6..5d17ec994 100644
--- a/src/modules/fish/libkvifish.cpp
+++ b/src/modules/fish/libkvifish.cpp
@@ -81,25 +81,34 @@ static bool fish_DH1080_gen(unsigned char ** szPubKey, int * iLen)
if(!g_fish_dh)
{
BIGNUM * dhp = BN_new();
- BN_init(dhp);
if(!BN_hex2bn(&dhp, g_fish_prime1080_hex))
return false;
BIGNUM * dhg = BN_new();
- BN_init(dhg);
if(!BN_hex2bn(&dhg, g_fish_generator))
return false;
g_fish_dh = DH_new();
+#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ DH_set0_pqg(g_fish_dh, dhp, nullptr, dhg);
+#else
g_fish_dh->p = dhp;
g_fish_dh->g = dhg;
+#endif
DH_generate_key(g_fish_dh);
}
- *iLen = BN_num_bytes(g_fish_dh->pub_key);
+ const BIGNUM* pub_key;
+#if OPENSSL_VERSION_NUMBER >= 0x10100005L
+ DH_get0_key(g_fish_dh, &pub_key, nullptr);
+#else
+ pub_key = g_fish_dh->pub_key;
+#endif
+
+ *iLen = BN_num_bytes(pub_key);
*szPubKey = (unsigned char *)KviMemory::allocate(*iLen);
- BN_bn2bin(g_fish_dh->pub_key, *szPubKey);
+ BN_bn2bin(pub_key, *szPubKey);
return true;
#else
diff --git a/src/modules/help/HelpIndex.cpp b/src/modules/help/HelpIndex.cpp
index f34a9fc47..102b666e8 100644
--- a/src/modules/help/HelpIndex.cpp
+++ b/src/modules/help/HelpIndex.cpp
@@ -45,20 +45,26 @@
#include <QTextStream>
#include <QUrl>
#include <QTextCodec>
-#include <ctype.h>
+#include <cctype>
#include <QTextDocument>
#include <QTimer>
#include <algorithm>
+#include <utility>
QT_BEGIN_NAMESPACE
struct Term
{
- Term() : frequency(-1) {}
- Term(const QString & t, int f, QVector<Document> l) : term(t), frequency(f), documents(l) {}
+ Term() = default;
+ Term(QString t, int f, QVector<Document> l)
+ : term(std::move(t))
+ , frequency(f)
+ , documents(std::move(l))
+ {
+ }
QString term;
- int frequency;
+ int frequency = -1;
QVector<Document> documents;
bool operator<(const Term & i2) const { return frequency < i2.frequency; }
};
@@ -77,15 +83,13 @@ QDataStream & operator<<(QDataStream & s, const Document & l)
return s;
}
-HelpIndex::HelpIndex(const QString & dp, const QString & hp)
- : QObject(nullptr), docPath(dp)
+HelpIndex::HelpIndex(QString dp, const QString & /* hp */)
+ : QObject(nullptr)
+ , docPath(std::move(dp))
{
- Q_UNUSED(hp);
-
alreadyHaveDocList = false;
- lastWindowClosed = false;
- connect(qApp, SIGNAL(lastWindowClosed()),
- this, SLOT(setLastWinClosed()));
+
+ connect(qApp, SIGNAL(lastWindowClosed()), this, SLOT(setLastWinClosed()));
m_pTimer = new QTimer(this);
m_pTimer->setSingleShot(true);
@@ -93,13 +97,12 @@ HelpIndex::HelpIndex(const QString & dp, const QString & hp)
connect(m_pTimer, SIGNAL(timeout()), this, SLOT(filterNext()));
}
-HelpIndex::HelpIndex(const QStringList & dl, const QString & hp)
+HelpIndex::HelpIndex(QStringList dl, const QString & /* hp */)
: QObject(nullptr)
+ , docList{ std::move(dl) }
{
- Q_UNUSED(hp);
- docList = dl;
alreadyHaveDocList = true;
- lastWindowClosed = false;
+
connect(qApp, SIGNAL(lastWindowClosed()), this, SLOT(setLastWinClosed()));
}
diff --git a/src/modules/help/HelpIndex.h b/src/modules/help/HelpIndex.h
index 0a6b401f8..5938ec136 100644
--- a/src/modules/help/HelpIndex.h
+++ b/src/modules/help/HelpIndex.h
@@ -52,8 +52,8 @@ QT_BEGIN_NAMESPACE
struct Document
{
+ Document() = default;
Document(int d, int f) : docNumber(d), frequency(f) {}
- Document() : docNumber(-1), frequency(0) {}
bool operator==(const Document & doc) const
{
return docNumber == doc.docNumber;
@@ -70,8 +70,8 @@ struct Document
{
return frequency < doc.frequency;
}
- qint16 docNumber;
- qint16 frequency;
+ qint16 docNumber = -1;
+ qint16 frequency = 0;
};
QDataStream & operator>>(QDataStream & s, Document & l);
@@ -93,8 +93,8 @@ public:
QList<uint> positions;
};
- HelpIndex(const QString & dp, const QString & hp);
- HelpIndex(const QStringList & dl, const QString & hp);
+ HelpIndex(QString dp, const QString & hp);
+ HelpIndex(QStringList dl, const QString & hp);
void writeDict();
void readDict();
void makeIndex();
@@ -104,8 +104,8 @@ public:
void setDocListFile(const QString &);
void setDocList(const QStringList &);
- const QStringList & documentList() { return docList; };
- const QStringList & titlesList() { return titleList; };
+ const QStringList & documentList() const { return docList; };
+ const QStringList & titlesList() const { return titleList; };
signals:
void indexingStart(int);
@@ -127,19 +127,21 @@ private:
QVector<Document> setupDummyTerm(const QStringList &);
bool searchForPattern(const QStringList &, const QStringList &, const QString &);
void buildMiniDict(const QString &);
+
QString getCharsetForDocument(QFile *);
QStringList docList;
QStringList titleList;
QHash<QString, Entry *> dict;
QHash<QString, PosEntry *> miniDict;
- uint wordNum;
+ uint wordNum = 0;
QString docPath;
- QString dictFile, docListFile;
+ QString dictFile;
+ QString docListFile;
bool alreadyHaveDocList;
- bool lastWindowClosed;
+ bool lastWindowClosed = false;
QHash<QString, QString> documentTitleCache;
- QTimer * m_pTimer;
- int m_iCurItem;
+ QTimer * m_pTimer = nullptr;
+ int m_iCurItem = 0;
};
#endif
diff --git a/src/modules/help/HelpWindow.cpp b/src/modules/help/HelpWindow.cpp
index 8ae68e57b..c7140d641 100644
--- a/src/modules/help/HelpWindow.cpp
+++ b/src/modules/help/HelpWindow.cpp
@@ -186,7 +186,7 @@ void HelpWindow::startSearch()
str = str.replace("`", "\"");
QString buf = str;
str = str.replace("-", " ");
- str = str.replace(QRegExp("\\s[\\S]?\\s"), " ");
+ str = str.replace(QRegExp(R"(\s[\S]?\s)"), " ");
m_terms = str.split(" ", QString::SkipEmptyParts);
QStringList termSeq;
QStringList seqWords;
diff --git a/src/modules/help/HelpWindow.h b/src/modules/help/HelpWindow.h
index 1447d15dc..865fb5fee 100644
--- a/src/modules/help/HelpWindow.h
+++ b/src/modules/help/HelpWindow.h
@@ -72,11 +72,11 @@ protected:
public:
HelpWidget * helpWidget() { return m_pHelpWidget; };
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void resizeEvent(QResizeEvent * e);
- virtual void saveProperties(KviConfigurationFile * cfg);
- virtual void loadProperties(KviConfigurationFile * cfg);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void resizeEvent(QResizeEvent * e) override;
+ void saveProperties(KviConfigurationFile * cfg) override;
+ void loadProperties(KviConfigurationFile * cfg) override;
public:
#ifdef COMPILE_WEBKIT_SUPPORT
diff --git a/src/modules/http/HttpFileTransfer.cpp b/src/modules/http/HttpFileTransfer.cpp
index d1112450e..b21b81904 100644
--- a/src/modules/http/HttpFileTransfer.cpp
+++ b/src/modules/http/HttpFileTransfer.cpp
@@ -304,11 +304,11 @@ int HttpFileTransfer::displayHeight(int iLineSpacing)
QString HttpFileTransfer::tipText()
{
QString s;
- s = QString("<table><tr><td bgcolor=\"#000000\"><font color=\"#FFFFFF\"><b>HTTP Transfer (ID %1)</b></font></td></tr>").arg(id());
+ s = QString(R"(<table><tr><td bgcolor="#000000"><font color="#FFFFFF"><b>HTTP Transfer (ID %1)</b></font></td></tr>)").arg(id());
if(m_lRequest.count() > 0)
{
- s += "<tr><td bgcolor=\"#404040\"><font color=\"#FFFFFF\">Request Headers</font></td></tr>";
+ s += R"(<tr><td bgcolor="#404040"><font color="#FFFFFF">Request Headers</font></td></tr>)";
s += "<tr><td bgcolor=\"#C0C0C0\">";
for(QStringList::ConstIterator it = m_lRequest.begin(); it != m_lRequest.end(); ++it)
{
@@ -321,7 +321,7 @@ QString HttpFileTransfer::tipText()
if(m_lHeaders.count() > 0)
{
- s += "<tr><td bgcolor=\"#404040\"><font color=\"#FFFFFF\">Response Headers</font></td></tr>";
+ s += R"(<tr><td bgcolor="#404040"><font color="#FFFFFF">Response Headers</font></td></tr>)";
s += "<tr><td bgcolor=\"#C0C0C0\">";
for(QStringList::ConstIterator it = m_lHeaders.begin(); it != m_lHeaders.end(); ++it)
{
diff --git a/src/modules/ident/libkviident.cpp b/src/modules/ident/libkviident.cpp
index dcfe35ebf..c81554fda 100644
--- a/src/modules/ident/libkviident.cpp
+++ b/src/modules/ident/libkviident.cpp
@@ -46,7 +46,6 @@ extern KVIRC_API int g_iIdentDaemonRunningUsers;
void startIdentService()
{
- // qDebug("Stargin");
if(!g_pIdentDaemon)
g_pIdentDaemon = new KviIdentDaemon();
if(!g_pIdentDaemon->isRunning())
@@ -59,16 +58,13 @@ void startIdentService()
usleep(100);
#endif
}
- // qDebug("Service started");
}
void stopIdentService()
{
- // qDebug("Stopping");
if(g_pIdentDaemon)
delete g_pIdentDaemon;
g_pIdentDaemon = nullptr;
- // qDebug("Stopped");
}
KviIdentSentinel::KviIdentSentinel()
@@ -155,7 +151,6 @@ KviIdentRequest::~KviIdentRequest()
KviIdentDaemon::KviIdentDaemon()
: KviSensitiveThread()
{
- // qDebug("Thread constructor");
m_szUser = KVI_OPTION_STRING(KviOption_stringIdentdUser);
if(m_szUser.isEmpty())
m_szUser = "kvirc";
@@ -166,17 +161,14 @@ KviIdentDaemon::KviIdentDaemon()
m_bEnableIPv6 = false;
#endif
m_bIPv6ContainsIPv4 = KVI_OPTION_BOOL(KviOption_boolIdentdIPv6ContainsIPv4);
- // qDebug("Thread constructor done");
}
KviIdentDaemon::~KviIdentDaemon()
{
- // qDebug("Thread destructor");
terminate();
g_iIdentDaemonRunningUsers = 0;
g_pIdentDaemon = nullptr;
- // qDebug("Destructor gone");
}
void KviIdentDaemon::postMessage(const char * message, KviIdentRequest * r, const char * szAux)
@@ -201,7 +193,6 @@ void KviIdentDaemon::postMessage(const char * message, KviIdentRequest * r, cons
void KviIdentDaemon::run()
{
- // qDebug("RUN STARTED");
m_sock = KVI_INVALID_SOCKET;
m_sock6 = KVI_INVALID_SOCKET;
bool bEventPosted = false;
@@ -511,7 +502,6 @@ ipv6_failure:
}
else
{
- // qDebug("Data is : (%s)",r->m_szData.ptr());
if(r->m_szData.len() > 1024)
{
// request too long...kill it
@@ -556,7 +546,6 @@ exit_thread:
delete m_pRequestList;
m_pRequestList = nullptr;
- // qDebug("RUN EXITING");
}
/*
diff --git a/src/modules/ident/libkviident.h b/src/modules/ident/libkviident.h
index 238755aa6..2aa573402 100644
--- a/src/modules/ident/libkviident.h
+++ b/src/modules/ident/libkviident.h
@@ -47,13 +47,13 @@ public:
time_t m_tStart;
};
-typedef struct _KviIdentMessageData
+struct KviIdentMessageData
{
KviCString szMessage;
KviCString szHost;
KviCString szAux;
unsigned int uPort;
-} KviIdentMessageData;
+};
class KviIdentSentinel : public QObject
{
@@ -63,7 +63,7 @@ public:
~KviIdentSentinel();
protected:
- virtual bool event(QEvent * e);
+ bool event(QEvent * e) override;
};
class KviIdentDaemon : public KviSensitiveThread
@@ -79,13 +79,13 @@ private:
bool m_bIPv6ContainsIPv4;
kvi_socket_t m_sock;
kvi_socket_t m_sock6;
- KviPointerList<KviIdentRequest> * m_pRequestList;
+ KviPointerList<KviIdentRequest> * m_pRequestList = nullptr;
public:
- virtual void run();
+ void run() override;
protected:
- void postMessage(const char * message, KviIdentRequest * r, const char * szAux = 0);
+ void postMessage(const char * message, KviIdentRequest * r, const char * szAux = nullptr);
};
#endif //_LIBKVIIDENT_H_
diff --git a/src/modules/iograph/libkviiograph.cpp b/src/modules/iograph/libkviiograph.cpp
index c9149a682..8e08bb427 100644
--- a/src/modules/iograph/libkviiograph.cpp
+++ b/src/modules/iograph/libkviiograph.cpp
@@ -22,7 +22,7 @@
//
//=============================================================================
-#include <math.h>
+#include <cmath>
#include "libkviiograph.h"
#include "KviMainWindow.h"
diff --git a/src/modules/iograph/libkviiograph.h b/src/modules/iograph/libkviiograph.h
index c66812b48..9c7c0eeb1 100644
--- a/src/modules/iograph/libkviiograph.h
+++ b/src/modules/iograph/libkviiograph.h
@@ -51,8 +51,8 @@ protected:
kvi_u64_t m_uLastRecvBytes;
protected:
- virtual void timerEvent(QTimerEvent * e);
- virtual void paintEvent(QPaintEvent * e);
+ void timerEvent(QTimerEvent * e) override;
+ void paintEvent(QPaintEvent * e) override;
};
class KviIOGraphWindow : public KviWindow
@@ -67,12 +67,12 @@ private:
virtual void updatePseudoTransparency();
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void resizeEvent(QResizeEvent * e);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void resizeEvent(QResizeEvent * e) override;
virtual void die();
- virtual void moveEvent(QMoveEvent *);
- virtual void paintEvent(QPaintEvent * e);
+ void moveEvent(QMoveEvent *) override;
+ void paintEvent(QPaintEvent * e) override;
};
#endif
diff --git a/src/modules/language/detector.cpp b/src/modules/language/detector.cpp
index bbdb67812..9e5694972 100644
--- a/src/modules/language/detector.cpp
+++ b/src/modules/language/detector.cpp
@@ -23,30 +23,31 @@
// DO NOT EDIT THIS FILE: Edit detector/build_detector.pl instead!
//
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
+#include <cstdlib>
+#include <cstdio>
+#include <cstring>
+#include <cctype>
#include "detector.h"
+namespace {
//
// CORE DEFS
//
-typedef struct _DetectorNGram
+struct DetectorNGram
{
const unsigned char * szNGram;
double dScore;
-} DetectorNGram;
+};
-typedef struct _DetectorDescriptor
+struct DetectorDescriptor
{
const char * szLanguage;
const char * szEncoding;
double single_char_data[256];
DetectorNGram * ngram_hash[256];
-} DetectorDescriptor;
+};
static DetectorNGram X[] = { { nullptr, 0 } };
@@ -18712,6 +18713,7 @@ static int utf8score(const unsigned char * p)
}
static const char * unknown_string = "?";
+} // namespace
void detect_language_and_encoding(const char * data, LanguageAndEncodingResult * retBuffer, int iFlags = 0)
{
diff --git a/src/modules/language/detector.h b/src/modules/language/detector.h
index 7ed71bb6c..b11200904 100644
--- a/src/modules/language/detector.h
+++ b/src/modules/language/detector.h
@@ -27,18 +27,18 @@
#define DLE_NUM_BEST_MATCHES 4
#define DLE_STRICT_UTF8_CHECKING 1
-typedef struct _LanguageAndEncodingMatch
+struct LanguageAndEncodingMatch
{
const char * szLanguage;
const char * szEncoding;
double dScore;
-} LanguageAndEncodingMatch;
+};
-typedef struct _LanguageAndEncodingResult
+struct LanguageAndEncodingResult
{
LanguageAndEncodingMatch match[DLE_NUM_BEST_MATCHES]; // the first best matches
double dAccuracy; // accuracy score: from 0 to 100
-} LanguageAndEncodingResult;
+};
void detect_language_and_encoding(const char * data, LanguageAndEncodingResult * retBuffer, int iFlags);
diff --git a/src/modules/language/detector/build_detector.pl b/src/modules/language/detector/build_detector.pl
index 45c75d5fc..df702ca5a 100755
--- a/src/modules/language/detector/build_detector.pl
+++ b/src/modules/language/detector/build_detector.pl
@@ -95,30 +95,31 @@ print OUTPUT "//\n";
print OUTPUT "// DO NOT EDIT THIS FILE: Edit detector/build_detector.pl instead!\n";
print OUTPUT "//\n";
print OUTPUT "\n";
-print OUTPUT "#include <stdlib.h>\n";
-print OUTPUT "#include <stdio.h>\n";
-print OUTPUT "#include <string.h>\n";
-print OUTPUT "#include <ctype.h>\n";
+print OUTPUT "#include <cstdlib>\n";
+print OUTPUT "#include <cstdio>\n";
+print OUTPUT "#include <cstring>\n";
+print OUTPUT "#include <cctype>\n";
print OUTPUT "\n";
print OUTPUT "#include \"detector.h\"\n";
print OUTPUT "\n";
+print OUTPUT "namespace {\n";
print OUTPUT "///////////////////////////////////////////////////////////////////////////////\n";
print OUTPUT "// CORE DEFS\n";
print OUTPUT "///////////////////////////////////////////////////////////////////////////////\n";
print OUTPUT "\n";
-print OUTPUT "typedef struct _DetectorNGram\n";
+print OUTPUT "struct DetectorNGram\n";
print OUTPUT "{\n";
print OUTPUT " const unsigned char * szNGram;\n";
print OUTPUT " ".$g_dataTypeName." dScore;\n";
-print OUTPUT "} DetectorNGram;\n";
+print OUTPUT "};\n";
print OUTPUT "\n";
-print OUTPUT "typedef struct _DetectorDescriptor\n";
+print OUTPUT "struct DetectorDescriptor\n";
print OUTPUT "{\n";
print OUTPUT " const char * szLanguage;\n";
print OUTPUT " const char * szEncoding;\n";
print OUTPUT " ".$g_dataTypeName." single_char_data[256];\n";
print OUTPUT " DetectorNGram * ngram_hash[256];\n";
-print OUTPUT "} DetectorDescriptor;\n";
+print OUTPUT "};\n";
print OUTPUT "\n";
print OUTPUT "static DetectorNGram X[] = { { 0, 0 } };\n";
print OUTPUT "\n";
@@ -786,6 +787,7 @@ print OUTPUT "\n";
print OUTPUT "\n";
print OUTPUT "static const char * unknown_string = \"?\";\n";
+print OUTPUT "} // namespace\n";
print OUTPUT "\n";
print OUTPUT "void detect_language_and_encoding(const char * data,LanguageAndEncodingResult * retBuffer,int iFlags = 0)\n";
print OUTPUT "{\n";
diff --git a/src/modules/links/LinksWindow.h b/src/modules/links/LinksWindow.h
index 89b4b40b6..4cf166adb 100644
--- a/src/modules/links/LinksWindow.h
+++ b/src/modules/links/LinksWindow.h
@@ -40,13 +40,13 @@
class KviThemedLabel;
-typedef struct _KviLink
+struct KviLink
{
KviCString host;
KviCString parent;
int hops;
KviCString description;
-} KviLink;
+};
class LinksListView : public KviThemedTreeWidget
{
@@ -56,7 +56,7 @@ public:
~LinksListView(){};
protected:
- void mousePressEvent(QMouseEvent * e);
+ void mousePressEvent(QMouseEvent * e) override;
signals:
void rightButtonPressed(QTreeWidgetItem *, QPoint);
};
@@ -79,16 +79,16 @@ protected:
KviThemedLabel * m_pInfoLabel;
public: // Methods
- virtual void control(int msg);
- virtual void processData(KviIrcMessage * msg);
- virtual void die();
+ void control(int msg) override;
+ void processData(KviIrcMessage * msg) override;
+ void die() override;
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void applyOptions();
- virtual void resizeEvent(QResizeEvent * e);
- virtual void getBaseLogFileName(QString & buffer);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void applyOptions() override;
+ void resizeEvent(QResizeEvent * e) override;
+ void getBaseLogFileName(QString & buffer) override;
protected slots:
void showHostPopup(QTreeWidgetItem * i, const QPoint & p);
void hostPopupClicked(QAction * pAction);
@@ -96,7 +96,7 @@ protected slots:
void connectionStateChange();
public:
- virtual QSize sizeHint() const;
+ QSize sizeHint() const override;
private:
void reset();
diff --git a/src/modules/list/ListWindow.cpp b/src/modules/list/ListWindow.cpp
index 392ab9d60..8a52f28e8 100644
--- a/src/modules/list/ListWindow.cpp
+++ b/src/modules/list/ListWindow.cpp
@@ -113,7 +113,7 @@ QSize ChannelTreeWidgetItemDelegate::sizeHint(const QStyleOptionViewItem & sovIt
ChannelTreeWidgetItem * item = dynamic_cast<ChannelTreeWidgetItem *>(treeWidget->itemFromIndex(index));
if(!item)
- return QSize(100, iHeight);
+ return { 100, iHeight };
QFontMetrics fm(sovItem.font);
switch(index.column())
diff --git a/src/modules/list/ListWindow.h b/src/modules/list/ListWindow.h
index 08c8811b0..0eba68571 100644
--- a/src/modules/list/ListWindow.h
+++ b/src/modules/list/ListWindow.h
@@ -44,7 +44,7 @@ class KviThemedLineEdit;
class ChannelTreeWidgetItemDelegate : public QItemDelegate
{
public:
- ChannelTreeWidgetItemDelegate(QTreeWidget * pWidget = 0);
+ ChannelTreeWidgetItemDelegate(QTreeWidget * pWidget = nullptr);
~ChannelTreeWidgetItemDelegate();
void paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
@@ -80,7 +80,7 @@ private:
public:
bool operator<(const QTreeWidgetItem & other) const;
- inline ChannelTreeWidgetItemData * itemData() { return m_pData; };
+ ChannelTreeWidgetItemData * itemData() const { return m_pData; }
};
class ChannelTreeWidget : public KviThemedTreeWidget
@@ -115,17 +115,17 @@ protected:
KviPointerList<ChannelTreeWidgetItemData> * m_pItemList;
public: // Methods
- virtual void control(int iMsg);
- virtual void processData(KviIrcMessage * pMsg);
- virtual void die();
- virtual QSize sizeHint() const;
+ void control(int iMsg) override;
+ void processData(KviIrcMessage * pMsg) override;
+ void die() override;
+ QSize sizeHint() const override;
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void applyOptions();
- virtual void resizeEvent(QResizeEvent * e);
- virtual void getBaseLogFileName(QString & szBuffer);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void applyOptions() override;
+ void resizeEvent(QResizeEvent * e) override;
+ void getBaseLogFileName(QString & szBuffer) override;
protected slots:
void flush();
void itemDoubleClicked(QTreeWidgetItem * it, int);
diff --git a/src/modules/logview/LogFile.h b/src/modules/logview/LogFile.h
index 53281af8a..9b4984aa7 100644
--- a/src/modules/logview/LogFile.h
+++ b/src/modules/logview/LogFile.h
@@ -37,16 +37,15 @@
class QString;
/**
-* \typedef LogFileData
* \struct _LogFileData
* \brief A struct that contains the data of a log
*/
-typedef struct _LogFileData
+struct LogFileData
{
QString szName; /**< the name of the log */
QString szType; /**< the type of the log */
QString szFile; /**< the name of the exported log */
-} LogFileData;
+};
/**
* \class LogFile
diff --git a/src/modules/logview/LogViewWindow.cpp b/src/modules/logview/LogViewWindow.cpp
index c0cb2590d..f954ad9df 100644
--- a/src/modules/logview/LogViewWindow.cpp
+++ b/src/modules/logview/LogViewWindow.cpp
@@ -58,7 +58,7 @@
#include <QCheckBox>
#include <QMenu>
-#include <limits.h> //for INT_MAX
+#include <climits> //for INT_MAX
extern LogViewWindow * g_pLogViewWindow;
@@ -739,7 +739,7 @@ void LogViewWindow::createLog(LogFile * pLog, int iId, QString * pszFile)
// insert msgtype icon at start of the current text line
KviMessageTypeSettings msg(KVI_OPTION_MSGTYPE(iMsgType));
QString szIcon = g_pIconManager->getSmallIconResourceName((KviIconManager::SmallIcon)msg.pixId());
- szTmp.prepend("<img src=\"" + szIcon + "\" alt=\"\" /> ");
+ szTmp.prepend("<img src=\"" + szIcon + R"(" alt="" /> )");
/*
* Check if the nick who has talked is the same of the above line.
diff --git a/src/modules/logview/LogViewWindow.h b/src/modules/logview/LogViewWindow.h
index c2e2ed850..b90866b39 100644
--- a/src/modules/logview/LogViewWindow.h
+++ b/src/modules/logview/LogViewWindow.h
@@ -55,7 +55,7 @@ public:
~LogViewListView(){};
protected:
- void mousePressEvent(QMouseEvent * pEvent);
+ void mousePressEvent(QMouseEvent * pEvent) override;
signals:
void rightButtonPressed(QTreeWidgetItem *, QPoint);
};
@@ -89,7 +89,6 @@ protected:
QDateEdit * m_pFromDateEdit;
QDateEdit * m_pToDateEdit;
- QStringList * m_pFileNames;
QTabWidget * m_pTabWidget;
KviTalVBox * m_pIndexTab;
KviTalVBox * m_pLeftLayout;
@@ -98,10 +97,10 @@ protected:
QPushButton * m_pCancelButton;
KviTalHBox * m_pBottomLayout;
QProgressBar * m_pProgressBar;
- LogListViewItem * m_pLastCategory;
- LogListViewItemFolder * m_pLastGroupItem;
+ LogListViewItem * m_pLastCategory = nullptr;
+ LogListViewItemFolder * m_pLastGroupItem = nullptr;
QString m_szLastGroup;
- bool m_bAborted;
+ bool m_bAborted = false;
QTimer * m_pTimer;
QMenu * m_pExportLogPopup;
@@ -120,12 +119,12 @@ protected:
void recurseDirectory(const QString & szDir);
void setupItemList();
- virtual QPixmap * myIconPtr();
- virtual void resizeEvent(QResizeEvent * pEvent);
- virtual void keyPressEvent(QKeyEvent * pEvent);
- virtual void fillCaptionBuffers();
+ QPixmap * myIconPtr() override;
+ void resizeEvent(QResizeEvent * pEvent) override;
+ void keyPressEvent(QKeyEvent * pEvent) override;
+ void fillCaptionBuffers() override;
virtual void die();
- virtual QSize sizeHint() const;
+ QSize sizeHint() const override;
protected slots:
void rightButtonClicked(QTreeWidgetItem *, const QPoint &);
void itemSelected(QTreeWidgetItem * pItem, QTreeWidgetItem *);
diff --git a/src/modules/mediaplayer/MpAmipInterface.cpp b/src/modules/mediaplayer/MpAmipInterface.cpp
index 640c9fc8f..2514ba52b 100644
--- a/src/modules/mediaplayer/MpAmipInterface.cpp
+++ b/src/modules/mediaplayer/MpAmipInterface.cpp
@@ -51,7 +51,7 @@ enum ac_ErrorCode
#define AC_BUFFER_SIZE 2048
-static HINSTANCE amip_dll = NULL;
+static HINSTANCE amip_dll = nullptr;
#define MP_AC_DYNPTR(__rettype, __func, __args) \
typedef __rettype(CALLBACK * lp_##__func)(__args); \
@@ -94,7 +94,7 @@ static bool loadAmipDll()
static QTextCodec * mediaplayer_get_codec()
{
- QTextCodec * pCodec = 0;
+ QTextCodec * pCodec = nullptr;
pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toUtf8());
if(!pCodec)
@@ -120,7 +120,7 @@ MpAmipInterface::MpAmipInterface()
bool res = loadAmipDll();
if(!res)
{
- amip_dll = NULL;
+ amip_dll = nullptr;
return;
}
ac_init(AC_START_CLIENT);
@@ -133,7 +133,7 @@ MpAmipInterface::~MpAmipInterface()
return;
ac_uninit();
FreeLibrary(amip_dll);
- amip_dll = NULL;
+ amip_dll = nullptr;
}
int MpAmipInterface::detect(bool bStart)
diff --git a/src/modules/mediaplayer/MpInterface.cpp b/src/modules/mediaplayer/MpInterface.cpp
index f0feb5861..ae17beb61 100644
--- a/src/modules/mediaplayer/MpInterface.cpp
+++ b/src/modules/mediaplayer/MpInterface.cpp
@@ -104,8 +104,7 @@ QString MpInterface::amipEval(const QString &)
mp3info mp3; \
if(!scan_mp3_file(f, &mp3)) \
return QString(); \
- QTextCodec * pCodec; \
- pCodec = mediaplayer_get_codec();
+ [[maybe_unused]] QTextCodec * pCodec = mediaplayer_get_codec();
#define SCAN_MP3_FILE_RET_INT \
QString f = getLocalFile(); \
@@ -142,7 +141,6 @@ QString MpInterface::comment()
QString MpInterface::year()
{
SCAN_MP3_FILE
- Q_UNUSED(pCodec);
return QString(mp3.id3.year);
}
diff --git a/src/modules/mediaplayer/MpInterface.h b/src/modules/mediaplayer/MpInterface.h
index a82016b24..69ec610bb 100644
--- a/src/modules/mediaplayer/MpInterface.h
+++ b/src/modules/mediaplayer/MpInterface.h
@@ -219,7 +219,7 @@ public:
_interfaceclass##Descriptor::_interfaceclass##Descriptor() \
: MpInterfaceDescriptor() \
{ \
- m_pInstance = 0; \
+ m_pInstance = nullptr; \
m_szName = _name; \
m_szDescription = _description; \
} \
diff --git a/src/modules/mediaplayer/MpMp3.cpp b/src/modules/mediaplayer/MpMp3.cpp
index 98366a9c7..7218e4ffc 100644
--- a/src/modules/mediaplayer/MpMp3.cpp
+++ b/src/modules/mediaplayer/MpMp3.cpp
@@ -239,7 +239,7 @@ int get_first_header(mp3info * mp3, long startpos)
long valid_start = 0;
fseek(mp3->file, startpos, SEEK_SET);
- while(1)
+ while(true)
{
while((c = fgetc(mp3->file)) != 255 && (c != EOF))
{
@@ -384,9 +384,8 @@ int get_id3(mp3info * mp3)
}
else
{
- size_t dummy = fread(fbuf, 1, 3, mp3->file);
+ (void)fread(fbuf, 1, 3, mp3->file);
fbuf[3] = '\0';
- Q_UNUSED(dummy);
mp3->id3.genre[0] = 255;
if(!strcmp((const char *)"TAG", (const char *)fbuf))
@@ -394,21 +393,21 @@ int get_id3(mp3info * mp3)
mp3->id3_isvalid = 1;
mp3->datasize -= 128;
fseek(mp3->file, -125, SEEK_END);
- dummy = fread(mp3->id3.title, 1, 30, mp3->file);
+ (void)fread(mp3->id3.title, 1, 30, mp3->file);
mp3->id3.title[30] = '\0';
- dummy = fread(mp3->id3.artist, 1, 30, mp3->file);
+ (void)fread(mp3->id3.artist, 1, 30, mp3->file);
mp3->id3.artist[30] = '\0';
- dummy = fread(mp3->id3.album, 1, 30, mp3->file);
+ (void)fread(mp3->id3.album, 1, 30, mp3->file);
mp3->id3.album[30] = '\0';
- dummy = fread(mp3->id3.year, 1, 4, mp3->file);
+ (void)fread(mp3->id3.year, 1, 4, mp3->file);
mp3->id3.year[4] = '\0';
- dummy = fread(mp3->id3.comment, 1, 30, mp3->file);
+ (void)fread(mp3->id3.comment, 1, 30, mp3->file);
mp3->id3.comment[30] = '\0';
if(mp3->id3.comment[28] == '\0')
{
mp3->id3.track[0] = mp3->id3.comment[29];
}
- dummy = fread(mp3->id3.genre, 1, 1, mp3->file);
+ (void)fread(mp3->id3.genre, 1, 1, mp3->file);
unpad(mp3->id3.title);
unpad(mp3->id3.artist);
unpad(mp3->id3.album);
diff --git a/src/modules/mediaplayer/MpMp3.h b/src/modules/mediaplayer/MpMp3.h
index 6d534e625..5051f14a8 100644
--- a/src/modules/mediaplayer/MpMp3.h
+++ b/src/modules/mediaplayer/MpMp3.h
@@ -66,7 +66,7 @@ enum VBR_REPORT
VBR_MEDIAN
};
-typedef struct
+struct mp3header
{
unsigned int sync;
unsigned int version;
@@ -81,9 +81,9 @@ typedef struct
unsigned int copyright;
unsigned int original;
unsigned int emphasis;
-} mp3header;
+};
-typedef struct
+struct id3tag
{
char title[31];
char artist[31];
@@ -92,9 +92,9 @@ typedef struct
char comment[31];
unsigned char track[1];
unsigned char genre[1];
-} id3tag;
+};
-typedef struct
+struct mp3info
{
QString filename;
FILE * file;
@@ -108,7 +108,7 @@ typedef struct
int seconds;
int frames;
int badframes;
-} mp3info;
+};
// mode field:
// 00 - Stereo
diff --git a/src/modules/mediaplayer/MpWinampInterface.cpp b/src/modules/mediaplayer/MpWinampInterface.cpp
index 0d08cc4b5..875fc8838 100644
--- a/src/modules/mediaplayer/MpWinampInterface.cpp
+++ b/src/modules/mediaplayer/MpWinampInterface.cpp
@@ -83,13 +83,13 @@
// ** (requires Winamp 2.04+, only usable from plug-ins (not external apps))
// ** char *name=SendMessage(hwnd_winamp,WM_WA_IPC,index,IPC_GETPLAYLISTFILE);
// ** IPC_GETPLAYLISTFILE gets the filename of the playlist entry [index].
-// ** returns a pointer to it. returns NULL on error.
+// ** returns a pointer to it. returns nullptr on error.
#define IPC_GETPLAYLISTTITLE 212
// * (requires Winamp 2.04+, only usable from plug-ins (not external apps))
// ** char *name=SendMessage(hwnd_winamp,WM_WA_IPC,index,IPC_GETPLAYLISTTITLE);
// ** IPC_GETPLAYLISTTITLE gets the title of the playlist entry [index].
-// ** returns a pointer to it. returns NULL on error.
+// ** returns a pointer to it. returns nullptr on error.
#define IPC_GET_SHUFFLE 250
// ** val=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GET_SHUFFLE);
@@ -131,7 +131,7 @@
// ** cds.dwData = IPC_PLAYFILE;
// ** cds.lpData = (void *) "file.mp3";
// ** cds.cbData = strlen((char *) cds.lpData)+1; // include space for null char
-// ** SendMessage(hwnd_winamp,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cds);
+// ** SendMessage(hwnd_winamp,WM_COPYDATA,(WPARAM)nullptr,(LPARAM)&cds);
// **
// ** This will play the file "file.mp3".
@@ -165,8 +165,7 @@
static QTextCodec * mediaplayer_get_codec()
{
- QTextCodec * pCodec = 0;
- pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toUtf8());
+ QTextCodec * pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toUtf8());
if(!pCodec)
pCodec = QTextCodec::codecForLocale();
@@ -175,7 +174,7 @@ static QTextCodec * mediaplayer_get_codec()
static HWND find_winamp(KviWinampInterface * i)
{
- HWND hWnd = FindWindow(TEXT("Winamp v1.x"), NULL);
+ HWND hWnd = FindWindow(TEXT("Winamp v1.x"), nullptr);
if(!hWnd)
{
// try to start the process ?
@@ -385,7 +384,7 @@ bool KviWinampInterface::playMrl(const QString & mrl)
cds.dwData = IPC_PLAYFILE;
cds.lpData = (void *)szMrl.ptr();
cds.cbData = szMrl.len() + 1; // include space for null char
- SendMessage(hWinamp, WM_COPYDATA, (WPARAM)NULL, (LPARAM)&cds);
+ SendMessage(hWinamp, WM_COPYDATA, (WPARAM)nullptr, (LPARAM)&cds);
return true;
}
return false;
@@ -429,11 +428,11 @@ bool KviWinampInterface::jumpTo(kvs_int_t & iPos)
bool KviWinampInterface::hide()
{
HWND hWinamp = find_winamp(this);
- HWND hWinampPE = FindWindow(TEXT("Winamp PE"), NULL); /*Playlist*/
- HWND hWinampEQ = FindWindow(TEXT("Winamp EQ"), NULL); /*Equalizer*/
- HWND hWinampMB = FindWindow(TEXT("Winamp MB"), NULL); /*MiniBrowser*/
- HWND hWinampGen = FindWindow(TEXT("Winamp Gen"), NULL); /*Library*/
- HWND hWinampVideo = FindWindow(TEXT("Winamp Video"), NULL); /*Video*/
+ HWND hWinampPE = FindWindow(TEXT("Winamp PE"), nullptr); /*Playlist*/
+ HWND hWinampEQ = FindWindow(TEXT("Winamp EQ"), nullptr); /*Equalizer*/
+ HWND hWinampMB = FindWindow(TEXT("Winamp MB"), nullptr); /*MiniBrowser*/
+ HWND hWinampGen = FindWindow(TEXT("Winamp Gen"), nullptr); /*Library*/
+ HWND hWinampVideo = FindWindow(TEXT("Winamp Video"), nullptr); /*Video*/
if(hWinamp)
{
ShowWindow(hWinamp, SW_HIDE);
diff --git a/src/modules/mediaplayer/winamp.cpp b/src/modules/mediaplayer/winamp.cpp
index bf8b29138..0d701558a 100644
--- a/src/modules/mediaplayer/winamp.cpp
+++ b/src/modules/mediaplayer/winamp.cpp
@@ -31,7 +31,7 @@
// This stuff is compiled only on windows, as a separate dll module
-typedef struct
+struct winampGeneralPurposePlugin
{
int version;
char * description;
@@ -40,7 +40,7 @@ typedef struct
void (*quit)();
HWND hwndParent;
HINSTANCE hDllInstance;
-} winampGeneralPurposePlugin;
+};
#define GPPHDR_VER 0x10
@@ -72,7 +72,7 @@ winampGeneralPurposePlugin plugin = {
#define KVIRC_WM_USER_CHECK 13123
#define KVIRC_WM_USER_CHECK_REPLY 13124
-void * lpWndProcOld = 0;
+void * lpWndProcOld = nullptr;
char szBuffer[4096];
diff --git a/src/modules/mircimport/libkvimircimport.h b/src/modules/mircimport/libkvimircimport.h
index 3069849b4..4c8e00206 100644
--- a/src/modules/mircimport/libkvimircimport.h
+++ b/src/modules/mircimport/libkvimircimport.h
@@ -43,8 +43,8 @@ public:
public:
int doImport(const QString & filename);
- virtual void start();
- virtual void die();
+ void start() override;
+ void die() override;
};
class KviRemoteMircServersIniImport : public KviMircServersIniImport
@@ -58,8 +58,8 @@ protected:
KviRemoteMircServerImportWizard * m_pWizard;
public:
- virtual void start();
- virtual void die();
+ void start() override;
+ void die() override;
};
class KviRemoteMircServerImportWizard : public KviTalWizard
@@ -77,8 +77,8 @@ protected:
QString m_szTmpFileName;
protected:
- virtual void closeEvent(QCloseEvent * e);
- virtual void done(int r);
+ void closeEvent(QCloseEvent * e) override;
+ void done(int r) override;
void start();
protected slots:
void getListMessage(const QString & message);
diff --git a/src/modules/my/Idle_win.cpp b/src/modules/my/Idle_win.cpp
index fe440e9bc..c7dd5004b 100644
--- a/src/modules/my/Idle_win.cpp
+++ b/src/modules/my/Idle_win.cpp
@@ -24,11 +24,12 @@
#include <QLibrary>
-typedef struct tagLASTINPUTINFO
+struct LASTINPUTINFO
{
UINT cbSize;
DWORD dwTime;
-} LASTINPUTINFO, *PLASTINPUTINFO;
+};
+using PLASTINPUTINFO = LASTINPUTINFO *;
class IdlePlatform::Private
{
diff --git a/src/modules/my/libkvimy.cpp b/src/modules/my/libkvimy.cpp
index 43ea72c1c..822559314 100644
--- a/src/modules/my/libkvimy.cpp
+++ b/src/modules/my/libkvimy.cpp
@@ -37,7 +37,7 @@ Idle * g_pIdle;
#define GET_KVS_CONSOLE \
kvs_uint_t uiWnd; \
- KviConsoleWindow * wnd = 0; \
+ KviConsoleWindow * wnd = nullptr; \
KVSM_PARAMETERS_BEGIN(c) \
KVSM_PARAMETER("context_id", KVS_PT_UINT, KVS_PF_OPTIONAL, uiWnd) \
KVSM_PARAMETERS_END(c) \
diff --git a/src/modules/notifier/NotifierMessage.cpp b/src/modules/notifier/NotifierMessage.cpp
index b0a6e401b..6e9018a0d 100644
--- a/src/modules/notifier/NotifierMessage.cpp
+++ b/src/modules/notifier/NotifierMessage.cpp
@@ -31,19 +31,12 @@
#include <QRect>
#include <QResizeEvent>
+#include <utility>
-NotifierMessage::NotifierMessage(QPixmap * pPixmap, const QString & szText)
+NotifierMessage::NotifierMessage(QPixmap * pPixmap, QString szText)
+ : m_szText{ std::move(szText) }
+ , m_pPixmap{ pPixmap }
{
- m_pLabel0 = nullptr;
- m_pLabel1 = nullptr;
-
- m_szText = szText;
- m_pPixmap = pPixmap;
-
- //QByteArray utf8 = szText.toUtf8();
- //if(utf8.data())
- // qDebug("NOTIFIER TEXT MESSAGE: \n%s\n",utf8.data());
-
m_pHBox = new QHBoxLayout(this);
m_pHBox->setSpacing(SPACING);
m_pHBox->setMargin(SPACING);
@@ -63,14 +56,14 @@ NotifierMessage::~NotifierMessage()
void NotifierMessage::updateGui()
{
- bool bShowImages = KVI_OPTION_BOOL(KviOption_boolIrcViewShowImages);
-
if(m_pLabel0)
delete m_pLabel0;
if(m_pLabel1)
delete m_pLabel1;
+ bool bShowImages = KVI_OPTION_BOOL(KviOption_boolIrcViewShowImages);
+
if(bShowImages)
{
m_pLabel0 = new QLabel(this);
diff --git a/src/modules/notifier/NotifierMessage.h b/src/modules/notifier/NotifierMessage.h
index c0179f0e1..60c0d76b4 100644
--- a/src/modules/notifier/NotifierMessage.h
+++ b/src/modules/notifier/NotifierMessage.h
@@ -44,6 +44,7 @@ class NotifierMessage : public QWidget
{
friend class NotifierWindow;
+ Q_OBJECT
public:
/**
* \brief Constructs the NotifierMessage object
@@ -51,7 +52,7 @@ public:
* \param szText const reference to message text in irc format
* \return NotifierMessage
*/
- NotifierMessage(QPixmap * pPixmap, const QString & szText);
+ NotifierMessage(QPixmap * pPixmap, QString szText);
/**
* \brief Destroys the NotifierMessage object
*/
@@ -61,25 +62,25 @@ private:
/// The message text
QString m_szText;
/// The message icon (can be null)
- QPixmap * m_pPixmap;
+ QPixmap * m_pPixmap = nullptr;
/// Layout for the labels
- QHBoxLayout * m_pHBox;
+ QHBoxLayout * m_pHBox = nullptr;
/// Label for the message icon
- QLabel * m_pLabel0;
+ QLabel * m_pLabel0 = nullptr;
/// Label for the message text
- QLabel * m_pLabel1;
+ QLabel * m_pLabel1 = nullptr;
public:
/**
* \brief Returns the original irc message
- * \return QString
+ * \return const QString &
*/
- inline QString text() const { return m_szText; };
+ const QString & text() const { return m_szText; }
/**
* \brief Returns the message icon
* \return QPixmap *
*/
- inline QPixmap * pixmap() const { return m_pPixmap; };
+ QPixmap * pixmap() const { return m_pPixmap; }
/**
* \brief Updates the aspect of this message
* \return void
diff --git a/src/modules/notifier/NotifierWindow.cpp b/src/modules/notifier/NotifierWindow.cpp
index 4ce8ea027..956383176 100644
--- a/src/modules/notifier/NotifierWindow.cpp
+++ b/src/modules/notifier/NotifierWindow.cpp
@@ -38,43 +38,34 @@
#include "KviThemedLineEdit.h"
#include <QApplication>
-#include <QImage>
#include <QDesktopWidget>
-#include <QToolTip>
#include <QEvent>
-#include <QPen>
#include <QFontMetrics>
-#include <QRegExp>
+#include <QImage>
+#include <QMouseEvent>
#include <QPainter>
#include <QPaintEvent>
-#include <QMouseEvent>
+#include <QPen>
+#include <QRegExp>
+#include <QToolTip>
extern NotifierWindow * g_pNotifierWindow;
NotifierWindow::NotifierWindow()
- : QWidget(nullptr,
+ : QWidget(nullptr, Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
- Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint)
+ | Qt::Tool)
#else
- Qt::FramelessWindowHint |
#ifndef COMPILE_ON_MAC
- Qt::Tool | Qt::X11BypassWindowManagerHint |
+ | Qt::Tool | Qt::X11BypassWindowManagerHint
#endif
- Qt::WindowStaysOnTopHint)
+ )
#endif
{
setObjectName("kvirc_notifier_window");
g_pNotifierWindow = this;
- m_eState = Hidden;
- m_dOpacity = 0.0;
- m_pShowHideTimer = nullptr;
- m_pBlinkTimer = nullptr;
- m_tAutoHideAt = 0;
- m_tStartedAt = 0;
- m_pAutoHideTimer = nullptr;
-
m_pWndBorder = new NotifierWindowBorder();
setFocusPolicy(Qt::NoFocus);
@@ -83,24 +74,6 @@ NotifierWindow::NotifierWindow()
hide();
- m_bBlinkOn = false;
-
- m_bCloseDown = false;
- m_bPrevDown = false;
- m_bNextDown = false;
- m_bWriteDown = false;
-
- m_bLeftButtonIsPressed = false;
- m_bDiagonalResizing = false;
- m_bResizing = false;
-
- m_pContextPopup = nullptr;
- m_pDisablePopup = nullptr;
-
- m_bDragging = false;
-
- m_bDisableHideOnMainWindowGotAttention = false;
-
// Positioning the notifier bottom-right
QDesktopWidget * pDesktop = QApplication::desktop();
QRect r = pDesktop->availableGeometry(pDesktop->primaryScreen());
@@ -162,19 +135,15 @@ void NotifierWindow::updateGui()
m_pLineEdit->setFont(KVI_OPTION_FONT(KviOption_fontNotifier));
for(int i = 0; i < m_pWndTabs->count(); ++i)
- {
((NotifierWindowTab *)m_pWndTabs->widget(i))->updateGui();
- }
}
void NotifierWindow::addMessage(KviWindow * pWnd, const QString & szImageId, const QString & szText, unsigned int uMessageTime)
{
- QPixmap * pIcon;
+ QPixmap * pIcon = nullptr;
QString szMessage = szText;
szMessage.replace(QRegExp("\r([^\r])*\r([^\r])+\r"), "\\2");
- if(szImageId.isEmpty())
- pIcon = nullptr;
- else
+ if(!szImageId.isEmpty())
pIcon = g_pIconManager->getImage(szImageId);
NotifierMessage * pMessage = new NotifierMessage(pIcon ? new QPixmap(*pIcon) : nullptr, szMessage);
@@ -192,9 +161,7 @@ void NotifierWindow::addMessage(KviWindow * pWnd, const QString & szImageId, con
}
if(!pTab)
- {
pTab = new NotifierWindowTab(pWnd, m_pWndTabs);
- }
//if the notifier is already visible, don't steal the focus from the current tab!
//the user could be writing a message on it (bug #678)
@@ -223,11 +190,8 @@ void NotifierWindow::addMessage(KviWindow * pWnd, const QString & szImageId, con
m_tAutoHideAt = 0;
}
- if(pWnd)
- {
- if(pWnd->hasAttention(KviWindow::MainWindowIsVisible))
- m_bDisableHideOnMainWindowGotAttention = true;
- }
+ if(pWnd && pWnd->hasAttention(KviWindow::MainWindowIsVisible))
+ m_bDisableHideOnMainWindowGotAttention = true;
if(isVisible())
update();
@@ -385,8 +349,6 @@ bool NotifierWindow::shouldHideIfMainWindowGotAttention()
void NotifierWindow::heartbeat()
{
- bool bIncreasing;
- double targetOpacity = 0;
switch(m_eState)
{
case Hidden:
@@ -410,7 +372,7 @@ void NotifierWindow::heartbeat()
else
{
m_dOpacity += OPACITY_STEP;
- targetOpacity = isActiveWindow() ? KVI_OPTION_UINT(KviOption_uintNotifierActiveTransparency) : KVI_OPTION_UINT(KviOption_uintNotifierInactiveTransparency);
+ double targetOpacity = isActiveWindow() ? KVI_OPTION_UINT(KviOption_uintNotifierActiveTransparency) : KVI_OPTION_UINT(KviOption_uintNotifierInactiveTransparency);
targetOpacity /= 100;
if(m_dOpacity >= targetOpacity)
@@ -429,9 +391,10 @@ void NotifierWindow::heartbeat()
}
break;
case FocusingOn:
- targetOpacity = KVI_OPTION_UINT(KviOption_uintNotifierActiveTransparency);
+ {
+ double targetOpacity = KVI_OPTION_UINT(KviOption_uintNotifierActiveTransparency);
targetOpacity /= 100;
- bIncreasing = targetOpacity > m_dOpacity;
+ bool bIncreasing = targetOpacity > m_dOpacity;
m_dOpacity += bIncreasing ? OPACITY_STEP : -(OPACITY_STEP);
if((bIncreasing && (m_dOpacity >= targetOpacity)) || (!bIncreasing && (m_dOpacity <= targetOpacity)))
{
@@ -441,13 +404,15 @@ void NotifierWindow::heartbeat()
}
setWindowOpacity(m_dOpacity);
+ }
break;
case FocusingOff:
- targetOpacity = KVI_OPTION_UINT(KviOption_uintNotifierInactiveTransparency);
+ {
+ double targetOpacity = KVI_OPTION_UINT(KviOption_uintNotifierInactiveTransparency);
targetOpacity /= 100;
- bIncreasing = targetOpacity > m_dOpacity;
+ bool bIncreasing = targetOpacity > m_dOpacity;
m_dOpacity += bIncreasing ? OPACITY_STEP : -(OPACITY_STEP);
- //qDebug("%f %f %i %i",m_dOpacity,targetOpacity,bIncreasing,(m_dOpacity >= targetOpacity));
+
if((bIncreasing && (m_dOpacity >= targetOpacity)) || (!bIncreasing && (m_dOpacity <= targetOpacity)))
{
m_dOpacity = targetOpacity;
@@ -456,6 +421,7 @@ void NotifierWindow::heartbeat()
}
setWindowOpacity(m_dOpacity);
+ }
break;
case Hiding:
m_dOpacity -= OPACITY_STEP;
@@ -512,7 +478,6 @@ void NotifierWindow::doHide(bool bDoAnimate)
if((!bDoAnimate) || (x() != m_pWndBorder->x()) || (y() != m_pWndBorder->y()))
{
- //qDebug("just hide quickly with notifier x() %d and notifier y() % - WBorderx() %d and WBordery() %d and bDoanimate %d",x(),y(),m_pWndBorder->x(),m_pWndBorder->y(),bDoAnimate);
// the user asked to not animate or
// the window has been moved and the animation would suck anyway
// just hide quickly
@@ -520,7 +485,6 @@ void NotifierWindow::doHide(bool bDoAnimate)
}
else
{
- //qDebug("starting hide animation notifier x() %d and notifier y() % - WBorderx() %d and WBordery() %d and bDoanimate %d",x(),y(),m_pWndBorder->x(),m_pWndBorder->y(),bDoAnimate);
m_pShowHideTimer = new QTimer();
connect(m_pShowHideTimer, SIGNAL(timeout()), this, SLOT(heartbeat()));
m_dOpacity = 1.0 - OPACITY_STEP;
@@ -613,35 +577,18 @@ void NotifierWindow::paintEvent(QPaintEvent * e)
if(width() != m_pWndBorder->width() || height() != m_pWndBorder->height())
m_pWndBorder->resize(size());
- if(m_bBlinkOn)
- {
- m_pWndBorder->draw(pPaint, true);
- }
- else
- {
- m_pWndBorder->draw(pPaint);
- }
+ m_pWndBorder->draw(pPaint, m_bBlinkOn);
pPaint->setPen(KVI_OPTION_COLOR(KviOption_colorNotifierTitleForeground));
pPaint->setFont(KVI_OPTION_FONT(KviOption_fontNotifierTitle));
QString szTitle = "KVIrc - ";
NotifierWindowTab * pTab = (NotifierWindowTab *)m_pWndTabs->currentWidget();
- if(pTab)
- {
- if(pTab->wnd())
- {
- szTitle += pTab->wnd()->plainTextCaption();
- }
- else
- {
- szTitle += "notifier";
- }
- }
+ if(pTab && pTab->wnd())
+ szTitle += pTab->wnd()->plainTextCaption();
else
- {
szTitle += "notifier";
- }
+
pPaint->drawText(m_pWndBorder->titleRect(), Qt::AlignLeft | Qt::AlignVCenter | Qt::TextSingleLine, szTitle);
delete pPaint;
@@ -652,19 +599,14 @@ void NotifierWindow::mouseMoveEvent(QMouseEvent * e)
{
if(!m_bLeftButtonIsPressed)
{
- if(checkResizing(e->pos()))
- goto sartelo;
-
- if(m_pWndBorder->captionRect().contains(e->pos()))
+ if(!checkResizing(e->pos()) && m_pWndBorder->captionRect().contains(e->pos()))
{
if(m_pWndBorder->closeRect().contains(e->pos()))
m_pWndBorder->setCloseIcon(WDG_ICON_OVER);
else
m_pWndBorder->setCloseIcon(WDG_ICON_OUT);
- goto sartelo;
}
- sartelo:
update();
}
@@ -922,7 +864,7 @@ void NotifierWindow::resize(QPoint, bool)
setGeometry(m_wndRect);
}
-inline void NotifierWindow::setCursor(int iCur)
+void NotifierWindow::setCursor(int iCur)
{
if(m_cursor.shape() != iCur)
{
@@ -1141,7 +1083,7 @@ void NotifierWindow::returnPressed()
addMessage(pTab->wnd(), szTmp.ptr(), szHtml, 0);
m_pLineEdit->setText("");
- KviUserInput::parse(szTxt, pTab->wnd(), QString(), 1);
+ KviUserInput::parse(szTxt, pTab->wnd(), QString(), true);
}
void NotifierWindow::progressUpdate()
diff --git a/src/modules/notifier/NotifierWindow.h b/src/modules/notifier/NotifierWindow.h
index c85c1d18e..20665b871 100644
--- a/src/modules/notifier/NotifierWindow.h
+++ b/src/modules/notifier/NotifierWindow.h
@@ -62,28 +62,28 @@ public:
~NotifierWindow();
protected:
- QTimer * m_pShowHideTimer;
- QTimer * m_pBlinkTimer;
- QTimer * m_pAutoHideTimer;
- State m_eState;
- bool m_bBlinkOn;
- double m_dOpacity;
+ QTimer * m_pShowHideTimer = nullptr;
+ QTimer * m_pBlinkTimer = nullptr;
+ QTimer * m_pAutoHideTimer = nullptr;
+ State m_eState = Hidden;
+ bool m_bBlinkOn = false;
+ double m_dOpacity = 0.0;
- bool m_bCloseDown;
- bool m_bPrevDown;
- bool m_bNextDown;
- bool m_bWriteDown;
+ bool m_bCloseDown = false;
+ bool m_bPrevDown = false;
+ bool m_bNextDown = false;
+ bool m_bWriteDown = false;
bool m_bCrashShowWorkAround;
QRect m_wndRect;
- NotifierMessage * m_pCurrentMessage;
- KviThemedLineEdit * m_pLineEdit;
+ NotifierMessage * m_pCurrentMessage = nullptr;
+ KviThemedLineEdit * m_pLineEdit = nullptr;
- bool m_bDragging;
- bool m_bLeftButtonIsPressed;
- bool m_bDiagonalResizing;
- bool m_bResizing;
+ bool m_bDragging = false;
+ bool m_bLeftButtonIsPressed = false;
+ bool m_bDiagonalResizing = false;
+ bool m_bResizing = false;
int m_whereResizing;
@@ -91,19 +91,19 @@ protected:
QPoint m_pntPos;
QPoint m_pntClick;
int m_iBlinkCount;
- QMenu * m_pContextPopup;
- QMenu * m_pDisablePopup;
- KviWindow * m_pWindowToRaise;
- kvi_time_t m_tAutoHideAt;
- kvi_time_t m_tStartedAt;
+ QMenu * m_pContextPopup = nullptr;
+ QMenu * m_pDisablePopup = nullptr;
+ KviWindow * m_pWindowToRaise = nullptr;
+ kvi_time_t m_tAutoHideAt = 0;
+ kvi_time_t m_tStartedAt = 0;
QTime m_qtStartedAt;
- bool m_bDisableHideOnMainWindowGotAttention;
+ bool m_bDisableHideOnMainWindowGotAttention = false;
QCursor m_cursor;
- QTabWidget * m_pWndTabs;
- QProgressBar * m_pProgressBar;
- NotifierWindowBorder * m_pWndBorder;
+ QTabWidget * m_pWndTabs = nullptr;
+ QProgressBar * m_pProgressBar = nullptr;
+ NotifierWindowBorder * m_pWndBorder = nullptr;
public:
void doShow(bool bDoAnimate);
@@ -112,24 +112,24 @@ public:
void addMessage(KviWindow * pWnd, const QString & szImageId, const QString & szText, unsigned int uMessageTime);
void setDisableHideOnMainWindowGotAttention(bool b) { m_bDisableHideOnMainWindowGotAttention = b; };
void showLineEdit(bool bShow);
- inline int countTabs() const
+ int countTabs() const
{
if(m_pWndTabs)
return m_pWndTabs->count();
return 0;
- };
- inline State state() const { return m_eState; };
+ }
+ State state() const { return m_eState; }
protected:
- virtual void showEvent(QShowEvent * e);
- virtual void hideEvent(QHideEvent * e);
- virtual void paintEvent(QPaintEvent * e);
- virtual void mousePressEvent(QMouseEvent * e);
- virtual void mouseReleaseEvent(QMouseEvent * e);
- virtual void mouseMoveEvent(QMouseEvent * e);
- virtual void leaveEvent(QEvent * e);
- virtual void enterEvent(QEvent * e);
- virtual bool eventFilter(QObject * pEdit, QEvent * e);
- virtual void keyPressEvent(QKeyEvent * e);
+ void showEvent(QShowEvent * e) override;
+ void hideEvent(QHideEvent * e) override;
+ void paintEvent(QPaintEvent * e) override;
+ void mousePressEvent(QMouseEvent * e) override;
+ void mouseReleaseEvent(QMouseEvent * e) override;
+ void mouseMoveEvent(QMouseEvent * e) override;
+ void leaveEvent(QEvent * e) override;
+ void enterEvent(QEvent * e) override;
+ bool eventFilter(QObject * pEdit, QEvent * e) override;
+ void keyPressEvent(QKeyEvent * e) override;
public slots:
void hideNow();
void toggleLineEdit();
diff --git a/src/modules/notifier/NotifierWindowBorder.h b/src/modules/notifier/NotifierWindowBorder.h
index df07079d8..1c6a6ff90 100644
--- a/src/modules/notifier/NotifierWindowBorder.h
+++ b/src/modules/notifier/NotifierWindowBorder.h
@@ -26,9 +26,9 @@
#include "NotifierSettings.h"
-#include <QSize>
-#include <QRect>
#include <QPixmap>
+#include <QRect>
+#include <QSize>
class QPainter;
@@ -38,9 +38,6 @@ public:
NotifierWindowBorder(QSize = QSize(WDG_MIN_WIDTH, WDG_MIN_HEIGHT));
~NotifierWindowBorder();
- // ================================
- // Put members declaration below...
- // ================================
private:
QRect m_rct;
QPoint m_pnt;
@@ -52,18 +49,18 @@ private:
QRect m_titleRect;
// Pictures
- QPixmap * m_pixSX;
- QPixmap * m_pixDX;
- QPixmap * m_pixDWN;
- QPixmap * m_pixDWNSX;
- QPixmap * m_pixDWNDX;
- QPixmap * m_pixCaptionSX;
- QPixmap * m_pixCaptionDX;
- QPixmap * m_pixCaptionBKG;
- QPixmap * m_pixIconClose_out;
- QPixmap * m_pixIconClose_over;
- QPixmap * m_pixIconClose_clicked;
- QPixmap * m_pixIconClose;
+ QPixmap * m_pixSX = nullptr;
+ QPixmap * m_pixDX = nullptr;
+ QPixmap * m_pixDWN = nullptr;
+ QPixmap * m_pixDWNSX = nullptr;
+ QPixmap * m_pixDWNDX = nullptr;
+ QPixmap * m_pixCaptionSX = nullptr;
+ QPixmap * m_pixCaptionDX = nullptr;
+ QPixmap * m_pixCaptionBKG = nullptr;
+ QPixmap * m_pixIconClose_out = nullptr;
+ QPixmap * m_pixIconClose_over = nullptr;
+ QPixmap * m_pixIconClose_clicked = nullptr;
+ QPixmap * m_pixIconClose = nullptr;
QPixmap m_pixSX_N;
QPixmap m_pixDX_N;
@@ -105,23 +102,23 @@ public:
{
setWidth(w);
setHeight(h);
- };
+ }
void resize(QSize r)
{
setWidth(r.width());
setHeight(r.height());
- };
+ }
void setGeometry(QRect r)
{
r.topLeft();
- r.size(); /*qDebug("x,y: %d,%d", r.x(), r.y()); qDebug("w,h: %d,%d", r.width(), r.height());*/
- };
+ r.size();
+ }
void setGeometry(QPoint p, QSize s)
{
setPoint(p.x(), p.y());
setWidth(s.width());
setHeight(s.height());
- };
+ }
void setPoint(int x, int y)
{
@@ -129,23 +126,23 @@ public:
m_pnt.setY(y);
m_rct.setX(x);
m_rct.setY(y);
- };
+ }
void setCloseIcon(int state);
void resetIcons();
// writing methods...
- inline int x() const { return m_pnt.x(); };
- inline int y() const { return m_pnt.y(); };
- inline int width() const { return m_rct.width(); };
- inline int height() const { return m_rct.height(); };
- inline int baseLine() const { return (y() + height()); };
+ int x() const { return m_pnt.x(); }
+ int y() const { return m_pnt.y(); }
+ int width() const { return m_rct.width(); }
+ int height() const { return m_rct.height(); }
+ int baseLine() const { return (y() + height()); }
- inline QRect bodyRect() const { return m_bodyRect; };
- inline QRect captionRect() const { return m_captionRect; };
- inline QRect rect() const { return m_rct; };
- inline QRect closeRect() const { return m_closeIconRect; };
- inline QRect titleRect() const { return m_titleRect; };
+ QRect bodyRect() const { return m_bodyRect; }
+ QRect captionRect() const { return m_captionRect; }
+ QRect rect() const { return m_rct; }
+ QRect closeRect() const { return m_closeIconRect; }
+ QRect titleRect() const { return m_titleRect; }
void draw(QPainter *, bool b = false);
void setPics(bool b = false);
diff --git a/src/modules/notifier/NotifierWindowTab.cpp b/src/modules/notifier/NotifierWindowTab.cpp
index d02fd095d..0ec9f2a90 100644
--- a/src/modules/notifier/NotifierWindowTab.cpp
+++ b/src/modules/notifier/NotifierWindowTab.cpp
@@ -36,9 +36,9 @@
#include "KviPixmapUtils.h"
#include "KviWindow.h"
-#include <QScrollBar>
-#include <QResizeEvent>
#include <QPainter>
+#include <QResizeEvent>
+#include <QScrollBar>
#include <QTabWidget>
#include <QVBoxLayout>
#include <QWidget>
@@ -51,9 +51,8 @@ extern KVIRC_API QPixmap * g_pShadedChildGlobalDesktopBackground;
extern NotifierWindow * g_pNotifierWindow;
NotifierWindowTab::NotifierWindowTab(KviWindow * pWnd, QTabWidget * pParent)
- : QScrollArea(pParent)
+ : QScrollArea(pParent), m_pWnd{pWnd}, m_pParent{pParent}
{
- m_pWnd = pWnd;
if(m_pWnd)
{
m_szLabel = m_pWnd->windowName();
@@ -65,11 +64,8 @@ NotifierWindowTab::NotifierWindowTab(KviWindow * pWnd, QTabWidget * pParent)
m_szLabel = "----";
}
- if(pParent)
- {
- m_pParent = pParent;
+ if(m_pParent)
m_pParent->addTab(this, m_szLabel);
- }
setFocusPolicy(Qt::NoFocus);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
@@ -170,24 +166,18 @@ void NotifierWindowTab::closeMe()
{
int iIdx = m_pParent->indexOf(this);
if(iIdx != -1)
- {
g_pNotifierWindow->slotTabCloseRequested(iIdx);
- }
}
}
void NotifierWindowTab::resizeEvent(QResizeEvent *)
{
- if(m_pVBox)
+ int iWidth = viewport()->width();
+ for(int i = 0; i < m_pVBox->count(); i++)
{
- int iWidth = viewport()->width();
- NotifierMessage * pMessage;
- for(int i = 0; i < m_pVBox->count(); i++)
- {
- pMessage = (NotifierMessage *)m_pVBox->itemAt(i)->widget();
- if(pMessage)
- pMessage->setFixedWidth(iWidth);
- }
+ NotifierMessage * pMessage = (NotifierMessage *)m_pVBox->itemAt(i)->widget();
+ if(pMessage)
+ pMessage->setFixedWidth(iWidth);
}
}
diff --git a/src/modules/notifier/NotifierWindowTab.h b/src/modules/notifier/NotifierWindowTab.h
index 784936aa6..550d3dd60 100644
--- a/src/modules/notifier/NotifierWindowTab.h
+++ b/src/modules/notifier/NotifierWindowTab.h
@@ -36,11 +36,11 @@
#include <QScrollArea>
+class KviWindow;
+class QPainter;
+class QTabWidget;
class QVBoxLayout;
class QWidget;
-class QTabWidget;
-class QPainter;
-class KviWindow;
/**
* \class NotifierWindowTab
@@ -65,10 +65,10 @@ public:
private:
QString m_szLabel;
- KviWindow * m_pWnd;
- QTabWidget * m_pParent;
- QVBoxLayout * m_pVBox;
- QWidget * m_pVWidget;
+ KviWindow * m_pWnd = nullptr;
+ QTabWidget * m_pParent = nullptr;
+ QVBoxLayout * m_pVBox = nullptr;
+ QWidget * m_pVWidget = nullptr;
public:
/**
@@ -88,17 +88,17 @@ public:
* \brief Returns the name of the current window
* \return QString
*/
- inline QString label() const { return m_szLabel; };
+ QString label() const { return m_szLabel; }
/**
* \brief Returns the pointer of the current window
* \return KviWindow *
*/
- inline KviWindow * wnd() const { return m_pWnd; };
+ KviWindow * wnd() const { return m_pWnd; }
protected:
- virtual void mouseDoubleClickEvent(QMouseEvent * e);
- virtual void resizeEvent(QResizeEvent * e);
- virtual void paintEvent(QPaintEvent * e);
+ void mouseDoubleClickEvent(QMouseEvent * e) override;
+ void resizeEvent(QResizeEvent * e) override;
+ void paintEvent(QPaintEvent * e) override;
private slots:
/**
* \brief Emitted when the scrollbar range is changed
diff --git a/src/modules/notifier/libkvinotifier.cpp b/src/modules/notifier/libkvinotifier.cpp
index fa21755df..47f814964 100644
--- a/src/modules/notifier/libkvinotifier.cpp
+++ b/src/modules/notifier/libkvinotifier.cpp
@@ -36,8 +36,6 @@
#include "KviTimeUtils.h"
#include "KviOptions.h"
-#include <QSplitter>
-
NotifierWindow * g_pNotifierWindow = nullptr;
kvi_time_t g_tNotifierDisabledUntil = 0;
@@ -255,10 +253,8 @@ static bool notifier_kvs_cmd_show(KviKvsModuleCommandCall * c)
static bool notifier_kvs_fnc_isEnabled(KviKvsModuleFunctionCall * c)
{
- bool bCheck;
- if(!KVI_OPTION_BOOL(KviOption_boolEnableNotifier))
- bCheck = false;
- else
+ bool bCheck = false;
+ if(KVI_OPTION_BOOL(KviOption_boolEnableNotifier))
bCheck = g_tNotifierDisabledUntil < kvi_unixTime();
c->returnValue()->setBoolean(bCheck);
return true;
diff --git a/src/modules/objects/KvsObject_button.h b/src/modules/objects/KvsObject_button.h
index 45e1e3408..cb8758d57 100644
--- a/src/modules/objects/KvsObject_button.h
+++ b/src/modules/objects/KvsObject_button.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setText(KviKvsObjectFunctionCall * c);
bool text(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_checkBox.h b/src/modules/objects/KvsObject_checkBox.h
index 1db7575f8..68dca40ff 100644
--- a/src/modules/objects/KvsObject_checkBox.h
+++ b/src/modules/objects/KvsObject_checkBox.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setChecked(KviKvsObjectFunctionCall * c);
bool isChecked(KviKvsObjectFunctionCall * c);
bool toggleEvent(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_colorDialog.h b/src/modules/objects/KvsObject_colorDialog.h
index 35321731c..a6d37121f 100644
--- a/src/modules/objects/KvsObject_colorDialog.h
+++ b/src/modules/objects/KvsObject_colorDialog.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); }
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setCurrentColor(KviKvsObjectFunctionCall * c);
bool currentColorChangedEvent(KviKvsObjectFunctionCall * c);
bool colorSelectedEvent(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_comboBox.cpp b/src/modules/objects/KvsObject_comboBox.cpp
index 331f3fe5a..e4ec1924c 100644
--- a/src/modules/objects/KvsObject_comboBox.cpp
+++ b/src/modules/objects/KvsObject_comboBox.cpp
@@ -306,8 +306,6 @@ KVSO_CLASS_FUNCTION(comboBox, setCurrentItem)
}
KVSO_CLASS_FUNCTION(comboBox, popup)
{
- Q_UNUSED(c);
-
if(widget())
((QComboBox *)widget())->showPopup();
return true;
diff --git a/src/modules/objects/KvsObject_comboBox.h b/src/modules/objects/KvsObject_comboBox.h
index 2d14c01f9..dc0376229 100644
--- a/src/modules/objects/KvsObject_comboBox.h
+++ b/src/modules/objects/KvsObject_comboBox.h
@@ -37,7 +37,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool insertItem(KviKvsObjectFunctionCall * c);
bool changeItem(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_dateTimeEdit.h b/src/modules/objects/KvsObject_dateTimeEdit.h
index f10340900..400c32f8a 100644
--- a/src/modules/objects/KvsObject_dateTimeEdit.h
+++ b/src/modules/objects/KvsObject_dateTimeEdit.h
@@ -39,7 +39,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool date(KviKvsObjectFunctionCall * c);
bool setDate(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_dialog.h b/src/modules/objects/KvsObject_dialog.h
index 14c2b668c..9975d944b 100644
--- a/src/modules/objects/KvsObject_dialog.h
+++ b/src/modules/objects/KvsObject_dialog.h
@@ -35,7 +35,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setModal(KviKvsObjectFunctionCall * c);
};
diff --git a/src/modules/objects/KvsObject_dockWindow.h b/src/modules/objects/KvsObject_dockWindow.h
index dab239f54..0fe56de9c 100644
--- a/src/modules/objects/KvsObject_dockWindow.h
+++ b/src/modules/objects/KvsObject_dockWindow.h
@@ -34,7 +34,7 @@ class KvsObject_dockWindow : public KvsObject_widget
public:
KVSO_DECLARE_OBJECT(KvsObject_dockWindow)
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool addWidget(KviKvsObjectFunctionCall * c);
bool setAllowedDockAreas(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_file.cpp b/src/modules/objects/KvsObject_file.cpp
index d0f773b85..2b2e10746 100644
--- a/src/modules/objects/KvsObject_file.cpp
+++ b/src/modules/objects/KvsObject_file.cpp
@@ -93,12 +93,12 @@ const QIODevice::OpenMode mod_cod[] = {
Attempts to open the file in specified mode or modes [i]sum[/i].
Valid modes are:[br]
[pre]
- RAW - RAW, non-buffered access[br]
- ReadOnly - opens the file read-only[br]
- WriteOnly - opens the file write-only[br]
- ReadWrite - opens the file in read-write mode[br]
- Append - opens the file in append mode. The file index is set to the end of the file.[br]
- Truncate - truncates the file[br]
+ RAW - RAW, non-buffered access
+ ReadOnly - opens the file read-only
+ WriteOnly - opens the file write-only
+ ReadWrite - opens the file in read-write mode
+ Append - opens the file in append mode. The file index is set to the end of the file.
+ Truncate - truncates the file
[/pre]
If you call this function without any parameters, the file is
opened in read-only mode.[br]
@@ -335,8 +335,8 @@ KVSO_CLASS_FUNCTION(file, putch)
KVSO_PARAMETERS_END(c)
if(szChar.length() > 1)
c->warning(__tr2qs_ctx("Argument too long, using only first char", "objects"));
- const char * ch = szChar.toUtf8().data();
- if(!m_pFile->putChar(ch[0]))
+ QByteArray szCh = szChar.toUtf8();
+ if(!m_pFile->putChar(szCh[0]))
c->warning(__tr2qs_ctx("Write error occurred!", "objects"));
return true;
}
@@ -375,8 +375,8 @@ KVSO_CLASS_FUNCTION(file, unGetch)
KVSO_PARAMETERS_END(c)
if(szChar.length() > 1)
c->warning(__tr2qs_ctx("Argument too long, using only the first char", "objects"));
- const char * ch = szChar.toUtf8().data();
- m_pFile->ungetChar(ch[0]);
+ QByteArray szCh = szChar.toUtf8();
+ m_pFile->ungetChar(szCh[0]);
return true;
}
@@ -554,8 +554,8 @@ KVSO_CLASS_FUNCTION(file, writeBlock)
}
QString szBlock;
pVariantData->asString(szBlock);
- const char * block = szBlock.toUtf8().data();
- int rlen = m_pFile->write(block, uLen);
+ QByteArray block = szBlock.toUtf8();
+ int rlen = m_pFile->write(block.data(), uLen);
c->returnValue()->setInteger(rlen);
}
}
diff --git a/src/modules/objects/KvsObject_groupBox.h b/src/modules/objects/KvsObject_groupBox.h
index 50cf5a78e..f2506d6fa 100644
--- a/src/modules/objects/KvsObject_groupBox.h
+++ b/src/modules/objects/KvsObject_groupBox.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setTitle(KviKvsObjectFunctionCall * c);
bool title(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_hBox.h b/src/modules/objects/KvsObject_hBox.h
index ef2ce93ca..e94717587 100644
--- a/src/modules/objects/KvsObject_hBox.h
+++ b/src/modules/objects/KvsObject_hBox.h
@@ -34,7 +34,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setMargin(KviKvsObjectFunctionCall * c);
bool setSpacing(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_label.cpp b/src/modules/objects/KvsObject_label.cpp
index 6d9ebf848..da4744cbd 100644
--- a/src/modules/objects/KvsObject_label.cpp
+++ b/src/modules/objects/KvsObject_label.cpp
@@ -120,21 +120,21 @@ const int frame_cod[] = {
Returns a string containing alignment flags that are set for
this label. The flags are separated by commas.[br]
An example output could look like this:[br]
- [pre]Bottom, Right[/pre][br]
+ [pre]Bottom, Right[/pre]
See [classfnc]$setAlignment[/classfnc]() for explanation of all
alignment flags.
!fn: $setAlignment(<flag1:string>, <flag2:string>, ...)
This function sets alignment flags, given as parameters, for
this label. Valid flags are:
[pre]
- Right - Text is aligned to right border[br]
- Left - Text is aligned to left border[br]
- Top - Text is aligned to the top border[br]
- Bottom - Text is aligned to the bottom border[br]
- HCenter - Text is horizontally centered[br]
- VCenter - Text is vertically centered[br]
- Center - Equals HCenter + VCenter[br]
- Justify - Text is spaced apart to cover available room[br]
+ Right - Text is aligned to right border
+ Left - Text is aligned to left border
+ Top - Text is aligned to the top border
+ Bottom - Text is aligned to the bottom border
+ HCenter - Text is horizontally centered
+ VCenter - Text is vertically centered
+ Center - Equals HCenter + VCenter
+ Justify - Text is spaced apart to cover available room
[/pre]
It is obvious that you can not set [i]Right[/i]
and [i]Left[/i] simultaneously - this will [b]not[/b]
@@ -153,17 +153,17 @@ const int frame_cod[] = {
The flags determine the shape or shadow of the
label's frame. Valid shape flags are:[br]
[pre]
- NoFrame - Draw no frame. You shouldn't specify a shadow when using this.[br]
- Box - Draws a rectangular box. Its borders can be [i]Raised[/i] or [i]Sunken[/i][br]
- Panel - Draws a rectangular panel which can be [i]Raised[/i] or [i]Sunken[/i][br]
- WinPanel - Similar to [i]Panel[/i], but is more in Win95 style[br]
+ NoFrame - Draw no frame. You shouldn't specify a shadow when using this.
+ Box - Draws a rectangular box. Its borders can be [i]Raised[/i] or [i]Sunken[/i]
+ Panel - Draws a rectangular panel which can be [i]Raised[/i] or [i]Sunken[/i]
+ WinPanel - Similar to [i]Panel[/i], but is more in Win95 style
Hline - Draws a horizontal line that frames nothing (useful as separator)
[/pre]
Valid shadow flags are:[br]
[pre]
- Plain - No 3D effect (draws using foreground color)[br]
- Raised - Makes the label look like it was raised above the parent widget[br]
- Sunken - Makes the label look like it was [i]pushed[/i] inside the parent widget[br]
+ Plain - No 3D effect (draws using foreground color)
+ Raised - Makes the label look like it was raised above the parent widget
+ Sunken - Makes the label look like it was [i]pushed[/i] inside the parent widget
[/pre]
!fn: $setImage(<image_id>)
Sets the image to be displayed on this label.
diff --git a/src/modules/objects/KvsObject_label.h b/src/modules/objects/KvsObject_label.h
index 1382c60f6..de6728ab2 100644
--- a/src/modules/objects/KvsObject_label.h
+++ b/src/modules/objects/KvsObject_label.h
@@ -35,7 +35,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setTitle(KviKvsObjectFunctionCall * c);
bool setText(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_layout.cpp b/src/modules/objects/KvsObject_layout.cpp
index 2c57a60fd..b48e5b2e7 100644
--- a/src/modules/objects/KvsObject_layout.cpp
+++ b/src/modules/objects/KvsObject_layout.cpp
@@ -98,10 +98,10 @@ const int align_cod[] = {
Sets the resize mode of the parent widget in relation to this layout.
<mode> can be one of:[br]
[pre]
- -Auto: this is the default[br]
- -Fixed: the parent widget of this layout is resized to the "sizeHint" value and it cannot be resized by the user.[br]
- -Minimum: the minimum size of the parent widget of this layout is set to minimumSize() and it cannot be smaller[br]
- -FreeResize: the parent widget of this layout is not constrained at all[br]
+ -Auto: this is the default
+ -Fixed: the parent widget of this layout is resized to the "sizeHint" value and it cannot be resized by the user.
+ -Minimum: the minimum size of the parent widget of this layout is set to minimumSize() and it cannot be smaller
+ -FreeResize: the parent widget of this layout is not constrained at all
[/pre]
*/
diff --git a/src/modules/objects/KvsObject_layout.h b/src/modules/objects/KvsObject_layout.h
index 99b0c1238..c41a01e66 100644
--- a/src/modules/objects/KvsObject_layout.h
+++ b/src/modules/objects/KvsObject_layout.h
@@ -33,7 +33,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool addWidget(KviKvsObjectFunctionCall * c);
bool addMultiCellWidget(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_lcd.h b/src/modules/objects/KvsObject_lcd.h
index 3595aa164..f1a923906 100644
--- a/src/modules/objects/KvsObject_lcd.h
+++ b/src/modules/objects/KvsObject_lcd.h
@@ -34,7 +34,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool displayStr(KviKvsObjectFunctionCall * c);
bool setMode(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_lineEdit.cpp b/src/modules/objects/KvsObject_lineEdit.cpp
index 8af1498ce..daeea0142 100644
--- a/src/modules/objects/KvsObject_lineEdit.cpp
+++ b/src/modules/objects/KvsObject_lineEdit.cpp
@@ -72,9 +72,9 @@ static const int mode_cod[] = {
!fn: $setEchoMode(<echo_mode:string>)
Sets the line edit's echo mode. Possible value are:[br]
[pre]
- -Normal: display chars as they entered[br]
- -Noecho: do not display anything[br]
- -Password: display asterisks instead of the characters actually entered[br]
+ -Normal: display chars as they entered
+ -Noecho: do not display anything
+ -Password: display asterisks instead of the characters actually entered
[/pre]
See also [classfnc]$echoMode[/classfnc]().
!fn: <string> $echoMode()
diff --git a/src/modules/objects/KvsObject_lineEdit.h b/src/modules/objects/KvsObject_lineEdit.h
index a004190a2..92e1d8754 100644
--- a/src/modules/objects/KvsObject_lineEdit.h
+++ b/src/modules/objects/KvsObject_lineEdit.h
@@ -42,7 +42,7 @@ protected:
QCompleter * m_pCompleter;
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setCompleter(KviKvsObjectFunctionCall * c);
bool enableCompleter(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_list.cpp b/src/modules/objects/KvsObject_list.cpp
index 25ccf5dfc..83bc9ca5c 100644
--- a/src/modules/objects/KvsObject_list.cpp
+++ b/src/modules/objects/KvsObject_list.cpp
@@ -26,7 +26,7 @@
#include "KviMemory.h"
#include "KviLocale.h"
#include "KvsObject_list.h"
-#include <stdlib.h>
+#include <cstdlib>
/*
@doc: list
@@ -48,6 +48,23 @@
[classfnc:list]$moveNext[/classfnc](),[classfnc:list]$movePrev[/classfnc](),
[classfnc:list]$current[/classfnc]() and [classfnc:list]$eof[/classfnc]() functions.
@functions:
+ !fn: $sort(<bReverse:bool>)
+ Sorts items in the list alphabetically ($true) or in reverse order ($false); Default to $false.
+ [example]
+ %list=$new(list);[br]
+ %list->$append('Foo');[br]
+ %list->$append('Bar');[br]
+ %list->$append('Dummy');[br]
+ %list->$append('Aria');[br]
+ [br]
+ %list->$sort(true);[br]
+ %list->$moveFirst();[br]
+ while(%list->$eof())[br]
+ {[br]
+ echo %list->$current();[br]
+ %list->$moveNext();[br]
+ }[br]
+ [/example]
!fn: <integer> $count()
Returns the number of items in the list
!fn: <boolean> $isEmpty()
@@ -168,7 +185,7 @@ KVSO_CLASS_FUNCTION(list, current)
KVSO_CLASS_FUNCTION(list, eof)
{
CHECK_INTERNAL_POINTER(m_pDataList)
- c->returnValue()->setBoolean(m_pDataList->current() != nullptr);
+ c->returnValue()->setBoolean(m_pDataList->safeCurrent() != nullptr);
return true;
}
@@ -299,7 +316,7 @@ KVSO_CLASS_FUNCTION(list, clear)
return true;
}
-inline int kvi_compare(const KviKvsVariant * p1, const KviKvsVariant * p2)
+int kvi_compare(const KviKvsVariant * p1, const KviKvsVariant * p2)
{
return p1->compare(p2);
}
@@ -307,7 +324,13 @@ inline int kvi_compare(const KviKvsVariant * p1, const KviKvsVariant * p2)
KVSO_CLASS_FUNCTION(list, sort)
{
CHECK_INTERNAL_POINTER(m_pDataList)
+ bool bReverse;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("bReverse", KVS_PT_BOOL, KVS_PF_OPTIONAL, bReverse)
+ KVSO_PARAMETERS_END(c)
m_pDataList->sort();
+ if(bReverse)
+ m_pDataList->invert();
return true;
}
diff --git a/src/modules/objects/KvsObject_listWidget.cpp b/src/modules/objects/KvsObject_listWidget.cpp
index df2db43a1..e7a634f57 100644
--- a/src/modules/objects/KvsObject_listWidget.cpp
+++ b/src/modules/objects/KvsObject_listWidget.cpp
@@ -288,7 +288,7 @@ KVSO_CLASS_FUNCTION(listWidget, isChecked)
QListWidgetItem * pItem = ((QListWidget *)widget())->item(iIdx);
if(!pItem)
return true;
- c->returnValue()->setBoolean(pItem->checkState() == Qt::Checked ? 1 : 0);
+ c->returnValue()->setBoolean(pItem->checkState() == Qt::Checked ? true : false);
return true;
}
diff --git a/src/modules/objects/KvsObject_listWidget.h b/src/modules/objects/KvsObject_listWidget.h
index c1eb80fcb..90a6b14c4 100644
--- a/src/modules/objects/KvsObject_listWidget.h
+++ b/src/modules/objects/KvsObject_listWidget.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool insertItem(KviKvsObjectFunctionCall * c);
bool changeItem(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_mainWindow.h b/src/modules/objects/KvsObject_mainWindow.h
index 88eb727bd..01e1f0859 100644
--- a/src/modules/objects/KvsObject_mainWindow.h
+++ b/src/modules/objects/KvsObject_mainWindow.h
@@ -35,7 +35,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setCentralWidget(KviKvsObjectFunctionCall * c);
};
diff --git a/src/modules/objects/KvsObject_menuBar.h b/src/modules/objects/KvsObject_menuBar.h
index f0bcd5c14..a1e8a5478 100644
--- a/src/modules/objects/KvsObject_menuBar.h
+++ b/src/modules/objects/KvsObject_menuBar.h
@@ -35,7 +35,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool insertItem(KviKvsObjectFunctionCall * c);
};
diff --git a/src/modules/objects/KvsObject_multiLineEdit.h b/src/modules/objects/KvsObject_multiLineEdit.h
index a17bbb39b..576715d59 100644
--- a/src/modules/objects/KvsObject_multiLineEdit.h
+++ b/src/modules/objects/KvsObject_multiLineEdit.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool functionTextLine(KviKvsObjectFunctionCall * c);
bool functionInsertLine(KviKvsObjectFunctionCall * c);
bool functionRemoveLine(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_painter.cpp b/src/modules/objects/KvsObject_painter.cpp
index 2c447d368..4918253d3 100644
--- a/src/modules/objects/KvsObject_painter.cpp
+++ b/src/modules/objects/KvsObject_painter.cpp
@@ -235,10 +235,10 @@ const char * const brushstyles_tbl[] = {
All parameters are in integer form.
The HSV system, like RGB, has three components:[br]
[pre]
- * H, for hue, is either 0-359 if the color is chromatic (not gray), or meaningless if it is gray.[br]
- It represents degrees on the color wheel familiar to most people. Red is 0 (degrees), green is 120 and blue is 240.[br]
- * S, for saturation, is 0-255, and the bigger it is, the stronger the color is. Grayish colors have saturation near 0; very strong colors have saturation near 255.[br]
- * V, for value, is 0-255 and represents lightness or brightness of the color. 0 is black; 255 is as far from black as possible.[br]
+ * H, for hue, is either 0-359 if the color is chromatic (not gray), or meaningless if it is gray.
+ It represents degrees on the color wheel familiar to most people. Red is 0 (degrees), green is 120 and blue is 240.
+ * S, for saturation, is 0-255, and the bigger it is, the stronger the color is. Grayish colors have saturation near 0; very strong colors have saturation near 255.
+ * V, for value, is 0-255 and represents lightness or brightness of the color. 0 is black; 255 is as far from black as possible.
[/pre]
Examples: [b]Red[/b] is H=0, S=255, V=255.[br]
Light red could have H about 0, S about 50-100, and S=255.
@@ -284,17 +284,17 @@ const char * const brushstyles_tbl[] = {
Draws the given <text> within the rectangle specified by <x>,<y> <width> and <height>.[br]
The <flag> parameters may be:[br]
[pre]
- Left[br]
- Top[br]
- Right[br]
- Bottom[br]
- HCenter[br]
- VCenter[br]
- Center[br]
- TextSingleLine[br]
- TextExpandTabs[br]
- TextShowMnemonic[br]
- TextWordWrap[br]
+ Left
+ Top
+ Right
+ Bottom
+ HCenter
+ VCenter
+ Center
+ TextSingleLine
+ TextExpandTabs
+ TextShowMnemonic
+ TextWordWrap
TextIncludeTrailingSpaces
[/pre]
!fn: $drawPixmap(<x:integer>,<y:integer>,<pixmap:hobject>,<sx:integer>,<sy:integer>,<ex:integer>,<ey:integer>)
@@ -302,12 +302,12 @@ const char * const brushstyles_tbl[] = {
!fn: $setFont(<family:string>,<size:integer>[,<style:enum>,<style:enum>,..])[br]
Set the font's family, size and style, valid flag for style are:[br]
[pre]
- italic[br]
- bold [br]
- underline [br]
- overline [br]
- strikeout [br]
- fixedpitch [br]
+ italic
+ bold
+ underline
+ overline
+ strikeout
+ fixedpitch
[/pre]
!fn: $setFontSize(<size:unsigned integer>)[br]
Set the current painter font's size.[br]
@@ -333,7 +333,7 @@ const char * const brushstyles_tbl[] = {
Sets the background mode of the painter to <bgMode>:
Valid values are:[br]
[pre]
- - Transparent (that is the default value);[br]
+ - Transparent (that is the default value);
- Opaque.
[/pre]
!fn: $setOpacity(<opacity_factor:real>)
@@ -418,7 +418,7 @@ const char * const brushstyles_tbl[] = {
if ($$->%scrollright >= 550) return
%P->$scale(0.$$->%Zoomindex,0.$$->%Zoomindex)
%P->$translate(400,350)
- %P->$drawText($$->%scrollright,10,"Another cool class brought to you by...",-1,Auto)
+ %P->$drawText($$->%scrollright,10,"Another cool class brought to you by...",-1,Auto)
$$->%scrollright += 3;
%P->$reset()
}
@@ -1271,8 +1271,6 @@ void KvsObject_painter::detachDevice()
KVSO_CLASS_FUNCTION(painter, end)
{
- Q_UNUSED(c);
-
if(!m_pDeviceObject)
{
m_pPainter->end();
@@ -1958,7 +1956,6 @@ KVSO_CLASS_FUNCTION(painter, setGradientAsBrush)
KVSO_CLASS_FUNCTION(painter, clearGradient)
{
- Q_UNUSED(c);
if(!m_pGradient)
delete m_pGradient;
m_pGradient = nullptr;
@@ -2113,7 +2110,7 @@ KVSO_CLASS_FUNCTION(painter, drawPath)
CHECK_INTERNAL_POINTER(m_pPainter)
m_pPainter->drawPath(*m_pPainterPath);
//delete m_pPainterPath;
- //m_pPainterPath=0;
+ //m_pPainterPath=nullptr;
return true;
}
@@ -2144,7 +2141,6 @@ KVSO_CLASS_FUNCTION(painter, setCompositionMode)
}
KVSO_CLASS_FUNCTION(painter, resetPath)
{
- Q_UNUSED(c);
if(m_pPainterPath)
{
delete m_pPainterPath;
diff --git a/src/modules/objects/KvsObject_pixmap.cpp b/src/modules/objects/KvsObject_pixmap.cpp
index c2b56476d..e3ef0a5c8 100644
--- a/src/modules/objects/KvsObject_pixmap.cpp
+++ b/src/modules/objects/KvsObject_pixmap.cpp
@@ -533,7 +533,6 @@ KVSO_CLASS_FUNCTION(pixmap, loadAnimation)
KVSO_CLASS_FUNCTION(pixmap, startAnimation)
{
- Q_UNUSED(c);
if(m_pAnimatedPixmap)
m_pAnimatedPixmap->start();
return true;
@@ -541,7 +540,6 @@ KVSO_CLASS_FUNCTION(pixmap, startAnimation)
KVSO_CLASS_FUNCTION(pixmap, stopAnimation)
{
- Q_UNUSED(c);
if(m_pAnimatedPixmap)
m_pAnimatedPixmap->stop();
return true;
diff --git a/src/modules/objects/KvsObject_pixmap.h b/src/modules/objects/KvsObject_pixmap.h
index 35874f1f6..63b4de5c4 100644
--- a/src/modules/objects/KvsObject_pixmap.h
+++ b/src/modules/objects/KvsObject_pixmap.h
@@ -58,7 +58,7 @@ public:
{
*m_pImage = m_pPixmap->toImage();
delete m_pPixmap;
- m_pPixmap = 0;
+ m_pPixmap = nullptr;
}
}
m_currentType = Image;
@@ -75,7 +75,7 @@ public:
{
*m_pPixmap = m_pPixmap->fromImage(*m_pImage);
delete m_pImage;
- m_pImage = 0;
+ m_pImage = nullptr;
}
}
m_currentType = Pixmap;
diff --git a/src/modules/objects/KvsObject_popupMenu.h b/src/modules/objects/KvsObject_popupMenu.h
index 67624bf72..ac52f7744 100644
--- a/src/modules/objects/KvsObject_popupMenu.h
+++ b/src/modules/objects/KvsObject_popupMenu.h
@@ -38,7 +38,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool insertItem(KviKvsObjectFunctionCall * c);
bool setTitle(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_progressBar.h b/src/modules/objects/KvsObject_progressBar.h
index 4a957ae20..284753c45 100644
--- a/src/modules/objects/KvsObject_progressBar.h
+++ b/src/modules/objects/KvsObject_progressBar.h
@@ -35,7 +35,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setProgress(KviKvsObjectFunctionCall * c);
bool setTotalSteps(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_radioButton.h b/src/modules/objects/KvsObject_radioButton.h
index b57cd3801..81af5d1c9 100644
--- a/src/modules/objects/KvsObject_radioButton.h
+++ b/src/modules/objects/KvsObject_radioButton.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setText(KviKvsObjectFunctionCall * c);
bool isChecked(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_slider.cpp b/src/modules/objects/KvsObject_slider.cpp
index 73b71937e..b36350810 100644
--- a/src/modules/objects/KvsObject_slider.cpp
+++ b/src/modules/objects/KvsObject_slider.cpp
@@ -67,11 +67,11 @@
Sets the tickmark settings for this slider.[br]
Values are:[br]
[pre]
- NoMarks - do not draw any tickmarks.[br]
- Both - draw tickmarks on both sides of the groove.[br]
- Above - draw tickmarks above the (horizontal) slider[br]
- Below - draw tickmarks below the (horizontal) slider[br]
- Left - draw tickmarks to the left of the (vertical) slider[br]
+ NoMarks - do not draw any tickmarks.
+ Both - draw tickmarks on both sides of the groove.
+ Above - draw tickmarks above the (horizontal) slider
+ Below - draw tickmarks below the (horizontal) slider
+ Left - draw tickmarks to the left of the (vertical) slider
Right - draw tickmarks to the right of the (vertical) slider
[/pre]
!fn: $setTickInterval(<value>)
diff --git a/src/modules/objects/KvsObject_slider.h b/src/modules/objects/KvsObject_slider.h
index 953add8a9..5ce6ae201 100644
--- a/src/modules/objects/KvsObject_slider.h
+++ b/src/modules/objects/KvsObject_slider.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setTracking(KviKvsObjectFunctionCall * c);
bool setValue(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_socket.cpp b/src/modules/objects/KvsObject_socket.cpp
index 92f2e3db9..b1e492c7e 100644
--- a/src/modules/objects/KvsObject_socket.cpp
+++ b/src/modules/objects/KvsObject_socket.cpp
@@ -101,10 +101,10 @@ const char * const sockerrors_tbl[] = {
[pre]
0 = Unconnected
1 = HostLookUp
- 2 = Connecting[br]
- 3 = Connected[br]
- 4 = Bound[br]
- 5 = Closing[br]
+ 2 = Connecting
+ 3 = Connected
+ 4 = Bound
+ 5 = Closing
6 = Listening
[/pre]
!fn: $connect(<host>,<port>)
@@ -325,7 +325,6 @@ KVSO_CLASS_FUNCTION(socket, status)
KVSO_CLASS_FUNCTION(socket, close)
{
- Q_UNUSED(c);
m_pSocket->disconnectFromHost();
return true;
}
@@ -408,7 +407,7 @@ KVSO_CLASS_FUNCTION(socket, read)
// convert NULLS to char 255
char * buffer = (char *)KviMemory::allocate(iLen);
m_pSocket->read(buffer, iLen);
- for(size_t i{}; i < iLen; i++)
+ for(int i{}; i < iLen; i++)
{
if(!buffer[i])
buffer[i] = (char)(255);
diff --git a/src/modules/objects/KvsObject_socket.h b/src/modules/objects/KvsObject_socket.h
index 2bb623be9..09c8159eb 100644
--- a/src/modules/objects/KvsObject_socket.h
+++ b/src/modules/objects/KvsObject_socket.h
@@ -35,13 +35,13 @@ class KvsObject_socket : public KviKvsObject
public:
KVSO_DECLARE_OBJECT(KvsObject_socket)
protected:
- QAbstractSocket * m_pSocket;
- QTcpServer * m_pServer;
- KviKvsRunTimeContext * m_pContext;
- bool bIsSetFromExternal;
+ QAbstractSocket * m_pSocket = nullptr;
+ QTcpServer * m_pServer = nullptr;
+ KviKvsRunTimeContext * m_pContext = nullptr;
+ bool bIsSetFromExternal = false;
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
const char * getStateString(QAbstractSocket::SocketState);
void setInternalSocket(QAbstractSocket * pSocket)
diff --git a/src/modules/objects/KvsObject_spinBox.h b/src/modules/objects/KvsObject_spinBox.h
index f0eb2313d..76f25d9e2 100644
--- a/src/modules/objects/KvsObject_spinBox.h
+++ b/src/modules/objects/KvsObject_spinBox.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setTracking(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_sql.cpp b/src/modules/objects/KvsObject_sql.cpp
index 7fd68c240..a4c036546 100644
--- a/src/modules/objects/KvsObject_sql.cpp
+++ b/src/modules/objects/KvsObject_sql.cpp
@@ -27,7 +27,7 @@
#include "KviLocale.h"
#include "KvsObject_sql.h"
#include "KvsObject_memoryBuffer.h"
-#include <stdlib.h>
+#include <cstdlib>
#include <QHash>
#include <QSqlDriver>
#include <QSqlError>
@@ -482,8 +482,7 @@ KVSO_CLASS_FUNCTION(sql, queryRecord)
else
pValue = new KviKvsVariant(QString());
pHash->set(record.fieldName(i), pValue);
- KviKvsVariant * value2 = pHash->get(record.fieldName(i));
- value2->type();
+ (void)pHash->get(record.fieldName(i));
}
c->returnValue()->setHash(pHash);
return true;
diff --git a/src/modules/objects/KvsObject_tabWidget.h b/src/modules/objects/KvsObject_tabWidget.h
index 9b0b14d1c..5db1f58b3 100644
--- a/src/modules/objects/KvsObject_tabWidget.h
+++ b/src/modules/objects/KvsObject_tabWidget.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
QList<kvs_hobject_t> tabsList;
bool addTab(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_tableWidget.cpp b/src/modules/objects/KvsObject_tableWidget.cpp
index 17c12fd66..d2d7bee17 100644
--- a/src/modules/objects/KvsObject_tableWidget.cpp
+++ b/src/modules/objects/KvsObject_tableWidget.cpp
@@ -737,28 +737,24 @@ KVSO_CLASS_FUNCTION(tableWidget, setCellWidget)
KVSO_CLASS_FUNCTION(tableWidget, hideHorizontalHeader)
{
- Q_UNUSED(c);
((QTableWidget *)widget())->horizontalHeader()->hide();
return true;
}
KVSO_CLASS_FUNCTION(tableWidget, hideVerticalHeader)
{
- Q_UNUSED(c);
((QTableWidget *)widget())->verticalHeader()->hide();
return true;
}
KVSO_CLASS_FUNCTION(tableWidget, showHorizontalHeader)
{
- Q_UNUSED(c);
((QTableWidget *)widget())->horizontalHeader()->show();
return true;
}
KVSO_CLASS_FUNCTION(tableWidget, showVerticalHeader)
{
- Q_UNUSED(c);
((QTableWidget *)widget())->verticalHeader()->show();
return true;
}
diff --git a/src/modules/objects/KvsObject_tableWidget.h b/src/modules/objects/KvsObject_tableWidget.h
index b25613c36..416e78f9b 100644
--- a/src/modules/objects/KvsObject_tableWidget.h
+++ b/src/modules/objects/KvsObject_tableWidget.h
@@ -39,15 +39,15 @@ class KvsObject_tableWidget;
class KviCellItemDelegate : public QItemDelegate
{
public:
- KviCellItemDelegate(QAbstractItemView * pWidget = 0, KvsObject_tableWidget * pParent = 0);
+ KviCellItemDelegate(QAbstractItemView * pWidget = nullptr, KvsObject_tableWidget * pParent = nullptr);
~KviCellItemDelegate();
protected:
KvsObject_tableWidget * m_pParentScript;
public:
- QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
- void paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
+ QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const override;
+ void paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index) const override;
};
class KvsObject_tableWidget : public KvsObject_widget
@@ -60,11 +60,11 @@ public:
bool paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index);
protected:
- KviKvsRunTimeContext * m_pContext;
- KviCellItemDelegate * m_pCellItemDelegate;
+ KviKvsRunTimeContext * m_pContext = nullptr;
+ KviCellItemDelegate * m_pCellItemDelegate = nullptr;
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setText(KviKvsObjectFunctionCall * c);
bool setForeground(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_textBrowser.h b/src/modules/objects/KvsObject_textBrowser.h
index a4fc36041..eda1d4ea6 100644
--- a/src/modules/objects/KvsObject_textBrowser.h
+++ b/src/modules/objects/KvsObject_textBrowser.h
@@ -38,7 +38,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setSource(KviKvsObjectFunctionCall * c);
bool forward(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_toolBar.h b/src/modules/objects/KvsObject_toolBar.h
index ce6fa0620..7eaa60bae 100644
--- a/src/modules/objects/KvsObject_toolBar.h
+++ b/src/modules/objects/KvsObject_toolBar.h
@@ -35,7 +35,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool addSeparator(KviKvsObjectFunctionCall * c);
bool setLabel(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_toolButton.h b/src/modules/objects/KvsObject_toolButton.h
index f9dcbb7d7..7cb4e43b4 100644
--- a/src/modules/objects/KvsObject_toolButton.h
+++ b/src/modules/objects/KvsObject_toolButton.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setImage(KviKvsObjectFunctionCall * c);
bool setUsesBigPixmap(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_trayIcon.cpp b/src/modules/objects/KvsObject_trayIcon.cpp
index 127be0065..d09523888 100644
--- a/src/modules/objects/KvsObject_trayIcon.cpp
+++ b/src/modules/objects/KvsObject_trayIcon.cpp
@@ -62,10 +62,10 @@
Message can be clicked by the user; the messageClickedEvent() will be triggered when this occurs.[br]
Valid values for message_icon are:
[pre]
- - NoIcon : No icon is shown.[br]
- - Information : An information icon is shown.[br]
- - Warning : A standard warning icon is shown.[br]
- - Critical : A critical warning icon is shown.[br]
+ - NoIcon : No icon is shown.
+ - Information : An information icon is shown.
+ - Warning : A standard warning icon is shown.
+ - Critical : A critical warning icon is shown.
[/pre]
!fn: setContextMenu(<popupmenu:hobject>).
Associates the given <popupmenu> with the tray icon.
@@ -74,11 +74,11 @@
If you reimplement this function the reason parameter will be passed as $0.
Values for reason are:[br]
[pre]
- - Unknown : Unknown reason.[br]
- - Context : The context menu for the tray icon was requested.[br]
- - DoubleClick : The tray icon was double clicked.[br]
- - Trigger : The tray icon was clicked.[br]
- - MiddleClick : The tray icon was clicked with the middle mouse button.[br]
+ - Unknown : Unknown reason.
+ - Context : The context menu for the tray icon was requested.
+ - DoubleClick : The tray icon was double clicked.
+ - Trigger : The tray icon was clicked.
+ - MiddleClick : The tray icon was clicked with the middle mouse button.
[/pre]
The default implementation emits the [classfnc]$activated[/classfnc]() signal.
!fn: messageClickedEvent()
diff --git a/src/modules/objects/KvsObject_treeWidget.cpp b/src/modules/objects/KvsObject_treeWidget.cpp
index afaf389ca..15b8e1a47 100644
--- a/src/modules/objects/KvsObject_treeWidget.cpp
+++ b/src/modules/objects/KvsObject_treeWidget.cpp
@@ -318,7 +318,6 @@ KVSO_CLASS_FUNCTION(treeWidget, setAcceptDrops)
KVSO_CLASS_FUNCTION(treeWidget, clear)
{
- Q_UNUSED(c);
if(widget())
((QTreeWidget *)object())->clear();
return true;
@@ -443,14 +442,12 @@ KVSO_CLASS_FUNCTION(treeWidget, setAllColumnsShowFocus)
KVSO_CLASS_FUNCTION(treeWidget, hideListViewHeader)
{
- Q_UNUSED(c);
((QTreeWidget *)widget())->header()->hide();
return true;
}
KVSO_CLASS_FUNCTION(treeWidget, showListViewHeader)
{
- Q_UNUSED(c);
((QTreeWidget *)widget())->header()->show();
return true;
}
diff --git a/src/modules/objects/KvsObject_treeWidget.h b/src/modules/objects/KvsObject_treeWidget.h
index db277c107..bfa64c589 100644
--- a/src/modules/objects/KvsObject_treeWidget.h
+++ b/src/modules/objects/KvsObject_treeWidget.h
@@ -42,7 +42,7 @@ public:
void fileDropped(QString &, QTreeWidgetItem *);
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setBackgroundImage(KviKvsObjectFunctionCall * c);
bool addColumn(KviKvsObjectFunctionCall * c);
@@ -90,15 +90,15 @@ class KviKvsTreeWidget : public QTreeWidget
Q_OBJECT
public:
KviKvsTreeWidget(QWidget * par, const char * name, KvsObject_treeWidget *);
- virtual ~KviKvsTreeWidget();
+ ~KviKvsTreeWidget();
protected:
KvsObject_treeWidget * m_pParentScript;
protected:
- void dropEvent(QDropEvent * e);
- void dragEnterEvent(QDragEnterEvent * e);
- void dragMoveEvent(QDragMoveEvent * e);
+ void dropEvent(QDropEvent * e) override;
+ void dragEnterEvent(QDragEnterEvent * e) override;
+ void dragMoveEvent(QDragMoveEvent * e) override;
};
#endif // _CLASS_TREEWIDGET_H_
diff --git a/src/modules/objects/KvsObject_treeWidgeteItem.cpp b/src/modules/objects/KvsObject_treeWidgeteItem.cpp
index dc38fc591..ca5419f1e 100644
--- a/src/modules/objects/KvsObject_treeWidgeteItem.cpp
+++ b/src/modules/objects/KvsObject_treeWidgeteItem.cpp
@@ -345,7 +345,7 @@ KVSO_CLASS_FUNCTION(treeWidgetItem, isChecked)
c->returnValue()->setBoolean(false);
return true;
}
- c->returnValue()->setBoolean(((QTreeWidgetItem *)m_pTreeWidgetItem)->checkState(0) == Qt::Checked ? 1 : 0);
+ c->returnValue()->setBoolean(((QTreeWidgetItem *)m_pTreeWidgetItem)->checkState(0) == Qt::Checked ? true : false);
return true;
}
diff --git a/src/modules/objects/KvsObject_treeWidgeteItem.h b/src/modules/objects/KvsObject_treeWidgeteItem.h
index 8d3aa01f6..9e4c13f6e 100644
--- a/src/modules/objects/KvsObject_treeWidgeteItem.h
+++ b/src/modules/objects/KvsObject_treeWidgeteItem.h
@@ -40,7 +40,7 @@ protected:
QTreeWidgetItem * m_pTreeWidgetItem;
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
protected:
bool setText(KviKvsObjectFunctionCall * c);
@@ -68,7 +68,7 @@ class KviKvsStandardTreeWidgetItem : public QTreeWidgetItem
public:
KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob, QTreeWidget * par);
KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob, QTreeWidgetItem * par);
- virtual ~KviKvsStandardTreeWidgetItem();
+ ~KviKvsStandardTreeWidgetItem();
protected:
KvsObject_treeWidgetItem * m_pMasterObject;
diff --git a/src/modules/objects/KvsObject_vBox.cpp b/src/modules/objects/KvsObject_vBox.cpp
index 76f750fc1..557dd5b35 100644
--- a/src/modules/objects/KvsObject_vBox.cpp
+++ b/src/modules/objects/KvsObject_vBox.cpp
@@ -82,15 +82,15 @@ const int align_cod[] = {
Adds a stretchable space with zero minimum size and stretch factor stretch to the end of this box layout.
!fn: $setAlignment(<flag1:string>, <flag2:string>, ...)
Sets the alignment for widget w to flags, given as parameters.[br]
- Valid flags are:[br]
+ Valid flags are:
[pre]
- Right[br]
- Left[br]
- Top[br]
- Bottom[br]
- HCenter[br]
- VCenter[br]
- Center[br]
+ Right
+ Left
+ Top
+ Bottom
+ HCenter
+ VCenter
+ Center
Justify
[/pre]
*/
@@ -111,11 +111,8 @@ KVSO_BEGIN_DESTRUCTOR(KvsObject_vBox)
KVSO_END_CONSTRUCTOR(KvsObject_vBox)
-bool KvsObject_vBox::init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams)
+bool KvsObject_vBox::init(KviKvsRunTimeContext *, KviKvsVariantList *)
{
- Q_UNUSED(pContext);
- Q_UNUSED(pParams);
-
SET_OBJECT(KviTalVBox);
return true;
}
diff --git a/src/modules/objects/KvsObject_vBox.h b/src/modules/objects/KvsObject_vBox.h
index 24b7ae590..4b46c4274 100644
--- a/src/modules/objects/KvsObject_vBox.h
+++ b/src/modules/objects/KvsObject_vBox.h
@@ -36,7 +36,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setMargin(KviKvsObjectFunctionCall * c);
bool setSpacing(KviKvsObjectFunctionCall * c);
bool setStretchFactor(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_webView.cpp b/src/modules/objects/KvsObject_webView.cpp
index 0a0a24354..abb46faba 100644
--- a/src/modules/objects/KvsObject_webView.cpp
+++ b/src/modules/objects/KvsObject_webView.cpp
@@ -1094,7 +1094,6 @@ KVSO_CLASS_FUNCTION(webView, addToJavaScriptWindowObject)
}
KVSO_CLASS_FUNCTION(webView, setEventFilter)
{
- Q_UNUSED(c);
QWebFrame * pFrame;
pFrame = ((QWebView *)widget())->page()->mainFrame();
pFrame->addToJavaScriptWindowObject("kvs", this);
@@ -1323,8 +1322,7 @@ void KvsObject_webView::slotDownloadRequest(const QNetworkRequest & r)
pReply->deleteLater();
return;
}
- KviKvsDownloadHandler * pHandler = new KviKvsDownloadHandler(this, pFile, pReply, g_iDownloadId);
- Q_UNUSED(pHandler);
+ (void)new KviKvsDownloadHandler(this, pFile, pReply, g_iDownloadId);
g_iDownloadId++;
}
}
diff --git a/src/modules/objects/KvsObject_webView.h b/src/modules/objects/KvsObject_webView.h
index 45de20ceb..92c47804a 100644
--- a/src/modules/objects/KvsObject_webView.h
+++ b/src/modules/objects/KvsObject_webView.h
@@ -44,15 +44,15 @@ public:
KviKvsWebView(QWidget * par, const char * name, KvsObject_webView *);
//void accept();
//void reject();
- virtual ~KviKvsWebView();
+ ~KviKvsWebView();
protected:
KvsObject_webView * m_pParentScript;
protected:
- virtual void mouseMoveEvent(QMouseEvent * ev);
- virtual void contextMenuEvent(QContextMenuEvent *);
- virtual bool event(QEvent * e);
+ void mouseMoveEvent(QMouseEvent * ev) override;
+ void contextMenuEvent(QContextMenuEvent *) override;
+ bool event(QEvent * e) override;
/*protected slots:
void slotNextClicked();
void slotBackClicked();
@@ -65,16 +65,16 @@ class KvsObject_webView : public KviKvsObject
public:
KVSO_DECLARE_OBJECT(KvsObject_webView)
protected:
- KviKvsRunTimeContext * m_pContext;
- int elementMapId;
+ KviKvsRunTimeContext * m_pContext = nullptr;
+ int elementMapId = 1;
int insertElement(const QWebElement & ele);
QWebElement getElement(int iIdx);
int getElementId(const QWebElement &);
QHash<int, QWebElement> m_elementMapper;
- KviPointerList<KviKvsObject> * lWebelement;
+ KviPointerList<KviKvsObject> * lWebelement = nullptr;
QHash<QString, QWebElement *> m_dictCache;
- KviPointerList<QNetworkReply> * m_pReplyList;
- QNetworkAccessManager * m_pNetworkManager;
+ KviPointerList<QNetworkReply> * m_pReplyList = nullptr;
+ QNetworkAccessManager * m_pNetworkManager = nullptr;
QWebElementCollection m_webElementCollection;
QWebElement m_currentElement;
@@ -83,7 +83,7 @@ public:
protected:
void getFrames(QWebFrame * pCurFrame, QStringList & szFramesNames);
QWebFrame * findFrame(QWebFrame * pCurFrame, QString & szFrameName);
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool removeFromDocument(KviKvsObjectFunctionCall * c);
bool makePreview(KviKvsObjectFunctionCall * c);
@@ -160,7 +160,7 @@ class KviKvsDownloadHandler : public QObject
public:
KviKvsDownloadHandler(KvsObject_webView * pParent, QFile * pFile, QNetworkReply * pNetReply, int iId);
- virtual ~KviKvsDownloadHandler();
+ ~KviKvsDownloadHandler();
protected:
KvsObject_webView * m_pParentScript;
diff --git a/src/modules/objects/KvsObject_widget.cpp b/src/modules/objects/KvsObject_widget.cpp
index eb3009a2b..c41183d5b 100644
--- a/src/modules/objects/KvsObject_widget.cpp
+++ b/src/modules/objects/KvsObject_widget.cpp
@@ -422,15 +422,15 @@ const char * const widgettypes_tbl[] = {
This function sets widget flags, given as parameters.
Valid flags are:
[pre]
- TopLevel - indicates that this widget is a top-level widget[br]
- Dialog - indicates that this widget is a top-level window that should be decorated as a dialog[br]
- Desktop - indicates that this widget is the desktop[br]
- Popup - indicates that this widget is a popup top-level window[br]
- Title - gives the window a title bar[br]
- StaysOnTop - window stays on top [br]
- SysMenu - add a windows system menu[br]
- Minimize - add a minimize button for the sysmenu style[br]
- Maximize - add a maximize button for the sysmenu style[br]
+ TopLevel - indicates that this widget is a top-level widget
+ Dialog - indicates that this widget is a top-level window that should be decorated as a dialog
+ Desktop - indicates that this widget is the desktop
+ Popup - indicates that this widget is a popup top-level window
+ Title - gives the window a title bar
+ StaysOnTop - window stays on top
+ SysMenu - add a windows system menu
+ Minimize - add a minimize button for the sysmenu style
+ Maximize - add a maximize button for the sysmenu style
[/pre]
!fn: $centerToScreen()
Centers the window on the screen (useful only for toplevel widgets).[br]
@@ -439,48 +439,48 @@ const char * const widgettypes_tbl[] = {
Sets the way the widget accepts keyboard focus.[br]
Valid parameters are:
[pre]
- - TabFocus; (widget accepts keyboard focus by tabbing)[br]
- - ClickFocus; (widget accepts keyboard focus by clicking)[br]
- - StrongFocus; (widget accepts both tabbing/clicking)[br]
- - No Focus; (widget does not accept focus at all; this is the default value)[br]
+ - TabFocus; (widget accepts keyboard focus by tabbing)
+ - ClickFocus; (widget accepts keyboard focus by clicking)
+ - StrongFocus; (widget accepts both tabbing/clicking)
+ - NoFocus; (widget does not accept focus at all; this is the default value)
[/pre]
!fn: $keyPressEvent(<key>)
If widget accepts keyboard focus (see [classfnc]$setFocusPolicy[/classfnc] ) this function handles for keys;
In its argument the key pressed.[br]
Special keys are:
[pre]
- - Return [br]
- - Enter [br]
- - Down (cursor arrow down) [br]
- - Up (cursor arrow up) [br]
- - Left (cursor arrow left) [br]
- - Right (cursor arrow right) [br]
- - Shift [br]
- - Ctrl [br]
- - Alt [br]
- - CapsLock [br]
- - Backspace [br]
- - Del [br]
- - Esc [br]
- - 0 [br]
- - 1 [br]
- - 2 [br]
- - 3 [br]
- - 4 [br]
- - 5 [br]
- - 6 [br]
- - 7 [br]
- - 8 [br]
- - 9 [br]
- - + [br]
- - - [br]
- - * [br]
- - / [br]
- - ( [br]
- - ) [br]
- - = [br]
- - . [br]
- - ^ [br]
+ - Return
+ - Enter
+ - Down (cursor arrow down)
+ - Up (cursor arrow up)
+ - Left (cursor arrow left)
+ - Right (cursor arrow right)
+ - Shift
+ - Ctrl
+ - Alt
+ - CapsLock
+ - Backspace
+ - Del
+ - Esc
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - +
+ - -
+ - *
+ - /
+ - (
+ - )
+ - =
+ - .
+ - ^
[/pre]
!fn: $mapFromGlobal(<x>,<y>)
Translates the global screen coordinate pos to widget coordinates.
diff --git a/src/modules/objects/KvsObject_widget.h b/src/modules/objects/KvsObject_widget.h
index 4d35b34e1..a7fc36a17 100644
--- a/src/modules/objects/KvsObject_widget.h
+++ b/src/modules/objects/KvsObject_widget.h
@@ -46,14 +46,14 @@ public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
#ifdef COMPILE_WEBKIT_SUPPORT
- QWebView * m_pWebview;
+ QWebView * m_pWebview = nullptr;
#endif
- virtual bool eventFilter(QObject * o, QEvent * e);
- KviKvsRunTimeContext * m_pContext;
- QGraphicsDropShadowEffect * pGraphicsEffect;
+ bool eventFilter(QObject * o, QEvent * e) override;
+ KviKvsRunTimeContext * m_pContext = nullptr;
+ QGraphicsDropShadowEffect * pGraphicsEffect = nullptr;
// ok, it is clear that we're messing with the naming conventions for the
// object classes :D
// let's try to use this one:
@@ -144,12 +144,12 @@ class KviKvsWidget : public QWidget
Q_PROPERTY(QSize sizeHint READ sizeHint)
public:
KviKvsWidget(KvsObject_widget * ob, QWidget * par);
- virtual ~KviKvsWidget();
+ ~KviKvsWidget();
protected:
KvsObject_widget * m_pObject;
public:
- QSize sizeHint() const;
+ QSize sizeHint() const override;
};
#endif //_CLASS_WIDGET_H_
diff --git a/src/modules/objects/KvsObject_window.cpp b/src/modules/objects/KvsObject_window.cpp
index 28ccbd7a8..5bd8b428a 100644
--- a/src/modules/objects/KvsObject_window.cpp
+++ b/src/modules/objects/KvsObject_window.cpp
@@ -34,8 +34,6 @@
KviKvsScriptWindowWindow::KviKvsScriptWindowWindow(const QString & szName)
: KviWindow(KviWindow::ScriptObject, szName)
{
- m_pCentralWidget = nullptr;
- m_pIcon = nullptr;
}
KviKvsScriptWindowWindow::~KviKvsScriptWindowWindow()
diff --git a/src/modules/objects/KvsObject_window.h b/src/modules/objects/KvsObject_window.h
index 172db20de..0c21138ff 100644
--- a/src/modules/objects/KvsObject_window.h
+++ b/src/modules/objects/KvsObject_window.h
@@ -36,12 +36,12 @@ public:
~KviKvsScriptWindowWindow();
protected:
- KvsObject_widget * m_pCentralWidgetObject;
- QWidget * m_pCentralWidget;
- QPixmap * m_pIcon;
+ KvsObject_widget * m_pCentralWidgetObject = nullptr;
+ QWidget * m_pCentralWidget = nullptr;
+ QPixmap * m_pIcon = nullptr;
public:
- virtual QPixmap * myIconPtr();
+ QPixmap * myIconPtr() override;
void setIcon(QPixmap * pPixmap) { m_pIcon = pPixmap; };
void setCentralWidget(KvsObject_widget * o, QWidget * w);
void setWindowTitleString(const QString & s)
@@ -49,7 +49,7 @@ public:
setFixedCaption(s);
fillCaptionBuffers();
};
- virtual void resizeEvent(QResizeEvent * e);
+ void resizeEvent(QResizeEvent * e) override;
protected slots:
void centralWidgetObjectDestroyed();
void centralWidgetDestroyed();
@@ -60,10 +60,10 @@ class KvsObject_window : public KvsObject_widget
public:
KVSO_DECLARE_OBJECT(KvsObject_window)
public:
- QWidget * widget() { return (QWidget *)object(); };
+ QWidget * widget() { return (QWidget *)object(); }
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool setWindowTitle(KviKvsObjectFunctionCall * c);
bool setIcon(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_wizard.h b/src/modules/objects/KvsObject_wizard.h
index 976e25f93..b37b0aa8a 100644
--- a/src/modules/objects/KvsObject_wizard.h
+++ b/src/modules/objects/KvsObject_wizard.h
@@ -41,7 +41,7 @@ public:
void backClicked();
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool addPage(KviKvsObjectFunctionCall * c);
bool insertPage(KviKvsObjectFunctionCall * c);
@@ -68,7 +68,7 @@ public:
KviKvsMdmWizard(QWidget * par, const char * name, KvsObject_wizard *);
void accept();
void reject();
- virtual ~KviKvsMdmWizard();
+ ~KviKvsMdmWizard();
protected:
KvsObject_wizard * m_pParentScript;
diff --git a/src/modules/objects/KvsObject_workspace.h b/src/modules/objects/KvsObject_workspace.h
index 3a8aa1c0a..40d7bb5c8 100644
--- a/src/modules/objects/KvsObject_workspace.h
+++ b/src/modules/objects/KvsObject_workspace.h
@@ -36,7 +36,7 @@ public:
QWidget * widget() { return (QWidget *)object(); };
protected:
QHash<kvs_hobject_t, QMdiSubWindow *> * pWidgetDict;
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
bool addSubWindow(KviKvsObjectFunctionCall * c);
bool removeSubWindow(KviKvsObjectFunctionCall * c);
diff --git a/src/modules/objects/KvsObject_wrapper.cpp b/src/modules/objects/KvsObject_wrapper.cpp
index 1131aa4c2..2c7763a1b 100644
--- a/src/modules/objects/KvsObject_wrapper.cpp
+++ b/src/modules/objects/KvsObject_wrapper.cpp
@@ -285,19 +285,16 @@ QWidget * KvsObject_wrapper::findTopLevelWidgetToWrap(const QString & szClass, c
if(list.isEmpty())
return nullptr;
- Q_FOREACH(QWidget * w, list)
+ for(QWidget * w : list)
{
- //qDebug("TLW: %s::%s (look for %s::%s)",w->metaObject()->className(),w->objectName().toUtf8().data(),szClass.toUtf8().data(),szName.toUtf8().data());
- if(
- (
- szClass.isEmpty() || KviQString::equalCI(w->metaObject()->className(), szClass))
+ if((szClass.isEmpty() || KviQString::equalCI(w->metaObject()->className(), szClass))
&& (szName.isEmpty() || KviQString::equalCI(w->objectName(), szName)))
return w;
}
if(bRecursive)
{
- Q_FOREACH(QWidget * w, list)
+ for(QWidget * w : list)
{
w = findWidgetToWrap(szClass, szName, w, bRecursive);
if(w)
@@ -314,22 +311,20 @@ QWidget * KvsObject_wrapper::findWidgetToWrap(const QString & szClass, const QSt
if(list.isEmpty())
return nullptr;
- Q_FOREACH(QObject * obj, list)
+ for(QObject * obj : list)
{
if(!obj->isWidgetType())
continue;
QWidget * w = (QWidget *)obj;
- if(
- (
- szClass.isEmpty() || KviQString::equalCI(w->metaObject()->className(), szClass))
+ if((szClass.isEmpty() || KviQString::equalCI(w->metaObject()->className(), szClass))
&& (szName.isEmpty() || KviQString::equalCI(w->objectName(), szName)))
return w;
}
if(bRecursive)
{
- Q_FOREACH(QObject * obj, list)
+ for(QObject * obj : list)
{
if(!obj->isWidgetType())
continue;
diff --git a/src/modules/objects/KvsObject_wrapper.h b/src/modules/objects/KvsObject_wrapper.h
index 523ffe6c6..0a79d2d3b 100644
--- a/src/modules/objects/KvsObject_wrapper.h
+++ b/src/modules/objects/KvsObject_wrapper.h
@@ -37,7 +37,7 @@ public:
public:
QWidget * widget() { return (QWidget *)object(); };
protected:
- virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams);
+ bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) override;
QWidget * findTopLevelWidgetToWrap(const QString & szClass, const QString & szName, bool bRecursive);
QWidget * findWidgetToWrap(const QString & szClass, const QString & szName, QWidget * pParent, bool bRecursive);
};
diff --git a/src/modules/objects/libkviobjects.cpp b/src/modules/objects/libkviobjects.cpp
index d44bc06f2..12d9e6c00 100644
--- a/src/modules/objects/libkviobjects.cpp
+++ b/src/modules/objects/libkviobjects.cpp
@@ -174,7 +174,7 @@ static bool objects_kvs_cmd_killClass(KviKvsModuleCommandCall * c)
kills only all the instances of that class (derived class definitions
and instances in this case are [b]not[/b] killed).[br]
@seealso:
- [cmd]class[/cmd], [cmd]objects.clear[/cmd], [fnc]$classDefined[/fnc](),
+ [cmd]class[/cmd], [cmd]objects.clearObjects[/cmd], [fnc]$classDefined[/fnc](),
[doc:objects]Object scripting[/doc]
*/
@@ -202,15 +202,15 @@ static bool objects_kvs_cmd_killClass(KviKvsModuleCommandCall * c)
static bool objects_kvs_cmd_clearObjects(KviKvsModuleCommandCall * c)
{
/*
- @doc: objects.clear
+ @doc: objects.clearObjects
@title:
- objects.clear
+ objects.clearObjects
@type:
command
@short:
Removes all the user class definitions
@syntax:
- objects.clear [-i]
+ objects.clearObjects [-i]
@description:
Removes the definition of all the user classes and kill all the object
instances (also instances of the builtin classes).[br]
diff --git a/src/modules/objects/object_macros.h b/src/modules/objects/object_macros.h
index f89318575..28525e7d0 100644
--- a/src/modules/objects/object_macros.h
+++ b/src/modules/objects/object_macros.h
@@ -58,7 +58,7 @@
g_pKvs##__className##Class->registerStandardFalseReturnFunctionHandler(__szName);
#define KVSO_BEGIN_REGISTERCLASS(__className, __stringName, __baseClass) \
- static KviKvsObjectClass * g_pKvs##__className##Class = 0; \
+ static KviKvsObjectClass * g_pKvs##__className##Class = nullptr; \
static KviKvsObject * kvs_##__className##_createInstance(KviKvsObjectClass * pClass, KviKvsObject * pParent, const QString & szName) \
{ \
return new __className(pClass, pParent, szName); \
@@ -66,7 +66,7 @@
void __className::unregisterSelf() \
{ \
delete g_pKvs##__className##Class; \
- g_pKvs##__className##Class = 0; \
+ g_pKvs##__className##Class = nullptr; \
} \
void __className::registerSelf() \
{ \
@@ -92,7 +92,7 @@
}
#define KVSO_CLASS_FUNCTION(__className, __functionName) \
- bool KvsObject_##__className::__functionName(KviKvsObjectFunctionCall * c)
+ bool KvsObject_##__className::__functionName([[maybe_unused]] KviKvsObjectFunctionCall * c)
#define CHECK_INTERNAL_POINTER(__pointer) \
if(!__pointer) \
diff --git a/src/modules/objects/qtftp/qftp.cpp b/src/modules/objects/qtftp/qftp.cpp
index 565172619..935bdb8b0 100644
--- a/src/modules/objects/qtftp/qftp.cpp
+++ b/src/modules/objects/qtftp/qftp.cpp
@@ -43,6 +43,8 @@
//#define QFTPDTP_DEBUG
#include "qftp.h"
+
+#include <utility>
#include "qabstractsocket.h"
#ifndef QT_NO_FTP
@@ -90,14 +92,18 @@ public:
QBasicAtomicInt QFtpCommand::idCounter = Q_BASIC_ATOMIC_INITIALIZER(1);
QFtpCommand::QFtpCommand(QFtp::Command cmd, QStringList raw, const QByteArray & ba)
- : command(cmd), rawCmds(raw), is_ba(true)
+ : command(cmd)
+ , rawCmds(std::move(raw))
+ , is_ba(true)
{
id = idCounter.fetchAndAddRelaxed(1);
data.ba = new QByteArray(ba);
}
QFtpCommand::QFtpCommand(QFtp::Command cmd, QStringList raw, QIODevice * dev)
- : command(cmd), rawCmds(raw), is_ba(false)
+ : command(cmd)
+ , rawCmds(std::move(raw))
+ , is_ba(false)
{
id = idCounter.fetchAndAddRelaxed(1);
data.dev = dev;
@@ -958,7 +964,7 @@ bool QFtpPI::processReply()
// both examples where the parenthesis are used, and where
// they are missing. We need to scan for the address and host
// info.
- QRegExp addrPortPattern(QLatin1String("(\\d+),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)"));
+ QRegExp addrPortPattern(QLatin1String(R"((\d+),(\d+),(\d+),(\d+),(\d+),(\d+))"));
if(addrPortPattern.indexIn(replyText) == -1)
{
#if defined(QFTPPI_DEBUG)
diff --git a/src/modules/objects/qtftp/qurlinfo.cpp b/src/modules/objects/qtftp/qurlinfo.cpp
index 2df6adfdb..6e19960c5 100644
--- a/src/modules/objects/qtftp/qurlinfo.cpp
+++ b/src/modules/objects/qtftp/qurlinfo.cpp
@@ -43,38 +43,32 @@
#include "qurl.h"
#include "qdir.h"
-#include <limits.h>
+#include <climits>
QT_BEGIN_NAMESPACE
class QUrlInfoPrivate
{
public:
- QUrlInfoPrivate() : permissions(0),
- size(0),
- isDir(false),
- isFile(true),
- isSymLink(false),
- isWritable(true),
- isReadable(true),
- isExecutable(false)
+ QUrlInfoPrivate()
+
{
}
QString name;
- int permissions;
+ int permissions{ 0 };
QString owner;
QString group;
- qint64 size;
+ qint64 size{ 0 };
QDateTime lastModified;
QDateTime lastRead;
- bool isDir;
- bool isFile;
- bool isSymLink;
- bool isWritable;
- bool isReadable;
- bool isExecutable;
+ bool isDir{ false };
+ bool isFile{ true };
+ bool isSymLink{ false };
+ bool isWritable{ true };
+ bool isReadable{ true };
+ bool isExecutable{ false };
};
/*!
diff --git a/src/modules/objects/qthttp/qhttp.cpp b/src/modules/objects/qthttp/qhttp.cpp
index dbecaa42e..84e5e28e5 100644
--- a/src/modules/objects/qthttp/qhttp.cpp
+++ b/src/modules/objects/qthttp/qhttp.cpp
@@ -42,6 +42,8 @@
//#define QHTTP_DEBUG
#include <qplatformdefs.h>
+
+#include <utility>
#include "qhttp.h"
#ifndef QT_NO_HTTP
@@ -71,7 +73,7 @@ class QHttpNormalRequest;
class QHttpRequest
{
public:
- QHttpRequest() : finished(false)
+ QHttpRequest()
{
id = idCounter.fetchAndAddRelaxed(1);
}
@@ -86,7 +88,7 @@ public:
virtual QIODevice * destinationDevice() = 0;
int id;
- bool finished;
+ bool finished{ false };
private:
static QBasicAtomicInt idCounter;
@@ -98,11 +100,20 @@ public:
Q_DECLARE_PUBLIC(QHttp)
inline QHttpPrivate(QHttp * parent)
- : socket(nullptr), reconnectAttempts(2),
- deleteSocket(0), state(QHttp::Unconnected),
- error(QHttp::NoError), port(0), mode(QHttp::ConnectionModeHttp),
- toDevice(nullptr), postDevice(nullptr), bytesDone(0), chunkedSize(-1),
- repost(false), pendingPost(false), q_ptr(parent)
+ : socket(nullptr)
+ , reconnectAttempts(2)
+ , deleteSocket(false)
+ , state(QHttp::Unconnected)
+ , error(QHttp::NoError)
+ , port(0)
+ , mode(QHttp::ConnectionModeHttp)
+ , toDevice(nullptr)
+ , postDevice(nullptr)
+ , bytesDone(0)
+ , chunkedSize(-1)
+ , repost(false)
+ , pendingPost(false)
+ , q_ptr(parent)
{
}
@@ -346,8 +357,10 @@ void QHttpPGHRequest::start(QHttp * http)
class QHttpSetHostRequest : public QHttpRequest
{
public:
- QHttpSetHostRequest(const QString & h, quint16 p, QHttp::ConnectionMode m)
- : hostName(h), port(p), mode(m)
+ QHttpSetHostRequest(QString h, quint16 p, QHttp::ConnectionMode m)
+ : hostName(std::move(h))
+ , port(p)
+ , mode(m)
{
}
@@ -396,7 +409,9 @@ void QHttpSetHostRequest::start(QHttp * http)
class QHttpSetUserRequest : public QHttpRequest
{
public:
- QHttpSetUserRequest(const QString & userName, const QString & password) : user(userName), pass(password)
+ QHttpSetUserRequest(QString userName, QString password)
+ : user(std::move(userName))
+ , pass(std::move(password))
{
}
@@ -510,8 +525,7 @@ class QHttpCloseRequest : public QHttpRequest
{
public:
QHttpCloseRequest()
- {
- }
+ = default;
void start(QHttp *) override;
QIODevice * sourceDevice() override
diff --git a/src/modules/objects/qthttp/qhttpauthenticator.cpp b/src/modules/objects/qthttp/qhttpauthenticator.cpp
index c6063c6c4..194fe856d 100644
--- a/src/modules/objects/qthttp/qhttpauthenticator.cpp
+++ b/src/modules/objects/qthttp/qhttpauthenticator.cpp
@@ -860,10 +860,10 @@ const quint8 hirespversion = 1;
class QNtlmBuffer
{
public:
- QNtlmBuffer() : len(0), maxLen(0), offset(0) {}
- quint16 len;
- quint16 maxLen;
- quint32 offset;
+ QNtlmBuffer() {}
+ quint16 len{ 0 };
+ quint16 maxLen{ 0 };
+ quint32 offset{ 0 };
enum
{
Size = 8
diff --git a/src/modules/options/OptionsDialog.cpp b/src/modules/options/OptionsDialog.cpp
index 4249e2f54..6883337aa 100644
--- a/src/modules/options/OptionsDialog.cpp
+++ b/src/modules/options/OptionsDialog.cpp
@@ -191,7 +191,7 @@ OptionsDialog::OptionsDialog(QWidget * par, const QString & szGroup, bool bModal
hbox->setMargin(3);
m_pSearchLineEdit = new QLineEdit(hbox);
- connect(m_pSearchLineEdit, SIGNAL(returnPressed()), this, SLOT(searchClicked()));
+ connect(m_pSearchLineEdit, SIGNAL(textEdited(const QString &)), this, SLOT(searchClicked()));
m_pSearchButton = new QToolButton(hbox);
m_pSearchButton->setIconSize(QSize(16, 16));
m_pSearchButton->setIcon(*(g_pIconManager->getSmallIcon(KviIconManager::Search)));
@@ -322,6 +322,7 @@ void OptionsDialog::searchLineEditTextChanged(const QString &)
bool OptionsDialog::searchInSelectors(KviOptionsWidget * pOptionsWidget, const QStringList & lKeywords)
{
KviPointerList<KviSelectorInterface> * selectors = pOptionsWidget->selectors();
+ bool bCleaningUp = lKeywords.isEmpty();
bool bFoundSomethingHere = false;
if(selectors->count() > 0)
{
@@ -331,28 +332,38 @@ bool OptionsDialog::searchInSelectors(KviOptionsWidget * pOptionsWidget, const Q
QWidget * pWidget = selectors->at(i)->widgetToHighlight();
if(!pWidget)
continue;
- QString szTmp = pWidget->toolTip();
- szTmp = szTmp.replace(QRegExp("<[^<>]+>"), "");
- szText.append(szTmp);
- if(!szText.isEmpty())
+ if(bCleaningUp)
{
- bool bOk = true;
- for(int j = 0; j < lKeywords.count(); j++)
+ QFont font = pWidget->font();
+ font.setBold(false);
+ font.setUnderline(false);
+ pWidget->setFont(font);
+ }
+ else
+ {
+ QString szTmp = pWidget->toolTip();
+ szTmp = szTmp.replace(QRegExp("<[^<>]+>"), "");
+ szText.append(szTmp);
+ if(!szText.isEmpty())
{
- if(szText.indexOf(lKeywords.at(j), 0, Qt::CaseInsensitive) == -1)
+ bool bOk = true;
+ for(int j = 0; j < lKeywords.count(); j++)
{
- bOk = false;
- break;
+ if(szText.indexOf(lKeywords.at(j), 0, Qt::CaseInsensitive) == -1)
+ {
+ bOk = false;
+ break;
+ }
}
+ if(bOk)
+ {
+ bFoundSomethingHere = true;
+ }
+ QFont font = pWidget->font();
+ font.setBold(bOk);
+ font.setUnderline(bOk);
+ pWidget->setFont(font);
}
- if(bOk)
- {
- bFoundSomethingHere = true;
- }
- QFont font = pWidget->font();
- font.setBold(bOk);
- font.setUnderline(bOk);
- pWidget->setFont(font);
}
}
}
@@ -369,6 +380,7 @@ bool OptionsDialog::recursiveSearch(OptionsDialogTreeWidgetItem * pItem, const Q
m_pWidgetStack->addWidget(pItem->m_pOptionsWidget);
}
+ bool bCleaningUp = lKeywords.isEmpty();
bool bFoundSomethingHere = false;
KviOptionsWidget * pOptionsWidget = pItem->m_pOptionsWidget;
QTabWidget * pTab = pOptionsWidget->tabWidget();
@@ -377,12 +389,12 @@ bool OptionsDialog::recursiveSearch(OptionsDialogTreeWidgetItem * pItem, const Q
for(int i = 0; i < pTab->count(); i++)
{
QString szTxt = pTab->tabText(i);
- if(KviQString::equalCIN(szTxt, ">>> ", 4))
+ if(bCleaningUp || KviQString::equalCIN(szTxt, ">>> ", 4))
{
szTxt.replace(">>> ", "");
szTxt.replace(" <<<", "");
}
- if(searchInSelectors((KviOptionsWidget *)pTab->widget(i), lKeywords))
+ if(searchInSelectors((KviOptionsWidget *)pTab->widget(i), lKeywords) && !bCleaningUp)
{
bFoundSomethingHere = true;
szTxt.insert(0, ">>> ");
@@ -393,18 +405,21 @@ bool OptionsDialog::recursiveSearch(OptionsDialogTreeWidgetItem * pItem, const Q
}
else
{
- if(searchInSelectors(pOptionsWidget, lKeywords))
+ if(searchInSelectors(pOptionsWidget, lKeywords) && !bCleaningUp)
bFoundSomethingHere = true;
}
- QStringList szInstanceKeywords = pItem->m_pInstanceEntry->szKeywords.split(QChar(','));
- // debug all the "search keywords" for each entry in the options tree
- // qDebug("OPT %s",pItem->m_pInstanceEntry->szKeywords.toUtf8().data());
+ if (!bCleaningUp)
+ {
+ QStringList szInstanceKeywords = pItem->m_pInstanceEntry->szKeywords.split(QChar(','));
+ // debug all the "search keywords" for each entry in the options tree
+ // qDebug("OPT %s",pItem->m_pInstanceEntry->szKeywords.toUtf8().data());
- for(int i = 0; i < szInstanceKeywords.count() && !bFoundSomethingHere; i++)
- for(int j = 0; j < lKeywords.count() && !bFoundSomethingHere; j++)
- if(szInstanceKeywords.at(i).contains(lKeywords.at(j), Qt::CaseInsensitive))
- bFoundSomethingHere = true;
+ for(int i = 0; i < szInstanceKeywords.count() && !bFoundSomethingHere; i++)
+ for(int j = 0; j < lKeywords.count() && !bFoundSomethingHere; j++)
+ if(szInstanceKeywords.at(i).contains(lKeywords.at(j), Qt::CaseInsensitive))
+ bFoundSomethingHere = true;
+ }
if(bFoundSomethingHere)
{
@@ -424,7 +439,7 @@ bool OptionsDialog::recursiveSearch(OptionsDialogTreeWidgetItem * pItem, const Q
for(int j = 0; j < ccount; j++)
{
OptionsDialogTreeWidgetItem * pChild = (OptionsDialogTreeWidgetItem *)pItem->child(j);
- bool bRet = recursiveSearch(pChild, lKeywords);
+ bool bRet = recursiveSearch(pChild, lKeywords) && !bCleaningUp;
if(bRet)
bFoundSomethingInside = true;
}
@@ -455,11 +470,27 @@ void OptionsDialog::search(const QString & szKeywords)
search(lKeywords);
}
+void OptionsDialog::clearSearch()
+{
+ m_pTreeWidget->setUpdatesEnabled(false);
+
+ QTreeWidgetItemIterator it(m_pTreeWidget);
+ while (*it) {
+ recursiveSearch(((OptionsDialogTreeWidgetItem *)* it), QStringList());
+ ++it;
+ }
+
+ m_pTreeWidget->setUpdatesEnabled(true);
+ m_pTreeWidget->update();
+}
+
void OptionsDialog::searchClicked()
{
QString szTxt = m_pSearchLineEdit->text().trimmed();
- if(!szTxt.isEmpty())
+ if(szTxt.length() > 1)
search(szTxt);
+ else
+ clearSearch();
}
void OptionsDialog::fillTreeWidget(QTreeWidgetItem * p, KviPointerList<OptionsWidgetInstanceEntry> * l, const QString & szGroup, bool bNotContainedOnly)
diff --git a/src/modules/options/OptionsDialog.h b/src/modules/options/OptionsDialog.h
index 1d2cc912b..8af5e1048 100644
--- a/src/modules/options/OptionsDialog.h
+++ b/src/modules/options/OptionsDialog.h
@@ -93,10 +93,11 @@ private slots:
protected:
void apply(bool bDialogAboutToClose);
- virtual void closeEvent(QCloseEvent * e);
- virtual void keyPressEvent(QKeyEvent * e);
- virtual void showEvent(QShowEvent * e);
+ void closeEvent(QCloseEvent * e) override;
+ void keyPressEvent(QKeyEvent * e) override;
+ void showEvent(QShowEvent * e) override;
bool recursiveSearch(OptionsDialogTreeWidgetItem * pItem, const QStringList & lKeywords);
+ void clearSearch();
bool searchInSelectors(KviOptionsWidget * pWidget, const QStringList & lKeywords);
public:
diff --git a/src/modules/options/OptionsInstanceManager.cpp b/src/modules/options/OptionsInstanceManager.cpp
index 41ed5ae04..36291b24a 100644
--- a/src/modules/options/OptionsInstanceManager.cpp
+++ b/src/modules/options/OptionsInstanceManager.cpp
@@ -3712,7 +3712,7 @@ KviOptionsWidget * OptionsInstanceManager::getInstance(OptionsWidgetInstanceEntr
QWidget * pOldPar = (QWidget *)pEntry->pWidget->parent();
pEntry->pWidget->setParent(pPar);
pOldPar->deleteLater();
- pEntry->pWidget = 0;
+ pEntry->pWidget = nullptr;
}
}
#endif
diff --git a/src/modules/options/OptionsInstanceManager.h b/src/modules/options/OptionsInstanceManager.h
index 6f52d928d..0abe1d811 100644
--- a/src/modules/options/OptionsInstanceManager.h
+++ b/src/modules/options/OptionsInstanceManager.h
@@ -39,9 +39,7 @@
#include "KviQString.h"
#include "KviIconManager.h"
-typedef struct _OptionsWidgetInstanceEntry OptionsWidgetInstanceEntry;
-
-typedef struct _OptionsWidgetInstanceEntry
+struct OptionsWidgetInstanceEntry
{
KviOptionsWidget * (*createProc)(QWidget *);
KviOptionsWidget * pWidget; // singleton
@@ -57,7 +55,7 @@ typedef struct _OptionsWidgetInstanceEntry
bool bIsNotContained;
KviPointerList<OptionsWidgetInstanceEntry> * pChildList;
bool bDoInsert; // a helper for OptionsDialog::fillListView()
-} OptionsWidgetInstanceEntry;
+};
class OptionsInstanceManager : public QObject
{
diff --git a/src/modules/options/OptionsWidgetContainer.cpp b/src/modules/options/OptionsWidgetContainer.cpp
index 2fa75fb7d..6ff3e5e31 100644
--- a/src/modules/options/OptionsWidgetContainer.cpp
+++ b/src/modules/options/OptionsWidgetContainer.cpp
@@ -48,8 +48,6 @@ OptionsWidgetContainer::OptionsWidgetContainer(QWidget * par, bool bModal)
setObjectName("container");
- m_pOptionsWidget = nullptr;
-
if(bModal)
setWindowModality(par ? Qt::WindowModal : Qt::ApplicationModal);
}
diff --git a/src/modules/options/OptionsWidgetContainer.h b/src/modules/options/OptionsWidgetContainer.h
index 5f26c2f5d..17328c12d 100644
--- a/src/modules/options/OptionsWidgetContainer.h
+++ b/src/modules/options/OptionsWidgetContainer.h
@@ -28,8 +28,8 @@
#include <QDialog>
-class QPushButton;
class QGridLayout;
+class QPushButton;
class OptionsWidgetContainer : public QDialog
{
@@ -39,9 +39,9 @@ public:
~OptionsWidgetContainer();
protected:
- KviOptionsWidget * m_pOptionsWidget;
- QPushButton * m_pCancel;
- QGridLayout * m_pLayout;
+ KviOptionsWidget * m_pOptionsWidget = nullptr;
+ QPushButton * m_pCancel = nullptr;
+ QGridLayout * m_pLayout = nullptr;
public:
void setup(KviOptionsWidget * w);
@@ -49,10 +49,10 @@ public:
void setNextToLeft(QWidget * pWidget);
protected:
- virtual void closeEvent(QCloseEvent * e);
- virtual void showEvent(QShowEvent * e);
- virtual void childEvent(QChildEvent * e);
- virtual void reject();
+ void closeEvent(QCloseEvent * e) override;
+ void showEvent(QShowEvent * e) override;
+ void childEvent(QChildEvent * e) override;
+ void reject() override;
protected slots:
void okClicked();
void cancelClicked();
diff --git a/src/modules/options/OptionsWidget_connection.cpp b/src/modules/options/OptionsWidget_connection.cpp
index bed814aa0..60fdce129 100644
--- a/src/modules/options/OptionsWidget_connection.cpp
+++ b/src/modules/options/OptionsWidget_connection.cpp
@@ -182,7 +182,10 @@ OptionsWidget_connectionSocket::OptionsWidget_connectionSocket(QWidget * parent)
"you want to rely on the DNS server to provide the best choice.",
"options"));
- addRowSpacer(0, 5, 0, 5);
+ b = addBoolSelector(0, 5, 0, 5, __tr2qs_ctx("Drop connection on SASL authentication failure", "options"), KviOption_boolDropConnectionOnSaslFailure);
+ mergeTip(b, __tr2qs_ctx("This option will close the socket if no SASL authentication or any SASL fallback had succeeded.", "options"));
+
+ addRowSpacer(0, 6, 0, 6);
}
OptionsWidget_connectionSocket::~OptionsWidget_connectionSocket()
diff --git a/src/modules/options/OptionsWidget_identity.cpp b/src/modules/options/OptionsWidget_identity.cpp
index 6efc60b7a..5d7c5bf76 100644
--- a/src/modules/options/OptionsWidget_identity.cpp
+++ b/src/modules/options/OptionsWidget_identity.cpp
@@ -515,7 +515,7 @@ OptionsWidget_identityAvatar::~OptionsWidget_identityAvatar()
delete m_pLocalAvatar;
}
-void OptionsWidget_identityAvatar::commit(void)
+void OptionsWidget_identityAvatar::commit()
{
KviOptionsWidget::commit();
diff --git a/src/modules/options/OptionsWidget_identity.h b/src/modules/options/OptionsWidget_identity.h
index 6193ad09a..f06a02db0 100644
--- a/src/modules/options/OptionsWidget_identity.h
+++ b/src/modules/options/OptionsWidget_identity.h
@@ -70,7 +70,7 @@ protected:
QString m_szAvatarName;
protected:
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
const QString & avatarName() { return m_szAvatarName; };
protected slots:
void okClicked();
@@ -94,7 +94,7 @@ protected:
QString m_szUrl;
protected:
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
const QString & localFileName() { return m_szLocalFileName; };
const QString & errorMessage() { return m_szErrorMessage; };
protected slots:
@@ -161,7 +161,7 @@ protected slots:
void setNickAlternatives();
protected:
- virtual void commit();
+ void commit() override;
};
#define KVI_OPTIONS_WIDGET_ICON_OptionsWidget_identityAvatar KviIconManager::Avatar
@@ -186,7 +186,7 @@ protected slots:
void chooseAvatar();
protected:
- virtual void commit();
+ void commit() override;
};
#define KVI_OPTIONS_WIDGET_ICON_OptionsWidget_identityAdvanced KviIconManager::Gui
diff --git a/src/modules/options/OptionsWidget_input.cpp b/src/modules/options/OptionsWidget_input.cpp
index 870e23ab3..e56881b12 100644
--- a/src/modules/options/OptionsWidget_input.cpp
+++ b/src/modules/options/OptionsWidget_input.cpp
@@ -148,21 +148,24 @@ OptionsWidget_inputFeatures::OptionsWidget_inputFeatures(QWidget * parent)
u->setSuffix(__tr2qs_ctx(" spaces", "options"));
KviTalGroupBox * g = addGroupBox(0, 6, 0, 6, Qt::Horizontal, __tr2qs_ctx("Nick Completion", "options"));
- KviBoolSelector *b, *c;
+ KviBoolSelector *b, *c, *d;
b = addBoolSelector(g, __tr2qs_ctx("Use bash-like nick completion", "options"), KviOption_boolBashLikeNickCompletion, !KVI_OPTION_BOOL(KviOption_boolZshLikeNickCompletion));
c = addBoolSelector(g, __tr2qs_ctx("Use zsh-like nick completion", "options"), KviOption_boolZshLikeNickCompletion, !KVI_OPTION_BOOL(KviOption_boolBashLikeNickCompletion));
+ d = addBoolSelector(g, __tr2qs_ctx("Prioritize nick completion by last action time", "options"), KviOption_boolPrioritizeLastActionTime);
connect(b, SIGNAL(toggled(bool)), c, SLOT(setDisabled(bool)));
+ connect(b, SIGNAL(toggled(bool)), d, SLOT(setDisabled(bool)));
connect(c, SIGNAL(toggled(bool)), b, SLOT(setDisabled(bool)));
+ connect(c, SIGNAL(toggled(bool)), d, SLOT(setDisabled(bool)));
addStringSelector(g, __tr2qs_ctx("Nick completion postfix string:", "options"), KviOption_stringNickCompletionPostfix);
addBoolSelector(g, __tr2qs_ctx("Use the completion postfix string for the first word only", "options"), KviOption_boolUseNickCompletionPostfixForFirstWordOnly);
addBoolSelector(g, __tr2qs_ctx("Ignore special characters in nick completion", "options"), KviOption_boolIgnoreSpecialCharactersInNickCompletion);
- KviBoolSelector * d = addBoolSelector(0, 7, 0, 7, __tr2qs_ctx("Use a custom cursor width", "options"), KviOption_boolEnableCustomCursorWidth);
+ KviBoolSelector * e = addBoolSelector(0, 7, 0, 7, __tr2qs_ctx("Use a custom cursor width", "options"), KviOption_boolEnableCustomCursorWidth);
KviUIntSelector * f = addUIntSelector(0, 8, 0, 8, __tr2qs_ctx("Custom cursor width:", "options"), KviOption_uintCustomCursorWidth, 1, 24, 8, KVI_OPTION_BOOL(KviOption_boolEnableCustomCursorWidth));
f->setSuffix(__tr2qs_ctx(" pixels", "options"));
- connect(d, SIGNAL(toggled(bool)), f, SLOT(setEnabled(bool)));
+ connect(e, SIGNAL(toggled(bool)), f, SLOT(setEnabled(bool)));
addRowSpacer(0, 9, 0, 9);
}
diff --git a/src/modules/options/OptionsWidget_interfaceFeatures.cpp b/src/modules/options/OptionsWidget_interfaceFeatures.cpp
index aff19dc3b..27e04300b 100644
--- a/src/modules/options/OptionsWidget_interfaceFeatures.cpp
+++ b/src/modules/options/OptionsWidget_interfaceFeatures.cpp
@@ -32,7 +32,7 @@
#include <QLayout>
#include <QLabel>
-#include <string.h>
+#include <cstring>
OptionsWidget_interfaceFeatures::OptionsWidget_interfaceFeatures(QWidget * parent)
: KviOptionsWidget(parent)
@@ -40,8 +40,6 @@ OptionsWidget_interfaceFeatures::OptionsWidget_interfaceFeatures(QWidget * paren
setObjectName("interfacefeatures_options_widget");
createLayout();
- KviTalGroupBox * g;
-
addBoolSelector(0, 0, 0, 0, __tr2qs_ctx("Minimize application on startup", "options"), KviOption_boolStartupMinimized);
addBoolSelector(0, 1, 0, 1, __tr2qs_ctx("Confirm quit with active connections", "options"), KviOption_boolConfirmCloseWhenThereAreConnections);
addBoolSelector(0, 2, 0, 2, __tr2qs_ctx("Remember window properties", "options"), KviOption_boolWindowsRememberProperties);
diff --git a/src/modules/options/OptionsWidget_message.cpp b/src/modules/options/OptionsWidget_message.cpp
index d9fa9cd85..2755bedfe 100644
--- a/src/modules/options/OptionsWidget_message.cpp
+++ b/src/modules/options/OptionsWidget_message.cpp
@@ -73,14 +73,21 @@ OptionsWidget_privmsg::OptionsWidget_privmsg(QWidget * parent)
m_pUseSmartColorSelector = addBoolSelector(g, __tr2qs_ctx("Smart nickname colors", "options"), KviOption_boolColorNicks);
+ connect(m_pUseSmartColorSelector, SIGNAL(toggled(bool)), this, SLOT(enableDisableSmartColorSelector(bool)));
+
+ m_pUseSmartColorWithBackgroundSelector = addBoolSelector(g, __tr2qs_ctx("Use a background color for smart nickname colors", "options"), KviOption_boolColorNicksWithBackground, KVI_OPTION_BOOL(KviOption_boolColorNicks));
+
KviTalHBox * hb = new KviTalHBox(g);
hb->setSpacing(4);
- m_pSpecialSmartColorSelector = addBoolSelector(hb, __tr2qs_ctx("Use specified colors for own nick:", "options"), KviOption_boolUseSpecifiedSmartColorForOwnNick, KVI_OPTION_BOOL(KviOption_boolColorNicks));
+ m_pSpecialSmartColorSelector = addBoolSelector(hb, __tr2qs_ctx("Use specified smart colors for own nick:", "options"), KviOption_boolUseSpecifiedSmartColorForOwnNick, KVI_OPTION_BOOL(KviOption_boolColorNicks));
m_pSmartColorSelector = addMircTextColorSelector(hb, "", KviOption_uintUserIrcViewOwnForeground, KviOption_uintUserIrcViewOwnBackground, KVI_OPTION_BOOL(KviOption_boolColorNicks) && KVI_OPTION_BOOL(KviOption_boolUseSpecifiedSmartColorForOwnNick));
connect(m_pSpecialSmartColorSelector, SIGNAL(toggled(bool)), this, SLOT(enableDisableSmartColorSelector(bool)));
connect(m_pUseSmartColorSelector, SIGNAL(toggled(bool)), m_pSpecialSmartColorSelector, SLOT(setEnabled(bool)));
+ connect(m_pUseSmartColorSelector, SIGNAL(toggled(bool)), m_pUseSmartColorWithBackgroundSelector, SLOT(setEnabled(bool)));
+
+ enableDisableSmartColorSelector(true);
KviBoolSelector * b2 = addBoolSelector(g, __tr2qs_ctx("Use same colors as in the userlist", "options"), KviOption_boolUseUserListColorsAsNickColors, !KVI_OPTION_BOOL(KviOption_boolColorNicks));
connect(m_pUseSmartColorSelector, SIGNAL(toggled(bool)), b2, SLOT(setNotEnabled(bool)));
@@ -116,7 +123,7 @@ OptionsWidget_privmsg::OptionsWidget_privmsg(QWidget * parent)
void OptionsWidget_privmsg::enableDisableSmartColorSelector(bool)
{
- m_pSmartColorSelector->setEnabled(m_pUseSmartColorSelector->isChecked() && m_pUseSmartColorSelector->isChecked());
+ m_pSmartColorSelector->setEnabled(m_pSpecialSmartColorSelector->isChecked() && m_pUseSmartColorSelector->isChecked());
}
OptionsWidget_privmsg::~OptionsWidget_privmsg()
@@ -272,15 +279,15 @@ void MessageListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionViewIt
p->drawPixmap(pt, *(g_pIconManager->getSmallIcon(it->msgType()->pixId())));
pt.setX(pt.x() + 18);
// draw the background
- if(it->msgType()->back() < 16)
+ if(it->msgType()->back() <= KVI_EXTCOLOR_MAX)
{
- QColor bColor = KVI_OPTION_MIRCCOLOR(it->msgType()->back());
+ QColor bColor = getMircColor(it->msgType()->back());
p->fillRect(pt.x(), pt.y(), opt.rect.width() - pt.x(), opt.rect.height(), bColor);
}
unsigned char ucFore = it->msgType()->fore();
- if(ucFore > 15)
+ if(ucFore > KVI_EXTCOLOR_MAX)
ucFore = 0;
- p->setPen(QPen(KVI_OPTION_MIRCCOLOR(ucFore)));
+ p->setPen(QPen(getMircColor(ucFore)));
pt.setX(pt.x() + 2);
p->drawText(pt.x(), pt.y(), opt.rect.width() - pt.x(), opt.rect.height(), Qt::AlignLeft | Qt::AlignVCenter, szText);
@@ -305,14 +312,14 @@ MessageColorListWidgetItem::MessageColorListWidgetItem(KviTalListWidget * b, int
{
m_iClrIdx = idx;
- if((idx < 0) || (idx > 15))
+ if((idx < 0) || (idx > KVI_EXTCOLOR_MAX))
{
setText(__tr2qs_ctx("Transparent", "options"));
setBackground(listWidget()->isEnabled() ? Qt::transparent : Qt::gray);
}
else
{
- setBackground(QColor(KVI_OPTION_MIRCCOLOR(m_iClrIdx)));
+ setBackground(QColor(getMircColor(m_iClrIdx)));
setText(" ");
}
}
@@ -329,9 +336,9 @@ void MessageColorListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionV
const KviTalListWidget * lb = (const KviTalListWidget *)parent();
MessageColorListWidgetItem * it = static_cast<MessageColorListWidgetItem *>(index.internalPointer());
- if((it->clrIdx() >= 0) && (it->clrIdx() <= 15))
+ if((it->clrIdx() >= 0) && (it->clrIdx() <= KVI_EXTCOLOR_MAX))
{
- clr = KVI_OPTION_MIRCCOLOR(it->clrIdx());
+ clr = getMircColor(it->clrIdx());
}
else
{
@@ -630,9 +637,7 @@ void OptionsWidget_messageColors::load()
//qDebug("SYMLINKING %s to %s",szGlobal.ptr(),szLocal.ptr());
//qDebug("SYMLINK RETURNS %d (%d)",::symlink(szGlobal.ptr(),szLocal.ptr()));
//qDebug("ERRNO (%d)",errno);
- int dummy; // make gcc happy
- dummy = symlink(szGlobal.toLocal8Bit().data(), szLocal.toLocal8Bit().data());
- Q_UNUSED(dummy);
+ (void)symlink(szGlobal.toLocal8Bit().data(), szLocal.toLocal8Bit().data());
// FIXME: Do it also on windows...
#endif
diff --git a/src/modules/options/OptionsWidget_message.h b/src/modules/options/OptionsWidget_message.h
index b080edc79..9652a7b0c 100644
--- a/src/modules/options/OptionsWidget_message.h
+++ b/src/modules/options/OptionsWidget_message.h
@@ -66,6 +66,7 @@ public:
public:
KviBoolSelector * m_pUseSmartColorSelector;
KviBoolSelector * m_pSpecialSmartColorSelector;
+ KviBoolSelector * m_pUseSmartColorWithBackgroundSelector;
KviMircTextColorSelector * m_pSmartColorSelector;
protected slots:
void enableDisableSmartColorSelector(bool);
@@ -112,7 +113,7 @@ class MessageListWidgetItemDelegate : public QItemDelegate
{
Q_OBJECT
public:
- MessageListWidgetItemDelegate(QAbstractItemView * pWidget = 0)
+ MessageListWidgetItemDelegate(QAbstractItemView * pWidget = nullptr)
: QItemDelegate(pWidget){};
~MessageListWidgetItemDelegate(){};
void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const;
@@ -129,8 +130,8 @@ private:
KviMessageTypeSettings * m_pMsgType;
public:
- inline int optionId() { return m_iOptId; };
- inline KviMessageTypeSettings * msgType() { return m_pMsgType; };
+ int optionId() const { return m_iOptId; }
+ KviMessageTypeSettings * msgType() const { return m_pMsgType; }
};
class MessageColorListWidgetItem : public KviTalListWidgetText
@@ -143,14 +144,14 @@ public:
int m_iClrIdx;
public:
- inline int clrIdx() { return m_iClrIdx; };
+ int clrIdx() const { return m_iClrIdx; }
};
class MessageColorListWidgetItemDelegate : public QItemDelegate
{
Q_OBJECT
public:
- MessageColorListWidgetItemDelegate(QAbstractItemView * pWidget = 0)
+ MessageColorListWidgetItemDelegate(QAbstractItemView * pWidget = nullptr)
: QItemDelegate(pWidget){};
~MessageColorListWidgetItemDelegate(){};
void paint(QPainter * p, const QStyleOptionViewItem & opt, const QModelIndex & index) const;
diff --git a/src/modules/options/OptionsWidget_servers.cpp b/src/modules/options/OptionsWidget_servers.cpp
index af11bb343..3e93b93c3 100644
--- a/src/modules/options/OptionsWidget_servers.cpp
+++ b/src/modules/options/OptionsWidget_servers.cpp
@@ -55,6 +55,7 @@
#include "KviPointerHashTable.h"
#include "KviTalToolTip.h"
#include "KviIrcNetwork.h"
+#include "KviSASL.h"
#include <QLineEdit>
#include <QCursor>
@@ -901,19 +902,33 @@ IrcServerDetailsWidget::IrcServerDetailsWidget(QWidget * par, KviIrcServer * s)
m_pEnableSASLCheck->setChecked(s->enabledSASL());
- l = new QLabel(__tr2qs_ctx("SASL nickname:", "options"), pSASLGroup);
+ l = new QLabel(__tr2qs_ctx("SASL method:", "options"), pSASLGroup);
pSASLLayout->addWidget(l, 1, 0);
+ m_pSaslMethodComboBox = new QComboBox(pSASLGroup);
+ m_pSaslMethodComboBox->setDuplicatesEnabled(false);
+ for(auto&& method : KviSASL::supportedMethods())
+ m_pSaslMethodComboBox->addItem(method);
+ KviTalToolTip::add(m_pSaslMethodComboBox, __tr2qs_ctx("Select which SASL method you want to use to authenticate with.<br><br>"
+ "EXTERNAL will fallback to PLAIN if a non-SSL connection is used or no .pem file is loaded.", "options"));
+ pSASLLayout->addWidget(m_pSaslMethodComboBox, 1, 1);
+
+ int index = m_pSaslMethodComboBox->findText(s->saslMethod());
+ if(index != -1)
+ m_pSaslMethodComboBox->setCurrentIndex(index);
+
+ l = new QLabel(__tr2qs_ctx("SASL nickname:", "options"), pSASLGroup);
+ pSASLLayout->addWidget(l, 2, 0);
m_pSaslNickEditor = new QLineEdit(pSASLGroup);
m_pSaslNickEditor->setText(s->saslNick());
- KviTalToolTip::add(m_pSaslNickEditor, __tr2qs_ctx("If you want to enable SASL authentication, insert your nickname here.", "options"));
- pSASLLayout->addWidget(m_pSaslNickEditor, 1, 1);
+ KviTalToolTip::add(m_pSaslNickEditor, __tr2qs_ctx("If you want to enable SASL authentication, insert your nickname here. (Not required for EXTERNAL)", "options"));
+ pSASLLayout->addWidget(m_pSaslNickEditor, 2, 1);
l = new QLabel(__tr2qs_ctx("SASL password:", "options"), pSASLGroup);
- pSASLLayout->addWidget(l, 2, 0);
- m_pSaslPassEditor = new KviPasswordLineEdit(pSASLGroup); // <---- ?????
+ pSASLLayout->addWidget(l, 3, 0);
+ m_pSaslPassEditor = new KviPasswordLineEdit(pSASLGroup);
m_pSaslPassEditor->setText(s->saslPass());
- KviTalToolTip::add(m_pSaslPassEditor, __tr2qs_ctx("If you want to enable SASL authentication, insert your password here.", "options"));
- pSASLLayout->addWidget(m_pSaslPassEditor, 2, 1);
+ KviTalToolTip::add(m_pSaslPassEditor, __tr2qs_ctx("If you want to enable SASL authentication, insert your password here. (Not required for EXTERNAL)", "options"));
+ pSASLLayout->addWidget(m_pSaslPassEditor, 3, 1);
pSASLGroup->setEnabled(s->enabledCAP());
connect(m_pEnableCAPCheck, SIGNAL(toggled(bool)), pSASLGroup, SLOT(setEnabled(bool)));
@@ -1115,10 +1130,11 @@ void IrcServerDetailsWidget::fillData(KviIrcServer * s)
if(m_pEnableSTARTTLSCheck)
s->setEnabledSTARTTLS(m_pEnableSTARTTLSCheck->isChecked());
+ s->setSaslMethod(m_pSaslMethodComboBox->currentText());
s->setSaslNick(m_pSaslNickEditor->text());
s->setSaslPass(m_pSaslPassEditor->text());
if(m_pEnableSASLCheck)
- s->setEnabledSASL(m_pEnableSASLCheck->isChecked() && !m_pSaslNickEditor->text().isEmpty() && !m_pSaslPassEditor->text().isEmpty());
+ s->setEnabledSASL(m_pEnableSASLCheck->isChecked() && ((!m_pSaslNickEditor->text().isEmpty() && !m_pSaslPassEditor->text().isEmpty()) || (m_pSaslMethodComboBox->currentText() == QStringLiteral("EXTERNAL"))));
if(m_pIdEditor)
s->setId(m_pIdEditor->text());
if(s->id().isEmpty())
@@ -2069,7 +2085,7 @@ void OptionsWidget_servers::updateFavoritesFilter(bool bSet)
{
m_bShowingFavoritesOnly = bSet;
IrcServerOptionsTreeWidgetItem * network;
- for(unsigned i = 0; i < m_pTreeWidget->topLevelItemCount(); i++)
+ for(int i = 0; i < m_pTreeWidget->topLevelItemCount(); i++)
{
network = static_cast<IrcServerOptionsTreeWidgetItem *>(m_pTreeWidget->topLevelItem(i));
uint uServers = 0;
diff --git a/src/modules/options/OptionsWidget_servers.h b/src/modules/options/OptionsWidget_servers.h
index b6a2fdb68..483a01777 100644
--- a/src/modules/options/OptionsWidget_servers.h
+++ b/src/modules/options/OptionsWidget_servers.h
@@ -154,6 +154,7 @@ protected:
QLineEdit * m_pPortEditor;
QStringList m_lstChannels;
KviChannelListSelector * m_pChannelListSelector;
+ QComboBox * m_pSaslMethodComboBox;
QComboBox * m_pProxyEditor;
protected slots:
@@ -193,18 +194,15 @@ protected:
QMenu * m_pImportPopup;
KviIrcServer * m_pClipboard;
QPushButton * m_pConnectCurrent;
- QPushButton * m_pConnectNew;
IrcServerOptionsTreeWidgetItem * m_pLastEditedItem;
IrcServerDetailsWidget * m_pServerDetailsDialog;
IrcNetworkDetailsWidget * m_pNetworkDetailsDialog;
KviMexServerImport * m_pImportFilter;
KviBoolSelector * m_pShowThisDialogAtStartupSelector;
- KviBoolSelector * m_pShowFavoritesOnly;
QToolButton * m_pNewServerButton;
QToolButton * m_pNewNetworkButton;
QToolButton * m_pRemoveButton;
- QToolButton * m_pFavoriteServer;
QToolButton * m_pCopyServerButton;
QToolButton * m_pPasteServerButton;
QToolButton * m_pImportButton;
diff --git a/src/modules/options/OptionsWidget_sound.cpp b/src/modules/options/OptionsWidget_sound.cpp
index e5c72ef1f..4b84b3e41 100644
--- a/src/modules/options/OptionsWidget_sound.cpp
+++ b/src/modules/options/OptionsWidget_sound.cpp
@@ -218,25 +218,18 @@ void OptionsWidget_soundGeneral::mediaAutoDetect()
void OptionsWidget_soundGeneral::soundFillBox()
{
QStringList l;
- QStringList::Iterator it;
- int cnt;
- int i;
+ unsigned int cnt, i;
KviModule * m = g_pModuleManager->getModule("snd");
- if(!m)
- goto disable;
-
- if(!m->ctrl("getAvailableSoundSystems", &l))
+ if(!m || !m->ctrl("getAvailableSoundSystems", &l))
goto disable;
m_pSoundSystemBox->clear();
- for(it = l.begin(); it != l.end(); ++it)
- {
- m_pSoundSystemBox->addItem(*it);
- }
- cnt = m_pSoundSystemBox->count();
+ for(const auto& it : l)
+ m_pSoundSystemBox->addItem(it);
+ cnt = m_pSoundSystemBox->count();
for(i = 0; i < cnt; i++)
{
QString t = m_pSoundSystemBox->itemText(i);
@@ -258,22 +251,18 @@ disable:
void OptionsWidget_soundGeneral::mediaFillBox()
{
QStringList l;
- QStringList::Iterator it;
- int cnt;
- int i;
+ unsigned int cnt, i;
KviModule * m = g_pModuleManager->getModule("mediaplayer");
- if(!m)
- goto disable;
- if(!m->ctrl("getAvailableMediaPlayers", &l))
+ if(!m || !m->ctrl("getAvailableMediaPlayers", &l))
goto disable;
+
m_pMediaPlayerBox->clear();
- for(it = l.begin(); it != l.end(); ++it)
- {
- m_pMediaPlayerBox->addItem(*it);
- }
- cnt = m_pMediaPlayerBox->count();
+ for(const auto& it : l)
+ m_pMediaPlayerBox->addItem(it);
+
+ cnt = m_pMediaPlayerBox->count();
for(i = 0; i < cnt; i++)
{
QString t = m_pMediaPlayerBox->itemText(i);
diff --git a/src/modules/options/OptionsWidget_sound.h b/src/modules/options/OptionsWidget_sound.h
index 06f7c2920..82e1abb8e 100644
--- a/src/modules/options/OptionsWidget_sound.h
+++ b/src/modules/options/OptionsWidget_sound.h
@@ -72,8 +72,8 @@ protected:
protected:
void soundFillBox();
void mediaFillBox();
- virtual void commit();
- virtual void showEvent(QShowEvent * e);
+ void commit() override;
+ void showEvent(QShowEvent * e) override;
protected slots:
void soundTest();
void soundAutoDetect();
diff --git a/src/modules/options/OptionsWidget_textIcons.h b/src/modules/options/OptionsWidget_textIcons.h
index e1b78f2ba..bcfcfc80b 100644
--- a/src/modules/options/OptionsWidget_textIcons.h
+++ b/src/modules/options/OptionsWidget_textIcons.h
@@ -67,7 +67,7 @@ public:
protected:
QTableWidget * m_pTable;
int m_iLastEditedRow;
- TextIconTableItem * m_pCurrentItem;
+ TextIconTableItem * m_pCurrentItem = nullptr;
QPushButton * m_pAdd;
QPushButton * m_pDel;
QPushButton * m_pRestore;
diff --git a/src/modules/options/OptionsWidget_userList.cpp b/src/modules/options/OptionsWidget_userList.cpp
index a1d0e2aa0..c43becd72 100644
--- a/src/modules/options/OptionsWidget_userList.cpp
+++ b/src/modules/options/OptionsWidget_userList.cpp
@@ -223,7 +223,7 @@ OptionsWidget_userListFeatures::OptionsWidget_userListFeatures(QWidget * parent)
KviUIntSelector * u;
- u = addUIntSelector(0, 0, 0, 0, __tr2qs_ctx("Minimum width:", "options"), KviOption_uintUserListMinimumWidth, 100, 1024, 150);
+ u = addUIntSelector(0, 0, 0, 0, __tr2qs_ctx("Minimum width:", "options"), KviOption_uintUserListMinimumWidth, 50, 1024, 150);
u->setSuffix(__tr2qs_ctx(" pixels", "options"));
mergeTip(u, __tr2qs_ctx("Here you can select a desired minimum width for the userlist when visible. "
"Suggested values range between 120 and 170 pixels. "
diff --git a/src/modules/options/OptionsWidget_windowList.cpp b/src/modules/options/OptionsWidget_windowList.cpp
index 3367b569c..9842e7ac5 100644
--- a/src/modules/options/OptionsWidget_windowList.cpp
+++ b/src/modules/options/OptionsWidget_windowList.cpp
@@ -26,6 +26,7 @@
#include "kvi_settings.h"
#include "KviLocale.h"
+#define _WANT_OPTION_FLAGS_
#include "KviOptions.h"
OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent)
@@ -34,7 +35,14 @@ OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent)
setObjectName("windowlist_options_widget");
createLayout();
- addBoolSelector(0, 0, 0, 0, __tr2qs_ctx("Show tree window list", "options"), KviOption_boolUseTreeWindowList);
+ KviTalHBox * hbox = new KviTalHBox(this);
+ (void)new QLabel(__tr2qs_ctx("Window list type:", "options"), hbox);
+ m_pWindowListType = new QComboBox(hbox);
+ m_pWindowListType->addItem(__tr2qs_ctx("Tree", "options"));
+ m_pWindowListType->addItem(__tr2qs_ctx("Classic", "options"));
+ m_pWindowListType->setCurrentIndex(KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList) ? 0 : 1);
+ addWidgetToLayout(hbox, 0, 0, 0, 0);
+
addBoolSelector(0, 1, 0, 1, __tr2qs_ctx("Sort windows by name", "options"), KviOption_boolSortWindowListItemsByName);
addBoolSelector(0, 2, 0, 2, __tr2qs_ctx("Show window icons in window list", "options"), KviOption_boolUseWindowListIcons);
KviBoolSelector * b = addBoolSelector(0, 3, 0, 3, __tr2qs_ctx("Show activity meter in window list", "options"), KviOption_boolUseWindowListActivityMeter);
@@ -47,17 +55,26 @@ OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent)
"activity causes the indicator to be shaded blue.", "options"));
addBoolSelector(0, 4, 0, 4, __tr2qs_ctx("Show IRC context indicator in window list", "options"), KviOption_boolUseWindowListIrcContextIndicator);
- addBoolSelector(0, 5, 0, 5, __tr2qs_ctx("Show close button on window list items", "options"), KviOption_boolUseWindowListCloseButton);
- addBoolSelector(0, 6, 0, 6, __tr2qs_ctx("Enable window tooltips", "options"), KviOption_boolShowWindowListToolTips);
- addBoolSelector(0, 7, 0, 7, __tr2qs_ctx("Allow the window list to be moved", "options"), KviOption_boolShowTreeWindowListHandle);
- addBoolSelector(0, 8, 0, 8, __tr2qs_ctx("Show user flag for channels", "options"), KviOption_boolShowUserFlagForChannelsInWindowList);
+ addBoolSelector(0, 5, 0, 5, __tr2qs_ctx("Enable window tooltips", "options"), KviOption_boolShowWindowListToolTips);
+ addBoolSelector(0, 6, 0, 6, __tr2qs_ctx("Allow the window list to be moved", "options"), KviOption_boolShowTreeWindowListHandle);
+ addBoolSelector(0, 7, 0, 7, __tr2qs_ctx("Show user flag for channels", "options"), KviOption_boolShowUserFlagForChannelsInWindowList);
- addRowSpacer(0, 9, 0, 9);
+ addRowSpacer(0, 8, 0, 8);
}
OptionsWidget_windowList::~OptionsWidget_windowList()
= default;
+void OptionsWidget_windowList::commit()
+{
+ // we need to add this flag manually to the reset list because there's no other
+ // option in this options widget that uses it.
+ mergeResetFlag(KviOption_resetUpdateWindowList);
+ KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList) = (m_pWindowListType->currentIndex() == 0);
+
+ KviOptionsWidget::commit();
+}
+
OptionsWidget_windowListTree::OptionsWidget_windowListTree(QWidget * parent)
: KviOptionsWidget(parent)
{
@@ -235,8 +252,9 @@ OptionsWidget_windowListClassic::OptionsWidget_windowListClassic(QWidget * paren
u = addUIntSelector(0, 5, 0, 5, __tr2qs_ctx("Maximum width of buttons:", "options"), KviOption_uintClassicWindowListMaximumButtonWidth, 24, 9999, 100);
u->setSuffix(__tr2qs_ctx(" pixels", "options"));
addBoolSelector(0, 6, 0, 6, __tr2qs_ctx("Use flat buttons", "options"), KviOption_boolUseFlatClassicWindowListButtons);
+ addBoolSelector(0, 7, 0, 7, __tr2qs_ctx("Show close button on window list items", "options"), KviOption_boolUseWindowListCloseButton);
- addRowSpacer(0, 7, 0, 7);
+ addRowSpacer(0, 8, 0, 8);
}
OptionsWidget_windowListClassic::~OptionsWidget_windowListClassic()
diff --git a/src/modules/options/OptionsWidget_windowList.h b/src/modules/options/OptionsWidget_windowList.h
index c666f8a62..a7fcbe88e 100644
--- a/src/modules/options/OptionsWidget_windowList.h
+++ b/src/modules/options/OptionsWidget_windowList.h
@@ -40,6 +40,12 @@ class OptionsWidget_windowList : public KviOptionsWidget
public:
OptionsWidget_windowList(QWidget * parent);
~OptionsWidget_windowList();
+
+protected:
+ void commit() override;
+
+private:
+ QComboBox * m_pWindowListType;
};
#define KVI_OPTIONS_WIDGET_ICON_OptionsWidget_windowListTree KviIconManager::TreeWindowList
diff --git a/src/modules/options/mkcreateinstanceproc.sh b/src/modules/options/mkcreateinstanceproc.sh
index 1bd42fb2e..d1c33c518 100755
--- a/src/modules/options/mkcreateinstanceproc.sh
+++ b/src/modules/options/mkcreateinstanceproc.sh
@@ -54,10 +54,8 @@ cat >> OptionsInstanceManager.h <<EOF
#include "KviQString.h"
#include "KviIconManager.h"
-typedef struct _OptionsWidgetInstanceEntry OptionsWidgetInstanceEntry;
-
-typedef struct _OptionsWidgetInstanceEntry
+struct OptionsWidgetInstanceEntry
{
KviOptionsWidget * (*createProc)(QWidget *);
KviOptionsWidget * pWidget; // singleton
@@ -73,7 +71,7 @@ typedef struct _OptionsWidgetInstanceEntry
bool bIsNotContained;
KviPointerList<OptionsWidgetInstanceEntry> * pChildList;
bool bDoInsert; // a helper for OptionsDialog::fillListView()
-} OptionsWidgetInstanceEntry;
+};
class OptionsInstanceManager : public QObject
@@ -231,7 +229,7 @@ printclass()
echo "$3 e$1 = new OptionsWidgetInstanceEntry;" >> $TARGET
echo -n "$3 e$1->createProc = &class$2" >> $TARGET
echo "_createInstanceProc;" >> $TARGET
- echo "$3 e$1->pWidget = 0;" >> $TARGET
+ echo "$3 e$1->pWidget = nullptr;" >> $TARGET
echo "$3 e$1->szClassName = g_szClassName_$2;" >> $TARGET
echo "$3 e$1->eIcon = KVI_OPTIONS_WIDGET_ICON_$2;" >> $TARGET
@@ -290,7 +288,7 @@ addchildren()
NEXTLEVEL=`expr $1 + 1`
addchildren $NEXTLEVEL $achild "$3 "
else
- echo "$3 e$1->pChildList = 0;" >> $TARGET
+ echo "$3 e$1->pChildList = nullptr;" >> $TARGET
fi
done
fi
@@ -318,7 +316,7 @@ void OptionsInstanceManager::deleteInstanceTree(KviPointerList<OptionsWidgetInst
{
disconnect(pEntry->pWidget,SIGNAL(destroyed()),this,SLOT(widgetDestroyed()));
delete pEntry->pWidget->parent();
- pEntry->pWidget = 0;
+ pEntry->pWidget = nullptr;
} else {
qDebug("Ops...i have deleted the options dialog ?");
}
@@ -339,14 +337,14 @@ OptionsInstanceManager::~OptionsInstanceManager()
void OptionsInstanceManager::cleanup(KviModule *)
{
deleteInstanceTree(m_pInstanceTree);
- m_pInstanceTree = 0;
+ m_pInstanceTree = nullptr;
}
void OptionsInstanceManager::widgetDestroyed()
{
OptionsWidgetInstanceEntry * pEntry = findInstanceEntry(sender(),m_pInstanceTree);
if(pEntry)
- pEntry->pWidget = 0;
+ pEntry->pWidget = nullptr;
if(g_iOptionWidgetInstances > 0)
g_iOptionWidgetInstances--;
@@ -355,7 +353,7 @@ void OptionsInstanceManager::widgetDestroyed()
KviOptionsWidget * OptionsInstanceManager::getInstance(OptionsWidgetInstanceEntry * pEntry, QWidget * pPar)
{
if(!pEntry)
- return NULL;
+ return nullptr;
#if 0
if(pEntry->pWidget)
@@ -365,7 +363,7 @@ KviOptionsWidget * OptionsInstanceManager::getInstance(OptionsWidgetInstanceEntr
QWidget * pOldPar = (QWidget *)pEntry->pWidget->parent();
pEntry->pWidget->setParent(pPar);
pOldPar->deleteLater();
- pEntry->pWidget = 0;
+ pEntry->pWidget = nullptr;
}
}
#endif
diff --git a/src/modules/package/libkvipackage.cpp b/src/modules/package/libkvipackage.cpp
index 678df3230..9a390bf90 100644
--- a/src/modules/package/libkvipackage.cpp
+++ b/src/modules/package/libkvipackage.cpp
@@ -37,7 +37,7 @@
#include <QFile>
#include <QFileInfo>
-#include <stdlib.h>
+#include <cstdlib>
static QString createRandomDir()
{
@@ -154,7 +154,7 @@ static bool package_kvs_fnc_info(KviKvsModuleFunctionCall * c)
QStringList sl = KviFileUtils::getFileListing(szUnpackPath);
- Q_FOREACH(QString fn, sl)
+ for(const auto & fn : sl)
pFilesArray->append(new KviKvsVariant(fn));
// delete the random tmp dir
diff --git a/src/modules/perlcore/libkviperlcore.cpp b/src/modules/perlcore/libkviperlcore.cpp
index fcd66152b..3fdd42def 100644
--- a/src/modules/perlcore/libkviperlcore.cpp
+++ b/src/modules/perlcore/libkviperlcore.cpp
@@ -270,13 +270,10 @@ bool KviPerlInterpreter::execute(
int idx = 0;
for(auto tmp : args)
{
- const char * val = tmp.toUtf8().data();
- if(val)
- {
- pArg = newSVpv(val, tmp.length());
- if(!av_store(pArgs, idx, pArg))
- SvREFCNT_dec(pArg);
- }
+ QByteArray szVal = tmp.toUtf8();
+ pArg = newSVpv(szVal.data(), tmp.length());
+ if(!av_store(pArgs, idx, pArg))
+ SvREFCNT_dec(pArg);
idx++;
}
}
diff --git a/src/modules/perlcore/perlcoreinterface.h b/src/modules/perlcore/perlcoreinterface.h
index 3f904345a..bfaf089f9 100644
--- a/src/modules/perlcore/perlcoreinterface.h
+++ b/src/modules/perlcore/perlcoreinterface.h
@@ -32,7 +32,7 @@
#define KVI_PERLCORECTRLCOMMAND_EXECUTE "execute"
-typedef struct _KviPerlCoreCtrlCommand_execute
+struct KviPerlCoreCtrlCommand_execute
{
unsigned int uSize;
KviKvsRunTimeContext * pKvsContext;
@@ -44,14 +44,14 @@ typedef struct _KviPerlCoreCtrlCommand_execute
QStringList lWarnings;
QStringList lArgs;
bool bQuiet;
-} KviPerlCoreCtrlCommand_execute;
+};
#define KVI_PERLCORECTRLCOMMAND_DESTROY "destroy"
-typedef struct _KviPerlCoreCtrlCommand_destroy
+struct KviPerlCoreCtrlCommand_destroy
{
unsigned int uSize;
QString szContext;
-} KviPerlCoreCtrlCommand_destroy;
+};
#endif // !_PERLCOREINTERFACE_H_
diff --git a/src/modules/perlcore/ppport.h b/src/modules/perlcore/ppport.h
index 3a17f47d6..00c15fdbd 100644
--- a/src/modules/perlcore/ppport.h
+++ b/src/modules/perlcore/ppport.h
@@ -4,9 +4,9 @@
/*
----------------------------------------------------------------------
- ppport.h -- Perl/Pollution/Portability Version 3.36
+ ppport.h -- Perl/Pollution/Portability Version 3.42
- Automatically created by Devel::PPPort running under perl 5.026000.
+ Automatically created by Devel::PPPort running under perl 5.028000.
Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.
@@ -23,8 +23,8 @@ SKIP
if (@ARGV && $ARGV[0] eq '--unstrip') {
eval { require Devel::PPPort };
$@ and die "Cannot require Devel::PPPort, please install.\n";
- if (eval $Devel::PPPort::VERSION < 3.36) {
- die "ppport.h was originally generated with Devel::PPPort 3.36.\n"
+ if (eval $Devel::PPPort::VERSION < 3.42) {
+ die "ppport.h was originally generated with Devel::PPPort 3.42.\n"
. "Your Devel::PPPort is only version $Devel::PPPort::VERSION.\n"
. "Please install a newer version, or --unstrip will not work.\n";
}
@@ -63,8 +63,8 @@ __DATA__*/
#define PERL_SUBVERSION SUBVERSION
#endif
#endif
-#define _dpppDEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
-#define PERL_BCDVERSION ((_dpppDEC2BCD(PERL_REVISION)<<24)|(_dpppDEC2BCD(PERL_VERSION)<<12)|_dpppDEC2BCD(PERL_SUBVERSION))
+#define D_PPP_DEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
+#define PERL_BCDVERSION ((D_PPP_DEC2BCD(PERL_REVISION)<<24)|(D_PPP_DEC2BCD(PERL_VERSION)<<12)|D_PPP_DEC2BCD(PERL_SUBVERSION))
#if PERL_REVISION != 5
#error ppport.h only works with Perl version 5
#endif
@@ -503,9 +503,123 @@ sv_setnv(sv, (double)TeMpUv); \
#ifndef Newxz
#define Newxz(v,n,t) Newz(0,v,n,t)
#endif
+#ifndef PERL_MAGIC_sv
+#define PERL_MAGIC_sv '\0'
+#endif
+#ifndef PERL_MAGIC_overload
+#define PERL_MAGIC_overload 'A'
+#endif
+#ifndef PERL_MAGIC_overload_elem
+#define PERL_MAGIC_overload_elem 'a'
+#endif
+#ifndef PERL_MAGIC_overload_table
+#define PERL_MAGIC_overload_table 'c'
+#endif
+#ifndef PERL_MAGIC_bm
+#define PERL_MAGIC_bm 'B'
+#endif
+#ifndef PERL_MAGIC_regdata
+#define PERL_MAGIC_regdata 'D'
+#endif
+#ifndef PERL_MAGIC_regdatum
+#define PERL_MAGIC_regdatum 'd'
+#endif
+#ifndef PERL_MAGIC_env
+#define PERL_MAGIC_env 'E'
+#endif
+#ifndef PERL_MAGIC_envelem
+#define PERL_MAGIC_envelem 'e'
+#endif
+#ifndef PERL_MAGIC_fm
+#define PERL_MAGIC_fm 'f'
+#endif
+#ifndef PERL_MAGIC_regex_global
+#define PERL_MAGIC_regex_global 'g'
+#endif
+#ifndef PERL_MAGIC_isa
+#define PERL_MAGIC_isa 'I'
+#endif
+#ifndef PERL_MAGIC_isaelem
+#define PERL_MAGIC_isaelem 'i'
+#endif
+#ifndef PERL_MAGIC_nkeys
+#define PERL_MAGIC_nkeys 'k'
+#endif
+#ifndef PERL_MAGIC_dbfile
+#define PERL_MAGIC_dbfile 'L'
+#endif
+#ifndef PERL_MAGIC_dbline
+#define PERL_MAGIC_dbline 'l'
+#endif
+#ifndef PERL_MAGIC_mutex
+#define PERL_MAGIC_mutex 'm'
+#endif
+#ifndef PERL_MAGIC_shared
+#define PERL_MAGIC_shared 'N'
+#endif
+#ifndef PERL_MAGIC_shared_scalar
+#define PERL_MAGIC_shared_scalar 'n'
+#endif
+#ifndef PERL_MAGIC_collxfrm
+#define PERL_MAGIC_collxfrm 'o'
+#endif
+#ifndef PERL_MAGIC_tied
+#define PERL_MAGIC_tied 'P'
+#endif
+#ifndef PERL_MAGIC_tiedelem
+#define PERL_MAGIC_tiedelem 'p'
+#endif
+#ifndef PERL_MAGIC_tiedscalar
+#define PERL_MAGIC_tiedscalar 'q'
+#endif
#ifndef PERL_MAGIC_qr
#define PERL_MAGIC_qr 'r'
#endif
+#ifndef PERL_MAGIC_sig
+#define PERL_MAGIC_sig 'S'
+#endif
+#ifndef PERL_MAGIC_sigelem
+#define PERL_MAGIC_sigelem 's'
+#endif
+#ifndef PERL_MAGIC_taint
+#define PERL_MAGIC_taint 't'
+#endif
+#ifndef PERL_MAGIC_uvar
+#define PERL_MAGIC_uvar 'U'
+#endif
+#ifndef PERL_MAGIC_uvar_elem
+#define PERL_MAGIC_uvar_elem 'u'
+#endif
+#ifndef PERL_MAGIC_vstring
+#define PERL_MAGIC_vstring 'V'
+#endif
+#ifndef PERL_MAGIC_vec
+#define PERL_MAGIC_vec 'v'
+#endif
+#ifndef PERL_MAGIC_utf8
+#define PERL_MAGIC_utf8 'w'
+#endif
+#ifndef PERL_MAGIC_substr
+#define PERL_MAGIC_substr 'x'
+#endif
+#ifndef PERL_MAGIC_defelem
+#define PERL_MAGIC_defelem 'y'
+#endif
+#ifndef PERL_MAGIC_glob
+#define PERL_MAGIC_glob '*'
+#endif
+#ifndef PERL_MAGIC_arylen
+#define PERL_MAGIC_arylen '#'
+#endif
+#ifndef PERL_MAGIC_pos
+#define PERL_MAGIC_pos '.'
+#endif
+#ifndef PERL_MAGIC_backref
+#define PERL_MAGIC_backref '<'
+#endif
+#ifndef PERL_MAGIC_ext
+#define PERL_MAGIC_ext '~'
+#endif
#ifndef cBOOL
#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
#endif
@@ -524,6 +638,9 @@ sv_setnv(sv, (double)TeMpUv); \
#ifndef OpMAYBESIB_set
#define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
#endif
+#ifndef HEf_SVKEY
+#define HEf_SVKEY -2
+#endif
#ifndef SvRX
#if defined(NEED_SvRX)
static void * DPPP_(my_SvRX)(pTHX_ SV *rv);
@@ -531,11 +648,11 @@ static
#else
extern void * DPPP_(my_SvRX)(pTHX_ SV *rv);
#endif
+#if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL)
#ifdef SvRX
#undef SvRX
#endif
#define SvRX(a) DPPP_(my_SvRX)(aTHX_ a)
-#if defined(NEED_SvRX) || defined(NEED_SvRX_GLOBAL)
void *
DPPP_(my_SvRX)(pTHX_ SV *rv)
{
@@ -820,7 +937,8 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
#if (PERL_BCDVERSION < 0x5010000)
#undef isPRINT
#endif
-#ifdef HAS_QUAD
+#ifndef WIDEST_UTYPE
+#ifdef QUADKIND
#ifdef U64TYPE
#define WIDEST_UTYPE U64TYPE
#else
@@ -829,6 +947,7 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
#else
#define WIDEST_UTYPE U32
#endif
+#endif
#ifndef isALNUMC
#define isALNUMC(c) (isALPHA(c) || isDIGIT(c))
#endif
@@ -864,6 +983,240 @@ SvUTF8(HeKEY_sv(he)) : \
#ifndef C_ARRAY_END
#define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a))
#endif
+#ifndef MUTABLE_PTR
+#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+#define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
+#else
+#define MUTABLE_PTR(p) ((void *) (p))
+#endif
+#endif
+#ifndef MUTABLE_SV
+#define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
+#endif
+#ifdef NEED_mess_sv
+#define NEED_mess
+#endif
+#ifdef NEED_mess
+#define NEED_mess_nocontext
+#define NEED_vmess
+#endif
+#ifndef croak_sv
+#if (PERL_BCDVERSION >= 0x5007003) || ( (PERL_BCDVERSION >= 0x5006001) && (PERL_BCDVERSION < 0x5007000) )
+#if ( (PERL_BCDVERSION >= 0x5008000) && (PERL_BCDVERSION < 0x5008009) ) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5010001) )
+#define D_PPP_FIX_UTF8_ERRSV(errsv, sv) \
+STMT_START { \
+if (sv != ERRSV) \
+SvFLAGS(ERRSV) = (SvFLAGS(ERRSV) & ~SVf_UTF8) | \
+(SvFLAGS(sv) & SVf_UTF8); \
+} STMT_END
+#else
+#define D_PPP_FIX_UTF8_ERRSV(errsv, sv) STMT_START {} STMT_END
+#endif
+#define croak_sv(sv) \
+STMT_START { \
+if (SvROK(sv)) { \
+sv_setsv(ERRSV, sv); \
+croak(NULL); \
+} else { \
+D_PPP_FIX_UTF8_ERRSV(ERRSV, sv); \
+croak("%" SVf, SVfARG(sv)); \
+} \
+} STMT_END
+#elif (PERL_BCDVERSION >= 0x5004000)
+#define croak_sv(sv) croak("%" SVf, SVfARG(sv))
+#else
+#define croak_sv(sv) croak("%s", SvPV_nolen(sv))
+#endif
+#endif
+#ifndef die_sv
+#if defined(NEED_die_sv)
+static OP * DPPP_(my_die_sv)(pTHX_ SV *sv);
+static
+#else
+extern OP * DPPP_(my_die_sv)(pTHX_ SV *sv);
+#endif
+#if defined(NEED_die_sv) || defined(NEED_die_sv_GLOBAL)
+#ifdef die_sv
+#undef die_sv
+#endif
+#define die_sv(a) DPPP_(my_die_sv)(aTHX_ a)
+#define Perl_die_sv DPPP_(my_die_sv)
+OP *
+DPPP_(my_die_sv)(pTHX_ SV *sv)
+{
+croak_sv(sv);
+return (OP *)NULL;
+}
+#endif
+#endif
+#ifndef warn_sv
+#if (PERL_BCDVERSION >= 0x5004000)
+#define warn_sv(sv) warn("%" SVf, SVfARG(sv))
+#else
+#define warn_sv(sv) warn("%s", SvPV_nolen(sv))
+#endif
+#endif
+#ifndef vmess
+#if defined(NEED_vmess)
+static SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args);
+static
+#else
+extern SV * DPPP_(my_vmess)(pTHX_ const char * pat, va_list * args);
+#endif
+#if defined(NEED_vmess) || defined(NEED_vmess_GLOBAL)
+#ifdef vmess
+#undef vmess
+#endif
+#define vmess(a,b) DPPP_(my_vmess)(aTHX_ a,b)
+#define Perl_vmess DPPP_(my_vmess)
+SV*
+DPPP_(my_vmess)(pTHX_ const char* pat, va_list* args)
+{
+mess(pat, args);
+return PL_mess_sv;
+}
+#endif
+#endif
+#if (PERL_BCDVERSION < 0x5006000)
+#undef mess
+#endif
+#if !defined(mess_nocontext) && !defined(Perl_mess_nocontext)
+#if defined(NEED_mess_nocontext)
+static SV * DPPP_(my_mess_nocontext)(const char * pat, ...);
+static
+#else
+extern SV * DPPP_(my_mess_nocontext)(const char * pat, ...);
+#endif
+#if defined(NEED_mess_nocontext) || defined(NEED_mess_nocontext_GLOBAL)
+#define mess_nocontext DPPP_(my_mess_nocontext)
+#define Perl_mess_nocontext DPPP_(my_mess_nocontext)
+SV*
+DPPP_(my_mess_nocontext)(const char* pat, ...)
+{
+dTHX;
+SV *sv;
+va_list args;
+va_start(args, pat);
+sv = vmess(pat, &args);
+va_end(args);
+return sv;
+}
+#endif
+#endif
+#ifndef mess
+#if defined(NEED_mess)
+static SV * DPPP_(my_mess)(pTHX_ const char * pat, ...);
+static
+#else
+extern SV * DPPP_(my_mess)(pTHX_ const char * pat, ...);
+#endif
+#if defined(NEED_mess) || defined(NEED_mess_GLOBAL)
+#define Perl_mess DPPP_(my_mess)
+SV*
+DPPP_(my_mess)(pTHX_ const char* pat, ...)
+{
+SV *sv;
+va_list args;
+va_start(args, pat);
+sv = vmess(pat, &args);
+va_end(args);
+return sv;
+}
+#ifdef mess_nocontext
+#define mess mess_nocontext
+#else
+#define mess Perl_mess_nocontext
+#endif
+#endif
+#endif
+#ifndef mess_sv
+#if defined(NEED_mess_sv)
+static SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume);
+static
+#else
+extern SV * DPPP_(my_mess_sv)(pTHX_ SV * basemsg, bool consume);
+#endif
+#if defined(NEED_mess_sv) || defined(NEED_mess_sv_GLOBAL)
+#ifdef mess_sv
+#undef mess_sv
+#endif
+#define mess_sv(a,b) DPPP_(my_mess_sv)(aTHX_ a,b)
+#define Perl_mess_sv DPPP_(my_mess_sv)
+SV *
+DPPP_(my_mess_sv)(pTHX_ SV *basemsg, bool consume)
+{
+SV *tmp;
+SV *ret;
+if (SvPOK(basemsg) && SvCUR(basemsg) && *(SvEND(basemsg)-1) == '\n') {
+if (consume)
+return basemsg;
+ret = mess("");
+SvSetSV_nosteal(ret, basemsg);
+return ret;
+}
+if (consume) {
+sv_catsv(basemsg, mess(""));
+return basemsg;
+}
+ret = mess("");
+tmp = newSVsv(ret);
+SvSetSV_nosteal(ret, basemsg);
+sv_catsv(ret, tmp);
+sv_dec(tmp);
+return ret;
+}
+#endif
+#endif
+#ifndef warn_nocontext
+#define warn_nocontext warn
+#endif
+#ifndef croak_nocontext
+#define croak_nocontext croak
+#endif
+#ifndef croak_no_modify
+#define croak_no_modify() croak_nocontext("%s", PL_no_modify)
+#define Perl_croak_no_modify() croak_no_modify()
+#endif
+#ifndef croak_memory_wrap
+#if (PERL_BCDVERSION >= 0x5009002) || ( (PERL_BCDVERSION >= 0x5008006) && (PERL_BCDVERSION < 0x5009000) )
+#define croak_memory_wrap() croak_nocontext("%s", PL_memory_wrap)
+#else
+#define croak_memory_wrap() croak_nocontext("panic: memory wrap")
+#endif
+#endif
+#ifndef croak_xs_usage
+#if defined(NEED_croak_xs_usage)
+static void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params);
+static
+#else
+extern void DPPP_(my_croak_xs_usage)(const CV * const cv, const char * const params);
+#endif
+#if defined(NEED_croak_xs_usage) || defined(NEED_croak_xs_usage_GLOBAL)
+#define croak_xs_usage DPPP_(my_croak_xs_usage)
+#define Perl_croak_xs_usage DPPP_(my_croak_xs_usage)
+#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
+#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
+#endif
+void
+DPPP_(my_croak_xs_usage)(const CV *const cv, const char *const params)
+{
+dTHX;
+const GV *const gv = CvGV(cv);
+PERL_ARGS_ASSERT_CROAK_XS_USAGE;
+if (gv) {
+const char *const gvname = GvNAME(gv);
+const HV *const stash = GvSTASH(gv);
+const char *const hvname = stash ? HvNAME(stash) : NULL;
+if (hvname)
+croak("Usage: %s::%s(%s)", hvname, gvname, params);
+else
+croak("Usage: %s(%s)", gvname, params);
+} else {
+croak("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
+}
+}
+#endif
+#endif
#ifndef PERL_SIGNALS_UNSAFE_FLAG
#define PERL_SIGNALS_UNSAFE_FLAG 0x0001
#if (PERL_BCDVERSION < 0x5008000)
@@ -1046,12 +1399,12 @@ static
#else
extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
#endif
+#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
#ifdef eval_pv
#undef eval_pv
#endif
#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b)
#define Perl_eval_pv DPPP_(my_eval_pv)
-#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
SV*
DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
{
@@ -1063,8 +1416,8 @@ SvREFCNT_dec(sv);
SPAGAIN;
sv = POPs;
PUTBACK;
-if (croak_on_error && SvTRUE(GvSV(errgv)))
-croak(SvPVx(GvSV(errgv), na));
+if (croak_on_error && SvTRUEx(ERRSV))
+croak_sv(ERRSV);
return sv;
}
#endif
@@ -1076,12 +1429,12 @@ static
#else
extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
#endif
+#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL)
#ifdef vload_module
#undef vload_module
#endif
#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d)
#define Perl_vload_module DPPP_(my_vload_module)
-#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL)
void
DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args)
{
@@ -1139,12 +1492,12 @@ static
#else
extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
#endif
+#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL)
#ifdef load_module
#undef load_module
#endif
#define load_module DPPP_(my_load_module)
#define Perl_load_module DPPP_(my_load_module)
-#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL)
void
DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...)
{
@@ -1165,12 +1518,12 @@ static
#else
extern SV * DPPP_(my_newRV_noinc)(SV *sv);
#endif
+#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL)
#ifdef newRV_noinc
#undef newRV_noinc
#endif
#define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a)
#define Perl_newRV_noinc DPPP_(my_newRV_noinc)
-#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL)
SV *
DPPP_(my_newRV_noinc)(SV *sv)
{
@@ -1187,12 +1540,12 @@ static
#else
extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
#endif
+#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
#ifdef newCONSTSUB
#undef newCONSTSUB
#endif
#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c)
#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB)
-#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
#define D_PPP_PL_copline PL_copline
void
DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
@@ -1379,12 +1732,12 @@ static
#else
extern SV* DPPP_(my_newSV_type)(pTHX_ svtype const t);
#endif
+#if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL)
#ifdef newSV_type
#undef newSV_type
#endif
#define newSV_type(a) DPPP_(my_newSV_type)(aTHX_ a)
#define Perl_newSV_type DPPP_(my_newSV_type)
-#if defined(NEED_newSV_type) || defined(NEED_newSV_type_GLOBAL)
SV*
DPPP_(my_newSV_type)(pTHX_ svtype const t)
{
@@ -1417,12 +1770,12 @@ static
#else
extern SV * DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags);
#endif
+#if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL)
#ifdef newSVpvn_flags
#undef newSVpvn_flags
#endif
#define newSVpvn_flags(a,b,c) DPPP_(my_newSVpvn_flags)(aTHX_ a,b,c)
#define Perl_newSVpvn_flags DPPP_(my_newSVpvn_flags)
-#if defined(NEED_newSVpvn_flags) || defined(NEED_newSVpvn_flags_GLOBAL)
SV *
DPPP_(my_newSVpvn_flags)(pTHX_ const char *s, STRLEN len, U32 flags)
{
@@ -1449,12 +1802,12 @@ static
#else
extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp);
#endif
+#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL)
#ifdef sv_2pvbyte
#undef sv_2pvbyte
#endif
#define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b)
#define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte)
-#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL)
char *
DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp)
{
@@ -1511,12 +1864,12 @@ static
#else
extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
#endif
+#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL)
#ifdef sv_2pv_flags
#undef sv_2pv_flags
#endif
#define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c)
#define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags)
-#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL)
char *
DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
{
@@ -1530,12 +1883,12 @@ static
#else
extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags);
#endif
+#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL)
#ifdef sv_pvn_force_flags
#undef sv_pvn_force_flags
#endif
#define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c)
#define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags)
-#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL)
char *
DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
{
@@ -1545,9 +1898,9 @@ return sv_pvn_force(sv, lp ? lp : &n_a);
#endif
#endif
#if (PERL_BCDVERSION < 0x5008008) || ( (PERL_BCDVERSION >= 0x5009000) && (PERL_BCDVERSION < 0x5009003) )
-#define DPPP_SVPV_NOLEN_LP_ARG &PL_na
+#define D_PPP_SVPV_NOLEN_LP_ARG &PL_na
#else
-#define DPPP_SVPV_NOLEN_LP_ARG 0
+#define D_PPP_SVPV_NOLEN_LP_ARG 0
#endif
#ifndef SvPV_const
#define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC)
@@ -1570,7 +1923,7 @@ return sv_pvn_force(sv, lp ? lp : &n_a);
#define SvPV_flags_const_nolen(sv, flags) \
((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
? SvPVX_const(sv) : \
-(const char*) sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN))
+(const char*) sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN))
#endif
#ifndef SvPV_flags_mutable
#define SvPV_flags_mutable(sv, lp, flags) \
@@ -1601,7 +1954,7 @@ sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
#ifndef SvPV_force_flags_nolen
#define SvPV_force_flags_nolen(sv, flags) \
((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
-? SvPVX(sv) : sv_pvn_force_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, flags))
+? SvPVX(sv) : sv_pvn_force_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags))
#endif
#ifndef SvPV_force_flags_mutable
#define SvPV_force_flags_mutable(sv, lp, flags) \
@@ -1612,12 +1965,12 @@ sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
#ifndef SvPV_nolen
#define SvPV_nolen(sv) \
((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
-? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC))
+? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC))
#endif
#ifndef SvPV_nolen_const
#define SvPV_nolen_const(sv) \
((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
-? SvPVX_const(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN))
+? SvPVX_const(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN))
#endif
#ifndef SvPV_nomg
#define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
@@ -1630,7 +1983,7 @@ sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
#endif
#ifndef SvPV_nomg_nolen
#define SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
-? SvPVX(sv) : sv_2pv_flags(sv, DPPP_SVPV_NOLEN_LP_ARG, 0))
+? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, 0))
#endif
#ifndef SvPV_renew
#define SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \
@@ -1693,12 +2046,12 @@ static
#else
extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args);
#endif
+#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL)
#ifdef vnewSVpvf
#undef vnewSVpvf
#endif
#define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b)
#define Perl_vnewSVpvf DPPP_(my_vnewSVpvf)
-#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL)
SV *
DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args)
{
@@ -1721,8 +2074,8 @@ static
#else
extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...);
#endif
-#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg)
#if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL)
+#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg)
void
DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
{
@@ -1742,9 +2095,9 @@ static
#else
extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...);
#endif
+#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL)
#define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
#define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
-#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL)
void
DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...)
{
@@ -1779,8 +2132,8 @@ static
#else
extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...);
#endif
-#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg)
#if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL)
+#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg)
void
DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
{
@@ -1800,9 +2153,9 @@ static
#else
extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...);
#endif
+#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL)
#define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
#define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
-#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL)
void
DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...)
{
@@ -1837,12 +2190,12 @@ static
#else
extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
#endif
+#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL)
#ifdef newSVpvn_share
#undef newSVpvn_share
#endif
#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c)
#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share)
-#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL)
SV *
DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
{
@@ -1876,12 +2229,12 @@ static
#else
extern GV* DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types);
#endif
+#if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL)
#ifdef gv_fetchpvn_flags
#undef gv_fetchpvn_flags
#endif
#define gv_fetchpvn_flags(a,b,c,d) DPPP_(my_gv_fetchpvn_flags)(aTHX_ a,b,c,d)
#define Perl_gv_fetchpvn_flags DPPP_(my_gv_fetchpvn_flags)
-#if defined(NEED_gv_fetchpvn_flags) || defined(NEED_gv_fetchpvn_flags_GLOBAL)
GV*
DPPP_(my_gv_fetchpvn_flags)(pTHX_ const char* name, STRLEN len, int flags, int types) {
char *namepv = savepvn(name, len);
@@ -2064,8 +2417,8 @@ static
#else
extern void DPPP_(my_warner)(U32 err, const char *pat, ...);
#endif
-#define Perl_warner DPPP_(my_warner)
#if defined(NEED_warner) || defined(NEED_warner_GLOBAL)
+#define Perl_warner DPPP_(my_warner)
void
DPPP_(my_warner)(U32 err, const char *pat, ...)
{
@@ -2118,136 +2471,6 @@ warn("%s", SvPV_nolen(sv));
#ifndef SvGETMAGIC
#define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
#endif
-#ifndef HEf_SVKEY
-#define HEf_SVKEY -2
-#endif
-#ifndef MUTABLE_PTR
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
-#else
-#define MUTABLE_PTR(p) ((void *) (p))
-#endif
-#endif
-#ifndef MUTABLE_SV
-#define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
-#endif
-#ifndef PERL_MAGIC_sv
-#define PERL_MAGIC_sv '\0'
-#endif
-#ifndef PERL_MAGIC_overload
-#define PERL_MAGIC_overload 'A'
-#endif
-#ifndef PERL_MAGIC_overload_elem
-#define PERL_MAGIC_overload_elem 'a'
-#endif
-#ifndef PERL_MAGIC_overload_table
-#define PERL_MAGIC_overload_table 'c'
-#endif
-#ifndef PERL_MAGIC_bm
-#define PERL_MAGIC_bm 'B'
-#endif
-#ifndef PERL_MAGIC_regdata
-#define PERL_MAGIC_regdata 'D'
-#endif
-#ifndef PERL_MAGIC_regdatum
-#define PERL_MAGIC_regdatum 'd'
-#endif
-#ifndef PERL_MAGIC_env
-#define PERL_MAGIC_env 'E'
-#endif
-#ifndef PERL_MAGIC_envelem
-#define PERL_MAGIC_envelem 'e'
-#endif
-#ifndef PERL_MAGIC_fm
-#define PERL_MAGIC_fm 'f'
-#endif
-#ifndef PERL_MAGIC_regex_global
-#define PERL_MAGIC_regex_global 'g'
-#endif
-#ifndef PERL_MAGIC_isa
-#define PERL_MAGIC_isa 'I'
-#endif
-#ifndef PERL_MAGIC_isaelem
-#define PERL_MAGIC_isaelem 'i'
-#endif
-#ifndef PERL_MAGIC_nkeys
-#define PERL_MAGIC_nkeys 'k'
-#endif
-#ifndef PERL_MAGIC_dbfile
-#define PERL_MAGIC_dbfile 'L'
-#endif
-#ifndef PERL_MAGIC_dbline
-#define PERL_MAGIC_dbline 'l'
-#endif
-#ifndef PERL_MAGIC_mutex
-#define PERL_MAGIC_mutex 'm'
-#endif
-#ifndef PERL_MAGIC_shared
-#define PERL_MAGIC_shared 'N'
-#endif
-#ifndef PERL_MAGIC_shared_scalar
-#define PERL_MAGIC_shared_scalar 'n'
-#endif
-#ifndef PERL_MAGIC_collxfrm
-#define PERL_MAGIC_collxfrm 'o'
-#endif
-#ifndef PERL_MAGIC_tied
-#define PERL_MAGIC_tied 'P'
-#endif
-#ifndef PERL_MAGIC_tiedelem
-#define PERL_MAGIC_tiedelem 'p'
-#endif
-#ifndef PERL_MAGIC_tiedscalar
-#define PERL_MAGIC_tiedscalar 'q'
-#endif
-#ifndef PERL_MAGIC_qr
-#define PERL_MAGIC_qr 'r'
-#endif
-#ifndef PERL_MAGIC_sig
-#define PERL_MAGIC_sig 'S'
-#endif
-#ifndef PERL_MAGIC_sigelem
-#define PERL_MAGIC_sigelem 's'
-#endif
-#ifndef PERL_MAGIC_taint
-#define PERL_MAGIC_taint 't'
-#endif
-#ifndef PERL_MAGIC_uvar
-#define PERL_MAGIC_uvar 'U'
-#endif
-#ifndef PERL_MAGIC_uvar_elem
-#define PERL_MAGIC_uvar_elem 'u'
-#endif
-#ifndef PERL_MAGIC_vstring
-#define PERL_MAGIC_vstring 'V'
-#endif
-#ifndef PERL_MAGIC_vec
-#define PERL_MAGIC_vec 'v'
-#endif
-#ifndef PERL_MAGIC_utf8
-#define PERL_MAGIC_utf8 'w'
-#endif
-#ifndef PERL_MAGIC_substr
-#define PERL_MAGIC_substr 'x'
-#endif
-#ifndef PERL_MAGIC_defelem
-#define PERL_MAGIC_defelem 'y'
-#endif
-#ifndef PERL_MAGIC_glob
-#define PERL_MAGIC_glob '*'
-#endif
-#ifndef PERL_MAGIC_arylen
-#define PERL_MAGIC_arylen '#'
-#endif
-#ifndef PERL_MAGIC_pos
-#define PERL_MAGIC_pos '.'
-#endif
-#ifndef PERL_MAGIC_backref
-#define PERL_MAGIC_backref '<'
-#endif
-#ifndef PERL_MAGIC_ext
-#define PERL_MAGIC_ext '~'
-#endif
#ifndef sv_catpvn_nomg
#define sv_catpvn_nomg sv_catpvn
#endif
@@ -2379,9 +2602,9 @@ static
#else
extern MAGIC * DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl);
#endif
+#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL)
#define mg_findext DPPP_(my_mg_findext)
#define Perl_mg_findext DPPP_(my_mg_findext)
-#if defined(NEED_mg_findext) || defined(NEED_mg_findext_GLOBAL)
MAGIC *
DPPP_(my_mg_findext)(SV * sv, int type, const MGVTBL *vtbl) {
if (sv) {
@@ -2405,12 +2628,12 @@ static
#else
extern int DPPP_(my_sv_unmagicext)(pTHX_ SV * const sv, const int type, MGVTBL * vtbl);
#endif
+#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL)
#ifdef sv_unmagicext
#undef sv_unmagicext
#endif
#define sv_unmagicext(a,b,c) DPPP_(my_sv_unmagicext)(aTHX_ a,b,c)
#define Perl_sv_unmagicext DPPP_(my_sv_unmagicext)
-#if defined(NEED_sv_unmagicext) || defined(NEED_sv_unmagicext_GLOBAL)
int
DPPP_(my_sv_unmagicext)(pTHX_ SV *const sv, const int type, MGVTBL *vtbl)
{
@@ -2547,12 +2770,12 @@ static
#else
extern const PERL_CONTEXT * DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp);
#endif
+#if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL)
#ifdef caller_cx
#undef caller_cx
#endif
#define caller_cx(a,b) DPPP_(my_caller_cx)(aTHX_ a,b)
#define Perl_caller_cx DPPP_(my_caller_cx)
-#if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL)
const PERL_CONTEXT *
DPPP_(my_caller_cx)(pTHX_ I32 count, const PERL_CONTEXT **dbcxp)
{
@@ -2639,12 +2862,12 @@ static
#else
extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
#endif
+#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL)
#ifdef grok_numeric_radix
#undef grok_numeric_radix
#endif
#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b)
#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix)
-#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL)
bool
DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send)
{
@@ -2687,12 +2910,12 @@ static
#else
extern int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
#endif
+#if defined(NEED_grok_number) || defined(NEED_grok_number_GLOBAL)
#ifdef grok_number
#undef grok_number
#endif
#define grok_number(a,b,c) DPPP_(my_grok_number)(aTHX_ a,b,c)
#define Perl_grok_number DPPP_(my_grok_number)
-#if defined(NEED_grok_number) || defined(NEED_grok_number_GLOBAL)
int
DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
{
@@ -2869,12 +3092,12 @@ static
#else
extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif
+#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL)
#ifdef grok_bin
#undef grok_bin
#endif
#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d)
#define Perl_grok_bin DPPP_(my_grok_bin)
-#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL)
UV
DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
@@ -2951,12 +3174,12 @@ static
#else
extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif
+#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL)
#ifdef grok_hex
#undef grok_hex
#endif
#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d)
#define Perl_grok_hex DPPP_(my_grok_hex)
-#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL)
UV
DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
@@ -3034,12 +3257,12 @@ static
#else
extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
#endif
+#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL)
#ifdef grok_oct
#undef grok_oct
#endif
#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d)
#define Perl_grok_oct DPPP_(my_grok_oct)
-#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL)
UV
DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
{
@@ -3106,9 +3329,9 @@ static
#else
extern int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...);
#endif
+#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL)
#define my_snprintf DPPP_(my_my_snprintf)
#define Perl_my_snprintf DPPP_(my_my_snprintf)
-#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL)
int
DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...)
{
@@ -3135,9 +3358,9 @@ static
#else
extern int DPPP_(my_my_sprintf)(char * buffer, const char * pat, ...);
#endif
+#if defined(NEED_my_sprintf) || defined(NEED_my_sprintf_GLOBAL)
#define my_sprintf DPPP_(my_my_sprintf)
#define Perl_my_sprintf DPPP_(my_my_sprintf)
-#if defined(NEED_my_sprintf) || defined(NEED_my_sprintf_GLOBAL)
int
DPPP_(my_my_sprintf)(char *buffer, const char* pat, ...)
{
@@ -3171,9 +3394,9 @@ static
#else
extern Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size);
#endif
+#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL)
#define my_strlcat DPPP_(my_my_strlcat)
#define Perl_my_strlcat DPPP_(my_my_strlcat)
-#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL)
Size_t
DPPP_(my_my_strlcat)(char *dst, const char *src, Size_t size)
{
@@ -3196,9 +3419,9 @@ static
#else
extern Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size);
#endif
+#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL)
#define my_strlcpy DPPP_(my_my_strlcpy)
#define Perl_my_strlcpy DPPP_(my_my_strlcpy)
-#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL)
Size_t
DPPP_(my_my_strlcpy)(char *dst, const char *src, Size_t size)
{
@@ -3262,12 +3485,12 @@ static
#else
extern char * DPPP_(my_pv_escape)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags);
#endif
+#if defined(NEED_pv_escape) || defined(NEED_pv_escape_GLOBAL)
#ifdef pv_escape
#undef pv_escape
#endif
#define pv_escape(a,b,c,d,e,f) DPPP_(my_pv_escape)(aTHX_ a,b,c,d,e,f)
#define Perl_pv_escape DPPP_(my_pv_escape)
-#if defined(NEED_pv_escape) || defined(NEED_pv_escape_GLOBAL)
char *
DPPP_(my_pv_escape)(pTHX_ SV *dsv, char const * const str,
const STRLEN count, const STRLEN max,
@@ -3362,12 +3585,12 @@ static
#else
extern char * DPPP_(my_pv_pretty)(pTHX_ SV * dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags);
#endif
+#if defined(NEED_pv_pretty) || defined(NEED_pv_pretty_GLOBAL)
#ifdef pv_pretty
#undef pv_pretty
#endif
#define pv_pretty(a,b,c,d,e,f,g) DPPP_(my_pv_pretty)(aTHX_ a,b,c,d,e,f,g)
#define Perl_pv_pretty DPPP_(my_pv_pretty)
-#if defined(NEED_pv_pretty) || defined(NEED_pv_pretty_GLOBAL)
char *
DPPP_(my_pv_pretty)(pTHX_ SV *dsv, char const * const str, const STRLEN count,
const STRLEN max, char const * const start_color, char const * const end_color,
@@ -3403,12 +3626,12 @@ static
#else
extern char * DPPP_(my_pv_display)(pTHX_ SV * dsv, const char * pv, STRLEN cur, STRLEN len, STRLEN pvlim);
#endif
+#if defined(NEED_pv_display) || defined(NEED_pv_display_GLOBAL)
#ifdef pv_display
#undef pv_display
#endif
#define pv_display(a,b,c,d,e) DPPP_(my_pv_display)(aTHX_ a,b,c,d,e)
#define Perl_pv_display DPPP_(my_pv_display)
-#if defined(NEED_pv_display) || defined(NEED_pv_display_GLOBAL)
char *
DPPP_(my_pv_display)(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
{
diff --git a/src/modules/perlcore/typemap b/src/modules/perlcore/typemap
index 4bfba95e9..68863a329 100644
--- a/src/modules/perlcore/typemap
+++ b/src/modules/perlcore/typemap
@@ -1,447 +1,36 @@
-# basic C types
-int T_IV
-unsigned T_UV
-unsigned int T_UV
-long T_IV
-unsigned long T_UV
-short T_IV
-unsigned short T_UV
-char T_CHAR
-unsigned char T_U_CHAR
-char * T_PV
-unsigned char * T_PV
-const char * T_PV
-caddr_t T_PV
-wchar_t * T_PV
-wchar_t T_IV
-# bool_t is defined in <rpc/rpc.h>
-bool_t T_IV
-size_t T_UV
-ssize_t T_IV
-time_t T_NV
-unsigned long * T_OPAQUEPTR
-char ** T_PACKEDARRAY
-void * T_PTR
-Time_t * T_PV
-SV * T_SV
+################################################################################
+#
+# typemap -- XS type mappings not present in early perls
+#
+################################################################################
+#
+# Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+# Version 2.x, Copyright (C) 2001, Paul Marquess.
+# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the same terms as Perl itself.
+#
+################################################################################
-# These are the backwards-compatibility AV*/HV* typemaps that
-# do not decrement refcounts. Locally override with
-# "AV* T_AVREF_REFCOUNT_FIXED", "HV* T_HVREF_REFCOUNT_FIXED",
-# "CV* T_CVREF_REFCOUNT_FIXED", "SVREF T_SVREF_REFCOUNT_FIXED",
-# to get the fixed versions.
-SVREF T_SVREF
-CV * T_CVREF
-AV * T_AVREF
-HV * T_HVREF
-
-IV T_IV
-UV T_UV
+UV T_UV
NV T_NV
-I32 T_IV
-I16 T_IV
-I8 T_IV
-STRLEN T_UV
-U32 T_U_LONG
-U16 T_U_SHORT
-U8 T_UV
-Result T_U_CHAR
-Boolean T_BOOL
-float T_FLOAT
-double T_DOUBLE
-SysRet T_SYSRET
-SysRetLong T_SYSRET
-FILE * T_STDIO
-PerlIO * T_INOUT
-FileHandle T_PTROBJ
-InputStream T_IN
-InOutStream T_INOUT
-OutputStream T_OUT
-bool T_BOOL
+HV * T_HVREF
+STRLEN T_UV
-#############################################################################
INPUT
-T_SV
- $var = $arg
-T_SVREF
- STMT_START {
- SV* const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- if (SvROK(xsub_tmp_sv)){
- $var = SvRV(xsub_tmp_sv);
- }
- else{
- Perl_croak_nocontext(\"%s: %s is not a reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_SVREF_REFCOUNT_FIXED
- STMT_START {
- SV* const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- if (SvROK(xsub_tmp_sv)){
- $var = SvRV(xsub_tmp_sv);
- }
- else{
- Perl_croak_nocontext(\"%s: %s is not a reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_AVREF
- STMT_START {
- SV* const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVAV){
- $var = (AV*)SvRV(xsub_tmp_sv);
- }
- else{
- Perl_croak_nocontext(\"%s: %s is not an ARRAY reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_AVREF_REFCOUNT_FIXED
- STMT_START {
- SV* const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVAV){
- $var = (AV*)SvRV(xsub_tmp_sv);
- }
- else{
- Perl_croak_nocontext(\"%s: %s is not an ARRAY reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_HVREF
- STMT_START {
- SV* const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){
- $var = (HV*)SvRV(xsub_tmp_sv);
- }
- else{
- Perl_croak_nocontext(\"%s: %s is not a HASH reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_HVREF_REFCOUNT_FIXED
- STMT_START {
- SV* const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){
- $var = (HV*)SvRV(xsub_tmp_sv);
- }
- else{
- Perl_croak_nocontext(\"%s: %s is not a HASH reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_CVREF
- STMT_START {
- HV *st;
- GV *gvp;
- SV * const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- $var = sv_2cv(xsub_tmp_sv, &st, &gvp, 0);
- if (!$var) {
- Perl_croak_nocontext(\"%s: %s is not a CODE reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_CVREF_REFCOUNT_FIXED
- STMT_START {
- HV *st;
- GV *gvp;
- SV * const xsub_tmp_sv = $arg;
- SvGETMAGIC(xsub_tmp_sv);
- $var = sv_2cv(xsub_tmp_sv, &st, &gvp, 0);
- if (!$var) {
- Perl_croak_nocontext(\"%s: %s is not a CODE reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\");
- }
- } STMT_END
-T_SYSRET
- $var NOT IMPLEMENTED
T_UV
- $var = ($type)SvUV($arg)
-T_IV
- $var = ($type)SvIV($arg)
-T_INT
- $var = (int)SvIV($arg)
-T_ENUM
- $var = ($type)SvIV($arg)
-T_BOOL
- $var = (bool)SvTRUE($arg)
-T_U_INT
- $var = (unsigned int)SvUV($arg)
-T_SHORT
- $var = (short)SvIV($arg)
-T_U_SHORT
- $var = (unsigned short)SvUV($arg)
-T_LONG
- $var = (long)SvIV($arg)
-T_U_LONG
- $var = (unsigned long)SvUV($arg)
-T_CHAR
- $var = (char)*SvPV_nolen($arg)
-T_U_CHAR
- $var = (unsigned char)SvUV($arg)
-T_FLOAT
- $var = (float)SvNV($arg)
+ $var = ($type)SvUV($arg)
T_NV
- $var = ($type)SvNV($arg)
-T_DOUBLE
- $var = (double)SvNV($arg)
-T_PV
- $var = ($type)SvPV_nolen($arg)
-T_PTR
- $var = INT2PTR($type,SvIV($arg))
-T_PTRREF
- if (SvROK($arg)) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type,tmp);
- }
- else
- Perl_croak_nocontext(\"%s: %s is not a reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\")
-T_REF_IV_REF
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = *INT2PTR($type *, tmp);
- }
- else
- Perl_croak_nocontext(\"%s: %s is not of type %s\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\", \"$ntype\")
-T_REF_IV_PTR
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type, tmp);
- }
- else
- Perl_croak_nocontext(\"%s: %s is not of type %s\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\", \"$ntype\")
-T_PTROBJ
- if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type,tmp);
- }
- else
- Perl_croak_nocontext(\"%s: %s is not of type %s\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\", \"$ntype\")
-T_PTRDESC
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- ${type}_desc = (\U${type}_DESC\E*) tmp;
- $var = ${type}_desc->ptr;
- }
- else
- Perl_croak_nocontext(\"%s: %s is not of type %s\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\", \"$ntype\")
-T_REFREF
- if (SvROK($arg)) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = *INT2PTR($type,tmp);
- }
- else
- Perl_croak_nocontext(\"%s: %s is not a reference\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\")
-T_REFOBJ
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = *INT2PTR($type,tmp);
- }
- else
- Perl_croak_nocontext(\"%s: %s is not of type %s\",
- ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
- \"$var\", \"$ntype\")
-T_OPAQUE
- $var = *($type *)SvPV_nolen($arg)
-T_OPAQUEPTR
- $var = ($type)SvPV_nolen($arg)
-T_PACKED
- $var = XS_unpack_$ntype($arg)
-T_PACKEDARRAY
- $var = XS_unpack_$ntype($arg)
-T_ARRAY
- U32 ix_$var = $argoff;
- $var = $ntype(items -= $argoff);
- while (items--) {
- DO_ARRAY_ELEM;
- ix_$var++;
- }
- /* this is the number of elements in the array */
- ix_$var -= $argoff
-T_STDIO
- $var = PerlIO_findFILE(IoIFP(sv_2io($arg)))
-T_IN
- $var = IoIFP(sv_2io($arg))
-T_INOUT
- $var = IoIFP(sv_2io($arg))
-T_OUT
- $var = IoOFP(sv_2io($arg))
-#############################################################################
-OUTPUT
-T_SV
- $arg = $var;
-T_SVREF
- $arg = newRV((SV*)$var);
-T_SVREF_REFCOUNT_FIXED
- $arg = newRV_noinc((SV*)$var);
-T_AVREF
- $arg = newRV((SV*)$var);
-T_AVREF_REFCOUNT_FIXED
- $arg = newRV_noinc((SV*)$var);
+ $var = ($type)SvNV($arg)
T_HVREF
- $arg = newRV((SV*)$var);
-T_HVREF_REFCOUNT_FIXED
- $arg = newRV_noinc((SV*)$var);
-T_CVREF
- $arg = newRV((SV*)$var);
-T_CVREF_REFCOUNT_FIXED
- $arg = newRV_noinc((SV*)$var);
-T_IV
- sv_setiv($arg, (IV)$var);
+ if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
+ $var = (HV*)SvRV($arg);
+ else
+ Perl_croak(aTHX_ \"$var is not a hash reference\")
+
+OUTPUT
T_UV
- sv_setuv($arg, (UV)$var);
-T_INT
- sv_setiv($arg, (IV)$var);
-T_SYSRET
- if ($var != -1) {
- if ($var == 0)
- sv_setpvn($arg, "0 but true", 10);
- else
- sv_setiv($arg, (IV)$var);
- }
-T_ENUM
- sv_setiv($arg, (IV)$var);
-T_BOOL
- ${"$var" eq "RETVAL" ? \"$arg = boolSV($var);" : \"sv_setsv($arg, boolSV($var));"}
-T_U_INT
- sv_setuv($arg, (UV)$var);
-T_SHORT
- sv_setiv($arg, (IV)$var);
-T_U_SHORT
- sv_setuv($arg, (UV)$var);
-T_LONG
- sv_setiv($arg, (IV)$var);
-T_U_LONG
- sv_setuv($arg, (UV)$var);
-T_CHAR
- sv_setpvn($arg, (char *)&$var, 1);
-T_U_CHAR
- sv_setuv($arg, (UV)$var);
-T_FLOAT
- sv_setnv($arg, (double)$var);
+ sv_setuv($arg, (UV)$var);
T_NV
- sv_setnv($arg, (NV)$var);
-T_DOUBLE
- sv_setnv($arg, (double)$var);
-T_PV
- sv_setpv((SV*)$arg, $var);
-T_PTR
- sv_setiv($arg, PTR2IV($var));
-T_PTRREF
- sv_setref_pv($arg, Nullch, (void*)$var);
-T_REF_IV_REF
- sv_setref_pv($arg, \"${ntype}\", (void*)new $ntype($var));
-T_REF_IV_PTR
- sv_setref_pv($arg, \"${ntype}\", (void*)$var);
-T_PTROBJ
- sv_setref_pv($arg, \"${ntype}\", (void*)$var);
-T_PTRDESC
- sv_setref_pv($arg, \"${ntype}\", (void*)new\U${type}_DESC\E($var));
-T_REFREF
- NOT_IMPLEMENTED
-T_REFOBJ
- NOT IMPLEMENTED
-T_OPAQUE
- sv_setpvn($arg, (char *)&$var, sizeof($var));
-T_OPAQUEPTR
- sv_setpvn($arg, (char *)$var, sizeof(*$var));
-T_PACKED
- XS_pack_$ntype($arg, $var);
-T_PACKEDARRAY
- XS_pack_$ntype($arg, $var, count_$ntype);
-T_ARRAY
- {
- U32 ix_$var;
- SSize_t extend_size =
- /* The weird way this is written is because g++ is dumb
- * enough to warn "comparison is always false" on something
- * like:
- *
- * sizeof(a) > sizeof(b) && a > B_t_MAX
- *
- * (where the LH condition is false)
- */
- (size_$var > (sizeof(size_$var) > sizeof(SSize_t)
- ? SSize_t_MAX : size_$var))
- ? -1 : (SSize_t)size_$var;
- EXTEND(SP, extend_size);
- for (ix_$var = 0; ix_$var < size_$var; ix_$var++) {
- ST(ix_$var) = sv_newmortal();
- DO_ARRAY_ELEM
- }
- }
-T_STDIO
- {
- GV *gv = newGVgen("$Package");
- PerlIO *fp = PerlIO_importFILE($var,0);
- if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) ) {
- SV *rv = newRV_inc((SV*)gv);
- rv = sv_bless(rv, GvSTASH(gv));
- ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
- : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
- }${"$var" ne "RETVAL" ? \"
- else
- sv_setsv($arg, &PL_sv_undef);\n" : \""}
- }
-T_IN
- {
- GV *gv = newGVgen("$Package");
- if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) ) {
- SV *rv = newRV_inc((SV*)gv);
- rv = sv_bless(rv, GvSTASH(gv));
- ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
- : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
- }${"$var" ne "RETVAL" ? \"
- else
- sv_setsv($arg, &PL_sv_undef);\n" : \""}
- }
-T_INOUT
- {
- GV *gv = newGVgen("$Package");
- if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) ) {
- SV *rv = newRV_inc((SV*)gv);
- rv = sv_bless(rv, GvSTASH(gv));
- ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
- : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
- }${"$var" ne "RETVAL" ? \"
- else
- sv_setsv($arg, &PL_sv_undef);\n" : \""}
- }
-T_OUT
- {
- GV *gv = newGVgen("$Package");
- if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) ) {
- SV *rv = newRV_inc((SV*)gv);
- rv = sv_bless(rv, GvSTASH(gv));
- ${"$var" eq "RETVAL" ? \"$arg = sv_2mortal(rv);"
- : \"sv_setsv($arg, rv);\n\t\tSvREFCNT_dec_NN(rv);"}
- }${"$var" ne "RETVAL" ? \"
- else
- sv_setsv($arg, &PL_sv_undef);\n" : \""}
- }
+ sv_setnv($arg, (NV)$var);
diff --git a/src/modules/perlcore/xs.inc b/src/modules/perlcore/xs.inc
index 125ff0f55..5c99d114a 100644
--- a/src/modules/perlcore/xs.inc
+++ b/src/modules/perlcore/xs.inc
@@ -1,5 +1,5 @@
/*
- * This file was generated automatically by ExtUtils::ParseXS version 3.34 from the
+ * This file was generated automatically by ExtUtils::ParseXS version 3.39 from the
* contents of KVIrc.xs. Do not edit this file, edit KVIrc.xs instead.
*
* ANY CHANGES MADE HERE WILL BE LOST!
diff --git a/src/modules/popupeditor/PopupEditorWindow.cpp b/src/modules/popupeditor/PopupEditorWindow.cpp
index 60b7741f6..572a8e7bd 100644
--- a/src/modules/popupeditor/PopupEditorWindow.cpp
+++ b/src/modules/popupeditor/PopupEditorWindow.cpp
@@ -450,15 +450,10 @@ void SinglePopupEditor::customContextMenuRequested(const QPoint & pos)
__tr2qs_ctx("Paste Inside", "editor"), this, SLOT(contextPasteInside()))
->setEnabled(it && bIsMenu && m_pClipboard);
- bool bSeparatorInserted = false;
-
m_pContextPopup->addSeparator();
- bSeparatorInserted = true;
m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Prologue)),
__tr2qs_ctx("New Menu Prologue", "editor"), this, SLOT(contextNewPrologue()));
- if(!bSeparatorInserted)
- m_pContextPopup->addSeparator();
m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Epilogue)),
__tr2qs_ctx("New Menu Epilogue", "editor"), this, SLOT(contextNewEpilogue()));
diff --git a/src/modules/popupeditor/PopupEditorWindow.h b/src/modules/popupeditor/PopupEditorWindow.h
index 127ed1994..62228bdec 100644
--- a/src/modules/popupeditor/PopupEditorWindow.h
+++ b/src/modules/popupeditor/PopupEditorWindow.h
@@ -104,7 +104,7 @@ public:
protected:
// theItem is the item above the first item that has to be inserted
- void populateMenu(KviKvsPopupMenu * pop, PopupTreeWidgetItem * par, PopupTreeWidgetItem * theItem = 0);
+ void populateMenu(KviKvsPopupMenu * pop, PopupTreeWidgetItem * par, PopupTreeWidgetItem * theItem = nullptr);
void saveLastSelectedItem();
void addItemToMenu(KviKvsPopupMenu * pop, PopupTreeWidgetItem * par);
PopupTreeWidgetItem * newItem(PopupTreeWidgetItem * par, PopupTreeWidgetItem * after, PopupTreeWidgetItem::Type t);
@@ -189,7 +189,7 @@ protected slots:
void popupRefresh(const QString & szName);
protected:
- void showEvent(QShowEvent * e);
+ void showEvent(QShowEvent * e) override;
void getExportPopupBuffer(QString & buffer, MenuTreeWidgetItem * it);
private:
diff --git a/src/modules/pythoncore/kvircmodule.cpp b/src/modules/pythoncore/kvircmodule.cpp
index 659345d7e..8f7d15958 100644
--- a/src/modules/pythoncore/kvircmodule.cpp
+++ b/src/modules/pythoncore/kvircmodule.cpp
@@ -66,9 +66,8 @@ extern KviCString g_szLastReturnValue;
extern QStringList g_lWarningList;
extern QString g_lError;
-static PyObject * PyKVIrc_echo(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_echo(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char *pcText = nullptr, *pcWinId = nullptr;
KviWindow * pWnd = nullptr;
int iColorSet = 0;
@@ -104,9 +103,8 @@ static PyObject * PyKVIrc_echo(PyObject * pSelf, PyObject * pArgs)
return Py_BuildValue("i", 1);
}
-static PyObject * PyKVIrc_say(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_say(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char *pcText = nullptr, *pcWinId = nullptr;
KviWindow * pWnd = nullptr;
@@ -143,9 +141,8 @@ static PyObject * PyKVIrc_say(PyObject * pSelf, PyObject * pArgs)
return Py_BuildValue("i", 1);
}
-static PyObject * PyKVIrc_warning(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_warning(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char * pcText = nullptr;
if(QThread::currentThread() != g_pApp->thread())
@@ -166,9 +163,8 @@ static PyObject * PyKVIrc_warning(PyObject * pSelf, PyObject * pArgs)
return Py_BuildValue("i", 1);
}
-static PyObject * PyKVIrc_getLocal(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_getLocal(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char * szVarName = nullptr;
QString tmp;
@@ -197,9 +193,8 @@ static PyObject * PyKVIrc_getLocal(PyObject * pSelf, PyObject * pArgs)
return nullptr;
}
-static PyObject * PyKVIrc_setLocal(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_setLocal(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char *szVarName = nullptr, *szVarValue = nullptr;
QString tmp;
@@ -228,9 +223,8 @@ static PyObject * PyKVIrc_setLocal(PyObject * pSelf, PyObject * pArgs)
return nullptr;
}
-static PyObject * PyKVIrc_getGlobal(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_getGlobal(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char * szVarName = nullptr;
QString tmp;
@@ -259,9 +253,8 @@ static PyObject * PyKVIrc_getGlobal(PyObject * pSelf, PyObject * pArgs)
return nullptr;
}
-static PyObject * PyKVIrc_setGlobal(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_setGlobal(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char *szVarName = nullptr, *szVarValue = nullptr;
QString tmp;
@@ -290,9 +283,8 @@ static PyObject * PyKVIrc_setGlobal(PyObject * pSelf, PyObject * pArgs)
return nullptr;
}
-static PyObject * PyKVIrc_eval(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_eval(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char * pcCode = nullptr;
KviWindow * pWnd = nullptr;
char * pcRetVal = nullptr;
@@ -330,9 +322,8 @@ static PyObject * PyKVIrc_eval(PyObject * pSelf, PyObject * pArgs)
return Py_BuildValue("s", pcRetVal);
}
-static PyObject * PyKVIrc_internalWarning(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_internalWarning(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char * pcText = nullptr;
if(QThread::currentThread() != g_pApp->thread())
@@ -350,9 +341,8 @@ static PyObject * PyKVIrc_internalWarning(PyObject * pSelf, PyObject * pArgs)
return Py_BuildValue("i", 1);
}
-static PyObject * PyKVIrc_error(PyObject * pSelf, PyObject * pArgs)
+static PyObject * PyKVIrc_error(PyObject * /* pSelf */, PyObject * pArgs)
{
- Q_UNUSED(pSelf);
const char * pcText = nullptr;
if(QThread::currentThread() != g_pApp->thread())
diff --git a/src/modules/pythoncore/pythoncoreinterface.h b/src/modules/pythoncore/pythoncoreinterface.h
index 26b42aa1a..5dae39698 100644
--- a/src/modules/pythoncore/pythoncoreinterface.h
+++ b/src/modules/pythoncore/pythoncoreinterface.h
@@ -32,7 +32,7 @@
#define KVI_PYTHONCORECTRLCOMMAND_EXECUTE "execute"
-typedef struct _KviPythonCoreCtrlCommand_execute
+struct KviPythonCoreCtrlCommand_execute
{
unsigned int uSize;
KviKvsRunTimeContext * pKvsContext;
@@ -44,14 +44,14 @@ typedef struct _KviPythonCoreCtrlCommand_execute
QStringList lWarnings;
QStringList lArgs;
bool bQuiet;
-} KviPythonCoreCtrlCommand_execute;
+};
#define KVI_PYTHONCORECTRLCOMMAND_DESTROY "destroy"
-typedef struct _KviPythonCoreCtrlCommand_destroy
+struct KviPythonCoreCtrlCommand_destroy
{
unsigned int uSize;
QString szContext;
-} KviPythonCoreCtrlCommand_destroy;
+};
#endif // !_PYTHONCOREINTERFACE_H_
diff --git a/src/modules/raweditor/RawEditorWindow.cpp b/src/modules/raweditor/RawEditorWindow.cpp
index 53364371a..c9aedb643 100644
--- a/src/modules/raweditor/RawEditorWindow.cpp
+++ b/src/modules/raweditor/RawEditorWindow.cpp
@@ -153,11 +153,11 @@ void RawEditorWidget::customContextMenuRequested(const QPoint & pos)
m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::HandlerDisabled)),
__tr2qs_ctx("&Disable Handler", "editor"), this, SLOT(toggleCurrentHandlerEnabled()));
- m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Discard)),
- __tr2qs_ctx("Re&move Handler", "editor"), this, SLOT(removeCurrentHandler()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Discard)),
+ __tr2qs_ctx("Re&move Handler", "editor"), this, SLOT(removeCurrentHandler()));
- m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Save)),
- __tr2qs_ctx("&Export Handler to...", "editor"), this, SLOT(exportCurrentHandler()));
+ m_pContextPopup->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::Save)),
+ __tr2qs_ctx("&Export Handler to...", "editor"), this, SLOT(exportCurrentHandler()));
}
else
{
diff --git a/src/modules/raweditor/RawEditorWindow.h b/src/modules/raweditor/RawEditorWindow.h
index 903c76c94..dc8c42b8e 100644
--- a/src/modules/raweditor/RawEditorWindow.h
+++ b/src/modules/raweditor/RawEditorWindow.h
@@ -123,7 +123,7 @@ protected slots:
void exportCurrentHandler();
protected:
- void showEvent(QShowEvent * e);
+ void showEvent(QShowEvent * e) override;
private:
void oneTimeSetup();
@@ -140,11 +140,11 @@ protected:
RawEditorWidget * m_pEditor;
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void getConfigGroupName(QString & szName);
- virtual void saveProperties(KviConfigurationFile *);
- virtual void loadProperties(KviConfigurationFile *);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void getConfigGroupName(QString & szName) override;
+ void saveProperties(KviConfigurationFile *) override;
+ void loadProperties(KviConfigurationFile *) override;
protected slots:
void cancelClicked();
void okClicked();
diff --git a/src/modules/reguser/RegisteredUserEntryDialog.cpp b/src/modules/reguser/RegisteredUserEntryDialog.cpp
index ef08d3b67..87b97cfeb 100644
--- a/src/modules/reguser/RegisteredUserEntryDialog.cpp
+++ b/src/modules/reguser/RegisteredUserEntryDialog.cpp
@@ -415,7 +415,7 @@ RegisteredUserEntryDialog::RegisteredUserEntryDialog(QWidget * p, KviRegisteredU
m_pCustomColorCheck->setChecked(r->getBoolProperty("useCustomColor"));
g->addWidget(m_pCustomColorCheck, 5, 0, 1, 2);
- m_pCustomColorSelector = new KviColorSelector(p2, QString(), m_pCustomColor, 1);
+ m_pCustomColorSelector = new KviColorSelector(p2, QString(), m_pCustomColor, true);
g->addWidget(m_pCustomColorSelector, 5, 2);
QPushButton * pb = new QPushButton(__tr2qs_ctx("All Properties...", "register"), p2);
diff --git a/src/modules/reguser/RegisteredUserEntryDialog.h b/src/modules/reguser/RegisteredUserEntryDialog.h
index 36dd0d640..8bb40f72e 100644
--- a/src/modules/reguser/RegisteredUserEntryDialog.h
+++ b/src/modules/reguser/RegisteredUserEntryDialog.h
@@ -61,7 +61,7 @@ protected:
protected:
void fillData();
- virtual void closeEvent(QCloseEvent *);
+ void closeEvent(QCloseEvent *) override;
protected slots:
void okClicked();
void addClicked();
@@ -82,7 +82,7 @@ protected:
QLineEdit * m_pUserEdit;
QLineEdit * m_pHostEdit;
- virtual void closeEvent(QCloseEvent *);
+ void closeEvent(QCloseEvent *) override;
protected slots:
void okClicked();
};
@@ -92,7 +92,7 @@ class RegisteredUserEntryDialog : public KviTalTabDialog
Q_OBJECT
public:
RegisteredUserEntryDialog(QWidget * p, KviRegisteredUser * r, bool bModal = true);
- virtual ~RegisteredUserEntryDialog();
+ ~RegisteredUserEntryDialog();
protected:
KviRegisteredUser * m_pUser;
@@ -129,7 +129,7 @@ protected:
QCheckBox * m_pIgnoreDcc;
QCheckBox * m_pIgnoreHighlight;
- virtual void closeEvent(QCloseEvent *);
+ void closeEvent(QCloseEvent *) override;
protected slots:
void okClicked();
void addMaskClicked();
diff --git a/src/modules/reguser/RegisteredUsersDialog.cpp b/src/modules/reguser/RegisteredUsersDialog.cpp
index 907119896..5f51decd6 100644
--- a/src/modules/reguser/RegisteredUsersDialog.cpp
+++ b/src/modules/reguser/RegisteredUsersDialog.cpp
@@ -219,7 +219,7 @@ QSize RegisteredUsersDialogItemDelegate::sizeHint(const QStyleOptionViewItem & o
//users
// RegisteredUsersDialogItem *it=(RegisteredUsersDialogItem*)item;
- return QSize(300, LVI_ICON_SIZE + 2 * LVI_BORDER);
+ return { 300, LVI_ICON_SIZE + 2 * LVI_BORDER };
}
}
@@ -445,9 +445,9 @@ void RegisteredUsersDialog::editGroup(KviRegisteredUserGroup * group)
if(ok && !text.isEmpty())
{
QString szOldGroup = group->name();
- g_pLocalRegisteredUserDataBase->groupDict()->setAutoDelete(0);
+ g_pLocalRegisteredUserDataBase->groupDict()->setAutoDelete(false);
g_pLocalRegisteredUserDataBase->groupDict()->remove(szOldGroup);
- g_pLocalRegisteredUserDataBase->groupDict()->setAutoDelete(1);
+ g_pLocalRegisteredUserDataBase->groupDict()->setAutoDelete(true);
group->setName(text);
g_pLocalRegisteredUserDataBase->groupDict()->insert(text, group);
@@ -697,12 +697,12 @@ void RegisteredUsersDialog::selectionChanged()
#define KVI_REGUSER_DB_FILE_MAGIC 0x5334DBDB
#define KVI_REGUSER_DB_FILE_VERSION 1
-typedef struct _KviReguserDbFileHeader
+struct KviReguserDbFileHeader
{
kvi_u32_t magic;
kvi_u32_t version;
kvi_u32_t nentries;
-} KviReguserDbFileHeader;
+};
void RegisteredUsersDialog::exportClicked()
{
diff --git a/src/modules/reguser/RegisteredUsersDialog.h b/src/modules/reguser/RegisteredUsersDialog.h
index 5a049dc20..f6cd209ae 100644
--- a/src/modules/reguser/RegisteredUsersDialog.h
+++ b/src/modules/reguser/RegisteredUsersDialog.h
@@ -46,7 +46,7 @@ public:
~KviRegisteredUsersListView(){};
protected:
- void mousePressEvent(QMouseEvent * e);
+ void mousePressEvent(QMouseEvent * e) override;
signals:
void rightButtonPressed(QTreeWidgetItem *, QPoint);
};
@@ -54,11 +54,11 @@ signals:
class RegisteredUsersDialogItemDelegate : public QStyledItemDelegate
{
public:
- RegisteredUsersDialogItemDelegate(KviRegisteredUsersListView * pWidget = 0)
+ RegisteredUsersDialogItemDelegate(KviRegisteredUsersListView * pWidget = nullptr)
: QStyledItemDelegate(pWidget){};
~RegisteredUsersDialogItemDelegate(){};
- QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
- void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
+ QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const override;
+ void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const override;
};
class RegisteredUsersDialogItemBase : public QTreeWidgetItem
@@ -123,7 +123,7 @@ class RegisteredUsersDialog : public QWidget
{
Q_OBJECT
public:
- RegisteredUsersDialog(QWidget * par = 0);
+ RegisteredUsersDialog(QWidget * par = nullptr);
~RegisteredUsersDialog();
public:
@@ -141,7 +141,7 @@ protected:
void fillList();
void editItem(RegisteredUsersDialogItem * i);
void editGroup(KviRegisteredUserGroup * group);
- virtual void closeEvent(QCloseEvent *);
+ void closeEvent(QCloseEvent *) override;
protected slots:
void cancelClicked();
void okClicked();
diff --git a/src/modules/reguser/RegistrationWizard.h b/src/modules/reguser/RegistrationWizard.h
index b41ac6a06..a3cd710ed 100644
--- a/src/modules/reguser/RegistrationWizard.h
+++ b/src/modules/reguser/RegistrationWizard.h
@@ -43,7 +43,7 @@ class RegistrationWizard : public KviTalWizard
{
Q_OBJECT
public:
- RegistrationWizard(const QString & startMask, KviRegisteredUserDataBase * db = 0, QWidget * par = 0, bool bModal = false);
+ RegistrationWizard(const QString & startMask, KviRegisteredUserDataBase * db = nullptr, QWidget * par = nullptr, bool bModal = false);
~RegistrationWizard();
KviRegisteredUserDataBase * m_pDb;
@@ -80,9 +80,9 @@ public:
KviPixmap * m_pAvatar;
protected:
- virtual void showEvent(QShowEvent * e);
- virtual void accept();
- virtual void reject();
+ void showEvent(QShowEvent * e) override;
+ void accept() override;
+ void reject() override;
protected slots:
void realNameChanged(const QString & str);
void maskChanged(const QString & str);
diff --git a/src/modules/reguser/libkvireguser.cpp b/src/modules/reguser/libkvireguser.cpp
index ebb9d6abb..a695cac9b 100644
--- a/src/modules/reguser/libkvireguser.cpp
+++ b/src/modules/reguser/libkvireguser.cpp
@@ -223,7 +223,7 @@ static bool reguser_kvs_cmd_add(KviKvsModuleCommandCall * c)
{
KviIrcMask * m = new KviIrcMask(szMask);
u = g_pRegisteredUserDataBase->addMask(u, m);
- if(!u)
+ if(u)
{
if(!c->hasSwitch('q', "quiet"))
c->warning(__tr2qs_ctx("Mask %Q is already used to identify user %s", "register"), &szMask, u->name().toUtf8().data());
diff --git a/src/modules/rijndael/BlowFish.cpp b/src/modules/rijndael/BlowFish.cpp
index e56178276..1d16a1d43 100644
--- a/src/modules/rijndael/BlowFish.cpp
+++ b/src/modules/rijndael/BlowFish.cpp
@@ -436,7 +436,7 @@ void BlowFish::Decrypt(SBlock & block)
}
//Semi-Portable Byte Shuffling
-inline void BytesToBlock(unsigned char const * p, SBlock & b)
+void BytesToBlock(unsigned char const * p, SBlock & b)
{
unsigned int y;
//Left
@@ -467,7 +467,7 @@ inline void BytesToBlock(unsigned char const * p, SBlock & b)
b.m_uir |= y;
}
-inline void BlockToBytes(SBlock const & b, unsigned char * p)
+void BlockToBytes(SBlock const & b, unsigned char * p)
{
unsigned int y;
//Right
diff --git a/src/modules/rijndael/InitVectorEngine.cpp b/src/modules/rijndael/InitVectorEngine.cpp
index 776308260..e0ba47b36 100644
--- a/src/modules/rijndael/InitVectorEngine.cpp
+++ b/src/modules/rijndael/InitVectorEngine.cpp
@@ -24,7 +24,7 @@
#include "InitVectorEngine.h"
-#include <stdlib.h>
+#include <cstdlib>
#include "KviTimeUtils.h"
namespace InitVectorEngine
diff --git a/src/modules/rijndael/Rijndael.h b/src/modules/rijndael/Rijndael.h
index 6905397e9..95331c07a 100644
--- a/src/modules/rijndael/Rijndael.h
+++ b/src/modules/rijndael/Rijndael.h
@@ -145,31 +145,31 @@ protected:
public:
// Initializes the crypt session
// Returns RIJNDAEL_SUCCESS or an error code
- int init(Mode mode, Direction dir, const UINT8 * key, KeyLength keyLen, UINT8 * initVector = 0);
+ int init(Mode mode, Direction dir, const UINT8 * key, KeyLength keyLen, UINT8 * initVector = nullptr);
// Input len is in BITS!
// Encrypts inputLen / 128 blocks of input and puts it in outBuffer
// outBuffer must be at least inputLen / 8 bytes long.
// Returns the encrypted buffer length in BITS or an error code < 0 in case of error
- int blockEncrypt(const UINT8 * input, int inputLen, UINT8 * outBuffer, UINT8 * initVector = 0);
+ int blockEncrypt(const UINT8 * input, int inputLen, UINT8 * outBuffer, UINT8 * initVector = nullptr);
// Input len is in BYTES!
// outBuffer must be at least inputLen + 16 bytes long
// Returns the encrypted buffer length in BYTES or an error code < 0 in case of error
- int padEncrypt(const UINT8 * input, int inputOctets, UINT8 * outBuffer, UINT8 * initVector = 0);
+ int padEncrypt(const UINT8 * input, int inputOctets, UINT8 * outBuffer, UINT8 * initVector = nullptr);
// Input len is in BITS!
// outBuffer must be at least inputLen / 8 bytes long
// Returns the decrypted buffer length in BITS and an error code < 0 in case of error
- int blockDecrypt(const UINT8 * input, int inputLen, UINT8 * outBuffer, UINT8 * initVector = 0);
+ int blockDecrypt(const UINT8 * input, int inputLen, UINT8 * outBuffer, UINT8 * initVector = nullptr);
// Input len is in BYTES!
// outBuffer must be at least inputLen bytes long
// Returns the decrypted buffer length in BYTES and an error code < 0 in case of error
- int padDecrypt(const UINT8 * input, int inputOctets, UINT8 * outBuffer, UINT8 * initVector = 0);
+ int padDecrypt(const UINT8 * input, int inputOctets, UINT8 * outBuffer, UINT8 * initVector = nullptr);
protected:
void keySched(UINT8 key[_MAX_KEY_COLUMNS][4]);
void keyEncToDec();
void encrypt(const UINT8 a[16], UINT8 b[16]);
void decrypt(const UINT8 a[16], UINT8 b[16]);
- void updateInitVector(UINT8 * initVector = 0);
+ void updateInitVector(UINT8 * initVector = nullptr);
};
#endif // COMPILE_CRYPT_SUPPORT
diff --git a/src/modules/rijndael/libkvirijndael.h b/src/modules/rijndael/libkvirijndael.h
index ef54e7ec6..eb9a371d3 100644
--- a/src/modules/rijndael/libkvirijndael.h
+++ b/src/modules/rijndael/libkvirijndael.h
@@ -38,7 +38,7 @@ class KviRijndaelEngine : public KviCryptEngine
Q_OBJECT
public:
KviRijndaelEngine();
- virtual ~KviRijndaelEngine();
+ ~KviRijndaelEngine();
private:
enum OperationalMode
@@ -71,7 +71,7 @@ class KviRijndaelHexEngine : public KviRijndaelEngine
Q_OBJECT
public:
KviRijndaelHexEngine() : KviRijndaelEngine(){}
- virtual ~KviRijndaelHexEngine(){}
+ ~KviRijndaelHexEngine() = default;
protected:
bool binaryToAscii(const char * inBuffer, int len, KviCString & outBuffer) override;
@@ -83,7 +83,7 @@ class KviRijndael128HexEngine : public KviRijndaelHexEngine
Q_OBJECT
public:
KviRijndael128HexEngine() : KviRijndaelHexEngine(){}
- virtual ~KviRijndael128HexEngine(){}
+ ~KviRijndael128HexEngine() = default;
protected:
int getKeyLen() const override { return 16; }
@@ -95,7 +95,7 @@ class KviRijndael192HexEngine : public KviRijndaelHexEngine
Q_OBJECT
public:
KviRijndael192HexEngine() : KviRijndaelHexEngine(){}
- virtual ~KviRijndael192HexEngine(){}
+ ~KviRijndael192HexEngine() = default;
protected:
int getKeyLen() const override { return 24; }
@@ -107,7 +107,7 @@ class KviRijndael256HexEngine : public KviRijndaelHexEngine
Q_OBJECT
public:
KviRijndael256HexEngine() : KviRijndaelHexEngine(){}
- virtual ~KviRijndael256HexEngine(){}
+ ~KviRijndael256HexEngine() = default;
protected:
int getKeyLen() const override { return 32; }
@@ -118,7 +118,7 @@ class KviRijndaelBase64Engine : public KviRijndaelEngine
Q_OBJECT
public:
KviRijndaelBase64Engine() : KviRijndaelEngine(){}
- virtual ~KviRijndaelBase64Engine(){}
+ ~KviRijndaelBase64Engine() = default;
protected:
bool binaryToAscii(const char * inBuffer, int len, KviCString & outBuffer) override;
@@ -130,7 +130,7 @@ class KviRijndael128Base64Engine : public KviRijndaelBase64Engine
Q_OBJECT
public:
KviRijndael128Base64Engine() : KviRijndaelBase64Engine(){}
- virtual ~KviRijndael128Base64Engine(){}
+ ~KviRijndael128Base64Engine() = default;
protected:
int getKeyLen() const override { return 16; }
@@ -142,7 +142,7 @@ class KviRijndael192Base64Engine : public KviRijndaelBase64Engine
Q_OBJECT
public:
KviRijndael192Base64Engine() : KviRijndaelBase64Engine(){}
- virtual ~KviRijndael192Base64Engine(){}
+ ~KviRijndael192Base64Engine() = default;
protected:
int getKeyLen() const override { return 24; }
@@ -154,7 +154,7 @@ class KviRijndael256Base64Engine : public KviRijndaelBase64Engine
Q_OBJECT
public:
KviRijndael256Base64Engine() : KviRijndaelBase64Engine(){}
- virtual ~KviRijndael256Base64Engine(){}
+ ~KviRijndael256Base64Engine() = default;
protected:
int getKeyLen() const override { return 32; }
@@ -169,7 +169,7 @@ class KviMircryptionEngine : public KviCryptEngine
Q_OBJECT
public:
KviMircryptionEngine();
- virtual ~KviMircryptionEngine();
+ ~KviMircryptionEngine();
protected:
KviCString m_szEncryptKey;
diff --git a/src/modules/setup/SetupWizard.cpp b/src/modules/setup/SetupWizard.cpp
index 8ae48632f..8cef633e1 100644
--- a/src/modules/setup/SetupWizard.cpp
+++ b/src/modules/setup/SetupWizard.cpp
@@ -192,7 +192,7 @@ SetupWizard::SetupWizard()
ed->setWordWrapMode(QTextOption::NoWrap);
QString szLicense;
QString szLicensePath;
- g_pApp->getGlobalKvircDirectory(szLicensePath, KviApplication::License, "COPYING");
+ g_pApp->getGlobalKvircDirectory(szLicensePath, KviApplication::License, "ABOUT-LICENSE");
if(!KviFileUtils::loadFile(szLicensePath, szLicense))
{
szLicense = __tr("Oops! Can't find the license file.\n"
@@ -806,7 +806,7 @@ void SetupWizard::makeLink()
0, KEY_QUERY_VALUE, &hCU)
== ERROR_SUCCESS)
{
- RegQueryValueEx(hCU, TEXT("Desktop"), NULL, &lpType,
+ RegQueryValueEx(hCU, TEXT("Desktop"), nullptr, &lpType,
(unsigned char *)&szLink, &ulSize);
RegCloseKey(hCU);
}
@@ -819,13 +819,13 @@ void SetupWizard::makeLink()
szKvircExec.append("\\kvirc.exe");
// Trigger a horrible machinery
- CoInitialize(NULL); // we need COM+OLE
+ CoInitialize(nullptr); // we need COM+OLE
// Fiddle with an obscure shell interface
IShellLink * psl;
// Get a pointer to the IShellLink interface: this is kinda ugly :)
- if(CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+ if(CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER,
IID_IShellLink, (void **)&psl)
== S_OK)
{
@@ -1019,9 +1019,7 @@ void SetupWizard::accept()
// Make local->global link
QString localPath = QString("%1/global").arg(g_pApp->m_szLocalKvircDir);
unlink(QTextCodec::codecForLocale()->fromUnicode(localPath).data());
- int dummy; // make gcc happy
- dummy = symlink(QTextCodec::codecForLocale()->fromUnicode(g_pApp->m_szGlobalKvircDir).data(), QTextCodec::codecForLocale()->fromUnicode(localPath).data());
- Q_UNUSED(dummy);
+ (void)symlink(QTextCodec::codecForLocale()->fromUnicode(g_pApp->m_szGlobalKvircDir).data(), QTextCodec::codecForLocale()->fromUnicode(localPath).data());
#endif
#ifdef COMPILE_KDE_SUPPORT
diff --git a/src/modules/setup/SetupWizard.h b/src/modules/setup/SetupWizard.h
index 9cec49c09..be71335a7 100644
--- a/src/modules/setup/SetupWizard.h
+++ b/src/modules/setup/SetupWizard.h
@@ -137,14 +137,14 @@ public:
protected:
void makeLink();
void setUrlHandlers();
- virtual void showEvent(QShowEvent * e);
+ void showEvent(QShowEvent * e) override;
void enableOrDisableIdentityPageNextButton();
public slots:
void chooseOldDataPath();
void chooseDataPath();
void chooseIncomingPath();
- virtual void accept();
- virtual void reject();
+ void accept() override;
+ void reject() override;
void oldDirClicked();
void newDirClicked();
diff --git a/src/modules/setup/libkvisetup.cpp b/src/modules/setup/libkvisetup.cpp
index 606ca9ac6..4c576e3a8 100644
--- a/src/modules/setup/libkvisetup.cpp
+++ b/src/modules/setup/libkvisetup.cpp
@@ -33,10 +33,13 @@
#include "KviWindow.h"
#include "KviTheme.h"
#include "KviIrcServerDataBase.h"
+#include "KviModuleManager.h"
#include <QString>
#include <QFile>
+extern KVIRC_API KviModuleManager * g_pModuleManager;
+
// this will be chosen during the setup process
QString g_szChoosenIncomingDirectory;
int g_iThemeToApply = THEME_APPLY_NONE;
@@ -117,6 +120,11 @@ KVIMODULEEXPORTFUNC void setup_finish()
delete pParams;
KVI_OPTION_BOOL(KviOption_boolShowServersConnectDialogOnStart) = true;
}
+
+ // detect the most appropriate sound system
+ KviModule * m = g_pModuleManager->getModule("snd");
+ if(m)
+ m->ctrl("detectSoundSystem", nullptr);
}
}
diff --git a/src/modules/sharedfile/libkvisharedfile.cpp b/src/modules/sharedfile/libkvisharedfile.cpp
index 199c25fce..fd9cb880e 100644
--- a/src/modules/sharedfile/libkvisharedfile.cpp
+++ b/src/modules/sharedfile/libkvisharedfile.cpp
@@ -33,7 +33,7 @@
#include "KviMainWindow.h"
#include "KviPointerHashTable.h"
-#include <time.h>
+#include <ctime>
extern KVIRC_API KviSharedFilesManager * g_pSharedFilesManager;
diff --git a/src/modules/sharedfileswindow/SharedFilesWindow.h b/src/modules/sharedfileswindow/SharedFilesWindow.h
index fd9fd6dee..96de53ef3 100644
--- a/src/modules/sharedfileswindow/SharedFilesWindow.h
+++ b/src/modules/sharedfileswindow/SharedFilesWindow.h
@@ -57,7 +57,7 @@ class SharedFileEditDialog : public QDialog
{
Q_OBJECT
public:
- SharedFileEditDialog(QWidget * par, KviSharedFile * f = 0);
+ SharedFileEditDialog(QWidget * par, KviSharedFile * f = nullptr);
virtual ~SharedFileEditDialog();
QDateTimeEdit * m_pExpireDateTimeEdit;
diff --git a/src/modules/snd/libkvisnd.cpp b/src/modules/snd/libkvisnd.cpp
index a324b91a9..4c56ab380 100644
--- a/src/modules/snd/libkvisnd.cpp
+++ b/src/modules/snd/libkvisnd.cpp
@@ -49,7 +49,7 @@
#include <QFile>
#include <unistd.h>
-#include <errno.h>
+#include <cerrno>
#ifdef COMPILE_ESD_SUPPORT
#include <esd.h>
@@ -210,22 +210,12 @@ bool KviSoundPlayer::event(QEvent * e)
void KviSoundPlayer::detectSoundSystem()
{
-#ifdef COMPILE_PHONON_SUPPORT
- // FIXME: Phonon seems to freeze on windows sometimes.. maybe it's better to auto-detect winmm ?
- if(!m_pPhononPlayer)
- m_pPhononPlayer = Phonon::createPlayer(Phonon::MusicCategory);
- if(m_pPhononPlayer->state() != Phonon::ErrorState)
- {
- KVI_OPTION_STRING(KviOption_stringSoundSystem) = "phonon";
- return;
- }
-#endif
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
KVI_OPTION_STRING(KviOption_stringSoundSystem) = "winmm";
#else
#ifdef COMPILE_ESD_SUPPORT
esd_format_t format = ESD_BITS16 | ESD_STREAM | ESD_PLAY | ESD_MONO;
- int esd_fd = esd_play_stream(format, 8012, NULL, "kvirc");
+ int esd_fd = esd_play_stream(format, 8012, nullptr, "kvirc");
if(esd_fd >= 0)
{
KVI_OPTION_STRING(KviOption_stringSoundSystem) = "esd";
@@ -655,7 +645,7 @@ KviEsdSoundThread::~KviEsdSoundThread()
void KviEsdSoundThread::play()
{
// ESD has a really nice API
- if(!esd_play_file(NULL, m_szFileName.toUtf8().data(), 1)) // this is sync.. FIXME: it can't be stopped!
+ if(!esd_play_file(nullptr, m_szFileName.toUtf8().data(), 1)) // this is sync.. FIXME: it can't be stopped!
qDebug("Could not play sound %s! [ESD]", m_szFileName.toUtf8().data());
}
diff --git a/src/modules/snd/libkvisnd.h b/src/modules/snd/libkvisnd.h
index 47f8ce119..38e2e03a2 100644
--- a/src/modules/snd/libkvisnd.h
+++ b/src/modules/snd/libkvisnd.h
@@ -170,7 +170,7 @@ protected:
protected:
void registerSoundThread(KviSoundThread * t);
void unregisterSoundThread(KviSoundThread * t);
- virtual bool event(QEvent * e);
+ bool event(QEvent * e) override;
protected:
void stopAllSoundThreads();
diff --git a/src/modules/spaste/SlowPasteController.cpp b/src/modules/spaste/SlowPasteController.cpp
index 726d0cc85..8d724e766 100644
--- a/src/modules/spaste/SlowPasteController.cpp
+++ b/src/modules/spaste/SlowPasteController.cpp
@@ -81,7 +81,7 @@ bool SlowPasteController::pasteFileInit(QString & fileName)
return true;
}
-bool SlowPasteController::pasteClipboardInit(void)
+bool SlowPasteController::pasteClipboardInit()
{
if(m_pFile)
return false; // can't paste clipboard while pasting a file
@@ -103,7 +103,7 @@ bool SlowPasteController::pasteClipboardInit(void)
return true;
}
-void SlowPasteController::pasteFile(void)
+void SlowPasteController::pasteFile()
{
QString line;
char data[1024];
@@ -132,7 +132,7 @@ void SlowPasteController::pasteFile(void)
}
}
-void SlowPasteController::pasteClipboard(void)
+void SlowPasteController::pasteClipboard()
{
if(m_pClipBuff->isEmpty() || !g_pApp->windowExists(m_pWindow))
{
diff --git a/src/modules/spaste/libkvispaste.h b/src/modules/spaste/libkvispaste.h
index bdd9da8a2..ab2309524 100644
--- a/src/modules/spaste/libkvispaste.h
+++ b/src/modules/spaste/libkvispaste.h
@@ -27,10 +27,10 @@
#include "KviWindow.h"
-typedef struct _SPasteThreadData
+struct SPasteThreadData
{
QString * strData;
KviWindow * win;
-} SPasteThreadData;
+};
#endif
diff --git a/src/modules/spellchecker/libkvispellchecker.cpp b/src/modules/spellchecker/libkvispellchecker.cpp
index 8d1f218e8..abb6a52f2 100644
--- a/src/modules/spellchecker/libkvispellchecker.cpp
+++ b/src/modules/spellchecker/libkvispellchecker.cpp
@@ -142,8 +142,7 @@ static bool spellchecker_kvs_suggestions(KviKvsModuleFunctionCall * c)
KviKvsArray * pArray = new KviKvsArray();
- QList<QString> lSuggestions = hAllSuggestions.keys();
- Q_FOREACH(QString szSuggestion, lSuggestions)
+ for(const auto & szSuggestion : hAllSuggestions.keys())
pArray->append(new KviKvsVariant(szSuggestion));
c->returnValue()->setArray(pArray);
@@ -158,6 +157,9 @@ static void spellchecker_reload_dicts()
const QStringList & wantedDictionaries = KVI_OPTION_STRINGLIST(KviOption_stringlistSpellCheckerDictionaries);
foreach(QString szLang, wantedDictionaries)
{
+ if(szLang.isEmpty())
+ continue;
+
EnchantDict * pDict = enchant_broker_request_dict(g_pEnchantBroker, szLang.toUtf8().data());
if(pDict)
{
diff --git a/src/modules/str/libkvistr.cpp b/src/modules/str/libkvistr.cpp
index c695be123..bd836d4a0 100644
--- a/src/modules/str/libkvistr.cpp
+++ b/src/modules/str/libkvistr.cpp
@@ -43,6 +43,12 @@
#include "KviSSL.h"
#include <openssl/evp.h>
#include <openssl/pem.h>
+
+#if OPENSSL_VERSION_NUMBER < 0x10100005L
+#define EVP_MD_CTX_new EVP_MD_CTX_create
+#define EVP_MD_CTX_free EVP_MD_CTX_destroy
+#endif
+
#else
// The fallback we can always use, but with very limited set of
// functionality.
@@ -1138,9 +1144,9 @@ static bool str_kvs_fnc_match(KviKvsModuleFunctionCall * c)
KVSM_PARAMETER("flags", KVS_PT_STRING, KVS_PF_OPTIONAL, szFlags)
KVSM_PARAMETER("case", KVS_PT_BOOL, KVS_PF_OPTIONAL, bCase)
KVSM_PARAMETERS_END(c)
- bool bRegExp = szFlags.indexOf('r', 0, Qt::CaseInsensitive) != -1;
- bool bExact = szFlags.indexOf('e', 0, Qt::CaseInsensitive) != -1;
- bool bIs = KviQString::matchString(szWildcard, szString, bRegExp, bExact, bCase ? true : false);
+ bool bRegExp = szFlags.contains('r', Qt::CaseInsensitive);
+ bool bExact = szFlags.contains('e', Qt::CaseInsensitive);
+ bool bIs = KviQString::matchString(szWildcard, szString, bRegExp, bExact, bCase);
c->returnValue()->setBoolean(bIs);
return true;
}
@@ -1383,7 +1389,7 @@ static bool str_kvs_fnc_digest(KviKvsModuleFunctionCall * c)
if(szType.isEmpty())
szType = "md5";
- EVP_MD_CTX mdctx;
+ EVP_MD_CTX *mdctx;
const EVP_MD * md;
unsigned char md_value[EVP_MAX_MD_SIZE];
unsigned int md_len, i;
@@ -1397,11 +1403,11 @@ static bool str_kvs_fnc_digest(KviKvsModuleFunctionCall * c)
return true;
}
- EVP_MD_CTX_init(&mdctx);
- EVP_DigestInit_ex(&mdctx, md, nullptr);
- EVP_DigestUpdate(&mdctx, szString.toUtf8().data(), szString.toUtf8().length());
- EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
- EVP_MD_CTX_cleanup(&mdctx);
+ mdctx = EVP_MD_CTX_new();
+ EVP_DigestInit_ex(mdctx, md, nullptr);
+ EVP_DigestUpdate(mdctx, szString.toUtf8().data(), szString.toUtf8().length());
+ EVP_DigestFinal_ex(mdctx, md_value, &md_len);
+ EVP_MD_CTX_free(mdctx);
for(i = 0; i < md_len; i++)
{
@@ -1470,7 +1476,7 @@ static bool str_kvs_fnc_join(KviKvsModuleFunctionCall * c)
KVSM_PARAMETERS_END(c)
QString szRet;
- bool bSkipEmpty = szFlags.indexOf('n', 0, Qt::CaseInsensitive) != -1;
+ bool bSkipEmpty = szFlags.contains('n', Qt::CaseInsensitive);
bool bFirst = true;
@@ -1572,15 +1578,15 @@ static bool str_kvs_fnc_grep(KviKvsModuleFunctionCall * c)
KviKvsArray * a = ac.array();
- bool bCaseSensitive = szFlags.indexOf('s', 0, Qt::CaseInsensitive) != -1;
- bool bRegexp = szFlags.indexOf('r', 0, Qt::CaseInsensitive) != -1;
- bool bWild = szFlags.indexOf('w', 0, Qt::CaseInsensitive) != -1;
+ bool bCaseSensitive = szFlags.contains('s', Qt::CaseInsensitive);
+ bool bRegexp = szFlags.contains('r', Qt::CaseInsensitive);
+ bool bWild = szFlags.contains('w', Qt::CaseInsensitive);
// FIXME: The sub pattern matching does not belong to grep.
// FIXME: DO NOT DOCUMENT FLAGS p and x (they should be removed)
// 2015.08.24: Left for compatibility: remove in some years :)
- bool bSubPatterns = szFlags.indexOf('p', 0, Qt::CaseInsensitive) != -1;
- bool bExcludeCompleteMatch = szFlags.indexOf('x', 0, Qt::CaseInsensitive) != -1;
+ bool bSubPatterns = szFlags.contains('p', Qt::CaseInsensitive);
+ bool bExcludeCompleteMatch = szFlags.contains('x', Qt::CaseInsensitive);
// 2015.08.24: End of "left for compatibility": remove in some years :)
int idx = 0;
@@ -1589,7 +1595,7 @@ static bool str_kvs_fnc_grep(KviKvsModuleFunctionCall * c)
int i = 0;
if(bRegexp || bWild)
{
- QRegExp re(szMatch, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive, bRegexp ? QRegExp::RegExp : QRegExp::Wildcard);
+ QRegExp re(szMatch, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive, bRegexp ? QRegExp::RegExp2 : QRegExp::Wildcard);
while(idx < cnt)
{
KviKvsVariant * v = a->at(idx);
@@ -1642,7 +1648,7 @@ static bool str_kvs_fnc_grep(KviKvsModuleFunctionCall * c)
{
QString sz;
v->asString(sz);
- if(sz.indexOf(szMatch, 0, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive) != -1)
+ if(sz.contains(szMatch, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive))
{
n->set(i, new KviKvsVariant(sz));
i++;
@@ -1737,7 +1743,7 @@ static bool str_kvs_fnc_split(KviKvsModuleFunctionCall * c)
QVector<QStringRef> list;
if(bWild || bContainsR)
- list = szStr.splitRef(QRegExp{szSep, sensitivity, bWild ? QRegExp::Wildcard : QRegExp::RegExp}, splitBehavior);
+ list = szStr.splitRef(QRegExp{szSep, sensitivity, bWild ? QRegExp::Wildcard : QRegExp::RegExp2}, splitBehavior);
else
list = szStr.splitRef(szSep, splitBehavior, sensitivity);
@@ -1768,10 +1774,10 @@ static bool str_kvs_fnc_split(KviKvsModuleFunctionCall * c)
if(iMaxItems == 0)
return true;
- bool bWild = szFla.indexOf('w', 0, Qt::CaseInsensitive) != -1;
- bool bContainsR = szFla.indexOf('r', 0, Qt::CaseInsensitive) != -1;
- bool bCaseSensitive = szFla.indexOf('s', 0, Qt::CaseInsensitive) != -1;
- bool bNoEmpty = szFla.indexOf('n', 0, Qt::CaseInsensitive) != -1;
+ bool bWild = szFla.contains('w', Qt::CaseInsensitive);
+ bool bContainsR = szFla.contains('r', Qt::CaseInsensitive);
+ bool bCaseSensitive = szFla.contains('s', Qt::CaseInsensitive);
+ bool bNoEmpty = szFla.contains('n', Qt::CaseInsensitive);
int id = 0;
@@ -1781,7 +1787,7 @@ static bool str_kvs_fnc_split(KviKvsModuleFunctionCall * c)
if(bContainsR || bWild)
{
- QRegExp re(szSep, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive, bWild ? QRegExp::Wildcard : QRegExp::RegExp);
+ QRegExp re(szSep, bCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive, bWild ? QRegExp::Wildcard : QRegExp::RegExp2);
while((iMatch != -1) && (iMatch < iStrLen) && ((id < (iMaxItems - 1)) || (iMaxItems < 0)))
{
@@ -2314,10 +2320,11 @@ static bool str_kvs_fnc_evpSign(KviKvsModuleFunctionCall * c)
#if defined(COMPILE_SSL_SUPPORT)
KviSSL::globalSSLInit();
- EVP_MD_CTX md_ctx;
+ EVP_MD_CTX *md_ctx;
EVP_PKEY * pKey = nullptr;
unsigned int len = 0;
unsigned char * sig = nullptr;
+ int err;
if(szCert.isEmpty())
{
@@ -2368,9 +2375,12 @@ static bool str_kvs_fnc_evpSign(KviKvsModuleFunctionCall * c)
len = EVP_PKEY_size(pKey);
sig = (unsigned char *)KviMemory::allocate(len * sizeof(char));
- EVP_SignInit(&md_ctx, EVP_sha1());
- EVP_SignUpdate(&md_ctx, (unsigned char *)szMessage.data(), szMessage.length());
- if(EVP_SignFinal(&md_ctx, sig, &len, pKey))
+ md_ctx = EVP_MD_CTX_new();
+ EVP_SignInit(md_ctx, EVP_sha1());
+ EVP_SignUpdate(md_ctx, (unsigned char *)szMessage.data(), szMessage.length());
+ err = EVP_SignFinal(md_ctx, sig, &len, pKey);
+ EVP_MD_CTX_free(md_ctx);
+ if(err)
{
QByteArray szSign((const char *)sig, len);
OPENSSL_free(sig);
@@ -2451,7 +2461,7 @@ static bool str_kvs_fnc_evpVerify(KviKvsModuleFunctionCall * c)
szSign = QByteArray::fromBase64(szSignB64);
const char * message = szMessage.data();
- EVP_MD_CTX md_ctx;
+ EVP_MD_CTX* md_ctx;
EVP_PKEY * pKey = nullptr;
X509 * cert = nullptr;
int err = -1;
@@ -2518,10 +2528,11 @@ static bool str_kvs_fnc_evpVerify(KviKvsModuleFunctionCall * c)
}
}
- EVP_VerifyInit(&md_ctx, EVP_sha1());
- EVP_VerifyUpdate(&md_ctx, message, strlen(message));
- err = EVP_VerifyFinal(&md_ctx, (unsigned char *)szSign.data(), szSign.size(), pKey);
- EVP_MD_CTX_cleanup(&md_ctx);
+ md_ctx = EVP_MD_CTX_new();
+ EVP_VerifyInit(md_ctx, EVP_sha1());
+ EVP_VerifyUpdate(md_ctx, message, strlen(message));
+ err = EVP_VerifyFinal(md_ctx, (unsigned char *)szSign.data(), szSign.size(), pKey);
+ EVP_MD_CTX_free(md_ctx);
EVP_PKEY_free(pKey);
switch(err)
{
diff --git a/src/modules/system/libkvisystem.cpp b/src/modules/system/libkvisystem.cpp
index 42adb10b1..2abab2c10 100644
--- a/src/modules/system/libkvisystem.cpp
+++ b/src/modules/system/libkvisystem.cpp
@@ -41,7 +41,7 @@
#if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW)
#include <sys/utsname.h>
-#include <stdlib.h>
+#include <cstdlib>
#include <unistd.h>
#endif
diff --git a/src/modules/term/TermWidget.cpp b/src/modules/term/TermWidget.cpp
index 57ff5b65b..304daea00 100644
--- a/src/modules/term/TermWidget.cpp
+++ b/src/modules/term/TermWidget.cpp
@@ -55,8 +55,8 @@ TermWidget::TermWidget(QWidget * par, bool bIsStandalone)
g_pTermWidgetList.insert(this);
m_bIsStandalone = bIsStandalone;
- m_pKonsolePart = 0;
- m_pKonsoleWidget = 0;
+ m_pKonsolePart = nullptr;
+ m_pKonsoleWidget = nullptr;
if(bIsStandalone)
{
@@ -71,9 +71,9 @@ TermWidget::TermWidget(QWidget * par, bool bIsStandalone)
}
else
{
- m_pHBox = 0;
- m_pTitleLabel = 0;
- m_pCloseButton = 0;
+ m_pHBox = nullptr;
+ m_pTitleLabel = nullptr;
+ m_pCloseButton = nullptr;
}
setFrameStyle(QFrame::Sunken | QFrame::Panel);
@@ -138,8 +138,8 @@ void TermWidget::closeClicked()
void TermWidget::konsoleDestroyed()
{
- m_pKonsoleWidget = 0;
- m_pKonsolePart = 0;
+ m_pKonsoleWidget = nullptr;
+ m_pKonsolePart = nullptr;
hide();
QTimer::singleShot(0, this, SLOT(autoClose()));
}
diff --git a/src/modules/term/TermWidget.h b/src/modules/term/TermWidget.h
index 78d1b89c4..d9e41fae0 100644
--- a/src/modules/term/TermWidget.h
+++ b/src/modules/term/TermWidget.h
@@ -53,7 +53,7 @@ private:
QWidget * m_pKonsoleWidget;
protected:
- virtual void resizeEvent(QResizeEvent * e);
+ void resizeEvent(QResizeEvent * e) override;
protected slots:
void closeClicked();
void changeTitle(int i, const QString & str);
@@ -62,7 +62,7 @@ protected slots:
public:
QWidget * konsoleWidget() { return m_pKonsoleWidget ? m_pKonsoleWidget : this; };
- virtual QSize sizeHint() const;
+ QSize sizeHint() const override;
int dummy() const { return 0; };
protected slots:
void konsoleDestroyed();
diff --git a/src/modules/term/TermWindow.cpp b/src/modules/term/TermWindow.cpp
index 93f17852d..9ee745226 100644
--- a/src/modules/term/TermWindow.cpp
+++ b/src/modules/term/TermWindow.cpp
@@ -42,7 +42,7 @@ TermWindow::TermWindow(const char * name)
: KviWindow(KviWindow::Terminal, name)
{
g_pTermWindowList.insert(this);
- m_pTermWidget = 0;
+ m_pTermWidget = nullptr;
m_pTermWidget = new TermWidget(this);
}
diff --git a/src/modules/term/TermWindow.h b/src/modules/term/TermWindow.h
index 954d9dc6f..2fc4a87ec 100644
--- a/src/modules/term/TermWindow.h
+++ b/src/modules/term/TermWindow.h
@@ -43,12 +43,12 @@ protected:
TermWidget * m_pTermWidget;
protected:
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
- virtual void resizeEvent(QResizeEvent * e);
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
+ void resizeEvent(QResizeEvent * e) override;
public:
- virtual QSize sizeHint() const;
+ QSize sizeHint() const override;
};
#else
#include <QObject>
diff --git a/src/modules/theme/PackThemeDialog.h b/src/modules/theme/PackThemeDialog.h
index 0fc4fe98e..aabdb9f90 100644
--- a/src/modules/theme/PackThemeDialog.h
+++ b/src/modules/theme/PackThemeDialog.h
@@ -66,7 +66,7 @@ protected:
//QWidget * m_pImageSelectionPage;
protected:
- virtual void accept();
+ void accept() override;
bool packTheme();
};
@@ -95,7 +95,7 @@ public:
QLineEdit * m_pPackageAuthorEdit;
protected:
- virtual void initializePage();
+ void initializePage() override;
};
class PackThemeImageWidget : public QWizardPage
@@ -125,7 +125,7 @@ protected:
QString m_szPackagePath;
protected:
- virtual void initializePage();
+ void initializePage() override;
};
#endif //!_PACKTHEMEDIALOG_H_
diff --git a/src/modules/theme/SaveThemeDialog.cpp b/src/modules/theme/SaveThemeDialog.cpp
index eda0f371e..d625a9b72 100644
--- a/src/modules/theme/SaveThemeDialog.cpp
+++ b/src/modules/theme/SaveThemeDialog.cpp
@@ -113,7 +113,7 @@ SaveThemeDialog::SaveThemeDialog(QWidget * pParent)
m_pThemeVersionEdit = new QLineEdit(pPage);
m_pThemeVersionEdit->setText(info.version());
- QRegExp rx("\\d{1,2}\\.\\d{1,2}(\\.\\d{1,2})?");
+ QRegExp rx(R"(\d{1,2}\.\d{1,2}(\.\d{1,2})?)");
QValidator * validator = new QRegExpValidator(rx, this);
m_pThemeVersionEdit->setValidator(validator);
diff --git a/src/modules/theme/SaveThemeDialog.h b/src/modules/theme/SaveThemeDialog.h
index 2f852615c..903f30784 100644
--- a/src/modules/theme/SaveThemeDialog.h
+++ b/src/modules/theme/SaveThemeDialog.h
@@ -54,16 +54,14 @@ protected:
QLineEdit * m_pThemeVersionEdit;
QLineEdit * m_pAuthorNameEdit;
QWidget * m_pImageSelectionPage;
- QPushButton * m_pOkButton;
QCheckBox * m_pSaveIconsCheckBox;
protected:
- virtual void accept();
+ void accept() override;
bool saveTheme();
protected slots:
void makeScreenshot();
void imageSelectionChanged(const QString & szImagePath);
- //void themeNameChanged(const QString &txt);
};
#endif //!_SAVETHEMEDIALOG_H_
diff --git a/src/modules/theme/ThemeFunctions.h b/src/modules/theme/ThemeFunctions.h
index f4b68fdf9..af6ef10de 100644
--- a/src/modules/theme/ThemeFunctions.h
+++ b/src/modules/theme/ThemeFunctions.h
@@ -35,7 +35,7 @@
namespace ThemeFunctions
{
- bool installThemePackage(const QString & szThemePackageFileName, QString & szError, QWidget * pDialogParent = 0);
+ bool installThemePackage(const QString & szThemePackageFileName, QString & szError, QWidget * pDialogParent = nullptr);
void getThemeHtmlDescription(
QString & szBuffer,
@@ -49,7 +49,7 @@ namespace ThemeFunctions
const QString & szThemeThemeEngineVersion,
const QPixmap & pixScreenshot,
int iUniqueIndexInDocument = 0,
- KviHtmlDialogData * hd = 0);
+ KviHtmlDialogData * hd = nullptr);
bool makeKVIrcScreenshot(const QString & szSavePngFilePath, bool bMaximizeFrame = false);
diff --git a/src/modules/theme/ThemeManagementDialog.h b/src/modules/theme/ThemeManagementDialog.h
index b09b4b2c8..5ce7dfa41 100644
--- a/src/modules/theme/ThemeManagementDialog.h
+++ b/src/modules/theme/ThemeManagementDialog.h
@@ -52,7 +52,7 @@ class ThemeListWidgetItem : public KviTalListWidgetItem
{
public:
ThemeListWidgetItem(KviTalListWidget * pBox, KviThemeInfo * pInfo);
- virtual ~ThemeListWidgetItem();
+ ~ThemeListWidgetItem();
public:
KviThemeInfo * m_pThemeInfo;
@@ -66,7 +66,7 @@ class ThemeManagementDialog : public QWidget
Q_OBJECT
public:
ThemeManagementDialog(QWidget * parent);
- virtual ~ThemeManagementDialog();
+ ~ThemeManagementDialog();
protected:
static ThemeManagementDialog * m_pInstance;
@@ -86,7 +86,7 @@ public:
protected:
void fillThemeBox(bool bBuiltin);
- virtual void closeEvent(QCloseEvent * e);
+ void closeEvent(QCloseEvent * e) override;
protected slots:
void saveCurrentTheme();
void getMoreThemes();
diff --git a/src/modules/theme/WebThemeInterfaceDialog.h b/src/modules/theme/WebThemeInterfaceDialog.h
index cc517027c..3e840daee 100644
--- a/src/modules/theme/WebThemeInterfaceDialog.h
+++ b/src/modules/theme/WebThemeInterfaceDialog.h
@@ -34,7 +34,7 @@ class WebThemeInterfaceDialog : public KviWebPackageManagementDialog
{
Q_OBJECT
public:
- WebThemeInterfaceDialog(QWidget * par = 0);
+ WebThemeInterfaceDialog(QWidget * par = nullptr);
~WebThemeInterfaceDialog();
private:
@@ -42,8 +42,8 @@ private:
QString m_szGlobalThemesPath;
protected:
- virtual bool packageIsInstalled(const QString & szId, const QString & szVersion);
- virtual bool installPackage(const QString & szPath, QString & szError);
+ bool packageIsInstalled(const QString & szId, const QString & szVersion) override;
+ bool installPackage(const QString & szPath, QString & szError) override;
};
#endif //COMPILE_WEBKIT_SUPPORT
diff --git a/src/modules/theme/libkvitheme.cpp b/src/modules/theme/libkvitheme.cpp
index c2ea476f0..4f500a4e6 100644
--- a/src/modules/theme/libkvitheme.cpp
+++ b/src/modules/theme/libkvitheme.cpp
@@ -322,7 +322,7 @@ static bool theme_kvs_cmd_pack(KviKvsModuleCommandCall * c)
KviPointerList<KviThemeInfo> lThemeInfoList;
lThemeInfoList.setAutoDelete(true);
- Q_FOREACH(QString szTheme, lThemeList)
+ for(const auto & szTheme : lThemeList)
{
KviThemeInfo * pInfo = new KviThemeInfo();
if(!pInfo->load(szTheme, KviThemeInfo::External))
diff --git a/src/modules/tip/libkvitip.h b/src/modules/tip/libkvitip.h
index 09f06a120..89880864b 100644
--- a/src/modules/tip/libkvitip.h
+++ b/src/modules/tip/libkvitip.h
@@ -60,7 +60,7 @@ protected:
KviConfigurationFile * m_pConfig;
QString m_szConfigFileName; // no path!
protected:
- virtual void showEvent(QShowEvent * e);
+ void showEvent(QShowEvent * e) override;
public:
bool openConfig(QString filename, bool bEnsureExists = true);
diff --git a/src/modules/tip/libkvitip_fi.kvc b/src/modules/tip/libkvitip_fi.kvc
index 86698f0f5..79b83ee43 100644
--- a/src/modules/tip/libkvitip_fi.kvc
+++ b/src/modules/tip/libkvitip_fi.kvc
@@ -1,26 +1,26 @@
-[KVIrc]
-uNextTip=0
-uNumTips=22
-TranslatorHint=This-file-MUST-be-encoded-in-UTF8
-0=Voit avata yhteyden moeen palvelimeen yhdellä KVIrc-ikkuna, valitse vain "Uusi IRC-konteksti" KVIrc-valikosta.
-1=IPv6 on nyt täysin tuettu, jopa DCC-tiedonsiirtoihin.<br><b>/server -i &lt;palvelimen nimi&gt;</b> komentoa käyttäen :)
-2=KVIrcillä on tuki SSL-salaukseen.<br>SSL-salattuja yhteyksiä voidaan luoda käyttämällä komentoa <b>/server -s</b> ja DCC-yhteyksiä käyttämällä komentoa <b>/dcc.chat -s</b><br>Se toimii myös IPv6:n kautta.
-3=<b>IRC-konteksti</b> on sarja resursseja, jotka kommunikoivat palvelimen yhteyden kanssa. Se on yhdistetty <b>konsoli</b>-ikkunaan, joka näyttää järjestelmä- ja palvelinviestit.
-4=KVIrc on modulaarinen sovellus. Moodulit ladataan ja puretaan näkymättömästi käyttäjälle (ja skripterille!) Voit myös kirjoittaa omia moduulejasi, jotka laajentavat skriptauskieltä, tai lisäävät uusia ominaisuuksia.
-5=KVIrcillä on tuki monelle käsittelijäskriptille yhdelle tapahtumalle. Tämä sallii monien skriptien asentaminen samaan aikaan, vältetään käsittelijöiden törmäykset ja auttaa lisäämään/poistamaan ja akvoimaan/deaktivoimaan skriptiosioita.
-6=KVIrcillä tukee <b>irc://</b> Uniform Resource Locatoria (URL:ää). Aja komento: <br><b>kvirc irc://irc.palvelimesi.org:6667/kanava</b><br> yhdistääksesi palvelimeen.<br>Yleinen syntaksi on:<br><b>irc[6]://&lt;palvelimennimi&gt;[:&lt;port&gt;][/[&lt;kanava&gt;[?&lt;salasana&gt;]]]</b>
-7=KVIrc-suoritettava käyttäytyy kuin "netscape -ohjaus" komento, jos jokin KVIrcin osa on jo käynnissä, komentorivin parametrit siihen osaan suoritetaan IPC:n kautta. Voit ylikirjoittaa tämän ominaisuuden <b>-f</b> kytkimellä.
-8=KVIrc voi olla selaimesi käsittelijä <b>irc://</b> URL:lle. Jos KVIrcillä on käännetty KDE-tuen kanssa, sinun pitäisi pystyä ajamaan se yksinkertaisesti kirjoittamalla <b>irc://</b> URL Konqueror:in sijaintipalkkiin.<br>Kokeile <b>irc://irc.freenode.net/kvirc</b> :)
-9=URL-osoitteita voi tehdä myös IPv6-palvelimilli seuraavalla syntaksilla:<br><b>irc6://&lt;ipv6-palvelimennimi&gt;[:&lt;portti&gt;][/[&lt;kanava&gt;[?&lt;salasana&gt;]]]</b>
-10=Voit vaihtaa ikkunoiden välillä painamalla <b>Alt+ylös/alas</b>. <b>Vaihto+ylös/alas</b> vaihtaa ikkunoita vain nykyisessä kontekstissa.
-11=Nopea tapa yhdistää palvelimeen uudessa IRC-kontekstissa on <b>/server -n &lt;palvelimennimi&gt;</b>
-12=KVIrc on siirrettävä Windowsin, Mac OSX:n, Linuxin ja muiden Unix-koneiden kanssa. Jos olet hyvä skripteri, sinunkin skriptisi ovat siirrettäviä!
-13=Haluatko automaattisesti liittyä kanavalla yhdistettäessä?<br>Helppoa!<br>Klikkaa vain "Edistynyt (Advanced)" palvelimen asetuksissa ja lisää kanava "Liity kanaville (Join Channels)" välilehdellä. Tämä toimii kaikille palvelimille: <b>/event(OnIrc,autojoin){ join #kanavasi; }</b>
-14=Tiedätkö mikä avatar on? Saa se selville komennolla <b>/help The AVATAR idea</b>
-15=DCC-asetussivulla on paljon valintoja, jotka voivat ratkaista monia yleisiä DCC-yhteysongelmia. Ihmiset palomuurin takana voivat lähettää myös dataa. Se on vain parin asetuksen takana. :)
-16=KVIrc tukee monia 8-bittisiä kirjainsalauksia. Voit "puhua" KOI8-R:ään perustuvaa venäjää toisella kanavalla ja japania toisella, samassa yhteydessä (asianmukaisilla fonteilla). Me suoittelemme käyttämään <b>Unicode</b>-merkistöä (UTF-8), mikä tukee melkein kaikkia kieliä maailmassa.
-17=Välttääksesi liiallisia DCC-siirtoja, on suositeltavaa, että teet avatarisi niin, että ne ovat saatavissa verkosta. Voit myös käyttää jo verkossa olevaa kuvaa avatarina.<br><b>/avatar #kanavasi http://hauskapalvelin.fi/hauskaa/hauskakuva.png</b> toimii!
-18=KVIrc sisältää sisäänrakennetun HTTP-asiakkaan, ja voit ladata tiedostoja verkosta käyttämällä komentoa <b>/http.get</b>.
-19=Etkö pidä ikkunoiden puutehtäväpalkkitilasta? Voit käyttää perinteistä tehtäväpalkkia (samanlainen kuin mIRCissä) tehtäväpalkin asetussivulla.
-20=Voit kopioida tekstiä teksti-ikkunasta leikepöydälle yksinkertaisesti "maalaamalla" (valitsemalla) sen hiirellä. Jos pidät vaihtonäppäintä samaan aikaan pohjassa, silloin myös värikoodit kopioituvat.
-21=Tämä on viimeinen vinkki. Voit lisätä omia vinkkejäsi - käytä komentoa <b>/help tip.open</b> saadaksesi lisätietoja. Voit myös lähettää uudet vinkkisi (millä tahansa kielellä) sähköpostilla osoitteeseen <b>trisk-kvirc(at)quasarnet.org</b>.
+[KVIrc]
+uNextTip=0
+uNumTips=22
+TranslatorHint=This-file-MUST-be-encoded-in-UTF8
+0=Voit avata yhteyden moeen palvelimeen yhdellä KVIrc-ikkuna, valitse vain "Uusi IRC-konteksti" KVIrc-valikosta.
+1=IPv6 on nyt täysin tuettu, jopa DCC-tiedonsiirtoihin.<br><b>/server -i &lt;palvelimen nimi&gt;</b> komentoa käyttäen :)
+2=KVIrcillä on tuki SSL-salaukseen.<br>SSL-salattuja yhteyksiä voidaan luoda käyttämällä komentoa <b>/server -s</b> ja DCC-yhteyksiä käyttämällä komentoa <b>/dcc.chat -s</b><br>Se toimii myös IPv6:n kautta.
+3=<b>IRC-konteksti</b> on sarja resursseja, jotka kommunikoivat palvelimen yhteyden kanssa. Se on yhdistetty <b>konsoli</b>-ikkunaan, joka näyttää järjestelmä- ja palvelinviestit.
+4=KVIrc on modulaarinen sovellus. Moodulit ladataan ja puretaan näkymättömästi käyttäjälle (ja skripterille!) Voit myös kirjoittaa omia moduulejasi, jotka laajentavat skriptauskieltä, tai lisäävät uusia ominaisuuksia.
+5=KVIrcillä on tuki monelle käsittelijäskriptille yhdelle tapahtumalle. Tämä sallii monien skriptien asentaminen samaan aikaan, vältetään käsittelijöiden törmäykset ja auttaa lisäämään/poistamaan ja akvoimaan/deaktivoimaan skriptiosioita.
+6=KVIrcillä tukee <b>irc://</b> Uniform Resource Locatoria (URL:ää). Aja komento: <br><b>kvirc irc://irc.palvelimesi.org:6667/kanava</b><br> yhdistääksesi palvelimeen.<br>Yleinen syntaksi on:<br><b>irc[6]://&lt;palvelimennimi&gt;[:&lt;port&gt;][/[&lt;kanava&gt;[?&lt;salasana&gt;]]]</b>
+7=KVIrc-suoritettava käyttäytyy kuin "netscape -ohjaus" komento, jos jokin KVIrcin osa on jo käynnissä, komentorivin parametrit siihen osaan suoritetaan IPC:n kautta. Voit ylikirjoittaa tämän ominaisuuden <b>-f</b> kytkimellä.
+8=KVIrc voi olla selaimesi käsittelijä <b>irc://</b> URL:lle. Jos KVIrcillä on käännetty KDE-tuen kanssa, sinun pitäisi pystyä ajamaan se yksinkertaisesti kirjoittamalla <b>irc://</b> URL Konqueror:in sijaintipalkkiin.<br>Kokeile <b>irc://irc.freenode.net/kvirc</b> :)
+9=URL-osoitteita voi tehdä myös IPv6-palvelimilli seuraavalla syntaksilla:<br><b>irc6://&lt;ipv6-palvelimennimi&gt;[:&lt;portti&gt;][/[&lt;kanava&gt;[?&lt;salasana&gt;]]]</b>
+10=Voit vaihtaa ikkunoiden välillä painamalla <b>Alt+ylös/alas</b>. <b>Vaihto+ylös/alas</b> vaihtaa ikkunoita vain nykyisessä kontekstissa.
+11=Nopea tapa yhdistää palvelimeen uudessa IRC-kontekstissa on <b>/server -n &lt;palvelimennimi&gt;</b>
+12=KVIrc on siirrettävä Windowsin, Mac OSX:n, Linuxin ja muiden Unix-koneiden kanssa. Jos olet hyvä skripteri, sinunkin skriptisi ovat siirrettäviä!
+13=Haluatko automaattisesti liittyä kanavalla yhdistettäessä?<br>Helppoa!<br>Klikkaa vain "Edistynyt (Advanced)" palvelimen asetuksissa ja lisää kanava "Liity kanaville (Join Channels)" välilehdellä. Tämä toimii kaikille palvelimille: <b>/event(OnIrc,autojoin){ join #kanavasi; }</b>
+14=Tiedätkö mikä avatar on? Saa se selville komennolla <b>/help The AVATAR idea</b>
+15=DCC-asetussivulla on paljon valintoja, jotka voivat ratkaista monia yleisiä DCC-yhteysongelmia. Ihmiset palomuurin takana voivat lähettää myös dataa. Se on vain parin asetuksen takana. :)
+16=KVIrc tukee monia 8-bittisiä kirjainsalauksia. Voit "puhua" KOI8-R:ään perustuvaa venäjää toisella kanavalla ja japania toisella, samassa yhteydessä (asianmukaisilla fonteilla). Me suoittelemme käyttämään <b>Unicode</b>-merkistöä (UTF-8), mikä tukee melkein kaikkia kieliä maailmassa.
+17=Välttääksesi liiallisia DCC-siirtoja, on suositeltavaa, että teet avatarisi niin, että ne ovat saatavissa verkosta. Voit myös käyttää jo verkossa olevaa kuvaa avatarina.<br><b>/avatar #kanavasi http://hauskapalvelin.fi/hauskaa/hauskakuva.png</b> toimii!
+18=KVIrc sisältää sisäänrakennetun HTTP-asiakkaan, ja voit ladata tiedostoja verkosta käyttämällä komentoa <b>/http.get</b>.
+19=Etkö pidä ikkunoiden puutehtäväpalkkitilasta? Voit käyttää perinteistä tehtäväpalkkia (samanlainen kuin mIRCissä) tehtäväpalkin asetussivulla.
+20=Voit kopioida tekstiä teksti-ikkunasta leikepöydälle yksinkertaisesti "maalaamalla" (valitsemalla) sen hiirellä. Jos pidät vaihtonäppäintä samaan aikaan pohjassa, silloin myös värikoodit kopioituvat.
+21=Tämä on viimeinen vinkki. Voit lisätä omia vinkkejäsi - käytä komentoa <b>/help tip.open</b> saadaksesi lisätietoja. Voit myös lähettää uudet vinkkisi (millä tahansa kielellä) sähköpostilla osoitteeseen <b>trisk-kvirc(at)quasarnet.org</b>.
diff --git a/src/modules/tip/libkvitip_uk.kvc b/src/modules/tip/libkvitip_uk.kvc
index 3936b028e..9368d6921 100644
--- a/src/modules/tip/libkvitip_uk.kvc
+++ b/src/modules/tip/libkvitip_uk.kvc
@@ -1,26 +1,26 @@
-[KVIrc]
-uNextTip=0
-uNumTips=22
-TranslatorHint=This-file-MUST-be-encoded-in-UTF8
-0=Ви можете відкрити з'єднання для кількох серверів в одному вікні KVIrc, просто виберіть "Новий Контекст IRC" в меню KVIrc.
-1=Тепер IPv6 повністю підтримується, навіть для DCC.<br><b>/сервер -i &lt;назва-сервера&gt;</b> потрібна вам команда. :)
-2=KVIrc підтримує SSL-шифрування.<br>Зашифрувати IRC-з'єднання через SSL можна командою <b>/server -s</b>, а DCC-з'єднання командою <b>/dcc.chat -s</b><br>SSL також працює через IPv6.
-3=<b>Контекст IRC</b> це набір ресурсів, що відносяться до одного з'єднання з сервером. Він має відповідне вікно <b>Консолі</b> що відображає системні повідомлення та повідомлення сервера.
-4=KVIrc є високомодульною програмою. Модулі завантажуються та вивантажуються прозоро для користувача (і навіть для розробника скриптів!). Ви можете написати власні модулі, що розширюють мову сценаріїв, або додають можливості.
-5=KVIrc підтримує скрипти з кількома ручками для одної події. Це дозволяє одночасно встановити кілька скриптів, запобігає конфліктам ручок і допомагає в додаванні/усуненні та ввімкненні/вимкненні секцій скриптів.
-6=KVIrc підтримує <b>irc://</b> Uniform Resource Locator (URL). Виконайте команду: <br><b>kvirc irc://irc.сервер.org:6667/канал</b><br> для при'єднання до серверу.<br>Загальний синтаксис:<br><b>irc[6]://&lt;назва-сервера&gt;[:&lt;порт&gt;][/[&lt;канал&gt;[?&lt;пароль&gt;]]]</b>
-7=Виконавчий файл KVIrc працює як команда "netscape -remote", якщо вже запущена одна копія KVIrc, параметри команди надсилаються до цієї копії через IPC. Ви можете перевизначити цю поведінку перемикачем <b>-f</b>.
-8=KVIrc може виконувати роль браузера для URL типу <b>irc://</b>. Якщо KVIrc має підтримку KDE, ви зможете запустити його набравши <b>irc://</b> URL в рядок розміщення Konqueror.<br>Спробуйте <b>irc://irc.freenode.net/kvirc</b> :)
-9=Також можна створити URL для IPv6 IRC серверів, скориставшись наступним синтаксисом:<br><b>irc6://&lt;назва-сервера-ipv6&gt;[:&lt;порт&gt;][/[&lt;канал&gt;[?&lt;пароль&gt;]]]</b>
-10=Ви можете змінити вікно натиснувши <b>Alt+Вверх/Вниз</b>. <b>Shift+Alt+Вверх/Вниз</b> переходить лише між вікнами поточного контексту.
-11=Швидким методом приєднатись до сервера в новому IRC-контексті є <b>/server -n &lt;назва_сервера&gt;</b>
-12=KVIrc є переносним між Windows, Mac OSX, Linux та багатьма іншими ОС типу Unix. Якщо ви вмієте писати скрипти, ваші скрипти теж будуть переносними!
-13=Хочете автоматично зайти на канал при з'єднанні?<br>Легко!<br>Натисніть "Розширені" в параметрах сервера і додайте канал в закладці "Зайти на канали". Якщо хочете зробити це для всіх серверів, спробуйте <b>/event(OnIrc,autojoin){ join #ваш_канал; }</b>
-14=Ви знаєте що таке аватар? Гляньте <b>/help The AVATAR idea</b>
-15=Сторінка параметрів DCC має багато опцій, які допоможуть вирішити поширені проблеми з з'єднанням через DCC. Люди за фаєрволом також можуть відсилати дані. Просто все залежить від налаштувань. :)
-16=KVIrc підтримує багато 8-бітних кодувань символів. Ви можете "розмовляти" базованою на KOI8-R Російською на одному каналі і Японською на іншому через те ж з'єднання (якщо наявні потрібні шрифти). Ви радимо вам використовувати <b>Юнікод</b> (UTF-8), який підтримує майже всі мови світу.
-17=Щоб уникнути надмірних передач в DCC, краще зробити ваших аватарів доступними в Веб. Ви також можете використати будь-яке доступне в Веб зображення в якості аватара.<br><b>/avatar #ваш_канал http://funnyhost.com/funny/funny.png</b> спрацює!
-18=KVIrc має вбудований HTTP-клієнт, і ви можете завантажити файли з Веб використавши команду <b>/http.get</b>.
-19=Не подобається режим дерева вікон на панелі завдань? Ви можете перейти до традиційної панелі (як в mIRC) на сторінці параметрів панелі завдань в налаштуваннях.
-20=Ви можете скопіювати текст з текстового вікна в буфер вибравши його мишкою. Якщо ж ви ще й затиснете кнопку Shift, то скопіюється також колір.
-21=Це остання порада. Ви можете додати власні - Дивіться <b>/help tip.open</b>. Надсилайте поради (на будь-якій мові) на адресу <b>trisk-kvirc(at)quasarnet.org</b>.
+[KVIrc]
+uNextTip=0
+uNumTips=22
+TranslatorHint=This-file-MUST-be-encoded-in-UTF8
+0=Ви можете відкрити з'єднання для кількох серверів в одному вікні KVIrc, просто виберіть "Новий Контекст IRC" в меню KVIrc.
+1=Тепер IPv6 повністю підтримується, навіть для DCC.<br><b>/сервер -i &lt;назва-сервера&gt;</b> потрібна вам команда. :)
+2=KVIrc підтримує SSL-шифрування.<br>Зашифрувати IRC-з'єднання через SSL можна командою <b>/server -s</b>, а DCC-з'єднання командою <b>/dcc.chat -s</b><br>SSL також працює через IPv6.
+3=<b>Контекст IRC</b> це набір ресурсів, що відносяться до одного з'єднання з сервером. Він має відповідне вікно <b>Консолі</b> що відображає системні повідомлення та повідомлення сервера.
+4=KVIrc є високомодульною програмою. Модулі завантажуються та вивантажуються прозоро для користувача (і навіть для розробника скриптів!). Ви можете написати власні модулі, що розширюють мову сценаріїв, або додають можливості.
+5=KVIrc підтримує скрипти з кількома ручками для одної події. Це дозволяє одночасно встановити кілька скриптів, запобігає конфліктам ручок і допомагає в додаванні/усуненні та ввімкненні/вимкненні секцій скриптів.
+6=KVIrc підтримує <b>irc://</b> Uniform Resource Locator (URL). Виконайте команду: <br><b>kvirc irc://irc.сервер.org:6667/канал</b><br> для при'єднання до серверу.<br>Загальний синтаксис:<br><b>irc[6]://&lt;назва-сервера&gt;[:&lt;порт&gt;][/[&lt;канал&gt;[?&lt;пароль&gt;]]]</b>
+7=Виконавчий файл KVIrc працює як команда "netscape -remote", якщо вже запущена одна копія KVIrc, параметри команди надсилаються до цієї копії через IPC. Ви можете перевизначити цю поведінку перемикачем <b>-f</b>.
+8=KVIrc може виконувати роль браузера для URL типу <b>irc://</b>. Якщо KVIrc має підтримку KDE, ви зможете запустити його набравши <b>irc://</b> URL в рядок розміщення Konqueror.<br>Спробуйте <b>irc://irc.freenode.net/kvirc</b> :)
+9=Також можна створити URL для IPv6 IRC серверів, скориставшись наступним синтаксисом:<br><b>irc6://&lt;назва-сервера-ipv6&gt;[:&lt;порт&gt;][/[&lt;канал&gt;[?&lt;пароль&gt;]]]</b>
+10=Ви можете змінити вікно натиснувши <b>Alt+Вверх/Вниз</b>. <b>Shift+Alt+Вверх/Вниз</b> переходить лише між вікнами поточного контексту.
+11=Швидким методом приєднатись до сервера в новому IRC-контексті є <b>/server -n &lt;назва_сервера&gt;</b>
+12=KVIrc є переносним між Windows, Mac OSX, Linux та багатьма іншими ОС типу Unix. Якщо ви вмієте писати скрипти, ваші скрипти теж будуть переносними!
+13=Хочете автоматично зайти на канал при з'єднанні?<br>Легко!<br>Натисніть "Розширені" в параметрах сервера і додайте канал в закладці "Зайти на канали". Якщо хочете зробити це для всіх серверів, спробуйте <b>/event(OnIrc,autojoin){ join #ваш_канал; }</b>
+14=Ви знаєте що таке аватар? Гляньте <b>/help The AVATAR idea</b>
+15=Сторінка параметрів DCC має багато опцій, які допоможуть вирішити поширені проблеми з з'єднанням через DCC. Люди за фаєрволом також можуть відсилати дані. Просто все залежить від налаштувань. :)
+16=KVIrc підтримує багато 8-бітних кодувань символів. Ви можете "розмовляти" базованою на KOI8-R Російською на одному каналі і Японською на іншому через те ж з'єднання (якщо наявні потрібні шрифти). Ви радимо вам використовувати <b>Юнікод</b> (UTF-8), який підтримує майже всі мови світу.
+17=Щоб уникнути надмірних передач в DCC, краще зробити ваших аватарів доступними в Веб. Ви також можете використати будь-яке доступне в Веб зображення в якості аватара.<br><b>/avatar #ваш_канал http://funnyhost.com/funny/funny.png</b> спрацює!
+18=KVIrc має вбудований HTTP-клієнт, і ви можете завантажити файли з Веб використавши команду <b>/http.get</b>.
+19=Не подобається режим дерева вікон на панелі завдань? Ви можете перейти до традиційної панелі (як в mIRC) на сторінці параметрів панелі завдань в налаштуваннях.
+20=Ви можете скопіювати текст з текстового вікна в буфер вибравши його мишкою. Якщо ж ви ще й затиснете кнопку Shift, то скопіюється також колір.
+21=Це остання порада. Ви можете додати власні - Дивіться <b>/help tip.open</b>. Надсилайте поради (на будь-якій мові) на адресу <b>trisk-kvirc(at)quasarnet.org</b>.
diff --git a/src/modules/toolbareditor/CustomizeToolBarsDialog.h b/src/modules/toolbareditor/CustomizeToolBarsDialog.h
index 937c5c72e..4077f5c15 100644
--- a/src/modules/toolbareditor/CustomizeToolBarsDialog.h
+++ b/src/modules/toolbareditor/CustomizeToolBarsDialog.h
@@ -61,8 +61,8 @@ public:
static void cleanup();
protected:
- virtual void showEvent(QShowEvent * e);
- virtual void closeEvent(QCloseEvent * e);
+ void showEvent(QShowEvent * e) override;
+ void closeEvent(QCloseEvent * e) override;
protected slots:
void closeClicked();
void newToolBar();
@@ -112,7 +112,7 @@ class TrashcanLabel : public QLabel
Q_OBJECT
public:
TrashcanLabel(QWidget * p);
- virtual ~TrashcanLabel();
+ ~TrashcanLabel();
protected:
unsigned int m_uFlashCount;
@@ -120,8 +120,8 @@ protected:
QColor m_clrOriginal;
protected:
- virtual void dragEnterEvent(QDragEnterEvent * e);
- virtual void dropEvent(QDropEvent * e);
+ void dragEnterEvent(QDragEnterEvent * e) override;
+ void dropEvent(QDropEvent * e) override;
public slots:
void flash();
protected slots:
diff --git a/src/modules/torrent/KTorrentDbusInterface.cpp b/src/modules/torrent/KTorrentDbusInterface.cpp
index 5341ddc8f..4f63f91ee 100644
--- a/src/modules/torrent/KTorrentDbusInterface.cpp
+++ b/src/modules/torrent/KTorrentDbusInterface.cpp
@@ -50,8 +50,7 @@ KTorrentDbusInterface::KTorrentDbusInterface()
}
KTorrentDbusInterface::~KTorrentDbusInterface()
-{
-}
+ = default;
bool KTorrentDbusInterface::findRunningApp()
{
diff --git a/src/modules/torrent/KTorrentDbusInterface.h b/src/modules/torrent/KTorrentDbusInterface.h
index 0aadd8396..5cbcc51b6 100644
--- a/src/modules/torrent/KTorrentDbusInterface.h
+++ b/src/modules/torrent/KTorrentDbusInterface.h
@@ -38,35 +38,35 @@ class KTorrentDbusInterface : public TorrentInterface
public:
KTorrentDbusInterface();
- virtual ~KTorrentDbusInterface();
+ ~KTorrentDbusInterface();
- virtual int detect();
+ int detect() override;
- virtual bool startAll();
- virtual bool stopAll();
+ bool startAll() override;
+ bool stopAll() override;
- virtual int count();
- virtual bool start(int i);
- virtual bool stop(int i);
- virtual bool announce(int i);
- virtual QString state(int i);
- virtual QString name(int i);
- virtual int fileCount(int i);
- virtual QString fileName(int i, int file);
- virtual QString filePriority(int i, int file);
- virtual bool setFilePriority(int i, int file, const QString & prio);
+ int count() override;
+ bool start(int i) override;
+ bool stop(int i) override;
+ bool announce(int i) override;
+ QString state(int i) override;
+ QString name(int i) override;
+ int fileCount(int i) override;
+ QString fileName(int i, int file) override;
+ QString filePriority(int i, int file) override;
+ bool setFilePriority(int i, int file, const QString & prio) override;
- virtual int maxUploadSpeed();
- virtual int maxDownloadSpeed();
+ int maxUploadSpeed() override;
+ int maxDownloadSpeed() override;
- virtual bool setMaxUploadSpeed(int kbytes_per_sec);
- virtual bool setMaxDownloadSpeed(int kbytes_per_sec);
+ bool setMaxUploadSpeed(int kbytes_per_sec) override;
+ bool setMaxDownloadSpeed(int kbytes_per_sec) override;
- virtual float speedUp();
- virtual float speedDown();
+ float speedUp() override;
+ float speedDown() override;
- virtual float trafficUp();
- virtual float trafficDown();
+ float trafficUp() override;
+ float trafficDown() override;
/*
private slots:
// polls client and extracts information.
diff --git a/src/modules/torrent/StatusBarApplet.h b/src/modules/torrent/StatusBarApplet.h
index 26d3358c9..53c013262 100644
--- a/src/modules/torrent/StatusBarApplet.h
+++ b/src/modules/torrent/StatusBarApplet.h
@@ -36,7 +36,7 @@ class StatusBarApplet : public KviStatusBarApplet
Q_OBJECT
public:
StatusBarApplet(KviStatusBar * parent, KviStatusBarAppletDescriptor * desc);
- virtual ~StatusBarApplet();
+ ~StatusBarApplet() override;
static void selfRegister(KviStatusBar * bar);
private slots:
void update();
diff --git a/src/modules/torrent/TorrentInterface.h b/src/modules/torrent/TorrentInterface.h
index efae2a708..31329b0b0 100644
--- a/src/modules/torrent/TorrentInterface.h
+++ b/src/modules/torrent/TorrentInterface.h
@@ -35,7 +35,7 @@ class TorrentInterface : public QObject
{
public:
TorrentInterface() {}
- virtual ~TorrentInterface() {}
+ ~TorrentInterface() {}
virtual int detect() = 0;
@@ -119,7 +119,7 @@ public:
{ \
public: \
_interfaceclass##Descriptor(); \
- virtual ~_interfaceclass##Descriptor(); \
+ ~_interfaceclass##Descriptor(); \
\
protected: \
_interfaceclass * m_pInstance; \
@@ -127,16 +127,16 @@ public:
QString m_szDescription; \
\
public: \
- virtual const QString & name(); \
- virtual const QString & description(); \
- virtual TorrentInterface * instance(); \
+ const QString & name() override; \
+ const QString & description() override; \
+ TorrentInterface * instance() override; \
};
#define TORR_IMPLEMENT_DESCRIPTOR(_interfaceclass, _name, _description) \
_interfaceclass##Descriptor::_interfaceclass##Descriptor() \
: TorrentInterfaceDescriptor() \
{ \
- m_pInstance = 0; \
+ m_pInstance = nullptr; \
m_szName = _name; \
m_szDescription = _description; \
} \
diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp
index 787e1d3ef..b2dceb40d 100644
--- a/src/modules/trayicon/libkvitrayicon.cpp
+++ b/src/modules/trayicon/libkvitrayicon.cpp
@@ -688,7 +688,7 @@ static bool trayicon_kvs_cmd_hide(KviKvsModuleCommandCall *)
Hides the window, associated with trayicon
@syntax:
trayicon.hidewindow
- @description
+ @description:
Hides the window, associated with trayicon
@seealso:
[cmd]trayicon.show[/cmd], [cmd]trayicon.hide[/cmd]
diff --git a/src/modules/upnp/Manager.h b/src/modules/upnp/Manager.h
index 69fd14ed5..4ee83d435 100644
--- a/src/modules/upnp/Manager.h
+++ b/src/modules/upnp/Manager.h
@@ -59,7 +59,7 @@ namespace UPnP
public: // public methods
// The destructor
- virtual ~Manager();
+ ~Manager();
// Return the external IP address
QString getExternalIpAddress() const;
diff --git a/src/modules/upnp/RootService.h b/src/modules/upnp/RootService.h
index 971e86be2..97d319fa0 100644
--- a/src/modules/upnp/RootService.h
+++ b/src/modules/upnp/RootService.h
@@ -55,7 +55,7 @@ namespace UPnP
// The constructor
RootService(const QString & hostname, int port, const QString & rootUrl);
// The destructor
- virtual ~RootService();
+ ~RootService();
// Return the device type
QString getDeviceType() const;
@@ -74,7 +74,7 @@ namespace UPnP
protected: // Protected methods
// The control point received a response to callInformationUrl()
- virtual void gotInformationResponse(const QDomNode & response);
+ void gotInformationResponse(const QDomNode & response) override;
private: // Private methods
// Recursively add all devices and embedded devices to the deviceServices_ map
diff --git a/src/modules/upnp/Service.cpp b/src/modules/upnp/Service.cpp
index f7e7f4baa..cc337f972 100644
--- a/src/modules/upnp/Service.cpp
+++ b/src/modules/upnp/Service.cpp
@@ -36,6 +36,7 @@
#include <QDebug>
#include <QByteArray>
+#include <utility>
#include "KviNetworkAccessManager.h"
@@ -49,8 +50,11 @@ namespace UPnP
{
// The constructor for information services
- Service::Service(const QString & hostname, int port, const QString & informationUrl)
- : m_iPendingRequests(0), m_szBaseXmlPrefix("s"), m_szHostname(hostname), m_iPort(port)
+ Service::Service(QString hostname, int port, const QString & informationUrl)
+ : m_iPendingRequests(0)
+ , m_szBaseXmlPrefix("s")
+ , m_szHostname(std::move(hostname))
+ , m_iPort(port)
{
m_szInformationUrl = informationUrl;
qDebug() << "UPnP::Service: created information service url='" << m_szInformationUrl << "'." << endl;
diff --git a/src/modules/upnp/Service.h b/src/modules/upnp/Service.h
index de81a5ee6..c65c132c6 100644
--- a/src/modules/upnp/Service.h
+++ b/src/modules/upnp/Service.h
@@ -71,11 +71,11 @@ namespace UPnP
public: // public methods
// The constructor for the root service
- Service(const QString & hostname, int port, const QString & informationUrl);
+ Service(QString hostname, int port, const QString & informationUrl);
// The constructor for action services
Service(const ServiceParameters & params);
// The destructor
- virtual ~Service();
+ ~Service();
// Get the number of pending requests
int getPendingRequests() const;
diff --git a/src/modules/upnp/SsdpConnection.h b/src/modules/upnp/SsdpConnection.h
index 0068f2f25..8be9cdc3c 100644
--- a/src/modules/upnp/SsdpConnection.h
+++ b/src/modules/upnp/SsdpConnection.h
@@ -58,7 +58,7 @@ namespace UPnP
public:
SsdpConnection();
- virtual ~SsdpConnection();
+ ~SsdpConnection();
void queryDevices(int bindPort = 1500);
diff --git a/src/modules/upnp/WanConnectionService.h b/src/modules/upnp/WanConnectionService.h
index 24e306dff..6e950dd5b 100644
--- a/src/modules/upnp/WanConnectionService.h
+++ b/src/modules/upnp/WanConnectionService.h
@@ -68,7 +68,7 @@ namespace UPnP
// The constructor
WanConnectionService(const ServiceParameters & params);
// The destructor
- virtual ~WanConnectionService();
+ ~WanConnectionService();
// Add a port mapping
void addPortMapping(const QString & protocol, const QString & remoteHost, int externalPort,
@@ -93,7 +93,7 @@ namespace UPnP
protected: // protected methods
// The control point received a response to callAction()
- virtual void gotActionResponse(const QString & responseType, const QMap<QString, QString> & resultValues);
+ void gotActionResponse(const QString & responseType, const QMap<QString, QString> & resultValues) override;
private: // private attributes
// The external IP address
diff --git a/src/modules/upnp/igdcontrolpoint.h b/src/modules/upnp/igdcontrolpoint.h
index e292c0e72..209b28ee7 100644
--- a/src/modules/upnp/igdcontrolpoint.h
+++ b/src/modules/upnp/igdcontrolpoint.h
@@ -61,7 +61,7 @@ namespace UPnP
// The constructor
IgdControlPoint(const QString & hostname, int port, const QString & rootUrl);
// The destructor
- virtual ~IgdControlPoint();
+ ~IgdControlPoint();
// Return the external IP address
QString getExternalIpAddress() const;
diff --git a/src/modules/url/libkviurl.cpp b/src/modules/url/libkviurl.cpp
index 279c414cd..a10d5171c 100644
--- a/src/modules/url/libkviurl.cpp
+++ b/src/modules/url/libkviurl.cpp
@@ -54,11 +54,11 @@
extern KVIRC_API QPixmap * g_pShadedChildGlobalDesktopBackground;
#endif
-typedef struct _UrlDlgList
+struct UrlDlgList
{
UrlDialog * dlg;
int menu_id;
-} UrlDlgList;
+};
const char * g_pUrlListFilename = "/list.kviurl";
const char * g_pBanListFilename = "/list.kviban";
@@ -288,10 +288,10 @@ void UrlDialog::addUrl(QString url, QString window, QString count, QString times
UrlItem->setText(2, count);
UrlItem->setText(3, timestamp);
- UrlItem->setForeground(0, KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_URL).fore()));
- UrlItem->setForeground(1, KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()));
- UrlItem->setForeground(2, KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()));
- UrlItem->setForeground(3, KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()));
+ UrlItem->setForeground(0, getMircColor(KVI_OPTION_MSGTYPE(KVI_OUT_URL).fore()));
+ UrlItem->setForeground(1, getMircColor(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()));
+ UrlItem->setForeground(2, getMircColor(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()));
+ UrlItem->setForeground(3, getMircColor(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()));
m_pUrlList->resizeColumnToContents(0);
m_pUrlList->resizeColumnToContents(3);
diff --git a/src/modules/url/libkviurl.h b/src/modules/url/libkviurl.h
index 623d11b5a..cb14edac7 100644
--- a/src/modules/url/libkviurl.h
+++ b/src/modules/url/libkviurl.h
@@ -48,13 +48,13 @@
#include <unordered_set>
#include <vector>
-typedef struct _KviUrl
+struct KviUrl
{
QString url;
QString window;
int count;
QString timestamp;
-} KviUrl;
+};
class UrlDialogTreeWidget : public QTreeWidget
{
@@ -64,8 +64,8 @@ public:
~UrlDialogTreeWidget(){};
protected:
- void mousePressEvent(QMouseEvent * e);
- void paintEvent(QPaintEvent * event);
+ void mousePressEvent(QMouseEvent * e) override;
+ void paintEvent(QPaintEvent * event) override;
signals:
void rightButtonPressed(QTreeWidgetItem *, QPoint);
void contextMenuRequested(QPoint);
@@ -80,11 +80,11 @@ public:
private:
KviTalMenuBar * m_pMenuBar;
- QMenu * m_pListPopup; // dynamic popup menu
+ QMenu * m_pListPopup = nullptr; // dynamic popup menu
QString m_szUrl; // used to pass URLs to sayToWin slot
protected:
- QPixmap * myIconPtr();
- void resizeEvent(QResizeEvent *);
+ QPixmap * myIconPtr() override;
+ void resizeEvent(QResizeEvent *) override;
public:
UrlDialogTreeWidget * m_pUrlList;
@@ -109,7 +109,7 @@ class BanFrame : public QFrame
{
Q_OBJECT
public:
- BanFrame(QWidget * parent = 0, const char * name = 0, bool banEnable = false);
+ BanFrame(QWidget * parent = nullptr, const char * name = nullptr, bool banEnable = false);
~BanFrame();
void saveBans(KviConfigurationFile * cfg);
@@ -136,7 +136,7 @@ public:
private:
QCheckBox * cb[cbnum];
BanFrame * m_pBanFrame;
- void closeEvent(QCloseEvent *);
+ void closeEvent(QCloseEvent *) override;
protected slots:
void acceptbtn();
void discardbtn();
diff --git a/src/modules/window/UserWindow.h b/src/modules/window/UserWindow.h
index 43df1af47..a7a8cd597 100644
--- a/src/modules/window/UserWindow.h
+++ b/src/modules/window/UserWindow.h
@@ -37,16 +37,16 @@ public:
};
public:
- UserWindow(const char * pcName, QString & szIcon, KviConsoleWindow * pConsole = 0, int iCreationFlags = 0);
+ UserWindow(const char * pcName, QString & szIcon, KviConsoleWindow * pConsole = nullptr, int iCreationFlags = 0);
~UserWindow();
protected:
QString m_szIcon;
protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual QPixmap * myIconPtr();
- virtual void fillCaptionBuffers();
+ void resizeEvent(QResizeEvent *) override;
+ QPixmap * myIconPtr() override;
+ void fillCaptionBuffers() override;
public:
void setWindowTitleStrings(const QString & szPlainText);
diff --git a/src/modules/zzz_afterlastmodule/CMakeLists.txt b/src/modules/zzz_afterlastmodule/CMakeLists.txt
index 317ed1402..e209fe082 100644
--- a/src/modules/zzz_afterlastmodule/CMakeLists.txt
+++ b/src/modules/zzz_afterlastmodule/CMakeLists.txt
@@ -1,5 +1,9 @@
# CMakeLists.txt for src/modules/zzz_afterlastmodule
if(APPLE)
+ set(QT_LIBRARY_DIR "${Qt5Widgets_DIR}/../../")
+ get_filename_component(QT_LIBRARY_DIR ${QT_LIBRARY_DIR} PATH)
+ get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/.." ABSOLUTE)
+
install(CODE "
file(GLOB_RECURSE KVIRC_INSTALLED_MODULES
\"${KVIRC_MOD_PATH}/*.so\")