aboutsummaryrefslogtreecommitdiffstats
path: root/src/kvilib
Commit message (Expand)AuthorAgeFilesLines
* Fix compilation with openssl 4 (#2765) HEAD masterGravatar ctrlaltca2026-06-131-1/+12
* Fix some c++20 warnings (#2766)Gravatar ctrlaltca2026-06-103-4/+4
* KviSSL: add SSL_OP_IGNORE_UNEXPECTED_EOF option to avoid "unexpected eof whil...Gravatar ctrlaltca2026-02-141-0/+3
* Add a spellchecker backend based on windows >=8 integrated spellchecker (#2743)•••* Add a spellchecker backend based on windows >=8 integrated spellchecker * CI: remove enchant from windows builds * Assume Qt5 is Windows 7, Qt6 is Windows >= 10 * Qt5 build is picking up a foreign libenchant from the build system, disable itGravatar ctrlaltca2025-12-221-0/+3
* SSL: ignore SIGPIPE in SSL_connect(); fix #2701 (#2726)Gravatar ctrlaltca2025-11-101-0/+8
* Fix error handling of QSslSocket (#2718)Gravatar ctrlaltca2025-10-101-2/+2
* Shortcuts: use explicit key sequence for tab switching (#2707)Gravatar ctrlaltca2025-07-291-2/+2
* Support sending authorization ID in SASL EXTERNAL (#2700)•••The use case is provide network name and client ID to ZNC See https://github.com/znc/znc/pull/1936Gravatar Alexey Sokolov2025-03-172-3/+11
* KviShortcut: add new ctor to support QKeySequence::StandardKey with more tha...Gravatar ctrlaltca2024-11-192-0/+9
* update windows versions and target windows 10 for Qt6 (#2677)•••* update windows version detection to include 11 and 10 subversions * target windows 10 for Qt6Gravatar Dessa2024-09-101-8/+35
* Misc fixes to sound module related to autodetect (#2669)•••* Sound options: don't immediately save changes when sound system gets autodetected; fix #2667 * If the config-saved sound system is not available anymore, force an autodetect; fix #2668 * Fix "qt" sound system under qt6 and unify the code path for Qt5. * If phonon is available, prefer it over "qt" sound system (the latter can only play wav files) * Nuke support for aRts (KDE2/3 sound server) and ESD (Gnome sound server before 2009) * Sound module: replace SoundEffect with QmediaPlayer to support more file formats. Adjust the priority of "qt" sound system in autodetect * Convert to smart pointers * Sound options: force an autodetect if the current sound system is not validGravatar ctrlaltca2024-08-021-3/+0
* Add support for "Monospace" control code (ASCII 0x11). By now just ignore it....Gravatar ctrlaltca2024-08-022-2/+4
* Revert part of #2661 to fix the mainwindow icon (#2665)Gravatar ctrlaltca2024-07-171-3/+0
* Add a comment about #2117Gravatar Alexey Sokolov2024-07-161-0/+2
* Remove GTK Style flag; fix #2117. Default to Fusion theme on Windows (#2664)•••* Remove the remnants of GTK Style * Add a Qt6 entry in build info; keep Qt5 since some scripts may need it * Default to Fusion style on windowsGravatar ctrlaltca2024-07-151-3/+3
* Force app_id to be set in more places (#2661)•••While testing the new version of kvirc I noticed that the setup window was using the `net.kvirc.kvirc` app_id. It seems my previous fix was incomplete since that window is started before the other window where we set the app_id. Fix it by adding it to the setup window as well, and also just add it to a bunch more locations so that the chances of it not being set elsewhere are lower.Gravatar Reilly Brogan2024-07-121-0/+3
* Make D-Bus adaptor actually useful and use it as an IPC backend (#2630)•••* Move KViDbusAdaptor from kvilib to kvirc (so that it can access the g_pApp object) and add a method to register itself * KviMain: register a dbus session even when kdelibs are enabled * KviTalMainWindow: when kdelibs are enabled, avoid KMainWindow to expose all of its signal/lots via dbus * Implement a simple IPC using d-bus Gravatar ctrlaltca2024-04-105-80/+23
* Avoid possible infinite recursion; fix #2505 (#2624)Gravatar ctrlaltca2024-03-271-2/+2
* More qt6 porting (#2622)•••* Port QColor::setNamedColor to QColor::fromString * Port from QVariant::Type to QmetaType::Type * KviCoreActions: port from QAction::parentWidget to qobject_cast + QAction::parent * KviIrcView: port QString::fromUtf16 usage to the non-obsolete char16_t* overload * KviTopicWidget: port QMouseEvent to a non-obsolete overload * Port QMouseEvent from old pos(), x(), y(), to position() * Port obsolete QMessageBox usage to custom buttons * KviApplication: initialize the dbus notify message "replace ID" to 0 * KviIrcConnection: port deprecated QString::count() to QString::size() * KvsObject_*: port QColor::setNamedColor to QColor::fromString * KvsObject_widget: port QWidget::isTopLevel to QWidget::isWindow * KviMainWindow: use QKeyCombination instead of int for shortcuts * QHttp: avoid deprecated methods for QCryptographicHash * ScriptEditorWidget: use the new signature for QMenu::addAction() * KviInputEditor: Extract ACCEL_KEY from header and avoid warning * KviStringConversion: convert old Qt5 font weights to new "css" font weights * syntax fixGravatar ctrlaltca2024-03-241-11/+47
* Switch windows CI builds to Github Actions and Qt6 (#2606)•••* Make build compatible with ninja generator * Remove usage of Qt Windows Extras under qt6 * Avoid compilation noise on UNICODE redefinition * Remove "KviHeapObject::operator new" signature for debug builds, add placement new operator * Fix implicit cast of 0 to QFlags * Fix Avoid ambiguous overload in concatenating strings * KviIpcSentinel::winEvent - Adapt to changed method signature in qt6 * Remove windows 95/98/me support :) * appveyor: try switching qt version * Try creating a github action for windows build * Remove appveyor config; move windows-only patches into dist/windows/patchesGravatar ctrlaltca2024-02-243-18/+11
* Use target_compile_features to select C++ standard (#2607)•••* Use target_compile_features to select C++ standard * Modules and binary already inherit from kvilibGravatar Alexey Sokolov2024-02-121-2/+1
* Replace deprecated define. Fix #2601 (#2603)Gravatar ctrlaltca2024-02-111-2/+2
* Add support for sanitizers at compile time (and fix some issues) (#2599)•••* Add an option to enable sanitizer at compile time * Fix singleton classes initialization * Revert r5378 - issue #1068 - to avoid having duplicate symbols exported by modules, that may cause a crash * Fix cast in KviTalIconAndRichTextItemDelegate (used by both QListWidget and QTreeWidget) * ScriptEditor: don't leak a timer for every script editor widget * Add support for memory and thread sanitizers * Fix sanitizer * KviSignalhandler: don't leak the whole object * Remove debug warning when a single message is longer than 512 bytes. As per https://ircv3.net/specs/extensions/message-tags.html#size-limit , message tags can prepend a whooping 8kbs of "tags" (header data) to each message. * Avoid initialization loop between KviLocale and KviMessageCatalogue. Assume all .po files are UTF8. This is already a requirement since about a decade. * KviInputEditor: don't leak the undo/redo stacks KviInputEditor: don't leak the undo/redo stacks - rework using smart pointers * Fix typoGravatar ctrlaltca2024-02-087-60/+13
* Workaround qt bug on QRegularExpression; Fix #2593 (#2594)Gravatar ctrlaltca2024-01-201-1/+1
* Fix nickserv identification (fix wildcard regexp on strings containing a slas...•••* Fix wildcard regexp on strings containing a slash - fix for qt >= 6.6, qt >= 6.0, qt5Gravatar ctrlaltca2024-01-081-4/+11
* Fix regression in some shortcuts introduced in cba0ebedf3f0cc4da6f8729dde1028... 5.2.0-beta2Gravatar ctrlaltca2023-12-081-19/+18
* SSL updates (#2575)Gravatar ctrlaltca2023-12-042-4/+40
* KviCString::getToken(): add option to skip empty elements (default off) (#2574)Gravatar ctrlaltca2023-11-302-4/+12
* Settings: include styleName in font (#2568)Gravatar ctrlaltca2023-11-231-17/+17
* Changes that will need to be reworked.•••QFont changed the weight scale in Qt6, in order to use them we'd need to fix all configuration files in all themes. QStreamConverter only supports Utf8/16/32 and Latin1 before Qt6.5. Stick to qt5compat's QTextCodec by now Gravatar Fabio Bas2023-10-182-7/+31
* Make shortcuts compatible with qt6; remove unused KviShortcut constructor sin...Gravatar Fabio Bas2023-10-183-35/+43
* Drop QApplication::globalStrut() usage (unavailable on qt6)Gravatar Fabio Bas2023-10-181-8/+5
* Port from QRegExp (unavailable on qt6) to KviRegExp, based on QRegularExpression•••Method str_kvs_fnc_split() had to be replaced with the original version, since the newer one relied on Qt5's QStringRef Gravatar Fabio Bas2023-10-187-12/+177
* Qt6 is stricter when casting numericals and chars. Add an explicit cast/conve...•••cast Gravatar Fabio Bas2023-10-181-1/+1
* Mass rename of margin -> contentsMarginsGravatar Fabio Bas2023-10-185-9/+9
* Qt6: QStringList is a typedef now, avoid forward declarationsGravatar Fabio Bas2023-10-186-6/+6
* cmake: add support for qt6Gravatar Fabio Bas2023-10-181-6/+1
* Rename COMPILE_WEBKIT_SUPPORT to COMPILE_WEBENGINE_SUPPORTGravatar Fabio Bas2023-10-181-2/+2
* Batch export logs (#2485)•••* Implement most basic functional batch export For the future: * The loop still needs to be made asynchronous so the process doesn't hang. * Ideally, there should be some sort of progress window. * There is redundant code that should be reduced. * Make batch export asynchronous Reminder: The comment about overwrite protection no longer applies Todo: Progress dialog * Avoid possible dangling pointer, improve type safety and const correctness in the process In reality, the log exporting code has no reason to be in the GUI class to begin with. `exportLog` makes sense as a Qt slot, but `createLog` should be a member function of the `LogFile` class and operate on `this` rather than a `LogFile` argument. A future commit should amend this, but for now I will avoid changing anything unnecessary until a working progress dialog is in place and I have tested the finished feature thoroughly. * Add progress dialog * Make LogViewWindow::createLog a member function of LogFile * Reduce memory usage by sharing `LogFile`s with the GUI thread * Correct progress dialog modality * Collect log files directly instead of reiterating through view items later Also adds a little documentation * Fix batch export for paths with reserved characters * avoid sigsegv * fix tags removal before nickname in html export * Fix directory selection and output path for icons in html export --------- Co-authored-by: ctrlaltca <ctrlaltca@gmail.com>Gravatar Chris MacLeod2023-08-051-0/+1
* kernel: We should read the default config on startup (bis) (#2548)•••* kernel: Fix KDE config support * Rebase to master; implement migration from old config, but keep the "Main" config group to keep it interoperable --------- Co-authored-by: Andreas Schneider <asn@cryptomilk.org>Gravatar ctrlaltca2023-08-041-1/+3
* translation and minor comment updates•••- switch from transifex/transifex-client to transifex/cli, the current version migrated the config properly (unlike earlier versions) and is usable - pulled updates from tx, completed korean, updating portuguese and spanish - minor comment updates and adding product ids that nobody is going to be using Gravatar Dessa2023-07-281-3/+20
* KviSSL: fix deprecations for openssl 3 (#2544)•••Co-authored-by: Fabio Bas <fabio.bas@officineinformatiche.net>Gravatar ctrlaltca2023-07-091-0/+8
* Port to (and require) Qt 5.15. Drop KDE4 support, fix KDE5 (#2541)•••* Port to (and require) Qt 5.15. Drop KDE4 support, implement KDE5 support where needed. --------- Co-authored-by: Fabio Bas <fabio.bas@officineinformatiche.net>Gravatar ctrlaltca2023-07-0810-122/+10
* QString::null is deprecated (#2526)Gravatar nmariusp2022-06-292-3/+3
* Document the AVATAR negotiation protocol (#2511)Gravatar Soni L2021-08-261-1/+5
* Generate PDB files for MSVC instead of any compiler on WindowsGravatar Leo2020-07-261-1/+3
* kvilib: Fix format specifierGravatar craftwar2019-09-071-1/+1
* Change HTTP redirect limit to 20.•••This is the redirect limit used by Chrome. The previous limit of 2 was causing problems with some sites. Gravatar Andrio Celos2019-09-011-1/+1
* KviSSL: Check SSL_in_init before SSL_shutdownGravatar IceN9ne2019-06-251-2/+4
* KviControlCodes.cpp: Remove %16 when parsing colors•••The modulo was already being applied inconsistently (e.g. getColorBytesW vs. getUnicodeColorBytes). It is now unnecessary, as we handle higher color values properly. Gravatar Vladimir Panteleev2019-01-161-4/+4