aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Benjamin Staneck2018-04-10 22:14:17 +0200
committerGravatar GitHub2018-04-10 22:14:17 +0200
commit00935f13048caa58f5aa94d1a89b9dd67010fc29 (patch)
treee2439e0739b672fe23a05fe8d84390f3c8891b9d
parentPPA: fix script (diff)
downloadKVIrc-00935f13048caa58f5aa94d1a89b9dd67010fc29.tar.gz
KVIrc-00935f13048caa58f5aa94d1a89b9dd67010fc29.tar.bz2
KVIrc-00935f13048caa58f5aa94d1a89b9dd67010fc29.zip
Docs folder cleanup (#2366)
* delete accelerator.keys.txt content is at https://github.com/kvirc/KVIrc/wiki/Keyboard-shortcuts * delete INSTALL and doc/INSTALL.txt content is at https://github.com/kvirc/KVIrc/wiki/installation * delete doc/firefox.hack.txt should no longer be needed * delete doc/themes.howto.txt content is at https://github.com/kvirc/KVIrc/wiki/tutorials * delete doc/INSTALL-MacOS.txt content is at https://github.com/kvirc/KVIrc/wiki/Compiling-KVIrc-from-git-on-macOS-Sierra * add another VS file to .gitignore * delete doc/FAQ content is at https://github.com/kvirc/KVIrc/wiki/FAQ * delete old TODOs content should be, if relevant, in issues * delete doc/addon.howto.txt content is at https://github.com/kvirc/KVIrc/wiki/Addons * delete doc/scripting.faq.txt content is at https://github.com/kvirc/KVIrc/wiki/tutorials * delete translations.howto.txt and translations.spanish.notes.txt content should be at https://github.com/kvirc/KVIrc/wiki/Updating-KVIrc's-translations * delete win32_run_cmake.bat outdated? * adjust CMakeLists.txt for removed files * delete Windows compilation instructions content is at https://github.com/kvirc/KVIrc/wiki/Compiling-KVIrc-on-Windows * delete doc/hackers.guide.txt content is at https://github.com/kvirc/KVIrc/wiki/The-Source-Tree * delete doc/ui-style-tips.txt content is at https://github.com/kvirc/KVIrc/wiki/Contributing-code-to-KVIrc's-repositories * adjust README to doc changes * move main license file to root * adjust mentions of copyright files * revert status badges back from shields.io shields.io is overloaded all the time so the badges never display * change cmake syntax * restore the about license text to its original glory and install the amip license only on windows * update GPL2 from the GNU website * change the installer to show ABOUT-LICENSE as well
-rw-r--r--.gitignore1
-rw-r--r--COPYING (renamed from doc/LICENSE-GPLV2)2
-rw-r--r--ChangeLog1
-rw-r--r--INSTALL2
-rw-r--r--LICENSE5
-rw-r--r--README.md58
-rw-r--r--RELEASES (renamed from doc/README)1086
-rw-r--r--cmake/KVIrc.nsi.cmake2
-rw-r--r--dist/debian/copyright8
-rwxr-xr-xdist/debian/rules1
-rw-r--r--doc/ABOUT-LICENSE (renamed from doc/COPYING)126
-rw-r--r--doc/CMakeLists.txt25
-rw-r--r--doc/FAQ687
-rw-r--r--doc/INSTALL-MacOS.txt135
-rw-r--r--doc/INSTALL-Win32.txt328
-rw-r--r--doc/INSTALL-Win64.txt178
-rw-r--r--doc/INSTALL.txt632
-rw-r--r--doc/LICENSE-OPENSSL32
-rw-r--r--doc/TODO14
-rw-r--r--doc/TODO-cmake5
-rw-r--r--doc/TODO-events58
-rw-r--r--doc/accelerator.keys.txt135
-rw-r--r--doc/addon.howto.txt323
-rw-r--r--doc/firefox.hack.txt32
-rw-r--r--doc/hackers.guide.txt998
-rw-r--r--doc/scripting.faq.txt48
-rw-r--r--doc/themes.howto.txt132
-rw-r--r--doc/translations.howto.txt157
-rw-r--r--doc/translations.spanish.notes.txt135
-rw-r--r--doc/ui-style.tips.txt67
-rw-r--r--doc/win32_run_cmake.bat53
-rw-r--r--src/modules/about/AboutDialog.cpp2
32 files changed, 681 insertions, 4787 deletions
diff --git a/.gitignore b/.gitignore
index 520bd3893..4dc49c930 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,3 +44,4 @@ CMakeSettings.json
KVIrc.sln
KVIrc.vcxproj
KVIrc.vcxproj.filters
+KVIrc.vcxproj.user
diff --git a/doc/LICENSE-GPLV2 b/COPYING
index ecbc05937..d159169d1 100644
--- a/doc/LICENSE-GPLV2
+++ b/COPYING
@@ -336,4 +336,4 @@ This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. \ No newline at end of file
+Public License instead of this License.
diff --git a/ChangeLog b/ChangeLog
index da6b4e577..24623b0ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2855,4 +2855,3 @@ Christmas Eve (Western Hemisphere) 2003:
- started this ChangeLog (to avoid confusion: newset entries go above
this one ;))
- added widget object
-
diff --git a/INSTALL b/INSTALL
index 2acf60f27..a104c1b29 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1 +1 @@
-See doc/INSTALL.txt
+See detailed instructions at https://github.com/kvirc/KVIrc/wiki/installation \ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 47dda6138..000000000
--- a/LICENSE
+++ /dev/null
@@ -1,5 +0,0 @@
-See doc/COPYING for KVIrc license.
-
-Additional licenses:
-
-Splash screen's contains work from Natalia Romay: "Equilibrium" released under Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0)
diff --git a/README.md b/README.md
index 668a6d3c7..d3d3af3a5 100644
--- a/README.md
+++ b/README.md
@@ -1,47 +1,47 @@
-[![Travis Build Status](https://img.shields.io/travis/kvirc/KVIrc/master.svg?label=Linux%20%2F%20OS%20X)](https://travis-ci.org/kvirc/KVIrc)
-[![AppVeyor Build status](https://img.shields.io/appveyor/ci/DarthGandalf/KVIrc/master.svg?label=Windows)](https://ci.appveyor.com/project/DarthGandalf/kvirc/branch/master)
-[![Coverity Scan Build Status](https://img.shields.io/coverity/scan/6841.svg)](https://scan.coverity.com/projects/kvirc-coverity)
+# ![KVIrc-Midnight](https://github.com/kvirc/KVIrc/wiki/images/KVIrc-midnight.png) KVIrc
-![KVIrc-Midnight](https://github.com/kvirc/KVIrc/wiki/images/KVIrc-midnight.png)
-<!--![KVIrc logo](../master/data/icons/128x128/kvirc.png "KVIrc - The visual IRC client for the masses!") -->
+[![Travis Build Status](https://travis-ci.org/kvirc/KVIrc.svg?branch=master)](https://travis-ci.org/kvirc/KVIrc)
+[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/j6tjel0eaeyixcbn/branch/master?svg=true)](https://ci.appveyor.com/project/DarthGandalf/kvirc/branch/master)
+[![Coverity Scan Build Status](https://scan.coverity.com/projects/6841/badge.svg)](https://scan.coverity.com/projects/kvirc-coverity)
-## About
+<!--![KVIrc logo](../master/data/icons/128x128/kvirc.png "KVIrc - The visual IRC client for the masses!") -->
-Welcome, this is the GitHub development and bug tracker home for the KVIrc project.
+Welcome to the development and bug tracker for the KVIrc project.
-KVIrc is a free and portable IRC client leveraging the Qt GUI toolkit.
-KVIrc is written by Szymon Stefanek and the KVIrc development team, with the contribution and support of many IRC addicted developers around the world.
+KVIrc is a free and portable IRC client leveraging the Qt GUI toolkit.
+KVIrc is written by Szymon Stefanek and the KVIrc development team, with contributions and support of many IRC addicted developers around the world.
-### Getting involved
+## Getting Involved
-- [Contributing](https://github.com/kvirc/KVIrc/wiki/Getting-involved-and-contributing)
+* [Contributing](https://github.com/kvirc/KVIrc/wiki/Getting-involved-and-contributing)
-### Help & Support
+## Help & Support
-- [KVIrc - wiki - Homepage](https://github.com/kvirc/KVIrc/wiki/home)
-- [KVIrc manual](http://www.kvirc.net/doc)
-- [KVIrc API](http://www.kvirc.net/api)
-- [How to submit a bug report](https://github.com/kvirc/KVIrc/wiki/Submitting-a-bug-report)
-- [Open a bug report or make a suggestion](https://github.com/kvirc/KVIrc/issues)
-- Talk to us - [Join #KVIrc](https://webchat.freenode.net?nick=kvirc-user&channels=%23kvirc&prompt=1&uio=OT10cnVlde) on freenode.net
-- [KVIrc - Community forums](http://www.kvirc.ru/forum/)
+* [KVIrc Wiki](https://github.com/kvirc/KVIrc/wiki/home)
+* [KVIrc Manual](http://www.kvirc.net/doc)
+* [KVIrc API](http://www.kvirc.net/api)
+* [How to submit a bug report](https://github.com/kvirc/KVIrc/wiki/Submitting-a-bug-report)
+* [Open a bug report or make a suggestion](https://github.com/kvirc/KVIrc/issues)
+* Talk to us - [Join #KVIrc](https://webchat.freenode.net?nick=kvirc-user&channels=%23kvirc&prompt=1&uio=OT10cnVlde) on freenode.net
---
-Try one of our fresh off-the-press nightly development 32-bit or 64-bit builds for Windows, Ubuntu and Debian.
-### [Downloads](https://github.com/kvirc/KVIrc/wiki/Downloading-KVIrcs-nightly-source-or-binaries)
+
+## Downloads
+
+Try one of our fresh off-the-press [nightly builds for Windows, Ubuntu and Debian](https://github.com/kvirc/KVIrc/wiki/Downloading-KVIrcs-nightly-source-or-binaries).
We're also looking for volunteer packagers and maintainers to other Linux distributions, that can help us extend KVIrc's availability in other OS's.
-### Install and compile
+## Install and Compile
-Compiling KVIrc on your chosen platform is an alternative way to enjoy KVIrc, see below.
+If you want to compile KVIrc on your chosen platform, we have guides on how to do that for a few popuplar platforms:
-- [Linux install](https://github.com/kvirc/KVIrc/blob/master/doc/INSTALL.txt)
-- [macOS install](https://github.com/kvirc/KVIrc/blob/master/doc/INSTALL-MacOS.txt)
-- Windows [32-bit install](https://github.com/kvirc/KVIrc/blob/master/doc/INSTALL-Win32.txt) or [64-bit install](https://github.com/kvirc/KVIrc/blob/master/doc/INSTALL-Win64.txt)
+* [Linux](https://github.com/kvirc/KVIrc/wiki/installation)
+* [macOS](https://github.com/kvirc/KVIrc/wiki/Compiling-KVIrc-on-macOS)
+* [Windows](https://github.com/kvirc/KVIrc/wiki/Compiling-KVIrc-on-Windows)
-### Licensed under
+## License
-[![KVIrc GPLv2+](https://img.shields.io/badge/KVIrc-GPLv2+-blue.svg)](./doc/LICENSE-GPLV2)
+[![KVIrc GPLv2+](https://img.shields.io/badge/KVIrc-GPLv2+-blue.svg)](./COPYING)
[![OpenSSL](https://img.shields.io/badge/OpenSSL-Licence-orange.svg)](./doc/LICENSE-OPENSSL)
-[![OpenSSL exception](https://img.shields.io/badge/OpenSSL-Exception-orange.svg)](./doc/COPYING)
+[![OpenSSL exception](https://img.shields.io/badge/OpenSSL-Exception-orange.svg)](./doc/LICENSE-OPENSSL)
diff --git a/doc/README b/RELEASES
index bf35b5a27..f7536fa61 100644
--- a/doc/README
+++ b/RELEASES
@@ -1,543 +1,543 @@
-29.12.2017: Release 5.0.0-beta1
-###############################################################################
-
-After some years and a couple of alpha releases we have a beta.
-Well.. it's marked "beta" but you'll probably find it pretty much stable.
-Several people have worked on the codebase and ultimately on this release.
-Many of them hang daily around #kvirc@Freenode. Come and say hi! :)
-
-Have fun!
-Szymon Stefanek and The KVIrc Development Team
-
-
-
-01.07.2012: Release 4.2.0 "Equilibrium"
-###############################################################################
-
-Finally, a new major milestone version of KVIrc is released!
-
-Two years has passed since the original KVIrc 4 release. While the original
-4.0 code was put in maintenance mode, a lot of time has been dedicated to merge
-new features inside KVIrc. Today we present the result of this development.
-
-Support for new os/architectures:
- - Mac OSX support, clang support
- - 64-bit Windows support
- - improved FreeBSD integration
- - even an esperimental OS/2 patch is available
-
-More scripting power:
- - the interface to the popup subsystem has been rewritten: the new popup module
- - a new interface to the userlist: the userlist module
- - a new webView class that embeds a webkit
- - improved SQL classes
- - a new trayicon KVS class
- - added a default script manager to restore default scripts without overwriting
- custom user scripts
- - lots of new functions: $file.time(), $insideAlias(), $log.export(),
- $file.diskspace(), $isBot(), $gender(), $context.connectionStartTime,
- $context.lastMessageTime, $listtimers(), $window.isDocked, $aliasBody(),
- $file.readBytes(), $file.writeBytes(), window.savePropertiesAsDefault,
- $chan.modeParam(), ...
- - new certificate related functions: $dcc.getSSLCertInfo(), $certificate(),
- $str.evpSign(), $str.evpVerify()
-
-A lot of new misc features:
- - a module to support FiSH irc encryption
- - smart logging paths using KVS
- - medialayer support: VLC, Spotify, Totem, Clementine, ...
- - a rewritten log viewer module
- - dynamic support for custom channel modes
-
-As usual, we'd like to thank all the people supporting KVIrc development and its
-userbase. A big hug to the resident users of #kvirc@Freenode for their continuous
-effort on bridging the gap between developers and users.
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-
-
-19.03.2011: Release 4.0.4 "Insomnia"
-###############################################################################
-
-Here we go again: 4.0.4 is ready.
-
-This is mainly a bugfix release.
-
-Configuration from existing 4.0.0/4.0.2 installations will be completely preserved
-and everyone is encouraged to upgrade.
-
-As usual, the bugs for this release should be reported by using the bugtrack
-system available at https://svn.kvirc.de/kvirc/
-
-Have fun :)
-Szymon Tomasz Stefanek and The KVIrc Development Team
-
-
-
-01.08.2010: Release 4.0.2 "Insomnia"
-###############################################################################
-
-Here we go again: 4.0.2 is ready.
-
-This is mainly a bugfix release. 4.0.0 went public after a very long delay and
-even if we have tested it thoroughly some problems still managed to escape our
-attention. There are fixes for several minor annoyances and the very important
-patch for a security issue related to DCC handshakes (secunia advisory SA40727)
-
-Configuration from existing 4.0.0 installations will be completely preserved
-and everyone is encouraged to upgrade.
-
-As usual, the bugs for this release should be reported by using the bugtrack
-system available at https://svn.kvirc.de/kvirc/
-
-Have fun :)
-Szymon Tomasz Stefanek and The KVIrc Development Team
-
-
-27.06.2010: Release 4.0.0 "Insomnia"
-###############################################################################
-
-And again, after more than one year, we're back with a new release.
-
-The major version increment from 3 to 4 reflects a big milestone reached by the
-project: the port to Qt4 has been officially completed. This required a lot of
-code to be rewritten and I must say that we have suffered it a bit. But now
-it's done and Qt4 is a great framework to base KVIrc on, far better than Qt3.
-
-Notable new features of this release include:
-
-- Definitive and stable port to the Qt4 libraries
-- A brand new build system based on CMake (no more ./configure)
-- Better support for server tecnologies: CAPS, STARTTLS, SASL, irc services...
-- A new UPnP module to control and remotely map your router ports for DCC
-- A totally rewritten MDI subsystem, with the look and feel of your OS
-- A nice graphical addon packager
-- A visual class editor for object oriented scripting
-- A rewritten iograph module to check your bandwidth usage
-- Support for animated avatars
-- Ability to get other user's avatars/information without the need to
- CTCP the whole channel
-- Support for DBus inter-process communication
-- Support for the MPRIS media player control and info reporting
-- Support for Phonon direct media playback
-- Improved platform compatibility for KDE4, MacOSX, Seven etc...
-- A lot of new options to better customize your client
-- A lot of new KVS commands and functions for your scripting needs
-- Tons of bug fixes, more than 500 only from the bugtracker
-- A better documentation of the code for those who like to give a look at it.
-- Months of testing and fixing to assure you an optimal IRC experience ;)
-_ ...
-
-Again a lot of people contributed to this release. It would be simply unfair
-not to mention the huge development effort made by Elvio Basello (HelLViS69),
-Fabio Bas (CtrlAltCa) and Alessandro Carbone (Noldor). Without their hard work
-KVIrc 4.0.0 wouldn't be possible.
-
-Other kudos go to Markus Rennings (mren), Kai Wasserbäch (Curan),
-Jan Wagner (spy6), Claudia Mongini (etherea), Jose (Zé) Melo (mmodem),
-Alexey Uzhva (alexey), Robert Förster (Dessa), ambossarm, TheXception,
-Voker57, Thomas Kalla, bugslayer, Aeriana, Desowin and obviously to everyone
-on #kvirc@freenode who provided testing and support.
-
-Well... it's time to play with it.
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-###############################################################################
-General notes for the 4.0.0 release of the KVIrc IRC client
-###############################################################################
-
-- Installation
-
-The detailed installation instructions for the unix source distribution
-are in the INSTALL file.
-
-The Windows version needs no installation: you just need to run the
-installer executable and follow the proposed steps.
-
-Other documentation can be found in the doc subdirectory.
-
-- Reporting problems
-
-You are encouraged to "mess" with all the KVIrc options and features,
-and to report bugs and misbehaviours to the author.
-Anyway, before reporting a bug, ask yourself if it can be caused
-by some other part of your system: KVIrc uses many external libraries
-and (as all programs) relies on a correct system behaviour.
-Make sure that the libraries you use are the correct ones (!!!).
-
-When you encounter a problem please read the FAQ that is found
-in the distribution and also take a look at http://www.kvirc.net
-for a more recent version. If nothing helps to solve your problem
-then you might consider issuing a bug report.
-
-The best way to report a bug is to use the bugtrack system at
-https://github.com/kvirc/KVIrc/issues/. Another way is to subscribe
-to the kvirc mailing list (see http://www.kvirc.net for instructions)
-and report the problem there. In both cases your bug report
-should be written in english and should contain most information
-possible about the problem. If you have encountered a crash
-on an unix platform you should include a gdb backtrace (stack dump).
-The more gdb info you send, the biggest is the possibility for us
-to find the problem and maybe a solution. There is a FAQ entry
-that explains how to produce a suitable gdb backtrace.
-If you can't obtain a gdb backtrace (maybe because you're on
-a platform where gdb is not available) or if the problem
-is not related to a program crash then you should include
-a detailed procedure that leads to the manifestation of your problem.
-You should always include a short description of the platform you
-are running on: the operating system, the cpu (if not an x86),
-the version of the Qt library and the KDE environment (if relevant).
-You should also mention the relevant version of KVIrc and where
-you got it from (svn, kvirc site, other sites).
-
-
-
-
-
-
-
-
-###############################################################################
-# Historic entries : just for the curious
-###############################################################################
-
-15 October 2008: Release 3.4.2 "Shiny"
-###############################################################################
-
-Here we go with another release :)
-
-In march we said that 3.4.0 was the last release of the 3.* but we've found
-that a little update wasn't going to hurt while the mainstream 4.* is being
-worked out. Technically this is a mainly bugfix release: there are no major
-new features inside. Some annoying 3.4.0 bugs were wiped out, some docs were
-updated and we'll hopefully have a more stable windows binary.
-
-If you're using 3.4.0 (or some older version) then you're strongly encouraged
-to upgrade.
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-
-
-
-
-23.03.2008: Release 3.4.0 "Virgo"
-###############################################################################
-
-Here we go with another release :)
-
-This one took a very long time but, well, finally it's here.
-
-Notable new features of this release include:
-
- - improved themeing support
- - better desktop integration
- - nicer support for many different IRC servers
- - a totally revised option layout
- - basic support for script "addons"
- - improved help subsystem
- - new nice statusbar applets
- - improved scripting engine
- - improved windows and macosx support
- - ....
-
-There is also a lot of small new details that you will
-find out by yourself while playing around and finally
-we obviously also have a huge number of bugfixes.
-
-This will be the last stable release of the 3.* series and also the last
-one using Qt3. From now on we'll be working on major version 4 and
-switching completely to Qt4. This release actually contains a preliminary
-Qt4 support and if you feel brave you might test it by passing
-the "hidden" --enable-qt swtich to configure.
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-
-
-
-
-22.02.2005: Release 3.2.0 "Realia"
-###############################################################################
-
-Here we go again: 3.2.0 is out!
-
-The long road to stability has reached an important milestone. The previous
-releases of the 3.* series were the first ones after a huge codebase rewrite.
-3.2.0 is a result of several months of testing, debugging and improving.
-You will surely find it more stable, fast and user friendly.
-
-The old scripting toolbars have been replaced by the new "action" based
-approach. Besides the scripting flexibility of the actions we have also
-gained "drag & drop" toolbar editing. Just select "Settings -> Toolbars
--> Customize" from the menu and drag your favorite actions (buttons!) to the
-toolbars you wish. You can obviously create new toolbars on the fly and destroy
-old ones. There is a set of builtin actions and new ones can be added
-by the means of the action editor (another new feature) accessible from
-the Scripting menu. Play with it :)
-
-The UNICODE support has been improved yet more. Now you can set global,
-per-network, per-server and per-window encodings! There is also a new
-set of "smart" encoding engines that first try to decode the text as UTF8
-and in case of failure fallback to your standard encoding.
-
-The translators did a really good (and hard) job: we actually have KVIrc
-translated in 14 languages. I'm really happy about that.
-
-There is a new nice Instant-Messager-like notifier window that pops up when
-a query message arrives and KVIrc is not the active application. Yes,
-you can disable it, but I'm sure you will not. The notifier is also fully
-scriptable and we're working on a simple skinning engine for it.
-
-We also have perl support: now you can use perl from KVS and
-KVS from perl. The engine is still quite essential but with some hacking
-you can obtain really good results from it.
-
-The small IRC-Context-Display has been removed from the toolbar and has been
-replaced by a real status bar that is capable of displaying the same
-information in a much cleaner way. The IRC-Context-Display is still
-available as an action so you can just drag it back in its place
-and hide the status bar to return to the previous release configuration.
-The statusbar also supports applets that can be added/dragged/removed by the
-means of the mouse: just try the right click.
-
-The scripting engine has been improved and there are several new object
-classes. An interesting new feature here is the $tr() function that allows
-your scripts to be translated with the standard gettext mechanism. The
-widely requested DCOP communication function has been implemented too.
-
-Out-of-the-box mircryption support has been added. The KVIrc's mircryption
-engine supports the standard ECB mode and the new CBC mode
-
-The DCC transfers have been improved and seveal related bugs have been
-fixed. It is also possible to limit the bandwidth for each transfer.
-
-There is a lot of minor new features that will make your IRC sessions funnier
-and more exciting: some of them are described in the ChangeLog file and
-other can be found by exploring the user interface.
-
-The small one-man-project has grown to the level of a small community.
-People from around the world have joined our development efforts and are
-constantly donating their time, eyes and bandwidth in order to make KVIrc
-a really good IRC client. Besides of simply giving you a free (as in freedom!)
-and nice program for chatting, they are giving you the great opportunity to see
-what's behind the scenes: you have the source code for the whole application.
-In practical terms this means more or less 300.000 lines of tested, debugged and
-commented C++ code, several perl scripts, dozens of makefiles and all the means
-that you need to produce a working KVIrc executable on all the supported platforms.
-There is a lot of knowledge (some people call it "technology" because it sells better)
-inside, ready to be acquired by an attentive reader. Don't forget that the freedom of
-building your own executable from the sources gives you the opportunity
-of verifying the source itself: for example you might be interested in verifying
-that KVIrc will not run any malware code on your machine nor will collect
-your private data and sell it to someone while you're happily chatting with a friend.
-We call it freedom, please respect it :)
-
-Our community is contantly growing and this release was possible thanks to the
-contribution of really many people. There are new mighty developers, new addicted
-fans and we have seen a lot of new users. The list of the major contributors
-can be found on the KVIrc site, in the about dialog and all around the sources.
-If you want to meet them please join the #kvirc channel on your favorite
-IRC network or subscribe to our mailing list.
-
-Ah, I was going to forget it: you might have noticed that there is
-a version bump from 3.0.1 to 3.2.0. It's a typo that we arbitrairly
-decided not to fix :)
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-
-
-
-31.05.2004: Release 3.0.1 "System Virtue"
-###############################################################################
-
-Here we go again: 3.0.1 is out!
-
-3.0.1 is mainly a bugfix release. 3.0.0 was the first public release
-after long time and even if we have tested it for a very long time
-some bugs didn't miss to jump out. 3.0.1 contains the fixes for these
-problems and adds some minor functionality. The detailed list of
-changes is in the ChangeLog file.
-
-The bugs for this release should be reported by using the bugtrack system available
-at http://bugtrack.kvirc.omnikron.net
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-
-17.04.2004: Release 3.0.0 "Awakening"
-###############################################################################
-
-After a couple of years from the last stable release, here we go again :)
-
-Since the 2.* releases the KVIrc source code has been almost completely
-rewritten. The major differences are summarized in the following list:
-
- - Multiserver: you can have multiple IRC connections in a single window
- - IPV6 support, also for DCC transfers
- - SSL support (also over IPV6)
- - UNICODE support for the user interface
- - Better scripting language
- - A basic Theme Engine
-
-The first major goal of the rewrite was "user-friendliness": you should be
-able to start an IRC session by selecting a server and clicking "Connect Now"
-just after the installation.
-The second major goal was "extreme-flexibility": you can customize the way KVIrc
-looks and the scripting language allows you to implement complex responses
-to IRC generated events.
-
-There is a lot of minor new features that will make your IRC sessions funnier
-and more exciting: some of them are described in the ChangeLog file and
-other can be found by exploring the user interface.
-
-This release was possible thanks to the contribution of many people.
-The list includes but is not limited to: Triskelios, Jan Wagner (spion),
-Juanjo Alvarez (Kane), Andrea Parrella (Yap), Luk De Ketelaere (Balboy),
-Sara D'Alia (Sbrokka), Ted Podgurski (alch3m1st), Ciro Guariglia (d3vah),
-Christoph Thielecke (Crissi), Eva Schaller (Penny), Niklas Luer�en (Tequila)
-Olle Hallnas (Crocodile), Francesco Meloni (Princo), Alessandro Rossini (Aronnax),
-Alex Grijalba Martinez (SuD), SuperbepS, Thilo Schulz (Thilo), Dworf,
-Jorma Tuomainen (Wiza), Michele Pinassi (O-Zone), Paolo Sammicheli (XDatap1),
-Ahinu, xevilstar, The Siena Linux Users Group, cyco & samweis,
-The Firenze Linux Users Group, all the subscribers of the KVIrc public mailing
-list and finally all the people from #kvirc on IRCNet and Freenode.
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-###############################################################################
-General notes for the 3.0.0 release of the KVIrc IRC client
-###############################################################################
-
-- Installation
-
-The detailed installation instructions for the unix source distribution
-are in the INSTALL file.
-
-The Windows version needs no installation: just unzip the archive in
-a suitable directory (such as C:\Program Files\) and run kvirc.exe from there.
-
-Other documentation can be found in the doc subdirectory.
-
-- Reporting problems
-
-In this release, the changes are so huge that it was not possible
-to test them in all the possible conditions. A 'normal' irc session
-should give you no problems.
-You are encouraged to "mess" with all the KVIrc options and features,
-and to report bugs and misbehaviours to the author.
-Anyway, before reporting a bug, ask yourself if it can be caused
-by some other part of your system: KVIrc uses many external libraries
-and (as all programs) relies on a correct system behaviour.
-Make sure that the libraries you use are the correct ones (!!!).
-
-- Contents of a good bug report:
-
-- A gdb backtrace in case of a segfault.
- The more gdb info you send, the biggest is the possibility
- for me to find the problem and maybe a solution.
-- A detailed description (read : procedure) to reproduce the bug
- Obviously if possible...
-- All information on your system that you think that may be
- related to KVIrc and to the problem itself.
-
-To enable the gdb debugging you must compile kvirc with
-the --enable-debug configure option.
-
-
-
-03.01.2003: Release 3.0.0 beta2
-###############################################################################
-
-
-Here we go again!
-Yes, this is still called "beta", but it should be stable on most machines.
-We're simply still missing some features planned for the final 3.0.0.
-
-Beta2 is being released as a source package.
-Binary packages (for windows and other platforms) might be available soon
-so check out the download section once in a while.
-
-90% of the 2.* branch features have been already re-implemented and there are
-many new things to play with.
-
-There is a preliminary UNICODE port: KVIrc UI starts to "speak" foreign (non Latin1) based languages.
-IRC character set mapping has been implemented (with 8 commonly used codepages for now).
-You should be able to use the Euro sign (ISO-8859-15), write Cyrillic (KOI-8-R, CP-1251, ISO-8859-5),
-Greek (ISO-8859-7) and even use ideograms with the UTF-8 encoding.
-Character mapping selection is window based thus you should be able to write Cyrillic on #russian,
-Greek on #athens and write plain English on #kvirc in the same IRC session.
-
-Some modules have been removed from the main distribution. This is because the source
-tree has been growing too much: we are removing the non-strictly-necessary features
-and we will release them as separate packages.
-
-On the CVS you can already find the "nap" module that allows chatting (no file sharing yet)
-on OpenNap networks.
-
-The scriptcenter dialog has been split in smaller "pieces" and a GUI toolbar editor has been added.
-
-Finally there are tons of bugfixes and improvements: just play with it :)
-
-The bugs for this release should be reported by using the bugtrack system available
-at http://bugtrack.kvirc.omnikron.net.
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-###############################################################################
-
-
-
-25.06.2002
-###############################################################################
-
-3.0.0 beta1 (Codename: "Eve's Avatar")
-
-This release is "floating around" since a couple of months...
-Well... finally... here we go :)
-This is not stable yet, but many people use it and we get a really small number of
-critical reports: this means that you probably can use it for your daily chatting.
-
-Beta1 is being released as a source package and a binary distro for the windows platform.
-Binary packages for other platforms might be available soon so check out the download section once in a while.
-
-If you had previous KVIrc installations and you experience problems (missing menus for example)
-try to remove (or better just rename) the old local configuration directory (locaed
-in your home dir probably) and to restart KVIrc.
-
-80% of the 2.* branch features have been already re-implemented and there is a whole
-bunch of new things to play with. One of the greates "ChangeLog" entries is the preliminary
-SSL support that works for IRC and DCC CHAT (both over IPv4 and IPv6).
-CTCP PAGE support has been added and there were some major changes to the variable
-management in the scripting language (added "real" array support and changed the syntax for the dictionaries).
-Those of you that like colors can now enable the icon-like display of emoticons
-and play with icons in the text sent through the server (a new escape code).
-The documentation has been reworked a little bit more, there are some new modules and
-a lot of new options to try.
-
-The windows version is not completely in sync with the linux one thus you might find
-that it lacks some features (mainly advanced scripting language, sound support etc...).
-We hope to have a completely synchronized versions on both platforms for the time
-of 3.0.0 final.
-
-The bugs for this release should be reported by using our new shiny bugtrack system available
-at http://bugtrack.kvirc.omnikron.net.
-
-Well..
-That's all folks!
-
-Have fun :)
-Szymon Stefanek and The KVIrc Development Team
-
-###############################################################################
+29.12.2017: Release 5.0.0-beta1
+###############################################################################
+
+After some years and a couple of alpha releases we have a beta.
+Well.. it's marked "beta" but you'll probably find it pretty much stable.
+Several people have worked on the codebase and ultimately on this release.
+Many of them hang daily around #kvirc@Freenode. Come and say hi! :)
+
+Have fun!
+Szymon Stefanek and The KVIrc Development Team
+
+
+
+01.07.2012: Release 4.2.0 "Equilibrium"
+###############################################################################
+
+Finally, a new major milestone version of KVIrc is released!
+
+Two years has passed since the original KVIrc 4 release. While the original
+4.0 code was put in maintenance mode, a lot of time has been dedicated to merge
+new features inside KVIrc. Today we present the result of this development.
+
+Support for new os/architectures:
+ - Mac OSX support, clang support
+ - 64-bit Windows support
+ - improved FreeBSD integration
+ - even an esperimental OS/2 patch is available
+
+More scripting power:
+ - the interface to the popup subsystem has been rewritten: the new popup module
+ - a new interface to the userlist: the userlist module
+ - a new webView class that embeds a webkit
+ - improved SQL classes
+ - a new trayicon KVS class
+ - added a default script manager to restore default scripts without overwriting
+ custom user scripts
+ - lots of new functions: $file.time(), $insideAlias(), $log.export(),
+ $file.diskspace(), $isBot(), $gender(), $context.connectionStartTime,
+ $context.lastMessageTime, $listtimers(), $window.isDocked, $aliasBody(),
+ $file.readBytes(), $file.writeBytes(), window.savePropertiesAsDefault,
+ $chan.modeParam(), ...
+ - new certificate related functions: $dcc.getSSLCertInfo(), $certificate(),
+ $str.evpSign(), $str.evpVerify()
+
+A lot of new misc features:
+ - a module to support FiSH irc encryption
+ - smart logging paths using KVS
+ - medialayer support: VLC, Spotify, Totem, Clementine, ...
+ - a rewritten log viewer module
+ - dynamic support for custom channel modes
+
+As usual, we'd like to thank all the people supporting KVIrc development and its
+userbase. A big hug to the resident users of #kvirc@Freenode for their continuous
+effort on bridging the gap between developers and users.
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+
+
+19.03.2011: Release 4.0.4 "Insomnia"
+###############################################################################
+
+Here we go again: 4.0.4 is ready.
+
+This is mainly a bugfix release.
+
+Configuration from existing 4.0.0/4.0.2 installations will be completely preserved
+and everyone is encouraged to upgrade.
+
+As usual, the bugs for this release should be reported by using the bugtrack
+system available at https://svn.kvirc.de/kvirc/
+
+Have fun :)
+Szymon Tomasz Stefanek and The KVIrc Development Team
+
+
+
+01.08.2010: Release 4.0.2 "Insomnia"
+###############################################################################
+
+Here we go again: 4.0.2 is ready.
+
+This is mainly a bugfix release. 4.0.0 went public after a very long delay and
+even if we have tested it thoroughly some problems still managed to escape our
+attention. There are fixes for several minor annoyances and the very important
+patch for a security issue related to DCC handshakes (secunia advisory SA40727)
+
+Configuration from existing 4.0.0 installations will be completely preserved
+and everyone is encouraged to upgrade.
+
+As usual, the bugs for this release should be reported by using the bugtrack
+system available at https://svn.kvirc.de/kvirc/
+
+Have fun :)
+Szymon Tomasz Stefanek and The KVIrc Development Team
+
+
+27.06.2010: Release 4.0.0 "Insomnia"
+###############################################################################
+
+And again, after more than one year, we're back with a new release.
+
+The major version increment from 3 to 4 reflects a big milestone reached by the
+project: the port to Qt4 has been officially completed. This required a lot of
+code to be rewritten and I must say that we have suffered it a bit. But now
+it's done and Qt4 is a great framework to base KVIrc on, far better than Qt3.
+
+Notable new features of this release include:
+
+- Definitive and stable port to the Qt4 libraries
+- A brand new build system based on CMake (no more ./configure)
+- Better support for server tecnologies: CAPS, STARTTLS, SASL, irc services...
+- A new UPnP module to control and remotely map your router ports for DCC
+- A totally rewritten MDI subsystem, with the look and feel of your OS
+- A nice graphical addon packager
+- A visual class editor for object oriented scripting
+- A rewritten iograph module to check your bandwidth usage
+- Support for animated avatars
+- Ability to get other user's avatars/information without the need to
+ CTCP the whole channel
+- Support for DBus inter-process communication
+- Support for the MPRIS media player control and info reporting
+- Support for Phonon direct media playback
+- Improved platform compatibility for KDE4, MacOSX, Seven etc...
+- A lot of new options to better customize your client
+- A lot of new KVS commands and functions for your scripting needs
+- Tons of bug fixes, more than 500 only from the bugtracker
+- A better documentation of the code for those who like to give a look at it.
+- Months of testing and fixing to assure you an optimal IRC experience ;)
+_ ...
+
+Again a lot of people contributed to this release. It would be simply unfair
+not to mention the huge development effort made by Elvio Basello (HelLViS69),
+Fabio Bas (CtrlAltCa) and Alessandro Carbone (Noldor). Without their hard work
+KVIrc 4.0.0 wouldn't be possible.
+
+Other kudos go to Markus Rennings (mren), Kai Wasserbäch (Curan),
+Jan Wagner (spy6), Claudia Mongini (etherea), Jose (Zé) Melo (mmodem),
+Alexey Uzhva (alexey), Robert Förster (Dessa), ambossarm, TheXception,
+Voker57, Thomas Kalla, bugslayer, Aeriana, Desowin and obviously to everyone
+on #kvirc@freenode who provided testing and support.
+
+Well... it's time to play with it.
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+###############################################################################
+General notes for the 4.0.0 release of the KVIrc IRC client
+###############################################################################
+
+- Installation
+
+The detailed installation instructions for the unix source distribution
+are in the INSTALL file.
+
+The Windows version needs no installation: you just need to run the
+installer executable and follow the proposed steps.
+
+Other documentation can be found in the doc subdirectory.
+
+- Reporting problems
+
+You are encouraged to "mess" with all the KVIrc options and features,
+and to report bugs and misbehaviours to the author.
+Anyway, before reporting a bug, ask yourself if it can be caused
+by some other part of your system: KVIrc uses many external libraries
+and (as all programs) relies on a correct system behaviour.
+Make sure that the libraries you use are the correct ones (!!!).
+
+When you encounter a problem please read the FAQ that is found
+in the distribution and also take a look at http://www.kvirc.net
+for a more recent version. If nothing helps to solve your problem
+then you might consider issuing a bug report.
+
+The best way to report a bug is to use the bugtrack system at
+https://github.com/kvirc/KVIrc/issues/. Another way is to subscribe
+to the kvirc mailing list (see http://www.kvirc.net for instructions)
+and report the problem there. In both cases your bug report
+should be written in english and should contain most information
+possible about the problem. If you have encountered a crash
+on an unix platform you should include a gdb backtrace (stack dump).
+The more gdb info you send, the biggest is the possibility for us
+to find the problem and maybe a solution. There is a FAQ entry
+that explains how to produce a suitable gdb backtrace.
+If you can't obtain a gdb backtrace (maybe because you're on
+a platform where gdb is not available) or if the problem
+is not related to a program crash then you should include
+a detailed procedure that leads to the manifestation of your problem.
+You should always include a short description of the platform you
+are running on: the operating system, the cpu (if not an x86),
+the version of the Qt library and the KDE environment (if relevant).
+You should also mention the relevant version of KVIrc and where
+you got it from (svn, kvirc site, other sites).
+
+
+
+
+
+
+
+
+###############################################################################
+# Historic entries : just for the curious
+###############################################################################
+
+15 October 2008: Release 3.4.2 "Shiny"
+###############################################################################
+
+Here we go with another release :)
+
+In march we said that 3.4.0 was the last release of the 3.* but we've found
+that a little update wasn't going to hurt while the mainstream 4.* is being
+worked out. Technically this is a mainly bugfix release: there are no major
+new features inside. Some annoying 3.4.0 bugs were wiped out, some docs were
+updated and we'll hopefully have a more stable windows binary.
+
+If you're using 3.4.0 (or some older version) then you're strongly encouraged
+to upgrade.
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+
+
+
+
+23.03.2008: Release 3.4.0 "Virgo"
+###############################################################################
+
+Here we go with another release :)
+
+This one took a very long time but, well, finally it's here.
+
+Notable new features of this release include:
+
+ - improved themeing support
+ - better desktop integration
+ - nicer support for many different IRC servers
+ - a totally revised option layout
+ - basic support for script "addons"
+ - improved help subsystem
+ - new nice statusbar applets
+ - improved scripting engine
+ - improved windows and macosx support
+ - ....
+
+There is also a lot of small new details that you will
+find out by yourself while playing around and finally
+we obviously also have a huge number of bugfixes.
+
+This will be the last stable release of the 3.* series and also the last
+one using Qt3. From now on we'll be working on major version 4 and
+switching completely to Qt4. This release actually contains a preliminary
+Qt4 support and if you feel brave you might test it by passing
+the "hidden" --enable-qt swtich to configure.
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+
+
+
+
+22.02.2005: Release 3.2.0 "Realia"
+###############################################################################
+
+Here we go again: 3.2.0 is out!
+
+The long road to stability has reached an important milestone. The previous
+releases of the 3.* series were the first ones after a huge codebase rewrite.
+3.2.0 is a result of several months of testing, debugging and improving.
+You will surely find it more stable, fast and user friendly.
+
+The old scripting toolbars have been replaced by the new "action" based
+approach. Besides the scripting flexibility of the actions we have also
+gained "drag & drop" toolbar editing. Just select "Settings -> Toolbars
+-> Customize" from the menu and drag your favorite actions (buttons!) to the
+toolbars you wish. You can obviously create new toolbars on the fly and destroy
+old ones. There is a set of builtin actions and new ones can be added
+by the means of the action editor (another new feature) accessible from
+the Scripting menu. Play with it :)
+
+The UNICODE support has been improved yet more. Now you can set global,
+per-network, per-server and per-window encodings! There is also a new
+set of "smart" encoding engines that first try to decode the text as UTF8
+and in case of failure fallback to your standard encoding.
+
+The translators did a really good (and hard) job: we actually have KVIrc
+translated in 14 languages. I'm really happy about that.
+
+There is a new nice Instant-Messager-like notifier window that pops up when
+a query message arrives and KVIrc is not the active application. Yes,
+you can disable it, but I'm sure you will not. The notifier is also fully
+scriptable and we're working on a simple skinning engine for it.
+
+We also have perl support: now you can use perl from KVS and
+KVS from perl. The engine is still quite essential but with some hacking
+you can obtain really good results from it.
+
+The small IRC-Context-Display has been removed from the toolbar and has been
+replaced by a real status bar that is capable of displaying the same
+information in a much cleaner way. The IRC-Context-Display is still
+available as an action so you can just drag it back in its place
+and hide the status bar to return to the previous release configuration.
+The statusbar also supports applets that can be added/dragged/removed by the
+means of the mouse: just try the right click.
+
+The scripting engine has been improved and there are several new object
+classes. An interesting new feature here is the $tr() function that allows
+your scripts to be translated with the standard gettext mechanism. The
+widely requested DCOP communication function has been implemented too.
+
+Out-of-the-box mircryption support has been added. The KVIrc's mircryption
+engine supports the standard ECB mode and the new CBC mode
+
+The DCC transfers have been improved and seveal related bugs have been
+fixed. It is also possible to limit the bandwidth for each transfer.
+
+There is a lot of minor new features that will make your IRC sessions funnier
+and more exciting: some of them are described in the ChangeLog file and
+other can be found by exploring the user interface.
+
+The small one-man-project has grown to the level of a small community.
+People from around the world have joined our development efforts and are
+constantly donating their time, eyes and bandwidth in order to make KVIrc
+a really good IRC client. Besides of simply giving you a free (as in freedom!)
+and nice program for chatting, they are giving you the great opportunity to see
+what's behind the scenes: you have the source code for the whole application.
+In practical terms this means more or less 300.000 lines of tested, debugged and
+commented C++ code, several perl scripts, dozens of makefiles and all the means
+that you need to produce a working KVIrc executable on all the supported platforms.
+There is a lot of knowledge (some people call it "technology" because it sells better)
+inside, ready to be acquired by an attentive reader. Don't forget that the freedom of
+building your own executable from the sources gives you the opportunity
+of verifying the source itself: for example you might be interested in verifying
+that KVIrc will not run any malware code on your machine nor will collect
+your private data and sell it to someone while you're happily chatting with a friend.
+We call it freedom, please respect it :)
+
+Our community is contantly growing and this release was possible thanks to the
+contribution of really many people. There are new mighty developers, new addicted
+fans and we have seen a lot of new users. The list of the major contributors
+can be found on the KVIrc site, in the about dialog and all around the sources.
+If you want to meet them please join the #kvirc channel on your favorite
+IRC network or subscribe to our mailing list.
+
+Ah, I was going to forget it: you might have noticed that there is
+a version bump from 3.0.1 to 3.2.0. It's a typo that we arbitrairly
+decided not to fix :)
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+
+
+
+31.05.2004: Release 3.0.1 "System Virtue"
+###############################################################################
+
+Here we go again: 3.0.1 is out!
+
+3.0.1 is mainly a bugfix release. 3.0.0 was the first public release
+after long time and even if we have tested it for a very long time
+some bugs didn't miss to jump out. 3.0.1 contains the fixes for these
+problems and adds some minor functionality. The detailed list of
+changes is in the ChangeLog file.
+
+The bugs for this release should be reported by using the bugtrack system available
+at http://bugtrack.kvirc.omnikron.net
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+
+17.04.2004: Release 3.0.0 "Awakening"
+###############################################################################
+
+After a couple of years from the last stable release, here we go again :)
+
+Since the 2.* releases the KVIrc source code has been almost completely
+rewritten. The major differences are summarized in the following list:
+
+ - Multiserver: you can have multiple IRC connections in a single window
+ - IPV6 support, also for DCC transfers
+ - SSL support (also over IPV6)
+ - UNICODE support for the user interface
+ - Better scripting language
+ - A basic Theme Engine
+
+The first major goal of the rewrite was "user-friendliness": you should be
+able to start an IRC session by selecting a server and clicking "Connect Now"
+just after the installation.
+The second major goal was "extreme-flexibility": you can customize the way KVIrc
+looks and the scripting language allows you to implement complex responses
+to IRC generated events.
+
+There is a lot of minor new features that will make your IRC sessions funnier
+and more exciting: some of them are described in the ChangeLog file and
+other can be found by exploring the user interface.
+
+This release was possible thanks to the contribution of many people.
+The list includes but is not limited to: Triskelios, Jan Wagner (spion),
+Juanjo Alvarez (Kane), Andrea Parrella (Yap), Luk De Ketelaere (Balboy),
+Sara D'Alia (Sbrokka), Ted Podgurski (alch3m1st), Ciro Guariglia (d3vah),
+Christoph Thielecke (Crissi), Eva Schaller (Penny), Niklas Luer�en (Tequila)
+Olle Hallnas (Crocodile), Francesco Meloni (Princo), Alessandro Rossini (Aronnax),
+Alex Grijalba Martinez (SuD), SuperbepS, Thilo Schulz (Thilo), Dworf,
+Jorma Tuomainen (Wiza), Michele Pinassi (O-Zone), Paolo Sammicheli (XDatap1),
+Ahinu, xevilstar, The Siena Linux Users Group, cyco & samweis,
+The Firenze Linux Users Group, all the subscribers of the KVIrc public mailing
+list and finally all the people from #kvirc on IRCNet and Freenode.
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+###############################################################################
+General notes for the 3.0.0 release of the KVIrc IRC client
+###############################################################################
+
+- Installation
+
+The detailed installation instructions for the unix source distribution
+are in the INSTALL file.
+
+The Windows version needs no installation: just unzip the archive in
+a suitable directory (such as C:\Program Files\) and run kvirc.exe from there.
+
+Other documentation can be found in the doc subdirectory.
+
+- Reporting problems
+
+In this release, the changes are so huge that it was not possible
+to test them in all the possible conditions. A 'normal' irc session
+should give you no problems.
+You are encouraged to "mess" with all the KVIrc options and features,
+and to report bugs and misbehaviours to the author.
+Anyway, before reporting a bug, ask yourself if it can be caused
+by some other part of your system: KVIrc uses many external libraries
+and (as all programs) relies on a correct system behaviour.
+Make sure that the libraries you use are the correct ones (!!!).
+
+- Contents of a good bug report:
+
+- A gdb backtrace in case of a segfault.
+ The more gdb info you send, the biggest is the possibility
+ for me to find the problem and maybe a solution.
+- A detailed description (read : procedure) to reproduce the bug
+ Obviously if possible...
+- All information on your system that you think that may be
+ related to KVIrc and to the problem itself.
+
+To enable the gdb debugging you must compile kvirc with
+the --enable-debug configure option.
+
+
+
+03.01.2003: Release 3.0.0 beta2
+###############################################################################
+
+
+Here we go again!
+Yes, this is still called "beta", but it should be stable on most machines.
+We're simply still missing some features planned for the final 3.0.0.
+
+Beta2 is being released as a source package.
+Binary packages (for windows and other platforms) might be available soon
+so check out the download section once in a while.
+
+90% of the 2.* branch features have been already re-implemented and there are
+many new things to play with.
+
+There is a preliminary UNICODE port: KVIrc UI starts to "speak" foreign (non Latin1) based languages.
+IRC character set mapping has been implemented (with 8 commonly used codepages for now).
+You should be able to use the Euro sign (ISO-8859-15), write Cyrillic (KOI-8-R, CP-1251, ISO-8859-5),
+Greek (ISO-8859-7) and even use ideograms with the UTF-8 encoding.
+Character mapping selection is window based thus you should be able to write Cyrillic on #russian,
+Greek on #athens and write plain English on #kvirc in the same IRC session.
+
+Some modules have been removed from the main distribution. This is because the source
+tree has been growing too much: we are removing the non-strictly-necessary features
+and we will release them as separate packages.
+
+On the CVS you can already find the "nap" module that allows chatting (no file sharing yet)
+on OpenNap networks.
+
+The scriptcenter dialog has been split in smaller "pieces" and a GUI toolbar editor has been added.
+
+Finally there are tons of bugfixes and improvements: just play with it :)
+
+The bugs for this release should be reported by using the bugtrack system available
+at http://bugtrack.kvirc.omnikron.net.
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+###############################################################################
+
+
+
+25.06.2002
+###############################################################################
+
+3.0.0 beta1 (Codename: "Eve's Avatar")
+
+This release is "floating around" since a couple of months...
+Well... finally... here we go :)
+This is not stable yet, but many people use it and we get a really small number of
+critical reports: this means that you probably can use it for your daily chatting.
+
+Beta1 is being released as a source package and a binary distro for the windows platform.
+Binary packages for other platforms might be available soon so check out the download section once in a while.
+
+If you had previous KVIrc installations and you experience problems (missing menus for example)
+try to remove (or better just rename) the old local configuration directory (locaed
+in your home dir probably) and to restart KVIrc.
+
+80% of the 2.* branch features have been already re-implemented and there is a whole
+bunch of new things to play with. One of the greates "ChangeLog" entries is the preliminary
+SSL support that works for IRC and DCC CHAT (both over IPv4 and IPv6).
+CTCP PAGE support has been added and there were some major changes to the variable
+management in the scripting language (added "real" array support and changed the syntax for the dictionaries).
+Those of you that like colors can now enable the icon-like display of emoticons
+and play with icons in the text sent through the server (a new escape code).
+The documentation has been reworked a little bit more, there are some new modules and
+a lot of new options to try.
+
+The windows version is not completely in sync with the linux one thus you might find
+that it lacks some features (mainly advanced scripting language, sound support etc...).
+We hope to have a completely synchronized versions on both platforms for the time
+of 3.0.0 final.
+
+The bugs for this release should be reported by using our new shiny bugtrack system available
+at http://bugtrack.kvirc.omnikron.net.
+
+Well..
+That's all folks!
+
+Have fun :)
+Szymon Stefanek and The KVIrc Development Team
+
+############################################################################### \ No newline at end of file
diff --git a/cmake/KVIrc.nsi.cmake b/cmake/KVIrc.nsi.cmake
index dc92231b1..111208737 100644
--- a/cmake/KVIrc.nsi.cmake
+++ b/cmake/KVIrc.nsi.cmake
@@ -46,7 +46,7 @@ Var LocalDir
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchKVIrc"
; Pages
-!insertmacro MUI_PAGE_LICENSE "release\License\COPYING"
+!insertmacro MUI_PAGE_LICENSE "release\License\ABOUT-LICENSE"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
diff --git a/dist/debian/copyright b/dist/debian/copyright
index 08623d07a..6d2b51e7d 100644
--- a/dist/debian/copyright
+++ b/dist/debian/copyright
@@ -10,7 +10,7 @@ License: GPL-2+ with OpenSSL exception
.
It is based on the GNU General Public License either version 2, or
(at your option) any later version. The full text of versions 2 and 3 of
- the GPL can be found respectively in the files LICENSE-GPLV2 and LICENSE-GPLV3.
+ the GPL can be found respectively in the file COPYING.
KVIrc License contains all the GPL terms and conditions and adds a special
exception (see "OpenSSL Exception" below) to the distribution limitations.
.
@@ -61,17 +61,17 @@ License: GPL-2+ with OpenSSL exception
Files: cmake/modules/FindLibV4L2.cmake
Copyright: 2002 Kitware, Inc., Insight Consortium
- 2009 Jaroslav Reznik <jreznik@redhat.com>
+ 2009 Jaroslav Reznik <jreznik@redhat.com>
License: other
Files: cmake/modules/FindPhonon.cmake
Copyright: 2002 Kitware, Inc., Insight Consortium
- 2008 Matthias Kretz <kretz@kde.org>
+ 2008 Matthias Kretz <kretz@kde.org>
License: other
Files: cmake/modules/FindTheora.cmake
Copyright: 2002 Kitware, Inc., Insight Consortium
- 2006-2007 Laurent Montel <montel@kde.org>
+ 2006-2007 Laurent Montel <montel@kde.org>
License: other
License: other
diff --git a/dist/debian/rules b/dist/debian/rules
index 8855dc352..facba1d3c 100755
--- a/dist/debian/rules
+++ b/dist/debian/rules
@@ -27,7 +27,6 @@ endif
NOT_INSTALLED := \
usr/lib/$(DEB_HOST_MULTIARCH)/libkvilib.so \
usr/bin/kvirc-config \
- usr/share/kvirc/4.9/license/LICENSE-GPLV2 \
usr/share/kvirc/4.9/license/LICENSE-OPENSSL \
usr/share/kvirc/4.9/license/COPYING \
usr/share/pixmaps/kvirc.png
diff --git a/doc/COPYING b/doc/ABOUT-LICENSE
index 5df47407a..ff3f5871a 100644
--- a/doc/COPYING
+++ b/doc/ABOUT-LICENSE
@@ -1,63 +1,63 @@
- This is the KVIrc IRC Client license.
-
- This program is FREE software. You can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the HOPE that it will be USEFUL,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
---------------------------------------------------------------------------------
-
-The full verbatim copy of the GPLv2 can be found in the file LICENSE-GPLV2.
-The KVIrc License contains all the GPL terms and conditions and adds a special
-exception (see "OpenSSL Exception" below) to the distribution limitations.
-
-Note that the GPL is copyrighted by the Free Software Foundation,
-but the instance of code that it refers to is copyrighted by
-Szymon Stefanek and members of
-the KVIrc Development Team as well as other independent contributors.
-
-The source code for all versions of KVIrc is available at
-http://www.kvirc.net and https://github.com/kvirc/KVIrc
-
-Have fun!
-Szymon Stefanek :)
-
- _OpenSSL Exception_
-
-0. Definitions
-
-"KVIrc" means KVIrc software licensed under version 2 or any later
-version of the GNU General Public License (collectively, "GPL"), or a
-work based on such software and licensed under the GPL.
-
-"OpenSSL" means OpenSSL toolkit software distributed by the OpenSSL
-Project and licensed under the OpenSSL Licenses, or a work based on such
-software and licensed under the OpenSSL Licenses.
-
-"OpenSSL Licenses" means the OpenSSL License and Original SSLeay License
-under which the OpenSSL Project distributes the OpenSSL toolkit software,
-as those licenses appear in the file LICENSE-OPENSSL.
-
-1. Exception
-
-You have permission to copy, modify, propagate, and distribute a work
-formed by combining OpenSSL with KVIrc, or a work derivative of such a
-combination, even if such copying, modification, propagation, or
-distribution would otherwise violate the terms of the GPL. You must
-comply with the GPL in all respects for all of the code used other than
-OpenSSL.
-
-You may include this OpenSSL Exception and its grant of permissions when
-you distribute KVIrc. Inclusion of this notice with such a
-distribution constitutes a grant of such permission. If you do not wish
-to grant these permissions, remove this section entitled "OpenSSL
-Exception" from your distribution.
+ This is the KVIrc IRC Client license.
+
+ This program is FREE software. You can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the HOPE that it will be USEFUL,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+--------------------------------------------------------------------------------
+
+The full verbatim copy of the GPLv2 can be found in the file COPYING.
+The KVIrc License contains all the GPL terms and conditions and adds a special
+exception (see "OpenSSL Exception" below) to the distribution limitations.
+
+Note that the GPL is copyrighted by the Free Software Foundation,
+but the instance of code that it refers to is copyrighted by
+Szymon Stefanek and members of
+the KVIrc Development Team as well as other independent contributors.
+
+The source code for all versions of KVIrc is available at
+http://www.kvirc.net and https://github.com/kvirc/KVIrc
+
+Have fun!
+Szymon Stefanek :)
+
+ _OpenSSL Exception_
+
+0. Definitions
+
+"KVIrc" means KVIrc software licensed under version 2 or any later
+version of the GNU General Public License (collectively, "GPL"), or a
+work based on such software and licensed under the GPL.
+
+"OpenSSL" means OpenSSL toolkit software distributed by the OpenSSL
+Project and licensed under the OpenSSL Licenses, or a work based on such
+software and licensed under the OpenSSL Licenses.
+
+"OpenSSL Licenses" means the OpenSSL License and Original SSLeay License
+under which the OpenSSL Project distributes the OpenSSL toolkit software,
+as those licenses appear in the file LICENSE-OPENSSL.
+
+1. Exception
+
+You have permission to copy, modify, propagate, and distribute a work
+formed by combining OpenSSL with KVIrc, or a work derivative of such a
+combination, even if such copying, modification, propagation, or
+distribution would otherwise violate the terms of the GPL. You must
+comply with the GPL in all respects for all of the code used other than
+OpenSSL.
+
+You may include this OpenSSL Exception and its grant of permissions when
+you distribute KVIrc. Inclusion of this notice with such a
+distribution constitutes a grant of such permission. If you do not wish
+to grant these permissions, remove this section entitled "OpenSSL
+Exception" from your distribution.
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 0d235e32f..6d42540f6 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,25 +1,13 @@
# CMakeLists for doc/
set(license
- COPYING
- LICENSE-GPLV2
+ ABOUT-LICENSE
LICENSE-OPENSSL
+ ../COPYING
)
-set(howto
- README
- FAQ
- INSTALL.txt
- INSTALL-MacOS.txt
- INSTALL-Win32.txt
- INSTALL-Win64.txt
- addon.howto.txt
- firefox.hack.txt
- hackers.guide.txt
- scripting.faq.txt
- themes.howto.txt
- translations.howto.txt
- ui-style.tips.txt
-)
+if(WIN32)
+ list(APPEND license LICENSE-AMIP)
+endif()
# User documentation
if(PERL_FOUND)
@@ -78,13 +66,10 @@ endif()
if(UNIX)
if(APPLE)
install(FILES ${license} DESTINATION ${CMAKE_INSTALL_PREFIX}/Contents/Resources/license)
- install(FILES ${howto} DESTINATION ${CMAKE_INSTALL_PREFIX}/Contents/Resources/doc)
else()
# Assume linux
install(FILES ${license} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/kvirc/${VERSION_BRANCH}/license/)
- install(FILES ${howto} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/kvirc/${VERSION_BRANCH}/doc/)
endif()
elseif(WIN32)
install(FILES ${license} DESTINATION ${CMAKE_INSTALL_PREFIX}/license/)
- install(FILES ${howto} DESTINATION ${CMAKE_INSTALL_PREFIX}/doc/)
endif()
diff --git a/doc/FAQ b/doc/FAQ
deleted file mode 100644
index fd54b7234..000000000
--- a/doc/FAQ
+++ /dev/null
@@ -1,687 +0,0 @@
-1. PROJECT RELATED QUESTIONS
-
-1.1 What is KVIrc? What does the KVIrc name stand for?
-1.2 Why is KVIrc not fully integrated in KDE?
-
-
-2. COMPILATION
-
-2.1 I can't compile KVIrc from Git, what's wrong?
-2.2 Internal Compiler Errors?
-
-
-3. INSTALLATION
-
-3.1 There is a problem during package installation/creation
- file /usr/share/services/irc.protocol from install
- kvirc-version.package conflicts with file from package xxx
-
-
-4. IRC
-
-4.1 How do I join a channel?
-4.2 How do I autojoin channels?
-4.3 How do I enable automatic NickServ identification?
-4.4 I can't see my national characters, what's wrong?
-4.5 I can't connect to an IPV6 server, what's wrong?
-4.6 /me doesn't support the '$' character, what's wrong?
-4.7 /me doesn't support the '"' (double quote) character, what's wrong?
-4.8 /me can't contain the ';' character, what's wrong?
-4.9 I try to do a /whois on nick blah\ but I get the reply for blah (without the slash)
-4.10 What is AVATAR protocol? Is there any documentation about it?
-4.11 The log files seem to be saved randomly, when I open a log
- I can see only a part of the text that actually should be there
-4.12 The DCC transfers seem to be interrupted after the first few bytes:
- KVIrc says that the remote end has closed the connection.
-
-
-5. ADVANCED IRC FEATURES
-
-5.1 How do I connect to an SSL-enabled IRC server?
-5.2 How do I use DCC over SSL?
-5.3 Do I need a SSL certificate?
-5.4 How do I create a SSL certificate?
-5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong?
-5.6 KVIrc crashes when a certificate is used under Windows, what's wrong?
-5.7 How do I enable Mircryption (encryption in general) for a specific channel?
-5.8 How do I execute a process and send its output to a channel?
-5.9 How do I keep channels and queries open after a disconnect?
-5.10 I have an unreliable ISP connection but KVIrc takes a really long
- time to detect a disconnection and reconnect.
-5.11 I'm in a LAN and KVIrc uses a wrong IP address in DCC transfers
-
-
-6. APPEARANCE
-
-6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong?
-6.2 I don't see the channel popup menus anymore, what's wrong?
-6.3 Does KVIrc support Themes?
-6.4 I hate all that colors, what can I do about it?
-6.5 On Windows, how do I use Firefox, Opera or any other browser to open links instead of explorer?
-
-
-7. CRASHES
-
-7.1 What the heck is a GDB stack trace and how do I get it?
-7.2 KVIrc hangs up, but doesn't crash. How do I report debug information?
-7.3 KVIrc exits by itself or simply disappears without any apparent reason.
-7.4 KVIrc dies when using alias(identify){ identify password; }
-
-
-8. SCRIPTING / ADDONS
-
-8.1 Trying to load a script I get a "can't load the module 'script'" error.
-
-
---------------------------------------------------------------------------------
-1. PROJECT RELATED QUESTIONS
---------------------------------------------------------------------------------
-
-
-1.1 What is KVIrc? What does the KVIrc name stand for?
-
- KVIrc is a cross-platform Internet Relay Chat client.
- The name stands for K Visual Internet Relay Chat client.
- The K prefix comes from the old times, when KVIrc was bound to the
- KDE project and depended on the KDE libraries to run. Actually this
- is not true anymore since KVIrc depends only on the Qt library from the
- Qt Company and runs also on platforms where KDE can't run.
-
-
-1.2 Why is KVIrc not totally integrated in KDE?
-
- First of all read the answer for question 1.1.
- We could provide a more complete integration by the means of conditional
- compilation but since it would require additional efforts to synchronize
- the KVIrc sources with the KDE library changes we choose not to do it.
- If you wish to contribute some code that better integrates KVIrc with
- KDE you're welcome to do so: we will happily accept your patches as long
- as you promise to maintain them :)
-
-
---------------------------------------------------------------------------------
-2. COMPILATION
---------------------------------------------------------------------------------
-
-2.1 I can't compile KVIrc from Git, what's wrong?
-
- Have you checked the requirements?
- *Carefully* read the INSTALL file that comes with the distribution:
- it contains the information which solves 95% of the problems that
- you may encounter. You may also try digging in our mailing list
- archive: many problems have been solved there.
- If you still can't get it to work, please either subscribe to the KVIrc
- mailing list (see www.kvirc.net) and report the problem there. Alternatively
- open a issue at https://github.com/kvirc/KVIrc/issues or join #kvirc
- on Freenode and ask the channel members for a hint.
-
-
-2.2 Internal Compiler Errors?
-
- Compile errors like this:
- In file [somefile]:[someline] internal error:
- Segmentation fault
- Please submit a full bug report,
- with preprocessed source if appropriate.
- See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
-
- This error can have multiple reasons.
- 1) A compiler bug: my GCC 3.2 20020903 (default on RH 8.0) spits
- out 5-6 of them daily. Usually it is solved by simply restarting the *make* command.
- If it doesn't go away or if it gets really frequent and annoying you might try to upgrade the compiler.
- 2) A memory corruption: this is really frequent: one of your memory banks is spitting random bytes
- sometimes. Usually the problems come out under heavy system load (kernel, KDE or KVIrc compilation for example).
- You can check for memory corruption by trying different RAM modules (or removing them one at a time to discover
- the broken bank). You can also try a program called memtest and a kernel
- patch that can force the broken memory banks to be ignored by the kernel (allocated permanently to a dummy kernel task).
- These tools can be found by digging the web with your favorite search engine.
- 3) A deeper hardware problem: if upgrading the compiler and changing memory banks doesn't help then
- it *might* be a deeper hardware problem: bus errors, faulty IDE (or SCSI) controller or even buggy CPU...
- Well....
-
--------------------------------------------------------------------------------
-3. INSTALLATION
--------------------------------------------------------------------------------
-
-3.1 There is a problem during package installation/creation
- file /usr/share/services/irc.protocol from install
- kvirc-version.package conflicts with file from package xxx
-
- This is a known issue with all types of packages that handle
- file conflicts. KVIrc installs the IRC protocol handler for KDE
- and the same is done by KSirc and kopete (and maybe others).
- There is no particular reason for KVIrc to fix it in the core
- distribution (and there is also no simple way to do it).
- Either the package maker must exclude the irc.protocol
- file from installation or mark it as optional in some way or the
- users must use some sort of force flag during the installation.
-
-
--------------------------------------------------------------------------------
-4. IRC
--------------------------------------------------------------------------------
-
-4.1 How do I join a channel?
-
- Type "/join #channelname"
-
-
-4.2 How do I autojoin channels?
-
- There are many ways to do it.
- For example:
- Select "Scripting/Events" from the KVIrc menu.
- Lookup the "OnIrc" entry in the left pane of the window that pops up.
- Right-click on that entry and select Add handler.
- A default handler will be created. In the right pane write:
- join #kvirc
- join #kde-users
- join #somechannel
- ....
- Now click OK and you're done: you have just created a handler for an event.
- Reconnect to a server and KVIrc will autojoin the channels that you have selected.
- Another option (nicer, if you use several servers) is to go to the servers options
- page and click the button labeled 'Advanced' on the entry for the single server.
- There is a server-specific "On connect execute..." event.
-
-
-4.3 How do I enable automatic NickServ identification?
-
- KVIrc supports two kind of NickServ identification rules: per-network and global.
- The per-network rules can be accessed from the server options page.
- You need to select a network in the list view (not a server!) and then click
- "Advanced...". In the dialog that appears there is a NickServ tab
- on that you can add your identification rules. Adding a rule
- should be straightforward (if you stop the mouse over an item you will likely get a small
- tool tip with the explanation). Each rule is composed of:
- - the nickname that is being identified: the rule will be applied only
- when your current nickname corresponds to this one.
- - a nick server user mask that must be matched by the NickServ user
- in order for him to be recognized as the real NickServ asking for
- identification. You will probably use something like NickServ!service@*
- - a message regular expression that must be matched by the message
- that the NickServ sends when requesting the identification.
- You will probably use something like "If this is your nick,
- identify yourself with /ns IDENTIFY password"
- - an identification command that will be executed when all the rules
- above match. You will probably use something like "ns IDENTIFY yourpassword"
- The global rules can be created in the IRC::NickServ page of the options dialog
- (accessible from the Settings/Configure KVIrc... menu). The main difference
- is that each rule has a server mask that must be matched by the current
- server name for the rule to be applied.
- KVIrc first looks in the per-network rules and if none matches it looks
- in the global rules.
-
-
-4.4 I can't see my national characters, what's wrong?
-
- There are several ways to fix your national characters display.
- General encoding:
- Open the options dialog and go to the "Encoding" page.
- You can set explicitly the encoding to be used for the whole application.
- If you choose "Use Language Encoding" KVIrc will try to guess the
- encoding from your system settings. If this doesn't work then the reasons
- may be:
- - Your system settings are wrong
- You need to fix them
- - Your server applies some specific encoding to the data
- See "Server encoding"
- - You're chatting with people that have different system settings
- See "Channel & Query encoding"
- Server encoding
- Besides the general encoding you can set one encoding per server.
- This is done in the server options dialog (Click Advanced...).
- The encoding will be applied to all the text that comes from
- and goes to the server. If you choose "Use system encoding"
- then the server will inherit the "General encoding" value above.
- If this doesn't work then you have either set it incorrectly or
- you are chatting with people that use different encodings.
- In this case see "Channel & Query encoding"
- The server encoding is used also to decode nicknames and
- channel names on servers that support it.
- Channel & Query encoding
- Besides the general and server encoding you can set also per-window
- encoding in channels and queries. This encoding will be applied
- ONLY to the text sent to or received from that channel or query.
- This feature is useful when chatting over a non Unicode aware
- IRC server (nearly all at the time of writing) with people
- that have settings different than your general defaults or
- the server default.
-
- Keep in mind that IRC has a MAJOR problem with character encoding
- and in fact the formal definition of the protocol requires it
- to be only 7bit safe. This means that on some servers you may
- see your national characters eaten by the IRC network and there
- is almost nothing you can do about that...
-
- UTF-8 is the best encoding we can get on IRC. Try to convince
- other people to use it :)
-
-
-4.5 I can't connect to an IPV6 server, what's wrong?
-
- First of all make sure that your IPV6 stack is setup correctly.
- Can you ping6 other IPV6 other machines?
-
- # ping -6 ipv6.google.com
-
- Is the IPV6 support enabled in your KVIrc executable?
- To find it out, try
-
- /echo $features
-
- in the KVIrc command line. You should get a comma separated list of
- features compiled in the executable. If the list contains "IPv6" then
- the support is compiled in, otherwise you must check your compilation
- stage to guess what went wrong.
- To connect to an IPV6 server you can use /server -i <servername>
- If you can ping other IPV6 machines, the IPv6 support is compiled in your
- executable and you still can't connect to an *existing* IPv6 server then
- you may have found a bug :) Report it.
-
-
-4.6 /me doesn't support the '$' character, what's wrong?
-
- This is NOT a bug : this is a feature : KVIrc supports (and substitutes!) variables in all the commands.
- You can escape your $ sign by using the backslash character:
-
- /me has gained \$100
-
- Otherwise, you can use friendly command line mode, where special symbols are not interpreted. Just click the green
- arrow next to the input field and then click the KVS icon.
-
-
-4.7 /me doesn't support the '"' (double quote) character, what's wrong?
-
- This is NOT a bug : this is a feature : a string enclosed in double quotes will have its whitespace preserved
- while the other strings will have the whitespace simplified. This is valid for ANY command.
- You can escape your " sign by using the backslash character:
-
- /me feels a bit \"foo\"
-
- Otherwise, you can use friendly command line mode, where special symbols are not interpreted. Just click the green
- arrow next to the input field and then click the KVS icon.
-
-
-4.8 /me can't contain the ';' character, what's wrong?
-
- This is NOT a bug : this is a feature : KVIrc supports multiple commands on a single line and uses ';' as a command
- separator. You can escape your ';' sign by using the backslash character:
-
- /me is hungry \;)
-
- Otherwise, you can use friendly command line mode, where special symbols are not interpreted. Just click the green
- arrow next to the input field and then click the KVS icon.
-
-
-4.9 I try to do a /whois on nick blah\ but I get the reply for blah (without the slash)
-
- In KVIrc /whois is a scripting command and the nickname is a command parameter.
- In scripting commands the backslash is a special character with several "escape"
- meanings. To include a literal backslash inside a parameter you MUST double it,
- thus the correct command to issue is /whois blah\\
-
- Otherwise, you can use friendly command line mode, where special symbols are not interpreted. Just click the green
- arrow next to the input field and then click the KVS icon.
-
-
-4.10 What is AVATAR protocol? Is there any documentation about it?
-
- AVATAR is a simple CTCP based protocol that allows associating images (avatars)
- to IRC users. The protocol definition is simple:
-
- - CTCP AVATAR QUERY:
- :<source> PRIVMSG <target> :<0x01>AVATAR<0x01>
- Queries the avatar of the <target>.
- - CTCP AVATAR REPLY:
- :<source> NOTICE <target> :<0x01>AVATAR <avatar_url><0x01>
- Asserts that the <source> user's avatar is located at <avatar_url>
- that usually will be something like http://server.domain.top/avatarimage.jpg.
-
- KVIrc supports also DCC based avatars that are simply "offered" to the
- remote users. In this case the <avatar_url> does not contain the http://
- prefix but is a simple file name. The remote users request the avatars
- by issuing a DCC GET command. This is an useful but secondary extension
- and can be ignored by simple implementations. If you need more information
- about this method please write to pragma at KVIrc dot net.
-
-
-4.11 The log files seem to be saved randomly, when I open a log
- I can see only a part of the text that actually should be there
-
- KVIrc does not explicitly flush the log files while writing them. The OS
- (or the underlying C library) does the flush operation when necessary.
- This means that blocks of the log file will be added to the file on disk
- only once in a while. If you really need to see the logs in real time
- then you can explicitly flush the log files by scripting.
- Just add a script like this to your OnKVIrcStartup event:
-
- timer(flushlogfiles,30000)
- {
- foreach(%x,$window.list(all,any))
- {
- if($log.file(%x))
- {
- echo -w=%x "Flushing log file...";
- log.flush -w=%x;
- }
- }
- }
-
- The script above will flush all the log files every 30 seconds. You may
- remove the echo statement if you're annoyed by the output :)
-
-
-4.12 The DCC transfers seem to be interrupted after the first few bytes:
- KVIrc says that the remote end has closed the connection.
-
- Make sure that you don't have activated the "Send ACK for byte 0"
- option in "Options->DCC->File Transfer->Advanced".
- This option should be used ONLY IF you have problems without.
-
-
--------------------------------------------------------------------------------
-5. ADVANCED IRC FEATURES
--------------------------------------------------------------------------------
-
-
-5.1 How do I connect to an SSL-enabled IRC server?
-
- Use /server -s <servername>
- It should work also over IPV6.
- If it doesn't work then your executable might have no SSL support compiled in.
- To find it out type
-
- /echo $features
-
- in the KVIrc command line. If "SSL" is not in the list then you must go back
- to the compilation phase and see what went wrong.
-
-
-5.1 How do I use DCC over SSL?
-
- /dcc.chat -s <nickname> should work
-
-
-5.3 Do I need a SSL certificate?
-
- No you shouldn't need it, but you can use it if you want.
-
-
-5.4 How do I create a SSL certificate?
-
- A test self-signed certificate can be created by using the CA.pl perl script included
- in the OpenSSL distribution. It will be something like CA.pl -newcert
-
-
-5.5 I can't get KVIrc to use my SSL certificate in a DCC, what's wrong?
-
- The SSL protocol doesn't require the "client" to send the certificate: it is
- sent only if the "server side" requests it (it is not the KVIrc case).
- The server side may have a certificate and you can set it in the SSL options page.
- If your Private Key is stored in the certificate file pass the same filename
- to both Certificate and PrivateKey option.
- Remember to set the password if needed.
-
-
-5.6 KVIrc crashes when a certificate is used under Windows, what's wrong?
-
- This is probably a bug of the SSL dll shipped with the windows version of KVIrc.
- You might try with a different version of this dll.
-
-
-5.7 Can I encrypt my messages?
-(or: How do I enable mircryption (encryption in general) for a specific channel?)
-
- KVIrc supports encryption for channels, queries and DCC chats by the means
- of text transformation engines. You can access the list of the engines
- by clicking the button with the yellow lock in the upper right corner
- of the window. In the pane that will appear select "use text transformation"
- and then choose one of the available engines.
- The Mircryption engine is an implementation of the mircryption protocol and
- supports both ECB and CBC mode. There is also a wide variety of Rijndael based encryption
- engines as well as some funky other text transform tricks.
- Most of the engines will need a pair of keys to encrypt and decrypt text
- and in most cases you will use the same key for both encrypting and
- decrypting. In the particular case of Mircryption you can enable
- CBC mode by prefixing your key(s) with the "cbc:" string.
- Once you have entered the keys just click on OK and start "talking" in the
- window. Any encrypted text will have a "lock" overlay in his icon.
- If you want to avoid encrypting a particular text line (maybe because
- you want to allow everyone on a channel to read it) you can start
- the line with a CTRL+P character.
-
-
-5.8 How do I execute a process and send its output to a channel?
-
- The straight way to do this is
-
- /exec("your command here"){ say $1; }
-
- Since it is not too much "user friendly", you can alias it in
- the following way:
-
- /alias(runandsay){ exec($0-) { say $1; } }
-
- Then you would simply run
-
- /runandsay cat /proc/cpuinfo
-
- in the channel window you want the output sent to.
-
- Keep in mind that this is a "brute" approach and I'm sure that after
- reading some documentation (start from /help exec) you will be able to
- find more elaborate and nice ways to send a process output to a channel/query.
-
-
-5.9 How do I keep channels and queries open after a disconnect?
-
- KVIrc can keep your channels and queries open when the connection terminates
- unexpectedly. This will probably make sense only if you plan to
- reconnect to the same server or at least the same network (either manually
- or automatically).
-
- An "unexpected disconnect" is a connection termination not explicitly caused by
- the KVIrc user. This means that the connection is interrupted, either
- by the networking stack or by the remote server, without the user
- having sent a QUIT message (by the means of the /quit command or by pressing
- the "disconnect" button in the toolbar).
-
- All this because the normal behaviour of a /QUIT command is, yes, to quit
- your current connection without leaving traces of it.
-
- To keep the channels and queries open you just need to select the
- relative options in the "Connection" page of the options dialog
- (on unexpected disconnect: "Keep channels open" an/or "Keep queries open").
-
- Then you might also select "Automatically reconnect", "Rejoin channels
- after reconnect" and "Reopen queries after reconnect" to bring your
- "dead windows" to life again :)
-
- Finally, you can simulate an "unexpected disconnection" by using the -u switch
- of the /quit command. This might be useful when you want to explicitly
- quit your connection while leaving the channels and queries open... maybe
- because you need to renew the connection to your ISP before reconnecting ;)
-
-
-5.10 I have an unreliable ISP connection but KVIrc takes a really long
- time to detect a disconnection and reconnect.
-
- KVIrc doesn't detect itself that the connection has dropped until your
- kernel explicitly times out. KVIrc measures lag, instead, that will
- probably grow up a lot when the connection has dropped.
- You can write a handler for the OnLagCheck event that will detect
- the lag growing over a certain threshold and reconnect.
- This involves opening the event editor, selecting OnLagCheck
- and choosing "Add handler" from the right mouse menu.
- In the handler write:
-
- if($1 > 30000){ quit -f -u; }
-
- 30000 is just a sample threshold (it means 30000 milliseconds!), replace
- it with a value of your choice.
- quit -f -u will close the current connection immediately (-f = force)
- and will simulate an "unexpected disconnection" condition (-u = unexpected).
- If you then enable automatic reconnection (see answer for question 5.9)
- in the options dialog, KVIrc will automatically reconnect and rejoin channels.
-
-
-5.11 I'm in a LAN and KVIrc uses a wrong IP address in DCC transfers
-
- KVIrc supports a couple of methods for guessing the right IP address for
- DCC transfers: you only have to guide it a bit :)
-
- The first thing to try is "Guess address from IRC when unroutable" (Options->DCC).
- This will perform a lookup on your own IRC mask once you connect
- to an IRC server and use the address as source in DCC transfers.
- (You need to reconnect to the server to make this option work!)
- This trick will fail when your hostmask is cloaked (mode +x on recent IRC servers):
- KVIrc will tell you that it couldn't look up the hostname and give up.
-
- In this case you might try to set a fixed address to be sent as source
- in the DCC transfers: you just need to fill in the *IP address* of your
- router in the option field. This field doesn't support hostname lookups
- and it won't update automatically when you router's IP changes.
- However, if you router's IP has a DNS entry, you can ask KVIrc to fill
- this field with a simple script to be performed at every connection.
-
- event(OnIRCConnectionEstablished,updatedccsource)
- {
- ahost(yourrouterhostname.dyndns.org)
- {
- option boolDCCSendFakeAddressByDefault 1
- if($1)option stringDefaultDCCFakeAddress $2
- else echo "Couldn't look up the router's hostname"
- }
- }
-
- When transferring files to other KVIrc clients you may also try the
- DCC RSEND protocol instead of DCC SEND. It will ask the remote end
- to listen instead.
-
--------------------------------------------------------------------------------
-6. APPEARANCE
--------------------------------------------------------------------------------
-
-6.1 On Windows KVIrc seems to slow-down sometimes, what's wrong?
-
- This is usually caused by the heavy graphics: try removing some graphic effects like the
- pseudo-transparency. I have experimented that it happens almost always on 32-bit displays.
- Switching to 16 or 24-bit may also help.
-
-
-6.2 I don't see the channel popup menus anymore, what's wrong?
-
- If something went wrong with KVIrc settings (a crash when the script settings
- were saved?) or if you have messed with the scripting options and you
- want to get back the original behaviour (default script) you can choose
- "Scripting/Restore default script" from the KVIrc menu.
- (WARNING: It will erase any script modification you have made!)
- KVIrc should be able to detect such situations and automatically suggest the
- re-installation of the default script.
-
-6.3 Does KVIrc support Themes?
-
- Yes, KVIrc has introduced a Theme Manager. You can find it in the Option dialog.
- From there you can change the way KVIrc looks: fonts, colors, windows behaviour,
- icons, taskbars, and so on.
- Once you have changed the theme, you can export it and share with your friends,
- or send it to the KVIrc staff to see it published on the web site.
-
-
-6.4 I hate all that colors, what can I do about it?
-
- By fiddling with the options you can make KVIrc appear even monochromatic.
- Go to Options/Theme and select the minimalist theme: it will set white text
- on black background and will disable the displaying of a lot of icons.
- This is a good starting point for you console addicted hackerz :D
-
-
-6.5 On Windows, how do I use Firefox, Opera or any other browser to open links instead of explorer?
-
- Currently any browsers defined as the default browser, will be used automatically.
- Use the instructions below only to set your preferred browser.
-
- These days KVIrc uses a "run cmd.exe /c start \ "$0" command to open the currently set default browser.
-
- Go to the "URL Handlers" options page and set
-
- run "C:\\path\\to\\your\\browser.exe" "$0"
-
- as URL handler for the protocol you're interested in (maybe in all).
- Please note the double backslashes (a single backslash is an escaping character)
-
- Suepahfly suggests to use
-
- rundll32 url.dll,FileProtocolHandler "$0"
-
- as URL handler to open the URL in the default windows browser.
-
-
--------------------------------------------------------------------------------
-7. CRASH
--------------------------------------------------------------------------------
-
-7.1 What the heck is a GDB stack trace and how do I get it?
-
- A GDB stack trace is a "photograph" of the state of the KVIrc internals
- taken when a certain event has occurred. The most common event
- is a program crash (Segmentation Fault).
- The stack trace helps (or even allows) the developers to locate the
- crash cause in the program sources.
- To obtain a GDB stack trace you must:
-
- - Compile KVIrc with 'cmake -DDEBUG=1' option.
- Without this switch the stack trace is USELESS.
- - Have a working installation of GDB (the GNU Project Debugger)
- This is usually available on your distribution cd
- and you may already have it installed.
- - Run KVIrc:
- # gdb kvirc
- When the gdb prompt appears write:
- # (gdb) run -f
- Make KVIrc crash: GDB will tell something about
- a signal received by the program. Write then:
- # (gdb) bt
- The text you see is the stack trace you wanted :)
- Copy+Paste into a new bug ticket at
- https://github.com/kvirc/KVIrc/issues/new
-
-
-7.2 KVIrc hangs up, but doesn't crash. How do I report debug information?
-
- Use GDB to get a stack trace as in answer to question 7.1.
- Since your KVIrc doesn't crash you will have to interrupt the execution
- manually while it is hung up. You can do it by pressing CTRL+C in GDB.
-
-
-7.3 KVIrc exits by itself or simply "disappears" without any apparent reason.
-
- Yes. It probably crashed but you haven't noticed that.
- We NEED a GDB stack trace or a working procedure to reproduce the
- behaviour in order to hunt it.
-
-
-7.4 KVIrc dies when using alias(identify){ identify password; };
-
- This is infinite recursion: a programming error.
- Take a look at http://en.wikipedia.org/wiki/Infinite_loop, learn
- that once for all and fix your script.
-
-
--------------------------------------------------------------------------------
-8. SCRIPTING / ADDONS
--------------------------------------------------------------------------------
-
-8.1 Trying to load a script I get a "can't load the module 'script'" error.
- Full version of the error (this is for Linux, may vary on Windows/other OS):
- ---
- [KVS] Runtime Error: Module command call failed: can't load the module 'script':
- QLibrary::load_sys: Cannot load /usr/local/share/kvirc/4.0/modules/libkviscript.so
- (/usr/local/share/kvirc/4.0/modules/libkviscript.so: no such file or directory)
- ---
- The script you are trying to load is calling an old KVIrc interface. Probably the
- script was created for KVIrc <= 3.2, and has not been updated to work on newer
- versions. The "script" module interface has been renamed to "addon" between 3.2.0.99
- and 3.2.4; the new "addon" module exports all the old "script" interfaces, so
- converting the script should be quite easy.
diff --git a/doc/INSTALL-MacOS.txt b/doc/INSTALL-MacOS.txt
deleted file mode 100644
index 857701f3a..000000000
--- a/doc/INSTALL-MacOS.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-Original documentation by Thomas Kalla, 17.09.2009
-Last updated by Fabio Bas, 2012.04.07
-#########################
-
-This document contains step-by-step instructions for compiling KVIrc4 from Git
-sources on a macOS system. Due to changed prerequisites and compilation
-system, this compilation howto does not apply to older versions of KVirc.
-
-
-All this has worked fine several times for me. I've been using KVirc on Mac
-since May 2004 without any crashes & faults. Only the sound interface does not
-work, but I have no use for it within an IRC client. However, I cannot
-guarantee that this instructions will work for you as they do for me and I'm
-not responsible for any problems or damage you may encounter after following
-them. You should always understand what you are doing!
-
-
-IMPORTANT: Installing KVIrc "the usual way" like on other popular Unix-like
-OSes with files spread across several directories does not work and is
-unsupported. The provided compilation system builds a typical "Bundle" for
-macOS. A bundle is "just" a special directory structure on Mac systems which
-contains the application binary, dependent libraries, plugins, modules and
-other resources.
-
-For further details look at http://qt-project.org/doc/qt-4.8/deployment-mac.html
-and the documentation on http://developer.apple.com, please.
-
-
-#########################
- Prerequisites
-#########################
-
-1. Apple Xcode
-
-Any version should work as long as it supports Mac OS X 10.6 and higher.
-You can get the latest version from the Mac App Store, or previous ones
-registering at the developer portal at http://developer.apple.com (it's
-free), download XCode and follow the install instructions in the documentation.
-
-2. QT-MAC
-
-I suggest to download and install the latest binary package from
-https://www.qt.io/download/ and go through the steps to download.
-
-3. GNU gettext
-
-Get the latest sources from your favourite GNU mirror. This step is optional
-but you will lose the localisation support.
-
-If you already installed Fink or MacPorts, you already have gettext so you
-may skip this step.
-
-Below, sample instruction follow for version 0.17 used by me:
-
-Open a terminal window
-
- # cd /Developer
- # tar -xzf <your_path_to_the_sources>/gettext-0.17.tar.gz
- # cd gettext-0.17
- # ./configure
- # make
- # make install
-
-4. CMake
-
-Get the latest version of the automatic build system from http://www.cmake.org.
-Again it's up to you if you want the easily installable binary package or read
-the documentation and compile by yourself.
-Please note that when using XCode >= 4.3 you need at least cmake 2.8.8.
-
-5. Make sure that gettext and CMake are accessible from your $PATH!
-
-
-#########################
- KVIrc installation
-#########################
-
-
-1) Get the KVIrc sources:
-
- # git clone https://github.com/kvirc/KVIrc.git
-
-2) Build! :-)
-
-Two IMPORTANT hints before you start:
-
-Notes for x86_64 arch:
----
-Currently I found no way to successfully add scripting support for Perl and
-Python on Intel 64-bit Macs. When compiled in, they both mess up with the
-target architecture and leads to linking failures. Perl can be safely use
-to generate the documentation, anyway.
-
-I found KVIrc crashing when compiled in debug mode with QtDbus enabled and
-no dbus daemon running, so I advice you to disable it.
-
-Additionally, if you installed any kde-based software, you could end up with
-a kde-enabled KVIrc installation: you probably want to avoid that.
-
-To sum these suggestion up, this is my current cmake invocation:
-cmake .. -DWANT_KDE4=0 -DWANT_DEBUG=1 -DWANT_QTDBUS=0 -DWANT_PYTHON=0 -DWANT_PERL=0
----
-
-Notes for ppc/386 arch:
----
-* If you want to use Perl (Documentation and Modules) you have to build a
-universal binary. This is due to Cmake overriding your architecture values
-by the ones found in 'ldflags' returned by calling "perl -V".
-* If you want python support than you cannot build for an older macOS
-version, i.e. the value of $MACOSX_DEPLOYMENT_TARGET has to match the value
-used by Apple when they built the python package.
----
-
-I suggest an "out-of-source" build:
-
- # mkdir build
- # cd build
- # cmake ..
- # make
- # make install
-
-Instead of cmake you may also consider to call ccmake which provides a nice gui
-for the options.
-
-The result is a KVIrc.app bundle within the build directory.
-
-If you plan to redistribute your package, you can use "macdeployqt" on the
-generated KVIrc.app to inject the necessary Qt libraries in it: this will make
-the bundle size grow up a lot, but will remove the requirement for other people
-to install Qt in order to run your bundle.
-
-3) Enjoy :-)
-
-Open Finder, move your bundle into a better location (e.g. /Applications),
-and double click to start.
diff --git a/doc/INSTALL-Win32.txt b/doc/INSTALL-Win32.txt
deleted file mode 100644
index 415800f64..000000000
--- a/doc/INSTALL-Win32.txt
+++ /dev/null
@@ -1,328 +0,0 @@
--------------------------------------------------------------------------------
-KVIrc4 win32 compiling howto (WIP) by CtrlAltCa
--------------------------------------------------------------------------------
-
-This paper describes how to successfully compile a working copy of KVIrc 4.x
-under Microsoft Windows operating systems.
-
-
--------------------------------------------------------------------------------
-Prerequisites
--------------------------------------------------------------------------------
-
-- A Microsoft Windows operating system
-
- [Needed to run KVIrc into, mandatory]
-
- - XP or 2003 server, preferably with at least service pack 2
- - Vista, preferably not :p
- - Seven or 2008 server
-
- Notice: DOS-based Windows operating systems (95,98,se,me) are not officially
- supported by KVIrc. Anyway, if you're still using such an old OS then you
- have worst problems than this...
-
- Notice: Windows 2000 may work, but is not officially supported anymore.
- Differences in its network stack and the difficulty to retrieve packages
- of KVIrc dependencies still working on win2000 make compiling KVIrc an
- overkill job.
-
-- CMake from Kitware
-
- [Configuration tool; needed to compile KVIrc, mandatory]
-
- Download the tool from http://www.cmake.org. The package you want is called
- "Windows (Win32 Installer) cmake-<version>-win32-x86.exe" (version may vary).
-
- You need at least version 2.6.4 to compile KVirc. Avoid version 2.8.0; use
- version 2.8.2 instead.
-
- Recent versions of the cmake installer will ask if you want to add cmake to
- the system PATH: you don't need it.
-
-
-- Qt 4 from Nokia
-
- [Graphic library, mandatory]
-
- You need at least Qt 4.6.0 upwards fo get a fully working KVIrc.
- We suggest you to get the "Qt SDK for Open Source C++ development on
- Windows" you can get here: http://qt.nokia.com/downloads/sdk-windows-cpp
-
- The Qt SDK includes the Qt libraries and a working mingw environment, so you
- won't need to install one manually.
-
-- MinGW from the MinGW team
-
- [Compiler; needed to compile KVIrc, mandatory]
-
- If you installed the Qt SDK >= 4.6.0, you already have MinGW installed and
- you can jump to the next requisite. Otherwise you need to install MinGW
- manually: refer to http://www.mingw.org/wiki/InstallationHOWTOforMinGW
- Please note that you need to install gcc4 (gcc3 could work but is not supported).
-
-- Perl for Win32
-
- [Programming language; needed for documentation creation; optionally can
- be used for scripting support; may also be used to compile OpenSSL by
- yourself (see the related paragraph below)]
-
- Any win32 version will work; We advice you to use the distribution provided
- by ActiveState. It's called ActivePerl and you can find at
- http://www.activestate.com/activeperl/downloads/
- You want the "Free Community Edition" package.
-
- Perl is needed to extract documentation from the source files and generate
- help files for KVIrc.
-
- Some perl releases misses dmake; if you get a strange error at compilation
- time, run the following command from cmd prompt (start->run->cmd):
-
- # ppm install dmake
-
-- Zlib compiled for Win32
-
- [Compression library; needed for many stuffs, mandatory]
-
- MinGW offers a zlib package: You'll need to download from
- http://sourceforge.net/projects/mingw/ the packages:
-
- libz-1.2.3-1-mingw32-dll-1.tar.gz
- libz-1.2.3-1-mingw32-dev-1.tar.gz
-
- Search them on the MinGW project files download page.
-
- Install the lib somewhere (like C:\zlib) and remember its path.
-
-- OpenSSL compiled for Win32
-
- [Enc/Decrypt library; needed to secure your irc sessions, optional]
-
- To compile KVIrc for your own use you can download a precompiled
- package from http://www.slproweb.com/products/Win32OpenSSL.html
- The package you want is called "Win32 OpenSSL v0.9.8l" (version number may
- vary; there should be a notice like "Recommended for software developers"
- in the package description). Any recent version should work; general rule:
- more recent usually means more secure.
-
- Newer OpenSSL versions from www.slproweb.com need a specific version of
- Microsoft Visual Studio 2008 runtimes to work (this sucks): so if you plan
- to create a redistributable KVIrc package, our advice is to compile
- OpenSSL by yourself using MinGW/MSYS and then use your libs.
-
- To compile OpenSSL by yourself:
- - download the latest source from http://www.openssl.org
- - move it somewhere inside the msys root directory (C:\MinGW\msys\1.0\)
- - open the MinGW shell and locate the package
- - unpack the package (you need to do it from the MinGW shell since it
- contains symlinks)
- - enter in the created directory
- - run "./config shared"
- - run "make" and then "make install"
- - grab the entire installation directory (e.g. C:\MinGW\msys\1.0\local\ssl)
- and copy it in a more accessible path (like C:\OpenSSL)
-
- Whatever way you choose, install OpenSSL somewhere (like C:\OpenSSL)
- and remember the path.
-
-- Python for Win32
-
- [Programming language; optional scripting support]
-
- Any win32 version will work; We advice you to use the version you can find
- at http://www.activestate.com/activepython/downloads/ .
- You want the "Free Community Edition" package.
-
- Please note that we are currently supporting the 2.x version of python
- (currently 2.6). Python3000 (aka python3k) is not backwards compatible
- and supported by now.
-
-- GNU GetText for Win32
-
- [Localization tools; needed to translate KVIrc interface into your
- own language; required if you're building a redistributable package,
- otherwise optional]
-
- We advice you to use the version you can find at
- http://gnuwin32.sourceforge.net/packages/gettext.htm,
- follow the "Setup program" link.
- Install the package somewhere (like C:\gettext) and remember the path.
-
-- GNU Sed for Win32
-
- [Tool; needed to tidy KVIrc translation files, optional]
-
- We advice you to use the version you can find at
- http://gnuwin32.sourceforge.net/packages/sed.htm,
- follow the "Setup program" link.
-
- Install the package somewhere (like C:\sed) and remember the path.
-
-- Git for windows
-
- [Git; needed for cmake to automatically set the correct
- revision number in KVIrc build; can be overridden (see below).
- Also required to obtain the latest source code revisions of KVIrc]
-
- Git can be obtained via https://git-scm.com/download/win. Git is also
- included within MinGW which may be obtained here http://www.mingw.org/
-
- If you don't want to install the Git cli or Gui, you can just force
- the correct Git revision by passing the -DMANUAL_REVISION=xxxx
- parameter to cmake.
-
-- Nullsoft scriptable install system (NSIS)
-
- [Installer packages creator; needed if you want to create an installer
- package for KVIrc]
-
- Get it at http://nsis.sourceforge.net/Download ; the package you want
- is called "nsis-2.46-setup.exe" (version numbers may vary).
-
-
-
--------------------------------------------------------------------------------
-Further recommended download if you plan to develop KVIrc:
--------------------------------------------------------------------------------
-
-- GNU Debugger (gdb) for Win32:
-
- [Dev Tool: Debugger; optional]
-
- Download it from the MinGW website.
-
-- StraceNT (aka strace for Win32)
-
- [Dev Tool: tracer; optional]
-
- Download it from http://www.intellectualheaven.com/ .
-
-
--------------------------------------------------------------------------------
-Compilation
--------------------------------------------------------------------------------
-
-Download KVIrc sources from KVIrc's website, a mirror or using Git (see
-instructions on KVIrc website about how to do that). From now on I'll assume
-that you have saved the sources in C:\KVIrc
-
-Go to the C:\KVIrc directory an create a "build" folder in it.
-This may be done either via Windows explorer or via a command prompt
-in the following way:
-
- # cd C:\KVIrc
-
- # mkdir build
- # cd build
-
-Now copy the win32_run_cmake.bat script from the C:\KVIrc\doc directory
-to the build directory
-
- # copy ..\doc\win32_run_cmake.bat .\
-
-Now edit the file you just copied by filling in the paths (you did
-write them down, don't you? :).
-
-Run the win32_run_cmake.bat script.
-
- # win32_run_cmake.bat
-
-This should invoke the cmake executable and configure KVIrc for you.
-
-If it complains about missing libraries then you haven't properly
-edited the paths in the win32_run_cmake.bat file. Check again.
-Note that the "bin" subdirectories generally aren't included in the path.
-
-You may also try to use the CMake gui for the compilation. Just be aware
-of the %PATH% variable defined in the win32_run_cmake.bat script. If you
-screw up %PATH% CMake may refuse to start or the mingw make may crash.
-Note also that you must tell the graphical configuration that you want
-the "MinGW Makefiles" as output.
-
-Once cmake did its job (it will tell you that it's ready to compile KVIrc)
-you can just run the mingw make program.
-
- # mingw32-make.exe
-
-The compilation may spit out some warnings: just ignore them (unless
-you're a cool developer.. in that case: fix them!).
-If it runs without errors then you can also run make install:
-
- # mingw32-make.exe install
-
-This should create a working KVIrc executable for you in the build\release
-directory. With some experience you may also get mingw to create a debug
-build.
-
-Simply running KVIrc from that directory should work :) . If instead it's
-complaining of some missing dlls, you may need to copy those dlls into
- KVIrc binary directory (in our example: C:\KVirc\build\release) or to get
-those dlls recognized and loaded automatically from your OS.
-
-If you want to create an installer package, you need to:
-
-1) fill the binary directory (in our example: C:\KVIrc\build\release) with
- all the files that cmake doesn't create:
- - needed dlls:
- - Qt: QtCore4, QtGui4 (mandatory); QtNetwork4, QtSvg4, QtWebkit4,
- QtXml, QtXmlPatterns (used in objects module);
- - Zlib: libz.dll (aka libz-1.dll, zlib.dll, ...);
- - Openssl: libeay32.dll, libssl32.dll (names may vary);
- - MinGW: mingwm10.dll, libgcc_s_dw2-1.dll
- - Perl: perl512.dll (version number may vary);
- - Python: python26.dll (version number may vary);
- - Amip: ac.dll / ac.ini (adds plug'n'play support for amip)
- Choose the right dlls depending on your build options: for a debug
- build you'll need debug version of Qt libraries (e.g. QtCored4)
-
- - qt plugins:
- These have to be placed in a subdirectory named qt-plugins
- (in our example: C:\KVirc\build\release\qt-plugins).
- Currently KVIrc can use 4 types of plugins: codecs, imageformats,
- phonon_backend, sqldrivers. Create a subdirectory and name it with the
- type name of the plugins you'll place inside it;
- (e.g. C:\KVirc\build\release\qt-plugins\imageformats\qjpeg4.dll)
- You can find them inside the "plugins" directory in the Qt Sdk.
- Choose the right dlls depending on your build options: for a debug
- build you'll need debug version of Qt plugins (e.g. qjpegd4.dll)
-
- - locale translations:
- If you did not install or disabled gettext, your release folder misses
- the "locale" folder typically containing translation files. This means
- KVIrc won't be able to translate its user interface.
- As a workaround, you can get translation files somewhere, create the
- "locale" folder and manually place translations inside it.
-
- - help file:
- If you did not install or disabled perl, your release folder misses
- the "help" folder typically containing user help. This means
- KVIrc internal help will contain no help pages.
- As a workaround, you can get help files somewhere, create the
- "help/en" folder and manually place help files inside it.
-
-2) run the KVIrc.nsi script from the build directory (C:\kvirc\build in our example) .
- Just compile it using nsis and an installer package will be generated.
-
-
--------------------------------------------------------------------------------
-Common errors, pitfalls,
--------------------------------------------------------------------------------
-
-- On modules compilation we get a warning like this one:
- ----------
- C:\kvirctrunk\src\modules\clock\libkviclock.cpp:242: warning: `KVIrc_module_info' initialized and declared `extern'
- ----------
- This is a simple warning, it doesn't block compilation or affects any functionality.
-
-- During the compilation, we get a warning like this one:
- ----------
- C:/kvirctrunk/src/kvilib/system/kvi_time.h:0: Warning: No relevant classes found. No output generated.
- ----------
- In the compilation we call qt's moc to parse headers files and expand qt macros;
- that warning simply means that moc found nothing to expand in that header file. We can fix this
- removing headers that doesn't need to be moc-ed from the lists in CMakeLists.txt.
-
-- * Windows Vista and 7 Users * If you have UAC enabled (default setting) and KVIrc is installed in the Program Files folder
- and you have opted to use the portable setting, then KVIrc's data files will be found in the VirtualStore folder,
- typically: C:\Users\[UserName]\AppData\Local\VirtualStore\Program Files\KVIrc\ If you plan on using the portable setting,
- it is recommended that you install KVIrc in a non UAC protected folder.
diff --git a/doc/INSTALL-Win64.txt b/doc/INSTALL-Win64.txt
deleted file mode 100644
index c6b5b2d04..000000000
--- a/doc/INSTALL-Win64.txt
+++ /dev/null
@@ -1,178 +0,0 @@
--------------------------------------------------------------------------------
-KVIrc4 win64 compiling howto by Cizzle
- based on wodim's guide at https://thacid.wordpress.com/2010/10/18/compiling-kvirc-64-bits-from-svn-using-visual-studio-2008/
- and DarthGandalf's appveyor buildinstructions
--------------------------------------------------------------------------------
-
-This paper describes how to successfully compile a working copy of KVIrc 4.3.x
-under Microsoft Windows operating systems. For own compilations we assume a
-root-directory C:\kvirccomp\ being used.
-
--------------------------------------------------------------------------------
-Prerequisites
--------------------------------------------------------------------------------
-
-- A 64-bit Microsoft Windows operating system.
- Should work at least on 7
-
-- Microsoft Visual Studio 2013 (Community Edition).
- Get it from https://www.visualstudio.com/nl-nl/products/visual-studio-community-vs
- Install in default location with default options, though you can slim it down a lot if wanted.
-
-- CMake.
- Get it from http://www.cmake.org/download/
- Install in default location with default options and choose "Add CMake to command path for all users".
-
-- GIT client.
- Get one from https://git-for-windows.github.io/
- Git bash should be enough.
-
-- Qt.
- Get it from https://www.qt.io/download-open-source/
- Version 5 should work.
- Get the online installer and be sure to mark MSVS 2013 64bit version.
- Install in default location with default options.
-
-- Perl.
- Get it from http://www.activestate.com/activeperl/downloads
- Get the 64-bit version, use 5.20.x (newer versions don't have dmake yet in the repo).
- Install in default location with default options.
-
- If you want scripting support, you will also have to do this:
- Go to C:\Perl64\lib\CORE, make the file config.h not read-only and open it for editing.
- Find the line that starts with "#define PERL_STATIC_INLINE" and put "/*" in front of it (so it's commented).
- And of course save the file.
-
- Some perl releases miss dmake at install time; if you get a strange error at compilation
- time, run the following command from cmdline: ppm install dmake
-
-- zlib.
- Get it from http://zlib.net/
- Get the source as we need to compile it ourselves (until a 64bit dll is provided).
- Compiling (replace versions with what you have):
- Unpack in C:\kvirccomp\; then open a VS x64 Native CMD Prompt and run:
- cd C:\kvirccomp\zlib-1.2.8
- "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
- nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
-
-- OpenSSL.
- Get it from http://www.openssl.org/source/ to compile yourself
- or get the non-Light Win64 package from http://slproweb.com/products/Win32OpenSSL.html
- Compiling (replace versions with what you have):
- Unpack in C:\kvirccomp\; then open a VS x64 Native CMD Prompt and run:
- perl Configure VC-WIN64A
- ms\do_win64a
- nmake -f ms\ntdll.mak
- cd out32dll
- ..\ms\test
- All of the tests should run flawlessly.
-
- Then run the following as a batch-script in the ${OPENSSL_INCLUDE_DIR}/openssl/:
- @echo off
- setlocal enabledelayedexpansion
- for %%f in (*.h) do (
- set /P linkn= < %%f
- set linkn=!linkn:/=\!
- ren %%f %%f.ori
- copy !linkn! %%f
- )
-
-- Python.
- Optional for scripting purposes
- Get it from http://www.activestate.com/activepython/downloads/
- Get the 64-bit 2.x version as 3.x is not backwards compatible and supported by now.
- Install in default location with default options.
-
-- Enchant.
- Optional for spellchecking support
- Get it from https://ci.appveyor.com/api/buildjobs/kf2efxpaes6uugwg/artifacts/enchant.7z
- Unpack in C:\kvirccomp and edit enchant-inst\include\enchant\enchant.h adding under line "#include <sys/types.h>" (l35):
- #include <BaseTsd.h>
- typedef SSIZE_T ssize_t;
- and edit enchant-inst\include\glib-2.0\glibconfig.h adding under lines "#define G_CAN_INLINE 1; #endif" (l120):
- #undef G_CAN_INLINE
- You can get dictionaries from http://extensions.libreoffice.org/extension-center/
-
-- Phonon4Qt5.
- Optional audio backend
- Get it from https://projects.kde.org/projects/kdesupport/phonon/phonon/repository
- We need to compile this ourselves, but we first need the extra-cmake-modules:
- Get this from https://projects.kde.org/projects/kdesupport/extra-cmake-modules/repository
- Unpack ECM in C:\kvirccomp\, then open a VS x64 Native CMD Prompt and run:
- md build
- cd build
- cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=C:\Qt\5.4\msvc2013_64
- nmake install
- Then unpack phonon in C:\kvirccomp\, and in a VS x64 Native CMD Prompt run:
- md build
- cd build
- cmake .. -G "NMake Makefiles" -DPHONON_BUILD_PHONON4QT5=ON -DCMAKE_INSTALL_PREFIX=C:\Qt\5.4\msvc2013_64 -DCMAKE_PREFIX_PATH=C:\Qt\5.4\msvc2013_64 -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=ON -Wno-dev
- nmake
- nmake install
-
-- GNU GetText for Win32.
- Required if you're building a redistributable package,
- needed to translate KVIrc interface into your own language.
- Get it from http://gnuwin32.sourceforge.net/packages/gettext.htm
- Install in default location with default options.
-
-- GNU Sed for Win32.
- Optional for translation file cleanup
- Get it from http://gnuwin32.sourceforge.net/packages/sed.htm
- Install in default location with default options.
-
--------------------------------------------------------------------------------
-Compilation
--------------------------------------------------------------------------------
-
-- Get the KVIrc source code
- Using GIT bash:
- cd /c/kvirccomp/
- git clone https://github.com/kvirc/kvirc.git
-
-- Compile KVIrc
- Open a Visual Studio x64 Native command prompt. Before starting, we have to set some environment variables.
- Replace with your respective versions and install paths. The Perl and Python paths might already be set.
- set PATH=%PATH%;C:\kvirccomp\zlib-1.2.8;C:\Qt\5.4\msvc2013_64\bin;C:\Perl64\bin;C:\Perl64\site\bin;C:\Python27;C:\Program Files (x86)\GnuWin32\bin
- set CMAKE_INCLUDE_PATH=%CMAKE_INCLUDE_PATH%;C:\kvirccomp\openssl-1.0.2d\include;C:\kvirccomp\zlib-1.2.8
- set CMAKE_LIBRARY_PATH=%CMAKE_LIBRARY_PATH%;C:\kvirccomp\openssl-1.0.2d\out32dll;C:\kvirccomp\zlib-1.2.8;C:\Qt\5.4\msvc2013_64\lib
-
- If you compiled OpenSSL yourself and want to use this during compilation,
- and have the package from SLProWeb installed in it's default location,
- you need to rename the SLProWeb installationpath first.
- CMake will look at those default paths first.
-
- Next, go to the KVIrc source dir and create a build directory and its Makefiles using cmake and compile.
- We use the "release" build-type as "debug" seems to have incompatibilities between /O2 and /RTC usage
- If you want spellchecking support, add these flags to the cmake command:
- "-DEnchant_FOUND=1 -DEnchant_INCLUDE_DIRS=c:\kvirccomp\enchant-inst\include\enchant;c:\kvirccomp\enchant-inst\include\glib-2.0 -DEnchant_LDFLAGS=c:\kvirccomp\enchant-inst\lib\libenchant.dll.a"
- If you don't want Perl scripting support, add this flag to the cmake command:
- "-DWANT_PERL=0"
- If you don't want the Phonon audio backend and want to ignore the warning, add this flag to the cmake command:
- "-DWANT_PHONON=0"
- cd C:\kvirccomp\KVIrc
- md build
- cd build
- cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=release -DWANT_KDE=0
- nmake
- nmake install
-
- Your binaries are now located at C:\kvirccomp\kvirc\build\release.
- But you can’t start kvirc.exe as there're some libraries missing.
- You can either copy these to the system dir, add their locations to %PATH% or copy them to the KVIrc-release dir.
- The latter is preferred for portability reasons.
- robocopy C:\Qt\5.4\msvc2013_64\bin C:\kvirccomp\kvirc\build\release\ Qt5Network.dll Qt5Core.dll Qt5Widgets.dll Qt5Gui.dll Qt5WebKitWidgets.dll Qt5WebKit.dll Qt5Sensors.dll Qt5Positioning.dll Qt5Quick.dll Qt5Qml.dll Qt5Multimedia.dll Qt5WebChannel.dll Qt5Sql.dll Qt5MultimediaWidgets.dll Qt5OpenGL.dll Qt5PrintSupport.dll Qt5WinExtras.dll icuin53.dll icuuc53.dll icudt53.dll
- robocopy C:\kvirccomp\openssl-1.0.2d\out32dll C:\kvirccomp\kvirc\build\release\ libeay32.dll ssleay32.dll
- copy C:\kvirccomp\zlib-1.2.8\zlib1.dll C:\kvirccomp\kvirc\build\release\
- copy C:\Perl64\bin\perl520.dll C:\kvirccomp\kvirc\build\release\
- Optionally copy:
- copy C:\Windows\System32\python27.dll C:\kvirccomp\kvirc\build\release\
-
-- Add extra plugins
- Qt provides extra plugins which can be used, these have to be placed in a subdirectory named "qt-plugins".
- Currently KVIrc can use these types of plugins:
- qt4: codecs, iconengines, imageformats, phonon_backend, sqldrivers
- qt5: audio, iconengines, imageformats, mediaservice, platforms, sqldrivers
- Create a subdirectory and name it with the type name of the plugins you'll place inside it;
- You can find them inside C:\Qt\5.4\msvc2013_64\plugins\.
- Choose the dlls without a "d" at the end of the filename: qjpeg.dll and not qjpegd.dll.
diff --git a/doc/INSTALL.txt b/doc/INSTALL.txt
deleted file mode 100644
index aa9d7d03c..000000000
--- a/doc/INSTALL.txt
+++ /dev/null
@@ -1,632 +0,0 @@
--------------------------------------------------------------------------------
- Table of contents
--------------------------------------------------------------------------------
-
- 1. Introduction
- 2. Hacker Installation - Advanced or power users
- 3. Dependencies and requirements
- 4. Configuring the environment
- 5. Getting and updating the source code
- 6. Configuring KVIrc
- 7. Interactive CMake KVIrc configuration
- 8. Compiling KVIrc
- 9. Compiling on macOS
- 10. Compiling on Windows
- 11. Creating a KVIrc package
-
--------------------------------------------------------------------------------
- 1. Introduction
--------------------------------------------------------------------------------
-
- This document contains the procedures to Install required development libraries
- clone KVIrc's source code, configure your environment, configure and
- compile and install KVIrc.
-
- If you have found this document in a binary distribution then
- KVIrc has been probably already installed by your distros package
- manager and maybe something is not working as expected. In this case
- this document and the accompanying F.A.Q. can help you determining
- the issue.
-
- If you have found this document in a source distribution or you
- have downloaded it by using Git or downloaded tarball then well...
- this is a standard INSTALL file :)
-
- Note: It isn't practical to cover all Linux distributions in this doc.
-
- This doc provides fully working instructions for Ubuntu or variants.
- Compiling KVIrc in your preferred Linux distributions is possible,
- provided the minimum required dependencies and their versions are met.
-
- From here on in this doc refers to "Ubuntu or variants", where variants
- are distributions classed as Ubuntu derivatives.
-
- Note on lines prefixed with "$" or "0." or "1.":
-
- "$" Signifies the command prompt on your shell.
- "0." Prefixes are default command variation.
- "1." Prefixes are a possible alternative variation of the command.
-
- Note: If anyone could find the time to test KVIrc with ICC please let us know!
-
--------------------------------------------------------------------------------
- 2. Hacker Installation - Advanced or power users:
--------------------------------------------------------------------------------
-
- First of all, if you often compile applications from source on Linux
- and you know how to solve dependency problems then well, KVIrc is not
- very different. It uses a build system based on CMake and follows its
- standard procedures.
-
- If you feel brave try:
-
- $ cd <kvirc_source_directory> // (usually KVIrc)
- $ mkdir build
- $ cd build
- $ ccmake ..
- $ make
- $ sudo make install
-
- If something goes wrong with the above procedure then you should read
- the step-by-step instructions below.
-
--------------------------------------------------------------------------------
- 3. Dependencies and requirements:
--------------------------------------------------------------------------------
-
- KVIrc compilation process depends on a set of tools and development libraries.
- Some of them are strictly required (the process will fail without them)
- and some are optional. The ones marked as "preferred" are optional but
- without them KVIrc may lack some fundamental features.
-
- Where OpenSSL is concerned, you should check it is legal to use cryptographic
- libraries in your Country.
-
- In order to compile KVIrc you will need:
-
- - C++ compiler ............ (Required)
- - CMake ................... (Required) >= 3.1.0
- - CMake GUI ............... (Optional)
- - Doxygen ................. (Optional)
- - pkg-config .............. (Required)
- - git-core ................ (Preferred)
- - Pthreads ................ (Required)
- - ZLib .................... (Required) >= 1.2.8
- - X Rendering Extension ... (Required)
- - X11 client-side library . (Required)
- - Qt GUI Toolkit .......... (Required) >= 4.8
- - KDE ..................... (Optional)
- - Enchant ................. (Optional)
- - Phonon framework ........ (Preferred)
- - Qt Multimedia ........... (Optional)
- - OpenSSL ................. (Preferred)
- - GSM speech compressor ... (Optional)
- - GNU gettext ............. (Optional)
- - Python .................. (Optional)
- - Perl .................... (Preferred) >= 5.004 (5.10 recommended)
-
- Note: For further information on these libraries read 4. Configuring the environment
-
- For CMake >= 3.1.0 run:
-
- Note: PPA for CMake for Ubuntu and variants <= 14.04 LTS:
-
- $ sudo add-apt-repository ppa:kvirc/kvirc -y
- $ sudo apt-get update
-
- For Ubuntu or variant distributions the complete list of dependencies
- and installation command is:
-
- $ sudo apt-get install build-essential cmake cmake-curses-gui doxygen git-core \
- libenchant-dev libgettextpo-dev libgsm1-dev libperl-dev libpthread-stubs0-dev \
- libssl-dev libx11-dev libxrender-dev pkg-config python-dev zlib1g-dev
-
- Note: KVIrc is complied by default against Qt5.x those libraries are:
-
- $ sudo apt-get install libqt5webkit5-dev libqt5svg5-dev \
- libqt5x11extras5-dev qtbase5-dev
-
- Note: An audio support backend is required for audio the choices are as follows:
-
- Compiling KVIrc with qtmultimedia5 audio support:
-
- $ sudo apt-get install qtmultimedia5-dev
-
- Compiling KVIrc with phonon audio support:
-
- $ sudo apt-get install libphonon4qt5-dev libphonon4qt5experimental-dev
-
- Note: When using Phonon, a working phonon-backend should be installed,
- else you may not get any audio coming out your speakers at runtime.
-
--------------------------------------------------------------------------------
- 4. Configuring the environment:
--------------------------------------------------------------------------------
-
- If your distribution is sane, installing the development packages should set up
- your environment variables correctly. You will know that something is wrong when
- you run CMake, the configuration output will complain if paths are not found.
-
- If the CMake configuration terminates successfully you can skip directly to step 5.
-
- However when this is not the case you may need to export the path variables manually.
- e.g. $QTDIR.
-
- Note: Where x is the KVIrc's currently supported Qt version.
- Current only Qt supported version is 5
-
- For x86 e.g.
-
- $ export QTDIR=/usr/lib/qtx
-
- For x86_64 e.g.
-
- $ export QTDIR=/usr/lib/x86_64-linux-gnu/qtx
-
- Note: If you have multiple distinct versions of the same Qtx.x installed
- and want to use a specific version, exporting QTDIR won't suffice, since the
- CMake module searching for Qtx.x uses qmake itself to determine the Qtx library dir.
-
- You can set your $PATH variable to have CMake using your specified Qtx.x version:
-
- $ PATH=/opt/qtx.x/bin/:$PATH cmake ..
-
- Note: See step [5. Configuring KVIrc] for supported CMake configuration flags.
- The trailing dots are required when you build out-of-source
- or CMake will likely fail.
-
- ## KDE (Optional)
-
- If you want to compile the KDE integration support, you obviously need KDE.
- The kdelibs package should suffice.
-
-
- ## Pthread implementation (Required)
-
- This is usually included in your distribution and is probably already
- installed. In Ubuntu or variants the library is libpthread-stubs0-dev.
- The library is called libpthread.so. You can search for it using the "find"
- or, at your option, "locate" command.
-
- 0. $ find / -name libpthread*
-
- 1. $ locate -i "libpthread*"
-
- ## GNU gettext (Optional)
-
- If you use KVIrc in a language other than English, then you need
- the GNU gettext package. In particular KVIrc uses msgfmt.
-
- This is usually included in your distribution and is probably already installed.
- In Ubuntu or variants this library is libgettextpo-dev.
- If your distro is not Ubuntu or variant you can check it by running:
-
- $ msgfmt --version
-
- KVIrc will not complain if the command above is missing. It will just skip
- the creation of the translation files. See the CMake configuration output.
-
-
- ## Perl (Optional)
-
- If you want to generate the on-line documentation you'll also need Perl.
-
- Note: The way external software can embed Perl has changed between Perl version
- 5.8 and 5.10. KVIrc should play nice with Perl as of version 5.004 and
- higher, but 5.10 is strongly recommended, since future updates can break
- backwards compatibility.
-
- If you want Perl scripting support to be compiled, you need a working Perl
- installation. Your libperl.so MUST be compiled with the multiplicity option.
- You can check it with:
-
- $ perl -V
-
-
- ## OpenSSL (Preferred)
-
- If you want the secure socket layer (SSL) support to be compiled, you need
- the OpenSSL development library, in Ubuntu or variants its libssl-dev
-
-
- ## GSM (Optional)
-
- If you want DCC VOICE to support the gsm codec,
- you need a recent copy of libgsm. This is not strictly required
- at compile time since KVIrc will look for the library at run-time
- and only if the DCC VOICE with the gsm codec is requested.
- You can check for libgsm using the 'find' or 'locate' command.
-
- 0. $ find / -name libgsm*
-
- 1. $ locate -i "libgsm*"
-
- This library is included in most distributions.
- Some distros ship only the static version of the library "libgsm.a".
- If the previous find or locate command returned something similar
- to "/usr/lib/libgsm.a", you might create the shared library manually
- by running:
-
- $ cd /usr/lib
- $ ld --whole-archive -shared -o libgsm.so.1 libgsm.a
- $ ln -s libgsm.so.1 libgsm.so
- $ ldconfig
-
- Notes:
- 1. This won't work if the library was compiled without -fPIE.
- 2. Files in /usr/lib should really be managed by package manager of the distro.
- Whenever package containing libgsm.a upgrades, the manually created libgsm.so stays old.
- 3. The distribution can provide a better way to install libgsm.so.
- e.g. in Gentoo many packages have static-libs USE-flag which tells the package manager
- to install not only .so files, but also .a (which is kinda the reverse, but the point still stands)
-
- ## Phonon framework - (Preferred)
-
- If you want the /snd plugin to play various audio formats,
- you either need the phonon framework, a running ESounD daemon,
- or a reasonably recent audiofile library.
- Without these KVIrc will be only able to play *.au files.
-
- - You will need the dynamic linker interface library libdl.so.
-
- This is usually installed on your system, so don't care until configure
- complains about it. Some system have the interface builtin in libc. The
- configure script can detect this.
-
--------------------------------------------------------------------------------
- 5. Getting and updating the source code:
--------------------------------------------------------------------------------
-
- The KVIrc development code is located at https://github.com/kvirc/KVIrc
-
- There are several ways to get KVIrc's source code, if you compile often,
- the best way is to clone the repository as this allows for the most flexibility.
-
- $ mkdir /home/setup && cd /home/setup
- $ git clone https://github.com/kvirc/KVIrc.git
-
- Keeping the git clone up-to-date is simple.
-
- $ git pull --rebase origin master
-
- Cleaning the git directory of any files or directories generated my CMake or Make.
- This is recommended previous to configuring or compiling any updated git clones,
- it will minimize the chance of errors during the reconfiguration / compilation,
- If you experience any compile issues make sure this command is executed.
-
- $ git clean -xfd
-
- Alternatively if you prefer. you can download a tarball of the most recent
- sources.
-
- $ mkdir /home/setup && cd /home/setup
- $ wget https://github.com/kvirc/KVIrc/archive/master.tar.gz -O kvirc.git.tar.gz
- $ tar -zxvf kvirc.git.tar.gz
-
--------------------------------------------------------------------------------
- 6. Configuring KVIrc
--------------------------------------------------------------------------------
-
- Since KVIrc 4.2 uses CMake as build system, we have to use it to create
- the Makefile's rules for make program.
-
- To do it, we encourage the "out-of-source" building: build all files
- without dirtying the sources directory.
-
- $ cd /home/setup && cd KVIrc
- $ mkdir build
-
- In this way you have just created an out-of-source environment which is
- clean at the beginning and can be changed afterwards, as well as a clean
- source directory.
-
- $ cd build
- $ cmake [your options] ..
-
- Note: The two trailing dots are required when you build out-of-source.
-
- The CMake rules support some flags. If you don't specify them, CMake will
- try to guess a good environment for you.
-
- To use these flags, you have to pass a bool value or a string.
- e.g. To install KVIrc in /usr instead of /usr/local and to disable
- Phonon support, the command looks like:
-
- $ cmake -DCMAKE_INSTALL_PREFIX=/usr -DWANT_PHONON=0 ..
-
- When using the configuration flags below.
-
- -DWANT_DEBUG= (default: OFF)
- When enabled, compiles the executable with debug symbols.
- Useful for reporting bugs.
- Note: An alternative method of defining build type is using:
- -DCMAKE_BUILD_TYPE=
-
- Supported options are:
-
- None Debug Release RelWithDebInfo MinSizeRel
-
- -DWANT_STRIP= (default: OFF)
- Available only if debug is disabled, this flag disables objects
- stripping before installation.
- (Object stripping discards symbols from object files, lowering their
- size on disk, at the expense of more complicated or rather impossible
- debugging.)
-
- -DWANT_VERBOSE= (default: OFF)
- Generate verbose output when compiling.
- Note: this will be deactivated when using a job setting higher than 1
- with gmake. i.e., make -j2 will *not* show verbose compilation output.
-
- -DCMAKE_INSTALL_PREFIX=PATH 0 (default: a system-dependent directory)
- This will install all stuff under PATH directory.
-
- -DLIB_SUFFIX=SUFFIX= (default: empty)
- This will install libkvilib and KVIrc modules to
- ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
- directory. It defaults to an empty suffix.
- Mainly used for x86_64 architectures.
-
- -DMANDIR=DIRECTORY= (default: $CMAKE_INSTALL_PREFIX/share/man)
- This will install man pages to DIRECTORY.
-
- -DWANT_COEXISTENCE= (default: OFF)
- If enabled, appends version information to KVIrc and libkvilib, so that
- different KVIrc versions can co-exist on the same system.
-
- -DWANT_ENV_FLAGS= (default: OFF)
- When enabled, KVIrc install rules won't try to figure out and set
- CMAKE_C(XX)_FLAGS. Instead, it will let CMake use the ones taken
- from environment variables.
- Activating this flag will override the value of -DWANT_DEBUG.
-
- -DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT= (default: OFF, not cached)
- This will re-initialize the installation path to a good default.
- Following compilations should use the correct path value cached by CMake.
- This flag is useful to solve macOS install problems.
-
- -DWANT_UNIVERSAL_BINARY= (default: OFF)
- Enables or disables the compilation of universal binaries
- for the macOS platform.
-
- -DWANT_PHONON= (default: ON)
- Enables or disables Phonon audio backend support.
-
- -DWANT_OSS= (default: ON)
- Enables or disables OpenSoundSystem audio backend support.
- If disabled, audiofile support will be disabled as well.
-
- -DWANT_AUDIOFILE= (default: ON)
- Enables or disables audiofile audio backend support.
-
- -DWANT_ESD= (default: ON)
- Enables or disables ESounD audio backend support.
-
- -DWANT_QTDBUS= (default: ON)
- Enables or disables Qt D-Bus support.
-
- -DWANT_QTWEBKIT= (default: ON)
- Enables or disables Qt WebKit support.
-
- -DWANT_KDE= (default: ON)
- Enables or disables KDE support. The KDE version used
- depends on the Qt version used. Qt4 implies KDE4, Qt5 implies KDE5.
-
- -DWANT_OPENSSL= (default: ON)
- Enables or disables the cryptographic functions support using OpenSSL.
-
- -DWANT_CRYPT= (default: ON)
- Enables or disables the cryptographic engines and the whole cryptography/text
- transformation support. Produces a slightly smaller executable.
- You will lack features, though.
-
- -DWANT_IPV6= (default: ON)
- Enables or disables the IPv6 support.
- Even if you have a plain IPv4-only connection, you might want to
- keep the IPv6 support. This way you will be able to resolve
- IPv6 hostnames.
-
- -DWANT_TRANSPARENCY= (default: ON)
- This option enables or disables pseudo and real transparency support.
- The pseudo-transparency support makes the KVIrc windows
- look like semi-transparent (this is NOT real transparency, it is
- just a neat-looking hack). Transparency uses compositing and needs
- proper hardware support to work.
- If KDE support is enabled, KVIrc will have an option that
- makes all windows use a faded KDE desktop background image
- as background. Without KDE support you will be able to choose
- a fake background image and use it as background. (You can still
- choose your desktop wallpaper, this will (more-or-less) work with
- all window managers).
- It is cool-looking but usually eats some memory and makes the
- executable slightly bigger, when enabled. Especially when moving
- objects around, CPU consumption may get high as well.
- You can thus disable transparency here.
-
- -DWANT_GTKSTYLE= (default: OFF)
- QGtkStyle is a Qt backend that uses native GTK widgets.
- By default we disable QGtkStyle since it interferes with KVIrc's internal
- theme engine and there maybe some unwanted styling that you may consider broken.
- Some users want to use it anyway. Please don't report any theme-related bug
- if you enabled this option: we already know it's limitations and issues.
- For further information / discussion see:
- https://github.com/kvirc/KVIrc/issues/2117
-
- -DWANT_PERL= (default: ON)
- Enables or disables Perl support.
- You will not be able to use Perl scripts inside of KVIrc.
- You still can execute Perl scripts outside of KVIrc, i.e. with
- the exec() command.
- Note: Perl support will be checked anyway, and used to generate
- the documentation if present.
-
- -DWANT_PYTHON= (default: ON)
- Enables or disables python support.
- You will not be able to use Python scripts inside of KVIrc.
-
- -DWANT_IPC= (default: ON)
- Enables or disables support for inter-process communication.
- You will not be able to send remote commands to running
- KVIrc sessions. This basically means that every time you run
- the KVIrc executable, a new session will be started.
- If you don't use this switch, a new session will be started
- only if no session is running on the same display or
- "new session" has been forced by a command-line switch.
- If a session is already running, the command-line will be
- passed to that session via IPC (X-event-based communication).
- This option saves the KVIrc executable some KByte in size,
- so if you're really, really short in memory, you might use it,
- otherwise, IPC is a nice feature.
-
- -DWANT_GETTEXT= (default: ON)
- Enables or disables the use of GetText to generate translation files.
-
- -DWANT_DOXYGEN= (default: ON)
- Enables or disables developers docs generation through Doxygen.
-
- -DWANT_GSM= (default: ON)
- Enables or disables the usage of the GSM library. This will
- disable the DCC VOICE GSM codec but might help when the
- compilation stops complaining of something related to GSM. :)
-
- -DWANT_IGNORE_SIGALARM= (default: OFF)
- Under Solaris, both usleep() and threads implementation are based on
- SIGALARM. KVIrc uses both, and this could lead to some spontaneous
- application quits. This option enables a workaround for this problem.
-
- -DWANT_DCC_VOICE= (default: ON)
- Enables or disables the DCC VOICE sound support. This might help
- if you have problems in compilation of src/modules/dcc/voice.cpp.
- It will disable the sound support (and thus render DCC VOICE unusable).
-
- -DWANT_DCC_VIDEO= (default: OFF)
- Enables or disables EXPERIMENTAL DCC VIDEO support.
-
- -DWANT_OGG_THEORA= (default: OFF)
- Enables or disables EXPERIMENTAL Ogg/Theora Support for dcc video.
-
- -DWANT_DCC_CANVAS= (default: OFF)
- Enables or disables OBSOLETE DCC CANVAS support.
-
- -DWANT_SPELLCHECKER= (default: ON)
- Compile Spell-Checker Support.
- Note: If libenchant development package is installed,
- this option is automatically enabled during configuration.
-
- -DWANT_MEMORY_PROFILE= (default: OFF)
- Enables or disables memory allocation profiling.
- Don't set it, unless you are a developer and know what you are doing.
- It will have high impact on executable size and most notably speed.
- Please do not use this.
-
- -DWANT_MEMORY_CHECKS= (default: OFF)
- Enables or disables malloc() memory checks. This will print a nice
- message if your system goes out of memory.
- It can't save you from buying new RAM, but at least you will know that
- your system went out of memory and it is not a proper KVIrc fault.
- Most systems do actually already notice you when you are out of RAM
- (i.e. Linux and the OOM killer.)
- Most probably you will not need to enable this flag.
-
- -DMANUAL_REVISION= (default: empty)
- Manually set a revision number if subversion is not found on your
- system.
- This is useful mostly on windows.
- Please do not specify useless information here, as it will make
- debugging harder and you won't profit from it.
-
- -DWANT_PIZZA= (default: OFF)
- Add some pizza for dinner. :)
-
- -DWANT_BEER= (default: OFF)
- Add some beers to chat. :)
-
--------------------------------------------------------------------------------
- 7. Interactive CMake KVIrc configuration
--------------------------------------------------------------------------------
-
- The CMake build system provide also an interactive mode to configure
- the environment before compiling.
- Again, we encourage the "out-of-source" building: build all files
- without dirtying the sources directory.
-
- $ mkdir build
- $ cd build
- $ ccmake ..
-
- Now you're in interactive mode, just follow the instructions on screen
- to configure your compilation environment.
-
--------------------------------------------------------------------------------
- 8. Compiling
--------------------------------------------------------------------------------
-
- This step is easy:
- Cross your fingers and run:
-
- 0. $ make
-
- If you have a multiprocessor or multicore machine then you can use -jN
- to speed up the compilation.
-
- 1. $ make -j4
-
- If your make is not a GNU make (this happens on FreeBSD for example) you
- should use "gmake" instead.
- The compilation process will take from 2-3 minutes to several hours
- depending on the machine capabilities and load.
- If you have a slow old CPU but have a couple of computers in a LAN you might
- consider using distcc to distribute the compilation.
-
- Once the compilation has finished successfully, run:
-
- $ sudo make install
-
- Same as above: use "gmake install" if your make is not GNU make.
-
- This will install the executable in /usr/local/bin (if you haven't
- specified a different -DCMAKE_INSTALL_PREFIX option in the CMake rules),
- the libraries in /usr/local/lib (if you don't have specified a different
- -DLIB_SUFFIX option in the CMake rules) and the shared data in
- /usr/local/share/kvirc.
-
- Make sure that /usr/local/lib is in your /etc/ld.so.conf. If it isn't,
- put it in there and run:
-
- $ sudo ldconfig
-
- If you have decided to use the KDE support the installation might have
- placed all these files in your $KDEDIR tree instead of /usr/local.
- In this case you should be OK since KDE requires its library dir to be
- in /etc/ld.so.conf.
-
--------------------------------------------------------------------------------
- 9. Compiling on macOS
--------------------------------------------------------------------------------
-
- There is a detailed compilation and installation HOW-TO for macOS systems
- located in the doc directory. It's named INSTALL-MacOS.txt.
-
--------------------------------------------------------------------------------
- 10. Compiling on Windows
--------------------------------------------------------------------------------
-
- There is a detailed compilation and installation HOW-TO for Win32 and Win64 systems
- located in the doc directory. They're named INSTALL-Win32.txt and INSTALL-Win64.txt.
-
--------------------------------------------------------------------------------
- 11. Creating a KVIrc package
--------------------------------------------------------------------------------
-
- CMake supports DESTDIR argument.
- So, if you want to make a package for your distribution, you simply have to pass
- it at "make install" stage: your install files will go to the chosen path.
-
- $ make install DESTDIR=/tmp/kvirc-4.3
-
- After this step, just follow your distribution's rules to make a good
- package for the distro you're running.
-
- Alternatively, you can try the experimental CPack support included in
- CMakelist.txt to build a package. In this case, please refer to the CPack
- documentation.
diff --git a/doc/LICENSE-OPENSSL b/doc/LICENSE-OPENSSL
index 7d0e2378b..3499e49e3 100644
--- a/doc/LICENSE-OPENSSL
+++ b/doc/LICENSE-OPENSSL
@@ -124,3 +124,35 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
+
+
+ _OpenSSL Exception_
+
+0. Definitions
+
+"KVIrc" means KVIrc software licensed under version 2 or any later
+version of the GNU General Public License (collectively, "GPL"), or a
+work based on such software and licensed under the GPL.
+
+"OpenSSL" means OpenSSL toolkit software distributed by the OpenSSL
+Project and licensed under the OpenSSL Licenses, or a work based on such
+software and licensed under the OpenSSL Licenses.
+
+"OpenSSL Licenses" means the OpenSSL License and Original SSLeay License
+under which the OpenSSL Project distributes the OpenSSL toolkit software,
+as those licenses appear in the file LICENSE-OPENSSL.
+
+1. Exception
+
+You have permission to copy, modify, propagate, and distribute a work
+formed by combining OpenSSL with KVIrc, or a work derivative of such a
+combination, even if such copying, modification, propagation, or
+distribution would otherwise violate the terms of the GPL. You must
+comply with the GPL in all respects for all of the code used other than
+OpenSSL.
+
+You may include this OpenSSL Exception and its grant of permissions when
+you distribute KVIrc. Inclusion of this notice with such a
+distribution constitutes a grant of such permission. If you do not wish
+to grant these permissions, remove this section entitled "OpenSSL
+Exception" from your distribution. \ No newline at end of file
diff --git a/doc/TODO b/doc/TODO
deleted file mode 100644
index a69d50558..000000000
--- a/doc/TODO
+++ /dev/null
@@ -1,14 +0,0 @@
-Update TODO file, if something is implemented, it should be removed in the TODO file.
-Maintain TODO file as clear as possible
-
-- Events, events, events. There are lots of them pending (see TODO.Events).
-- /timer as a module
-- It would be cool if KVIrc could to delete old log files automatically
- (configurable, of course), to avoid disk ocupation. For example, delete (or
- move to trash) 15-days old log files automatically (configurable by user).
-- html colored logs (with icons ? configurable with an option)
- SHould get the available modes from RPL_ISUPPORT and show them in the box
-- CService support
- We already have nickserv support, why not CService/X support? This should be much much easier to
- implement as it's only on one net (Undernet), and with a static host and command that never changes, we
- only need to specify password.
diff --git a/doc/TODO-cmake b/doc/TODO-cmake
deleted file mode 100644
index 9dce4045c..000000000
--- a/doc/TODO-cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-This file contains all the things that have to be done to complete the
-transition autotools -> cmake.
-
-* Missing or broken rules
-- uninstall: delete directories
diff --git a/doc/TODO-events b/doc/TODO-events
deleted file mode 100644
index 3c5ff166d..000000000
--- a/doc/TODO-events
+++ /dev/null
@@ -1,58 +0,0 @@
-WRITE DOCS!!! :P
-
-This is a list of old KVIrc 2.x events that are not present yet on KVIRC 3/4.
-Please remove as you implement them.
-
-OnCTCPMultimedia
-OnError
-OnEventError
-OnIdleStart
-OnIdleStop
-OnLogin?
-OnUnhandedNumeric
-OnUserWindowFileDrop
-OnUserWindowInput
-OnWhoisReply -> kvi_sp_numeric.cpp 851
-
-(10)
-
-
-Commands (Pragma please review, maybe remove ircop commands?)
---------
-
-CD
-CTTPREPLY
-DIR
-FINDTEXT
-GEOMETRY
-KILLPROC
-LOCOPS
-MULTIMEDIA
-OPNOTICE
-OPERSERV
-OS
-OWNER
-PROCLIST
-REHASH
-STATSERV
-STATUS
-UNEXCEPT
-
-(17)
-
-Functions
----------
-DurationToString
-GetEnv
-Icon
-InetAton
-InetNtoa
-IsMe
-IsValidIp
-New needs documentation!
-NumTimeToString
-Range
-StrCat
-Uname
-
-(12)
diff --git a/doc/accelerator.keys.txt b/doc/accelerator.keys.txt
deleted file mode 100644
index 5398bcb24..000000000
--- a/doc/accelerator.keys.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-This is a comprehensive list of all accelerator keys defined in KVIrc.
-An accelerator key is a combination of keyboard buttons that, when pressed
-together, accomplish an action which otherwise would be achieved by moving
-the mouse or selecting from a menu.
-
- Some notes on keys:
-
-Under Windows, the Ctrl+Alt is mapped to the AltGr (Alternative Graphics) key.
-Since AltGr is used in many keyboard layouts to produce special characters,
-the use of any Ctrl+Alt hotkey is discouraged.
-A list of standard window hotkeys can be found here: http://support.microsoft.com/kb/126449
-Under Unix*/KDE, a lot of keys are globally binded to specific software, e.g.
- Ctrl+Shift+S shows the contact list of Kopete
- Ctrl+Alt+S stops the music player juk
-A list of these can be found at SystemSettings->Keyboard and mouse->Global keyboard shortcuts.
-
- All the standard keys alphabetically ordered:
-
-F1 Help Index (Window)
-
-Ctrl+A Select all
-Ctrl+B Insert Bold control character
-Ctrl+ Copy to clipboard
-Ctrl+D
-Ctrl+E
-Ctrl+F Open "Find Text" dialog
-Ctrl+G
-Ctrl+H
-Ctrl+I Open "Insert icon" dialog
-Ctrl+J Open "Join Channels" dialog
-Ctrl+K Open "Insert Color" dialog
-Ctrl+L
-Ctrl+M
-Ctrl+N Open new context
-Ctrl+O Insert Reset control character
-Ctrl+P Insert "Plain text" control character
-Ctrl+Q
-Ctrl+R Insert Reverse control character
-Ctrl+S Open "Servers" dialog
-Ctrl+T Open "Manage Toolbars" dialog
-Ctrl+U Insert Underline control character
-Ctrl+V Paste clipboard contents
-Ctrl+W Close current window
-Ctrl+X Cut to clipboard
-Ctrl+Y Redo last action
-Ctrl+Z Undo last action
-
-Ctrl+Shift+A Go away/back
-Ctrl+Shift+B
-Ctrl+Shift+C Connect/disconnect current irc context
-Ctrl+Shift+D
-Ctrl+Shift+E Open Event editor
-Ctrl+Shift+F
-Ctrl+Shift+G
-Ctrl+Shift+H
-Ctrl+Shift+I Open Identity options
-Ctrl+Shift+J
-Ctrl+Shift+K
-Ctrl+Shift+L Open Alias editor
-Ctrl+Shift+M
-Ctrl+Shift+N
-Ctrl+Shift+O Open "Options" dialog
-Ctrl+Shift+P Open Popup editor
-Ctrl+Shift+Q Open Action editor
-Ctrl+Shift+R Open Raw events editor
-Ctrl+Shift+S Open Script tester
-Ctrl+Shift+T Open "Theme Options" dialog
-Ctrl+Shift+U Open "Registered users" dialog
-Ctrl+Shift+V
-Ctrl+Shift+W
-Ctrl+Shift+X Open "Execute Script" dialog
-Ctrl+Shift+Y
-Ctrl+Shift+Z
-
-
- Window handling related keys:
-
-Alt+UpArrow Previous window
-Alt+DownArrow: Next window
-Alt+PageUp: Previous highlighted window
-Alt+PageDown Next highlighted window
-Alt+Shift+UpArrow: Previous window in the same IRC context
-Alt+Shift+DownArrow: Next window in the same IRC context
-Ctrl+UpArrow: Maximizes current window
-Ctrl+DownArrow / ESC: Minimizes current window
-Shift+<F1-F12> Window switch
-PageUp: Scroll the output window up one page
-PageDown: Scroll the output window down one page
-Shift+PageUp: Scroll the output window up one line
-Shift+PageDown: Scroll the output window down one line
-Ctrl+W: Close current window
-
-
- Text editing related hotkeys:
-
-Ctrl+LeftArrow: Selection left to the previous word
-Ctrl+RightArrow: Selection right to the next word
-Ctrl+Shift+LeftArrow: Previous word
-Ctrl+Shift+RightArrow: Next word
-Ctrl+<digit>: Script accelerators (see OnAccelKeyPressed)
-F2-F12, Shift+(F1-F12): Script accelerators (see OnAccelKeyPressed)
-Ctrl+B: Insert the 'bold' mIRC text control character
-Ctrl+K: Insert the 'color' mIRC text control character
-Ctrl+R: Insert the 'reverse' mIRC text control character
-Ctrl+U: Insert the 'underline' mIRC text control character
-Ctrl+O: Insert the 'reset' mIRC text control character
-Ctrl+P: Insert the 'non-crypt' (plain text) KVIrc control character used to disable encryption of the current text line
-Ctrl+C: Copy the selected text to clipboard
-Ctrl+X: Cut the selected text
-Ctrl+V: Paste the clipboard contents (same as middle mouse click)
-Ctrl+I: Insert the 'icon' control code and pops up the icon list box
-CursorUp: Move backward in the command history
-CursorDown: Move forward in the command history
-Ctrl+PageUp: Open the history popup
-CursorRight: Move the cursor to the right
-CursorLeft: Move the cursor to the left :)
-Shift+CursorLeft: Move the selection to the left
-Shift+RightCursor: Move the selection to the right
-Alt+Enter: Show/hide the multiline editor
-Ctrl+Enter: Send message as plain text, ignoring / commands
-Alt+<numeric_sequence> Insert the character by ASCII/Unicode code; example:
-Alt+32 Inserts ASCII/Unicode character 32: ' ' (a space)
-Alt+00032 Same as above :)
-Alt+13 Inserts the Carriage Return (CR) control character
-Alt+77 Inserts ASCII/Unicode character 77: 'M'
-Alt+23566 Inserts Unicode character 23566 (an ideogram)
-
-
- Completion hotkeys
-
-Tab in the first word of input: Complete nicknames in the current channel or query
-Tab after a leading /: Complete commands
-Tab after a / in the middle of input: Complete directories
-Tab after a $: Complete function names
-Shift+Tab after the first word of input: Complete masks in the current channel or query
diff --git a/doc/addon.howto.txt b/doc/addon.howto.txt
deleted file mode 100644
index 90ea6dcfc..000000000
--- a/doc/addon.howto.txt
+++ /dev/null
@@ -1,323 +0,0 @@
-Elvio Basello, 22-06-2010
-hell at hellvis69 dot netsons dot org
-
-SUMMARY
-=======
-1. PREFACE
-2. INSTALLATION
-3. A TYPICAL ADDON LAYOUT
-4. SOME EXAMPLES
-5. HINTS
-6. WHERE TO START
-
-
-1. PREFACE
-
-Starting from the release 4.0.0 KVIrc supports the addon packaging system.
-
-A KVIrc addon is basically a zip package containing a subset of user-defined icons,
-aliases, functions, classes and all stuff needed to implement a new KVIrc feature.
-It might be a simple automatic-away subsystem, a GUI newsticker or a complex file
-sharing service (commonly called "fserve"). Addons are sometimes called "scripts".
-In fact a KVIrc addon is usually made of more than one KVS script.
-
-KVIrc has a builtin addon management system that allows the users to create, install,
-configure and uninstall features with a nice graphical interface. The management
-system allows the addons to have documentation integrated in the KVIrc help and to
-be translated in several languages.
-
-
-2. INSTALLATION
-
-The addons are usually shipped in compressed archives (.kva). A simple double
-click on the *.kva file should be sufficient to install the addon for the current user.
-
-Another way to install the package is to use the /addon.install command.
-Under the hood, the double click will just invoke kvirc by passing the *.kva file
-name as parameter. KVirc will recognize it as being an addon package and will
-automatically invoke "/addon.install <filename>" on it.
-
-
-3. A TYPICAL ADDON LAYOUT
-
-As stated above, the addons are usually shipped in a compressed archive. The
-/addon.install command will uncompress it to a temporary directory.
-The uncompressed tree is substantially the same directory tree that you have
-to create in order to package your addon and it usually looks like this:
-
- name-version/
- +- install.kvs
- +- src/
- | +- source1.kvs
- | +- source2.kvs
- | \- ...
- +- locale/
- | +- name_it.mo
- | +- name_de.mo
- | \- ...
- +- config/
- | +- config1.kvc
- | +- config2.kvc
- | \- ...
- +- audio/
- | +- audio1.wav
- | +- audio2.wav
- | \- ...
- +- pics/
- | +- pic1.png
- | +- pic2.png
- | \- ...
- +- help/
- +- en/
- | +- index.html
- | +- hints.html
- | \- ...
- +- it/
- +- index.html
- +- hints.html
- \- ...
-
-The entries with a slash (/) at the end are directories while the other are files.
-
-The toplevel directory should be named with your addon name and version. Use no spaces
-in the directory entries: this will make the things simpler for people that want to
-use your addon.
-
-The install.kvs is the mandatory initialization script which must contain all the
-procedures required to register your addon inside the KVIrc subsystems and install
-all your addon data files.
-
-For example:
-
- ...
- addon.register("MyAddon", \
- "1.0.0", \
- "My First Addon", \
- "An addon that is really cool but does
- simply nothing", \
- "4.0.0", \
- "MyAddon_32.png" \
- )
- {
- }
-
- addon.installfiles "MyAddon" "pics" "pics/*.png"
- addon.installfiles "MyAddon" "locale" "locale/*.mo"
- addon.installfiles "MyAddon" "config" "config/*.kvc"
- addon.installfiles "MyAddon" "audio" "audio/*.wav"
- addon.installfiles "MyAddon" "help/en" "help/en/*.html"
- addon.installfiles "MyAddon" "help/it" "help/it/*.html"
-
- # Register classes
- MyAddon::classes::register
-
- # Initialize events
- MyAddon::events::init
-
- # Load configuration
- MyAddon::config::load
-
- # Setup popups
- defpopup("MyAddon")
- {
- item($tr("Something","MyAddon"),110)
- {
- ...
- }
- }
-
- # Set options
- option boolAutoAcceptDccSend 1
- option boolShowMinimizedDebugWindow 1
-
- # Invoke sources
- include "src/mystuff.kvs"
- ...
-
-
-The install.kvs is the only really mandatory piece of an addon. Most real-world addons,
-however, will be split over several kvs source files. Canonically these
-source files are placed in the src/ subdirectory and the install.kvs must invoke them
-them in the right order. More about the install.kvs script in section 4.
-
-If your addon is translated in different languages then the "locale" directory should
-contain the *.mo catalogue files for your translations. The localization process of a
-script is explained in the KVIrc documentation. Your *.mo filenames should be prefixed
-by your addon name.
-
-If your addon needs an initial configuration then your config files should be placed
-in the "config" subdirectory and should have *.kvs as extension.
-
-The "pics" and "audio" (if relevant) directories should contain your multimedia files.
-It's a good idea to have your pics file in PNG format and sound files in WAV format.
-
-The "help" directory should contain subdirectories for each language your help files
-are written in. The languages dirs should be named with the language code also used for
-the translation files (like "en", "it" etc...).
-
-Please note that English is the default language and KVIrc will fallback to the "en"
-subdirectory when no other language is found around...
-
-
-4. THE INIT FILE
-
-The smallest addon that you can write is the one that does nothing.
-
- addon.register("MyAddon", \
- "1.0.0", \
- $tr("My First Addon","myaddon"), \
- $tr("An addon that is really cool but does
- simply nothing","myaddon"), \
- "4.0.0", \
- "MyAddon_32.png")
- {
- }
-
-
-The code above does nothing but registers the "MyAddon" addon.
-
-
-The first parameter is the internal addon id which can be used to identify your addon
-inside KVIrc. The id must be unique: two addons that share the same name cannot be
-installed.
-The second parameter is the addon version. It should be expressed in the classic format
-[major].[minor].[pathlevel] or something really similar (in fact KVIrc just expects the
-version to be a string composed of numbers separated by dots). The version is compared
-when an addon is installed and KVIrc complains if the user tries to downgrade an addon
-(that is to install a less recent version over a more recent one).
-The third parameter is the visible name of your addon: it will be displayed to the user
-in the addon management dialog. It can contain the $tr function so you can have it
-translated to several languages: in this case, our string will be translated in the
-catalogue myaddon.
-The fourth parameter is a short description of the feature that the addon implements;
-it can contain the $tr() function too.
-The fifth parameter is the minimal KVIrc version required to run the addon.
-The sixth parameter is the icon to show in the manager: it has to be 32x32 pixel big.
-There are also some switches that can be used to fiddle a little bit more :)
-
-
-5. THE HELP AND CONFIGURATION CALLBACKS
-
-Each addon can have a help and a configuration callback. These are set respectively by
-addon.sethelpcallback and addon.setconfigurecallback.
-The help callback will be invoked by KVIrc when the user will ask help for your addon
-(mainly from the addon management dialog, but not necessarily). It should call help.open
-with the name of your documentation index html file (it should be relative to the help
-language directory.
-
-Hint: help.open myaddon/index.html will automatically lookup the right language
-
-If you provide no help callback, the button for requesting help will be simply disabled.
-A good and relatively complex addon *should* have at least a minimal help file explaining
-the features.
-
-The configuration callback will be invoked when the user will try to configure your addon
-from the addon management dialog. This callback is useful mainly for more complex graphical
-scripts that can show up a dialog that allows configuring all of the addon features.
-To use this callback you will probably need some object scripting.
-
-
-6. THE REAL WORK
-
-The real addon work is done by the scripts contained in the source directory. They will
-likely add aliases (maybe in a nice namespace named against your addon), register event
-handlers, create actions, timers, toolbars and object classes. You should install all of
-this stuff from your addon source files.
-
-Remember that your source files will NOT be parsed every time KVIrc starts up: your stuff
-must be registered in KVIrc and be able to startup itself, if needed. You must clean up
-everything in your uninstallation callback. This means that you must remove the aliases,
-unregister the event handlers, destroy the actions, kill the timers and the object classes
-you've created. Be a clean coder :)
-
-
-7. SOME EXAMPLES
-
-The code below is just an example of how to write a useful initalizazion of your own addon.
-The name of the classes refer to the ones described above.
-
- # Register the classes
- alias(MyAddon::classes::register)
- {
- # Create an array with all the classes of our addon.
- # In this way it's easy to add or remove classes in the registering routine
- %classes[] = $array( \
- MyAddon::classes::database, \
- MyAddon::classes::gui::options, \
- ...
- )
-
- # Scan the array and register the classes
- for(%i=0; %i < $length(%classes[]); %i++)
- {
- if($classDefined("%classes[%i]"))
- {
- objects.killClass %classes[%i]
- }
- eval %classes[%i]
- }
- }
-
- # Initialize events
- alias(MyAddon::events::init)
- {
- event(OnKVIrcStartup,"MyAddon")
- {
- ...
- # Load the catalogue (translation) file "myaddon" from the path provided
- trload myaddon $file.localdir("locale/MyAddon")
- MyAddon::config::load
- ...
- }
- event(OnChannelMessage,"MyAddon_something")
- {
- ...
- }
- }
-
- # Load configuration
- alias(MyAddon::config::load)
- {
- # If the class ConfHandler is not defined, register all classes we have
- if(!$classDefined(MyAddon::classes::ConfHandler))
- {
- MyAddon::classes::register
- }
-
- # Set some variables
- %MyAddonConfig = $new(MyAddon::classes::ConfHandler)
- %MyAddonConfigPath = $file.localdir(config/scripts/MyAddon)
-
- # Open the configuration file and move to the section "general"
- %c = $config.open(%MyAddonConfigPath/MyAddon.kvc,"r")
- config.setsection %c general
-
- # Store the value of the key "Key" in the global variable %Key
- %Key = $config.read(%c,"Key",2)
- ...
- }
-
-
-8. HINTS
-
-- Use namespaces for your aliases and your classes. This will help avoiding
- collisions with other scripts and addons.
-
-- Remember that your addon is going to be installed on different platforms (at
- least Linux, macOS and Windows based). The poor Windows' notepad has serious problems
- with reading text files that contain only linefeeds as line separators.
- You could consider using a proper editor like e.g. Notepad++
-
-
-9. WHERE TO START
-
-It is a good idea to start on the KVIrc web site. There are surely several addons to
-look at. Pick one that seems simple and analyze its layout and code (wow... the free
-software!). It will be easier to do than it was to explain it :D
-
-Another great resource place is the IRC channel #kvirc located on irc.freenode.org
-network. There you can find many people able to code and help you.
-
-Have fun! :)
-
-Elvio Basello
diff --git a/doc/firefox.hack.txt b/doc/firefox.hack.txt
deleted file mode 100644
index 9b31e63c1..000000000
--- a/doc/firefox.hack.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-Firefox Hack Guide - HelLViS69 - 2007.02.08
--------------------------------------------------------------------------------
-
-@ Prologue
-
-This guide is meant to be a simple hack to add protocols handlers to Firefox,
-such as irc://
-This guide is been tested on Linux, Mac and Windows.
-
-@ How To
-
-- Open Firefox at the url about:config
- You'll find the Firefox configuration
-
-- Click with right button, select New, then Boolean
- As Name insert network.protocol-handler.external.irc and true as Value
-
-- Click with right button, select New, then String
- As Name insert network.protocol-handler.app.irc
- As Value you have to insert the path of KVIrc binary, e.g. /usr/bin/kvirc,
- `which kvirc` or C:\Programs\Firefox\firefox.exe
-
-- Make sure that network.protocol-handler.expose-all are set as true
-
-With these simple steps you can handle irc://irc.something.tld from Firefox
-
-If you want to add more protocols handlers, just follow the same steps changing
-the protocol you want to add in Firefox and the application you want to use to
-handle the new protocol
-
-Elvio Basello
-<HelLViS69>
diff --git a/doc/hackers.guide.txt b/doc/hackers.guide.txt
deleted file mode 100644
index e41f570e9..000000000
--- a/doc/hackers.guide.txt
+++ /dev/null
@@ -1,998 +0,0 @@
-KVIrc hackers guide - Szymon Stefanek - 2004.05.26
-last updated on 2012.07.01
--------------------------------------------------------------------------------
-
-This is an always-work-in-progress guide for KVIrc source code hackers.
-
--------------------------------------------------------------------------------
-The source tree
--------------------------------------------------------------------------------
-
-/ Root directory.
-| This is almost completely CMake stuff.
-|
-|-- admin Administrative files and document generation scripts.
-|
-|-- cmake Build files using the new CMake system resides in here.
-|
-|-- data Data for the KVIrc program. Most of this stuff is
-| | installed in $(prefix)/share/kvirc/$VERSION/
-| |
-| |-- applnk *.desktop and menu entries for KDE
-| |
-| |-- audio audio files: currently only a test file
-| |
-| |-- config Default configuration files
-| |
-| |-- defscript The default script
-| |
-| |-- deftheme The default themes
-| |
-| |-- doctemplates Some document templates that get parsed by gendoc.pl
-| | when the html documentation is generated
-| |
-| |-- helppics Data pictures for the html documentation
-| |
-| |-- icons Icons in various sizes
-| |
-| |-- man The manual pages
-| |
-| |-- manifests Manifests needed to compile under win32 using VC++
-| |
-| |-- msgcolors Default sets of message colors
-| |
-| |-- pics Most of the pictures that KVIrc uses
-| |
-| |-- protocols irc:// and irc6:// protocol definitions for konqueror
-| |
-| |-- resources_mac Resources for the macosx compilation
-| |
-| `-- resources_win32 Resources for the windows compilation
-|
-|-- doc Any kind of documentation
-|
-|-- po Internationalization (i18n :)
-| | msgcheckformat.c is a small program to check/fix for
-| | for broken format strings in translations
-| |
-| |-- core Translations for the main application
-| | |
-| | |-- defscript Translations for the default script
-| | |
-| | |-- kvirc Translations for kvilib and main KVIrc executable
-| | |
-| | `-- kvs Translations for the script parser
-| |
-| `-- modules Translations for the modules
-|
-|-- scripts Some misc scripts.
-| |
-| |-- config A pkgconfig-like tool to get info about KVIrc paths
-| |
-| `-- pydocparser A python script to create html user documentation; an
-| alternative to admin/gendoc.pl
-|
-|-- src The sources
-| |
-| |-- kvilib KVIrc library. Any source code snippet that can be
-| | | abstracted enough to not depend on the KVIrc core
-| | | ends up here. kvilib depends only on external stuff.
-| | |
-| | |-- config The headers that control the compile-time
-| | | configuration.
-| | |
-| | |-- core The really basic classes: strings, memory management,
-| | | error code defines etc..
-| | |
-| | |-- ext Here ends everything that has no other specific place
-| | | in kvilib.
-| | |
-| | |-- file File management and file utilities
-| | |
-| | |-- irc IRC protocol related classes
-| | |
-| | |-- locale Translations related classes
-| | |
-| | |-- net Networking related stuff: sockets, ssl, http ...
-| | |
-| | |-- system System function wrappers or stuff that depends
-| | | on the strict operating system support.
-| | | Threads, localisation, env, time, shared library..
-| | |
-| | `-- tal Toolkit Abstraction Layer: wrapper classes that
-| | inherit from KDE* or QT classes, depending on the
-| | compilation type.
-| |
-| |-- kvirc The KVIrc executable sources
-| | |
-| | |-- kernel The core of the executable. The main function is
-| | | here. Here is also the KviApp object and the options
-| | | core management.
-| | |
-| | |-- kvs The NEW shiny scripting engine.
-| | | This two-stage UNICODE KVS interpreter replaces the
-| | | old uparser and is the default scripting engine
-| | | since kvirc 3.4.
-| | |
-| | |-- module The module management stuff: the loader, the module
-| | | interface definitions etc..
-| | |
-| | |-- sparser The IRC server parser
-| | |
-| | `-- ui User interface. 99% of the core GUI is here.
-| | Here you can find KviFrame (the main window)
-| | KviMdiManager, KviWindow, KviChannel, KviQuery,
-| | KviConsole, KviInput, KviIrcView and KviUserListView
-| | which are the most common widgets in kvirc.
-| |
-| `-- modules Yes, the modules :D
-| |
-| |-- about The about dialog
-| |
-| |-- action The action module
-| |
-| |-- actioneditor The action editor
-| |
-| |-- addon The addon module
-| |
-| |-- aliaseditor The alias editor window
-| |
-| |-- avatar Avatar manipulation stuff
-| |
-| |-- chan $chan.* scripting stuff
-| |
-| |-- channelsjoin The channelsjoin dialog
-| |
-| |-- classeditor The class (OOP) editor
-| |
-| |-- clock This was a clock applet but actually it is not
-| | working and thus not compiled.
-| |
-| |-- codetester The codetester window
-| |
-| |-- config config.* scripting stuff
-| |
-| |-- context The context module
-| |
-| |-- dcc This module implements the whole DCC protocol.
-| | Windows, transfer threads etc: everything is here.
-| |
-| |-- dialog dialog.* scripting stuff
-| |
-| |-- editor The scripting editor core widget.
-| |
-| |-- eventeditor The event editor window
-| |
-| |-- file file.* scripting stuff
-| |
-| |-- filetransferwindow The file transfers window
-| |
-| |-- fish FiSH IRC encryption support
-| |
-| |-- help The help browser
-| |
-| |-- http http.* scripting stuff
-| |
-| |-- ident A small ident daemon
-| |
-| |-- iograph an input/output graph window
-| |
-| |-- lamerizer A crypt/text-transformation engine
-| |
-| |-- language A language detector module
-| |
-| |-- links The links window
-| |
-| |-- list The channel list window
-| |
-| |-- log log.* scripting stuff
-| |
-| |-- logview The logviewer window
-| |
-| |-- mask mask.* scripting stuff
-| |
-| |-- math the math module
-| |
-| |-- mediaplayer the media player module
-| | This is an interface to some multimedia programs
-| | (amarok, audacious, juk, xmms, winamp) and libs
-| | (amip, DBus). This replaces the old mp3player
-| | module. You'll need to satisfy some dependencies
-| | to enable support for a specific program/library,
-| | by example on unix libxmms.so is
-| | loaded at runtime. On windows there is also
-| | a gen_kvirc.dll plugin for winamp that needs
-| | to be loaded by the winamp program in order to make
-| | communications with KVIrc possible.
-| |
-| |-- mircimport A server entry importer from the mIRC's servers.ini
-| |
-| |-- my my.* scripting stuff
-| |
-| |-- notifier the notifier module creates a dialog that keeps you
-| | informed about new messages when KVIrc is minimized
-| |
-| |-- objects All the object oriented scripting stuff
-| |
-| |-- options The options dialog
-| |
-| |-- perl The perl scripting module
-| |
-| |-- perlcore The perlcore module
-| |
-| |-- popup popup.* scripting stuff
-| |
-| |-- popupeditor The popup editor window
-| |
-| |-- proxydb The proxy DB management stuff from KVS
-| |
-| |-- python The python scripting module
-| |
-| |-- pythoncore The pythoncore module
-| |
-| |-- raweditor The raw events editor window
-| |
-| |-- regchan regchan.* scripting stuff
-| |
-| |-- reguser reguser.* scripting stuff
-| |
-| |-- rijndael A crypting engine
-| |
-| |-- rot13 A crypt/text-transformation engine
-| |
-| |-- serverdb The server DB management stuff from KVS
-| |
-| |-- setup The module that is loaded when KVIrc is started
-| | for the first time. It contains the initial
-| | configuration wizard.
-| |
-| |-- sharedfile sharedfile.* scripting stuff
-| |
-| |-- sharedfileswindow The shared files window
-| |
-| |-- snd snd.* scripting stuff
-| |
-| |-- socketspy The socketspy window
-| |
-| |-- spaste spaste.* scripting stuff
-| |
-| |-- str str.* scripting stuff
-| |
-| |-- system system.* scripting stuff
-| |
-| |-- term The embedded terminal emulator (needs KDE)
-| |
-| |-- texticons Texticons handling functions module
-| |
-| |-- theme Theme management/package module
-| |
-| |-- tip The tip of the day
-| |
-| |-- tmphighlight tmphighlight.* scripting stuff
-| |
-| |-- toolbar toolbar.* scripting stuff
-| |
-| |-- toolbareditor The toolbar editor window
-| |
-| |-- torrent The torrent module
-| |
-| |-- trayicon The trayicon module
-| |
-| |-- upnp The UPnP management module
-| |
-| |-- url The url window
-| |
-| |-- userlist userlist.* scripting stuff
-| |
-| |-- window window.* scripting stuff
-| |
-| `-- zzz_afterlastmodule A dummy module used by the compilation
-| process to execute last-minute cleanup
-|
-|
-`-- dist/windows The directory for Windows builds
-
-As of 2004.05.26:
-[pragma@phoenix src]# cat $(find ./ -name \*.h) | wc -l
- 60189
-[pragma@phoenix src]# cat $(find ./ -name \*.cpp) | wc -l
- 164400
-
-As of 2008.04.26:
-[pragma@phoenix src]# cat $(find ./ -name \*.h) | wc -l
- 49663
-[pragma@phoenix src]# cat $(find ./ -name \*.cpp) | wc -l
- 237020
-
-As of 2009.09.01:
-[pragma@phoenix src]# cat $(find ./ -name \*.h) | wc -l
- 59081
-[pragma@phoenix src]# cat $(find ./ -name \*.cpp) | wc -l
- 244976
-
-As of 2010.01.02:
-[pragma@phoenix src]# cat $(find ./ -name \*.h) | wc -l
- 61101
-[pragma@phoenix src]# cat $(find ./ -name \*.cpp) | wc -l
- 254434
-
-As of 2012.07.01:
-[pragma@phoenix src]# cat $(find ./ -name \*.h) | wc -l
- 66672
-[pragma@phoenix src]# cat $(find ./ -name \*.cpp) | wc -l
- 271397
-
-As of 2015.08.24:
-pragma@photon:/src/pragma/kvirc-git/KVIrc$ cloc ./
- 5654 text files.
- 4080 unique files.
- 2882 files ignored.
-
-http://cloc.sourceforge.net v 1.60 T=7.61 s (417.3 files/s, 76656.1 lines/s)
--------------------------------------------------------------------------------
-Language files blank comment code
--------------------------------------------------------------------------------
-C++ 858 36407 63486 223125
-HTML 1317 257 0 129327
-C/C++ Header 518 7540 27983 34989
-make 75 7557 6406 19576
-CMake 383 2191 2944 15615
-Perl 5 317 263 2072
-Pascal 2 47 172 1267
- ^--- Pascal? Really?
-C 6 128 82 706
-Bourne Shell 7 139 113 581
-YAML 2 0 11 185
- ^--- ???
-Python 1 21 14 54
-DOS Batch 1 18 11 24
-XML 1 0 0 19
-CSS 1 1 3 12
--------------------------------------------------------------------------------
-SUM: 3177 54623 101488 427552
--------------------------------------------------------------------------------
-
-
--------------------------------------------------------------------------------
-The coding style
--------------------------------------------------------------------------------
-
-The coding style helps the reader a lot. In a large project you tend
-to forget the exact meaning of some functions or variables.
-A good naming convention makes the code "auto commenting": by looking
-at the name of a variable or function you can understand its type
-and guess its meaning and usage.
-Following these rules is not strictly mandatory (maybe with the
-exception of the first one) but it is highly appreciated.
-
-- INDENT WITH TABS (the only MANDATORY rule)
-
- Go back to the line above and read it again.
-
- INDENT, TABS.
-
- Tabs can be assigned any number of spaces in any decent source code
- editor.
-
- Actually 95% of the KVIrc code is indented in BSD/Allman style
- but the K&R style is also tolerated.
-
-- Try to use the following variable naming conventions
-
- g_* : global variables
- m_* : member variables
- no prefix : any other scope
-
- [prefix]pName : pointer to something named Name
- [prefix]iName : integer (signed) variable named Name
- [prefix]uName : unsigned integer
- [prefix]szName : string named Name
- [prefix]dName : floating point vars
- [prefix]eName : enumerated value variables
- [prefix]tName : kvi_time_t values
-
- i,j,k,tmp,aux,p : short names are used for short term variables
- like the temporaries used in functions.
- Do NOT name a member or global variable i.
-
- So finally:
-
- g_pApp is a global pointer to the application object
- m_pData is a member variable pointer to some data object
- m_szName is a string member variable named Name
- szPippo is a string variable named Pippo
- tmp is a short term temporary variable
- i,j,k are probably some short term iteration variables
- ...
-
-
-- Function names
-
- C++ class member functions
- Function names start with lower case letters. Each word except the first
- one should start with an upper case letter. Try to use descriptive names
- and not acronyms or shortcuts (unless they are really obvious).
- For example:
- fillUserList, setAutoDelete, joinChannel, markQueryAsDead ...
- Standalone C/C++ functions
- For standalone functions you can follow the C++ rule but the
- kernel-like syntax is also acceptable (all low case letters with
- underscore separators).
- If you're defining a widely used C function (maybe in kvilib)
- then adding a kvi_ prefix is also a good idea.
-
-- Class names
-
- The class names start with an upper case letter. In most cases
- there is a Kvi prefix and the rest follows the rule for function names.
- KviApp, KviConsole, KviWindow, KviStr, KviConfig, KviUserParser ...
-
- If possible, do not use "shortcut" names.
- Actually KviCommand is preferred over KviCmd unless the KviCmd class
- is REALLY widely used across the source (like KviStr for example).
-
- This helps a lot in remembering the class names: with the shortcuts
- you're often forced to open the corresponding header file to look up
- which letters have been left off...
-
- Structure names usually follow the same conventions.
-
-- Simple data types
-
- If you need to define a simple data type then something like kvi_typename_t
- is a good choice.
-
-- Preprocessor
-
- Preprocessor macros should be all uppercase with undescores separating
- words.
-
-- Comment the code
-
- You don't need to write poems: two lines describing what a function
- does will be enough.
- If a function is simple and its meaning is clear from its name
- then comments are not needed (this is why we're using expressive
- variable and function names).
- Single line C++ comments are preferred over the C style comments.
-
--------------------------------------------------------------------------------
-Coding tips
--------------------------------------------------------------------------------
-
-- Don't use C++ exceptions: they make the code unmanteinable in the long term
-
-- If you need to access some system function then first look if there is
- an existing kvi_* wrapper and use that one instead. The wrapper is there
- because of portability issues.
-
-- Don't use the STL features: anything that you need IS either in the Qt library
- or in kvilib.
-
-- Sources include some arch/compile specific defines:
- - Windows compilation (using MS Visual c++ projects) has COMPILE_ON_WINDOWS #defined;
- - Windows compilation (using Cmake+MinGW) has COMPILE_ON_MINGW #defined;
- - a unix* compilation with KDE support has COMPILE_KDE_SUPPORT #defined;
- - a MacOs compilation (using gnu tools) has COMPILE_ON_MAC #defined;
-
-- Modularize, abstract, modularize, abstract ...
-
-- When your objects need to be allocated with new in a module and destroyed
- in the kvirc core or kvilib (or viceversa) then derive the class from
- KviHeapObject that will provide the new and delete operators.
- This is a workaround for Windows that uses a separate
- heap for each executable module (*.exe or *.dll). Data allocated on one
- heap must be freed on the same heap.
-
--------------------------------------------------------------------------------
-The strings
--------------------------------------------------------------------------------
-
-This is the list of the various string types used in KVIrc.
-
-(const) char *
- The classic C null terminated string.
-
-KviStr
- The basic KVIrc string class. It has been first implemented as a hack
- around various bugs of the original QString class (the NOT unicode one
- that now has been renamed to QCString). It has the property of being
- always non null and it has no reference counting.
- Actually many occurrences of this string are replaced by QString
- (especially in GUI modules) to handle correctly the UNICODE character set.
-
-QString
- The Qt UNICODE string. See the Qt documentation for details.
- This is the string that should be mostly used in KVIrc in the near future.
- Take care: in general it is NOT null terminated.
- There is a KviQString wrapper namespace (#include "kvi_qstring.h") that
- adds some missing functionality. For example,
- KviQString::sprintf(qstring_buffer,qstring_format,...)
- allows formatting a QString with a format string that is a QString itself
- (and thus it is UNICODE).
- QString uses reference counting. An assignment of a QString to another
- QString does NOT make an immediate copy, it just increases the reference
- count instead. The copy is made at the first modification of one of the
- two strings (the operation is called "detaching"). While generally this
- is not an issue, you must take care when passing QString objects between
- concurrent threads.
-
-(const) QChar *
- The array of Qt chars. This is usually obtained by calling
- KviQString::nullTerminatedArray() which itself is a hack...
- This array is used in some functions that were written for
- const char * strings and haven't been ported completely.
-
-QCString
- The Qt non UNICODE string. See the Qt documentation for details.
-
-The Goal:
- - Use KviStr only where it is strictly needed (for protocol or performance
- related issues). One of such places is the IRC server parser (but there
- are more).
- - Use QString everywhere in the user interface and in any other
- place where KviStr is not strictly needed. Save and restore
- strings in the UTF8 format.
- - Get rid of ALL occurrences of KviWStr and kvi_wchar_t * : DONE on 2004.11.02
-
--------------------------------------------------------------------------------
-Strings and localisation
--------------------------------------------------------------------------------
-
-Any string that is shown to the user should be translated to the user's local
-language. To make a string translaetable use one of the __tr* macros.
-The most common one across the sources is __tr("string") that returns
-a const char * translation of "string".
-Actually __tr() is being phased out in favor of __tr2qs() that returns
-a QString instead of a const char * pointer.
-The arguments of these macros are extracted from the sources by the
-gettext program and are used to build the translation hashes loaded at runtime.
-Remember that the arguments must be string constants and not variables.
-
-The list that follows describes briefly the localisation macros
-defined in kvi_locale.h
-
-CSTRING is an US-ASCII null terminated C string.
-
-__tr2qs(CSTRING) : translates CSTRING to a QString &
-__tr(CSTRING) : translates CSTRING to another CSTRING
- This should disappear in favor of __tr2qs
-
-These macros are NOT THREAD SAFE: you can't call them from non GUI threads.
-If you need to translate some string in a slave thread (probably when
-sending a message event to the main GUI thread) then you need to use the
-__tr_no_lookup() (on the slave side) and __tr_no_xgettext() (on the master side).
-
-
--------------------------------------------------------------------------------
-Anatomy of an IRC context
--------------------------------------------------------------------------------
-
-
-KviIrcContext [persistent set of resources]
- |
- +--KviIrcConnection [changed at every connection, with (almost) all the children]
- | |
- | +--KviIrcConnectionTarget [target server, proxy to use and address to bind]
- | | |
- | | +--KviIrcServer
- | | |
- | | +--KviProxy [null if not using a proxy]
- | |
- | +--KviIrcLink [high level network link: trasmits and receives IRC messages]
- | | |
- | | +--(KviIrcConnectionTargetResolver) [kickstarts the connection]
- | | |
- | | +--KviIrcSocket [low level network link: transmits packets of bytes]
- | |
- | +--KviPtrList<KviChannel> [active channels]
- | |
- | +--KviPtrList<KviQuery> [active queries]
- | |
- | +--KviIrcConnectionUserInfo [nick, user, host, local ip...]
- | |
- | +--KviIrcConnectionServerInfo [name, supported modes, supported flags...]
- | |
- | +--KviNotifyListManager [kvi_notifylist.h]
- | |
- | +--...
- |
- +--KviConsole [persistent]
- |
- +--(KviLinksWindow), (KviListWindow) [other may-be-persistent context windows]
- |
- +--KviPtrList<KviChannel> [dead channels]
- |
- +--KviPtrList<KviQuery> [dead queries]
- |
- +--...
-
-KviIrcContext is the set of resources used to deal with a single irc
-connection. An irc context is persistent and reusable until the user decides to
-destroy it. The irc context owns the console window (KviConsole) that is
-strictly tied to the lifetime of the context itself. The console is created
-when the IRC context is created and when the user closes the console then
-the IRC context is destroyed too.
-In earlier KVIrc versions there was only KviConsole that did the role of both
-KviConsole and KviIrcContext, but since the class has grown in complexity
-to a point where it started to be unmaintainable the splitting has been unavoidable.
-
-KviIrcConnection represents an IRC connection: it is the highest protocol
-implementation on the KVIrc's networking stack. A KviIrcConnection
-owns a KviIrcLink (that is the lower level). KviIrcConnection is NOT reusable:
-it lives only for the lifetime of a single IRC connection inside the parent
-irc context. KviIrcConnection talks to the parent's KviConsole.
-The connection target is a KviIrcConnectionTarget class and it contains
-the KviIrcServer, KviProxy and the eventual bind address. The owned target
-is passed down the networking stack to the lower level classes.
-The connection contains also the lists of queries and channels currently opened.
-When a channel or query is marked as dead then its ownership is passed to
-the KviIrcContext (it becomes permanent between two connections).
-The connection owns a lot of other interesting classes to take a look at:
-KviIrcConnectionUserInfo, KviIrcConnectionServerInfo, KviNotifyListManager...
-
-KviIrcLink is the middle level of the KVIrc's networking stack.
-It handles host lookups, the connection startup and data stream input and output.
-This is meant to be a "pluggable" class: it should be flexible enough to allow
-inheritance and protocol overriding. KviIrcLink owns and manages the KviIrcSocket.
-It takes care of extracting IRC protocol messages from the KviIrcSocket raw data
-stream and of formatting the outgoing messages by adding the trailing CRLF.
-The host lookups are done by the means of KviIrcConnectionTargetResolver.
-
-KviIrcSocket is the lowest level of the KVIrc's networking stack.
-It manages the connection through proxies and accesses the system level
-socket directly. The incoming data stream is passed to KviIrcLink::processData()
-and the outgoing data stream is received through KviIrcSocket::sendPacket()
-KviIrcSocket also manages the outgoing send queue and implements the
-"anti-server-flood" algorithm.
-This class doesn't know anything about the IRC protocol: it just receives
-and sends out raw data packets!
-
-
-.......
-
-kvirc (KviApp)
- |
- +-frame window (KviFrame)
- |
- +-irc_context 1 (KviIrcContext)
- | |
- | +-irc_connection (KviIrcConnection)
- | | |
- | | +-list of channels
- | | |
- | | +-list of queries
- | | |
- | | +-irc_link
- | |
- | +-console (KviConsole)
- |
- +-irc_context 2
- | ...
-
-
-KviConsole <-> KviIrcContext
-
--------------------------------------------------------------------------------
-Important global variables
--------------------------------------------------------------------------------
-
-All these variables are almost alwas set (and point to a real alive object).
-The only critical moments where these variables must be double checked
-are the startup phase and the shutdown phase.
-Do not attempt to change the values of these variables unless you REALLY know
-what you're doing.
-
-
-KviApp * g_pApp;
- The one and only application object
- Declared in "kvi_app.h"
- Always set.
-
-KviServerParser * g_pServerParser;
- The one and only server parser
- Declared in "kvi_sparser.h"
- Almost always set (critical phases at early startup and late shutdown)
-
-KviFrame * g_pFrame;
- The one and only main window
- Declared in "kvi_frame.h"
- Almost always set (critical phases at early startup and late shutdown)
-
-KviWindow * g_pActiveWindow;
- The one and only active window
- Declared in "kvi_window.h"
- Almost always set (critical phases at early startup and late shutdown)
-
-Note for C++ purists: In fact we could be using the protected singleton pattern
-on most of these variables and access it by the means of Class::instance().
-The global var names save some typing and can be written by any other class
-without having to worry about friends or write-access functions.
-
--------------------------------------------------------------------------------
-The charset mess
--------------------------------------------------------------------------------
-
-IRC is not UNICODE :/ ... sigh ...
-The fact is that every user wants his local encoding to be used.
-KVIrc tries to be even smarter and allow a different encoding for each window.
-This is a difficult task since we simply can't translate the strings that
-come from and go to the server just at the socket level.
-
-User -> Server
-
-We need to allow the local user to write UNICODE data, encode it to the
-proper charset (again depending on the window the text was typed in) and
-send it down to the server.
-When the user writes commands this is going to become a little mess since
-nicknames, channel names or usernames may or may not be encoded in the
-encoding of the current window.
-
-Server -> User
-
-We need to carry the plain 8bit data (in whatever encoding it is) from the
-server up to the GUI level, then convert to UNICODE by choosing the proper
-decode routine just when we know in which window the text is going to be
-displayed. In (non RFC) servers that allow encoded characters in nicknames
-this is going to become a real mess since the same 8bit nick may result in
-a different UNICODE string depending on the window it was "decoded" on.
-
-(Partial) Solution:
-- Each server has an encoding set. If empty then the network encoding is used.
-- Each network has and encoding set. If empty then the default system encoding
- is used.
-- The system encoding is set by the user. If empty then the encoding is guessed
- from the user's locale.
-- Each window (with the exception of the console) has its own encoding used
- ONLY for private messages and notices. This allows one to join
- a channel with a "special" encoding and still see what's being written in.
- The real utility of this last feature still needs to be evaluated.
-
--------------------------------------------------------------------------------
-Output levels
--------------------------------------------------------------------------------
-
-There are few macros that specify the output level that the user desires.
-These marcors are defined in "kvi_options.h"
-
-_OUTPUT_MUTE: returns true if the user wants KVIrc to spit less useless output
- possible. The goal of the user is to chat on IRC so print only data
- relevant to this. If stuff goes wrong then print the errors in
- short forms (one liners) and do it only in case of serious ones.
- Don't print any transient error or warning.
- Usage: if(!_OUTPUT_MUTE)output...
-
-_OUTPUT_QUIET: returns true if the uses wants KVIrc to spit less output than
- normal. The goal of the user is to chat visually on IRC so print
- only data relevant to this.
- Usage: if(!_OUTPUT_QUIET)output...
-
-<normal level>: Reference output level: here stuff is printed unconditionally.
- Usage: output...
-
-_OUTPUT_VERBOSE: returns true if the users allows KVIrc to print some
- additional output. This is intended mainly for scripters and
- curious pepole that want detailed information about what is going
- on around them.
- Usage: if(_OUTPUT_VERBOSE)output...
-
-_OUTPUT_PARANOIC: returns true if the users allows KVIrc to print anything
- including debug info. This is intended mainly for developers.
- Usage: if(_OUTPUT_PARANOIC)output...
-
--------------------------------------------------------------------------------
-Rule for safe text output
--------------------------------------------------------------------------------
-
-If the format string you're going to output is not constant (i.e. it
-comes from the server) you MUST use KviWindow::outputNoFmt() instead
-of KviWindow::output().
-
-BAD:
- QString szText = pConnection->decodeText(msg.safeTrailing());
- pWindow->output(KVI_OUT_SOMETHING,szText); <--potential crash/security hole
-
-GOOD:
- QString szText = pConnection->decodeText(msg.safeTrailing());
- pWindow->outputNoFmt(KVI_OUT_SOMETHING,szText); <--faster and no crashes
-
--------------------------------------------------------------------------------
-KVIrc (and script) versioning
--------------------------------------------------------------------------------
-
-- Standard definition
-
-The KVIrc versioning follows a really common standard: we use a
-string of numbers separated by dots with decreasing weight from left to right.
-
- <N1>.<N2>.<N3>.<N4>.....
-
-where each <NX> is a number.
-
-Theoretically there is no limit on the parts the version can be composed
-of but in fact we use either three or four part versions. The omitted
-parts on the right are implicitly assumed to be 0.
-
-The first part is called the major release number and it is bumped
-up only when really big changes occur in the source tree. A bump from N to N+1
-in the major version number means that a great milestone has been achieved
-and the software is really different from what it was in the moment
-when the major number was bumped from N-1 to N. This usually also means
-that the software might be somewhat incompatible with the previous major release.
-
-When the major number is bumped up all the following parts are reset to 0
-(and could be even temporarily omitted).
-
-The second part is called minor release number and it is increased
-more often than the major. A bump from N to N+1 in the minor version number
-means that an ordinary (small) development milestone has been achieved.
-Software versions with the same major and close minor numbers are likely
-to be totally compatible with each other.
-
-When the minor number is bumped up all the following parts are reset to 0.
-
-The third part is called (public) revision number and it is increased often.
-A bump from N to N+1 in the revision number usually means that a set of bugfixes
-or some new features have been included in the software. Compatibility
-should be assumed unless explicitly noted. Again, when the revision number
-is bumped up all the following parts are reset to 0.
-
-The fourth part is actually used only on the git tree and it is usually not
-present in the official public releases (it is assumed to be 0 for comparison
-purposes). It is called the "internal revision" number and when taken
-out of the version string it may assume a meaning on its own (but it's not
-required in fact). KVIrc uses the ISO sources date in the format YYYYMMDD for this
-number. The sources date number is defined in src/kvilib/config/kvi_sourcesdate.h
-and is also displayed by kvirc --version. Some packagers prefer to use the git
-revision number instead of the sources date. This is not "official" but it's
-still ok as long as it follows the "order-preserving" rule (see below).
-
-It is unlikely that you will find a KVIrc versioned with more than
-four numbers... but if you will (for some strange reason) then it will
-still follow the same rules: it will be increased for yet minor changes
-(two versions within a single day ?) and will be reset to (implicit)
-zero when the fourth part changes.
-
-- Comparison of version strings
-
-The comparison of two version strings is defined as follows.
-Let N1.N2.N3.N4.N5..... and M1.M2.M3.M4.M5..... be version strings.
-To find out which one is greater compare each couple of numbers Ni-Mi at the same
-position i (with the same weight) until Ni and Mi differ or both Ni and
-Mi are omitted. If both Ni and Mi are omitted then the version strings
-are equal, otherwise the greater version string is the one that
-contains the greater of the Ni - Mi couple. Easy, right ?
-
-This means that to compare 3.2.6.3.4 and 3.2.9 you first compare
-3 with 3 and find that they are equal. Then you compare 2 with 2
-and find that they are equal. Then compare 6 with 9 and find that
-they are different and 9 is greater. This allows you to say that
-the first version string is greater than the second.
-
-To compare 3.2.6.1 with 3.2.6 you compare 3 and 3, 2 and 2, 6 and 6
-and 1 with (implicit) 0, that tells you that the first version string
-is greater than the second one.
-
-This also means that 3 and 3.0.0 are assumed to be EQUAL since
-the algorithm above finds that at the fourth comparison step
-both numbers are omitted (thus zero from there up to infinity).
-
-This comparison function is monotonically increasing or in
-other words order-preserving. This is a *requirement* for a consistent
-versioning scheme.
-
-- Package versioning schemes with letters
-
-It is common for packages to add letters to some of the parts
-of the version string. This causes the string to lose the
-advantage of being universally comparable but it might still
-define a consistent scheme for some package line. In the case
-that letters are added to a version string (like 3.2.6.git10)
-we say that it is comparable only to the version strings
-that have the same letter pattern: 3.2.6.git10 and 4.3.1.git344
-are comparable but 3.2.6.git10 and 3.2.6.cvs15 are not.
-For comparable strings we strip the letters in order to make the comparison.
-
-- Stable and unstable versions
-
-Historically our numbering scheme didn't tell which versions were stable
-and which are unstable. The versions were declared to be (more or less) stable
-by other means (read: the mailing list and the www site).
-It is true, though, that stable versions were likely to have
-more numbers omitted (3.5 looks more "stable" than 3.4.5.43),
-but in the end this wasn't a strict requirement.
-
-However, the request for a more standardized versioning scheme is quite
-recurrent so we *might* try to use the following one from now on:
-
- + Major versions have no scheme. Developers decide when to increase them.
- When a major number increases the minor and patchlevel restart from 0.
-
- + Even minor versions are used for stable releases with major changes.
- Odd minor versions are used for trunk git development.
-
- + For stable (even) minor numbers:
- + Even patchlevel versions are used for public releases
- + Odd patchlevel versions are used for git development
-
- + For unstable (odd) minor numbers
- + The patchlevels are increased freely by the developers when a
- particular milestone is reached.
-
-So:
-
- 4.1.0 is an unstable git build that comes from git HEAD
- 4.1.3 is an unstable git build that comes from git HEAD that reached some
- kind of third milestone
- 4.2.0 is a stable with major changes with respect to 4.0.0
- it still comes from git HEAD
- 4.2.1 is a work-in-progress build that comes from git branch 4.2
- 4.2.2 is a stable with bugfix changes with respect to 4.2.0
- it comes from git 4.2 branch
- 4.2.3 is a work-in-progress build that comes from git branch 4.2
- 4.2.4 is a stable with bugfix changes with respect to 4.2.2
- it comes from git 4.2 branch
- ...
-
-Note that in stable stuff both the minor AND the patchlevel are even numbers.
-
-Visually, for a single major number N, the development might resemble the
-following scheme (R means 'stable public release'):
-
- R R R
-trunk: N.0.0--N.1.0--N.1.1--N.1.2--N.1.3--N.2.0--N.3.0--N.3.1--N.4.0--N.5.0
- | | |
-branch: +--N.0.1--N.0.2--N.0.3--N.0.4 +--N.2.1--N.2.2 +--N.4.1-...
- R R R
-
-- Official, semi-official and unofficial packages
-
-We tend to have three types of packages. The official packages are the
-ones considered to be stable and released on the site in all the supported forms
-(source and various kinds of binaries). The official releases are also announced
-in tracker sites and spread between distributors. Since "most" stable, the
-official releases are the ones likely to be included in the OS distributions.
-The official packages have md5 sums and a gpg signature of one of the KVIrc
-developers (with a public key available from a "trusted" location such
-as the KVIrc web site).
-
-The semi-official packages are snapshots of the source tree made when
-some important changes have occurred. They are announced on the KVIrc site
-only and are likely to be stable (but are not declared officially to be so).
-The semi-official packages usually are at least in the source form but
-there are likely to be some binaries available too.
-We do not sign the semi-official packages but it's still somewhat
-granted that WE (the KVIrc Development Team) make them and thus the
-source can be trusted.
-
-The unofficial packages are random snapshots of the git source tree made
-by anyone who wants to do it at any time. They are not announced on the KVIrc
-web site (but might be uploaded to ftp.kvirc.net) but rather announced and available
-at some other internet location. Since we always try to keep the git
-tree clean and compilable they should work fine but there is no guarantee.
-There is no rule for the unofficial package format: there might be source-only
-or binary only packages. We *suggest* to use the four part version string format
-but in fact they might contain third party patches and even follow their own
-derived version numbering scheme. The general rule is: we don't control
-the unofficial packages and don't provide support if they don't compile/work
-as expected the user/packager is on his own.. but we'll try to be helpful,
-if possible :)
-
-
--------------------------------------------------------------------------------
-Code documentation
--------------------------------------------------------------------------------
-
-KVIrc is LARGE. We need to start documenting the source code if we want
-to understand our own code in a year from now and if we want help from
-others.
-
-Use Doxygen.
-
-There is a Doxyfile in the admin subdirectory. You can either
-run doxygen from there or simply type "make devdocs" from the
-top directory of the source tree.
-Then take a look at doc/api/html/annotated.html
-
-Let's also try to document the code we write: the doxygen syntax
-is trivial and you can find a 5 minute tutorial by googling.
diff --git a/doc/scripting.faq.txt b/doc/scripting.faq.txt
deleted file mode 100644
index 5f5b532be..000000000
--- a/doc/scripting.faq.txt
+++ /dev/null
@@ -1,48 +0,0 @@
--------------------------------------------------------------------------------
-Q: What is a callback (command) ?
-
-A: A callback is a command or set of commands that is called by KVIrc in
- response to an event. It is similar to an event handler; the difference
- is that the event handler is usually static, the callback is "created"
- at runtime instead.
- Consider the command exec (see /help exec); its syntax is as follows:
-
- exec(<commandline>[,<magicparams>])
- {
- <callback>
- }
-
- The <callback> is a list of commands that will be called by KVIrc when
- the <commandline> has been executed and the slave process has printed
- some data on its stdout.
-
-
--------------------------------------------------------------------------------
-Q: How can i print on a window the result of an external command like nmap
- or uname ?
-
-A: Starting from version 3.0.0 KVIrc supports (again) the /exec command.
- The commandline you're looking for might be something similar to:
-
- exec("uname -a"){ echo $1; };
-
- If you want to say the result to a channel you may use say instead of echo
-
- exec("uname -a"){ say $1; };
-
- For nmap you might consider using the -e switch too in order to see
- the errors printed on stderr.
-
- exec -e ("nmap -sS -p 1-1024 somehost"){ say $1; }
-
- Exec is a really flexible command, it can process the slave output in blocks
- or as a whole and can write data to the slave too. See /help exec for
- more details.
-
--------------------------------------------------------------------------------
-Q: KVIrc crashes when I use a commandline like the following:
- alias(identify){ identify password; }
-
-A: This is infinite recursion: a programming error.
- Take a look at http://en.wikipedia.org/wiki/Infinite_loop, learn
- that once for all and fix your script.
diff --git a/doc/themes.howto.txt b/doc/themes.howto.txt
deleted file mode 100644
index 417332354..000000000
--- a/doc/themes.howto.txt
+++ /dev/null
@@ -1,132 +0,0 @@
-Starting from the release 3.0.0 KVIrc supports user interface themeing.
-
-A KVIrc theme is basically:
-- a subset of the options that controls the visual appearance
- of the user interface
-- a set of icons that override the default ones
-
-The skeleton for a new theme can be produced by simply saving your current
-theme. Open the options dialog and go to the Look & Feel / Theme page.
-Click on "Save current theme", enter the description in the dialog that
-appears and select "OK". The theme skeleton is now saved in your home
-directory.The confirmation dialog
-should have told you exactly where: it should be a directory like
-$HOME/.config/KVIrc/theme/<yourthemename>-<yourthemeversion>.
-Cd to that directory and look around. You should see two configuration *.kvc
-files and a lot of *.png images.
-
-themeinfo.kvc contains the information that the user can see when browsing
-the themes in the options dialog. The format of this file should be obvious:
-you can edit it manually if you want to make some changes.
-(The %20 strings are url-encoded spaces, KVirc will accept also plain spaces).
-
-themedata.kvc contains the visual settings. It looks more or less like this:
-
- ....
- uintGlobalTransparencyParentFadeFactor=10
- boolObtainGlobalBackgroundFromKde=false
- pixmapLabelBackground=
- msgtypeMotd=30,1,100,1,1
- fontIrcView=helvetica,10,5,50
- colorIrcToolBarAppletBorder=180,180,180
- boolUseGuiEffectFadeMenu=false
- pixmapGlobalTransparencyBackground=pixmapGlobalTransparencyBackground.png
- pixmapTreeTaskBarBackground=
- iccolor2=0,0,200
- mirccolor13=200,0,200
- ....
-
-You can *carefully* edit it by hand, if you wish.
-Each option starts with a prefix that defines the "type" of that option.
-
-pixmap: defines an image and thus should contain an image path (see below)
-
-color: defines a user interface color and is an R,G,B triplet
-
-font: defines a user interface font: you usually need to change only the
- first two values: font family and size.
-
-msgtype: defines the icon, text color, background color, log level and
- alert level of the messages
-
-uint: is an unsigned integer value
-
-bool: is a boolean value: true or false
-
-mirccolor: defines the colors used by the CTRL+K escape and is an
- R,G,B triplet like color.
-
-iccolor: defines the default color of an IRC context and is again an
- R,G,B triplet.
-
-Hints:
- - When changing the pixmap entries remember to use filenames
- without path. KVIrc will lookup the filenames in the directory
- of your theme.
-
- - The options stringIconThemeSubdir reflects the name of the
- directory in which the theme images are stored.
- If you change the directory name, you must also change this option.
-
-The theme directory contains also a set of *.png files.
-KVIrc will load these files instead of the default ones shipped in the
-distribution. You can modify/replace them, but keep in mind the
-following simple rules:
- - you can't modify the image size: if you do it,
- the images will look bad
- - the image format must be *.png: it is the only
- format granted to be loaded by all the versions of KVIrc.
-
-If you don't want to "override" an image (and thus you want to leave
-the "default" one) you can delete it from the theme directory. KVIrc will
-fallback to the default image shipped in the distribution.
-
-If you look at the global kvirc installation directory (usually
-/usr/local/share/kvirc/version/pics/) you will notice that there are other
-images that KVIrc loads. You can override each image by placing your version
-with the same name in your theme directory.
-
-Hints:
- - All the small icons have a meaning and a name:
- you should reflect it when painting.
- This small script will show you the associations between
- the icons and their names:
-
- %i = 0
- do {
- %name = $iconname(%i)
- echo The icon by id %i is named %name
- %i++
- } while(%name != "")
-
-------------------------------------------------------------------------------
-Review this block, is this applicable in 4.x/5.x?
-
- - The id's of the icons are just their ZERO_BASED indexes.
- The kvi_smallicon_<number>.png files are numbered in increasing
- order and contain 16 images each one. kvi_smallicon_00.png
- contains images from 0 to 15, kvi_smallicon_01.png contains images
- 16 to 31 etc... Thus the third icon in kvi_smallicon_02.png
- has id (2*16)+(3)-1 = 34.
-------------------------------------------------------------------------------
-
-
-
-What happens when a user installs a theme
------------------------------------------------------------------------------
-
-When a user attempts to install a theme from the options dialog,
-KVIrc reads the themedata.kvc file and applies all the visual settings.
-This is an one-time action: the settings are applied only once from the
-themedata.kvc file and then are saved to the user's configuration files.
-In this way the user can alter the theme by freely changing the individual
-settings. One of the applied options is stringIconThemeSubdir that contains
-the directory of the theme images. KVIrc uses this option to lookup the
-image files before looking at any other directory. If the image file is found
-there, it is loaded and used, otherwise KVIrc falls back to the images
-shipped in the distribution.
-
-
-Have fun :)
-
-Szymon Stefanek
diff --git a/doc/translations.howto.txt b/doc/translations.howto.txt
deleted file mode 100644
index fe811fdc6..000000000
--- a/doc/translations.howto.txt
+++ /dev/null
@@ -1,157 +0,0 @@
-This mini-howto describes the procedure for translating KVIrc in a new language.
------------------------------------------------------------------------------------
-
-Step 0: Getting the right sources.
-
-First of all you need the Git version of KVIrc.
-To obtain the Git version you can follow the instructions on
-http://www.kvirc.net/?id=git
-
-The translation stuff is in kvirc/po .
-
-
-Step 1: Initialize the build environment
-
-Enter the directory containing the KVIrc code and follow the doc/INSTALL*
-documentation on how to run CMake to generate the needed Makefiles.
-
-
-
-Step 2: Finding out your language code
-
-You must find out the contents of your language code.
-Usually this is a string formed of at least two letters and it
-can be found by examining the contents of your $LANG shell variable
-or by looking at http://translation.sourceforge.net/HTML/teams.html
-Examples of such codes are "it", "en", "hu" or "pt_BR"
-
-
-
-Step 3: Generating the list of messages to translate
-
-You must perform this step only if it is the first time that KVIrc is translated
-into your language. If you're going to update an existing translation then
-you can jump directly to step 4.
-
-Enter your build directory and run this command to extract the messages from the
-sources:
-
-# make messages-extract
-
-A series of .pot files will be created in the subdirs of build_directory/po/
-Each file refers to a specific component of KVIrc: eg. the main translation file
-is located in build_directory/po/core/kvirc/kvirc.pot
-Create a copy for each of these files named kvirc_xxx.po where xxx is your
-language code found in step 2.
-
-# cd po/core/kvirc
-# cp kvirc.pot kvirc_xxx.po
-# cd ../kvs
-# cp kvs.pot kvs_xxx.po
-# cd ../../modules/about
-# cp about.pot about_xxx.po
-# cd ../modules/addon
-# cp addon.pot addon_xxx.po
-
-and so on for all the other modules; you are not forced to translate all the
-files at once, but creating the files skeleton for all components is recommended.
-
-
-
-Step 4: Translating the messages
-
-If you just followed step 3 then you have just created the *_xxx.po (eg.
-kvirc_it.po) files where xxx stands for your language code (found in step 2).
-If you jumped directly here from 2 then you need to find the existing
-*_xxx.po files in the kvirc/po subdirectories.
-If no such files exist for your locale, you probably missed to create them in
-step 3.
-
-You can translate *.po files using a simple text editor (that _have_ to support
-the UTF-8 encoding), but it's strongly advised that you use a translation software
-such as lokalize for Linux/KDE or poedit for Windows.
-
-Note on the format of the translation files:
-The *.po files contains a set of strings like the following one:
-
-#: /path/to/the/file/which/contains/the/string: line number
-msgid "The original English message"
-msgstr "The translation goes here"
-
-The msgid is the original message that needs to be translated
-and msgstr is the translation (that will be initially empty, when
-the kvirc_xxx.po file is created).
-
-The msgid can contain html tags, escapes like "\n" and format strings
-like "%s". You MUST match the tags, escapes and format specs in the msgstr
-strings. Keep special attention to the format specifications (%s, %W,
-%Q...)..
-They must remain EXACTLY the same order as in the msgid: exchanging the
-order or writing a wrong format spec will lead to crashes sooner or later.
-
-
-
-Step 5: Adding the translation to the install system
-
-Once you have translated some strings you can try to run the translation in
-KVIrc. If you are updating an existing translation then you can jump
-directly to step 6.
-
-You need to force the build system to pick up your newly created translation
-files and compile it. This is again an one time step. You'll just need to
-clean your CMakeCache.txt (located in your build directory) and re-run CMake
-again for it to pick up the new translation file, then build KVIrc as usual.
-When it has finished building, move to the next step.
-
-
-
-Step 6: Trying the translation
-
-Run make and wait until it finishes.
-Ensure the $LANG environment variable is set to the correct locale, and run
-KVIrc
-
-# export LANG="xxx"
-# kvirc
-
-KVirc should then pick up your translation file and use it.
-
-
-
-Step 7: Updating the translation when the sources change
-
-In the process of KVIrc development, new message strings gets added inside the
-source files, while some others can change or even get removed.
-When you do a Git update to obtain the latest sources you should then enter your
-build directory and run:
-
-# make messages-update
-
-This procedure will update your *_xxx.po files with the new messages and mark the
-old messages as either fuzzy or invalid.
-The invalid entries must be re-translated completely again while the fuzzy entries
-have minor changes and can be probably adjusted in few seconds.
-
-
-
-Misc notes:
-
-
-If you're in doubt about some translation, you could take a look at how
-similar sentences have been translated in the KDE *.po files, or in other
-software. If you need some further help, contact us on our mailing list or on
-irc (irc://irc.freenode.net/#KVIrc).
-
-Since many of the modules have their own translation files then
-the procedure above may be repeated for the po/modules/*/ subdirectories.
-Anyway you are not forced to translate all the files at once: a partial
-translation will work anyway.
-
-When you're satisfied with your translation you may send your pull request for the
-*.po files to KVIrc Github project https://github.com/kvirc/KVIrc or send the *.po
-to the KVIrc mailing list asking for inclusion in Git. If you want to maintain the
-translation in the future then you may also apply for a Github account.
-
-
-Happy translating :)
-Szymon Stefanek
diff --git a/doc/translations.spanish.notes.txt b/doc/translations.spanish.notes.txt
deleted file mode 100644
index 1acc70b42..000000000
--- a/doc/translations.spanish.notes.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-Notes for Spanish translators - wodim - August 18 2011
-===============================================================================
-
-This is a list of notes for myself and for the possible future Spanish
- translators and therefore it's written in Spanish. Sorry.
-
--------------------------------------------------------------------------------
-
- Normas generales
- ----------------
-
-- Aunque por lo general es preferible usar un tono cercano, se debe usar «usted»
- en lugar de «tú» ya que ésta es la única manera de poder tener una traducción
- neutral para los países «voseantes» (Argentina, ...).
-- La mayoría de las frases de los títulos de ventana, botones, etc está en el
- estilo de mayúsculas llamado «título», muy usado en inglés:
- Theme Settings
- New Connection to
- Tip of the Day
- Puede parecer tentador, pero esto *jamás* debe traducirse como tal al español.
- Ha de pasarse todo a minúsculas. La traducción correcta sería:
- Opciones del tema
- Nueva conexión a
- Consejo del día
-- Evitar el pretérito simple compuesto, su uso da problemas de
- internacionalización y alargará la traducción inútilmente:
- (MAL) La conexión ha fallado
- (BIEN) La conexión falló
-- Evitar usar el gerundio:
- (ORIGINAL) Error connecting to the server
- (MAL) Error conectando al servidor
- (BIEN) Error al conectar al servidor
-- Muchos mensajes de error de KVIrc están escritos en primera persona, éstos han
- de ser pasados a la tercera persona a la hora de traducir:
- (ORIGINAL) I couldn't connect
- (MAL) No pude conectar
- (BIEN) No se puede conectar
- (BIEN) Error al conectar
-- Por lo general los anglicismos y palabras técnicas no han de ser traducidas.
-- Las palabras «zombie» jamás han de usarse:
- (MAL) Checar, salvar, accesar, resetear
- (BIEN) Comprobar, guardar, acceder, reiniciar
-- Ciertos términos son ofensivos en algunos países y han de ser evitados:
- (MAL) Abortar, coger, correr
- (BIEN) Cancelar, elegir, ejecutar
-- «Por favor» se omite.
-- Es muy importante mantener las mayúsculas en los acrónimos o sustantivos
- propios:
- (MAL) Dbus, Kvirc, Ssl
- (BIEN) DBus, KVIrc, SSL
-- Los nombres de los días de la semana, de los meses y de los idiomas no van en
- mayúscula en español, en inglés sí. Hay que vigilar esto a la hora de
- traducir:
- (ORIGINAL) Today, August 13, I'm learning English.
- (MAL) Hoy, 13 de Agosto, estoy aprendiendo Inglés.
- (BIEN) Hoy, 13 de agosto, estoy aprendiendo inglés.
-- Normalmente la traducción se ha de adherir lo máximo posible al original en
- inglés, pero si una frase suena «rara», debe ser formulada con otras palabras.
-- Al detectar un error gramatical u ortográfico en el texto original en inglés,
- es muy conveniente dar aviso de ello para que éste pueda ser arreglado.
-
- Nomenclatura
- ------------
-
-- Ban: ban. No se traduce, la única traducción posible es «prohibición» y suena
- muy mal, aparte no parece tener sentido en el contexto.
-- Lag: lag. Tampoco se traduce, «retraso» tiene connotaciones negativas en
- castellano.
-- Gender: sexo, nunca «género».
-- Click: clic, jamás «click».
-- OK: Aceptar, nunca «OK».
-- Nickname: nick, nunca «nombre» ni nada similar. No se debe usar «alias» para
- evitar confusiones con el sistema de scripting.
-- Machine, host: equipo. Nunca «máquina» o «PC»; jamás «ordenador».
-- Notice: notice. No se traduce. Jamás «noticia».
-- Query: privado, en caso de verbo:
- (ORIGINAL) Query %s
- (ESPAÑOL) Abrir privado a %s
-- Join: entrar. Nunca «unirse»:
- (ORIGINAL) Join Channels...
- (ESPAÑOL) Entrar en canales...
- (ESPAÑOL) Entrar a canales...
- También:
- (ORIGINAL) %s has joined %s
- (BIEN) %s entró a %s
- (MAL) %s se ha unido a %s
- En este último ejemplo incluso se ha evitado el uso inútil de un verbo
- pronominal.
-- Part, left: salir. Nunca «abandonar»:
- (ORIGINAL) %s has left %s: %s
- (ESPAÑOL) %s salió de %s: %s
- También:
- (ORIGINAL) Part message
- (ESPAÑOL) Mensaje de salida de canal
-- Quit: salir del IRC. Debe quedar claro que se sale del IRC en sí, es decir,
- que se desconecta totalmente del servidor, para evitar confusiones con las
- salidas de canal, que no suponen desconexión (dicho nick ya no es visible
- para el usuario en el canal pero sigue estando conectado, posiblemente en
- otros canales):
- (ORIGINAL) %s has quit: %s
- (BIEN) %s salió del IRC: %s
- (MAL) %s salió: %s
- También:
- (ORIGINAL) Quit message
- (ESPAÑOL) Mensaje de salida del IRC
-- Wallop: no se traduce. Es un acrónimo; significa «Warning ALL OPerators».
-- Ircop: no se traduce. Es un acrónimo; significa «IRC OPerator».
-- Kick: expulsar, expulsión, etc. Nunca «kickear», jamás «patear»; «expulsar»
- es perfectamente inteligible y no colisiona con otros conceptos.
-- Quiet: silencio, silenciado, etc.
-- Away: ausente, ausencia, etc. El concepto es «estado ausente», por ejemplo,
- «abandonado el estado ausente», «entrando en estado ausente», «ponerse
- ausente», o incluso «ausentarse».
-- Back: volver, regresar.
-- User-Friendly Command Line: modo amigable de la línea de comandos. Forma
- corta: «modo amigable».
-- Op: dar op. Jamás «opear».
-- Deop: quitar op. Jamás «deopear» o «desopear».
-- Voice: voz, (verbo) dar voz. Jamás «voicear», y ni muchisímo menos «vocear».
-- Devoice: ditto.
-- Choose: elegir. Evitar «escoger».
-- Aliases: alias. Jamás «aliases», ésta es una palabra de plural invariable.
-- Ignore: ignorar, usuario ignorado:
- (ORIGINAL) Ignore %s
- (ESPAÑOL) Ignorar a %s
- También:
- (ORIGINAL) Ignore List
- (ESPAÑOL) Lista de ignorados
-- Verbose: detallado, detalle. Jamás «verboso», aun existiendo esa palabra es un
- tecnicismo y como tal debe ser evitada:
- (ORIGINAL) Verbose output
- (ESPAÑOL) Salida detallada
- También:
- (ORIGINAL) Verbosity level
- (ESPAÑOL) Nivel de detalle
diff --git a/doc/ui-style.tips.txt b/doc/ui-style.tips.txt
deleted file mode 100644
index 2da01c80f..000000000
--- a/doc/ui-style.tips.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-## KVIrc Style Tips and Guidelines
-
-### Guidelines
-** When in doubt or in cases not covered below please consult the guidelines outlined in this section.
-
-- For capitalization guidelines see: https://techbase.kde.org/Projects/Usability/HIG/Capitalization
-- For tooltip guidelines see: https://techbase.kde.org/Projects/Usability/HIG/Tooltip
-- For usability and style guidelines see: https://techbase.kde.org/Projects/Usability/HIG
-
-Note: We refer to the KDE guidelines, this is mostly out of convenience (because writing our own takes time).
-
-
-### Dialog Windows
-- Titles should follow the capitalization guidelines above e.g. *Choose a Script File*, not *Choose a script file*.
-- For any non-modal dialogs (config dialogs, etc.), the name should have * - KVIrc* at the end.
- e.g. User Registration Wizard - KVIrc
- This also applies to wizards and file selection dialogs.
-- Define a title text that reflects the dialog type / message being conveyed, avoid vague titles.
-
-### Menu Bars
-- Menus have specific locations in menu bars, see the style guide above **.
-
-
-### Menus
-- Menu item(s) test should follow the capitalization guidelines above e.g. *An Item*, not *An item*.
-- Common items are:
- Cu&t
- &Copy
- &Paste
- Clear
- &Open...
- &Save As...
-
-- Items that open a dialog or otherwise require confirmation or additional
- information should have ellipses (...) immediately following their text with no spaces.
-
-
-### Selector Widgets
-- Bool selector labels should follow the capitalization guidelines above ** e.g. *Enable debug output*.
-- String/file path/integer selectors should have labels with a colon ":" appended at the end, e.g. *Comment:*.
-- QGroupBox text header should follow the capitalization guidelines above ** e.g. *Use Filtering For*.
-- Config selector tooltips sentences should terminate with a fullstop (period).
- Use formatting like <br> except for separating sections.
-
-
-### Buttons
-- Button text should also follow the capitalization guidelines above ** e.g. *A Button*, not *A button*.
-- Common labels are:
- &OK
- &Apply
- Cancel
- &New
- &Add...
- Re&move
- &Close
- &Browse...
-
-- Button QToolTips should be a description of its function, and end with a fullstop (period) like:
- Accept all changes, and close this dialog.
- Kill the current user. (use singular tense verb i.e. *Kill*, not *Kills*)
-
-- If the button has no text (i.e. KVIrc's existing server dialog), the tooltip should be the *Label text*
- however tooltip should follow the capitalization guidelines above **.
-- Tooltips that contain a header label, can contain <center><center> formatting, try to be consistent with the current style of similar dialogs.
-- Tooltips main text should be always left aligned, make use of newlines (/n) or line breaks (<br>) type formatting to improve sentence flow.
-- Buttons are best placed in a QHBox.
-- Try to keep button names short and concise.
diff --git a/doc/win32_run_cmake.bat b/doc/win32_run_cmake.bat
deleted file mode 100644
index 4a4e7451e..000000000
--- a/doc/win32_run_cmake.bat
+++ /dev/null
@@ -1,53 +0,0 @@
-@echo OFF
-
-REM =======================================================================
-REM Windows cmake launch helper script.
-REM See INSTALL-Win32.txt for more information about this file.
-REM =======================================================================
-
-REM =======================================================================
-REM INSTALLATION PATHS
-REM =======================================================================
-
-set QTPATH=C:\Qt\2010.05
-
-set MINGWPATH=C:\Qt\2010.05\mingw
-
-set CMAKEPATH=C:\Program Files\CMake 2.8
-
-set PYTHONPATH=C:\Python26
-
-set PERLPATH=C:\Perl
-
-set SUBVERSIONPATH=C:\Program Files\Subversion
-
-set ZLIBPATH=C:\Program Files\GnuWin32
-
-set OPENSSLPATH=C:\OpenSSL
-
-set GETTEXTPATH=C:\Program Files\GnuWin32
-
-set SEDPATH=C:\Program Files\GnuWin32
-
-
-REM =======================================================================
-REM REAL WORKS BEGIN HERE
-REM =======================================================================
-
-set PATH=%QTPATH%\qt\bin;%QTPATH%\bin
-set PATH=%PATH%;%MINGWPATH%\bin
-set PATH=%PATH%;%CMAKEPATH%\bin
-set PATH=%PATH%;%CMAKEPATH%\bin
-set PATH=%PATH%;%PERLPATH%\bin;%PERLPATH%\site\bin
-set PATH=%PATH%;%PYTHONPATH%
-set PATH=%PATH%;%SUBVERSIONPATH%\bin
-set PATH=%PATH%;%GETTEXTPATH%\bin
-set PATH=%PATH%;%SEDPATH%\bin
-set PATH=%PATH%;C:\Windows\System32
-
-SET CMAKE_INCLUDE_PATH=%CMAKE_INCLUDE_DIR%;%OPENSSLPATH%\include;%ZLIBPATH%\include
-SET CMAKE_LIBRARY_PATH=%CMAKE_LIB_DIR%;%OPENSSLPATH%\lib;%OPENSSLPATH%\lib\mingw;%ZLIBPATH%\lib
-
-REM The windows command prompt is hopeless...
-
-cmake.exe -G "MinGW Makefiles" ..
diff --git a/src/modules/about/AboutDialog.cpp b/src/modules/about/AboutDialog.cpp
index 2f177a253..a68ee717e 100644
--- a/src/modules/about/AboutDialog.cpp
+++ b/src/modules/about/AboutDialog.cpp
@@ -220,7 +220,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))
{