From f3a8feec98479b54b864022b9577c0dbe6762040 Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Sat, 3 Oct 2026 17:48:57 -0300
Subject: Replace zero pointer constants with nullptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 src/coff/base/cdb_parser.cpp                       |   2 +-
 src/coff/base/coff.cpp                             |   6 +-
 src/coff/base/coff_archive.cpp                     |   2 +-
 src/coff/base/coff_object.cpp                      | 144 ++++++++--------
 src/coff/base/coff_object.h                        |   2 +-
 src/coff/base/text_coff.cpp                        |   6 +-
 src/common/cli/cli_global.cpp                      |   4 +-
 src/common/cli/cli_main.cpp                        |  48 +++---
 src/common/common/group.cpp                        |   2 +-
 src/common/common/group.h                          |   4 +-
 src/common/common/key_enum.h                       |   2 +-
 src/common/common/lister.h                         |   2 +-
 src/common/common/misc.cpp                         |   2 +-
 src/common/common/number.cpp                       |   4 +-
 src/common/common/purl_base.cpp                    |  52 +++---
 src/common/common/qflags.h                         |   2 +-
 src/common/common/storage.h                        |   2 +-
 src/common/common/synchronous.cpp                  |   4 +-
 src/common/common/version_data.cpp                 |   6 +-
 src/common/global/about.cpp                        |   8 +-
 src/common/global/about.h                          |   2 +-
 src/common/global/generic_config.h                 |   2 +-
 src/common/global/log.cpp                          |  20 +--
 src/common/global/log.h                            |   4 +-
 src/common/global/pfile.cpp                        |   8 +-
 src/common/global/process.cpp                      |   2 +-
 src/common/global/process.h                        |   8 +-
 src/common/global/progress_monitor.h               |   2 +-
 src/common/global/purl.cpp                         |   4 +-
 src/common/global/purl.h                           |   4 +-
 src/common/gui/config_widget.h                     |   4 +-
 src/common/gui/container.h                         |   2 +-
 src/common/gui/dialog.cpp                          |  14 +-
 src/common/gui/editlistbox.cpp                     |  36 ++--
 src/common/gui/editlistbox.h                       |   4 +-
 src/common/gui/hexword_gui.cpp                     |   2 +-
 src/common/gui/list_container.cpp                  |   6 +-
 src/common/gui/list_container.h                    |   2 +-
 src/common/gui/list_view.cpp                       |  10 +-
 src/common/gui/list_view.h                         |   2 +-
 src/common/gui/misc_gui.h                          |  12 +-
 src/common/gui/number_gui.h                        |   6 +-
 src/common/gui/pfile_ext.cpp                       |   6 +-
 src/common/gui/purl_gui.cpp                        |   2 +-
 src/common/gui/purl_gui.h                          |  18 +-
 src/common/port/parallel.cpp                       |   4 +-
 src/common/port/port.cpp                           |   2 +-
 src/common/port/serial.cpp                         |   6 +-
 src/common/port/usb_port.cpp                       |  22 +--
 src/common/port/usb_port.h                         |   2 +-
 src/data/syntax_xml_generator.cpp                  |  12 +-
 src/devices/base/device_group.cpp                  |   4 +-
 src/devices/base/generic_device.cpp                |   2 +-
 src/devices/base/generic_device.h                  |   2 +-
 src/devices/base/register.cpp                      |   4 +-
 src/devices/base/register.h                        |   2 +-
 src/devices/gui/hex_view.cpp                       |   4 +-
 src/devices/gui/memory_editor.cpp                  |  16 +-
 src/devices/gui/register_view.cpp                  |   4 +-
 src/devices/gui/register_view.h                    |   2 +-
 src/devices/list/device_list.cpp                   |   2 +-
 src/devices/list/device_list_noui.cpp              |   4 +-
 src/devices/mem24/base/mem24.h                     |   2 +-
 src/devices/mem24/gui/mem24_group_ui.h             |   6 +-
 src/devices/mem24/gui/mem24_hex_view.cpp           |   2 +-
 src/devices/pic/base/pic.cpp                       |  24 +--
 src/devices/pic/base/pic.h                         |   4 +-
 src/devices/pic/base/pic_config.cpp                | 190 ++++++++++-----------
 src/devices/pic/base/pic_config.h                  |   2 +-
 src/devices/pic/base/pic_protection.cpp            |   8 +-
 src/devices/pic/gui/pic_config_editor.cpp          |   4 +-
 src/devices/pic/gui/pic_config_word_editor.cpp     |   2 +-
 src/devices/pic/gui/pic_hex_view.cpp               |   2 +-
 src/devices/pic/gui/pic_memory_editor.cpp          |   8 +-
 src/devices/pic/gui/pic_memory_editor.h            |   2 +-
 src/devices/pic/gui/pic_prog_group_ui.cpp          |   2 +-
 src/devices/pic/gui/pic_register_view.cpp          |   6 +-
 src/devices/pic/gui/pic_register_view.h            |   2 +-
 src/devices/pic/pic/pic_memory.cpp                 |  12 +-
 src/devices/pic/prog/pic_prog.cpp                  |  52 +++---
 src/devices/pic/xml/pic_xml_to_data.cpp            |   6 +-
 src/libgui/breakpoint_view.cpp                     |  10 +-
 src/libgui/config_center.cpp                       |  10 +-
 src/libgui/config_gen.cpp                          |   6 +-
 src/libgui/console.cpp                             |   2 +-
 src/libgui/device_editor.cpp                       |   6 +-
 src/libgui/device_gui.cpp                          |  14 +-
 src/libgui/device_gui.h                            |   2 +-
 src/libgui/editor_manager.cpp                      |  50 +++---
 src/libgui/global_config.cpp                       |   2 +-
 src/libgui/gui_debug_manager.cpp                   |  10 +-
 src/libgui/gui_prog_manager.cpp                    |   4 +-
 src/libgui/hex_editor.cpp                          |  12 +-
 src/libgui/likeback.cpp                            |  22 +--
 src/libgui/log_view.h                              |   2 +-
 src/libgui/main_global.cpp                         |  16 +-
 src/libgui/object_view.cpp                         |  24 +--
 src/libgui/project_manager.cpp                     |  66 +++----
 src/libgui/project_manager_ui.cpp                  |   6 +-
 src/libgui/project_manager_ui.h                    |   2 +-
 src/libgui/project_wizard.cpp                      |  14 +-
 src/libgui/register_view.cpp                       |   2 +-
 src/libgui/register_view.h                         |   2 +-
 src/libgui/text_editor.cpp                         |  12 +-
 src/libgui/text_editor.h                           |   6 +-
 src/libgui/toplevel.cpp                            |  70 ++++----
 src/libgui/watch_view.cpp                          |  18 +-
 src/piklab-coff/main.cpp                           |  20 +--
 src/piklab-hex/main.cpp                            |  22 +--
 src/piklab-prog/cli_interactive.cpp                |  26 +--
 src/piklab-prog/cli_prog_manager.cpp               |   2 +-
 src/piklab-prog/cmdline.cpp                        |  54 +++---
 src/piklab-test/base/device_test.cpp               |   2 +-
 src/piklab-test/base/generator_check.cpp           |  16 +-
 src/piklab-test/base/generator_check.h             |   2 +-
 src/piklab/main.cpp                                |   4 +-
 src/progs/base/generic_debug.cpp                   |   4 +-
 src/progs/base/generic_prog.cpp                    |  26 +--
 src/progs/base/generic_prog.h                      |   2 +-
 src/progs/base/hardware_config.cpp                 |   4 +-
 src/progs/base/prog_group.cpp                      |   4 +-
 src/progs/base/prog_group.h                        |   6 +-
 src/progs/bootloader/base/bootloader_prog.cpp      |   2 +-
 src/progs/bootloader/gui/bootloader_ui.h           |   2 +-
 src/progs/direct/base/direct_16F.cpp               |   2 +-
 src/progs/direct/base/direct_baseline.cpp          |   2 +-
 src/progs/direct/base/direct_prog.cpp              |   4 +-
 src/progs/direct/base/direct_prog_config.cpp       |  44 ++---
 src/progs/direct/gui/direct_config_widget.cpp      |  10 +-
 src/progs/direct/gui/direct_config_widget.h        |   2 +-
 src/progs/direct/xml/xml_direct_parser.cpp         |   2 +-
 src/progs/gpsim/base/gpsim.cpp                     |   4 +-
 src/progs/gpsim/base/gpsim.h                       |   6 +-
 src/progs/gpsim/base/gpsim_debug.cpp               |   6 +-
 src/progs/gpsim/base/gpsim_debug.h                 |   2 +-
 src/progs/gpsim/gui/gpsim_group_ui.cpp             |   2 +-
 src/progs/gpsim/gui/gpsim_group_ui.h               |   2 +-
 src/progs/gui/hardware_config_widget.cpp           |   8 +-
 src/progs/gui/port_selector.cpp                    |  10 +-
 src/progs/gui/prog_config_widget.cpp               |   2 +-
 src/progs/gui/prog_group_ui.cpp                    |  16 +-
 src/progs/icd1/base/icd1.h                         |   2 +-
 src/progs/icd2/base/icd.cpp                        |   6 +-
 src/progs/icd2/base/icd2.cpp                       |  26 +--
 src/progs/icd2/base/icd2_debug.cpp                 |  16 +-
 src/progs/icd2/base/icd2_debug_specific.cpp        |   4 +-
 src/progs/icd2/base/icd2_usb.cpp                   |  14 +-
 src/progs/icd2/base/icd2_usb_firmware.cpp          |   2 +-
 src/progs/icd2/gui/icd2_group_ui.cpp               |   2 +-
 src/progs/icd2/icd2_data/icd2_data.cpp             |  30 ++--
 src/progs/list/prog_list_noui.cpp                  |  22 +--
 src/progs/manager/breakpoint.cpp                   |   4 +-
 src/progs/manager/debug_manager.cpp                |  20 +--
 src/progs/manager/prog_manager.cpp                 |  10 +-
 .../pickit2_bootloader/base/pickit2_bootloader.cpp |   2 +-
 src/progs/pickit2v2/base/pickit2v2.cpp             |   2 +-
 src/progs/psp/base/psp_serial.h                    |   2 +-
 src/progs/tbl_bootloader/base/tbl_bootloader.cpp   |   4 +-
 src/tools/base/tool_group.cpp                      |   4 +-
 src/tools/base/tool_group.h                        |   2 +-
 src/tools/boost/boost.cpp                          |   2 +-
 src/tools/c18/c18.h                                |   2 +-
 src/tools/c18/gui/c18_ui.cpp                       |   2 +-
 src/tools/cc5x/cc5x.cpp                            |   2 +-
 src/tools/cc5x/cc5x.h                              |   2 +-
 src/tools/ccsc/ccsc.cpp                            |   2 +-
 src/tools/ccsc/ccsc.h                              |   2 +-
 src/tools/custom/custom.h                          |   6 +-
 src/tools/gputils/gputils.cpp                      |   2 +-
 src/tools/gputils/gui/gputils_ui.cpp               |   4 +-
 src/tools/gui/tool_config_widget.cpp               |  10 +-
 src/tools/gui/toolchain_config_center.cpp          |   6 +-
 src/tools/gui/toolchain_config_widget.cpp          |  16 +-
 src/tools/gui/toolchain_config_widget.h            |   4 +-
 src/tools/jal/jal.cpp                              |   2 +-
 src/tools/jalv2/jalv2.cpp                          |   2 +-
 src/tools/list/compile_config.cpp                  |   4 +-
 src/tools/list/compile_config.h                    |   2 +-
 src/tools/list/compile_manager.cpp                 |  14 +-
 src/tools/list/compile_process.cpp                 |   8 +-
 src/tools/list/tool_list.cpp                       |   6 +-
 src/tools/list/tools_config_widget.cpp             |   2 +-
 src/tools/mpc/mpc.cpp                              |   2 +-
 src/tools/mpc/mpc.h                                |   2 +-
 src/tools/pic30/pic30.cpp                          |   2 +-
 src/tools/picc/picc.cpp                            |   2 +-
 src/tools/picc/picc.h                              |   2 +-
 src/tools/sdcc/sdcc.cpp                            |   2 +-
 src/xml_to_data/device_xml_to_data.cpp             |   4 +-
 src/xml_to_data/device_xml_to_data.h               |   2 +-
 src/xml_to_data/prog_xml_to_data.h                 |   2 +-
 191 files changed, 962 insertions(+), 962 deletions(-)

diff --git a/src/coff/base/cdb_parser.cpp b/src/coff/base/cdb_parser.cpp
index 87d9d97..241b3c6 100644
--- a/src/coff/base/cdb_parser.cpp
+++ b/src/coff/base/cdb_parser.cpp
@@ -74,7 +74,7 @@ CDB::Object::Object(const PURL::Url &url, Log::Base &log)
     char c;
     if ( !readChar(c) ) return;
     if ( !readAndCheckChar(':') ) return;
-    Record *record = 0;
+    Record *record = nullptr;
     bool ok;
     switch (c) {
       case 'M': ok = parseModuleRecord(record); break;
diff --git a/src/coff/base/coff.cpp b/src/coff/base/coff.cpp
index e85b53d..91876d8 100644
--- a/src/coff/base/coff.cpp
+++ b/src/coff/base/coff.cpp
@@ -24,9 +24,9 @@ const CoffType::Data CoffType::DATA[Nb_Types] = {
 };
 
 const Coff::Format::Data Coff::Format::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Old Microchip"), 0x1234, { 20, 16, 40, 18, 16, 12 } },
-  { 0, I18N_NOOP("PIC30"),         0x1236, { 20, 28, 40, 18,  8, 10 } }, // from PIC30 binutils "coff.h" file
-  { 0, I18N_NOOP("New Microchip"), 0x1240, { 20, 18, 40, 20, 16, 12 } }  // (C18 >= 3.0)
+  { nullptr, I18N_NOOP("Old Microchip"), 0x1234, { 20, 16, 40, 18, 16, 12 } },
+  { nullptr, I18N_NOOP("PIC30"),         0x1236, { 20, 28, 40, 18,  8, 10 } }, // from PIC30 binutils "coff.h" file
+  { nullptr, I18N_NOOP("New Microchip"), 0x1240, { 20, 18, 40, 20, 16, 12 } }  // (C18 >= 3.0)
 };
 
 CoffType Coff::identify(const PURL::Url &url, Log::Base &log)
diff --git a/src/coff/base/coff_archive.cpp b/src/coff/base/coff_archive.cpp
index e7d4c14..d54edaf 100644
--- a/src/coff/base/coff_archive.cpp
+++ b/src/coff/base/coff_archive.cpp
@@ -52,7 +52,7 @@ bool Coff::Archive::parse(Log::Base &log)
 {
   TQByteArray data;
   uint offset = 0, symbolEnd = 0;
-  Member *symbol = 0;
+  Member *symbol = nullptr;
   if ( !initParse(CoffType::Archive, data, offset, log) ) return false;
   for (;;) {
     if ( offset==uint(data.count()) ) break; // end of archive
diff --git a/src/coff/base/coff_object.cpp b/src/coff/base/coff_object.cpp
index 98f8f3b..0cf8203 100644
--- a/src/coff/base/coff_object.cpp
+++ b/src/coff/base/coff_object.cpp
@@ -32,10 +32,10 @@ bool Coff::getName(const TQByteArray &data, uint &offset, uint nbChars, uint str
 }
 
 const Coff::OptHeaderFormat::Data Coff::OptHeaderFormat::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Old Microchip") },
-  { 0, I18N_NOOP("New Microchip") },
-  { 0, I18N_NOOP("PICC Compiler") },
-  { 0, I18N_NOOP("CCS Compiler")  }
+  { nullptr, I18N_NOOP("Old Microchip") },
+  { nullptr, I18N_NOOP("New Microchip") },
+  { nullptr, I18N_NOOP("PICC Compiler") },
+  { nullptr, I18N_NOOP("CCS Compiler")  }
 };
 
 const Coff::OptHeaderData Coff::OPT_HEADER_DATA[] = {
@@ -49,10 +49,10 @@ const Coff::OptHeaderData Coff::OPT_HEADER_DATA[] = {
 
 //----------------------------------------------------------------------------
 const Coff::AuxSymbolType::Data Coff::AuxSymbolType::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Direct") },
-  { 0, I18N_NOOP("File") },
-  { 0, I18N_NOOP("Indentifier") },
-  { 0, I18N_NOOP("Section") }
+  { nullptr, I18N_NOOP("Direct") },
+  { nullptr, I18N_NOOP("File") },
+  { nullptr, I18N_NOOP("Indentifier") },
+  { nullptr, I18N_NOOP("Section") }
 };
 
 Coff::AuxSymbol *Coff::AuxSymbol::factory(const Object &object, AuxSymbolType type, const TQByteArray &data, uint offset, uint stringTableOffset, Log::Base &log)
@@ -65,7 +65,7 @@ Coff::AuxSymbol *Coff::AuxSymbol::factory(const Object &object, AuxSymbolType ty
     case AuxSymbolType::Nb_Types:   return new AuxSymbolUnknown(object);
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Coff::AuxSymbolDirect::AuxSymbolDirect(const Object &object, const TQByteArray &data, uint start, uint stringTableOffset, Log::Base &log)
@@ -119,65 +119,65 @@ Coff::AuxSymbolSection::AuxSymbolSection(const Object &object, const TQByteArray
 
 //----------------------------------------------------------------------------
 const Coff::SymbolSectionType::Data Coff::SymbolSectionType::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Inside Section") },
-  { 0, I18N_NOOP("Undefined Section") },
-  { 0, I18N_NOOP("Absolute Value") },
-  { 0, I18N_NOOP("Debug Symbol") }
+  { nullptr, I18N_NOOP("Inside Section") },
+  { nullptr, I18N_NOOP("Undefined Section") },
+  { nullptr, I18N_NOOP("Absolute Value") },
+  { nullptr, I18N_NOOP("Debug Symbol") }
 };
 
 const Coff::SymbolClass::Data Coff::SymbolClass::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Automatic Variable"), 1 },
-  { 0, I18N_NOOP("External Symbol"), 2 },
-  { 0, I18N_NOOP("Static Symbol"), 3 },
-  { 0, I18N_NOOP("Register Variable"), 4 },
-  { 0, I18N_NOOP("External Definition"), 5 },
-  { 0, I18N_NOOP("Label"), 6 },
-  { 0, I18N_NOOP("Undefined Label"), 7 },
-  { 0, I18N_NOOP("Member of Structure"), 8 },
-  { 0, I18N_NOOP("Function Argument"), 9 },
-  { 0, I18N_NOOP("Structure Tag"), 10 },
-  { 0, I18N_NOOP("Member of Union"), 11 },
-  { 0, I18N_NOOP("Union Tag"), 12 },
-  { 0, I18N_NOOP("Type Definition"), 13 },
-  { 0, I18N_NOOP("Undefined Static"), 14 },
-  { 0, I18N_NOOP("Enumeration Tag"), 15 },
-  { 0, I18N_NOOP("Member of Enumeration"), 16 },
-  { 0, I18N_NOOP("Register Parameter"), 17 },
-  { 0, I18N_NOOP("Bit Field"), 18 },
-  { 0, I18N_NOOP("Auto Argument"), 19 },
-  { 0, I18N_NOOP("Dummy Entry (end of block)"), 20 },
-  { 0, I18N_NOOP("Beginning or End of Block"), 100 },
-  { 0, I18N_NOOP("Beginning or End of Function"), 101 },
-  { 0, I18N_NOOP("End of Structure"), 102 },
-  { 0, I18N_NOOP("Filename"), 103 },
-  { 0, I18N_NOOP("Line Number"), 104 },
-  { 0, I18N_NOOP("Duplicate Tag"), 105 },
-  { 0, I18N_NOOP("Section"), 109 }
+  { nullptr, I18N_NOOP("Automatic Variable"), 1 },
+  { nullptr, I18N_NOOP("External Symbol"), 2 },
+  { nullptr, I18N_NOOP("Static Symbol"), 3 },
+  { nullptr, I18N_NOOP("Register Variable"), 4 },
+  { nullptr, I18N_NOOP("External Definition"), 5 },
+  { nullptr, I18N_NOOP("Label"), 6 },
+  { nullptr, I18N_NOOP("Undefined Label"), 7 },
+  { nullptr, I18N_NOOP("Member of Structure"), 8 },
+  { nullptr, I18N_NOOP("Function Argument"), 9 },
+  { nullptr, I18N_NOOP("Structure Tag"), 10 },
+  { nullptr, I18N_NOOP("Member of Union"), 11 },
+  { nullptr, I18N_NOOP("Union Tag"), 12 },
+  { nullptr, I18N_NOOP("Type Definition"), 13 },
+  { nullptr, I18N_NOOP("Undefined Static"), 14 },
+  { nullptr, I18N_NOOP("Enumeration Tag"), 15 },
+  { nullptr, I18N_NOOP("Member of Enumeration"), 16 },
+  { nullptr, I18N_NOOP("Register Parameter"), 17 },
+  { nullptr, I18N_NOOP("Bit Field"), 18 },
+  { nullptr, I18N_NOOP("Auto Argument"), 19 },
+  { nullptr, I18N_NOOP("Dummy Entry (end of block)"), 20 },
+  { nullptr, I18N_NOOP("Beginning or End of Block"), 100 },
+  { nullptr, I18N_NOOP("Beginning or End of Function"), 101 },
+  { nullptr, I18N_NOOP("End of Structure"), 102 },
+  { nullptr, I18N_NOOP("Filename"), 103 },
+  { nullptr, I18N_NOOP("Line Number"), 104 },
+  { nullptr, I18N_NOOP("Duplicate Tag"), 105 },
+  { nullptr, I18N_NOOP("Section"), 109 }
 };
 
 const Coff::SymbolType::Data Coff::SymbolType::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Void"), 0x0001 },
-  { 0, I18N_NOOP("Char"), 0x0010 },
-  { 0, I18N_NOOP("Short"), 0x0011 },
-  { 0, I18N_NOOP("Int"), 0x0100 },
-  { 0, I18N_NOOP("Long"), 0x0101 },
-  { 0, I18N_NOOP("Float"), 0x0110 },
-  { 0, I18N_NOOP("Double"), 0x0111 },
-  { 0, I18N_NOOP("Structure"), 0x1000 },
-  { 0, I18N_NOOP("Union"), 0x1001 },
-  { 0, I18N_NOOP("Enumeration"), 0x1010 },
-  { 0, I18N_NOOP("Member Of Enumeration"), 0x1011 },
-  { 0, I18N_NOOP("Unsigned Char"), 0x1100 },
-  { 0, I18N_NOOP("Unsigned Short"), 0x1101 },
-  { 0, I18N_NOOP("Unsigned Int"), 0x1110 },
-  { 0, I18N_NOOP("Unsigned Long"), 0x1111 },
-  { 0, I18N_NOOP("Long Double"), 0x10000 }
+  { nullptr, I18N_NOOP("Void"), 0x0001 },
+  { nullptr, I18N_NOOP("Char"), 0x0010 },
+  { nullptr, I18N_NOOP("Short"), 0x0011 },
+  { nullptr, I18N_NOOP("Int"), 0x0100 },
+  { nullptr, I18N_NOOP("Long"), 0x0101 },
+  { nullptr, I18N_NOOP("Float"), 0x0110 },
+  { nullptr, I18N_NOOP("Double"), 0x0111 },
+  { nullptr, I18N_NOOP("Structure"), 0x1000 },
+  { nullptr, I18N_NOOP("Union"), 0x1001 },
+  { nullptr, I18N_NOOP("Enumeration"), 0x1010 },
+  { nullptr, I18N_NOOP("Member Of Enumeration"), 0x1011 },
+  { nullptr, I18N_NOOP("Unsigned Char"), 0x1100 },
+  { nullptr, I18N_NOOP("Unsigned Short"), 0x1101 },
+  { nullptr, I18N_NOOP("Unsigned Int"), 0x1110 },
+  { nullptr, I18N_NOOP("Unsigned Long"), 0x1111 },
+  { nullptr, I18N_NOOP("Long Double"), 0x10000 }
 };
 
 const Coff::SymbolDerivedType::Data Coff::SymbolDerivedType::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Pointer"),     0x010000 },
-  { 0, I18N_NOOP("Function"),    0x100000 },
-  { 0, I18N_NOOP("Array"),       0x110000 }
+  { nullptr, I18N_NOOP("Pointer"),     0x010000 },
+  { nullptr, I18N_NOOP("Function"),    0x100000 },
+  { nullptr, I18N_NOOP("Array"),       0x110000 }
 };
 
 Coff::Symbol::Symbol(const Object &object, const TQByteArray &data, uint start,
@@ -239,7 +239,7 @@ Coff::SymbolSectionType Coff::Symbol::sectionType() const
 //----------------------------------------------------------------------------
 Coff::Relocation::Relocation(const Object &object, const Section &section,
                              const TQByteArray &data, uint start, Log::Base &log)
-  : Element(object), _symbol(0)
+  : Element(object), _symbol(nullptr)
 {
   uint offset = start;
   TQ_UINT32 v;
@@ -268,7 +268,7 @@ Coff::Relocation::Relocation(const Object &object, const Section &section,
 //----------------------------------------------------------------------------
 Coff::CodeLine::CodeLine(const Object &object, const Section &section,
                          const TQByteArray &data, uint start, const TQString &lastFilename, Log::Base &log)
-  : Element(object), _section(section), _symbol(0)
+  : Element(object), _section(section), _symbol(nullptr)
 {
   uint offset = start;
   TQ_UINT32 v;
@@ -323,13 +323,13 @@ Coff::CodeLine::CodeLine(const Object &object, const Section &section,
 
 //----------------------------------------------------------------------------
 const Coff::SectionType::Data Coff::SectionType::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Config") },
-  { 0, I18N_NOOP("Device ID") },
-  { 0, I18N_NOOP("User IDs") },
-  { 0, I18N_NOOP("Uninitialized Data") },
-  { 0, I18N_NOOP("Initialized Data") },
-  { 0, I18N_NOOP("Rom Data") },
-  { 0, I18N_NOOP("Code") }
+  { nullptr, I18N_NOOP("Config") },
+  { nullptr, I18N_NOOP("Device ID") },
+  { nullptr, I18N_NOOP("User IDs") },
+  { nullptr, I18N_NOOP("Uninitialized Data") },
+  { nullptr, I18N_NOOP("Initialized Data") },
+  { nullptr, I18N_NOOP("Rom Data") },
+  { nullptr, I18N_NOOP("Code") }
 };
 
 Coff::Section::Section(const Device::Data &device, const Object &object,
@@ -502,7 +502,7 @@ bool Coff::Object::parse(Log::Base &log)
 
   // extract filenames
   for (uint i=0; i<_nbSymbols; i++) {
-    if ( _symbols[i]==0 || _symbols[i]->isAuxSymbol() ) continue;
+    if ( !_symbols[i] || _symbols[i]->isAuxSymbol() ) continue;
     TQString s = static_cast<const Symbol *>(_symbols[i])->filename();
     if ( s.isEmpty() || s=="fake" || _filenames.contains(s) ) continue;
     _filenames.append(s);
@@ -510,7 +510,7 @@ bool Coff::Object::parse(Log::Base &log)
 
   // extract variables
   for (uint i=0; i<nbSymbols(); i++) {
-    if ( _symbols[i]==0 || _symbols[i]->isAuxSymbol() ) continue;
+    if ( !_symbols[i] || _symbols[i]->isAuxSymbol() ) continue;
     const Symbol *sym = static_cast<const Symbol *>(_symbols[i]);
     if ( sym->symbolClass()!=SymbolClass::Static ) continue;
     if ( sym->sectionType()!=SymbolSectionType::InsideSection ) continue;
@@ -555,7 +555,7 @@ bool Coff::Object::parseOptionnalHeader(const TQByteArray &data, uint &offset, L
     if ( !getULong(data, offset, 4, log, v) ) return false; // entry point
     if ( !getULong(data, offset, 4, log, v) ) return false; // offset of text
     if ( !getULong(data, offset, 4, log, v) ) return false; // offset of data
-    if ( _device==0 ) _device = Device::lister().data("30F2010"); // for e.g.
+    if ( !_device ) _device = Device::lister().data("30F2010"); // for e.g.
   } else {
     if ( !getULong(data, offset, 4, log, v) ) return false;
     // #### at least for C18 compiler, it can be compiled for generic processor: in such case
@@ -566,7 +566,7 @@ bool Coff::Object::parseOptionnalHeader(const TQByteArray &data, uint &offset, L
       log.log(Log::DebugLevel::Normal, TQString("Unknown processor type: %1").arg(toHexLabel(v, 4)));
       log.log(Log::LineType::Error, i18n("Could not determine processor (%1).").arg(toHexLabel(v, 4)));
       return false;
-    } else if ( _device==0 ) _device = Device::lister().data(name);
+    } else if ( !_device ) _device = Device::lister().data(name);
     else if ( name!=_device->name() ) log.log(Log::DebugLevel::Normal, TQString("Different processor name: %1").arg(name));
     if ( !getULong(data, offset, 4, log, v) ) return false;
     const Pic::Data *pdata = static_cast<const Pic::Data *>(_device);
diff --git a/src/coff/base/coff_object.h b/src/coff/base/coff_object.h
index f6c23bf..c78a73f 100644
--- a/src/coff/base/coff_object.h
+++ b/src/coff/base/coff_object.h
@@ -266,7 +266,7 @@ public:
   uint optHeaderMagic() const { return _optHeaderMagic; }
   uint nbSymbols() const { return _symbols.count(); }
   const BaseSymbol *symbol(uint i) const { return _symbols[i]; }
-  const Symbol *symbol(const TQString &name) const { return (_msymbols.contains(name) ? _msymbols[name] : 0); }
+  const Symbol *symbol(const TQString &name) const { return (_msymbols.contains(name) ? _msymbols[name] : nullptr); }
   uint nbSections() const { return _sections.count(); }
   const Section *section(uint i) const { return _sections[i]; }
   const TQStringList &filenames() const { return _filenames; }
diff --git a/src/coff/base/text_coff.cpp b/src/coff/base/text_coff.cpp
index 948de14..b292bed 100644
--- a/src/coff/base/text_coff.cpp
+++ b/src/coff/base/text_coff.cpp
@@ -54,7 +54,7 @@ const Coff::Section *Coff::TextObject::section(const CodeLine &cline) const
     if ( _sections[i]->type()!=SectionType::Code ) continue;
     if ( _sections[i]->instructions().contains(cline.address()) ) return _sections[i];
   }
-  return 0;
+  return nullptr;
 }
 
 void Coff::TextObject::init() const
@@ -139,7 +139,7 @@ void Coff::TextObject::init() const
         line += ldata.codes[k].opcode.leftJustify(opcodeWidth) + repeat(" ", 4);
         line += ldata.codes[k].disasm1.leftJustify(disasm1Width) + repeat(" ", 2);
         line += ldata.codes[k].disasm2.leftJustify(disasm2Width);
-        _lines[fromHex(ldata.codes[k].address, 0)] = _list.count()+1;
+        _lines[fromHex(ldata.codes[k].address, nullptr)] = _list.count()+1;
         if ( k==0 ) line += cline;
         _list += stripEndingWhiteSpaces(line);
       }
@@ -250,7 +250,7 @@ Log::KeyList Coff::TextObject::information() const
 {
   Log::KeyList keys;
   keys.append(i18n("Format:"), i18n("%1 (magic id: %2)").arg(format().label()).arg(toHexLabel(format().data().magic, 4)));
-  TQString name = (format()==Format::PIC30 || device()==0 ? "?" : device()->name());
+  TQString name = (format()==Format::PIC30 || !device() ? "?" : device()->name());
   keys.append(i18n("Device:"), name);
   OptHeaderFormat ohf = optHeaderFormat();
   TQString label = (ohf==OptHeaderFormat::Nb_Types ? i18n("Unknown") : ohf.label());
diff --git a/src/common/cli/cli_global.cpp b/src/common/cli/cli_global.cpp
index b30aaee..f1a751b 100644
--- a/src/common/cli/cli_global.cpp
+++ b/src/common/cli/cli_global.cpp
@@ -15,8 +15,8 @@
 
 bool CLI::_force = false;
 bool CLI::_isInteractive = false;
-CLI::View     *CLI::_view = 0;
-CLI::MainBase *CLI::_main = 0;
+CLI::View     *CLI::_view = nullptr;
+CLI::MainBase *CLI::_main = nullptr;
 
 CLI::ExitCode CLI::errorExit(const TQString &message, ExitCode code)
 {
diff --git a/src/common/cli/cli_main.cpp b/src/common/cli/cli_main.cpp
index d3ad493..600593e 100644
--- a/src/common/cli/cli_main.cpp
+++ b/src/common/cli/cli_main.cpp
@@ -16,17 +16,17 @@ const CLI::CommandData *CLI::findCommandData(const TQString &command)
 {
   for (uint i=0; NORMAL_COMMAND_DATA[i].name; i++)
     if ( NORMAL_COMMAND_DATA[i].name==command ) return &NORMAL_COMMAND_DATA[i];
-  if ( !_isInteractive) return 0;
+  if ( !_isInteractive) return nullptr;
   for (uint i=0; INTERACTIVE_COMMAND_DATA[i].name; i++)
     if ( INTERACTIVE_COMMAND_DATA[i].name==command ) return &INTERACTIVE_COMMAND_DATA[i];
-  return 0;
+  return nullptr;
 }
 
 CLI::ExitCode CLI::findCommand(const TQString &s)
 {
   if ( s.isEmpty() ) return errorExit(i18n("No command specified"), ARG_ERROR);
   const CommandData *data = findCommandData(s);
-  if ( data==0 ) return errorExit(i18n("Unknown command: %1").arg(s), ARG_ERROR);
+  if ( !data ) return errorExit(i18n("Unknown command: %1").arg(s), ARG_ERROR);
   return OK;
 }
 
@@ -47,26 +47,26 @@ bool CLI::isProperty(const TQString &s)
 
 //-----------------------------------------------------------------------------
 const TDECmdLineOptions STANDARD_OPTIONS[] = {
-  { "c",              0, 0 },
-  { "command <name>", I18N_NOOP("Perform the requested command."), 0 },
-  { "command-list",   I18N_NOOP("Return the list of recognized commands."), 0 },
-  { "debug",          I18N_NOOP("Display debug messages."), 0 },
-  { "extra-debug",    I18N_NOOP("Display extra debug messages."), 0 },
-  { "max-debug",      I18N_NOOP("Display all debug messages."), 0 },
-  { "lowlevel-debug", I18N_NOOP("Display low level debug messages."), 0 },
-  { "quiet",          I18N_NOOP("Do not display messages."), 0 },
+  { "c",              nullptr, nullptr },
+  { "command <name>", I18N_NOOP("Perform the requested command."), nullptr },
+  { "command-list",   I18N_NOOP("Return the list of recognized commands."), nullptr },
+  { "debug",          I18N_NOOP("Display debug messages."), nullptr },
+  { "extra-debug",    I18N_NOOP("Display extra debug messages."), nullptr },
+  { "max-debug",      I18N_NOOP("Display all debug messages."), nullptr },
+  { "lowlevel-debug", I18N_NOOP("Display low level debug messages."), nullptr },
+  { "quiet",          I18N_NOOP("Do not display messages."), nullptr },
   TDECmdLineLastOption
 };
 
 const TDECmdLineOptions FORCE_OPTIONS[] = {
-  { "f",              0, 0 },
-  { "force",          I18N_NOOP("Overwrite files and answer \"yes\" to questions."), 0 },
+  { "f",              nullptr, nullptr },
+  { "force",          I18N_NOOP("Overwrite files and answer \"yes\" to questions."), nullptr },
   TDECmdLineLastOption
 };
 
 const TDECmdLineOptions INTERACTIVE_OPTIONS[] = {
-  { "i",              0, 0 },
-  { "cli",            I18N_NOOP("Interactive mode"), 0 },
+  { "i",              nullptr, nullptr },
+  { "cli",            I18N_NOOP("Interactive mode"), nullptr },
   TDECmdLineLastOption
 };
 
@@ -112,9 +112,9 @@ CLI::ExitCode CLI::propertyList()
 
 //-----------------------------------------------------------------------------
 CLI::MainBase::MainBase(Properties properties)
-  : TQObject(0, "main"), _properties(properties)
+  : TQObject(nullptr, "main"), _properties(properties)
 {
-  Q_ASSERT( _main==0 );
+  Q_ASSERT( !_main );
   _main = this;
   _view = new View;
   setView(_view);
@@ -133,14 +133,14 @@ CLI::OptionList CLI::MainBase::optionList(const char *fileDescription) const
   OptionList list(_properties, OPTIONS);
   TDECmdLineOptions opt;
   for (uint i=0; PROPERTY_DATA[i].name; i++) {
-    opt.description = 0;
-    opt.def = 0;
-    if ( PROPERTY_DATA[i].help==0 ) {
+    opt.description = nullptr;
+    opt.def = nullptr;
+    if ( !PROPERTY_DATA[i].help ) {
       Q_ASSERT( TQString(PROPERTY_DATA[i].name)!=PROPERTY_DATA[i].optName );
       opt.name = PROPERTY_DATA[i].name; // alias
       list.append(opt);
     } else {
-      if ( PROPERTY_DATA[i].optName==0 ) continue; // interactive only
+      if ( !PROPERTY_DATA[i].optName ) continue; // interactive only
       if ( PROPERTY_DATA[i].alias ) {
         opt.name = PROPERTY_DATA[i].alias;
         list.append(opt);
@@ -158,7 +158,7 @@ CLI::OptionList CLI::MainBase::optionList(const char *fileDescription) const
   if (fileDescription) {
     opt.name = "+[file]";
     opt.description = fileDescription;
-    opt.def = 0;
+    opt.def = nullptr;
   }
   list.append(opt);
   return list;
@@ -177,7 +177,7 @@ CLI::ExitCode CLI::MainBase::doRun()
 
   // process set options
   for (uint i=0; PROPERTY_DATA[i].name; i++) {
-    if ( PROPERTY_DATA[i].optName==0 ) continue; // alias or interactive only
+    if ( !PROPERTY_DATA[i].optName ) continue; // alias or interactive only
     if ( !_args->isSet(PROPERTY_DATA[i].name) ) continue;
     TQString option = _args->getOption(PROPERTY_DATA[i].name);
     ExitCode code = executeSetCommand(PROPERTY_DATA[i].name, option);
@@ -188,7 +188,7 @@ CLI::ExitCode CLI::MainBase::doRun()
   // process default lists
   if ( _args->isSet("command-list") ) return list("command-list");
   for (uint i=0; PROPERTY_DATA[i].name; i++) {
-    if ( PROPERTY_DATA[i].list==0 ) continue;
+    if ( !PROPERTY_DATA[i].list ) continue;
     if ( _args->isSet(PROPERTY_DATA[i].list) ) return list(PROPERTY_DATA[i].list);
   }
 
diff --git a/src/common/common/group.cpp b/src/common/common/group.cpp
index 7c77f3a..fc6390c 100644
--- a/src/common/common/group.cpp
+++ b/src/common/common/group.cpp
@@ -16,7 +16,7 @@ const Group::Support::Data Group::Support::DATA[Nb_Types] = {
 };
 
 Group::Base::Base()
-  : _gui(0), _initialized(false)
+  : _gui(nullptr), _initialized(false)
 {}
 
 Group::Base::ConstIterator Group::Base::begin() const
diff --git a/src/common/common/group.h b/src/common/common/group.h
index 687c41e..9a8b37a 100644
--- a/src/common/common/group.h
+++ b/src/common/common/group.h
@@ -30,7 +30,7 @@ class Base
 public:
   class Data {
   public:
-    Data() : data(0), support(Support::None) {}
+    Data() : data(nullptr), support(Support::None) {}
     const Device::Data *data;
     Support support;
   };
@@ -67,7 +67,7 @@ private:
 class BaseGui
 {
 public:
-  BaseGui() : _group(0) {}
+  BaseGui() : _group(nullptr) {}
   virtual ~BaseGui() {}
   const Base &group() const { return *_group; }
 
diff --git a/src/common/common/key_enum.h b/src/common/common/key_enum.h
index 45b1635..3560ebb 100644
--- a/src/common/common/key_enum.h
+++ b/src/common/common/key_enum.h
@@ -63,7 +63,7 @@ public: \
     return DATA[_value]; \
   } \
   const char *key() const { \
-    if ( _value==Nb_Types ) return 0; \
+    if ( _value==Nb_Types ) return nullptr; \
     Q_ASSERT(DATA[_value].key); \
     return DATA[_value].key; \
   } \
diff --git a/src/common/common/lister.h b/src/common/common/lister.h
index db32c45..9507b11 100644
--- a/src/common/common/lister.h
+++ b/src/common/common/lister.h
@@ -49,7 +49,7 @@ public:
 
   const GroupType *group(const TQString &name) const {
     if ( _groups.contains(name) ) return _groups[name];
-    return 0;
+    return nullptr;
   }
 
 protected:
diff --git a/src/common/common/misc.cpp b/src/common/common/misc.cpp
index 0e8b86a..7cf34e1 100644
--- a/src/common/common/misc.cpp
+++ b/src/common/common/misc.cpp
@@ -49,7 +49,7 @@ TQString htmlTableRow(const TQString &title, const TQString &value)
 void crash(const char *assert, const char *file, int line)
 {
   tqDebug("CRASH_ASSERT: \"%s\" in %s (%d)", assert, file, line);
-  int * ptr = 0;
+  int * ptr = nullptr;
   (*ptr)++;
 }
 
diff --git a/src/common/common/number.cpp b/src/common/common/number.cpp
index 0766ba5..9830d81 100644
--- a/src/common/common/number.cpp
+++ b/src/common/common/number.cpp
@@ -99,7 +99,7 @@ ulong fromLabel(NumberBase base, const TQString &s, uint nbChars, bool *ok)
 ulong fromLabel(NumberBase base, const char *s, uint size, bool *ok)
 {
   if (ok) *ok = false;
-  if ( s==0 ) return 0;
+  if ( !s ) return 0;
   uint psize = (base==NumberBase::String ? 1 : strlen(base.data().prefix));
   uint ssize = (base==NumberBase::String ? 1 : 0);
   if ( size<=(psize+ssize) ) return 0;
@@ -151,7 +151,7 @@ uint fromChar(NumberBase base, char c, bool *ok)
 ulong fromString(NumberBase base, const char *s, uint size, bool *ok)
 {
   if (ok) *ok = false;
-  if ( s==0 || size==0 ) return 0;
+  if ( !s || size==0 ) return 0;
   ulong v = 0;
   for (uint i=0; i<size; i++) {
     v *= base.data().base;
diff --git a/src/common/common/purl_base.cpp b/src/common/common/purl_base.cpp
index fe15d6b..bad18f8 100644
--- a/src/common/common/purl_base.cpp
+++ b/src/common/common/purl_base.cpp
@@ -30,32 +30,32 @@ const PURL::SourceFamily::Data PURL::SourceFamily::DATA[Nb_Types] = {
 };
 
 const PURL::FileType::Data PURL::FileType::DATA[Nb_Types] = {
-  { "AsmGPAsm",    Source, Editable, SourceFamily::Asm, I18N_NOOP("Assembler File"),            { "asm", "src", "pic", 0 }, sourcefile_xpm,  0,               "XPicAsm"   },
-  { "AsmPIC30",    Source, Editable, SourceFamily::Asm, I18N_NOOP("Assembler File for PIC30"),  { "s", 0 },                 sourcefile_xpm,  0,               "XPicAsm"   },
-  { "AsmPICC",     Source, Editable, SourceFamily::Asm, I18N_NOOP("Assembler File for PICC"),   { "as", 0 },                sourcefile_xpm,  0,               "XPicAsm"   },
-  { "Inc",         Header, Editable, SourceFamily::Asm, I18N_NOOP("Include File"),        { "inc", 0 },               includefile_xpm, 0,               "XPicAsm"   },
-  { "CSource",     Source, Editable, SourceFamily::C,   I18N_NOOP("C Source File"),       { "c", 0 },                 0,               "text/x-csrc",   "C"         },
-  { "CppSource",   Source, Editable, SourceFamily::C,   I18N_NOOP("C++ Source File"),     { "cpp", "cxx", 0 },        0,               "text/x-c++src", "C++"       },
-  { "CHeader",     Header, Editable, SourceFamily::C,   I18N_NOOP("C Header File"),       { "h", 0 },                 0,               "text/x-chdr",   "C"         },
-  { "JalSource",   Source, Editable, SourceFamily::JAL, I18N_NOOP("JAL File"),            { "jal", 0},                sourcefile_xpm,  0,               "XPicJal"   },
-  { "BasicSource", Source, Editable, SourceFamily::Basic, I18N_NOOP("Basic Source File"), { "bas", 0 },               sourcefile_xpm,  0,               "FreeBASIC" },
-
-  { "Object",      LinkerObject, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("Object File"),         { "o", "obj", 0 },          objectfile_xpm,  0,               0         },
-  { "Library",     LinkerObject, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("Library File"),        { "a", "lib", 0 },          objectfile_xpm,  0,               0         },
-
-  { "Lkr",         LinkerScript, Editable, SourceFamily::Nb_Types, I18N_NOOP("Linker Script"),           { "lkr", 0 },               includefile_xpm, 0,               0         },
-  { "Gld",         LinkerScript, Editable, SourceFamily::Nb_Types, I18N_NOOP("Linker Script for PIC30"), { "gld", 0 },               includefile_xpm, 0,               0         },
-
-  { "Hex",         Nb_FileGroups, Editable,            SourceFamily::Nb_Types, I18N_NOOP("Hex File"),            { "hex", 0 },               0,               "text/x-hex",    0         },
-  { "Elf",         Nb_FileGroups, ReadOnly,            SourceFamily::Nb_Types, I18N_NOOP("Elf File"),            { "elf", 0 },               0,               0,               0         },
-  { "Project",     Nb_FileGroups, NoProperty,          SourceFamily::Nb_Types, I18N_NOOP("Project File"),        { "piklab", 0 },            project_xpm,     0,               0         },
-  { "Lst",         Nb_FileGroups, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("List File"),           { "lst", 0 },               0,               "text/plain",    0         },
-  { "Map",         Nb_FileGroups, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("Map File"),            { "map", 0 },               0,               "text/plain",    0         },
-  { "Cod",         Nb_FileGroups, ReadOnly,            SourceFamily::Nb_Types, I18N_NOOP("COD File"),            { "cod", 0 },               0,               0,               0         },
-  { "Coff",        Nb_FileGroups, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("COFF File"),           { "cof", 0 },               0,               "application/x-object", "XCoffDisasm" },
-
-  { "",            Nb_FileGroups, NoProperty,          SourceFamily::Nb_Types, I18N_NOOP("Unknown File"),        { 0 },                      0,               0,               0         },
-  { "",            Nb_FileGroups, NoProperty,          SourceFamily::Nb_Types, I18N_NOOP("Pikdev Project File"), { "pikprj", 0 },            0,               0,               0         }
+  { "AsmGPAsm",    Source, Editable, SourceFamily::Asm, I18N_NOOP("Assembler File"),            { "asm", "src", "pic", nullptr }, sourcefile_xpm,  nullptr,               "XPicAsm"   },
+  { "AsmPIC30",    Source, Editable, SourceFamily::Asm, I18N_NOOP("Assembler File for PIC30"),  { "s", nullptr },                 sourcefile_xpm,  nullptr,               "XPicAsm"   },
+  { "AsmPICC",     Source, Editable, SourceFamily::Asm, I18N_NOOP("Assembler File for PICC"),   { "as", nullptr },                sourcefile_xpm,  nullptr,               "XPicAsm"   },
+  { "Inc",         Header, Editable, SourceFamily::Asm, I18N_NOOP("Include File"),        { "inc", nullptr },               includefile_xpm, nullptr,               "XPicAsm"   },
+  { "CSource",     Source, Editable, SourceFamily::C,   I18N_NOOP("C Source File"),       { "c", nullptr },                 nullptr,               "text/x-csrc",   "C"         },
+  { "CppSource",   Source, Editable, SourceFamily::C,   I18N_NOOP("C++ Source File"),     { "cpp", "cxx", nullptr },        nullptr,               "text/x-c++src", "C++"       },
+  { "CHeader",     Header, Editable, SourceFamily::C,   I18N_NOOP("C Header File"),       { "h", nullptr },                 nullptr,               "text/x-chdr",   "C"         },
+  { "JalSource",   Source, Editable, SourceFamily::JAL, I18N_NOOP("JAL File"),            { "jal", nullptr},                sourcefile_xpm,  nullptr,               "XPicJal"   },
+  { "BasicSource", Source, Editable, SourceFamily::Basic, I18N_NOOP("Basic Source File"), { "bas", nullptr },               sourcefile_xpm,  nullptr,               "FreeBASIC" },
+
+  { "Object",      LinkerObject, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("Object File"),         { "o", "obj", nullptr },          objectfile_xpm,  nullptr,               nullptr         },
+  { "Library",     LinkerObject, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("Library File"),        { "a", "lib", nullptr },          objectfile_xpm,  nullptr,               nullptr         },
+
+  { "Lkr",         LinkerScript, Editable, SourceFamily::Nb_Types, I18N_NOOP("Linker Script"),           { "lkr", nullptr },               includefile_xpm, nullptr,               nullptr         },
+  { "Gld",         LinkerScript, Editable, SourceFamily::Nb_Types, I18N_NOOP("Linker Script for PIC30"), { "gld", nullptr },               includefile_xpm, nullptr,               nullptr         },
+
+  { "Hex",         Nb_FileGroups, Editable,            SourceFamily::Nb_Types, I18N_NOOP("Hex File"),            { "hex", nullptr },               nullptr,               "text/x-hex",    nullptr         },
+  { "Elf",         Nb_FileGroups, ReadOnly,            SourceFamily::Nb_Types, I18N_NOOP("Elf File"),            { "elf", nullptr },               nullptr,               nullptr,               nullptr         },
+  { "Project",     Nb_FileGroups, NoProperty,          SourceFamily::Nb_Types, I18N_NOOP("Project File"),        { "piklab", nullptr },            project_xpm,     nullptr,               nullptr         },
+  { "Lst",         Nb_FileGroups, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("List File"),           { "lst", nullptr },               nullptr,               "text/plain",    nullptr         },
+  { "Map",         Nb_FileGroups, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("Map File"),            { "map", nullptr },               nullptr,               "text/plain",    nullptr         },
+  { "Cod",         Nb_FileGroups, ReadOnly,            SourceFamily::Nb_Types, I18N_NOOP("COD File"),            { "cod", nullptr },               nullptr,               nullptr,               nullptr         },
+  { "Coff",        Nb_FileGroups, Editable | ReadOnly, SourceFamily::Nb_Types, I18N_NOOP("COFF File"),           { "cof", nullptr },               nullptr,               "application/x-object", "XCoffDisasm" },
+
+  { "",            Nb_FileGroups, NoProperty,          SourceFamily::Nb_Types, I18N_NOOP("Unknown File"),        { nullptr },                      nullptr,               nullptr,               nullptr         },
+  { "",            Nb_FileGroups, NoProperty,          SourceFamily::Nb_Types, I18N_NOOP("Pikdev Project File"), { "pikprj", nullptr },            nullptr,               nullptr,               nullptr         }
 };
 
 TQString PURL::addExtension(const TQString &filename, FileType type)
diff --git a/src/common/common/qflags.h b/src/common/common/qflags.h
index 6d7c2ff..145f071 100644
--- a/src/common/common/qflags.h
+++ b/src/common/common/qflags.h
@@ -44,7 +44,7 @@ public:
     typedef Enum enum_type;
     inline TQFlags(const TQFlags &f) : i(f.i) {}
     inline TQFlags(Enum f) : i(f) {}
-    inline TQFlags(Zero = 0) : i(0) {}
+    inline TQFlags(Zero = nullptr) : i(0) {}
     inline TQFlags(TQFlag f) : i(f) {}
 
     inline TQFlags &operator=(const TQFlags &f) { i = f.i; return *this; }
diff --git a/src/common/common/storage.h b/src/common/common/storage.h
index 0e87296..751ba31 100644
--- a/src/common/common/storage.h
+++ b/src/common/common/storage.h
@@ -37,7 +37,7 @@ class GenericStorage : public TQObject
 TQ_OBJECT
   
 public:
-  GenericStorage(TQObject *parent = 0, const char *name = 0) : TQObject(parent, name), _dirty(false) {}
+  GenericStorage(TQObject *parent = nullptr, const char *name = nullptr) : TQObject(parent, name), _dirty(false) {}
 
 signals:
   void changed();
diff --git a/src/common/common/synchronous.cpp b/src/common/common/synchronous.cpp
index 4daa81e..5c5cd4e 100644
--- a/src/common/common/synchronous.cpp
+++ b/src/common/common/synchronous.cpp
@@ -23,9 +23,9 @@ void tqt_leave_modal(TQWidget *widget);
 
 bool Synchronous::enterLoop()
 {
-  TQWidget *dummy = 0;
+  TQWidget *dummy = nullptr;
   if ( tqApp->type()!=TQApplication::Tty ) {
-    dummy = new TQWidget(0, 0, WType_Dialog | WShowModal);
+    dummy = new TQWidget(nullptr, nullptr, WType_Dialog | WShowModal);
     dummy->setFocusPolicy(TQWidget::NoFocus);
     tqt_enter_modal(dummy);
   }
diff --git a/src/common/common/version_data.cpp b/src/common/common/version_data.cpp
index 926f290..a1ce407 100644
--- a/src/common/common/version_data.cpp
+++ b/src/common/common/version_data.cpp
@@ -30,9 +30,9 @@ VersionData VersionData::fromHexString(const TQString &s)
   VersionData vd;
   if ( s.length()!=6 ) return vd;
   vd._valid = true;
-  vd._majorNum = ::fromString(NumberBase::Hex, s.mid(0, 2), 0);
-  vd._minorNum = ::fromString(NumberBase::Hex, s.mid(2, 2), 0);
-  vd._dotNum = ::fromString(NumberBase::Hex, s.mid(4, 2), 0);
+  vd._majorNum = ::fromString(NumberBase::Hex, s.mid(0, 2), nullptr);
+  vd._minorNum = ::fromString(NumberBase::Hex, s.mid(2, 2), nullptr);
+  vd._dotNum = ::fromString(NumberBase::Hex, s.mid(4, 2), nullptr);
   return vd;
 }
 
diff --git a/src/common/global/about.cpp b/src/common/global/about.cpp
index 6dc0b80..53c013f 100644
--- a/src/common/global/about.cpp
+++ b/src/common/global/about.cpp
@@ -17,7 +17,7 @@ const char * const Piklab::URLS[Nb_UrlTypes] = {
 
 //-----------------------------------------------------------------------------
 Piklab::OptionList::OptionList(const TDECmdLineOptions *options)
-  : _options(0)
+  : _options(nullptr)
 {
   for (uint i=0; options[i].name; i++) append(options[i]);
 }
@@ -30,7 +30,7 @@ const TDECmdLineOptions *Piklab::OptionList::ptr() const
     _options[i] = *at(i);
     Q_ASSERT( _options[i].name );
   }
-  _options[count()].name = 0;
+  _options[count()].name = nullptr;
   return _options;
 }
 
@@ -68,7 +68,7 @@ Piklab::AboutData::AboutData(const char *executable, const char *name,
 			     const char *description)
   : TDEAboutData(executable, name, VERSION, description, TDEAboutData::License_GPL,
                "(c) 2005-2007 Nicolas Hadacek\n(c) 2002-2005 Alain Gibaud\n(c) 2003-2004 Stephen Landamore\n(c) 2005 Lorenz Möenlechner and Matthias Kranz\n(c) 2001-2005 Craig Franklin",
-               0, URLS[Homepage], URLS[BugReport])
+               nullptr, URLS[Homepage], URLS[BugReport])
 {
   addAuthor("Nicolas Hadacek", I18N_NOOP("Author and maintainer."), "hadacek@kde.org");
   addAuthor("Alain Gibaud", I18N_NOOP("Original author of PiKdev."), "alain.gibaud@free.fr");
@@ -76,7 +76,7 @@ Piklab::AboutData::AboutData(const char *executable, const char *name,
   addAuthor("Craig Franklin", I18N_NOOP("Author of gputils"), "craigfranklin@users.sourceforge.net");
   addAuthor("Sébastien Laoût", I18N_NOOP("Author of likeback"), "slaout@linux62.org");
 
-  addCredit("Brian C. Lane", I18N_NOOP("Original code for direct programming."), 0);
+  addCredit("Brian C. Lane", I18N_NOOP("Original code for direct programming."), nullptr);
   addCredit("Manwlis \"Manos\" Giannos", I18N_NOOP("Direct programming for PIC18F devices."), "mgiannos2000@yahoo.gr");
   addCredit("Sean A. Walberg", I18N_NOOP("Direct programming for 16F676/630."), "sean@ertw.com");
   addCredit("Mirko Panciri", I18N_NOOP("Support for direct programmers with bidirectionnal buffers."), "mirko.panciri@adept.it");
diff --git a/src/common/global/about.h b/src/common/global/about.h
index 920eabc..a46f0d6 100644
--- a/src/common/global/about.h
+++ b/src/common/global/about.h
@@ -17,7 +17,7 @@ namespace Piklab
 class OptionList : public TQValueList<TDECmdLineOptions>
 {
 public:
-  OptionList() : _options(0) {}
+  OptionList() : _options(nullptr) {}
   OptionList(const TDECmdLineOptions *options);
   virtual ~OptionList() { delete[] _options; }
   const TDECmdLineOptions *ptr() const;
diff --git a/src/common/global/generic_config.h b/src/common/global/generic_config.h
index 74002e5..bb8c84e 100644
--- a/src/common/global/generic_config.h
+++ b/src/common/global/generic_config.h
@@ -33,7 +33,7 @@ public:
   void writeEntry(const TQString &key, const TQStringList &value);
   TQValueList<int> readIntListEntry(const TQString &key) const;
   void writeEntry(const TQString &key, const TQValueList<int> &value);
-  TQSize readSizeEntry(const TQString &key, const TQSize *def = 0) const;
+  TQSize readSizeEntry(const TQString &key, const TQSize *def = nullptr) const;
   void writeEntry(const TQString &key, const TQSize &value);
   bool readBoolEntry(const TQString &key, bool def) const;
   void writeEntry(const TQString &key, bool value);
diff --git a/src/common/global/log.cpp b/src/common/global/log.cpp
index 62955da..30bfd2b 100644
--- a/src/common/global/log.cpp
+++ b/src/common/global/log.cpp
@@ -13,16 +13,16 @@
 
 //-----------------------------------------------------------------------------
 const Log::LineType::Data Log::LineType::DATA[Nb_Types] = {
-  { 0, 0, "red",    false }, // error
-  { 0, 0, "red",    false }, // soft error
-  { 0, 0, "orange", false }, // warning
-  { 0, 0, "black",  false }, // normal
-  { 0, 0, "blue",   false }, // info
-  { 0, 0, "black",  true  }, // command
+  { nullptr, nullptr, "red",    false }, // error
+  { nullptr, nullptr, "red",    false }, // soft error
+  { nullptr, nullptr, "orange", false }, // warning
+  { nullptr, nullptr, "black",  false }, // normal
+  { nullptr, nullptr, "blue",   false }, // info
+  { nullptr, nullptr, "black",  true  }, // command
 };
 
 const Log::DebugLevel::Data Log::DebugLevel::DATA[Nb_Types] = {
-  { "quiet", I18N_NOOP("No debug message"),      0,           false },
+  { "quiet", I18N_NOOP("No debug message"),      nullptr,           false },
   { "debug", I18N_NOOP("Normal debug messages"), "darkGreen", false },
   { "extra-debug", I18N_NOOP("Extra debug messages"),  "darkGreen", false },
   { "max-debug", I18N_NOOP("Max debug messages"),    "darkGreen", false },
@@ -73,7 +73,7 @@ bool Log::StringView::askContinue(const TQString &message)
 
 //-----------------------------------------------------------------------------
 Log::Base::Base(Base *parent)
-  : _parent(0), _data(0)
+  : _parent(nullptr), _data(nullptr)
 {
   setParent(parent);
 }
@@ -82,7 +82,7 @@ void Log::Base::setParent(Base *parent)
 {
   delete _data;
   _parent = parent;
-  _data = (parent ? 0 : new LogData);
+  _data = (parent ? nullptr : new LogData);
 }
 
 Log::Base::~Base()
@@ -124,7 +124,7 @@ void Log::Base::sorry(const TQString &message, const TQString &details)
 
 bool Log::Base::askContinue(const TQString &message)
 {
-  if ( view()==0 ) return false;
+  if ( !view() ) return false;
   return view()->askContinue(message);
 }
 
diff --git a/src/common/global/log.h b/src/common/global/log.h
index f38543d..f793b13 100644
--- a/src/common/global/log.h
+++ b/src/common/global/log.h
@@ -85,7 +85,7 @@ private:
 class Base : public Generic
 {
 public:
-  Base(Base *parent = 0);
+  Base(Base *parent = nullptr);
   virtual ~Base();
   void setParent(Base *parent);
   void setView(View *view);
@@ -107,7 +107,7 @@ protected:
   Base *_parent;
   class LogData {
   public:
-    LogData() : view(0) {}
+    LogData() : view(nullptr) {}
     TQString error;
     View *view;
   };
diff --git a/src/common/global/pfile.cpp b/src/common/global/pfile.cpp
index 66d7f4b..dfc0688 100644
--- a/src/common/global/pfile.cpp
+++ b/src/common/global/pfile.cpp
@@ -12,7 +12,7 @@
 
 //-----------------------------------------------------------------------------
 PURL::FileBase::FileBase(Log::Generic &log, const TQString &extension)
-  : _tmp(0), _file(0), _stream(0), _extension(extension), _log(log)
+  : _tmp(nullptr), _file(nullptr), _stream(nullptr), _extension(extension), _log(log)
 {}
 
 PURL::FileBase::~FileBase()
@@ -39,20 +39,20 @@ void PURL::FileBase::flush()
 
 TQTextStream &PURL::FileBase::stream()
 {
-  if ( _stream==0 ) _stream = new TQTextStream(qfile());
+  if ( !_stream ) _stream = new TQTextStream(qfile());
   return *_stream;
 }
 
 bool PURL::FileBase::hasError() const
 {
-  if ( qfile()==0 || !_error.isEmpty() ) return true;
+  if ( !qfile() || !_error.isEmpty() ) return true;
   return ( uint(qfile()->status())!=IO_Ok );
 }
 
 TQString PURL::FileBase::errorString() const
 {
   if ( _error.isEmpty() ) {
-    if ( qfile()==0 ) return i18n("File not open.");
+    if ( !qfile() ) return i18n("File not open.");
     else return qfile()->errorString();
   }
   return _error;
diff --git a/src/common/global/process.cpp b/src/common/global/process.cpp
index 26abf3e..1124693 100644
--- a/src/common/global/process.cpp
+++ b/src/common/global/process.cpp
@@ -49,7 +49,7 @@ Process::Base::~Base()
 
 TQStringList Process::Base::arguments() const
 {
-  if ( _process==0 ) return TQStringList();
+  if ( !_process ) return TQStringList();
 #if defined(NO_KDE)
   return _process->args();
 #else
diff --git a/src/common/global/process.h b/src/common/global/process.h
index bfafc78..4a5d816 100644
--- a/src/common/global/process.h
+++ b/src/common/global/process.h
@@ -77,7 +77,7 @@ class StringOutput : public Base
 TQ_OBJECT
   
 public:
-  StringOutput(TQObject *parent = 0, const char *name = 0) : Base(parent, name) {}
+  StringOutput(TQObject *parent = nullptr, const char *name = nullptr) : Base(parent, name) {}
   TQString sout() const { return _stdout; }
   TQString serr() const { return _stderr; }
 
@@ -92,7 +92,7 @@ class LineBase : public Base
 TQ_OBJECT
   
 public:
-  LineBase(TQObject *parent = 0, const char *name = 0) : Base(parent, name) {}
+  LineBase(TQObject *parent = nullptr, const char *name = nullptr) : Base(parent, name) {}
 
 private slots:
   virtual void receivedStdout(TDEProcess *, char *buffer, int len);
@@ -109,7 +109,7 @@ class LineOutput : public LineBase
 TQ_OBJECT
   
 public:
-  LineOutput(TQObject *parent = 0, const char *name = 0) : LineBase(parent, name) {}
+  LineOutput(TQObject *parent = nullptr, const char *name = nullptr) : LineBase(parent, name) {}
   virtual bool start(uint timeout);
   TQStringList sout() const { return _stdoutLines; }
   TQStringList serr() const { return _stderrLines; }
@@ -127,7 +127,7 @@ class LineSignal : public LineBase
 TQ_OBJECT
   
 public:
-  LineSignal(TQObject *parent = 0, const char *name = 0) : LineBase(parent, name) {}
+  LineSignal(TQObject *parent = nullptr, const char *name = nullptr) : LineBase(parent, name) {}
 
 signals:
   void logStdoutLine(const TQString &line);
diff --git a/src/common/global/progress_monitor.h b/src/common/global/progress_monitor.h
index 8e5c235..44307dc 100644
--- a/src/common/global/progress_monitor.h
+++ b/src/common/global/progress_monitor.h
@@ -16,7 +16,7 @@ class ProgressMonitor : public TQObject
 TQ_OBJECT
   
 public:
-  ProgressMonitor(TQObject *parent = 0);
+  ProgressMonitor(TQObject *parent = nullptr);
   void clear();
   void appendTask(const TQString &label, uint nbSteps);
   void insertTask(const TQString &label, uint nbSteps);
diff --git a/src/common/global/purl.cpp b/src/common/global/purl.cpp
index bf54c78..ac896c2 100644
--- a/src/common/global/purl.cpp
+++ b/src/common/global/purl.cpp
@@ -154,13 +154,13 @@ TQString PURL::Private::convertWindowsShortFilepath(const TQString &filepath)
 }
 
 //-----------------------------------------------------------------------------
-PURL::Private *PURL::Base::_private = 0;
+PURL::Private *PURL::Base::_private = nullptr;
 
 PURL::Base::Base(const TQString &filepath)
   : _relative(true)
 {
   if ( !filepath.isEmpty() ) {
-    if ( _private==0 ) _private = new Private;
+    if ( !_private ) _private = new Private;
 #if defined(Q_OS_UNIX)
     TQString tmp = _private->convertWindowsFilepath(filepath);
 #else
diff --git a/src/common/global/purl.h b/src/common/global/purl.h
index 0867a1d..d76c9b6 100644
--- a/src/common/global/purl.h
+++ b/src/common/global/purl.h
@@ -53,7 +53,7 @@ public:
   Directory directory() const;
   bool isInto(const Directory &dir) const;
   bool isRelative() const { return _relative; }
-  bool exists(TQDateTime *lastModified = 0) const;
+  bool exists(TQDateTime *lastModified = nullptr) const;
 
 protected:
   bool _relative;
@@ -61,7 +61,7 @@ protected:
   static Private *_private;
 
 private:
-  bool httpUrlExists(bool *ok = 0) const;
+  bool httpUrlExists(bool *ok = nullptr) const;
 };
 
 //----------------------------------------------------------------------------
diff --git a/src/common/gui/config_widget.h b/src/common/gui/config_widget.h
index b9959e8..e59d816 100644
--- a/src/common/gui/config_widget.h
+++ b/src/common/gui/config_widget.h
@@ -23,7 +23,7 @@ class ConfigWidget : public Container
 TQ_OBJECT
   
 public:
-  ConfigWidget(TQWidget *parent = 0) : Container(parent) {}
+  ConfigWidget(TQWidget *parent = nullptr) : Container(parent) {}
   virtual TQString title() const { return TQString(); }
   virtual TQString header() const { return TQString(); }
   virtual TQPixmap pixmap() const { return TQPixmap(); }
@@ -56,7 +56,7 @@ private:
   TQValueVector<TQWidget *> _widgets;
 
   static TQWidget *createWidget(Type type, ConfigWidget *widget) {
-    TQWidget *w = 0;
+    TQWidget *w = nullptr;
     uint row = widget->numRows();
     switch (type.data().defValue.type()) {
       case TQVariant::Bool:
diff --git a/src/common/gui/container.h b/src/common/gui/container.h
index 50a12f2..4c03baa 100644
--- a/src/common/gui/container.h
+++ b/src/common/gui/container.h
@@ -23,7 +23,7 @@ TQ_OBJECT
   
 public:
   enum Type { Flat, Sunken };
-  Container(TQWidget *parent = 0, Type type = Flat);
+  Container(TQWidget *parent = nullptr, Type type = Flat);
   Container(TQWidgetStack *stack, uint index, Type type = Flat);
   Container(TQTabWidget *tabw, const TQString &title, Type type = Flat);
   void addWidget(TQWidget *widget, uint startRow, uint endRow, uint startCol, uint endCol, int alignment = 0);
diff --git a/src/common/gui/dialog.cpp b/src/common/gui/dialog.cpp
index fb20b34..cf3ff0f 100644
--- a/src/common/gui/dialog.cpp
+++ b/src/common/gui/dialog.cpp
@@ -100,8 +100,8 @@ TQWidget *TreeListDialog::addPage(const TQStringList &labels)
 {
   Q_ASSERT( !labels.isEmpty() );
 
-  TQWidget *page = 0;
-  TQListViewItem *item = 0;
+  TQWidget *page = nullptr;
+  TQListViewItem *item = nullptr;
   TQListViewItemIterator it(_listView);
   for (; it.current(); ++it) {
     if ( it.current()->text(0)==labels[0] ) {
@@ -109,7 +109,7 @@ TQWidget *TreeListDialog::addPage(const TQStringList &labels)
       break;
     }
   }
-  if ( item==0 ) {
+  if ( !item ) {
     page = new TQWidget(_stack);
     connect(page, TQ_SIGNAL(destroyed(TQObject *)), TQ_SLOT(pageDestroyed(TQObject *)));
     _stack->addWidget(page);
@@ -120,7 +120,7 @@ TQWidget *TreeListDialog::addPage(const TQStringList &labels)
   }
   for (uint i=1; i<labels.count(); i++) {
     TQListViewItem *parent = item;
-    item = 0;
+    item = nullptr;
     TQListViewItemIterator iti(parent);
     for (; it.current(); ++it) {
       if ( it.current()->text(0)==labels[i] ) {
@@ -128,7 +128,7 @@ TQWidget *TreeListDialog::addPage(const TQStringList &labels)
         break;
       }
     }
-    if ( item==0 ) {
+    if ( !item ) {
       page = new TQWidget(_stack);
       connect(page, TQ_SIGNAL(destroyed(TQObject *)), TQ_SLOT(pageDestroyed(TQObject *)));
       _stack->addWidget(page);
@@ -144,7 +144,7 @@ TQWidget *TreeListDialog::addPage(const TQStringList &labels)
 
 void TreeListDialog::currentChanged(TQListViewItem *lvitem)
 {
-  if ( lvitem==0 ) return;
+  if ( !lvitem ) return;
   Item *item = static_cast<Item *>(lvitem);
   _listView->ensureItemVisible(item);
   _label->setText(item->_title);
@@ -172,7 +172,7 @@ int TreeListDialog::pageIndex(TQWidget *page) const
 int TreeListDialog::activePageIndex() const
 {
   const Item *item = static_cast<const Item *>(_listView->currentItem());
-  if ( item==0 ) return -1;
+  if ( !item ) return -1;
   return pageIndex(item->_page);
 }
 
diff --git a/src/common/gui/editlistbox.cpp b/src/common/gui/editlistbox.cpp
index c87e034..b39cd79 100644
--- a/src/common/gui/editlistbox.cpp
+++ b/src/common/gui/editlistbox.cpp
@@ -47,12 +47,12 @@ EditListBox::EditListBox(uint nbColumns, TQWidget *view, KLineEdit *lineEdit, TQ
 
 void EditListBox::init(uint nbColumns, TQWidget *view)
 {
-    _addButton = 0;
-    _removeButton = 0;
-    _moveUpButton = 0;
-    _moveDownButton = 0;
-    _removeAllButton = 0;
-    _resetButton = 0;
+    _addButton = nullptr;
+    _removeButton = nullptr;
+    _moveUpButton = nullptr;
+    _moveDownButton = nullptr;
+    _removeAllButton = nullptr;
+    _resetButton = nullptr;
     setSizePolicy(TQSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::MinimumExpanding));
 
     TQGridLayout *grid = new TQGridLayout(this, 1, 1, 0, KDialog::spacingHint());
@@ -102,7 +102,7 @@ void EditListBox::setButtons(Buttons buttons)
     _buttons = buttons;
 
     delete _addButton;
-    _addButton = 0;
+    _addButton = nullptr;
     if ( buttons & Add ) {
         _addButton = new KPushButton(KStdGuiItem::add(), this);
         _addButton->setEnabled(false);
@@ -112,7 +112,7 @@ void EditListBox::setButtons(Buttons buttons)
     }
 
     delete _removeButton;
-    _removeButton = 0;
+    _removeButton = nullptr;
     if ( buttons & Remove ) {
         _removeButton = new KPushButton(KGuiItem(i18n("Remove"), "clear"), this);
         _removeButton->setEnabled(false);
@@ -122,7 +122,7 @@ void EditListBox::setButtons(Buttons buttons)
     }
 
     delete _removeAllButton;
-    _removeAllButton = 0;
+    _removeAllButton = nullptr;
     if ( buttons & RemoveAll ) {
         _removeAllButton = new KPushButton(KGuiItem(i18n("Remove All"), "delete"), this);
         _removeAllButton->show();
@@ -131,9 +131,9 @@ void EditListBox::setButtons(Buttons buttons)
     }
 
     delete _moveUpButton;
-    _moveUpButton = 0;
+    _moveUpButton = nullptr;
     delete _moveDownButton;
-    _moveDownButton = 0;
+    _moveDownButton = nullptr;
     if ( buttons & UpDown ) {
         _moveUpButton = new KPushButton(KGuiItem(i18n("Move &Up"), "go-up"), this);
         _moveUpButton->setEnabled(false);
@@ -148,7 +148,7 @@ void EditListBox::setButtons(Buttons buttons)
     }
 
     delete _resetButton;
-    _resetButton = 0;
+    _resetButton = nullptr;
     if ( buttons & Reset ) {
         _resetButton = new KPushButton(KStdGuiItem::reset(), this);
         _resetButton->show();
@@ -172,7 +172,7 @@ void EditListBox::typedSomething(const TQString& text)
 void EditListBox::moveItemUp()
 {
   TQListViewItem *item = _listView->selectedItem();
-  if ( item==0 || item->itemAbove()==0 ) return;
+  if ( !item || !item->itemAbove() ) return;
   item->itemAbove()->moveItem(item);
   updateButtons();
   emit changed();
@@ -181,7 +181,7 @@ void EditListBox::moveItemUp()
 void EditListBox::moveItemDown()
 {
   TQListViewItem *item = _listView->selectedItem();
-  if ( item==0 || item->itemBelow()==0 ) return;
+  if ( !item || !item->itemBelow() ) return;
   item->moveItem(item->itemBelow());
   updateButtons();
   emit changed();
@@ -192,7 +192,7 @@ void EditListBox::addItem()
     // when m_checkAtEntering is true, the add-button is disabled, but this
     // slot can still be called through Key_Return/Key_Enter. So we guard
     // against this.
-    if ( !_addButton || !_addButton->isEnabled() || m_lineEdit==0 ) return;
+    if ( !_addButton || !_addButton->isEnabled() || !m_lineEdit ) return;
 
     addItem(m_lineEdit->text());
 }
@@ -276,7 +276,7 @@ const TQListViewItem *EditListBox::item(uint i) const
     if ( k==i ) return it.current();
     k++;
   }
-  return 0;
+  return nullptr;
 }
 
 TQStringList EditListBox::texts() const
@@ -302,7 +302,7 @@ void EditListBox::updateButtons()
 {
   TQListViewItem *item = _listView->selectedItem();
   if (_addButton) {
-    if ( m_lineEdit==0 ) _addButton->setEnabled(true);
+    if ( !m_lineEdit ) _addButton->setEnabled(true);
     else {
       TQString text = m_lineEdit->text();
       if ( _mode!=DuplicatesCheckedAtEntering ) _addButton->setEnabled(!text.isEmpty());
@@ -331,7 +331,7 @@ TQListViewItem *EditListBox::createItem()
 TQString EditListBox::selectedText() const
 {
   TQListViewItem *item = _listView->selectedItem();
-  if ( item==0 ) return TQString();
+  if ( !item ) return TQString();
   return item->text(textColumn());
 }
 
diff --git a/src/common/gui/editlistbox.h b/src/common/gui/editlistbox.h
index d6d881b..cc171bd 100644
--- a/src/common/gui/editlistbox.h
+++ b/src/common/gui/editlistbox.h
@@ -41,9 +41,9 @@ TQ_OBJECT
       enum Button { Add = 1, Remove = 2, UpDown = 4, RemoveAll = 8, Reset = 16 };
       TQ_DECLARE_FLAGS(Buttons, Button)
 
-      EditListBox(uint nbColumns, TQWidget *parent = 0, const char *name = 0, Mode mode = DuplicatesDisallowed,
+      EditListBox(uint nbColumns, TQWidget *parent = nullptr, const char *name = nullptr, Mode mode = DuplicatesDisallowed,
                   Buttons buttons = Buttons(Add|Remove|RemoveAll|UpDown) );
-      EditListBox(uint nbColumns, TQWidget *view, KLineEdit *lineEdit, TQWidget *parent = 0, const char *name = 0,
+      EditListBox(uint nbColumns, TQWidget *view, KLineEdit *lineEdit, TQWidget *parent = nullptr, const char *name = nullptr,
                   Mode mode = DuplicatesDisallowed, Buttons buttons = Buttons(Add|Remove|RemoveAll|UpDown) );
       void setTexts(const TQStringList& items);
       TQStringList texts() const;
diff --git a/src/common/gui/hexword_gui.cpp b/src/common/gui/hexword_gui.cpp
index aabf40f..c4a832b 100644
--- a/src/common/gui/hexword_gui.cpp
+++ b/src/common/gui/hexword_gui.cpp
@@ -52,7 +52,7 @@ bool GenericHexWordEditor::changeValue()
     s = s.leftJustify(_nbChars, '0', true);
     for (uint i=0; i<_nbChars; i++)
       if ( !isxdigit(s[i].latin1()) ) s[i] = '0';
-    v = normalizeWord(fromHex(s, 0));
+    v = normalizeWord(fromHex(s, nullptr));
     setText(toHex(v, _nbChars));
   }
   if ( v==word() ) return false;
diff --git a/src/common/gui/list_container.cpp b/src/common/gui/list_container.cpp
index 47f87aa..d50cd9f 100644
--- a/src/common/gui/list_container.cpp
+++ b/src/common/gui/list_container.cpp
@@ -42,7 +42,7 @@ void PopupContainer::appendItem(const TQPixmap &icon, const TQString &label, uin
 
 //----------------------------------------------------------------------------
 ListViewItemContainer::ListViewItemContainer(const TQString &title, TDEListView *parent)
-  : TDEListViewItem(parent, title), _parent(0), _column(0)
+  : TDEListViewItem(parent, title), _parent(nullptr), _column(0)
 {
   _ids = new TQMap<const TQListViewItem *, uint>;
 }
@@ -55,7 +55,7 @@ ListViewItemContainer::ListViewItemContainer(const TQString &title, ListViewItem
 
 ListViewItemContainer::~ListViewItemContainer()
 {
-  if ( _parent==0 ) delete _ids;
+  if ( !_parent ) delete _ids;
 }
 
 ListContainer *ListViewItemContainer::appendBranch(const TQString &title)
@@ -72,7 +72,7 @@ ListContainer *ListViewItemContainer::appendBranch(const TQString &title)
 
 void ListViewItemContainer::appendItem(const TQPixmap &icon, const TQString &title, uint id, ItemState state)
 {
-  TQListViewItem *item = 0;
+  TQListViewItem *item = nullptr;
   if ( state==Normal || state==Disabled ) {
     item = new TDEListViewItem(this);
     item->setText(_column, title);
diff --git a/src/common/gui/list_container.h b/src/common/gui/list_container.h
index f99e3dc..b336c66 100644
--- a/src/common/gui/list_container.h
+++ b/src/common/gui/list_container.h
@@ -29,7 +29,7 @@ class PopupContainer : public TDEPopupMenu, public ListContainer
 TQ_OBJECT
   
 public:
-  PopupContainer(const TQString &title, TQWidget *parent = 0, const char *name = 0);
+  PopupContainer(const TQString &title, TQWidget *parent = nullptr, const char *name = nullptr);
   virtual ListContainer *appendBranch(const TQString &title);
   virtual ListContainer *appendBranch(const TQPixmap &icon, const TQString &title);
   virtual void appendItem(const TQPixmap &icon, const TQString &label, uint id, ItemState state);
diff --git a/src/common/gui/list_view.cpp b/src/common/gui/list_view.cpp
index 1d9274d..adb017e 100644
--- a/src/common/gui/list_view.cpp
+++ b/src/common/gui/list_view.cpp
@@ -92,9 +92,9 @@ void ListView::stopRenaming(bool force)
 //----------------------------------------------------------------------------
 void ListViewToolTip::maybeTip(const TQPoint &p)
 {
-  if ( _listView==0 ) return;
+  if ( !_listView ) return;
   const TQListViewItem* item = _listView->itemAt(p);
-  if ( item==0 ) return;
+  if ( !item ) return;
   TQRect rect = _listView->itemRect(item);
   if ( !rect.isValid() ) return;
   int col = _listView->header()->sectionAt(p.x());
@@ -159,7 +159,7 @@ void EditListViewItem::startRename()
     if ( r.width()>lv->visibleWidth() ) r.setWidth(lv->visibleWidth());
 
     _editWidgets[i] = editWidgetFactory(i);
-    if ( _editWidgets[i]==0 ) continue;
+    if ( !_editWidgets[i] ) continue;
     _editWidgets[i]->installEventFilter(lv);
     lv->addChild(_editWidgets[i], r.x(), r.y());
     uint w = TQMIN(r.width(), _editWidgets[i]->sizeHint().width());
@@ -182,7 +182,7 @@ void EditListViewItem::removeEditBox()
   }
   _editWidgets.clear();
   delete renameBox;
-  renameBox = 0;
+  renameBox = nullptr;
   if (resetFocus) {
     lv->viewport()->setFocusProxy(lv);
     lv->setFocus();
@@ -214,7 +214,7 @@ int EditListViewItem::width(const TQFontMetrics &fm, const TQListView *lv, int c
 {
   int w = TDEListViewItem::width(fm, lv, col);
   TQWidget *edit = editWidgetFactory(col);
-  if ( edit==0 ) return w;
+  if ( !edit ) return w;
   w = TQMAX(w, edit->sizeHint().width());
   delete edit;
   return w;
diff --git a/src/common/gui/list_view.h b/src/common/gui/list_view.h
index a026a7c..fab4d70 100644
--- a/src/common/gui/list_view.h
+++ b/src/common/gui/list_view.h
@@ -26,7 +26,7 @@ class ListView : public TDEListView
 TQ_OBJECT
   
 public:
-  ListView(TQWidget *parent = 0, const char *name = 0);
+  ListView(TQWidget *parent = nullptr, const char *name = nullptr);
   virtual ~ListView();
   virtual void clear();
   void stopRenaming(bool force);
diff --git a/src/common/gui/misc_gui.h b/src/common/gui/misc_gui.h
index 388489f..8706e65 100644
--- a/src/common/gui/misc_gui.h
+++ b/src/common/gui/misc_gui.h
@@ -65,11 +65,11 @@ class PopupButton : public KPushButton
 TQ_OBJECT
   
 public:
-  PopupButton(TQWidget *parent = 0, const char *name = 0);
-  PopupButton(const TQString &text, TQWidget *parent = 0, const char *name = 0);
+  PopupButton(TQWidget *parent = nullptr, const char *name = nullptr);
+  PopupButton(const TQString &text, TQWidget *parent = nullptr, const char *name = nullptr);
   void appendAction(TDEAction *action);
   void appendAction(const TQString &label, const TQString &icon = TQString(),
-                    TQObject *receiver = 0, const char *slot = 0);
+                    TQObject *receiver = nullptr, const char *slot = nullptr);
   int appendItem(const TQString &label, uint id) { return appendItem(label, TQPixmap(), id); }
   int appendItem(const TQString &label, const TQString &icon, int id = -1);
   int appendItem(const TQString &label, const TQPixmap &icon, int id = -1);
@@ -127,7 +127,7 @@ class TabBar : public KTabBar
 TQ_OBJECT
   
 public:
-  TabBar(TQWidget *parent = 0, const char *name = 0);
+  TabBar(TQWidget *parent = nullptr, const char *name = nullptr);
 
 protected:
   virtual void wheelEvent(TQWheelEvent *e);
@@ -143,7 +143,7 @@ class TabWidget : public KTabWidget
 TQ_OBJECT
   
 public:
-  TabWidget(TQWidget *parent = 0, const char *name = 0);
+  TabWidget(TQWidget *parent = nullptr, const char *name = nullptr);
   void setIgnoreWheelEvent(bool ignore);
 
 protected:
@@ -157,7 +157,7 @@ class ComboBox : public TQComboBox
 TQ_OBJECT
   
 public:
-  ComboBox(TQWidget *parent = 0, const char *name = 0);
+  ComboBox(TQWidget *parent = nullptr, const char *name = nullptr);
   void setIgnoreWheelEvent(bool ignore) { _ignoreWheelEvent = ignore; }
 
 protected:
diff --git a/src/common/gui/number_gui.h b/src/common/gui/number_gui.h
index d31e75c..88ee8d2 100644
--- a/src/common/gui/number_gui.h
+++ b/src/common/gui/number_gui.h
@@ -28,9 +28,9 @@ class NumberLineEdit : public KLineEdit
 TQ_OBJECT
   
 public:
-  NumberLineEdit(TQWidget *parent = 0, const char *name = 0);
-  NumberLineEdit(const TQString &text, TQWidget *parent = 0, const char *name = 0);
-  uint value(bool *ok = 0) const { return fromAnyLabel(text(), ok); }
+  NumberLineEdit(TQWidget *parent = nullptr, const char *name = nullptr);
+  NumberLineEdit(const TQString &text, TQWidget *parent = nullptr, const char *name = nullptr);
+  uint value(bool *ok = nullptr) const { return fromAnyLabel(text(), ok); }
   void setColor(const TQColor &color) { setPaletteForegroundColor(color); }
   void unsetColor() { unsetPalette(); }
 
diff --git a/src/common/gui/pfile_ext.cpp b/src/common/gui/pfile_ext.cpp
index 1ace10f..283bb59 100644
--- a/src/common/gui/pfile_ext.cpp
+++ b/src/common/gui/pfile_ext.cpp
@@ -38,14 +38,14 @@ bool PURL::File::close()
     _file->setName(TQString());
   }
   delete _stream;
-  _stream = 0;
+  _stream = nullptr;
   if ( ok && _tmp && !_url.isEmpty() && !TDEIO::NetAccess::upload(_tmp->name(), _url.kurl(), tqApp->mainWidget()) ) {
     _error = TDEIO::NetAccess::lastErrorString();
     ok = false;
     _log.sorry(i18n("Could not save file."), errorString());
   }
   delete _tmp;
-  _tmp = 0;
+  _tmp = nullptr;
   return ok;
 }
 
@@ -87,7 +87,7 @@ PURL::Url PURL::TempFile::url() const
 bool PURL::TempFile::close()
 {
   delete _stream;
-  _stream = 0;
+  _stream = nullptr;
   if (_tmp) {
     _tmp->close();
     if ( _tmp->status()!=IO_Ok ) {
diff --git a/src/common/gui/purl_gui.cpp b/src/common/gui/purl_gui.cpp
index cfc0fe5..2e877b9 100644
--- a/src/common/gui/purl_gui.cpp
+++ b/src/common/gui/purl_gui.cpp
@@ -67,7 +67,7 @@ TQPixmap PURL::icon(FileType type)
 
 bool PURL::hasMimetype(FileType type)
 {
-  if ( type.data().mimetype==0 ) return false;
+  if ( !type.data().mimetype ) return false;
   KMimeType::Ptr ptr = KMimeType::mimeType(type.data().mimetype);
   return ( ptr!=KMimeType::defaultMimeTypePtr() );
 }
diff --git a/src/common/gui/purl_gui.h b/src/common/gui/purl_gui.h
index 7a97c7c..32b364c 100644
--- a/src/common/gui/purl_gui.h
+++ b/src/common/gui/purl_gui.h
@@ -37,7 +37,7 @@ class Label : public KURLLabel
 TQ_OBJECT
   
 public:
-  Label(const TQString &url, const TQString &text, TQWidget *parent = 0, const char *name = 0);
+  Label(const TQString &url, const TQString &text, TQWidget *parent = nullptr, const char *name = nullptr);
 
 private slots:
   void urlClickedSlot();
@@ -49,8 +49,8 @@ class BaseWidget : public TQWidget
 TQ_OBJECT
   
 public:
-  BaseWidget(TQWidget *parent = 0, const char *name = 0);
-  BaseWidget(const TQString &defaultDir, TQWidget *parent = 0, const char *name = 0);
+  BaseWidget(TQWidget *parent = nullptr, const char *name = nullptr);
+  BaseWidget(const TQString &defaultDir, TQWidget *parent = nullptr, const char *name = nullptr);
   KLineEdit *lineEdit() { return _edit; }
 
 signals:
@@ -72,8 +72,8 @@ class DirectoryWidget : public BaseWidget
 TQ_OBJECT
   
 public:
-  DirectoryWidget(TQWidget *parent = 0, const char *name = 0) : BaseWidget(parent, name) {}
-  DirectoryWidget(const TQString &defaultDir, TQWidget *parent = 0, const char *name = 0) : BaseWidget(defaultDir, parent, name) {}
+  DirectoryWidget(TQWidget *parent = nullptr, const char *name = nullptr) : BaseWidget(parent, name) {}
+  DirectoryWidget(const TQString &defaultDir, TQWidget *parent = nullptr, const char *name = nullptr) : BaseWidget(defaultDir, parent, name) {}
   void setDirectory(const Directory &dir) { _edit->setText(dir.path()); }
   Directory directory() const { return _edit->text(); }
 
@@ -87,8 +87,8 @@ class DirectoriesWidget : public TQVGroupBox
 TQ_OBJECT
   
 public:
-  DirectoriesWidget(const TQString &title, TQWidget *parent = 0, const char *name = 0);
-  DirectoriesWidget(const TQString &title, const TQString &defaultDir, TQWidget *parent = 0, const char *name = 0);
+  DirectoriesWidget(const TQString &title, TQWidget *parent = nullptr, const char *name = nullptr);
+  DirectoriesWidget(const TQString &title, const TQString &defaultDir, TQWidget *parent = nullptr, const char *name = nullptr);
   void setDirectories(const TQStringList &dirs) { _editListBox->setTexts(dirs); }
   TQStringList directories() const { return _editListBox->texts(); }
 
@@ -106,9 +106,9 @@ class UrlWidget : public BaseWidget
 TQ_OBJECT
   
 public:
-  UrlWidget(const TQString &filter, TQWidget *parent = 0, const char *name = 0)
+  UrlWidget(const TQString &filter, TQWidget *parent = nullptr, const char *name = nullptr)
     : BaseWidget(parent, name), _filter(filter) {}
-  UrlWidget(const TQString &defaultDir, const TQString &filter, TQWidget *parent = 0, const char *name = 0)
+  UrlWidget(const TQString &defaultDir, const TQString &filter, TQWidget *parent = nullptr, const char *name = nullptr)
     : BaseWidget(defaultDir, parent, name), _filter(filter) {}
   Url url() const { return PURL::Url::fromPathOrUrl(_edit->text()); }
   void setUrl(const Url &url) { _edit->setText(url.filepath()); }
diff --git a/src/common/port/parallel.cpp b/src/common/port/parallel.cpp
index 3d92ae0..a5f00fe 100644
--- a/src/common/port/parallel.cpp
+++ b/src/common/port/parallel.cpp
@@ -30,7 +30,7 @@
 #include "common/common/misc.h"
 
 //-----------------------------------------------------------------------------
-TQStringList *Port::Parallel::_list = 0;
+TQStringList *Port::Parallel::_list = nullptr;
 
 Port::IODirs Port::Parallel::probe(const TQString &device)
 {
@@ -71,7 +71,7 @@ TQStringList Port::Parallel::deviceList()
 
 const TQStringList &Port::Parallel::probedDeviceList()
 {
-  if ( _list==0 ) {
+  if ( !_list ) {
     TQStringList all = deviceList();
     _list = new TQStringList;
     for (uint i=0; i<uint(all.count()); i++)
diff --git a/src/common/port/port.cpp b/src/common/port/port.cpp
index a5545a4..7bc63eb 100644
--- a/src/common/port/port.cpp
+++ b/src/common/port/port.cpp
@@ -29,7 +29,7 @@ void getTime(int &sec, int &usec)
   usec = tb.millitm * 1000 + 500;
 #else
   struct timeval tv;
-  gettimeofday(&tv, 0);
+  gettimeofday(&tv, nullptr);
   usec = tv.tv_usec;
   sec = tv.tv_sec;
 #endif
diff --git a/src/common/port/serial.cpp b/src/common/port/serial.cpp
index c278c21..9c3a328 100644
--- a/src/common/port/serial.cpp
+++ b/src/common/port/serial.cpp
@@ -23,7 +23,7 @@
 #include <tqdatetime.h>
 
 //-----------------------------------------------------------------------------
-TQStringList *Port::Serial::_list = 0;
+TQStringList *Port::Serial::_list = nullptr;
 #if defined(Q_OS_UNIX)
 const Port::Serial::Handle Port::Serial::INVALID_HANDLE = -1;
 #elif defined(Q_OS_WIN)
@@ -94,7 +94,7 @@ TQStringList Port::Serial::deviceList()
 
 const TQStringList &Port::Serial::probedDeviceList()
 {
-  if ( _list==0 ) {
+  if ( !_list ) {
     TQStringList all = deviceList();
     _list = new TQStringList;
     for (uint i=0; i<uint(all.count()); i++)
@@ -256,7 +256,7 @@ bool Port::Serial::internalReceive(uint size, char *data, uint timeout)
     struct timeval tv;
     tv.tv_sec = timeout / 1000;
     tv.tv_usec = (timeout%1000)*1000;
-    int res = select(_fd+1, &rfd, 0, 0, &tv);
+    int res = select(_fd+1, &rfd, nullptr, nullptr, &tv);
     if ( res<0 ) {
       setSystemError(i18n("Error receiving data"));
       return false;
diff --git a/src/common/port/usb_port.cpp b/src/common/port/usb_port.cpp
index 8ef4168..76dac3c 100644
--- a/src/common/port/usb_port.cpp
+++ b/src/common/port/usb_port.cpp
@@ -24,7 +24,7 @@ class Port::USB::Private
 {
 public:
 #ifdef HAVE_USB
-  Private() : _interface(0) {}
+  Private() : _interface(nullptr) {}
   const usb_interface_descriptor *_interface;
 #endif
 };
@@ -153,7 +153,7 @@ struct usb_device *Port::USB::findDevice(uint vendorId, uint productId)
   Q_UNUSED(vendorId); Q_UNUSED(productId);
   tqDebug("USB support disabled");
 #endif
-  return 0;
+  return nullptr;
 }
 
 //-----------------------------------------------------------------------------
@@ -163,7 +163,7 @@ const char * const Port::USB::ENDPOINT_MODE_NAMES[Nb_EndpointModes] = {
 
 Port::USB::USB(Log::Base &base, uint vendorId, uint productId, uint config, uint interface)
   : Base(base), _vendorId(vendorId), _productId(productId),
-    _config(config), _interface(interface), _handle(0), _device(0)
+    _config(config), _interface(interface), _handle(nullptr), _device(nullptr)
 {
   Q_ASSERT( config>=1 );
   _private = new Private;
@@ -206,14 +206,14 @@ bool Port::USB::internalOpen()
 {
 #ifdef HAVE_USB
   _device = findDevice(_vendorId, _productId);
-  if ( _device==0 ) {
+  if ( !_device ) {
     log(Log::LineType::Error, i18n("Could not find USB device (vendor=%1 product=%2).")
              .arg(toLabel(NumberBase::Hex, _vendorId, 4)).arg(toLabel(NumberBase::Hex, _productId, 4)));
     return false;
   }
   log(Log::DebugLevel::Extra, TQString("found USB device as \"%1\" on bus \"%2\"").arg(_device->filename).arg(_device->bus->dirname));
   _handle = usb_open(_device);
-  if ( _handle==0 ) {
+  if ( !_handle ) {
     setSystemError(i18n("Error opening USB device."));
     return false;
   }
@@ -227,7 +227,7 @@ bool Port::USB::internalOpen()
 #  endif
   usb_close(_handle);
   _handle = usb_open(_device);
-  if ( _handle==0 ) {
+  if ( !_handle ) {
     setSystemError(i18n("Error opening USB device."));
     return false;
   }
@@ -270,14 +270,14 @@ bool Port::USB::internalOpen()
 
 void Port::USB::internalClose()
 {
-  if ( _handle==0 ) return;
+  if ( !_handle ) return;
 #ifdef HAVE_USB
   usb_release_interface(_handle, _interface);
   usb_close(_handle);
-  _private->_interface = 0;
+  _private->_interface = nullptr;
 #endif
-  _device = 0;
-  _handle = 0;
+  _device = nullptr;
+  _handle = nullptr;
 }
 
 bool Port::USB::sendControlMessage(const ControlMessageData &data)
@@ -288,7 +288,7 @@ bool Port::USB::sendControlMessage(const ControlMessageData &data)
   uint length = strlen(data.bytes) / 2;
   TQByteArray ba(length);
   for (uint i=0; i<length; i++)
-    ba[i] = fromString(NumberBase::Hex, s.mid(2*i, 2), 0);
+    ba[i] = fromString(NumberBase::Hex, s.mid(2*i, 2), nullptr);
   int res = usb_control_msg(_handle, data.type, data.request, data.value, 0, ba.data(), length, 1000); // 1s
   if ( res<0 ) {
     setSystemError(i18n("Error sending control message to USB port."));
diff --git a/src/common/port/usb_port.h b/src/common/port/usb_port.h
index 0da7aa1..80ee1ea 100644
--- a/src/common/port/usb_port.h
+++ b/src/common/port/usb_port.h
@@ -45,7 +45,7 @@ public:
 
 protected:
   bool write(uint endPoint, const char *data, uint size);
-  bool read(uint endPoint, char *data, uint size, bool *poll = 0);
+  bool read(uint endPoint, char *data, uint size, bool *poll = nullptr);
 
 private:
   class Private;
diff --git a/src/data/syntax_xml_generator.cpp b/src/data/syntax_xml_generator.cpp
index 48f3bae..47bcc8c 100644
--- a/src/data/syntax_xml_generator.cpp
+++ b/src/data/syntax_xml_generator.cpp
@@ -20,17 +20,17 @@ const char * const DIRECTIVES[] = {
 "exitm", "expand", "fill", "global", "idata", "list", "local", "macro", "messg",
 "noexpand", "nolist", "org", "page", "processor", "pagesel", "radix", "res", "set",
 "space", "subtitle", "title", "udata", "udata_acs", "udata_ovr", "udata_shr",
-"variable", "end", 0
+"variable", "end", nullptr
 };
 const char * const CONDITIONNALS[] = {
-"if", "else", "ifdef", "ifndef", "endif", "while", "include", "endw", "{", "}", 0
+"if", "else", "ifdef", "ifndef", "endif", "while", "include", "endw", "{", "}", nullptr
 };
 const char * const GPASM_MACROS[] = {
 "addcf", "b", "bc", "bz", "bnc", "bnz", "clrc", "clrz", "setc", "setz", "movfw",
-"negf", "skpc", "skpz", "skpnc", "skpnz", "subcf", "tstf", 0
+"negf", "skpc", "skpz", "skpnc", "skpnz", "subcf", "tstf", nullptr
 };
 const char * const CPIK_MACROS[] = {
-"IBZ", "IBNZ", "IBRA", "ICALL", 0
+"IBZ", "IBNZ", "IBRA", "ICALL", nullptr
 };
 const char * const SFRS[] = { // #### should be extracted from dev files...
 "TOSU", "TOSH", "TOSL", "STKPTR", "PCLATU", "PCLATH", "PCL", "TBLPTRU", "TBLPTRH",
@@ -45,7 +45,7 @@ const char * const SFRS[] = { // #### should be extracted from dev files...
 "T3CON", "SPBRG", "RCREG", "TXREG", "TXSTA", "RCSTA", "EEADR", "EEDATA", "EECON2",
 "EECON1", "IPR2", "PIR2", "PIE2", "IPR1", "PIR1", "PIE1", "OSCTUNE", "TRISE",
 "TRISD", "TRISC", "TRISB", "TRISA", "LATE", "LATD", "LATC", "LATB", "LATA",
-"PORTE", "PORTD", "PORTC", "PORTB", "PORTA", "TMR0", "TMR1", "OPTION_REG", 0
+"PORTE", "PORTD", "PORTC", "PORTB", "PORTA", "TMR0", "TMR1", "OPTION_REG", nullptr
 };
 const char * const INSTRUCTIONS[] = {
 "addlw", "addwf", "addwfc", "andlw",  "andwf", "bcf", "bc", "bn", "bnc", "bnn", "bnov",
@@ -55,7 +55,7 @@ const char * const INSTRUCTIONS[] = {
 "movlb", "movlw", "movwf", "mullw", "mulwf", "negf", "nop", "option", "pop", "push",
 "rcall", "reset", "retfie", "retlw", "rlcf", "rlncf", "rrcf", "rrncf", "return", "rlf",
 "rrf", "setf", "sleep", "sublw", "subfwb", "subwf", "subwfb", "swapf", "tstfsz",
-"tris", "tblrd", "tblwt", "xorlw", "xorwf", 0
+"tris", "tblrd", "tblwt", "xorlw", "xorwf", nullptr
 };
 
 TQTextStream *initFile(TQFile &file)
diff --git a/src/devices/base/device_group.cpp b/src/devices/base/device_group.cpp
index 0509647..055e329 100644
--- a/src/devices/base/device_group.cpp
+++ b/src/devices/base/device_group.cpp
@@ -156,7 +156,7 @@ const Device::Package *Device::barPackage(const char *name, const Device::Data &
   for (uint i=0; i<data.packages().count(); i++)
     for (uint k=0; k<data.packages()[i].types.count(); k++)
       if ( Package::TYPE_DATA[data.packages()[i].types[k]].name==name ) return &data.packages()[i];
-  return 0;
+  return nullptr;
 }
 
 TQPixmap Device::pinsGraph(const Device::Package &package)
@@ -258,7 +258,7 @@ TQString Device::htmlPinDiagrams(const Device::Data &data, const TQString &image
 {
   TQString doc;
   // pins
-  const Package *package = 0;
+  const Package *package = nullptr;
   for (uint i=0; Package::TYPE_DATA[i].name; i++) {
     if ( Package::TYPE_DATA[i].shape!=Package::Bar ) continue;
     package = barPackage(Package::TYPE_DATA[i].name, data);
diff --git a/src/devices/base/generic_device.cpp b/src/devices/base/generic_device.cpp
index d147e4b..8548769 100644
--- a/src/devices/base/generic_device.cpp
+++ b/src/devices/base/generic_device.cpp
@@ -59,7 +59,7 @@ const Device::Package::TypeData Device::Package::TYPE_DATA[] = {
   { "plcc",  I18N_NOOP("PLCC"),   Square, {  0,  0,  0,  0,  0, 44, 68, 84,   0 } },
   { "mlf",   I18N_NOOP("MLF"),    Square, {  0,  0,  0,  0, 28,  0,  0,  0,   0 } },
   { "dfn",   I18N_NOOP("DFN"),    Bar,    {  8,  0,  0,  0,  0,  0,  0,  0,   0 } },
-  {     0,                  0,    Square, {  0,  0,  0,  0,  0,  0,  0,  0,   0 } }
+  { nullptr, nullptr,             Square, {  0,  0,  0,  0,  0,  0,  0,  0,   0 } }
 };
 
 //-----------------------------------------------------------------------------
diff --git a/src/devices/base/generic_device.h b/src/devices/base/generic_device.h
index 373601c..b4893f4 100644
--- a/src/devices/base/generic_device.h
+++ b/src/devices/base/generic_device.h
@@ -115,7 +115,7 @@ private:
 class Data
 {
 public:
-  Data(RegistersData *rdata) : _group(0), _registersData(rdata) {}
+  Data(RegistersData *rdata) : _group(nullptr), _registersData(rdata) {}
   virtual ~Data();
   const GroupBase &group() const { return *_group; }
   virtual TQString name() const { return _name; }
diff --git a/src/devices/base/register.cpp b/src/devices/base/register.cpp
index 11ced39..8fc9d13 100644
--- a/src/devices/base/register.cpp
+++ b/src/devices/base/register.cpp
@@ -11,11 +11,11 @@
 //----------------------------------------------------------------------------
 namespace Register
 {
-  List *_list = 0;
+  List *_list = nullptr;
 }
 Register::List &Register::list()
 {
-  if ( _list==0 ) _list = new List;
+  if ( !_list ) _list = new List;
   return *_list;
 }
 
diff --git a/src/devices/base/register.h b/src/devices/base/register.h
index 036a69c..4b1f13e 100644
--- a/src/devices/base/register.h
+++ b/src/devices/base/register.h
@@ -98,7 +98,7 @@ class List : public GenericStorage
 TQ_OBJECT
   
 public:
-  List() : GenericStorage(0, "register_list") {}
+  List() : GenericStorage(nullptr, "register_list") {}
   void init();
   void setWatched(const TypeData &data, bool watched);
   void clearWatched();
diff --git a/src/devices/gui/hex_view.cpp b/src/devices/gui/hex_view.cpp
index 305ac0b..4406589 100644
--- a/src/devices/gui/hex_view.cpp
+++ b/src/devices/gui/hex_view.cpp
@@ -10,7 +10,7 @@
 #include "hex_view.h"
 
 Device::HexView::HexView(const HexEditor &editor, TQWidget *parent, const char *name)
-  : MemoryEditorGroup(0, parent, name), _editor(editor)
+  : MemoryEditorGroup(nullptr, parent, name), _editor(editor)
 {}
 
 void Device::HexView::display(Memory *memory)
@@ -18,7 +18,7 @@ void Device::HexView::display(Memory *memory)
   _memory = memory;
   for (uint i=0; i<_editors.count(); i++) delete _editors[i];
   _editors.clear();
-  if ( _memory==0 ) return;
+  if ( !_memory ) return;
   display();
 }
 
diff --git a/src/devices/gui/memory_editor.cpp b/src/devices/gui/memory_editor.cpp
index feb564e..d2a724a 100644
--- a/src/devices/gui/memory_editor.cpp
+++ b/src/devices/gui/memory_editor.cpp
@@ -191,7 +191,7 @@ void Device::MemoryRangeEditor::movePrev()
 
 void Device::MemoryRangeEditor::moveFirst()
 {
-  if ( _editors[0]==0 ) return;
+  if ( !_editors[0] ) return;
   setIndex(0);
   _editors[0]->setFocus();
 }
@@ -273,8 +273,8 @@ void Device::MemoryEditorGroup::updateDisplay()
 //-----------------------------------------------------------------------------
 const Device::ActionData Device::ACTION_DATA[Nb_Actions] = {
   { I18N_NOOP("&Clear"),       "window-close",         NeedWrite },
-  { I18N_NOOP("&Zero"),        0,                   NeedWrite },
-  { I18N_NOOP("For checksum check"), 0,             NeedWrite },
+  { I18N_NOOP("&Zero"),        nullptr,                   NeedWrite },
+  { I18N_NOOP("For checksum check"), nullptr,             NeedWrite },
   { I18N_NOOP("Re&load"),      "reload",            SeparatorAfter | NeedModified },
   { I18N_NOOP("&Program"),     "piklab_burnchip",   NeedProgrammer },
   { I18N_NOOP("&Verify"),      "piklab_verifychip", NeedProgrammer },
@@ -286,9 +286,9 @@ const Device::ActionData Device::ACTION_DATA[Nb_Actions] = {
 Device::MemoryTypeEditor::MemoryTypeEditor(const HexView *hexview, Device::Memory &memory,
                                             TQWidget *parent, const char *name)
   : MemoryEditorGroup(&memory, parent, name),
-    _title(0), _comment(0), _hexview(hexview)
+    _title(nullptr), _comment(nullptr), _hexview(hexview)
 {
-  for (uint i=0; i<Nb_Actions; i++) _actions[i] = 0;
+  for (uint i=0; i<Nb_Actions; i++) _actions[i] = nullptr;
 }
 
 void Device::MemoryTypeEditor::init(bool first)
@@ -347,11 +347,11 @@ void Device::MemoryTypeEditor::stateChanged()
 {
   bool idle = ( Main::state()==Main::Idle );
   for (uint i=0; i<Nb_Actions; i++) {
-    if ( _actions[i]==0 ) continue;
+    if ( !_actions[i] ) continue;
     bool on = true;
     if ( (ACTION_DATA[i].properties & NeedProgrammer) && !idle ) on = false;
     if ( (ACTION_DATA[i].properties & NeedWrite) && _readOnly ) on = false;
-    if ( (ACTION_DATA[i].properties & NeedModified) && (_hexview==0 || !_hexview->isModified()) ) on = false;
+    if ( (ACTION_DATA[i].properties & NeedModified) && (!_hexview || !_hexview->isModified()) ) on = false;
     _actions[i]->setEnabled(on);
   }
 }
@@ -365,7 +365,7 @@ void Device::MemoryTypeEditor::setReadOnly(bool readOnly)
 
 const Device::Memory *Device::MemoryTypeEditor::originalMemory() const
 {
-  return (_hexview ? _hexview->originalMemory() : 0);
+  return (_hexview ? _hexview->originalMemory() : nullptr);
 }
 
 #include "memory_editor.moc"
diff --git a/src/devices/gui/register_view.cpp b/src/devices/gui/register_view.cpp
index 7326a62..742285b 100644
--- a/src/devices/gui/register_view.cpp
+++ b/src/devices/gui/register_view.cpp
@@ -151,8 +151,8 @@ TQString Register::ListViewItem::tooltip(int col) const
 
 TQWidget *Register::ListViewItem::editWidgetFactory(int col) const
 {
-  if ( col!=2 || Main::programmerState()!=Programmer::Halted ) return 0;
-  return new NumberLineEdit(text(), 0);
+  if ( col!=2 || Main::programmerState()!=Programmer::Halted ) return nullptr;
+  return new NumberLineEdit(text(), nullptr);
 }
 
 void Register::ListViewItem::editDone(int col, const TQWidget *edit)
diff --git a/src/devices/gui/register_view.h b/src/devices/gui/register_view.h
index 7151b03..8009df4 100644
--- a/src/devices/gui/register_view.h
+++ b/src/devices/gui/register_view.h
@@ -68,7 +68,7 @@ class LineEdit : public NumberLineEdit
 TQ_OBJECT
   
 public:
-  LineEdit(TQWidget *parent, const char *name = 0);
+  LineEdit(TQWidget *parent, const char *name = nullptr);
   void setValue(NumberBase base, BitValue value, uint nbChars);
   BitValue value() const { return _value; }
 
diff --git a/src/devices/list/device_list.cpp b/src/devices/list/device_list.cpp
index 87ea495..10f8f50 100644
--- a/src/devices/list/device_list.cpp
+++ b/src/devices/list/device_list.cpp
@@ -21,7 +21,7 @@ const Device::Data *Device::Lister::data(const TQString &device) const
     const Data *data = static_cast<const Data *>(it.data()->deviceData(device).data);
     if (data) return data;
   }
-  return 0;
+  return nullptr;
 }
 
 TQString Device::Lister::checkName(const TQString &device) const
diff --git a/src/devices/list/device_list_noui.cpp b/src/devices/list/device_list_noui.cpp
index 46d909e..994046b 100644
--- a/src/devices/list/device_list_noui.cpp
+++ b/src/devices/list/device_list_noui.cpp
@@ -13,6 +13,6 @@
 
 Device::Lister::Lister()
 {
-  addGroup(new Pic::Group, 0);
-  addGroup(new Mem24::Group, 0);
+  addGroup(new Pic::Group, nullptr);
+  addGroup(new Mem24::Group, nullptr);
 }
diff --git a/src/devices/mem24/base/mem24.h b/src/devices/mem24/base/mem24.h
index 7e0b5e7..25acf35 100644
--- a/src/devices/mem24/base/mem24.h
+++ b/src/devices/mem24/base/mem24.h
@@ -21,7 +21,7 @@ class Group;
 class Data : public Device::Data
 {
 public:
-  Data() : Device::Data(0) {}
+  Data() : Device::Data(nullptr) {}
   virtual TQString listViewGroup() const { return i18n("24 EEPROM"); }
   uint nbBytes() const { return _nbBytes; }
   virtual bool matchId(BitValue, Device::IdData &) const { return false; }
diff --git a/src/devices/mem24/gui/mem24_group_ui.h b/src/devices/mem24/gui/mem24_group_ui.h
index 4f45ef6..311e661 100644
--- a/src/devices/mem24/gui/mem24_group_ui.h
+++ b/src/devices/mem24/gui/mem24_group_ui.h
@@ -17,10 +17,10 @@ class GroupUI : public Device::GroupUI
 {
 public:
   virtual Device::HexView *createHexView(const HexEditor &editor, TQWidget *parent) const;
-  virtual Register::View *createRegisterView(TQWidget *) const { return 0; }
-  virtual Device::MemoryEditor *createConfigEditor(Device::Memory &, TQWidget *) const { return 0; }
+  virtual Register::View *createRegisterView(TQWidget *) const { return nullptr; }
+  virtual Device::MemoryEditor *createConfigEditor(Device::Memory &, TQWidget *) const { return nullptr; }
   virtual void fillWatchListContainer(ListContainer *, TQValueVector<Register::TypeData> &) const {}
-  virtual Register::ListViewItem *createWatchItem(const Register::TypeData &, TDEListViewItem *) const { return 0; }
+  virtual Register::ListViewItem *createWatchItem(const Register::TypeData &, TDEListViewItem *) const { return nullptr; }
 };
 
 } // namespace
diff --git a/src/devices/mem24/gui/mem24_hex_view.cpp b/src/devices/mem24/gui/mem24_hex_view.cpp
index ca1679e..b88557b 100644
--- a/src/devices/mem24/gui/mem24_hex_view.cpp
+++ b/src/devices/mem24/gui/mem24_hex_view.cpp
@@ -30,7 +30,7 @@ void Mem24::HexView::display()
 
 BitValue Mem24::HexView::checksum() const
 {
-  if ( _memory==0 ) return 0x0000;
+  if ( !_memory ) return 0x0000;
   BitValue cs = 0x0000;
   for (uint i=0; i<static_cast<const Data &>(_memory->device()).nbBytes(); i++)
     cs += static_cast<const Memory *>(_memory)->byte(i);
diff --git a/src/devices/pic/base/pic.cpp b/src/devices/pic/base/pic.cpp
index 75e6bf4..7e65b56 100644
--- a/src/devices/pic/base/pic.cpp
+++ b/src/devices/pic/base/pic.cpp
@@ -16,9 +16,9 @@
 
 //------------------------------------------------------------------------------
 const Pic::ProgVoltageType::Data Pic::ProgVoltageType::DATA[Nb_Types] = {
-  { "vpp",            0 },
-  { "vdd_prog",       0 },
-  { "vdd_prog_write", 0 }
+  { "vpp",            nullptr },
+  { "vdd_prog",       nullptr },
+  { "vdd_prog_write", nullptr }
 };
 
 const Pic::MemoryRangeType::Data Pic::MemoryRangeType::DATA[Nb_Types] = {
@@ -35,14 +35,14 @@ const Pic::MemoryRangeType::Data Pic::MemoryRangeType::DATA[Nb_Types] = {
 };
 
 const Pic::SelfWrite::Data Pic::SelfWrite::DATA[Nb_Types] = {
-  { "yes", 0 },
-  { "no",  0 }
+  { "yes", nullptr },
+  { "no",  nullptr }
 };
 
 const Pic::DeviceType::Data Pic::DeviceType::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Normal") },
-  { 0, I18N_NOOP("J")      },
-  { 0, I18N_NOOP("K")      }
+  { nullptr, I18N_NOOP("Normal") },
+  { nullptr, I18N_NOOP("J")      },
+  { nullptr, I18N_NOOP("K")      }
 };
 
 const Pic::Architecture::Data Pic::Architecture::DATA[Nb_Types] = {
@@ -61,10 +61,10 @@ const Pic::Architecture::Data Pic::Architecture::DATA[Nb_Types] = {
 };
 
 const Pic::Checksum::Algorithm::Data Pic::Checksum::Algorithm::DATA[Nb_Types] = {
-  { "",      0 },
-  { "XOR4",  0 },
-  { "XNOR7", 0 },
-  { "XNOR8", 0 }
+  { "",      nullptr },
+  { "XOR4",  nullptr },
+  { "XNOR7", nullptr },
+  { "XNOR8", nullptr }
 };
 
 const Pic::Feature::Data Pic::Feature::DATA[Nb_Types] = {
diff --git a/src/devices/pic/base/pic.h b/src/devices/pic/base/pic.h
index 4005bae..6bade0d 100644
--- a/src/devices/pic/base/pic.h
+++ b/src/devices/pic/base/pic.h
@@ -129,7 +129,7 @@ public:
   bool is16bitFamily() const { return ( _architecture.data().nbBitsRegister==16 ); }
   VoltageData voltage(ProgVoltageType type) const { return _voltages[type]; }
   virtual bool canWriteCalibration() const { return isWritable(MemoryRangeType::Cal); }
-  bool checkCalibration(const Device::Array &data, TQString *message = 0) const;
+  bool checkCalibration(const Device::Array &data, TQString *message = nullptr) const;
   const TQMap<Device::Special, BitValue> ids() const { return _ids; }
   virtual bool matchId(BitValue rawId, Device::IdData &data) const;
   TQStringList idNames(const TQMap<TQString, Device::IdData> &ids) const;
@@ -137,7 +137,7 @@ public:
   const RegistersData &registersData() const;
   const CalibrationData &calibrationData() const { return _calibration; }
 
-  bool hasFeature(Feature feature, bool *unknown = 0) const;
+  bool hasFeature(Feature feature, bool *unknown = nullptr) const;
   BitValue nopInstruction() const { return 0x0; }
   Device::Array gotoInstruction(Address address, bool withPageSelection) const;
   bool isGotoInstruction(BitValue instruction) const;
diff --git a/src/devices/pic/base/pic_config.cpp b/src/devices/pic/base/pic_config.cpp
index f18955d..1e484fb 100644
--- a/src/devices/pic/base/pic_config.cpp
+++ b/src/devices/pic/base/pic_config.cpp
@@ -11,30 +11,30 @@
 #include <tqregexp.h>
 
 const Pic::ConfigNameType::Data Pic::ConfigNameType::DATA[Nb_Types] = {
-  { "cname", 0 },
-  { "ecname", 0 },
-  { "sdcc_cname", 0 }
+  { "cname", nullptr },
+  { "ecname", nullptr },
+  { "sdcc_cname", nullptr }
 };
 
 const Pic::Config::Data Pic::Config::DATA[] = {
-  { { "CP",    I18N_NOOP("Code code-protection")         }, MemoryRange, { { 0, 0 } } },
-  { { "CPD",   I18N_NOOP("Data code-protection")         }, MemoryRange, { { 0, 0 } } },
-  { { "CPC",   I18N_NOOP("Calibration code-protection")  }, MemoryRange, { { 0, 0 } } },
-  { { "CPB",   I18N_NOOP("Boot code-protection")         }, MemoryRange, { { 0, 0 } } },
+  { { "CP",    I18N_NOOP("Code code-protection")         }, MemoryRange, { { nullptr, nullptr } } },
+  { { "CPD",   I18N_NOOP("Data code-protection")         }, MemoryRange, { { nullptr, nullptr } } },
+  { { "CPC",   I18N_NOOP("Calibration code-protection")  }, MemoryRange, { { nullptr, nullptr } } },
+  { { "CPB",   I18N_NOOP("Boot code-protection")         }, MemoryRange, { { nullptr, nullptr } } },
 
-  { { "WRT",   I18N_NOOP("Code write-protection")           }, MemoryRange, { { 0, 0 } } },
-  { { "WRTD",  I18N_NOOP("Data write-protection")           }, MemoryRange, { { 0, 0 } } },
-  { { "WRTB",  I18N_NOOP("Boot write-protection")           }, MemoryRange, { { 0, 0 } } },
-  { { "WRTC",  I18N_NOOP("Configuration write-protection")  }, MemoryRange, { { 0, 0 } } },
+  { { "WRT",   I18N_NOOP("Code write-protection")           }, MemoryRange, { { nullptr, nullptr } } },
+  { { "WRTD",  I18N_NOOP("Data write-protection")           }, MemoryRange, { { nullptr, nullptr } } },
+  { { "WRTB",  I18N_NOOP("Boot write-protection")           }, MemoryRange, { { nullptr, nullptr } } },
+  { { "WRTC",  I18N_NOOP("Configuration write-protection")  }, MemoryRange, { { nullptr, nullptr } } },
 
-  { { "EBTR",  I18N_NOOP("Table read-protection")      }, MemoryRange, { { 0, 0 } } },
-  { { "EBTRB", I18N_NOOP("Boot table read-protection") }, MemoryRange, { { 0, 0 } } },
+  { { "EBTR",  I18N_NOOP("Table read-protection")      }, MemoryRange, { { nullptr, nullptr } } },
+  { { "EBTRB", I18N_NOOP("Boot table read-protection") }, MemoryRange, { { nullptr, nullptr } } },
 
-  { { "WDT",  I18N_NOOP("Watchdog timer") }, Toggle, { { 0, 0 } } },
+  { { "WDT",  I18N_NOOP("Watchdog timer") }, Toggle, { { nullptr, nullptr } } },
   { { "MCLRE", I18N_NOOP("Master clear reset"), }, Fixed, {
     { "External", I18N_NOOP("External"),                   },
-    { "Internal", I18N_NOOP("Disabled (connected to Vdd)") }, { 0, 0 } } },
-  { { "PWRTE", I18N_NOOP("Power-up timer") }, Toggle, { { 0, 0 } } },
+    { "Internal", I18N_NOOP("Disabled (connected to Vdd)") }, { nullptr, nullptr } } },
+  { { "PWRTE", I18N_NOOP("Power-up timer") }, Toggle, { { nullptr, nullptr } } },
 
   { { "FOSC",  I18N_NOOP("Oscillator") }, Fixed,  {
     { "EXTRC", I18N_NOOP("External RC oscillator")                   },
@@ -63,85 +63,85 @@ const Pic::Config::Data Pic::Config::DATA[] = {
     { "H4S", I18N_NOOP("High speed crystal/resonator with software controlled 4x PLL") },
     { "INTXT", I18N_NOOP("Internal oscillator, XT used by USB") },
     { "INTHS", I18N_NOOP("Internal oscillator, HS used by USB") },
-    { 0, 0 } } },
+    { nullptr, nullptr } } },
 
   { { "BG",    I18N_NOOP("Bandgap voltage calibration") }, Fixed, {
     { "Lowest",   I18N_NOOP("Lowest")   },
     { "Mid/Low",  I18N_NOOP("Mid/Low")  },
     { "Mid/High", I18N_NOOP("Mid/High") },
-    { "Highest",  I18N_NOOP("Highest")  }, { 0, 0 } } },
+    { "Highest",  I18N_NOOP("Highest")  }, { nullptr, nullptr } } },
   { { "TRIM", I18N_NOOP("Internal Trim") }, Fixed, {
     { "00", I18N_NOOP("00") }, { "01", I18N_NOOP("01") },
-    { "10", I18N_NOOP("10") }, { "11", I18N_NOOP("11") }, { 0, 0 } } },
+    { "10", I18N_NOOP("10") }, { "11", I18N_NOOP("11") }, { nullptr, nullptr } } },
   { { "BODEN", I18N_NOOP("Brown-out detect")       }, Toggle, {
     { "On_run",   I18N_NOOP("Enabled in run - Disabled in sleep") },
-    { "Software", I18N_NOOP("SBODEN controls BOD function")       }, { 0, 0 } } },
-  { { "FCMEN", I18N_NOOP("Fail-safe clock monitor")      }, Toggle, { { 0, 0 } } },
-  { { "IESO",  I18N_NOOP("Internal-external switchover") }, Toggle, { { 0, 0 } } },
-  { { "WUREN",  I18N_NOOP("Wake-up reset")               }, Toggle, { { 0, 0 } } },
-  { { "DEBUG", I18N_NOOP("In-circuit debugger")          }, Toggle, { { 0, 0 } } },
-  { { "MPEEN", I18N_NOOP("Memory parity error")          }, Toggle, { { 0, 0 } } },
+    { "Software", I18N_NOOP("SBODEN controls BOD function")       }, { nullptr, nullptr } } },
+  { { "FCMEN", I18N_NOOP("Fail-safe clock monitor")      }, Toggle, { { nullptr, nullptr } } },
+  { { "IESO",  I18N_NOOP("Internal-external switchover") }, Toggle, { { nullptr, nullptr } } },
+  { { "WUREN",  I18N_NOOP("Wake-up reset")               }, Toggle, { { nullptr, nullptr } } },
+  { { "DEBUG", I18N_NOOP("In-circuit debugger")          }, Toggle, { { nullptr, nullptr } } },
+  { { "MPEEN", I18N_NOOP("Memory parity error")          }, Toggle, { { nullptr, nullptr } } },
   { { "BORV",  I18N_NOOP("Brown-out reset voltage") }, ValueDouble, {
-    { "0", I18N_NOOP("Undefined")  }, { 0, 0 } } },
-  { { "LVP",   I18N_NOOP("Low voltage programming")   }, Toggle, { { 0, 0 } } },
-  { { "CCP2MX", I18N_NOOP("CCP2 multiplex")           }, Pin, { { 0, 0 } } },
-  { { "CCP1MX", I18N_NOOP("CCP1 multiplex")           }, Pin, { { 0, 0 } } },
-  { { "BORSEN", I18N_NOOP("Brown-out reset software") }, Toggle, { { 0, 0 } } },
+    { "0", I18N_NOOP("Undefined")  }, { nullptr, nullptr } } },
+  { { "LVP",   I18N_NOOP("Low voltage programming")   }, Toggle, { { nullptr, nullptr } } },
+  { { "CCP2MX", I18N_NOOP("CCP2 multiplex")           }, Pin, { { nullptr, nullptr } } },
+  { { "CCP1MX", I18N_NOOP("CCP1 multiplex")           }, Pin, { { nullptr, nullptr } } },
+  { { "BORSEN", I18N_NOOP("Brown-out reset software") }, Toggle, { { nullptr, nullptr } } },
   { { "WDTPS", I18N_NOOP("WDT post-scaler") }, Ratio, {
-    { "Disabled", I18N_NOOP("Disabled") }, { 0, 0 } } },
+    { "Disabled", I18N_NOOP("Disabled") }, { nullptr, nullptr } } },
   { { "PM",    I18N_NOOP("Processor mode") }, Fixed, {
     { "Extended microcontroller", I18N_NOOP("Extended microcontroller")            },
     { "Microcontroller", I18N_NOOP("Microcontroller")                              },
     { "Microprocessor", I18N_NOOP("Microprocessor")                                },
     { "Code-protected microcontroller", I18N_NOOP("Code protected microcontroller") },
     { "Microprocessor with boot", I18N_NOOP("Microprocessor with boot block")       },
-    { 0, 0 } } },
+    { nullptr, nullptr } } },
 
-  { { "OSCSEN", I18N_NOOP("Oscillator system clock switch") }, Toggle, { { 0, 0 } } },
-  { { "STVREN", I18N_NOOP("Stack full/underflow reset") }, Toggle, { { 0, 0 } } },
-  { { "BW",    I18N_NOOP("External bus data width (in bits)") }, ValueUInt, { { 0, 0 } } },
+  { { "OSCSEN", I18N_NOOP("Oscillator system clock switch") }, Toggle, { { nullptr, nullptr } } },
+  { { "STVREN", I18N_NOOP("Stack full/underflow reset") }, Toggle, { { nullptr, nullptr } } },
+  { { "BW",    I18N_NOOP("External bus data width (in bits)") }, ValueUInt, { { nullptr, nullptr } } },
   { { "PBADEN", I18N_NOOP("PORTB A/D")              }, Fixed, {
       { "digital", I18N_NOOP("Digital") },
-      { "analog",  I18N_NOOP("Analog")  }, { 0, 0 } } },
-  { { "WINEN", I18N_NOOP("Watchdog timer window")   }, Toggle, { { 0, 0 } } },
+      { "analog",  I18N_NOOP("Analog")  }, { nullptr, nullptr } } },
+  { { "WINEN", I18N_NOOP("Watchdog timer window")   }, Toggle, { { nullptr, nullptr } } },
   { { "HPOL", I18N_NOOP("Odd PWM output polarity")  }, Fixed, {
     { "high", I18N_NOOP("Active high")  },
-    { "low",  I18N_NOOP("Active low")   }, { 0, 0 } } },
+    { "low",  I18N_NOOP("Active low")   }, { nullptr, nullptr } } },
   { { "LPOL", I18N_NOOP("Even PWM output polarity") }, Fixed, {
     { "high", I18N_NOOP("Active high")  },
-    { "low",  I18N_NOOP("Active low")   }, { 0, 0 } } },
-  { { "PWMPIN", I18N_NOOP("PWM output pin reset state") }, Toggle, { { 0, 0 } } },
+    { "low",  I18N_NOOP("Active low")   }, { nullptr, nullptr } } },
+  { { "PWMPIN", I18N_NOOP("PWM output pin reset state") }, Toggle, { { nullptr, nullptr } } },
   { { "T1OSCMX", I18N_NOOP("Timer1 oscillator mode") }, Fixed, {
     { "Legacy",    I18N_NOOP("Standard operation")      },
     { "Low Power", I18N_NOOP("Low power in sleep mode") },
     { "RA6",       I18N_NOOP("T1OSO/T1CKI on RA6") },
-    { "RB2",       I18N_NOOP("T1OSO/T1CKI on RB2") }, { 0, 0 } } },
-  { { "EXCLKMX", I18N_NOOP("TMR0/T5CKI external clock mux") }, Pin, { { 0, 0 } } },
-  { { "FLTAMX", I18N_NOOP("FLTA mux")               }, Pin, { { 0, 0 } } },
-  { { "PWM4MX", I18N_NOOP("PWM4 mux")               }, Pin, { { 0, 0 } } },
-  { { "SSPMX", I18N_NOOP("SSP I/O mux (SCK/SLC, SDA/SDI, SD0)") }, Pins, { { 0, 0 } } },
-  { { "LPT1OSC", I18N_NOOP("Low-power timer1 oscillator") }, Toggle, { { 0, 0 } } },
-  { { "XINST", I18N_NOOP("Extended instruction set") }, Toggle, { { 0, 0 } } },
-  { { "BBSIZ", I18N_NOOP("Boot block size") }, ValueUInt, { { 0, 0 } } },
-  { { "ICPORT", I18N_NOOP("Dedicated in-circuit port") }, Toggle, { { 0, 0 } } },
-  { { "VREGEN", I18N_NOOP("USB voltage regulator")  }, Toggle, { { 0, 0 } } },
-  { { "WAIT", I18N_NOOP("External bus data wait")   }, Toggle, { { 0, 0 } } },
-  { { "ABW", I18N_NOOP("Address bus width (in bits)") }, ValueUInt, { { 0, 0 } } },
+    { "RB2",       I18N_NOOP("T1OSO/T1CKI on RB2") }, { nullptr, nullptr } } },
+  { { "EXCLKMX", I18N_NOOP("TMR0/T5CKI external clock mux") }, Pin, { { nullptr, nullptr } } },
+  { { "FLTAMX", I18N_NOOP("FLTA mux")               }, Pin, { { nullptr, nullptr } } },
+  { { "PWM4MX", I18N_NOOP("PWM4 mux")               }, Pin, { { nullptr, nullptr } } },
+  { { "SSPMX", I18N_NOOP("SSP I/O mux (SCK/SLC, SDA/SDI, SD0)") }, Pins, { { nullptr, nullptr } } },
+  { { "LPT1OSC", I18N_NOOP("Low-power timer1 oscillator") }, Toggle, { { nullptr, nullptr } } },
+  { { "XINST", I18N_NOOP("Extended instruction set") }, Toggle, { { nullptr, nullptr } } },
+  { { "BBSIZ", I18N_NOOP("Boot block size") }, ValueUInt, { { nullptr, nullptr } } },
+  { { "ICPORT", I18N_NOOP("Dedicated in-circuit port") }, Toggle, { { nullptr, nullptr } } },
+  { { "VREGEN", I18N_NOOP("USB voltage regulator")  }, Toggle, { { nullptr, nullptr } } },
+  { { "WAIT", I18N_NOOP("External bus data wait")   }, Toggle, { { nullptr, nullptr } } },
+  { { "ABW", I18N_NOOP("Address bus width (in bits)") }, ValueUInt, { { nullptr, nullptr } } },
   { { "ECCPMX", I18N_NOOP("ECCP mux") }, Fixed, {
     { "RE6-RE3", I18N_NOOP("PWM multiplexed onto RE6 and RE3") },
     { "RH7-RH4", I18N_NOOP("PWM multiplexed onto RH7 and RH4") },
     { "RE6-RE5", I18N_NOOP("PWM multiplexed onto RE6 and RE5") },
-    { "RH7-RH6", I18N_NOOP("PWM multiplexed onto RH7 and RH6") }, { 0, 0 } } },
+    { "RH7-RH6", I18N_NOOP("PWM multiplexed onto RH7 and RH6") }, { nullptr, nullptr } } },
 
   { { "FCKSM", I18N_NOOP("Clock switching mode") }, Fixed, {
     { "Switching off, monitor off", I18N_NOOP("Switching off, monitor off") },
     { "Switching on, monitor off",  I18N_NOOP("Switching on, monitor off")  },
-    { "Switching on, monitor on",   I18N_NOOP("Switching on, monitor on")   }, { 0, 0 } } },
+    { "Switching on, monitor on",   I18N_NOOP("Switching on, monitor on")   }, { nullptr, nullptr } } },
   { { "FOS", I18N_NOOP("Oscillator source") }, Fixed, {
     { "INTRC_F",  I18N_NOOP("Internal fast RC")      },
     { "INTRC_LP", I18N_NOOP("Internal low-power RC") },
     { "PRIM",     I18N_NOOP("Primary")               },
-    { "TMR1",     I18N_NOOP("Timer1")                }, { 0, 0 } } },
+    { "TMR1",     I18N_NOOP("Timer1")                }, { nullptr, nullptr } } },
   { { "FPR", I18N_NOOP("Primary oscillator mode") }, Fixed, {
     { "XTL",          I18N_NOOP("Low-power/low-frequency crystal") },
     { "HS",           I18N_NOOP("High speed crystal") },
@@ -156,7 +156,7 @@ const Pic::Config::Data Pic::Config::DATA[] = {
     { "EC16",   I18N_NOOP("External clock with 16x PLL") },
     { "FRC8",    I18N_NOOP("Internal fast RC oscillator with 8x PLL") },
     { "EXTRC_CLKOUT", I18N_NOOP("External RC oscillator with CLKOUT") },
-    { "EXTRC_IO",     I18N_NOOP("External RC oscillator (no CLKOUT)") }, { 0, 0 } } },
+    { "EXTRC_IO",     I18N_NOOP("External RC oscillator (no CLKOUT)") }, { nullptr, nullptr } } },
   { { "FOSFPR", I18N_NOOP("Oscillator mode") }, Fixed, {
     { "XTL",          I18N_NOOP("Low-power/low-frequency crystal") },
     { "HS",           I18N_NOOP("High speed crystal") },
@@ -182,68 +182,68 @@ const Pic::Config::Data Pic::Config::DATA[] = {
     { "INTRC_F", I18N_NOOP("Internal fast RC oscillator (no PLL)") },
     { "INTRC_LP", I18N_NOOP("Internal low-power RC oscillator") },
     { "EXTRC_CLKOUT", I18N_NOOP("External RC oscillator with CLKOUT") },
-    { "EXTRC_IO",     I18N_NOOP("External RC oscillator (no CLKOUT)") }, { 0, 0 } } },
-  { { "FWPSA", I18N_NOOP("Watchdog timer prescaler A") }, Ratio, { { 0, 0 } } },
-  { { "FWPSB", I18N_NOOP("Watchdog timer prescaler B") }, Ratio, { { 0, 0 } } },
+    { "EXTRC_IO",     I18N_NOOP("External RC oscillator (no CLKOUT)") }, { nullptr, nullptr } } },
+  { { "FWPSA", I18N_NOOP("Watchdog timer prescaler A") }, Ratio, { { nullptr, nullptr } } },
+  { { "FWPSB", I18N_NOOP("Watchdog timer prescaler B") }, Ratio, { { nullptr, nullptr } } },
   { { "FWDTEN", I18N_NOOP("Watchdog") }, Toggle, {
-    { "Software", I18N_NOOP("Software") }, { 0, 0 } } },
+    { "Software", I18N_NOOP("Software") }, { nullptr, nullptr } } },
   { { "FPWRT", I18N_NOOP("Power-on reset timer value (ms)") }, ValueUInt, {
-    { "0", I18N_NOOP("Disabled") }, { 0, 0 } } },
-  { { "GCP", I18N_NOOP("General code segment read-protection") }, MemoryRange, { { 0, 0 } } },
-  { { "GWRP", I18N_NOOP("General code segment write-protection") }, MemoryRange, { { 0, 0 } } },
-  { { "COE", I18N_NOOP("Reset into clip on emulation mode") }, Toggle, { { 0, 0 } } },
-  { { "ICS", I18N_NOOP("ICD communication channel") }, Pins, { { 0, 0 } } },
+    { "0", I18N_NOOP("Disabled") }, { nullptr, nullptr } } },
+  { { "GCP", I18N_NOOP("General code segment read-protection") }, MemoryRange, { { nullptr, nullptr } } },
+  { { "GWRP", I18N_NOOP("General code segment write-protection") }, MemoryRange, { { nullptr, nullptr } } },
+  { { "COE", I18N_NOOP("Reset into clip on emulation mode") }, Toggle, { { nullptr, nullptr } } },
+  { { "ICS", I18N_NOOP("ICD communication channel") }, Pins, { { nullptr, nullptr } } },
 
   { { "USBDIV", I18N_NOOP("USB clock (PLL divided by)") }, ValueUInt, {
-    { "1", I18N_NOOP("not divided") }, { 0, 0 } } },
+    { "1", I18N_NOOP("not divided") }, { nullptr, nullptr } } },
   { { "CPUDIV", I18N_NOOP("CPU system clock (divided by)") }, ValueUInt, {
-    { "1", I18N_NOOP("not divided") }, { 0, 0 } } },
+    { "1", I18N_NOOP("not divided") }, { nullptr, nullptr } } },
   { { "PLLDIV", I18N_NOOP("PLL clock (divided by)") }, ValueUInt, {
-    { "1", I18N_NOOP("not divided") }, { 0, 0 } } },
+    { "1", I18N_NOOP("not divided") }, { nullptr, nullptr } } },
 
-  { { "MCPU", I18N_NOOP("Master clear pull-up resistor") }, Toggle, { { 0, 0 } } },
+  { { "MCPU", I18N_NOOP("Master clear pull-up resistor") }, Toggle, { { nullptr, nullptr } } },
   { { "IOSCFS", I18N_NOOP("Internal oscillator speed") }, Fixed, {
     { "8MHZ", I18N_NOOP("8 MHz") },
-    { "4MHZ", I18N_NOOP("4 MHz") }, { 0, 0 } } },
+    { "4MHZ", I18N_NOOP("4 MHz") }, { nullptr, nullptr } } },
 
   // 18J specific
-  { { "ETHLED", I18N_NOOP("Ethernet LED enable") }, Toggle, { { 0, 0 } } },
+  { { "ETHLED", I18N_NOOP("Ethernet LED enable") }, Toggle, { { nullptr, nullptr } } },
   { { "FOSC2", I18N_NOOP("Default system clock select") }, Fixed, {
     { "FOSC1:FOSC0", I18N_NOOP("FOSC1:FOSC0") },
-    { "INTRC", I18N_NOOP("INTRC") }, { 0, 0 } } },
+    { "INTRC", I18N_NOOP("INTRC") }, { nullptr, nullptr } } },
   { { "EMB", I18N_NOOP("External memory bus") }, Fixed, {
     { "Disabled", I18N_NOOP("Disabled") },
     { "12BIT", I18N_NOOP("12-bit external bus") },
     { "16BIT", I18N_NOOP("16-bit external bus") },
-    { "20BIT", I18N_NOOP("20-bit external bus") }, { 0, 0 } } },
-  { { "EASHFT", I18N_NOOP("External address bus shift") }, Toggle, { { 0, 0 } } },
+    { "20BIT", I18N_NOOP("20-bit external bus") }, { nullptr, nullptr } } },
+  { { "EASHFT", I18N_NOOP("External address bus shift") }, Toggle, { { nullptr, nullptr } } },
   { { "MSSPSEL", I18N_NOOP("MSSP address select bit") }, Fixed, {
     { "7BIT", I18N_NOOP("7-bit address mask mode") },
-    { "5BIT", I18N_NOOP("5-bit address mask mode") }, { 0, 0 } } },
+    { "5BIT", I18N_NOOP("5-bit address mask mode") }, { nullptr, nullptr } } },
   { { "PMPMX", I18N_NOOP("PMP pin select bit") }, Fixed, {
     { "Connected", I18N_NOOP("Connected to EMB") },
-    { "NotConnected", I18N_NOOP("Not connected to EMB") }, { 0, 0 } } },
+    { "NotConnected", I18N_NOOP("Not connected to EMB") }, { nullptr, nullptr } } },
 
   // 24X specific / 30F1010 / 30F202X
-  { { "WRTBS", I18N_NOOP("Boot segment write-protection") }, MemoryRange, { { 0, 0 } } },
-  { { "BSSIZ", I18N_NOOP("Boot segment size") }, ValueUInt, { { 0, 0 } } },
+  { { "WRTBS", I18N_NOOP("Boot segment write-protection") }, MemoryRange, { { nullptr, nullptr } } },
+  { { "BSSIZ", I18N_NOOP("Boot segment size") }, ValueUInt, { { nullptr, nullptr } } },
   { { "BSSEC", I18N_NOOP("Boot segment security") }, Fixed, {
     { "High Security",     I18N_NOOP("High Security") },
-    { "Standard Security", I18N_NOOP("Standard Security") }, { 0, 0 } } },
-  { { "EBSSIZ", I18N_NOOP("Boot segment EEPROM size") }, ValueUInt, { { 0, 0 } } },
-  { { "RBSSIZ", I18N_NOOP("Boot segment RAM size") }, ValueUInt, { { 0, 0 } } },
-  { { "WRTSS", I18N_NOOP("Secure segment write-protection") }, MemoryRange, { { 0, 0 } } },
-  { { "SSSIZ", I18N_NOOP("Secure segment size") }, ValueUInt, { { 0, 0 } } },
+    { "Standard Security", I18N_NOOP("Standard Security") }, { nullptr, nullptr } } },
+  { { "EBSSIZ", I18N_NOOP("Boot segment EEPROM size") }, ValueUInt, { { nullptr, nullptr } } },
+  { { "RBSSIZ", I18N_NOOP("Boot segment RAM size") }, ValueUInt, { { nullptr, nullptr } } },
+  { { "WRTSS", I18N_NOOP("Secure segment write-protection") }, MemoryRange, { { nullptr, nullptr } } },
+  { { "SSSIZ", I18N_NOOP("Secure segment size") }, ValueUInt, { { nullptr, nullptr } } },
   { { "SSSEC", I18N_NOOP("Secure segment security") }, Fixed, {
     { "High Security",     I18N_NOOP("High Security") },
-    { "Standard Security", I18N_NOOP("Standard Security") }, { 0, 0 } } },
-  { { "ESSSIZ", I18N_NOOP("Secure segment EEPROM size") }, ValueUInt, { { 0, 0 } } },
-  { { "RSSSIZ", I18N_NOOP("Secure segment RAM size") }, ValueUInt, { { 0, 0 } } },
-  { { "WRTGS", I18N_NOOP("General segment write-protection") }, MemoryRange, { { 0, 0 } } },
+    { "Standard Security", I18N_NOOP("Standard Security") }, { nullptr, nullptr } } },
+  { { "ESSSIZ", I18N_NOOP("Secure segment EEPROM size") }, ValueUInt, { { nullptr, nullptr } } },
+  { { "RSSSIZ", I18N_NOOP("Secure segment RAM size") }, ValueUInt, { { nullptr, nullptr } } },
+  { { "WRTGS", I18N_NOOP("General segment write-protection") }, MemoryRange, { { nullptr, nullptr } } },
   { { "GSSEC", I18N_NOOP("General segment security") }, Fixed, {
     { "Off",                I18N_NOOP("Off") },
     { "High Security",     I18N_NOOP("High security") },
-    { "Standard Security", I18N_NOOP("Standard security") }, { 0, 0 } } },
+    { "Standard Security", I18N_NOOP("Standard security") }, { nullptr, nullptr } } },
   { { "FNOSC", I18N_NOOP("Initial oscillator source") }, Fixed, {
     { "EXTRC_F" ,    I18N_NOOP("Fast RC oscillator") },
     { "INTRC_F",     I18N_NOOP("Internal fast RC oscillator") },
@@ -252,7 +252,7 @@ const Pic::Config::Data Pic::Config::DATA[] = {
     { "PRIM_PLL",    I18N_NOOP("Primary oscillator with PLL") },
     { "SECOND",      I18N_NOOP("Secondary oscillator (LP)") },
     { "EXTRC_LP",    I18N_NOOP("Low power RC oscillator") },
-    { "INTRC_F_POST",  I18N_NOOP("Internal fast RC oscillator with postscaler") }, { 0, 0 } } },
+    { "INTRC_F_POST",  I18N_NOOP("Internal fast RC oscillator with postscaler") }, { nullptr, nullptr } } },
   { { "POSCMD", I18N_NOOP("Primary oscillator mode") }, Fixed, {
     { "Off", I18N_NOOP("Off") },
     { "HS",  I18N_NOOP("HS crystal oscillator") },
@@ -277,13 +277,13 @@ const Pic::Config::Data Pic::Config::DATA[] = {
     { "High range", I18N_NOOP("High range (nominal FRC frequency is 14.1 MHz)") },
     { "Low range", I18N_NOOP("Low range (nominal FRC frequency is 9.7 MHz)") }, { 0, 0 } } },
 
-  { { 0, 0 }, Fixed, { { 0, 0 } } }
+  { { nullptr, nullptr }, Fixed, { { nullptr, nullptr } } }
 };
 
-TQMap<TQString, Pic::Config::MapData> *Pic::Config::_masks = 0;
+TQMap<TQString, Pic::Config::MapData> *Pic::Config::_masks = nullptr;
 TQMap<TQString, Pic::Config::MapData> &Pic::Config::masks()
 {
-  if ( _masks==0 ) {
+  if ( !_masks ) {
     _masks = new TQMap<TQString, MapData>;
     for (uint i=0; DATA[i].mask.name; i++) {
       (*_masks)[DATA[i].mask.name] = MapData(i, -1);
@@ -318,16 +318,16 @@ const Pic::Config::Mask *Pic::Config::findMask(const TQString &mask, uint *wordI
         return &_words[i].masks[k];
       }
     }
-  return 0;
+  return nullptr;
 }
 
 const Pic::Config::Value *Pic::Config::findValue(const TQString &mask, const TQString &value) const
 {
   const Mask *cmask = findMask(mask);
-  if ( cmask==0 ) return 0;
+  if ( !cmask ) return nullptr;
   for (uint i=0; i<uint(cmask->values.count()); i++)
     if ( cmask->values[i].name==value ) return &cmask->values[i];
-  return 0;
+  return nullptr;
 }
 
 bool Pic::Config::checkValueName(const TQString &mask, const TQString &name) const
diff --git a/src/devices/pic/base/pic_config.h b/src/devices/pic/base/pic_config.h
index 77a5be8..47b2ca5 100644
--- a/src/devices/pic/base/pic_config.h
+++ b/src/devices/pic/base/pic_config.h
@@ -60,7 +60,7 @@ public:
   const Protection &protection() const { return _protection; }
 
   const Value *findValue(const TQString &mask, const TQString &value) const;
-  const Mask *findMask(const TQString &mask, uint *wordIndex = 0) const;
+  const Mask *findMask(const TQString &mask, uint *wordIndex = nullptr) const;
   static bool hasMaskName(const TQString &mask);
   static TQString maskLabel(const TQString &mask);
   bool checkValueName(const TQString &mask, const TQString &name) const;
diff --git a/src/devices/pic/base/pic_protection.cpp b/src/devices/pic/base/pic_protection.cpp
index 3e8f4c9..03073c2 100644
--- a/src/devices/pic/base/pic_protection.cpp
+++ b/src/devices/pic/base/pic_protection.cpp
@@ -248,7 +248,7 @@ Pic::Protection::ProtectedRange Pic::Protection::extractRange(const TQString &ma
       return pr;
     }
     if (isBootBlock) {
-      if ( bsmask==0 ) {
+      if ( !bsmask ) {
         tqDebug("Protected range should be explicit when boot size not present");
         return pr;
       }
@@ -294,7 +294,7 @@ Pic::Protection::ProtectedRange Pic::Protection::extractRange(const TQString &ma
     tqDebug("End is beyond memory range");
     return pr;
   }
-  if ( (rtype!=MemoryRangeType::Code || isBootBlock) && (pr.starts.count()>1 || !rexp.cap(2).isEmpty() || bmask==0)  ) {
+  if ( (rtype!=MemoryRangeType::Code || isBootBlock) && (pr.starts.count()>1 || !rexp.cap(2).isEmpty() || !bmask)  ) {
     tqDebug("Only code with blocks and boot can have multiple protected ranges");
     return pr;
   }
@@ -306,7 +306,7 @@ Pic::Protection::ProtectedRange Pic::Protection::extractRange(const TQString &ma
 
   // check with boot block
   if ( pr.starts.count()>1 ) {
-    if ( bmask==0 ) {
+    if ( !bmask ) {
       tqDebug("No boot mask");
       return pr;
     }
@@ -341,7 +341,7 @@ uint Pic::Protection::nbBlocks() const
 {
   if ( family()==CodeGuard ) return 2; // codeguard : secure segment + general segment
   for (uint i=0; i<MAX_NB_BLOCKS; i++)
-    if ( _config.findMask(TQString("CP_%1").arg(i))==0 ) return i;
+    if ( !_config.findMask(TQString("CP_%1").arg(i)) ) return i;
   return MAX_NB_BLOCKS;
 }
 
diff --git a/src/devices/pic/gui/pic_config_editor.cpp b/src/devices/pic/gui/pic_config_editor.cpp
index 21121b8..e036a9d 100644
--- a/src/devices/pic/gui/pic_config_editor.cpp
+++ b/src/devices/pic/gui/pic_config_editor.cpp
@@ -23,7 +23,7 @@ Pic::MemoryConfigEditorWidget::MemoryConfigEditorWidget(Memory &memory, bool wit
 {
   TQHBoxLayout *hb = new TQHBoxLayout(_top);
 
-  TabWidget *tabw = 0;
+  TabWidget *tabw = nullptr;
   uint nbWords = device().nbWords(MemoryRangeType::Config);
   if ( nbWords>1 ) {
     tabw = new TabWidget(this);
@@ -36,7 +36,7 @@ Pic::MemoryConfigEditorWidget::MemoryConfigEditorWidget(Memory &memory, bool wit
     //uint address = device().range(Device::MemoryConfig).start + device().addressIncrement(Device::MemoryConfig) * i;
     //tqDebug("address: %s %s nb: %i", toHex(address, 8).data(), device().configWord(i).name.latin1(), device().configWord(i).masks.count());
     if ( device().config()._words[i].masks.count()==0 ) continue;
-    TQWidget *page = 0;
+    TQWidget *page = nullptr;
     if ( nbWords>1 ) {
       page = new TQWidget(tabw);
       tabw->addTab(page, device().config()._words[i].name);
diff --git a/src/devices/pic/gui/pic_config_word_editor.cpp b/src/devices/pic/gui/pic_config_word_editor.cpp
index 907dfbc..192e285 100644
--- a/src/devices/pic/gui/pic_config_word_editor.cpp
+++ b/src/devices/pic/gui/pic_config_word_editor.cpp
@@ -118,7 +118,7 @@ Pic::ConfigWordEditor::ConfigWordEditor(Memory &memory, uint ci, bool withWordEd
     connect(button, TQ_SIGNAL(clicked()), TQ_SLOT(showDialog()));
     hbox->addWidget(button);
     hbox->addStretch(1);
-  } else _mdb = 0;
+  } else _mdb = nullptr;
 
   TQGridLayout *grid = new TQGridLayout(_top);
   grid->setColStretch(2, 1);
diff --git a/src/devices/pic/gui/pic_hex_view.cpp b/src/devices/pic/gui/pic_hex_view.cpp
index 444a0a6..2e1d6c0 100644
--- a/src/devices/pic/gui/pic_hex_view.cpp
+++ b/src/devices/pic/gui/pic_hex_view.cpp
@@ -32,7 +32,7 @@ void Pic::HexView::display()
   for (uint i=0; MEMORY_DATA[i]!=MemoryRangeType::Nb_Types; i++) {
     Pic::MemoryRangeType type = MEMORY_DATA[i];
     if ( !memory()->device().isReadable(type) ) continue;
-    Device::MemoryTypeEditor *e = 0;
+    Device::MemoryTypeEditor *e = nullptr;
     switch (type.type()) {
       case MemoryRangeType::Config: e = new MemoryConfigEditor(this, *memory(), this); break;
       case MemoryRangeType::Cal:    e = new MemoryCalibrationEditor(this, *memory(), this); break;
diff --git a/src/devices/pic/gui/pic_memory_editor.cpp b/src/devices/pic/gui/pic_memory_editor.cpp
index 8dc0682..c9bc9a7 100644
--- a/src/devices/pic/gui/pic_memory_editor.cpp
+++ b/src/devices/pic/gui/pic_memory_editor.cpp
@@ -37,7 +37,7 @@
 Pic::MemoryEditorLegend::Data::Data(const TQString &text, TQWidget *parent)
 {
   button = new PopupButton(text, parent);
-  TDEActionCollection *ac = 0;
+  TDEActionCollection *ac = nullptr;
   TDEAction *a = new TDEAction(i18n("Go to start"), "go-top", 0, parent, TQ_SLOT(gotoStart()), ac);
   actions.append(a);
   button->appendAction(a);
@@ -184,7 +184,7 @@ Pic::MemoryRangeEditor::MemoryRangeEditor(MemoryRangeType type, Memory &memory,
                                           uint nbLines, uint nbCols,
                                           uint wordOffset, int nbWords, TQWidget *parent)
   : Device::MemoryRangeEditor(memory, nbLines, nbCols, wordOffset, nbWords, parent, "pic_memory_range_editor"),
-    MemoryCaster(type, memory), _legend(0)
+    MemoryCaster(type, memory), _legend(nullptr)
 {
   if ( type==MemoryRangeType::Code ) _blockRanges.resize(memory.device().config().protection().nbBlocks());
 }
@@ -292,7 +292,7 @@ bool Pic::MemoryTypeEditor::internalDoAction(Device::Action action)
 
 //-----------------------------------------------------------------------------
 Pic::MemoryTypeRangeEditor::MemoryTypeRangeEditor(const HexView *hexview, MemoryRangeType type, Memory &memory, TQWidget *parent)
-  : MemoryTypeEditor(hexview, type, memory, parent, "pic_memory_type_range_editor"), _mre(0)
+  : MemoryTypeEditor(hexview, type, memory, parent, "pic_memory_type_range_editor"), _mre(nullptr)
 {}
 
 void Pic::MemoryTypeRangeEditor::init(bool first)
@@ -316,7 +316,7 @@ Pic::MemoryUserIdEditor::MemoryUserIdEditor(const HexView *hexview, Memory &memo
 void Pic::MemoryUserIdEditor::init(bool first)
 {
   MemoryTypeRangeEditor::init(first);
-  _setToChecksum = new TDEToggleAction(i18n("Set to unprotected checksum"), 0, 0,
+  _setToChecksum = new TDEToggleAction(i18n("Set to unprotected checksum"), nullptr, 0,
     this, TQ_SLOT(toggleSetToChecksum()), Main::toplevel().actionCollection());
   addAction(_setToChecksum);
   if ( readConfigEntry(BaseGlobalConfig::UserIdSetToChecksum).toBool() && memory().isClear(MemoryRangeType::UserId) ) {
diff --git a/src/devices/pic/gui/pic_memory_editor.h b/src/devices/pic/gui/pic_memory_editor.h
index 8b161ce..22a3fe1 100644
--- a/src/devices/pic/gui/pic_memory_editor.h
+++ b/src/devices/pic/gui/pic_memory_editor.h
@@ -75,7 +75,7 @@ private slots:
 private:
   class Data {
   public:
-    Data() : button(0), label(0) {}
+    Data() : button(nullptr), label(nullptr) {}
     Data(const TQString &text, TQWidget *parent);
     void setProtected(bool on);
     bool hasAction(const TDEAction *action) const;
diff --git a/src/devices/pic/gui/pic_prog_group_ui.cpp b/src/devices/pic/gui/pic_prog_group_ui.cpp
index 2740dc1..d2023e2 100644
--- a/src/devices/pic/gui/pic_prog_group_ui.cpp
+++ b/src/devices/pic/gui/pic_prog_group_ui.cpp
@@ -17,7 +17,7 @@ Programmer::PicAdvancedDialog::PicAdvancedDialog(PicBase &base, TQWidget *parent
   if (_voltagesContainer) {
     uint k = _voltagesContainer->numRows();
     for (uint i=0; i<Pic::Nb_VoltageTypes; i++) {
-      if ( !base.group().canReadVoltage(Pic::VoltageType(i)) ) _voltages[i] = 0;
+      if ( !base.group().canReadVoltage(Pic::VoltageType(i)) ) _voltages[i] = nullptr;
       else {
         TQLabel *label = new TQLabel(i18n(Pic::VOLTAGE_TYPE_LABELS[i]) + ":", _voltagesContainer);
         _voltagesContainer->addWidget(label, k,k, 0,0);
diff --git a/src/devices/pic/gui/pic_register_view.cpp b/src/devices/pic/gui/pic_register_view.cpp
index bd920f8..4237d03 100644
--- a/src/devices/pic/gui/pic_register_view.cpp
+++ b/src/devices/pic/gui/pic_register_view.cpp
@@ -30,7 +30,7 @@
 
 //-----------------------------------------------------------------------------
 Pic::BankWidget::BankWidget(uint i, TQWidget *parent)
-  : TQFrame(parent, "bank_widget"), _bindex(i), _bankCombo(0)
+  : TQFrame(parent, "bank_widget"), _bindex(i), _bankCombo(nullptr)
 {
   setFrameStyle(WinPanel | Sunken);
   TQGridLayout *top = new TQGridLayout(this, 1, 1, 5, 0);
@@ -247,7 +247,7 @@ void Pic::BankWidget::updateView()
 //-----------------------------------------------------------------------------
 Pic::RegisterView::RegisterView(TQWidget *parent)
   : Register::View(parent, "pic_register_view"),
-    _readAllButton(0), _clearAllButton(0)
+    _readAllButton(nullptr), _clearAllButton(nullptr)
 {
   TQVBoxLayout *vbox = new TQVBoxLayout(this, 10, 10);
   TQHBoxLayout *hbox = new TQHBoxLayout(vbox);
@@ -268,7 +268,7 @@ Pic::RegisterView::RegisterView(TQWidget *parent)
     grid->setColStretch(2, 1);
   }
 
-  TQHBoxLayout *hbox2 = 0;
+  TQHBoxLayout *hbox2 = nullptr;
   if ( nb==0 ) {
     TQLabel *label = new TQLabel(i18n("Registers information not available."), this);
     vbox->addWidget(label);
diff --git a/src/devices/pic/gui/pic_register_view.h b/src/devices/pic/gui/pic_register_view.h
index fe3def3..8e39983 100644
--- a/src/devices/pic/gui/pic_register_view.h
+++ b/src/devices/pic/gui/pic_register_view.h
@@ -41,7 +41,7 @@ private:
   enum Id { ReadId, EditId, WatchId };
   class Data {
   public:
-    Data() : label(0), button(0), edit(0) {}
+    Data() : label(nullptr), button(nullptr), edit(nullptr) {}
     uint address;
     TQLabel *alabel, *label;
     PopupButton *button;
diff --git a/src/devices/pic/pic/pic_memory.cpp b/src/devices/pic/pic/pic_memory.cpp
index c7071be..b69844e 100644
--- a/src/devices/pic/pic/pic_memory.cpp
+++ b/src/devices/pic/pic/pic_memory.cpp
@@ -101,7 +101,7 @@ TQString Pic::Memory::findValue(const TQString &maskName) const
   if ( maskName.isEmpty() ) return TQString();
   uint i;
   const Config::Mask *mask = device().config().findMask(maskName, &i);
-  if ( mask==0 ) return TQString();
+  if ( !mask ) return TQString();
   BitValue v = word(MemoryRangeType::Config, i).maskWith(mask->value);
   for (uint k=0; k<uint(mask->values.count()); k++)
     if ( v.isInside(mask->values[k].value) ) return mask->values[k].name;
@@ -256,8 +256,8 @@ void Pic::Memory::setConfigValue(const TQString &maskName, const TQString &value
 
 void Pic::Memory::setProtection(bool on, const TQString &maskName, Protection::Type ptype)
 {
-  const Config::Mask *mask = device().config().findMask(maskName, 0);
-  if( mask==0 ) return;
+  const Config::Mask *mask = device().config().findMask(maskName, nullptr);
+  if( !mask ) return;
   const Protection &protection = device().config().protection();
   TQString valueName;
   if ( ptype==Protection::StandardSecurity || ptype==Protection::HighSecurity )
@@ -273,8 +273,8 @@ void Pic::Memory::setProtection(bool on, const TQString &maskName, Protection::T
 
 bool Pic::Memory::hasFlagOn(const TQString &maskName, bool valueIfNotPresent) const
 {
-  const Config::Mask *mask = device().config().findMask(maskName, 0);
-  if ( mask==0 ) return valueIfNotPresent;
+  const Config::Mask *mask = device().config().findMask(maskName, nullptr);
+  if ( !mask ) return valueIfNotPresent;
   Q_ASSERT(mask);
   Q_ASSERT( mask->values.count()==2 );
   return ( findValue(maskName)=="On" );
@@ -282,7 +282,7 @@ bool Pic::Memory::hasFlagOn(const TQString &maskName, bool valueIfNotPresent) co
 
 void Pic::Memory::setFlagOn(const TQString &maskName, bool on)
 {
-  const Config::Mask *mask = device().config().findMask(maskName, 0);
+  const Config::Mask *mask = device().config().findMask(maskName, nullptr);
   Q_UNUSED(mask);
   Q_ASSERT(mask);
   Q_ASSERT( mask->values.count()==2 );
diff --git a/src/devices/pic/prog/pic_prog.cpp b/src/devices/pic/prog/pic_prog.cpp
index 366cd1c..adef9c6 100644
--- a/src/devices/pic/prog/pic_prog.cpp
+++ b/src/devices/pic/prog/pic_prog.cpp
@@ -25,7 +25,7 @@ bool Programmer::PicGroup::canReadVoltages() const
 Debugger::DeviceSpecific *Programmer::PicGroup::createDebuggerDeviceSpecific(::Debugger::Base &base) const
 {
   const Pic::Data *data = static_cast<const Pic::Data *>(base.device());
-  if ( data==0 ) return 0;
+  if ( !data ) return nullptr;
   switch (data->architecture().type()) {
     case Pic::Architecture::P10X:
     case Pic::Architecture::P16X: return new ::Debugger::P16FSpecific(base);
@@ -40,12 +40,12 @@ Debugger::DeviceSpecific *Programmer::PicGroup::createDebuggerDeviceSpecific(::D
     case Pic::Architecture::Nb_Types: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 //-----------------------------------------------------------------------------
 Programmer::PicBase::PicBase(const Group &group, const Pic::Data *data, const char *name)
-  : Base(group, data, name), _deviceMemory(0), _hasProtectedCode(false), _hasProtectedEeprom(false)
+  : Base(group, data, name), _deviceMemory(nullptr), _hasProtectedCode(false), _hasProtectedEeprom(false)
 {
   if (data) _deviceMemory = new Pic::Memory(*data);
 }
@@ -173,7 +173,7 @@ bool Programmer::PicBase::initProgramming(Task)
   if ( specific()->canReadRange(Pic::MemoryRangeType::Config) ) {
     // read config
     Device::Array data;
-    if ( !specific()->read(Pic::MemoryRangeType::Config, data, 0) ) return false;
+    if ( !specific()->read(Pic::MemoryRangeType::Config, data, nullptr) ) return false;
     _deviceMemory->setArray(Pic::MemoryRangeType::Config, data);
     _hasProtectedCode = _deviceMemory->isProtected(Pic::Protection::ProgramProtected, Pic::MemoryRangeType::Code);
     _hasProtectedEeprom = _deviceMemory->isProtected(Pic::Protection::ProgramProtected, Pic::MemoryRangeType::Eeprom);
@@ -190,14 +190,14 @@ bool Programmer::PicBase::preserveCode()
 {
   if ( _hasProtectedCode && !askContinue(i18n("All or part of code memory is protected so it cannot be preserved. Continue anyway?")) )
     return false;
-  return readRange(Pic::MemoryRangeType::Code, _deviceMemory, 0);
+  return readRange(Pic::MemoryRangeType::Code, _deviceMemory, nullptr);
 }
 
 bool Programmer::PicBase::preserveEeprom()
 {
   if ( _hasProtectedEeprom && !askContinue(i18n("All or part of data EEPROM is protected so it cannot be preserved. Continue anyway?")) )
     return false;
-  return readRange(Pic::MemoryRangeType::Eeprom, _deviceMemory, 0);
+  return readRange(Pic::MemoryRangeType::Eeprom, _deviceMemory, nullptr);
 }
 
 bool Programmer::PicBase::internalRun()
@@ -227,7 +227,7 @@ bool Programmer::PicBase::initProgramming()
 BitValue Programmer::PicBase::readDeviceId()
 {
   Device::Array data;
-  if ( !specific()->read(Pic::MemoryRangeType::DeviceId, data, 0) ) return 0;
+  if ( !specific()->read(Pic::MemoryRangeType::DeviceId, data, nullptr) ) return 0;
   Q_ASSERT( data.count()!=0 );
   BitValue id = 0x0;
   switch (device()->architecture().type()) {
@@ -304,7 +304,7 @@ bool Programmer::PicBase::readCalibration()
       return true;
     }
     Device::Array data;
-    if ( !specific()->read(Pic::MemoryRangeType::Cal, data, 0) ) return false;
+    if ( !specific()->read(Pic::MemoryRangeType::Cal, data, nullptr) ) return false;
     _deviceMemory->setArray(Pic::MemoryRangeType::Cal, data);
     log(Log::DebugLevel::Normal, TQString("  Read osccal: %1").arg(prettyCalibration(data)));
     TQString message;
@@ -314,7 +314,7 @@ bool Programmer::PicBase::readCalibration()
         log(Log::LineType::Warning, i18n("Osccal backup cannot be read by the selected programmer"));
         return true;
       }
-      if ( !specific()->read(Pic::MemoryRangeType::CalBackup, data, 0) ) return false;
+      if ( !specific()->read(Pic::MemoryRangeType::CalBackup, data, nullptr) ) return false;
       _deviceMemory->setArray(Pic::MemoryRangeType::CalBackup, data);
       log(Log::DebugLevel::Normal, TQString("  Read osccal backup: %1").arg(prettyCalibration(data)));
       if ( !device()->checkCalibration(data, &message) ) log(Log::LineType::Warning, "  " + message);
@@ -336,17 +336,17 @@ bool Programmer::PicBase::restoreCalibration()
     }
   }
   Device::Array cdata;
-  if ( !specific()->read(Pic::MemoryRangeType::Cal, cdata, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::Cal, cdata, nullptr) ) return false;
   if ( cdata==data ) {
     log(Log::LineType::Information, i18n("  Osccal is unchanged."));
     return true;
   }
   if ( !programRange(Pic::MemoryRangeType::Cal, data) ) return false;
-  if ( !specific()->read(Pic::MemoryRangeType::Cal, cdata, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::Cal, cdata, nullptr) ) return false;
   if ( cdata==data ) log(Log::LineType::Information, i18n("  Osccal has been preserved."));
 
   if ( !device()->isWritable(Pic::MemoryRangeType::CalBackup) || !device()->checkCalibration(bdata) ) return true;
-  if ( !specific()->read(Pic::MemoryRangeType::CalBackup, cdata, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::CalBackup, cdata, nullptr) ) return false;
   if ( cdata.count()==0 ) {
     log(Log::LineType::Warning, i18n("Osccal backup cannot be read by selected programmer"));
     return true;
@@ -356,7 +356,7 @@ bool Programmer::PicBase::restoreCalibration()
     return true;
   }
   if ( !programRange(Pic::MemoryRangeType::CalBackup, bdata) ) return false;
-  if ( !specific()->read(Pic::MemoryRangeType::CalBackup, cdata, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::CalBackup, cdata, nullptr) ) return false;
   if ( cdata==bdata ) log(Log::LineType::Information, i18n("  Osccal backup has been preserved."));
   return true;
 }
@@ -369,7 +369,7 @@ bool Programmer::PicBase::restoreBandGapBits()
     if ( device()->config()._words[i].pmask!=0 ) hasProtectedBits = true;
   if ( !hasProtectedBits ) return true;
   Device::Array cdata;
-  if ( !specific()->read(Pic::MemoryRangeType::Config, cdata, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::Config, cdata, nullptr) ) return false;
   Device::Array data = _deviceMemory->arrayForWriting(Pic::MemoryRangeType::Config);
   for (uint i=0; i<cdata.count(); i++) {
     BitValue pmask = device()->config()._words[i].pmask;
@@ -383,7 +383,7 @@ bool Programmer::PicBase::restoreBandGapBits()
   }
   log(Log::DebugLevel::Normal, TQString("  Write config with band gap bits: %2").arg(toHexLabel(cdata[0], device()->nbCharsWord(Pic::MemoryRangeType::Config))));
   if ( !programRange(Pic::MemoryRangeType::Config, cdata) ) return false;
-  if ( !specific()->read(Pic::MemoryRangeType::Config, data, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::Config, data, nullptr) ) return false;
   if ( data==cdata ) log(Log::LineType::Information, i18n("  Band gap bits have been preserved."));
   return true;
 }
@@ -431,7 +431,7 @@ bool Programmer::PicBase::eraseRange(Pic::MemoryRangeType type)
   if ( ok && readConfigEntry(Config::BlankCheckAfterErase).toBool() ) {
     Pic::Memory memory(*device());
     VerifyData vdata(BlankCheckVerify, memory);
-    return readRange(type, 0, &vdata);
+    return readRange(type, nullptr, &vdata);
   }
   return ok;
 }
@@ -470,7 +470,7 @@ bool Programmer::PicBase::internalEraseRange(Pic::MemoryRangeType type)
   }
   if ( type!=Pic::MemoryRangeType::Code && !preserveCode() ) return false;
   if ( type!=Pic::MemoryRangeType::Eeprom && !preserveEeprom() ) return false;
-  if ( type!=Pic::MemoryRangeType::UserId && !readRange(Pic::MemoryRangeType::UserId, _deviceMemory, 0) ) return false;
+  if ( type!=Pic::MemoryRangeType::UserId && !readRange(Pic::MemoryRangeType::UserId, _deviceMemory, nullptr) ) return false;
   specific()->erase(_hasProtectedCode || _hasProtectedEeprom);
   if ( type!=Pic::MemoryRangeType::Code && !programAndVerifyRange(Pic::MemoryRangeType::Code, *_deviceMemory) ) return false;
   if ( type!=Pic::MemoryRangeType::Eeprom && !programAndVerifyRange(Pic::MemoryRangeType::Eeprom, *_deviceMemory) ) return false;
@@ -500,7 +500,7 @@ bool Programmer::PicBase::readRange(Pic::MemoryRangeType type, Pic::Memory *memo
     log(Log::LineType::Information, i18n("The selected programmer cannot read %1: operation skipped.").arg(type.label()));
     return true;
   }
-  VerifyData *vdata = (vd ? new VerifyData(vd->actions, vd->memory) : 0);
+  VerifyData *vdata = (vd ? new VerifyData(vd->actions, vd->memory) : nullptr);
   if (vdata) {
     log(Log::LineType::Information, i18n("  Verify memory: %1").arg(type.label()));
     if ( !(vdata->actions & IgnoreProtectedVerify) ) {
@@ -543,8 +543,8 @@ bool Programmer::PicBase::internalRead(Device::Memory *memory, const Device::Mem
   }
   if ( !readRange(Pic::MemoryRangeType::Config,    pmemory, vdata) ) return false;
   if ( !readRange(Pic::MemoryRangeType::UserId,    pmemory, vdata) ) return false;
-  if ( vdata==0 ) if ( !readRange(Pic::MemoryRangeType::Cal,       pmemory, 0) ) return false;
-  if ( vdata==0 ) if ( !readRange(Pic::MemoryRangeType::CalBackup, pmemory, 0) ) return false;
+  if ( !vdata ) if ( !readRange(Pic::MemoryRangeType::Cal,       pmemory, nullptr) ) return false;
+  if ( !vdata ) if ( !readRange(Pic::MemoryRangeType::CalBackup, pmemory, nullptr) ) return false;
   if ( !readRange(Pic::MemoryRangeType::Code,      pmemory, vdata) ) return false;
   if ( !readRange(Pic::MemoryRangeType::Eeprom,    pmemory, vdata) ) return false;
   return true;
@@ -578,7 +578,7 @@ bool Programmer::PicBase::programAndVerifyRange(Pic::MemoryRangeType type, const
   VerifyActions actions = IgnoreProtectedVerify;
   if ( type==Pic::MemoryRangeType::Code && readConfigEntry(Config::OnlyVerifyProgrammed).toBool() ) actions |= OnlyProgrammedVerify;
   VerifyData vdata(actions, memory);
-  return readRange(type, 0, &vdata);
+  return readRange(type, nullptr, &vdata);
 }
 
 bool Programmer::PicBase::programAll(const Pic::Memory &memory)
@@ -626,7 +626,7 @@ bool Programmer::PicBase::internalProgram(const Device::Memory &memory, const De
     log(Log::LineType::Information, i18n("  EPROM device: blank checking first..."));
     Pic::Memory memory(*device());
     VerifyData vdata(BlankCheckVerify, memory);
-    if ( !internalRead(0, range, &vdata) ) return false;
+    if ( !internalRead(nullptr, range, &vdata) ) return false;
     log(Log::LineType::Information, i18n("  Blank check successful"));
     // check if protecting device
     bool protectedCode = pmemory.isProtected(Pic::Protection::ProgramProtected, Pic::MemoryRangeType::Code);
@@ -650,7 +650,7 @@ bool Programmer::PicBase::internalProgram(const Device::Memory &memory, const De
     } else log(Log::LineType::Warning, i18n("The range cannot be erased first by the selected programmer so programming may fail..."));
     ok = programRange(type, pmemory.arrayForWriting(type));
     VerifyData vdata(NormalVerify, pmemory);
-    if (ok) ok = readRange(type, 0, &vdata);
+    if (ok) ok = readRange(type, nullptr, &vdata);
   } else {
     if ( !eprom ) {
       if ( specific()->canEraseAll() ) {
@@ -684,16 +684,16 @@ bool Programmer::PicBase::tryProgramCalibration(const Device::Array &data, bool
   success = true;
   if ( !specific()->write(Pic::MemoryRangeType::Cal, data, true) ) return false;
   Device::Array read;
-  if ( !specific()->read(Pic::MemoryRangeType::Cal, read, 0) ) return false;
+  if ( !specific()->read(Pic::MemoryRangeType::Cal, read, nullptr) ) return false;
   for (uint i=0; i<data.count(); i++)
     if ( data[i]!=read[i] ) success = false;
   if ( !success ) return true;
   if ( device()->isWritable(Pic::MemoryRangeType::CalBackup) ) {
-    if ( !specific()->read(Pic::MemoryRangeType::CalBackup, read, 0) ) return false;
+    if ( !specific()->read(Pic::MemoryRangeType::CalBackup, read, nullptr) ) return false;
     if ( device()->checkCalibration(read) ) return true; // do not overwrite correct backup value
     log(Log::LineType::Information, i18n("  Write memory: %1").arg(Pic::MemoryRangeType(Pic::MemoryRangeType::CalBackup).label()));
     if ( !specific()->write(Pic::MemoryRangeType::CalBackup, data, true) ) return false;
-    if ( !specific()->read(Pic::MemoryRangeType::CalBackup, read, 0) ) return false;
+    if ( !specific()->read(Pic::MemoryRangeType::CalBackup, read, nullptr) ) return false;
     for (uint i=0; i<data.count(); i++)
       if ( data[i]!=read[i] ) success = false;
   }
diff --git a/src/devices/pic/xml/pic_xml_to_data.cpp b/src/devices/pic/xml/pic_xml_to_data.cpp
index 2419b46..06b7835 100644
--- a/src/devices/pic/xml/pic_xml_to_data.cpp
+++ b/src/devices/pic/xml/pic_xml_to_data.cpp
@@ -288,13 +288,13 @@ TQString getChecksumData(TQDomElement checksum)
     for (uint i=1; i<nb; i++) cdata.protectedMaskNames += "CP_" + TQString::number(i-1);
     cdata.bbsize = checksum.attribute("bbsize");
     const Config::Mask *mask = data()->_config->findMask(protection.bootSizeMaskName());
-    if ( mask==0 ) {
+    if ( !mask ) {
       if ( !cdata.bbsize.isEmpty() ) tqFatal("Device does not have a variable boot size (no \"bbsize\" allowed in checksum)");
     } else if ( cdata.bbsize.isEmpty() ) {
       if ( nb==1 ) tqFatal("\"bbsize\" should be define in checksum for \"protected_blocks\"==1");
     } else {
       const Config::Value *value = data()->_config->findValue(protection.bootSizeMaskName(), cdata.bbsize);
-      if ( value==0 ) tqFatal("Invalid \"bbsize\" in checksum");
+      if ( !value ) tqFatal("Invalid \"bbsize\" in checksum");
       valueName += "_" + cdata.bbsize;
     }
   } else {
@@ -324,7 +324,7 @@ TQString getChecksumData(TQDomElement checksum)
     TQStringList list = TQStringList::split(" ", s);
     for (uint i=0; i<uint(list.count()); i++) {
       const Config::Mask *mask = data()->config().findMask(list[i]);
-      if ( mask==0 ) tqFatal(TQString("Not valid mask name for \"protected\" tag in checksum: %1").arg(list[i]));
+      if ( !mask ) tqFatal(TQString("Not valid mask name for \"protected\" tag in checksum: %1").arg(list[i]));
       if ( mask->values.count()==2 ) continue;
       for (uint k=0; k<uint(mask->values.count()); k++) {
         TQString valueName = mask->values[k].name;
diff --git a/src/libgui/breakpoint_view.cpp b/src/libgui/breakpoint_view.cpp
index 7c63653..c3f4fc4 100644
--- a/src/libgui/breakpoint_view.cpp
+++ b/src/libgui/breakpoint_view.cpp
@@ -36,7 +36,7 @@ Breakpoint::ListViewItem::ListViewItem(ListView *parent, const Data &data)
 //----------------------------------------------------------------------------
 Breakpoint::View::View(TQWidget *parent)
   : TQWidget(parent, "breakpoints_view"), GenericView(Breakpoint::list()),
-    _currentData(0)
+    _currentData(nullptr)
 {
   TQVBoxLayout *top = new TQVBoxLayout(this);
   _listview = new ListView(this);
@@ -68,7 +68,7 @@ void Breakpoint::View::updateView()
 
 void Breakpoint::View::itemClicked(TQListViewItem *item)
 {
-  if ( item==0 ) return;
+  if ( !item ) return;
   const Data &data = static_cast<ListViewItem *>(item)->data();
   Address address = Breakpoint::list().address(data);
   TextEditor *editor = ::tqt_cast<TextEditor *>(Main::currentEditor());
@@ -80,17 +80,17 @@ void Breakpoint::View::itemClicked(TQListViewItem *item)
     editor = ::tqt_cast<TextEditor *>(Main::editorManager().openEditor(data.url));
     line = data.line;
   }
-  if ( editor==0 ) return;
+  if ( !editor ) return;
   editor->show();
   editor->setCursor(line, 0);
 }
 
 void Breakpoint::View::contextMenu(TQListViewItem *item, const TQPoint &pos, int)
 {
-  _currentData = (item ? &static_cast<ListViewItem *>(item)->data() : 0);
+  _currentData = (item ? &static_cast<ListViewItem *>(item)->data() : nullptr);
   updateActions(_currentData);
   Main::popup("breakpoint_context_menu").exec(pos);
-  _currentData = 0;
+  _currentData = nullptr;
 }
 
 #include "breakpoint_view.moc"
diff --git a/src/libgui/config_center.cpp b/src/libgui/config_center.cpp
index 0a85005..a7295b9 100644
--- a/src/libgui/config_center.cpp
+++ b/src/libgui/config_center.cpp
@@ -56,7 +56,7 @@ TQPixmap GlobalConfigWidget::pixmap() const
 
 //----------------------------------------------------------------------------
 StandaloneConfigWidget::StandaloneConfigWidget()
-  : ConfigWidget(0)
+  : ConfigWidget(nullptr)
 {
   uint row = 0;
 
@@ -66,7 +66,7 @@ StandaloneConfigWidget::StandaloneConfigWidget()
   addWidget(_device, row,row, 1,1);
   row++;
 
-  _tools = new ToolsConfigWidget(0, this);
+  _tools = new ToolsConfigWidget(nullptr, this);
   addWidget(_tools, row,row, 0,2);
   row++;
 
@@ -75,13 +75,13 @@ StandaloneConfigWidget::StandaloneConfigWidget()
 
 void StandaloneConfigWidget::loadConfig()
 {
-  _device->setDevice(Compile::Config::device(0));
+  _device->setDevice(Compile::Config::device(nullptr));
   _tools->loadConfig();
 }
 
 void StandaloneConfigWidget::saveConfig()
 {
-  Compile::Config::setDevice(0, _device->device());
+  Compile::Config::setDevice(nullptr, _device->device());
   _tools->saveConfig();
 }
 
@@ -103,7 +103,7 @@ ConfigWidget *ConfigCenter::factory(Type type)
     case Nb_Types:     break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 ConfigCenter::ConfigCenter(Type showType, TQWidget *parent)
diff --git a/src/libgui/config_gen.cpp b/src/libgui/config_gen.cpp
index 3941b83..3f1a5fc 100644
--- a/src/libgui/config_gen.cpp
+++ b/src/libgui/config_gen.cpp
@@ -69,7 +69,7 @@ GeneratorDialog::GeneratorDialog(const TQString &title, TQWidget *parent, const
 void GeneratorDialog::set(const Device::Data *data, const Tool::Group &group, PURL::ToolType stype)
 {
   TQString device;
-  if ( data==0 ) {
+  if ( !data ) {
     TQValueVector<TQString> devices = group.supportedDevices();
     if ( devices.isEmpty() ) return;
     device = devices[0];
@@ -107,7 +107,7 @@ void GeneratorDialog::compute()
   _warning->hide();
   if ( group->isSupported(_deviceChooser->device()) ) {
     const Tool::SourceGenerator *generator = group->sourceGenerator();
-    if ( generator==0 ) {
+    if ( !generator ) {
       _text->setFileType(PURL::Nb_FileTypes);
       _text->setText(i18n("Generation is not supported yet for the selected toolchain or device."));
     } else {
@@ -142,7 +142,7 @@ void GeneratorDialog::slotUser1()
 
 //-----------------------------------------------------------------------------
 ConfigGenerator::ConfigGenerator(TQWidget *parent)
-  : GeneratorDialog(i18n("Config Generator"), parent, "config_generator"), _memory(0), _configEditor(0)
+  : GeneratorDialog(i18n("Config Generator"), parent, "config_generator"), _memory(nullptr), _configEditor(nullptr)
 {}
 
 ConfigGenerator::~ConfigGenerator()
diff --git a/src/libgui/console.cpp b/src/libgui/console.cpp
index 1c062fe..dbcb94e 100644
--- a/src/libgui/console.cpp
+++ b/src/libgui/console.cpp
@@ -26,7 +26,7 @@ void ConsoleView::showEvent(TQShowEvent *e)
     _initialized = true;
     KLibFactory *factory = KLibLoader::self()->factory("libkonsolepart");
     TQVBoxLayout *top = new TQVBoxLayout(this, 0, 10);
-    if ( factory==0 ) {
+    if ( !factory ) {
       TQLabel *label = new TQLabel(i18n("Could not find \"konsolepart\"; please install tdebase."), this);
       label->show();
       top->addWidget(label);
diff --git a/src/libgui/device_editor.cpp b/src/libgui/device_editor.cpp
index 6b71823..bf385ae 100644
--- a/src/libgui/device_editor.cpp
+++ b/src/libgui/device_editor.cpp
@@ -20,13 +20,13 @@
 #include "main_global.h"
 
 DeviceEditor::DeviceEditor(const TQString &title, const TQString &tag, TQWidget *parent, const char *name)
-  : Editor(title, tag, parent, name), _view(0)
+  : Editor(title, tag, parent, name), _view(nullptr)
 {
   init();
 }
 
 DeviceEditor::DeviceEditor(TQWidget *parent, const char *name)
-  : Editor(parent, name), _view(0)
+  : Editor(parent, name), _view(nullptr)
 {
   init();
 }
@@ -136,7 +136,7 @@ TQString DeviceEditor::guessDeviceFromFile(const PURL::Url &url)
   }
   device = device.upper();
   if( device[0]=='P') return device.mid(1);
-  if ( Device::lister().data(device)==0 ) return Device::AUTO_DATA.name;
+  if ( !Device::lister().data(device) ) return Device::AUTO_DATA.name;
   return device;
 }
 
diff --git a/src/libgui/device_gui.cpp b/src/libgui/device_gui.cpp
index 3c9b712..01170a2 100644
--- a/src/libgui/device_gui.cpp
+++ b/src/libgui/device_gui.cpp
@@ -197,20 +197,20 @@ DeviceChooser::Dialog::~Dialog()
 TQString DeviceChooser::Dialog::device() const
 {
   TQListViewItem *item = _listView->selectedItem();
-  if ( item==0 || !static_cast<ListItem *>(item)->isDevice() ) return Device::AUTO_DATA.name;
+  if ( !item || !static_cast<ListItem *>(item)->isDevice() ) return Device::AUTO_DATA.name;
   return item->text(0);
 }
 
 void DeviceChooser::Dialog::listDoubleClicked(TQListViewItem *item)
 {
-  if ( item==0 ) return;
+  if ( !item ) return;
   if ( !static_cast<ListItem *>(item)->isDevice() ) item->setOpen(!item->isOpen());
   else accept();
 }
 
 void DeviceChooser::Dialog::currentChanged(TQListViewItem *item)
 {
-  if ( item==0 || !static_cast<ListItem *>(item)->isDevice() ) _deviceView->clear();
+  if ( !item || !static_cast<ListItem *>(item)->isDevice() ) _deviceView->clear();
   else _deviceView->setDevice(item->text(0), false);
 }
 
@@ -257,7 +257,7 @@ void DeviceChooser::Dialog::updateList(const TQString &device)
 {
   TQValueVector<TQString> list = Device::lister().supportedDevices();
   TQMap<TQString, TDEListViewItem *> groups;
-  TQListViewItem *selected = 0;
+  TQListViewItem *selected = nullptr;
   const Programmer::Group *pgroup = programmerGroup();
   if ( pgroup && pgroup->supportedDevices().isEmpty() && pgroup->isSoftware() ) {
     _deviceView->setText(i18n("Could not detect supported devices for \"%1\". Please check installation.").arg(pgroup->label()));
@@ -279,7 +279,7 @@ void DeviceChooser::Dialog::updateList(const TQString &device)
       if ( data->group().name()!="pic" ) continue;
       if ( !static_cast<const Pic::Data *>(data)->hasFeature(_featureCombo->value()) ) continue;
     }
-    TDEListViewItem *item = 0;
+    TDEListViewItem *item = nullptr;
     switch (_listTypeCombo->value().type()) {
       case ListType::FamilyTree: {
         TQString gname = data->listViewGroup();
@@ -296,7 +296,7 @@ void DeviceChooser::Dialog::updateList(const TQString &device)
     if ( device==list[i] ) selected = item;
   }
   if (_withAuto) (void)new ListItem(_listView, i18n(Device::AUTO_DATA.label), true, false);
-  if ( selected==0 ) selected = _listView->firstChild();
+  if ( !selected ) selected = _listView->firstChild();
   if (selected) {
     _listView->setSelected(selected, true);
     _listView->ensureItemVisible(selected);
@@ -421,7 +421,7 @@ DeviceChooser::View::View(TQWidget *parent)
 void DeviceChooser::View::setDevice(const TQString &name, bool cannotChangeDevice)
 {
   const Device::Data *data = Device::lister().data(name);
-  if ( data==0 ) return;
+  if ( !data ) return;
   TQString doc = htmlInfo(*data, (cannotChangeDevice ? TQString() : "device:%1"), Device::documentHtml(*data));
   doc += Device::supportedHtmlInfo(*data);
   _info->setText("<html><body>" + doc + "</body></html>");
diff --git a/src/libgui/device_gui.h b/src/libgui/device_gui.h
index 800273d..9086ae2 100644
--- a/src/libgui/device_gui.h
+++ b/src/libgui/device_gui.h
@@ -122,7 +122,7 @@ TQ_OBJECT
   
 public:
   ComboBox(bool withAuto, TQWidget *parent);
-  void setDevice(const TQString &device, const Device::Data *data = 0);
+  void setDevice(const TQString &device, const Device::Data *data = nullptr);
   TQString device() const;
   bool withAuto() const { return _withAuto; }
 
diff --git a/src/libgui/editor_manager.cpp b/src/libgui/editor_manager.cpp
index d32d887..86c3798 100644
--- a/src/libgui/editor_manager.cpp
+++ b/src/libgui/editor_manager.cpp
@@ -93,7 +93,7 @@ void EditorHistory::closedLast()
 const char * const EditorManager::EDITOR_TAGS[Nb_EditorTypes] = { "device", "registers" };
 
 EditorManager::EditorManager(TQWidget *parent)
-  : TabWidget(parent, "editor_manager"), _current(0)
+  : TabWidget(parent, "editor_manager"), _current(nullptr)
 {
   setTabBar(new EditorTabBar(this));
   connect(this, TQ_SIGNAL(currentChanged(TQWidget *)), TQ_SLOT(showEditor(TQWidget *)));
@@ -125,7 +125,7 @@ bool EditorManager::openFile(const PURL::Url &url)
 void EditorManager::connectEditor(Editor *editor)
 {
     disconnectEditor(currentEditor());
-    if ( editor==0 ) return;
+    if ( !editor ) return;
     editor->addGui();
     connect(editor, TQ_SIGNAL(modified()), TQ_SLOT(modifiedSlot()));
     connect(editor, TQ_SIGNAL(guiChanged()), TQ_SIGNAL(guiChanged()));
@@ -140,7 +140,7 @@ void EditorManager::modifiedSlot()
 
 void EditorManager::disconnectEditor(Editor *editor)
 {
-  if ( editor==0 ) return;
+  if ( !editor ) return;
   editor->disconnect(this);
   editor->removeGui();
 }
@@ -161,7 +161,7 @@ void EditorManager::updateTitles()
     static_cast<EditorTabBar *>(tabBar())->setReadOnly(indexOf(*it), (*it)->isReadOnly());
     TQPixmap pixmap;
     if ( (*it)->isModified() ) pixmap = modified;
-    else if ( ::tqt_cast< ::DeviceEditor *>(*it)==0 ) pixmap = PURL::icon((*it)->fileType());
+    else if ( !::tqt_cast< ::DeviceEditor *>(*it) ) pixmap = PURL::icon((*it)->fileType());
     else pixmap = chip;
     changeTab(*it, pixmap.isNull() ? def : pixmap, title(**it));
   }
@@ -176,11 +176,11 @@ bool EditorManager::closeCurrentEditor()
 
 bool EditorManager::closeAllEditors()
 {
-  if ( currentEditor()==0 ) return true;
+  if ( !currentEditor() ) return true;
   while ( currentEditor() )
     if ( !closeEditor(currentEditor(), true) ) break;
   emit guiChanged();
-  return ( currentEditor()==0 );
+  return ( currentEditor()==nullptr );
 }
 
 bool EditorManager::closeAllOtherEditors()
@@ -203,7 +203,7 @@ bool EditorManager::closeAllOtherEditors()
 bool EditorManager::closeEditor(const PURL::Url &url)
 {
   Editor *e = findEditor(url);
-  if ( e==0 ) return true;
+  if ( !e ) return true;
   if ( !closeEditor(e, true) ) return false;
   emit guiChanged();
   return true;
@@ -217,7 +217,7 @@ void EditorManager::closeRequest(int i)
 
 bool EditorManager::closeEditor(Editor *e, bool ask)
 {
-  if ( e==0 ) return true;
+  if ( !e ) return true;
   if ( ask && !e->checkSaved() ) return false;
   removePage(e);
   _editors.remove(e);
@@ -230,14 +230,14 @@ bool EditorManager::closeEditor(Editor *e, bool ask)
 
 void EditorManager::saveBookmarks(const Editor &e)
 {
-  if ( Main::project()==0 ) return;
+  if ( !Main::project() ) return;
   TQValueList<uint> lines = e.bookmarkLines();
   Main::project()->setBookmarkLines(e.url(), lines);
 }
 
 void EditorManager::restoreBookmarks(Editor &e)
 {
-  if ( Main::project()==0 ) return;
+  if ( !Main::project() ) return;
   TQValueList<uint> lines = Main::project()->bookmarkLines(e.url());
   e.setBookmarkLines(lines);
 }
@@ -269,14 +269,14 @@ Editor *EditorManager::findEditor(const TQString &tag)
 {
   TQValueList<Editor *>::iterator it = _editors.begin();
   for (; it!=_editors.end(); ++it) if ( (*it)->tag()==tag ) return *it;
-  return 0;
+  return nullptr;
 }
 
 Editor *EditorManager::findEditor(const PURL::Url &url)
 {
   TQValueList<Editor *>::iterator it = _editors.begin();
   for (; it!=_editors.end(); ++it) if ( (*it)->url()==url ) return *it;
-  return 0;
+  return nullptr;
 }
 
 Editor *EditorManager::createEditor(PURL::FileType type, const PURL::Url &url)
@@ -307,11 +307,11 @@ Editor *EditorManager::createEditor(PURL::FileType type, const PURL::Url &url)
       e = new TextEditor(false, this);
       break;
     case PURL::Coff:
-      if ( Main::project()==0 ) {
-        if ( Main::deviceData()==0 ) return 0;
+      if ( !Main::project() ) {
+        if ( !Main::deviceData() ) return nullptr;
         e = new Coff::CoffEditor(url, *Main::deviceData(), this);
       } else {
-        if ( Debugger::manager->coff()==0 ) return 0;
+        if ( !Debugger::manager->coff() ) return nullptr;
         e = new Coff::CoffEditor(*Debugger::manager->coff(), this);
       }
       static_cast<Coff::CoffEditor *>(e)->setView(&Main::compileLog());
@@ -354,12 +354,12 @@ void EditorManager::slotDropEvent(TQDropEvent *event)
 Editor *EditorManager::openEditor(const PURL::Url &url)
 {
   Editor *e = findEditor(url);
-  if ( e==0 ) {
+  if ( !e ) {
     e = createEditor(url.fileType(), url);
-    if ( e==0 ) return 0;
+    if ( !e ) return nullptr;
     if ( !e->open(url) ) {
       closeEditor(e, false);
-      return 0;
+      return nullptr;
     }
     addEditor(e);
   } else showEditor(e);
@@ -390,7 +390,7 @@ PURL::UrlList EditorManager::files() const
 void EditorManager::contextMenu(int i, const TQPoint &p)
 {
   Editor *editor = static_cast<Editor *>(page(i));
-  if ( editor==0 ) return;
+  if ( !editor ) return;
 
   TDEIconLoader loader;
   TQPixmap closeIcon = loader.loadIcon("window-close", TDEIcon::Small);
@@ -417,7 +417,7 @@ void EditorManager::contextMenu(int i, const TQPoint &p)
 
 void EditorManager::switchHeaderImplementation()
 {
-  if ( currentEditor()==0 ) return;
+  if ( !currentEditor() ) return;
   PURL::Url url = currentEditor()->url();
   PURL::FileType type = url.fileType();
   PURL::SourceFamily source = type.data().sourceFamily;
@@ -469,12 +469,12 @@ void EditorManager::goForward()
 Editor *EditorManager::openEditor(EditorType type)
 {
   bool created = false;
-  Editor *e = 0;
+  Editor *e = nullptr;
   TQString tag = EDITOR_TAGS[type];
   switch (type) {
   case DeviceEditor: {
     e = findEditor(tag);
-    if ( e==0 ) {
+    if ( !e ) {
       e = new DeviceChooser::Editor(i18n("Device"), tag, this);
       static_cast<DeviceChooser::Editor *>(e)->setDevice(false);
       static_cast<DeviceChooser::Editor *>(e)->setDevice(true); // #### needed to fix GUI glitch ???
@@ -484,7 +484,7 @@ Editor *EditorManager::openEditor(EditorType type)
   }
   case RegisterEditor: {
     e = findEditor(tag);
-    if ( e==0 ) {
+    if ( !e ) {
       ::PBusyCursor bc;
       e = new Register::MainView(i18n("Registers"), tag);
       static_cast<Debugger::GuiManager *>(Debugger::manager)->addRegisterView(*static_cast<Register::MainView *>(e));
@@ -494,11 +494,11 @@ Editor *EditorManager::openEditor(EditorType type)
   }
   case Nb_EditorTypes: Q_ASSERT(false); break;
   }
-  if ( e==0 ) return 0;
+  if ( !e ) return nullptr;
   if (created) {
     if ( !e->slotLoad() ) {
       delete e;
-      return 0;
+      return nullptr;
     }
     addEditor(e);
   } else showEditor(e);
diff --git a/src/libgui/global_config.cpp b/src/libgui/global_config.cpp
index 2f8c6a7..49b9e12 100644
--- a/src/libgui/global_config.cpp
+++ b/src/libgui/global_config.cpp
@@ -66,7 +66,7 @@ const Programmer::Group &GlobalConfig::programmerGroup()
   GenericConfig config(TQString::null);
   TQString s = config.readEntry("programmer");
   const Programmer::Group *group = Programmer::lister().group(s);
-  if ( group==0 ) return *Programmer::lister().begin().data();
+  if ( !group ) return *Programmer::lister().begin().data();
   return *group;
 }
 
diff --git a/src/libgui/gui_debug_manager.cpp b/src/libgui/gui_debug_manager.cpp
index 78a8217..a4fbb3e 100644
--- a/src/libgui/gui_debug_manager.cpp
+++ b/src/libgui/gui_debug_manager.cpp
@@ -184,13 +184,13 @@ void Debugger::GuiManager::updateView(bool gotoPC)
   TQValueList<Editor *>::iterator ite;
   for (ite=_editors.begin(); ite!=_editors.end(); ++ite) {
     TextEditor *e = ::tqt_cast<TextEditor *>(*ite);
-    if ( e==0 ) continue;
+    if ( !e ) continue;
     updateEditorMarks(*e);
     if ( !_currentSourceLines.contains(e->url()) ) continue;
     if (gotoPC) e->setCursor(_currentSourceLines[e->url()], 0);
     if ( e==Main::currentEditor() ) currentHasPC = true;
   }
-  if ( programmer()==0 || programmer()->state()!=Programmer::Halted || !pc().isInitialized() || currentHasPC ) return;
+  if ( !programmer() || programmer()->state()!=Programmer::Halted || !pc().isInitialized() || currentHasPC ) return;
   // 1: look at files inside project and not generated
   // 2: look at files inside project
   // 3: look at existing files
@@ -203,9 +203,9 @@ void Debugger::GuiManager::updateView(bool gotoPC)
         case 2: if ( !it.key().exists() ) continue; break;
       }
       TextEditor *e = ::tqt_cast<TextEditor *>(Main::editorManager().findEditor(it.key()));
-      if ( e==0 ) {
+      if ( !e ) {
         if (gotoPC) e = ::tqt_cast<TextEditor *>(Main::editorManager().openEditor(it.key()));
-        if ( e==0 ) continue;
+        if ( !e ) continue;
       }
       updateEditorMarks(*e);
       if (gotoPC) {
@@ -224,7 +224,7 @@ Register::MainView *Debugger::GuiManager::registerView() const
     Register::MainView *rv = ::tqt_cast<Register::MainView *>(*it);
     if (rv) return rv;
   }
-  return 0;
+  return nullptr;
 }
 
 bool Debugger::GuiManager::isProjectSource(const PURL::Url &url) const
diff --git a/src/libgui/gui_prog_manager.cpp b/src/libgui/gui_prog_manager.cpp
index 31b44fb..b728011 100644
--- a/src/libgui/gui_prog_manager.cpp
+++ b/src/libgui/gui_prog_manager.cpp
@@ -30,7 +30,7 @@ bool Programmer::GuiManager::internalInitProgramming(bool debugging)
     if ( !halt() ) return false;
   }
   if ( debugging && !_programmer->isActive() ) {
-    if ( ::Debugger::manager->coff()==0 && !::Debugger::manager->init() ) {
+    if ( !::Debugger::manager->coff() && !::Debugger::manager->init() ) {
       sorry(i18n("Cannot start debugging without a COFF file. Please compile the project."));
       return false;
     }
@@ -52,7 +52,7 @@ void Programmer::GuiManager::showAdvancedDialog()
 {
   const ::Programmer::GroupUI *groupui = static_cast<const ::Programmer::GroupUI *>(group().gui());
   const Device::Data *data = Main::deviceData();
-  if ( data && !group().isSupported(data->name()) ) data = 0;
+  if ( data && !group().isSupported(data->name()) ) data = nullptr;
   createProgrammer(data);
   ::Programmer::AdvancedDialog *dialog = groupui->createAdvancedDialog(*_programmer, &Main::toplevel());
   Q_ASSERT(dialog);
diff --git a/src/libgui/hex_editor.cpp b/src/libgui/hex_editor.cpp
index 7890878..8ab8003 100644
--- a/src/libgui/hex_editor.cpp
+++ b/src/libgui/hex_editor.cpp
@@ -36,7 +36,7 @@ HexEditorPart::HexEditorPart(HexEditor *editor)
 
   (void)KStdAction::save(editor, TQ_SLOT(save()), actionCollection());
   (void)KStdAction::saveAs(editor, TQ_SLOT(saveAs()), actionCollection());
-  (void)new TDEToggleAction(i18n("Read Only Mode"), 0, 0, editor, TQ_SLOT(toggleReadOnly()), actionCollection(), "tools_toggle_write_lock");
+  (void)new TDEToggleAction(i18n("Read Only Mode"), nullptr, 0, editor, TQ_SLOT(toggleReadOnly()), actionCollection(), "tools_toggle_write_lock");
 }
 
 void HexEditorPart::setReadWrite(bool rw)
@@ -61,8 +61,8 @@ HexEditor::HexEditor(TQWidget *parent)
 void HexEditor::init()
 {
   _modified = false;
-  _memory = 0;
-  _originalMemory = 0;
+  _memory = nullptr;
+  _originalMemory = nullptr;
   _top->addStretch(1);
   _part = new HexEditorPart(this);
   setReadOnly(false);
@@ -71,9 +71,9 @@ void HexEditor::init()
 void HexEditor::clear()
 {
   delete _memory;
-  _memory = 0;
+  _memory = nullptr;
   delete _originalMemory;
-  _originalMemory = 0;
+  _originalMemory = nullptr;
 }
 
 TQWidget *HexEditor::createView(const Device::Data *data, TQWidget *parent)
@@ -83,7 +83,7 @@ TQWidget *HexEditor::createView(const Device::Data *data, TQWidget *parent)
     _originalMemory = data->group().createMemory(*data);
     _memory = data->group().createMemory(*data);
   }
-  if ( data==0 ) return new TQWidget(parent);
+  if ( !data ) return new TQWidget(parent);
   Device::HexView *hv = Device::groupui(*data).createHexView(*this, parent);
   connect(hv, TQ_SIGNAL(modified()), TQ_SLOT(slotModified()));
   _dirty = true;
diff --git a/src/libgui/likeback.cpp b/src/libgui/likeback.cpp
index 9a36f6b..3e079ea 100644
--- a/src/libgui/likeback.cpp
+++ b/src/libgui/likeback.cpp
@@ -52,7 +52,7 @@
 #include "common/global/about.h"
 
 LikeBack::LikeBack(Button buttons)
- : TQWidget( 0, "LikeBack", TQt::WX11BypassWM | TQt::WStyle_NoBorder | TQt::WNoAutoErase | TQt::WStyle_StaysOnTop | TQt::WStyle_NoBorder | TQt::TQt::WGroupLeader)
+ : TQWidget( nullptr, "LikeBack", TQt::WX11BypassWM | TQt::WStyle_NoBorder | TQt::WNoAutoErase | TQt::WStyle_StaysOnTop | TQt::WStyle_NoBorder | TQt::TQt::WGroupLeader)
  , m_buttons(buttons)
 {
         TQHBoxLayout *layout = new TQHBoxLayout(this);
@@ -170,7 +170,7 @@ void LikeBack::showInformationMessage()
         TQMimeSourceFactory::defaultFactory()->setPixmap("likeback_icon_like",    likeIcon);
         TQMimeSourceFactory::defaultFactory()->setPixmap("likeback_icon_dislike", dislikeIcon);
         TQMimeSourceFactory::defaultFactory()->setPixmap("likeback_icon_bug",     bugIcon);
-        KMessageBox::information(0,
+        KMessageBox::information(nullptr,
                 "<p><b>" + i18n("This is a quick feedback system for %1.").arg(s_about->programName()) + "</b></p>"
                 "<p>" + i18n("To help us improve it, your comments are important.") + "</p>"
                 "<p>" + i18n("Each time you have a great or frustrating experience, "
@@ -182,9 +182,9 @@ void LikeBack::showInformationMessage()
                 "<tr><td><nobr><img source=\"likeback_icon_bug\">: " + i18n("Report a bug.") + "</nobr></td></tr>"
                 "</table></p>",
                 i18n("Help Improve the Application"));
-        TQMimeSourceFactory::defaultFactory()->setData("likeback_icon_like", 0L);
-        TQMimeSourceFactory::defaultFactory()->setData("likeback_icon_dislike", 0L);
-        TQMimeSourceFactory::defaultFactory()->setData("likeback_icon_bug", 0L);
+        TQMimeSourceFactory::defaultFactory()->setData("likeback_icon_like", nullptr);
+        TQMimeSourceFactory::defaultFactory()->setData("likeback_icon_dislike", nullptr);
+        TQMimeSourceFactory::defaultFactory()->setData("likeback_icon_bug", nullptr);
 }
 
 TQString                 LikeBack::s_customLanguageMessage = TQString();
@@ -194,9 +194,9 @@ TQString                 LikeBack::s_hostName              = TQString();
 TQString                 LikeBack::s_remotePath            = TQString();
 TQ_UINT16                LikeBack::s_hostPort              = 16;
 int                     LikeBack::s_disabledCount         = 0;
-LikeBack*               LikeBack::s_instance              = 0;
-TDEConfig*                LikeBack::s_config                = 0;
-TDEAboutData*             LikeBack::s_about                 = 0;
+LikeBack*               LikeBack::s_instance              = nullptr;
+TDEConfig*                LikeBack::s_config                = nullptr;
+TDEAboutData*             LikeBack::s_about                 = nullptr;
 
 LikeBack* LikeBack::instance()
 {
@@ -274,7 +274,7 @@ bool LikeBack::allowFeatureWishes()
 
 void LikeBack::autoMove()
 {
-        static TQWidget *lastWindow = 0;
+        static TQWidget *lastWindow = nullptr;
 
         TQWidget *window = tdeApp->activeWindow();
         // When a Kicker applet has the focus, like the Commandline TQLineEdit,
@@ -429,9 +429,9 @@ void LikeBack::init(Button buttons)
 
 void LikeBack::init(bool isDevelopmentVersion, Button buttons)
 {
-        if (s_config == 0)
+        if (!s_config)
                 s_config = tdeApp->config();
-        if (s_about == 0)
+        if (!s_about)
                 s_about = (TDEAboutData*) tdeApp->aboutData();
 
         if (LikeBack::userWantToParticipate() && isDevelopmentVersion)
diff --git a/src/libgui/log_view.h b/src/libgui/log_view.h
index c24af68..9ff5425 100644
--- a/src/libgui/log_view.h
+++ b/src/libgui/log_view.h
@@ -21,7 +21,7 @@ class Widget : public TQTextEdit, public View
   TQ_OBJECT
   
 public:
-  Widget(TQWidget *parent = 0, const char *name = 0);
+  Widget(TQWidget *parent = nullptr, const char *name = nullptr);
   virtual void appendToLastLine(const TQString &text);
   virtual void clear();
   virtual void sorry(const TQString &message, const TQString &details);
diff --git a/src/libgui/main_global.cpp b/src/libgui/main_global.cpp
index b3e5a9e..eb171e1 100644
--- a/src/libgui/main_global.cpp
+++ b/src/libgui/main_global.cpp
@@ -21,14 +21,14 @@
 #include "device_editor.h"
 
 Main::State Main::_state = Main::Idle;
-MainWindow *Main::_toplevel = 0;
-EditorManager *Main::_editorManager = 0;
-ProjectManager::View *Main::_projectManager = 0;
-Breakpoint::View *Main::_breakpointsView = 0;
-Register::WatchView *Main::_watchView = 0;
-Compile::LogWidget *Main::_compileLog = 0;
-Compile::Manager *Main::_compileManager = 0;
-ConsoleView *Main::_consoleView = 0;
+MainWindow *Main::_toplevel = nullptr;
+EditorManager *Main::_editorManager = nullptr;
+ProjectManager::View *Main::_projectManager = nullptr;
+Breakpoint::View *Main::_breakpointsView = nullptr;
+Register::WatchView *Main::_watchView = nullptr;
+Compile::LogWidget *Main::_compileLog = nullptr;
+Compile::Manager *Main::_compileManager = nullptr;
+ConsoleView *Main::_consoleView = nullptr;
 
 void Main::setState(State state)
 {
diff --git a/src/libgui/object_view.cpp b/src/libgui/object_view.cpp
index c315560..f1b8376 100644
--- a/src/libgui/object_view.cpp
+++ b/src/libgui/object_view.cpp
@@ -23,7 +23,7 @@
 
 //-----------------------------------------------------------------------------
 Coff::BaseEditor::BaseEditor(const PURL::Url &source, const Device::Data *data, TQWidget *parent)
-  : SimpleTextEditor(true, parent), _source(source), _ok(false), _created(0), _device(data)
+  : SimpleTextEditor(true, parent), _source(source), _ok(false), _created(nullptr), _device(data)
 {
   setReadOnly(true);
   _view->setDynWordWrap(false);
@@ -37,7 +37,7 @@ Coff::BaseEditor::~BaseEditor()
 
 //-----------------------------------------------------------------------------
 Coff::CoffEditor::CoffEditor(const PURL::Url &source, const Device::Data &data, TQWidget *parent)
-  : BaseEditor(source, &data, parent), _provided(0)
+  : BaseEditor(source, &data, parent), _provided(nullptr)
 {}
 
 Coff::CoffEditor::CoffEditor(const TextObject &object, TQWidget *parent)
@@ -48,7 +48,7 @@ bool Coff::CoffEditor::open(const PURL::Url &url)
 {
   _url = url;
   if (_provided) return setText(_provided->disassembly());
-  if ( _created==0 ) {
+  if ( !_created ) {
     _created = new TextObject(_device, _source);
     _ok = _created->parse(*this);
   }
@@ -57,14 +57,14 @@ bool Coff::CoffEditor::open(const PURL::Url &url)
 
 //-----------------------------------------------------------------------------
 Coff::ObjectEditor::ObjectEditor(const PURL::Url &source, TQWidget *parent)
-  : BaseEditor(source, 0, parent)
+  : BaseEditor(source, nullptr, parent)
 {}
 
 bool Coff::ObjectEditor::open(const PURL::Url &url)
 {
   _url = url;
-  if ( _created==0 ) {
-    _created = new TextObject(0, _source);
+  if ( !_created ) {
+    _created = new TextObject(nullptr, _source);
     _ok = _created->parse(*this);
   }
   if ( !_ok ) return setText(i18n("Error parsing object:\n") + error());
@@ -74,13 +74,13 @@ bool Coff::ObjectEditor::open(const PURL::Url &url)
 
 //-----------------------------------------------------------------------------
 Coff::LibraryEditor::LibraryEditor(const PURL::Url &source, TQWidget *parent)
-  : BaseEditor(source, 0, parent)
+  : BaseEditor(source, nullptr, parent)
 {}
 
 bool Coff::LibraryEditor::open(const PURL::Url &url)
 {
   _url = url;
-  if ( _created==0 ) {
+  if ( !_created ) {
     _created = new Archive(_source);
     _ok = _created->parse(*this);
   }
@@ -93,7 +93,7 @@ bool Coff::LibraryEditor::open(const PURL::Url &url)
 
 //-----------------------------------------------------------------------------
 DisassemblyEditor::DisassemblyEditor(const PURL::Url &source, const Device::Data &data, TQWidget *parent)
-  : SimpleTextEditor(true, parent), _source(source), _device(data), _editor(0)
+  : SimpleTextEditor(true, parent), _source(source), _device(data), _editor(nullptr)
 {
   setReadOnly(true);
   _view->setDynWordWrap(false);
@@ -121,8 +121,8 @@ bool DisassemblyEditor::open(const PURL::Url &url)
     return false;
   }
 
-  Device::Memory *memory = 0;
-  if ( _editor==0 ) {
+  Device::Memory *memory = nullptr;
+  if ( !_editor ) {
     log(Log::LineType::Information, i18n("Disassembling hex file: %1").arg(_source.pretty()));
     PURL::File file(_source, Main::compileLog());
     if ( !file.openForRead() ) return false;
@@ -140,7 +140,7 @@ bool DisassemblyEditor::open(const PURL::Url &url)
     memory = const_cast<Device::Memory *>(_editor->memory());
   }
   SourceLine::List list = GPUtils::disassemble(static_cast<const Pic::Memory &>(*memory));
-  if ( _editor==0 ) delete memory;
+  if ( !_editor ) delete memory;
   return setText(SourceLine::text(PURL::SourceFamily::Asm, list, 4));
 }
 
diff --git a/src/libgui/project_manager.cpp b/src/libgui/project_manager.cpp
index a5122c4..4fcf4f9 100644
--- a/src/libgui/project_manager.cpp
+++ b/src/libgui/project_manager.cpp
@@ -36,7 +36,7 @@
 
 //----------------------------------------------------------------------------
 ProjectManager::View::View(TQWidget *parent)
-  : ListView(parent, "project_manager"), _project(0), _modified(false)
+  : ListView(parent, "project_manager"), _project(nullptr), _modified(false)
 {
   connect(this, TQ_SIGNAL(mouseButtonClicked(int, TQListViewItem *, const TQPoint &, int)),
           TQ_SLOT(clicked(int, TQListViewItem *, const TQPoint &, int)));
@@ -71,7 +71,7 @@ void ProjectManager::View::init()
   ensureItemVisible(item);
   _deviceItem = new DeviceItem(headerItem(DeviceGroup));
   ensureItemVisible(_deviceItem);
-  _linkerScriptItem = 0;
+  _linkerScriptItem = nullptr;
   (void)headerItem(SourceGroup);
 }
 
@@ -83,7 +83,7 @@ ProjectManager::HeaderItem *ProjectManager::View::findHeaderItem(Group group) co
     HeaderItem *hi = static_cast<HeaderItem *>(it.current());
     if ( hi->group()==group ) return hi;
   }
-  return 0;
+  return nullptr;
 }
 
 ProjectManager::HeaderItem *ProjectManager::View::headerItem(Group group)
@@ -98,7 +98,7 @@ ProjectManager::HeaderItem *ProjectManager::View::headerItem(Group group)
     if (items[i]) _rootItem->takeItem(items[i]);
   }
   for (int i=Nb_Groups-1; i>=0; i--) {
-    if ( items[i]==0 ) continue;
+    if ( !items[i] ) continue;
     _rootItem->insertItem(items[i]);
   }
   return item;
@@ -112,7 +112,7 @@ ProjectManager::FileItem *ProjectManager::View::findFileItem(const PURL::Url &ur
     FileItem *fi = static_cast<FileItem *>(it.current());
     if ( fi->url()==url ) return fi;
   }
-  return 0;
+  return nullptr;
 }
 
 ProjectManager::FileItem *ProjectManager::View::findFileItem(PURL::FileType type) const
@@ -123,7 +123,7 @@ ProjectManager::FileItem *ProjectManager::View::findFileItem(PURL::FileType type
     FileItem *fi = static_cast<FileItem *>(it.current());
     if ( fi->ftype()==type ) return fi;
   }
-  return 0;
+  return nullptr;
 }
 
 TQListViewItem *ProjectManager::View::findItem(const TQString &tag) const
@@ -140,12 +140,12 @@ TQListViewItem *ProjectManager::View::findItem(const TQString &tag) const
     }
     if ( it.current()->text(0)==tag ) return it.current();
   }
-  return 0;
+  return nullptr;
 }
 
 void ProjectManager::View::select(const Editor *e)
 {
-  TQListViewItem *item = 0;
+  TQListViewItem *item = nullptr;
   if ( e->url().isEmpty() ) item = findItem(e->tag());
   else item = findFileItem(e->url());
   if (item) setSelected(item, true);
@@ -154,14 +154,14 @@ void ProjectManager::View::select(const Editor *e)
 
 void ProjectManager::View::contextMenu(TQListViewItem *item, const TQPoint &p, int)
 {
-  if ( item==0 ) return;
+  if ( !item ) return;
 
   PopupMenu pop;
   Group group = Nb_Groups;
   if ( item->rtti()==HeaderRtti) group = static_cast<const HeaderItem *>(item)->group();
 
   if ( item->rtti()==LinkerScriptRtti || group==LinkerScriptGroup ) {
-    if ( _project==0 || Main::toolGroup().linkerScriptType()==PURL::Nb_FileTypes ) return;
+    if ( !_project || Main::toolGroup().linkerScriptType()==PURL::Nb_FileTypes ) return;
     pop.insertTitle(i18n("Linker Script"));
     pop.insertItem("piklab_addfile", i18n("Set Custom..."));
     if ( !_project->customLinkerScript().isEmpty() ) pop.insertItem("edit-delete", i18n("Set Default"));
@@ -176,7 +176,7 @@ void ProjectManager::View::contextMenu(TQListViewItem *item, const TQPoint &p, i
     _linkerScriptItem->init();
   } else if ( item->rtti()==RootRtti ) {
     RootItem *ri = static_cast<RootItem *>(item);
-    if ( _project==0 ) {
+    if ( !_project ) {
       if ( ri->url().isEmpty() ) {
         pop.insertItem("piklab_createproject", i18n("New Project..."), &Main::toplevel(), TQ_SLOT(newProject()));
         pop.insertItem("piklab_openproject", i18n("Open Project..."), &Main::toplevel(), TQ_SLOT(openProject()));
@@ -201,14 +201,14 @@ void ProjectManager::View::contextMenu(TQListViewItem *item, const TQPoint &p, i
       pop.exec(p);
     }
   } else if ( item->rtti()==FileRtti ) {
-    if ( _project==0 ) return;
+    if ( !_project ) return;
     FileItem *fi = static_cast<FileItem *>(item);
     if ( isExternalFile(fi->url()) ) return;
     pop.insertTitle(item->text(0));
     pop.insertItem("edit-delete", i18n("Remove From Project"));
     if ( pop.exec(p)==1 ) removeFile(fi->url());
   } else if ( item->rtti()==HeaderRtti ) {
-    if ( _project==0 ) return;
+    if ( !_project ) return;
     if ( group==LinkerObjectGroup ) {
       pop.insertTitle(i18n("Objects"));
       pop.insertItem("piklab_addfile", i18n("Add Object Files..."), this, TQ_SLOT(insertObjectFiles()));
@@ -227,7 +227,7 @@ void ProjectManager::View::contextMenu(TQListViewItem *item, const TQPoint &p, i
 
 void ProjectManager::View::closeProject()
 {
-  if ( _project==0 && projectUrl().isEmpty() ) return;
+  if ( !_project && projectUrl().isEmpty() ) return;
   if (_project) {
     // save opened files
     PURL::UrlList files = Main::editorManager().files();
@@ -244,7 +244,7 @@ void ProjectManager::View::closeProject()
     if ( !_project->save(error) )
       MessageBox::detailedSorry(i18n("Could not save project file \"%1\".").arg(_project->url().pretty()), error, Log::Show);
     delete _project;
-    _project = 0;
+    _project = nullptr;
   }
   _modified = false;
   init();
@@ -344,13 +344,13 @@ void ProjectManager::View::addExternalFile(const PURL::Url &url, FileOrigin orig
 
 const ProjectManager::View::ProjectData &ProjectManager::View::projectData() const
 {
-  if ( _project==0 ) return _standaloneData[projectUrl()];
+  if ( !_project ) return _standaloneData[projectUrl()];
   return _projectData;
 }
 
 ProjectManager::View::ProjectData &ProjectManager::View::projectData()
 {
-  if ( _project==0 ) return _standaloneData[projectUrl()];
+  if ( !_project ) return _standaloneData[projectUrl()];
   return _projectData;
 }
 
@@ -375,10 +375,10 @@ void ProjectManager::View::addFile(const PURL::Url &url, PURL::FileType type, Fi
   item->moveItem(hitem->lastChild());
   ensureItemVisible(item);
   if ( origin!=Intrinsic ) ext[url] = origin;
-  if ( type==PURL::Hex && _project==0 ) {
+  if ( type==PURL::Hex && !_project ) {
     TQString extension = PURL::extension(PURL::AsmGPAsm);
     PURL::Url durl = PURL::Url::fromPathOrUrl("<" + (url.isEmpty() ? i18n("Disassembly") : url.appendExtension(extension).filename()) + ">");
-    if ( findFileItem(durl)==0 ) {
+    if ( !findFileItem(durl) ) {
       (void)new FileItem(headerItem(ViewGroup), PURL::Coff, durl, true);
       ext[durl] = Generated;
     }
@@ -402,7 +402,7 @@ void ProjectManager::View::removeFile(const PURL::Url &url)
 {
   if ( _project && !isExternalFile(url) ) _project->removeFile(url);
   FileItem *item = findFileItem(url);
-  if ( item==0 ) return;
+  if ( !item ) return;
   HeaderItem *group = static_cast<HeaderItem *>(item->parent());
   delete item;
   if ( group->childCount()==0 ) delete group;
@@ -412,15 +412,15 @@ void ProjectManager::View::removeFile(const PURL::Url &url)
 
 void ProjectManager::View::clicked(int button, TQListViewItem *item, const TQPoint &, int)
 {
-  if ( item==0 ) return;
+  if ( !item ) return;
   if ( button!=TQt::LeftButton ) return;
   const Device::Data *data = Main::deviceData();
   Rtti rtti = Rtti(item->rtti());
-  if ( data==0 && rtti!=DeviceRtti && rtti!=RootRtti ) {
+  if ( !data && rtti!=DeviceRtti && rtti!=RootRtti ) {
     MessageBox::sorry(i18n("Cannot open without device specified."), Log::Show);
     return;
   }
-  Editor *e = 0;
+  Editor *e = nullptr;
   ::PBusyCursor bc;
   switch (rtti) {
     case RootRtti:
@@ -439,7 +439,7 @@ void ProjectManager::View::clicked(int button, TQListViewItem *item, const TQPoi
       PURL::Url url = Main::projectManager().linkerScriptUrl();
       if ( url.isEmpty() ) break;
       e = Main::editorManager().findEditor(url);
-      if ( e==0 ) {
+      if ( !e ) {
         e = Main::editorManager().createEditor(url.fileType(), url);
         if ( !e->open(url) ) {
 	  delete e;
@@ -454,17 +454,17 @@ void ProjectManager::View::clicked(int button, TQListViewItem *item, const TQPoi
       FileItem *fi = static_cast<FileItem *>(item);
       if ( !(fi->ftype().data().properties & PURL::Editable) ) break;
       e = Main::editorManager().findEditor(fi->url());
-      if ( e==0 ) {
-        if ( fi->ftype()==PURL::Coff && _project==0 && !fi->url().exists() ) {
+      if ( !e ) {
+        if ( fi->ftype()==PURL::Coff && !_project && !fi->url().exists() ) {
           PURL::Url url = findFileItem(PURL::Hex)->url();
           if ( url.isEmpty() ) {
             HexEditor *he = ::tqt_cast<HexEditor *>(Main::currentEditor());
-            if ( he==0 ) break;
+            if ( !he ) break;
             e = new DisassemblyEditor(*he, *data, this);
           } else e = new DisassemblyEditor(url, *data, this);
           addExternalFile(fi->url(), Generated);
         } else e = Main::editorManager().createEditor(fi->url().fileType(), fi->url());
-        if ( e==0 ) break; 
+        if ( !e ) break; 
         if ( !e->open(fi->url()) ) {
 	  delete e;
 	  break;
@@ -573,10 +573,10 @@ void ProjectManager::View::updateGUI()
 
 TQDragObject *ProjectManager::View::dragObject()
 {
-  if ( currentItem()==0 || currentItem()->rtti()!=FileRtti ) return 0;
+  if ( !currentItem() || currentItem()->rtti()!=FileRtti ) return nullptr;
   const FileItem *item = static_cast<const FileItem *>(currentItem());
   const HeaderItem *hitem = static_cast<const HeaderItem *>(item->parent());
-  if ( hitem->group()!=SourceGroup ) return 0;
+  if ( hitem->group()!=SourceGroup ) return nullptr;
   TQStrList uris;
   uris.append(TQUriDrag::localFileToUri(item->url().filepath()));
   return new TQUriDrag(uris, viewport());
@@ -586,14 +586,14 @@ bool ProjectManager::View::acceptDrag(TQDropEvent* e) const
 {
   if ( e->source()!=viewport() ) return false;
   const TQListViewItem *item = itemAt(e->pos());
-  if ( item==0 || item->rtti()!=FileRtti ) return false;
+  if ( !item || item->rtti()!=FileRtti ) return false;
   const HeaderItem *hitem = static_cast<const HeaderItem *>(item->parent());
   return ( hitem->group()==SourceGroup );
 }
 
 void ProjectManager::View::filesReordered()
 {
-  if ( _project==0 ) return;
+  if ( !_project ) return;
   _project->clearFiles();
   TQListViewItem *item = headerItem(SourceGroup)->firstChild();
   for (;item; item=item->nextSibling())
@@ -644,7 +644,7 @@ bool ProjectManager::View::needsRecompile() const
 PURL::Url ProjectManager::View::selectedUrl() const
 {
   TQListViewItem *item = currentItem();
-  if ( item==0 ) return PURL::Url();
+  if ( !item ) return PURL::Url();
   Rtti rtti = Rtti(item->rtti());
   if ( rtti!=FileRtti ) return PURL::Url();
   return static_cast<FileItem *>(item)->url();
diff --git a/src/libgui/project_manager_ui.cpp b/src/libgui/project_manager_ui.cpp
index b60b5cf..b8b3731 100644
--- a/src/libgui/project_manager_ui.cpp
+++ b/src/libgui/project_manager_ui.cpp
@@ -74,9 +74,9 @@ ProjectManager::HeaderItem::HeaderItem(RootItem *item, Group group)
 TQListViewItem *ProjectManager::HeaderItem::lastChild() const
 {
   TQListViewItem *item = firstChild();
-  if ( item==0 ) return 0;
+  if ( !item ) return nullptr;
   for (;;) {
-    if ( item->nextSibling()==0 ) break;
+    if ( !item->nextSibling() ) break;
     item = item->nextSibling();
   }
   return item;
@@ -133,7 +133,7 @@ ProjectManager::DeviceItem::DeviceItem(HeaderItem *item)
 
 TQWidget *ProjectManager::DeviceItem::editWidgetFactory(int) const
 {
-  TQComboBox *combo = new DeviceChooser::ComboBox(Main::project()==0, 0);
+  TQComboBox *combo = new DeviceChooser::ComboBox(Main::project()==nullptr, nullptr);
   TQString device = Main::device();
   if ( device!=Device::AUTO_DATA.name ) combo->setCurrentText(device);
   TQObject::connect(combo, TQ_SIGNAL(activated(int)), listView(), TQ_SLOT(finishRenaming()));
diff --git a/src/libgui/project_manager_ui.h b/src/libgui/project_manager_ui.h
index 6eb582b..53fb3f8 100644
--- a/src/libgui/project_manager_ui.h
+++ b/src/libgui/project_manager_ui.h
@@ -23,7 +23,7 @@ TQ_OBJECT
   
 public:
   PopupMenu() : _index(1) {}
-  void insertItem(const TQString &icon, const TQString &label, TQObject *receiver = 0, const char *slot = 0);
+  void insertItem(const TQString &icon, const TQString &label, TQObject *receiver = nullptr, const char *slot = nullptr);
 
 private:
   uint _index; 
diff --git a/src/libgui/project_wizard.cpp b/src/libgui/project_wizard.cpp
index c701218..f622dde 100644
--- a/src/libgui/project_wizard.cpp
+++ b/src/libgui/project_wizard.cpp
@@ -27,7 +27,7 @@
 
 //-----------------------------------------------------------------------------
 FileListItem::FileListItem(TDEListView *view)
-  : TDEListViewItem(view), _group(0), _copy(true)
+  : TDEListViewItem(view), _group(nullptr), _copy(true)
 {
   TDEIconLoader loader;
   _pixmap = loader.loadIcon("button_ok", TDEIcon::Small);
@@ -41,7 +41,7 @@ void FileListItem::toggle()
 
 PURL::FileGroup FileListItem::fileGroup() const
 {
-  if ( _group==0 ) return PURL::Nb_FileGroups;
+  if ( !_group ) return PURL::Nb_FileGroups;
   PURL::Url url = PURL::Url::fromPathOrUrl(text(1));
   switch (url.data().group) {
   case PURL::Source: {
@@ -69,7 +69,7 @@ const TQPixmap *FileListItem::pixmap(int column) const
 
 //-----------------------------------------------------------------------------
 FileListBox::FileListBox(TQWidget *parent)
-  : EditListBox(2, 0, 0, parent, "file_list_box")
+  : EditListBox(2, nullptr, nullptr, parent, "file_list_box")
 {
   _listView->header()->show();
   _listView->header()->setClickEnabled(false);
@@ -98,7 +98,7 @@ TQListViewItem *FileListBox::createItem()
 
 void FileListBox::clicked(TQListViewItem *item, const TQPoint &, int column)
 {
-  if ( item==0 || column!=0 ) return;
+  if ( !item || column!=0 ) return;
   static_cast<FileListItem *>(item)->toggle();
 }
 
@@ -110,7 +110,7 @@ void FileListBox::setToolGroup(const Tool::Group &group)
 
 //-----------------------------------------------------------------------------
 ProjectWizard::ProjectWizard(TQWidget *parent)
-  : KWizard(parent, "project_wizard"), _project(0)
+  : KWizard(parent, "project_wizard"), _project(nullptr)
 {
   // first page
   _first = new TQWidget(this);
@@ -216,7 +216,7 @@ void ProjectWizard::done(int r)
     _project = new Project(url());
     Compile::Config::setDevice(_project, device());
     Compile::Config::setToolGroup(_project, toolchain());
-    Compile::Config::setCustomCommands(_project, Compile::Config::customCommands(0));
+    Compile::Config::setCustomCommands(_project, Compile::Config::customCommands(nullptr));
 
     if ( _bgroup->selectedId()==0 ) {
       PURL::ToolType ttype = PURL::ToolType::Compiler;
@@ -231,7 +231,7 @@ void ProjectWizard::done(int r)
       PURL::Url turl = url().toFileType(ftype);
       TQString text;
       const Tool::SourceGenerator *generator = toolchain().sourceGenerator();
-      if ( generator==0 ) text = i18n("Template source file generation not implemented yet for this toolchain...");
+      if ( !generator ) text = i18n("Template source file generation not implemented yet for this toolchain...");
       else {
         bool ok = true;
         const Device::Data *data = Device::lister().data(device());
diff --git a/src/libgui/register_view.cpp b/src/libgui/register_view.cpp
index 60ad90e..106fed7 100644
--- a/src/libgui/register_view.cpp
+++ b/src/libgui/register_view.cpp
@@ -36,7 +36,7 @@ void Register::MainView::setDevice(bool force)
 
 TQWidget *Register::MainView::createView(const Device::Data *data, TQWidget *parent)
 {
-  if ( data==0 ) return new TQWidget(parent);
+  if ( !data ) return new TQWidget(parent);
   Register::View *view = Device::groupui(*data).createRegisterView(parent);
   if (view) view->updateView();
   else {
diff --git a/src/libgui/register_view.h b/src/libgui/register_view.h
index ace0880..b128733 100644
--- a/src/libgui/register_view.h
+++ b/src/libgui/register_view.h
@@ -22,7 +22,7 @@ class MainView : public DeviceEditor
 TQ_OBJECT
   
 public:
-  MainView(const TQString &title, const TQString &tag, TQWidget *parent = 0);
+  MainView(const TQString &title, const TQString &tag, TQWidget *parent = nullptr);
   virtual bool isModified() const { return false; }
   virtual bool isReadOnly() const { return true; }
   virtual void addGui() {}
diff --git a/src/libgui/text_editor.cpp b/src/libgui/text_editor.cpp
index 69adf97..8045b4b 100644
--- a/src/libgui/text_editor.cpp
+++ b/src/libgui/text_editor.cpp
@@ -43,10 +43,10 @@ TQPixmap TextEditor::pixmap(Breakpoint::MarkType type)
 }
 
 TextEditor::TextEditor(bool withDebugger, TQWidget *parent, const char *name)
-  : Editor(parent, name), _view(0)
+  : Editor(parent, name), _view(nullptr)
 {
   KLibFactory *factory = KLibLoader::self()->factory("libkatepart");
-  if ( factory==0 ) tqFatal("Could not find katepart");
+  if ( !factory ) tqFatal("Could not find katepart");
   _document = static_cast<Kate::Document *>(factory->create(this, "kate", "KTextEditor::Document"));
   _oldModified = _document->isModified();
   _oldReadOnly = !_document->isReadWrite();
@@ -91,7 +91,7 @@ bool TextEditor::eventFilter(TQObject *, TQEvent *e)
 void TextEditor::addView()
 {
     KTextEditor::View *v = _document->createView(_split);
-    if ( _view==0 ) _view = static_cast<Kate::View *>(v);
+    if ( !_view ) _view = static_cast<Kate::View *>(v);
     Q_ASSERT(v);
     connect(v, TQ_SIGNAL(gotFocus(Kate::View *)), TQ_SLOT(gotFocus(Kate::View *)));
     connect(v, TQ_SIGNAL(cursorPositionChanged()), TQ_SLOT(statusChanged()));
@@ -99,7 +99,7 @@ void TextEditor::addView()
     connect(v, TQ_SIGNAL(newStatus()), TQ_SLOT(statusChanged()));
     v->show();
     v->setFocus();
-    v->child(0, "KateViewInternal")->installEventFilter(this);
+    v->child(nullptr, "KateViewInternal")->installEventFilter(this);
     KTextEditor::PopupMenuInterface *pmi = KTextEditor::popupMenuInterface(v);
     pmi->installPopup(&Main::popup("tdetexteditor_popup"));
 
@@ -192,7 +192,7 @@ void TextEditor::highlightChanged()
   // managed by hand because of collisions with file extensions
   // used by other languages/softwares like other ASM and also PHP...
   const char *name = fileType().data().highlightModeName;
-  if ( name==0 ) return;
+  if ( !name ) return;
   uint mode = highlightMode(name);
   if ( mode>=_document->hlModeCount() || _document->hlMode()==mode ) return;
   _document->setHlMode(mode);
@@ -201,7 +201,7 @@ void TextEditor::highlightChanged()
 uint TextEditor::cursorLine() const
 {
   uint line;
-  _view->cursorPosition(&line, 0);
+  _view->cursorPosition(&line, nullptr);
   return line;
 }
 
diff --git a/src/libgui/text_editor.h b/src/libgui/text_editor.h
index 267f30d..f465f48 100644
--- a/src/libgui/text_editor.h
+++ b/src/libgui/text_editor.h
@@ -27,7 +27,7 @@ class TextEditor : public Editor
 TQ_OBJECT
   
 public:
-  TextEditor(bool withDebugger, TQWidget *parent, const char *name = 0);
+  TextEditor(bool withDebugger, TQWidget *parent, const char *name = nullptr);
   virtual PURL::FileType fileType() const { return url().fileType(); }
   virtual PURL::Url url() const { return _document->url(); }
   virtual bool isModified() const;
@@ -86,8 +86,8 @@ class SimpleTextEditor : public TextEditor
 TQ_OBJECT
   
 public:
-  SimpleTextEditor(bool withDebugger, PURL::FileType type, TQWidget *parent, const char *name = 0);
-  SimpleTextEditor(bool withDebugger, TQWidget *parent, const char *name = 0);
+  SimpleTextEditor(bool withDebugger, PURL::FileType type, TQWidget *parent, const char *name = nullptr);
+  SimpleTextEditor(bool withDebugger, TQWidget *parent, const char *name = nullptr);
   void setFileType(PURL::FileType type) { _type = type; }
   virtual PURL::FileType fileType() const { return _type; }
   bool setText(const TQString &text);
diff --git a/src/libgui/toplevel.cpp b/src/libgui/toplevel.cpp
index 33ae743..3dd1f0b 100644
--- a/src/libgui/toplevel.cpp
+++ b/src/libgui/toplevel.cpp
@@ -71,7 +71,7 @@
 KDockWidget *MainWindow::createDock(const TQString &name, const TQPixmap &icon,
                                     const TQString &title, const DockPosition &position)
 {
-  KDockWidget *dock = createDockWidget(name, icon, 0, title);
+  KDockWidget *dock = createDockWidget(name, icon, nullptr, title);
   dock->setDockSite(KDockWidget::DockCenter);
   DockData ddata;
   ddata.title = title;
@@ -85,9 +85,9 @@ KDockWidget *MainWindow::createDock(const TQString &name, const TQPixmap &icon,
 }
 
 MainWindow::MainWindow()
-  : _configGenerator(0), _pikloopsProcess(0), _kfindProcess(0), _forceProgramAfterBuild(false)
+  : _configGenerator(nullptr), _pikloopsProcess(nullptr), _kfindProcess(nullptr), _forceProgramAfterBuild(false)
 {
-  Q_ASSERT( Main::_toplevel==0 );
+  Q_ASSERT( !Main::_toplevel );
   Main::_toplevel = this;
 
 // status bar
@@ -187,12 +187,12 @@ MainWindow::MainWindow()
     TDERecentFilesAction *recent = KStdAction::openRecent(this, TQ_SLOT(openRecentFile(const KURL &)), actionCollection());
     recent->setMaxItems(20);
     recent->loadEntries(tdeApp->config(), "recent-files");
-    (void)new TDEAction(i18n("Save All"), 0, 0, Main::_editorManager, TQ_SLOT(saveAllFiles()),
+    (void)new TDEAction(i18n("Save All"), nullptr, 0, Main::_editorManager, TQ_SLOT(saveAllFiles()),
                       actionCollection(), "file_save_all");
     KStdAction::close(Main::_editorManager, TQ_SLOT(closeCurrentEditor()), actionCollection());
-    (void)new TDEAction(i18n("C&lose All"), 0, 0, Main::_editorManager, TQ_SLOT(closeAllEditors()),
+    (void)new TDEAction(i18n("C&lose All"), nullptr, 0, Main::_editorManager, TQ_SLOT(closeAllEditors()),
                       actionCollection(), "file_close_all");
-    (void)new TDEAction(i18n("Close All Others"), 0, 0, Main::_editorManager, TQ_SLOT(closeAllOtherEditors()),
+    (void)new TDEAction(i18n("Close All Others"), nullptr, 0, Main::_editorManager, TQ_SLOT(closeAllOtherEditors()),
                       actionCollection(), "file_closeother");
     KStdAction::quit(this, TQ_SLOT(close()), actionCollection());
 
@@ -203,20 +203,20 @@ MainWindow::MainWindow()
                       Main::_editorManager, TQ_SLOT(goBack()), actionCollection(), "history_back");
     (void)new TDEAction(i18n("Forward"), "forward", TQt::ALT + TQt::Key_Right,
                       Main::_editorManager, TQ_SLOT(goForward()), actionCollection(), "history_forward");
-    (void)new TDEAction(i18n("Switch to..."), 0, TQt::CTRL + TQt::Key_Slash,
+    (void)new TDEAction(i18n("Switch to..."), nullptr, TQt::CTRL + TQt::Key_Slash,
                       Main::_editorManager, TQ_SLOT(switchToEditor()), actionCollection(), "file_switchto");
-    (void)new TDEAction(i18n("Switch Header/Implementation"), 0, TQt::SHIFT + TQt::Key_F12,
+    (void)new TDEAction(i18n("Switch Header/Implementation"), nullptr, TQt::SHIFT + TQt::Key_F12,
                       Main::_editorManager, TQ_SLOT(switchHeaderImplementation()), actionCollection(), "view_switch_source");
-    (void)new TDEAction(TQString(), 0, 0,
+    (void)new TDEAction(TQString(), nullptr, 0,
                       Debugger::manager, TQ_SLOT(toggleBreakpoint()), actionCollection(), "toggle_breakpoint");
-    (void)new TDEAction(TQString(), 0, 0,
+    (void)new TDEAction(TQString(), nullptr, 0,
                       Debugger::manager, TQ_SLOT(toggleEnableBreakpoint()), actionCollection(), "enable_breakpoint");
-    (void)new TDEAction(i18n("Show disassembly location"), 0, 0,
+    (void)new TDEAction(i18n("Show disassembly location"), nullptr, 0,
                       Debugger::manager, TQ_SLOT(showDisassemblyLocation()), actionCollection(), "show_disassembly_location");
-    TDEActionMenu *toolViewsMenu = new TDEActionMenu( i18n("Tool Views"), 0, "view_tool_views");
+    TDEActionMenu *toolViewsMenu = new TDEActionMenu( i18n("Tool Views"), nullptr, "view_tool_views");
     connect(toolViewsMenu->popupMenu(), TQ_SIGNAL(aboutToShow()), TQ_SLOT(updateToolViewsActions()));
     actionCollection()->insert(toolViewsMenu);
-    a = new TDEAction(i18n("&Reset Layout"), 0, 0, this, TQ_SLOT(resetDockLayout()), actionCollection(), "view_reset_layout");
+    a = new TDEAction(i18n("&Reset Layout"), nullptr, 0, this, TQ_SLOT(resetDockLayout()), actionCollection(), "view_reset_layout");
     toolViewsMenu->insert(a);
     toolViewsMenu->popupMenu()->insertSeparator();
     TQValueList<DockData>::iterator it;
@@ -245,7 +245,7 @@ MainWindow::MainWindow()
     // build actions
     (void)new TDEAction(i18n("&Build Project"), "piklab_compile", TQt::Key_F8,
                       this, TQ_SLOT(buildProject()), actionCollection(), "build_build_project");
-    (void)new TDEAction(i18n("&Compile File"), 0, TQt::SHIFT + TQt::Key_F8,
+    (void)new TDEAction(i18n("&Compile File"), nullptr, TQt::SHIFT + TQt::Key_F8,
                       this, TQ_SLOT(compileFile()), actionCollection(), "build_compile_file");
     (void)new TDEAction(i18n("Clean"), "trashcan_empty", 0,
                       this, TQ_SLOT(cleanBuild()), actionCollection(), "build_clean");
@@ -275,7 +275,7 @@ MainWindow::MainWindow()
                       Programmer::manager, TQ_SLOT(halt()), actionCollection(), "prog_stop");
     (void)new TDEAction(i18n("R&estart"), "piklab_restart", 0,
                       Programmer::manager, TQ_SLOT(restart()), actionCollection(), "prog_restart");
-    (void)new TDEAction(i18n("&Advanced..."), 0, 0,
+    (void)new TDEAction(i18n("&Advanced..."), nullptr, 0,
                       Programmer::manager , TQ_SLOT(showAdvancedDialog()), actionCollection(), "prog_advanced");
     (void)new TDEAction(i18n("Settings..."), "configure", 0,
                       this, TQ_SLOT(showProgrammerSettings()), actionCollection(), "prog_settings");
@@ -305,19 +305,19 @@ MainWindow::MainWindow()
                       this, TQ_SLOT(showDebuggerSettings()), actionCollection(), "debug_settings");
 
     // tools
-    (void)new TDEAction(i18n("&Pikloops..."), 0, 0,
+    (void)new TDEAction(i18n("&Pikloops..."), nullptr, 0,
                       this, TQ_SLOT(runPikloops()), actionCollection(), "tools_pikloops");
     (void)new TDEAction(i18n("&Find Files..."), "edit-find", 0,
                       this, TQ_SLOT(runKfind()), actionCollection(), "tools_kfind");
     (void)new TDEAction(i18n("&Device Information..."), "application-vnd.tde.info", 0,
                       this, TQ_SLOT(showDeviceInfo()), actionCollection(), "tools_device_information");
-    (void)new TDEAction(i18n("&Config Generator..."), 0, 0,
+    (void)new TDEAction(i18n("&Config Generator..."), nullptr, 0,
                       this, TQ_SLOT(configGenerator()), actionCollection(), "tools_config_generator");
-    (void)new TDEAction(i18n("&Template Generator..."), 0, 0,
+    (void)new TDEAction(i18n("&Template Generator..."), nullptr, 0,
                       this, TQ_SLOT(templateGenerator()), actionCollection(), "tools_template_generator");
 
     // settings actions
-    (void)new TDEAction(i18n("Configure Toolchains..."), 0, 0,
+    (void)new TDEAction(i18n("Configure Toolchains..."), nullptr, 0,
                       this, TQ_SLOT(configureToolchains()), actionCollection(), "options_configure_toolchains");
     (void)KStdAction::preferences(this, TQ_SLOT(configure()), actionCollection());
 
@@ -383,7 +383,7 @@ void MainWindow::initialLoading()
     for (int i = 0; i<args->count(); i++) {
       PURL::Url url(args->url(i));
       if ( url.fileType()==PURL::Project ) {
-        if ( Main::_projectManager->project()==0 ) Main::_projectManager->openProject(url);
+        if ( !Main::_projectManager->project() ) Main::_projectManager->openProject(url);
       } else Main::_editorManager->openEditor(url);
     }
   } else { // otherwise reopen last project/files
@@ -537,7 +537,7 @@ void MainWindow::newHexFile()
   TQString s;
   for (uint i=0; true; i++) {
     s = i18n("Hex") + (i==0 ? TQString() : TQString::number(i));
-    if ( Main::_editorManager->findEditor(s)==0 ) break;
+    if ( !Main::_editorManager->findEditor(s) ) break;
   }
   HexEditor *editor = new HexEditor(s, Main::_editorManager);
   editor->memoryRead();
@@ -592,12 +592,12 @@ void MainWindow::updateGUI()
   Main::action("view_switch_source")->setEnabled(isSource || isHeader);
   Main::action("history_back")->setEnabled(Main::editorManager().history().hasBack());
   Main::action("history_forward")->setEnabled(Main::editorManager().history().hasForward());
-  Main::action("show_disassembly_location")->setEnabled(Debugger::manager->coff()!=0 && (isSource || isHeader));
+  Main::action("show_disassembly_location")->setEnabled(Debugger::manager->coff()!=nullptr && (isSource || isHeader));
 
   // update project
   bool inProject = ( Main::currentEditor() && (currentType==PURL::Nb_FileTypes || Main::currentEditor()->url().isEmpty() || Main::_projectManager->contains(Main::currentEditor()->url())) );
-  if ( Main::project()==0 && !inProject ) {
-    if ( Main::currentEditor()==0 ) Main::_projectManager->closeProject();
+  if ( !Main::project() && !inProject ) {
+    if ( !Main::currentEditor() ) Main::_projectManager->closeProject();
     else if ( isSource ) Main::_projectManager->setStandalone(Main::currentEditor()->url(), currentType);
     else {
       PURL::FileType type;
@@ -663,7 +663,7 @@ void MainWindow::updateGUI()
   Main::action("debug_stop")->setEnabled(idle && isDebugger && (pstate==Programmer::Running || pstate==Programmer::Halted));
   Main::action("debug_next")->setEnabled(idle && isDebugger && pstate!=Programmer::Running);
   Main::action("debug_reset")->setEnabled(idle && isDebugger && (pstate==Programmer::Running || pstate==Programmer::Halted));
-  Main::action("debug_show_pc")->setEnabled(idle && isDebugger && Debugger::manager->coff()!=0 && Debugger::manager->pc().isInitialized() );
+  Main::action("debug_show_pc")->setEnabled(idle && isDebugger && Debugger::manager->coff()!=nullptr && Debugger::manager->pc().isInitialized() );
 
   Main::_projectManager->updateGUI();
 
@@ -718,7 +718,7 @@ void MainWindow::runKfind()
 void MainWindow::kfindDone()
 {
   delete _kfindProcess;
-  _kfindProcess = 0;
+  _kfindProcess = nullptr;
 }
 
 void MainWindow::runPikloops()
@@ -734,7 +734,7 @@ void MainWindow::runPikloops()
 void MainWindow::pikloopsDone()
 {
   delete _pikloopsProcess;
-  _pikloopsProcess = 0;
+  _pikloopsProcess = nullptr;
 }
 
 //-----------------------------------------------------------------------------
@@ -746,7 +746,7 @@ void MainWindow::compileFile()
   Main::_compileLog->clear();
   PURL::Url url = (e ? e->url() : Main::_projectManager->selectedUrl());
   bool generated = (e ? Main::_projectManager->isExternalFile(url) : false);
-  if ( Main::project()==0 || !generated ) Main::_projectManager->removeExternalFiles();
+  if ( !Main::project() || !generated ) Main::_projectManager->removeExternalFiles();
   url = (!generated ? url : Main::_projectManager->projectUrl());
   if ( Main::_compileManager->compileFile(Compile::TodoItem(url, generated)) ) Main::setState(Main::Compiling);
   else compileFailure();
@@ -754,7 +754,7 @@ void MainWindow::compileFile()
 
 void MainWindow::buildProject()
 {
-  if ( Main::project()==0 ) {
+  if ( !Main::project() ) {
     compileFile();
     return;
   }
@@ -882,7 +882,7 @@ void MainWindow::openRecentProject(const KURL &url)
 void MainWindow::configureProject()
 {
   stopOperations();
-  if ( Main::project()==0 ) configure(ConfigCenter::Standalone);
+  if ( !Main::project() ) configure(ConfigCenter::Standalone);
   else Main::_projectManager->editProject();
   updateGUI();
 }
@@ -903,19 +903,19 @@ HexEditor *MainWindow::getHexEditor()
     if ( !readConfigEntry(BaseGlobalConfig::AutoRebuildModified).toBool() ) {
       res = MessageBox::questionYesNoCancel(i18n("The project hex file may not be up-to-date since some project files have been modified."),
                                             i18n("Recompile First"), i18n("Continue Anyway"));
-      if ( res==MessageBox::Cancel ) return 0;
+      if ( res==MessageBox::Cancel ) return nullptr;
     }
     if ( res==MessageBox::Yes ) {
       _forceProgramAfterBuild = true;
       buildProject();
-      return 0;
+      return nullptr;
     }
   }
   if ( Main::currentEditor() && Main::currentEditor()->fileType()==PURL::Hex )
     return static_cast<HexEditor *>(Main::currentEditor());
   PURL::Url purl = Main::_projectManager->projectUrl();
   HexEditor *editor = static_cast<HexEditor *>(Main::_editorManager->openEditor(purl.toFileType(PURL::Hex)));
-  if ( editor==0 ) return 0;
+  if ( !editor ) return nullptr;
   editor->setReadOnly(true);
   return editor;
 }
@@ -933,7 +933,7 @@ void MainWindow::blankCheck()
 void MainWindow::program()
 {
   HexEditor *editor = getHexEditor();
-  if ( editor==0 ) return;
+  if ( !editor ) return;
   if ( Main::programmerGroup().isDebugger() && !Main::_projectManager->contains(editor->url()) ) {
     MessageBox::sorry(i18n("It is not possible to start a debugging session with a hex file not generated with the current project."), Log::Show);
     return;
@@ -944,7 +944,7 @@ void MainWindow::program()
 void MainWindow::verify()
 {
   HexEditor *editor = getHexEditor();
-  if ( editor==0 ) return;
+  if ( !editor ) return;
   Programmer::manager->verify(*editor->memory(), Device::MemoryRange());
 }
 
diff --git a/src/libgui/watch_view.cpp b/src/libgui/watch_view.cpp
index 11045ba..7b6302b 100644
--- a/src/libgui/watch_view.cpp
+++ b/src/libgui/watch_view.cpp
@@ -22,7 +22,7 @@
 
 //-----------------------------------------------------------------------------
 Register::BaseListView::BaseListView(TQWidget *parent)
-  : ListView(parent), _root(0)
+  : ListView(parent), _root(nullptr)
 {
   header()->hide();
   setSorting(-1);
@@ -66,7 +66,7 @@ void Register::RegisterListView::updateView()
 
 void Register::RegisterListView::itemClicked(int button, TQListViewItem *item, const TQPoint &, int)
 {
-  if ( item==0 || button!=TQt::LeftButton ) return;
+  if ( !item || button!=TQt::LeftButton ) return;
   if ( item==firstChild() ) Main::editorManager().openEditor(EditorManager::RegisterEditor);
   int id = _root->id(item);
   if ( id==-1 || _ids[id].type()==Invalid ) return;
@@ -77,7 +77,7 @@ void Register::RegisterListView::itemClicked(int button, TQListViewItem *item, c
 
 //-----------------------------------------------------------------------------
 Register::WatchedListView::WatchedListView(TQWidget *parent)
-  : BaseListView(parent), _popup(0), _base(NumberBase::Hex)
+  : BaseListView(parent), _popup(nullptr), _base(NumberBase::Hex)
 {
   setSorting(0);
   addColumn(TQString());
@@ -105,8 +105,8 @@ TDEPopupMenu *Register::WatchedListView::appendFormatMenu(TDEPopupMenu *parent,
 void Register::WatchedListView::init(const Device::Data *data)
 {
   delete _popup;
-  _popup = 0;
-  if ( data==0 ) return;
+  _popup = nullptr;
+  if ( !data ) return;
   _popup = new PopupContainer(i18n("Watch Register"), this);
   Device::groupui(*data).fillWatchListContainer(_popup, _ids);
   _popup->insertSeparator();
@@ -152,7 +152,7 @@ TQString Register::WatchedListView::tooltip(const TQListViewItem &item, int col)
 
 void Register::WatchedListView::itemClicked(int button, TQListViewItem *item, const TQPoint &, int col)
 {
-  if ( item==0 || button!=TQt::LeftButton ) return;
+  if ( !item || button!=TQt::LeftButton ) return;
   else if ( item->rtti()==RegisterRtti ) {
     if ( col==2 && Main::programmerState()==Programmer::Halted ) static_cast<ListViewItem *>(item)->startRename();
     else item->setOpen(!item->isOpen());
@@ -161,9 +161,9 @@ void Register::WatchedListView::itemClicked(int button, TQListViewItem *item, co
 
 void Register::WatchedListView::contextMenu(TQListViewItem *item, const TQPoint &p, int)
 {
-  if ( item==0 ) return;
+  if ( !item ) return;
   if ( item==firstChild() ) {
-    if ( _popup==0 ) return;
+    if ( !_popup ) return;
     FOR_EACH(NumberBase, base) _formatPopup->setItemChecked(_ids.count()+base.type(), _base==base);
     int res = _popup->exec(p);
     if ( res<0 ) return;
@@ -197,7 +197,7 @@ void Register::WatchedListView::contextMenu(TQListViewItem *item, const TQPoint
 
 //-----------------------------------------------------------------------------
 Register::WatchView::WatchView(TQWidget *parent)
-  : TQWidget(parent, "watch_view"), GenericView(Register::list()), _data(0)
+  : TQWidget(parent, "watch_view"), GenericView(Register::list()), _data(nullptr)
 {
   TQVBoxLayout *top = new TQVBoxLayout(this);
   TQValueList<int> sizes;
diff --git a/src/piklab-coff/main.cpp b/src/piklab-coff/main.cpp
index 1cd0c59..f30e7b6 100644
--- a/src/piklab-coff/main.cpp
+++ b/src/piklab-coff/main.cpp
@@ -28,15 +28,15 @@ const CLI::CommandData CLI::NORMAL_COMMAND_DATA[] = {
   { "sections",  NeedSource, I18N_NOOP("Return information about sections (for object).") },
   { "lines",     NeedSource, I18N_NOOP("Return information about code lines (for object).") },
   { "files",     NeedSource, I18N_NOOP("Return information about files.") },
-  { 0, NoCommandProperty, 0 }
+  { nullptr, NoCommandProperty, nullptr }
 };
 const CLI::CommandData CLI::INTERACTIVE_COMMAND_DATA[] = {
-  { 0, NoCommandProperty, 0 }
+  { nullptr, NoCommandProperty, nullptr }
 };
 
 const CLI::PropertyData CLI::PROPERTY_DATA[] = {
   { "device", "device <name>", "d", I18N_NOOP("Target device."), "device-list", I18N_NOOP("Return the list of supported devices.") },
-  { 0, 0, 0, 0, 0, 0 }
+  { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }
 };
 
 const TDECmdLineOptions CLI::OPTIONS[] = {
@@ -45,7 +45,7 @@ const TDECmdLineOptions CLI::OPTIONS[] = {
 
 //-----------------------------------------------------------------------------
 CLI::Main::Main()
- : MainBase(HasForce), _device(0)
+ : MainBase(HasForce), _device(nullptr)
 {}
 
 CLI::Main::~Main()
@@ -72,7 +72,7 @@ CLI::ExitCode CLI::Main::prepareCommand(const TQString &command)
     argIndex++;
     if ( !_force && _dest.exists() ) return errorExit(i18n("Destination file already exists."), FILE_ERROR);
   }
-  if ( _device==0 && (properties & NeedDevice) ) return errorExit(i18n("Device not specified."), ARG_ERROR);
+  if ( !_device && (properties & NeedDevice) ) return errorExit(i18n("Device not specified."), ARG_ERROR);
   return OK;
 }
 
@@ -132,7 +132,7 @@ CLI::ExitCode CLI::Main::executeCommandObject(const TQString &command, Log::KeyL
 {
   Coff::TextObject coff(_device, _source);
   if ( !coff.parse(*this) ) return ARG_ERROR;
-  Q_ASSERT( coff.device()==0 || coff.device()->group().name()=="pic" );
+  Q_ASSERT( !coff.device() || coff.device()->group().name()=="pic" );
   const Pic::Data *pdata = static_cast<const Pic::Data *>(coff.device());
   uint nbCharsAddress = (pdata ? pdata->nbCharsAddress() : 8);
 
@@ -153,7 +153,7 @@ CLI::ExitCode CLI::Main::executeCommandObject(const TQString &command, Log::KeyL
   if ( command=="symbols" ) {
     keys.setTitle(i18n("Symbols:"));
     for (uint i=0; i<coff.nbSymbols(); i++) {
-      if ( coff.symbol(i)==0 || coff.symbol(i)->isAuxSymbol() ) continue;
+      if ( !coff.symbol(i) || coff.symbol(i)->isAuxSymbol() ) continue;
       const Coff::Symbol &sym = static_cast<const Coff::Symbol &>(*coff.symbol(i));
       keys.append(sym.name(), prettySymbol(sym));
     }
@@ -230,12 +230,12 @@ CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQStr
 {
   if ( property=="device" || property=="processor" ) {
     if ( value.isEmpty() ) {
-      _device = 0;
+      _device = nullptr;
       return OK;
     }
     TQString s = value.upper();
     _device = Device::lister().data(s);
-    if ( _device==0 ) return errorExit(i18n("Unknown device \"%1\".").arg(s), ARG_ERROR);
+    if ( !_device ) return errorExit(i18n("Unknown device \"%1\".").arg(s), ARG_ERROR);
     return OK;
   }
   return errorExit(i18n("Unknown property \"%1\".").arg(property), ARG_ERROR);
@@ -244,7 +244,7 @@ CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQStr
 TQString CLI::Main::executeGetCommand(const TQString &property)
 {
   if ( property=="device" || property=="processor" ) {
-    if ( _device==0 ) return i18n("<not set>");
+    if ( !_device ) return i18n("<not set>");
     return _device->name();
   }
   log(Log::LineType::SoftError, i18n("Unknown property \"%1\".").arg(property));
diff --git a/src/piklab-hex/main.cpp b/src/piklab-hex/main.cpp
index 12c8bc5..89021e1 100644
--- a/src/piklab-hex/main.cpp
+++ b/src/piklab-hex/main.cpp
@@ -28,16 +28,16 @@ const CLI::CommandData CLI::NORMAL_COMMAND_DATA[] = {
   { "compare",  NeedSource1 | NeedSource2 | NeedCorrectInput, I18N_NOOP("Compare two hex files.") },
   { "checksum", NeedSource1 | NeedCorrectInput | NeedDevice, I18N_NOOP("Return checksum.") },
   { "create",   NeedDestination | NeedDevice, I18N_NOOP("Create a hex file for the specified device.") },
-  { 0, NoCommandProperty, 0 }
+  { nullptr, NoCommandProperty, nullptr }
 };
 const CLI::CommandData CLI::INTERACTIVE_COMMAND_DATA[] = {
-  { 0, NoCommandProperty, 0 }
+  { nullptr, NoCommandProperty, nullptr }
 };
 
 const CLI::PropertyData CLI::PROPERTY_DATA[] = {
   { "device", "device <name>", "d", I18N_NOOP("Target device."), "device-list", I18N_NOOP("Return the list of supported devices.") },
-  { "fill",   "fill <value>",  0,   I18N_NOOP("Fill option."),   "fill-list",   I18N_NOOP("Return the list of supported fill options.") },
-  { 0, 0, 0, 0, 0, 0 }
+  { "fill",   "fill <value>",  nullptr,   I18N_NOOP("Fill option."),   "fill-list",   I18N_NOOP("Return the list of supported fill options.") },
+  { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }
 };
 
 const TDECmdLineOptions CLI::OPTIONS[] = {
@@ -48,12 +48,12 @@ const CLI::FillOptions CLI::FILL_OPTIONS[] = {
   { "blank", I18N_NOOP("Fill with blank values (default).") },
   { "zero",  I18N_NOOP("Fill with zeroes.") },
   { "checksum_check", I18N_NOOP("Fill for checksum verification (cf datasheets).") },
-  { 0, 0 }
+  { nullptr, nullptr }
 };
 
 //-----------------------------------------------------------------------------
 CLI::Main::Main()
- : MainBase(HasForce), _device(0), _memory(0)
+ : MainBase(HasForce), _device(nullptr), _memory(nullptr)
 {}
 
 CLI::Main::~Main()
@@ -101,7 +101,7 @@ CLI::ExitCode CLI::Main::prepareCommand(const TQString &command)
     argIndex++;
     if ( !_force && _dest.exists() ) return errorExit(i18n("Destination file already exists."), FILE_ERROR);
   }
-  if ( _device==0 && (properties & NeedDevice) ) return errorExit(i18n("Device not specified."), ARG_ERROR);
+  if ( !_device && (properties & NeedDevice) ) return errorExit(i18n("Device not specified."), ARG_ERROR);
   return OK;
 }
 
@@ -112,7 +112,7 @@ CLI::ExitCode CLI::Main::executeCommand(const TQString &command)
     _memory = _device->group().createMemory(*_device);
   }
   if ( command=="check" ) {
-    if ( _device==0 ) return okExit(i18n("Hex file is valid."));
+    if ( !_device ) return okExit(i18n("Hex file is valid."));
     TQStringList warnings;
     Device::Memory::WarningTypes wtypes = _memory->fromHexBuffer(_source1, warnings);
     if ( wtypes==Device::Memory::NoWarning ) return okExit(i18n("Hex file is compatible with device \"%1\".").arg(_device->name()));
@@ -215,12 +215,12 @@ CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQStr
 {
   if ( property=="device" || property=="processor" ) {
     if ( value.isEmpty() ) {
-      _device = 0;
+      _device = nullptr;
       return OK;
     }
     TQString s = value.upper();
     _device = Device::lister().data(s);
-    if ( _device==0 ) return errorExit(i18n("Unknown device \"%1\".").arg(s), ARG_ERROR);
+    if ( !_device ) return errorExit(i18n("Unknown device \"%1\".").arg(s), ARG_ERROR);
     return OK;
   }
   if ( property=="fill" ) {
@@ -238,7 +238,7 @@ CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQStr
 TQString CLI::Main::executeGetCommand(const TQString &property)
 {
   if ( property=="device" || property=="processor" ) {
-    if ( _device==0 ) return i18n("<not set>");
+    if ( !_device ) return i18n("<not set>");
     return _device->name();
   }
   if ( property=="fill" ) {
diff --git a/src/piklab-prog/cli_interactive.cpp b/src/piklab-prog/cli_interactive.cpp
index d7c7309..69dff8a 100644
--- a/src/piklab-prog/cli_interactive.cpp
+++ b/src/piklab-prog/cli_interactive.cpp
@@ -46,7 +46,7 @@ const CLI::CommandData CLI::INTERACTIVE_COMMAND_DATA[] = {
   { "break",           NeedDevice | NeedProgrammer, I18N_NOOP("Set a breakpoint \"break e 0x04\" or list all breakpoints \"break\".") },
   { "clear",           NeedDevice | NeedProgrammer, I18N_NOOP("Clear a breakpoint \"clear 0\", \"clear e 0x04\", or clear all breakpoints \"clear all\".") },
   { "raw-com",         NeedDevice | NeedProgrammer, I18N_NOOP("Write and read raw commands to port from given file.") },
-  { 0, NoCommandProperty, 0 }
+  { nullptr, NoCommandProperty, nullptr }
 };
 
 const CLI::PropertyData CLI::PROPERTY_DATA[] = {
@@ -55,12 +55,12 @@ const CLI::PropertyData CLI::PROPERTY_DATA[] = {
   { "device",       "device <name>",      "d", I18N_NOOP("Target device."), "device-list", I18N_NOOP("Return the list of supported devices.") },
   { "format",       "format <name>",      "f", I18N_NOOP("Hex output file format."), "format-list", I18N_NOOP("Return the list of supported hex file formats.") },
   { "port",         "port <name>",        "t", I18N_NOOP("Programmer port (\"usb\" or device such as \"/dev/ttyS0\")"), "port-list", I18N_NOOP("Return the list of detected ports.") },
-  { "firmware-dir", "firmware-dir <dir>", 0,   I18N_NOOP("Firmware directory."), 0, 0 },
-  { "target-self-powered", "target-self-powered <true|false>", 0, I18N_NOOP("Set if target device is self-powered."), 0, 0 },
-  { "hex", 0, 0, I18N_NOOP("Hex file to be used for programming."), 0, 0 },
-  { "coff", 0, 0, I18N_NOOP("COFF file to be used for debugging."), 0, 0 },
-  { "processor",    0, 0, I18N_NOOP("Same as \"device\"."), 0, 0 },
-  { 0, 0, 0, 0, 0, 0 }
+  { "firmware-dir", "firmware-dir <dir>", nullptr,   I18N_NOOP("Firmware directory."), nullptr, nullptr },
+  { "target-self-powered", "target-self-powered <true|false>", nullptr, I18N_NOOP("Set if target device is self-powered."), nullptr, nullptr },
+  { "hex", nullptr, nullptr, I18N_NOOP("Hex file to be used for programming."), nullptr, nullptr },
+  { "coff", nullptr, nullptr, I18N_NOOP("COFF file to be used for debugging."), nullptr, nullptr },
+  { "processor",    nullptr, nullptr, I18N_NOOP("Same as \"device\"."), nullptr, nullptr },
+  { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }
 };
 
 //-----------------------------------------------------------------------------
@@ -236,7 +236,7 @@ void CLI::Interactive::lineRead()
 
 CLI::ExitCode CLI::Interactive::registerList()
 {
-  if ( _device==0 ) return errorExit(i18n("No device specified."), NOT_SUPPORTED_ERROR);
+  if ( !_device ) return errorExit(i18n("No device specified."), NOT_SUPPORTED_ERROR);
   if ( _device->group().name()!="pic" ) return errorExit(i18n("No register."), NOT_SUPPORTED_ERROR);
   const Pic::Data &data = static_cast<const Pic::Data &>(*_device);
   const Coff::Object *coff = Debugger::manager->coff();
@@ -252,9 +252,9 @@ CLI::ExitCode CLI::Interactive::registerList()
 
 CLI::ExitCode CLI::Interactive::variableList()
 {
-  if ( _device==0 ) return errorExit(i18n("No device specified."), NOT_SUPPORTED_ERROR);
+  if ( !_device ) return errorExit(i18n("No device specified."), NOT_SUPPORTED_ERROR);
   const Coff::Object *coff = Debugger::manager->coff();
-  if ( coff==0 ) return errorExit(i18n("No COFF file specified."), NOT_SUPPORTED_ERROR);
+  if ( !coff ) return errorExit(i18n("No COFF file specified."), NOT_SUPPORTED_ERROR);
   if ( _device->group().name()!="pic" ) return errorExit(i18n("No register."), NOT_SUPPORTED_ERROR);
   const Pic::Data &data = static_cast<const Pic::Data &>(*_device);
   const Pic::RegistersData &rdata = data.registersData();
@@ -277,7 +277,7 @@ Address CLI::Interactive::findRegisterAddress(const TQString &name)
   }
   TQValueVector<Pic::RegisterNameData> sfrs = Pic::sfrList(data);
   for (uint i=0; i<uint(sfrs.count()); i++) if ( name.lower()==sfrs[i].label().lower() ) return sfrs[i].data().address();
-  if ( coff==0 ) return Address();
+  if ( !coff ) return Address();
   TQMap<TQString, Address> variables = coff->variables();
   if ( variables.contains(name) ) return variables[name];
   return Address();
@@ -285,7 +285,7 @@ Address CLI::Interactive::findRegisterAddress(const TQString &name)
 
 CLI::ExitCode CLI::Interactive::executeRegister(const TQString &name, const TQString &value)
 {
-  if ( Debugger::manager->debugger()==0 ) return errorExit(i18n("You need to start the debugging session first (with \"start\")."), ARG_ERROR);
+  if ( !Debugger::manager->debugger() ) return errorExit(i18n("You need to start the debugging session first (with \"start\")."), ARG_ERROR);
   const Pic::Data &data = static_cast<const Pic::Data &>(*_device);
   const Pic::RegistersData &rdata = data.registersData();
   uint nbChars = rdata.nbChars();
@@ -314,7 +314,7 @@ CLI::ExitCode CLI::Interactive::executeRawCommands(const TQString &filename)
 {
   TQFile file(filename);
   if ( !file.open(IO_ReadOnly) ) return errorExit(i18n("Could not open filename \"%1\".").arg(filename), ARG_ERROR);
-  if ( Programmer::manager->programmer()==0 ) {
+  if ( !Programmer::manager->programmer() ) {
     Programmer::manager->createProgrammer(_device);
     if ( !Programmer::manager->programmer()->simpleConnectHardware() ) return EXEC_ERROR;
   }
diff --git a/src/piklab-prog/cli_prog_manager.cpp b/src/piklab-prog/cli_prog_manager.cpp
index 715121c..50fdf5f 100644
--- a/src/piklab-prog/cli_prog_manager.cpp
+++ b/src/piklab-prog/cli_prog_manager.cpp
@@ -58,7 +58,7 @@ bool Programmer::CliManager::internalInitProgramming(bool debugging)
   if ( _programmer->isActive() ) {
     if ( !halt() ) return false;
   } else if (debugging) {
-    if ( ::Debugger::manager->coff()==0 && !::Debugger::manager->init() ) log(Log::LineType::Warning, i18n("Starting debug session without COFF file (no source file information)."));
+    if ( !::Debugger::manager->coff() && !::Debugger::manager->init() ) log(Log::LineType::Warning, i18n("Starting debug session without COFF file (no source file information)."));
     if ( !group().isSoftware() ) log(Log::LineType::Warning, i18n("Starting debugging session with device memory in an unknown state. You may want to reprogram the device."));
   }
   return true;
diff --git a/src/piklab-prog/cmdline.cpp b/src/piklab-prog/cmdline.cpp
index 4e0b879..78f4dc7 100644
--- a/src/piklab-prog/cmdline.cpp
+++ b/src/piklab-prog/cmdline.cpp
@@ -49,25 +49,25 @@ const CLI::CommandData CLI::NORMAL_COMMAND_DATA[] = {
     I18N_NOOP("Blank check device memory.") },
   { "upload_firmware", NeedProgrammer | InputHex,
     I18N_NOOP("Upload firmware to programmer: \"upload_firmware <hexfilename>\".") },
-  { 0, NoCommandProperty, 0 }
+  { nullptr, NoCommandProperty, nullptr }
 };
 
 const TDECmdLineOptions CLI::OPTIONS[] = {
-  { "r",              0, 0 },
-  { "range <name>",   I18N_NOOP("Memory range to operate on."), 0 },
-  { "range-list",     I18N_NOOP("Return the list of memory ranges."), 0 },
+  { "r",              nullptr, nullptr },
+  { "range <name>",   I18N_NOOP("Memory range to operate on."), nullptr },
+  { "range-list",     I18N_NOOP("Return the list of memory ranges."), nullptr },
   TDECmdLineLastOption
 };
 
 //-----------------------------------------------------------------------------
-const Programmer::Group *CLI::_progGroup = 0;
-const Device::Data *CLI::_device = 0;
+const Programmer::Group *CLI::_progGroup = nullptr;
+const Device::Data *CLI::_device = nullptr;
 HexBuffer::Format CLI::_format = HexBuffer::IHX32;
 TQString CLI::_port, CLI::_targetSelfPowered, CLI::_hardware;
 PURL::Directory CLI::_firmwareDir;
 PURL::Url CLI::_hexUrl, CLI::_coffUrl;
-Device::Memory *CLI::_memory = 0;
-CLI::Interactive *CLI::_interactive = 0;
+Device::Memory *CLI::_memory = nullptr;
+CLI::Interactive *CLI::_interactive = nullptr;
 
 //-----------------------------------------------------------------------------
 CLI::ExitCode CLI::Main::formatList()
@@ -93,7 +93,7 @@ CLI::ExitCode CLI::Main::hardwareList()
   Programmer::Lister::ConstIterator it;
   for (it=Programmer::lister().begin(); it!=Programmer::lister().end(); it++) {
     ::Hardware::Config *config = it.data()->hardwareConfig();
-    if ( config==0 ) continue;
+    if ( !config ) continue;
     FOR_EACH(PortType, type) {
       if ( !it.data()->isPortSupported(type) ) continue;
       log(Log::LineType::Normal, "-" + TQString(it.data()->name()) + " [" + type.label() + "]:");
@@ -108,7 +108,7 @@ CLI::ExitCode CLI::Main::hardwareList()
 CLI::ExitCode CLI::Main::deviceList()
 {
   TQValueVector<TQString> devices;
-  if ( _progGroup==0 ) {
+  if ( !_progGroup ) {
     log(Log::LineType::Normal, i18n("Supported devices:"));
     devices = Programmer::lister().supportedDevices();
   } else {
@@ -154,15 +154,15 @@ CLI::ExitCode CLI::Main::prepareCommand(const TQString &command)
 {
   const CommandData *data = findCommandData(command);
   CommandProperties properties = static_cast<CommandProperties>(data->properties);
-  if ( _device==0 && (properties & NeedDevice) ) return errorExit(i18n("Device not specified."), ARG_ERROR);
-  if ( _progGroup==0 && (properties & NeedProgrammer) ) return errorExit(i18n("Programmer not specified."), ARG_ERROR);
+  if ( !_device && (properties & NeedDevice) ) return errorExit(i18n("Device not specified."), ARG_ERROR);
+  if ( !_progGroup && (properties & NeedProgrammer) ) return errorExit(i18n("Programmer not specified."), ARG_ERROR);
 
   if ( (properties & InputHex) || (properties & OutputHex) ) {
     if ( _hexUrl.isEmpty() ) return errorExit(i18n("Hex filename not specified."), ARG_ERROR);
     //if ( !_filename.isLocalFile() ) return errorExit(i18n("Only local files are supported."), ARG_ERROR);
     PURL::File file(_hexUrl, *_view);
     delete _memory;
-    _memory = 0;
+    _memory = nullptr;
     if ( properties & NeedDevice ) _memory = _device->group().createMemory(*_device);
     if ( properties & InputHex ) {
       if (_memory) {
@@ -241,9 +241,9 @@ CLI::ExitCode CLI::Main::prepareRun(bool &interactive)
 CLI::ExitCode CLI::Main::extractRange(const TQString &range)
 {
   delete _range;
-  _range = 0;
+  _range = nullptr;
   if ( !range.isEmpty() ) {
-    if ( _device==0 ) return errorExit(i18n("Cannot specify range without specifying device."), ARG_ERROR);
+    if ( !_device ) return errorExit(i18n("Cannot specify range without specifying device."), ARG_ERROR);
     if ( _device->group().name()=="pic" ) {
       FOR_EACH(Pic::MemoryRangeType, type) {
         if ( range!=type.key() ) continue;
@@ -251,7 +251,7 @@ CLI::ExitCode CLI::Main::extractRange(const TQString &range)
         _range = new Pic::MemoryRange(type);
         break;
       }
-      if ( _range==0 ) return errorExit(i18n("Memory range not recognized."), ARG_ERROR);
+      if ( !_range ) return errorExit(i18n("Memory range not recognized."), ARG_ERROR);
     } else return errorExit(i18n("Memory ranges are not supported for the specified device."), ARG_ERROR);
   } else _range = new Device::MemoryRange;
   return OK;
@@ -262,7 +262,7 @@ CLI::ExitCode CLI::Main::executeCommand(const TQString &command)
   Programmer::Base *programmer = Programmer::manager->programmer();
   if ( command=="connect" ) return (Programmer::manager->connectDevice() ? OK : EXEC_ERROR);
   if ( command=="disconnect" ) {
-    if ( programmer==0 || programmer->state()==Programmer::NotConnected )
+    if ( !programmer || programmer->state()==Programmer::NotConnected )
       return okExit(i18n("Programmer is already disconnected."));
     return (Programmer::manager->disconnectDevice() ? OK : EXEC_ERROR);
   }
@@ -315,7 +315,7 @@ CLI::ExitCode CLI::Main::executeCommand(const TQString &command)
   if ( command=="upload_firmware" ) {
     if ( !(_progGroup->properties() & ::Programmer::CanUploadFirmware) )
       return errorExit(i18n("Uploading firmware is not supported for the specified programmer."), NOT_SUPPORTED_ERROR);
-    if ( Programmer::manager->programmer()==0 ) Programmer::manager->createProgrammer(0); // no device specified
+    if ( !Programmer::manager->programmer() ) Programmer::manager->createProgrammer(nullptr); // no device specified
     return (Programmer::manager->programmer()->uploadFirmware(_hexUrl) ? OK : EXEC_ERROR);
   }
   Q_ASSERT(false);
@@ -324,7 +324,7 @@ CLI::ExitCode CLI::Main::executeCommand(const TQString &command)
 
 CLI::ExitCode CLI::Main::checkProgrammer()
 {
-  if ( _progGroup==0 ) return OK;
+  if ( !_progGroup ) return OK;
   if ( _progGroup->isSoftware() && _progGroup->supportedDevices().isEmpty() )
     return errorExit(i18n("Please check installation of selected software debugger."), NOT_SUPPORTED_ERROR);
   if ( _device && !_progGroup->isSupported(_device->name()) )
@@ -342,7 +342,7 @@ CLI::ExitCode CLI::Main::checkProgrammer()
 CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQString &value)
 {
   if ( property=="programmer" ) {
-    _progGroup = 0;
+    _progGroup = nullptr;
     if ( value.isEmpty() ) return OK;
     _progGroup = Programmer::lister().group(value.lower());
     if (_progGroup) return checkProgrammer();
@@ -351,13 +351,13 @@ CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQStr
   if ( property=="hardware" ) { _hardware = value;  return OK; }
   if ( property=="device" || property=="processor" ) {
     if ( value.isEmpty() ) {
-      _device = 0;
+      _device = nullptr;
       return OK;
     }
     TQString s = value.upper();
     _device = Device::lister().data(s);
     Debugger::manager->updateDevice();
-    if ( _device==0 ) return errorExit(i18n("Unknown device \"%1\".").arg(s), ARG_ERROR);
+    if ( !_device ) return errorExit(i18n("Unknown device \"%1\".").arg(s), ARG_ERROR);
     Debugger::manager->init();
     return checkProgrammer();
   }
@@ -396,12 +396,12 @@ CLI::ExitCode CLI::Main::executeSetCommand(const TQString &property, const TQStr
 TQString CLI::Main::executeGetCommand(const TQString &property)
 {
   if ( property=="programmer" ) {
-    if ( _progGroup==0 ) return i18n("<not set>");
+    if ( !_progGroup ) return i18n("<not set>");
     return _progGroup->name();
   }
   if ( property=="hardware" ) {
     if ( !_hardware.isEmpty() ) return _hardware;
-    if ( _progGroup==0 ) return i18n("<not set>");
+    if ( !_progGroup ) return i18n("<not set>");
     Port::Description pd = static_cast<Programmer::CliManager *>(Programmer::manager)->portDescription();
     ::Hardware::Config *config = _progGroup->hardwareConfig();
     if (config) return config->currentHardware(pd.type) + " " + i18n("<from config>");
@@ -409,13 +409,13 @@ TQString CLI::Main::executeGetCommand(const TQString &property)
     return i18n("<not set>");
   }
   if ( property=="device" || property=="processor" ) {
-    if ( _device==0 ) return i18n("<not set>");
+    if ( !_device ) return i18n("<not set>");
     return _device->name();
   }
   if ( property=="format" ) return HexBuffer::FORMATS[_format];
   if ( property=="port" ) {
     if ( !_port.isEmpty() ) return _port;
-    if ( _progGroup==0 ) return i18n("<not set>");
+    if ( !_progGroup ) return i18n("<not set>");
     Port::Description pd = Programmer::GroupConfig::portDescription(*_progGroup);
     TQString s = pd.type.key();
     if (pd.type.data().withDevice) s += " (" + pd.device + ")";
@@ -423,7 +423,7 @@ TQString CLI::Main::executeGetCommand(const TQString &property)
   }
   if ( property=="firmware-dir" ) {
     if ( !_firmwareDir.isEmpty() ) return _firmwareDir.pretty();
-    if ( _progGroup==0 ) return i18n("<not set>");
+    if ( !_progGroup ) return i18n("<not set>");
     return Programmer::GroupConfig::firmwareDirectory(*_progGroup) + " " + i18n("<from config>");
   }
   if ( property=="target-self-powered" ) {
diff --git a/src/piklab-test/base/device_test.cpp b/src/piklab-test/base/device_test.cpp
index 785de39..a605498 100644
--- a/src/piklab-test/base/device_test.cpp
+++ b/src/piklab-test/base/device_test.cpp
@@ -48,7 +48,7 @@ bool DeviceTest::execute()
 Piklab::OptionList DeviceTest::optionList() const
 {
   Piklab::OptionList optionList;
-  const TDECmdLineOptions OPTION = { "+[device]", "Only check the specified device", 0 };
+  const TDECmdLineOptions OPTION = { "+[device]", "Only check the specified device", nullptr };
   optionList.append(OPTION);
   return optionList;
 }
diff --git a/src/piklab-test/base/generator_check.cpp b/src/piklab-test/base/generator_check.cpp
index 8dfa36c..139c3c3 100644
--- a/src/piklab-test/base/generator_check.cpp
+++ b/src/piklab-test/base/generator_check.cpp
@@ -18,7 +18,7 @@
 
 //----------------------------------------------------------------------------
 GeneratorCheckHelper::GeneratorCheckHelper()
-  : _cprocess(0), _lprocess(0), _generator(0)
+  : _cprocess(nullptr), _lprocess(nullptr), _generator(nullptr)
 {}
 
 GeneratorCheckHelper::~GeneratorCheckHelper()
@@ -29,14 +29,14 @@ GeneratorCheckHelper::~GeneratorCheckHelper()
 void GeneratorCheckHelper::cleanup()
 {
   delete _lprocess;
-  _lprocess = 0;
+  _lprocess = nullptr;
   delete _cprocess;
-  _cprocess = 0;
+  _cprocess = nullptr;
 }
 
 //----------------------------------------------------------------------------
 GeneratorCheck::GeneratorCheck(GeneratorCheckHelper *helper)
-  : _helper(helper), _fdest(0), _fhex(0), _memory1(0)
+  : _helper(helper), _fdest(nullptr), _fhex(nullptr), _memory1(nullptr)
 {
   _view = new CLI::View;
 }
@@ -73,12 +73,12 @@ bool GeneratorCheck::skip(const Device::Data &data) const
 void GeneratorCheck::cleanup(const Device::Data &)
 {
   delete _memory1;
-  _memory1 = 0;
+  _memory1 = nullptr;
   delete _fhex;
-  _fhex = 0;
+  _fhex = nullptr;
 //  _fdest->remove();
   delete _fdest;
-  _fdest = 0;
+  _fdest = nullptr;
   _helper->cleanup();
 }
 
@@ -186,7 +186,7 @@ void ConfigGeneratorCheck::cleanup(const Device::Data &data)
 {
   GeneratorCheck::cleanup(data);
   delete _memory2;
-  _memory2 = 0;
+  _memory2 = nullptr;
 }
 
 //----------------------------------------------------------------------------
diff --git a/src/piklab-test/base/generator_check.h b/src/piklab-test/base/generator_check.h
index 2edb4c5..ecfec0c 100644
--- a/src/piklab-test/base/generator_check.h
+++ b/src/piklab-test/base/generator_check.h
@@ -61,7 +61,7 @@ protected:
 class ConfigGeneratorCheck : public GeneratorCheck
 {
 public:
-  ConfigGeneratorCheck(GeneratorCheckHelper *helper) : GeneratorCheck(helper), _memory2(0) {}
+  ConfigGeneratorCheck(GeneratorCheckHelper *helper) : GeneratorCheck(helper), _memory2(nullptr) {}
   virtual bool init(const Device::Data &data);
   virtual bool execute(const Device::Data &data);
   virtual void cleanup(const Device::Data &data);
diff --git a/src/piklab/main.cpp b/src/piklab/main.cpp
index d451ada..e299542 100644
--- a/src/piklab/main.cpp
+++ b/src/piklab/main.cpp
@@ -12,8 +12,8 @@
 #include "libgui/likeback.h"
 
 const TDECmdLineOptions OPTIONS[] = {
-  { "+[file]", I18N_NOOP("Optional filenames to be opened upon startup."), 0 },
-  { 0, 0, 0}
+  { "+[file]", I18N_NOOP("Optional filenames to be opened upon startup."), nullptr },
+  { nullptr, nullptr, nullptr}
 };
 
 int main(int argc, char **argv)
diff --git a/src/progs/base/generic_debug.cpp b/src/progs/base/generic_debug.cpp
index f96ca2f..7190ec3 100644
--- a/src/progs/base/generic_debug.cpp
+++ b/src/progs/base/generic_debug.cpp
@@ -16,8 +16,8 @@
 
 //----------------------------------------------------------------------------
 Debugger::Base::Base(Programmer::Base &programmer)
-  : Log::Base(&programmer), _programmer(programmer), _deviceSpecific(0),
-    _specific(0), _inputType(PURL::Nb_FileTypes), _coff(0)
+  : Log::Base(&programmer), _programmer(programmer), _deviceSpecific(nullptr),
+    _specific(nullptr), _inputType(PURL::Nb_FileTypes), _coff(nullptr)
 {}
 
 void Debugger::Base::init(DeviceSpecific *deviceSpecific, Specific *specific)
diff --git a/src/progs/base/generic_prog.cpp b/src/progs/base/generic_prog.cpp
index 6ea9019..9b033ca 100644
--- a/src/progs/base/generic_prog.cpp
+++ b/src/progs/base/generic_prog.cpp
@@ -29,16 +29,16 @@ const char * const Programmer::RESULT_TYPE_LABELS[Nb_ResultTypes+1] = {
 };
 
 const Programmer::Task::Data Programmer::Task::DATA[Nb_Types] = {
-  { 0, I18N_NOOP("Reading...")        },
-  { 0, I18N_NOOP("Programming...")    },
-  { 0, I18N_NOOP("Verifying...")      },
-  { 0, I18N_NOOP("Erasing...")        },
-  { 0, I18N_NOOP("Blank Checking...") }
+  { nullptr, I18N_NOOP("Reading...")        },
+  { nullptr, I18N_NOOP("Programming...")    },
+  { nullptr, I18N_NOOP("Verifying...")      },
+  { nullptr, I18N_NOOP("Erasing...")        },
+  { nullptr, I18N_NOOP("Blank Checking...") }
 };
 
 //-----------------------------------------------------------------------------
 Programmer::Base::Base(const Group &group, const Device::Data *device, const char *)
-  : _hardware(0), _specific(0), _device(device), _debugger(group.createDebugger(*this)),
+  : _hardware(nullptr), _specific(nullptr), _device(device), _debugger(group.createDebugger(*this)),
     _state(NotConnected), _targetPowerOn(false), _group(group)
 {}
 
@@ -92,7 +92,7 @@ bool Programmer::Base::connectHardware()
   _progressMonitor.addTaskProgress(1);
   if ( !group().isSoftware() ) {
     if ( !readFirmwareVersion() ) return false;
-    if ( _specific==0 ) return true;
+    if ( !_specific ) return true;
     if ( _mode==BootloadMode ) return true;
     if ( !setupFirmware() ) return false;
     if ( !checkFirmwareVersion() ) return false;
@@ -285,7 +285,7 @@ bool Programmer::Base::doErase(const Device::MemoryRange &range)
   if ( readConfigEntry(Config::BlankCheckAfterErase).toBool() ) {
     _progressMonitor.startNextTask();
     log(Log::LineType::Information, i18n("Blank checking..."));
-    if ( !doVerify(BlankCheckVerify, range, 0) ) return false;
+    if ( !doVerify(BlankCheckVerify, range, nullptr) ) return false;
     log(Log::LineType::Information, i18n("Blank checking done."));
   }
   return true;
@@ -318,7 +318,7 @@ bool Programmer::Base::doRead(Device::Memory &memory, const Device::MemoryRange
   _progressMonitor.startNextTask();
   log(Log::LineType::Information, i18n("Reading device memory..."));
   memory.clear();
-  if ( !internalRead(&memory, range, 0) ) return false;
+  if ( !internalRead(&memory, range, nullptr) ) return false;
   log(Log::LineType::Information, i18n("Reading done."));
   return true;
 }
@@ -359,13 +359,13 @@ bool Programmer::Base::verify(const Device::Memory &memory, const Device::Memory
 bool Programmer::Base::doVerify(VerifyAction action, const Device::MemoryRange &range, const Device::Memory *memory)
 {
   const Device::Memory *vmemory = memory;
-  if ( memory==0 ) {
+  if ( !memory ) {
     Q_ASSERT( action & BlankCheckVerify );
     vmemory = _device->group().createMemory(*_device);
   }
   VerifyData vdata(action, *vmemory);
-  bool ok = internalRead(0, range, &vdata);
-  if ( memory==0 ) delete vmemory;
+  bool ok = internalRead(nullptr, range, &vdata);
+  if ( !memory ) delete vmemory;
   return ok;
 }
 
@@ -396,7 +396,7 @@ bool Programmer::Base::doBlankCheck(const Device::MemoryRange &range)
   if ( !doConnectDevice() ) return false;
   _progressMonitor.startNextTask();
   log(Log::LineType::Information, i18n("Blank checking..."));
-  if ( !doVerify(BlankCheckVerify, range, 0) ) return false;
+  if ( !doVerify(BlankCheckVerify, range, nullptr) ) return false;
   log(Log::LineType::Information, i18n("Blank checking successful."));
   return true;
 }
diff --git a/src/progs/base/generic_prog.h b/src/progs/base/generic_prog.h
index a2bff94..fb47d71 100644
--- a/src/progs/base/generic_prog.h
+++ b/src/progs/base/generic_prog.h
@@ -91,7 +91,7 @@ public:
   bool uploadFirmware(const PURL::Url &url);
   virtual bool readVoltages() { return true; }
   virtual bool selfTest(bool ask) { Q_UNUSED(ask); return true; }
-  void appendTask(Task task, const Device::MemoryRange *range = 0);
+  void appendTask(Task task, const Device::MemoryRange *range = nullptr);
 
   bool erase(const Device::MemoryRange &range);
   bool read(Device::Memory &memory, const Device::MemoryRange &range);
diff --git a/src/progs/base/hardware_config.cpp b/src/progs/base/hardware_config.cpp
index 9f67308..e0d1379 100644
--- a/src/progs/base/hardware_config.cpp
+++ b/src/progs/base/hardware_config.cpp
@@ -40,14 +40,14 @@ TQString Hardware::Config::currentHardware(PortType type)
 TQString Hardware::Config::label(const TQString &name) const
 {
   const DataInfo *info = standardHardwareDataInfo(name);
-  if ( info==0 ) return TQString();
+  if ( !info ) return TQString();
   return i18n(info->label);
 }
 
 TQString Hardware::Config::comment(const TQString &name) const
 {
   const DataInfo *info = standardHardwareDataInfo(name);
-  if ( info==0 || info->comment==0 ) return TQString();
+  if ( !info || !info->comment ) return TQString();
   return i18n(info->comment);
 }
 
diff --git a/src/progs/base/prog_group.cpp b/src/progs/base/prog_group.cpp
index d1a2a2b..d6cf235 100644
--- a/src/progs/base/prog_group.cpp
+++ b/src/progs/base/prog_group.cpp
@@ -31,7 +31,7 @@ Programmer::Base *Programmer::Group::createProgrammer(bool targetSelfPowered, co
 {
   ::Programmer::Base *base = createBase(data);
   Hardware *hardware = createHardware(*base, hd);
-  DeviceSpecific *ds = (data ? createDeviceSpecific(*base) : 0);
+  DeviceSpecific *ds = (data ? createDeviceSpecific(*base) : nullptr);
   base->init(targetSelfPowered, hardware, ds);
   return base;
 }
@@ -49,7 +49,7 @@ Debugger::Base *Programmer::Group::createDebugger(::Programmer::Base &base) cons
 
 bool Programmer::Group::checkConnection(const HardwareDescription &hd) const
 {
-  ::Programmer::Base *base = createProgrammer(false, 0, hd);
+  ::Programmer::Base *base = createProgrammer(false, nullptr, hd);
   bool ok = base->simpleConnectHardware();
   delete base;
   return ok;
diff --git a/src/progs/base/prog_group.h b/src/progs/base/prog_group.h
index f72c783..f38eee0 100644
--- a/src/progs/base/prog_group.h
+++ b/src/progs/base/prog_group.h
@@ -41,7 +41,7 @@ class Group : public ::Group::Base
 {
 public:
   virtual TQString xmlName() const { return name(); }
-  virtual ::Hardware::Config *hardwareConfig() const { return 0; }
+  virtual ::Hardware::Config *hardwareConfig() const { return nullptr; }
   virtual Properties properties() const = 0;
   virtual TQString statusLabel(PortType type) const;
   virtual bool canReadVoltages() const = 0;
@@ -59,8 +59,8 @@ public:
 protected:
   virtual Hardware *createHardware(::Programmer::Base &base, const HardwareDescription &hd) const = 0;
   virtual DeviceSpecific *createDeviceSpecific(::Programmer::Base &base) const = 0;
-  virtual ::Debugger::Base *createDebuggerBase(::Programmer::Base &) const { return 0; }
-  virtual ::Debugger::Specific *createDebuggerSpecific(::Debugger::Base &) const { return 0; }
+  virtual ::Debugger::Base *createDebuggerBase(::Programmer::Base &) const { return nullptr; }
+  virtual ::Debugger::Specific *createDebuggerSpecific(::Debugger::Base &) const { return nullptr; }
   virtual ::Debugger::DeviceSpecific *createDebuggerDeviceSpecific(::Debugger::Base &base) const = 0;
 };
 
diff --git a/src/progs/bootloader/base/bootloader_prog.cpp b/src/progs/bootloader/base/bootloader_prog.cpp
index d1225c5..4366b03 100644
--- a/src/progs/bootloader/base/bootloader_prog.cpp
+++ b/src/progs/bootloader/base/bootloader_prog.cpp
@@ -18,7 +18,7 @@ Bootloader::ProgrammerBase::ProgrammerBase(const Programmer::Group &group, const
 //-----------------------------------------------------------------------------
 bool Bootloader::Group::checkConnection(const ::Programmer::HardwareDescription &hd) const
 {
-  ::Programmer::Base *base = createProgrammer(false, 0, hd);
+  ::Programmer::Base *base = createProgrammer(false, nullptr, hd);
   bool ok = static_cast<Hardware *>(base->hardware())->openPort();
   delete base;
   return ok;
diff --git a/src/progs/bootloader/gui/bootloader_ui.h b/src/progs/bootloader/gui/bootloader_ui.h
index 0d6737a..1437656 100644
--- a/src/progs/bootloader/gui/bootloader_ui.h
+++ b/src/progs/bootloader/gui/bootloader_ui.h
@@ -22,7 +22,7 @@ class GroupUI : public ::Programmer::GroupUI
 {
 public:
   virtual bool hasAdvancedDialog() const { return false; }
-  virtual ::Programmer::AdvancedDialog *createAdvancedDialog(::Programmer::Base &, TQWidget *) const { return 0; }
+  virtual ::Programmer::AdvancedDialog *createAdvancedDialog(::Programmer::Base &, TQWidget *) const { return nullptr; }
 };
 
 } // namespace
diff --git a/src/progs/direct/base/direct_16F.cpp b/src/progs/direct/base/direct_16F.cpp
index feeb185..f4b5d47 100644
--- a/src/progs/direct/base/direct_16F.cpp
+++ b/src/progs/direct/base/direct_16F.cpp
@@ -120,7 +120,7 @@ bool Direct::P16F7X::doEraseRange(Pic::MemoryRangeType type)
 {
   if ( type!=Pic::MemoryRangeType::Code ) return false;
   Device::Array array;
-  if ( !doRead(Pic::MemoryRangeType::Config, array, 0) ) return false;
+  if ( !doRead(Pic::MemoryRangeType::Config, array, nullptr) ) return false;
   pulseEngine("k9w400000", 0x3FFF); // chip erase (should only need 30ms according to prog sheet)
   return doWrite(Pic::MemoryRangeType::Config, array, true);
 }
diff --git a/src/progs/direct/base/direct_baseline.cpp b/src/progs/direct/base/direct_baseline.cpp
index 996eb12..73a0f5e 100644
--- a/src/progs/direct/base/direct_baseline.cpp
+++ b/src/progs/direct/base/direct_baseline.cpp
@@ -54,7 +54,7 @@ bool Direct::P10F2XX::doEraseRange(Pic::MemoryRangeType type)
 {
   Q_ASSERT( type==Pic::MemoryRangeType::Code );
   Device::Array array;
-  if ( !doRead(Pic::MemoryRangeType::Config, array, 0) ) return false;
+  if ( !doRead(Pic::MemoryRangeType::Config, array, nullptr) ) return false;
   gotoMemory(Pic::MemoryRangeType::Config);
   pulseEngine("k9,w10000"); // 10ms
   return doWrite(Pic::MemoryRangeType::Config, array, true);
diff --git a/src/progs/direct/base/direct_prog.cpp b/src/progs/direct/base/direct_prog.cpp
index 82c24e5..34e80ab 100644
--- a/src/progs/direct/base/direct_prog.cpp
+++ b/src/progs/direct/base/direct_prog.cpp
@@ -36,7 +36,7 @@ void Direct::DGroup::initSupported()
 
 ::Programmer::Base *Direct::DGroup::createBase(const Device::Data *data) const
 {
-  if ( data==0 || data->group().name()=="pic" ) return new PicBase(*this, static_cast<const Pic::Data *>(data));
+  if ( !data || data->group().name()=="pic" ) return new PicBase(*this, static_cast<const Pic::Data *>(data));
   return new Mem24Base(*this, static_cast<const Mem24::Data *>(data));
 }
 
@@ -45,7 +45,7 @@ void Direct::DGroup::initSupported()
   Config config;
   HardwareData *hdata = static_cast<HardwareData *>(config.hardwareData(hd.name));
   Q_ASSERT( hdata->portType==hd.port.type );
-  ::Programmer::Hardware *hardware = 0;
+  ::Programmer::Hardware *hardware = nullptr;
   if ( hd.port.type==PortType::Serial ) hardware = new SerialHardware(base, hd.port.device, *hdata);
   else hardware = new ParallelHardware(base, hd.port.device, *hdata);
   delete hdata;
diff --git a/src/progs/direct/base/direct_prog_config.cpp b/src/progs/direct/base/direct_prog_config.cpp
index 86794db..a5e686f 100644
--- a/src/progs/direct/base/direct_prog_config.cpp
+++ b/src/progs/direct/base/direct_prog_config.cpp
@@ -23,30 +23,30 @@ struct ConstStandardHardwareData
 };
 
 const ConstStandardHardwareData STANDARD_HARDWARE_DATA[] = {
-  { { "Tait classic",           I18N_NOOP("Tait classic"),           0 },
+  { { "Tait classic",           I18N_NOOP("Tait classic"),           nullptr },
     { PortType::Parallel, { {  -5, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
-  { { "Tait 7405/7406",         I18N_NOOP("Tait 7405/7406"),         0 },
+  { { "Tait 7405/7406",         I18N_NOOP("Tait 7405/7406"),         nullptr },
     { PortType::Parallel, { {   5,  4, -3, -2,-10, 25 },  0, Direct::Normal } } },
-  { { "P16PRO40 classic",       I18N_NOOP("P16PRO40 classic"),       0 },
+  { { "P16PRO40 classic",       I18N_NOOP("P16PRO40 classic"),       nullptr },
     { PortType::Parallel, { {   5,  4, -3, -2,-10, 25 },  0, Direct::Normal } } },
-  { { "P16PRO40 7407",          I18N_NOOP("P16PRO40 7407"),          0 },
+  { { "P16PRO40 7407",          I18N_NOOP("P16PRO40 7407"),          nullptr },
     { PortType::Parallel, { {  -5, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
-  { { "P16PRO40-VPP40 classic", I18N_NOOP("P16PRO40-VPP40 classic"), 0 },
+  { { "P16PRO40-VPP40 classic", I18N_NOOP("P16PRO40-VPP40 classic"), nullptr },
     { PortType::Parallel, { {   6,  4, -3, -2,-10, 25 },  0, Direct::Normal } } },
-  { { "P16PRO40-VPP40 7407",    I18N_NOOP("P16PRO40-VPP40 7407"),    0 },
+  { { "P16PRO40-VPP40 7407",    I18N_NOOP("P16PRO40-VPP40 7407"),    nullptr },
     { PortType::Parallel, { {  -6, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
   { { "EPIC+",                  I18N_NOOP("EPIC+"),
     I18N_NOOP("You must disconnect 7407 pin 2") },
     { PortType::Parallel, { {  -5, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
-  { { "JDM classic",            I18N_NOOP("JDM classic"),            0 },
+  { { "JDM classic",            I18N_NOOP("JDM classic"),            nullptr },
     { PortType::Serial,   { {   3,  5,  7,  4,  8,  5 },  0, Direct::Normal } } },
-  { { "JDM classic (delay 10)", I18N_NOOP("JDM classic (delay 10)"), 0 },
+  { { "JDM classic (delay 10)", I18N_NOOP("JDM classic (delay 10)"), nullptr },
     { PortType::Serial,   { {   3,  5,  7,  4,  8,  5 }, 10, Direct::Normal } } },
-  { { "JDM classic (delay 20)", I18N_NOOP("JDM classic (delay 20)"), 0 },
+  { { "JDM classic (delay 20)", I18N_NOOP("JDM classic (delay 20)"), nullptr },
     { PortType::Serial,   { {   3,  5,  7,  4,  8,  5 }, 20, Direct::Normal } } },
-  { { "PIC Elmer",              I18N_NOOP("PIC Elmer"),              0 },
+  { { "PIC Elmer",              I18N_NOOP("PIC Elmer"),              nullptr },
     { PortType::Serial,   { {  -3,  5, -7, -4, -8,  5 },  0, Direct::Normal } } },
-  { { "Velleman K8048",         I18N_NOOP("Velleman K8048"),         0 },
+  { { "Velleman K8048",         I18N_NOOP("Velleman K8048"),         nullptr },
     { PortType::Serial,   { {  -3,  5, -7, -4, -8,  5 },  0, Direct::Normal } } },
   { { "HOODMICRO",              I18N_NOOP("HOODMICRO"),
     I18N_NOOP("Webpage: <a href=\"htpp://k9spud.com/hoodmicro\">htpp://k9spud.com/hoodmicro</a>") },
@@ -56,34 +56,34 @@ const ConstStandardHardwareData STANDARD_HARDWARE_DATA[] = {
   //Visit http://www.pic-tools.com
   //I have tested only the "Asix Piccolo" version...
   //I think the lines is the same of "Asix Piccolo Grande"...
-  { { "Asix Piccolo",           I18N_NOOP("Asix Piccolo"),           0 },
+  { { "Asix Piccolo",           I18N_NOOP("Asix Piccolo"),           nullptr },
     { PortType::Parallel, { {  -6, -7, -5, -3,-10, -2 },  0, Direct::Normal } } },
-  { { "Asix Piccolo Grande",    I18N_NOOP("Asix Piccolo Grande"),    0 },
+  { { "Asix Piccolo Grande",    I18N_NOOP("Asix Piccolo Grande"),    nullptr },
     { PortType::Parallel, { {  -6, -7, -5, -3,-10, -2 },  0, Direct::Normal } } },
 
-  { { "Propic2 Vpp-1",          I18N_NOOP("Propic2 Vpp-1"),          0 },
+  { { "Propic2 Vpp-1",          I18N_NOOP("Propic2 Vpp-1"),          nullptr },
     { PortType::Parallel, { {  -5, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
-  { { "Propic2 Vpp-2",          I18N_NOOP("Propic2 Vpp-2"),          0 },
+  { { "Propic2 Vpp-2",          I18N_NOOP("Propic2 Vpp-2"),          nullptr },
     { PortType::Parallel, { {  -6, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
-  { { "Propic2 Vpp-3",          I18N_NOOP("Propic2 Vpp-3"),          0 },
+  { { "Propic2 Vpp-3",          I18N_NOOP("Propic2 Vpp-3"),          nullptr },
     { PortType::Parallel, { {  -7, -4,  3,  2, 10, 25 },  0, Direct::Normal } } },
-  { { "Myke's EL Cheapo",       I18N_NOOP("Myke's EL Cheapo"),       0 },
+  { { "Myke's EL Cheapo",       I18N_NOOP("Myke's EL Cheapo"),       nullptr },
     { PortType::Parallel, { {  16, 25, -1,-17, 13, 25 },  0, Direct::Normal } } },
   { { "EL Cheapo classic",      I18N_NOOP("EL Cheapo classic"),      I18N_NOOP("Not tested.") },
     { PortType::Parallel, { {  16, 25,  1, 17,-13, 25 },  0, Direct::Normal } } },
-  { { "Monty-Robot programmer", I18N_NOOP("Monty-Robot programmer"), 0 },
+  { { "Monty-Robot programmer", I18N_NOOP("Monty-Robot programmer"), nullptr },
     { PortType::Parallel, { {  -5,  4,  2,  3, 10, 25 },  0, Direct::Normal } } },
   { { "EPE Toolkit mk3",        I18N_NOOP("EPE Toolkit mk3"),
     I18N_NOOP("This programmer pulses MCLR from 5V to 0V and then 12V to enter programming mode. It uses a multiplexer to switch between 5V and 12V (Vdd is here the multiplexer pin).<p>Webpage: <a href=\"http://www.epemag.wimborne.co.uk/1001.htm\">http://www.epemag.wimborne.co.uk/1001.htm</a>") },
     { PortType::Parallel, { {   5,  6,  3,  2, 10, 25 },  0, Direct::EPEToolkitMK3 } } },
 
-  { { "ETT High Vpp",        I18N_NOOP("ETT High Vpp"),               0 },
+  { { "ETT High Vpp",        I18N_NOOP("ETT High Vpp"),               nullptr },
     { PortType::Parallel, { {  -5, -4,  3,   2, 10, 25 },  0, Direct::Normal } } },
   { { "ETT Low Vpp",        I18N_NOOP("ETT Low Vpp"),
     I18N_NOOP("Compatible with ET-CAB10PIN V2 programmer shipped by Futurlec, with their PIC16F877 controler board.") },
     { PortType::Parallel, { {   3,  5,  2,  -1, 10, 25 },  0, Direct::Normal } } },
 
-  { { 0, 0, 0 },
+  { { nullptr, nullptr, nullptr },
     { PortType::Serial,   { {   0,  0,  0,  0,  0,  0 },  0, Direct::Normal } } }
 };
 
@@ -127,7 +127,7 @@ const Hardware::DataInfo *Direct::Config::standardHardwareDataInfo(const TQStrin
     const ConstStandardHardwareData &csdata = STANDARD_HARDWARE_DATA[i];
     if ( csdata.info.name==name) return &csdata.info;
   }
-  return 0;
+  return nullptr;
 }
 
 Hardware::Data *Direct::Config::standardHardwareData(const TQString &name) const
@@ -141,5 +141,5 @@ Hardware::Data *Direct::Config::standardHardwareData(const TQString &name) const
     data->data = csdata.data.data;
     return data;
   }
-  return 0;
+  return nullptr;
 }
diff --git a/src/progs/direct/gui/direct_config_widget.cpp b/src/progs/direct/gui/direct_config_widget.cpp
index 9d8c2cc..73c8c90 100644
--- a/src/progs/direct/gui/direct_config_widget.cpp
+++ b/src/progs/direct/gui/direct_config_widget.cpp
@@ -59,8 +59,8 @@ Direct::HConfigWidget::HConfigWidget(::Programmer::Base &base, TQWidget *parent,
       grid->addWidget(_testLabels[i], i, 4);
       updateTestStatus(PinType(i), false);
     } else {
-      _testcbs[i] = 0;
-      _testLabels[i] = 0;
+      _testcbs[i] = nullptr;
+      _testLabels[i] = nullptr;
     }
   }
 
@@ -68,7 +68,7 @@ Direct::HConfigWidget::HConfigWidget(::Programmer::Base &base, TQWidget *parent,
   TQLabel *label = new TQLabel(i18n("Clock delay"), this);
   TQToolTip::add(label, i18n(DELAY_LABEL));
   hbox->addWidget(label);
-  _delay = new KIntNumInput(0,TQt::Horizontal, this);
+  _delay = new KIntNumInput(nullptr,TQt::Horizontal, this);
   _delay->setRange(0, 50, 5);
   _delay->setEnabled(edit);
   TQToolTip::add(_delay, i18n(DELAY_LABEL));
@@ -81,7 +81,7 @@ Direct::HConfigWidget::HConfigWidget(::Programmer::Base &base, TQWidget *parent,
     TQToolTip::add(_sendBitsButton, i18n("Continuously send 0xA55A on \"Data out\" pin."));
     _editVBox->addWidget(_sendBitsButton);
     _editVBox->addStretch(1);
-  } else _sendBitsButton = 0;
+  } else _sendBitsButton = nullptr;
 
   // timer for sending bits
   _timerSendBits = new TQTimer(this);
@@ -240,7 +240,7 @@ Hardware::Data *Direct::HConfigWidget::data() const
 
 //-----------------------------------------------------------------------------
 Direct::ConfigWidget::ConfigWidget(const ::Programmer::Group &group, TQWidget *parent)
-  : ::Hardware::ConfigWidget(new ::Direct::PicBase(group, 0), new Config, parent)
+  : ::Hardware::ConfigWidget(new ::Direct::PicBase(group, nullptr), new Config, parent)
 {}
 
 Hardware::HConfigWidget *Direct::ConfigWidget::createHardwareConfigWidget(TQWidget *parent, bool edit) const
diff --git a/src/progs/direct/gui/direct_config_widget.h b/src/progs/direct/gui/direct_config_widget.h
index 3060a89..2a22341 100644
--- a/src/progs/direct/gui/direct_config_widget.h
+++ b/src/progs/direct/gui/direct_config_widget.h
@@ -24,7 +24,7 @@ class GroupUI : public ::Programmer::GroupUI
 public:
   virtual ::Programmer::ConfigWidget *createConfigWidget(TQWidget *parent) const;
   virtual bool hasAdvancedDialog() const { return false; }
-  virtual ::Programmer::AdvancedDialog *createAdvancedDialog(::Programmer::Base &, TQWidget *) const { return 0; }
+  virtual ::Programmer::AdvancedDialog *createAdvancedDialog(::Programmer::Base &, TQWidget *) const { return nullptr; }
 };
 
 //-----------------------------------------------------------------------------
diff --git a/src/progs/direct/xml/xml_direct_parser.cpp b/src/progs/direct/xml/xml_direct_parser.cpp
index 728845f..a15d6d8 100644
--- a/src/progs/direct/xml/xml_direct_parser.cpp
+++ b/src/progs/direct/xml/xml_direct_parser.cpp
@@ -27,7 +27,7 @@ void Direct::XmlToData::parseData(TQDomElement element, Data &)
 {
   TQString s = element.attribute("pwidth");
   const Device::Data *d = Device::lister().data(currentDevice());
-  if ( d==0 ) tqFatal("Invalid device name");
+  if ( !d ) tqFatal("Invalid device name");
 }
 
 void Direct::XmlToData::includes(TQTextStream &s) const
diff --git a/src/progs/gpsim/base/gpsim.cpp b/src/progs/gpsim/base/gpsim.cpp
index 8d6cbda..14f6ac5 100644
--- a/src/progs/gpsim/base/gpsim.cpp
+++ b/src/progs/gpsim/base/gpsim.cpp
@@ -14,7 +14,7 @@
 
 //-----------------------------------------------------------------------------
 GPSim::Process::Process(Log::Base *base)
-  : ::Process::LineOutput(0, "gpsim_process"), Log::Base(base), _ready(false)
+  : ::Process::LineOutput(nullptr, "gpsim_process"), Log::Base(base), _ready(false)
 {
   connect(this, TQ_SIGNAL(stdoutDataReceived()), TQ_SLOT(stdoutDataReceivedSlot()));
 }
@@ -133,7 +133,7 @@ bool GPSim::Hardware::internalConnectHardware()
 void GPSim::Hardware::internalDisconnectHardware()
 {
   delete _manager;
-  _manager = 0;
+  _manager = nullptr;
 }
 
 bool GPSim::Hardware::execute(const TQString &command, bool synchronous, TQStringList *output)
diff --git a/src/progs/gpsim/base/gpsim.h b/src/progs/gpsim/base/gpsim.h
index 4a618c8..2ae2c56 100644
--- a/src/progs/gpsim/base/gpsim.h
+++ b/src/progs/gpsim/base/gpsim.h
@@ -56,11 +56,11 @@ private:
 class Hardware : public Programmer::Hardware
 {
 public:
-  Hardware(::Programmer::Base &base) : Programmer::Hardware(base, 0, TQString()), _manager(0) {}
+  Hardware(::Programmer::Base &base) : Programmer::Hardware(base, nullptr, TQString()), _manager(nullptr) {}
   virtual ~Hardware();
   bool isReady() const { return _manager->isReady(); }
-  bool execute(const TQString &command, bool synchronous, TQStringList *output = 0);
-  bool signal(uint n, bool synchronous, TQStringList *output = 0);
+  bool execute(const TQString &command, bool synchronous, TQStringList *output = nullptr);
+  bool signal(uint n, bool synchronous, TQStringList *output = nullptr);
   const VersionData &version() const { return _version; }
 
 private:
diff --git a/src/progs/gpsim/base/gpsim_debug.cpp b/src/progs/gpsim/base/gpsim_debug.cpp
index 1ff122d..9349bd3 100644
--- a/src/progs/gpsim/base/gpsim_debug.cpp
+++ b/src/progs/gpsim/base/gpsim_debug.cpp
@@ -107,7 +107,7 @@ bool GPSim::Debugger::readWreg(BitValue &value)
     log(Log::LineType::Error, i18n("Error reading register \"%1\"").arg(w));
     return false;
   }
-  value = fromHex(s, 0);
+  value = fromHex(s, nullptr);
   return true;
 }
 
@@ -129,7 +129,7 @@ bool GPSim::Debugger::getRegister(const TQString &name, BitValue &value)
     log(Log::LineType::Error, i18n("Error reading register \"%1\"").arg(name));
     return false;
   }
-  value = fromHex(r.cap(1), 0);
+  value = fromHex(r.cap(1), nullptr);
   return true;
 }
 
@@ -253,7 +253,7 @@ TQString GPSim::Group::statusLabel() const
 
 void GPSim::Group::initSupported()
 {
-  ProcessManager manager(0);
+  ProcessManager manager(nullptr);
   if ( !manager.start() ) return;
   VersionData version;
   if ( !manager.getVersion(version) ) return;
diff --git a/src/progs/gpsim/base/gpsim_debug.h b/src/progs/gpsim/base/gpsim_debug.h
index ef437ab..f9a7615 100644
--- a/src/progs/gpsim/base/gpsim_debug.h
+++ b/src/progs/gpsim/base/gpsim_debug.h
@@ -88,7 +88,7 @@ protected:
   virtual ::Programmer::Hardware *createHardware(::Programmer::Base &base, const ::Programmer::HardwareDescription &hd) const;
   virtual ::Programmer::DeviceSpecific *createDeviceSpecific(::Programmer::Base &base) const;
   virtual ::Debugger::Base *createDebuggerBase(::Programmer::Base &base) const { return new Debugger(static_cast<Programmer &>(base)); }
-  virtual ::Debugger::Specific *createDebuggerSpecific(::Debugger::Base &) const { return 0; }
+  virtual ::Debugger::Specific *createDebuggerSpecific(::Debugger::Base &) const { return nullptr; }
 };
 
 } // namespace
diff --git a/src/progs/gpsim/gui/gpsim_group_ui.cpp b/src/progs/gpsim/gui/gpsim_group_ui.cpp
index f2554e5..e97b477 100644
--- a/src/progs/gpsim/gui/gpsim_group_ui.cpp
+++ b/src/progs/gpsim/gui/gpsim_group_ui.cpp
@@ -29,7 +29,7 @@ GPSim::ConfigWidget::ConfigWidget(const ::Programmer::Group &group, TQWidget *pa
 void GPSim::ConfigWidget::updateStatus()
 {
   VersionData version;
-  ProcessManager manager(0);
+  ProcessManager manager(nullptr);
   if ( !manager.start() ) _status->setText(i18n("Could not start \"gpsim\""));
   else if ( !manager.getVersion(version) || !version.isValid() ) _status->setText(i18n("Could not detect \"gpsim\" version"));
   else _status->setText(i18n("Found version \"%1\"").arg(version.pretty()));
diff --git a/src/progs/gpsim/gui/gpsim_group_ui.h b/src/progs/gpsim/gui/gpsim_group_ui.h
index 6d02a84..eb1963f 100644
--- a/src/progs/gpsim/gui/gpsim_group_ui.h
+++ b/src/progs/gpsim/gui/gpsim_group_ui.h
@@ -35,7 +35,7 @@ class GroupUI : public ::Programmer::GroupUI
 public:
   virtual ::Programmer::ConfigWidget *createConfigWidget(TQWidget *parent) const;
   virtual bool hasAdvancedDialog() const { return false; }
-  virtual ::Programmer::AdvancedDialog *createAdvancedDialog(::Programmer::Base &, TQWidget *) const { return 0; }
+  virtual ::Programmer::AdvancedDialog *createAdvancedDialog(::Programmer::Base &, TQWidget *) const { return nullptr; }
 };
 
 } // namespace
diff --git a/src/progs/gui/hardware_config_widget.cpp b/src/progs/gui/hardware_config_widget.cpp
index 4bda79f..4e4135f 100644
--- a/src/progs/gui/hardware_config_widget.cpp
+++ b/src/progs/gui/hardware_config_widget.cpp
@@ -20,7 +20,7 @@
 Hardware::HConfigWidget::HConfigWidget(::Programmer::Base &base, TQWidget *parent, bool edit)
   : TQFrame(parent, "hardware_config_widget"), _edit(edit), _connected(false), _base(base)
 {
-  _hardware = 0;
+  _hardware = nullptr;
 
   TQHBoxLayout *top = new TQHBoxLayout(this, 0, 10);
   _mainVBox = new TQVBoxLayout(top);
@@ -28,7 +28,7 @@ Hardware::HConfigWidget::HConfigWidget(::Programmer::Base &base, TQWidget *paren
   if (edit) {
     _editVBox = new TQVBoxLayout(top);
     top->setStretchFactor(_editVBox, 1);
-  } else _editVBox = 0;
+  } else _editVBox = nullptr;
 }
 
 //-----------------------------------------------------------------------------
@@ -95,7 +95,7 @@ void Hardware::EditDialog::slotCancel()
 
 //-----------------------------------------------------------------------------
 Hardware::ConfigWidget::ConfigWidget(::Programmer::Base *base, Config *config, TQWidget *parent)
-  : ::Programmer::ConfigWidget(base->group(), parent), _base(base), _config(config), _hc(0)
+  : ::Programmer::ConfigWidget(base->group(), parent), _base(base), _config(config), _hc(nullptr)
 {
 // programmer combo
   uint row = numRows();
@@ -141,7 +141,7 @@ void Hardware::ConfigWidget::configChanged(int i)
 bool Hardware::ConfigWidget::set(const Port::Description &pd, uint i)
 {
   Data *hd = _config->hardwareData(_names[i]);
-  if ( _hc==0 ) {
+  if ( !_hc ) {
     _hc = createHardwareConfigWidget(this, false);
     _hc->show();
     _hbox->addWidget(_hc);
diff --git a/src/progs/gui/port_selector.cpp b/src/progs/gui/port_selector.cpp
index 5380759..cc11762 100644
--- a/src/progs/gui/port_selector.cpp
+++ b/src/progs/gui/port_selector.cpp
@@ -22,7 +22,7 @@ const char * const PortSelector::LABELS[PortType::Nb_Types] = {
 };
 
 PortSelector::PortSelector(TQWidget *parent)
-  : TQFrame(parent, "port_selector"), _group(0), _main(0)
+  : TQFrame(parent, "port_selector"), _group(nullptr), _main(nullptr)
 {
   _top = new TQGridLayout(this, 1, 1, 0, 10);
   _top->setRowStretch(1, 1);
@@ -40,8 +40,8 @@ void PortSelector::setGroup(const Programmer::Group &group)
   _grid = new TQGridLayout(_main, 1, 1, 0, 10);
   _grid->setColStretch(3, 1);
   FOR_EACH(PortType, type) {
-    _combos[type.type()] = 0;
-    _status[type.type()] = 0;
+    _combos[type.type()] = nullptr;
+    _status[type.type()] = nullptr;
     if ( !group.isPortSupported(type) ) continue;
     Port::Description pd(type, Programmer::GroupConfig::portDevice(group, type));
     addPortType(pd);
@@ -105,7 +105,7 @@ void PortSelector::setStatus(PortType ptype, const TQString &message)
 {
   _pending = false;
   FOR_EACH(PortType, type) {
-    if ( _status[type.type()]==0 ) continue;
+    if ( !_status[type.type()] ) continue;
     if ( type!=ptype ) _status[type.type()]->hide();
     else {
       _status[type.type()]->show();
@@ -116,7 +116,7 @@ void PortSelector::setStatus(PortType ptype, const TQString &message)
 
 TQString PortSelector::device(PortType type) const
 {
-  if ( type==PortType::Nb_Types || _combos[type.type()]==0 || !type.data().withDevice ) return TQString();
+  if ( type==PortType::Nb_Types || !_combos[type.type()] || !type.data().withDevice ) return TQString();
   return _combos[type.type()]->currentText();
 }
 
diff --git a/src/progs/gui/prog_config_widget.cpp b/src/progs/gui/prog_config_widget.cpp
index cd2253a..aacf28a 100644
--- a/src/progs/gui/prog_config_widget.cpp
+++ b/src/progs/gui/prog_config_widget.cpp
@@ -27,7 +27,7 @@ Programmer::ConfigWidget::ConfigWidget(const Group &group, TQWidget *parent)
     _firmwareDir = new KURLRequester(this);
     _firmwareDir->setMode(KFile::Directory | KFile::ExistingOnly);
     addWidget(_firmwareDir, row,row, 1,1);
-  } else _firmwareDir = 0;
+  } else _firmwareDir = nullptr;
 }
 
 void Programmer::ConfigWidget::loadConfig()
diff --git a/src/progs/gui/prog_group_ui.cpp b/src/progs/gui/prog_group_ui.cpp
index 3e1b025..04aa75e 100644
--- a/src/progs/gui/prog_group_ui.cpp
+++ b/src/progs/gui/prog_group_ui.cpp
@@ -25,7 +25,7 @@
 
 //----------------------------------------------------------------------------
 Programmer::StandaloneMemoryCalibrationEditor::StandaloneMemoryCalibrationEditor(const Pic::Memory &memory, TQWidget *parent)
-  : Pic::MemoryCalibrationEditor(0, const_cast<Pic::Memory &>(memory), parent)
+  : Pic::MemoryCalibrationEditor(nullptr, const_cast<Pic::Memory &>(memory), parent)
 {}
 
 void Programmer::StandaloneMemoryCalibrationEditor::init(bool first)
@@ -33,7 +33,7 @@ void Programmer::StandaloneMemoryCalibrationEditor::init(bool first)
   Pic::MemoryCalibrationEditor::init(first);
   TDEAction *action = new TDEAction(i18n("Read"), "reload", 0, this, TQ_SIGNAL(updateCalibration()), Main::toplevel().actionCollection());
   addAction(action);
-  action = new TDEAction(i18n("Regenerating..."), 0, 0, this, TQ_SIGNAL(regenerate()), Main::toplevel().actionCollection());
+  action = new TDEAction(i18n("Regenerating..."), nullptr, 0, this, TQ_SIGNAL(regenerate()), Main::toplevel().actionCollection());
   addAction(action);
 }
 
@@ -48,7 +48,7 @@ Programmer::ButtonContainer::ButtonContainer(const TQString &title,
 //----------------------------------------------------------------------------
 Programmer::AdvancedDialog::AdvancedDialog(Base &base, TQWidget *parent, const char *name)
   : Dialog(IconList, i18n("Advanced Dialog"), Close, Close, parent, name, true, false),
-    _base(base), _calEditor(0)
+    _base(base), _calEditor(nullptr)
 {
   // programmer
   TDEIconLoader loader;
@@ -71,21 +71,21 @@ Programmer::AdvancedDialog::AdvancedDialog(Base &base, TQWidget *parent, const c
     _firmwareContainer->addWidget(_firmwareLabel, 1,1, 1,1);
     row++;
   } else {
-    _firmwareContainer = 0;
-    _firmwareLabel = 0;
+    _firmwareContainer = nullptr;
+    _firmwareLabel = nullptr;
   }
 
   if ( _base.group().canReadVoltages() ) {
     _voltagesContainer = new ButtonContainer(i18n("Voltages"), this, TQ_SLOT(updateVoltages()), _programmerContainer);
     _programmerContainer->addWidget(_voltagesContainer, row,row, 0,1);
     row++;
-  } else _voltagesContainer = 0;
+  } else _voltagesContainer = nullptr;
 
   if ( properties & HasSelfTest ) {
     _selfTestContainer = new ButtonContainer(i18n("Self-test"), this, TQ_SLOT(updateSelfTest()), _programmerContainer);
     _programmerContainer->addWidget(_selfTestContainer, row,row, 0,1);
     row++;
-  } else _selfTestContainer = 0;
+  } else _selfTestContainer = nullptr;
 
   // calibration
   pixmap = loader.loadIcon("configure", TDEIcon::Toolbar, TDEIcon::SizeMedium);
@@ -95,7 +95,7 @@ Programmer::AdvancedDialog::AdvancedDialog(Base &base, TQWidget *parent, const c
   vbox->addWidget(_calibrationContainer);
   const Device::Data *data = Main::deviceData();
   TQString s;
-  if ( data==0 ) s = i18n("No device selected.");
+  if ( !data ) s = i18n("No device selected.");
   else if ( data->group().name()!="pic" || !static_cast<const Pic::Data *>(data)->isReadable(Pic::MemoryRangeType::Cal) )
     s = i18n("This device has no calibration information.");
   else if ( !_base.group().isSupported(data->name()) ) s = i18n("The selected device is not supported by this programmer.");
diff --git a/src/progs/icd1/base/icd1.h b/src/progs/icd1/base/icd1.h
index 4026c8e..940aa68 100644
--- a/src/progs/icd1/base/icd1.h
+++ b/src/progs/icd1/base/icd1.h
@@ -48,7 +48,7 @@ public:
 private:
   virtual bool internalConnect(const TQString &mode);
   virtual TQString receivedData() const { return _rx; }
-  bool sendCommand(uint cmd, BitValue *res = 0, uint timeout = Port::Serial::DEFAULT_TIMEOUT);
+  bool sendCommand(uint cmd, BitValue *res = nullptr, uint timeout = Port::Serial::DEFAULT_TIMEOUT);
   bool readBlockCommand(uint nbBytes);
   bool gotoMemory(Pic::MemoryRangeType type, uint offset);
 };
diff --git a/src/progs/icd2/base/icd.cpp b/src/progs/icd2/base/icd.cpp
index c926ca4..1623c1a 100644
--- a/src/progs/icd2/base/icd.cpp
+++ b/src/progs/icd2/base/icd.cpp
@@ -17,7 +17,7 @@
 bool Icd::DeviceSpecific::doRead(Pic::MemoryRangeType type, Device::Array &data, const ::Programmer::VerifyData *vdata)
 {
   data.resize(device().nbWords(type));
-  if ( vdata==0 ) return hardware().readMemory(type, 0, data, vdata);
+  if ( !vdata ) return hardware().readMemory(type, 0, data, vdata);
   bool only = ( vdata->actions & ::Programmer::OnlyProgrammedVerify );
   const Device::Array tmp = static_cast<const Pic::Memory &>(vdata->memory).arrayForWriting(type);
   uint wordOffset;
@@ -56,7 +56,7 @@ bool Icd::DeviceSpecific::doWrite(Pic::MemoryRangeType type, const Device::Array
     Q_ASSERT( delta>=0 );
     Device::Array rdata(delta);
     uint wordOffset = device().nbWords(Pic::MemoryRangeType::Code) - delta;
-    if ( !hardware().readMemory(Pic::MemoryRangeType::Code, wordOffset, rdata, 0) ) return false;
+    if ( !hardware().readMemory(Pic::MemoryRangeType::Code, wordOffset, rdata, nullptr) ) return false;
     Device::Array pdata(nb);
     for (uint i=0; i<uint(delta); i++) pdata[i] = rdata[i];
     for (uint i=delta; i<nb; i++) {
@@ -72,7 +72,7 @@ bool Icd::DeviceSpecific::doWrite(Pic::MemoryRangeType type, const Device::Array
     uint end = wordOffset + pdata.size();
     if ( end>=device().nbWords(Pic::MemoryRangeType::Code) ) {
       Device::Array rdata(device().nbWords(Pic::MemoryRangeType::Config));
-      if ( !hardware().readMemory(Pic::MemoryRangeType::Code, device().nbWords(Pic::MemoryRangeType::Code), rdata, 0) ) return false;
+      if ( !hardware().readMemory(Pic::MemoryRangeType::Code, device().nbWords(Pic::MemoryRangeType::Code), rdata, nullptr) ) return false;
       uint n = rdata.count() / 2;
       for (uint i=0; i<n; i++) {
         pdata[pdata.size() - n + i] = rdata[2*i];
diff --git a/src/progs/icd2/base/icd2.cpp b/src/progs/icd2/base/icd2.cpp
index 5ae7415..47d8ef5 100644
--- a/src/progs/icd2/base/icd2.cpp
+++ b/src/progs/icd2/base/icd2.cpp
@@ -60,7 +60,7 @@ Icd2::TestData::TestData()
 Icd2::TestData::TestData(const TQString &rx)
 {
   for (uint k=0; k<Nb_VoltageTypes; k++)
-    _voltages[k] = fromHex(rx.mid(5 + 2*k, 2), 0);
+    _voltages[k] = fromHex(rx.mid(5 + 2*k, 2), nullptr);
 }
 
 bool Icd2::TestData::pass() const
@@ -105,7 +105,7 @@ const char *Icd2::Hardware::readCommand(Pic::MemoryRangeType type) const
     case Pic::MemoryRangeType::Nb_Types:    break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 const char *Icd2::Hardware::writeCommand(Pic::MemoryRangeType type) const
@@ -128,7 +128,7 @@ const char *Icd2::Hardware::writeCommand(Pic::MemoryRangeType type) const
     case Pic::MemoryRangeType::Nb_Types:    break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 bool Icd2::Hardware::uploadFirmware(const Pic::Memory &memory)
@@ -208,7 +208,7 @@ bool Icd2::Hardware::receiveResponse(const TQString &command, uint responseSize,
     if ( !static_cast<USBPort *>(_port)->poll(size, _rx) ) return false;
   } else if ( !_port->receive(size, _rx, 180000) ) return false; // is 3 minutes enough ?? (we should really have an abort button here...)
   log(Log::DebugLevel::Extra, TQString("received answer: '%1'").arg(_rx));
-  if ( size!=fromHex(_rx.mid(1, 2), 0) ) {
+  if ( size!=fromHex(_rx.mid(1, 2), nullptr) ) {
     log(Log::LineType::Error, i18n("Received length too short."));
     return false;
   }
@@ -228,7 +228,7 @@ bool Icd2::Hardware::receiveResponse(const TQString &command, uint responseSize,
   // verify the checksum
   uchar chk = 0;
   for (uint i=1; i<size-3; i++) chk += _rx[i].latin1();
-  if ( chk!=fromHex(_rx.mid(size-3, 2), 0) ) {
+  if ( chk!=fromHex(_rx.mid(size-3, 2), nullptr) ) {
     log(Log::LineType::Error, i18n("Bad checksum for received string"));
     return false;
   }
@@ -253,7 +253,7 @@ bool Icd2::Hardware::getFirmwareVersion(VersionData &version)
 uint Icd2::Hardware::getFirmwareId()
 {
   if ( !command("07", 2) ) return 0;
-  return fromHex(_rx.mid(5, 2), 0);
+  return fromHex(_rx.mid(5, 2), nullptr);
 }
 
 bool Icd2::Hardware::getDebugExecVersion(VersionData &version)
@@ -271,7 +271,7 @@ bool Icd2::Hardware::setTargetPowerOn(bool on)
 bool Icd2::Hardware::readVoltage(Pic::VoltageType type, double &value)
 {
   if ( !command(VOLTAGE_TYPE_DATA[type].command, 2) ) return false;
-  value = VOLTAGE_TYPE_DATA[type].factor * fromHex(_rx.mid(5, 2), 0);
+  value = VOLTAGE_TYPE_DATA[type].factor * fromHex(_rx.mid(5, 2), nullptr);
   return true;
 }
 
@@ -287,7 +287,7 @@ bool Icd2::Hardware::readVoltages(VoltagesData &voltages)
 bool Icd2::Hardware::getTargetMode(Pic::TargetMode &tmode)
 {
   if ( !command("2C", 2) ) return false;
-  uchar mode = fromHex(_rx.mid(5, 2), 0);
+  uchar mode = fromHex(_rx.mid(5, 2), nullptr);
   for (uint i=0; i<Pic::Nb_TargetModes; i++) {
     if ( mode!=TARGET_MODE_VALUES[i] ) continue;
     tmode = Pic::TargetMode(i);
@@ -341,13 +341,13 @@ bool Icd2::Hardware::readBlock(uint nbBytesWord, uint nbWords, Device::Array &da
     data[i] = 0;
     for (int k=nbBytesWord-1; k>=0; k--) {
       data[i] = data[i] << 8;
-      data[i] |= fromHex(ts.mid(2*k, 2), 0);
+      data[i] |= fromHex(ts.mid(2*k, 2), nullptr);
       chk += ts[2*k].latin1() + ts[2*k+1].latin1();
     }
   }
 
   TQString cs = s.mid(s.length()-3, 2);
-  if ( chk!=fromHex(cs, 0) ) {
+  if ( chk!=fromHex(cs, nullptr) ) {
     log(Log::LineType::Error, i18n("Bad checksum for read block: %1 (%2 expected).").arg(cs).arg(toHex(chk, 2)));
     return false;
   }
@@ -358,7 +358,7 @@ bool Icd2::Hardware::readMemory(Pic::MemoryRangeType type, uint wordOffset,
                                 Device::Array &data, const ::Programmer::VerifyData *vdata)
 {
   const char *r = readCommand(type);
-  if ( r==0 ) return false;
+  if ( !r ) return false;
   uint nbBytesWord = device().nbBytesWord(type);
   uint div = 2;
   if ( type==Pic::MemoryRangeType::Eeprom || nbBytesWord>=2 ) div = 1;
@@ -430,7 +430,7 @@ bool Icd2::Hardware::writeMemory(Pic::MemoryRangeType type, uint wordOffset, con
 {
   //tqDebug("write memory: offset:%s nbWords:%s (size: %s)", toHex(wordOffset, 4).data(), toHex(nbWords, 4).data(), toHex(data.size(), 4).data());
   const char *w = writeCommand(type);
-  if ( w==0 ) return true;
+  if ( !w ) return true;
   uint nbBytesWord = device().nbBytesWord(type);
   uint div = 2;
   if ( type==Pic::MemoryRangeType::Eeprom || nbBytesWord>=2 ) div = 1;
@@ -513,5 +513,5 @@ bool Icd2::Hardware::readRegister(Address address, BitValue &value, uint nbBytes
 BitValue Icd2::Hardware::getProgramCounter()
 {
   if ( !command("3D", 8) ) return 0;
-  return fromHex(_rx.mid(5, 8), 0);
+  return fromHex(_rx.mid(5, 8), nullptr);
 }
diff --git a/src/progs/icd2/base/icd2_debug.cpp b/src/progs/icd2/base/icd2_debug.cpp
index 543425b..2d43925 100644
--- a/src/progs/icd2/base/icd2_debug.cpp
+++ b/src/progs/icd2/base/icd2_debug.cpp
@@ -133,7 +133,7 @@ void Icd2::DebugProgrammer::clear()
 
 bool Icd2::DebugProgrammer::internalSetupHardware()
 {
-  if ( _specific==0 ) return true;
+  if ( !_specific ) return true;
   const FamilyData &fdata = FAMILY_DATA[family(device()->name())];
 
   // find debug executive file
@@ -245,7 +245,7 @@ bool Icd2::DebugProgrammer::writeDebugExecutive()
   Device::Array data = _deArray.mid(_deStart, _deEnd - _deStart + 1);
   if ( !hardware()->writeMemory(Pic::MemoryRangeType::Code, _deStart, data) ) return false;
   log(Log::LineType::Information, i18n("  Verify debug executive"));
-  if ( !hardware()->readMemory(Pic::MemoryRangeType::Code, _deStart, data, 0) ) return false;
+  if ( !hardware()->readMemory(Pic::MemoryRangeType::Code, _deStart, data, nullptr) ) return false;
   for (uint i=0; i<data.count(); i++) {
     if ( _deArray[_deStart+i]==data[i] ) continue;
     uint inc = device()->addressIncrement(Pic::MemoryRangeType::Code);
@@ -300,11 +300,11 @@ bool Icd2::DebugProgrammer::programAll(const Pic::Memory &mem)
 
 bool Icd2::DebugProgrammer::internalRead(Device::Memory *mem, const Device::MemoryRange &range, const ::Programmer::VerifyData *vd)
 {
-  if ( vd==0 || (vd->actions & ::Programmer::BlankCheckVerify) ) return Icd2::ProgrammerBase::internalRead(mem, range, vd);
+  if ( !vd || (vd->actions & ::Programmer::BlankCheckVerify) ) return Icd2::ProgrammerBase::internalRead(mem, range, vd);
   Pic::Memory memory = toDebugMemory(static_cast<const Pic::Memory &>(vd->memory), true);
   ::Programmer::VerifyData vdata(vd->actions, memory);
-  if ( !Icd2::ProgrammerBase::internalRead(0, range, &vdata) ) return false;
-  if ( range.all() && !readRange(Pic::MemoryRangeType::DebugVector, 0, &vdata) ) return false;
+  if ( !Icd2::ProgrammerBase::internalRead(nullptr, range, &vdata) ) return false;
+  if ( range.all() && !readRange(Pic::MemoryRangeType::DebugVector, nullptr, &vdata) ) return false;
   return true;
 }
 
@@ -318,14 +318,14 @@ bool Icd2::DebugProgrammer::readDebugExecutiveVersion()
 //----------------------------------------------------------------------------
 void Icd2::DebuggerGroup::addDevice(const TQString &name, const Device::Data *ddata, ::Group::Support)
 {
-  if ( FAMILY_DATA[family(name)].debugExec==0 ) return;
+  if ( !FAMILY_DATA[family(name)].debugExec ) return;
   Group::addDevice(name, ddata, data(name).debugSupport);
 }
 
 ::Debugger::Specific *Icd2::DebuggerGroup::createDebuggerSpecific(::Debugger::Base &base) const
 {
   const Pic::Data *data = static_cast< ::Debugger::PicBase &>(base).device();
-  if ( data==0 ) return 0;
+  if ( !data ) return nullptr;
   TQString debugExec = FAMILY_DATA[family(data->name())].debugExec;
   switch (data->architecture().type()) {
     case Pic::Architecture::P16X:
@@ -344,7 +344,7 @@ void Icd2::DebuggerGroup::addDevice(const TQString &name, const Device::Data *dd
     case Pic::Architecture::Nb_Types: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 #include "icd2_debug.moc"
diff --git a/src/progs/icd2/base/icd2_debug_specific.cpp b/src/progs/icd2/base/icd2_debug_specific.cpp
index f856a61..c0386d1 100644
--- a/src/progs/icd2/base/icd2_debug_specific.cpp
+++ b/src/progs/icd2/base/icd2_debug_specific.cpp
@@ -54,7 +54,7 @@ bool Icd2::P16FDebuggerSpecific::beginInit(Device::Array *saved)
 
   if (saved) {
     saved->resize(1);
-    if ( !hardware()->readMemory(Pic::MemoryRangeType::Code, 0, *saved, 0) ) return false; // save first instruction
+    if ( !hardware()->readMemory(Pic::MemoryRangeType::Code, 0, *saved, nullptr) ) return false; // save first instruction
     if ( (*saved)[0]!=device()->nopInstruction() ) log(Log::LineType::Warning, i18n("  According to ICD2 manual, instruction at address 0x0 should be \"nop\"."));
   }
 
@@ -148,7 +148,7 @@ bool Icd2::P16F87XDebuggerSpecific::init(bool)
 bool Icd2::P16F7X7DebuggerSpecific::init(bool last)
 {
   Device::Array saved;
-  if ( !beginInit(last ? &saved : 0) ) return false;
+  if ( !beginInit(last ? &saved : nullptr) ) return false;
 
   log(Log::DebugLevel::Normal, "  Run target.");
   if ( !hardware()->setTargetReset(Pic::ResetReleased) ) return false;
diff --git a/src/progs/icd2/base/icd2_usb.cpp b/src/progs/icd2/base/icd2_usb.cpp
index 2da791c..c8ef9f8 100644
--- a/src/progs/icd2/base/icd2_usb.cpp
+++ b/src/progs/icd2/base/icd2_usb.cpp
@@ -40,7 +40,7 @@ bool Icd2::USBPort::doSequence(SequenceType type, char *data, uint size)
   switch (type) {
     case Connect: break;
     case Receive:
-      if ( !read(0x82, data, size, 0) ) return false;
+      if ( !read(0x82, data, size, nullptr) ) return false;
       break;
     case Poll:
       if ( !read(0x82, data, size, &_poll) ) return false;
@@ -52,7 +52,7 @@ bool Icd2::USBPort::doSequence(SequenceType type, char *data, uint size)
   }
 
   TQByteArray rx(0x08);
-  if ( !read(0x81, rx.data(), rx.size(), 0) ) return false;
+  if ( !read(0x81, rx.data(), rx.size(), nullptr) ) return false;
   //Q_ASSERT( rx[0]==tx[1] );
 
   _seqnum++;
@@ -65,13 +65,13 @@ bool Icd2::USBPort::connectDevice(const TQString &mode)
   _seqnum = 0xC1; // preset seqnum
 
   _ctype = 0x00;
-  if ( !doSequence(Connect, 0, 0) ) return false;
+  if ( !doSequence(Connect, nullptr, 0) ) return false;
   if ( !send("Z", 1) ) return false;
   TQString s;
   if ( !receive(4, s) ) return false;
 
   _ctype = 0x00;
-  if ( !doSequence(Connect, 0, 0) ) return false;
+  if ( !doSequence(Connect, nullptr, 0) ) return false;
   for (uint i=0; true; i++) {
     if ( i==10 ) {
       log(Log::LineType::Error, i18n("Problem connecting ICD2: please try again after unplug-replug."));
@@ -152,18 +152,18 @@ Icd2::USBHardware::USBHardware(::Programmer::Base &base)
 bool Icd2::USBHardware::internalConnect(const TQString &mode)
 {
   // load control messages for USB device if needed
-  log(Log::DebugLevel::Extra, TQString("need firmware ? %1").arg(USBPort::findDevice(Microchip::VENDOR_ID, ID_FIRMWARE)!=0));
+  log(Log::DebugLevel::Extra, TQString("need firmware ? %1").arg(USBPort::findDevice(Microchip::VENDOR_ID, ID_FIRMWARE)!=nullptr));
   if ( Port::USB::findDevice(Microchip::VENDOR_ID, ID_FIRMWARE) ) {
     USBPort port(ID_FIRMWARE, *this);
     if ( !port.open() ) return false;
     uint i = 0;
-    while ( CONTROL_MESSAGE_DATA[i].bytes!=0 ) {
+    while ( CONTROL_MESSAGE_DATA[i].bytes ) {
       if ( !port.sendControlMessage(CONTROL_MESSAGE_DATA[i]) ) return false;
       i++;
     }
     port.close();
     for (uint i=0; i<10; i++) {
-      log(Log::DebugLevel::Extra, TQString("client here ? %1").arg(USBPort::findDevice(Microchip::VENDOR_ID, ID_CLIENT)!=0));
+      log(Log::DebugLevel::Extra, TQString("client here ? %1").arg(USBPort::findDevice(Microchip::VENDOR_ID, ID_CLIENT)!=nullptr));
       if ( Port::USB::findDevice(Microchip::VENDOR_ID, ID_CLIENT) ) break;
       Port::msleep(1000);
     }
diff --git a/src/progs/icd2/base/icd2_usb_firmware.cpp b/src/progs/icd2/base/icd2_usb_firmware.cpp
index c7947cf..2c53597 100644
--- a/src/progs/icd2/base/icd2_usb_firmware.cpp
+++ b/src/progs/icd2/base/icd2_usb_firmware.cpp
@@ -609,5 +609,5 @@ const Port::USB::ControlMessageData Icd2::USBHardware::CONTROL_MESSAGE_DATA[] =
 { 0x40, 0xA0, 0x1288, "00" },
 { 0x40, 0xA0, 0x7F92, "01" },
 { 0x40, 0xA0, 0x7F92, "00" },
-{ 0, 0, 0, 0 }
+{ 0, 0, 0, nullptr }
 };
diff --git a/src/progs/icd2/gui/icd2_group_ui.cpp b/src/progs/icd2/gui/icd2_group_ui.cpp
index b6add47..0e6378f 100644
--- a/src/progs/icd2/gui/icd2_group_ui.cpp
+++ b/src/progs/icd2/gui/icd2_group_ui.cpp
@@ -33,7 +33,7 @@ Icd2::AdvancedDialog::AdvancedDialog(ProgrammerBase &base, TQWidget *parent)
     _debugExecLabel = new TQLabel(container);
     container->addWidget(_debugExecLabel, 1,1, 1,1);
     row++;
-  } else _debugExecLabel = 0;
+  } else _debugExecLabel = nullptr;
 
   for (uint i=0; i<TestData::Nb_VoltageTypes; i++) {
     TQLabel *label = new TQLabel(i18n(TestData::VOLTAGE_LABELS[i]) + ":", _selfTestContainer);
diff --git a/src/progs/icd2/icd2_data/icd2_data.cpp b/src/progs/icd2/icd2_data/icd2_data.cpp
index ba3f5ce..50f1820 100644
--- a/src/progs/icd2/icd2_data/icd2_data.cpp
+++ b/src/progs/icd2/icd2_data/icd2_data.cpp
@@ -58,27 +58,27 @@ const Icd2::FamilyData Icd2::FAMILY_DATA[] = {
   { "16F872",       1, "16F872",  0x0700, 0x1BF, 0x1BE, 0x1F0 }, // 16F870/871/872
   { "16F874",       1, "16F874",  0x0F00, 0x1FF, 0x1FE, 0x17F/*?*/ }, // 16F873/873A/874/874A
   { "16F877",       1, "16F877",  0x1F00, 0x1EF, 0x1EE, 0x1F0/*?*/ }, // 16F876/876A/877/877A
-  { "16F7X",        1, 0,         0,      0,     0,     0          }, // 16F73
-  { 0,              2, 0,         0,      0,     0,     0          }, // 30F for revision A2 (legacy: not in MPLAB 7)
-  { 0,              3, "30F",     0,      0,     0,     0          }, // 30F for revision A3/B0 (legacy: not in MPLAB 7)
+  { "16F7X",        1, nullptr,   0,      0,     0,     0          }, // 16F73
+  { nullptr,        2, nullptr,   0,      0,     0,     0          }, // 30F for revision A2 (legacy: not in MPLAB 7)
+  { nullptr,        3, "30F",     0,      0,     0,     0          }, // 30F for revision A3/B0 (legacy: not in MPLAB 7)
   { "18F_4",        4, "",        0,      0,     0,     0          }, // debug executive filename is computed at runtime
   { "18F_5",        5, "",        0,      0,     0,     0          }, // debug executive filename is computed at runtime
-  { "18CX01",       6, 0,/*"18CX01"*/0,      0,     0,     0          }, // 16C601/801
-  { "10F2XX",       7, 0,         0,      0,     0,     0          },
-  { "16F5X",        7, 0,         0,      0,     0,     0          }, // 16F505/506
+  { "18CX01",       6, nullptr,/*"18CX01"*/0,      0,     0,     0}, // 16C601/801
+  { "10F2XX",       7, nullptr,   0,      0,     0,     0          },
+  { "16F5X",        7, nullptr,   0,      0,     0,     0          }, // 16F505/506
   { "12F635",       8, "12F635",  0x0700, 0x06F, 0x06E, 0x0F0/*?*/ }, // 12F635/683 16F636/639
   { "16F785",       8, "16F916",  0x0700, 0x06F, 0x06E, 0x1F0/*?*/ }, // 16F785
   { "16F916",       8, "16F916",  0x1F00, 0x16F, 0x16E, 0x1F0/*?*/ }, // 16F913/914/916/917/946
   { "16F684",       8, "16F684",  0x0700, 0x16F, 0x16E, 0x1F0/*?*/ }, // 16F684
   { "16F688",       8, "16F688",  0x0F00, 0x16F, 0x16E, 0x1F0/*?*/ }, // 16F685/687/688/689/690
-  { "16F677",       8, 0,         0,      0,     0,     0          }, // 16F677
-  { "16F629",       9, 0,         0,      0,     0,     0          }, // 16F629
-  { "30F",         10, 0/*"30F_REVB"*/,0, 0,     0,     0          }, // 30F revision B1 and above
-  { "18F_J",       11, 0,         0,      0,     0,     0          }, // 18FXXJXX (?)
-  { "16F72",       12, 0,         0,      0,     0,     0          }, // 16F72/8X/627/628/84A
-  { "24F",         14, 0/*"24F"*/,0,      0,     0,     0          }, // from MPLAB 7.3
-  { "33F",         14, 0/*"33F"*/,0,      0,     0,     0          }, // from MPLAB 7.3
-  { "16F61X",      15, 0,         0,      0,     0,     0          }, // 12F61X/16F61X
+  { "16F677",       8, nullptr,   0,      0,     0,     0          }, // 16F677
+  { "16F629",       9, nullptr,   0,      0,     0,     0          }, // 16F629
+  { "30F",         10, nullptr/*"30F_REVB"*/,0, 0,     0,     0}, // 30F revision B1 and above
+  { "18F_J",       11, nullptr,   0,      0,     0,     0          }, // 18FXXJXX (?)
+  { "16F72",       12, nullptr,   0,      0,     0,     0          }, // 16F72/8X/627/628/84A
+  { "24F",         14, nullptr/*"24F"*/,0,      0,     0,     0}, // from MPLAB 7.3
+  { "33F",         14, nullptr/*"33F"*/,0,      0,     0,     0}, // from MPLAB 7.3
+  { "16F61X",      15, nullptr,   0,      0,     0,     0          }, // 12F61X/16F61X
 
-  { 0,              0, 0,         0,      0,     0,     0          }
+  { nullptr,        0, nullptr,   0,      0,     0,     0          }
 };
diff --git a/src/progs/list/prog_list_noui.cpp b/src/progs/list/prog_list_noui.cpp
index f7ec669..44c7df1 100644
--- a/src/progs/list/prog_list_noui.cpp
+++ b/src/progs/list/prog_list_noui.cpp
@@ -23,16 +23,16 @@
 
 Programmer::Lister::Lister()
 {
-  addGroup(new Direct::DGroup, 0);
-  addGroup(new Icd2::ProgrammerGroup, 0);
-  addGroup(new Icd2::DebuggerGroup, 0);
-  addGroup(new Icd1::Group, 0);
-  addGroup(new Pickit2::Group, 0);
+  addGroup(new Direct::DGroup, nullptr);
+  addGroup(new Icd2::ProgrammerGroup, nullptr);
+  addGroup(new Icd2::DebuggerGroup, nullptr);
+  addGroup(new Icd1::Group, nullptr);
+  addGroup(new Pickit2::Group, nullptr);
   //addGroup(new Pickit2V2::Group, 0);
-  addGroup(new Pickit1::Group, 0);
-  addGroup(new Psp::Group, 0);
-  addGroup(new GPSim::Group, 0);
-  addGroup(new PicdemBootloader::Group, 0);
-  addGroup(new Pickit2Bootloader::Group, 0);
-  addGroup(new TinyBootloader::Group, 0);
+  addGroup(new Pickit1::Group, nullptr);
+  addGroup(new Psp::Group, nullptr);
+  addGroup(new GPSim::Group, nullptr);
+  addGroup(new PicdemBootloader::Group, nullptr);
+  addGroup(new Pickit2Bootloader::Group, nullptr);
+  addGroup(new TinyBootloader::Group, nullptr);
 }
diff --git a/src/progs/manager/breakpoint.cpp b/src/progs/manager/breakpoint.cpp
index f7f83ba..a7da8dd 100644
--- a/src/progs/manager/breakpoint.cpp
+++ b/src/progs/manager/breakpoint.cpp
@@ -13,11 +13,11 @@
 //----------------------------------------------------------------------------
 namespace Breakpoint
 {
-  List *_list = 0;
+  List *_list = nullptr;
 }
 Breakpoint::List &Breakpoint::list()
 {
-  if ( _list==0 ) _list = new List;
+  if ( !_list ) _list = new List;
   return *_list;
 }
 
diff --git a/src/progs/manager/debug_manager.cpp b/src/progs/manager/debug_manager.cpp
index 8380d25..497644f 100644
--- a/src/progs/manager/debug_manager.cpp
+++ b/src/progs/manager/debug_manager.cpp
@@ -20,11 +20,11 @@
 #include "progs/base/debug_config.h"
 #include "prog_manager.h"
 
-Debugger::Manager *Debugger::manager = 0;
+Debugger::Manager *Debugger::manager = nullptr;
 
 Debugger::Manager::Manager()
   :  TQObject(Programmer::manager, "debug_manager"), Log::Base(Programmer::manager), GenericView(Breakpoint::list()),
-    _coff(0), _data(0)
+    _coff(nullptr), _data(nullptr)
 {
   connect(&_runTimer, TQ_SIGNAL(timeout()), TQ_SLOT(slotRunTimeout()));
   connect(&_stepTimer, TQ_SIGNAL(timeout()), TQ_SLOT(doStep()));
@@ -42,7 +42,7 @@ bool Debugger::Manager::isStepping() const
 
 Debugger::Base *Debugger::Manager::debugger() const
 {
-  return (programmer() ? programmer()->debugger() : 0);
+  return (programmer() ? programmer()->debugger() : nullptr);
 }
 
 void Debugger::Manager::updateDevice()
@@ -85,7 +85,7 @@ bool Debugger::Manager::internalInit()
   _coff = new Coff::TextObject(_data, coffUrl());
   if ( !_coff->parse(log) ) {
     delete _coff;
-    _coff = 0;
+    _coff = nullptr;
     return false;
   }
   computeBreakpointAddresses();
@@ -122,7 +122,7 @@ BitValue Debugger::Manager::pc() const
 
 Breakpoint::MarkType Debugger::Manager::breakpointType(const Breakpoint::Data &data) const
 {
-  if ( _coff==0 ) return Breakpoint::BreakpointDisabled;
+  if ( !_coff ) return Breakpoint::BreakpointDisabled;
   Address address = Breakpoint::list().address(data);
   if ( !address.isValid() ) return Breakpoint::BreakpointInvalid;
   if ( Breakpoint::list().state(data)!=Breakpoint::Active ) return Breakpoint::BreakpointDisabled;
@@ -136,7 +136,7 @@ Breakpoint::MarkType Debugger::Manager::breakpointType(const Breakpoint::Data &d
 bool Debugger::Manager::checkBreakpoint(const Breakpoint::Data &bdata, bool onlyWarn, Address &address)
 {
   address = Address();
-  if ( _coff==0 ) return true;
+  if ( !_coff ) return true;
   TQValueVector<Address> addresses = _coff->addresses(bdata.url, bdata.line);
   if ( addresses.isEmpty() ) {
     TQString s = i18n("Breakpoint at non-code line.");
@@ -151,14 +151,14 @@ bool Debugger::Manager::checkBreakpoint(const Breakpoint::Data &bdata, bool only
 
 void Debugger::Manager::computeBreakpointAddresses()
 {
-  if ( programmerGroup()==0 ) return;
+  if ( !programmerGroup() ) return;
   int nb = programmerGroup()->maxNbBreakpoints(deviceData());
   for (int i=Breakpoint::list().count()-1; i>=0; i--) {
     const Breakpoint::Data &data = Breakpoint::list().data(i);
     Address address;
     checkBreakpoint(data, true, address);
     Breakpoint::list().setAddress(data, address);
-    if ( _coff==0 ) Breakpoint::list().setState(data, Breakpoint::Unknown);
+    if ( !_coff ) Breakpoint::list().setState(data, Breakpoint::Unknown);
     else if ( Breakpoint::list().address(data).isValid() && nb>0 ) {
       Breakpoint::list().setState(data, Breakpoint::Active);
       nb--;
@@ -182,7 +182,7 @@ void Debugger::Manager::clear()
   _stepTimer.stop();
   if ( programmer() ) programmer()->clear();
   delete _coff;
-  _coff = 0;
+  _coff = nullptr;
   _currentSourceLines.clear();
   computeBreakpointAddresses();
   update(true);
@@ -222,7 +222,7 @@ bool Debugger::Manager::updateRegister(const Register::TypeData &data)
 
 bool Debugger::Manager::updateRegisters()
 {
-  if ( programmer()==0 || programmer()->state()!=Programmer::Halted ) return true;
+  if ( !programmer() || programmer()->state()!=Programmer::Halted ) return true;
   TQValueList<Register::TypeData> watched = Register::list().watched();
   for (uint i=0; i<uint(watched.count()); i++)
     if ( !updateRegister(watched[i]) ) return false;
diff --git a/src/progs/manager/prog_manager.cpp b/src/progs/manager/prog_manager.cpp
index ccfa35b..fdcf0c4 100644
--- a/src/progs/manager/prog_manager.cpp
+++ b/src/progs/manager/prog_manager.cpp
@@ -16,10 +16,10 @@
 #include "debug_manager.h"
 
 //----------------------------------------------------------------------------
-Programmer::Manager *Programmer::manager = 0;
+Programmer::Manager *Programmer::manager = nullptr;
 
 Programmer::Manager::Manager(TQObject *parent)
-  : TQObject(parent, "programmer_manager"), _programmer(0)
+  : TQObject(parent, "programmer_manager"), _programmer(nullptr)
 {}
 
 Programmer::Manager::~Manager()
@@ -30,7 +30,7 @@ Programmer::Manager::~Manager()
 void Programmer::Manager::clear()
 {
   delete _programmer;
-  _programmer = 0;
+  _programmer = nullptr;
 }
 
 void Programmer::Manager::createProgrammer(const Device::Data *data, const HardwareDescription &hd)
@@ -55,7 +55,7 @@ bool Programmer::Manager::initProgramming(bool debugging)
 
 bool Programmer::Manager::internalInitProgramming(bool)
 {
-  if ( device()==0 ) {
+  if ( !device() ) {
     sorry(i18n("You need to specify the device for programming."));
     return false;
   }
@@ -186,7 +186,7 @@ bool Programmer::Manager::restart()
 {
   bool ok;
   if (group().isDebugger()) {
-    if ( _programmer==0 || _programmer->state()==::Programmer::NotConnected
+    if ( !_programmer || _programmer->state()==::Programmer::NotConnected
          || _programmer->state()==::Programmer::Stopped ) return step();
     if ( !initProgramming(true) ) return false;
     ok = ::Debugger::manager->reset();
diff --git a/src/progs/pickit2_bootloader/base/pickit2_bootloader.cpp b/src/progs/pickit2_bootloader/base/pickit2_bootloader.cpp
index d080481..80258a1 100644
--- a/src/progs/pickit2_bootloader/base/pickit2_bootloader.cpp
+++ b/src/progs/pickit2_bootloader/base/pickit2_bootloader.cpp
@@ -62,7 +62,7 @@ bool Pickit2Bootloader::Hardware::read(Pic::MemoryRangeType type, Device::Array
   data.resize(device().nbWords(type));
   Device::Array varray;
   if (vdata) varray = static_cast<const Pic::Memory &>(vdata->memory).arrayForWriting(Pic::MemoryRangeType::Code);
-  return port().readFirmwareCodeMemory(data, vdata ? &varray : 0, _base.progressMonitor());
+  return port().readFirmwareCodeMemory(data, vdata ? &varray : nullptr, _base.progressMonitor());
 }
 
 //-----------------------------------------------------------------------------
diff --git a/src/progs/pickit2v2/base/pickit2v2.cpp b/src/progs/pickit2v2/base/pickit2v2.cpp
index a79484b..f2900c2 100644
--- a/src/progs/pickit2v2/base/pickit2v2.cpp
+++ b/src/progs/pickit2v2/base/pickit2v2.cpp
@@ -18,7 +18,7 @@ const Pickit2V2::FamilyData *Pickit2V2::familyData(const Pic::Data &device)
   for (uint i=0; FAMILY_DATA[i].architecture!=Pic::Architecture::Nb_Types; i++)
     if ( FAMILY_DATA[i].architecture==device.architecture() ) return &FAMILY_DATA[i];
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 //-----------------------------------------------------------------------------
diff --git a/src/progs/psp/base/psp_serial.h b/src/progs/psp/base/psp_serial.h
index a7ebf77..5991b8b 100644
--- a/src/progs/psp/base/psp_serial.h
+++ b/src/progs/psp/base/psp_serial.h
@@ -22,7 +22,7 @@ public:
   bool open();
   bool reset();
   bool command(uchar c, uint nbBytes, TQMemArray<uchar> &a);
-  bool commandAck(uchar c, uint nbBytes = 1, TQMemArray<uchar> *a = 0);
+  bool commandAck(uchar c, uint nbBytes = 1, TQMemArray<uchar> *a = nullptr);
   bool commandAckEnd(uchar c, uint nbBytes, TQMemArray<uchar> &a);
   bool receiveEnd();
   bool sendData(uint value, uint nbBytes);
diff --git a/src/progs/tbl_bootloader/base/tbl_bootloader.cpp b/src/progs/tbl_bootloader/base/tbl_bootloader.cpp
index 381e827..4224ede 100644
--- a/src/progs/tbl_bootloader/base/tbl_bootloader.cpp
+++ b/src/progs/tbl_bootloader/base/tbl_bootloader.cpp
@@ -69,7 +69,7 @@ bool TinyBootloader::Hardware::internalConnectHardware()
   uchar uc = 0xC1;
   if ( !port()->sendChar(uc, _timeout) ) return false;
   if ( !port()->receiveChar((char &)_id, _timeout) ) return false;
-  if ( !waitReady(0) ) return false;
+  if ( !waitReady(nullptr) ) return false;
   return true;
 }
 
@@ -138,7 +138,7 @@ bool TinyBootloader::Hardware::sendCodeAddress(uint address, uchar &crc)
 
 bool TinyBootloader::Hardware::endWrite(uchar crc, uint &retries, bool &ok)
 {
-  if ( !sendChar(-crc & 0xFF, 0) ) return false;
+  if ( !sendChar(-crc & 0xFF, nullptr) ) return false;
   if ( !waitReady(&ok) ) return false;
   if ( !ok ) {
     if ( retries==0 ) {
diff --git a/src/tools/base/tool_group.cpp b/src/tools/base/tool_group.cpp
index 9aacd24..45d061f 100644
--- a/src/tools/base/tool_group.cpp
+++ b/src/tools/base/tool_group.cpp
@@ -20,7 +20,7 @@
 const char *Tool::Group::CUSTOM_NAME = "custom";
 
 Tool::Group::Group()
-  : _sourceGenerator(0), _checkDevicesError(true)
+  : _sourceGenerator(nullptr), _checkDevicesError(true)
 {}
 
 void Tool::Group::init()
@@ -133,7 +133,7 @@ bool Tool::Group::check(const TQString &device, Log::Generic *log) const
 
 bool Tool::Group::needs(bool withProject, Tool::Category category) const
 {
-  if ( _bases[category].base==0 ) return false;
+  if ( !_bases[category].base ) return false;
   if ( withProject && _bases[category].type==StandaloneOnly ) return false;
   if ( !withProject && _bases[category].type==ProjectOnly ) return false;
   return true;
diff --git a/src/tools/base/tool_group.h b/src/tools/base/tool_group.h
index 86cfc64..331ba0d 100644
--- a/src/tools/base/tool_group.h
+++ b/src/tools/base/tool_group.h
@@ -60,7 +60,7 @@ protected:
   enum NeedType { StandaloneOnly, ProjectOnly, Both };
   class BaseData {
   public:
-    BaseData() : base(0), type(Both) {}
+    BaseData() : base(nullptr), type(Both) {}
     BaseData(::Tool::Base *b, NeedType t) : base(b), type(t) {}
     ::Tool::Base *base;
     NeedType type;
diff --git a/src/tools/boost/boost.cpp b/src/tools/boost/boost.cpp
index e67f833..892b68c 100644
--- a/src/tools/boost/boost.cpp
+++ b/src/tools/boost/boost.cpp
@@ -82,7 +82,7 @@ Compile::Process *Boost::Group::processFactory(const Compile::Data &data) const
     default: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *Boost::Group::configFactory(::Project *project) const
diff --git a/src/tools/c18/c18.h b/src/tools/c18/c18.h
index 7560f78..9eaf54c 100644
--- a/src/tools/c18/c18.h
+++ b/src/tools/c18/c18.h
@@ -54,7 +54,7 @@ private:
   virtual Compile::Process *processFactory(const Compile::Data &data) const;
   virtual Compile::Config *configFactory(::Project *project) const;
   virtual BaseData baseFactory(Tool::Category category) const;
-  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return 0; }
+  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return nullptr; }
 };
 
 } // namespace
diff --git a/src/tools/c18/gui/c18_ui.cpp b/src/tools/c18/gui/c18_ui.cpp
index f5952f3..784fc97 100644
--- a/src/tools/c18/gui/c18_ui.cpp
+++ b/src/tools/c18/gui/c18_ui.cpp
@@ -13,7 +13,7 @@
 
 //----------------------------------------------------------------------------
 C18::ConfigWidget::ConfigWidget(Project *project)
-  : ToolConfigWidget(project), _warningLevel(0)
+  : ToolConfigWidget(project), _warningLevel(nullptr)
 {}
 
 void C18::ConfigWidget::initEntries()
diff --git a/src/tools/cc5x/cc5x.cpp b/src/tools/cc5x/cc5x.cpp
index 71025f8..173ae44 100644
--- a/src/tools/cc5x/cc5x.cpp
+++ b/src/tools/cc5x/cc5x.cpp
@@ -42,7 +42,7 @@ Compile::Process *CC5X::Group::processFactory(const Compile::Data &data) const
     default: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *CC5X::Group::configFactory(::Project *project) const
diff --git a/src/tools/cc5x/cc5x.h b/src/tools/cc5x/cc5x.h
index 85a25ba..4f65d21 100644
--- a/src/tools/cc5x/cc5x.h
+++ b/src/tools/cc5x/cc5x.h
@@ -42,7 +42,7 @@ private:
   virtual Compile::Process *processFactory(const Compile::Data &data) const;
   virtual Compile::Config *configFactory(::Project *project) const;
   virtual BaseData baseFactory(Tool::Category) const;
-  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return 0; }
+  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return nullptr; }
 };
 
 } // namespace
diff --git a/src/tools/ccsc/ccsc.cpp b/src/tools/ccsc/ccsc.cpp
index 5973d6d..8780b77 100644
--- a/src/tools/ccsc/ccsc.cpp
+++ b/src/tools/ccsc/ccsc.cpp
@@ -77,7 +77,7 @@ Compile::Process *CCSC::Group::processFactory(const Compile::Data &data) const
     default: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *CCSC::Group::configFactory(::Project *project) const
diff --git a/src/tools/ccsc/ccsc.h b/src/tools/ccsc/ccsc.h
index dd8d286..615b55b 100644
--- a/src/tools/ccsc/ccsc.h
+++ b/src/tools/ccsc/ccsc.h
@@ -48,7 +48,7 @@ private:
   virtual Compile::Process *processFactory(const Compile::Data &data) const;
   virtual Compile::Config *configFactory(::Project *project) const;
   virtual BaseData baseFactory(Tool::Category) const;
-  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return 0; }
+  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return nullptr; }
   virtual VersionData getToolchainVersion();
 };
 
diff --git a/src/tools/custom/custom.h b/src/tools/custom/custom.h
index a0d33b9..ccbea33 100644
--- a/src/tools/custom/custom.h
+++ b/src/tools/custom/custom.h
@@ -28,9 +28,9 @@ public:
 protected:
   virtual BaseData baseFactory(Tool::Category) const { return BaseData(); }
   virtual TQValueList<const Device::Data *> getSupportedDevices(const TQString &s) const;
-  virtual Compile::Process *processFactory(const Compile::Data &) const { return 0; }
-  virtual Compile::Config *configFactory(::Project *) const { return 0; }
-  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { return 0; }
+  virtual Compile::Process *processFactory(const Compile::Data &) const { return nullptr; }
+  virtual Compile::Config *configFactory(::Project *) const { return nullptr; }
+  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { return nullptr; }
 };
 
 } // namespace
diff --git a/src/tools/gputils/gputils.cpp b/src/tools/gputils/gputils.cpp
index 4fa99d1..aaed652 100644
--- a/src/tools/gputils/gputils.cpp
+++ b/src/tools/gputils/gputils.cpp
@@ -93,7 +93,7 @@ Compile::Process *GPUtils::Group::processFactory(const Compile::Data &data) cons
     default: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *GPUtils::Group::configFactory(::Project *project) const
diff --git a/src/tools/gputils/gui/gputils_ui.cpp b/src/tools/gputils/gui/gputils_ui.cpp
index 465dbcf..d0ba6e7 100644
--- a/src/tools/gputils/gui/gputils_ui.cpp
+++ b/src/tools/gputils/gui/gputils_ui.cpp
@@ -14,7 +14,7 @@
 
 //----------------------------------------------------------------------------
 GPUtils::ConfigWidget::ConfigWidget(Project *project)
-  : ToolConfigWidget(project), _gpasmWarning(0)
+  : ToolConfigWidget(project), _gpasmWarning(nullptr)
 {}
 
 void GPUtils::ConfigWidget::initEntries()
@@ -30,7 +30,7 @@ void GPUtils::ConfigWidget::initEntries()
     _gpasmWarning->insertItem(i18n("as in LIST directive"));
     container()->addWidget(_gpasmWarning, row,row, 1,1);
     createIncludeDirectoriesEntry();
-    if ( _project==0 ) createHexFormatEntry();
+    if ( !_project ) createHexFormatEntry();
   }
   if ( _category==Tool::Category::Linker ) {
     createHexFormatEntry();
diff --git a/src/tools/gui/tool_config_widget.cpp b/src/tools/gui/tool_config_widget.cpp
index 768f215..f9744d2 100644
--- a/src/tools/gui/tool_config_widget.cpp
+++ b/src/tools/gui/tool_config_widget.cpp
@@ -25,9 +25,9 @@ const char * const ToolConfigWidget::ARGUMENTS_TYPE_LABELS[Nb_ArgumentsTypes] =
 };
 
 ToolConfigWidget::ToolConfigWidget(Project *project)
-  : ::ConfigWidget(0), _group(0), _project(project),
-    _customOptions(0), _customLibraries(0), _includeDirs(0), _hexFormat(0),
-    _config(0), _tmpConfig(0), _process(0), _tmpProject(0)
+  : ::ConfigWidget(nullptr), _group(nullptr), _project(project),
+    _customOptions(nullptr), _customLibraries(nullptr), _includeDirs(nullptr), _hexFormat(nullptr),
+    _config(nullptr), _tmpConfig(nullptr), _process(nullptr), _tmpProject(nullptr)
 {
 
   Container *container = new Container(this);
@@ -69,7 +69,7 @@ void ToolConfigWidget::init(Tool::Category category, const Tool::Group &group)
   _tmpProject = new Project(PURL::Url());
   _tmpConfig = _group->createConfig(_tmpProject);
   Compile::Data data(_category, TQValueList<Compile::TodoItem>(), TQString(), _project, Compile::NormalLinking);
-  _process = _group->createCompileProcess(data, 0);
+  _process = _group->createCompileProcess(data, nullptr);
 
   initEntries();
   createCustomOptionsEntry();
@@ -161,7 +161,7 @@ void ToolConfigWidget::saveConfig(Compile::Config &config) const
 
 TQStringList ToolConfigWidget::arguments(ArgumentsType type) const
 {
-  if ( _tmpConfig==0 ) return TQStringList();
+  if ( !_tmpConfig ) return TQStringList();
   saveConfig(*_tmpConfig);
   if ( type==AutomaticArguments ) return _process->genericArguments(*_tmpConfig);
   return _argumentsEditor->texts();
diff --git a/src/tools/gui/toolchain_config_center.cpp b/src/tools/gui/toolchain_config_center.cpp
index 2310cf8..cfe8a77 100644
--- a/src/tools/gui/toolchain_config_center.cpp
+++ b/src/tools/gui/toolchain_config_center.cpp
@@ -31,7 +31,7 @@ ToolchainsConfigCenter::ToolchainsConfigCenter(const Tool::Group &sgroup, TQWidg
   connect(_infoButton, TQ_SIGNAL(clicked()), TQ_SLOT(showInformationDialog()));
   _titleBox->addWidget(_infoButton);
 
-  TQWidget *current = 0;
+  TQWidget *current = nullptr;
   FOR_EACH(PURL::SourceFamily, family) {
     Tool::Lister::ConstIterator it;
     for (it=Tool::lister().begin(); it!=Tool::lister().end(); ++it) {
@@ -79,12 +79,12 @@ void ToolchainsConfigCenter::slotOk()
 ToolchainConfigWidget *ToolchainsConfigCenter::current() const
 {
   int i = activePageIndex();
-  if ( i==-1 ) return 0;
+  if ( i==-1 ) return nullptr;
   TQMap<TQWidget *, ToolchainConfigWidget *>::const_iterator it;
   for (it=_pages.begin(); it!=_pages.end(); ++it)
     if ( pageIndex(it.key())==i ) return it.data();
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 void ToolchainsConfigCenter::slotUser1()
diff --git a/src/tools/gui/toolchain_config_widget.cpp b/src/tools/gui/toolchain_config_widget.cpp
index 8f077c6..712a2f6 100644
--- a/src/tools/gui/toolchain_config_widget.cpp
+++ b/src/tools/gui/toolchain_config_widget.cpp
@@ -24,9 +24,9 @@
 //----------------------------------------------------------------------------
 ToolchainConfigWidget::ToolchainConfigWidget(const Tool::Group &group, TQWidget *parent)
   : ::ConfigWidget(parent),
-    _group(group), _dirty(false), _outputType(0), _devicesData(group.nbCheckDevices())
+    _group(group), _dirty(false), _outputType(nullptr), _devicesData(group.nbCheckDevices())
 {
-  _config = group.createConfig(0);
+  _config = group.createConfig(nullptr);
 }
 
 ToolchainConfigWidget::~ToolchainConfigWidget()
@@ -74,7 +74,7 @@ void ToolchainConfigWidget::init()
 
   FOR_EACH(Tool::Category, k) {
     const Tool::Base *base = _group.base(k);
-    if ( base==0 ) continue;
+    if ( !base ) continue;
     label = new TQLabel(k.label(), container);
     container->addWidget(label, row,row, 0,0);
     _data[k].label = new TQLabel(container);
@@ -97,7 +97,7 @@ void ToolchainConfigWidget::init()
   row = numRows();
   FOR_EACH(Compile::DirectoryType, type) {
     if ( type==Compile::DirectoryType::Executable ) continue;
-    if ( !_group.hasDirectory(type) ) _dirs[type] = 0;
+    if ( !_group.hasDirectory(type) ) _dirs[type] = nullptr;
     else {
       label = new TQLabel(type.label() + ":", this);
       addWidget(label, row,row, 0,0);
@@ -129,7 +129,7 @@ void ToolchainConfigWidget::loadConfig()
     _outputType->widget()->blockSignals(false);
   }
   FOR_EACH(Compile::DirectoryType, type) {
-    if ( _dirs[type]==0 ) continue;
+    if ( !_dirs[type] ) continue;
     _dirs[type]->blockSignals(true);
     _dirs[type]->setDirectory(Compile::Config::directory(_group, type));
     _dirs[type]->blockSignals(false);
@@ -195,7 +195,7 @@ bool ToolchainConfigWidget::withWine() const
 
 Tool::OutputExecutableType ToolchainConfigWidget::outputType() const
 {
-  return (_outputType==0 ? Compile::Config::outputExecutableType(_group) : _outputType->currentItem());
+  return (!_outputType ? Compile::Config::outputExecutableType(_group) : _outputType->currentItem());
 }
 
 TQString ToolchainConfigWidget::baseExecutable(Tool::Category category) const
@@ -219,7 +219,7 @@ void ToolchainConfigWidget::detect()
 {
   if ( !_dirty ) return;
   FOR_EACH(Tool::Category, k) {
-    if ( _data[k].label==0 ) continue;
+    if ( !_data[k].label ) continue;
     if ( !_group.base(k)->checkExecutable() ) _data[k].label->setText(i18n("Unknown"));
     else {
       delete _data[k].process;
@@ -250,7 +250,7 @@ void ToolchainConfigWidget::detect()
     }
   }
   FOR_EACH(Compile::DirectoryType, type) {
-    if ( _dirs[type]==0 || type==Compile::DirectoryType::Executable ) continue;
+    if ( !_dirs[type] || type==Compile::DirectoryType::Executable ) continue;
     PURL::Directory execDir = _dirs[Compile::DirectoryType::Executable]->directory();
     PURL::Directory dir = _group.autodetectDirectory(type, execDir, withWine());
     if ( !dir.isEmpty() ) _dirs[type]->setDirectory(dir);
diff --git a/src/tools/gui/toolchain_config_widget.h b/src/tools/gui/toolchain_config_widget.h
index c22710e..d23684f 100644
--- a/src/tools/gui/toolchain_config_widget.h
+++ b/src/tools/gui/toolchain_config_widget.h
@@ -63,7 +63,7 @@ protected:
   TQMap<Compile::DirectoryType, PURL::DirectoryWidget *> _dirs;
   class ExecData {
   public:
-    ExecData() : label(0), button(0), process(0) {}
+    ExecData() : label(nullptr), button(nullptr), process(nullptr) {}
     ~ExecData() { delete process; }
     TQLabel *label;
     TQString command;
@@ -74,7 +74,7 @@ protected:
   TQMap<Tool::Category, ExecData> _data;
   class DevicesData {
   public:
-    DevicesData() : process(0) {}
+    DevicesData() : process(nullptr) {}
     bool done;
     TQString command;
     TQStringList checkLines;
diff --git a/src/tools/jal/jal.cpp b/src/tools/jal/jal.cpp
index 57ba097..961b738 100644
--- a/src/tools/jal/jal.cpp
+++ b/src/tools/jal/jal.cpp
@@ -41,7 +41,7 @@ const char * const SUPPORTED_DEVICES[] = {
   "12C508", "12C509A", "12CE674", "12F629", "12F675",
   "16C84", "16F84", "16F88", "16F873", "16F876", "16F877", "16F628",
   "18F242", "18F252", "18F442", "18F452",
-  0
+  nullptr
 };
 
 TQValueList<const Device::Data *> JAL::Group::getSupportedDevices(const TQString &) const
diff --git a/src/tools/jalv2/jalv2.cpp b/src/tools/jalv2/jalv2.cpp
index ce06dbd..95bc53c 100644
--- a/src/tools/jalv2/jalv2.cpp
+++ b/src/tools/jalv2/jalv2.cpp
@@ -46,7 +46,7 @@ const char * const SUPPORTED_DEVICES[] = {
   "16F873", "16F874", "16F876", "16F877",
   "16F873A", "16F874A", "16F876A", "16F877A",
   "18F242", "18F252", "18F452",
-  0
+  nullptr
 };
 
 TQValueList<const Device::Data *> JALV2::Group::getSupportedDevices(const TQString &) const
diff --git a/src/tools/list/compile_config.cpp b/src/tools/list/compile_config.cpp
index ffa1895..0e599e4 100644
--- a/src/tools/list/compile_config.cpp
+++ b/src/tools/list/compile_config.cpp
@@ -96,7 +96,7 @@ HexBuffer::Format Compile::Config::hexFormat() const
 }
 void Compile::Config::setHexFormat(HexBuffer::Format f)
 {
-  TQString s = (f==HexBuffer::Nb_Formats ? 0 : HexBuffer::FORMATS[f]);
+  TQString s = (f==HexBuffer::Nb_Formats ? nullptr : HexBuffer::FORMATS[f]);
   setValue(Tool::Category::Linker, "format", s);
 }
 
@@ -110,7 +110,7 @@ const Tool::Group &Compile::Config::toolGroup(const Project *project)
 {
   TQString s = globalValue(project, "tool", TQString());
   const Tool::Group *group = Tool::lister().group(s);
-  if ( group==0 ) return *Tool::lister().begin().data();
+  if ( !group ) return *Tool::lister().begin().data();
   return *group;
 }
 
diff --git a/src/tools/list/compile_config.h b/src/tools/list/compile_config.h
index 7e032a1..dffd049 100644
--- a/src/tools/list/compile_config.h
+++ b/src/tools/list/compile_config.h
@@ -20,7 +20,7 @@ namespace Compile
 class Config
 {
 public:
-  Config(Project *project) : _group(0), _project(project) {}
+  Config(Project *project) : _group(nullptr), _project(project) {}
 
   bool hasCustomArguments(Tool::Category category) const { return boolValue(category, "has_custom_arguments", false); }
   void setHasCustomArguments(Tool::Category category, bool custom) { setValue(category, "has_custom_arguments", custom); }
diff --git a/src/tools/list/compile_manager.cpp b/src/tools/list/compile_manager.cpp
index bda204f..a3e2bd1 100644
--- a/src/tools/list/compile_manager.cpp
+++ b/src/tools/list/compile_manager.cpp
@@ -16,7 +16,7 @@
 #include "compile_config.h"
 
 Compile::Manager::Manager(TQObject *parent)
-  : TQObject(parent, "compile_manager"), _base(0)
+  : TQObject(parent, "compile_manager"), _base(nullptr)
 {}
 
 void Compile::Manager::cleanFile(const PURL::Url &url)
@@ -86,9 +86,9 @@ void Compile::Manager::kill()
 
 bool Compile::Manager::clearAll()
 {
-  bool running = ( _base!=0 );
+  bool running = ( _base!=nullptr );
   delete _base;
-  _base = 0;
+  _base = nullptr;
   _todo.clear();
   return running;
 }
@@ -208,14 +208,14 @@ void Compile::Manager::start()
     return;
   }
   delete _base;
-  _base = 0;
+  _base = nullptr;
   if ( !prepareAction() ) return;
   if ( !_base->check() ) {
     processFailed();
     return;
   }
   if ( _operations & Clean ) {
-    _base->files(0).onlyExistingFiles().cleanGenerated();
+    _base->files(nullptr).onlyExistingFiles().cleanGenerated();
     TQTimer::singleShot(0, this, TQ_SLOT(start()));
     return;
   }
@@ -246,7 +246,7 @@ void Compile::Manager::processDone()
     _customCommandIndex++;
     startCustomCommand();
   } else {
-    FileData::List list = _base->files(0).onlyExistingFiles();
+    FileData::List list = _base->files(nullptr).onlyExistingFiles();
     FileData::List::iterator it;
     for (it=list.begin(); it!=list.end(); ++it) emit updateFile(*it);
     TQTimer::singleShot(0, this, TQ_SLOT(start()));
@@ -262,7 +262,7 @@ void Compile::Manager::processFailed()
 void Compile::Manager::startCustomCommand()
 {
   delete _base;
-  _base = 0;
+  _base = nullptr;
   TQStringList commands = Compile::Config::customCommands(Main::project());
   if ( _customCommandIndex==commands.count() ) {
     Log::Base::log(Log::LineType::Information, i18n("*** Success ***"), Log::Delayed);
diff --git a/src/tools/list/compile_process.cpp b/src/tools/list/compile_process.cpp
index bb345a1..1b90402 100644
--- a/src/tools/list/compile_process.cpp
+++ b/src/tools/list/compile_process.cpp
@@ -43,7 +43,7 @@ const Compile::ArgumentData Compile::ARGUMENT_DATA[] = {
   { "%LKR_NAME",   I18N_NOOP("Replaced by the linker script basename.") },
   { "%LKR",        I18N_NOOP("Replaced by the linker script filename.") },
   { "%SEP",        I18N_NOOP("Replaced by a separation into two arguments.") },
-  { 0, 0 }
+  { nullptr, nullptr }
 };
 
 //-----------------------------------------------------------------------------
@@ -96,13 +96,13 @@ void Compile::LogWidget::lineClicked(int line)
   if ( !_map.contains(line) ) return;
   PURL::Url url = PURL::Url::fromPathOrUrl(_map[line].filepath);
   TextEditor *e = ::tqt_cast<TextEditor *>(Main::editorManager().openEditor(url));
-  if ( e==0 ) return;
+  if ( !e ) return;
   e->setCursor(_map[line].line, 0);
 }
 
 //-----------------------------------------------------------------------------
 Compile::BaseProcess::BaseProcess()
-  : TQObject(0, "compile_process"), _manager(0), _process(0)
+  : TQObject(nullptr, "compile_process"), _manager(nullptr), _process(nullptr)
 {}
 
 void Compile::BaseProcess::init(const Data &data, Manager *manager)
@@ -220,7 +220,7 @@ Compile::FileData::List Compile::Process::files(bool *ok) const
         FileActions actions = Generated;
         if ( type.data().group==PURL::Source || type==PURL::Hex
              || type==PURL::Map || type==PURL::Coff || type==PURL::Library ) actions |= InProject;
-        if ( type==PURL::Hex && _data.project==0 ) actions |= Show;
+        if ( type==PURL::Hex && !_data.project ) actions |= Show;
         list += fileData(type, actions);
       }
     } else list += FileData(url().toExtension(files[i]), Compile::Generated);
diff --git a/src/tools/list/tool_list.cpp b/src/tools/list/tool_list.cpp
index da21cd7..5ef2426 100644
--- a/src/tools/list/tool_list.cpp
+++ b/src/tools/list/tool_list.cpp
@@ -54,16 +54,16 @@ Tool::Lister::Lister()
   addGroup(new Boost::GroupBasic18, new Boost::GroupUI);
   addGroup(new MPC::Group, new MPC::GroupUI);
   addGroup(new CC5X::Group, new CC5X::GroupUI);
-  addGroup(new CustomTool::Group, 0);
+  addGroup(new CustomTool::Group, nullptr);
 }
 
 namespace Tool
 {
-  Lister *_lister = 0;
+  Lister *_lister = nullptr;
 }
 
 const Tool::Lister &Tool::lister()
 {
-  if ( _lister==0 ) _lister = new Lister;
+  if ( !_lister ) _lister = new Lister;
   return *_lister;
 }
diff --git a/src/tools/list/tools_config_widget.cpp b/src/tools/list/tools_config_widget.cpp
index bec5004..4c4af18 100644
--- a/src/tools/list/tools_config_widget.cpp
+++ b/src/tools/list/tools_config_widget.cpp
@@ -37,7 +37,7 @@ HelpDialog::HelpDialog(TQWidget *parent)
 
 //----------------------------------------------------------------------------
 ToolsConfigWidget::ToolsConfigWidget(Project *project, TQWidget *parent)
-  : ::ConfigWidget(parent), _project(project), _helpDialog(0)
+  : ::ConfigWidget(parent), _project(project), _helpDialog(nullptr)
 {
   uint row = 0;
 
diff --git a/src/tools/mpc/mpc.cpp b/src/tools/mpc/mpc.cpp
index e170f30..02ad7e3 100644
--- a/src/tools/mpc/mpc.cpp
+++ b/src/tools/mpc/mpc.cpp
@@ -37,7 +37,7 @@ Compile::Process *MPC::Group::processFactory(const Compile::Data &data) const
     default: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *MPC::Group::configFactory(::Project *project) const
diff --git a/src/tools/mpc/mpc.h b/src/tools/mpc/mpc.h
index 754221a..af1b230 100644
--- a/src/tools/mpc/mpc.h
+++ b/src/tools/mpc/mpc.h
@@ -41,7 +41,7 @@ private:
   virtual Compile::Process *processFactory(const Compile::Data &data) const;
   virtual Compile::Config *configFactory(::Project *project) const;
   virtual BaseData baseFactory(Tool::Category) const;
-  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return 0; }
+  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return nullptr; }
 };
 
 } // namespace
diff --git a/src/tools/pic30/pic30.cpp b/src/tools/pic30/pic30.cpp
index 3822cd1..4c64bc4 100644
--- a/src/tools/pic30/pic30.cpp
+++ b/src/tools/pic30/pic30.cpp
@@ -101,7 +101,7 @@ Compile::Process *PIC30::Group::processFactory(const Compile::Data &data) const
     case Tool::Category::Nb_Types: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *PIC30::Group::configFactory(::Project *project) const
diff --git a/src/tools/picc/picc.cpp b/src/tools/picc/picc.cpp
index 4581af4..20eeb80 100644
--- a/src/tools/picc/picc.cpp
+++ b/src/tools/picc/picc.cpp
@@ -72,7 +72,7 @@ Compile::Process *PICC::Group::processFactory(const Compile::Data &data) const
     default: break;
   }
   Q_ASSERT(false);
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *PICC::Group::configFactory(::Project *project) const
diff --git a/src/tools/picc/picc.h b/src/tools/picc/picc.h
index ec017b9..dd1aa42 100644
--- a/src/tools/picc/picc.h
+++ b/src/tools/picc/picc.h
@@ -53,7 +53,7 @@ private:
   virtual TQValueList<const Device::Data *> getSupportedDevices(const TQString &s) const;
   virtual Compile::Process *processFactory(const Compile::Data &data) const;
   virtual Compile::Config *configFactory(::Project *project) const;
-  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return 0; }
+  virtual Tool::SourceGenerator *sourceGeneratorFactory() const { /*TODO*/ return nullptr; }
 };
 
 //----------------------------------------------------------------------------
diff --git a/src/tools/sdcc/sdcc.cpp b/src/tools/sdcc/sdcc.cpp
index d61e0a9..9f70064 100644
--- a/src/tools/sdcc/sdcc.cpp
+++ b/src/tools/sdcc/sdcc.cpp
@@ -83,7 +83,7 @@ Compile::Process *SDCC::Group::processFactory(const Compile::Data &data) const
       return new SDCC::LinkProjectFile;
     default: break;
   }
-  return 0;
+  return nullptr;
 }
 
 Compile::Config *SDCC::Group::configFactory(::Project *project) const
diff --git a/src/xml_to_data/device_xml_to_data.cpp b/src/xml_to_data/device_xml_to_data.cpp
index 84d177f..b403ce0 100644
--- a/src/xml_to_data/device_xml_to_data.cpp
+++ b/src/xml_to_data/device_xml_to_data.cpp
@@ -202,7 +202,7 @@ Device::Package Device::XmlToDataBase::processPackage(TQDomElement element)
       package.types.append(i);
       break;
     }
-    if ( Package::TYPE_DATA[i].name==0 ) tqFatal(TQString("Unknown package type \"%1\"").arg(types[k]));
+    if ( !Package::TYPE_DATA[i].name ) tqFatal(TQString("Unknown package type \"%1\"").arg(types[k]));
   }
   // pins
   TQString name = Package::TYPE_DATA[package.types[0]].name;
@@ -249,7 +249,7 @@ void Device::XmlToDataBase::parse()
   }
   files = xmlFilesDir.entryList("*.xml");
   for (uint i=0; i<uint(files.count()); i++) {
-    _data = 0;
+    _data = nullptr;
     TQDomDocument doc = parseFile(xmlFilesDir.absFilePath(files[i]));
     TQDomElement root = doc.documentElement();
     if ( root.nodeName()!="device" ) tqFatal("root node should be \"device\"");
diff --git a/src/xml_to_data/device_xml_to_data.h b/src/xml_to_data/device_xml_to_data.h
index c535346..1066024 100644
--- a/src/xml_to_data/device_xml_to_data.h
+++ b/src/xml_to_data/device_xml_to_data.h
@@ -23,7 +23,7 @@ namespace Device
 class XmlToDataBase : public ::XmlToData
 {
 public:
-  XmlToDataBase(const TQString &folder) : XmlToData(folder), _data(0) {}
+  XmlToDataBase(const TQString &folder) : XmlToData(folder), _data(nullptr) {}
 
 protected:
   mutable Data *_data;
diff --git a/src/xml_to_data/prog_xml_to_data.h b/src/xml_to_data/prog_xml_to_data.h
index b977359..3f77ead 100644
--- a/src/xml_to_data/prog_xml_to_data.h
+++ b/src/xml_to_data/prog_xml_to_data.h
@@ -69,7 +69,7 @@ void ExtXmlToData<Data>::parseDevice(TQDomElement element)
 {
   if ( element.nodeName()!="device" ) tqFatal("Root node child should be named \"device\"");
   _current = element.attribute("name").upper();
-  if ( Device::lister().data(_current)==0 ) tqFatal(TQString("Device name \"%1\" unknown").arg(_current));
+  if ( !Device::lister().data(_current) ) tqFatal(TQString("Device name \"%1\" unknown").arg(_current));
   if ( _map.contains(_current) ) tqFatal(TQString("Device \"%1\" already parsed").arg(_current));
   PData data;
   if ( hasFamilies() ) {
-- 
cgit v1.2.3

